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 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ {{ scope.row.createTime }}
+
+
+
+
+ {{ scope.row.operationType === 1 ? '入库' : '出库' }}
+
+
+
+
+ {{ scope.row.inOutType === 1 ? '入库' : '出库' }}
+
+
+
+
+ {{ scope.row.coil && scope.row.coil.enterCoilNo ? scope.row.coil.enterCoilNo : '-' }}
+
+
+
+
+ {{ scope.row.coil && scope.row.coil.itemName ? scope.row.coil.itemName : '-' }}
+
+
+
+
+ {{ scope.row.coil && scope.row.coil.specification ? scope.row.coil.specification : '-' }}
+
+
+
+
+ {{ scope.row.warehouse && scope.row.warehouse.actualWarehouseName ? scope.row.warehouse.actualWarehouseName : '-' }}
+
+
+
+
+ {{ scope.row.remark || '-' }}
+
+
+
+
+
+
+
+
+
+
+
+
\ 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