From 0d22dac3090ad057a5470610a321c936cdf0d535 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期四, 10 四月 2025 16:47:40 +0800
Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb_region

---
 src/views/doctor/pacsCheck/index.vue    |   26 
 src/views/doctor/checkAll/index.vue     | 1160 +++++++++++-----------------------------
 src/views/doctor/inspectCheck/index.vue |   63 +
 src/views/system/package/index.vue      |  358 +++---------
 src/views/advice/advice/index.vue       |    1 
 src/views/hosp/project/index.vue        |   68 +-
 6 files changed, 524 insertions(+), 1,152 deletions(-)

diff --git a/src/views/advice/advice/index.vue b/src/views/advice/advice/index.vue
index 7aa54f3..cac724a 100644
--- a/src/views/advice/advice/index.vue
+++ b/src/views/advice/advice/index.vue
@@ -7,6 +7,7 @@
       :inline="true"
       v-show="showSearch"
       label-width="68px"
+      @submit.native.prevent
     >
       <el-form-item label="椤圭洰鍚嶇О" prop="proName">
         <el-input
diff --git a/src/views/doctor/checkAll/index.vue b/src/views/doctor/checkAll/index.vue
index 68f6865..90cd4f7 100644
--- a/src/views/doctor/checkAll/index.vue
+++ b/src/views/doctor/checkAll/index.vue
@@ -35,12 +35,10 @@
     <template>
       <el-table v-loading="loading" :data="checkList" ref="table" border style="margin: 20px; width: 98%"
         @current-change="handleCurrentChange">
-        <!-- <template slot="empty">鏁版嵁姝e湪鍔犺浇涓�</template> -->
         <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px"
           fixed="left" />
         <el-table-column label="濮撳悕" align="center" prop="cusName" :show-overflow-tooltip="true" width="100px"
           fixed="left" />
-
         <el-table-column label="鎬у埆" align="center" prop="cusSex" :show-overflow-tooltip="true" width="55px">
           <template slot-scope="scope">
             <span v-if="scope.row.cusSex == '0'">鐢�</span>
@@ -51,14 +49,6 @@
         </el-table-column>
         <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" />
         <el-table-column label="鐢佃瘽" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" />
-
-        <!-- <el-table-column
-          label="浣撴鏃堕棿"
-          align="center"
-          prop="tjTime"
-          :show-overflow-tooltip="true"
-          width="110px"
-        /> -->
         <el-table-column label="瀹℃牳鏃堕棿" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" />
         <el-table-column label="瀹屾垚鏃堕棿" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" />
         <el-table-column label="鐘舵��" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px">
@@ -78,7 +68,6 @@
               icon="el-icon-edit-outline"></el-button>
             <el-button fixed="right" title="璇︽儏" type="text" size="mini" @click.stop="handleClick(scope.row)"
               icon="el-icon-document-copy"></el-button>
-            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">鐢熸垚</el-button> -->
             <el-button type="text" size="mini" @click.stop="viewReport(scope.row)" v-if="scope.row.tjStatus == '1'"
               title="棰勮" icon="el-icon-view"></el-button>
             <el-button type="text" size="mini" v-if="scope.row.tjStatus == '1'" title="鎾ら攢"
@@ -104,47 +93,19 @@
           <caption style="background-color: #f8f8f9; font-size: 18px">
             {{ tableAll.cusName }}鐨勪綋妫�璧勬枡
           </caption>
-          <tr style="
-              border: 1px solid #dfe6ec;
-              border-collapse: collapse;
-              height: 36px;
-            ">
+          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">濮撳悕锛�</td>
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td>
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">鎬у埆锛�</td>
             <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              濮撳悕锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              {{ tableAll.cusName }}
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              鎬у埆锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              {{
-                tableAll.cusSex == 0
-                  ? "鐢�"
-                  : tableAll.cusSex == 1
-                    ? "濂�"
-                    : "鏈煡"
-              }}
+              {{ tableAll.cusSex == 0 ? "鐢�" : tableAll.cusSex == 1 ? "濂�" : "鏈煡" }}
             </td>
           </tr>
-          <tr style="
-              border: 1px solid #dfe6ec;
-              border-collapse: collapse;
-              height: 36px;
-            ">
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              浣撴鍗曞彿锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              {{ tableAll.tjNumber }}
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              浣撴鏃堕棿锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              {{ tableAll.tjTime }}
-            </td>
+          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">浣撴鍗曞彿锛�</td>
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjNumber }}</td>
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">浣撴鏃堕棿锛�</td>
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjTime }}</td>
           </tr>
         </table>
         <i class="el-icon-close" @click="guanbi"></i>
@@ -165,7 +126,6 @@
         <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'">
           <el-button @click="jianqian()" type="primary"><span class="vertical-text">妫�鍓嶉棶璇�</span></el-button>
         </div>
-
         <div class="btn1">
           <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">椤圭洰鎯呭喌</span></el-button>
         </div>
@@ -177,11 +137,7 @@
         <div class="left-container">
           <div class="left">
             <div v-for="(item, index) in changedate" :key="index">
-              <div style="
-                  text-align: center;
-                  background-color: #aad8df;
-                  margin-top: 10px;
-                ">
+              <div style="text-align: center; background-color: #aad8df; margin-top: 10px;">
                 {{ item.parent || "" }}
               </div>
               <div v-if="item.xmlb == '0'">
@@ -192,13 +148,10 @@
                       <div>{{ scope.row.proName }}</div>
                     </template>
                   </el-table-column>
-                  <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="180">
-                  </el-table-column>
+                  <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="180"></el-table-column>
                   <el-table-column align="center" prop="" label="鍗曚綅">
                     <template slot-scope="scope">
-                      <div v-if="scope.row.project != null">
-                        {{ scope.row.standard.company || "" }}
-                      </div>
+                      <div v-if="scope.row.project != null">{{ scope.row.standard.company || "" }}</div>
                       <div v-else>{{ scope.row.proAdvice }}</div>
                     </template>
                   </el-table-column>
@@ -206,11 +159,7 @@
                   <el-table-column align="center" prop="" label=" 鍙傝�冭寖鍥�">
                     <template slot-scope="scope">
                       <div v-if="scope.row.project != null">
-                        {{
-                          scope.row.standard.tjStandardGtValue ||
-                          "/" + "-" + scope.row.standard.tjStandardLtValue ||
-                          "/"
-                        }}
+                        {{ scope.row.standard.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue || "/" }}
                       </div>
                       <div v-else>{{ scope.row.stanId || "/" }}</div>
                     </template>
@@ -218,50 +167,26 @@
                 </el-table>
                 <table style="width: 100%" v-if="tjproject != '1'">
                   <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
-                    <td style="
-                        border: 1px solid #dfe6ec;
-                        border-collapse: collapse;
-                        width: 7%;
-                      ">
+                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 7%;">
                       灏忕粨锛�
                     </td>
                     <td style="border: 1px solid #dfe6ec; width: 45%">
                       <el-input v-model="item.remark" disabled></el-input>
                     </td>
-                    <td style="
-                        border: 1px solid #dfe6ec;
-                        border-collapse: collapse;
-                        width: 15%;
-                      ">
+                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                       涓绘鍖诲笀锛�
                     </td>
                     <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                       {{ item.doctorName }}
                     </td>
                   </tr>
-                  <tr style="
-                      border: 1px solid #dfe6ec;
-                      border-collapse: collapse;
-                      width: 200px;
-                    ">
-                    <td style="
-                        border: 1px solid #dfe6ec;
-                        border-collapse: collapse;
-                        width: 240px;
-                      ">
+                  <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
+                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 240px;">
                       澶囨敞锛�
                     </td>
                     <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3">
                       <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="changedate[index].remark"
-                        v-on:input="change" style="width: 100%">
-                      </el-input>
-                      <!-- <textarea
-                        placeholder="璇疯緭鍏ュ唴瀹�"
-                        :autosize="{ minRows: 2 }"
-                        style="width: 100%; height: 240px; resize: none"
-                        v-model="changedate[index].remark"
-                        v-on:input="change"
-                      ></textarea> -->
+                        v-on:input="change" style="width: 100%"></el-input>
                     </td>
                   </tr>
                 </table>
@@ -269,54 +194,23 @@
               <div v-else>
                 <table style="width: 100%" v-if="tjproject != '1'">
                   <tr style="border: 1px solid #dfe6ec">
-                    <td style="
-                        border: 1px solid #dfe6ec;
-                        border-collapse: collapse;
-                        width: 15%;
-                        height: auto;
-                      ">
+                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%; height: auto;">
                       妫�鏌ユ墍瑙侊細
                     </td>
                     <td style="border: 1px solid #dfe6ec; height: auto" colspan="2">
-                      <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.jgbx" style="width: 100%">
-                      </el-input>
-                      <!-- <textarea
-                        placeholder="璇疯緭鍏ュ唴瀹�"
-                        :autosize="{ minRows: 3}"
-                        style="width: 100%; height: auto; resize: none"
-                        v-model="item.jgbx"
-                      ></textarea> -->
+                      <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.jgbx" style="width: 100%"></el-input>
                     </td>
                   </tr>
                   <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
-                    <td style="
-                        border: 1px solid #dfe6ec;
-                        border-collapse: collapse;
-                        width: 15%;
-                      ">
+                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                       妫�鏌ユ彁绀猴細
                     </td>
                     <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
-                      <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.remark" style="width: 100%">
-                      </el-input>
-                      <!-- <textarea
-      
-                        placeholder="璇疯緭鍏ュ唴瀹�"
-                        style="width: 100%;  resize: none"
-                        v-model="item.remark"
-                      ></textarea> -->
+                      <el-input type="textarea" autosize placeholder="璇疯緭鍏ュ唴瀹�" v-model="item.remark" style="width: 100%"></el-input>
                     </td>
                   </tr>
-                  <tr style="
-                      border: 1px solid #dfe6ec;
-                      border-collapse: collapse;
-                      width: 200px;
-                    ">
-                    <td style="
-                        border: 1px solid #dfe6ec;
-                        border-collapse: collapse;
-                        width: 15%;
-                      ">
+                  <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
+                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                       涓绘鍖诲笀锛�
                     </td>
                     <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
@@ -334,8 +228,7 @@
 
             <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'">
               <el-form-item label="鎬绘寤鸿">
-                <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :rows="3" style="width: 96%">
-                </el-input>
+                <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea1" :rows="3" style="width: 96%"></el-input>
               </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footers">
@@ -352,11 +245,7 @@
           <div class="right">
             <template v-if="status1 == 0">
               <div v-for="(item, index) in yichangList" :key="index">
-                <div style="
-                    text-align: center;
-                    background-color: #67c23a;
-                    margin-top: 10px;
-                  ">
+                <div style="text-align: center; background-color: #67c23a; margin-top: 10px;">
                   {{ item.proName || "" }}
                 </div>
                 <template v-if="item.jyjc == '0'">
@@ -367,8 +256,7 @@
                         <div style="padding: 10px;">
                           <!-- 鍐呭鍖哄煙 -->
                           <div v-if="props.row.advices && props.row.advices.length > 0">
-                            <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
-                              style="margin-bottom: 10px">
+                            <div v-for="(jianyi, index1) in props.row.advices" :key="index1" style="margin-bottom: 10px">
                               <div>
                                 鏍囬锛�
                                 <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
@@ -381,7 +269,6 @@
                               </div>
                             </div>
                           </div>
-
                           <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� -->
                           <div v-else>
                             <div>
@@ -395,28 +282,20 @@
                                 @blur="handleAdviceBlur(props.row, -1)"></el-input>
                             </div>
                           </div>
-
                           <div style="margin-top: 10px;">
                             <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button>
                           </div>
                         </div>
                       </template>
                     </el-table-column>
-
                     <el-table-column align="center" label="妫�娴嬮」鐩�" :show-overflow-tooltip="true" width="353">
                       <template slot-scope="scope">
                         <div>{{ scope.row.proName }}</div>
                       </template>
                     </el-table-column>
-                    <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="85">
-                    </el-table-column>
-
-                    <el-table-column align="center" prop="stanId" label=" 鍙傝�冭寖鍥�" width="117">
-                    </el-table-column>
-
-                    <el-table-column align="center" prop="proAdvice" label="鍗曚綅" width="78">
-                    </el-table-column>
-
+                    <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="85"></el-table-column>
+                    <el-table-column align="center" prop="stanId" label=" 鍙傝�冭寖鍥�" width="117"></el-table-column>
+                    <el-table-column align="center" prop="proAdvice" label="鍗曚綅" width="78"></el-table-column>
                   </el-table>
                 </template>
                 <template v-if="item.jyjc == '1'">
@@ -427,8 +306,7 @@
                         <div style="padding: 10px;">
                           <!-- 鍐呭鍖哄煙 -->
                           <div v-if="props.row.advices && props.row.advices.length > 0">
-                            <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
-                              style="margin-bottom: 10px">
+                            <div v-for="(jianyi, index1) in props.row.advices" :key="index1" style="margin-bottom: 10px">
                               <div>
                                 鏍囬锛�
                                 <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
@@ -441,7 +319,6 @@
                               </div>
                             </div>
                           </div>
