From 88fb30f552ae51cc85d969e3a5ce050628ce0b7c Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Thu, 07 May 2026 14:30:07 +0800
Subject: [PATCH] 修改

---
 src/views/work/qualityManage/qualityInformationPage/internal/index.vue                                   |   18 
 src/views/work/procurementPlatform/purchaseContract/index.vue                                            |   25 +
 src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue                 |   18 
 src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/components/editDialog.vue           |   15 
 src/views/work/qualityInfo/infrastructureMng/maintainPlan/index.vue                                      |   42 +
 src/views/work/qualityInfo/inventoryRecord/components/editDialog.vue                                     |   12 
 src/api/supplier/supplierList.js                                                                         |    8 
 src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/components/editDialog.vue |   11 
 src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/components/editDialog.vue              |   15 
 src/views/work/procurementPlatform/purchaseRequisition/index.vue                                         |   23 +
 src/views/work/procurementPlatform/incomingInspection/inspectionStandards/index.vue                      |   26 +
 src/views/work/qualityInfo/supplierQuality/supplierList/components/supplierDialog.vue                    |   24 
 src/views/work/selfProblems/internalAudit/auditorManage/tableList/index.vue                              |   43 +
 src/views/work/assetMng/toolsMonitorMeasure/equipCalibrateConfirm/index.vue                              |   56 ++
 src/views/work/qualityInfo/infrastructureMng/maintainRecord/index.vue                                    |   48 +
 src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/index.vue                              |   42 +
 src/views/work/selfProblems/internalAudit/meetingMng/index.vue                                           |   43 +
 src/views/work/qualityManage/performanceAppraisal/index.vue                                              |   14 
 src/views/work/assetMng/toolsMonitorMeasure/annualVerificationPlan/index.vue                             |   29 +
 src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/index.vue                    |   45 +
 src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessReview/index.vue                        |   48 +
 src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/index.vue                           |   45 +
 src/views/work/qualityInfo/infrastructureMng/repairRecord/index.vue                                      |   48 +
 src/views/work/qualityManage/continuousImprovement/index.vue                                             |   30 
 src/views/work/financialMng/qualityFinancialAnalysis/index.vue                                           |   29 
 src/views/work/procurementPlatform/incomingInspection/inspectionRecords/index.vue                        |   23 +
 src/views/work/qualityInfo/infrastructureMng/reviewRecordStatistics/index.vue                            |   56 ++
 src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/components/editDialog.vue          |   19 
 src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/components/editDialog.vue    |   21 
 src/views/work/qualityManage/qualityInformationPage/external/index.vue                                   |   18 
 src/views/work/procurementPlatform/purchaseContract/components/editDialog.vue                            |   13 
 src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue                          |   44 +
 src/views/work/procurementPlatform/incomingInspection/inspectionStandards/components/editDialog.vue      |   12 
 src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/index.vue                          |   45 +
 src/views/work/qualityInfo/inventoryRecord/index.vue                                                     |   42 +
 src/views/work/qualityInfo/supplierQuality/supplierList/index.vue                                        |  144 ++++++
 36 files changed, 966 insertions(+), 228 deletions(-)

diff --git a/src/api/supplier/supplierList.js b/src/api/supplier/supplierList.js
index 3995839..23a40ee 100644
--- a/src/api/supplier/supplierList.js
+++ b/src/api/supplier/supplierList.js
@@ -102,3 +102,11 @@
     })
 }
 
+//复制
+export function copySupplier(params) {
+    return request({
+        url: `/supplier/copy`,
+        method: 'get',
+        params: params
+    })
+}
diff --git a/src/views/work/assetMng/toolsMonitorMeasure/annualVerificationPlan/index.vue b/src/views/work/assetMng/toolsMonitorMeasure/annualVerificationPlan/index.vue
index 9bc8bef..c09efcf 100644
--- a/src/views/work/assetMng/toolsMonitorMeasure/annualVerificationPlan/index.vue
+++ b/src/views/work/assetMng/toolsMonitorMeasure/annualVerificationPlan/index.vue
@@ -21,7 +21,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="isAdmin" label="年份:">
+        <el-form-item label="年份:">
           <el-date-picker
               v-model="queryParams.year"
               type="year"
@@ -30,8 +30,8 @@
           />
         </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
           <el-button type="primary" plain @click="openDialog('edit',dataList)" v-if="data.hasInfo" v-hasPermi="['annualVerificationPlan:list:edit']">编辑</el-button>
           <el-button type="primary" plain @click="downloadFile()" v-if="data.hasInfo">导出</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
@@ -340,15 +340,26 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null,
-    year: new Date().getFullYear().toString()
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: new Date().getFullYear().toString(),
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: new Date().getFullYear().toString(),
+    }
   }
-  await getCompanyList()
   await getList()
 }
