From baddb052ccd4a91ef1881ba663e6a4e55b05f4fb Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 14 十月 2026 15:51:55 +0800
Subject: [PATCH] feat(hrm): 社保公积金方案表单加「适用部门」与默认缴费基数,修比例输入精度

---
 src/views/mes/qc/iqc/data.ts |  136 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 117 insertions(+), 19 deletions(-)

diff --git a/src/views/mes/qc/iqc/data.ts b/src/views/mes/qc/iqc/data.ts
index 0a77b97..d25342e 100644
--- a/src/views/mes/qc/iqc/data.ts
+++ b/src/views/mes/qc/iqc/data.ts
@@ -11,10 +11,12 @@
 import { Button } from 'ant-design-vue';
 
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
+import { getTemplateItemOptionList } from '#/api/mes/qc/template/item';
+import { getSupplierSimpleList } from '#/api/srm/supplier';
 import { getSimpleUserList } from '#/api/system/user';
 import { getRangePickerDefaultProps } from '#/utils';
 import { MdmItemSelect } from '#/views/basicData/mdm/components';
-import { MdVendorSelect } from '#/views/mes/md/vendor/components';
+
 
 /** 琛ㄥ崟绫诲瀷 */
 export type FormType = 'create' | 'detail' | 'update';
@@ -134,18 +136,52 @@
       },
     },
     {
-      fieldName: 'vendorId',
-      label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      fieldName: 'templateId',
+      label: '璐ㄦ鏂规',
+      component: 'ApiSelect',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        api: getTemplateItemOptionList,
+        autoSelect: 'first',
+        labelField: 'templateName',
+        valueField: 'templateId',
+        placeholder: '璇烽�夋嫨璐ㄦ鏂规',
       },
       rules: 'selectRequired',
+      dependencies: {
+        triggerFields: ['itemId'],
+        componentProps: (values) => ({
+          api: getTemplateItemOptionList,
+          autoSelect: 'first',
+          labelField: 'templateName',
+          valueField: 'templateId',
+          disabled: formType !== 'create' || !values.itemId,
+          params: values.itemId
+            ? { itemId: values.itemId, qcType: 1 }
+            : {},
+          placeholder: values.itemId ? '璇烽�夋嫨璐ㄦ鏂规' : '璇峰厛閫夋嫨浜у搧鐗╂枡',
+        }),
+      },
+    },
+    {
+      fieldName: 'vendorId',
+      label: '渚涘簲鍟�',
+      component: 'ApiSelect',
+      componentProps: {
+        allowClear: true,
+        api: getSupplierSimpleList,
+        labelField: 'name',
+        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        valueField: 'id',
+      },
       dependencies: {
         triggerFields: ['sourceDocId'],
         componentProps: (values) => ({
           disabled: !!values.sourceDocId,
+          allowClear: true,
+          api: getSupplierSimpleList,
+          labelField: 'name',
           placeholder: '璇烽�夋嫨渚涘簲鍟�',
+          valueField: 'id',
         }),
       },
     },
@@ -200,6 +236,7 @@
         placeholder: '璇疯緭鍏ヤ笉鍚堟牸鍝佹暟閲�',
       },
       rules: 'required',
+      help: '涓嶅悎鏍煎搧鏁伴噺澶т簬0鏃讹紝淇濆瓨鍚庡皢鑷姩鐢熸垚涓嶅悎鏍煎鐞嗗崟',
     },
     {
       fieldName: 'receiveDate',
@@ -208,7 +245,7 @@
       componentProps: {
         format: 'YYYY-MM-DD',
         placeholder: '璇烽�夋嫨鏉ユ枡鏃ユ湡',
-        valueFormat: 'x',
+        valueFormat: 'YYYY-MM-DD',
       },
       rules: 'required',
     },
@@ -232,9 +269,60 @@
       componentProps: {
         format: 'YYYY-MM-DD',
         placeholder: '璇烽�夋嫨妫�娴嬫棩鏈�',
-        valueFormat: 'x',
+        valueFormat: 'YYYY-MM-DD',
       },
       rules: 'required',
+    },
+    {
+      fieldName: 'samplingLocation',
+      label: '閲囨牱鍦扮偣',
+      component: 'Input',
+      componentProps: {
+        maxlength: 100,
+        placeholder: '璇疯緭鍏ラ噰鏍峰湴鐐�',
+      },
+    },
+    {
+      fieldName: 'certificateNo',
+      label: '璇佷功缂栧彿',
+      component: 'Input',
+      componentProps: {
+        maxlength: 50,
+        placeholder: '璇疯緭鍏ヨ瘉涔︾紪鍙�',
+      },
+    },
+    {
+      fieldName: 'executeStandard',
+      label: '鎵ц鏍囧噯',
+      component: 'Input',
+      componentProps: {
+        maxlength: 50,
+        placeholder: '濡� GB/T 6027锛岄�夋嫨璐ㄦ鏂规鍚庤嚜鍔ㄥ甫鍏�',
+      },
+    },
+    {
+      fieldName: 'auditUserId',
+      label: '澶嶆牳浜�',
+      component: 'ApiSelect',
+      componentProps: {
+        allowClear: true,
+        api: getSimpleUserList,
+        labelField: 'nickname',
+        placeholder: '璇烽�夋嫨澶嶆牳浜�',
+        valueField: 'id',
+      },
+    },
+    {
+      fieldName: 'approveUserId',
+      label: '瀹℃牳浜�',
+      component: 'ApiSelect',
+      componentProps: {
+        allowClear: true,
+        api: getSimpleUserList,
+        labelField: 'nickname',
+        placeholder: '璇烽�夋嫨瀹℃牳浜�',
+        valueField: 'id',
+      },
     },
     {
       fieldName: 'checkResult',
@@ -274,9 +362,13 @@
     {
       fieldName: 'vendorId',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'ApiSelect',
       componentProps: {
+        allowClear: true,
+        api: getSupplierSimpleList,
+        labelField: 'name',
         placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        valueField: 'id',
       },
     },
     {
@@ -352,16 +444,6 @@
       minWidth: 180,
     },
     {
-      field: 'vendorNickname',
-      title: '渚涘簲鍟嗙畝绉�',
-      width: 120,
-    },
-    {
-      field: 'vendorBatch',
-      title: '渚涘簲鍟嗘壒娆″彿',
-      width: 130,
-    },
-    {
       field: 'itemCode',
       title: '浜у搧鐗╂枡缂栫爜',
       width: 130,
@@ -396,6 +478,12 @@
       },
     },
     {
+      field: 'indicatorResultSummary',
+      title: '妫�娴嬬粨鏋滐紙妫�楠岄」锛�',
+      minWidth: 200,
+      showOverflow: 'tooltip',
+    },
+    {
       field: 'receiveDate',
       title: '鏉ユ枡鏃ユ湡',
       width: 120,
@@ -413,6 +501,16 @@
       width: 100,
     },
     {
+      field: 'auditNickname',
+      title: '澶嶆牳浜�',
+      width: 100,
+    },
+    {
+      field: 'approveNickname',
+      title: '瀹℃牳浜�',
+      width: 100,
+    },
+    {
       field: 'status',
       title: '鍗曟嵁鐘舵��',
       width: 100,
@@ -423,7 +521,7 @@
     },
     {
       title: '鎿嶄綔',
-      width: 180,
+      width: 420,
       fixed: 'right',
       slots: { default: 'actions' },
     },

--
Gitblit v1.9.3