diff --git a/src/views/wcs/taskQueue/index.vue b/src/views/wcs/taskQueue/index.vue
index d066098..213c2b8 100644
--- a/src/views/wcs/taskQueue/index.vue
+++ b/src/views/wcs/taskQueue/index.vue
@@ -28,6 +28,18 @@
+
+
+
搜索
重置
@@ -90,9 +102,9 @@
-
+
- {{ parseTime(scope.row.createdTime, '{y}-{m}-{d}') }}
+ {{ parseTime(scope.row.createdTime, CREATED_TIME_DISPLAY_FORMAT) }}
@@ -137,7 +149,7 @@
-
+
@@ -222,7 +234,7 @@
-
+
@@ -313,6 +325,12 @@ import { getMaterialInfoList } from '@/api/wcs/materialInfo';
import { MaterialInfoVO } from '@/api/wcs/materialInfo/types';
import { getPathInfoList } from '@/api/wcs/pathInfo';
import { PathInfoVO } from '@/api/wcs/pathInfo/types';
+import {
+ CREATED_TIME_DISPLAY_FORMAT,
+ CREATED_TIME_PICKER_FORMAT,
+ CREATED_TIME_VALUE_FORMAT,
+ getTodayCreatedTimeRange
+} from '../utils/createdTimeRange';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { wcs_is_flag, wcs_task_category, wcs_task_type, wcs_task_status } = toRefs(
@@ -332,6 +350,9 @@ const single = ref(true);
const multiple = ref(true);
const total = ref(0);
+// 创建时间范围筛选,与 SysUser 一致由 addDateRange 注入到 params.beginTime/endTime。
+const dateRange = ref<[string, string]>(getTodayCreatedTimeRange());
+
const queryFormRef = ref();
const taskQueueFormRef = ref();
@@ -391,7 +412,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
try {
- const res = await listTaskQueue(queryParams.value);
+ // 走 addDateRange 把日期范围塞到 params.beginTime/endTime,对齐后端 SysUser 的范围筛选契约。
+ const res = await listTaskQueue(proxy?.addDateRange(queryParams.value, dateRange.value));
taskQueueList.value = res.rows;
total.value = res.total;
} finally {
@@ -417,14 +439,14 @@ const loadFormOptions = async () => {
const handleMaterialChange = (materialCode?: string) => {
const material = materialList.value.find(item => item.materialCode === materialCode);
- // 选择物料后顺带回填条码,降低主表物料编码与条码不一致的概率。
- form.value.materialBarcode = material?.materialBarcode || form.value.materialBarcode;
+ // 物料条码来自物料主数据,只能随物料选择同步,避免现场手工改出编码与条码不一致的数据。
+ form.value.materialBarcode = material?.materialBarcode;
}
const handleDetailMaterialChange = (row: TaskDetailForm) => {
const material = materialList.value.find(item => item.materialCode === row.materialCode);
- // 明细物料条码跟随选中物料默认回填,用户仍可按现场扫码结果手动调整。
- row.materialBarcode = material?.materialBarcode || row.materialBarcode;
+ // 明细物料条码同样由主数据带出,清空物料时同步清空派生条码,避免残留旧值。
+ row.materialBarcode = material?.materialBarcode;
}
const cancel = () => {
@@ -446,6 +468,8 @@ const handleQuery = () => {
const resetQuery = () => {
queryFormRef.value?.resetFields();
+ // 重置后恢复当天完整范围,避免刚新增的数据落在旧结束时间之后。
+ dateRange.value = getTodayCreatedTimeRange();
handleQuery();
}
@@ -513,32 +537,51 @@ const handleDelDetail = (index: number) => {
detailList.value.splice(index, 1);
}
+const buildSubmitData = (): TaskQueueForm => ({
+ objId: form.value.objId,
+ taskCode: form.value.taskCode,
+ materialCode: form.value.materialCode,
+ palletBarcode: form.value.palletBarcode,
+ materialBarcode: form.value.materialBarcode,
+ materialCount: form.value.materialCount,
+ taskType: form.value.taskType,
+ taskCategory: form.value.taskCategory,
+ startPoint: form.value.startPoint,
+ endPoint: form.value.endPoint,
+ pathCode: form.value.pathCode,
+ taskStatus: form.value.taskStatus,
+ taskSteps: form.value.taskSteps,
+ isFlag: form.value.isFlag,
+ remark: form.value.remark,
+ // 明细与主表通过任务编号关联,提交前只保留业务字段,避免把展示名称等派生字段回传。
+ details: detailList.value.map(item => ({
+ objId: item.objId,
+ taskCode: form.value.taskCode || '',
+ materialCode: item.materialCode,
+ palletBarcode: item.palletBarcode,
+ materialBarcode: item.materialBarcode,
+ materialCount: item.materialCount,
+ taskType: item.taskType,
+ taskCategory: item.taskCategory,
+ startPoint: item.startPoint,
+ endPoint: item.endPoint,
+ isValidate: item.isValidate,
+ pathCode: item.pathCode,
+ taskStatus: item.taskStatus,
+ isFlag: item.isFlag,
+ remark: item.remark
+ }))
+});
+
const submitForm = () => {
taskQueueFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
- // 明细与主表通过任务编号关联,提交前只保留业务字段,避免把展示名称等技术字段回传。
- form.value.details = detailList.value.map(item => ({
- objId: item.objId,
- taskCode: form.value.taskCode || '',
- materialCode: item.materialCode,
- palletBarcode: item.palletBarcode,
- materialBarcode: item.materialBarcode,
- materialCount: item.materialCount,
- taskType: item.taskType,
- taskCategory: item.taskCategory,
- startPoint: item.startPoint,
- endPoint: item.endPoint,
- isValidate: item.isValidate,
- pathCode: item.pathCode,
- taskStatus: item.taskStatus,
- isFlag: item.isFlag,
- remark: item.remark
- }));
- if (form.value.objId) {
- await updateTaskQueue(form.value).finally(() => buttonLoading.value = false);
+ const submitData = buildSubmitData();
+ if (submitData.objId) {
+ await updateTaskQueue(submitData).finally(() => buttonLoading.value = false);
} else {
- await addTaskQueue(form.value).finally(() => buttonLoading.value = false);
+ await addTaskQueue(submitData).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;