+
 const handleDelete = (val) => {
   ElMessageBox.confirm(
       '确定删除此条数据?',
diff --git a/src/views/work/assetMng/toolsMonitorMeasure/equipCalibrateConfirm/index.vue b/src/views/work/assetMng/toolsMonitorMeasure/equipCalibrateConfirm/index.vue
index 712771b..b4d77f2 100644
--- a/src/views/work/assetMng/toolsMonitorMeasure/equipCalibrateConfirm/index.vue
+++ b/src/views/work/assetMng/toolsMonitorMeasure/equipCalibrateConfirm/index.vue
@@ -21,9 +21,17 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -36,6 +44,7 @@
           {{scope.row.deviceName + '确认单'}}
         </template>
       </el-table-column>
+      <el-table-column prop="calibrationTime" align="center" label="校准日期" />
       <el-table-column label="操作" align="center">
         <template #default="scope">
           <el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button>
@@ -82,7 +91,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -109,9 +119,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 onUnmounted(()=>{
 
 })
@@ -120,7 +133,12 @@
   loading.value = true
   const res = await getCalibrationMonitoringEquipmentList(data.queryParams)
   if(res.code == 200){
-    data.dataList = res.data.list || []
+    data.dataList = res.data.list.map(item => {
+      return{
+        ...item,
+        calibrationTime: item.calibrationTime.substring(0,10)
+      }
+    }) || []
     data.total = res.data.total
   }else{
     ElMessage.warning(res.message)
@@ -174,14 +192,28 @@
 }
 
 /** 重置新增的表单以及其他数据  */
-const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+const reset= async()=>{
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
diff --git a/src/views/work/financialMng/qualityFinancialAnalysis/index.vue b/src/views/work/financialMng/qualityFinancialAnalysis/index.vue
index 286f76b..b27b15a 100644
--- a/src/views/work/financialMng/qualityFinancialAnalysis/index.vue
+++ b/src/views/work/financialMng/qualityFinancialAnalysis/index.vue
@@ -21,25 +21,12 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="年份:" style="margin-left: 20px">
-          <!--            <el-input v-model="data.queryParams.year" placeholder="请输入年份"></el-input>-->
-          <el-select
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
               v-model="data.queryParams.year"
-              placeholder="请选择年份"
-              style="width: 240px"
-              filterable
-              allow-create
-              default-first-option
-              :reserve-keyword="false"
-              @change="handleChangeNum"
-          >
-            <el-option
-                v-for="item in data.yearList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.label"
-            />
-          </el-select>
+              type="year"
+              value-format="YYYY"
+          />
         </el-form-item>
         <el-form-item>
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
@@ -63,6 +50,7 @@
       <el-table-column type="selection" width="55" />
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
       <el-table-column label="单位名称" prop="companyName" align="center" v-if="data.isAdmin" />
+      <el-table-column label="年份" prop="year" align="center"  />
       <el-table-column label="名称" prop="year" align="center"  >
         <template #default="scope">
           <span>{{scope.row.year}}年质量经济性分析报告</span>
@@ -155,11 +143,15 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getEconomy(data.queryParams);
@@ -241,6 +233,7 @@
       type: ''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/procurementPlatform/incomingInspection/inspectionRecords/index.vue b/src/views/work/procurementPlatform/incomingInspection/inspectionRecords/index.vue
index ad45967..896344c 100644
--- a/src/views/work/procurementPlatform/incomingInspection/inspectionRecords/index.vue
+++ b/src/views/work/procurementPlatform/incomingInspection/inspectionRecords/index.vue
@@ -21,7 +21,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item  v-if="data.isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -38,6 +46,7 @@
       <el-table-column type="selection" width="55" />
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
       <el-table-column label="记录名称" prop="recordName" align="center"  />
+      <el-table-column label="日期" prop="signTime" align="center"  />
       <el-table-column label="操作" align="center" class-naame="small-padding fixed-width" >
         <template #default="scope">
           <el-button link type="primary"  @click="openDialog('review',scope.row)" >查看</el-button>
@@ -105,16 +114,25 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getRecord(data.queryParams);
   if(res.code === 200){
-    dataList.value = res.data.list
+    dataList.value = res.data.list.map(item => {
+      return{
+        ...item,
+        signTime: item.signTime.substring(0,10)
+      }
+    })
     total.value = res.data.total
   }else{
     ElMessage.warning(res.message)
@@ -185,6 +203,7 @@
       type: ''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/components/editDialog.vue b/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/components/editDialog.vue
index 514358d..e3904b8 100644
--- a/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/components/editDialog.vue
+++ b/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/components/editDialog.vue
@@ -19,6 +19,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="文件名称:" prop="fileName">
           <el-input v-model.trim="state.form.fileName" :disabled="state.title =='查看'" placeholder="文件名称"></el-input>
         </el-form-item>
@@ -65,12 +74,14 @@
 
     format: '',
     companyId: null,
+    year:new Date().getFullYear().toString(),
 
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     fileName: [{ required: true, message: '请输入文件名称', trigger: 'blur' }],
     filePath: [{ required: true, message: '请上传文件', trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -188,6 +199,7 @@
     filePath: '',
     fileName: '',
     companyId: null,
+    year:new Date().getFullYear().toString(),
   }
   state.fileList = []
   superRef.value.clearValidate();
diff --git a/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/index.vue b/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/index.vue
index 352b5ae..938b4e8 100644
--- a/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/index.vue
+++ b/src/views/work/procurementPlatform/incomingInspection/inspectionStandards/index.vue
@@ -21,7 +21,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item>
           <el-button  type="primary" @click="getList">查询</el-button>
           <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
@@ -30,6 +38,7 @@
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="年份" prop="year" align="center"/>
       <el-table-column label="规范" prop="fileNameSimple" align="center"/>
       <el-table-column label="文件" prop="fileName" align="center">
         <template #default="scope">
@@ -87,7 +96,8 @@
     companyId: null,
     industryType: null,
     type: '',
-    templateName: ''
+    templateName: '',
+    year:''
   },
   total: 0,
   dataList: [],
@@ -111,12 +121,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const openFile = async(path)=>{
   const ext = path.split('.').pop().toLowerCase();
   if (ext === 'doc' || ext === 'xls' || ext === 'xlsx'  || ext === 'ppt' || ext === 'pptx') {
@@ -229,7 +243,8 @@
       companyId: null,
       industryType: null,
       type: '',
-      templateName: ''
+      templateName: '',
+      year:''
     }
     await getCompanyList()
   }else {
@@ -239,11 +254,14 @@
       companyId: data.queryParams.companyId,
       industryType: null,
       type: '',
-      templateName: ''
+      templateName: '',
+      year:''
     }
   }
+  await getNowYear()
   await getList()
 }
+
 const handleDelete = (val) => {
   ElMessageBox.confirm(
       '确定删除此条数据?',
diff --git a/src/views/work/procurementPlatform/purchaseContract/components/editDialog.vue b/src/views/work/procurementPlatform/purchaseContract/components/editDialog.vue
index b72fdde..14d6e3f 100644
--- a/src/views/work/procurementPlatform/purchaseContract/components/editDialog.vue
+++ b/src/views/work/procurementPlatform/purchaseContract/components/editDialog.vue
@@ -19,6 +19,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="文件名称:" prop="fileName">
           <el-input v-model.trim="state.form.fileName" :disabled="state.title =='查看'" placeholder="文件名称"></el-input>
         </el-form-item>
@@ -62,13 +71,14 @@
     id: null,
     fileName: '',
     filePath: '',
-
+    year:new Date().getFullYear().toString(),
     format: '',
     companyId: null,
 
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
     fileName: [{ required: true, message: '请输入文件名称', trigger: 'blur' }],
     filePath: [{ required: true, message: '请上传文件', trigger: 'blur' }],
   },
@@ -187,6 +197,7 @@
     id: null,
     filePath: '',
     fileName: '',
+    year:new Date().getFullYear().toString(),
     companyId: null,
   }
   state.fileList = []
diff --git a/src/views/work/procurementPlatform/purchaseContract/index.vue b/src/views/work/procurementPlatform/purchaseContract/index.vue
index e8426dd..8fccaef 100644
--- a/src/views/work/procurementPlatform/purchaseContract/index.vue
+++ b/src/views/work/procurementPlatform/purchaseContract/index.vue
@@ -21,7 +21,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button  type="primary" @click="getList">查询</el-button>
           <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
@@ -30,6 +38,7 @@
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="年份" prop="year" align="center"/>
       <el-table-column label="文件名称" prop="fileNameSimple" align="center"/>
       <el-table-column label="文件" prop="fileName" align="center">
         <template #default="scope">
@@ -87,7 +96,8 @@
     companyId: null,
     industryType: null,
     type: '',
-    templateName: ''
+    templateName: '',
+    year:''
   },
   total: 0,
   dataList: [],
@@ -110,8 +120,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 
 onUnmounted(()=>{
 
@@ -228,7 +242,8 @@
       companyId: null,
       industryType: null,
       type: '',
-      templateName: ''
+      templateName: '',
+      year: '',
     }
     await getCompanyList()
   }else {
@@ -238,9 +253,11 @@
       companyId: data.queryParams.companyId,
       industryType: null,
       type: '',
-      templateName: ''
+      templateName: '',
+      year: '',
     }
   }
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/procurementPlatform/purchaseRequisition/index.vue b/src/views/work/procurementPlatform/purchaseRequisition/index.vue
index d53b262..fdd2278 100644
--- a/src/views/work/procurementPlatform/purchaseRequisition/index.vue
+++ b/src/views/work/procurementPlatform/purchaseRequisition/index.vue
@@ -21,7 +21,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item  v-if="data.isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -38,6 +46,7 @@
       <el-table-column type="selection" width="55" />
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
       <el-table-column label="申购单名称" prop="applyName" align="center"  />
