diff --git a/WebSite/src/api/review-management-operation.js b/WebSite/src/api/review-management-operation.js
index bebd4fca43bd618878066b13e81cb94919dd4208..4d57f2af1422674924148c1e23f5217183fba923 100644
--- a/WebSite/src/api/review-management-operation.js
+++ b/WebSite/src/api/review-management-operation.js
@@ -222,6 +222,35 @@ class operation extends Base {
       data
     );
   }
+  //鍏叡鏂规椤圭洰绫昏〃
+  static getProjectListByRelatedId(data) {
+    return request.post('/planReview/getProjectListByRelatedId', data);
+  }
+  //璇勫绠$悊鏌ヨ鍒嗛〉
+  static getClaimEnutrustmentALLList(data) {
+    return request.post('/entrustment/getClaimEnutrustmentALLList', data);
+  }
+  //涓婁紶璇勫鎶ュ憡
+  static uploadReviewReportFile(data) {
+    return request({
+      url: '/projectType/uploadReviewReportFile',
+      method: 'get',
+      responseType: 'blob',
+      data
+    });
+  }
+  //鏇存柊璇勫鍒楄〃
+  static modifyFileParentId(data) {
+    return request.post('/projectType/modifyFileParentId', data);
+  }
+  //涓嬭浇璇勫鍒楄〃
+  static downloadAttachFileById(fileId) {
+    return request({
+      url: '/projectType/downloadAttachFileById?fileId=' + fileId,
+      method: 'get',
+      responseType: 'blob'
+    });
+  }
 }
 
 export default operation;
diff --git a/WebSite/src/views/item-entry/manuscript/index.vue b/WebSite/src/views/item-entry/manuscript/index.vue
index 7096d9021fa058078d6b4eccf4797c666606b401..a3117ce79b814cc4b3de1a373cbf78e8aa0d9507 100644
--- a/WebSite/src/views/item-entry/manuscript/index.vue
+++ b/WebSite/src/views/item-entry/manuscript/index.vue
@@ -559,6 +559,7 @@ import { use } from 'echarts/core';
 import { useRouter } from 'vue-router';
 import operation from '@/api/review-management-operation';
 import { ElMessage } from 'element-plus';
