From b9b6cdf4f454b7163b9ff64abe25841396e7e72c Mon Sep 17 00:00:00 2001 From: taozi <1362265981@qq.com> Date: Mon, 15 Dec 2025 17:47:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/basicData/jobTransferManagement.vue | 40 +- src/views/costStatistics/index.vue | 128 ++- .../flowManagement/managementOfKeyTasks.vue | 163 +++- .../binTransfer/index.vue | 3 +- .../components/outboundDialog.vue | 103 +- .../glassCakeOutbound/index.vue | 164 +++- .../pickListPrinting.vue | 2 +- .../returnReceiving.vue | 9 + src/views/orderManagement/planYieIdOrder.vue | 235 +++-- .../orderManagement/sinTerYieIdOrder.vue | 899 +++++++++++------- .../productionManagement/reworkOrder.vue | 139 ++- .../components/addEditDialogDischargeRec.vue | 199 ++-- .../warehouseAnalysis/inOutBoundReport.vue | 9 + .../leveragingManagement.vue | 432 +++++---- .../materialMaintenance.vue | 54 +- src/views/workLicense/workLicense.vue | 105 +- vite.config.mjs | 4 +- 17 files changed, 1800 insertions(+), 888 deletions(-) diff --git a/src/views/basicData/jobTransferManagement.vue b/src/views/basicData/jobTransferManagement.vue index d95bed6..d2dd077 100644 --- a/src/views/basicData/jobTransferManagement.vue +++ b/src/views/basicData/jobTransferManagement.vue @@ -553,7 +553,45 @@ export default { { required: true, message: "请输入身份证号码", - trigger: "click", + trigger: "blur", + }, + { + pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, + message: "请输入正确的身份证号码格式", + trigger: "blur", + validator: (rule, value, callback) => { + if (!value) { + return callback(new Error('请输入身份证号码')); + } + // 15位身份证验证 + if (value.length === 15) { + const pattern = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; + if (!pattern.test(value)) { + return callback(new Error('请输入有效的15位身份证号码')); + } + } + // 18位身份证验证 + else if (value.length === 18) { + const pattern = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; + if (!pattern.test(value)) { + return callback(new Error('请输入有效的18位身份证号码')); + } + // 校验码验证 + const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; + const codes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; + let sum = 0; + for (let i = 0; i < 17; i++) { + sum += parseInt(value.charAt(i)) * weights[i]; + } + const lastCode = codes[sum % 11]; + if (value.toUpperCase().charAt(17) !== lastCode) { + return callback(new Error('身份证号码校验码不正确,请核对')); + } + } else { + return callback(new Error('身份证号码长度不正确,应为15位或18位')); + } + callback(); + } }, ], }, diff --git a/src/views/costStatistics/index.vue b/src/views/costStatistics/index.vue index f33e6ce..9366996 100644 --- a/src/views/costStatistics/index.vue +++ b/src/views/costStatistics/index.vue @@ -3,12 +3,7 @@ - + @@ -19,23 +14,10 @@ - + 成本计算 @@ -48,34 +30,44 @@ - + - + + + + {{ selectMonth }}月已计算成本,是否重新计算? + + + + + + + - - + diff --git a/src/views/flowManagement/managementOfKeyTasks.vue b/src/views/flowManagement/managementOfKeyTasks.vue index be4a383..466feb2 100644 --- a/src/views/flowManagement/managementOfKeyTasks.vue +++ b/src/views/flowManagement/managementOfKeyTasks.vue @@ -122,6 +122,7 @@ + @@ -243,10 +244,11 @@ 插入一行 - 删除选择行 + 删除选择行 - + + + > + + + + {$refs.addForm.validateField('detailList.' + scope.$index + '.milestonePlan')}" + > + + + + {{ scope.row.milestonePlan }} + + + + > + + + + + + + + + + + {{ scope.row.milestoneMan.userName }} + + + + > + + + + + + + + {{ scope.row.outputMaterial }} + + + + > + + + + + + + + {{ scope.row.milestoneNode }} + + + { + if (!array || array.length === 0) { + callback(new Error('请至少添加一条里程碑记录')); + } else { + callback(); + } + } + } }, page: { pageSize: 10, @@ -773,8 +858,52 @@ export default { }, mounted() {}, methods: { + insertEvent() { + // 插入一行 + this.addForm.detailList.push({ + }) + }, openDialog() { + // 添加新的里程碑行 + const newRow = { + status: 3, + statusTitle: "待执行", + checkMan: null, + checkResult: 0, + checkResultTitle: "未核查", + checkTime: null, + delayDate: false, + delayTime: null, + evaluate: null, + evolve: "", + executeResult: 0, + executeResultTitle: "无", + grade: 0, + gradeMan: null, + gradeTitle: "未评价", + keyValue: Date.now(), + lastPlan: "", + milestoneMan: { + accountId: null, + userId: null, + userName: "" + }, + milestoneMemo: "", + milestoneNode: "", + milestonePlan: "", + okTime: null, + outputMaterial: "", + paIndex: (this.addForm.detailList?.length || 0) + 1, + pmId: this.addForm.paId, + score: null, + updateMan: null + }; + if (!this.addForm.detailList) { + this.addForm.detailList = []; + } + this.addForm.detailList.push(newRow); + this.$message.success('插入成功'); }, handleAdd() { this.title = "新增"; @@ -816,11 +945,7 @@ export default { }, // 新增/编辑确定 submitForm() { - this.$refs.addForm.validate((valid) => { - if (valid) { - this.addDialog = false; - } - }); + }, // 审核立项 checkRow() { @@ -877,7 +1002,6 @@ export default { }, // 下载附件 downloadFile(file) { - // 创建一个临时链接并点击下载 const link = document.createElement('a'); link.href = file.url; link.download = file.name; @@ -896,7 +1020,20 @@ export default { this.$message.success('删除成功'); }).catch(() => {}); }, - onLoad() { + delTable() { + // 获取表格选中的行 + const selection = this.$refs.detailTable?.getSelection(); + if (!selection || selection.length === 0) { + this.$message.warning('请先选择要删除的行'); + return; + } + // 过滤掉选中的行(保留未选中的行) + this.addForm.detailList = this.addForm.detailList.filter( + row => !selection.some(selected => selected.keyValue === row.keyValue) + ); + this.$message.success('删除成功'); + }, + onLoad() { this.data = [ { status: 1, diff --git a/src/views/inboundOutboundManagement/binTransfer/index.vue b/src/views/inboundOutboundManagement/binTransfer/index.vue index 1149c67..a8b2aed 100644 --- a/src/views/inboundOutboundManagement/binTransfer/index.vue +++ b/src/views/inboundOutboundManagement/binTransfer/index.vue @@ -5,7 +5,7 @@ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> - 删除 + @@ -77,6 +77,7 @@ export default { delBtnIcon: ' ', editBtnIcon: ' ', align: 'center', + editBtn: false, column: [ { diff --git a/src/views/inboundOutboundManagement/glassCakeOutbound/components/outboundDialog.vue b/src/views/inboundOutboundManagement/glassCakeOutbound/components/outboundDialog.vue index 245339a..7991c60 100644 --- a/src/views/inboundOutboundManagement/glassCakeOutbound/components/outboundDialog.vue +++ b/src/views/inboundOutboundManagement/glassCakeOutbound/components/outboundDialog.vue @@ -27,6 +27,10 @@ export default { type: Boolean, default: false }, + rowItem: { + type: Object, + default: () => ({}) + } }, data() { return { @@ -132,6 +136,30 @@ addBtnIcon: ' ', prop: 'chukushuliang', search: false, }, + { + label: '实际出库玻璃饼型号', + prop: 'actualPartCode', + search: false, + type: 'select', + dicData: [ + { label: '型号A', value: 'A' }, + { label: '型号B', value: 'B' }, + { label: '型号C', value: 'C' }, + { label: '型号D', value: 'D' }, + ] + }, + { + label: '实际库位', + prop: 'actualKuwei', + search: false, + type: 'select', + dicData: [ + { label: '库位一', value: '库位一' }, + { label: '库位二', value: '库位二' }, + { label: '库位三', value: '库位三' }, + { label: '库位四', value: '库位四' }, + ] + }, ] }, @@ -140,7 +168,24 @@ addBtnIcon: ' ', } }, mounted() { - this.openShow = this.showDialog + this.openShow = this.showDialog; + this.onLoad(); + }, + watch: { + showDialog(newVal) { + this.openShow = newVal; + if (newVal) { + this.onLoad(); + } + }, + rowItem: { + handler() { + if (this.openShow) { + this.onLoad(); + } + }, + deep: true + } }, methods: { query() { @@ -167,6 +212,11 @@ addBtnIcon: ' ', this.openShow = false this.$emit('closeDialog'); }, + submit() { + // 如果有数据,则使用第一条数据 + const formData = this.data.length > 0 ? {...this.data[0], ...this.rowItem} : {...this.rowItem}; + this.$emit('confirmOutbound', formData); + }, delFn() { this.$confirm('确定将选择数据删除?', { confirmButtonText: '确定', @@ -186,25 +236,38 @@ addBtnIcon: ' ', }); }, onLoad() { - this.data = [ - { - brCode: 'aaaa', - woCode: 'WO-090899899', - partCode: 'E6-78787-E1', - partName: '零件一', - batchNo: '9098900', - okNum: '88', - c_materiel_id: '89', - partNames: '8989', - xuqiushuliang: 99, - chukushuliang: 67, - goodbatchNo: '898989', - bsStoreRoomSet: '仓库一', - goodsKuwei: '库位一', - status: 1, - times: '2025-09-08' - }, - ] + // 使用传入的rowItem数据初始化表单,如果没有则使用默认数据 + if (this.rowItem && this.rowItem.brCode) { + this.data = [{ + ...this.rowItem, + // 添加默认的实际出库玻璃饼型号和库位 + actualPartCode: this.rowItem.actualPartCode || 'A', + actualKuwei: this.rowItem.actualKuwei || '库位一' + }]; + } else { + this.data = [ + { + brCode: 'aaaa', + woCode: 'WO-090899899', + partCode: 'E6-78787-E1', + partName: '零件一', + batchNo: '9098900', + okNum: '88', + c_materiel_id: '89', + partNames: '8989', + xuqiushuliang: 99, + chukushuliang: 67, + goodbatchNo: '898989', + bsStoreRoomSet: '仓库一', + goodsKuwei: '库位一', + status: 1, + times: '2025-09-08', + // 添加默认的实际出库玻璃饼型号和库位 + actualPartCode: 'A', + actualKuwei: '库位一' + }, + ]; + } this.page.total = this.data.length } } diff --git a/src/views/inboundOutboundManagement/glassCakeOutbound/index.vue b/src/views/inboundOutboundManagement/glassCakeOutbound/index.vue index 2aecc92..55c0d57 100644 --- a/src/views/inboundOutboundManagement/glassCakeOutbound/index.vue +++ b/src/views/inboundOutboundManagement/glassCakeOutbound/index.vue @@ -35,7 +35,13 @@ v-if="scope.row.status == '1'" >出库 - 修改 + + 删除 + + 报废 @@ -101,7 +107,18 @@ export default { labelWidth: 140, searchLabelWidth: 120, menu: true, - menuWidth: 200, + menuWidth: 300, + menuBtn: true, + menuBtnIcon: 'el-icon-menu', + menuBtnTitle: '操作', + menuList: [ + { label: '详情', value: 'details' }, + { label: '打印', value: 'print', display: (row) => row.status == '1' }, + { label: '出库', value: 'outbound', display: (row) => row.status == '1' }, + { label: '修改', value: 'edit', display: (row) => row.status == '1' }, + { label: '删除', value: 'delete', display: (row) => row.status == '1' }, + { label: '报废', value: 'scrap', display: (row) => row.status == '2' } + ], dialogWidth: 1200, dialogClickModal: false, searchEnter: true, @@ -125,7 +142,7 @@ export default { { label: "出库单号", prop: "brCode", - search: true, + search: false, width: 120, searchLabelWidth: 75, }, @@ -155,16 +172,23 @@ export default { search: false, width: 120, }, + { + label: "流程卡号", + prop: "processCardNo", + search: true, + width: 120, + }, { label: "生产数量", prop: "okNum", search: false, width: 120, }, + { - label: "物料号", + label: "物料编号", prop: "c_materiel_id", - search: false, + search: true, width: 120, }, { @@ -180,29 +204,71 @@ export default { width: 120, }, { - label: "物料出库数量", - prop: "chukushuliang", + label: "库房", + prop: "bsStoreRoomSet", search: false, width: 120, }, { - label: "物料批次号", - prop: "goodbatchNo", + label: "库位", + prop: "goodsKuwei", search: false, width: 120, }, { - label: "仓库", - prop: "bsStoreRoomSet", + label: "是否印字", + prop: "isPrint", search: false, width: 120, + type : "select", + dicData : [ + { + label : "是", + value : "1" + }, + { + label : "否", + value : "0" + } + ] }, { - label: "物料库位", - prop: "goodsKuwei", + label: "粉重", + prop: "powderWeight", + search: false, + width: 120, + }, + { + label: "材料号", + prop: "materialCode", + search: false, + width: 120, + }, + { + label: "成型厚度", + prop: "chengxinghoudu", + search: false, + width: 120, + }, + { + label: "炉批号", + prop: "luPiHao", + search: false, + width: 120, + }, + { + label: "物料出库数量", + prop: "chukushuliang", search: false, width: 120, }, + // { + // label: "物料批次号", + // prop: "goodbatchNo", + // search: false, + // width: 120, + // }, + { label: "状态", prop: "status", @@ -220,7 +286,7 @@ export default { value: "2", }, { - label: "订单关闭", + label: "已报废", value: "3", }, { @@ -247,6 +313,32 @@ export default { search: false, width: 120, }, + { + label: "创建时间", + prop: "createTime", + search: false, + width: 120, + type: "datetime", + }, + { + label: "创建人", + prop: "createUserName", + search: false, + width: 120, + }, + { + label: "出库时间", + prop: "outboundTime", + search: false, + width: 120, + type: "datetime", + }, + { + label: "出库人", + prop: "outboundUserName", + search: false, + width: 120, + }, ], }, isAddOpen: false, @@ -312,22 +404,44 @@ export default { }); }, // 出库 - ouboundFn() { + ouboundFn(row) { this.$confirm("确定是否出库?", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { - // return remove(row.id); }) - .then(() => { - // this.onLoad(this.page); - // this.$message({ - // type: 'success', - // message: '操作成功!', - // }); - }); + .catch(() => {}); + }, + // 修改 + handleEdit(row) { + this.isAddOpen = true; + }, + + // 删除 + handleDelete(row) { + this.$confirm('确定将选择数据删除?', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }) + }, + // 报废 + handleScrap(row) { + this.$confirm('确定将此记录标记为报废?', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + + const index = this.data.findIndex(item => item.brCode === row.brCode); + if (index !== -1) { + this.data[index].status = 3; + this.data[index].statusName = "已报废"; + this.$message.success('标记报废成功'); + } + }).catch(() => {}); }, onLoad() { this.data = [ @@ -381,8 +495,8 @@ export default { goodbatchNo: "898989", bsStoreRoomSet: "仓库一", goodsKuwei: "库位一", - status: 3, - statusName: "订单关闭", + status: 1, + statusName: "", times: "2025-09-08", }, { diff --git a/src/views/inboundOutboundManagement/pickListPrinting.vue b/src/views/inboundOutboundManagement/pickListPrinting.vue index aec1bba..113d1e8 100644 --- a/src/views/inboundOutboundManagement/pickListPrinting.vue +++ b/src/views/inboundOutboundManagement/pickListPrinting.vue @@ -20,7 +20,7 @@ @on-load="onLoad" > - 详情 + - + - 批量确认 - + 批量关闭 + 优先级调整 @@ -31,28 +31,30 @@ }} - 工艺路线 - - 优先级调整 - - 修改 - + + 工艺路线 + + 优先级调整 + + 修改 + + 批量确认 + + - + - + --> - - - - + + + + + @@ -84,7 +86,7 @@ export default { }, data() { return { - isUpdateOpen:false, + isUpdateOpen: false, inBatchesOpen: false, platingSmallOpen: false, planOrderArr: [], @@ -133,7 +135,7 @@ export default { editBtnText: '修改', labelWidth: 120, // searchLabelWidth: 120, - menuWidth: 240, + menuWidth: 300, dialogWidth: 900, dialogClickModal: false, searchEnter: true, @@ -199,7 +201,7 @@ export default { span: 12, headerAlign: 'center', align: 'center', - + rules: [ { required: true, @@ -225,6 +227,42 @@ export default { }, ], }, + { + label: '产品型号', + prop: 'productType', + search: false, + sortable: true, + disabled: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: false, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '产品名称', + prop: 'partName', + search: false, + sortable: true, + disabled: true, + span: 12, + width: 150, + headerAlign: 'center', + align: 'left', + rules: [ + { + required: false, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, { label: '流程卡号', prop: 'poCode', @@ -242,39 +280,36 @@ export default { }, ], }, - { - label: '产品型号', - prop: 'productType', - search: false, + label: '流转编号', + prop: 'poCode', + search: true, sortable: true, - disabled: true, - width: 120, + width: 150, span: 12, headerAlign: 'center', align: 'center', rules: [ { - required: false, + required: true, message: '请输入角色名称', trigger: 'blur', }, ], }, { - label: '产品名称', - prop: 'partName', + label: '订单优先级', + prop: 'orderPriority', search: false, sortable: true, - disabled: true, - span: 12, width: 150, + span: 12, headerAlign: 'center', - align: 'left', + align: 'center', rules: [ { - required: false, - message: '请输入角色名称', + required: true, + message: '请输入订单优先级', trigger: 'blur', }, ], @@ -350,7 +385,7 @@ export default { ], }, { - label: '生产数量', + label: '需求数量', prop: 'poQty', search: false, sortable: true, @@ -384,7 +419,7 @@ export default { }, ], }, - + { label: '需求交期', prop: 'demandDate', @@ -436,47 +471,46 @@ export default { required: true, message: '请输入角色名称', trigger: 'blur', - }, - ], + }, ], }, { - label: '流转编号', - prop: 'poCode', + label: '返工单号', + prop: 'returnWorkOrderNo', search: true, sortable: true, - width: 150, + width: 120, span: 12, headerAlign: 'center', align: 'center', rules: [ { required: true, - message: '请输入角色名称', + message: '请输入原生产单号', trigger: 'blur', }, ], }, { - label: '备注', - prop: 'memo', + label: '原生产单号', + prop: 'originalProductionOrderNo', search: false, sortable: true, - span: 24, - type: 'textarea', - width: 150, + width: 120, + span: 12, headerAlign: 'center', - align: 'left', + align: 'center', rules: [ { required: true, - message: '请输入角色名称', + message: '请输入原生产单号', trigger: 'blur', }, ], }, + { - label: '状态', + label: '订单状态', prop: 'curStatusText', search: true, sortable: true, @@ -504,14 +538,32 @@ export default { label: '已关闭' }] }, - + { + label: '备注', + prop: 'memo', + search: false, + sortable: true, + span: 24, + type: 'textarea', + width: 150, + headerAlign: 'center', + align: 'left', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + ], }, data: [], - isRushOpen:false,//加急弹框 - isBatchOpen:false,//分批处理 - isPriorityOpen:false,// + isRushOpen: false,//加急弹框 + isBatchOpen: false,//分批处理 + isPriorityOpen: false,// }; }, computed: { @@ -549,11 +601,11 @@ export default { }, methods: { // 优先级调整 - priorityFn(){ + priorityFn() { this.isPriorityOpen = true }, // 修改 - updateFn(){ + updateFn() { this.isUpdateOpen = true }, // 批量接收 @@ -593,10 +645,10 @@ export default { }); }, // 加急 - rushFn(){ + rushFn() { this.isRushOpen = true }, - closeDialog(){ + closeDialog() { this.isRushOpen = false this.isBatchOpen = false this.isUpdateOpen = false @@ -801,9 +853,46 @@ export default { message: '操作成功!', }); }, + confirmFn() { + this.$confirm('确定将选择数据批量确认?', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then(() => { + // return remove(row.id); + }) + .then(() => { + // this.onLoad(this.page); + // this.$message({ + // type: 'success', + // message: '操作成功!', + // }); + }); + }, + handleSelectionChange(val) { + this.multipleSelection = val; + }, + handleEdit(row) { + this.$refs.editDialog.open(row); + }, + handleDelete(row) { + this.$confirm('确定将选择数据删除?', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then(() => { + }) + }, onLoad(page, params = {}) { this.loading = true; + + // 如果没有传入参数,使用默认查询条件 + if (Object.keys(params).length === 0 && Object.keys(this.query).length > 0) { + params = this.query; + } this.data = [ { id: 1, @@ -1866,6 +1955,32 @@ export default { }, }, mounted() { + // 设置默认查询条件为【待接收】状态 + this.query = { + curStatusText: '已派工' + }; } }; + + diff --git a/src/views/orderManagement/sinTerYieIdOrder.vue b/src/views/orderManagement/sinTerYieIdOrder.vue index c088452..27762ec 100644 --- a/src/views/orderManagement/sinTerYieIdOrder.vue +++ b/src/views/orderManagement/sinTerYieIdOrder.vue @@ -8,8 +8,8 @@ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> - 批量确认 - + 批量取消 + 优先级调整 @@ -26,32 +26,52 @@ {{ row.curStatusText }} {{ row.curStatusText - }} + }} {{ row.curStatusText - }} + }} {{ row.curStatusText - }} + }} 工艺路线 - 优先级调整 - - --> + + 修改 + 下发玻璃饼 + - + - - + + + + + + 确定要下发玻璃饼吗? + + + 取消 + 确定 + + + @@ -70,21 +90,25 @@ import { import { mapGetters } from 'vuex'; import { validatenull } from '@/utils/validate'; import orderUpdateDailog from './components/orderUpdateDailog.vue' - +import priorityDialog from './components/priorityDialog.vue' // import rushDialog from './components/rushDialog.vue' // import batchDialog from './components/batchDialog.vue' export default { components: { - orderUpdateDailog + orderUpdateDailog, // rushDialog, // batchDialog + priorityDialog }, data() { return { - isUpdateOpen:false, + isPriorityOpen: false, + isUpdateOpen: false, inBatchesOpen: false, platingSmallOpen: false, + glassPlateDialog: false, + currentRow: null, planOrderArr: [], isOpen: false, rowItem: {}, @@ -141,10 +165,10 @@ export default { excelBtn: true, index: false, showOverflowTooltip: true, - addBtnIcon: ' ', - viewBtnIcon: ' ', - delBtnIcon: ' ', - editBtnIcon: ' ', + addBtnIcon: ' ', + viewBtnIcon: ' ', + delBtnIcon: ' ', + editBtnIcon: ' ', gridBtn: false, searchLabelPosition: 'left', searchLabelPosition: 'left', @@ -156,360 +180,457 @@ export default { align: 'center', column: [ { - label: '计划单号', - prop: 'poCode', - search: true, - sortable: true, - width: 150, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '生产单号', - prop: 'poCode', - search: true, - sortable: true, - width: 150, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '零件号', - prop: 'partCode', - search: true, - sortable: true, - width: 180, - span: 12, - headerAlign: 'center', - align: 'center', - - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '批次号', - prop: 'poCode', - search: true, - sortable: true, - width: 150, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '流程卡号', - prop: 'poCode', - search: true, - sortable: true, - width: 150, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - - { - label: '产品型号', - prop: 'productType', - search: false, - sortable: true, - disabled: true, - width: 120, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: false, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '产品名称', - prop: 'partName', - search: false, - sortable: true, - disabled: true, - span: 12, - width: 150, - headerAlign: 'center', - align: 'left', - rules: [ - { - required: false, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '镀种', - prop: 'plate', - search: false, - sortable: true, - disabled: true, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: false, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - // { - // label: '镀种小类', - // prop: 'plate', - // search: false, - // sortable: true, - // width: 120, - // display: false, - // span: 12, - // headerAlign: 'center', - // align: 'center', - // rules: [ - // { - // required: true, - // message: '请输入角色名称', - // trigger: 'blur', - // }, - // ], - // }, - { - label: '生产标识', - prop: 'prodIdent', - search: false, - sortable: true, - width: 120, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '使用部门', - prop: 'useDept', - search: false, - sortable: true, - disabled: true, - width: 120, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '生产数量', - prop: 'poQty', - search: false, - sortable: true, - width: 120, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '面积(d㎡)', - prop: 'poArea', - search: false, - sortable: true, - width: 120, - span: 12, - disabled: true, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: false, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - - { - label: '需求交期', - prop: 'demandDate', - search: false, - sortable: true, - width: 150, - span: 12, - headerAlign: 'center', - align: 'center', + label: '计划单号', + prop: 'poCode', + search: true, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '生产单号', + prop: 'poCode', + search: true, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '零件号', + prop: 'partCode', + search: true, + sortable: true, + width: 180, + span: 12, + headerAlign: 'center', + align: 'center', + + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '批次号', + prop: 'poCode', + search: true, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + + + { + label: '产品型号', + prop: 'productType', + search: false, + sortable: true, + disabled: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: false, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '产品名称', + prop: 'partName', + search: false, + sortable: true, + disabled: true, + span: 12, + width: 150, + headerAlign: 'center', + align: 'left', + rules: [ + { + required: false, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '流程卡号', + prop: 'poCode', + search: true, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '流转编号', + prop: 'poCode', + search: true, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '订单优先级', + prop: 'orderPriority', + search: false, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入订单优先级', + trigger: 'blur', + }, + ], + }, + { + label: '订单类型', + prop: 'orderType', + search: true, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '镀种', + prop: 'plate', + search: false, + sortable: true, + disabled: true, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: false, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + // { + // label: '镀种小类', + // prop: 'plate', + // search: false, + // sortable: true, + // width: 120, + // display: false, + // span: 12, + // headerAlign: 'center', + // align: 'center', + // rules: [ + // { + // required: true, + // message: '请输入角色名称', + // trigger: 'blur', + // }, + // ], + // }, + { + label: '生产标识', + prop: 'prodIdent', + search: false, + sortable: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '使用部门', + prop: 'useDept', + search: false, + sortable: true, + disabled: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '需求数量', + prop: 'poQty', + search: false, + sortable: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '面积(d㎡)', + prop: 'poArea', + search: false, + sortable: true, + width: 120, + span: 12, + disabled: true, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: false, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + + { + label: '需求交期', + prop: 'demandDate', + search: false, + sortable: true, + width: 150, + span: 12, + headerAlign: 'center', + align: 'center', + + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '计划员', + prop: 'planUser', + search: false, + sortable: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '计划下达时间', + prop: 'releaseDate', + search: false, + sortable: true, + searchLabelWidth: 100, + width: 170, + span: 12, + type: "date", + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, + { + label: '返工单号', + prop: 'returnWorkOrderNo', + search: true, + sortable: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入返工单号', + trigger: 'blur', + }, + ], + }, + { + label: '原生产单号', + prop: 'originalProductionOrderNo', + search: false, + sortable: true, + width: 120, + span: 12, + headerAlign: 'center', + align: 'center', + rules: [ + { + required: true, + message: '请输入原生产单号', + trigger: 'blur', + }, + ], + }, + { + label: '玻璃饼下发状态', + prop: 'glassPlateIssuedStatus', + search: true, + sortable: true, + width: 160, + span: 12, + headerAlign: 'center', + align: 'center', + type: 'select', + dicData: [ + { + label: '未下发', + value: 0, + }, + { + label: '已下发', + value: 1, + }, + ], + rules: [ + { + required: true, + message: '请选择玻璃饼下发状态', + trigger: 'blur', + }, + ], + }, + { + label: '订单状态', + prop: 'curStatusText', + search: true, + sortable: true, + span: 12, + display: false, + type: 'select', + width: '140', + headerAlign: 'center', + align: 'center', + dicData: [{ + value: 2, + label: '已退回' + }, { + value: 4, + label: '已派工' + }, { + value: 5, + label: '加工中' + }, { + value: 15, + label: '已完工' + }, + { + value: 21, + label: '已关闭' + }] + }, + { + label: '备注', + prop: 'memo', + search: false, + sortable: true, + span: 24, + type: 'textarea', + width: 150, + headerAlign: 'center', + align: 'left', + rules: [ + { + required: true, + message: '请输入角色名称', + trigger: 'blur', + }, + ], + }, - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '计划员', - prop: 'planUser', - search: false, - sortable: true, - width: 120, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '计划下达时间', - prop: 'releaseDate', - search: false, - sortable: true, - searchLabelWidth: 100, - width: 170, - span: 12, - type: "date", - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '流转编号', - prop: 'poCode', - search: true, - sortable: true, - width: 150, - span: 12, - headerAlign: 'center', - align: 'center', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '备注', - prop: 'memo', - search: false, - sortable: true, - span: 24, - type: 'textarea', - width: 150, - headerAlign: 'center', - align: 'left', - rules: [ - { - required: true, - message: '请输入角色名称', - trigger: 'blur', - }, - ], - }, - { - label: '状态', - prop: 'curStatusText', - search: true, - sortable: true, - span: 12, - display: false, - type: 'select', - width: '140', - headerAlign: 'center', - align: 'center', - dicData: [{ - value: 2, - label: '已退回' - }, { - value: 4, - label: '已派工' - }, { - value: 5, - label: '加工中' - }, { - value: 15, - label: '已完工' - }, - { - value: 21, - label: '已关闭' - }] - }, - ], }, data: [], - isRushOpen:false,//加急弹框 - isBatchOpen:false,//分批处理 + isRushOpen: false,//加急弹框 + isBatchOpen: false,//分批处理 }; }, computed: { @@ -546,8 +667,15 @@ export default { }, }, methods: { - // 修改 - updateFn(){ + // 优先级调整 + priorityFn() { + this.isPriorityOpen = true + }, + closeDialog() { + this.isPriorityOpen = false + }, + // 修改 + updateFn() { this.isUpdateOpen = true }, // 批量接收 @@ -587,14 +715,41 @@ export default { }); }, // 加急 - rushFn(){ + rushFn() { this.isRushOpen = true }, - closeDialog(){ + closeDialog() { this.isRushOpen = false this.isBatchOpen = false this.isUpdateOpen = false }, + // 打开玻璃饼下发弹窗 + openGlassPlateDialog(row) { + this.currentRow = row; + this.glassPlateDialog = true; + }, + // 关闭玻璃饼下发弹窗 + closeGlassPlateDialog() { + this.glassPlateDialog = false; + this.currentRow = null; + }, + // 确认下发玻璃饼 + confirmGlassPlateIssued() { + if (this.currentRow) { + // 更新玻璃饼下发状态为已下发 + this.currentRow.glassPlateIssuedStatus = 1; + + // 在实际项目中,这里应该调用API更新后端数据 + // updateGlassPlateStatus(this.currentRow.id, 1).then(res => { + // this.$message.success('玻璃饼下发成功'); + // }).catch(err => { + // this.$message.error('玻璃饼下发失败'); + // }); + + this.$message.success('玻璃饼下发成功'); + this.closeGlassPlateDialog(); + } + }, inBatchesFn(row) { this.rowItem = row; this.isBatchOpen = true; @@ -800,6 +955,7 @@ export default { this.data = [ { id: 1, + "glassPlateIssuedStatus": 0, "alreadyBranchQty": 5.0, "bsPlatingmedium": { "bpsId": 4, @@ -1052,6 +1208,7 @@ export default { }, { id: 2, + "glassPlateIssuedStatus": 1, "alreadyBranchQty": 5.0, "bsPlatingmedium": { "bpsId": 6, @@ -1304,6 +1461,7 @@ export default { }, { id: 3, + "glassPlateIssuedStatus": 0, "alreadyBranchQty": 3.0, "bsPlatingmedium": { "bpsId": 5, @@ -1556,6 +1714,7 @@ export default { }, { id: 4, + "glassPlateIssuedStatus": 1, "alreadyBranchQty": 1.0, "bsPlatingSmall": { "bpsId": 6, diff --git a/src/views/productionManagement/reworkOrder.vue b/src/views/productionManagement/reworkOrder.vue index b6a3357..14f7452 100644 --- a/src/views/productionManagement/reworkOrder.vue +++ b/src/views/productionManagement/reworkOrder.vue @@ -71,30 +71,30 @@ export default { gridBtn: false, searchMenuPosition: "right", column: [ - { - label: "返修单号", - prop: "searchCode", - searchLabelWidth: 150, - search: true, - hide: true, - addDisplay: false, - viewDisplay: false, - editDisplay: false, - sortable: true, - filter: true, - addDisplay: false, - editDisplay: false, - viewDisplay: false, - span: 24, - width: 200, - rules: [ - { - required: true, - message: "请输入流程卡号", - trigger: "blur", - }, - ], - }, + // { + // label: "返修单号", + // prop: "searchCode", + // searchLabelWidth: 150, + // search: true, + // hide: true, + // addDisplay: false, + // viewDisplay: false, + // editDisplay: false, + // sortable: true, + // filter: true, + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // span: 24, + // width: 200, + // rules: [ + // { + // required: true, + // message: "请输入流程卡号", + // trigger: "blur", + // }, + // ], + // }, { label: "返工单号", prop: "redono", @@ -155,8 +155,28 @@ export default { }, ], }, + // { + // label: "物料号", + // prop: "prtno", + // searchLabelWidth: 150, + // search: true, + // sortable: true, + // filter: true, + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // span: 24, + // width: 200, + // rules: [ + // { + // required: true, + // message: "请输入物料号", + // trigger: "blur", + // }, + // ], + // }, { - label: "物料号", + label: "零件号", prop: "prtno", searchLabelWidth: 150, search: true, @@ -236,10 +256,10 @@ export default { ], }, { - label: "备注", - prop: "remark", + label: "批次号", + prop: "splcode", searchLabelWidth: 150, - search: false, + search: true, sortable: true, filter: true, addDisplay: false, @@ -250,13 +270,13 @@ export default { rules: [ { required: true, - message: "请输入备注", + message: "请输入批次号", trigger: "blur", }, ], }, { - label: "需求日期", + label: "需求交期", prop: "reqdate", searchLabelWidth: 150, search: false, @@ -276,8 +296,8 @@ export default { ], }, { - label: "批次号", - prop: "splcode", + label: "接收状态", + prop: "status", searchLabelWidth: 150, search: true, sortable: true, @@ -285,16 +305,69 @@ export default { addDisplay: false, editDisplay: false, viewDisplay: false, + type: "select", + dicData: [ + { + label: "待接收", + value: "0", + }, + { + label: "已接收", + value: "1", + }, + ], span: 24, width: 200, rules: [ { required: true, - message: "请输入批次号", + message: "请选择接收状态", + trigger: "blur", + }, + ], + }, + // { + // label: "需求日期", + // prop: "reqdate", + // searchLabelWidth: 150, + // search: false, + // sortable: true, + // filter: true, + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // span: 24, + // width: 200, + // rules: [ + // { + // required: true, + // message: "请输入需求日期", + // trigger: "blur", + // }, + // ], + // }, + { + label: "备注", + prop: "remark", + searchLabelWidth: 150, + search: false, + sortable: true, + filter: true, + addDisplay: false, + editDisplay: false, + viewDisplay: false, + span: 24, + width: 200, + rules: [ + { + required: true, + message: "请输入备注", trigger: "blur", }, ], }, + + ], }, }; diff --git a/src/views/safetyManagement/wastewater/components/addEditDialogDischargeRec.vue b/src/views/safetyManagement/wastewater/components/addEditDialogDischargeRec.vue index 5df3f98..e3f24c7 100644 --- a/src/views/safetyManagement/wastewater/components/addEditDialogDischargeRec.vue +++ b/src/views/safetyManagement/wastewater/components/addEditDialogDischargeRec.vue @@ -4,68 +4,75 @@ 插入一行 删除行 - - - - - *报废槽液类型 - - - - - - - - - + + + + {{ formError }} + + + + + + *报废槽液类型 + + + + + + + + + - - - - *排放班组 - - - - - - - - + + + + *排放班组 + + + + + + + + - - - - *排放量 - - - - - + + + + *排放量 + + + + + - - - - *日期 - - - - - + + + + *日期 + + + + + - - - - - - - + + + + + + + - - - 取 消 - 确 定 - - + + + 取 消 + 确 定 + + + diff --git a/src/views/statisticalAnalysis/warehouseAnalysis/inOutBoundReport.vue b/src/views/statisticalAnalysis/warehouseAnalysis/inOutBoundReport.vue index a8f9bfd..fb89cf3 100644 --- a/src/views/statisticalAnalysis/warehouseAnalysis/inOutBoundReport.vue +++ b/src/views/statisticalAnalysis/warehouseAnalysis/inOutBoundReport.vue @@ -317,6 +317,15 @@ export default { sortable: true, overHidden: true, }, + { + label: '检验编号', + prop: 'checkNo', + bind: 'stAccBill.checkNo', + width: 150, + search: false, + sortable: true, + overHidden: true, + }, { label: '备注', prop: 'memo', diff --git a/src/views/warehouseManagement/leveragingManagement.vue b/src/views/warehouseManagement/leveragingManagement.vue index c9efa04..b1e4f70 100644 --- a/src/views/warehouseManagement/leveragingManagement.vue +++ b/src/views/warehouseManagement/leveragingManagement.vue @@ -40,8 +40,8 @@ 批量归还 - 修改 - + 修改 + 删除 @@ -240,24 +240,7 @@ export default { ], }, { - label: "批号", - prop: "piNo", - addDisplay: true, - editDisplay: false, - span: 6, - width: 200, - order: 6, - search: true, - rules: [ - { - required: true, - message: "请输入批号", - trigger: "click", - }, - ], - }, - { - label: "库房号", + label: "库房", prop: "shName", addDisplay: false, editDisplay: false, @@ -273,7 +256,7 @@ export default { ], }, { - label: "库位号", + label: "库位", prop: "location", addDisplay: true, editDisplay: false, @@ -288,11 +271,10 @@ export default { }, ], }, - { - label: "库存量", - prop: "stockNum", + { + label: "型号/牌号", + prop: "specifications", addDisplay: true, - addDisabled: true, editDisplay: false, span: 6, width: 200, @@ -300,24 +282,24 @@ export default { rules: [ { required: true, - message: "请输入库存量", + message: "请输入型号/牌号", trigger: "click", }, ], }, { - label: "可用库存", - prop: "useQuantity", + label: "批次号", + prop: "piNo", addDisplay: true, - addDisabled: true, editDisplay: false, span: 6, width: 200, - search: false, + order: 6, + search: true, rules: [ { required: true, - message: "请输入可用库存", + message: "请输入批号", trigger: "click", }, ], @@ -339,24 +321,8 @@ export default { }, ], }, - { - label: "退库数量", - prop: "returnQty", - addDisplay: false, - editDisplay: false, - span: 6, - width: 200, - search: false, - rules: [ - { - required: true, - message: "请输入退库数量", - trigger: "click", - }, - ], - }, - { - label: "单位", + { + label: "计量单位", prop: "unitName", addDisplay: true, editDisplay: false, @@ -372,68 +338,6 @@ export default { }, ], }, - { - label: "借出时间", - prop: "leDate", - addDisplay: true, - editDisplay: false, - type: "date", - searchRange: true, - startPlaceholder: "开始日期", - endPlaceholder: "结束日期", - - span: 6, - width: 200, - order: 16, - search: true, - rules: [ - { - required: true, - message: "请输入借出时间", - trigger: "click", - }, - ], - }, - { - label: "借出仓库", - prop: "shId", - type: "select", - addDisplay: true, - editDisplay: false, - span: 6, - width: 200, - order: 15, - search: false, - rules: [ - { - required: true, - message: "请输入借出仓库", - trigger: "click", - }, - ], - dicData: [ - { label: "仓库一", value: "001" }, - { label: "仓库二", value: "002" }, - ], - }, - { - label: "计划归还", - prop: "leReturnDate", - order: 9, - type: "date", - addDisplay: true, - editDisplay: false, - span: 6, - width: 200, - search: false, - rules: [ - { - required: true, - message: "请输入计划归还", - trigger: "click", - }, - ], - }, { label: "借用部门", prop: "deptName", @@ -509,7 +413,7 @@ export default { }, ], }, - { + { label: "借用人", prop: "leReturnUser", type: "select", @@ -531,9 +435,51 @@ export default { { userId: 61, userName: "09391" }, { userId: 62, userName: "03764" }, ], + }, + { + label: "借出时间", + prop: "leDate", + addDisplay: true, + editDisplay: false, + type: "date", + searchRange: true, + startPlaceholder: "开始日期", + endPlaceholder: "结束日期", + + span: 6, + width: 200, + order: 16, + search: true, + rules: [ + { + required: true, + message: "请输入借出时间", + trigger: "click", + }, + ], }, { - label: "本次归还合格数量", + label: "计划归还时间", + prop: "leReturnDate", + order: 9, + type: "date", + addDisplay: true, + editDisplay: false, + span: 6, + width: 200, + search: false, + rules: [ + { + required: true, + message: "请输入计划归还", + trigger: "click", + }, + ], + }, + + + { + label: "归还合格数量", prop: "passQty", addDisplay: false, editDisplay: false, @@ -549,7 +495,7 @@ export default { ], }, { - label: "本次归还丢失数", + label: "归还丢失数量", prop: "loseQty", addDisplay: false, editDisplay: false, @@ -565,7 +511,7 @@ export default { ], }, { - label: "本次归还报废数", + label: "归还报废数量", prop: "bfQty", addDisplay: false, editDisplay: false, @@ -580,6 +526,83 @@ export default { }, ], }, + + // { + // label: "库存量", + // prop: "stockNum", + // addDisplay: true, + // addDisabled: true, + // editDisplay: false, + // span: 6, + // width: 200, + // search: false, + // rules: [ + // { + // required: true, + // message: "请输入库存量", + // trigger: "click", + // }, + // ], + // }, + // { + // label: "可用库存", + // prop: "useQuantity", + // addDisplay: true, + // addDisabled: true, + // editDisplay: false, + // span: 6, + // width: 200, + // search: false, + // rules: [ + // { + // required: true, + // message: "请输入可用库存", + // trigger: "click", + // }, + // ], + // }, + + // { + // label: "退库数量", + // prop: "returnQty", + // addDisplay: false, + // editDisplay: false, + // span: 6, + // width: 200, + // search: false, + // rules: [ + // { + // required: true, + // message: "请输入退库数量", + // trigger: "click", + // }, + // ], + // }, + + + // { + // label: "借出仓库", + // prop: "shId", + // type: "select", + // addDisplay: true, + // editDisplay: false, + // span: 6, + // width: 200, + // order: 15, + // search: false, + // rules: [ + // { + // required: true, + // message: "请输入借出仓库", + // trigger: "click", + // }, + // ], + // dicData: [ + // { label: "仓库一", value: "001" }, + // { label: "仓库二", value: "002" }, + // ], + // }, + // { // label: '本次归还续借数', // prop: 'renewQty', @@ -596,57 +619,85 @@ export default { // }, // ], // }, + // { + // label: "本次归还人", + // prop: "createMan", + // addDisplay: false, + // editDisplay: false, + // span: 6, + // width: 200, + // search: true, + // searchLabelWidth: 90, + // rules: [ + // { + // required: true, + // message: "请输入本次归还人", + // trigger: "click", + // }, + // ], + // }, + // { + // label: "本次使用次数", + // prop: "useNumber", + // addDisplay: false, + // editDisplay: false, + // span: 6, + // width: 200, + // search: false, + + // rules: [ + // { + // required: true, + // message: "请输入本次使用次数", + // trigger: "click", + // }, + // ], + // }, + // { + // label: "本次归还时间", + // prop: "createTime", + // addDisplay: false, + // editDisplay: false, + // span: 6, + // width: 200, + // type: "date", + // searchRange: true, + // startPlaceholder: "开始日期", + // endPlaceholder: "结束日期", + // search: true, + // searchLabelWidth: 100, + // rules: [ + // { + // required: true, + // message: "请输入本次归还时间", + // trigger: "click", + // }, + // ], + // }, { - label: "本次归还人", - prop: "createMan", + label: "是否报废", + prop: "isScrap", addDisplay: false, editDisplay: false, span: 6, width: 200, - search: true, - searchLabelWidth: 90, - rules: [ + search: false, + type: "select", + searchOrder: 17, + dicData: [ { - required: true, - message: "请输入本次归还人", - trigger: "click", + label: "是", + value: 1, }, - ], - }, - { - label: "本次使用次数", - prop: "useNumber", - addDisplay: false, - editDisplay: false, - span: 6, - width: 200, - search: false, - - rules: [ { - required: true, - message: "请输入本次使用次数", - trigger: "click", + label: "否", + value: 0, }, ], - }, - { - label: "本次归还时间", - prop: "createTime", - addDisplay: false, - editDisplay: false, - span: 6, - width: 200, - type: "date", - searchRange: true, - startPlaceholder: "开始日期", - endPlaceholder: "结束日期", - search: true, - searchLabelWidth: 100, rules: [ { required: true, - message: "请输入本次归还时间", + message: "请输入状态", trigger: "click", }, ], @@ -668,7 +719,7 @@ export default { }, { label: "待归还", - value: 1, + value: 2, }, { label: "部分归还", @@ -687,35 +738,6 @@ export default { }, ], }, - { - label: "是否报废", - prop: "curStatus", - addDisplay: false, - editDisplay: false, - span: 6, - width: 200, - search: true, - type: "select", - searchOrder: 17, - hide: true, - dicData: [ - { - label: "是", - value: 1, - }, - { - label: "否", - value: 1, - }, - ], - rules: [ - { - required: true, - message: "请输入状态", - trigger: "click", - }, - ], - }, { label: "备注", prop: "curStatus", @@ -734,22 +756,7 @@ export default { }, ], }, - { - label: "型号/牌号", - prop: "specifications", - addDisplay: true, - editDisplay: false, - span: 6, - width: 200, - search: false, - rules: [ - { - required: true, - message: "请输入型号/牌号", - trigger: "click", - }, - ], - }, + ], }, isOpen: false, @@ -782,6 +789,29 @@ export default { handleReturn() { this.returnDialog = true; }, + rowDel(row) { + this.$confirm('确定将选择数据删除?', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + // 在实际项目中,这里应该调用API删除数据 + // deleteLeveraging(row.id).then(() => { + // this.$message.success('删除成功'); + // this.onLoad(); + // }).catch(() => { + // this.$message.error('删除失败'); + // }); + + // 模拟删除 + const index = this.data.findIndex(item => item.leCode === row.leCode); + if (index !== -1) { + this.data.splice(index, 1); + this.page.total = this.data.length; + this.$message.success('删除成功'); + } + }).catch(() => {}); + }, onLoad() { this.data = [ { @@ -810,7 +840,7 @@ export default { buyCode: "OT202407147982350", cccList: null, - curStatus: -1, + curStatus: 1, enrtydate: null, invadjCode: "C20240725148120387", invadjMoney: 0.0, @@ -867,7 +897,7 @@ export default { buyCode: "OT202407147982350", cccList: null, - curStatus: -1, + curStatus: 1, enrtydate: null, invadjCode: "C20240725148120387", invadjMoney: 0.0, diff --git a/src/views/warehouseManagement/materialMaintenance.vue b/src/views/warehouseManagement/materialMaintenance.vue index 0bc0d43..30c937b 100644 --- a/src/views/warehouseManagement/materialMaintenance.vue +++ b/src/views/warehouseManagement/materialMaintenance.vue @@ -226,6 +226,7 @@ export default { // }, // ], }, + { label: '采购数量', prop: 'purchaseQuantity', @@ -262,21 +263,21 @@ export default { }, ], }, - { - label: '周期/天', - prop: 'cycle', - span: 24, - overflow: true, - search: false, - width: 200, - // rules: [ - // { - // required: true, - // message: '请输入周期/天', - // trigger: 'blur', - // }, - // ], - }, + // { + // label: '周期/天', + // prop: 'cycle', + // span: 24, + // overflow: true, + // search: false, + // width: 200, + // // rules: [ + // // { + // // required: true, + // // message: '请输入周期/天', + // // trigger: 'blur', + // // }, + // // ], + // }, { label: '版本', prop: 'releaseno', @@ -373,6 +374,26 @@ export default { // }, // ], }, + { + label: '最低库存预警', + prop: 'minStockWarning', + type: 'switch', + dicData: [ + { label: '关', value: false }, + { label: '开', value: true } + ], + span: 24, + overflow: true, + search: false, + width: 200, + rules: [ + { + required: true, + message: '请选择是否开启最低库存预警', + trigger: 'blur', + }, + ], + }, ] }, @@ -425,6 +446,7 @@ export default { "maxNum": 300.0, "memo": null, "minNum": 50.0, + "minStockWarning": true, "mtlsgrt": 0.0, "mtltmrk": "232", "mustCheck": null, @@ -488,6 +510,7 @@ export default { "maxNum": 300.0, "memo": null, "minNum": 50.0, + "minStockWarning": true, "mtlsgrt": null, "mtltmrk": "23", "mustCheck": 0, @@ -551,6 +574,7 @@ export default { "maxNum": 300.0, "memo": null, "minNum": 50.0, + "minStockWarning": false, "mtlsgrt": null, "mtltmrk": "4", "mustCheck": 0, diff --git a/src/views/workLicense/workLicense.vue b/src/views/workLicense/workLicense.vue index a9abe96..1562e23 100644 --- a/src/views/workLicense/workLicense.vue +++ b/src/views/workLicense/workLicense.vue @@ -17,6 +17,7 @@ @refresh-change="refreshChange" @on-load="onLoad" :span-method="spanMethod" + :row-class-name="rowClassName" > { + console.log('rowClassName执行了', rowIndex); // 先确认是否打印 + // 检查各种证书是否过期 + const now = new Date(); + let isExpired = false; + + // 检查上岗证是否过期 + if (row.wlDueDate) { + const wlDueDate = new Date(row.wlDueDate); + if (wlDueDate < now) { + isExpired = true; + console.log(`行 ${rowIndex}: 上岗证已过期`, row.wlDueDate); + } + } + + // 检查适航证是否过期 + if (row.seaDueDate) { + const seaDueDate = new Date(row.seaDueDate); + if (seaDueDate < now) { + isExpired = true; + console.log(`行 ${rowIndex}: 适航证已过期`, row.seaDueDate); + } + } + + // 检查宇航证是否过期 + if (row.astrdueDate) { + const astrDueDate = new Date(row.astrdueDate); + console.log("astrDueDate", astrDueDate); + console.log('now',new Date(row.astrdueDate)) + if (astrDueDate < now) { + isExpired = true; + console.log(`行 ${rowIndex}: 宇航证已过期`, row.astrdueDate); + } + } + + // 检查设备证是否过期 + if (row.deviceDueDate) { + const deviceDueDate = new Date(row.deviceDueDate); + if (deviceDueDate < now) { + isExpired = true; + console.log(`行 ${rowIndex}: 设备证已过期`, row.deviceDueDate); + } + } + // 如果状态本身就是过期,或者任何证书已过期,则应用过期样式 + if (isExpired || row.wlStatusTitle === '过期') { + console.log(1) + console.log(`行 ${rowIndex}: 应用过期样式`, row.userName, row.wlStatusTitle); + return 'expired-row'; + } + return ''; + }, // 点击导入按钮 handleImport() { this.isShowImport = true @@ -1061,6 +1129,7 @@ export default { this.$refs.crud.toggleSelection(); }, onLoad() { + this.data = [ { id: 1, @@ -1090,7 +1159,7 @@ export default { seaDueDate: "2026-10-11", astrTime: "2023-10-31", astrLifespan: "3年", - astrdueDate: "2026-10-31", + astrdueDate: "2025-10-31", deviceTime: "2023-10-11", deviceLifespan: 3, deviceDueDate: "2026-10-11", @@ -1119,12 +1188,12 @@ export default { wlType: 1, wlCode: "0010", toNewJobDueDate: "2年", - wlTime: "2023-10-28", + wlTime: "2022-10-28", wlLifespan: "2年", wlDueDate: "2025-10-28", - seaTime: "2023-10-11", + seaTime: "2022-10-11", seaLifespan: "3年", - seaDueDate: "2026-10-11", + seaDueDate: "2025-10-11", astrTime: "2023-10-31", astrLifespan: "3年", astrdueDate: "2026-10-31", @@ -1194,8 +1263,8 @@ export default { wlCode: "0030", toNewJobDueDate: "2年", wlTime: "2023-10-31", - wlLifespan: "2年", - wlDueDate: "2025-10-31", + wlLifespan: "3年", + wlDueDate: "2026-10-31", seaTime: "2023-10-11", seaLifespan: "3年", seaDueDate: "2026-10-11", @@ -1203,7 +1272,7 @@ export default { astrLifespan: "3年", astrdueDate: "2026-10-31", deviceTime: "2023-10-11", - deviceLifespan: 3, + deviceLifespan: 1, deviceDueDate: "2026-10-11", wlStatusTitle: "过期", deviceModel: "型号一", @@ -1217,4 +1286,18 @@ export default { }; - + diff --git a/vite.config.mjs b/vite.config.mjs index 6cc6867..85547a7 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -48,10 +48,10 @@ export default ({ mode, command }) => { port: 2888, proxy: { "/api": { - // target: "http://192.168.1.5:82", + target: "http://192.168.1.5:82", // target: "http://192.168.1.4:82", // target:'http://49.232.74.228:82', - target: "http://192.168.0.120", + // target: "http://192.168.0.120", //target: 'https://saber3.bladex.cn/api', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ""),
{{ selectMonth }}月已计算成本,是否重新计算?