+      <el-table-column label="申请日期" prop="applyTime" align="center"  />
       <el-table-column label="申请部门" prop="deptName" align="center"  />
       <el-table-column label="申请人" prop="applyUserName" align="center"  />
       <el-table-column label="操作" align="center" class-naame="small-padding fixed-width" >
@@ -128,16 +137,25 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getApply(data.queryParams);
   if(res.code === 200){
-    dataList.value = res.data.list
+    dataList.value = res.data.list.map(item => {
+      return{
+        ...item,
+        applyTime: item.applyTime.substring(0,10)
+      }
+    })
     total.value = res.data.total
   }else{
     ElMessage.warning(res.message)
@@ -208,6 +226,7 @@
       type: ''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/components/editDialog.vue b/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/components/editDialog.vue
index 48b5fad..cdfea20 100644
--- a/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/components/editDialog.vue
+++ b/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/components/editDialog.vue
@@ -23,6 +23,14 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+          />
+        </el-form-item>
         <el-row :gutter="24">
           <el-col :span="24">
             <el-form-item label="记录名称:" prop="recordName" >
@@ -157,6 +165,7 @@
     id: '',
     companyId: null,
     recordName: '',
+    year:new Date().getFullYear().toString(),
     inspectionMesses: []
   },
   rules: {
@@ -172,6 +181,7 @@
     environment: [{required: true, message: "", trigger: "blur"}],
     consistency: [{required: true, message: "", trigger: "blur"}],
     inspectionMesses:[{ required: true, message: '请填写月度检查记录表', trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   peopleList: [],
   isAdmin: false,
@@ -284,6 +294,7 @@
     id: '',
     companyId: null,
     recordName: '',
+    year:new Date().getFullYear().toString(),
     inspectionMesses: []
   }
   state.companyList = []
diff --git a/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue b/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue
index acde23a..c955ef5 100644
--- a/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue
+++ b/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue
@@ -21,7 +21,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="data.isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -40,6 +48,7 @@
 <!--      <el-table-column label="单位名称" prop="companyName" align="center" v-if="data.isAdmin" />-->
       <el-table-column label="名称" prop="recordName" align="center">
       </el-table-column>
+      <el-table-column label="年份" prop="year" align="center" />
       <el-table-column label="时间" prop="monthlyTime" align="center" />
       <el-table-column label="检查人" prop="checkUser" align="center" />
       <el-table-column label="防护" prop="entrench" align="center" />
@@ -116,12 +125,15 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+   getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const resData = ref([])
 const getList = async () => {
   loading.value = true;
@@ -144,6 +156,7 @@
           safety: listItem.safety,
           environment: listItem.environment,
           consistency: listItem.consistency,
+          year:obj.year
         });
       }
     }
@@ -213,6 +226,7 @@
       pageSize: 10,
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/qualityInfo/infrastructureMng/maintainPlan/index.vue b/src/views/work/qualityInfo/infrastructureMng/maintainPlan/index.vue
index 044cd99..735d51f 100644
--- a/src/views/work/qualityInfo/infrastructureMng/maintainPlan/index.vue
+++ b/src/views/work/qualityInfo/infrastructureMng/maintainPlan/index.vue
@@ -21,7 +21,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="isAdmin" label="年份:">
+        <el-form-item label="年份:">
           <el-date-picker
               v-model="data.queryParams.year"
               type="year"
@@ -30,8 +30,8 @@
           />
         </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -88,7 +88,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -115,9 +116,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 onUnmounted(()=>{
 
 })
@@ -516,14 +520,28 @@
 }
 
 /** 重置新增的表单以及其他数据  */
-const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+const reset= async()=>{
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
diff --git a/src/views/work/qualityInfo/infrastructureMng/maintainRecord/index.vue b/src/views/work/qualityInfo/infrastructureMng/maintainRecord/index.vue
index e22ce51..58aa481 100644
--- a/src/views/work/qualityInfo/infrastructureMng/maintainRecord/index.vue
+++ b/src/views/work/qualityInfo/infrastructureMng/maintainRecord/index.vue
@@ -21,9 +21,17 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -86,7 +94,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -104,13 +113,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true
   const res = await getMaintenanceServiceList(data.queryParams)
@@ -203,14 +215,28 @@
 }
 
 /** 重置新增的表单以及其他数据  */
-const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+const reset= async()=>{
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
diff --git a/src/views/work/qualityInfo/infrastructureMng/repairRecord/index.vue b/src/views/work/qualityInfo/infrastructureMng/repairRecord/index.vue
index a600a87..09ee13b 100644
--- a/src/views/work/qualityInfo/infrastructureMng/repairRecord/index.vue
+++ b/src/views/work/qualityInfo/infrastructureMng/repairRecord/index.vue
@@ -21,9 +21,17 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -96,7 +104,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -123,9 +132,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 onUnmounted(()=>{
 
 })
@@ -204,14 +216,28 @@
 }
 
 /** 重置新增的表单以及其他数据  */