+import Account from '@/api/Account';
 use([]);
 export default {
   name: 'manuscript',
@@ -674,7 +675,12 @@ export default {
         relatedPerformanceGoalScore: 0,
         riskRepeatedInvestmentScore: 0,
         totalScore: 0
-      }
+      },
+      expertId: '',
+      parentId: '',
+      expertTel: '',
+      expertName: '',
+      relatedId: ''
     });
     const total1 = computed(() => {
       return (
@@ -715,11 +721,37 @@ export default {
         total1.value + total2.value + total3.value + total4.value + total5.value
       );
     });
-    onMounted(() => {
+    onMounted(async () => {
+      if (
+        router.currentRoute.value.query.token != '' &&
+        router.currentRoute.value.query.token
+      ) {
+        await Account.login(router.currentRoute.value.query.token, '');
+      }
+      console.log(router.currentRoute.value.query);
+      data.relatedId = router.currentRoute.value.query.relatedId;
+      data.expertId = router.currentRoute.value.query.expertId;
+      data.expertTel = router.currentRoute.value.query.expertTel;
+      data.expertName = router.currentRoute.value.query.expertName;
       data.idS = router.currentRoute.value.query.id;
-      data.tableArr = JSON.parse(router.currentRoute.value.query.arrList)[0];
       getProjectInfo();
+
+      getRelatedExpertManuscript();
     });
+    const getRelatedExpertManuscript = () => {
+      operation
+        .getRelatedExpertManuscript({
+          relatedId: data.relatedId,
+          expertId: data.expertId,
+          parentId: data.idS,
+          expertTel: data.expertTel,
+          expertName: data.expertName
+        })
+        .then(res => {
+          data.tableArr = res.data[0];
+        });
+    };
+
     const goBack = () => {
       router.go(-1);
     };
@@ -825,6 +857,7 @@ export default {
     };
     return {
       saveRelatedExpertManuscript,
+      getRelatedExpertManuscript,
       goBack,
       total5,
       total6,
diff --git a/WebSite/src/views/item-entry/pre-declaration-operation-query/index.vue b/WebSite/src/views/item-entry/pre-declaration-operation-query/index.vue
index a9f4293747bcc24b08feadc5f839b2c190800f01..db48615ec905bc93c8362636f0fb221de12d5e5d 100644
--- a/WebSite/src/views/item-entry/pre-declaration-operation-query/index.vue
+++ b/WebSite/src/views/item-entry/pre-declaration-operation-query/index.vue
@@ -19,14 +19,13 @@
             placeholder="璇烽€夋嫨"
             style="width: 100%;"
           >
-            <el-option>1</el-option>
-            <!-- <el-option
+            <el-option
               v-for="item in projectStates"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              :key="item.key"
+              :label="item.name"
+              :value="item.key"
             >
-            </el-option> -->
+            </el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -35,20 +34,10 @@
             type="primary"
             icon="Search"
             size="small"
-            @click="onQuery"
+            @click="changePage({ page: '', limit: '' }, 1)"
             >鏌ヨ</el-button
           >
         </el-form-item>
-        <el-form-item>
-          <el-button
-            plain
-            type="primary"
-            icon="Download"
-            size="small"
-            @click="onDistributionOffice"
-            >鎵归噺瀵煎嚭椤圭洰鐢虫姤涔�</el-button
-          >
-        </el-form-item>
       </el-form>
     </el-card>
     <el-card class="box-card" style="margin-top:20px;">
@@ -71,19 +60,19 @@
           ></el-table-column>
           <el-table-column
             class="positionStyle"
-            prop="trustLetterCode"
+            prop="entrustmentNum"
             label="濮旀墭鍑界紪鍙�"
             align="center"
           ></el-table-column>
           <el-table-column
             class="positionStyle"
-            prop="year"
+            prop="budYear"
             label="鐢虫姤骞翠唤"
             align="center"
           ></el-table-column>
           <el-table-column
             class="positionStyle"
-            prop="officeName"
+            prop="deptName"
             label="涓氬姟澶勫"
             align="center"
           ></el-table-column>
@@ -95,32 +84,25 @@
           ></el-table-column>
           <el-table-column
             class="positionStyle"
-            prop="trustLetterStatus"
+            prop="entrustmentStateName"
             label="濮旀墭鍑界姸鎬�"
             align="center"
           />
           <el-table-column
             class="positionStyle"
-            prop="firmName"
+            prop="financialOperatorName"
             label="椤圭洰璐熻矗浜�"
             align="center"
           />
           <el-table-column
             class="positionStyle"
-            prop="firmName"
-            label="璇勫鏃ユ湡"
-            align="center"
-          />
-          <el-table-column
-            class="positionStyle"
-            prop="firmName"
+            prop="officeName"
             label="浜嬪姟鎵€鍚嶇О"
             align="center"
           />
           <el-table-column label="鎿嶄綔" align="center" width="350">
             <template #default="scoped">
               <el-button
-                v-if="scoped.row.watch"
                 plain
                 type="info"
                 icon="View"
@@ -129,7 +111,11 @@
                 >鏌ョ湅</el-button
               >
               <el-button
-                v-if="scoped.row.letterAuthorization"
+                v-if="
+                  scoped.row.entrustmentState == 5 ||
+                    scoped.row.entrustmentState == 6 ||
+                    scoped.row.entrustmentState == 9
+                "
                 plain
                 type="primary"
                 size="small"
@@ -144,140 +130,103 @@
           style="padding-bottom:10px"
           :page="exantePerformanceTableInfo.pageIndex"
           :limit="exantePerformanceTableInfo.pageSize"
-          :total="dataCount"
+          :total="exantePerformanceTableInfo.total"
           @pagination="changePage"
         />
       </div>
     </el-card>
+    <ViewPage
+      v-if="state"
+      :state="state"
+      :planId="planId"
+      @changData="changData"
+    />
   </div>
 </template>
 
 <script>
-import { reactive, toRefs } from 'vue';
+import { reactive, toRefs, onMounted } from 'vue';
 import { use } from 'echarts/core';
-import { useRouter } from 'vue-router';
+import operation from '@/api/review-management-operation';
+import ViewPage from '../view-page/index';
 use([]);
 export default {
   name: 'PreDeclarationOperationQuery',
-  components: {},
+  components: { ViewPage },
   setup() {
-    const router = useRouter();
     const data = reactive({
+      planId: '',
+      state: false,
+      projectStates: [],
       queryInfo: {
         year: '',
-        projectState: ''
+        projectState: '',
+        businessOfficeName: ''
       },
-      dataCount: 2,
       firmName: '',
       exantePerformanceTableInfo: {
-        tableInfo: [
-          {
-            id: '111',
-            trustLetterCode: '2023001',
-            year: '2023',
-            officeName: '鍩圭澶�',
-            projectNum: 1,
-            trustLetterStatus: '璐㈣祫涓績宸插彈鐞�',
-            firmName: '',
-            watch: true,
-            letterAuthorization: true
-          },
-          {
-            id: '114',
-            trustLetterCode: '2023004',
-            year: '2023',
-            officeName: '绉樹功澶勶紙鐮旂┒瀹わ級',
-            projectNum: 2,
-            trustLetterStatus: '寰呴瀹�',
-            firmName: '',
-            watch: true,
-            letterAuthorization: true
-          },
-          {
-            id: '114',
-            trustLetterCode: '2023004',
-            year: '2023',
-            officeName: '绉樹功澶勶紙鐮旂┒瀹わ級',
-            projectNum: 2,
-            trustLetterStatus: '寰呰储璧勪腑蹇冨彈鐞嗭紝鍙墦鍗�',
-            firmName: '',
-            watch: true,
-            confirmAcceptance: true
-          },
-          {
-            id: '114',
-            trustLetterCode: '2023004',
-            year: '2023',
-            officeName: '绉樹功澶勶紙鐮旂┒瀹わ級',
-            projectNum: 2,
-            trustLetterStatus: '璐㈣祫涓績閫€鍥�',
-            firmName: '',
-            watch: true,
-            confirmAcceptance: true
-          }
-        ],
+        tableInfo: [],
         pageIndex: 1,
-        pageSize: 10
+        pageSize: 10,
+        total: 0
       },
       exantePerformanceSelects: [],
-      firmNames: [
-        {
-          value: '娌腑浜嬪姟鎵€',
-          label: '娌腑浜嬪姟鎵€'
-        },
-        {
-          value: '涓婃捣璐㈢憺浼氳甯堜簨鍔℃墍',
-          label: '涓婃捣璐㈢憺浼氳甯堜簨鍔℃墍'
-        },
-        {
-          value: '涓婃捣璇氭槍浼氳甯堜簨鍔℃墍',
-          label: '涓婃捣璇氭槍浼氳甯堜簨鍔℃墍'
-        },
-        {
-          value: '涓婃捣瀹夊崕浼氳甯堜簨鍔℃墍鏈夐檺鍏徃',
-          label: '涓婃捣瀹夊崕浼氳甯堜簨鍔℃墍鏈夐檺鍏徃'
-        }
-      ]
+      firmNames: []
     });
 
+    onMounted(() => {
+      getEnstrustmentStateEnumList();
+      getEntrustmentPage();
+    });
+    //濮旀墭鍑界姸鎬�
+    const getEnstrustmentStateEnumList = () => {
+      operation.getEnstrustmentStateEnumList().then(res => {
+        data.projectStates = res.data;
+      });
+    };
+    //椤甸潰琛ㄦ牸鏁版嵁
+    const getEntrustmentPage = () => {
+      operation
+        .getClaimEnutrustmentALLList({
+          budYear: data.queryInfo.year,
+          deptName: data.queryInfo.businessOfficeName,
+          entrustmentState: data.queryInfo.projectState,
+          pageIndex: data.exantePerformanceTableInfo.pageIndex,
+          pageSize: data.exantePerformanceTableInfo.pageSize
+        })
+        .then(res => {
+          console.log(res);
+          data.exantePerformanceTableInfo.tableInfo = res.data;
+          data.exantePerformanceTableInfo.total = res.total;
+        });
+    };
     //鍒囨崲鍒嗛〉
-    const changePage = () => {};
-
-    //鏌ヨ
-    const onQuery = () => {
-      console.log(data.queryInfo);
-      // if (data.queryInfo.projectName) {
-      //   const a = data.exantePerformanceTableInfo.tableInfo.filter(x => {
-      //     return x.projectName == data.queryInfo.projectName;
-      //   });
-      //   data.exantePerformanceTableInfo.tableInfo = a;
-      // }
-      // if (data.queryInfo.officeName) {
-      //   const a = data.exantePerformanceTableInfo.tableInfo.filter(x => {
-      //     return x.officeName == data.queryInfo.officeName;
-      //   });
-      //   data.exantePerformanceTableInfo.tableInfo = a;
-      // }
+    const changePage = (num, val) => {
+      if (num) {
+        data.exantePerformanceTableInfo.pageIndex = 1;
+        data.exantePerformanceTableInfo.pageSize = 10;
+      } else {
+        data.exantePerformanceTableInfo.pageIndex = val.page;
+        data.exantePerformanceTableInfo.pageSize = val.limit;
+      }
+      getEntrustmentPage();
     };
-
     //棰勫瀹屾垚
     const onInquiryComplete = () => {
       data.onInquiryCompleteDialog = true;
     };
-
-    //鏌ョ湅
-    const watchDetail = () => {
-      router.push('/i/item-entry/declaration-preview');
+    const changData = datas => {
+      data.state = datas;
     };
-
     //閫€鍥�
     const onBack = () => {
       data.onBackDialog = true;
     };
 
     //鏌ョ湅
-    const onWatch = () => {
-      console.log('鏌ョ湅');
+    const onWatch = row => {
+      data.state = true;
+      data.planId = row.id;
     };
 
     //鎵撳嵃濮旀墭鍑�
@@ -308,14 +257,16 @@ export default {
       data.onDistributionOfficeDialog = false;
     };
     return {
+      getEnstrustmentStateEnumList,
       onLetterAuthorization,
+      getEntrustmentPage,
       onInquiryComplete,
       changePage,
+      changData,
+
       onWatch,
       onBack,
       onBackSure,
-      onQuery,
-      watchDetail,
       onaccomplish,
       handleSelectionChange,
       onDistributionOffice,
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 2968d4d23f26bd85f5db52580518a508e73c9345..b35c792196ce011cde68f4561ac6016a8b4431dc 100644
--- a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
+++ b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
@@ -192,12 +192,11 @@
                 @click="onWatch(scope.row)"
                 >鏌ョ湅</el-button
               >
+
               <el-button
                 v-if="
-                  scope.row.entrustmentState == 7 ||
-                    scope.row.entrustmentState == 5 ||
+                  scope.row.entrustmentState == 5 ||
                     scope.row.entrustmentState == 6 ||
-                    scope.row.entrustmentState == 8 ||
                     scope.row.entrustmentState == 9
                 "
                 plain
@@ -813,17 +812,30 @@
             </el-form-item>
             <el-form-item>
               <el-upload
+                :file-list="fileList"
+                class="upload-demo"
                 action="#"
-                :multiple="false"
-                :before-upload="beforeUpload"
-                :http-request="handleRequest"
+                multiple
                 :show-file-list="false"
+                :limit="1"
+                :on-change="uploadChanges"
+                :http-request="UploadRequestOptions"
               >
                 <el-button plain type="primary" icon="Upload" size="small"
                   >涓婁紶璇勫鎶ュ憡</el-button
                 >
               </el-upload>
             </el-form-item>
+            <el-form-item>
+              <el-button
+                plain
+                type="primary"
+                icon="Upload"
+                size="small"
+                @click="buttonUp"
+                >涓嬭浇璇勫鎶ュ憡</el-button
+              >
+            </el-form-item>
           </el-form>
           <el-table
             :data="reportTableInfo.tableInfo"
@@ -868,12 +880,38 @@
             <el-table-column class="positionStyle" label="鎿嶄綔" align="center"
               ><template #default="scope">
                 <el-button
+                  plain
+                  size="small"
+                  @click="onRecord(scope.row)"
+                  v-if="scope.row.feedbackStatus == 1"
+                  >鏌ョ湅</el-button
+                >
+                <el-button
+                  v-if="scope.row.feedbackStatus == 0"
                   plain
                   type="primary"
                   size="small"
-                  icon="edit"
+                  @click="onRecor(scope.row)"
+                  >缂栬緫</el-button
+                >
+                <el-button
+                  v-if="
+                    scope.row.feedbackStatus == 1 ||
+                      scope.row.feedbackStatus == 0
+                  "
+                  plain
+                  type="primary"
+                  size="small"
+                  @click="onReco(scope.row)"
+                  >涓嬭浇</el-button
+                >
+                <el-button
+                  v-if="scope.row.feedbackStatus == 0"
+                  plain
+                  type="danger"
+                  size="small"
                   @click="onRecord(scope.row)"
-                  >褰曞叆涓撳宸ヤ綔搴曠ǹ</el-button
+                  >鍒犻櫎</el-button
                 >
               </template>
             </el-table-column>
@@ -1378,7 +1416,11 @@
     >
       <el-form>
         <el-form-item label="椤圭洰鍚嶇О锛�">
-          <el-select v-model="ProjectFeedback" @change="selectCV">
+          <el-select
+            v-model="ProjectFeedback"
+            @change="selectCV"
+            :disabled="disabled1"
+          >
             <el-option
               v-for="item in Feedback"
               :key="item.id"
@@ -1392,29 +1434,28 @@
           </el-select>
         </el-form-item>
         <el-form-item label="涓撳鎵撳垎鎯呭喌锛�">
-          <table cellspacing="0" style="border: 1px solid #d5d5d5">
+          <table
+            class="tab_table3"
+            cellspacing="0"
+            style="border: 1px solid #d5d5d5"
+          >
             <tr>
-              <td
-                class="tdStyle"
-                v-for="(item, index) in markInfo"
-                :key="index"
-              >
-                {{ item.label }}
+              <td v-for="(item, index) in markInfo" :key="index">
+                {{ item.expertName }}
               </td>
+              <td v-if="markInfo.length != 0">骞冲潎寰楀垎</td>
             </tr>
             <tr>
-              <td
-                class="tdStyle"
-                v-for="(item, index) in markInfo"
-                :key="index"
-              >
-                {{ item.value }}
+              <td v-for="(item, index) in markInfo" :key="index">
+                {{ item.totalScore }}
               </td>
+              <td v-if="markInfo.length != 0">{{ avgScore }}</td>
             </tr>
           </table>
         </el-form-item>
         <el-form-item label="涓撳鎰忚锛�">
           <el-input
+            :disabled="disabled"
             v-model="textarea"
             :rows="4"
             type="textarea"
@@ -1422,7 +1463,7 @@
           />
         </el-form-item>
         <el-form-item label="璇勫缁撹锛�">
-          <el-radio-group v-model="radio">
+          <el-radio-group v-model="radio" :disabled="disabled">
             <el-radio label="寤鸿浜堜互鏀寔" size="small">寤鸿浜堜互鏀寔</el-radio>
             <el-radio label="寤鸿璋冩暣瀹屽杽鍚庝簣浠ユ敮鎸�" size="small"
               >寤鸿璋冩暣瀹屽杽鍚庝簣浠ユ敮鎸�</el-radio
@@ -1433,10 +1474,13 @@
       </el-form>
       <template #footer>
         <span class="dialog-footer">
-          <el-button type="primary" @click="saveEntrustmentFeedback"
-            >淇濆瓨鎬ラ渶濉啓</el-button
+          <el-button
+            type="primary"
+            @click="saveEntrustmentFeedback"
+            v-if="!disabled"
+            >淇濆瓨缁х画濉啓</el-button
           >
-          <el-button type="primary" @click="onSaveAndClose"
+          <el-button type="primary" @click="onSaveAndClose" v-if="!disabled"
             >淇濆瓨骞跺叧闂�</el-button
           >
           <el-button @click="addFeedbackDialog = false">鍏� 闂�</el-button>
@@ -1981,6 +2025,60 @@
         </span>
       </template>
     </el-dialog>
+    <el-dialog
+      class="tableNew"
+      top="120px"
+      v-model="onNews"
+      width="40%"
+      destroy-on-close
+    >
+      <el-table
+        :data="DownloadCopy"
+        highlight-current-row
+        width="100%"
+        border
+        stripe
+        @selection-change="singleElection"
+        :header-cell-class-name="cellClass"
+      >
+        <el-table-column width="55">
+          <template #default="scoped">
+            <!-- 鍙互鎵嬪姩鐨勪慨鏀筶abel鐨勫€硷紝浠庤€屾帶鍒堕€夋嫨鍝竴椤� -->
+            <el-radio
+              @change="radioTable"
+              class="radio"
+              v-model="templateSelection"
+              :label="scoped.row.id"
+              >&nbsp;</el-radio
+            >
+          </template>
+        </el-table-column>
+        <el-table-column
+          class="positionStyle"
+          prop="fileName"
+          label="鏂囦欢鍚�"
+          align="center"
+        ></el-table-column>
+        <el-table-column class="positionStyle" label="鎿嶄綔" align="center"
+          ><template #default="">
+            <el-button
+              plain
+              type="danger"
+              size="small"
+              icon="Delete"
+              @click="removeFile"
+              >鍒犻櫎</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="onNewIndexDialog = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="onOffice">纭� 瀹�</el-button>
+        </span>
+      </template>
+    </el-dialog>
   </div>
 </template>
 
@@ -1999,6 +2097,9 @@ export default {
   setup() {
     const router = useRouter();
     const data = reactive({
+      onNews: false,
+      disabled1: false,
+      disabled: false,
       DownloadCopy: [],
       onNew: false,
       OptionRow: false,
@@ -2148,6 +2249,7 @@ export default {
       officeName: '',
       selection: '',
       selectList: [],
+      avgScore: '',
       entrustmentId: '',
       formBlue: {
         businessExpertCount: '',
@@ -2374,6 +2476,9 @@ export default {
     const getPlanReviewList = () => {
       operation.getPlanReviewList({ id: data.reviewTableInfo.id }).then(res => {
         data.solutionTableInfo.tableInfo = res.data;
+        data.solution = data.solutionTableInfo.tableInfo[0].reviewAddress;
+        data.planIds = data.solutionTableInfo.tableInfo[0].id;
+        getEntrustmentExpertManuscriptList();
       });
     };
     //鏂板缓璇勫鏂规
@@ -2422,7 +2527,7 @@ export default {
     //鍙楃悊
     const onAccept = row => {
       (data.activeName = 'second'), (data.solutionTableInfo.tableInfo = []);
-
+      data.solution = '';
       data.formBlue.businessExpertCount = '';
       data.formBlue.financeExpertCount = '';
       data.reviewTableInfo.id = row.id;
@@ -2647,6 +2752,8 @@ export default {
     };
     //娣诲姞鍙嶉鎰忚
     const onAddFeedback = () => {
+      data.disabled = false;
+      data.disabled1 = false;
       data.ProjectFeedback = '';
       data.markInfo = [];
       data.textarea = '';
@@ -2771,10 +2878,13 @@ export default {
     //鑾峰彇涓撳搴曠ǹ鍒楄〃
     const selectTableInfo = v => {
       data.planIds = v;
+      getEntrustmentExpertManuscriptList();
+    };
+    const getEntrustmentExpertManuscriptList = () => {
       operation
         .getEntrustmentExpertManuscriptList({
           entrustmentId: data.reviewTableInfo.id,
-          planId: v
+          planId: data.planIds
         })
         .then(res => {
           data.expertsWriteTableInfo.tableInfo = res.data;
@@ -2793,10 +2903,14 @@ export default {
       data.projectName = label;
       data.projectId = value;
       data.projectNumber = key;
+      getEntrustmentExpertScoreByProjectId(data.projectId);
+    };
+    const getEntrustmentExpertScoreByProjectId = v => {
       operation
-        .getEntrustmentExpertScoreByProjectId({ parentId: value })
+        .getEntrustmentExpertScoreByProjectId({ parentId: v })
         .then(res => {
-          data.markInfo = res.data;
+          data.markInfo = res.data[0].expertManuscriptOuts;
+          data.avgScore = res.data[0].avgScore;
         });
     };
     //鎰忚淇濆瓨
@@ -2805,7 +2919,7 @@ export default {
         .saveEntrustmentFeedback({
           conclusionStatus: data.radio,
           entrustmentId: data.reviewTableInfo.id,
-          expertAverage: 0,
+          expertAverage: data.avgScore,
           expertRemark: data.textarea,
           feedbackStatus: 0,
           parentId: data.projectId,
@@ -2948,6 +3062,87 @@ export default {
     const rowId = row => {
       data.expertTel = row.expertTel;
     };
+    //鏌ョ湅
+    const onRecord = row => {
+      data.disabled = true;
+      data.disabled1 = true;
+      data.addFeedbackDialog = true;
+      getEntrustmentExpertScoreByProjectId(row.id);
+      data.ProjectFeedback = row.projectName;
+      data.textarea = row.expertRemark;
+      data.radio = row.conclusionStatus;
+    };
+    //缂栬緫
+    const onRecor = row => {
+      data.disabled1 = true;
+      data.addFeedbackDialog = true;
+      getEntrustmentExpertScoreByProjectId(row.id);
+      data.ProjectFeedback = row.projectName;
+      data.textarea = row.expertRemark;
+      data.radio = row.conclusionStatus;
+    };
+    const buttonUp = () => {
+      data.onNews = true;
+    };
+    const uploadChanges = file => {
+      const formData = new FormData();
+      formData.append('file', file.raw);
+      operation.uploadReviewReportFile(formData).then(res => {
+        console.log(res);
+        if (res.filename) {
+          var blob = new Blob([res.data], { type: res.data.type });
+          // 閽堝浜嶪E娴忚鍣ㄧ殑澶勭悊, 鍥犻儴鍒咺E娴忚鍣ㄤ笉鏀寔createObjectURL
+          if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+            window.navigator.msSaveOrOpenBlob(
+              blob,
+              res.fileName || res.filename
+            );
+          } else {
+            var downloadElement = document.createElement('a');
+            var href = window.URL.createObjectURL(blob); // 鍒涘缓涓嬭浇鐨勯摼鎺�
+            downloadElement.href = href;
+            downloadElement.download = res.filename; // 涓嬭浇鍚庢枃浠跺悕
+            document.body.appendChild(downloadElement);
+            downloadElement.click(); // 鐐瑰嚮涓嬭浇
+            document.body.removeChild(downloadElement); // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(href); // 閲婃斁鎺塨lob瀵硅薄
+          }
+        } else {
+          data.fileId = res.data;
+          modifyFileParentId();
+        }
+      });
+    };
+    const modifyFileParentId = () => {
+      operation.modifyFileParentId({ fileIds: [], parentId: 0 }).then(res => {
+        console.log(res);
+      });
+    };
+    const downloadAttachFileById = () => {
+      operation.downloadAttachFileById(data.removeId).then(res => {
+        console.log(res);
+        if (res.filename) {
+          var blob = new Blob([res.data], { type: res.data.type });
+          // 閽堝浜嶪E娴忚鍣ㄧ殑澶勭悊, 鍥犻儴鍒咺E娴忚鍣ㄤ笉鏀寔createObjectURL
+          if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+            window.navigator.msSaveOrOpenBlob(
+              blob,
+              res.fileName || res.filename
+            );
+          } else {
+            var downloadElement = document.createElement('a');
+            var href = window.URL.createObjectURL(blob); // 鍒涘缓涓嬭浇鐨勯摼鎺�
+            downloadElement.href = href;
+            downloadElement.download = res.filename; // 涓嬭浇鍚庢枃浠跺悕
+            document.body.appendChild(downloadElement);
+            downloadElement.click(); // 鐐瑰嚮涓嬭浇
+            document.body.removeChild(downloadElement); // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(href); // 閲婃斁鎺塨lob瀵硅薄
+          }
+        }
+        data.onNew = false;
+      });
+    };
     // 涓婄Щ
     const handleMoveUp = (index, row) => {
       console.log(index, row);
@@ -2971,12 +3166,20 @@ export default {
         ElMessage.warning('澶勪簬搴曠锛屼笉鑳界户缁笅绉�');
       } else {
         let downData = data.printReviewTableInfo.tableInfo[index + 1];
-        data.printReviewTableInfo.tableInfo.splice(index + 1, 1); 
+        data.printReviewTableInfo.tableInfo.splice(index + 1, 1);
         data.printReviewTableInfo.tableInfo.splice(index, 0, downData);
       }
     };
     return {
+      uploadChanges,
+      downloadAttachFileById,
+      modifyFileParentId,
+      onRecor,
+      buttonUp,
+      getEntrustmentExpertManuscriptList,
       radioTable,
+      getEntrustmentExpertScoreByProjectId,
+      onRecord,
       selectCV,
       rowId,
       UploadRequestOptions,
@@ -3074,6 +3277,17 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.tab_table3 {
+  width: 100%;
+  text-align: center;
+  border-top: 1px solid #dcdfe6;
+  border-left: 1px solid #dcdfe6;
+  border-collapse: collapse;
+  td {
+    border-bottom: 1px solid #dcdfe6;
+    border-right: 1px solid #dcdfe6;
+  }
+}
 .tab_table2 {
   width: 100%;
   text-align: center;
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 09dbcad05fb7c094fa47f52bee9d4ee8dad489f5..321c6d7ae5ff96de233c6641cbe197e6f1f39382 100644
--- a/WebSite/src/views/item-entry/review-scheme-view/index.vue
+++ b/WebSite/src/views/item-entry/review-scheme-view/index.vue
@@ -989,24 +989,22 @@
           </el-select>
         </el-form-item>
         <el-form-item label="涓撳鎵撳垎鎯呭喌锛�">
-          <table cellspacing="0" style="border: 1px solid #d5d5d5">
+          <table
+            class="tab_table3"
+            cellspacing="0"
+            style="border: 1px solid #d5d5d5"
+          >
             <tr>
-              <td
-                class="tdStyle"
-                v-for="(item, index) in markInfo"
-                :key="index"
-              >
-                {{ item.label }}
+              <td v-for="(item, index) in markInfo" :key="index">
+                {{ item.expertName }}
               </td>
+              <td v-if="markInfo.length != 0">骞冲潎寰楀垎</td>
             </tr>
             <tr>
-              <td
-                class="tdStyle"
-                v-for="(item, index) in markInfo"
-                :key="index"
-              >
-                {{ item.value }}
+              <td v-for="(item, index) in markInfo" :key="index">
+                {{ item.totalScore }}
               </td>
+              <td v-if="markInfo.length != 0">{{ avgScore }}</td>
             </tr>
           </table>
         </el-form-item>
@@ -1455,6 +1453,7 @@ export default {
         department: ''
       },
       dataCount: 0,
+      avgScore: '',
       queryInfo1: '',
       queryInfo2: '',
       valueOption: '',
@@ -1589,22 +1588,21 @@ export default {
       data.ononferenceNoticeDialog = true;
     };
     const changeRadio = v => {
-      console.log(v);
+      console.log(v, '111111111111111111');
       if (v.expertReviewResult == true) {
         data.expertInfo.push({
           ...v,
           type: '',
-          expertTel: v.moblieNumber
+          expertTel: v.expertTel
         });
+        console.log(data.expertInfo, '22222222222222222222');
       } else {
         data.expertInfo.filter((item, index) => {
-          console.log(item);
           if (item.expertName == v.expertName) {
             return data.expertInfo.splice(index, 1);
           }
         });
       }
-      console.log(data.expertInfo, 1111);
     };
     const handleSelectionChange = val => {
       data.exantePerformanceSelects = val;
@@ -1710,7 +1708,6 @@ export default {
         data.queryInfo2 = data.BaoCunArr[0].reviewHost;
         data.projecttableInfo = data.BaoCunArr[0].entrustmentOuts;
         data.expertInfo = data.BaoCunArr[0].planExperts;
-
         data.authorization = data.BaoCunArr[0].planExperts[0].entrustmentId;
         data.weiID = data.projecttableInfo.map(item => {
           return item.id;
@@ -1738,24 +1735,17 @@ export default {
       data.Option = false;
     };
     const FillPaper = (row, child) => {
-      operation
-        .getRelatedExpertManuscript({
+      route.push({
+        path: `/i/item-entry/manuscript`,
+        query: {
           relatedId: data.relatedId,
+          id: child.id,
           expertId: row.expertId,
-          parentId: child.id,
           expertTel: row.expertTel,
-          expertName: row.expertName
-        })
-        .then(res => {
-          console.log(res);
-          route.push({
-            path: `/i/item-entry/manuscript`,
-            query: {
-              id: child.id,
-              arrList: JSON.stringify(res.data)
-            }
-          });
-        });
+          expertName: row.expertName,
+          token: ''
+        }
+      });
     };
     const goback = () => {
       route.go(-1);
@@ -1773,6 +1763,11 @@ export default {
     //娣诲姞鍙嶉鎰忚
     const feedbackse = () => {
       data.addFeedbackDialog = true;
+      data.ProjectFeedback = '';
+      data.markInfo = [];
+      data.textarea = '';
+      data.radio = '';
+      getProjectListByEntrustmentId();
     };
     //tab鏍囩鍒囨崲
     const changeTabs = () => {
@@ -1962,7 +1957,7 @@ export default {
     };
     //娣诲姞鎰忚鍙嶉椤圭洰
     const getProjectListByEntrustmentId = () => {
-      operation.getProjectListByEntrustmentId({ id: data.resId }).then(res => {
+      operation.getProjectListByRelatedId({ id: data.resId }).then(res => {
         data.Feedback = res.data;
       });
     };
@@ -1974,7 +1969,8 @@ export default {
       operation
         .getEntrustmentExpertScoreByProjectId({ parentId: value })
         .then(res => {
-          data.markInfo = res.data;
+          data.markInfo = res.data[0].expertManuscriptOuts;
+          data.avgScore = res.data[0].avgScore;
         });
     };
     //鎰忚淇濆瓨
@@ -2145,6 +2141,17 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.tab_table3 {
+  width: 100%;
+  text-align: center;
+  border-top: 1px solid #dcdfe6;
+  border-left: 1px solid #dcdfe6;
+  border-collapse: collapse;
+  td {
+    border-bottom: 1px solid #dcdfe6;
+    border-right: 1px solid #dcdfe6;
+  }
+}
 .tab_table2 {
   width: 100%;
   text-align: center;
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 59414c25fc8cc75729473f2a1d7abd1f0e2ac3bb..589225bf94543fa792ecc2eacb258588da4af1fe 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,11 +120,11 @@
                 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
+                >鎵撳嵃濮旀墭鍑�</el-button
               >
               <el-button
                 plain
@@ -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
@@ -337,10 +337,10 @@
                   <el-button
                     v-if="
                       flag == 1 &&
-                      (scope.row.stateCode == 2 ||
-                        scope.row.stateCode == 6 ||
-                        scope.row.stateCode == 10 ||
-                        scope.row.stateCode == 15)
+                        (scope.row.stateCode == 2 ||
+                          scope.row.stateCode == 6 ||
+                          scope.row.stateCode == 10 ||
+                          scope.row.stateCode == 15)
                     "
                     plain
                     type="success"
@@ -356,13 +356,13 @@
                     size="small"
                     v-if="
                       flag == 1 &&
-                      (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)
+                        (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(scope.row)"
                     >閫€鍥�</el-button
@@ -756,7 +756,7 @@ export default {
         financialSupportRationality: '',
         controllabilityFinancingRisks: '',
         materialIntegrity: '',
-        other: '',
+        other: ''
       },
       flag: 0,
       queryInfo: {
@@ -764,12 +764,12 @@ export default {
         deptName: '',
         entrustmentState: '',
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       LookInfo: {
         pageIndex: 1,
         pageSize: 10,
-        parentId: '',
+        parentId: ''
       },
       total: 6,
       queryGenerateDelegateInfo: {},
@@ -788,21 +788,21 @@ export default {
         {
           auditor: '寮犺暰',
           createDate: '2023-08-19',
-          remark: '闇€琛ュ厖涓婁紶椤圭洰闄勪欢鏉愭枡',
-        },
+          remark: '闇€琛ュ厖涓婁紶椤圭洰闄勪欢鏉愭枡'
+        }
       ],
       onViewAppraisalResultTableInfo: [],
       exantePerformanceTableInfo: {
-        tableInfo: [],
+        tableInfo: []
       },
       exantePerformanceSelects: [],
       lookSelrcts: [],
       EntrustmentId: '', //瀹℃牳鏃跺鎵樺嚱id
       formBack: {
         id: '',
-        remark: '',
+        remark: ''
       },
-      rowId: '',
+      rowId: ''
     });
     Moment,
       onMounted(() => {
@@ -810,49 +810,47 @@ 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) => {
+    const change = val => {
       if (val == 0) {
         trustLetterManagementFinance
           .getProjectListByEntrustmentId({ id: data.rowId })
-          .then((res) => {
+          .then(res => {
             data.onPreAuditTableInfo = res.data;
           });
       } else if (val == 1) {
-        FinanceOffice.getPreliminaryList({ id: data.rowId }).then((res) => {
+        FinanceOffice.getPreliminaryList({ id: data.rowId }).then(res => {
           data.PrequalificationTableInfo = res.data;
         });
       } else {
@@ -862,8 +860,8 @@ export default {
     // 鏌ヨ
     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 = '鏄�');
           }
@@ -875,41 +873,41 @@ export default {
       );
     };
 
-    const handleSelectionChange = (val) => {
+    const handleSelectionChange = val => {
       console.log(val);
       data.exantePerformanceSelects = val;
     };
     //瀹℃牳
-    const onJudgePreView = (row) => {
+    const onJudgePreView = row => {
       data.EntrustmentId = row.id;
       data.flag = 1;
       trustLetterManagementFinance
         .getProjectListByEntrustmentId({ id: row.id })
-        .then((res) => {
+        .then(res => {
           data.onPreAuditTableInfo = res.data;
           data.onJudgePreViewDialog = true;
         });
     };
     //鏌ョ湅
-    const onLook = (row) => {
+    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;
     };
     //涓嬭浇濮旀墭鍑�
-    const onDownLoadEntrustmentPdf = async (row) => {
+    const onDownLoadEntrustmentPdf = async row => {
       const res = await trustLetterManagementFinance.downloadEntrustmentPdf(
         row.id
       );
       console.log(res);
     };
     //椤圭洰娓呭崟-涓嬭浇椤圭洰鐢虫姤
-    const onDownLoad = async (row) => {
+    const onDownLoad = async row => {
       const res = await trustLetterManagementFinance.downloadProjectPdf(row.id);
       console.log(res);
     };
@@ -917,30 +915,30 @@ export default {
       data.onJudgePreViewDialog = false;
     };
 
-    const onBack = (row) => {
+    const onBack = row => {
       data.formBack.id = row.id;
       data.onBackDialog = true;
     };
     //椤圭洰娓呭崟-棰勮
-    const onPreView = (row) => {
+    const onPreView = row => {
       router.push({
         path: `/i/item-entry/exante-performance-evaluation-function-edit`,
         query: {
           id: row.id,
           judgepreview: true,
-          preview: 1,
-        },
+          preview: 1
+        }
       });
     };
     //椤圭洰娓呭崟-鏌ョ湅瀹℃牳鎰忚
-    const onView = (row) => {
+    const onView = row => {
       data.LookInfo.parentId = row.id;
       trustLetterManagementFinance
         .getProjectAuditOpinionPage({
           ...data.LookInfo,
-          type: 1,
+          type: 1
         })
-        .then((res) => {
+        .then(res => {
           data.onViewTableInfo = res.data;
           data.LookInfo.pageIndex = res.pageIndex;
           data.LookInfo.pageSize = res.pageSize;
@@ -952,7 +950,7 @@ export default {
     const onBackSure = () => {
       trustLetterManagementFinance
         .batchAuditBack({ id: data.EntrustmentId, ids: [data.formBack.id] })
-        .then((res) => {
+        .then(res => {
           if (res.code == '00000') {
             ElMessage.success('閫€鍥炴垚鍔�');
             data.onBackDialog = false;
@@ -962,11 +960,11 @@ export default {
         });
     };
     //椤圭洰娓呭崟-鍗曚釜閫氳繃
-    const onPass = (row) => {
+    const onPass = row => {
       ElMessageBox.confirm('鏄惁纭閫氳繃?', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
-        type: 'warning',
+        type: 'warning'
       })
         .then(() => {
           trustLetterManagementFinance
@@ -980,11 +978,11 @@ export default {
               ElMessage.error('閫氳繃澶辫触');
             });
         })
-        .catch((e) => {
+        .catch(e => {
           console.log(e);
           ElMessage({
             type: 'info',
-            message: '鍙栨秷閫氳繃',
+            message: '鍙栨秷閫氳繃'
           });
         });
     };
@@ -992,7 +990,7 @@ export default {
     const batchAuditPass = () => {
       trustLetterManagementFinance
         .batchAuditPass({ id: data.EntrustmentId, ids: data.lookSelrcts })
-        .then((res) => {
+        .then(res => {
           if (res.code == '00000') {
             ElMessage.success('鎵归噺閫氳繃鎴愬姛');
             data.onJudgePreViewDialog = false;
@@ -1004,7 +1002,7 @@ export default {
     const batchAuditBack = () => {
       trustLetterManagementFinance
         .batchAuditBack({ id: data.EntrustmentId, ids: data.lookSelrcts })
-        .then((res) => {
+        .then(res => {
           if (res.code == '00000') {
             ElMessage.success('鎵归噺閫€鍥炴垚鍔�');
             data.onJudgePreViewDialog = false;
@@ -1013,31 +1011,31 @@ export default {
         });
     };
     //棰勫缁撴灉-涓嬭浇
-    const downloadYushen = async (row) => {
+    const downloadYushen = async row => {
       const res = await trustLetterManagementFinance.downloadProjectPdf(
         row.preliminaryId
       );
       console.log(res);
     };
     //棰勫缁撴灉-棰勮
-    const onPreViewYushen = (row) => {
+    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,
-        },
+          preview: 1
+        }
       });
     };
     //棰勫缁撴灉-鏌ョ湅棰勫鎰忚
-    const onViewYushen = (row) => {
+    const onViewYushen = row => {
       if (row.preliminaryId == null) {
         ElMessage.warning('鏆傛棤棰勫鎰忚');
       } else {
         FinanceOffice.getPreliminaryById({ id: row.preliminaryId }).then(
-          (res) => {
+          res => {
             data.tableObj = res.data[0];
             data.writeDialog = true;
           }
@@ -1045,22 +1043,22 @@ export default {
       }
     };
     //鏌ョ湅瀹℃牳鎰忚鐨勫垎椤�
-    const changePageLook = (val) => {
+    const changePageLook = val => {
       data.LookInfo.pageIndex = val.page;
       data.LookInfo.pageSize = val.limit;
       trustLetterManagementFinance
         .getProjectAuditOpinionPage({
           ...data.LookInfo,
-          type: 1,
+          type: 1
         })
-        .then((res) => {
+        .then(res => {
           data.onViewTableInfo = res.data;
           data.total = res.total;
         });
     };
     //瀹℃牳閫夊彇鏁版嵁
-    const handleSelectionChangeLook = (val) => {
-      data.lookSelrcts = val.map((item) => item.id);
+    const handleSelectionChangeLook = val => {
+      data.lookSelrcts = val.map(item => item.id);
     };
     const onJudgeView = () => {
       data.onViewDialog = true;
@@ -1103,9 +1101,9 @@ export default {
       onViewYushen,
       exantePerformanceEdite,
       // onEntrustingLetter,
-      ...toRefs(data),
+      ...toRefs(data)
     };
-  },
+  }
 };
 </script>
 
@@ -1187,7 +1185,7 @@ export default {
     font-weight: 500;
     color: #303133;
     text-align: center;
-    line-height:28px;
+    line-height: 28px;
   }
 }
 </style>
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 b6b91078d754ce8b521a3248e487c45f33970f44..d41b90402bb907945ef7458829adce8b9f92d99f 100644
--- a/WebSite/src/views/item-entry/trust-letter-management/index.vue
+++ b/WebSite/src/views/item-entry/trust-letter-management/index.vue
@@ -121,8 +121,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="downloadEntrustmentPdf(scope.row)"
                 >涓嬭浇</el-button
@@ -136,7 +136,7 @@
                 size="small"
                 v-if="
                   scope.row.entrustmentState != 2 &&
-                  scope.row.entrustmentState != 7
+                    scope.row.entrustmentState != 7
                 "
                 @click="handleClick(scope.row)"
                 >鏌ョ湅</el-button
@@ -148,7 +148,7 @@
                 size="small"
                 v-if="
                   scope.row.entrustmentState == 2 ||
-                  scope.row.entrustmentState == 7
+                    scope.row.entrustmentState == 7
                 "
                 @click="onJudgePreView(scope.row)"
                 >鎿嶄綔</el-button
@@ -312,7 +312,7 @@
                     @click="onChange(scope.row)"
                     v-if="
                       status == 1 &&
-                      (scope.row.stateCode == 3 || scope.row.stateCode == 5)
+                        (scope.row.stateCode == 3 || scope.row.stateCode == 5)
                     "
                   >
                     缂栬緫
@@ -322,7 +322,7 @@
                     type="primary"
                     icon="download"
                     size="small"
-                    @click="onDownLoad(scope.row)"
+                    @click="onDownLoad(scope.row, 1)"
                     >涓嬭浇</el-button
                   >
                   <el-button
@@ -330,7 +330,7 @@
                     type="info"
                     icon="View"
                     size="small"
-                    @click="onPreView(scope.row)"
+                    @click="onPreView(scope.row, 1)"
                     >棰勮</el-button
                   >
                   <el-button
@@ -421,18 +421,6 @@
                 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"
-                label="涓氬姟澶勫"
-                align="center"
-              ></el-table-column>
               <el-table-column
                 class="positionStyle"
                 prop="projectName"
@@ -441,14 +429,14 @@
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="entrustmentState"
-                label="椤圭洰鐘舵€�"
+                prop="conclusionStatus"
+                label="璇勫缁撴灉"
                 align="center"
               ></el-table-column>
               <el-table-column
                 class="positionStyle"
-                prop="appraisalResult"
-                label="璇勫缁撴灉"
+                prop="expertRemark"
+                label="鍙嶉鎰忚"
                 align="center"
               ></el-table-column>
               <el-table-column label="鎿嶄綔" align="center " width="450px">
@@ -462,7 +450,7 @@
                     type="primary"
                     icon="download"
                     size="small"
-                    @click="onDownLoad(scope.row)"
+                    @click="onDownLoad(scope.row, 2)"
                     >涓嬭浇</el-button
                   >
                   <el-button
@@ -470,17 +458,9 @@
                     type="info"
                     icon="View"
                     size="small"
-                    @click="onPreView(scope.row)"
+                    @click="onPreView(scope.row, 2)"
                     >棰勮</el-button
                   >
-                  <el-button
-                    plain
-                    type="info"
-                    icon="View"
-                    size="small"
-                    @click="onView(scope.row)"
-                    >鏌ョ湅璇勫鎰忚</el-button
-                  >
                 </template>
               </el-table-column>
             </el-table></el-tab-pane
@@ -686,7 +666,11 @@
       @close="closeWeituo"
     >
       <el-form ref="formRef" label-width="80px">
-        <el-form :inline="true" class="demo-form-inline" :model="queryGenerateDelegateInfo">
+        <el-form
+          :inline="true"
+          class="demo-form-inline"
+          :model="queryGenerateDelegateInfo"
+        >
           <el-form-item label="鐢虫姤骞翠唤锛�" prop="budYear">
             <el-date-picker
               v-model="queryGenerateDelegateInfo.budYear"
@@ -770,7 +754,7 @@ import trustLetterManagementFinance from '@/api/trust-letter-management-finance'
 import FinanceOffice from '@/api/financeOffice';
 import { ElMessage } from 'element-plus';
 import Moment from 'moment';
-
+import operation from '@/api/review-management-operation';
 use([]);
 export default {
   name: 'TrustLetterManagement',
@@ -783,10 +767,10 @@ export default {
         budYear: '',
         entrustmentState: '',
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       queryGenerateDelegateInfo: {
-        budYear: 2023,
+        budYear: 2023
       },
       projectStates: [],
       onEntrustingLetterTableInfo: [],
@@ -803,7 +787,7 @@ export default {
       onViewTableInfo: [],
       onViewAppraisalResultTableInfo: [],
       exantePerformanceTableInfo: {
-        tableInfo: [],
+        tableInfo: []
       },
       exantePerformanceSelects: [],
       tableId: [],
@@ -811,7 +795,7 @@ export default {
       LookInfo: {
         pageIndex: 1,
         pageSize: 10,
-        parentId: '',
+        parentId: ''
       },
       total: 1,
       tableObj: {
@@ -822,29 +806,29 @@ export default {
         financialSupportRationality: '',
         controllabilityFinancingRisks: '',
         materialIntegrity: '',
-        other: '',
+        other: ''
       },
       writeDialog: false,
-      rowId: '',
+      rowId: ''
     });
     Moment,
       onMounted(() => {
         getEnstrustmentStateEnumList();
         getEntrustmentPageDept();
       });
-    const changePage = (val) => {
+    const changePage = val => {
       data.queryInfo.pageIndex = val.page;
       data.queryInfo.pageSize = val.limit;
       getEntrustmentPageDept();
     };
-    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;
         }
@@ -852,8 +836,8 @@ export default {
     };
     // 鏌ヨ
     const onQuery = async () => {
-      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 = '鏄�');
           }
@@ -867,45 +851,43 @@ export default {
     };
     //鑾峰彇涓嬫媺妗�
     const getEnstrustmentStateEnumList = () => {
-      trustLetterManagement.getEnstrustmentStateEnumList().then((res) => {
+      trustLetterManagement.getEnstrustmentStateEnumList().then(res => {
         data.projectStates = res.data;
       });
     };
     //鍒嗛〉鏌ヨ琛ㄦ牸鏁版嵁
     const getEntrustmentPageDept = () => {
-      trustLetterManagement
-        .getEntrustmentPageDept(data.queryInfo)
-        .then((res) => {
-          data.exantePerformanceTableInfo.tableInfo = res.data;
-          data.dataCount = res.total;
-        });
+      trustLetterManagement.getEntrustmentPageDept(data.queryInfo).then(res => {
+        data.exantePerformanceTableInfo.tableInfo = res.data;
+        data.dataCount = res.total;
+      });
     };
-    const handleSelectionChange = (val) => {
+    const handleSelectionChange = val => {
       console.log(val);
       data.exantePerformanceSelects = val;
     };
     //鐐瑰嚮鎿嶄綔鏌ヨ寮圭獥鍐呰〃鏍兼暟鎹�
-    const onJudgePreView = (row) => {
+    const onJudgePreView = row => {
       trustLetterManagement
         .getProjectListByEntrustmentId({ id: row.id })
-        .then((res) => {
+        .then(res => {
           data.onPreAuditTableInfo = res.data;
           data.onJudgePreViewDialog = true;
         });
     };
     //鐐瑰嚮鏌ョ湅
-    const handleClick = (row) => {
+    const handleClick = row => {
       data.rowId = row.id;
       trustLetterManagement
         .getProjectListByEntrustmentId({ id: row.id })
-        .then((res) => {
+        .then(res => {
           data.status = 0;
           data.onPreAuditTableInfo = res.data;
           data.onJudgePreViewDialog = true;
         });
     };
     //鎿嶄綔寮圭獥鐨勭紪杈�
-    const onChange = (row) => {
+    const onChange = row => {
       //鎵撳紑鍙︿竴涓〉闈㈢殑淇敼鐨勫脊绐�
       console.log(row.id);
     };
@@ -915,13 +897,13 @@ export default {
         trustLetterManagement
           .saveEntrustment({
             budYear: data.queryGenerateDelegateInfo.budYear,
-            ids: data.tableId,
+            ids: data.tableId
           })
-          .then((res) => {
+          .then(res => {
             if (res.data == 1) {
               ElMessage({
                 message: '淇濆瓨鎴愬姛',
-                type: 'success',
+                type: 'success'
               });
               data.onEntrustingLetterDialog = false;
               getEntrustmentPageDept();
@@ -930,13 +912,13 @@ export default {
       } else {
         ElMessage({
           message: '鑷冲皯閫夋嫨涓€鏉℃暟鎹敓鎴愬鎵樺嚱',
-          type: 'warning',
+          type: 'warning'
         });
       }
     };
     //閫変腑濮旀墭鍑芥暟鎹�
-    const handleSelectionChange_weituo = (val) => {
-      data.tableId = val.map((item) => {
+    const handleSelectionChange_weituo = val => {
+      data.tableId = val.map(item => {
         return item.id;
       });
       //console.log(data.tableId); //鎷垮埌id,浣滀负鐢熸垚濮旀墭鍑界殑鍙傛暟
@@ -944,7 +926,7 @@ export default {
     const onJudgePreViewSure = () => {
       data.onJudgePreViewDialog = false;
     };
-    const downloadEntrustmentPdf = async (row) => {
+    const downloadEntrustmentPdf = async row => {
       const res = await trustLetterManagementFinance.downloadEntrustmentPdf(
         row.id
       );
@@ -962,88 +944,90 @@ export default {
       data.onPassDialog = true;
     };
 
-    const change = (val) => {
+    const change = val => {
       if (val == 0) {
         trustLetterManagement
           .getProjectListByEntrustmentId({ id: data.rowId })
-          .then((res) => {
+          .then(res => {
             data.onPreAuditTableInfo = res.data;
           });
       } else if (val == 1) {
-        FinanceOffice.getPreliminaryList({ id: data.rowId }).then((res) => {
+        FinanceOffice.getPreliminaryList({ id: data.rowId }).then(res => {
           data.PrequalificationTableInfo = res.data;
         });
       } else {
-        console.log(222);
+        getEntrustmentFeedbackListByEntrustmentId();
       }
     };
     //椤圭洰娓呭崟-鍒嗛〉
-    const changePageLook = (val) => {
+    const changePageLook = val => {
       data.LookInfo.pageIndex = val.page;
       data.LookInfo.pageSize = val.limit;
       trustLetterManagementFinance
         .getProjectAuditOpinionPage({
           ...data.LookInfo,
-          type: 1,
+          type: 1
         })
-        .then((res) => {
+        .then(res => {
           data.onViewTableInfo = res.data;
           data.total = res.total;
         });
     };
     //椤圭洰娓呭崟-涓嬭浇
-    const onDownLoad = async (row) => {
-      const res = await trustLetterManagementFinance.downloadProjectPdf(row.id);
+    const onDownLoad = async (row, v) => {
+      const res = await trustLetterManagementFinance.downloadProjectPdf(
+        v == 1 ? row.id : row.parentId
+      );
       console.log(res);
     };
     //椤圭洰娓呭崟-棰勮
-    const onPreView = (row) => {
+    const onPreView = (row, v) => {
       router.push({
         path: `/i/item-entry/exante-performance-evaluation-function-edit`,
         query: {
-          id: row.id,
+          id: v == 1 ? row.id : row.parentId,
           judgepreview: true,
-          preview: 1,
-        },
+          preview: 1
+        }
       });
     };
     //椤圭洰娓呭崟-鏌ョ湅棰勫鎰忚
-    const onView = (row) => {
+    const onView = row => {
       data.LookInfo.parentId = row.id;
       exantePerformanceInquiry
         .getProjectAuditOpinionPage({ ...data.LookInfo, type: 1 })
-        .then((res) => {
+        .then(res => {
           data.onViewTableInfo = res.data;
           data.total = res.total;
         });
       data.onViewDialog = true;
     };
     //棰勫缁撴灉-涓嬭浇
-    const downloadYushen = async (row) => {
+    const downloadYushen = async row => {
       const res = await trustLetterManagementFinance.downloadProjectPdf(
         row.preliminaryid
       );
       console.log(res);
     };
     //棰勫缁撴灉-棰勮
-    const onPreViewYushen = (row) => {
-      console.log(row)
+    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,
-        },
+          preview: 1
+        }
       });
     };
     //棰勫缁撴灉-鏌ョ湅棰勫鎰忚
-    const onViewYushen = (row) => {
+    const onViewYushen = row => {
       if (row.preliminaryId == null) {
         ElMessage.warning('鏆傛棤棰勫鎰忚');
       } else {
         FinanceOffice.getPreliminaryById({ id: row.preliminaryId }).then(
-          (res) => {
+          res => {
             data.tableObj = res.data[0];
             data.writeDialog = true;
           }
@@ -1053,9 +1037,9 @@ export default {
     const onGenerateDelegateQuery = () => {
       trustLetterManagement
         .getPassProjectTypeList({
-          budYear: data.queryGenerateDelegateInfo.budYear,
+          budYear: data.queryGenerateDelegateInfo.budYear
         })
-        .then((res) => {
+        .then(res => {
           data.onEntrustingLetterTableInfo = res.data;
         });
     };
@@ -1063,9 +1047,9 @@ export default {
     const onEntrustingLetter = () => {
       trustLetterManagement
         .getPassProjectTypeList({
-          budYear: data.queryGenerateDelegateInfo.budYear,
+          budYear: data.queryGenerateDelegateInfo.budYear
         })
-        .then((res) => {
+        .then(res => {
           data.onEntrustingLetterTableInfo = res.data;
           data.onEntrustingLetterDialog = true;
         });
@@ -1074,11 +1058,19 @@ export default {
     //鍏抽棴濮旀墭鍑藉脊绐�
     const closeWeituo = () => {
       data.queryGenerateDelegateInfo = {
-        budYear: 2023,
+        budYear: 2023
       };
     };
+    const getEntrustmentFeedbackListByEntrustmentId = () => {
+      operation
+        .getEntrustmentFeedbackListByEntrustmentId({ id: data.rowId })
+        .then(res => {
+          data.onViewAppraisalResultTableInfo = res.data;
+        });
+    };
     return {
       Moment,
+      getEntrustmentFeedbackListByEntrustmentId,
       selectYear,
       onView,
       onViewYushen,
@@ -1108,9 +1100,9 @@ export default {
       exantePerformanceEdite,
       onEntrustingLetter,
       closeWeituo,
-      ...toRefs(data),
+      ...toRefs(data)
     };
-  },
+  }
 };
 </script>
 
@@ -1185,13 +1177,13 @@ export default {
   ::v-deep(.el-card__body) {
     padding-bottom: 0px !important;
   }
-    .tab_table2 {
+  .tab_table2 {
     border: 1px solid #dcdfe6 !important;
     font-size: 14px;
     font-weight: 500;
     color: #303133;
     text-align: center;
-    line-height:28px;
+    line-height: 28px;
   }
 }
 </style>
diff --git a/WebSite/src/views/item-entry/view-page/index.vue b/WebSite/src/views/item-entry/view-page/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..085d0597e229da639b8712ea1b63d2b1413f9f85
--- /dev/null
+++ b/WebSite/src/views/item-entry/view-page/index.vue
@@ -0,0 +1,1436 @@
+<template>
+  <div>
+    <el-dialog
+      top="220px"
+      title=""
+      v-model="onAcceptDialog"
+      width="75%"
+      destroy-on-close
+      @close="closeUpData"
+    >
+      <el-form ref="formRef" label-width="80px">
+        <el-tabs v-model="activeName" @tab-change="changeTabs">
+          <el-tab-pane label="椤圭洰棰勫" name="first" actived />
+          <el-tab-pane label="閬撮€変笓瀹�" name="second" />
+          <el-tab-pane label="鍒涘缓鏂规" name="third" />
+          <el-tab-pane label="鏌ョ湅涓撳宸ヤ綔搴曠ǹ" name="four" />
+          <el-tab-pane label="鎾板啓璇勫鎶ュ憡" name="five" />
+          <el-tab-pane label="璇勫绛惧瓧鎵撳嵃" name="six" />
+        </el-tabs>
+
+        <div v-if="activeName == 'first'" class="filter-container">
+          <el-table
+            :data="reviewTableInfo.tableInfo"
+            highlight-current-row
+            width="100%"
+            border
+            stripe
+            header-cell-class-name="headStyle"
+            @selection-change="selectionChangeReview"
+          >
+            <el-table-column
+              label="搴忓彿"
+              type="index"
+              width="50"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="projectNumber"
+              label="椤圭洰缂栧彿"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="projectName"
+              label="椤圭洰鍚嶇О"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              label="鎿嶄綔"
+              align="center"
+              style="width: 400px"
+              ><template #default="scope">
+                <el-button
+                  plain
+                  type="primary"
+                  size="small"
+                  icon="Download"
+                  @click="onLoad(scope.row)"
+                  >涓嬭浇鐢虫姤涔�</el-button
+                >
+                <el-button
+                  plain
+                  type="primary"
+                  size="small"
+                  icon="view"
+                  @click="onView(scope.row)"
+                  >鏌ョ湅棰勫鎰忚</el-button
+                >
+                <el-button
+                  plain
+                  type="primary"
+                  size="small"
+                  icon="Download"
+                  @click="downloadPreliminaryPdf(scope.row)"
+                  >涓嬭浇棰勫鎰忚</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+          <Pagination
+            style="padding-bottom: 10px"
+            :page="reviewTableInfo.pageIndex"
+            :limit="reviewTableInfo.pageSize"
+            :total="reviewDataCount"
+            @pagination="changeReviewPage"
+          />
+        </div>
+        <div v-if="activeName == 'second'" class="filter-container">
+          <el-table
+            :data="expertTableInfo.tableInfo"
+            highlight-current-row
+            width="100%"
+            border
+            stripe
+            header-cell-class-name="headStyle"
+          >
+            <!-- <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="expertName"
+              label="涓撳濮撳悕"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="moblieNumber"
+              label="鎵嬫満鍙风爜"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>
+                  {{
+                    scoped.row.expertTel
+                      ? scoped.row.expertTel
+                      : scoped.row.moblieNumber
+                  }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="budYear"
+              label="涓撳绫诲瀷"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>
+                  {{ scoped.row.expertType == '1' ? '璐㈠姟涓撳' : '涓氬姟涓撳' }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="workPlace"
+              label="宸ヤ綔鍗曚綅"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="ministries"
+              label="閮ㄩ棬"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="post"
+              label="鑱屽姟"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="projectName"
+              label="鏄惁鍙傚姞璇勫"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>
+                  {{ scoped.row.expertReviewResult == false ? '鍚�' : '鏄�' }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column class="positionStyle" label="绾夸笅閫氱煡"
+              ><template #default="scoped">
+                <el-radio-group
+                  :disabled="true"
+                  v-model="scoped.row.expertReviewResult"
+                  @change="changeRadio(scoped.row)"
+                >
+                  <el-radio :label="true">鍙傚姞</el-radio>
+                  <el-radio :label="false">涓嶅弬鍔�</el-radio>
+                </el-radio-group>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="projectName"
+              label="鏄惁鏈夌绔�"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>
+                  {{
+                    scoped.row.expertSign == null || expertSign == false
+                      ? '鍚�'
+                      : '鏄�'
+                  }}
+                </div>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <div v-if="activeName == 'third'" class="filter-container">
+          <el-table
+            :data="solutionTableInfo.tableInfo"
+            highlight-current-row
+            width="100%"
+            border
+            stripe
+            header-cell-class-name="headStyle"
+          >
+            <el-table-column
+              class="positionStyle"
+              prop="reviewDate"
+              label="璇勫鏃堕棿"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>{{ scoped.row.reviewDate.slice(0, 10) }}</div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="reviewAddress"
+              label="璇勫鍦板潃"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              label="鎿嶄綔"
+              align="center"
+              style="width: 550px"
+              ><template #default="">
+                <el-button plain type="primary" size="small" icon="download"
+                  >涓嬭浇鏂规</el-button
+                >
+                <el-button plain type="primary" size="small" icon="Tickets"
+                  >鍔冲姟璐瑰彂鏀炬竻鍗�</el-button
+                >
+                <el-button plain type="primary" size="small" icon="Collection"
+                  >璇勫浼氳绛惧埌琛�</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <div v-if="activeName == 'four'" class="filter-container">
+          <el-card
+            shadow="never"
+            style="margin-bottom: 20px"
+            class="charts-card"
+          >
+            <div>
+              <el-form :inline="true" class="demo-form-inline">
+                <el-form-item>
+                  <el-select v-model="solution" @change="selectTableInfo">
+                    <el-option
+                      v-for="item in solutionTableInfo.tableInfo"
+                      :key="item.id"
+                      :label="item.reviewAddress"
+                      :value="item.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item>
+                  <el-button plain type="primary" icon="download" size="small"
+                    >涓嬭浇涓撳鎵嬬ǹ鏍蜂緥</el-button
+                  >
+                </el-form-item>
+              </el-form>
+            </div>
+          </el-card>
+          <el-table
+            :data="expertsWriteTableInfo.tableInfo"
+            highlight-current-row
+            width="100%"
+            border
+            stripe
+            class="tableClass"
+            header-cell-class-name="headStyle"
+          >
+            <el-table-column type="expand">
+              <template #default="props">
+                <div m="4">
+                  <el-table :data="props.row.entrustmentProjectOutList">
+                    <el-table-column
+                      label="椤圭洰缂栧彿"
+                      prop="projectNumber"
+                      align="center"
+                    />
+                    <el-table-column
+                      label="椤圭洰鍚嶇О"
+                      prop="projectName"
+                      align="center"
+                    />
+                    <el-table-column label="鎿嶄綔" prop="city" align="center">
+                      <template #default="sco">
+                        <el-button
+                          plain
+                          type="primary"
+                          size="small"
+                          @click="CheckManuscript(props.row, sco.row)"
+                          >鏌ョ湅搴曠ǹ</el-button
+                        >
+                        <el-button plain type="primary" size="small"
+                          >涓嬭浇搴曠ǹ</el-button
+                        >
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="expertName"
+              label="涓撳濮撳悕"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="projectName"
+              label="涓撳搴曠ǹ杩涘害"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>
+                  {{
+                    scoped.row.manuscriptCompletedCount +
+                      '/' +
+                      scoped.row.manuscriptCount
+                  }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="expertsName"
+              label="鏄惁鍖呭惈闄勪欢"
+              align="center"
+            >
+              <template #default="scoped">
+                <div>
+                  {{ scoped.row.isHavingFile == false ? '鏃�' : '鏈�' }}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              label="鎿嶄綔"
+              align="center"
+              width="400"
+              ><template #default="">
+                <el-button plain type="primary" icon="download" size="small"
+                  >涓嬭浇宸插畬鎴愬簳绋�</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <div v-if="activeName == 'five'" class="filter-container">
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item>
+              <el-button plain type="primary" icon="Download" size="small"
+                >鎵归噺涓嬭浇鍙嶉鎰忚</el-button
+              >
+            </el-form-item>
+          </el-form>
+          <el-table
+            :data="reportTableInfo.tableInfo"
+            highlight-current-row
+            width="100%"
+            border
+            stripe
+            @selection-change="BatchFeedbackChange"
+            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="projectNumber"
+              label="椤圭洰缂栧彿"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="projectName"
+              label="椤圭洰鍚嶇О"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="expertRemark"
+              label="鍙嶉鎰忚"
+              align="center"
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="conclusionStatus"
+              label="璇勫缁撹"
+              align="center"
+            ></el-table-column>
+            <el-table-column class="positionStyle" label="鎿嶄綔" align="center"
+              ><template #default="scope">
+                <el-button
+                  plain
+                  size="small"
+                  @click="onRecord(scope.row)"
+                  v-if="scope.row.feedbackStatus == 1"
+                  >鏌ョ湅</el-button
+                >
+
+                <el-button
+                  v-if="
+                    scope.row.feedbackStatus == 1 ||
+                      scope.row.feedbackStatus == 0
+                  "
+                  plain
+                  type="primary"
+                  size="small"
+                  @click="onReco(scope.row)"
+                  >涓嬭浇</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+          <Pagination
+            style="padding-bottom: 10px"
+            :page="reportTableInfo.pageIndex"
+            :limit="reportTableInfo.pageSize"
+            :total="reportTableInfo.total"
+            @pagination="changePage"
+          />
+        </div>
+        <div v-if="activeName == 'six'" class="filter-container">
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item>
+              <el-form-item label="鏂规锛�">
+                <el-select
+                  v-model="selection"
+                  placeholder="璇烽€夋嫨"
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="(item, index) in selectList"
+                    :key="index"
+                    :label="item.reviewAddress"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-form-item>
+          </el-form>
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item>
+              <el-form-item label="鍚堣搴曠ǹ鏂瑰紡锛堜粎鏀寔Docx鏍煎紡锛夛細">
+              </el-form-item>
+            </el-form-item>
+          </el-form>
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item>
+              <el-button plain type="primary" icon="Download" size="small"
+                >涓嬭浇鍚堣搴曠ǹ</el-button
+              >
+              <el-button plain type="primary" icon="Download" size="small"
+                >涓撳搴曠ǹ涓€閿笅杞�</el-button
+              >
+              <el-button
+                plain
+                type="primary"
+                icon="Download"
+                size="small"
+                @click="downloadServiceFeePdf"
+                >鍔冲姟璐瑰彂鏀炬竻鍗�</el-button
+              >
+            </el-form-item>
+          </el-form>
+          <el-table
+            :data="printReviewTableInfo.tableInfo"
+            highlight-current-row
+            width="100%"
+            border
+            stripe
+            header-cell-class-name="headStyle"
+          >
+            <!-- <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="expertName"
+              label="濮撳悕"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.expertName"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="workPlace"
+              label="鍗曚綅"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.workPlace"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="post,title"
+              label="鑱屽姟/鑱岀О"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.title"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="idcard"
+              label="韬唤璇佸彿鐮�"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.idcard"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="bankAccount"
+              label="閾惰鍗″彿"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.bankAccount"></el-input> </template
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="bankName"
+              label="寮€鎴烽摱琛屽悕绉�"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.bankName"></el-input> </template
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="expertTel"
+              label="鑱旂郴鏂瑰紡"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.expertTel"></el-input> </template
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="preTaxAmount"
+              label="绋庡墠閲戦"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input
+                  v-model="scope.row.preTaxAmount"
+                ></el-input> </template
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="afterTaxAmount"
+              label="绋庡悗閲戦"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input
+                  v-model="scope.row.afterTaxAmount"
+                ></el-input> </template
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="experttype"
+              label="涓婄Щ"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.experttype"></el-input> </template
+            ></el-table-column>
+            <el-table-column
+              class="positionStyle"
+              prop="experttype"
+              label="涓嬬Щ"
+              align="center"
+            >
+              <template #default="scope">
+                <el-input v-model="scope.row.experttype"></el-input> </template
+            ></el-table-column>
+          </el-table>
+        </div>
+      </el-form>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="onAcceptDialog = false">鍙� 娑�</el-button>
+        </span>
+      </template>
+    </el-dialog>
+    <el-dialog
+      title="鏌ョ湅涓撳搴曠ǹ"
+      top="10px"
+      v-model="OptionRow"
+      width="60%"
+      destroy-on-close
+    >
+      <table border="1" class="tab_table2" cellspacing="0">
+        <tr>
+          <td colspan="6">璇勪及鍐呭銆佽鐐广€佹潈閲嶅強鎵撳垎</td>
+        </tr>
+        <tr>
+          <td>涓€绾ф寚鏍�</td>
+          <td>浜岀骇鎸囨爣</td>
+          <td>璇勪及瑕佺偣</td>
+          <td>鏉冮噸</td>
+          <td>璇勪及寰楀垎</td>
+          <td>澶囨敞璇存槑</td>
+        </tr>
+        <tr>
+          <td rowspan="4">椤圭洰绔嬮」蹇呰鎬�</td>
+          <td>渚濇嵁鍏呭垎鎬�</td>
+          <td>
+            椤圭洰鍐呭涓庡浗瀹躲€佹湰甯傚畯瑙傛斂绛栥€佽涓氭斂绛栫浉绗︼紝涓庢湰閮ㄩ棬鑱岃兘銆佺浉鍏充笓椤硅鍒掋€佸綋骞撮噸鐐瑰伐浣滅浉绗�
+          </td>
+          <td>10</td>
+          <td>
+            {{ tableArr.adequacyBasedScore }}
+          </td>
+          <td rowspan="3">
+            {{ tableArr.projectApprovalRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td>闇€姹傝揩鍒囨€�</td>
+          <td>椤圭洰鏈夌‘瀹氱殑鏈嶅姟瀵硅薄鎴栧彈鐩婂璞★紝鐜板疄闇€姹傝揩鍒囷紝娌℃湁鍙浛浠f€�</td>
+          <td>10</td>
+          <td>
+            {{ tableArr.demandUrgencyScore }}
+          </td>
+        </tr>
+        <tr>
+          <td>璐㈡斂鎶曞叆鐩稿叧鎬�</td>
+          <td>椤圭洰鍏锋湁鍏叡鎬э紝灞炰簬鍏叡璐㈡斂鏀寔鐨勮寖鍥�</td>
+          <td>10</td>
+          <td>
+            {{ tableArr.financialInvestmentCrrelationScore }}
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">灏忚</td>
+
+          <td>30</td>
+          <td>{{ total1 }}</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td rowspan="4">鎶曞叆缁忔祹鎬�</td>
+          <td>鎶曞叆璧勯噾璁鸿瘉鍏呭垎鎬�</td>
+          <td>瀵规姇鍏ラ噺缁忚繃浜嗗繀瑕佺殑瀹℃牳杩囩▼</td>
+          <td>6</td>
+          <td>
+            {{ tableArr.demonstrationInvestmentFundsScore }}
+          </td>
+          <td rowspan="3">
+            {{ tableArr.investmentEconomyRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td>棰勭畻缂栧埗绉戝鍚堢悊鎬�</td>
+          <td>椤圭洰棰勭畻涓庨」鐩唴瀹圭浉鍖归厤</td>
+          <td>7</td>
+          <td>
+            {{ tableArr.budgetingScienceScore }}
+          </td>
+        </tr>
+        <tr>
+          <td>閲嶅鎶曞叆椋庨櫓</td>
+          <td>
+            娌℃湁绫讳技椤圭洰寰楀埌璐㈡斂璧勯噾鏀寔锛岄渶姹傝€咃紙鍙楃泭瀵硅薄锛夌殑闇€姹傛病鏈夊叾浠栧悓绫婚」鐩噸澶嶆姇鍏�
+          </td>
+          <td>7</td>
+          <td>
+            {{ tableArr.riskRepeatedInvestmentScore }}
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">灏忚</td>
+
+          <td>20</td>
+          <td>{{ total2 }}</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td rowspan="4">缁╂晥鐩爣鍚堢悊鎬�</td>
+          <td>缁╂晥鐩爣鏄庣‘鎬�</td>
+          <td>缁╂晥鐩爣鎸囧悜鏄庣‘锛屼笖涓庨儴闂ㄩ暱鏈熻鍒掔洰鏍囥€佸勾搴﹀伐浣滅洰鏍囦竴鑷�</td>
+          <td>7</td>
+          <td>
+            {{ tableArr.clearPerformanceGoalScore }}
+          </td>
+          <td rowspan="3">
+            {{ tableArr.reasonablePerformanceGoalRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td>缁╂晥鐩爣鐩稿叧鎬�</td>
+          <td>
+            缁╂晥鐩爣涓庨」鐩璁¤В鍐崇殑闂鍖归厤锛屼笌椤圭洰鍐呭銆侀」鐩粡璐规敮鍑鸿寖鍥村尮閰�
+          </td>
+          <td>7</td>
+          <td>
+            {{ tableArr.relatedPerformanceGoalScore }}
+          </td>
+        </tr>
+        <tr>
+          <td>缁╂晥鐩爣鍙绋嬪害</td>
+          <td>
+            缁╂晥鐩爣鍦ㄤ竴瀹氭湡闄愬唴鍏锋湁杈冨己鐨勫彲瀹炵幇鎬э紝鍏锋湁涓€瀹氱殑鍓嶇灮鎬у拰鎸戞垬鎬�
+          </td>
+          <td>6</td>
+          <td>
+            {{ tableArr.feasibilityPerformanceGoalScore }}
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">灏忚</td>
+
+          <td>20</td>
+          <td>{{ total3 }}</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td rowspan="4">瀹炴柦鏂规鍙鎬�</td>
+          <td>鍓嶆湡绛瑰瀹屽鎬�</td>
+          <td>椤圭洰缁忚繃蹇呰鐨勮皟鐮斻€侀闄╄瘎浼扮瓑鍓嶆湡宸ヤ綔</td>
+          <td>6</td>
+          <td>
+            {{ tableArr.completenessPreliminaryPreparationScore }}
+          </td>
+          <td rowspan="3">
+            {{ tableArr.implementationPlanFeasibleRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td>瀹炴柦璁″垝鍚堢悊鎬�</td>
+          <td>
+            椤圭洰瀹炴柦璁″垝瀹屾暣銆佸彲琛屻€佸悎鐞嗭紝鍏峰鏄庣‘鐨勯」鐩寖鍥淬€侀」鐩唴瀹广€侀」鐩粍缁囥€佽繘搴﹀畨鎺掞紝椤圭洰鐩稿叧鐨勫熀纭€璁炬柦銆佽澶囨潯浠惰兘澶熷緱浠ユ湁鏁堜繚闅�
+          </td>
+          <td>7</td>
+          <td>
+            {{ tableArr.reasonableImplementationPlanScore }}
+          </td>
+        </tr>
+        <tr>
+          <td>椤圭洰绠$悊鏈哄埗鍋ュ叏鎬�</td>
+          <td>
+            椤圭洰鍏峰椤圭洰璐ㄩ噺鏍囧噯銆佹斂搴滈噰璐涓虹害鏉熸満鍒讹紙瀵逛簬娑夊強鏀垮簻閲囪喘琛屼负鐨勯」鐩級銆侀」鐩墽琛岃繃绋嬬鎺ф帾鏂芥垨鏈哄埗銆侀」鐩缓鍚庣淮鎶ゆ満鍒讹紙瀵逛簬淇℃伅鍖栧缓璁剧被椤圭洰锛夈€佽祫鏂欏綊妗f満鍒讹紝鐩稿叧鎺柦銆佹満鍒惰兘澶熶繚璇侀」鐩『鍒╁疄鏂�
+          </td>
+          <td>7</td>
+          <td>
+            {{ tableArr.projectManagementMechanismScore }}
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">灏忚</td>
+
+          <td>20</td>
+          <td>{{ total4 }}</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td rowspan="3">绛硅祫鍚堣鎬�</td>
+          <td>璧勯噾鏀寔鍚堢悊鎬�</td>
+          <td>
+            娌℃湁涓庡叾瀹冮」鐩殑鏀寔鑼冨洿鍜屽璞″瓨鍦ㄤ氦鍙夐噸鍙狅紱璧勯噾鏀寔鏂瑰紡绉戝鍚堢悊銆�
+          </td>
+          <td>10</td>
+          <td>
+            {{ tableArr.reasonableFinancialSupportScore }}
+          </td>
+          <td>
+            {{ tableArr.fundraisingComplianceRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td>绛硅祫椋庨櫓鍙帶鎬э紙鑻ュ惈闈炶储鏀挎€ц祫閲戯級</td>
+          <td>
+            瀵圭璧勯闄╋紙鍚嚜绛圭瓑鍏跺畠娓犻亾鏉ユ簮璧勯噾锛夋湁鍏ㄩ潰鐨勮璇嗭紱閽堝棰勬湡椋庨櫓璁惧畾搴斿鎺柦锛屼笖搴斿鎺柦鍙銆佹湁鏁堛€�
+          </td>
+          <td>0</td>
+          <td>
+            {{ tableArr.controllabilityFinancingRisksScore }}
+          </td>
+          <td>
+            {{ tableArr.controllabilityFinancingRisksRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">灏忚</td>
+
+          <td>10</td>
+          <td>{{ total5 }}</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td colspan="3">鍚堣</td>
+
+          <td>100</td>
+          <td>{{ total6 }}</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td rowspan="2">璇勪及缁撹<br />(璇峰嬀閫�)</td>
+          <td>寤鸿浜堜互鏀寔</td>
+          <td colspan="2">寤鸿璋冩暣瀹屽杽鍚庝簣浠ユ敮鎸�</td>
+          <td>涓嶄簣鏀寔</td>
+          <td>澶囨敞璇存槑</td>
+        </tr>
+        <tr>
+          <td>
+            <el-radio-group v-model="tableArr.conclusion">
+              <el-radio size="large" label="1" disabled>{{}}</el-radio>
+            </el-radio-group>
+          </td>
+          <td colspan="2">
+            <el-radio-group v-model="tableArr.conclusion">
+              <el-radio size="large" label="2" disabled>{{}}</el-radio>
+            </el-radio-group>
+          </td>
+          <td>
+            <el-radio-group v-model="tableArr.conclusion">
+              <el-radio size="large" label="3" disabled>{{}}</el-radio>
+            </el-radio-group>
+          </td>
+          <td>
+            {{ tableArr.conclusionRemark }}
+          </td>
+        </tr>
+        <tr>
+          <td>瀛樺湪鐨勯棶棰�<br />鍙婄浉鍏冲缓璁�</td>
+          <td colspan="5">
+            {{ tableArr.problemsPropose }}
+          </td>
+        </tr>
+      </table>
+
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="OptionRow = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="OptionRow = false">纭� 瀹�</el-button>
+        </span>
+      </template>
+    </el-dialog>
+    <el-dialog
+      top="220px"
+      v-model="addFeedbackDialog"
+      title="娣诲姞鍙嶉鎰忚"
+      width="30%"
+      destroy-on-close
+    >
+      <el-form>
+        <el-form-item label="椤圭洰鍚嶇О锛�">
+          <el-select
+            v-model="ProjectFeedback"
+            @change="selectCV"
+            :disabled="disabled1"
+          >
+            <el-option
+              v-for="item in Feedback"
+              :key="item.id"
+              :label="item.projectName"
+              :value="{
+                value: item.id,
+                label: item.projectName,
+                key: item.projectNumber
+              }"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="涓撳鎵撳垎鎯呭喌锛�">
+          <table
+            class="tab_table3"
+            cellspacing="0"
+            style="border: 1px solid #d5d5d5"
+          >
+            <tr>
+              <td v-for="(item, index) in markInfo" :key="index">
+                {{ item.expertName }}
+              </td>
+              <td v-if="markInfo.length != 0">骞冲潎寰楀垎</td>
+            </tr>
+            <tr>
+              <td v-for="(item, index) in markInfo" :key="index">
+                {{ item.totalScore }}
+              </td>
+              <td v-if="markInfo.length != 0">{{ avgScore }}</td>
+            </tr>
+          </table>
+        </el-form-item>
+        <el-form-item label="涓撳鎰忚锛�">
+          <el-input
+            :disabled="disabled"
+            v-model="textarea"
+            :rows="4"
+            type="textarea"
+            placeholder="璇峰~鍐�"
+          />
+        </el-form-item>
+        <el-form-item label="璇勫缁撹锛�">
+          <el-radio-group v-model="radio" :disabled="disabled">
+            <el-radio label="寤鸿浜堜互鏀寔" size="small">寤鸿浜堜互鏀寔</el-radio>
+            <el-radio label="寤鸿璋冩暣瀹屽杽鍚庝簣浠ユ敮鎸�" size="small"
+              >寤鸿璋冩暣瀹屽杽鍚庝簣浠ユ敮鎸�</el-radio
+            >
+            <el-radio label="涓嶄簣鏀寔" size="small">涓嶄簣鏀寔</el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button
+            type="primary"
+            @click="saveEntrustmentFeedback"
+            v-if="!disabled"
+            >淇濆瓨鎬ラ渶濉啓</el-button
+          >
+          <el-button type="primary" @click="onSaveAndClose" v-if="!disabled"
+            >淇濆瓨骞跺叧闂�</el-button
+          >
+          <el-button @click="addFeedbackDialog = false">鍏� 闂�</el-button>
+        </span>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import { reactive, toRefs, computed, watch, onMounted } from 'vue';
+import { ElMessage } from 'element-plus';
+import operation from '@/api/review-management-operation';
+export default {
+  name: 'ViewPage',
+  props: {
+    state: { type: Boolean },
+    planId: String
+  },
+
+  setup(props, cxt) {
+    const data = reactive({
+      planId: '',
+      disabled1: false,
+      disabled: false,
+      DownloadCopy: [],
+      onNew: false,
+      OptionRow: false,
+      tableArr: {
+        adequacyBasedScore: 0,
+        budgetingScienceScore: 0,
+        clearPerformanceGoalScore: 0,
+        completenessPreliminaryPreparationScore: 0,
+        conclusion: '',
+        conclusionRemark: '',
+        controllabilityFinancingRisksScore: 0,
+        demandUrgencyScore: 0,
+        demonstrationInvestmentFundsScore: 0,
+        entrustmentId: '',
+        expertId: '',
+        expertName: '',
+        expertTel: '',
+        feasibilityPerformanceGoalScore: 0,
+        financialInvestmentCrrelationScore: 0,
+        fundraisingComplianceRemark: '',
+        id: '',
+        implementationPlanFeasibleRemark: '',
+        investmentEconomyRemark: '',
+        parentId: '',
+        planId: '',
+        problemsPropose: '',
+        projectApprovalRemark: '',
+        projectManagementMechanismScore: 0,
+        reasonableFinancialSupportScore: 0,
+        reasonableImplementationPlanScore: 0,
+        reasonablePerformanceGoalRemark: '',
+        relatedId: '',
+        relatedPerformanceGoalScore: 0,
+        riskRepeatedInvestmentScore: 0,
+        totalScore: 0
+      },
+      planIds: '',
+      radio: '',
+      textarea: '',
+      projectName: '',
+      projectId: '',
+      projectNumber: '',
+      ProjectFeedback: '',
+      Feedback: [],
+      solution: '',
+      valueOption: '',
+      valueSelect: '鍏ㄥぉ',
+      queryInfo3: '',
+      valueYear1: '',
+      queryInfo1: '',
+      valueYear2: '',
+      queryInfo2: '',
+      addExpertShow: false,
+      expertList: [],
+      addexpert: {
+        tableInfo: [],
+        pageIndex: 1,
+        pageSize: 10,
+        total: 0
+      },
+      formRow: {
+        expertname: '',
+        recommendedoffice: '',
+        duty: '',
+        workunit: '',
+        department: ''
+      },
+      form: {
+        signTime: '',
+        receiveTime: ''
+      },
+      projectStates: [],
+      markInfo: [],
+      activeName: 'second',
+      addFeedbackDialog: false,
+      onAcceptDialog: false,
+      addExpertDialog: false,
+      queryInfo: {
+        budYear: '',
+        entrustmentState: '',
+        deptName: '',
+        pageIndex: 1,
+        pageSize: 10
+      },
+      dataCount: 2,
+      reviewTableInfo: {
+        id: '', //濮旀墭鍑絠d
+        projectNum: null,
+        tableInfo: [],
+        pageIndex: 1,
+        pageSize: 10
+      },
+      selectionChangeReviewId: [], //瀛樻斁椤圭洰棰勫閫夋嫨鐨勬暟鎹甶d
+      expertTableInfo: {
+        tableInfo: []
+      },
+      solutionTableInfo: {
+        tableInfo: []
+      },
+      expertsWriteTableInfo: {
+        tableInfo: []
+      },
+      reportTableInfo: {
+        tableInfo: [],
+        pageIndex: 1,
+        pageSize: 10
+      },
+      printReviewTableInfo: {
+        tableInfo: [],
+        pageIndex: 1,
+        pageSize: 10
+      },
+      SixTotal: 1,
+      reviewDataCount: 4,
+      exantePerformanceTableInfo: {
+        tableInfo: []
+      },
+      exantePerformanceSelects: [],
+      officeCode: '',
+      officeName: '',
+      selection: '',
+      selectList: [],
+      avgScore: '',
+      entrustmentId: '',
+      formBlue: {
+        businessExpertCount: '',
+        financeExpertCount: ''
+      },
+      proId: [],
+      plan: []
+    });
+
+    const uplChange = row => {
+      data.expertTel = row.expertTel;
+      console.log(row);
+      data.onNew = true;
+      getEntrustmentExpertManuscriptFileList();
+    };
+    const getEntrustmentExpertManuscriptFileList = () => {
+      operation
+        .getEntrustmentExpertManuscriptFileList({
+          expertId: data.expertTel,
+          planId: data.planIds
+        })
+        .then(res => {
+          data.DownloadCopy = res.data;
+        });
+    };
+    const total1 = computed(() => {
+      return (
+        Number(data.tableArr.adequacyBasedScore) +
+        Number(data.tableArr.demandUrgencyScore) +
+        Number(data.tableArr.financialInvestmentCrrelationScore)
+      );
+    });
+    const total2 = computed(() => {
+      return (
+        Number(data.tableArr.demonstrationInvestmentFundsScore) +
+        Number(data.tableArr.budgetingScienceScore) +
+        Number(data.tableArr.riskRepeatedInvestmentScore)
+      );
+    });
+    const total3 = computed(() => {
+      return (
+        Number(data.tableArr.clearPerformanceGoalScore) +
+        Number(data.tableArr.relatedPerformanceGoalScore) +
+        Number(data.tableArr.feasibilityPerformanceGoalScore)
+      );
+    });
+    const total4 = computed(() => {
+      return (
+        Number(data.tableArr.completenessPreliminaryPreparationScore) +
+        Number(data.tableArr.reasonableImplementationPlanScore) +
+        Number(data.tableArr.projectManagementMechanismScore)
+      );
+    });
+    const total5 = computed(() => {
+      return (
+        Number(data.tableArr.reasonableFinancialSupportScore) +
+        Number(data.tableArr.controllabilityFinancingRisksScore)
+      );
+    });
+    const total6 = computed(() => {
+      return (
+        total1.value + total2.value + total3.value + total4.value + total5.value
+      );
+    });
+
+    watch(
+      () => props.state,
+      () => {
+        data.onAcceptDialog = props.state;
+      },
+      { immediate: true }
+    );
+    // watch(
+    //   () => data.activeName,
+    //   () => {
+    //     if (data.activeName == 'first') {
+    //       console.log('111');
+    //       getPreliminaryList();
+    //     }
+    //     if (data.activeName == 'six') {
+    //       console.log('666');
+    //       planReviewList();
+    //       getExpertInfoList();
+    //     }
+    //   }
+    // );
+    watch(
+      () => data.printReviewTableInfo.tableInfo,
+      () => {
+        for (let i = 0; i < data.printReviewTableInfo.tableInfo.length; i++) {
+          data.printReviewTableInfo.tableInfo[i].title =
+            data.printReviewTableInfo.tableInfo[i].post +
+            data.printReviewTableInfo.tableInfo[i].title;
+        }
+      }
+    );
+    onMounted(() => {
+      data.planId = props.planId;
+      getExpertInfoPageById();
+    });
+    //濉啓搴曠ǹ
+    const CheckManuscript = (row, child) => {
+      data.OptionRow = true;
+      operation
+        .getEntrustmentExpertManuscript({
+          entrustmentId: data.reviewTableInfo.id,
+          expertId: row.expertId,
+          parentId: child.id,
+          expertTel: row.expertTel,
+          expertName: row.expertName,
+          planId: data.planIds
+        })
+        .then(res => {
+          data.tableArr = res.data[0];
+        });
+    };
+    //鍒囨崲鍒嗛〉
+    const changePage = val => {
+      data.reportTableInfo.pageIndex = val.page;
+      data.reportTableInfo.pageSize = val.limit;
+    };
+    //椤圭洰棰勫 鍒囨崲鍒嗛〉
+    const changeReviewPage = val => {
+      (data.reviewTableInfo.pageIndex = val.page),
+        (data.reviewTableInfo.pageSize = val.limit),
+        getPreliminaryList();
+    };
+    const getPreliminaryList = () => {
+      operation
+        .getPreliminaryList({
+          id: data.planId,
+          pageIndex: data.reviewTableInfo.pageIndex,
+          pageSize: data.reviewTableInfo.pageSize,
+          projectNumber: data.reviewTableInfo.projectNum
+        })
+        .then(res => {
+          data.reviewTableInfo.tableInfo = res.data;
+          data.reviewDataCount = res.total;
+        });
+    };
+    //鍒囨崲Tabs鏍囩
+    const changeTabs = v => {
+      if (v == 'third' || v == 'four') {
+        getPlanReviewList();
+      } else if (v == 'five') {
+        getEntrustmentFeedbackListByEntrustmentId();
+      } else if (v == 'first') {
+        getPreliminaryList();
+      } else if (v == 'second') {
+        getExpertInfoPageById();
+      } else if (v == 'six') {
+        getExpertInfoList();
+        planReviewList();
+      }
+    };
+    //鎾板啓璇勫鎶ュ憡鍒楄〃
+    const getEntrustmentFeedbackListByEntrustmentId = () => {
+      operation
+        .getEntrustmentFeedbackListByEntrustmentId({
+          id: data.planId
+        })
+        .then(res => {
+          data.reportTableInfo.tableInfo = res.data;
+
+          data.reportTableInfo.total = res.total;
+        });
+    };
+    const getPlanReviewList = () => {
+      operation.getPlanReviewList({ id: data.planId }).then(res => {
+        data.solutionTableInfo.tableInfo = res.data;
+        data.solution = data.solutionTableInfo.tableInfo[0].reviewAddress;
+        data.planIds = data.solutionTableInfo.tableInfo[0].id;
+        getEntrustmentExpertManuscriptList();
+      });
+    };
+    //閫夋嫨椤圭洰棰勫鐨勬暟鎹�
+    const selectionChangeReview = val => {
+      data.selectionChangeReviewId = val.map(item => item.id);
+    };
+    const addExpert = () => {
+      data.addExpertDialog = true;
+      getDbExpertInfoPage();
+    };
+    //娣诲姞涓撳鍒楄〃
+    const getDbExpertInfoPage = () => {
+      operation
+        .getDbExpertInfoPage({
+          expertName: data.formRow.expertname,
+          ministries: data.formRow.department,
+          pageNo: data.addexpert.pageIndex,
+          pageSize: data.addexpert.pageSize,
+          post: data.formRow.duty,
+          recommendPlace: data.formRow.recommendedoffice,
+          workPlace: data.formRow.workunit
+        })
+        .then(res => {
+          data.addexpert.tableInfo = res.data;
+          data.addexpert.total = res.total;
+        });
+    };
+
+    //濮旀墭鍑戒笓瀹跺垪琛�
+    const getExpertInfoPageById = () => {
+      operation
+        .getExpertInfoPageById({
+          id: data.planId,
+          pageIndex: 1,
+          pageSize: 10
+        })
+        .then(res => {
+          data.expertTableInfo.tableInfo = res.data;
+        });
+    };
+
+    //鑾峰彇濮旀墭鍑藉垪琛�
+    const getClaimEnutrustmentList = () => {
+      operation.getClaimEnutrustmentList(data.queryInfo).then(res => {
+        data.exantePerformanceTableInfo.tableInfo = res.data;
+        data.dataCount = res.total;
+      });
+    };
+    //鏂规涓嬫媺妗�
+    const planReviewList = () => {
+      operation.getPlanReviewList({ id: data.planId }).then(res => {
+        data.selectList = [res.data[0]];
+      });
+    };
+    //璇勫绛惧瓧鎵撳嵃琛ㄦ牸
+    const getExpertInfoList = () => {
+      operation
+        .getExpertInfoList({
+          id: data.planId,
+          pageIndex: data.printReviewTableInfo.pageIndex,
+          pageSize: data.printReviewTableInfo.pageSize
+        })
+        .then(res => {
+          data.printReviewTableInfo.tableInfo = res.data;
+          data.SixTotal = res.total;
+        });
+    };
+    //璇勫绛惧瓧鍔冲姟璐逛笅杞�
+    const downloadServiceFeePdf = () => {
+      operation.downloadServiceFeePdf({
+        expertInfoPDFListCmdList: data.printReviewTableInfo.tableInfo
+      });
+    };
+    //鑾峰彇涓撳搴曠ǹ鍒楄〃
+    const selectTableInfo = v => {
+      data.planIds = v;
+      getEntrustmentExpertManuscriptList();
+    };
+    const getEntrustmentExpertManuscriptList = () => {
+      operation
+        .getEntrustmentExpertManuscriptList({
+          entrustmentId: data.planId,
+          planId: data.planIds
+        })
+        .then(res => {
+          data.expertsWriteTableInfo.tableInfo = res.data;
+        });
+    };
+    const getEntrustmentExpertScoreByProjectId = v => {
+      operation
+        .getEntrustmentExpertScoreByProjectId({ parentId: v })
+        .then(res => {
+          data.markInfo = res.data[0].expertManuscriptOuts;
+          data.avgScore = res.data[0].avgScore;
+        });
+    };
+
+    const BatchFeedbackChange = val => {
+      data.parentId = val.map(item => {
+        return item.id;
+      });
+    };
+    //涓嬭浇鐢虫姤涔�
+    const onLoad = () => {};
+    //鏌ョ湅鐢虫姤涔�
+    const onLook = () => {};
+    //鏌ョ湅瀹℃牳鎰忚
+    const onView = () => {};
+    //涓嬭浇棰勫PDF  纭浼犲弬id鏄惁姝g‘
+    const downloadPreliminaryPdf = row => {
+      if (row.preliminaryId != null) {
+        operation.downloadPreliminaryPdf({ id: row.preliminaryId });
+      } else {
+        ElMessage.warning('鏆傛椂娌℃湁棰勫鎰忚');
+      }
+    };
+    // eslint-disable-next-line no-unused-vars
+    const UploadRequestOptions = file => {};
+    // eslint-disable-next-line no-unused-vars
+    const UploadRequest = file => {};
+    const rowId = row => {
+      data.expertTel = row.expertTel;
+    };
+    //鏌ョ湅
+    const onRecord = row => {
+      data.disabled = true;
+      data.disabled1 = true;
+      data.addFeedbackDialog = true;
+      getEntrustmentExpertScoreByProjectId(row.id);
+      data.ProjectFeedback = row.projectName;
+      data.textarea = row.expertRemark;
+      data.radio = row.conclusionStatus;
+    };
+    const closeUpData = () => {
+      cxt.emit('changData', false);
+    };
+
+    return {
+      CheckManuscript,
+      closeUpData,
+      BatchFeedbackChange,
+      getEntrustmentExpertScoreByProjectId,
+      onRecord,
+      rowId,
+      UploadRequestOptions,
+      UploadRequest,
+      getEntrustmentExpertManuscriptList,
+      getDbExpertInfoPage,
+      selectTableInfo,
+      getEntrustmentFeedbackListByEntrustmentId,
+      planReviewList,
+      changeTabs,
+      getExpertInfoPageById,
+      getClaimEnutrustmentList,
+      changeReviewPage,
+      getPreliminaryList,
+      uplChange,
+      changePage,
+      addExpert,
+      selectionChangeReview,
+      getPlanReviewList,
+      getExpertInfoList,
+      getEntrustmentExpertManuscriptFileList,
+      downloadServiceFeePdf,
+      onLoad,
+      onLook,
+      onView,
+      total5,
+      total6,
+      total1,
+      total4,
+      total3,
+      total2,
+      downloadPreliminaryPdf,
+      ...toRefs(data)
+    };
+  }
+};
+</script>