-
                           <!-- 濡傛灉 advices 涓虹┖鏃讹紝娓叉煋绌虹殑杈撳叆妗� -->
                           <div v-else>
                             <div>
@@ -455,41 +332,31 @@
                                 @blur="handleAdviceBlur(props.row, -1)"></el-input>
                             </div>
                           </div>
-
                           <div style="margin-top: 10px;">
                             <el-button @click="shanchu(props.row)" type="danger" size="small">鍒犻櫎</el-button>
                           </div>
                         </div>
                       </template>
                     </el-table-column>
-
                     <el-table-column align="center" label="妫�娴嬮」鐩�" width="232" :show-overflow-tooltip="true">
                       <template slot-scope="scope">
                         <div>{{ scope.row.proName }}</div>
                       </template>
                     </el-table-column>
-                    <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="403">
-                    </el-table-column>
+                    <el-table-column align="center" prop="proResult" label="妫�娴嬬粨鏋�" width="403"></el-table-column>
                   </el-table>
                 </template>
               </div>
             </template>
             <template v-if="status1 == 1">
               <div>
-                <div style="
-                    text-align: center;
-                    background-color: #e6a23c;
-                    margin-top: 10px;
-                  ">
+                <div style="text-align: center; background-color: #e6a23c; margin-top: 10px;">
                   椤圭洰妫�鏌ユ儏鍐�
                 </div>
                 <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%"
                   :header-cell-style="{ background: '#e6a23c' }">
-                  <el-table-column align="center" label="閮ㄩ棬" width="144" prop="deptName">
-                  </el-table-column>
-                  <el-table-column align="center" prop="proName" label="椤圭洰" width="260">
-                  </el-table-column>
-
+                  <el-table-column align="center" label="閮ㄩ棬" width="144" prop="deptName"></el-table-column>
+                  <el-table-column align="center" prop="proName" label="椤圭洰" width="260"></el-table-column>
                   <el-table-column label="鐘舵��" align="center" prop="type" :show-overflow-tooltip="true" width="120">
                     <template slot-scope="scope">
                       <span v-if="scope.row.type == '0'">鏈鏍�</span>
@@ -578,7 +445,6 @@
             <el-collapse-item title="鐑熼厭鍙�" name="4">
               <div style="width: 100%">
                 <el-form-item label="鏄惁鍚哥儫" prop="xiyan">
-                  <!-- <el-input v-model="form.xiyanpinlv" placeholder="璇疯緭鍏ュ惛鐑熼鐜�" /> -->
                   <el-select disabled filterable v-model="formobj.xiyan" placeholder="璇烽�夋嫨鏄惁鍚哥儫" clearable
                     style="width: 150px">
                     <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
@@ -589,9 +455,9 @@
                   <el-input v-model="formobj.xiyanpinlv" disabled style="width: 70px" />鏀�/澶�
                 </el-form-item>
                 <el-form-item label="鍚哥儫鏃堕棿" prop="xiyanyear">
-                  <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />骞� </el-form-item><br />
+                  <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />骞�
+                </el-form-item><br />
                 <el-form-item label="鏄惁楗厭" prop="yinjiu">
-                  <!-- <el-input v-model="form.yinjiupinlv" placeholder="璇疯緭鍏ラギ閰掗鐜�" /> -->
                   <el-select filterable v-model="formobj.yinjiu" disabled placeholder="璇烽�夋嫨鏄惁楗厭" clearable
                     style="width: 150px">
                     <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
@@ -634,7 +500,6 @@
                   </el-table-column>
                   <el-table-column label="鏄惁鐥婃剤" prop="isOk">
                     <template slot-scope="scope">
-                      <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> -->
                       <el-select disabled filterable size="mini" v-model="scope.row.isOk" placeholder="璇烽�夋嫨鏄惁鐥婃剤"
                         clearable>
                         <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
@@ -650,7 +515,6 @@
                 </el-table>
               </div>
             </el-collapse-item>
-
             <el-collapse-item title="鑱屼笟鍙�" name="7">
               <div style="width: 100%">
                 <el-table border :data="formobj.workLogs" style="width: 98%">
@@ -688,7 +552,6 @@
                   </el-table-column>
                   <el-table-column label="鏈夊鍥犵礌" prop="harmTypeLogs">
                     <template slot-scope="scope">
-                      <!-- <el-input v-model="scope.row.isOk" placeholder="璇疯緭鍏ユ槸鍚︾棅鎰�" /> -->
                       <el-select filterable disabled size="mini" v-model="scope.row.harmTypeLogs" multiple
                         placeholder="璇烽�夋嫨鏈夊鍥犵礌" clearable>
                         <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmtype"
@@ -741,20 +604,18 @@
         <el-form-item label="鍗曚綅" prop="dw">
           <el-input v-model="newItem.dw" placeholder="璇疯緭鍏ュ崟浣�" clearable></el-input>
         </el-form-item>
-
         <!-- 鍔ㄦ�佸缓璁粍 -->
         <div v-for="(advice, index) in newItem.map" :key="index" class="advice-group">
           <el-form-item label="寤鸿鏍囬" :prop="'map.' + index + '.bt'">
-            <el-input v-model="advice.bt" placeholder="璇疯緭鍏ュ缓璁爣棰�" clearable @focus="tan"></el-input>
+            <el-input v-model="advice.bt" placeholder="璇疯緭鍏ュ缓璁爣棰�" clearable @focus="tan($event)"></el-input>
           </el-form-item>
           <el-form-item label="寤鸿鍐呭" :prop="'map.' + index + '.nr'">
             <el-input v-model="advice.nr" type="textarea" rows="3" placeholder="璇疯緭鍏ュ缓璁唴瀹�" resize="none"
-              @focus="tan"></el-input>
+              @focus="tan($event)"></el-input>
           </el-form-item>
           <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)"
             style="margin-left: 100px; margin-bottom: 10px;">鍒犻櫎</el-button>
         </div>
-
         <el-form-item>
           <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">娣诲姞寤鸿</el-button>
         </el-form-item>
@@ -764,25 +625,28 @@
         <el-button type="primary" @click="submitNewItem">纭畾</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="蹇嵎寤鸿閫夋嫨" :visible.sync="showjianyi" width="1000px" class="custom-dialog">
-      <!-- 鏇挎崲涓鸿緭鍏ユ -->
+    <el-dialog title="蹇嵎寤鸿閫夋嫨" :visible.sync="showjianyi" width="1000px" class="custom-dialog"
+      :before-close="handleCloseAdviceDialog">
+      <!-- 鎼滅储鍖哄煙 -->
       <div style="margin-bottom: 15px;">
         <el-form :inline="true">
           <el-form-item label="寤鸿鍚嶇О">
             <el-input v-model="queryParams1.zyzd" placeholder="璇疯緭鍏ュ缓璁悕绉拌繘琛岀瓫閫�" clearable style="width: 200px"
-              @input="filterAdvices(true)" onkeydown="if(event.keyCode === 32 || event.keyCode === 13) return false;" />
+              @input="filterAdvices(true)" @keyup.enter.native="filterAdvices(true)" />
           </el-form-item>
         </el-form>
       </div>
 
-      <el-table :data="advicerulesList" ref="adviceTable" border highlight-current-row
-        @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;">
+      <!-- 寤鸿琛ㄦ牸 -->
+      <el-table v-loading="adviceLoading" :data="advicerulesList" ref="adviceTable" border highlight-current-row
+        @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;"
+        :empty-text="adviceEmptyText">
         <el-table-column label="绉戝" prop="ks" width="100" align="center" />
         <el-table-column label="寤鸿鍚嶇О" prop="jymc" align="center" />
         <el-table-column label="寤鸿鍐呭" prop="jynr" align="center" />
       </el-table>
 
-      <!-- 鍒嗛〉缁勪欢 -->
+      <!-- 鍒嗛〉 -->
       <div class="pag">
         <div class="pag2">
           <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParams1.pageNum"
@@ -790,8 +654,9 @@
         </div>
       </div>
 
+      <!-- 搴曢儴鎸夐挳 -->
       <span slot="footer" class="dialog-footer">
-        <el-button @click="showjianyi = false">鍙栨秷</el-button>
+        <el-button @click="cancelAdviceDialog">鍙栨秷</el-button>
         <el-button type="primary" @click="applySelectedAdvice" :disabled="!selectedAdvice">纭畾</el-button>
       </span>
     </el-dialog>
@@ -799,13 +664,9 @@
     <Prescription ref="Pre" :preObj="preObj" />
     <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
     <createproposal ref="createproposal" :creatobj="creatobj" />
-
-    <el-dialog title="甯哥敤寤鸿缁存姢" :visible.sync="propdialog" width="500px" append-to-body>
-    </el-dialog>
+    <el-dialog title="甯哥敤寤鸿缁存姢" :visible.sync="propdialog" width="500px" append-to-body></el-dialog>
   </div>
 </template>
-
-
 <script>
 import _ from 'lodash';
 import jianqianwenzhen from "@/components/jianqianwenzhen";
@@ -841,10 +702,8 @@
 import { getNewDateList } from "@/api/hosp/order";
 import { getconfigKey } from "@/api/login";
 import moment from "moment";
-import { get } from "sortablejs";
-import {
-  listAdvicerules,
-} from "@/api/hosp/advicerules";
+import { listAdvicerules } from "@/api/hosp/advicerules";
+
 export default {
   components: {
     ViewPdf,
@@ -873,20 +732,25 @@
       activeAdviceIndex: 0,
       advicerulesList: [],
       showjianyi: false,
+      adviceLoading: false, // 鎺у埗琛ㄦ牸鍔犺浇鐘舵��
+      adviceEmptyText: '鏆傛棤鏁版嵁', // 鑷畾涔夌┖鏁版嵁鎻愮ず
+      total1: 0,
+      queryParams1: {
+        pageNum: 1,
+        pageSize: 10,
+        zyzd: '', // 寤鸿鍚嶇О
+      },
+      adviceCache: new Map(), // 缂撳瓨寤鸿鏁版嵁
       addNewDialogVisible: false,
       newItem: {
-        parentName: '',   // 椤圭洰鍒嗙被锛屽搴旀ā鏉夸腑鐨� parentName
-        jcxm: '',         // 妫�娴嬮」鐩紝瀵瑰簲妯℃澘涓殑 jcxm
-        jcjg: '',         // 妫�娴嬬粨鏋滐紝瀵瑰簲妯℃澘涓殑 jcjg
-        ckfw: '',         // 鍙傝�冭寖鍥达紝瀵瑰簲妯℃澘涓殑 ckfw
-        dw: '',           // 鍗曚綅锛屽搴旀ā鏉夸腑鐨� dw
-        map: [{           // 寤鸿鍒楄〃锛屽搴旀ā鏉夸腑鐨勫姩鎬佸缓璁粍 map
-          bt: '',         // 寤鸿鏍囬锛屽搴旀ā鏉夸腑鐨� map[index].bt
-          nr: ''          // 寤鸿鍐呭锛屽搴旀ā鏉夸腑鐨� map[index].nr
-        }]
+        parentName: '',
+        jcxm: '',
+        jcjg: '',
+        ckfw: '',
+        dw: '',
+        map: [{ bt: '', nr: '' }]
       },
       projectCategories: [],
-      // 鏇存柊鎬绘寤鸿
       emptyAdvice: {
         bt: "",
         nr: "",
@@ -952,9 +816,7 @@
       msgtuwen: "",
       msgjianqian: "",
       msgkcf: "",
-      // 椤甸潰鍏ㄩ儴鏁版嵁
       checkList: [],
-      // 缁戝畾鍗曢�夋寜閽�
       tjStatus: "0",
       tjproject: "0",
       total: 0,
@@ -964,21 +826,16 @@
       startTime: [],
       textarea1: "",
       loading: true,
-      // 褰撳墠鐢ㄦ埛閫変腑鐨勫��
       selectLettercurrent: " ",
-      // 鎶藉眽鎵撳紑鏂瑰紡
       drawer: false,
       tableAll: {},
       tjNumber: "",
-      // 鍏ㄩ儴灏忕粨
       DeptadviceAll: [],
       MsgId: "",
       Deptobj: "",
-      // 鐐瑰嚮鍙傛暟
       changedate: [],
       dataText: [],
       status: {},
-      // 鏌ヨ鍙傛暟
       queryParams: {
         page: 1,
         pageSize: 10,
@@ -990,7 +847,6 @@
         checkStatus: null,
       },
       formobj: {},
-      // 鏌ヨ鍙傛暟
       yichangList: [],
       statusList: [],
       queryParam: {
@@ -1017,20 +873,13 @@
         tjCategory: undefined,
         payType: undefined,
       },
-      total1: 0,
-      queryParams1: {
-        pageNum: 1,
-        pageSize: 10,
-        zyzd: ''
-      },
-      status1: 0, // 0灞曠ず寮傚父1灞曠ず椤圭洰鎯呭喌
+      status1: 0,
       viewportHeight: 0,
       expends: [],
     };
   },
 
   created() {
-    // this.getNowTime();
     this.getConfigKey();
     this.getdate();
   },
@@ -1038,33 +887,138 @@
   mounted() {
     this.$nextTick(() => {
       this.$refs.inputName.focus();
-      this.viewportHeight =
-        window.innerHeight || document.documentElement.clientHeight;
+      this.viewportHeight = window.innerHeight || document.documentElement.clientHeight;
     });
   },
+
   methods: {
+    // 鎵撳紑寤鸿閫夋嫨寮圭獥
+    tan(event) {
+      this.activeAdviceIndex = event.target.closest('.advice-group')
+        ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group'))
+          .indexOf(event.target.closest('.advice-group'))
+        : 0;
+      this.queryParams1.pageNum = 1;
+      this.queryParams1.pageSize = 10;
+      this.queryParams1.zyzd = '';
+      this.selectedAdvice = null; // 閲嶇疆閫変腑寤鸿
+      this.advicerulesList = []; // 娓呯┖寤鸿鍒楄〃
+      this.total1 = 0;
+      this.adviceCache.clear(); // 娓呯┖缂撳瓨
+      this.filterAdvices();
+      this.showjianyi = true;
+    },
 
-    handleAdviceBlur(row, index) {
-      // 鏋勯�� advices 鏁版嵁
-      let advicesToSubmit = [];
-
-      if (index === -1) {
-        // advices 涓虹┖锛屼娇鐢� emptyAdvice 鐨勫��
-        if (this.emptyAdvice.bt || this.emptyAdvice.nr) {
-          advicesToSubmit = [{ bt: this.emptyAdvice.bt || '', nr: this.emptyAdvice.nr || '' }];
-          // 灏� emptyAdvice 鐨勫�艰祴鍊肩粰 row.advices
-          this.$set(row, 'advices', advicesToSubmit);
-        }
-      } else {
-        // advices 涓嶄负绌猴紝鐩存帴浣跨敤 row.advices
-        advicesToSubmit = row.advices;
+    // 绛涢�夊揩鎹峰缓璁紙闃叉姈 800ms锛屽甫缂撳瓨鍜屽姞杞界姸鎬侊級
+    filterAdvices: _.debounce(function (resetPage = false) {
+      if (resetPage) {
+        this.queryParams1.pageNum = 1;
       }
 
-      // 濡傛灉 advicesToSubmit 涓虹┖鎴栨病鏈夋湁鏁堟暟鎹紝涓嶆彁浜�
-      if (!advicesToSubmit || advicesToSubmit.length === 0) {
+      // 鐢熸垚缂撳瓨 key锛屼粎浣跨敤 zyzd 鍜屽垎椤靛弬鏁�
+      const cacheKey = `${this.queryParams1.zyzd || ''}_${this.queryParams1.pageNum}_${this.queryParams1.pageSize}`;
+
+      // 妫�鏌ョ紦瀛�
+      if (this.adviceCache.has(cacheKey)) {
+        const cachedData = this.adviceCache.get(cacheKey);
+        this.advicerulesList = cachedData.rows;
+        this.total1 = cachedData.total;
+        this.adviceEmptyText = this.advicerulesList.length === 0 ? '鏆傛棤鍖归厤鐨勫缓璁�' : '鏆傛棤鏁版嵁';
         return;
       }
 
+      // 鏄剧ず鍔犺浇鐘舵��
+      this.adviceLoading = true;
+      this.adviceEmptyText = '鍔犺浇涓�...';
+
+      listAdvicerules(this.queryParams1)
+        .then((response) => {
+          this.advicerulesList = response.rows || [];
+          this.total1 = response.total || 0;
+
+          // 瀛樺叆缂撳瓨
+          this.adviceCache.set(cacheKey, {
+            rows: this.advicerulesList,
+            total: this.total1,
+          });
+
+          // 鏇存柊绌烘暟鎹彁绀�
+          this.adviceEmptyText = this.advicerulesList.length === 0 ? '鏆傛棤鍖归厤鐨勫缓璁�' : '鏆傛棤鏁版嵁';
+        })
+        .catch((error) => {
+          console.error('绛涢�夊揩鎹峰缓璁け璐�:', error);
+          this.advicerulesList = [];
+          this.total1 = 0;
+          this.adviceEmptyText = '鍔犺浇澶辫触锛岃绋嶅悗閲嶈瘯';
+          this.$message.error('鍔犺浇寤鸿澶辫触锛岃妫�鏌ョ綉缁滃悗閲嶈瘯');
+        })
+        .finally(() => {
+          this.adviceLoading = false;
+        });
+    }, 800), // 闃叉姈鏃堕棿涓� 800ms
+
+    handleCurrentChangeAdvice(currentRow) {
+      this.selectedAdvice = currentRow;
+    },
+
+    applySelectedAdvice() {
+      if (this.selectedAdvice) {
+        this.$set(this.newItem.map, this.activeAdviceIndex, {
+          bt: this.selectedAdvice.jymc,
+          nr: this.selectedAdvice.jynr,
+        });
+        this.showjianyi = false;
+        this.selectedAdvice = null;
+      } else {
+        this.$message.warning('璇峰厛閫夋嫨涓�鏉″缓璁�');
+      }
+    },
+
+    // 鍙栨秷閫夋嫨骞跺叧闂璇濇
+    cancelAdviceDialog() {
+      this.showjianyi = false;
+      this.selectedAdvice = null;
+      this.queryParams1.zyzd = '';
+      this.queryParams1.pageNum = 1;
+      this.advicerulesList = [];
+      this.total1 = 0;
+      this.adviceCache.clear();
+    },
+
+    // 鍏抽棴瀵硅瘽妗嗗墠鐨勭‘璁�
+    handleCloseAdviceDialog(done) {
+      if (this.selectedAdvice) {
+        this.$confirm('鎮ㄥ凡閫夋嫨涓�鏉″缓璁紝纭畾瑕佸叧闂悧锛�', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning',
+        })
+          .then(() => {
+            this.cancelAdviceDialog();
+            done();
+          })
+          .catch(() => {});
+      } else {
+        this.cancelAdviceDialog();
+        done();
+      }
+    },
+
+    handleAdviceBlur(row, index) {
+      let advicesToSubmit = [];
+
+      if (index === -1) {
+        if (this.emptyAdvice.bt || this.emptyAdvice.nr) {
+          advicesToSubmit = [{ bt: this.emptyAdvice.bt || '', nr: this.emptyAdvice.nr || '' }];
+          this.$set(row, 'advices', advicesToSubmit);
+        }
+      } else {
+        advicesToSubmit = row.advices;
+      }
+
+      if (!advicesToSubmit || advicesToSubmit.length === 0) {
+        return;
+      }
 
       const parentItem = this.yichangList.find(item =>
         item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId)
@@ -1076,20 +1030,20 @@
       }
 
       const data = {
-        tjh: this.tableAll.tjNumber, // 浣撴鍙�
-        parentName: parentItem.proName, // 鐖剁骇椤圭洰鍚嶇О
-        jcxm: row.proName, // 妫�娴嬮」鐩�
-        jcjg: row.proResult, // 妫�娴嬬粨鏋�
-        ckfw: row.stanId, // 鍙傝�冭寖鍥�
-        dw: row.proAdvice, // 鍗曚綅
-        map: advicesToSubmit, // 寤鸿鍒楄〃
-        jyjc: parentItem.jyjc, // 妫�鏌ョ被鍨嬶紙0 鎴� 1锛�
-        id: row.orderDetailId, // 褰撳墠椤圭殑 orderDetailId
+        tjh: this.tableAll.tjNumber,
+        parentName: parentItem.proName,
+        jcxm: row.proName,
+        jcjg: row.proResult,
+        ckfw: row.stanId,
+        dw: row.proAdvice,
+        map: advicesToSubmit,
+        jyjc: parentItem.jyjc,
+        id: row.orderDetailId,
       };
 
       addOrder1(data).then((res) => {
         if (res.code === 200) {
-
+          // 鎴愬姛鏇存柊寤鸿
         } else {
           this.$message.error('寤鸿鏇存柊澶辫触锛�' + (res.msg || '鏈煡閿欒'));
         }
@@ -1098,60 +1052,14 @@
         this.$message.error('寤鸿鏇存柊澶辫触锛�' + error.message);
       });
     },
-    handleCurrentChangeAdvice(currentRow) {
-      this.selectedAdvice = currentRow; // 瀛樺偍閫変腑鐨勫缓璁」
-    },
-    applySelectedAdvice() {
-      if (this.selectedAdvice) {
-        this.$set(this.newItem.map, this.activeAdviceIndex, {
-          bt: this.selectedAdvice.jymc, // 寤鸿鍚嶇О璧嬪�肩粰鏍囬
-          nr: this.selectedAdvice.jynr  // 寤鸿鍐呭璧嬪�肩粰鍐呭
-        });
-        this.showjianyi = false; // 鍏抽棴寮圭獥
-        this.selectedAdvice = null; // 娓呯┖閫変腑椤�
-      } else {
-        this.$message.warning('璇峰厛閫夋嫨涓�鏉″缓璁�');
-      }
-    },
+
     handleSelectionChange(selection) {
       console.log(selection);
-
-    },
-    tan(event) {
-      // 鑾峰彇褰撳墠寤鸿缁勭殑绱㈠紩
-      this.activeAdviceIndex = event.target.closest('.advice-group')
-        ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group'))
-          .indexOf(event.target.closest('.advice-group'))
-        : 0;
-
-      // 閲嶇疆鍒嗛〉鍙傛暟鍜岀瓫閫夋潯浠�
-      this.queryParams1.pageNum = 1;
-      this.queryParams1.pageSize = 10;
-      this.queryParams1.zyzd = ''; // 娓呯┖寤鸿鍚嶇О杈撳叆妗�
-      // 绉婚櫎绉戝绛涢�夋潯浠�
-      delete this.queryParams1.ks; // 纭繚涓嶆惡甯� ks 鍙傛暟
-
-      // 鍔犺浇鎵�鏈夊揩鎹峰缓璁垪琛�
-      this.filterAdvices();
-      this.showjianyi = true;
     },
 
-    // 涓嬫媺妗嗙瓫閫夊揩鎹峰缓璁紙鍖呭惈鍒嗛〉閫昏緫锛�
-    filterAdvices: _.debounce(function (resetPage = false) {
-      if (resetPage) {
-        this.queryParams1.pageNum = 1;
-      }
-      listAdvicerules(this.queryParams1).then((response) => {
-        this.advicerulesList = response.rows;
-        this.total1 = response.total;
-      }).catch((error) => {
-        console.error('绛涢�夊揩鎹峰缓璁け璐�:', error);
-        this.$message.error('绛涢�夊揩鎹峰缓璁け璐�');
-      });
-    }, 300),
     submitNewItem() {
       const data = {
-        tjh: this.tableAll.tjNumber, // 浣撴鍙凤紝浠� tableAll 涓幏鍙�
+        tjh: this.tableAll.tjNumber,
         parentName: this.newItem.parentName,
         jcxm: this.newItem.jcxm,
         jcjg: this.newItem.jcjg,
@@ -1162,7 +1070,6 @@
       };
 
       addOrder1(data).then((res) => {
-        console.log(res);
         if (res.code === 200) {
           this.$message.success('鏂板寮傚父缁撴灉鎴愬姛');
           this.addNewDialogVisible = false;
@@ -1175,6 +1082,7 @@
         this.$message.error('鏂板寮傚父缁撴灉澶辫触');
       });
     },
+
     addnew() {
       this.newItem = {
         parentName: '',
@@ -1187,7 +1095,6 @@
       this.addNewDialogVisible = true;
 
       cSWebGetPro(this.tjNumber).then((res) => {
-        console.log(res);
         if (res.data && Array.isArray(res.data)) {
           this.projectCategories = res.data;
         } else {
@@ -1203,11 +1110,10 @@
 
     handleCategoryChange(value) {
       if (value) {
-        this.newItem.jcxm = value; // 灏嗛�夋嫨鐨勯」鐩垎绫昏祴鍊肩粰妫�娴嬮」鐩�
+        this.newItem.jcxm = value;
       }
     },
 
-    // 娣诲姞鏂扮殑寤鸿缁�
     addAdvice() {
       this.newItem.map.push({ bt: '', nr: '' });
     },
@@ -1221,26 +1127,21 @@
     },
 
     shanchu(row) {
-      // 绂佺敤鍒犻櫎鎸夐挳锛岄槻姝㈤噸澶嶇偣鍑�
       this.isdisabled = true;
 
-      // 璋冪敤鍚庣鎺ュ彛鍒犻櫎鏁版嵁
       shanchu({
         id: row.orderDetailId,
       }).then((res) => {
-        if (res.code === 200) {  // 鍚庣鍒犻櫎鎴愬姛
-          // 鎵惧埌瑕佸垹闄ら」鎵�鍦ㄧ殑鐖剁骇鏁扮粍
+        if (res.code === 200) {
           const parentItem = this.yichangList.find(item =>
             item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId)
           );
 
           if (parentItem) {
-            // 浠庣埗绾х殑 sone 鏁扮粍涓垹闄よ椤�
             const index = parentItem.sone.findIndex(item => item.orderDetailId === row.orderDetailId);
             if (index > -1) {
               parentItem.sone.splice(index, 1);
 
-              // 濡傛灉鍒犻櫎鍚� sone 鏁扮粍涓虹┖锛屽垯鍒犻櫎鏁翠釜鐖剁骇椤�
               if (parentItem.sone.length === 0) {
                 const parentIndex = this.yichangList.indexOf(parentItem);
                 if (parentIndex > -1) {
@@ -1248,16 +1149,9 @@
                 }
               }
 
-              // 鏇存柊 expends 鏁扮粍锛岀‘淇濆睍寮�鐘舵�佹纭�
               this.getExpends();
-
-              // 寮哄埗鍒锋柊琛ㄦ牸
               this.$forceUpdate();
-
               this.$message.success('鍒犻櫎鎴愬姛');
-
-              // 鍙�夛細璋冪敤 yichangjieguo 鍒锋柊鏁版嵁锛堝鏋滈渶瑕佷笌鍚庣鍚屾锛�
-              // this.yichangjieguo();
             } else {
               this.$message.error('鏈壘鍒拌鍒犻櫎鐨勫瓙椤�');
             }
@@ -1271,18 +1165,16 @@
         console.error('鍒犻櫎澶辫触:', error);
         this.$message.error('鍒犻櫎鎿嶄綔澶辫触锛�' + error.message);
       }).finally(() => {
-        // 鎭㈠鍒犻櫎鎸夐挳鐘舵��
         this.isdisabled = false;
       });
     },
 
-    // 纭繚 getExpends 鏂规硶瀛樺湪锛岀敤浜庢洿鏂板睍寮�鐘舵��
     getExpends() {
       this.expends = this.yichangList.flatMap(item =>
         item.sone.map(soneItem => soneItem.orderDetailId)
       );
-      console.log('Updated expends:', this.expends);
     },
+
     getConfigKey() {
       getconfigKey("sfkqtwbg").then((res) => {
         this.msgtuwen = res.msg;
@@ -1294,26 +1186,26 @@
         this.msgkcf = res.msg;
       });
     },
-    //璁剧疆table涓殑鎵╁睍椤癸紝灞曞紑鐨刬d锛屾澶勬垜闇�瑕佸叏閮ㄥ睍寮�
-
 
     getRowKeys(row) {
       return row.orderDetailId;
     },
-    // 椤圭洰鎯呭喌
+
     xiangmuqingkuang() {
       cSWebGetPro(this.tjNumber).then((res) => {
         this.status1 = 1;
         this.statusList = res.data;
 
         if (this.statusList.length == 0) {
-          _this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌");
+          this.$message.msgSuccess("鏆傛棤椤圭洰鎯呭喌");
         }
       });
     },
+
     guanbi() {
       this.drawer = false;
     },
+
     yichangjieguo() {
       this.status1 = 0;
       let _this = this;
@@ -1322,43 +1214,29 @@
       }).then((res) => {
         this.yichangList = res.data;
 
-
-
         this.yichangList.forEach((item) => {
           item.sone.forEach((soneItem) => {
-            if (
-              !Array.isArray(soneItem.advices) ||
-              soneItem.advices.length === 0
-            ) {
-              // 濡傛灉 advices 鏄┖锛岃缃粯璁ゅ��
-              soneItem.advices = [
-                {
-                  bt: "",
-                  nr: "",
-                },
-              ];
+            if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) {
+              soneItem.advices = [{ bt: "", nr: "" }];
             }
           });
         });
 
         if (!this.yichangList) {
           _this.$message({
-            type: "warning ",
+            type: "warning",
             message: "鏆傛棤寮傚父鎶ュ憡",
           });
         }
       });
     },
+
     getdate() {
       getNewDateList().then((res) => {
-        /* this.startTime = [
-          moment(res.data).format("YYYY-MM-DD 00:00:00"),
-          moment(res.data).format("YYYY-MM-DD 23:59:00"),
-        ]; */
         this.getList();
       });
     },
-    // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡
+
     getNowTime() {
       var curDate = new Date().getTime();
       var dayNum = 7 * 24 * 3600 * 1000;
@@ -1367,9 +1245,11 @@
       var end = this.getLocalTime(curDate);
       this.startTime = [sDay, end];
     },
+
     add0(m) {
       return m < 10 ? "0" + m : m;
     },
+
     getLocalTime(nS) {
       var time = new Date(nS);
       var y = time.getFullYear();
@@ -1389,6 +1269,7 @@
         this.add0(mm)
       );
     },
+
     jianqian() {
       this.flags = true;
       this.jianqians = true;
@@ -1408,7 +1289,6 @@
         this.queryParams.endTime = null;
       }
 
-      // 椤甸潰鏁版嵁
       getcheckList(this.queryParams).then((response) => {
         if (response.code == 200) {
           this.loading = false;
@@ -1418,18 +1298,17 @@
             } else {
               this.checkList = response.data.customers;
             }
-
             this.total = response.data.total;
           } else {
             this.checkList = [];
           }
         }
-      }),
-        // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
-        getCompany(this.queryParam).then((response) => {
-          this.CompanyList = response.data;
-          this.loading = false;
-        });
+      });
+
+      getCompany(this.queryParam).then((response) => {
+        this.CompanyList = response.data;
+        this.loading = false;
+      });
     },
 
     viewReport(row) {
@@ -1454,18 +1333,13 @@
               });
             } else {
               this.dialogVisible = true;
-
-              this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+              this.url = window.webkitURL.createObjectURL(response);
             }
           });
         } else {
           let url = response.data.url;
           const params = { url };
-          this.$tab.openPage(
-            "鍋ュ悍璇佹鏌ヨ〃",
-            "/report/zongjianjiankangzheng",
-            params
-          );
+          this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/zongjianjiankangzheng", params);
         }
       });
     },
@@ -1494,13 +1368,6 @@
                 patagename: this.tableAll.age_unit,
                 patbirth: this.tableAll.cusBrithday,
               };
-              // let data = {
-              //   patname: "鑴辫兘濞�",
-              //   sex: "濂�",
-              //   patage: "60",
-              //   patagename: "宀�",
-              //   patbirth: "1963-01-01"
-              // }
               getTjYxjcList(data).then((res) => {
                 this.baogao = res.data;
               });
@@ -1555,23 +1422,12 @@
         }
       });
     },
-    // viewReport(row) {
-    //   const tjNumber = row.tjNumber;
-    //   const viewNum = "792997692059705344";
-    //   const params = { viewNum, tjNumber };
-    //   hasReportEnd(tjNumber).then((res) => {
-    //     if (res == 1) {
-    //       this.$tab.openPage("浣撴鎶ュ憡", "/report/viewReport", params);
-    //     } else {
-    //       this.$message.error("璇ョ敤鎴蜂綋妫�鏆傛湭瀹屾垚锛屾棤娉曟墦鍗颁綋妫�鎶ュ憡锛�");
-    //     }
-    //   });
-    // },
+
     downLoadFileImg(row) {
       const tjNumber = row.tjNumber;
       const flag = true;
       getPdf(tjNumber, flag).then((response) => {
-        this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+        this.url = window.webkitURL.createObjectURL(response);
       });
     },
 
@@ -1585,7 +1441,6 @@
       this.$refs.Pre.title = "澶勬柟";
     },
 
-    // 鍗曢�夋寜閽�
     radioChange(value) {
       this.loading = true;
       this.queryParams.checkStatus = value;
@@ -1601,27 +1456,27 @@
         this.loading = false;
       });
     },
+
     propoChange() {
       this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 };
       this.$refs.proposal.open = true;
       this.$refs.proposal.title = "寤鸿鏂规";
-      // this.$refs.proposal.getList();
     },
+
     eventchange(data) {
       this.dataText = data;
       if (this.textarea1 == null) {
         this.textarea1 = "";
       }
-      console.log(data)
       data.forEach((item) => {
-        if(item.advice){
+        if (item.advice) {
           this.textarea1 += item.advice;
-        }else{
+        } else {
           this.textarea1 += item.jynr;
         }
-        
       });
     },
+
     proposalChange() {
       if (this.textarea1) {
         this.creatobj = { proParentList: this.textarea1, isZj: 0 };
@@ -1629,16 +1484,16 @@
         this.$refs.createproposal.title = "甯哥敤寤鸿缁存姢";
       } else {
         this.$message({
-          type: "warning ",
+          type: "warning",
           message: "璇峰厛濉啓鎬绘寤鸿",
         });
       }
     },
+
     radiotjprojectChange() {
       if (this.tjproject == "0") {
         getupdateCheckType(this.tjNumber).then((response) => {
           this.changedate = response.data;
-
           this.changedate.forEach((item) => {
             this.textarea1 = item.checkAdvice;
           });
@@ -1646,21 +1501,9 @@
             for (let i = 0; i < this.changedate.length; i++) {
               this.remark = this.changedate[i].remark;
             }
-            this.changedate.forEach((item) => {
-              // this.remark = item.remark;
-              // item.sons.forEach((item3) => {
-              //   if (item3.standard.tjStandardGtValue === null) {
-              //     item3.standard.tjStandardGtValue = "";
-              //   }
-              //   if (item3.standard.tjStandardLtValue === null) {
-              //     item3.standard.tjStandardLtValue = "";
-              //   }
-              // });
-              // item.remark = "";
-            });
           } else {
             this.$message({
-              type: "warning ",
+              type: "warning",
               message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
             });
           }
@@ -1668,7 +1511,6 @@
       } else if (this.tjproject == "1") {
         getupdateCheckTypeHuaYan(this.tjNumber).then((res) => {
           if (res.data) {
-            // this.Testitems = res.data
             this.changedate = res.data;
             this.changedate.forEach((item) => {
               this.textarea1 = item.checkAdvice;
@@ -1677,22 +1519,10 @@
               for (let i = 0; i < this.changedate.length; i++) {
                 this.remark = this.changedate[i].remark;
               }
-              this.changedate.forEach((item) => {
-                // this.remark = item.remark;
-                item.sons.forEach((item3) => {
-                  // if (item3.standard.tjStandardGtValue === null) {
-                  //   item3.standard.tjStandardGtValue = "";
-                  // }
-                  // if (item3.standard.tjStandardLtValue === null) {
-                  //   item3.standard.tjStandardLtValue = "";
-                  // }
-                });
-                // item.remark = "";
-              });
             }
           } else {
             this.$message({
-              type: "warning ",
+              type: "warning",
               message: "璇ュ鎴锋病鏈夊寲楠岄」鐩暟鎹�",
             });
           }
@@ -1700,7 +1530,6 @@
       }
     },
 
-    // 浣撴鍏徃鎷奸煶鎼滅储
     getRemoteData(query) {
       if (query) {
         let compName = query;
@@ -1710,12 +1539,10 @@
       }
     },
 
-    // 閫夋鏁版嵁
     searchSelect(val) {
       this.CheckBox = val;
     },
 
-    // 鏃堕棿
     dateChangebirthday1(val) {
       this.startTime = val;
     },
@@ -1726,9 +1553,7 @@
       }
     },
 
-    // 鎼滅储
     submitForm() {
-      console.log(this.tjStatus);
       this.loading = true;
       this.queryParams.compId = this.CheckBox.drugManufacturerId;
       this.queryParams.checkStatus = this.tjStatus;
@@ -1740,7 +1565,6 @@
         this.queryParams.endTime = null;
       }
 
-      // 椤甸潰鏁版嵁
       getcheckList(this.queryParams).then((response) => {
         if (response.code == 200) {
           this.loading = false;
@@ -1749,7 +1573,6 @@
             this.checkList.forEach((item) => {
               this.tjStatus = item.tjStatus.toString();
             });
-
             this.total = response.data.total;
           } else {
             this.checkList = [];
@@ -1757,61 +1580,45 @@
         }
       });
     },
-    // 閲嶇疆
+
     resetQuery() {
       this.startTime = [];
       this.resetForm("tableList");
       this.submitForm();
     },
+
     changRed({ row }) {
       if (row.ycbz != "" && row.ycbz != null) {
-        // 鍙橀鑹茬殑鏉′欢
         return {
-          color: "red", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor
+          color: "red",
         };
       }
     },
+
     red() {
       return {
         color: "red",
       };
     },
+
     redxiangmu({ row }) {
       if (row.type != 1) {
-        // 鍙橀鑹茬殑鏉′欢
         return {
-          backgroundColor: "#AAD8DF !important", // 杩欎釜return鐨勫氨鏄牱寮� 鍙互鏄痗olor 涔熷彲浠ユ槸backgroundColor
-          // color: "#AAD8DF ",
+          backgroundColor: "#AAD8DF !important",
         };
       }
     },
-    /*  changRed(row) {
-      if (row.label === "鈫�") {
-        return {
-          color: "green", // 璁剧疆涓婄澶翠负缁胯壊
-        };
-      } else if (row.label === "鈫�") {
-        return {
-          color: "red", // 璁剧疆涓嬬澶翠负绾㈣壊
-        };
-      }
-      // 榛樿棰滆壊
-      return {
-        color: "black",
-      };
-    }, */
+
     handleCurrentChange(val) {
       if (val != null) {
         this.handleClick(val);
       }
     },
 
-    // 鐐瑰嚮璇︽儏
     handleClick(row) {
       this.$refs.Pre.open = false;
       this.tableAll = row;
       this.tjproject = "0";
-
       this.tjNumber = this.tableAll.tjNumber;
 
       getState(this.tjNumber).then((res) => {
@@ -1836,32 +1643,14 @@
                       this.changedate.forEach((item) => {
                         this.textarea1 = item.checkAdvice || "";
                       });
-
-                      // 杩欓噷璁剧疆鍒濆鍊�
-                      this.initialTotalCheckAdvice = this.textarea1; // 淇濆瓨鎬绘寤鸿
-
-                      // 淇濆瓨鍒濆鐘舵��
-                      this.initialState = JSON.parse(
-                        JSON.stringify(this.changedate)
-                      );
-
+                      this.initialTotalCheckAdvice = this.textarea1;
+                      this.initialState = JSON.parse(JSON.stringify(this.changedate));
                       for (let i = 0; i < this.changedate.length; i++) {
                         this.remark = this.changedate[i].remark;
                       }
-                      this.changedate.forEach((item) => {
-                        // this.remark = item.remark;
-                        // item.sons.forEach((item3) => {
-                        //   if (item3.standard.tjStandardGtValue === null) {
-                        //     item3.standard.tjStandardGtValue = "";
-                        //   }
-                        //   if (item3.standard.tjStandardLtValue === null) {
-                        //     item3.standard.tjStandardLtValue = "";
-                        //   }
-                        // });
-                      });
                     } else {
                       this.$message({
-                        type: "warning ",
+                        type: "warning",
                         message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
                       });
                     }
@@ -1870,20 +1659,15 @@
               }
             });
           } else {
-            this.$confirm(
-              "" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?",
-              "鎻愮ず",
-              {
-                confirmButtonText: "鏄�",
-                cancelButtonText: "鍚�",
-                type: "warning",
-              }
-            )
+            this.$confirm("" + this.status.name + "姝e湪淇敼璇ヤ俊鎭�, 鏄惁寮哄埗杩涘幓?", "鎻愮ず", {
+              confirmButtonText: "鏄�",
+              cancelButtonText: "鍚�",
+              type: "warning",
+            })
               .then(() => {
                 this.yichangjieguo();
                 getInfo().then((response) => {
                   this.userId = response.user.userId;
-
                   if (this.userId) {
                     let data = {
                       userId: this.userId,
@@ -1899,32 +1683,13 @@
                           for (let i = 0; i < this.changedate.length; i++) {
                             this.remark = this.changedate[i].remark;
                           }
-                          this.initialState = JSON.parse(
-                            JSON.stringify(this.changedate)
-                          );
-
+                          this.initialState = JSON.parse(JSON.stringify(this.changedate));
                           this.changedate.forEach((item) => {
                             this.textarea1 = item.checkAdvice || "";
-
-                            // this.remark = item.remark;
-                            // item.sons.forEach((item3) => {
-                            //   if (item3.standard.tjStandardGtValue === null) {
-                            //     item3.standard.tjStandardGtValue = "";
-                            //   }
-                            //   if (item3.standard.tjStandardLtValue === null) {
-                            //     item3.standard.tjStandardLtValue = "";
-                            //   }
-                            // });
-                            // item.remark = "";
                           });
-
-                          // 淇濆瓨鎬绘寤鸿
-                          this.totalCheckAdvice = this.changedate.map(
-                            (item) => item.totalCheckAdvice
-                          );
                         } else {
                           this.$message({
-                            type: "warning ",
+                            type: "warning",
                             message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
                           });
                         }
@@ -1939,377 +1704,94 @@
                   message: "宸插彇娑堣繘鍏�",
                 });
               });
-
-            this.drawer = false;
           }
-        } else {
-          this.drawer = true;
-          this.yichangjieguo();
-          getInfo().then((response) => {
-            this.userId = response.user.userId;
-
-            if (this.userId) {
-              let data = {
-                userId: this.userId,
-                tjNumber: this.tjNumber,
-                state: 0,
-              };
-              getforceIn(data).then((res) => {
-                this.MsgId = res.msg;
-                this.drawer = true;
-                getupdateCheckType(this.tjNumber).then((response) => {
-                  this.changedate = response.data;
-                  if (this.changedate) {
-                    for (let i = 0; i < this.changedate.length; i++) {
-                      this.remark = this.changedate[i].remark;
-                    }
-                    this.initialState = JSON.parse(
-                      JSON.stringify(this.changedate)
-                    );
-
-                    this.changedate.forEach((item) => {
-                      this.textarea1 = item.checkAdvice || "";
-
-                      // this.remark = item.remark;
-                      // item.sons.forEach((item3) => {
-                      //   if (item3.standard.tjStandardGtValue === null) {
-                      //     item3.standard.tjStandardGtValue = "";
-                      //   }
-                      //   if (item3.standard.tjStandardLtValue === null) {
-                      //     item3.standard.tjStandardLtValue = "";
-                      //   }
-                      // });
-                      // item.remark = "";
-                    });
-
-                    // 淇濆瓨鎬绘寤鸿
-                    this.totalCheckAdvice = this.changedate.map(
-                      (item) => item.totalCheckAdvice
-                    );
-                  } else {
-                    this.$message({
-                      type: "warning ",
-                      message: "璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁",
-                    });
-                  }
-                });
-              });
-            }
-          });
-        }
-      });
-
-      // 鑾峰彇灏忕粨
-      // getDeptAdvice().then((response) => {
-      //   response.data.forEach((item) => {
-      //     this.DeptadviceAll = item;
-      //   });
-      // });
-    },
-    // 鎾ら攢
-    getRevoke(row) {
-      this.loading = true;
-      const tjNumber = row.tjNumber;
-      revoke(tjNumber).then((response) => {
-        this.$modal.msgSuccess("鎾ゅ洖鎴愬姛");
-        if (response.code == 200) {
-          this.loading = false;
-          this.getList();
         }
       });
     },
 
-    cancel() {
-      this.propdialog = false;
-    },
-
-    // 鏄惁鍏抽棴寮圭獥
     handleClose(done) {
-      if (this.loading) {
-        return;
-      }
-
-      // 妫�鏌ユ槸鍚︽湁淇敼
-      let isModified =
-        JSON.stringify(this.changedate) !== JSON.stringify(this.initialState) ||
-        (this.textarea1 !== this.initialTotalCheckAdvice &&
-          this.textarea1 !== null);
-      console.log("Initial Total Check Advice:", this.initialTotalCheckAdvice);
-
-      console.log("Current textarea1:", this.textarea1);
-      if (isModified) {
-        // 濡傛灉鏈変慨鏀癸紝寮瑰嚭纭妗�
-        this.$confirm("妫�娴嬪唴瀹规湁淇敼锛岀‘瀹氳鎻愪氦鍚楋紵")
+      if (JSON.stringify(this.initialState) !== JSON.stringify(this.changedate) || this.initialTotalCheckAdvice !== this.textarea1) {
+        this.$confirm("鎮ㄦ湁鏈繚瀛樼殑鏇存敼锛岀‘瀹氳鍏抽棴鍚楋紵", "鎻愮ず", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
           .then(() => {
-            this.loading = true;
-            this.timer = setTimeout(() => {
-              done();
-              this.determine();
-              setTimeout(() => {
-                this.loading = false;
-              }, 400);
-            }, 2000);
-          })
-          .catch(() => {
-            // 鐢ㄦ埛鍙栨秷鎿嶄綔
-            this.drawer = false;
             let data = {
               userId: this.userId,
               tjNumber: this.tjNumber,
               state: 1,
-              id: this.MsgId,
             };
-            getfiedState(data).then((res) => { });
-            this.submitForm();
-          });
+            getfiedState(data).then((res) => {
+              this.drawer = false;
+              done();
+            });
+          })
+          .catch(() => {});
       } else {
-        // 濡傛灉娌℃湁淇敼锛岀洿鎺ュ叧闂�
-        done();
+        let data = {
+          userId: this.userId,
+          tjNumber: this.tjNumber,
+          state: 1,
+        };
+        getfiedState(data).then((res) => {
+          this.drawer = false;
+          done();
+        });
       }
     },
-    handleClose1() {
+
+    handleClose1(done) {
       this.jianqians = false;
+      this.wenzhen = false;
+      this.flags = false;
+      done();
     },
-    // 鐢熸垚鎶ュ憡
-    // generate(row) {
-    //   const tjNumber = row.tjNumber;
-    //   getGenerate(tjNumber).then((response) => {
-    //     this.$modal.msgSuccess("鐢熸垚鎴愬姛");
-    //   });
-    // },
-    // xiAoJieChange(event) {
-    //   if (event) {
-    //     this.changedate.forEach((item) => {
-    //       item.remark = "";
-    //       item.parentAdvice.forEach((item1) => {
-    //         event.forEach((item2) => {
-    //           if (item2 == item1.id) {
-    //             item.remark = item.remark + item1.advice + "銆�";
-    //           }
-    //         });
-    //       });
-    //     });
-    //   }
-    // },
-    change(vale) { },
 
-    // determine() {
-    //   let tjNumber = this.tableAll.tjNumber;
-    //   let tjh = this.tableAll.tjNumber;
-    //   // let jyjc = this.yichangList.map(item => item.jyjc || null);
-    //   let advice = this.textarea1;
-    //   let data = {
-    //     tjNumber,
-    //     advice,
-    //     checkStatus: 1,
-    //   };
-
-    //   console.log(this.yichangList, 66);
-
-    //   let dataList = this.yichangList
-    //     .map((item) => {
-    //       return item.sone.map((soneItem) => ({
-    //         tjh,
-    //         parentName: item.proName,
-    //         jcxm: soneItem.proName,
-    //         map: soneItem.advices,
-    //         jyjc: item.jyjc, // assuming jyjc belongs to the outer item, not soneItem
-    //         jcjg: soneItem.proResult,
-    //         ckfw: soneItem.stanId,
-    //         dw: soneItem.proAdvice,
-    //       }));
-    //     })
-    //     .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞�
-    //   console.log(dataList, 777);
-
-    //   /*  addOrder(dataList).then((res) => {
-    //     console.log(res, 999);
-    //   }); */
-    //   getTjdetailList(data)
-    //     .then((response) => {
-    //       if (response.code === 200) {
-    //         this.$modal.msgSuccess("鎻愪氦鎴愬姛");
-
-    //         // 鍑嗗鐢熸垚鎶ュ憡鐨勮姹傛暟鎹�
-    //         let reportData = {
-    //           userId: this.userId,
-    //           tjNumber: tjNumber,
-    //           state: 1,
-    //           id: this.MsgId,
-    //         };
-
-    //         // 鐢熸垚鎶ュ憡骞朵繚鎸� loading 鎵撳紑
-    //         const reportPromise = gettoPdf(tjNumber)
-    //           .then((res) => {
-    //             this.$modal.msgSuccess("宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�");
-    //           })
-    //           .catch((error) => {
-    //             this.$modal.msgError(
-    //               "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
-    //             );
-    //           });
-
-    //         // 鏇存柊鐘舵�佸苟鎻愪氦淇敼璇锋眰
-    //         const statePromise = getfiedState(reportData).then((res) => {
-    //           this.drawer = false;
-    //         });
-
-    //         // const addOrderPromise = addOrder(dataList).then((res) => {
-    //         //   console.log(res, 999);
-    //         // });
-
-    //         // 澶勭悊鍏朵粬淇敼鎿嶄綔
-    //         const updatePromises = this.changedate.map((item) => {
-    //           this.proIds = item.parentId;
-    //           let remarks = item.remark;
-    //           let updateOrderRemarkVos = [
-    //             {
-    //               tjNumber,
-    //               proId: this.proIds.toString(),
-    //               remarks,
-    //             },
-    //           ];
-    //           return getModified(updateOrderRemarkVos); // 杩斿洖 Promise
-    //         });
-
-    //         // 绛夊緟鎵�鏈夎姹傚畬鎴�
-    //         Promise.all([
-    //           reportPromise,
-    //           statePromise,
-    //           // addOrderPromise,
-    //           ...updatePromises,
-    //         ])
-    //           .then(() => {
-    //             // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading
-    //             this.loading = false;
-    //             // 鏇存柊鍒嗛〉淇℃伅
-    //             this.queryParams.page = 1;
-    //             this.queryParams.pageSize = 10;
-    //             this.submitForm();
-    //             this.$forceUpdate();
-    //           })
-    //           .catch((error) => {
-    //             // 澶勭悊閿欒鎯呭喌
-    //             this.loading = false;
-    //             console.error("鍙戠敓閿欒:", error);
-    //           });
-    //       } else {
-    //         // 鎻愪氦澶辫触锛屽叧闂� loading
-    //         this.loading = false;
-    //       }
-    //     })
-    //     .catch((error) => {
-    //       // 鎻愪氦璇锋眰澶辫触锛屽叧闂� loading
-    //       this.loading = false;
-    //       console.error("鎻愪氦璇锋眰澶辫触:", error);
-    //     });
-    // },
     determine() {
-      let tjNumber = this.tableAll.tjNumber;
-      let tjh = this.tableAll.tjNumber;
-      let advice = this.textarea1;
       let data = {
-        tjNumber,
-        advice,
-        checkStatus: 1,
+        checkAdvice: this.textarea1,
+        proIds: this.changedate.map(item => item.proId),
+        remarks: this.changedate.map(item => item.remark),
+        jgbxs: this.changedate.map(item => item.jgbx),
+        tjNumber: this.tjNumber,
       };
 
-      console.log(this.yichangList, 6644);
+      addOrder(data).then((res) => {
+        if (res.code === 200) {
+          this.$message.success('鎻愪氦鎴愬姛');
+          this.drawer = false;
+          this.submitForm();
+        } else {
+          this.$message.error('鎻愪氦澶辫触');
+        }
+      }).catch((error) => {
+        console.error('鎻愪氦澶辫触:', error);
+        this.$message.error('鎻愪氦澶辫触');
+      });
+    },
 
-      let dataList = this.yichangList
-        .map((item) => {
-          return item.sone.map((soneItem) => ({
-            tjh,
-            parentName: item.proName,
-            jcxm: soneItem.proName,
-            map: soneItem.advices,
-            jyjc: item.jyjc,
-            jcjg: soneItem.proResult,
-            ckfw: soneItem.stanId,
-            dw: soneItem.proAdvice,
-          }));
+    getRevoke(row) {
+      this.$confirm("纭鎾ら攢璇ユ姤鍛婂悧锛�", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          revoke(row.tjNumber).then((response) => {
+            if (response.code === 200) {
+              this.submitForm();
+              this.$message.success("鎾ら攢鎴愬姛");
+            } else {
+              this.$message.error("鎾ら攢澶辫触");
+            }
+          });
         })
-        .flat(); // 浣跨敤 flat() 鏂规硶灏嗗祵濂楁暟缁勫睍骞�
-
-      getTjdetailList(data)
-        .then((response) => {
-          if (response.code === 200) {
-            this.$modal.msgSuccess("鎻愪氦鎴愬姛");
-
-            // 鍑嗗鐢熸垚鎶ュ憡鐨勮姹傛暟鎹�
-            let reportData = {
-              userId: this.userId,
-              tjNumber: tjNumber,
-              state: 1,
-              id: this.MsgId,
-            };
-
-            // 璋冪敤 addOrderPromise
-            console.log(dataList, 5555);
-
-            addOrder(dataList)
-              .then((res) => {
-                console.log(res, 999);
-                if (res.code == 200) {
-                  gettoPdf(tjNumber)
-                    .then((res) => {
-                      this.$modal.msgSuccess(
-                        "宸茬敓鎴愭姤鍛婏紒璇峰墠寰�鎶ュ憡鏍告敹椤甸潰纭锛�"
-                      );
-                    })
-                    .catch(() => {
-                      this.$modal.msgError(
-                        "鎵撳嵃鎶ュ憡澶辫触锛岃鍓嶅線鎶ュ憡鎵撳嵃椤甸潰琛ユ墦鎶ュ憡锛�"
-                      );
-                    });
-                  const statePromise = getfiedState(reportData).then(() => {
-                    this.drawer = false;
-                  });
-                  const updatePromises = this.changedate.map((item) => {
-                    this.proIds = item.parentId;
-                    let remarks = item.remark;
-                    let updateOrderRemarkVos = [
-                      {
-                        tjNumber,
-                        proId: this.proIds.toString(),
-                        remarks,
-                      },
-                    ];
-                    return getModified(updateOrderRemarkVos); // 杩斿洖 Promise
-                  });
-
-                  // 绛夊緟鎵�鏈夎姹傚畬鎴�
-                  Promise.all([statePromise, ...updatePromises])
-                    .then(() => {
-                      // 鎵�鏈夎姹傚畬鎴愶紝鍏抽棴 loading
-                      this.loading = false;
-                      // 鏇存柊鍒嗛〉淇℃伅
-                      this.queryParams.page = 1;
-                      this.queryParams.pageSize = 10;
-                      this.submitForm();
-                      this.$forceUpdate();
-                    })
-                    .catch((error) => {
-                      // 澶勭悊閿欒鎯呭喌
-                      this.loading = false;
-                      console.error("鍙戠敓閿欒:", error);
-                    });
-                }
-              })
-              .catch((error) => {
-                // 濡傛灉 addOrderPromise 澶辫触锛屽鐞嗛敊璇�
-                this.loading = false;
-                console.error("addOrderPromise 澶辫触:", error);
-              });
-          } else {
-            // 鎻愪氦澶辫触锛屽叧闂� loading
-            this.loading = false;
-          }
-        })
-        .catch((error) => {
-          // 鎻愪氦璇锋眰澶辫触锛屽叧闂� loading
-          this.loading = false;
-          console.error("鎻愪氦璇锋眰澶辫触:", error);
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堟挙閿�",
+          });
         });
     },
   },
diff --git a/src/views/doctor/inspectCheck/index.vue b/src/views/doctor/inspectCheck/index.vue
index 02ef381..97cb2d6 100644
--- a/src/views/doctor/inspectCheck/index.vue
+++ b/src/views/doctor/inspectCheck/index.vue
@@ -6,6 +6,7 @@
       size="small"
       :inline="true"
       label-width="68px"
+      @submit.native.prevent
     >
       <el-form-item label="浣撴鍙�" prop="reportDoctorCode">
         <el-input
@@ -54,19 +55,20 @@
       :data="exaLists"
       v-loading="loading"
       border
-      max-height="350"
-      @current-change="handleCurrentChange"
-      @selection-change="handleSelectionChange"
-      :row-class-name="tableRowClassName"
+      style="width: 100%"
+      height="350"
+      @selection-change="handleCurrentChange"
+      :header-cell-style="{ background: '#aad8df' }"
     >
+    <!--  @selection-change="handleSelectionChange"  :row-class-name="tableRowClassName" -->
       <el-table-column
         fixed
         type="selection"
         align="center"
         label="閫夋嫨"
         width="40"
-        :selectable="isSelectable"
       >
+      <!--    :selectable="isSelectable" -->
       </el-table-column>
 
       <el-table-column label="濮撳悕" align="center" prop="name" width="80px" />
@@ -96,6 +98,7 @@
         align="center"
         prop="examinationDate"
         width="150px"
+        :formatter="formatDate"
       />
 
       <el-table-column label="闂ㄨ瘖鍙�" align="center" prop="mzh" width="140px" />
@@ -202,6 +205,7 @@
   
   <script>
 import { getlisList, getJyTjList, asyncPacs } from "@/api/doctor/pacsCheck";
+import moment from "moment";
 
 export default {
   dicts: ["dict_tj_status"],
@@ -277,23 +281,42 @@
     });
   },
   methods: {
-   
-    handleDateChange(val){
+    handleDateChange(val) {
       if (val && val.length === 2) {
         this.queryParams.start = val[0]; // 璁剧疆寮�濮嬫椂闂�
-        this.queryParams.end = val[1];   // 璁剧疆缁撴潫鏃堕棿
+        this.queryParams.end = val[1]; // 璁剧疆缁撴潫鏃堕棿
       } else {
         this.queryParams.start = null;
         this.queryParams.end = null;
       }
-      console.log('Query Params:', this.queryParams);
-
+      console.log("Query Params:", this.queryParams);
     },
-    isSelectable(row) {
-      return !!row.mzh;
-    },
+    // isSelectable(row) {
+    //   return !!row.mzh;
+    // },
     tableRowClassName({ row }) {
       return !row.mzh ? "row-disabled" : "";
+    },
+
+    handleSelectionChange(val) {
+      console.log(val);
+      /*  if (val.length > 1) {
+        let del_row = val.shift();
+        this.$refs.tb.toggleRowSelection(del_row, false); //璁剧疆杩欎竴琛屽彇娑堥�変腑
+      }
+      console.log(val, 999); */
+
+      if (val.length > 0) {
+        // const selectedRow = val[0];
+        // console.log(val[0], 555);
+
+        this.selectedFirstTable = val;
+        console.log("褰撳墠閫変腑鐨勮鏁版嵁:", this.selectedFirstTable);
+        // this.fetchRightTableData(selectedRow);
+      } else {
+        this.selectedFirstTable = null;
+        this.checkList = [];
+      }
     },
 
     handleSelectionChange(val) {
@@ -325,6 +348,18 @@
         this.checkList = response.data;
         this.loading = false;
       });
+    },
+
+    formatDate(row) {
+      if (!row.examinationDate) return "";
+
+      // 浣跨敤 moment 瑙f瀽鎸囧畾鏍煎紡鐨勬棩鏈熷瓧绗︿覆
+      const date = moment(row.examinationDate, "MM DD YYYY hh:mmA");
+
+      if (!date.isValid()) return "鏃犳晥鏃ユ湡";
+
+      // 鏍煎紡鍖栦负鎵�闇�鏍煎紡
+      return date.format("YYYY-MM-DD HH:mm");
     },
 
     handleSelectionChangeSecond(selectedRows) {
@@ -417,7 +452,7 @@
           clearInterval(this.clearTimeSet);
           this.clearTimeSet = null;
           this.$modal.closeLoading();
-        })
+        });
     },
   },
 };
diff --git a/src/views/doctor/pacsCheck/index.vue b/src/views/doctor/pacsCheck/index.vue
index daf5306..ad6f476 100644
--- a/src/views/doctor/pacsCheck/index.vue
+++ b/src/views/doctor/pacsCheck/index.vue
@@ -6,6 +6,7 @@
       size="small"
       :inline="true"
       label-width="68px"
+      @submit.native.prevent
     >
       <el-form-item label="浣撴鍙�" prop="reportDoctorCode">
         <el-input
@@ -17,7 +18,7 @@
           style="width: 170px"
         />
       </el-form-item>
-     <!--  <el-form-item label="濮撳悕" prop="name">
+      <!--  <el-form-item label="濮撳悕" prop="name">
         <el-input
           v-model="queryParams.name"
           placeholder="璇疯緭鍏ュ鍚�"
@@ -130,6 +131,7 @@
         align="center"
         prop="examinationDate"
         width="150px"
+        :formatter="formatDate"
       />
 
       <el-table-column label="闂ㄨ瘖鍙�" align="center" prop="mzh" width="140px" />
@@ -329,17 +331,15 @@
     });
   },
   methods: {
-   
-    handleDateChange(val){
+    handleDateChange(val) {
       if (val && val.length === 2) {
         this.queryParams.start = val[0]; // 璁剧疆寮�濮嬫椂闂�
-        this.queryParams.end = val[1];   // 璁剧疆缁撴潫鏃堕棿
+        this.queryParams.end = val[1]; // 璁剧疆缁撴潫鏃堕棿
       } else {
         this.queryParams.start = null;
         this.queryParams.end = null;
       }
-      console.log('Query Params:', this.queryParams);
-
+      console.log("Query Params:", this.queryParams);
     },
     isSelectable(row) {
       return !!row.mzh;
@@ -445,6 +445,18 @@
         this.$modal.closeLoading();
       }, 300000);
     },
+    formatDate(row) {
+      if (!row.examinationDate) return "";
+
+      // 浣跨敤 moment 瑙f瀽鎸囧畾鏍煎紡鐨勬棩鏈熷瓧绗︿覆
+      const date = moment(row.examinationDate, "MM DD YYYY hh:mmA");
+
+      if (!date.isValid()) return "鏃犳晥鏃ユ湡";
+
+      // 鏍煎紡鍖栦负鎵�闇�鏍煎紡
+      return date.format("YYYY-MM-DD HH:mm");
+    },
+
     tongbu(row) {
       this.$modal.loading("姝e湪鍚屾锛岃绋嶅��...");
       this.setTime();
@@ -476,7 +488,7 @@
           this.clearTimeSet = null;
           this.$modal.closeLoading();
           // this.$modal.error("鎿嶄綔澶辫触锛岃绋嶅悗閲嶈瘯");
-        })
+        });
     },
   },
 };
diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue
index 04c2fe4..0ee06f4 100644
--- a/src/views/hosp/project/index.vue
+++ b/src/views/hosp/project/index.vue
@@ -9,8 +9,8 @@
         <div class="scrollable-container">
           <div class="content">
             <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
-              :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId"  
-              highlight-current @node-click="handleNodeClick" :render-content="renderContent" v-loading="loadings"/>
+              :filter-node-method="filterNode" ref="tree" node-key="id" :default-expanded-keys="treeId"
+              highlight-current @node-click="handleNodeClick" :render-content="renderContent" v-loading="loadings" />
           </div>
         </div>
       </el-col>
@@ -79,7 +79,7 @@
           </el-table-column>
           <el-table-column label="椤圭洰鏍囧噯鍊�" align="center" prop="proScope" :show-overflow-tooltip="true" width="90px">
           </el-table-column>
-          <el-table-column label="Lis椤圭洰鍚嶇О" align="center" prop="lisXmmc"  :show-overflow-tooltip="true" width="200px">
+          <el-table-column label="Lis椤圭洰鍚嶇О" align="center" prop="lisXmmc" :show-overflow-tooltip="true" width="200px">
           </el-table-column>
           <el-table-column label="Lis缂栫爜" align="center" prop="lisXmbm" :show-overflow-tooltip="true" width="90px">
           </el-table-column>
@@ -586,16 +586,25 @@
     });
   },
   methods: {
-    debounceFilter: debounce(function(val) {
+    debounceFilter: debounce(function (val) {
       this.$refs.tree.filter(val);
     }, 300),
     precomputePinyin() {
       const traverse = (nodes) => {
         nodes.forEach(node => {
           if (node.label) {
-            const lowerSpell = node.label.spell('low', 'array').join('');
-            const upperSpell = node.label.spell('up', 'array').join('');
-            this.pinyinCache.set(node.id, { lowerSpell, upperSpell, label: node.label });
+            const lowerSpell = cnchar.spell(node.label, 'low', 'array').join(''); // 瀹屾暣灏忓啓鎷奸煶
+            const upperSpell = cnchar.spell(node.label, 'up', 'array').join('');  // 瀹屾暣澶у啓鎷奸煶
+            const shortPinyin = node.label
+              .split('')
+              .map(char => cnchar.spell(char, 'array')[0]?.[0]?.toLowerCase() || char) // 鎷奸煶棣栧瓧姣�
+              .join('');
+            this.pinyinCache.set(node.id, {
+              lowerSpell,
+              upperSpell,
+              shortPinyin, // 缂撳瓨鎷奸煶绠�鍐�
+              label: node.label
+            });
           }
           if (node.children) traverse(node.children);
         });
@@ -603,13 +612,14 @@
       traverse(this.deptOptions);
     },
     filterNode(value, data) {
-      if (!value) return true;
+      if (!value) return true; // 濡傛灉鎼滅储鍊间负绌猴紝杩斿洖鎵�鏈夎妭鐐�
       const cached = this.pinyinCache.get(data.id);
-      if (!cached) return false;
+      if (!cached) return false; // 濡傛灉娌℃湁缂撳瓨鏁版嵁锛屼笉鏄剧ず璇ヨ妭鐐�
+      const searchLower = value.toLowerCase(); // 灏嗘悳绱㈣瘝杞负灏忓啓
       return (
-        cached.label.includes(value) ||
-        cached.lowerSpell.includes(value) ||
-        cached.upperSpell.includes(value)
+        cached.label.includes(value) ||           // 鐩存帴鍖归厤姹夊瓧
+        cached.shortPinyin.includes(searchLower) || // 鍖归厤鎷奸煶绠�鍐�
+        cached.lowerSpell.includes(searchLower)   // 鍖归厤瀹屾暣鎷奸煶
       );
     },
     filterNode2(value, data) {
@@ -690,24 +700,24 @@
             this.form.proParentId = row.proId || 0;
             this.open = true;
           } else if (this.treeDate.id) {
-           if(this.treeDate.qf == "0"){
-            this.form.proParentId = "0"
-            this.form.deptId=this.treeDate.id
-           }else{
-            this.form.proParentId = this.treeDate.id;
-            this.projectOptions.forEach((item) => {
-              item.children.forEach((item1) => {
-                if (this.form.proParentId == item1.proId) {
-                  this.form.deptId = item1.deptId;
-                }
+            if (this.treeDate.qf == "0") {
+              this.form.proParentId = "0"
+              this.form.deptId = this.treeDate.id
+            } else {
+              this.form.proParentId = this.treeDate.id;
+              this.projectOptions.forEach((item) => {
+                item.children.forEach((item1) => {
+                  if (this.form.proParentId == item1.proId) {
+                    this.form.deptId = item1.deptId;
+                  }
+                });
               });
-            });
-           }
-            
-           
+            }
+
+
             this.open = true;
           } else {
-             this.form.proParentId = "0"
+            this.form.proParentId = "0"
             this.open = true;
           }
         }
@@ -824,7 +834,7 @@
       });
     },
     handleNodeClick(date) {
-     
+
       this.treeDate = date;
       console.log(this.treeDate)
       this.xiugais = date.qf === "0";
@@ -1116,7 +1126,7 @@
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     handleExport() {
       this.download(
diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue
index de2fd1b..020d483 100644
--- a/src/views/system/package/index.vue
+++ b/src/views/system/package/index.vue
@@ -9,8 +9,7 @@
       </el-form-item>
       <el-form-item label="浣撴绫诲埆" prop="tjCategory">
         <el-select v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable>
-          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.id" :label="dict.label"
-            :value="dict.value"></el-option>  
+          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.id" :label="dict.label" :value="dict.value"></el-option>  
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -21,34 +20,25 @@
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
-          v-hasPermi="['system:package:add']">鏂板</el-button>
+        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:package:add']">鏂板</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUp"
-          v-hasPermi="['system:package:edit']">淇敼</el-button>
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUp" v-hasPermi="['system:package:edit']">淇敼</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
-          v-hasPermi="['system:package:remove']">鍒犻櫎</el-button>
+        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:package:remove']">鍒犻櫎</el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
-          v-hasPermi="['system:package:export']">瀵煎嚭</el-button>
+        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:package:export']">瀵煎嚭</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <!-- 
-    element-loading-background="rgba(0, 0, 0, 0.1)"
-    element-loading-spinner="el-icon-loading"
-        element-loading-text="姝e湪鍔犺浇涓�..." -->
     <template>
-      <el-table v-loading="loading" style="width: 100%" :data="packageList" @selection-change="handleSelectionChange"
-        border>
+      <el-table v-loading="loading" style="width: 100%" :data="packageList" @selection-change="handleSelectionChange" border>
+        <!-- 琛ㄦ牸鍒椾繚鎸佷笉鍙� -->
         <el-table-column fixed type="selection" width="40" align="center" :show-overflow-tooltip="true" />
         <el-table-column label="搴忓彿" align="center" width="50" prop="newID" fixed />
-        <!-- <el-table-column label="缂栧彿" align="center" prop="pacId" /> -->
         <el-table-column label="浣撴绫诲埆" width="100px" align="center" prop="categoryNames" fixed>
           <template slot-scope="scope">
             <dict-tag :options="dict.type.dict_tjtype" :value="scope.row.tjCategory" />
@@ -57,78 +47,38 @@
         <el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" width="150px" fixed />
         <el-table-column label="鍘熶环" width="80px" align="center" prop="price" fixed></el-table-column>
         <el-table-column label="鎶樻墸" width="80px" align="center" prop="limits" fixed></el-table-column>
-        <el-table-column label="鐜颁环" width="80px" align="center" prop="newPrice" fixed>
-        </el-table-column>
-        <el-table-column label="鍗曢」鍒楄〃" align="center" prop="allProName" width="1200px">
-        </el-table-column>
-        <!-- <el-table-column
-          label="椤圭洰鏄庣粏"
-          align="center"
-          prop="allSonName"
-          :show-overflow-tooltip="true"
-        > 
-        </el-table-column>-->
+        <el-table-column label="鐜颁环" width="80px" align="center" prop="newPrice" fixed></el-table-column>
+        <el-table-column label="鍗曢」鍒楄〃" align="center" prop="allProName" width="1200px"></el-table-column>
         <el-table-column label="濂楅鎻忚堪" align="center" :show-overflow-tooltip="true" width="120px">
           <template slot-scope="scope">
             <div class="showInline">{{ scope.row.pacRemark }}</div>
           </template>
         </el-table-column>
-        <!-- <el-table-column
-          label="鍥剧墖"
-          align="center"
-          prop="pacPhone"
-          width="100"
-          :show-overflow-tooltip="true"
-        >
-          <template slot-scope="scope">
-            <image-preview :src="scope.row.pacPhone" :width="50" :height="50" />
-          </template>
-        </el-table-column> -->
-
         <el-table-column label="鍏抽敭瀛�" width="110px" align="center" prop="keyNames"></el-table-column>
         <el-table-column label="鏄惁涓婃灦" width="94px" align="center" prop="isOnSale">
           <template slot-scope="scope">
             <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale" />
           </template>
         </el-table-column>
-        <!-- <el-table-column
-          label="璇︾粏浠嬬粛"
-          :show-overflow-tooltip="true"
-          width="100px"
-          align="center"
-          prop="detail"
-        ></el-table-column> -->
         <el-table-column label="鎺掑簭" width="50px" align="center" prop="sort"></el-table-column>
         <el-table-column label="灏忕▼搴忎环鏍�" width="90px" align="center" prop="retailPrice"></el-table-column>
-        <!-- <el-table-column
-          label="鍘熶环"
-          width="90px"
-          align="center"
-          prop="counterPrice"
-        ></el-table-column> -->
         <el-table-column label="宸插敭鏁伴噺" width="90px" align="center" prop="saleNum"></el-table-column>
         <el-table-column label="鐘舵��" align="center" prop="pacStatus" fixed="right" width="100px">
           <template slot-scope="scope">
-            <el-switch v-model="scope.row.pacStatus" active-value="0" inactive-value="1"
-              @change="handleStatusChange(scope.row)"></el-switch>
+            <el-switch v-model="scope.row.pacStatus" active-value="0" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
           </template>
         </el-table-column>
         <el-table-column label="鎿嶄綔" align="center" width="80px" fixed="right" class-name="small-padding fixed-width">
           <template slot-scope="scope">
-            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:package:edit']" title="淇敼"></el-button>
-            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
-              v-hasPermi="['system:package:remove']" title="鍒犻櫎"></el-button>
-            <!-- <el-button size="mini" type="text" icon="el-icon-circle-check" @click="handleSeach(scope.row)"
-              v-hasPermi="['system:package:Seach']" title="濂楅璇︽儏"></el-button> -->
+            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:package:edit']" title="淇敼"></el-button>
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:package:remove']" title="鍒犻櫎"></el-button>
           </template>
         </el-table-column>
       </el-table>
 
       <div class="pag">
         <div class="pag1">
-          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize" @pagination="getList" />
+          <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
         </div>
       </div>
     </template>
@@ -136,60 +86,26 @@
     <!-- 淇敼浣撴濂楅瀵硅瘽妗� -->
     <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
-        <!-- <div class="dialo">
-        <div class="dialo1"> -->
+        <!-- 琛ㄥ崟鍐呭淇濇寔涓嶅彉 -->
         <el-form-item label="濂楅鍚嶇О" prop="pacName">
-          <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handlePackage">
-            濂楅鍚嶇О
-          </span>
+          <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handlePackage">濂楅鍚嶇О</span>
           <el-input v-model="form.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" style="width: 150px" />
         </el-form-item>
         <el-form-item label="濂楅鐘舵��" prop="pacStatus">
-          <!-- <el-radio-group v-model="form.pacStatus">
-              <el-radio :label="0">鍚敤</el-radio>
-              <el-radio :label="1">鍋滅敤</el-radio>
-            </el-radio-group> -->
           <el-select v-model="form.pacStatus" placeholder="璇烽�夋嫨鐘舵��" style="width: 150px" filterable clearable>
-            <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
-              :value="dict.value"></el-option>
+            <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-
-        <!--  <el-form-item label="濂楅绫荤洰" prop="categoryId">
-          <el-select
-            v-model="form.categoryId"
-            placeholder="璇烽�夋嫨濂楅绫荤洰"
-            style="width: 150px"
-            @change="shangpin"
-            filterable
-            clearablez
-          >
-            <el-option
-              v-for="item in categoryList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
-          </el-select>
-        </el-form-item> -->
         <el-form-item label="浣撴绫诲埆" prop="tjCategory">
           <el-select v-model="form.tjCategory" placeholder="璇烽�夋嫨浣撴绫诲埆" style="width: 150px" filterable clearable>
-            <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
-              :value="dict.value"></el-option>
+            <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-
         <el-form-item label="鏄惁涓婃灦" prop="isOnSale">
-          <!-- <el-radio-group v-model="form.pacStatus">
-              <el-radio :label="0">鍚敤</el-radio>
-              <el-radio :label="1">鍋滅敤</el-radio>
-            </el-radio-group> -->
           <el-select v-model="form.isOnSale" placeholder="璇烽�夋嫨鏄惁涓婃灦" style="width: 140px" filterable clearable>
-            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
-              :value="dict.value"></el-option>
+            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
-
         <el-form-item label="鎺掑簭" prop="sort">
           <el-input v-model="form.sort" placeholder="璇疯緭鍏ユ帓搴�" style="width: 150px" />
         </el-form-item>
@@ -200,169 +116,79 @@
           <el-input v-model="pics" placeholder="璇疯緭鍏ュ師浠�" style="width: 150px" />
         </el-form-item>
         <el-form-item label="鎶樻墸">
-          <el-input-number style="width: 150px" v-model="youhui" :precision="2" :step="0.1" :max="10" :min="0.1"
-          @change="debounceNumberChange" :debounce="3000"></el-input-number>
+          <el-input-number style="width: 150px" v-model="youhui" :precision="2" :step="0.1" :max="10" :min="0.1" @change="debounceNumberChange" :debounce="3000"></el-input-number>
         </el-form-item>
-
         <el-form-item label="鐜颁环" prop="xianprice">
-          <el-input v-model="form.xianprice" placeholder="鐜颁环" clearable style="width: 140px" @input="changeXianjia"
-            @blur="numberChangeXianPrice(youhui, youhui)" type="number" :debounce="3000" min="0"/>
+          <el-input v-model="form.xianprice" placeholder="鐜颁环" clearable style="width: 140px" @input="changeXianjia" @blur="numberChangeXianPrice(youhui, youhui)" type="number" :debounce="3000" min="0"/>
         </el-form-item>
         <el-form-item label="鍏抽敭瀛�" prop="keywords">
-          <el-select multiple v-model="form.keywords" placeholder="璇烽�夋嫨鍏抽敭瀛�" style="width: 160px" @change="sel" filterable
-            clearable>
+          <el-select multiple v-model="form.keywords" placeholder="璇烽�夋嫨鍏抽敭瀛�" style="width: 160px" @change="sel" filterable clearable>
             <el-option v-for="item in keywordList" :key="item.id" :label="item.keyword" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
-
         <div v-if="!isCollapsed" style="display: flex">
           <div>
             <el-form-item label="濂楅鎻忚堪" prop="pacRemark">
-              <el-input type="textarea" v-model="form.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" style="width: 670px"
-                rows="2"></el-input>
+              <el-input type="textarea" v-model="form.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" style="width: 670px" rows="2"></el-input>
             </el-form-item>
             <el-form-item label="璇︾粏浠嬬粛" prop="detail">
-              <!-- <el-input
-            v-model="form.detail"
-            placeholder="璇疯緭鍏ヨ缁嗕粙缁�"
-            style="width: 200px"
-          /> -->
               <editor v-model="form.detail" :min-height="192" style="width: 670px" />
             </el-form-item>
           </div>
-          <!-- </div> -->
           <div class="dialo2">
             <el-form-item label="鍥剧墖">
               <image-upload v-model="form.pacPhone" />
             </el-form-item>
           </div>
-          <!-- </div> -->
         </div>
       </el-form>
-      <el-button type="primary" plain size="mini" @click="toggleCollapse">{{
-        isCollapsed ? "灞曞紑" : "鏀惰捣"
-      }}</el-button>
-      <!-- <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">鏂板鍗曢」</el-button>
-      <el-table v-loading="loading" :data="form.tjProjectList" @selection-change="handleSelectionChange" border
-        max-height="275" style="margin: 10px 0">
-        <el-table-column label="搴忓彿" align="center" type="index" />
-        <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="180px">
-          <template slot-scope="scope">
-            <el-select filterable v-model="scope.row.proName" placeholder="璇烽�夋嫨椤圭洰鍚嶇О" @change="getSelectValue">
-              <el-option v-for="(item, index) in allList" :key="index" :label="item.proName" :value="item.proName">
-              </el-option>
-            </el-select>
-          </template>
-        </el-table-column>
-        <el-table-column label="椤圭洰鏄庣粏" align="center" prop="allSonProName" width="400px" :show-overflow-tooltip="true">
-        </el-table-column>
-        <el-table-column label="鍘熶环(鍏�)" align="center" prop="proPrice" width="80px" />
-        <el-table-column label="鐜颁环(鍏�)" align="center" prop="priceNow" width="80px">
-          <template slot-scope="scope">
-            <el-input v-model="scope.row.priceNow" autocomplete="off" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <el-button size="mini" type="text" icon="el-icon-circle-plus-outline" @click="addmembers(scope.row)"
-              v-hasPermi="['system:package:edit']" title="鏂板琛�"></el-button>
-            <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)"
-              v-hasPermi="['hosp:consumables:remove']" title="鍒犻櫎"></el-button>
-          </template>
-        </el-table-column>
-      </el-table> -->
+      <el-button type="primary" plain size="mini" @click="toggleCollapse">{{ isCollapsed ? "灞曞紑" : "鏀惰捣" }}</el-button>
 
       <el-row style="display: flex; width: 1300px">
         <el-col>
-          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">
-            椤圭洰鍒楄〃
-          </div>
-          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" @input="handleFilterInput" v-model="queryParams1.nr" clearable />
+          <div style="text-align: center; margin-bottom: 10px; margin-top: 10px">椤圭洰鍒楄〃</div>
+          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" @input="debounceFilter" clearable />
           <div class="tab3" style="height: 365px">
-            <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox
-              node-key="proId" @check-change="handleCurrentChecked" :default-checked-keys="checkedkey"
-              :filter-node-method="filterNode" ref="tree" :render-content="renderContent">
-            </el-tree>
-            <pagination small v-show="total1 > 0" :total="total1" :page.sync="queryParams1.page"
-              :limit.sync="queryParams1.pageSize" @pagination="getDataList" />
-          </div>
-        </el-col>
-        <!--  <el-col :span="6">
-          <div
-            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
-          >
-            鏄庣粏椤圭洰鍒楄〃
-          </div>
-          <div class="tab3">
             <el-tree
               class="filter-tree"
               v-loading="loading"
-              :data="TreedataList"
-              node-key="proId"
+              :data="filteredTreeData"
               :props="defaultProps"
-              :filter-node-method="filterNode"
               show-checkbox
-              @check-change="handleCurrentChecked1"
-              :default-checked-keys="checkedListkey"
-              ref="trees"
+              node-key="proId"
+              @check-change="handleCurrentChecked"
+              :default-checked-keys="checkedkey"
+              ref="tree"
               :render-content="renderContent"
             >
             </el-tree>
+            <pagination 
+              small 
+              v-show="total1 > 0" 
+              :total="total1" 
+              :page.sync="queryParams1.page"
+              :limit.sync="queryParams1.pageSize" 
+              @pagination="getDataList" 
+            />
           </div>
-        </el-col> -->
+        </el-col>
         <el-col>
           <div class="grid-content bg-purple">
-            <div style="
-                text-align: center;
-                margin-bottom: 10px;
-                margin-top: 10px;
-                margin-left: 8%;
-              ">
-              宸查�夐」鐩垪琛�
-            </div>
-            <el-table :data="DataList" border style="width: 90%; margin-left: 20px" height="400"
-              :span-method="objectSpanMethod">
-              <el-table-column prop="proName" label="妫�鏌ラ」鐩�">
-              </el-table-column>
-
-              <el-table-column prop="priceOrd" label="鍘熶环" align="center" width="80px">
-              </el-table-column>
+            <div style="text-align: center; margin-bottom: 10px; margin-top: 10px; margin-left: 8%;">宸查�夐」鐩垪琛�</div>
+            <el-table :data="DataList" border style="width: 90%; margin-left: 20px" height="400" :span-method="objectSpanMethod">
+              <el-table-column prop="proName" label="妫�鏌ラ」鐩�"></el-table-column>
+              <el-table-column prop="priceOrd" label="鍘熶环" align="center" width="80px"></el-table-column>
               <el-table-column label="鎶樻墸" width="100px">
                 <template slot-scope="scope">
-                  <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 -->
-                  <el-input v-model.number="scope.row.limits" @input="calculateDiscount(scope.row)" placeholder="杈撳叆鎶樻墸"
-                    size="small" type="number" min="0" step="0.1" max="10">
-                  </el-input>
+                  <el-input v-model.number="scope.row.limits" @input="calculateDiscount(scope.row)" placeholder="杈撳叆鎶樻墸" size="small" type="number" min="0" step="0.1" max="10"></el-input>
                 </template>
               </el-table-column>
-              <el-table-column prop="priceNow" label="鐜颁环" width="80px" align="center">
-              </el-table-column>
+              <el-table-column prop="priceNow" label="鐜颁环" width="80px" align="center"></el-table-column>
               <el-table-column label="鎿嶄綔" align="center" width="80px">
                 <template slot-scope="scope">
-                  <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete1(scope.row)" title="鍒犻櫎">
-                  </el-button>
+                  <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete1(scope.row)" title="鍒犻櫎"></el-button>
                 </template>
               </el-table-column>
-              <!-- <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
-              </el-table-column> -->
-
-              <!-- <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                fixed="right"
-                class-name="small-padding fixed-width"
-                width="50px"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="mini"
-                    type="text"
-                    icon="el-icon-delete"
-                    @click="handleDeletes(scope.row)"
-                    title="鍒犻櫎"
-                  ></el-button>
-                </template> 
-              </el-table-column>-->
             </el-table>
             <h4 style="font-weight: 600;padding-left:20px">涓�鍏遍�変腑{{DataList.length}}椤癸紝鍚堣锛歿{ form.xianprice }}鍏�</h4>
           </div>
@@ -375,22 +201,6 @@
       </div>
     </el-dialog>
 
-    <!-- 濂楅璇︽儏 -->
-    <!-- <el-dialog :title="title" :visible.sync="Seachopen" width="500px" append-to-body>
-      <template>
-        <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">鍏ㄩ��</el-checkbox>
-        <div style="margin: 15px 0px; width: 60px"></div>
-        <el-checkbox-group v-model="newproName" @change="handleCheckedCitiesChange">
-          <el-checkbox style="margin: 15px 0px; width: 180px" v-for="item in allList" :label="item.proName"
-            :key="item.proId">{{ item.proName }}</el-checkbox>
-        </el-checkbox-group>
-
-        <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="submitcheckbox">纭� 瀹�</el-button>
-          <el-button @click="cancel">鍙� 娑�</el-button>
-        </div>
-      </template>
-    </el-dialog> -->
     <Packages ref="aaa" @add="handleChanges" />
   </div>
 </template>
@@ -425,7 +235,10 @@
   data() {
     return {
       pics: 0,
-      filterText: "",
+      filterText: '',
+      filteredTreeData: [],
+      debounceTimer: null,
+      originalTreeData: [],
       DataList: [],
       list1: true,
       activeName: "1",
@@ -486,10 +299,15 @@
       },
       forms: {},
       youhui: 10,
-      debounceTimer: null,
       rules: {},
-      initializing: true, // 鍒濆鍖栨爣蹇�
+      initializing: true,
     };
+  },
+  watch: {
+    Treedata(newVal) {
+      this.originalTreeData = JSON.parse(JSON.stringify(newVal));
+      this.filteredTreeData = this.originalTreeData;
+    }
   },
   created() {
     this.getList();
@@ -497,11 +315,37 @@
     this.getCategory();
   },
   methods: {
+    debounceFilter() {
+      clearTimeout(this.debounceTimer);
+      this.debounceTimer = setTimeout(() => {
+        this.filterTree();
+      }, 600);
+    },
+    filterTree() {
+      if (!this.filterText) {
+        this.filteredTreeData = this.originalTreeData;
+        return;
+      }
+      const filterTextLower = this.filterText.toLowerCase();
+      this.filteredTreeData = this.filterNodes(this.originalTreeData, filterTextLower);
+    },
+    filterNodes(nodes, filterText) {
+      return nodes.filter(node => {
+        const matches = node.proName.toLowerCase().includes(filterText) || 
+                       (node.proEngName && node.proEngName.toLowerCase().includes(filterText));
+        if (matches) return true;
+        if (node.children && node.children.length) {
+          node.children = this.filterNodes(node.children, filterText);
+          return node.children.length > 0;
+        }
+        return false;
+      });
+    },
     debounceNumberChange(currentValue, oldValue) {
       clearTimeout(this.debounceTimer);
       this.debounceTimer = setTimeout(() => {
         this.numberChange(currentValue, oldValue);
-      }, 300);
+      }, 1000);
     },
     numberChange(currentValue, oldValue) {
       this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", {
@@ -547,10 +391,6 @@
     },
     toggleCollapse() {
       this.isCollapsed = !this.isCollapsed;
-    },
-    filterNode(value, data) {
-      if (!value) return true;
-      return data.proName.indexOf(value) !== -1 || data.proEngName.indexOf(value) !== -1;
     },
     getList() {
       this.loading = true;
@@ -607,7 +447,9 @@
         counterPrice: null,
         limits: 10,
       };
-      this.initializing = true; 
+      this.filterText = '';
+      this.filteredTreeData = this.originalTreeData;
+      this.initializing = true;
       this.resetForm("form");
     },
     handleQuery() {
@@ -648,6 +490,7 @@
       this.queryParams1.page = 1;
       this.checkedListkey = [];
       this.checkedNodes = [];
+      this.filterText = '';
       this.getDataList();
     },
     handleStatusChange(row) {
@@ -824,23 +667,20 @@
         this.Treedata = response.data.list;
         this.total1 = response.data.total;
         this.pics = this.DataList.reduce((total, item) => total + item.priceOrd, 0);
+        this.filteredTreeData = this.Treedata;
+        this.originalTreeData = JSON.parse(JSON.stringify(this.Treedata));
         this.$nextTick(() => {
           this.$refs.tree.setCheckedKeys(this.checkedNodes);
           this.initializing = false;
+          this.loading = false;
         });
-      });
-      this.loading = false;
-    },
-    handleFilterInput() {
-      this.queryParams1.page = 1;
-      this.getDataList();
-      this.$nextTick(() => {
-        this.$refs.tree.setCheckedKeys(this.checkedNodes);
+      }).catch(() => {
+        this.loading = false;
       });
     },
     handleCurrentChecked(data, checked, indeterminate) {
       if (this.initializing) {
-        return; // 鍒濆鍖栨椂涓嶅鐞�
+        return;
       }
       if (checked) {
         if (!this.DataList.some((item) => item.proId === data.proId)) {
@@ -999,6 +839,7 @@
   },
 };
 </script>
+
 <style>
 .el-tooltip__popper {
   max-width: 800px;
@@ -1034,13 +875,4 @@
   overflow-y: auto;
   border: 1px solid #d9d9d9;
 }
-
-/* .custom-tree-node {
-    flex: 1;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    font-size: 14px;
-    padding-right: 8px;
-  } */
 </style>
\ No newline at end of file

--
Gitblit v1.8.0