-const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+const reset= async()=>{
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
diff --git a/src/views/work/qualityInfo/infrastructureMng/reviewRecordStatistics/index.vue b/src/views/work/qualityInfo/infrastructureMng/reviewRecordStatistics/index.vue
index af79218..b3f47d3 100644
--- a/src/views/work/qualityInfo/infrastructureMng/reviewRecordStatistics/index.vue
+++ b/src/views/work/qualityInfo/infrastructureMng/reviewRecordStatistics/index.vue
@@ -21,9 +21,17 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -32,6 +40,7 @@
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column type="index" label="序号"></el-table-column>
       <el-table-column prop="companyName" align="center" label="单位名称" v-if="isAdmin"></el-table-column>
+      <el-table-column prop="enactmentDate" align="center" label="制定日期" />
       <el-table-column prop="enactmentDate" align="center" label="名称">
         <template #default="scope">
           {{scope.row.enactmentDate.substring(0,10) + '设备完好性评价记录及完好率统计表'}}
@@ -82,7 +91,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -100,9 +110,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 onUnmounted(()=>{
 
 })
@@ -111,7 +124,12 @@
   loading.value = true
   const res = await getMaintenanceEvaluateList(data.queryParams)
   if(res.code == 200){
-    data.dataList = res.data.list || []
+    data.dataList = res.data.list.map(item => {
+      return {
+        ...item,
+        enactmentDate: item.enactmentDate.substring(0,10)
+      }
+    }) || []
     data.total = res.data.total
   }else{
     ElMessage.warning(res.message)
@@ -176,14 +194,28 @@
 }
 
 /** 重置新增的表单以及其他数据  */
-const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+const reset= async()=>{
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
diff --git a/src/views/work/qualityInfo/inventoryRecord/components/editDialog.vue b/src/views/work/qualityInfo/inventoryRecord/components/editDialog.vue
index cc212cb..1255cd0 100644
--- a/src/views/work/qualityInfo/inventoryRecord/components/editDialog.vue
+++ b/src/views/work/qualityInfo/inventoryRecord/components/editDialog.vue
@@ -19,6 +19,14 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+          />
+        </el-form-item>
         <el-row>
           <el-col :span="12">
             <el-form-item label="材料名称:" prop="materialId">
@@ -186,6 +194,7 @@
     recordName: '',
     inventory: null,
     warehousingRecordDetails: [],
+    year:new Date().getFullYear().toString(),
     delDetails: []
   },
   oldDeviceList: [],
@@ -193,6 +202,7 @@
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     materialId: [{ required: true, message: '请选择材料',  trigger: 'blur' }],
     warehousingRecordDetails: [{ required: true, validator: checkList, trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -363,6 +373,7 @@
         state.form[key] = res.data[key]
       }
     })
+    state.originInventory = state.form.inventory
     state.form.warehousingRecordDetails = res.data.warehousingRecordDetails?.map(item=>{
       return {
         id: item.id,
@@ -405,6 +416,7 @@
     recordName: '',
     inventory: null,
     warehousingRecordDetails: [],
+    year:new Date().getFullYear().toString(),
     delDetails: []
   }
   state.originInventory = 0
diff --git a/src/views/work/qualityInfo/inventoryRecord/index.vue b/src/views/work/qualityInfo/inventoryRecord/index.vue
index 8d1762e..20e26af 100644
--- a/src/views/work/qualityInfo/inventoryRecord/index.vue
+++ b/src/views/work/qualityInfo/inventoryRecord/index.vue
@@ -21,9 +21,17 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -31,6 +39,7 @@
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column type="index" label="序号" width="80"/>
+      <el-table-column prop="year" align="center" label="年份"/>
       <el-table-column prop="recordName" align="center" label="材料名称"/>
       <el-table-column prop="inventory" align="center" label="当前库存"/>
       <el-table-column label="操作" align="center">
@@ -78,7 +87,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -96,9 +106,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 onUnmounted(()=>{
 
 })
@@ -294,12 +307,23 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+      year: '',
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+      year: '',
+    }
   }
-  await getCompanyList()
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/components/editDialog.vue b/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/components/editDialog.vue
index aac84e1..1fc0e82 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/components/editDialog.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/components/editDialog.vue
@@ -19,6 +19,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="供应商:" prop="supplierId">
           <el-select v-model="state.form.supplierId" placeholder="请选择" :disabled="state.title =='查看'" clearable style="width: 100%">
             <el-option
@@ -82,12 +91,14 @@
     fileName: '',
     filePath: '',
     format: '',
+    year:new Date().getFullYear().toString(),
     osType: 3
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     supplierId: [{ required: true, message: '请选择供应商', trigger: 'blur' }],
-    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }]
+    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -153,6 +164,7 @@
         supplierName: state.supplierList.find(i=>i.id == state.form.supplierId)?.supplierName,
         filePath: state.form.filePath,
         format: state.form.format,
+        year: state.form.year,
         osType: 3
       }
     }else{
@@ -180,6 +192,7 @@
     fileName: '',
     filePath: '',
     format: '',
+    year:new Date().getFullYear().toString(),
     osType: 3
   }
   state.fileList = []
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/index.vue b/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/index.vue
index ae21d44..c00494a 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/index.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/inspectQualifyRecord/index.vue
@@ -21,15 +21,24 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="年份" prop="year" align="center"/>
       <el-table-column label="供应商" prop="supplierName" align="center"/>
       <el-table-column label="检验记录" align="center">
         <template #default="scope">
@@ -79,7 +88,8 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
-    osType: 3
+    osType: 3,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -98,13 +108,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true
   const res = await getOutsourcedCommonList(data.queryParams)
@@ -184,13 +197,25 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null,
-    osType: 3
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+      osType: 3,
+      year: '',
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+      osType: 3,
+      year: '',
+    }
   }
-  await getCompanyList()
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/components/editDialog.vue b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/components/editDialog.vue
index 7f7f0c1..d32e9ca 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/components/editDialog.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/components/editDialog.vue
@@ -19,6 +19,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="供应商:" prop="supplierId">
           <el-select v-model="state.form.supplierId" placeholder="请选择" :disabled="state.title =='查看'" clearable style="width: 100%">
             <el-option
@@ -82,12 +91,14 @@
     fileName: '',
     filePath: '',
     format: '',
