From 8f1007ff707daa84382ce3ad20a21c6f4ec7e467 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Thu, 28 May 2026 15:31:55 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260527-=E5=B7=A1=E8=A7=86=E6=95=B4?= =?UTF-8?q?=E6=94=B9=E6=8F=90=E5=8D=87=E5=8F=B0=E8=B4=A6=EF=BC=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=B8=85=E5=8D=95=E6=96=B0=E5=A2=9E=201=E3=80=81?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95=20dq=5Finspect=5Ftask.prob?= =?UTF-8?q?lem=5Fid=20=E5=BF=85=E9=A1=BB=E5=85=B3=E8=81=94=20dq=5Finspect?= =?UTF-8?q?=5Fproblem.id=EF=BC=8C=E4=B8=94=E8=A2=AB=E5=85=B3=E8=81=94?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=E8=8A=82=E7=82=B9=20node=5Ftype=20?= =?UTF-8?q?=3D=20specific=E3=80=82=202=E3=80=81=E5=89=8D=E7=AB=AF=E6=8A=8A?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=89=8B=E5=A1=AB=E2=80=9C=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E9=97=AE=E9=A2=98ID=E2=80=9D=E6=94=B9=E6=88=90=E6=A0=91?= =?UTF-8?q?=E5=BD=A2=E9=80=89=E6=8B=A9=EF=BC=8C=E5=8F=AA=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E2=80=9C=E5=85=B7=E4=BD=93=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E2=80=9D=E8=8A=82=E7=82=B9=E3=80=82=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E5=9C=A8=E6=96=B0=E5=A2=9E=E3=80=81=E7=BC=96=E8=BE=91=E3=80=81?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=97=B6=E7=BB=9F=E4=B8=80=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E7=BB=95=E8=BF=87=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=9D=9E=E6=B3=95=20problemId=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dq/inspectTask/DqInspectTask.api.ts | 7 +- .../dq/inspectTask/DqInspectTask.data.ts | 5 +- .../components/DqInspectTaskForm.vue | 112 +++++++++++------- 3 files changed, 80 insertions(+), 44 deletions(-) diff --git a/src/views/dq/inspectTask/DqInspectTask.api.ts b/src/views/dq/inspectTask/DqInspectTask.api.ts index ccedac6..699ea66 100644 --- a/src/views/dq/inspectTask/DqInspectTask.api.ts +++ b/src/views/dq/inspectTask/DqInspectTask.api.ts @@ -13,6 +13,7 @@ enum Api { exportXls = '/dqinspecttask/dqInspectTask/exportXls', queryDataById = '/dqinspecttask/dqInspectTask/queryById', dqInspectProgressList = '/dqinspecttask/dqInspectTask/queryDqInspectProgressByMainId', + specificProblemOptions = '/dqinspectproblem/dqInspectProblem/specificOptions', } /** * 导出api @@ -31,6 +32,11 @@ export const getImportUrl = Api.importExcel; */ export const queryDqInspectProgressListByMainId = (id) => defHttp.get({url: Api.dqInspectProgressList, params:{ id }}); +/** + * 查询整改任务可挂载的具体问题树 + */ +export const specificProblemOptions = () => defHttp.get({url: Api.specificProblemOptions}); + /** * 列表接口 * @param params @@ -78,4 +84,3 @@ export const saveOrUpdate = (params, isUpdate) => { * @param params */ export const queryDataById = (id) => defHttp.get({url: Api.queryDataById, params:{ id }}); - diff --git a/src/views/dq/inspectTask/DqInspectTask.data.ts b/src/views/dq/inspectTask/DqInspectTask.data.ts index 1d2b894..2541eba 100644 --- a/src/views/dq/inspectTask/DqInspectTask.data.ts +++ b/src/views/dq/inspectTask/DqInspectTask.data.ts @@ -7,9 +7,10 @@ import { getWeekMonthQuarterYear } from '/@/utils'; //列表数据 export const columns: BasicColumn[] = [ { - title: '具体问题ID', + title: '具体问题', align:"center", - dataIndex: 'problemId' + dataIndex: 'problemId', + customRender: ({ text, record }) => record.problemId_dictText || text, }, { title: '密级', diff --git a/src/views/dq/inspectTask/components/DqInspectTaskForm.vue b/src/views/dq/inspectTask/components/DqInspectTaskForm.vue index 76a878d..d96ba62 100644 --- a/src/views/dq/inspectTask/components/DqInspectTaskForm.vue +++ b/src/views/dq/inspectTask/components/DqInspectTaskForm.vue @@ -5,8 +5,17 @@ - - + + @@ -105,22 +114,22 @@ - - - - - + + + + + + + + + + + + + + + +
提 交
@@ -131,7 +140,7 @@ import { defineComponent, ref, reactive, computed, toRaw, onMounted } from 'vue'; import { defHttp } from '/@/utils/http/axios'; import { useValidateAntFormAndTable } from '/@/hooks/system/useJvxeMethods'; - import { queryDqInspectProgressListByMainId, queryDataById, saveOrUpdate } from '../DqInspectTask.api'; + import { queryDqInspectProgressListByMainId, queryDataById, saveOrUpdate, specificProblemOptions } from '../DqInspectTask.api'; import { JVxeTable } from '/@/components/jeecg/JVxeTable'; import {dqInspectProgressColumns} from '../DqInspectTask.data'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; @@ -163,6 +172,8 @@ const loading = ref(false); const formRef = ref(); const dqInspectProgressTableRef = ref(); + const problemTreeData = ref([]); + const loadingProblemOptions = ref(false); const dqInspectProgressTable = reactive>({ loading: false, columns: dqInspectProgressColumns, @@ -171,30 +182,31 @@ const activeKey = ref('dqInspectProgress'); const formData = reactive>({ id: '', - problemId: '', - secretLevel: '', - improveMeasure: '', - deadline: '', - targetNode: '', - measureResLeader: '', - measureResDept: '', - rectificationEvidence: '', - evaluationCriterion: '', - isNeedAppro: '', - supDeptleaderid: '', - inspectionStatus: '', - supervisoryOpinion: '', + problemId: '', + secretLevel: '', + improveMeasure: '', + deadline: '', + targetNode: '', + measureResLeader: '', + measureResDept: '', + rectificationEvidence: '', + evaluationCriterion: '', + isNeedAppro: '', + supDeptleaderid: '', + inspectionStatus: '', + supervisoryOpinion: '', measureCount: undefined, - bpmProcessId: '', - bpmStatus: '', - taskStatus: '', - superviseCount: '', + bpmProcessId: '', + bpmStatus: '', + taskStatus: '', + superviseCount: '', sortNo: undefined, - delFlag: '', + delFlag: '', }); //表单验证 const validatorRules = reactive({ + problemId: [{ required: true, message: '请选择具体问题' }], }); const {resetFields, validate, validateInfos} = useForm(formData, validatorRules, {immediate: false}); const dbData = {}; @@ -216,6 +228,7 @@ }); onMounted(()=>{ + loadSpecificProblemOptions(); initFormData(); }); //渲染流程表单数据 @@ -242,14 +255,28 @@ } return false }); - - function add() { + /** + * 整改任务只能选择具体问题,分类和面上问题由后端置灰用于分组展示。 + */ + async function loadSpecificProblemOptions() { + loadingProblemOptions.value = true; + try { + const data = await specificProblemOptions(); + problemTreeData.value = Array.isArray(data) ? data : data?.result || []; + } finally { + loadingProblemOptions.value = false; + } + } + + async function add() { resetFields(); dqInspectProgressTable.dataSource = []; + await loadSpecificProblemOptions(); } async function edit(row) { + await loadSpecificProblemOptions(); //主表数据 await queryMainData(row.id); //子表数据 @@ -292,7 +319,8 @@ async function submitForm() { const mainData = await getFormData(); - const subData = await getSubFormAndTableData(); + // 工作进展子表当前未渲染时 ref 为空,提交主表即可;后续恢复子表时仍走原校验取数逻辑。 + const subData = dqInspectProgressTableRef.value ? await getSubFormAndTableData() : {}; const values = Object.assign({}, dbData, mainData, subData); console.log('表单提交数据', values) const isUpdate = values.id ? true : false @@ -300,7 +328,7 @@ //关闭弹窗 emit('success'); } - + function setFieldsValue(values) { if(values){ Object.keys(values).map(k=>{ @@ -322,6 +350,8 @@ return { dqInspectProgressTableRef, dqInspectProgressTable, + problemTreeData, + loadingProblemOptions, validatorRules, validateInfos, activeKey,