diff --git a/WebSite/src/api/exante-performance-inquiry.js b/WebSite/src/api/exante-performance-inquiry.js
index 49be9c2ee758a0cb298bc64e681f73682b832539..ac35ff9ec66488043deb1092a121845015419c13 100644
--- a/WebSite/src/api/exante-performance-inquiry.js
+++ b/WebSite/src/api/exante-performance-inquiry.js
@@ -7,8 +7,9 @@
  */
 
 import request from '@/core/base/request';
+import { Base } from './base/base';
 
-class exantePerformanceInquiry {
+class exantePerformanceInquiry extends Base{
     //鍒嗛〉鏌ヨ
     static getFinanceProjectInfoPage(data) {
         return request.post('/projectType/getFinanceProjectInfoPage', data);
@@ -30,8 +31,13 @@ class exantePerformanceInquiry {
         return request.post('/projectAudit/financeAudit', data);
     }
     //涓嬭浇椤圭洰鐢虫姤pdf
-    static downloadProjectPdf(data) {
-        return request.get(`/projectType/downloadProjectPdf?id=${data}`);
+    static downloadProjectPdf(c) {
+        return request({
+          url: `/projectType/downloadProjectPdf?id=${c}`,
+          responseType: 'blob',
+          method: 'get'
+        })
+        .then(res => super.downloadFile(res));
     }
 }
 
diff --git a/WebSite/src/api/financeOffice.js b/WebSite/src/api/financeOffice.js
index 2923004e32add27b7609da9818e6be2fceb8b38d..b25c4740372e15b909ee15eeeeb2dcbf2176661e 100644
--- a/WebSite/src/api/financeOffice.js
+++ b/WebSite/src/api/financeOffice.js
@@ -7,9 +7,9 @@
  */
 
 import request from '@/core/base/request';
+import { Base } from './base/base';
 
-
-class FinanceOffice {
+class FinanceOffice extends Base{
     
 
     //閮ㄩ棬绠$悊
@@ -58,13 +58,23 @@ class FinanceOffice {
     //椤圭洰鐢虫姤
 
     //涓嬭浇鍗曚釜闄勪欢
-    static downloadAttachFileById(data) {
-        return request.get('/projectType/downloadAttachFileById', data);
-    }
+    static downloadAttachFileById(c) {
+        return request({
+          url: `/projectType/downloadAttachFileById?fileId=${c}`,
+          responseType: 'blob',
+          method: 'get'
+        })
+        .then(res => super.downloadFile(res));
+      }
     //涓嬭浇椤圭洰鐢虫姤pdf
-    static downloadProjectPdf(data) {
-        return request.get('/projectType/downloadProjectPdf', data);
-    }
+    static downloadProjectPdf(c) {
+        return request({
+          url: `/projectType/downloadProjectPdf?id=${c}`,
+          responseType: 'blob',
+          method: 'get'
+        })
+        .then(res => super.downloadFile(res));
+      }
     //鑾峰彇椤圭洰淇℃伅
     static getProjectInfo(data) {
         return request.post('/projectType/getProjectInfo', data);
@@ -119,8 +129,8 @@ class FinanceOffice {
         return request.post('/preliminary/getPreliminaryById', data);
     }
     //棰勫椤圭洰鍒嗛〉鍒楄〃
-    static getPreliminaryPage(data) {
-        return request.post('/preliminary/getPreliminaryPage', data);
+    static getPreliminaryList(data) {
+        return request.post('/preliminary/getPreliminaryList', data);
     }
     //淇濆瓨棰勫椤圭洰淇℃伅
     static savePreliminary(data) {
diff --git a/WebSite/src/api/projectType.js b/WebSite/src/api/projectType.js
index d43bac5211c5a6e7e81853f6d428451a023bcbd4..2cea4994fb08cb611681d632218e037c8b888b27 100644
--- a/WebSite/src/api/projectType.js
+++ b/WebSite/src/api/projectType.js
@@ -13,8 +13,13 @@ class ProjectType extends Base {
   //椤圭洰鐢虫姤
 
   //涓嬭浇鍗曚釜闄勪欢
-  static downloadAttachFileById(data) {
-    return request.get('/projectType/downloadAttachFileById', data);
+  static downloadAttachFileById(c) {
+    return request({
+      url: `/projectType/downloadAttachFileById?fileId=${c}`,
+      responseType: 'blob',
+      method: 'get'
+    })
+    .then(res => super.downloadFile(res));
   }
   //涓嬭浇椤圭洰鐢虫姤pdf
   static downloadProjectPdf(c) {
diff --git a/WebSite/src/api/review-management-operation.js b/WebSite/src/api/review-management-operation.js
index 068bf82213f10b75a388523ac2c6d5f4daf7ec12..d8f546055e4f587bf6a5f2c622a25c0931e556cb 100644
--- a/WebSite/src/api/review-management-operation.js
+++ b/WebSite/src/api/review-management-operation.js
@@ -18,8 +18,8 @@ class operation {
     return request.post('/entrustment/batchOfiiceDevide', data);
   }
   //棰勫
-  static getPreliminaryPage(data) {
-    return request.post('/preliminary/getPreliminaryPage', data);
+  static getPreliminaryList(data) {
+    return request.post('/preliminary/getPreliminaryList', data);
   }
   //棰勮
   static getProjectInfo(data) {
@@ -119,6 +119,10 @@ class operation {
       '/entrustmentExpert/saveExpertSign?expertId=' + expertId + '&file=' + file
     );
   }
+  //鎵归噺鍙嶉棰勫鎰忚锛氫紶棰勫涓婚敭 
+  static modifyByFeedbackIds(data) {
+    return request.post('/preliminary/modifyByFeedbackIds' , data);
+  }
 }
 
 export default operation;
diff --git a/WebSite/src/views/item-entry/antecedent-trial/index.vue b/WebSite/src/views/item-entry/antecedent-trial/index.vue
index 48803f35f5a46fba6bc12b85d071c528a23c0a21..379f8cde230b17b3268d0ea16b8eda13b22b0e45 100644
--- a/WebSite/src/views/item-entry/antecedent-trial/index.vue
+++ b/WebSite/src/views/item-entry/antecedent-trial/index.vue
@@ -12,7 +12,7 @@
             icon="edit"
             size="small"
             @click="onWrite"
-            >濉啓鎰忚</el-button
+            >濉啓棰勫鎰忚</el-button
           >
         </el-form-item>
       </el-form>
@@ -89,7 +89,11 @@
         <div class="card-content-item">
           <span style="width: 200px; font-size: 14px"> 鍏€侀檮浠讹細 </span>
           <div style="width: 100%; font-size: 14px">
-            <div v-for="(item, index) in arr1" :key="index">{{ item }}</div>
+            <div v-for="(item, index) in arr1" :key="index">
+              <a @click="clickA(item)" href="javascript:void(0);">{{
+                item.fileName
+              }}</a>
+            </div>
           </div>
         </div>
         <div class="card-content-item">
@@ -97,7 +101,11 @@
             涓冦€佹壙璇哄強瀹℃牳淇℃伅锛�
           </span>
           <div style="width: 100%; font-size: 14px">
-            <div v-for="(item, index) in arr2" :key="index">{{ item }}</div>
+            <div v-for="(item, index) in arr2" :key="index">
+              <a @click="clickA(item)" href="javascript:void(0);">{{
+                item.fileName
+              }}</a>
+            </div>
           </div>
         </div>
 
@@ -226,7 +234,7 @@
           </td>
           <td>
             <el-input
-              v-model="tableObj.fundingCompliance"
+              v-model="tableObj.financialSupportRationality"
               :autosize="{ minRows: 8, maxRows: 10 }"
               type="textarea"
               placeholder="璇疯緭鍏�"
@@ -240,7 +248,7 @@
           </td>
           <td>
             <el-input
-              v-model="tableObj.input6"
+              v-model="tableObj.controllabilityFinancingRisks"
               :autosize="{ minRows: 8, maxRows: 10 }"
               type="textarea"
               placeholder="璇疯緭鍏�"
@@ -273,20 +281,20 @@
         </tr>
       </table>
 
-      <span>涓婁紶闄勪欢锛�</span>
+      <!-- <span>涓婁紶闄勪欢锛�</span>
       <UploadFile
         v-model:modelValue="uploadDialog1"
         @upload-handler="uploadHandler1"
       >
-      </UploadFile>
-      <el-button
+      </UploadFile> -->
+      <!-- <el-button
         plain
         type="info"
         icon="Upload"
         size="small"
         @click="uploadDialog1 = true"
         >鏂板</el-button
-      >
+      > -->
 
       <template #footer>
         <span class="dialog-footer">
@@ -303,7 +311,7 @@ import { use } from 'echarts/core';
 import { useRouter } from 'vue-router';
 import operation from '@/api/review-management-operation';
 import FinanceOffice from '@/api/financeOffice';
-import UploadFile from '@/components/UploadFile';
+//import UploadFile from '@/components/UploadFile';
 import { ElMessage } from 'element-plus';
 
 // import { ElMessageBox } from 'element-plus'
@@ -311,7 +319,7 @@ use([]);
 export default {
   name: 'AntecedenTrial',
   components: {
-    UploadFile,
+    //  UploadFile,
   },
   setup() {
     const router = useRouter();
@@ -323,8 +331,8 @@ export default {
         projectNecessityApproval: '',
         rationalityPerformance: '',
         feasibilityImplementationPlan: '',
-        fundingCompliance: '',
-        input6: '',
+        financialSupportRationality: '',
+        controllabilityFinancingRisks: '',
         materialIntegrity: '',
         other: '',
       },
@@ -356,34 +364,44 @@ export default {
       },
       idS: '',
       entrustmentId: '',
+      projectId: '',
+      preliminaryId: '',
       arr1: [],
       arr2: [],
     });
-    onMounted(() => {
-      data.idS = router.currentRoute.value.query.id; //鐢虫姤椤圭洰鐨勪富閿�
-      data.entrustmentId = router.currentRoute.value.query.entrustmentId; //濮旀墭鍑界殑涓婚敭
-      data.projectId = router.currentRoute.value.query.projectId; //	鐢虫姤椤圭洰鐨勪富閿�
-      getProjectInfo();
+    onMounted(async () => {
+      data.entrustmentId = router.currentRoute.value.query.entrustmentId; //濮旀墭鍑絠d
+      data.projectId = router.currentRoute.value.query.projectId; //	椤圭洰Id
+      data.preliminaryId = router.currentRoute.value.query.preliminaryId; //	椤圭洰Id
+      await getProjectInfo();
     });
     const goBack = () => {
       router.go(-1);
     };
     const onWrite = () => {
+      if (data.preliminaryId != null) {
+        FinanceOffice.getPreliminaryById({ id: data.idS }).then((res) => {
+          console.log(res);
+          data.tableObj = res.data[0];
+        });
+      }
       data.writeDialog = true;
     };
     const getProjectInfo = () => {
       operation.getProjectInfo({ id: data.projectId }).then((res) => {
         data.ProjectInfo = res.data[0];
-        data.arr1 = data.ProjectInfo.fileOuts.map((item) => {
-          if (item.type == 1) {
-            return item.fileName;
+        for (let i = 0; i < data.ProjectInfo.fileOuts.length; i++) {
+          if (data.ProjectInfo.fileOuts[i].type == 1) {
+            data.arr1 = [data.ProjectInfo.fileOuts[i]];
+            break;
           }
-        });
-        data.arr2 = data.ProjectInfo.fileOuts.map((item) => {
-          if (item.type == 2) {
-            return item.fileName;
+        }
+        for (let i = 0; i < data.ProjectInfo.fileOuts.length; i++) {
+          if (data.ProjectInfo.fileOuts[i].type == 2) {
+            data.arr2 = [data.ProjectInfo.fileOuts[i]];
+            break;
           }
-        });
+        }
       });
     };
     const onPrint = () => {};
@@ -419,10 +437,14 @@ export default {
       };
       FinanceOffice.savePreliminary(obj).then((res) => {
         console.log(res, 'res');
-        ElMessage.success('淇濆瓨鎴愬姛')
+        ElMessage.success('淇濆瓨鎴愬姛');
         data.writeDialog = false;
       });
     };
+    const clickA = async (item) => {
+      const res = await FinanceOffice.downloadAttachFileById(item.id);
+      console.log(res);
+    };
     return {
       goBack,
       onWrite,
@@ -430,6 +452,7 @@ export default {
       onPrint,
       uploadHandler1,
       save,
+      clickA,
       ...toRefs(data),
     };
   },
@@ -551,4 +574,8 @@ export default {
     }
   }
 }
+  a:hover {
+    text-decoration: none;
+    border-bottom: 1px solid #a0a3a8ea;
+  }
 </style>
diff --git a/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue b/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue
index 0385dba85656157d7d717c8df7647903a73887f9..b9a0fe54cb0dd7d0ad06b1163114afa160597ec5 100644
--- a/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue
+++ b/WebSite/src/views/item-entry/exante-performance-evaluation-function-edit/index.vue
@@ -176,6 +176,12 @@
             </el-table-column>
             <el-table-column align="right" width="190">
               <template #default="scope">
+                <el-button
+                  type="primary"
+                  :disabled="disabledPreview"
+                  @click="downloadFileId1(scope.row)"
+                  >涓嬭浇</el-button
+                >
                 <el-button
                   type="danger"
                   :disabled="disabledPreview"
@@ -213,6 +219,12 @@
             </el-table-column>
             <el-table-column align="right" width="190">
               <template #default="scope">
+                <el-button
+                  type="primary"
+                  :disabled="disabledPreview"
+                  @click="downloadFileId2(scope.row)"
+                  >涓嬭浇</el-button
+                >
                 <el-button
                   type="danger"
                   :disabled="disabledPreview"
@@ -238,6 +250,7 @@
             type="primary"
             icon="view"
             size="small"
+            :disabled="judgeDisabled == 'true'"
             >鏌ョ湅绀轰緥鍥�</el-button
           >
         </el-form-item>
diff --git a/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue b/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue
index 94e1e24e69f6c7f45eec551339d6d8b35e118714..d4f5da8d08737601cffbe50f311143cc94e09999 100644
--- a/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue
+++ b/WebSite/src/views/item-entry/exante-performance-evaluation-function/index.vue
@@ -395,7 +395,7 @@
 </template>
 
 <script>
-import { reactive, toRefs, onActivated } from 'vue';
+import { reactive, toRefs, onActivated, onMounted } from 'vue';
 import { use } from 'echarts/core';
 import { ElNotification, ElMessage } from 'element-plus';
 import ProjectType from '@/api/projectType';
@@ -446,11 +446,14 @@ export default {
       examineFormData: new FormData(),
     });
     Moment,
+    onMounted(() => {
+       getProjectInfoPage();
+    })
     onActivated(() => {
-      getProjectInfoPage(data.queryProjectInfo);
+      getProjectInfoPage();
     });
-    const getProjectInfoPage = async (queryProjectInfo) => {
-      const res = await ProjectType.getDeptProjectInfoPage(queryProjectInfo);
+    const getProjectInfoPage = async () => {
+      const res = await ProjectType.getDeptProjectInfoPage(data.queryProjectInfo);
       data.exantePerformanceTableInfo = res;
       // data.exantePerformanceTableInfo.data.forEach((x) => {
       //   if (x.stateCode == 1) {
@@ -490,10 +493,10 @@ export default {
     };
     const onAddIndexLibrary = async () => {
       ProjectType.addValid().then((res) => {
-        if (res.data && res.data.length > 0) {
+        if (res.data && res.data.length > 1) {
           ElMessage.warning('褰撳墠宸叉棤鐢虫姤鏉冮檺,濡傞渶鐢虫姤璇疯仈绯昏储鍔″寮€閫氭潈闄�');
           return;
-        } else {
+        } else { 
           router.push({
             path: `/i/item-entry/exante-performance-evaluation-function-edit`,
             query: {
@@ -675,7 +678,6 @@ export default {
 
       const res = await ProjectType.temporarySave(data.form);
       if (res.description == '鎴愬姛') {
-        debugger;
         data.judgeDisabled = false;
         data.isEdit = true;
         data.form = {};
diff --git a/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue b/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue
index ee840765aeda8c6080452638b5870caed5fa7ff9..ea992b712533f46922daef7535e0c981c5d0f0d5 100644
--- a/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue
+++ b/WebSite/src/views/item-entry/exante-performance-inquiry/index.vue
@@ -91,19 +91,19 @@
             align="center"
           ></el-table-column>
           <el-table-column label="鎿嶄綔" align="center " width="450px">
-            <template #default="scoped">
+            <template #default="scope">
               <el-button
                 v-if="
-                  scoped.row.stateCode == 2 ||
-                  scoped.row.stateCode == 6 ||
-                  scoped.row.stateCode == 10 ||
-                  scoped.row.stateCode == 15
+                  scope.row.stateCode == 2 ||
+                  scope.row.stateCode == 6 ||
+                  scope.row.stateCode == 10 ||
+                  scope.row.stateCode == 15
                 "
                 plain
                 type="success"
                 icon="check"
                 size="small"
-                @click="onPass(scoped.row)"
+                @click="onPass(scope.row)"
                 >閫氳繃</el-button
               >
               <el-button
@@ -112,15 +112,15 @@
                 icon="close"
                 size="small"
                 v-if="
-                  scoped.row.stateCode == 2 ||
-                  scoped.row.stateCode == 4 ||
-                  scoped.row.stateCode == 6 ||
-                  scoped.row.stateCode == 7 ||
-                  scoped.row.stateCode == 10 ||
-                  scoped.row.stateCode == 11 ||
-                  scoped.row.stateCode == 15
+                  scope.row.stateCode == 2 ||
+                  scope.row.stateCode == 4 ||
+                  scope.row.stateCode == 6 ||
+                  scope.row.stateCode == 7 ||
+                  scope.row.stateCode == 10 ||
+                  scope.row.stateCode == 11 ||
+                  scope.row.stateCode == 15
                 "
-                @click="onBack(scoped.row)"
+                @click="onBack(scope.row)"
                 >閫€鍥�</el-button
               >
               <el-button
@@ -128,7 +128,7 @@
                 type="primary"
                 icon="download"
                 size="small"
-                @click="onDownLoad(scoped.row)"
+                @click="onDownLoad(scope.row)"
                 >涓嬭浇</el-button
               >
               <el-button
@@ -136,7 +136,7 @@
                 type="info"
                 icon="View"
                 size="small"
-                @click="onPreView(scoped.row)"
+                @click="onPreView(scope.row)"
                 >棰勮</el-button
               >
               <el-button
@@ -144,7 +144,7 @@
                 type="primary"
                 icon="View"
                 size="small"
-                @click="onView(scoped.row)"
+                @click="onView(scope.row)"
                 >鏌ョ湅椤圭洰瀹℃牳</el-button
               >
               <el-button
@@ -152,8 +152,8 @@
                 type="primary"
                 icon="View"
                 size="small"
-                v-if="scoped.row.stateCode >= 9 && scoped.row.stateCode <= 16"
-                @click="onLook(scoped.row)"
+                v-if="scope.row.stateCode >= 9 && scope.row.stateCode <= 16"
+                @click="onLook(scope.row)"
                 >鏌ョ湅涓€绾ч」鐩寚鏍�</el-button
               >
               <el-button
@@ -161,8 +161,8 @@
                 type="primary"
                 icon="edit"
                 size="small"
-                v-if="scoped.row.stateCode >= 2 && scoped.row.stateCode <= 8"
-                @click="onWrite(scoped.row)"
+                v-if="scope.row.stateCode >= 2 && scope.row.stateCode <= 8"
+                @click="onWrite(scope.row)"
                 >濉啓涓€绾ч」鐩悕绉�</el-button
               >
             </template>
@@ -256,7 +256,7 @@
         </span>
       </template>
     </el-dialog>
-    <!-- 濉啓 -->
+    <!-- 濉啓/鏌ョ湅 -->
     <el-dialog
       top="220px"
       v-model="onWriteDialog"
@@ -409,28 +409,32 @@ export default {
       data.onBackDialog = true;
     };
     const onPass = (row) => {
-      ElMessageBox.confirm('鏄惁纭閫氳繃?', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning',
-      })
-        .then(() => {
-          exantePerformanceInquiry
-            .financeAudit({ auditType: 1, parentId: row.id })
-            .then(() => {
-              ElMessage.success('閫氳繃鎴愬姛');
-              getFinanceProjectInfoPage();
-            })
-            .catch(() => {
-              ElMessage.error('閫氳繃澶辫触');
-            });
+      if (row.projectTypeName == null) {
+        ElMessage.warning('璇峰~鍐欎竴绾ч」鐩悕绉板悗鍐嶅鏍革紒');
+      } else {
+        ElMessageBox.confirm('鏄惁纭閫氳繃?', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning',
         })
-        .catch(() => {
-          ElMessage({
-            type: 'info',
-            message: '鍙栨秷閫氳繃',
+          .then(() => {
+            exantePerformanceInquiry
+              .financeAudit({ auditType: 1, parentId: row.id })
+              .then(() => {
+                ElMessage.success('閫氳繃鎴愬姛');
+                getFinanceProjectInfoPage();
+              })
+              .catch(() => {
+                ElMessage.error('閫氳繃澶辫触');
+              });
+          })
+          .catch(() => {
+            ElMessage({
+              type: 'info',
+              message: '鍙栨秷閫氳繃',
+            });
           });
-        });
+      }
     };
     //鏌ョ湅瀹℃牳鎰忚
     const onView = (row) => {
@@ -474,6 +478,7 @@ export default {
         query: {
           id: row.id,
           judgepreview: true,
+          preview: 1,
         },
       });
     };
@@ -484,11 +489,11 @@ export default {
     };
     const onWrite = (row) => {
       data.formDataWrite.id = row.id;
-      data.formDataWrite.projectTypeName = row.projectTypeName;
       data.formDataWrite.disabled = false;
       data.onWriteDialog = true;
     };
-    const onLook = () => {
+    const onLook = (row) => {
+      data.formDataWrite.projectTypeName = row.projectTypeName;
       data.formDataWrite.disabled = true;
       data.onWriteDialog = true;
     };
diff --git a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
index 3e11e5e445bd66978ab71d87e747524ceac20262..f81500fac747956329a207920e71e0657dc448ad 100644
--- a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
+++ b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
@@ -215,7 +215,7 @@
           :page="queryInfo.pageIndex"
           :limit="queryInfo.pageSize"
           :total="dataCount"
-          @pagination="changePage"
+          @pagination="changePageQueryInfo"
         />
       </div>
     </el-card>
@@ -315,12 +315,17 @@
         <div v-if="activeName == 'first'" class="filter-container">
           <el-form :inline="true" class="demo-form-inline">
             <el-form-item>
-              <el-button plain type="primary" icon="edit" size="small" @click="clickRemark"
+              <el-button
+                plain
+                type="primary"
+                icon="edit"
+                size="small"
+                @click="clickRemark"
                 >鍙嶉棰勫鎰忚</el-button
               >
-              <el-button plain type="primary" icon="view" size="small" @click="downloadRemark2"
+              <!-- <el-button plain type="primary" icon="view" size="small" @click="downloadRemark2"
                 >鏌ョ湅鍙嶉棰勫鎰忚</el-button
-              >
+              > -->
             </el-form-item>
           </el-form>
           <el-table
@@ -888,13 +893,8 @@
               >
             </el-form-item>
             <el-form-item>
-              <el-button plain type="primary" icon="Select" size="small"
-                >鎵归噺閫氳繃</el-button
-              >
-            </el-form-item>
-            <el-form-item>
-              <el-button plain type="primary" icon="Close" size="small"
-                >鎵归噺閫€鍥�</el-button
+              <el-button plain type="primary" icon="edit" size="small"
+                >鎵归噺鍙嶉</el-button
               >
             </el-form-item>
             <el-form-item>
@@ -910,11 +910,6 @@
                 >
               </el-upload>
             </el-form-item>
-            <el-form-item>
-              <el-button plain type="primary" icon="edit" size="small"
-                >鎵归噺鍙嶉</el-button
-              >
-            </el-form-item>
           </el-form>
           <el-form :inline="true" class="demo-form-inline">
             <el-form-item> 鐢虫姤椤圭洰鎬绘暟锛�0 </el-form-item>
@@ -1573,6 +1568,7 @@ export default {
       queryInfo: {
         budYear: '',
         entrustmentState: '',
+        deptName: '',
         pageIndex: 1,
         pageSize: 10,
       },
@@ -1585,7 +1581,7 @@ export default {
         pageIndex: 1,
         pageSize: 10,
       },
-      selectionChangeReviewId:[],//瀛樻斁椤圭洰棰勫閫夋嫨鐨勬暟鎹甶d
+      selectionChangeReviewId: [], //瀛樻斁椤圭洰棰勫閫夋嫨鐨勬暟鎹甶d
       addExpertTableInfo: {
         tableInfo: [],
         pageIndex: 1,
@@ -1652,6 +1648,12 @@ export default {
       getEnstrustmentStateEnumList();
       getClaimEnutrustmentList();
     });
+    //澶栭潰澶ц〃鏍煎垏鎹㈠垎椤�
+    const changePageQueryInfo = (val) => {
+      data.queryInfo.pageIndex = val.page;
+      data.queryInfo.pageSize = val.limit;
+      getClaimEnutrustmentList();
+    };
     //鍒囨崲鍒嗛〉
     const changePage = () => {};
     //閬撮€変笓瀹� 鍒囨崲鍒嗛〉
@@ -1659,7 +1661,7 @@ export default {
     //椤圭洰棰勫 鍒囨崲鍒嗛〉
     const changeReviewPage = (val) => {
       operation
-        .getPreliminaryPage({
+        .getPreliminaryList({
           entrustmentId: data.reviewTableInfo.id,
           pageIndex: val.page,
           pageSize: val.limit,
@@ -1734,7 +1736,7 @@ export default {
       data.reviewTableInfo.id = row.id;
       data.reviewTableInfo.projectNum = row.projectNum;
       operation
-        .getPreliminaryPage({
+        .getPreliminaryList({
           entrustmentId: row.id,
           pageIndex: data.reviewTableInfo.pageIndex,
           pageSize: data.reviewTableInfo.pageSize,
@@ -1748,12 +1750,20 @@ export default {
     };
     //閫夋嫨椤圭洰棰勫鐨勬暟鎹�
     const selectionChangeReview = (val) => {
-      data.selectionChangeReviewId = val.map(item=> item.id)
+      data.selectionChangeReviewId = val.map((item) => item.id);
     };
     //鍙嶉棰勫鎰忚
-    const clickRemark =() =>{
-
-    }
+    const clickRemark = () => {
+      if (data.selectionChangeReviewId.length == 0) {
+        ElMessage.warning('鑷冲皯閫夋嫨涓€鏉℃暟鎹�');
+      } else {
+        operation
+          .modifyByFeedbackIds({ ids: data.selectionChangeReviewId })
+          .then((res) => {
+            console.log(res);
+          });
+      }
+    };
     //鏌ョ湅鍙楃悊璁板綍
     const onWatchDetail = () => {
       console.log('鏌ョ湅鍙楃悊璁板綍');
@@ -1864,6 +1874,7 @@ export default {
     const getClaimEnutrustmentList = () => {
       operation.getClaimEnutrustmentList(data.queryInfo).then((res) => {
         data.exantePerformanceTableInfo.tableInfo = res.data;
+        data.dataCount = res.total;
       });
     };
     const getOfficeList = () => {
@@ -1914,6 +1925,7 @@ export default {
       onInquiryComplete,
       onConfirmAcceptance,
       onExpertDelete,
+      changePageQueryInfo,
       changePage,
       addExpert,
       onWatch,
diff --git a/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue b/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue
index 861efa7df63b924ec14266f6c33ea4645869265e..1494aaafdf3da9f0959818ad0390aefc0f4f017a 100644
--- a/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue
+++ b/WebSite/src/views/item-entry/pre-performance-review-of-the-project/index.vue
@@ -12,7 +12,7 @@
             icon="circle-close"
             size="small"
             @click="onPreliminaryOpinion"
-            >鍙嶉棰勫鎰忚</el-button
+            >鎵归噺鍙嶉棰勫鎰忚</el-button
           >
         </el-form-item>
         <el-form-item>
@@ -45,24 +45,12 @@
             type="index"
             width="50"
           ></el-table-column>
-          <el-table-column
-            class="positionStyle"
-            prop="number"
-            label="娴佹按鍙�"
-            align="center"
-          ></el-table-column>
           <el-table-column
             class="positionStyle"
             prop="projectNumber"
             label="椤圭洰缂栧彿"
             align="center"
           ></el-table-column>
-          <el-table-column
-            class="positionStyle"
-            prop="year"
-            label="鐢虫姤骞翠唤"
-            align="center"
-          ></el-table-column>
           <el-table-column
             class="positionStyle"
             prop="projectName"
@@ -173,18 +161,9 @@
         width="100%"
         border
         stripe
-        @selection-change="handleSelectionChange"
         header-cell-class-name="headStyle"
       >
-        <el-table-column type="selection"> </el-table-column>
-        <!-- <el-table-column type="index" width="50"> {{ (page - 1) * pageSize + scope.$index + 1 }}</el-table-column> -->
         <el-table-column label="搴忓彿" type="index" width="50"></el-table-column>
-        <el-table-column
-          class="positionStyle"
-          prop="number"
-          label="娴佹按鍙�"
-          align="center"
-        ></el-table-column>
         <el-table-column
           class="positionStyle"
           prop="projectCode"
@@ -337,7 +316,7 @@ export default {
         pageIndex: 1,
         pageSize: 10,
       },
-      exantePerformanceSelects: [],
+      exantePerformanceSelects: [],//鍕鹃€夌殑鏁版嵁id
       idState: '',
       LookInfo:{
         pageIndex:1,
@@ -346,7 +325,7 @@ export default {
     });
     onMounted(async () => {
       data.idState = router.currentRoute.value.query.ids;
-      await getPreliminaryPage();
+      await getPreliminaryList();
       // console.log('state', state);
       // console.log(
       //   'store.state.subject.judgeUser',
@@ -354,13 +333,10 @@ export default {
       // );
       // data.judgeUser = store.state.subject.judgeUser;
     });
-    const getPreliminaryPage = () => {
+    const getPreliminaryList = () => {
       operation
-        .getPreliminaryPage({
-          entrustmentId: data.idState,
-          pageIndex: 1,
-          pageSize: 20,
-          projectNumber: '',
+        .getPreliminaryList({
+          id: data.idState,
         })
         .then((res) => {
           data.exantePerformanceTableInfo.tableInfo = res.data;
@@ -382,13 +358,15 @@ export default {
     const onViewPreliminaryOpinionSure = () => {
       data.onBackDialog = true;
     };
-    //鍙嶉棰勫鎰忚
+    //鍙嶉棰勫鎰忚  
     const onPreliminaryOpinion = () => {
-      router.push('/i/item-entry/declaration-preview');
+      operation.modifyByFeedbackIds({ids:data.exantePerformanceSelects}).then((res) =>{
+        console.log(res)
+      })
     };
     const handleSelectionChange = (val) => {
       console.log(val);
-      data.exantePerformanceSelects = val;
+      data.exantePerformanceSelects = val.map(item => item.preliminaryId);
     };
     const onDistributionOffice = () => {
       data.onDistributionOfficeDialog = true;
@@ -406,19 +384,24 @@ export default {
       router.push({
         path: '/i/item-entry/antecedent-trial',
         query: {
-          id: row.id,
-          entrustmentId: data.entrustmentId,
-          projectId: row.projectId,
+          entrustmentId: row.entrustmentId,
+          preliminaryId: row.preliminaryId,
+          projectId: row.parentId,
         },
       });
     };
     const goBack = () => {
       router.go(-1);
     };
+    //涓嬭浇鐢虫姤涔�
+    const onDownloadDeclaration = async(row) =>{
+      const res = await ProjectType.downloadProjectPdf(row.parentId);
+      console.log(res)
+    }
     return {
       goBack,
       onInquiryCompleteSure,
-      getPreliminaryPage,
+      getPreliminaryList,
       onViewPreliminaryOpinionBackSure,
       onDownLoadPreliminaryOpinion,
       onViewPreliminaryOpinionSure,
@@ -430,6 +413,7 @@ export default {
       handleSelectionChange,
       onDistributionOffice,
       onDistributionOfficeSure,
+      onDownloadDeclaration,
       ...toRefs(data),
     };
   },
diff --git a/WebSite/src/views/item-entry/review-scheme-view/index.vue b/WebSite/src/views/item-entry/review-scheme-view/index.vue
index a31b4cd897cd8f166c874637d4ebfdc177d5cef2..ae507ba263ebe0df590687e5d1fc8edad0b55672 100644
--- a/WebSite/src/views/item-entry/review-scheme-view/index.vue
+++ b/WebSite/src/views/item-entry/review-scheme-view/index.vue
@@ -1695,7 +1695,8 @@ export default {
         path: `/i/item-entry/exante-performance-evaluation-function-edit`,
         query: {
           id: row.id,
-          judgepreview: true
+          judgepreview: true,
+          preview: 1,
         }
       });
     };
diff --git a/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue b/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue
index a82aa64b8f316d7bf825efb7df40ef474d0e625c..1871b37f2909a510f06f33ce44c6971f392f7cba 100644
--- a/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue
+++ b/WebSite/src/views/item-entry/trust-letter-management-finance/index.vue
@@ -120,8 +120,8 @@
                 size="small"
                 v-if="
                   scope.row.entrustmentState == 5 ||
-                    scope.row.entrustmentState == 6 ||
-                    scope.row.entrustmentState == 9
+                  scope.row.entrustmentState == 6 ||
+                  scope.row.entrustmentState == 9
                 "
                 @click="onDownLoadEntrustmentPdf(scope.row)"
                 >涓嬭浇</el-button
@@ -133,7 +133,7 @@
                 size="small"
                 v-if="
                   scope.row.entrustmentState != 1 &&
-                    scope.row.entrustmentState != 2
+                  scope.row.entrustmentState != 2
                 "
                 @click="onLook(scope.row)"
                 >鏌ョ湅</el-button
@@ -145,7 +145,7 @@
                 size="small"
                 v-if="
                   scope.row.entrustmentState == 1 ||
-                    scope.row.entrustmentState == 2
+                  scope.row.entrustmentState == 2
                 "
                 @click="onJudgePreView(scope.row)"
                 >瀹℃牳</el-button
@@ -266,7 +266,7 @@
       destroy-on-close
     >
       <el-form ref="formRef" label-width="80px">
-        <el-tabs type="border-card">
+        <el-tabs type="border-card" @tab-change="change">
           <el-tab-pane label="椤圭洰娓呭崟">
             <el-form :inline="true" class="demo-form-inline">
               <el-form-item>
@@ -391,7 +391,7 @@
                     icon="View"
                     size="small"
                     @click="onView(scope.row)"
-                    >鏌ョ湅棰勫鎰忚</el-button
+                    >鏌ョ湅瀹℃牳鎰忚</el-button
                   >
                 </template>
               </el-table-column>
@@ -399,7 +399,7 @@
           >
           <el-tab-pane label="棰勫缁撴灉"
             ><el-table
-              :data="onPreAuditTableInfo"
+              :data="PrequalificationTableInfo"
               highlight-current-row
               width="100%"
               border
@@ -408,16 +408,10 @@
             >
               <el-table-column
                 class="positionStyle"
-                prop="entrustmentNum"
+                prop="projectNumber"
                 label="椤圭洰缂栧彿"
                 align="center"
               ></el-table-column>
-              <el-table-column
-                class="positionStyle"
-                prop="budYear"
-                label="鐢虫姤骞翠唤"
-                align="center"
-              ></el-table-column>
               <el-table-column
                 class="positionStyle"
                 prop="deptName"
@@ -426,16 +420,10 @@
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="projectNum"
+                prop="projectName"
                 label="椤圭洰鍚嶇О"
                 align="center"
               ></el-table-column>
-              <el-table-column
-                class="positionStyle"
-                prop="projectState"
-                label="椤圭洰鐘舵€�"
-                align="center"
-              ></el-table-column>
               <el-table-column label="鎿嶄綔" align="center " width="450px">
                 <template #default="scope">
                   <!-- <el-button v-if="scope.row.judgePass" plain type="success" icon="check" size="small"
@@ -447,7 +435,7 @@
                     type="primary"
                     icon="download"
                     size="small"
-                    @click="onDownLoad(scope.row)"
+                    @click="downloadYushen(scope.row)"
                     >涓嬭浇</el-button
                   >
                   <el-button
@@ -455,7 +443,7 @@
                     type="info"
                     icon="View"
                     size="small"
-                    @click="onPreView(scope.row)"
+                    @click="onPreViewYushen(scope.row)"
                     >棰勮</el-button
                   >
                   <el-button
@@ -463,7 +451,7 @@
                     type="info"
                     icon="View"
                     size="small"
-                    @click="onView(scope.row)"
+                    @click="onViewYushen(scope.row)"
                     >鏌ョ湅棰勫鎰忚</el-button
                   >
                 </template>
@@ -481,7 +469,7 @@
             >
               <el-table-column
                 class="positionStyle"
-                prop="entrustmentNum"
+                prop="projectNumber"
                 label="椤圭洰缂栧彿"
                 align="center"
               ></el-table-column>
@@ -499,7 +487,7 @@
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="projectNum"
+                prop="projectName"
                 label="椤圭洰鍚嶇О"
                 align="center"
               ></el-table-column>
@@ -551,14 +539,25 @@
           >
         </el-tabs>
       </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="onJudgePreViewDialog = false">鍙� 娑�</el-button>
-          <el-button type="primary" @click="onJudgePreViewSure"
-            >纭� 瀹�</el-button
-          >
-        </span>
-      </template>
+    </el-dialog>
+    <!-- 棰勫缁撴灉鏌ョ湅瀹℃牳鎰忚 -->
+    <el-dialog
+      v-model="writeDialog"
+      title="甯傛暀濮旀湰閮ㄩ噸澶ч」鐩簨鍓嶈瘎浼颁簨鍔℃墍棰勫琛�"
+    >
+      <el-table
+        :data="tableData"
+        :span-method="arraySpanMethod"
+        border
+        style="width: 100%"
+      >
+        <el-table-column label="涓€绾ф寚鏍�" prop="name"> </el-table-column>
+        <el-table-column label="浜岀骇鎸囨爣" prop="size" />
+        <el-table-column label="璇勪及瑕佺偣" />
+        <el-table-column label="棰勫缁撹">
+          <el-input type="text"></el-input>
+        </el-table-column>
+      </el-table>
     </el-dialog>
   </div>
 </template>
@@ -568,6 +567,7 @@ import { onMounted, reactive, toRefs } from 'vue';
 import { use } from 'echarts/core';
 import { useRouter } from 'vue-router';
 import trustLetterManagementFinance from '@/api/trust-letter-management-finance';
+import FinanceOffice from '@/api/financeOffice';
 import Moment from 'moment';
 import { ElMessage, ElMessageBox } from 'element-plus';
 
@@ -578,13 +578,39 @@ export default {
   setup() {
     const router = useRouter();
     const data = reactive({
+      writeDialog: false,
+      tableObj: {
+        investedEconomic: '',
+        projectNecessityApproval: '',
+        rationalityPerformance: '',
+        feasibilityImplementationPlan: '',
+        financialSupportRationality: '',
+        controllabilityFinancingRisks: '',
+        materialIntegrity: '',
+        other: '',
+      },
+      tableData: [
+        {
+          name: '椤圭洰绔嬮」蹇呰鎬�',
+          size: '渚濇嵁鍏呭垎鎬�',
+        },
+        {
+          size: '闇€姹傝揩鍒囨€�',
+        },
+        {
+          size: '璐㈡斂鎶曞叆鐩稿叧鎬�',
+        },
+        {
+          name: '鎶曞叆缁忔祹鎬�',
+        },
+      ],
       flag: 0,
       queryInfo: {
-        budYear: 2023,
+        budYear: '',
         deptName: '',
         entrustmentState: '',
         pageIndex: 1,
-        pageSize: 10
+        pageSize: 10,
       },
       LookInfo: {
         pageIndex: 1,
@@ -594,16 +620,6 @@ export default {
       total: 6,
       queryGenerateDelegateInfo: {},
       projectStates: [],
-      // onEntrustingLetterTableInfo: [
-      //   {
-      //     projectNumber: '01001',
-      //     budYear: '2023-02-12',
-      //     positionStyle: '2023',
-      //     projectNum: 'test1',
-      //     projectState: '閫氳繃'
-      //   }
-      // ],
-      // onEntrustingLetterDialog: false,
       onJudgePreViewDialog: false,
       onPassDialog: false,
       onBackDialog: false,
@@ -613,6 +629,7 @@ export default {
       budYear: '',
       dataCount: 5,
       onPreAuditTableInfo: [],
+      PrequalificationTableInfo: [], //棰勫缁撴灉琛ㄦ牸
       onViewTableInfo: [
         {
           auditor: '寮犺暰',
@@ -631,6 +648,7 @@ export default {
         id: '',
         remark: '',
       },
+      rowId: '',
     });
     Moment,
       onMounted(() => {
@@ -638,43 +656,60 @@ export default {
         getEntrustmentPage();
       });
     const getEnstrustmentStateEnumList = () => {
-      trustLetterManagementFinance.getEnstrustmentStateEnumList().then(res => {
-        data.projectStates = res.data;
-      });
+      trustLetterManagementFinance
+        .getEnstrustmentStateEnumList()
+        .then((res) => {
+          data.projectStates = res.data;
+        });
     };
     const getEntrustmentPage = () => {
       trustLetterManagementFinance
         .getEntrustmentPage(data.queryInfo)
-        .then(res => {
+        .then((res) => {
           data.exantePerformanceTableInfo.tableInfo = res.data;
           data.queryInfo.pageIndex = res.pageIndex;
           data.queryInfo.pageSize = res.pageSize;
           data.dataCount = res.total;
         });
     };
-    const changePage = val => {
+    const changePage = (val) => {
       data.queryInfo.pageIndex = val.page;
       data.queryInfo.pageSize = val.limit;
       getEntrustmentPage();
     };
-    const exantePerformanceEdite = row => {
+    const exantePerformanceEdite = (row) => {
       data.onEditeIndexDialog = true;
       data.editInfo.num = row.num;
       data.editInfo.id = row.id;
     };
     const onEditeSure = () => {
       data.onEditeIndexDialog = false;
-      data.exantePerformanceTableInfo.tableInfo.forEach(res => {
+      data.exantePerformanceTableInfo.tableInfo.forEach((res) => {
         if (res.id == data.editInfo.id) {
           res.num = data.editInfo.num;
         }
       });
     };
+    const change = (val) => {
+      if (val == 0) {
+        trustLetterManagementFinance
+          .getProjectListByEntrustmentId({ id: data.rowId })
+          .then((res) => {
+            data.onPreAuditTableInfo = res.data;
+          });
+      } else if (val == 1) {
+        FinanceOffice.getPreliminaryList({ id: data.rowId }).then((res) => {
+          data.PrequalificationTableInfo = res.data;
+        });
+      } else {
+        console.log(222);
+      }
+    };
     // 鏌ヨ
     const onQuery = async () => {
       getEntrustmentPage();
-      data.exantePerformanceSelects.forEach(r => {
-        data.exantePerformanceTableInfo.tableInfo.map(x => {
+      data.exantePerformanceSelects.forEach((r) => {
+        data.exantePerformanceTableInfo.tableInfo.map((x) => {
           if (x.id == r.id) {
             return (x.enableOrNot = '鏄�');
           }
@@ -686,7 +721,7 @@ export default {
       );
     };
 
-    const handleSelectionChange = val => {
+    const handleSelectionChange = (val) => {
       console.log(val);
       data.exantePerformanceSelects = val;
     };
@@ -696,17 +731,18 @@ export default {
       data.flag = 1;
       trustLetterManagementFinance
         .getProjectListByEntrustmentId({ id: row.id })
-        .then(res => {
+        .then((res) => {
           data.onPreAuditTableInfo = res.data;
           data.onJudgePreViewDialog = true;
         });
     };
     //鏌ョ湅
     const onLook = (row) => {
+      data.rowId = row.id;
       data.flag = 0;
       trustLetterManagementFinance
         .getProjectListByEntrustmentId({ id: row.id })
-        .then(res => {
+        .then((res) => {
           data.onPreAuditTableInfo = res.data;
         });
       data.onJudgePreViewDialog = true;
@@ -718,7 +754,7 @@ export default {
       );
       console.log(res);
     };
-    //涓嬭浇椤圭洰鐢虫姤
+    //椤圭洰娓呭崟-涓嬭浇椤圭洰鐢虫姤
     const onDownLoad = async (row) => {
       const res = await trustLetterManagementFinance.downloadProjectPdf(row.id);
       console.log(res);
@@ -731,7 +767,34 @@ export default {
       data.formBack.id = row.id;
       data.onBackDialog = true;
     };
-    //鍗曚釜閫€鍥�
+    //椤圭洰娓呭崟-棰勮
+    const onPreView = (row) => {
+      router.push({
+        path: `/i/item-entry/exante-performance-evaluation-function-edit`,
+        query: {
+          id: row.id,
+          judgepreview: true,
+          preview: 1,
+        },
+      });
+    };
+    //椤圭洰娓呭崟-鏌ョ湅瀹℃牳鎰忚
+    const onView = (row) => {
+      data.LookInfo.parentId = row.id;
+      trustLetterManagementFinance
+        .getProjectAuditOpinionPage({
+          ...data.LookInfo,
+          type: 1,
+        })
+        .then((res) => {
+          data.onViewTableInfo = res.data;
+          data.LookInfo.pageIndex = res.pageIndex;
+          data.LookInfo.pageSize = res.pageSize;
+          data.total = res.total;
+        });
+      data.onViewDialog = true;
+    };
+    //椤圭洰娓呭崟-鍗曚釜閫€鍥�
     const onBackSure = () => {
       trustLetterManagementFinance
         .batchAuditBack({ id: data.EntrustmentId, ids: [data.formBack.id] })
@@ -744,7 +807,7 @@ export default {
           }
         });
     };
-    //鍗曚釜閫氳繃
+    //椤圭洰娓呭崟-鍗曚釜閫氳繃
     const onPass = (row) => {
       ElMessageBox.confirm('鏄惁纭閫氳繃?', {
         confirmButtonText: '纭畾',
@@ -756,6 +819,7 @@ export default {
             .batchAuditPass({ id: data.EntrustmentId, ids: new Array(row.id) })
             .then(() => {
               ElMessage.success('閫氳繃鎴愬姛');
+              data.onJudgePreViewDialog = false;
               getEntrustmentPage();
             })
             .catch(() => {
@@ -770,40 +834,7 @@ export default {
           });
         });
     };
-    //鏌ョ湅瀹℃牳鎰忚
-    const onView = (row) => {
-      data.LookInfo.parentId = row.id;
-      trustLetterManagementFinance
-        .getProjectAuditOpinionPage({
-          ...data.LookInfo,
-          type: 1,
-        })
-        .then((res) => {
-          data.onViewTableInfo = res.data;
-          data.LookInfo.pageIndex = res.pageIndex;
-          data.LookInfo.pageSize = res.pageSize;
-          data.total = res.total;
-        });
-      data.onViewDialog = true;
-    };
-    const changePageLook = (val) => {
-      data.LookInfo.pageIndex = val.page;
-      data.LookInfo.pageSize = val.limit;
-      trustLetterManagementFinance
-        .getProjectAuditOpinionPage({
-          ...data.LookInfo,
-          type: 1,
-        })
-        .then((res) => {
-          data.onViewTableInfo = res.data;
-          data.total = res.total;
-        });
-    };
-    //瀹℃牳閫夊彇鏁版嵁
-    const handleSelectionChangeLook = (val) => {
-      data.lookSelrcts = val.map((item) => item.id);
-    };
-    //鎵归噺閫氳繃
+    //椤圭洰娓呭崟-鎵归噺閫氳繃
     const batchAuditPass = () => {
       trustLetterManagementFinance
         .batchAuditPass({ id: data.EntrustmentId, ids: data.lookSelrcts })
@@ -815,7 +846,7 @@ export default {
           }
         });
     };
-    //鎵归噺閫€鍥�
+    //椤圭洰娓呭崟-鎵归噺閫€鍥�
     const batchAuditBack = () => {
       trustLetterManagementFinance
         .batchAuditBack({ id: data.EntrustmentId, ids: data.lookSelrcts })
@@ -827,18 +858,57 @@ export default {
           }
         });
     };
-    //棰勮
-    const onPreView = (row) => {
+    //棰勫缁撴灉-涓嬭浇
+    const downloadYushen = async (row) => {
+      const res = await trustLetterManagementFinance.downloadProjectPdf(
+        row.preliminaryid
+      );
+      console.log(res);
+    };
+    //棰勫缁撴灉-棰勮
+    const onPreViewYushen = (row) => {
+      console.log(row);
       router.push({
         path: `/i/item-entry/exante-performance-evaluation-function-edit`,
         query: {
-          id: row.id,
+          id: row.parentId,
           judgepreview: true,
+          preview: 1,
         },
       });
-      // router.push('/i/item-entry/declaration-preview');
     };
-
+    //棰勫缁撴灉-鏌ョ湅棰勫鎰忚
+    const onViewYushen = (row) => {
+      if (row.preliminaryId == null) {
+        ElMessage.warning('鏆傛棤棰勫鎰忚');
+        data.writeDialog = true;
+      } else {
+        FinanceOffice.getPreliminaryById({ id: row.preliminaryid }).then(
+          (res) => {
+            data.tableObj = res.data[0];
+            data.writeDialog = true;
+          }
+        );
+      }
+    };
+    //鏌ョ湅瀹℃牳鎰忚鐨勫垎椤�
+    const changePageLook = (val) => {
+      data.LookInfo.pageIndex = val.page;
+      data.LookInfo.pageSize = val.limit;
+      trustLetterManagementFinance
+        .getProjectAuditOpinionPage({
+          ...data.LookInfo,
+          type: 1,
+        })
+        .then((res) => {
+          data.onViewTableInfo = res.data;
+          data.total = res.total;
+        });
+    };
+    //瀹℃牳閫夊彇鏁版嵁
+    const handleSelectionChangeLook = (val) => {
+      data.lookSelrcts = val.map((item) => item.id);
+    };
     const onJudgeView = () => {
       data.onViewDialog = true;
     };
@@ -849,6 +919,33 @@ export default {
     //   data.onEntrustingLetterDialog = true;
     // };
     const selectYear = () => {};
+    const arraySpanMethod = (row) => {
+      if (row.columnIndex === 0) {
+        if (row.rowIndex === 0) {
+          return {
+            rowspan: 3,
+            colspan: 1,
+          };
+        } else  {
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
+        }
+      }else if(row.columnIndex === 1){
+        if (row.rowIndex === 0) {
+          return {
+            rowspan: 1,
+            colspan: 1,
+          };
+        } else if (row.rowIndex === 1) {
+          return {
+            rowspan: 1,
+            colspan: 1,
+          };
+        }
+      }
+    };
     return {
       Moment,
       getEnstrustmentStateEnumList,
@@ -858,6 +955,7 @@ export default {
       onBack,
       onPass,
       onPreView,
+      change,
       onQuery,
       onBackSure,
       onGenerateDelegateQuery,
@@ -874,11 +972,15 @@ export default {
       handleSelectionChange,
       batchAuditPass,
       batchAuditBack,
+      downloadYushen,
+      onPreViewYushen,
+      onViewYushen,
       exantePerformanceEdite,
+      arraySpanMethod,
       // onEntrustingLetter,
-      ...toRefs(data)
+      ...toRefs(data),
     };
-  }
+  },
 };
 </script>
 
diff --git a/WebSite/src/views/item-entry/trust-letter-management/index.vue b/WebSite/src/views/item-entry/trust-letter-management/index.vue
index d7a52ed78d4304db38fd8f07bf2b9e05a28d953c..48be551c6369185b3a997153f1621c4701eb6cf1 100644
--- a/WebSite/src/views/item-entry/trust-letter-management/index.vue
+++ b/WebSite/src/views/item-entry/trust-letter-management/index.vue
@@ -9,6 +9,7 @@
             value-format="YYYY"
             placeholder="璇烽€夋嫨骞翠唤"
             @change="selectYear"
+            clearable
           />
         </el-form-item>
         <!-- <el-form-item label="涓氬姟澶勫锛�">
@@ -19,6 +20,7 @@
             v-model="queryInfo.entrustmentState"
             placeholder="璇烽€夋嫨"
             style="width: 100%"
+            clearable
           >
             <el-option
               v-for="item in projectStates"
@@ -139,8 +141,6 @@
                 @click="handleClick(scope.row)"
                 >鏌ョ湅</el-button
               >
-              <!-- <el-button plain type="primary" icon="View" size="small" v-if="scope.row.judgeView"
-                @click="onJudgeView(scope.row)">瀹℃牳</el-button> -->
               <el-button
                 plain
                 type="primary"
@@ -200,7 +200,7 @@
         </span>
       </template>
     </el-dialog>
-    <!-- 鏌ョ湅瀹℃牳鎰忚 -->
+    <!-- 椤圭洰娓呭崟鏌ョ湅瀹℃牳鎰忚 -->
     <el-dialog
       top="220px"
       title="鏌ョ湅瀹℃牳鎰忚"
@@ -262,16 +262,8 @@
       destroy-on-close
     >
       <el-form ref="formRef" label-width="80px">
-        <el-tabs type="border-card">
+        <el-tabs type="border-card" @tab-change="change">
           <el-tab-pane label="椤圭洰娓呭崟">
-            <!-- <el-form :inline="true" class="demo-form-inline">
-              <el-form-item>
-                <el-button plain type="primary" icon="Search" size="small" @click="onQuery">鎵归噺閫氳繃</el-button>
-              </el-form-item>
-              <el-form-item>
-                <el-button plain type="primary" icon="Search" size="small" @click="onQuery">鎵归噺閫€鍥�</el-button>
-              </el-form-item>
-            </el-form> -->
             <el-table
               :data="onPreAuditTableInfo"
               highlight-current-row
@@ -294,7 +286,7 @@
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="deptCodeAuthorName"
+                prop="deptName"
                 label="涓氬姟澶勫"
                 align="center"
               ></el-table-column>
@@ -310,7 +302,7 @@
                 label="椤圭洰鐘舵€�"
                 align="center"
               ></el-table-column>
-              <el-table-column label="鎿嶄綔" align="center " width="450px">
+              <el-table-column label="鎿嶄綔" align="center " width="400px">
                 <template #default="scope">
                   <el-button
                     plain
@@ -347,15 +339,15 @@
                     icon="View"
                     size="small"
                     @click="onView(scope.row)"
-                    >鏌ョ湅棰勫鎰忚</el-button
+                    >鏌ョ湅瀹℃牳鎰忚</el-button
                   >
                 </template>
               </el-table-column>
             </el-table></el-tab-pane
           >
-          <el-tab-pane label="棰勫缁撴灉"
-            ><el-table
-              :data="onPreAuditTableInfo"
+          <el-tab-pane label="棰勫缁撴灉">
+            <el-table
+              :data="PrequalificationTableInfo"
               highlight-current-row
               width="100%"
               border
@@ -364,16 +356,10 @@
             >
               <el-table-column
                 class="positionStyle"
-                prop="serialNumber"
+                prop="projectNumber"
                 label="椤圭洰缂栧彿"
                 align="center"
               ></el-table-column>
-              <el-table-column
-                class="positionStyle"
-                prop="budYear"
-                label="鐢虫姤骞翠唤"
-                align="center"
-              ></el-table-column>
               <el-table-column
                 class="positionStyle"
                 prop="deptName"
@@ -382,16 +368,10 @@
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="projectNum"
+                prop="projectName"
                 label="椤圭洰鍚嶇О"
                 align="center"
               ></el-table-column>
-              <el-table-column
-                class="positionStyle"
-                prop="entrustmentState"
-                label="椤圭洰鐘舵€�"
-                align="center"
-              ></el-table-column>
               <el-table-column label="鎿嶄綔" align="center " width="450px">
                 <template #default="scope">
                   <!-- <el-button v-if="scope.row.judgePass" plain type="success" icon="check" size="small"
@@ -403,7 +383,7 @@
                     type="primary"
                     icon="download"
                     size="small"
-                    @click="onDownLoad(scope.row)"
+                    @click="downloadYushen(scope.row)"
                     >涓嬭浇</el-button
                   >
                   <el-button
@@ -411,7 +391,7 @@
                     type="info"
                     icon="View"
                     size="small"
-                    @click="onPreView(scope.row)"
+                    @click="onPreViewYushen(scope.row)"
                     >棰勮</el-button
                   >
                   <el-button
@@ -419,13 +399,13 @@
                     type="info"
                     icon="View"
                     size="small"
-                    @click="onView(scope.row)"
+                    @click="onViewYushen(scope.row)"
                     >鏌ョ湅棰勫鎰忚</el-button
                   >
                 </template>
               </el-table-column>
-            </el-table></el-tab-pane
-          >
+            </el-table>
+          </el-tab-pane>
           <el-tab-pane label="璇勫缁撴灉"
             ><el-table
               :data="onViewAppraisalResultTableInfo"
@@ -437,7 +417,7 @@
             >
               <el-table-column
                 class="positionStyle"
-                prop="serialNumber"
+                prop="projectNumber"
                 label="椤圭洰缂栧彿"
                 align="center"
               ></el-table-column>
@@ -455,7 +435,7 @@
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="projectNum"
+                prop="projectName"
                 label="椤圭洰鍚嶇О"
                 align="center"
               ></el-table-column>
@@ -507,15 +487,197 @@
           >
         </el-tabs>
       </el-form>
+    </el-dialog>
+    <!-- 棰勫缁撴灉鏌ョ湅瀹℃牳鎰忚 -->
+    <el-drawer
+      v-model="writeDialog"
+      :direction="direction"
+      :before-close="handleClose"
+      size="40%"
+      :lock-scroll="false"
+    >
+      <table border="1" class="tab_table2" cellspacing="0">
+        <tr>
+          <td colspan="4">甯傛暀濮旀湰閮ㄩ噸澶ч」鐩簨鍓嶈瘎浼颁簨鍔℃墍棰勫琛�</td>
+        </tr>
+        <tr>
+          <td>涓€绾ф寚鏍�</td>
+          <td>浜岀骇鎸囨爣</td>
+          <td>璇勪及瑕佺偣</td>
+          <td>棰勫缁撹</td>
+        </tr>
+        <tr>
+          <td rowspan="3">椤圭洰绔嬮」蹇呰鎬�</td>
+          <td>渚濇嵁鍏呭垎鎬�</td>
+          <td>
+            椤圭洰鍐呭涓庡浗瀹躲€佹湰甯傚畯瑙傛斂绛栥€佽涓氭斂绛栫浉绗︼紝涓庢湰閮ㄩ棬鑱岃兘銆佺浉鍏充笓椤硅鍒掋€佸綋骞撮噸鐐瑰伐浣滅浉绗�
+          </td>
+          <td rowspan="3">
+            <el-input
+              v-model="tableObj.investedEconomic"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td>闇€姹傝揩鍒囨€�</td>
+          <td>椤圭洰鏈夌‘瀹氱殑鏈嶅姟瀵硅薄鎴栧彈鐩婂璞★紝鐜板疄闇€姹傝揩鍒囷紝娌℃湁鍙浛浠f€�</td>
+        </tr>
+        <tr>
+          <td>璐㈡斂鎶曞叆鐩稿叧鎬�</td>
+          <td>椤圭洰鍏锋湁鍏叡鎬э紝灞炰簬鍏叡璐㈡斂鏀寔鐨勮寖鍥�</td>
+        </tr>
+        <tr>
+          <td rowspan="3">鎶曞叆缁忔祹鎬�</td>
+          <td>鎶曞叆璧勯噾璁鸿瘉鍏呭垎鎬�</td>
+          <td>瀵规姇鍏ラ噺缁忚繃浜嗗繀瑕佺殑瀹℃牳杩囩▼</td>
+          <td rowspan="3">
+            <el-input
+              v-model="tableObj.projectNecessityApproval"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td>棰勭畻缂栧埗绉戝鍚堢悊鎬�</td>
+          <td>椤圭洰棰勭畻涓庨」鐩唴瀹圭浉鍖归厤</td>
+        </tr>
+        <tr>
+          <td>閲嶅鎶曞叆椋庨櫓</td>
+          <td>
+            娌℃湁绫讳技椤圭洰寰楀埌璐㈡斂璧勯噾鏀寔锛岄渶姹傝€咃紙鍙楃泭瀵硅薄锛夌殑闇€姹傛病鏈夊叾浠栧悓绫婚」鐩噸澶嶆姇鍏�
+          </td>
+        </tr>
+        <tr>
+          <td rowspan="3">缁╂晥鐩爣鍚堢悊鎬�</td>
+          <td>缁╂晥鐩爣鏄庣‘鎬�</td>
+          <td>缁╂晥鐩爣鎸囧悜鏄庣‘锛屼笖涓庨儴闂ㄩ暱鏈熻鍒掔洰鏍囥€佸勾搴﹀伐浣滅洰鏍囦竴鑷�</td>
+          <td rowspan="3">
+            <el-input
+              v-model="tableObj.rationalityPerformance"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td>缁╂晥鐩爣鐩稿叧鎬�</td>
+          <td>
+            缁╂晥鐩爣涓庨」鐩璁¤В鍐崇殑闂鍖归厤锛屼笌椤圭洰鍐呭銆侀」鐩粡璐规敮鍑鸿寖鍥村尮閰�
+          </td>
+        </tr>
+        <tr>
+          <td>缁╂晥鐩爣鍙绋嬪害</td>
+          <td>
+            缁╂晥鐩爣鍦ㄤ竴瀹氭湡闄愬唴鍏锋湁杈冨己鐨勫彲瀹炵幇鎬э紝鍏锋湁涓€瀹氱殑鍓嶇灮鎬у拰鎸戞垬鎬�
+          </td>
+        </tr>
+        <tr>
+          <td rowspan="3">瀹炴柦鏂规鍙鎬�</td>
+          <td>鍓嶆湡绛瑰瀹屽鎬�</td>
+          <td>椤圭洰缁忚繃蹇呰鐨勮皟鐮斻€侀闄╄瘎浼扮瓑鍓嶆湡宸ヤ綔</td>
+          <td rowspan="3">
+            <el-input
+              v-model="tableObj.feasibilityImplementationPlan"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td>瀹炴柦璁″垝鍚堢悊鎬�</td>
+          <td>
+            椤圭洰瀹炴柦璁″垝瀹屾暣銆佸彲琛屻€佸悎鐞嗭紝鍏峰鏄庣‘鐨勯」鐩寖鍥淬€侀」鐩唴瀹广€侀」鐩粍缁囥€佽繘搴﹀畨鎺掞紝椤圭洰鐩稿叧鐨勫熀纭€璁炬柦銆佽澶囨潯浠惰兘澶熷緱浠ユ湁鏁堜繚闅�
+          </td>
+        </tr>
+        <tr>
+          <td>椤圭洰绠$悊鏈哄埗鍋ュ叏鎬�</td>
+          <td>
+            椤圭洰鍏峰椤圭洰璐ㄩ噺鏍囧噯銆佹斂搴滈噰璐涓虹害鏉熸満鍒讹紙瀵逛簬娑夊強鏀垮簻閲囪喘琛屼负鐨勯」鐩級銆侀」鐩墽琛岃繃绋嬬鎺ф帾鏂芥垨鏈哄埗銆侀」鐩缓鍚庣淮鎶ゆ満鍒讹紙瀵逛簬淇℃伅鍖栧缓璁剧被椤圭洰锛夈€佽祫鏂欏綊妗f満鍒讹紝鐩稿叧鎺柦銆佹満鍒惰兘澶熶繚璇侀」鐩『鍒╁疄鏂�
+          </td>
+        </tr>
+        <tr>
+          <td rowspan="2">绛硅祫鍚堣鎬�</td>
+          <td>璧勯噾鏀寔鍚堢悊鎬�</td>
+          <td>
+            娌℃湁涓庡叾瀹冮」鐩殑鏀寔鑼冨洿鍜屽璞″瓨鍦ㄤ氦鍙夐噸鍙狅紱璧勯噾鏀寔鏂瑰紡绉戝鍚堢悊銆�
+          </td>
+          <td>
+            <el-input
+              v-model="tableObj.financialSupportRationality"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td>绛硅祫椋庨櫓鍙帶鎬э紙鑻ュ惈闈炶储鏀挎€ц祫閲戯級</td>
+          <td>
+            瀵圭璧勯闄╋紙鍚嚜绛圭瓑鍏跺畠娓犻亾鏉ユ簮璧勯噾锛夋湁鍏ㄩ潰鐨勮璇嗭紱閽堝棰勬湡椋庨櫓璁惧畾搴斿鎺柦锛屼笖搴斿鎺柦鍙銆佹湁鏁堛€�
+          </td>
+          <td>
+            <el-input
+              v-model="tableObj.controllabilityFinancingRisks"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td colspan="3">鏉愭枡鐨勫畬鏁存€�</td>
+
+          <td>
+            <el-input
+              v-model="tableObj.materialIntegrity"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+        <tr>
+          <td colspan="3">鍏朵粬</td>
+
+          <td>
+            <el-input
+              v-model="tableObj.other"
+              :autosize="{ minRows: 8, maxRows: 10 }"
+              type="textarea"
+              placeholder="璇疯緭鍏�"
+            />
+          </td>
+        </tr>
+      </table>
+
+      <!-- <span>涓婁紶闄勪欢锛�</span>
+      <UploadFile
+        v-model:modelValue="uploadDialog1"
+        @upload-handler="uploadHandler1"
+      >
+      </UploadFile> -->
+      <!-- <el-button
+        plain
+        type="info"
+        icon="Upload"
+        size="small"
+        @click="uploadDialog1 = true"
+        >鏂板</el-button
+      > -->
+
       <template #footer>
         <span class="dialog-footer">
-          <el-button @click="onJudgePreViewDialog = false">鍙� 娑�</el-button>
-          <el-button type="primary" @click="onJudgePreViewSure"
-            >纭� 瀹�</el-button
-          >
+          <el-button type="primary" @click="save">淇� 瀛�</el-button>
         </span>
       </template>
-    </el-dialog>
+    </el-drawer>
     <!-- 鐢熸垚濮旀墭鍑藉脊绐� -->
     <el-dialog
       top="220px"
@@ -523,6 +685,7 @@
       v-model="onEntrustingLetterDialog"
       width="45%"
       destroy-on-close
+      @close="closeWeituo"
     >
       <el-form ref="formRef" label-width="80px">
         <el-form :inline="true" class="demo-form-inline">
@@ -571,7 +734,7 @@
           ></el-table-column>
           <el-table-column
             class="positionStyle"
-            prop="serialNumber"
+            prop="projectNumber"
             label="椤圭洰娴佹按鍙�"
             align="center"
           ></el-table-column>
@@ -612,6 +775,7 @@ import { useRouter } from 'vue-router';
 import trustLetterManagement from '@/api/trust-letter-management';
 import exantePerformanceInquiry from '@/api/exante-performance-inquiry';
 import trustLetterManagementFinance from '@/api/trust-letter-management-finance';
+import FinanceOffice from '@/api/financeOffice';
 import { ElMessage } from 'element-plus';
 import Moment from 'moment';
 
@@ -630,7 +794,7 @@ export default {
         pageSize: 10,
       },
       queryGenerateDelegateInfo: {
-        budYear: '2023',
+        budYear: 2023,
       },
       projectStates: [],
       onEntrustingLetterTableInfo: [],
@@ -641,9 +805,9 @@ export default {
       onViewDialog: false,
       editInfo: {},
       num: 0,
-      budYear: '',
       dataCount: 5,
       onPreAuditTableInfo: [],
+      PrequalificationTableInfo: [], //棰勫缁撴灉琛ㄦ牸
       onViewTableInfo: [],
       onViewAppraisalResultTableInfo: [],
       exantePerformanceTableInfo: {
@@ -658,6 +822,18 @@ export default {
         parentId: '',
       },
       total: 1,
+      tableObj: {
+        investedEconomic: '',
+        projectNecessityApproval: '',
+        rationalityPerformance: '',
+        feasibilityImplementationPlan: '',
+        financialSupportRationality: '',
+        controllabilityFinancingRisks: '',
+        materialIntegrity: '',
+        other: '',
+      },
+      writeDialog: false,
+      rowId: '',
     });
     Moment,
       onMounted(() => {
@@ -727,6 +903,7 @@ export default {
     };
     //鐐瑰嚮鏌ョ湅
     const handleClick = (row) => {
+      data.rowId = row.id;
       trustLetterManagement
         .getProjectListByEntrustmentId({ id: row.id })
         .then((res) => {
@@ -742,7 +919,7 @@ export default {
     };
     //鐢熸垚濮旀墭鍑界‘璁�
     const saveEntrustment = () => {
-      if (data.tableId.legnth > 0) {
+      if (data.tableId.length > 0) {
         trustLetterManagement
           .saveEntrustment({
             budYear: data.queryGenerateDelegateInfo.budYear,
@@ -781,7 +958,6 @@ export default {
       );
       console.log(res);
     };
-    const onDownLoad = () => {};
     const onBack = () => {
       data.onBackDialog = true;
     };
@@ -794,16 +970,22 @@ export default {
       data.onPassDialog = true;
     };
 
-    const onView = (row) => {
-      data.LookInfo.parentId = row.id;
-      exantePerformanceInquiry
-        .getProjectAuditOpinionPage({ ...data.LookInfo, type: 1 })
-        .then((res) => {
-          data.onViewTableInfo = res.data;
-          data.total = res.total;
+    const change = (val) => {
+      if (val == 0) {
+        trustLetterManagement
+          .getProjectListByEntrustmentId({ id: data.rowId })
+          .then((res) => {
+            data.onPreAuditTableInfo = res.data;
+          });
+      } else if (val == 1) {
+        FinanceOffice.getPreliminaryList({ id: data.rowId }).then((res) => {
+          data.PrequalificationTableInfo = res.data;
         });
-      data.onViewDialog = true;
+      } else {
+        console.log(222);
+      }
     };
+    //椤圭洰娓呭崟-鍒嗛〉
     const changePageLook = (val) => {
       data.LookInfo.pageIndex = val.page;
       data.LookInfo.pageSize = val.limit;
@@ -817,22 +999,74 @@ export default {
           data.total = res.total;
         });
     };
+    //椤圭洰娓呭崟-涓嬭浇
+    const onDownLoad = async (row) => {
+      const res = await trustLetterManagementFinance.downloadProjectPdf(row.id);
+      console.log(res);
+    };
+    //椤圭洰娓呭崟-棰勮
     const onPreView = (row) => {
       router.push({
         path: `/i/item-entry/exante-performance-evaluation-function-edit`,
         query: {
           id: row.id,
           judgepreview: true,
+          preview: 1,
         },
       });
-      //router.push('/i/item-entry/declaration-preview');
     };
-
-    const onJudgeView = () => {
+    //椤圭洰娓呭崟-鏌ョ湅棰勫鎰忚
+    const onView = (row) => {
+      data.LookInfo.parentId = row.id;
+      exantePerformanceInquiry
+        .getProjectAuditOpinionPage({ ...data.LookInfo, type: 1 })
+        .then((res) => {
+          data.onViewTableInfo = res.data;
+          data.total = res.total;
+        });
       data.onViewDialog = true;
     };
-
-    const onGenerateDelegateQuery = () => {};
+    //棰勫缁撴灉-涓嬭浇
+    const downloadYushen = async (row) => {
+      const res = await trustLetterManagementFinance.downloadProjectPdf(
+        row.preliminaryid
+      );
+      console.log(res);
+    };
+    //棰勫缁撴灉-棰勮
+    const onPreViewYushen = (row) => {
+      console.log(row)
+      router.push({
+        path: `/i/item-entry/exante-performance-evaluation-function-edit`,
+        query: {
+          id: row.parentId,
+          judgepreview: true,
+          preview: 1,
+        },
+      });
+    };
+    //棰勫缁撴灉-鏌ョ湅棰勫鎰忚
+    const onViewYushen = (row) => {
+      if (row.preliminaryId == null) {
+        ElMessage.warning('鏆傛棤棰勫鎰忚');
+      } else {
+        FinanceOffice.getPreliminaryById({ id: row.preliminaryid }).then(
+          (res) => {
+            data.tableObj = res.data[0];
+            data.writeDialog = true;
+          }
+        );
+      }
+    };
+    const onGenerateDelegateQuery = () => {
+      trustLetterManagement
+        .getPassProjectTypeList({
+          budYear: data.queryGenerateDelegateInfo.budYear,
+        })
+        .then((res) => {
+          data.onEntrustingLetterTableInfo = res.data;
+        });
+    };
 
     const onEntrustingLetter = () => {
       trustLetterManagement
@@ -845,16 +1079,26 @@ export default {
         });
     };
     const selectYear = () => {};
+    //鍏抽棴濮旀墭鍑藉脊绐�
+    const closeWeituo = () => {
+      data.queryGenerateDelegateInfo = {
+        budYear: 2023,
+      };
+    };
     return {
       Moment,
       selectYear,
       onView,
+      onViewYushen,
+      change,
       changePageLook,
       onBack,
       onDownLoad,
       downloadEntrustmentPdf,
       onPass,
       onPreView,
+      downloadYushen,
+      onPreViewYushen,
       onQuery,
       onBackSure,
       onGenerateDelegateQuery,
@@ -864,7 +1108,6 @@ export default {
       onChange,
       saveEntrustment,
       handleSelectionChange_weituo,
-      onJudgeView,
       onEditeSure,
       changePage,
       getEnstrustmentStateEnumList,
@@ -872,6 +1115,7 @@ export default {
       handleSelectionChange,
       exantePerformanceEdite,
       onEntrustingLetter,
+      closeWeituo,
       ...toRefs(data),
     };
   },