-    osType: 2
+    osType: 2,
+    year:new Date().getFullYear().toString()
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     supplierId: [{ required: true, message: '请选择供应商', trigger: 'blur' }],
-    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }]
+    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -153,7 +164,8 @@
         supplierName: state.supplierList.find(i=>i.id == state.form.supplierId)?.supplierName,
         filePath: state.form.filePath,
         format: state.form.format,
-        osType: 2
+        osType: 2,
+        year:state.form.year
       }
     }else{
       data = state.form
@@ -180,7 +192,8 @@
     fileName: '',
     filePath: '',
     format: '',
-    osType: 2
+    osType: 2,
+    year:new Date().getFullYear().toString()
   }
   state.fileList = []
   superRef.value.clearValidate();
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/index.vue b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/index.vue
index 8fdb38f..4186d69 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/index.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedContractAgreement/index.vue
@@ -21,15 +21,24 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="年份" prop="year" align="center"/>
       <el-table-column label="供应商" prop="supplierName" align="center"/>
       <el-table-column label="合同质量协议" align="center">
         <template #default="scope">
@@ -79,7 +88,8 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
-    osType: 2
+    osType: 2,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -98,12 +108,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 
 const getList = async () => {
   loading.value = true
@@ -183,14 +197,27 @@
 }
 
 /** 重置新增的表单以及其他数据  */
+
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null,
-    osType: 2
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+      osType: 2,
+      year: '',
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+      osType: 2,
+      year: '',
+    }
   }
-  await getCompanyList()
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/components/editDialog.vue b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/components/editDialog.vue
index eb1c22c..e73389c 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/components/editDialog.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/components/editDialog.vue
@@ -19,6 +19,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="供应商:" prop="supplierId">
           <el-select v-model="state.form.supplierId" placeholder="请选择" :disabled="state.title =='查看'" clearable style="width: 100%">
             <el-option
@@ -82,12 +91,14 @@
     fileName: '',
     filePath: '',
     format: '',
+    year:new Date().getFullYear().toString(),
     osType: 1
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     supplierId: [{ required: true, message: '请选择供应商', trigger: 'blur' }],
-    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }]
+    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -153,7 +164,8 @@
         supplierName: state.supplierList.find(i=>i.id == state.form.supplierId)?.supplierName,
         filePath: state.form.filePath,
         format: state.form.format,
-        osType: 1
+        osType: 1,
+        year: state.form.year
       }
     }else{
       data = state.form
@@ -180,7 +192,8 @@
     fileName: '',
     filePath: '',
     format: '',
-    osType: 1
+    osType: 1,
+    year:new Date().getFullYear().toString()
   }
   state.fileList = []
   superRef.value.clearValidate();
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/index.vue b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/index.vue
index ed8bb2c..b44f5a7 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/index.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessFlow/index.vue
@@ -21,15 +21,24 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="年份" prop="year" align="center"/>
       <el-table-column label="文件名称" prop="fileName" align="center"/>
       <el-table-column label="文件" align="center">
         <template #default="scope">
@@ -79,7 +88,8 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
-    osType: 1
+    osType: 1,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -98,13 +108,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true
   const res = await getOutsourcedCommonList(data.queryParams)
@@ -184,13 +197,25 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null,
-    osType: 1
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+      osType: 1,
+      year: '',
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+      osType: 1,
+      year: '',
+    }
   }
-  await getCompanyList()
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessReview/index.vue b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessReview/index.vue
index e5b44a9..955bec7 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessReview/index.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/outsourcedProcessReview/index.vue
@@ -21,9 +21,17 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
 <!--          <el-button type="primary">导出</el-button>-->
         </el-form-item>
       </el-form>
@@ -31,6 +39,7 @@
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column type="index" label="序号"></el-table-column>
+      <el-table-column prop="applyDeptDate" align="center" label="申请日期"></el-table-column>
       <el-table-column prop="reviewName" align="center" label="评审表名称">
         <template #default="scope">
           {{scope.row.reviewName}}
@@ -86,7 +95,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -149,18 +159,27 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 
 const getList = async () => {
   loading.value = true
   const res = await getOutsourcedReviewList(data.queryParams)
   if(res.code == 200){
-    data.dataList = res.data.list || []
+    data.dataList = res.data.list.map(item => {
+      return {
+        ...item,
+        applyDeptDate: item.applyDeptDate.substring(0,10)
+      }
+    }) || []
     data.total = res.data.total
   }else{
     ElMessage.warning(res.message)
@@ -269,12 +288,23 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+      year: '',
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+      year: '',
+    }
   }
-  await getCompanyList()
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/components/editDialog.vue b/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/components/editDialog.vue
index 33af675..a69f178 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/components/editDialog.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/components/editDialog.vue
@@ -19,6 +19,15 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="供应商:" prop="supplierId">
           <el-select v-model="state.form.supplierId" placeholder="请选择" :disabled="state.title =='查看'" clearable style="width: 100%">
             <el-option
@@ -89,13 +98,15 @@
     unqualifiedProductName: '',
     fileName: '',
     filePath: '',
+    year:new Date().getFullYear().toString(),
     format: ''
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     supplierId: [{ required: true, message: '请选择供应商', trigger: 'blur' }],
     unqualifiedProductName: [{ required: true, message: '请填写不合格品名称', trigger: 'blur' }],
-    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }]
+    filePath: [{ required: true, validator: checkFiles, trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: [],
@@ -161,6 +172,7 @@
         supplierId: state.form.supplierId,
         supplierName: state.supplierList.find(i=>i.id == state.form.supplierId)?.supplierName,
         filePath: state.form.filePath,
+        year: state.form.year,
         format: state.form.format
       }
     }else{
@@ -188,6 +200,7 @@
     unqualifiedProductName: '',
     fileName: '',
     filePath: '',
+    year:new Date().getFullYear().toString(),
     format: ''
   }
   state.fileList = []
diff --git a/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/index.vue b/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/index.vue
index fd5f945..0dac414 100644
--- a/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/index.vue
+++ b/src/views/work/qualityInfo/outsourcingCooperate/unqualifiedHandle/index.vue
@@ -21,15 +21,24 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80"/>
+      <el-table-column label="年份" prop="year" align="center"/>
       <el-table-column label="供应商" prop="supplierName" align="center"/>
       <el-table-column label="不合格品名称" prop="supplierName" align="center"/>
       <el-table-column label="纠正措施记录" align="center">
@@ -79,7 +88,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -98,13 +108,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true
   const res = await getOutsourcedUnqualifiedList(data.queryParams)
