Commit e7884577 by sunyang

排单

parent 6855c54a
...@@ -565,10 +565,11 @@ export function getListCraftApi() { ...@@ -565,10 +565,11 @@ export function getListCraftApi() {
} }
// 批量下载 列表 // 批量下载 列表
export function batchDownloadApi(currentPage: number, pageSize: number) { export function batchDownloadApi(params: SearchForm, currentPage: number, pageSize: number) {
return axios.post<never, BaseRespData<never>>( return axios.post<never, BaseRespData<never>>(
`factory/podBatchDownload/cn/list_page`, `factory/podBatchDownload/cn/list_page`,
{ {
...params,
currentPage, currentPage,
pageSize, pageSize,
}, },
......
...@@ -477,10 +477,11 @@ export function getListCraftApi() { ...@@ -477,10 +477,11 @@ export function getListCraftApi() {
} }
// 批量下载 列表 // 批量下载 列表
export function batchDownloadApi(currentPage: number, pageSize: number) { export function batchDownloadApi(params: SearchForm, currentPage: number, pageSize: number) {
return axios.post<never, BaseRespData<never>>( return axios.post<never, BaseRespData<never>>(
`factory/podBatchDownload/us/list_page`, `factory/podBatchDownload/us/list_page`,
{ {
...params,
currentPage, currentPage,
pageSize, pageSize,
}, },
......
...@@ -47,6 +47,10 @@ export interface SearchForm { ...@@ -47,6 +47,10 @@ export interface SearchForm {
source?: string source?: string
size?: string size?: string
tagsIdArr?: (number | null)[] tagsIdArr?: (number | null)[]
craftType?: string
downloadStatus?: number
syntheticStatus?: number
automaticComposing?: number
} }
export interface PodCnOrderListData { export interface PodCnOrderListData {
id: number id: number
...@@ -113,6 +117,7 @@ export interface ProductList { ...@@ -113,6 +117,7 @@ export interface ProductList {
variantImage?: string variantImage?: string
craftPrice?: number craftPrice?: number
craftCode?: string craftCode?: string
craftType?: string
previewImgs?: [] previewImgs?: []
platform?: string platform?: string
imageAry?: string imageAry?: string
......
...@@ -44,6 +44,10 @@ export interface SearchForm { ...@@ -44,6 +44,10 @@ export interface SearchForm {
size?: string size?: string
tagsIdArr?: (number | null)[] tagsIdArr?: (number | null)[]
replaceShipment?: number | null replaceShipment?: number | null
craftType?: string
downloadStatus?: number
syntheticStatus?: number
automaticComposing?: number
} }
export interface PodUsOrderListData { export interface PodUsOrderListData {
id: number id: number
...@@ -113,6 +117,7 @@ export interface ProductList { ...@@ -113,6 +117,7 @@ export interface ProductList {
variantImage?: string variantImage?: string
craftPrice?: number craftPrice?: number
craftCode?: string craftCode?: string
craftType?: string
platform?: string platform?: string
imageAry?: string imageAry?: string
previewImgs?: [] previewImgs?: []
......
...@@ -10,7 +10,105 @@ ...@@ -10,7 +10,105 @@
label-position="right" label-position="right"
label-width="70px" label-width="70px"
> >
<ElFormItem label="仓库"> <!-- 批量下载 -->
<ElFormItem label="创建时间" v-if="
status === 'BATCH_DOWNLOAD'
">
<el-date-picker
v-model="timeRange"
:teleported="false"
:default-time="[
new Date(0, 0, 0, 0, 0, 0),
new Date(0, 0, 0, 23, 59, 59),
]"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetimerange"
style="width: 280px"
:shortcuts="pickerOptions.shortcuts"
start-placeholder="开始时间"
end-placeholder="结束时间"
clearable
>
</el-date-picker>
</ElFormItem>
<ElFormItem label="工艺类型" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.craftType"
placeholder="请选择"
clearable
filterable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in processType"
:key="index"
:value="item.value"
:label="item.label"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="下载状态" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.downloadStatus"
placeholder="下载状态"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['未下载', '已下载']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="排版状态" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.syntheticStatus"
placeholder="排版状态"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['失败', '成功']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="自动排版" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.automaticComposing"
placeholder="自动排版"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['否', '是']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="仓库" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElSelect <ElSelect
v-model="searchForm.warehouseId" v-model="searchForm.warehouseId"
clearable clearable
...@@ -26,7 +124,9 @@ ...@@ -26,7 +124,9 @@
></el-option> ></el-option>
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="平台"> <ElFormItem label="平台" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElSelect <ElSelect
v-model="searchForm.platform" v-model="searchForm.platform"
value-key="" value-key=""
...@@ -52,7 +152,9 @@ ...@@ -52,7 +152,9 @@
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="工艺"> <ElFormItem label="工艺" v-if="
status !== 'BATCH_DOWNLOAD'
">
<LogisticsWaySelect <LogisticsWaySelect
v-model="searchForm.craftCode" v-model="searchForm.craftCode"
:company-list="craftList" :company-list="craftList"
...@@ -61,7 +163,9 @@ ...@@ -61,7 +163,9 @@
start-placeholder="请选择工艺名称" start-placeholder="请选择工艺名称"
></LogisticsWaySelect> ></LogisticsWaySelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="库存SKU"> <ElFormItem label="库存SKU" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model.trim="searchForm.thirdSkuCode" v-model.trim="searchForm.thirdSkuCode"
placeholder="库存SKU" placeholder="库存SKU"
...@@ -69,7 +173,9 @@ ...@@ -69,7 +173,9 @@
style="width: 150px" style="width: 150px"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem label="款号"> <ElFormItem label="款号" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model.trim="searchForm.supplierProductNo" v-model.trim="searchForm.supplierProductNo"
placeholder="款号" placeholder="款号"
...@@ -85,7 +191,9 @@ ...@@ -85,7 +191,9 @@
style="width: 150px" style="width: 150px"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem label="生产单号"> <ElFormItem label="生产单号" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model.trim="searchForm.factorySubOrderNumber" v-model.trim="searchForm.factorySubOrderNumber"
placeholder="生产单号" placeholder="生产单号"
...@@ -93,7 +201,9 @@ ...@@ -93,7 +201,9 @@
style="width: 150px" style="width: 150px"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem label="店铺单号"> <ElFormItem label="店铺单号" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model.trim="searchForm.shopNumber" v-model.trim="searchForm.shopNumber"
placeholder="店铺单号" placeholder="店铺单号"
...@@ -101,7 +211,9 @@ ...@@ -101,7 +211,9 @@
style="width: 150px" style="width: 150px"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem label="尺码类型"> <ElFormItem label="尺码类型" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElSelect <ElSelect
v-model="searchForm.sizeType" v-model="searchForm.sizeType"
clearable clearable
...@@ -117,7 +229,9 @@ ...@@ -117,7 +229,9 @@
></el-option> ></el-option>
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="排序"> <ElFormItem label="排序" v-if="
status !== 'BATCH_DOWNLOAD'
">
<el-select <el-select
v-model="searchForm.order" v-model="searchForm.order"
clearable clearable
...@@ -128,7 +242,9 @@ ...@@ -128,7 +242,9 @@
<el-option value="desc" label="倒序"></el-option> <el-option value="desc" label="倒序"></el-option>
</el-select> </el-select>
</ElFormItem> </ElFormItem>
<ElFormItem label="类型"> <ElFormItem label="类型" v-if="
status !== 'BATCH_DOWNLOAD'
">
<el-radio-group <el-radio-group
v-model="searchForm.customizedQuantity" v-model="searchForm.customizedQuantity"
@click.stop="(e: Event) => handleRadioGroupClick(e)" @click.stop="(e: Event) => handleRadioGroupClick(e)"
...@@ -137,7 +253,9 @@ ...@@ -137,7 +253,9 @@
<el-radio-button value="multiple">多面</el-radio-button> <el-radio-button value="multiple">多面</el-radio-button>
</el-radio-group> </el-radio-group>
</ElFormItem> </ElFormItem>
<ElFormItem label="数量"> <ElFormItem label="数量" v-if="
status !== 'BATCH_DOWNLOAD'
">
<el-radio-group <el-radio-group
v-model="searchForm.multi" v-model="searchForm.multi"
@click.stop="(e: Event) => handleMultiRadioGroupClick(e)" @click.stop="(e: Event) => handleMultiRadioGroupClick(e)"
...@@ -146,7 +264,9 @@ ...@@ -146,7 +264,9 @@
<el-radio-button :value="true">多件</el-radio-button> <el-radio-button :value="true">多件</el-radio-button>
</el-radio-group> </el-radio-group>
</ElFormItem> </ElFormItem>
<ElFormItem> <ElFormItem v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElPopover placement="bottom" width="600" trigger="click"> <ElPopover placement="bottom" width="600" trigger="click">
<ElForm <ElForm
ref="searchFormPopoverRef" ref="searchFormPopoverRef"
...@@ -662,7 +782,7 @@ ...@@ -662,7 +782,7 @@
<ElButton type="success" @click="toBePicking"> 转至生产 </ElButton> <ElButton type="success" @click="toBePicking"> 转至生产 </ElButton>
</span> </span>
<span v-if="status === 'TO_BE_ARRANGE'" class="item"> <span v-if="status === 'TO_BE_ARRANGE'" class="item">
<ElButton type="warning" @click="showArrange(2)">排单完成</ElButton> <ElButton type="warning" @click="showArrange(2)">排单</ElButton>
</span> </span>
<span <span
v-if="status !== 'BATCH_DOWNLOAD' && status !== 'WAIT_SHIPMENT'" v-if="status !== 'BATCH_DOWNLOAD' && status !== 'WAIT_SHIPMENT'"
...@@ -3486,6 +3606,12 @@ const tableColumns = computed(() => { ...@@ -3486,6 +3606,12 @@ const tableColumns = computed(() => {
align: 'center', align: 'center',
}, },
{ {
label: '工艺类型',
width: 150,
prop: 'craftType',
align: 'center',
},
{
label: '失败原因', label: '失败原因',
minWidth: 250, minWidth: 250,
prop: 'failReason', prop: 'failReason',
...@@ -3730,7 +3856,9 @@ const { ...@@ -3730,7 +3856,9 @@ const {
baseparams.tagsIdArr && delete baseparams.tagsIdArr baseparams.tagsIdArr && delete baseparams.tagsIdArr
// 批量下载 // 批量下载
if (status.value === 'BATCH_DOWNLOAD') { if (status.value === 'BATCH_DOWNLOAD') {
return batchDownloadApi(page, pageSize).then((res) => { return batchDownloadApi({
...baseparams
},page, pageSize).then((res) => {
return res.data return res.data
}) as never }) as never
} else if ( } else if (
...@@ -4491,7 +4619,7 @@ const showArrange = async (type: number, data?: PodCnOrderListData) => { ...@@ -4491,7 +4619,7 @@ const showArrange = async (type: number, data?: PodCnOrderListData) => {
if (bool) { if (bool) {
try { try {
await ElMessageBox.confirm( await ElMessageBox.confirm(
'选中排单的生产单存在多个工艺, 是否继续排单?', '选中排单的生产单存在多个工艺类型, 是否继续排单?',
'提示', '提示',
{ {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -4515,10 +4643,10 @@ function hasDifferentCraftCodeWithSet(items: ProductList[]) { ...@@ -4515,10 +4643,10 @@ function hasDifferentCraftCodeWithSet(items: ProductList[]) {
const seen = new Set() const seen = new Set()
for (const item of items) { for (const item of items) {
if (seen.has(item.craftCode)) { if (seen.has(item.craftType)) {
if (seen.size > 1) return true if (seen.size > 1) return true
} else { } else {
seen.add(item.craftCode) seen.add(item.craftType)
if (seen.size > 1) return true if (seen.size > 1) return true
} }
} }
......
...@@ -10,8 +10,105 @@ ...@@ -10,8 +10,105 @@
size="default" size="default"
inline inline
> >
<!-- 批量下载 -->
<ElFormItem label="创建时间" v-if="
status === 'BATCH_DOWNLOAD'
">
<el-date-picker
v-model="timeRange"
:teleported="false"
:default-time="[
new Date(0, 0, 0, 0, 0, 0),
new Date(0, 0, 0, 23, 59, 59),
]"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetimerange"
style="width: 280px"
:shortcuts="pickerOptions.shortcuts"
start-placeholder="开始时间"
end-placeholder="结束时间"
clearable
>
</el-date-picker>
</ElFormItem>
<ElFormItem label="工艺类型" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.craftType"
placeholder="请选择"
clearable
filterable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in processType"
:key="index"
:value="item.value"
:label="item.label"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="下载状态" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.downloadStatus"
placeholder="下载状态"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['未下载', '已下载']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="排版状态" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.syntheticStatus"
placeholder="排版状态"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['失败', '成功']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="自动排版" v-if="
status === 'BATCH_DOWNLOAD'
">
<ElSelect
v-model="searchForm.automaticComposing"
placeholder="自动排版"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['否', '是']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
<!-- <div> --> <!-- <div> -->
<ElFormItem label="仓库"> <ElFormItem label="仓库" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElSelect <ElSelect
v-model="searchForm.warehouseId" v-model="searchForm.warehouseId"
clearable clearable
...@@ -28,7 +125,9 @@ ...@@ -28,7 +125,9 @@
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="工艺"> <ElFormItem label="工艺" v-if="
status !== 'BATCH_DOWNLOAD'
">
<LogisticsWaySelect <LogisticsWaySelect
v-model="searchForm.craftCode" v-model="searchForm.craftCode"
:company-list="craftList" :company-list="craftList"
...@@ -37,7 +136,9 @@ ...@@ -37,7 +136,9 @@
start-placeholder="请选择工艺名称" start-placeholder="请选择工艺名称"
></LogisticsWaySelect> ></LogisticsWaySelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="库存SKU"> <ElFormItem label="库存SKU" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model.trim="searchForm.thirdSkuCode" v-model.trim="searchForm.thirdSkuCode"
placeholder="库存SKU" placeholder="库存SKU"
...@@ -45,7 +146,9 @@ ...@@ -45,7 +146,9 @@
style="width: 150px" style="width: 150px"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem label="款号"> <ElFormItem label="款号" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model="searchForm.supplierProductNo" v-model="searchForm.supplierProductNo"
placeholder="款号" placeholder="款号"
...@@ -61,7 +164,9 @@ ...@@ -61,7 +164,9 @@
style="width: 150px" style="width: 150px"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem label="生产单号"> <ElFormItem label="生产单号" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model="searchForm.factorySubOrderNumber" v-model="searchForm.factorySubOrderNumber"
placeholder="生产单号" placeholder="生产单号"
...@@ -69,7 +174,9 @@ ...@@ -69,7 +174,9 @@
style="width: 150px" style="width: 150px"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem label="店铺单号"> <ElFormItem label="店铺单号" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElInput <ElInput
v-model="searchForm.shopNumber" v-model="searchForm.shopNumber"
placeholder="店铺单号" placeholder="店铺单号"
...@@ -77,7 +184,9 @@ ...@@ -77,7 +184,9 @@
style="width: 150px" style="width: 150px"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem label="尺码类型"> <ElFormItem label="尺码类型" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElSelect <ElSelect
v-model="searchForm.sizeType" v-model="searchForm.sizeType"
clearable clearable
...@@ -93,7 +202,9 @@ ...@@ -93,7 +202,9 @@
></el-option> ></el-option>
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="平台"> <ElFormItem label="平台" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElSelect <ElSelect
v-model="searchForm.platform" v-model="searchForm.platform"
value-key="" value-key=""
...@@ -119,7 +230,9 @@ ...@@ -119,7 +230,9 @@
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<!-- </div> --> <!-- </div> -->
<ElFormItem label="类型"> <ElFormItem label="类型" v-if="
status !== 'BATCH_DOWNLOAD'
">
<el-radio-group <el-radio-group
v-model="searchForm.customizedQuantity" v-model="searchForm.customizedQuantity"
@click.stop="(e: Event) => handleRadioGroupClick(e)" @click.stop="(e: Event) => handleRadioGroupClick(e)"
...@@ -129,7 +242,9 @@ ...@@ -129,7 +242,9 @@
<el-radio-button label="normal">普品</el-radio-button> <el-radio-button label="normal">普品</el-radio-button>
</el-radio-group> </el-radio-group>
</ElFormItem> </ElFormItem>
<ElFormItem label="数量"> <ElFormItem label="数量" v-if="
status !== 'BATCH_DOWNLOAD'
">
<el-radio-group <el-radio-group
v-model="searchForm.multi" v-model="searchForm.multi"
@click.stop="(e: Event) => handleMultiRadioGroupClick(e)" @click.stop="(e: Event) => handleMultiRadioGroupClick(e)"
...@@ -139,7 +254,9 @@ ...@@ -139,7 +254,9 @@
</el-radio-group> </el-radio-group>
</ElFormItem> </ElFormItem>
<ElFormItem> <ElFormItem>
<ElPopover placement="bottom" width="600" trigger="click"> <ElPopover placement="bottom" width="600" trigger="click" v-if="
status !== 'BATCH_DOWNLOAD'
">
<ElForm <ElForm
ref="searchFormPopoverRef" ref="searchFormPopoverRef"
:model="searchForm" :model="searchForm"
...@@ -684,7 +801,7 @@ ...@@ -684,7 +801,7 @@
</ElFormItem> </ElFormItem>
<ElFormItem v-if="status === 'TO_BE_ARRANGE'"> <ElFormItem v-if="status === 'TO_BE_ARRANGE'">
<span class="item"> <span class="item">
<ElButton type="warning" @click="showArrange(2)">排单完成</ElButton> <ElButton type="warning" @click="showArrange(2)">排单</ElButton>
</span> </span>
</ElFormItem> </ElFormItem>
<ElFormItem <ElFormItem
...@@ -3087,6 +3204,9 @@ const printWarehouseSkuDialogRef = ref() ...@@ -3087,6 +3204,9 @@ const printWarehouseSkuDialogRef = ref()
const isAuto = ref(true) const isAuto = ref(true)
const countryList = ref([]) const countryList = ref([])
const logisticsWayList = ref<{ name: string; id: number }[]>([]) const logisticsWayList = ref<{ name: string; id: number }[]>([])
const craftTypeList = ref<{ name: string; code: string }[]>([
{ name: '烫画', code: 'TH' }
])
const currentRow = ref<AddressInfo>({ const currentRow = ref<AddressInfo>({
receiverName: '', receiverName: '',
receiverPhone: '', receiverPhone: '',
...@@ -3570,6 +3690,12 @@ const tableColumns = computed(() => { ...@@ -3570,6 +3690,12 @@ const tableColumns = computed(() => {
prop: 'employeeAccount', prop: 'employeeAccount',
align: 'center', align: 'center',
}, },
{
label: '工艺类型',
width: 150,
prop: 'craftType',
align: 'center',
},
{ {
label: '创建时间', label: '创建时间',
...@@ -3594,7 +3720,7 @@ const tableColumns = computed(() => { ...@@ -3594,7 +3720,7 @@ const tableColumns = computed(() => {
}, },
{ {
label: '失败原因', label: '失败原因',
minWidth: 250, minWidth: 200,
prop: 'failReason', prop: 'failReason',
slot: 'failReason', slot: 'failReason',
align: 'left', align: 'left',
...@@ -3918,7 +4044,11 @@ const { ...@@ -3918,7 +4044,11 @@ const {
baseparams.tagsIdArr && delete baseparams.tagsIdArr baseparams.tagsIdArr && delete baseparams.tagsIdArr
// 批量下载 // 批量下载
if (status.value === 'BATCH_DOWNLOAD') { if (status.value === 'BATCH_DOWNLOAD') {
return batchDownloadApi(page, pageSize).then((res) => { const params = {
...baseparams
}
return batchDownloadApi(params,
page, pageSize).then((res) => {
return res.data return res.data
}) as never }) as never
} else if ( } else if (
...@@ -5023,7 +5153,7 @@ const showArrange = async (type: number, data?: PodUsOrderListData) => { ...@@ -5023,7 +5153,7 @@ const showArrange = async (type: number, data?: PodUsOrderListData) => {
if (bool) { if (bool) {
try { try {
await ElMessageBox.confirm( await ElMessageBox.confirm(
'选中排单的生产单存在多个工艺, 是否继续排单?', '选中排单的生产单存在多个工艺类型, 是否继续排单?',
'提示', '提示',
{ {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -5047,10 +5177,10 @@ function hasDifferentCraftCodeWithSet(items: ProductList[]) { ...@@ -5047,10 +5177,10 @@ function hasDifferentCraftCodeWithSet(items: ProductList[]) {
const seen = new Set() const seen = new Set()
for (const item of items) { for (const item of items) {
if (seen.has(item.craftCode)) { if (seen.has(item.craftType)) {
if (seen.size > 1) return true if (seen.size > 1) return true
} else { } else {
seen.add(item.craftCode) seen.add(item.craftType)
if (seen.size > 1) return true if (seen.size > 1) return true
} }
} }
......
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
<div class="box"> <div class="box">
所有生产单按{{ getLabels(item.groupField) }}进行自动排单 所有生产单按{{ getLabels(item.groupField) }}进行自动排单
</div> </div>
<div class="box">批次数量:{{ item.arrangeMax }}</div> <div class="box">烫画批次数量:{{ item.thArrangeMax }}</div>
<div class="box">非烫画批次数量:{{ item.arrangeMax }}</div>
<div class="box">每天{{ getTime(item) }}开始自动排单</div> <div class="box">每天{{ getTime(item) }}开始自动排单</div>
</div> </div>
<div class="action"> <div class="action">
...@@ -154,31 +155,6 @@ ...@@ -154,31 +155,6 @@
<div <div
style="border-top: 1px solid; color: #dcdfe6; padding-top: 10px" style="border-top: 1px solid; color: #dcdfe6; padding-top: 10px"
> >
<el-form-item
label="自动排单一个批次里生产单的最大值为:"
prop="arrangeMax"
:rules="[
{
required: true,
message: '请输入数量',
trigger: ['blur'],
},
{
pattern: /^\d+$/,
message: '请输入整数',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="editForm.arrangeMax"
style="width: 200px"
placeholder="请输入数量"
></el-input>
</el-form-item>
<div style="color: #f56c6c; margin: 10px 0">
注:系统限制烫画工艺一个批次不超过50个生产单!
</div>
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<div style="color: #606266; margin-right: 10px"> <div style="color: #606266; margin-right: 10px">
烫画工艺自动排版: 烫画工艺自动排版:
...@@ -195,9 +171,8 @@ ...@@ -195,9 +171,8 @@
--el-switch-off-color: #f56c6c; --el-switch-off-color: #f56c6c;
" "
/> />
</div>
<div style="display: flex; align-items: center"> <div style="color: #606266; margin-left: 155px; margin-right: 10px">状态:</div>
<div style="color: #606266; margin-right: 10px">状态:</div>
<el-switch <el-switch
v-model="editForm.status" v-model="editForm.status"
active-value="ACTIVE" active-value="ACTIVE"
...@@ -212,20 +187,93 @@ ...@@ -212,20 +187,93 @@
" "
/> />
</div> </div>
<div v-if="editForm.isAuto"> <div v-if="editForm.isAuto">
<div label="排版类型:"> <el-row :gutter="40">
<el-radio-group v-model="editForm.type"> <el-col :span="380">
<el-radio label="tiff">tiff排版</el-radio> <el-form-item
<el-radio label="png">png排版</el-radio> label="排版类型:"
</el-radio-group> prop="type"
</div> label-width="100"
<div label="排版宽度:"> :rules="editForm.isAuto ? [
<el-radio-group v-model="editForm.templateWidth"> { required: true, message: '请选择排版类型', trigger: 'change' }
<el-radio :value="42">40+2cm</el-radio> ] : []"
<el-radio :value="60">60cm</el-radio> >
</el-radio-group> <el-radio-group v-model="editForm.type" :required="editForm.isAuto">
<el-radio label="tiff">tiff排版</el-radio>
<el-radio label="png">png排版</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="排版宽度:"
prop="templateWidth"
label-width="100"
:rules="editForm.isAuto ? [
{ required: true, message: '请选择排版宽度', trigger: 'change' }
] : []"
>
<el-radio-group v-model="editForm.templateWidth" :required="editForm.isAuto">
<el-radio :value="42">40+2cm</el-radio>
<el-radio :value="60">60cm</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<div style="color: #f56c6c; margin: 5px 0">
<!-- 注:系统限制烫画工艺一个批次不超过50个生产单! -->
注:系统限制烫画工艺排TIFF类型一个批次生产单件数不超过40,排PNG类型一个批次生产单件数不超过100!
</div> </div>
</div> </div>
<el-form-item
label="烫画类工艺自动排单一个批次里生产单件数的最大值为:"
prop="thArrangeMax"
label-width="380"
:rules="[
{
required: true,
message: '请输入数量',
trigger: ['blur'],
},
{
pattern: /^\d+$/,
message: '请输入整数',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="editForm.thArrangeMax"
style="width: 200px"
placeholder="请输入数量"
></el-input>
</el-form-item>
<el-form-item
label="非烫画类工艺自动排单一个批次里生产单件数的最大值为:"
prop="arrangeMax"
label-width="380"
:rules="[
{
required: true,
message: '请输入数量',
trigger: ['blur'],
},
{
pattern: /^\d+$/,
message: '请输入整数',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="editForm.arrangeMax"
style="width: 200px"
placeholder="请输入数量"
></el-input>
</el-form-item>
</div> </div>
<el-form-item> <el-form-item>
...@@ -289,10 +337,10 @@ const editFormRef = ref<InstanceType<typeof CustomizeForm> | null>(null) ...@@ -289,10 +337,10 @@ const editFormRef = ref<InstanceType<typeof CustomizeForm> | null>(null)
const paramsList = ref(['craft_type']) const paramsList = ref(['craft_type'])
const rulesList = ref([ const rulesList = ref([
{ label: '工艺', value: 'craft_type', disabled: false }, { label: '工艺类型', value: 'craft_type', disabled: false },
{ label: '款号', value: 'supplier_product_no', disabled: false }, { label: '库存款号', value: 'supplier_product_no', disabled: false },
{ label: '尺码', value: 'size', disabled: false }, { label: '产品尺码', value: 'size', disabled: false },
{ label: '类型', value: 'customized_quantity', disabled: false }, { label: '定制类型', value: 'customized_quantity', disabled: false },
]) ])
/** /**
...@@ -335,6 +383,7 @@ interface rowData extends BaseForm { ...@@ -335,6 +383,7 @@ interface rowData extends BaseForm {
interface BaseForm { interface BaseForm {
id?: number id?: number
time?: string time?: string
thArrangeMax?: number
arrangeMax?: number arrangeMax?: number
isAuto?: boolean isAuto?: boolean
factoryNo?: number factoryNo?: number
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment