diff --git a/WebSite/src/api/review-management-operation.js b/WebSite/src/api/review-management-operation.js
index d8f546055e4f587bf6a5f2c622a25c0931e556cb..7e659aa03292e44ce63359e30886b5386df1733f 100644
--- a/WebSite/src/api/review-management-operation.js
+++ b/WebSite/src/api/review-management-operation.js
@@ -119,9 +119,52 @@ class operation {
       '/entrustmentExpert/saveExpertSign?expertId=' + expertId + '&file=' + file
     );
   }
-  //鎵归噺鍙嶉棰勫鎰忚锛氫紶棰勫涓婚敭 
+  //鎵归噺鍙嶉棰勫鎰忚锛氫紶棰勫涓婚敭
   static modifyByFeedbackIds(data) {
-    return request.post('/preliminary/modifyByFeedbackIds' , data);
+    return request.post('/preliminary/modifyByFeedbackIds', data);
+  }
+  //淇濆瓨濮旀墭鍑戒笓瀹�
+  static saveEntrustmentExpertInfo(data) {
+    return request.post('/entrustmentExpert/saveEntrustmentExpertInfo', data);
+  }
+  //鍒嗛〉濮旀墭鍑戒笓瀹跺垪琛�
+  static getExpertInfoPageById(data) {
+    return request.post('/entrustmentExpert/getExpertInfoPageById', data);
+  }
+  //鍒犻櫎濮旀墭鍑戒笓瀹�
+  static removeExpert(data) {
+    return request.post('/entrustmentExpert/removeExpert', data);
+  }
+  //鏄惁鍙傚姞璇勫
+  static saveExpertIsJoin(data) {
+    return request.post('/entrustmentExpert/saveExpertIsJoin', data);
+  }
+  //淇濆瓨涓撳浜烘暟
+  static saveEntrustmentExpertCount(data) {
+    return request.post('/entrustmentExpert/saveEntrustmentExpertCount', data);
+  }
+  //鑾峰彇璇勫鏂规涓嬬殑涓撳
+  static getNoPlanReviewExpert(data) {
+    return request.post('/planReview/getNoPlanReviewExpert', data);
+  }
+  //鑾峰彇璇勫鏂规涓嬬殑椤圭洰
+  static getProjectsPlanReview(data) {
+    return request.post('/planReview/getProjectsPlanReview', data);
+  }
+  //鑾峰彇璇勫鏂规鍒楄〃
+  static getPlanReviewList(data) {
+    return request.post('/planReview/getPlanReviewList', data);
+  }
+  //淇濆瓨璇勫鏂规
+  static savePlanReview(data) {
+    return request.post('/planReview/savePlanReview', data);
+  }
+  //鑾峰彇璇勫鏂规涓撳搴曠ǹ
+  static getEntrustmentExpertManuscriptList(data) {
+    return request.post(
+      '/expertManuscript/getEntrustmentExpertManuscriptList',
+      data
+    );
   }
 }
 
diff --git a/WebSite/src/views/electronic-seal/index.vue b/WebSite/src/views/electronic-seal/index.vue
index edda6920343820a52b6bd75f9a62c7175124de34..501b96b2ad9dc1e78884dcdb24f14a4a27c9a47b 100644
--- a/WebSite/src/views/electronic-seal/index.vue
+++ b/WebSite/src/views/electronic-seal/index.vue
@@ -19,19 +19,23 @@
 import { reactive, toRefs, onMounted } from 'vue';
 import operation from '@/api/review-management-operation';
 import { ElMessage } from 'element-plus';