@@ -184,12 +197,23 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+  if(data.isAdmin){
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: null,
+      year: '',
+    }
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      pageNum: 1,
+      pageSize: 10,
+      companyId: data.queryParams.companyId,
+      year: '',
+    }
   }
-  await getCompanyList()
+  await getNowYear()
   await getList()
 }
 const handleDelete = (val) => {
diff --git a/src/views/work/qualityInfo/supplierQuality/supplierList/components/supplierDialog.vue b/src/views/work/qualityInfo/supplierQuality/supplierList/components/supplierDialog.vue
index db8edc4..4f866cc 100644
--- a/src/views/work/qualityInfo/supplierQuality/supplierList/components/supplierDialog.vue
+++ b/src/views/work/qualityInfo/supplierQuality/supplierList/components/supplierDialog.vue
@@ -19,23 +19,32 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:" prop="year">
+          <el-date-picker
+              v-model="state.form.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="年份"
+              style="width: 100%"
+          />
+        </el-form-item>
         <el-form-item label="供货单位:" prop="supplierName" >
-          <el-input v-model="state.form.supplierName"  :disabled="title === '查看'"/>
+          <el-input v-model="state.form.supplierName" placeholder="供货单位" :disabled="title === '查看'"/>
         </el-form-item>
         <el-form-item label="地址:" prop="supplierAddr" >
-          <el-input v-model="state.form.supplierAddr"  :disabled="title === '查看'"/>
+          <el-input v-model="state.form.supplierAddr" placeholder="地址" :disabled="title === '查看'"/>
         </el-form-item>
         <el-form-item label="供应品名称:" prop="merito" >
-          <el-input v-model="state.form.merito"  :disabled="title === '查看'"/>
+          <el-input v-model="state.form.merito" placeholder="供应品名称" :disabled="title === '查看'"/>
         </el-form-item>
         <el-form-item label="联系人:" prop="user" >
-          <el-input v-model="state.form.user"  :disabled="title === '查看'"/>
+          <el-input v-model="state.form.user" placeholder="联系人" :disabled="title === '查看'"/>
         </el-form-item>
         <el-form-item label="联系电话:" prop="phone" >
-          <el-input v-model="state.form.phone"  @input="state.form.phone= state.form.phone.replace(/[^0-9-]/g,'')" :disabled="title === '查看'"/>
+          <el-input v-model="state.form.phone" placeholder="联系电话" @input="state.form.phone= state.form.phone.replace(/[^0-9-]/g,'')" :disabled="title === '查看'"/>
         </el-form-item>
         <el-form-item label="备注:" prop="remark" >
-          <el-input v-model="state.form.remark"  :disabled="title === '查看'"/>
+          <el-input v-model="state.form.remark" placeholder="备注" :disabled="title === '查看'"/>
         </el-form-item>
       </el-form>
       <template #footer v-if="title !== '查看'">
@@ -86,6 +95,7 @@
     phone: '',
     merito: '',
     remark: '',
+    year:new Date().getFullYear().toString()
   },
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
@@ -94,6 +104,7 @@
     user: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
     phone: [{ required: true, message: '请输入联系电话', trigger: 'blur' }],
     merito: [{ required: true, message: '请输入主营产品', trigger: 'blur' }],
+    year: [{ required: true, message: '请选择年份', trigger: 'blur' }],
   },
   isAdmin: false,
   companyList: []
@@ -179,6 +190,7 @@
     phone: '',
     merito: '',
     remark: '',
+    year:new Date().getFullYear().toString()
   }
   state.companyList = []
 }
diff --git a/src/views/work/qualityInfo/supplierQuality/supplierList/index.vue b/src/views/work/qualityInfo/supplierQuality/supplierList/index.vue
index 6a95831..fc9c979 100644
--- a/src/views/work/qualityInfo/supplierQuality/supplierList/index.vue
+++ b/src/views/work/qualityInfo/supplierQuality/supplierList/index.vue
@@ -21,7 +21,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="data.isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -30,15 +38,18 @@
               type="primary"
               @click="exportData"
           >导出</el-button>
+          <el-button  type="primary" plain @click="copy">复制</el-button>
         </el-form-item>
       </el-form>
     </div>
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true"  @selection-change="handleSelectionChange">
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
+<!--      <el-table-column label="年份" prop="year" align="center"  />-->
       <el-table-column label="供货单位" prop="supplierName" align="center"  />
       <el-table-column label="地址" prop="supplierAddr" align="center"  />
       <el-table-column label="供应品名称" prop="merito" align="center"  />
+      <el-table-column label="年份" prop="year" align="center"  />
       <el-table-column label="联系人" prop="user" align="center"  />
       <el-table-column label="联系电话" prop="phone" align="center"  />
       <el-table-column label="备注" prop="remark" align="center"  />
@@ -85,6 +96,49 @@
     <performanceTable ref="performanceRef" @getList = "getList"></performanceTable>
     <qualityDialog ref="qualityRef" @getList = "getList"></qualityDialog>
     <certDialog ref="certRef" @getList = "getList"></certDialog>
+    <el-dialog
+        v-model="copyVisible"
+        width="500px"
+        :before-close="handleCloseCopy"
+        :close-on-press-escape="false"
+        :close-on-click-modal="false"
+    >
+      <div v-if="data.isAdmin">
+        <span style="display:block;margin-bottom: 8px">单位名称:</span>
+        <el-select
+            v-model="queryParams.companyId"
+            filterable
+            style="width: 100%;margin-bottom: 8px"
+        >
+          <el-option
+              v-for="item in data.companyList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+          />
+        </el-select>
+      </div>
+      <span style="display:block;margin-bottom: 8px">将以下年份数据:</span>
+      <el-date-picker
+          v-model="data.sourceYear"
+          type="year"
+          value-format="YYYY"
+          style="margin-bottom: 8px;width: 100%;"
+          placeholder="请选择"
+      />
+      <span style="display:block;margin-bottom: 8px">复制到:</span>
+      <el-date-picker
+          v-model="data.targetYear"
+          type="year"
+          value-format="YYYY"
+          style="margin-bottom: 8px;width: 100%"
+          placeholder="请选择"
+      />
+      <div class="dialog-footer" style="display: flex;justify-content: right">
+        <el-button @click="handleCloseCopy" size="default">取 消</el-button>
+        <el-button type="primary"  @click="onSubmitCopy" size="default" v-preReClick>确认</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -99,7 +153,8 @@
 import Cookies from "js-cookie";
 import {generateWordDocument} from "@/utils/exportWord";
 import {delBasic, getBasic} from "@/api/companyInfo/basicInfo";
-import {delSupplierById, getPerformance, getQuality, getSupplierPage} from "@/api/supplier/supplierList";
+import {copySupplier, delSupplierById, getPerformance, getQuality, getSupplierPage} from "@/api/supplier/supplierList";
+import {copyPlan} from "@/api/selfProblems/plan";
 const { proxy } = getCurrentInstance();
 const loading = ref(false);
 const noticeRef = ref();
@@ -114,7 +169,11 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
+    year:''
   },
+  copyVisible: false,
+  targetYear:'',
+  sourceYear:'',
   companyList: [],
   isAdmin: false,
   verifyList:[{id: 1,label: '现场验证'},{id: 2,label: '入库验证'},{id: 3,label: '供方货源处验证'},],
@@ -269,7 +328,7 @@
 const dataList = ref([]);
 const total = ref(0);
 
-const { queryParams } = toRefs(data);
+const { queryParams,copyVisible } = toRefs(data);
 
 onMounted(() => {
   const userInfo = JSON.parse(Cookies.get('userInfo'))
@@ -280,6 +339,7 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
@@ -287,6 +347,9 @@
 
 
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getSupplierPage(data.queryParams);
@@ -347,15 +410,27 @@
 
 /** 重置新增的表单以及其他数据  */
 function reset() {
-  data.queryParams = {
-    companyId: '',
-    pageNum: 1,
-    pageSize: 10,
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
+    choosedData.value = []
+    data.companyList = [];
+    getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  choosedData.value = []
-  data.companyList = [];
+  getNowYear()
   getList();
-  getCompanyList()
+
 }
 
 
@@ -647,6 +722,55 @@
   data.qualificationList=[{id: 1, name: '营业执照'}, {id: 2, name: '有效期内'}, {id: 3, name: '有效期外'}, {id: 4, name: '高新技术企业'}, {id: 5, name: '有效期内'}, {id: 6, name: '有效期外'}, {id: 7, name: '资质代理商'}, {id: 8, name: '其他资质情况:'},]
   data.productList=[{id: 1, name: '通过产品认证'}, {id: 2, name: '没有产品认证'}, {id: 3, name: '通过质量体系认证'}, {id: 4, name: '没有体系认证'}, {id: 5, name: '其他认证(请指出具体内容):'},]
 }
+const copy = () => {
+  data.copyVisible = true
+}
+const onSubmitCopy = async () => {
+  if(data.isAdmin && !data.queryParams.companyId){
+    ElMessage.warning('请先选择单位')
+    return
+  }
+  if(!data.sourceYear){
+    ElMessage.warning('请先选择要复制的年份')
+    return
+  }
+  if(!data.targetYear){
+    ElMessage.warning('请选择目标年份')
+    return
+  }
+  ElMessageBox.confirm(
+      '该操作将覆盖目标年份的数据,是否继续?',
+      '提示',
+      {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+      .then( async() => {
+        const param = {
+          companyId: data.queryParams.companyId,
+          sourceYear: data.sourceYear,
+          targetYear: data.targetYear
+        }
+        const res = await copySupplier(param);
+        if(res.code === 200){
+          ElMessage({
+            type: 'success',
+            message: res.data
+          });
+          await handleCloseCopy()
+          await getList();
+        }else{
+          ElMessage.warning(res.message)
+        }
+      }).catch(err => {
+  })
+}
+const handleCloseCopy = () => {
+  data.targetYear=''
+  data.sourceYear=''
+  data.copyVisible = false
+}
 </script>
 <style lang="scss">
 .pag-container{
diff --git a/src/views/work/qualityManage/continuousImprovement/index.vue b/src/views/work/qualityManage/continuousImprovement/index.vue
index 7283f56..4494ed3 100644
--- a/src/views/work/qualityManage/continuousImprovement/index.vue
+++ b/src/views/work/qualityManage/continuousImprovement/index.vue
@@ -21,24 +21,12 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="年份:" style="margin-left: 20px">
-          <el-select
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
               v-model="data.queryParams.year"
-              placeholder="请选择年份"
-              style="width: 240px"
-              filterable
-              allow-create
-              default-first-option
-              :reserve-keyword="false"
-              @change="handleChangeNum"
-          >
-            <el-option
-                v-for="item in data.yearList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.label"
-            />
-          </el-select>
+              type="year"
+              value-format="YYYY"
+          />
         </el-form-item>
         <el-form-item>
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
@@ -110,6 +98,7 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
+    year:''
   },
   companyList: [],
   isAdmin: false,
@@ -151,11 +140,15 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getInside(data.queryParams);
@@ -226,6 +219,7 @@
       companyId: '',
       pageNum: 1,
       pageSize: 10,
+      year:''
     }
     choosedData.value = []
     data.companyList = [];
@@ -235,8 +229,10 @@
       companyId: data.queryParams.companyId,
       pageNum: 1,
       pageSize: 10,
+      year:''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/qualityManage/performanceAppraisal/index.vue b/src/views/work/qualityManage/performanceAppraisal/index.vue
index aa34a8a..e3e8b48 100644
--- a/src/views/work/qualityManage/performanceAppraisal/index.vue
+++ b/src/views/work/qualityManage/performanceAppraisal/index.vue
@@ -21,7 +21,14 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item  v-if="data.isAdmin">
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -105,11 +112,15 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getEvaluation(data.queryParams);
@@ -200,6 +211,7 @@
       type: ''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/qualityManage/qualityInformationPage/external/index.vue b/src/views/work/qualityManage/qualityInformationPage/external/index.vue
index e800122..5b90464 100644
--- a/src/views/work/qualityManage/qualityInformationPage/external/index.vue
+++ b/src/views/work/qualityManage/qualityInformationPage/external/index.vue
@@ -21,7 +21,14 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="data.isAdmin">
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+          />
+        </el-form-item>
+        <el-form-item>
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -38,6 +45,7 @@
       <el-table-column type="selection" width="55" />
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
       <el-table-column label="单位名称" prop="companyName" align="center" v-if="data.isAdmin" />
+      <el-table-column label="提供日期" prop="offerTime" align="center" />
       <el-table-column label="反馈单名称"  align="center">
         <template #default="scope">
           <span>{{scope.row.feedFrom}}</span>
@@ -86,6 +94,7 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
+    year:''
   },
   companyList: [],
   isAdmin: false,
@@ -105,11 +114,15 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getEnternal(data.queryParams);
@@ -162,6 +175,7 @@
       companyId: '',
       pageNum: 1,
       pageSize: 10,
+      year:''
     }
     choosedData.value = []
     data.companyList = [];
@@ -171,8 +185,10 @@
       companyId: data.queryParams.companyId,
       pageNum: 1,
       pageSize: 10,
+      year:''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/qualityManage/qualityInformationPage/internal/index.vue b/src/views/work/qualityManage/qualityInformationPage/internal/index.vue
index 51d7c23..e19e345 100644
--- a/src/views/work/qualityManage/qualityInformationPage/internal/index.vue
+++ b/src/views/work/qualityManage/qualityInformationPage/internal/index.vue
@@ -21,7 +21,14 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="data.isAdmin">
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+          />
+        </el-form-item>
+        <el-form-item>
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -38,6 +45,7 @@
       <el-table-column type="selection" width="55" />
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
       <el-table-column label="单位名称" prop="companyName" align="center" v-if="data.isAdmin" />
+      <el-table-column label="反馈日期" prop="feedTime" align="center" />
       <el-table-column label="反馈单名称"  align="center">
         <template #default="scope">
           <span>{{scope.row.feedForm}}</span>
@@ -89,6 +97,7 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
+    year:''
   },
   companyList: [],
   isAdmin: false,
