diff --git a/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/deliver.png b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/deliver.png new file mode 100644 index 00000000..4568c2d9 Binary files /dev/null and b/mes-ui/mes-ui-admin-vue3/src/assets/imgs/status/deliver.png differ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue index 0bc01e3d..bfc0fe3d 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/deliverorder/detail.vue @@ -1,16 +1,16 @@ - - 上传 + + + 上传 + - + @@ -480,12 +357,7 @@ - + @@ -494,12 +366,9 @@ @@ -511,23 +380,23 @@ import { ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import type { UploadProps, UploadUserFile } from 'element-plus' -import {getStrDictOptions, DICT_TYPE, getIntDictOptions, getDictLabel} from '@/utils/dict' +import { getStrDictOptions, DICT_TYPE, getIntDictOptions, getDictLabel } from '@/utils/dict' import * as DeliverOrderApi from '@/api/heli/deliverorder' -import {getOperateLogPage} from "@/api/system/operatelog"; -import {deleteFileLogic, downloadFile, getFilePage} from "@/api/infra/file"; -import {Search, Plus} from "@element-plus/icons-vue"; -import UserSelect from "@/views/heli/hlvuestyle/userSelect.vue"; -import {getAccessToken, getTenantId} from "@/utils/auth"; -import {dateFormatter} from "@/utils/formatTime"; -import download from "@/utils/download"; +import { getOperateLogPage } from '@/api/system/operatelog' +import { deleteFileLogic, downloadFile, getFilePage } from '@/api/infra/file' +import { Search, Plus } from '@element-plus/icons-vue' +import UserSelect from '@/views/heli/hlvuestyle/userSelect.vue' +import { getAccessToken, getTenantId } from '@/utils/auth' +import { dateFormatter } from '@/utils/formatTime' +import download from '@/utils/download' import { inject } from 'vue' import { getProjectOrder, getProjectOrderSubListByProjectOrderId, ProjectOrderVO -} from "@/api/heli/projectorder"; -import {getCustomer} from "@/api/heli/customer"; -import ProjectOrderDialog from "@/views/heli/deliverorder/projectOrderDialog.vue"; +} from '@/api/heli/projectorder' +import { getCustomer } from '@/api/heli/customer' +import ProjectOrderDialog from '@/views/heli/deliverorder/projectOrderDialog.vue' import ShipmentsPrint from './shipmentsPrint.vue' // 引入打印弹框 defineOptions({ name: 'DeliverOrderDetail' }) @@ -590,7 +459,7 @@ const formRules = reactive({ deliverMode: [{ required: true, message: '发货方式不能为空', trigger: 'change' }], receivePersonMobile: [{ required: true, message: '收货人电话不能为空', trigger: 'blur' }], receivePersonName: [{ required: true, message: '收货人姓名不能为空', trigger: 'blur' }], - receiveAddress: [{ required: true, message: '收货详细地址不能为空', trigger: 'blur' }], + receiveAddress: [{ required: true, message: '收货详细地址不能为空', trigger: 'blur' }] }) const subFormLoading = ref(false) // 子表单的加载中 const subFormRules = reactive({ @@ -598,7 +467,7 @@ const subFormRules = reactive({ subType: [{ required: true, message: '所属类型不能为空', trigger: 'blur' }], name: [{ required: true, message: '名称,唯一不能为空', trigger: 'blur' }], amount: [{ required: true, message: '本次发货数量不能为空', trigger: 'blur' }], - unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }], + unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }] }) const formRef = ref() // 表单 Ref /** 子表的表单 */ @@ -609,7 +478,7 @@ const submitForm = async (operate) => { formData.value.active = operate await formRef.value.validate() // 校验子表单 - if(active.value != 'create'){ + if (active.value != 'create') { await subFormRef.value.validate() await otherSubFormRef.value.validate() } @@ -617,11 +486,11 @@ const submitForm = async (operate) => { formLoading.value = true try { // 设置类型 - formData.value.deliverOrderSubs?.forEach(item => { + formData.value.deliverOrderSubs?.forEach((item) => { item.category = 'DELIVER_LIST' item.status = 1 }) - formData.value.deliverOrderOtherSubs?.forEach(item => { + formData.value.deliverOrderOtherSubs?.forEach((item) => { item.category = 'OTHER_LIST' item.status = 1 }) @@ -629,16 +498,16 @@ const submitForm = async (operate) => { const orderId = await DeliverOrderApi.operateDeliverOrder(data) message.success(t('common.operationSuccess')) // 上传附件 - if(attachmentUploadFiles.value.length > 0){ + if (attachmentUploadFiles.value.length > 0) { uploadData.value.businessId = orderId attachmentUploadRef.value!.submit() } if (operate == 'SAVE') { - if(active.value != 'deliver'){ + if (active.value != 'deliver') { active.value = 'update' } - }else if(operate == 'DELIVER'){ + } else if (operate == 'DELIVER') { active.value = 'detail' } activeId.value = orderId @@ -691,7 +560,7 @@ const onAddItem2 = () => { const row = { id: undefined, deliveryOrderId: undefined, - category: "OTHER_LIST", + category: 'OTHER_LIST', name: undefined, blueprintNo: undefined, amount: undefined, @@ -700,10 +569,10 @@ const onAddItem2 = () => { size: undefined, subType: undefined, remark: undefined, - status: undefined, + status: undefined } row.deliveryOrderId = formData.value.id - if(!formData.value.deliverOrderOtherSubs) { + if (!formData.value.deliverOrderOtherSubs) { formData.value.deliverOrderOtherSubs = [] } formData.value.deliverOrderOtherSubs.push(row) @@ -748,7 +617,7 @@ const attachmentUploadChange = (file, files) => { /** 删除子项操作 */ const onDeleteItem = (index) => { - if(formData.value.deliverOrderSubs.length == 1){ + if (formData.value.deliverOrderSubs.length == 1) { message.warning('发货清单至少存在一条数据') return } @@ -792,32 +661,34 @@ const queryData = async (type: string, id?: number) => { formData.value.deliverCompany = '杭州合立机械有限公司' // 性质 - let properties = formData.value.property.split(",") - let property = ""; + let properties = formData.value.property.split(',') + let property = '' for (let i = 0; i < properties.length; i++) { - property += getDictLabel(DICT_TYPE.HELI_PROJECT_PROPERTY, properties[i]) + ","; + property += getDictLabel(DICT_TYPE.HELI_PROJECT_PROPERTY, properties[i]) + ',' } - formData.value.property = property.substring(0, property.length-1); + formData.value.property = property.substring(0, property.length - 1) // 子项列表 const subArr = await DeliverOrderApi.getDeliverOrderSubListByDeliveryOrderId(id) // 如未保存过 即子项为空 从关联项目带出 - if(!subArr || subArr.length == 0){ - formData.value.deliverOrderSubs = []; - let saleOrderIdArr = formData.value.saleOrderIds.split(","); + if (!subArr || subArr.length == 0) { + formData.value.deliverOrderSubs = [] + let saleOrderIdArr = formData.value.saleOrderIds.split(',') for (let i = 0; i < saleOrderIdArr.length; i++) { - formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat(await getProjectOrderSubListByProjectOrderId(saleOrderIdArr[i])); - formData.value.deliverOrderSubs.forEach(sub => { + formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat( + await getProjectOrderSubListByProjectOrderId(saleOrderIdArr[i]) + ) + formData.value.deliverOrderSubs.forEach((sub) => { sub.remark = '' sub.saleOrderSubId = sub.id sub.id = '' sub.saleOrderCode = sub.projectOrderCode }) } - }else{ + } else { // 分类发货清单与其他物料清单 - formData.value.deliverOrderSubs = subArr.filter(sub => sub.category == 'DELIVER_LIST'); - formData.value.deliverOrderOtherSubs = subArr.filter(sub => sub.category == 'OTHER_LIST'); + formData.value.deliverOrderSubs = subArr.filter((sub) => sub.category == 'DELIVER_LIST') + formData.value.deliverOrderOtherSubs = subArr.filter((sub) => sub.category == 'OTHER_LIST') } // 操作日志 @@ -848,31 +719,31 @@ const queryData = async (type: string, id?: number) => { const initCustomerInfo = async () => { // 收货人信息 const customer = await getCustomer(formData.value.customerId) - if(customer.contact1Name){ + if (customer.contact1Name) { receivePersonOptions.value.push({ - "name": customer.contact1Name, - "mobile": customer.contact1Method + name: customer.contact1Name, + mobile: customer.contact1Method }) receivePersonAddressOptions.value.push({ - "address": customer.contact1Addr + address: customer.contact1Addr }) } - if(customer.contact2Name){ + if (customer.contact2Name) { receivePersonOptions.value.push({ - "name": customer.contact2Name, - "mobile": customer.contact2Method + name: customer.contact2Name, + mobile: customer.contact2Method }) receivePersonAddressOptions.value.push({ - "address": customer.contact2Addr + address: customer.contact2Addr }) } - if(customer.contact3Name){ + if (customer.contact3Name) { receivePersonOptions.value.push({ - "name": customer.contact3Name, - "mobile": customer.contact3Method + name: customer.contact3Name, + mobile: customer.contact3Method }) receivePersonAddressOptions.value.push({ - "address": customer.contact3Addr + address: customer.contact3Addr }) } } @@ -883,27 +754,27 @@ const openProjectOrderDialog = () => { } const handleSelectedProjectOrder = (arr: ProjectOrderVO[]) => { - if(arr && arr.length > 0){ - let saleOrderIds = ""; - let saleOrderCode = ""; - let contractNo = ""; - let property = ""; - let projectName = ""; + if (arr && arr.length > 0) { + let saleOrderIds = '' + let saleOrderCode = '' + let contractNo = '' + let property = '' + let projectName = '' for (let i = 0; i < arr.length; i++) { - let order = arr[i]; - saleOrderIds += order.id + ","; - saleOrderCode += order.code + ","; - contractNo += order.contractNo + ","; - property += getDictLabel(DICT_TYPE.HELI_PROJECT_PROPERTY, order.property) + ","; - projectName += order.projectName + ","; + let order = arr[i] + saleOrderIds += order.id + ',' + saleOrderCode += order.code + ',' + contractNo += order.contractNo + ',' + property += getDictLabel(DICT_TYPE.HELI_PROJECT_PROPERTY, order.property) + ',' + projectName += order.projectName + ',' } - formData.value.saleOrderIds = saleOrderIds.substring(0, saleOrderIds.length-1); - formData.value.saleOrderCode = saleOrderCode.substring(0, saleOrderCode.length-1); - formData.value.contractNo = contractNo.substring(0, contractNo.length-1); - formData.value.property = property.substring(0, property.length-1); - formData.value.projectName = projectName.substring(0, projectName.length-1); - formData.value.customerId = arr[0].customerId; - formData.value.customerName = arr[0].customerName; + formData.value.saleOrderIds = saleOrderIds.substring(0, saleOrderIds.length - 1) + formData.value.saleOrderCode = saleOrderCode.substring(0, saleOrderCode.length - 1) + formData.value.contractNo = contractNo.substring(0, contractNo.length - 1) + formData.value.property = property.substring(0, property.length - 1) + formData.value.projectName = projectName.substring(0, projectName.length - 1) + formData.value.customerId = arr[0].customerId + formData.value.customerName = arr[0].customerName } } @@ -913,8 +784,8 @@ const receivePersonOptions = ref([]) const receivePersonAddressOptions = ref([]) const receiveOnChange = (val) => { - let matchedPerson = receivePersonOptions.value.find(p => p.name == val); - if(matchedPerson){ + let matchedPerson = receivePersonOptions.value.find((p) => p.name == val) + if (matchedPerson) { formData.value.receivePersonMobile = matchedPerson.mobile } } @@ -922,17 +793,19 @@ const receiveOnChange = (val) => { //打印发货单 const shipmentsPrintRef = ref() // 打印弹框 -const printHandle =()=> { +const printHandle = () => { shipmentsPrintRef.value.open(formData.value.id) } const initDeliverData = async (projectOrderId) => { - let projectOrder = await getProjectOrder(projectOrderId); + let projectOrder = await getProjectOrder(projectOrderId) handleSelectedProjectOrder([projectOrder]) - formData.value.deliverOrderSubs = []; - formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat(await getProjectOrderSubListByProjectOrderId(projectOrderId)); - formData.value.deliverOrderSubs.forEach(sub => { + formData.value.deliverOrderSubs = [] + formData.value.deliverOrderSubs = formData.value.deliverOrderSubs.concat( + await getProjectOrderSubListByProjectOrderId(projectOrderId) + ) + formData.value.deliverOrderSubs.forEach((sub) => { sub.remark = '' sub.saleOrderSubId = sub.id sub.id = '' @@ -944,10 +817,10 @@ const initDeliverData = async (projectOrderId) => { const initData = async () => { resetForm() - if('detail' == active.value){ + if ('detail' == active.value) { detailDisabled.value = true } - if('deliver' == active.value && query.projectOrderId){ + if ('deliver' == active.value && query.projectOrderId) { await initDeliverData(query.projectOrderId) } await queryData(active.value, activeId.value) @@ -957,7 +830,6 @@ const detailDisabled = ref(false) onMounted(() => { initData() }) -