+import { useRoute } from 'vue-router';
 export default {
   setup() {
+    const route = useRoute();
     let context;
     let canvas;
     let canvasWidth;
     let canvasHeight;
     let isMouseDown;
     let lastLoc;
-    const data = reactive({});
+    const data = reactive({
+      expertId: ''
+    });
 
     onMounted(() => {
-      const her = window.location.href;
-      console.log(her);
+      data.expertId = route.query.expertId;
+      console.log(route.query.expertId);
       window.onresize = function() {
         location.reload();
       };
@@ -116,7 +120,7 @@ export default {
     };
     const onSave = () => {
       const base64 = canvas.toDataURL();
-      operation.saveExpertSign(base64).then(res => {
+      operation.saveExpertSign(data.expertId, base64).then(res => {
         console.log(res);
         ElMessage({
           message: '淇濆瓨鎴愬姛',
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 f81500fac747956329a207920e71e0657dc448ad..cb981efe8fd7e8b3a78ce20b18fee6c6b993915c 100644
--- a/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
+++ b/WebSite/src/views/item-entry/pre-declaration-operation/index.vue
@@ -112,8 +112,8 @@
                 plain
                 v-if="
                   scope.row.entrustmentState == 4 ||
-                  scope.row.entrustmentState == 5 ||
-                  scope.row.entrustmentState == 6
+                    scope.row.entrustmentState == 5 ||
+                    scope.row.entrustmentState == 6
                 "
                 type="primary"
                 icon="EditPen"
@@ -169,8 +169,8 @@
               <el-button
                 v-if="
                   scope.row.entrustmentState == 4 ||
-                  scope.row.entrustmentState == 5 ||
-                  scope.row.entrustmentState == 6
+                    scope.row.entrustmentState == 5 ||
+                    scope.row.entrustmentState == 6
                 "
                 plain
                 type="danger"
@@ -182,8 +182,8 @@
               <el-button
                 v-if="
                   scope.row.entrustmentState == 7 ||
-                  scope.row.entrustmentState == 8 ||
-                  scope.row.entrustmentState == 9
+                    scope.row.entrustmentState == 8 ||
+                    scope.row.entrustmentState == 9
                 "
                 plain
                 type="primary"
@@ -195,10 +195,10 @@
               <el-button
                 v-if="
                   scope.row.entrustmentState == 7 ||
-                  scope.row.entrustmentState == 5 ||
-                  scope.row.entrustmentState == 6 ||
-                  scope.row.entrustmentState == 8 ||
-                  scope.row.entrustmentState == 9
+                    scope.row.entrustmentState == 5 ||
+                    scope.row.entrustmentState == 6 ||
+                    scope.row.entrustmentState == 8 ||
+                    scope.row.entrustmentState == 9
                 "
                 plain
                 type="primary"
@@ -303,7 +303,7 @@
       destroy-on-close
     >
       <el-form ref="formRef" label-width="80px">
-        <el-tabs v-model="activeName">
+        <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" />
@@ -416,13 +416,21 @@
           />
         </div>
         <div v-if="activeName == 'second'" class="filter-container">
-          <el-form :inline="true" class="demo-form-inline">
+          <el-form :model="formBlue" :inline="true" class="demo-form-inline">
             <el-form-item>
               <el-form-item label="涓氬姟涓撳浜烘暟锛�">
-                <el-input type="text" />
+                <el-input
+                  v-model="formBlue.businessExpertCount"
+                  type="text"
+                  @blur="inputBlur()"
+                />
               </el-form-item>
               <el-form-item label="璐㈠姟涓撳浜烘暟锛�">
-                <el-input type="text" />
+                <el-input
+                  v-model="formBlue.financeExpertCount"
+                  type="text"
+                  @blur="inputBlur()"
+                />
               </el-form-item>
               <el-button
                 plain
@@ -461,92 +469,95 @@
             ></el-table-column>
             <el-table-column
               class="positionStyle"
-              prop="serialNumber"
+              prop="expertName"
               label="涓撳濮撳悕"
               align="center"
             ></el-table-column>
             <el-table-column
               class="positionStyle"
-              prop="projectCode"
+              prop="moblieNumber"
               label="鎵嬫満鍙风爜"
               align="center"
-            ></el-table-column>
+            >
+              <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"
-            ></el-table-column>
+            >
+              <template #default="scoped">
+                <div>
+                  {{ scoped.row.expertType == '1' ? '璐㈠姟涓撳' : '涓氬姟涓撳' }}
+                </div>
+              </template>
+            </el-table-column>
             <el-table-column
               class="positionStyle"
-              prop="projectName"
+              prop="workPlace"
               label="宸ヤ綔鍗曚綅"
               align="center"
             ></el-table-column>
             <el-table-column
               class="positionStyle"
-              prop="projectName"
+              prop="ministries"
               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="projectName"
-              label="鏄惁鍙傚姞璇勫"
+              prop="post"
+              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="projectName"
-              label=""
+              label="鏄惁鍙傚姞璇勫"
               align="center"
-            ></el-table-column> -->
+            >
+              <template #default="scoped">
+                <div>
+                  {{ scoped.row.expertReviewResult == false ? '鍚�' : '鏄�' }}
+                </div>
+              </template>
+            </el-table-column>
             <el-table-column class="positionStyle" label="绾夸笅閫氱煡"
-              ><template #default="scope">
-                <span style="width: 100%"
-                  ><el-checkbox
-                    v-model="scope.row.checked3"
-                    label="鍙傚姞"
-                    size="medium"
-                  ></el-checkbox
-                ></span>
-                <span style="width: 100%"
-                  ><el-checkbox
-                    v-model="scope.row.checked3"
-                    label="涓嶅弬鍔�"
-                    size="medium"
-                  ></el-checkbox
-                ></span>
+              ><template #default="scoped">
+                <el-radio-group
+                  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 type="selection"> </el-table-column> -->
-            <!-- <el-table-column
-              class="positionStyle"
-              label="鍙戦€侀€氱煡"
-              align="center"
-              ><template #default="scope">
-                <el-checkbox
-                  v-model="scope.row.checked"
-                ></el-checkbox> </template
-            ></el-table-column> -->
             <el-table-column
               class="positionStyle"
               prop="projectName"
-              label="鏄惁鏈夌洊绔�"
+              label="鏄惁鏈夌绔�"
               align="center"
-            ></el-table-column>
+            >
+              <template #default="scoped">
+                <div>
+                  {{
+                    scoped.row.expertSign == null || expertSign == false
+                      ? '鍚�'
+                      : '鏄�'
+                  }}
+                </div>
+              </template>
+            </el-table-column>
             <el-table-column class="positionStyle" label="鎿嶄綔" align="center"
               ><template #default="scope">
                 <el-button
@@ -560,147 +571,16 @@
               </template>
             </el-table-column>
           </el-table>
-          <Pagination
-            style="padding-bottom: 10px"
-            :page="expertTableInfo.pageIndex"
-            :limit="expertTableInfo.pageSize"
-            :total="expertDataCount"
-            @pagination="changeExpertPage"
-          />
         </div>
         <div v-if="activeName == 'third'" class="filter-container">
-          <!-- <el-form :inline="true" class="demo-form-inline">
-            <el-form-item>
-              <el-button plain type="primary" icon="Monitor" size="small">浼氳閫氱煡</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button plain type="primary" icon="Notebook" size="small">鍔冲姟璐瑰彂鏀炬竻鍗�</el-button>
-            </el-form-item>
-            <el-form-item>
-              <el-button plain type="primary" icon="Notebook" size="small">璇勫浼氳绛惧埌琛�</el-button>
-            </el-form-item>
-          </el-form>
-          <el-card class="box-card">
-            <template #header>
-              <div class="card-header">
-                <span>璇勫鏂规</span>
-              </div>
-            </template>
-            <div class="text item">
-              <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="璇勫鏃ユ湡锛�">
-                  <el-date-picker v-model="value1" type="date" placeholder="Pick a date" />
-                </el-form-item>
-                <el-form-item label="璇勫鍦扮偣锛�">
-                  <el-input type="text" />
-                </el-form-item>
-              </el-form>
-            </div>
-          </el-card>
-          <el-card class="box-card">
-            <template #header>
-              <div class="card-header">
-                <span>璇烽€夋嫨濮旀墭璇勫鍑�</span>
-              </div>
-            </template>
-            <div class="text item">
-              <el-table :data="addExpertTableInfo.tableInfo" highlight-current-row width="100%" border stripe
-                @selection-change="handAddDxpertChange">
-                <el-table-column class="positionStyle" prop="serialNumber" label="椤圭洰鍚嶇О" align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="濮旀墭璇勫鍑界紪鍙�"
-                  align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="濮旀墭璇勭姸鎬�" align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="澶勫" align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="椤圭洰涓暟" align="center"></el-table-column>
-                <el-table-column class="positionStyle" label="鎿嶄綔" align="center"><template #default="scope">
-                    <el-button plain type="danger" size="small" icon="Delete"
-                      @click="onExpertDelete(scope.row)">鍒犻櫎</el-button>
-                    <el-button plain type="danger" size="primary" icon="View"
-                      @click="onExpertDelete(scope.row)">鏌ョ湅瀛愰」鐩�</el-button>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="涓€绾ч」鐩€绘暟锛�">
-                  2
-                </el-form-item>
-                <el-form-item label="鐢虫姤椤圭洰鎬绘暟锛�">
-                  4
-                </el-form-item>
-              </el-form>
-            </div>
-          </el-card>
-          <el-card class="box-card">
-            <template #header>
-              <div class="card-header">
-                <span>閫変腑椤圭洰鏁�</span>
-              </div>
-            </template>
-            <div class="text item">
-              <div style="text-align: center;margin-bottom: 15px;">
-                <span>璇勫涓撳缁�</span>
-              </div>
-              <el-table :data="addExpertTableInfo.tableInfo" highlight-current-row width="100%" border stripe
-                @selection-change="handAddDxpertChange" header-cell-class-name="headStyle">
-                <el-table-column type="selection"> </el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="涓撳濮撳悕" align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="宸ヤ綔鍗曚綅" align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="閮ㄩ棬" align="center"></el-table-column>
-                <el-table-column class="positionStyle" prop="serialNumber" label="鑱屽姟" align="center"></el-table-column>
-                <el-table-column class="positionStyle" label="涓撳绫诲瀷" align="center">
-                  <template #default="scope">
-                    <el-radio-group v-model="scope.row.radio">
-                      <el-radio label="1" size="small">璐㈠姟涓撳</el-radio>
-                      <el-radio label="2" size="small">涓氬姟涓撳</el-radio>
-                    </el-radio-group>
-                  </template>
-                </el-table-column>
-                <el-table-column class="positionStyle" label="缁勯暱閫夋嫨" align="center"><el-radio label=""
-                    size="small"></el-radio></el-table-column>
-                <el-table-column class="positionStyle" label="缁勫憳閫夋嫨" align="center">
-                  <template #default="scope"><el-radio-group v-model="scope.row.radio1" class="ml-4">
-                      <el-radio label="" size="small"></el-radio></el-radio-group></template>
-                </el-table-column>
-              </el-table>
-            </div>
-          </el-card>
-          <el-card class="box-card">
-            <template #header>
-              <div class="card-header">
-                <span>绗竴鑺� 涓撳棰勫浼�</span>
-              </div>
-            </template>
-            <div class="text item">
-              <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="鏃堕棿锛�">
-                  <el-date-picker v-model="value1" type="date" placeholder="Pick a date" />
-                </el-form-item>
-                <el-form-item label="涓绘寔浜猴細">
-                  <el-input type="text" />
-                </el-form-item>
-              </el-form>
-            </div>
-          </el-card>
-          <el-card class="box-card">
-            <template #header>
-              <div class="card-header">
-                <span>绗簩鑺� 涓撳璇勫浼�</span>
-              </div>
-            </template>
-            <div class="text item">
-              <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="鏃堕棿锛�">
-                  <el-date-picker v-model="value1" type="date" placeholder="Pick a date" />
-                </el-form-item>
-                <el-form-item label="涓绘寔浜猴細">
-                  <el-input type="text" />
-                </el-form-item>
-              </el-form>
-            </div>
-          </el-card> -->
           <el-form :inline="true" class="demo-form-inline">
             <el-form-item>
-              <el-button plain type="primary" icon="Monitor" size="small"
+              <el-button
+                plain
+                type="primary"
+                icon="Monitor"
+                size="small"
+                @click="showDialog"
                 >鏂板鏂规</el-button
               >
             </el-form-item>
@@ -715,13 +595,17 @@
           >
             <el-table-column
               class="positionStyle"
-              prop="serialNumber"
+              prop="reviewDate"
               label="璇勫鏃堕棿"
               align="center"
-            ></el-table-column>
+            >
+              <template #default="scoped">
+                <div>{{ scoped.row.reviewDate.slice(0, 10) }}</div>
+              </template>
+            </el-table-column>
             <el-table-column
               class="positionStyle"
-              prop="projectCode"
+              prop="reviewAddress"
               label="璇勫鍦板潃"
               align="center"
             ></el-table-column>
@@ -730,7 +614,7 @@
               label="鎿嶄綔"
               align="center"
               style="width: 550px"
-              ><template #default="scope">
+              ><template #default="scoped">
                 <el-button plain type="primary" icon="phone" size="small"
                   >浼氳閫氱煡</el-button
                 >
@@ -747,7 +631,7 @@
                   type="danger"
                   size="small"
                   icon="Delete"
-                  @click="onExpertDelete(scope.row)"
+                  v-if="scoped.row.relatedId == null"
                   >鍒犻櫎</el-button
                 >
                 <el-button plain type="primary" size="small" icon="download"
@@ -762,13 +646,6 @@
               </template>
             </el-table-column>
           </el-table>
-          <Pagination
-            style="padding-bottom: 10px"
-            :page="solutionTableInfo.pageIndex"
-            :limit="solutionTableInfo.pageSize"
-            :total="solutionDataCount"
-            @pagination="changeSolutionPage"
-          />
         </div>
         <div v-if="activeName == 'four'" class="filter-container">
           <el-card
@@ -779,9 +656,13 @@
             <div>
               <el-form :inline="true" class="demo-form-inline">
                 <el-form-item>
-                  <el-select>
-                    <el-option>1</el-option>
-                    <el-option>2</el-option>
+                  <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>
@@ -798,28 +679,37 @@
             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.family" :border="childBorder">
+                  <el-table :data="props.row.entrustmentProjectOutList">
                     <el-table-column
                       label="椤圭洰缂栧彿"
-                      prop="name"
+                      prop="projectNumber"
                       align="center"
                     />
                     <el-table-column
                       label="椤圭洰鍚嶇О"
-                      prop="state"
+                      prop="projectName"
                       align="center"
                     />
                     <el-table-column label="鎿嶄綔" prop="city" align="center">
                       <template #default="">
-                        <el-button plain type="primary" size="small"
+                        <el-button
+                          plain
+                          type="primary"
+                          size="small"
+                          @click="CheckManuscript(props.row)"
                           >鏌ョ湅搴曠ǹ</el-button
                         >
-                        <el-button plain type="primary" size="small"
+                        <el-button
+                          plain
+                          type="primary"
+                          size="small"
+                          @click="FillPaper(props.row)"
                           >濉啓搴曠ǹ</el-button
                         >
                         <el-button plain type="primary" size="small"
@@ -833,7 +723,7 @@
             </el-table-column>
             <el-table-column
               class="positionStyle"
-              prop="projectCode"
+              prop="expertName"
               label="涓撳濮撳悕"
               align="center"
             ></el-table-column>
@@ -842,38 +732,68 @@
               prop="projectName"
               label="涓撳搴曠ǹ杩涘害"
               align="center"
-            ></el-table-column>
+            >
+              <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"
-            ></el-table-column>
+            >
+              <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="">
+              ><template #default="scoped">
                 <el-button plain type="primary" icon="download" size="small"
                   >涓嬭浇宸插畬鎴愬簳绋�</el-button
                 >
-                <el-button plain type="primary" icon="Upload" size="small"
-                  >涓婁紶搴曠ǹ闄勪欢</el-button
+                <el-upload
+                  :file-list="fileList"
+                  class="upload-demo"
+                  action="#"
+                  multiple
+                  :show-file-list="false"
+                  :limit="1"
+                  :on-change="uploadChange"
+                  :http-request="UploadRequestOptions"
                 >
-                <el-button plain type="primary" icon="Upload" size="small"
+                  <el-button
+                    plain
+                    type="primary"
+                    icon="Upload"
+                    size="small"
+                    @click="rowId(scoped.row)"
+                    >涓婁紶搴曠ǹ闄勪欢</el-button
+                  >
+                </el-upload>
+                <el-button
+                  plain
+                  type="primary"
+                  icon="Upload"
+                  size="small"
+                  @click="uplChange(scoped.row)"
                   >涓嬭浇搴曠ǹ闄勪欢</el-button
                 >
               </template>
             </el-table-column>
           </el-table>
-          <Pagination
-            style="padding-bottom: 10px"
-            :page="expertsWriteTableInfo.pageIndex"
-            :limit="expertsWriteTableInfo.pageSize"
-            :total="expertsWriteDataCount"
-            @pagination="changePage"
-          />
         </div>
         <div v-if="activeName == 'five'" class="filter-container">
           <el-form :inline="true" class="demo-form-inline">
@@ -1123,40 +1043,40 @@
       </template>
     </el-dialog>
     <el-dialog
-      top="220px"
+      top="120px"
       v-model="addExpertDialog"
       width="60%"
       destroy-on-close
     >
-      <el-form :inline="true" class="demo-form-inline">
+      <el-form :model="formRow" :inline="true" class="demo-form-inline">
+        <el-form-item label="濮撳悕锛�">
+          <el-input v-model="formRow.expertname" type="text" />
+        </el-form-item>
+        <el-form-item label="鎺ㄨ崘澶勫锛�">
+          <el-input v-model="formRow.recommendedoffice" type="text" />
+        </el-form-item>
+        <el-form-item label="鑱屽姟鑱岀О锛�">
+          <el-input v-model="formRow.duty" type="text" />
+        </el-form-item>
+        <el-form-item label="宸ヤ綔鍗曚綅锛�">
+          <el-input v-model="formRow.workunit" type="text" />
+        </el-form-item>
+        <el-form-item label="閮ㄩ棬锛�">
+          <el-input v-model="formRow.department" type="text" />
+        </el-form-item>
         <el-form-item>
-          <el-form-item label="濮撳悕锛�">
-            <el-input type="text" />
-          </el-form-item>
-          <el-form-item label="鎺ㄨ崘澶勫锛�">
-            <el-input type="text" />
-          </el-form-item>
-          <el-form-item label="鑱屽姟鑱岀О锛�">
-            <el-input type="text" />
-          </el-form-item>
-          <el-form-item label="宸ヤ綔鍗曚綅锛�">
-            <el-input type="text" />
-          </el-form-item>
-          <el-form-item label="閮ㄩ棬锛�">
-            <el-input type="text" />
-          </el-form-item>
           <el-button
             plain
             type="primary"
             icon="Search"
             size="small"
-            @click="addExpert"
+            @click="changeExpertPage({ page: '', limit: '' }, 1)"
             >鏌ヨ</el-button
           >
         </el-form-item>
       </el-form>
       <el-table
-        :data="addExpertTableInfo.tableInfo"
+        :data="addexpert.tableInfo"
         highlight-current-row
         width="100%"
         border
@@ -1168,19 +1088,19 @@
         <el-table-column label="搴忓彿" type="index" width="50"></el-table-column>
         <el-table-column
           class="positionStyle"
-          prop="serialNumber"
+          prop="expertName"
           label="濮撳悕"
           align="center"
         ></el-table-column>
         <el-table-column
           class="positionStyle"
-          prop="projectCode"
+          prop="recommendPlace"
           label="鎺ㄨ崘澶勫"
           align="center"
         ></el-table-column>
         <el-table-column
           class="positionStyle"
-          prop="budYear"
+          prop="ministries"
           label="閮ㄩ棬"
           align="center"
         ></el-table-column>
@@ -1189,57 +1109,17 @@
           prop="projectName"
           label="鑱屽姟鑱岀О"
           align="center"
-        ></el-table-column>
-        <el-table-column
-          class="positionStyle"
-          label="涓撳鍗曚綅涓庣敵鎶ュ崟浣嶄竴鑷�"
-          align="center"
-        >
-          <template #default="scope">
-            <div v-if="scope.row.elCheck">
-              <el-icon>
-                <Check />
-              </el-icon>
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column
-          class="positionStyle"
-          prop="projectName"
-          label="宸查個璇蜂笓瀹剁殑娆℃暟"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          class="positionStyle"
-          label="鏄惁鏈夎嚜鑽愯〃"
-          align="center"
         >
-          <template #default="scope">
-            <div v-if="scope.row.selfRecommendationCheck">
-              <el-icon>
-                <Check />
-              </el-icon>
-            </div>
+          <template #default="scoped">
+            <div>{{ `${scoped.row.post}/${scoped.row.title}` }}</div>
           </template>
         </el-table-column>
-        <el-table-column class="positionStyle" label="鎿嶄綔" align="center">
-          <!-- <template #default="scope">
-            <el-button
-              plain
-              type="danger"
-              size="small"
-              icon="Delete"
-              @click="onExpertDelete(scope.row)"
-              >鍒犻櫎</el-button
-            >
-          </template> -->
-        </el-table-column>
       </el-table>
       <Pagination
         style="padding-bottom: 10px"
-        :page="expertTableInfo.pageIndex"
-        :limit="expertTableInfo.pageSize"
-        :total="expertDataCount"
+        :page="addexpert.pageIndex"
+        :limit="addexpert.pageSize"
+        :total="addexpert.total"
         @pagination="changeExpertPage"
       />
       <template #footer>
@@ -1247,7 +1127,7 @@
           <el-button type="primary" @click="addExpertDialog = false"
             >鍙� 娑�</el-button
           >
-          <el-button type="primary" @click="addExpertDialog = false"
+          <el-button type="primary" @click="addExpertDialogTrue"
             >淇� 瀛�</el-button
           >
         </span>
@@ -1293,7 +1173,6 @@
             width="100%"
             border
             stripe
-            @selection-change="handAddDxpertChange"
             header-cell-class-name="headStyle"
           >
             <el-table-column type="selection"> </el-table-column>
@@ -1322,7 +1201,6 @@
             width="100%"
             border
             stripe
-            @selection-change="handAddDxpertChange"
             header-cell-class-name="headStyle"
           >
             <el-table-column type="selection"> </el-table-column>
@@ -1506,12 +1384,7 @@
       </template>
     </el-dialog>
     <!--  -->
-    <el-dialog
-      v-model="ConfirmAcceptance"
-      title="纭鍙楃悊"
-      width="20%"
-      :before-close="handleClose"
-    >
+    <el-dialog v-model="ConfirmAcceptance" title="纭鍙楃悊" width="20%">
       <el-form :model="form">
         <el-form-item label="濮旀墭鍑借惤娆炬椂闂�:">
           <el-input v-model="form.signTime" />
@@ -1529,6 +1402,221 @@
         </span>
       </template>
     </el-dialog>
+    <el-dialog
+      title="鏂板缓璇勫鏂规"
+      top="20px"
+      v-model="addExpertShow"
+      width="60%"
+      destroy-on-close
+    >
+      <el-card shadow="never" style="margin-bottom:20px" class="charts-card">
+        <el-form>
+          <el-form-item>
+            璇勫鏃堕棿锛�<el-date-picker
+              format="YYYY-MM-DD"
+              value-format="YYYY-MM-DD"
+              v-model="valueOption"
+              type="date"
+              placeholder="閫夋嫨鏃ユ湡"
+            >
+            </el-date-picker>
+            <br />&nbsp;&nbsp;&nbsp;
+            <el-select
+              style="width:80px"
+              v-model="valueSelect"
+              placeholder="璇烽€夋嫨"
+            >
+              <el-option
+                v-for="item in dateOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            璇勫鍦扮偣锛�
+            <el-input v-model="queryInfo3" style="width:250px"
+          /></el-form-item>
+        </el-form>
+      </el-card>
+      <el-card shadow="never" style="margin-bottom:20px" class="charts-card">
+        <el-table
+          :data="projecttableInfo"
+          highlight-current-row
+          width="100%"
+          border
+          stripe
+          header-cell-class-name="headStyle"
+          @selection-change="projectSelection"
+        >
+          <el-table-column type="selection"> </el-table-column>
+          <el-table-column
+            class="positionStyle"
+            prop="projectNumber"
+            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"
+            label="椤圭洰"
+            align="center"
+          ></el-table-column>
+        </el-table>
+      </el-card>
+      <el-card shadow="never" style="margin-bottom:30px" class="charts-card">
+        <el-table
+          :data="expertInfo"
+          highlight-current-row
+          width="100%"
+          border
+          stripe
+          header-cell-class-name="headStyle"
+          @selection-change="projectChange"
+        >
+          <el-table-column type="selection"> </el-table-column>
+          <el-table-column
+            class="positionStyle"
+            prop="expertName"
+            label="涓撳鍚嶇О"
+            align="center"
+          ></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="experttype"
+            label="涓撳绫诲瀷"
+            align="center"
+          >
+            <template #default="scoped">
+              <div>
+                {{
+                  scoped.row.expertType.includes(',') ? '璐㈠姟涓撳' : '涓氬姟涓撳'
+                }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            class="positionStyle"
+            prop="experttype"
+            label="缁勯暱閫夋嫨"
+            align="center"
+          >
+            <template #default="scoped">
+              <el-radio v-model="scoped.row.type" :label="1">缁勯暱</el-radio>
+            </template>
+          </el-table-column>
+          <el-table-column
+            class="positionStyle"
+            prop="experttype"
+            label="缁勫憳閫夋嫨"
+            align="center"
+          >
+            <template #default="scoped">
+              <el-radio v-model="scoped.row.type" :label="2">缁勫憳</el-radio>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-card>
+      <el-card shadow="never" style="margin-bottom:20px" class="charts-card">
+        <template #header>
+          <div class="card-header">
+            <div>绗竴鑺� 涓撳棰勫浼�</div>
+          </div>
+        </template>
+        <el-form>
+          <el-row :gutter="20">
+            <el-col :span="11">
+              <el-form-item>
+                鏃堕棿锛�
+                <el-date-picker
+                  format="YYYY-MM-DD"
+                  value-format="YYYY-MM-DD"
+                  v-model="valueYear1"
+                  type="date"
+                  placeholder="閫夋嫨鏃ユ湡"
+                >
+                </el-date-picker> </el-form-item
+            ></el-col>
+            <!-- <el-col :span="1">|</el-col> -->
+            <el-col
+              :span="11"
+              style="float:right
+              "
+            >
+              <el-form-item>
+                涓绘寔浜�:
+                <el-input
+                  v-model="queryInfo1"
+                  style="width:250px"
+                /> </el-form-item
+            ></el-col>
+          </el-row>
+        </el-form>
+      </el-card>
+      <el-card shadow="never" style="margin-bottom:20px" class="charts-card">
+        <template #header>
+          <div class="card-header">
+            <div>绗簩鑺� 涓撳璇勫浼�</div>
+          </div>
+        </template>
+        <el-form>
+          <el-row :gutter="20">
+            <el-col :span="11">
+              <el-form-item>
+                鏃堕棿锛�
+                <el-date-picker
+                  format="YYYY-MM-DD"
+                  value-format="YYYY-MM-DD"
+                  v-model="valueYear2"
+                  type="date"
+                  placeholder="閫夋嫨鏃ユ湡"
+                >
+                </el-date-picker> </el-form-item
+            ></el-col>
+            <el-col :span="11" style="float:right">
+              <el-form-item>
+                涓绘寔浜�:
+                <el-input
+                  v-model="queryInfo2"
+                  style="width:250px"
+                /> </el-form-item
+            ></el-col>
+          </el-row>
+        </el-form>
+      </el-card>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="addExpertShow = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="savePlanRelated">淇� 瀛�</el-button>
+        </span>
+      </template>
+    </el-dialog>
   </div>
 </template>
 
@@ -1545,9 +1633,37 @@ export default {
   setup() {
     const router = useRouter();
     const data = reactive({
+      solution: '',
+      valueOption: '',
+      valueSelect: '鍏ㄥぉ',
+      dateOptions: [
+        { label: '涓婂崍', value: '涓婂崍' },
+        { label: '涓嬪崍', value: '涓嬪崍' },
+        { label: '鍏ㄥぉ', value: '鍏ㄥぉ' }
+      ],
+      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: '',
+        receiveTime: ''
       },
       ConfirmAcceptance: false,
       projectStateList: [],
@@ -1570,7 +1686,7 @@ export default {
         entrustmentState: '',
         deptName: '',
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       dataCount: 2,
       firmName: '',
@@ -1579,57 +1695,32 @@ export default {
         projectNum: null,
         tableInfo: [],
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       selectionChangeReviewId: [], //瀛樻斁椤圭洰棰勫閫夋嫨鐨勬暟鎹甶d
       addExpertTableInfo: {
         tableInfo: [],
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       expertTableInfo: {
-        tableInfo: [],
-        pageIndex: 1,
-        pageSize: 10,
+        tableInfo: []
       },
       solutionTableInfo: {
-        tableInfo: [],
-        pageIndex: 1,
-        pageSize: 10,
+        tableInfo: []
       },
       expertsWriteTableInfo: {
-        tableInfo: [
-          {
-            date: '2016-05-03',
-            name: 'Tom',
-            state: 'California',
-            city: 'San Francisco',
-            address: '3650 21st St, San Francisco',
-            zip: 'CA 94114',
-            family: [],
-          },
-          {
-            date: '2016-05-02',
-            name: 'Tom',
-            state: 'California',
-            city: 'San Francisco',
-            address: '3650 21st St, San Francisco',
-            zip: 'CA 94114',
-            family: [],
-          },
-        ],
-        pageIndex: 1,
-        pageSize: 10,
+        tableInfo: []
       },
       reportTableInfo: {
         tableInfo: [],
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       printReviewTableInfo: {
         tableInfo: [],
         pageIndex: 1,
-        pageSize: 10,
+        pageSize: 10
       },
       reviewDataCount: 4,
       solutionDataCount: 4,
@@ -1637,19 +1728,28 @@ export default {
       expertsWriteDataCount: 4,
       reportDataCount: 4,
       exantePerformanceTableInfo: {
-        tableInfo: [],
+        tableInfo: []
       },
       exantePerformanceSelects: [],
       firmNames: [],
       officeCode: '',
       officeName: '',
+      formBlue: {
+        businessExpertCount: '',
+        financeExpertCount: ''
+      },
+      expertInfo: [],
+      projecttableInfo: [],
+      proId: [],
+      plan: []
     });
     onMounted(() => {
       getEnstrustmentStateEnumList();
       getClaimEnutrustmentList();
     });
+    const changeExpertPages = () => {};
     //澶栭潰澶ц〃鏍煎垏鎹㈠垎椤�
-    const changePageQueryInfo = (val) => {
+    const changePageQueryInfo = val => {
       data.queryInfo.pageIndex = val.page;
       data.queryInfo.pageSize = val.limit;
       getClaimEnutrustmentList();
@@ -1657,17 +1757,26 @@ export default {
     //鍒囨崲鍒嗛〉
     const changePage = () => {};
     //閬撮€変笓瀹� 鍒囨崲鍒嗛〉
-    const changeExpertPage = () => {};
+    const changeExpertPage = (val, num) => {
+      if (num) {
+        data.addexpert.pageIndex = 1;
+        data.addexpert.pageSize = 10;
+      } else {
+        data.addexpert.pageIndex = val.page;
+        data.addexpert.pageSize = val.limit;
+      }
+      getDbExpertInfoPage();
+    };
     //椤圭洰棰勫 鍒囨崲鍒嗛〉
-    const changeReviewPage = (val) => {
+    const changeReviewPage = val => {
       operation
         .getPreliminaryList({
           entrustmentId: data.reviewTableInfo.id,
           pageIndex: val.page,
           pageSize: val.limit,
-          projectNumber: data.reviewTableInfo.projectNum,
+          projectNumber: data.reviewTableInfo.projectNum
         })
-        .then((res) => {
+        .then(res => {
           data.reviewTableInfo.tableInfo = res.data;
           data.reviewDataCount = res.total;
         });
@@ -1696,17 +1805,42 @@ export default {
       //   data.exantePerformanceTableInfo.tableInfo = a;
       // }
     };
-
+    //鍒囨崲Tabs鏍囩
+    const changeTabs = v => {
+      if (v == 'third' || v == 'four') {
+        getPlanReviewList();
+      }
+    };
+    const getPlanReviewList = () => {
+      operation.getPlanReviewList({ id: data.reviewTableInfo.id }).then(res => {
+        data.solutionTableInfo.tableInfo = res.data;
+      });
+    };
+    //鏂板缓璇勫鏂规
+    const showDialog = () => {
+      data.addExpertShow = true;
+      operation
+        .getNoPlanReviewExpert({ id: data.reviewTableInfo.id })
+        .then(res => {
+          data.expertInfo = res.data;
+          console.log(data.expertInfo);
+        });
+      operation
+        .getProjectsPlanReview({ entrustmentId: data.reviewTableInfo.id })
+        .then(res => {
+          data.projecttableInfo = res.data;
+        });
+    };
     //棰勫
-    const onInquiry = (v) => {
+    const onInquiry = v => {
       router.push({
         path: '/i/item-entry/pre-performance-review-of-the-project',
-        query: { ids: v },
+        query: { ids: v }
       });
     };
 
     //棰勫瀹屾垚
-    const onInquiryComplete = (v) => {
+    const onInquiryComplete = v => {
       data.rowId = v;
       data.onInquiryCompleteDialog = true;
     };
@@ -1732,25 +1866,29 @@ export default {
     };
 
     //鍙楃悊
-    const onAccept = (row) => {
+    const onAccept = row => {
+      (data.activeName = 'second'), (data.solutionTableInfo.tableInfo = []);
+      data.formBlue.businessExpertCount = '';
+      data.formBlue.financeExpertCount = '';
       data.reviewTableInfo.id = row.id;
       data.reviewTableInfo.projectNum = row.projectNum;
+      getExpertInfoPageById();
       operation
         .getPreliminaryList({
           entrustmentId: row.id,
           pageIndex: data.reviewTableInfo.pageIndex,
           pageSize: data.reviewTableInfo.pageSize,
-          projectNumber: row.projectNum,
+          projectNumber: row.projectNum
         })
-        .then((res) => {
+        .then(res => {
           data.reviewTableInfo.tableInfo = res.data;
           data.reviewDataCount = res.total;
           data.onAcceptDialog = true;
         });
     };
     //閫夋嫨椤圭洰棰勫鐨勬暟鎹�
-    const selectionChangeReview = (val) => {
-      data.selectionChangeReviewId = val.map((item) => item.id);
+    const selectionChangeReview = val => {
+      data.selectionChangeReviewId = val.map(item => item.id);
     };
     //鍙嶉棰勫鎰忚
     const clickRemark = () => {
@@ -1759,7 +1897,7 @@ export default {
       } else {
         operation
           .modifyByFeedbackIds({ ids: data.selectionChangeReviewId })
-          .then((res) => {
+          .then(res => {
             console.log(res);
           });
       }
@@ -1770,7 +1908,7 @@ export default {
     };
 
     //纭鍙楃悊
-    const onConfirmAcceptance = (v) => {
+    const onConfirmAcceptance = v => {
       data.rowId = v;
       data.ConfirmAcceptance = true;
     };
@@ -1779,13 +1917,13 @@ export default {
         .confirmAccept({
           id: data.rowId,
           receiveTime: data.form.receiveTime,
-          signTime: data.form.signTime,
+          signTime: data.form.signTime
         })
-        .then((res) => {
+        .then(res => {
           console.log(res);
           ElMessage({
             message: '宸茬‘璁ゅ彈鐞嗘椂闂�',
-            type: 'success',
+            type: 'success'
           });
           data.ConfirmAcceptance = false;
           getClaimEnutrustmentList();
@@ -1810,15 +1948,15 @@ export default {
     };
 
     //瀹屾垚
-    const onaccomplish = (row) => {
-      data.exantePerformanceTableInfo.tableInfo.map((x) => {
+    const onaccomplish = row => {
+      data.exantePerformanceTableInfo.tableInfo.map(x => {
         if (x.id == row.id) {
           return (x.entrustmentState = '瀹屾垚');
         }
       });
     };
-    const handleSelectionChange = (val) => {
-      data.exantePerformanceSelects = val.map((item) => {
+    const handleSelectionChange = val => {
+      data.exantePerformanceSelects = val.map(item => {
         return item.id;
       });
       console.log(data.exantePerformanceSelects);
@@ -1832,20 +1970,112 @@ export default {
       batchOfiiceDevide();
     };
     const onInquiryCompleteSure = () => {
-      operation.preliminary({ id: data.rowId }).then((res) => {
+      operation.preliminary({ id: data.rowId }).then(res => {
         console.log(res);
         ElMessage({
           message: '棰勫瀹屾垚',
-          type: 'success',
+          type: 'success'
         });
         getClaimEnutrustmentList();
       });
       data.onInquiryCompleteDialog = false;
     };
-    const onExpertDelete = () => {};
-    const handAddDxpertChange = () => {};
+    const onExpertDelete = val => {
+      operation.removeExpert({ id: val.id }).then(res => {
+        console.log(res);
+        getExpertInfoPageById();
+        ElMessage({
+          message: '鍒犻櫎鎴愬姛',
+          type: 'success'
+        });
+      });
+    };
+    const handAddDxpertChange = val => {
+      data.expertList = val.map(item => {
+        return {
+          expertName: item.expertName,
+          expertTel: item.moblieNumber
+        };
+      });
+    };
     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 addExpertDialogTrue = () => {
+      operation
+        .saveEntrustmentExpertInfo({
+          entrustmentId: data.reviewTableInfo.id,
+          expertInfoList: data.expertList
+        })
+        .then(res => {
+          console.log(res);
+          ElMessage({
+            message: '淇濆瓨鎴愬姛',
+            type: 'success'
+          });
+          data.addExpertDialog = false;
+          getExpertInfoPageById();
+        });
+    };
+    //淇濆瓨浜烘暟
+    const inputBlur = () => {
+      if (
+        data.formBlue.businessExpertCount != '' &&
+        data.formBlue.financeExpertCount
+      ) {
+        operation
+          .saveEntrustmentExpertCount({
+            businessExpertCount: data.formBlue.businessExpertCount,
+            financeExpertCount: data.formBlue.financeExpertCount,
+            id: data.reviewTableInfo.id
+          })
+          .then(res => {
+            console.log(res);
+          });
+      }
+    };
+    //鏄惁鍙傚姞璇勫
+    const changeRadio = val => {
+      operation
+        .saveExpertIsJoin({
+          entrustmentId: data.reviewTableInfo.id,
+          expertReviewResult: val.expertReviewResult,
+          id: val.id
+        })
+        .then(res => {
+          console.log(res);
+        });
+    };
+    //濮旀墭鍑戒笓瀹跺垪琛�
+    const getExpertInfoPageById = () => {
+      operation
+        .getExpertInfoPageById({
+          id: data.reviewTableInfo.id,
+          pageIndex: 1,
+          pageSize: 10
+        })
+        .then(res => {
+          data.expertTableInfo.tableInfo = res.data;
+        });
     };
     //浼氳閫氱煡
     const onConferenceNotice = () => {
@@ -1866,23 +2096,23 @@ export default {
     // };
     //鑾峰彇濮旀墭鐘舵€�
     const getEnstrustmentStateEnumList = () => {
-      operation.getEnstrustmentStateEnumList().then((res) => {
+      operation.getEnstrustmentStateEnumList().then(res => {
         data.projectStates = res.data;
       });
     };
     //鑾峰彇濮旀墭鍑藉垪琛�
     const getClaimEnutrustmentList = () => {
-      operation.getClaimEnutrustmentList(data.queryInfo).then((res) => {
+      operation.getClaimEnutrustmentList(data.queryInfo).then(res => {
         data.exantePerformanceTableInfo.tableInfo = res.data;
         data.dataCount = res.total;
       });
     };
     const getOfficeList = () => {
-      operation.getOfficeList().then((res) => {
+      operation.getOfficeList().then(res => {
         data.projectStateList = res.data;
       });
     };
-    const getCode = (v) => {
+    const getCode = v => {
       let [code, name] = v.split('|');
       data.officeCode = code;
       data.officeName = name;
@@ -1892,27 +2122,95 @@ export default {
         .batchOfiiceDevide({
           ids: data.exantePerformanceSelects,
           officeCode: data.officeCode,
-          officeName: data.officeName,
+          officeName: data.officeName
         })
-        .then((res) => {
+        .then(res => {
           console.log(res);
           ElMessage({
             message: '鍒嗛厤浜嬪姟鎵€鎴愬姛',
-            type: 'success',
+            type: 'success'
           });
           getClaimEnutrustmentList();
         });
     };
+    //鏂板缓淇濆瓨
+    const savePlanRelated = () => {
+      operation
+        .savePlanReview({
+          entrustmentId: data.reviewTableInfo.id,
+          entrustmentProjectCmds: data.proId,
+          id: null,
+          planReviewExperts: data.plan,
+          prepareHost: data.queryInfo1,
+          prepareTime: data.valueYear1,
+          reviewAddress: data.queryInfo3,
+          reviewDate: data.valueOption,
+          reviewDay: data.valueSelect,
+          reviewHost: data.queryInfo2,
+          reviewTime: data.valueYear2
+        })
+        .then(res => {
+          console.log(res);
+          ElMessage({
+            message: '淇濆瓨鎴愬姛',
+            type: 'success'
+          });
+          data.addExpertShow = false;
+          getPlanReviewList();
+        });
+    };
+    //鍕鹃€夐」鐩�
+    const projectSelection = v => {
+      data.proId = v.map(item => {
+        return { id: item.id };
+      });
+      console.log(data.proId);
+    };
+    //鍕鹃€変笓瀹�
+    const projectChange = val => {
+      data.plan = val.map(item => {
+        return {
+          expertId: item.expertId,
+          expertName: item.expertName,
+          expertTel: item.expertTel,
+          type: item.expertType
+        };
+      });
+      console.log(data.plan);
+    };
+    //鑾峰彇涓撳搴曠ǹ鍒楄〃
+    const selectTableInfo = v => {
+      operation
+        .getEntrustmentExpertManuscriptList({
+          entrustmentId: data.reviewTableInfo.id,
+          planId: v
+        })
+        .then(res => {
+          data.expertsWriteTableInfo.tableInfo = res.data;
+        });
+    };
     return {
+      getDbExpertInfoPage,
+      projectChange,
+      selectTableInfo,
+      getPlanReviewList,
+      projectSelection,
+      savePlanRelated,
+      showDialog,
+      inputBlur,
       onAddFeedback,
+      changeTabs,
       getCode,
+      getExpertInfoPageById,
       Confirm,
+      addExpertDialogTrue,
       batchOfiiceDevide,
       getOfficeList,
       getClaimEnutrustmentList,
       getEnstrustmentStateEnumList,
       editSolutionTable,
       onConferenceNotice,
+      changeExpertPages,
       // handexpertTableChange,
       handAddDxpertChange,
       onAcceptDialogSure,
@@ -1936,6 +2234,7 @@ export default {
       onAccept,
       selectionChangeReview,
       clickRemark,
+      changeRadio,
       onBackSure,
       onBackOperationSure,
       onInquiry,
@@ -1945,9 +2244,9 @@ export default {
       handleSelectionChange,
       onDistributionOffice,
       onDistributionOfficeSure,
-      ...toRefs(data),
+      ...toRefs(data)
     };
-  },
+  }
 };
 </script>
 
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 ae507ba263ebe0df590687e5d1fc8edad0b55672..77ada9867b2d3406a4d6b18258eb2b431d9b6417 100644
--- a/WebSite/src/views/item-entry/review-scheme-view/index.vue
+++ b/WebSite/src/views/item-entry/review-scheme-view/index.vue
@@ -54,19 +54,15 @@
               @selection-change="handleSelection"
               header-cell-class-name="headStyle"
             >
-              <el-table-column type="selection"> </el-table-column>
+              <el-table-column type="selection" />
               <!-- <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 label="搴忓彿" type="index" width="50" />
               <el-table-column
                 class="positionStyle"
                 prop="expertName"
                 label="涓撳濮撳悕"
                 align="center"
-              ></el-table-column>
+              />
               <el-table-column
                 class="positionStyle"
                 prop="moblieNumber"
@@ -100,7 +96,7 @@
                 prop="workPlace"
                 label="宸ヤ綔鍗曚綅"
                 align="center"
-              ></el-table-column>
+              />
               <el-table-column
                 class="positionStyle"
                 prop="ministries"
@@ -118,7 +114,11 @@
                 prop="state"
                 label="鏄惁鍙傚姞璇勫"
                 align="center"
-              />
+              >
+                <template #default="scoped">
+                  {{ scoped.row.expertReviewResult == false ? '鍚�' : '鏄�' }}
+                </template>
+              </el-table-column>
               <el-table-column
                 class="positionStyle"
                 label="绾夸笅閫氱煡"
@@ -139,7 +139,11 @@
                 prop="enableOrNot"
                 label="鏄惁鏈夌绔�"
                 align="center"
-              />
+              >
+                <template #default="scoped">
+                  {{ scoped.row.expertSignResult == false ? '鍚�' : '鏄�' }}
+                </template>
+              </el-table-column>
               <el-table-column class="positionStyle" label="鎿嶄綔" align="center"
                 ><template #default="scoped">
                   <el-button
@@ -708,7 +712,7 @@
       destroy-on-close
     >
       <el-card>
-        <el-form :inline="true" class="demo-form-inline">
+        <el-form :model="form" :inline="true" class="demo-form-inline">
           <el-form-item label="濮撳悕锛�">
             <el-input v-model="form.expertname"></el-input>
           </el-form-item>
@@ -1397,7 +1401,13 @@ export default {
       ononferenceNoticeDialog: false,
       onferenceNoticeInfo: { expertname: '', textarerInfo: '' },
       year: '',
-      form: {},
+      form: {
+        expertname: '',
+        recommendedoffice: '',
+        duty: '',
+        workunit: '',
+        department: ''
+      },
       dataCount: 0,
       queryInfo1: '',
       queryInfo2: '',
@@ -1480,26 +1490,11 @@ export default {
     });
     onMounted(() => {
       if (router.query.cunArr) {
-        data.state = true;
-
-        data.BaoCunArr = JSON.parse(router.query.cunArr);
-        console.log(data.BaoCunArr);
-        data.relatedId = data.BaoCunArr[0].id;
-        data.exantePerformanceTableInfo.tableInfo =
-          data.BaoCunArr[0].entrustmentExperts;
-
-        data.valueOption = data.BaoCunArr[0].reviewDate;
-        data.queryInfo3 = data.BaoCunArr[0].reviewAddress;
-        data.valueSelect = data.BaoCunArr[0].reviewDay;
-        data.valueYear1 = data.BaoCunArr[0].prepareTime;
-        data.queryInfo1 = data.BaoCunArr[0].prepareHost;
-        data.valueYear2 = data.BaoCunArr[0].reviewTime;
-        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.resId = router.query.cunArr;
+        getPlanRelatedById();
       }
     });
+
     const onBack = row => {
       const index = data.exantePerformanceTableInfo.tableInfo.indexOf(row.id);
       data.exantePerformanceTableInfo.tableInfo.splice(index, 1);
@@ -1563,7 +1558,8 @@ export default {
       data.exantePerformanceSelects.forEach(e => {
         data.exantePerformanceTableInfo.tableInfo.push({
           ...e,
-          expertReviewResult: ''
+          expertReviewResult: '',
+          expertTel: e.moblieNumber
         });
       });
       data.onNewIndexDialog = false;
@@ -1644,7 +1640,26 @@ export default {
     };
     const getPlanRelatedById = () => {
       operation.getPlanRelatedById({ id: data.resId }).then(res => {
-        console.log(res);
+        data.state = true;
+        data.BaoCunArr = res.data;
+        console.log(data.BaoCunArr);
+        data.relatedId = data.BaoCunArr[0].id;
+        data.exantePerformanceTableInfo.tableInfo =
+          data.BaoCunArr[0].entrustmentExperts;
+        data.valueOption = data.BaoCunArr[0].reviewDate;
+        data.queryInfo3 = data.BaoCunArr[0].reviewAddress;
+        data.valueSelect = data.BaoCunArr[0].reviewDay;
+        data.valueYear1 = data.BaoCunArr[0].prepareTime;
+        data.queryInfo1 = data.BaoCunArr[0].prepareHost;
+        data.valueYear2 = data.BaoCunArr[0].reviewTime;
+        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;
+        });
       });
     };
     const OptionLetter = () => {
@@ -1696,7 +1711,7 @@ export default {
         query: {
           id: row.id,
           judgepreview: true,
-          preview: 1,
+          preview: 1
         }
       });
     };
diff --git a/WebSite/src/views/item-entry/review-scheme/index.vue b/WebSite/src/views/item-entry/review-scheme/index.vue
index 2552c4b12f7c5aee1af1f1db14411faba30fb4da..5be432dfc943fdbe0b2df145d63086147992b860 100644
--- a/WebSite/src/views/item-entry/review-scheme/index.vue
+++ b/WebSite/src/views/item-entry/review-scheme/index.vue
@@ -166,14 +166,11 @@ export default {
     };
     //缂栬緫
     const antecedentTrial = async row => {
-      await operation.getPlanRelatedById({ id: row.relatedId }).then(res => {
-        data.baoArr = res.data;
-        router.push({
-          path: `/i/item-entry/review-scheme-view`,
-          query: {
-            cunArr: JSON.stringify(data.baoArr)
-          }
-        });
+      router.push({
+        path: `/i/item-entry/review-scheme-view`,
+        query: {
+          cunArr: row.relatedId
+        }
       });
     };
     return {