@@ -108,11 +117,15 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
   if(data.isAdmin){
     getCompanyList()
   }
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getInternal(data.queryParams);
@@ -165,6 +178,7 @@
       companyId: '',
       pageNum: 1,
       pageSize: 10,
+      year:''
     }
     choosedData.value = []
     data.companyList = [];
@@ -174,8 +188,10 @@
       companyId: data.queryParams.companyId,
       pageNum: 1,
       pageSize: 10,
+        year:''
     }
   }
+  getNowYear()
   getList();
 
 }
diff --git a/src/views/work/selfProblems/internalAudit/auditorManage/tableList/index.vue b/src/views/work/selfProblems/internalAudit/auditorManage/tableList/index.vue
index 5fd6978..6065b08 100644
--- a/src/views/work/selfProblems/internalAudit/auditorManage/tableList/index.vue
+++ b/src/views/work/selfProblems/internalAudit/auditorManage/tableList/index.vue
@@ -22,7 +22,15 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item v-if="data.isAdmin">
+        <el-form-item label="年份:" style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+              placeholder="请选择年份"
+          />
+        </el-form-item>
+        <el-form-item >
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -32,12 +40,14 @@
     <el-table v-loading="loading" :data="dataList" :border="true"  @selection-change="handleSelectionChange">
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
       <el-table-column label="姓名" prop="personName" align="center"  />
+      <el-table-column label="年份" prop="year" align="center"  />
       <el-table-column label="所属部门" prop="deptName" align="center"  />
       <el-table-column label="内审员证书" prop="paperStudentId" align="center" >
         <template #default="scope">
           <el-button v-if="scope.row.paperStudentId" type="primary" @click="downloadCert(scope.row)" link>证书</el-button>
         </template>
       </el-table-column>
+
       <el-table-column label="审核经历次数" prop="amount" align="center"  />
       <el-table-column label="评定结论" prop="conclusion" align="center"  />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
@@ -87,6 +97,7 @@
     pageNum: 1,
     pageSize: 10,
     companyId: null,
+    year:''
   },
   companyList: [],
   isAdmin: false,
@@ -108,8 +119,12 @@
   }else {
     data.queryParams.companyId = userInfo.companyId
   }
+  getNowYear()
   getList();
 });
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 const getList = async () => {
   loading.value = true;
   const res = await getEvaluatePage(data.queryParams);
@@ -154,15 +169,27 @@
 
 /** 重置新增的表单以及其他数据  */
 function reset() {
-  data.queryParams = {
-    companyId: '',
-    pageNum: 1,
-    pageSize: 10,
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
+    choosedData.value = []
+    data.companyList = [];
+    getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year: '',
+    }
   }
-  choosedData.value = []
-  data.companyList = [];
+  getNowYear()
   getList();
-  getCompanyList()
+
 }
 const exportData = () => {
   if(choosedData.value && choosedData.value.length === 0){
diff --git a/src/views/work/selfProblems/internalAudit/meetingMng/index.vue b/src/views/work/selfProblems/internalAudit/meetingMng/index.vue
index d620a99..1ec3380 100644
--- a/src/views/work/selfProblems/internalAudit/meetingMng/index.vue
+++ b/src/views/work/selfProblems/internalAudit/meetingMng/index.vue
@@ -21,9 +21,16 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -78,7 +85,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -96,12 +104,16 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
 
 onUnmounted(()=>{
 
 })
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 
 const getList = async () => {
   loading.value = true
@@ -183,13 +195,26 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year:''
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year:''
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
diff --git a/src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue b/src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue
index 97a7a4a..f172a54 100644
--- a/src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue
+++ b/src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue
@@ -21,9 +21,16 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="年份:"  style="margin-left: 20px">
+          <el-date-picker
+              v-model="data.queryParams.year"
+              type="year"
+              value-format="YYYY"
+          />
+        </el-form-item>
         <el-form-item >
-          <el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
-          <el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
+          <el-button  type="primary" @click="getList">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -83,7 +90,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    companyId: null
+    companyId: null,
+    year:''
   },
   total: 0,
   dataList: [],
@@ -101,9 +109,12 @@
     data.isAdmin = false
     data.queryParams.companyId = userStore.companyId
   }
+  await getNowYear()
   await getList()
 })
-
+const getNowYear = () =>{
+  data.queryParams.year = new Date().getFullYear().toString()
+}
 onUnmounted(()=>{
 
 })
@@ -187,13 +198,26 @@
 
 /** 重置新增的表单以及其他数据  */
 const reset= async()=> {
-  data.queryParams = {
-    pageNum: 1,
-    pageSize: 10,
-    companyId: null
+  if(data.isAdmin){
+    data.queryParams = {
+      companyId: '',
+      pageNum: 1,
+      pageSize: 10,
+      year:''
+    }
+    data.companyList = [];
+    await getCompanyList()
+  }else {
+    data.queryParams = {
+      companyId: data.queryParams.companyId,
+      pageNum: 1,
+      pageSize: 10,
+      year:''
+    }
   }
-  await getCompanyList()
-  await getList()
+  await getNowYear()
+  await getList();
+
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(

--
Gitblit v1.9.2