diff --git a/klp-ui/src/api/wms/coilWarehouseOperationLog.js b/klp-ui/src/api/wms/coilWarehouseOperationLog.js new file mode 100644 index 00000000..28f04b94 --- /dev/null +++ b/klp-ui/src/api/wms/coilWarehouseOperationLog.js @@ -0,0 +1,63 @@ +import request from '@/utils/request' + +// 查询钢卷库区操作记录列表 +export function listCoilWarehouseOperationLog(query) { + return request({ + url: '/wms/coilWarehouseOperationLog/list', + method: 'get', + params: query + }) +} + +// 查询钢卷库区操作记录详细 +export function getCoilWarehouseOperationLog(logId) { + return request({ + url: '/wms/coilWarehouseOperationLog/' + logId, + method: 'get' + }) +} + +// 新增钢卷库区操作记录 +export function addCoilWarehouseOperationLog(data) { + return request({ + url: '/wms/coilWarehouseOperationLog', + method: 'post', + data: data + }) +} + +// 修改钢卷库区操作记录 +export function updateCoilWarehouseOperationLog(data) { + return request({ + url: '/wms/coilWarehouseOperationLog', + method: 'put', + data: data + }) +} + +// 删除钢卷库区操作记录 +export function delCoilWarehouseOperationLog(logId) { + return request({ + url: '/wms/coilWarehouseOperationLog/' + logId, + method: 'delete' + }) +} + +// 根据钢卷 ID、操作类型及出入库类型删除钢卷库区操作记录 +export function delCoilWarehouseOperationLogByCoilId(params) { + return request({ + url: '/wms/coilWarehouseOperationLog/byCoilId', + method: 'delete', + params + }) +} + +// 根据二级库区ID和时间范围查询操作记录及钢卷信息 +export function getCoilWarehouseOperationLogByWarehouseId(params) { + return request({ + timeout: 100000, + url: '/wms/coilWarehouseOperationLog/byWarehouseAndTime', + method: 'get', + params + }) +} diff --git a/klp-ui/src/views/wms/coil/do/correct.vue b/klp-ui/src/views/wms/coil/do/correct.vue index 6fa848cd..ee95575f 100644 --- a/klp-ui/src/views/wms/coil/do/correct.vue +++ b/klp-ui/src/views/wms/coil/do/correct.vue @@ -477,19 +477,19 @@ export default { currentCoilNo: [ { required: true, message: "当前钢卷号不能为空", trigger: "blur" }, // 远程校验,当前钢卷号不能重复 - { - validator: (rule, value, callback) => { - checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => { - const { duplicateType } = res.data; - if (duplicateType === 'current' || duplicateType === 'both') { - // alert('当前钢卷号重复,请重新输入'); - callback(new Error('当前钢卷号重复,请重新输入')); - } else { - callback(); - } - }) - }, trigger: 'blur' - }, + // { + // validator: (rule, value, callback) => { + // checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => { + // const { duplicateType } = res.data; + // if (duplicateType === 'current' || duplicateType === 'both') { + // // alert('当前钢卷号重复,请重新输入'); + // callback(new Error('当前钢卷号重复,请重新输入')); + // } else { + // callback(); + // } + // }) + // }, trigger: 'blur' + // }, ], materialType: [ { required: true, message: "材料类型不能为空", trigger: "change" } diff --git a/klp-ui/src/views/wms/coil/do/warehousing.vue b/klp-ui/src/views/wms/coil/do/warehousing.vue index 02ab9174..33e267e7 100644 --- a/klp-ui/src/views/wms/coil/do/warehousing.vue +++ b/klp-ui/src/views/wms/coil/do/warehousing.vue @@ -353,6 +353,7 @@ import { listDeliveryPlan } from '@/api/wms/deliveryPlan' import handleCoil, { COIL_ACTIONS } from '../js/coilActions' import LabelRender from '../panels/LabelRender/index.vue' import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue"; +import { delCoilWarehouseOperationLogByCoilId } from '@/api/wms/coilWarehouseOperationLog' // 键值为[400, 500), 不包含在字典中,但后续可以加入的特殊操作,这类操作录入后会立刻完成,例如入库(401)和发货(402) @@ -442,19 +443,19 @@ export default { currentCoilNo: [ { required: true, message: "当前钢卷号不能为空", trigger: "blur" }, // 远程校验,当前钢卷号不能重复 - { - validator: (rule, value, callback) => { - checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => { - const { duplicateType } = res.data; - if (duplicateType === 'current' || duplicateType === 'both') { - // alert('当前钢卷号重复,请重新输入'); - callback(new Error('当前钢卷号重复,请重新输入')); - } else { - callback(); - } - }) - }, trigger: 'blur' - }, + // { + // validator: (rule, value, callback) => { + // checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => { + // const { duplicateType } = res.data; + // if (duplicateType === 'current' || duplicateType === 'both') { + // // alert('当前钢卷号重复,请重新输入'); + // callback(new Error('当前钢卷号重复,请重新输入')); + // } else { + // callback(); + // } + // }) + // }, trigger: 'blur' + // }, ], materialType: [ { required: true, message: "材料类型不能为空", trigger: "change" } @@ -676,7 +677,7 @@ export default { this.buttonLoading = true; updatePendingAction({ ...row, - actionStatus: 3, // 3表示拒签 + actionStatus: 3, // 3表示取消操作,也就是拒签 }).then(response => { this.$modal.msgSuccess("拒签成功"); this.getList(); @@ -723,6 +724,11 @@ export default { } delPendingAction(row.actionId).then(response => { this.$modal.msgSuccess("删除成功"); + delCoilWarehouseOperationLogByCoilId({ + coilId: row.coilId, + operationType: 1, + inOutType: 1 + }) this.getList(); }).finally(() => { this.buttonLoading = false; diff --git a/klp-ui/src/views/wms/coil/js/coilActions.js b/klp-ui/src/views/wms/coil/js/coilActions.js index 0f09f0ab..f4b19a24 100644 --- a/klp-ui/src/views/wms/coil/js/coilActions.js +++ b/klp-ui/src/views/wms/coil/js/coilActions.js @@ -1,5 +1,6 @@ import { addMaterialCoil, updateMaterialCoil, updateMaterialCoilSimple } from "@/api/wms/coil" import { addPendingAction, updatePendingAction } from '@/api/wms/pendingAction'; +import { addCoilWarehouseOperationLog } from '@/api/wms/coilWarehouseOperationLog'; export const COIL_ACTIONS = { RECEIVE: 'RECEIVE', // 收货与入库的区别在于,收货相当于计划入库,不管是否已到货都执行这个操作,计划收货也是收获 @@ -57,12 +58,26 @@ export const actionStrategies = { updateMaterialCoilSimple({ ...coil, dataType: 1, + }), + addCoilWarehouseOperationLog({ + coilId: coil.coilId, + actualWarehouseId: coil.actualWarehouseId, + operationType: 1, + inOutType: 1, }) ]) + // 如果填写了实际库区,还需要新增一条库区出入记录 + // if (coil.actualWarehouseId) { + // await addCoilWarehouseOperationLog({ + // coilId: coil.coilId, + // actualWarehouseId: coil.actualWarehouseId, + // operationType: 1, + // inOutType: 1, + // }) + // } return true } }, - } const handleCoil = (action, ...args) => { diff --git a/klp-ui/src/views/wms/coil/panels/base.vue b/klp-ui/src/views/wms/coil/panels/base.vue index 48f4ba7b..1627f4dd 100644 --- a/klp-ui/src/views/wms/coil/panels/base.vue +++ b/klp-ui/src/views/wms/coil/panels/base.vue @@ -590,26 +590,26 @@ export default { currentCoilNo: [ { required: true, message: "当前钢卷号不能为空", trigger: "blur" }, // 仅在新增的时候校验 - { - validator: (rule, value, callback) => { - // if (this.form.coilId) { - // // 修改时会有coilId,不触发校验 - // console.log('修改时会有coilId,不触发校验'); - // callback(); - // } else { - // 没有coilId则为新增 触发校验 - checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => { - const { duplicateType } = res.data; - if (duplicateType === 'current' || duplicateType === 'both') { - // alert('当前钢卷号重复,请重新输入'); - callback(new Error('当前钢卷号重复,请重新输入')); - } else { - callback(); - } - }) - // } - }, trigger: 'blur' - } + // { + // validator: (rule, value, callback) => { + // // if (this.form.coilId) { + // // // 修改时会有coilId,不触发校验 + // // console.log('修改时会有coilId,不触发校验'); + // // callback(); + // // } else { + // // 没有coilId则为新增 触发校验 + // checkCoilNo({ currentCoilNo: value, coilId: this.form.coilId }).then(res => { + // const { duplicateType } = res.data; + // if (duplicateType === 'current' || duplicateType === 'both') { + // // alert('当前钢卷号重复,请重新输入'); + // callback(new Error('当前钢卷号重复,请重新输入')); + // } else { + // callback(); + // } + // }) + // // } + // }, trigger: 'blur' + // } ], itemId: [ { required: true, message: "物品ID不能为空", trigger: "blur" } diff --git a/klp-ui/src/views/wms/coil/panels/stepSplit.vue b/klp-ui/src/views/wms/coil/panels/stepSplit.vue index 116476d8..f91e9cc5 100644 --- a/klp-ui/src/views/wms/coil/panels/stepSplit.vue +++ b/klp-ui/src/views/wms/coil/panels/stepSplit.vue @@ -278,20 +278,20 @@ export default { }, trigger: 'blur' }, // 仅在新增的时候校验 - { - validator: (rule, value, callback) => { - // 没有coilId则为新增 触发校验 - checkCoilNo({ currentCoilNo: value, coilId: this.splitForm.coilId }).then(res => { - const { duplicateType } = res.data; - if (duplicateType === 'current' || duplicateType === 'both') { - // alert('当前钢卷号重复,请重新输入'); - callback(new Error('当前钢卷号重复,请重新输入')); - } else { - callback(); - } - }) - }, trigger: 'blur' - } + // { + // validator: (rule, value, callback) => { + // // 没有coilId则为新增 触发校验 + // checkCoilNo({ currentCoilNo: value, coilId: this.splitForm.coilId }).then(res => { + // const { duplicateType } = res.data; + // if (duplicateType === 'current' || duplicateType === 'both') { + // // alert('当前钢卷号重复,请重新输入'); + // callback(new Error('当前钢卷号重复,请重新输入')); + // } else { + // callback(); + // } + // }) + // }, trigger: 'blur' + // } ], materialType: [{ required: true, message: '请选择材料类型', trigger: 'change' }], itemId: [{ required: true, message: '请选择成品/原料', trigger: 'change' }], diff --git a/klp-ui/src/views/wms/coil/typing.vue b/klp-ui/src/views/wms/coil/typing.vue index 9e33253e..faabcae8 100644 --- a/klp-ui/src/views/wms/coil/typing.vue +++ b/klp-ui/src/views/wms/coil/typing.vue @@ -298,20 +298,20 @@ export default { }, trigger: 'blur' }, // 仅在新增的时候校验 - { - validator: (rule, value, callback) => { - // 没有coilId则为新增 触发校验 - checkCoilNo({ currentCoilNo: value, coilId: this.updateForm.coilId }).then(res => { - const { duplicateType } = res.data; - if (duplicateType === 'current' || duplicateType === 'both') { - // alert('当前钢卷号重复,请重新输入'); - callback(new Error('当前钢卷号重复,请重新输入')); - } else { - callback(); - } - }) - }, trigger: 'blur' - } + // { + // validator: (rule, value, callback) => { + // // 没有coilId则为新增 触发校验 + // checkCoilNo({ currentCoilNo: value, coilId: this.updateForm.coilId }).then(res => { + // const { duplicateType } = res.data; + // if (duplicateType === 'current' || duplicateType === 'both') { + // // alert('当前钢卷号重复,请重新输入'); + // callback(new Error('当前钢卷号重复,请重新输入')); + // } else { + // callback(); + // } + // }) + // }, trigger: 'blur' + // } ], team: [ { required: true, message: '请输入班组', trigger: 'blur' } diff --git a/klp-ui/src/views/wms/hrm/records/meal.vue b/klp-ui/src/views/wms/hrm/records/meal.vue index 25c91a52..fd82e323 100644 --- a/klp-ui/src/views/wms/hrm/records/meal.vue +++ b/klp-ui/src/views/wms/hrm/records/meal.vue @@ -31,7 +31,15 @@ /> - + + + + @@ -156,7 +164,15 @@ - + + + + @@ -188,6 +204,7 @@ import { listMealReport, getMealReport, delMealReport, addMealReport, updateMealReport } from "@/api/wms/mealReport"; import DictSelect from "@/components/DictSelect"; import EmployeeSelector from "@/components/EmployeeSelector"; +import { listDept } from "@/api/wms/dept" export default { name: "MealReport", @@ -241,11 +258,13 @@ export default { takeoutPeople: [{ required: true, message: '打包人数不能为空', trigger: 'blur' }], totalPeople: [{ required: true, message: '用餐总人数不能为空', trigger: 'blur' }], reportUserName: [{ required: true, message: '报餐人姓名不能为空', trigger: 'change' }] - } + }, + deptOptions: [] }; }, created() { this.getList(); + this.getDeptList(); }, watch: { 'form.dineInPeople': { @@ -262,6 +281,11 @@ export default { } }, methods: { + getDeptList() { + listDept().then(response => { + this.deptOptions = response.data + }) + }, /** 查询部门报餐主列表 */ getList() { this.loading = true; diff --git a/klp-ui/src/views/wms/receive/detail/index.vue b/klp-ui/src/views/wms/receive/detail/index.vue index 81340274..514a0562 100644 --- a/klp-ui/src/views/wms/receive/detail/index.vue +++ b/klp-ui/src/views/wms/receive/detail/index.vue @@ -395,31 +395,6 @@ export default { this.title = "修改收货单"; }); }, - /** 提交按钮 */ - submitForm() { - this.$refs["form"].validate(valid => { - if (valid) { - this.buttonLoading = true; - if (this.form.waybillId != null) { - updateDeliveryWaybill(this.form).then(response => { - this.$modal.msgSuccess("修改成功"); - this.open = false; - this.getList(); - }).finally(() => { - this.buttonLoading = false; - }); - } else { - addDeliveryWaybill(this.form).then(response => { - this.$modal.msgSuccess("新增成功"); - this.open = false; - this.getList(); - }).finally(() => { - this.buttonLoading = false; - }); - } - } - }); - }, /** 导出按钮操作 */ handleExport() { this.download('wms/deliveryWaybill/export', { diff --git a/klp-ui/src/views/wms/warehouse/components/LogTable.vue b/klp-ui/src/views/wms/warehouse/components/LogTable.vue new file mode 100644 index 00000000..70bb886f --- /dev/null +++ b/klp-ui/src/views/wms/warehouse/components/LogTable.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/warehouse/log.vue b/klp-ui/src/views/wms/warehouse/log.vue new file mode 100644 index 00000000..1b44b3b7 --- /dev/null +++ b/klp-ui/src/views/wms/warehouse/log.vue @@ -0,0 +1,179 @@ + + + + + \ No newline at end of file