From 876f43e0fd34e084cc8a179a20afb51fe612eca3 Mon Sep 17 00:00:00 2001
From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com>
Date: 星期六, 09 十二月 2023 18:59:31 +0800
Subject: [PATCH] qxtj

---
 src/views/doctor/check/index.vue |  989 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 788 insertions(+), 201 deletions(-)

diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue
index 18c1cd1..216cb0c 100644
--- a/src/views/doctor/check/index.vue
+++ b/src/views/doctor/check/index.vue
@@ -13,18 +13,19 @@
         <el-button size="mini" @click="resetQuery">閲嶇疆</el-button>
       </el-form-item>
     </el-form>
-
-    <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px">
-      <el-radio-button label="0">鏈</el-radio-button>
-      <el-radio-button label="1">宸叉</el-radio-button>
-    </el-radio-group>
+    <div style="display: flex;">
+      <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px">
+        <el-radio-button label="0">鏈</el-radio-button>
+        <el-radio-button label="1">宸叉</el-radio-button>
+      </el-radio-group>
+    </div>
 
     <template>
-      <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%"
-        border="">
+      <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" border
+        :cell-class-name="myclass">
         <!-- <template slot="empty">鏁版嵁姝e湪鍔犺浇涓�</template> -->
-        <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="180px" />
-        <el-table-column label="濮撳悕" align="center" prop="cusName" width="100px" />
+        <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="160px" />
+        <el-table-column label="濮撳悕" align="center" prop="cusName" width="90px" />
         <el-table-column label="鎬у埆" align="center" prop="cusSex" width="60px">
           <template slot-scope="scope">
             <span v-if="scope.row.cusSex == '0'">鐢�</span>
@@ -33,27 +34,24 @@
             <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</span>
           </template>
         </el-table-column>
-        <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="cusBrithday" width="120px" />
-        <el-table-column label="鐢佃瘽" align="center" prop="cusPhone" width="120px" />
-        <!-- <el-table-column
-          label="鐘舵��"
-          align="center"
-          prop="tjStatus"
-          :show-overflow-tooltip="true"
-          width="80px"
-        >
-          <template slot-scope="scope">
-            <span>{{ scope.row.tjStatus == "1" ? "宸叉" : "鏈" }}</span>
-          </template>
-        </el-table-column> -->
-
+        <el-table-column label="鍑虹敓鏃ユ湡" align="center" prop="cusBrithday" width="100px" />
+        <el-table-column label="鐢佃瘽" align="center" prop="cusPhone" width="100px" />
         <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" width="80px" />
-        <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="160px" />
-        <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" width="120px" />
-        <el-table-column label="鏈椤�" prop="notCheckeds" :show-overflow-tooltip="true" />
-        <el-table-column label="鎿嶄綔" align="center" width="80px">
+        <el-table-column label="鐧昏鏃堕棿" align="center" prop="tjTime" width="160px">
+
+        </el-table-column>
+        <el-table-column label="浣撴鏃堕棿" align="center" prop="tjTime" width="100px">
           <template slot-scope="scope">
-            <el-button type="primary" size="mini" @click="handleClick(scope.row)">璇︽儏</el-button>
+            <span>{{ parseTime(scope.row.tjTime, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="鏈椤�" prop="notCheckeds" :show-overflow-tooltip="true" />
+        <el-table-column label="鎿嶄綔" align="center" width="130px">
+          <template slot-scope="scope">
+            <el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)"
+              title="浼氳瘖鐢宠" v-if="tjStatus == '1'"></el-button>
+            <el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)"
+              title="璇︽儏"></el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -65,6 +63,141 @@
         </div>
       </div>
     </template>
+
+    <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
+      <el-row>
+        <el-col :span="9" v-if="hzlogList.length >= 1">
+          <h3>浼氳瘖鐢宠璁板綍</h3>
+          <el-table :data="hzlogList" style="width: 100%" border>
+            <el-table-column label="鐢宠浜�" align="center" prop="hzDoctorName" width="100px" />
+            <el-table-column label="绉戝" align="center" prop="hzDeptName" />
+            <el-table-column label="鎿嶄綔" align="center" width="150px">
+              <template slot-scope="scope">
+                <el-button type="primary" size="mini" @click="hadleedit(scope.row)"
+                  v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId">淇敼</el-button>
+                <el-button type="primary" size="mini"
+                  v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId"
+                  @click="handledele(scope.row)">鍒犻櫎</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-col>
+        <el-col :span="14">
+          <h3 style="text-align: center;">浼氳瘖璁板綍鐢宠</h3>
+          <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+            <el-form-item label="濮撳悕" prop="cusName">
+              <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ鍚�" disabled />
+            </el-form-item>
+            <el-form-item label="浣撴鍙�" prop="tjNumber">
+              <el-input v-model="form.tjNumber" placeholder="璇疯緭鍏ヤ綋妫�鍙�" disabled />
+            </el-form-item>
+            <el-form-item label="浼氳瘖绉戝" prop="hzType">
+              <el-radio-group v-model="form.hzType">
+                <el-radio-button label="0">鍏ㄩ櫌浼氳瘖</el-radio-button>
+                <el-radio-button label="1">绉戝浼氳瘖</el-radio-button>
+              </el-radio-group>
+            </el-form-item>
+            <el-form-item label="閫夋嫨绉戝" v-if="form.hzType == '1'">
+              <el-select v-model="form.hzDeptId" multiple filterable style="width: 100%">
+                <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
+                  :value="item.deptId"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鐢宠浜�" prop="hzDoctorId">
+              <el-select v-model="form.hzDoctorId" placeholder="璇烽�夋嫨" style="width: 100%" filterable>
+                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <!-- <el-form-item label="鐢宠鏃堕棿" prop="createTime">
+              <el-date-picker v-model="form.createTime" type="datetime" placeholder="閫夋嫨鐢宠鏃堕棿">
+              </el-date-picker>
+            </el-form-item> -->
+          </el-form>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormapply">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+    <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body>
+      <el-row>
+        <el-col :span="8" v-if="hasdeptList.length >= 1">
+          <h3 style="text-align: center;">浼氳瘖鐢宠璁板綍</h3>
+          <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange">
+            <el-table-column type="selection" width="50" align="center" />
+            <el-table-column label="鐢宠浜�" align="center" prop="hzDoctorName" width="100px" />
+            <el-table-column label="绉戝" align="center" prop="hzDeptName" width="260px" />
+          </el-table>
+        </el-col>
+        <el-col :span="16" style="padding: 0 10px;">
+          <h3 style="text-align: center;">浼氳瘖鎰忚</h3>
+          <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;">
+            <div v-for="(item, index) in hzReplyLogsList" :key="index"
+              style="padding-bottom:5px;border-bottom: 1px solid black;">
+              <!-- <div>浼氳瘖绉戝锛歿{ item.replyDeptName }}</div> -->
+              <div> 鍖荤敓锛歿{ item.hzDoctorName }} </div>
+              <div>鍥炲锛歿{ item.replyContent }}</div>
+            </div>
+          </div>
+          <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="textarea">
+          </el-input>
+          <div style="padding: 10px 10px;">
+            <el-button type="primary" @click="submitFormreply">鍥炲</el-button>
+          </div>
+        </el-col>
+      </el-row>
+      <!-- <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormapply">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div> -->
+    </el-dialog>
+
+    <el-dialog title="濉啓鏄惁閲嶅ぇ闃虫��" :visible.sync="checkval" width="800px" append-to-body>
+      <el-form ref="form" :model="formIn" label-width="100px">
+        <el-form-item label="濮撳悕">
+          <el-input v-model="formIn.cusName" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="浣撴鍙�">
+          <el-input v-model="formIn.tjNumber" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="鐖堕」鍚嶇О">
+          <el-input v-model="Parentcheck.proName" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="瀛愰」鍚嶇О">
+          <el-input v-model="formIn.proName" disabled></el-input>
+        </el-form-item>
+        <el-form-item label="閲嶅ぇ闃虫��">
+          <el-radio-group v-model="formIn.flag">
+            <el-radio label="1">鏄�</el-radio>
+            <el-radio label="0">鍚�</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="绛夌骇">
+          <el-select v-model="formIn.level" placeholder="璇烽�夋嫨" filterable style="width: 100%;">
+            <el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="澶囨敞">
+          <el-input type="textarea" v-model="formIn.remark"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitcheckval">纭� 瀹�</el-button>
+        <el-button @click="cancell">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+
+    <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false">
+      <div class="main">
+        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+      </div>
+    </el-dialog>
+
     <!-- 鐐瑰嚮鍙宠竟寮瑰嚭灞� -->
     <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
       <div style="font-size: 14px">
@@ -95,7 +228,7 @@
                 <span v-if="scope.row.cusSex == '9'">鏈鏄庢�у埆</span>
               </template>
             </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse;" align="right">
+            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
               鎬у埆锛�
             </td>
             <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
@@ -118,108 +251,138 @@
           </tr>
         </table>
       </div>
-
-      <template>
-        <div style="margin-left: 10px">
-          <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index"
-            @input="radioChange1(item.proId, item)">
-            <el-radio-button :label="item.proId">{{
-              item.proName
-            }}</el-radio-button>
-          </el-radio-group>
+      <div style="display: flex;">
+        <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1">
+          <el-button type="primary" size="mini" @click="Changeapply()">浼氳瘖鐢宠</el-button>
         </div>
-      </template>
-      <el-table v-loading="loading" :data="proParentList.sons" border height="460px" style="width: 96%; margin: 10px 10px">
-        <el-table-column prop="project.proName" label="妫�娴嬮」鐩�" width="150">
-          <!-- <template slot-scope="scope">
+        <div style="margin: 10px 10px;">
+          <el-button type="primary" size="mini" @click="historicalreport()">鍘嗗彶鎶ュ憡</el-button>
+        </div>
+      </div>
+
+      <el-row>
+        <el-col :span="18">
+          <template>
+            <div style="margin-left: 10px">
+              <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index"
+                @input="radioChange1(item.proId, item)">
+                <el-radio-button :label="item.proId">{{
+                  item.proName
+                }}</el-radio-button>
+              </el-radio-group>
+            </div>
+          </template>
+          <el-table v-loading="loading" :data="proParentList.sons" border height="460px"
+            style="width: 96%; margin: 10px 10px">
+            <el-table-column prop="project.proName" label="妫�娴嬮」鐩�" width="150">
+              <!-- <template slot-scope="scope">
             {{ scope.row.project.proName }}
           </template> -->
-        </el-table-column>
-        <el-table-column prop="proResult" label="妫�娴嬬粨鏋�" width="280">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�"
-              @blur="handleInputConfirm(scope.row)" @input="vale"></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column label="瑙勫垯" width="55">
-          <template slot-scope="scope">
-            <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
-          </template>
-        </el-table-column>
-        <el-table-column prop="project.proMetering" label="鍗曚綅">
-          <!-- <template slot-scope="scope">
+            </el-table-column>
+            <el-table-column prop="proResult" label="妫�娴嬬粨鏋�" width="280">
+              <template slot-scope="scope">
+                <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�"
+                  @blur="handleInputConfirm(scope.row)" @input="vale" @focus="handleInConfirm(scope.row)"></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column label="瑙勫垯" width="55">
+              <template slot-scope="scope">
+                <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
+              </template>
+            </el-table-column>
+            <el-table-column prop="project.proMetering" label="鍗曚綅">
+              <!-- <template slot-scope="scope">
             {{ scope.row.standard.company }}
           </template> -->
-        </el-table-column>
-        <el-table-column prop="project.proScope" label="鍙傝�冭寖鍥�">
-        </el-table-column>
-        <el-table-column prop="conclusion" label="缁撴灉缁撹" width="280">
-          <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�"
-              disabled></el-input>
-          </template>
-        </el-table-column>
-        <el-table-column prop="exceptionDesc" label="鏄惁寮傚父" width="80px" align="center">
-          <template slot-scope="scope">
-            <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
-          </template>
-        </el-table-column>
-        <el-table-column prop="isReturn" label="鏄惁澶嶈瘖" width="80px" align="center">
-          <template slot-scope="scope">
-            <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
-          </template>
-        </el-table-column>
-        <el-table-column prop="project.resultType" label="缁撴灉绫诲瀷">
-          <template slot-scope="scope">
-            <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
-          </template>
-        </el-table-column>
-      </el-table>
+            </el-table-column>
+            <el-table-column prop="project.proScope" label="鍙傝�冭寖鍥�">
+            </el-table-column>
+            <el-table-column prop="conclusion" label="缁撴灉缁撹" width="280">
+              <template slot-scope="scope">
+                <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�"
+                  disabled></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column prop="exceptionDesc" label="鏄惁寮傚父" width="80px" align="center">
+              <template slot-scope="scope">
+                <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
+              </template>
+            </el-table-column>
+            <el-table-column prop="isReturn" label="鏄惁澶嶈瘖" width="80px" align="center">
+              <template slot-scope="scope">
+                <el-checkbox v-model="scope.row.isReturn"></el-checkbox>
+              </template>
+            </el-table-column>
+            <el-table-column prop="project.resultType" label="缁撴灉绫诲瀷">
+              <template slot-scope="scope">
+                <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
+              </template>
+            </el-table-column>
+            <el-table-column prop="isPositive" label="閲嶅ぇ闃虫��">
+              <template slot-scope="scope">
+                <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
+                  @change="checkboxchange(scope.row)"></el-switch>
 
-      <div style="font-size: 14px; overflow-y: auto; height: 286px">
-        <table style="
+              </template>
+            </el-table-column>
+          </el-table>
+
+          <div style="font-size: 14px; overflow-y: auto; height: 286px">
+            <table style="
             width: 96%;
             margin: 4px 10px;
             border: 1px solid #dfe6ec;
             border-collapse: collapse;
           " cellspacing="4">
-          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              鐥呯閫夋嫨锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              <el-select v-model="value" multiple placeholder="璇烽�夋嫨" style="width: 100%;height:45px" v-if="deptAdviceList"
-                @change="sel" filterable>
-                <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id">
-                </el-option>
-              </el-select>
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              涓绘鍖诲笀锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              <el-select v-model="doctorName" placeholder="璇烽�夋嫨" style="width: 100%" v-if="deptAdviceList"
-                @change="selName" filterable>
-                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
-                </el-option>
-              </el-select>
-            </td>
-          </tr>
-          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
-              寤鸿锛�
-            </td>
-            <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
-              <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="proParentList.remark" rows="7">
-              </el-input>
-            </td>
-          </tr>
-        </table>
+              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                  鐥呯閫夋嫨锛�
+                </td>
+                <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                  <el-select v-model="value" multiple placeholder="璇烽�夋嫨" style="width: 100%; height: 45px"
+                    v-if="deptAdviceList" @change="sel" filterable>
+                    <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id">
+                    </el-option>
+                  </el-select>
+                </td>
+                <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                  涓绘鍖诲笀锛�
+                </td>
+                <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                  <el-select v-model="doctorName" placeholder="璇烽�夋嫨" style="width: 100%" v-if="deptAdviceList"
+                    @change="selName" filterable>
+                    <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
+                    </el-option>
+                  </el-select>
+                </td>
+              </tr>
+              <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
+                  寤鸿锛�
+                </td>
+                <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
+                  <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="proParentList.remark" rows="7">
+                  </el-input>
+                </td>
+              </tr>
+            </table>
 
-        <div slot="footer" class="dialog-footers">
-          <el-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button>
-        </div>
-      </div>
+            <div slot="footer" class="dialog-footers">
+              <!-- <el-button type="primary"
+          size="mini"
+          @click="radioChange"
+          v-hasPermi="['system:notice:add']"
+          v-show="tjStatus == '1'"
+        >浼氳瘖鐢宠</el-button> -->
+              <el-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button>
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="6">
+          <Historicalreport :reportHistorydata="reportHistorydata"></Historicalreport>
+        </el-col>
+      </el-row>
+
       <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);">
         <table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2"
           v-for="(item, index) in proParentList.sons" :key="index">
@@ -268,28 +431,54 @@
 
 <script>
 import Public from "@/components/public";
+import { getPdf } from "@/api/hosp/order";
+import { getInfo } from "@/api/login";
+import Historicalreport from "@/components/Historicalreport";
 import {
   getProList,
   getSons,
+  AutoGetRule,
   getaddRemark,
   getParentList,
   getParentId,
   getDeptAdvice,
+  reportHistory
 } from "@/api/doctor/check";
+import {
+  addBigPositive
+} from "@/api/doctor/bigPositive";
+import {
+  addReplylog, hzHasDept
+} from "@/api/hosp/replylog";
+import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog";
 import { listUser } from "@/api/system/user";
+import { getChildList } from "@/api/system/dept";
 export default {
-  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type"],
+  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
   name: "check",
-  components: { Public },
+  components: { Public, Historicalreport },
   data() {
     return {
       selected: false,
+      checkval: false,
       // 閬僵灞�
       loading: false,
+      open: false,
+      foropen: false,
+      dialogVisible: false,
+      reportHistorydata: [],
+      url: "",
+      cateringList: [],
       orderDetailId: "",
+      textarea: "",
+      title: "",
+      formIn: {},
+      focusrow: {},
+      hzlogList: [],
       // proDefault: "",
       // dataList: [],
       rows: [],
+      id: [],
       deptAdviceList: [],
       value: [],
       remark: "", //澶囨敞
@@ -300,12 +489,20 @@
       tjStatus: "0",
       // 鎶藉眽鎵撳紑鏂瑰紡
       drawer: false,
+      Parentcheck: {},
       // 鑾峰彇鎶藉眽鍒楄〃
       drawerList: [],
       // 鑾峰彇淇℃伅闆嗗悎
       tableList: [],
+      deptList: [],
       tableAll: {},
       row: {},
+      info: {},
+      allList: [],
+      autorule: [],
+      form: {
+        createTime: new Date()
+      },
       // 鍖荤敓
       doctorName: "",
       // 鐖堕」
@@ -318,17 +515,23 @@
       userList: null,
       // 鐖堕」鐩垪琛�
       Parent: [],
+      hzReplyLogsList: [],
+      hasdeptList: [],
       radio: "",
       nums: "",
       proParentList: [],
       tjNumber: "",
       // 鍏ㄩ儴灏忕粨
       DeptadviceAll: [],
+      project: {},
       // 灏忕粨
       summaryList: [],
       summaryAll: [],
       tjOrderDetailList: [],
       tjOrderDetail: [],
+      deptId: "",
+      userId: "",
+      nickName: "",
       date: new Date(new Date().getTime() + 8 * 3600 * 1000)
         .toJSON()
         .substr(0, 19)
@@ -341,6 +544,11 @@
         type: "",
         name: null,
       },
+      rules: {
+        hzType: [
+          { required: true, message: '璇烽�夋嫨绉戝', trigger: 'change' }
+        ]
+      }
     };
   },
 
@@ -376,18 +584,30 @@
           this.userList = response.rows;
         }
       );
+      getInfo().then((response) => {
+        this.info = response.user
+        this.deptId = response.user.deptId;
+        this.userId = response.user.userId;
+        this.nickName = response.user.nickName;
+      });
     },
     handleClose() {
       this.$tab.refreshPage();
     },
     // 鑾峰彇鍖荤敓
     selName(val) {
-      this.doctorName = val
+      this.doctorName = val;
       // this.userList.forEach(item =>{
       //   if(val === item.userId){
       //     this.doctorName = item.nickName
       //   }
       // })
+    },
+
+    myclass(row, column, rowIndex, columnIndex) {
+      if (row.row.isPositive == 1) {
+        return "setclass"
+      }
     },
     // 灏忕粨鑾峰彇澶囨敞
     sel(val) {
@@ -409,7 +629,7 @@
           });
         });
       } else {
-        this.proParentList.remark = ""
+        this.proParentList.remark = "";
         this.deptAdviceList.forEach((item) => {
           this.ids = item.id;
           val.forEach((item1) => {
@@ -430,25 +650,74 @@
 
     vale(datas) {
       this.proResult = datas;
+      var pattern3 = new RegExp("[0-9]+");
+      if (pattern3.test(this.proResult)) {
+        let data = {
+          proId: this.focusrow.proId,
+          cusId: this.tableAll.cusId,
+          keyNum: this.proResult
+        }
+        AutoGetRule(data).then(res => {
+          this.focusrow.conclusion = ""
+          if (res.data) {
+            this.autorule = res.data
+            this.focusrow.rulesList = this.autorule;
+            this.autorule.forEach(item => {
+              if (this.focusrow.conclusion) {
+                this.focusrow.conclusion += item.bingzhong;
+              } else {
+                this.focusrow.conclusion = item.bingzhong;
+              }
+            })
+          }
+
+        })
+      } else {
+        let data = {
+          proId: this.focusrow.proId,
+          cusId: this.tableAll.cusId,
+          keyWord: this.proResult
+        }
+        AutoGetRule(data).then(res => {
+          this.focusrow.conclusion = ""
+          if (res.data) {
+            this.autorule = res.data
+            this.focusrow.rulesList = this.autorule;
+            this.autorule.forEach(item => {
+              if (this.focusrow.conclusion) {
+                this.focusrow.conclusion += item.bingzhong;
+              } else {
+                this.focusrow.conclusion = item.bingzhong;
+              }
+            })
+          }
+
+        })
+      }
+
+
       // this.$refs.aaa.open = true;
       // this.$refs.aaa.getList();
     },
-   // 瑙勫垯
-   handleguize(row) {
-      this.row = row
+    // 瑙勫垯
+    handleguize(row) {
+      this.row = row;
       this.$refs.aaa.open = true;
       this.$refs.aaa.title = "璇婃柇缁撴灉缁撹";
       this.$refs.aaa.getList(this.row);
     },
 
     handleChanges(param1, param2) {
-      this.row.conclusion = param1
-      this.row.rulesList = param2
+      this.row.conclusion = param1;
+      this.row.rulesList = param2;
     },
 
     getList() {
+      this.loading = true;
+      this.queryParams.type = this.tjStatus;
       getProList(this.queryParams).then((response) => {
         if (response.data) {
+          this.loading = false;
           if (response.data.date) {
             this.tableList = response.data.date;
           } else {
@@ -464,8 +733,10 @@
     // 鍗曢�夋寜閽�
     radioChange(val) {
       this.queryParams.type = val;
+      this.loading = true;
       getProList(this.queryParams).then((response) => {
         if (response.data) {
+          this.loading = false;
           this.tableList = response.data.date;
           this.total = response.data.total;
         } else {
@@ -476,7 +747,7 @@
 
     // 鎼滅储
     submitForm() {
-      this.queryParams.pageNum = 1;
+      this.queryParams.page = 1;
       this.getList();
       // this.loading = true;
       // (this.queryParams = {
@@ -511,8 +782,254 @@
       this.submitForm();
     },
 
-   // 鐐瑰嚮璇︽儏
-   handleClick(row) {
+    Changeapplyfor(row) {
+      this.open = true;
+      this.form = row
+      this.form.hzDoctorId = this.info.userId;
+      getChildList().then(res => {
+        this.deptList = res.data;
+      })
+      this.Hzlog(this.form.tjNumber)
+    },
+
+    checkboxchange(val) {
+      this.project = val.project
+      this.formIn.tjNumber = this.tableAll.tjNumber
+      this.formIn.cusId = this.tableAll.cusId
+      this.formIn.cusName = this.tableAll.cusName
+      this.formIn.proId = this.project.proId
+      this.formIn.proName = this.project.proName
+      this.formIn.orderId = val.orderId
+      this.Parent.forEach(item => {
+        if (this.radio == item.proId) {
+          this.Parentcheck.proName = item.proName
+          this.formIn.proParentId = item.proId
+        }
+      })
+      if (val.isPositive == "1") {
+        this.checkval = true;
+      } else {
+        this.formIn.flag = "0"
+        addBigPositive(this.formIn).then(res => {
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          this.getParentIdsss()
+        })
+      }
+    },
+    submitcheckval() {
+      addBigPositive(this.formIn).then(res => {
+        this.$modal.msgSuccess("鏂板鎴愬姛");
+        this.getParentIdsss()
+        this.checkval = false;
+      })
+    },
+    cancell() {
+      this.checkval = false;
+    },
+
+    Hzlog(val) {
+      let data = {
+        tjNumber: val
+      }
+      listHzlog(data).then(response => {
+        this.hzlogList = response.rows;
+        this.hzlogList.forEach(item => {
+          item.hzDeptName = ""
+          if (item.hzType == "0") {
+            item.hzDeptName = "鍏ㄩ櫌浼氳瘖"
+          } else {
+            item.hzDeptIdList.forEach(item1 => {
+              this.deptList.forEach(item2 => {
+                if (item1 == item2.deptId) {
+                  item.hzDeptName += item2.deptName + ","
+                }
+              })
+            })
+          }
+        })
+      });
+    },
+    handledele(row) {
+      this.id = []
+      this.id.push(row.id)
+      delHzlog(this.id).then(res => {
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        this.Hzlog(this.form.tjNumber)
+      })
+    },
+
+    hadleedit(row) {
+      this.form.hzType = row.hzType
+      this.form.id = row.id
+    },
+
+    submitFormapply() {
+      console.log(this.form)
+      let data = {}
+      this.userList.forEach(item1 => {
+        if (this.form.hzDoctorId == item1.userId) {
+          this.form.hzDoctorName = item1.nickName
+        }
+      })
+      if (this.form.hzType != undefined) {
+        if (this.form.hzDeptId && this.form.id) {
+          // let hzDeptId = ""
+          // this.form.hzDeptId.forEach(item => {
+          //   hzDeptId += item + ','
+          // })
+          data = {
+            tjNumber: this.form.tjNumber,
+            userId: this.form.cusId,
+            userName: this.form.cusName,
+            hzDeptIdList: this.form.hzDeptId,
+            hzDoctorId: this.form.hzDoctorId,
+            hzType: this.form.hzType,
+            orderId: this.form.orderId,
+            hzDoctorName: this.form.hzDoctorName,
+            id: this.form.id
+          }
+        } else {
+          data = {
+            tjNumber: this.form.tjNumber,
+            userId: this.form.cusId,
+            userName: this.form.cusName,
+            hzDoctorId: this.form.hzDoctorId,
+            hzType: this.form.hzType,
+            orderId: this.form.orderId,
+            hzDoctorName: this.form.hzDoctorName
+          }
+        }
+        this.$refs["form"].validate((valid) => {
+          if (valid) {
+            if (this.form.id != null) {
+              updateHzlog(data).then(res => {
+                if (res.code == 200) {
+                  this.$modal.msgSuccess("淇敼鎴愬姛");
+                  this.form = {}
+                  this.Hzlog()
+                  this.radioChange(1)
+                }
+              })
+            } else {
+              addHzlog(data).then(res => {
+                if (res.code == 200) {
+                  this.$modal.msgSuccess("鐢宠鎴愬姛");
+                  this.form = {}
+                  this.Hzlog()
+                  this.radioChange(1)
+                }
+              })
+              this.open = false;
+            }
+          }
+        })
+      } else {
+        this.$modal.msgError("璇烽�夋嫨浼氳瘖绉戝");
+      }
+
+    },
+    cancel() {
+      this.open = false;
+      this.foropen = false;
+    },
+
+    Changeapply() {
+      this.foropen = true
+      this.Hzlog(this.tableAll.tjNumber)
+    },
+    historicalreport() {
+      this.loading = true
+      let data = {
+        cusId: this.tableAll.cusId
+      }
+      reportHistory(data).then(res => {
+        this.loading = false
+        if (res.data[0] != null) {
+          this.reportHistorydata = res.data
+        }
+      })
+    },
+
+    handlecan(row) {
+      this.dialogVisible = true
+      const tjNumber = row.tjNumber;
+      const flag = true;
+      getPdf(tjNumber, flag).then((response) => {
+        if (response.size === 0) {
+          const loading = this.$loading({
+            lock: true,
+            text: 'Loading',
+            spinner: 'el-icon-loading',
+            background: 'rgba(0, 0, 0, 0.7)'
+          });
+          setTimeout(() => {
+            loading.close();
+          }, 3000);
+          this.$message.msgSuccess("鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�");
+
+        } else {
+          this.dialogVisible = true;
+
+          this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+        }
+      });
+    },
+    submitFormreply() {
+      let data = {
+        hzId: this.allList[0].id,
+        orderId: this.allList[0].orderId,
+        tjNumber: this.allList[0].tjNumber,
+        userId: this.allList[0].userId,
+        userName: this.allList[0].userName,
+        replyContent: this.textarea,
+        hzDoctorId: this.allList[0].hzDoctorId,
+        hzDoctorName: this.allList[0].hzDoctorName,
+        hzType: this.allList[0].hzType,
+        replyDoctorName: this.nickName,
+        replyDeptId: this.deptId,
+        replyDoctorId: this.userId
+
+      }
+      addReplylog(data).then(res => {
+        this.$modal.msgSuccess("鍥炲鎴愬姛");
+        this.getDept(this.allList[0].tjNumber)
+      })
+    },
+
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      if (selection.length > 1) {
+        const newRows = selection.filter((it, index) => {
+          if (index == selection.length - 1) {
+            this.$refs.tab.toggleRowSelection(it, true);
+            return true;
+          } else {
+            this.$refs.tab.toggleRowSelection(it, false);
+            return false;
+          }
+        });
+        //   this.allList = []
+        //   if(newRows[0].hzReplyLogsList){
+        //     this.hzReplyLogsList = newRows[0].hzReplyLogsList  
+        //   }
+        //  console.log(this.hzReplyLogsList)
+        //   this.allList = newRows
+      } else {
+        this.allList = []
+        if (selection[0]) {
+          if (selection[0].hzReplyLogsList) {
+            this.hzReplyLogsList = selection[0].hzReplyLogsList
+          }
+        } else {
+          this.hzReplyLogsList = []
+        }
+        this.allList = selection
+      }
+    },
+
+    // 鐐瑰嚮璇︽儏
+    handleClick(row) {
+      this.getDept(row.tjNumber)
       this.loading = true;
       this.drawer = true;
       this.tableAll = row;
@@ -522,69 +1039,36 @@
       if (this.tableAll.cusSex === 1) {
         this.tableAll.cusSex = "濂�";
       }
-
       this.tjNumber = row.tjNumber;
       let num = 0;
       getParentList(this.tjNumber).then((response) => {
-        this.Parent = response.data;
-        this.Parent.forEach((item) => {
-          if (item.type === 1) {
-            item.proName += "    鉁�";
-          }
-          if (num === 0) {
-            this.nums = item.proId;
-            this.radio = item.proId;
-            this.proId = item.proId;
-            // this.radioChange1(item.proId, item);
-            let data = {
-              tjNumber: this.tjNumber,
-              proParentId: this.nums,
-            };
-            getParentId(data).then((response) => {
-              this.proParentList = response.data;
-              this.loading = false;
-              this.value = [];
-              if (this.proParentList.xiaoJie.length != 0) {
-                this.proParentList.xiaoJie.forEach((item2) => {
-                  this.value.push(item2.id);
-                });
-              }
-              this.proParentList.sons.forEach((item) => {
-                this.doctorName = item.doctorName;
+        if (response.data) {
+          this.loading = false;
+          this.Parent = response.data;
+          this.Parent.forEach((item) => {
+            if (item.type === 1) {
+              item.proName += "    鉁�";
+            }
+            if (num === 0) {
+              this.nums = item.proId;
+              this.radio = item.proId;
+              this.proId = item.proId;
+              // this.radioChange1(item.proId, item);
+              this.getParentIdsss()
 
-                if (item.isReturn == 1) {
-                  item.isReturn = true;
-                }
-                if (item.isReturn == 0) {
-                  item.isReturn = false;
-                }
-
-                if (item.exceptionDesc == "1") {
-                  item.exceptionDesc = true;
-                }
-                if (item.exceptionDesc == "0") {
-                  item.exceptionDesc = false;
-                }
+              getDeptAdvice(this.proId).then((response) => {
+                this.deptAdviceList = response.data;
               });
-              if (this.proParentList.xiaoJie.length != 0) {
-                this.Parent.forEach((item3) => {
-                  if (item3.proId === this.nums) {
-                    this.proParentList.remark = item.remark;
-                  }
-                });
-              } else {
-                this.proParentList.remark = "";
-              }
-            });
+            }
+            num = num + 1;
+          });
+        } else {
+          this.loading = false;
+          this.Parent = [];
+          this.$modal.msgError("璇ョ瀹や笅鏃犻」鐩紒");
+        }
 
-            getDeptAdvice(this.proId).then((response) => {
-              this.deptAdviceList = response.data;
-            });
-          }
-          num = num + 1;
-        });
       });
-
       getDeptAdvice().then((response) => {
         this.deptAdviceList = response.data;
       });
@@ -604,8 +1088,84 @@
       //   })
       // });
     },
+
+    getParentIdsss() {
+      let data = {
+        tjNumber: this.tjNumber,
+        proParentId: this.nums,
+      };
+      getParentId(data).then((response) => {
+        this.proParentList = response.data;
+        this.loading = false;
+        this.value = [];
+        if (this.proParentList.xiaoJieIds != null) {
+          if (this.proParentList.xiaoJieIds.length != 0) {
+            this.proParentList.xiaoJieIds.forEach((item2) => {
+              let item = Number(item2)
+              this.value.push(item);
+            });
+          }
+        }
+
+        this.proParentList.sons.forEach((item) => {
+          this.doctorName = item.doctorName;
+
+          if (item.isReturn == 1) {
+            item.isReturn = true;
+          }
+          if (item.isReturn == 0) {
+            item.isReturn = false;
+          }
+
+          if (item.exceptionDesc == "1") {
+            item.exceptionDesc = true;
+          }
+          if (item.exceptionDesc == "0") {
+            item.exceptionDesc = false;
+          }
+        });
+        if (this.proParentList.xiaoJie.length != 0) {
+          this.Parent.forEach((item3) => {
+            if (item3.proId === this.nums) {
+              this.proParentList.remark = item3.remark;
+            }
+          });
+        } else {
+          this.proParentList.remark = "";
+        }
+      });
+    },
+
+    getDept(val) {
+      let data = {
+        tjNumber: val,
+        deptId: this.deptId
+      }
+      hzHasDept(data).then(res => {
+        if (res.data) {
+          this.hasdeptList = res.data
+          this.hasdeptList.forEach(item => {
+            item.hzDeptName = ""
+            if (item.hzType == "0") {
+              item.hzDeptName = "鍏ㄩ櫌浼氳瘖"
+            } else {
+              item.hzDeptIdList.forEach(item1 => {
+                this.deptList.forEach(item2 => {
+                  if (item1 == item2.deptId) {
+                    item.hzDeptName += item2.deptName + ","
+                  }
+                })
+              })
+            }
+          })
+        }
+
+      })
+    },
+
     // 鎸夐挳鐐瑰嚮浜嬩欢
     radioChange1(proParentId, item) {
+      this.Parentcheck = item
       this.$confirm(
         "妫�娴嬪埌浣撴缁撴灉鏈彁浜わ紝鏄惁鍦ㄧ寮�璇ラ」鐩墠鎻愪氦淇敼锛�",
         "纭淇℃伅",
@@ -618,6 +1178,11 @@
         .then(() => {
           // 浣撴鍙�
           let tjNumber = this.tableAll.tjNumber;
+          this.userList.forEach((item) => {
+            if (this.doctorName == item.nickName) {
+              this.doctorName = item.userId;
+            }
+          });
           this.proParentList.sons.forEach((item) => {
             if (this.rows) {
               this.rows.forEach((item1) => {
@@ -642,7 +1207,7 @@
               isReturn: item.isReturn === true ? 1 : 0,
               exceptionDesc: item.exceptionDesc === true ? 1 : 0,
               conclusion: item.conclusion,
-              rulesList: item.rulesList
+              rulesList: item.rulesList,
             });
           });
 
@@ -670,10 +1235,13 @@
           getParentId(data).then((response) => {
             this.proParentList = response.data;
             this.value = [];
-            if (this.proParentList.xiaoJie.length != 0) {
-              this.proParentList.xiaoJie.forEach((item2) => {
-                this.value.push(item2.id);
-              });
+            if (this.proParentList.xiaoJieIds != null) {
+              if (this.proParentList.xiaoJieIds.length != 0) {
+                this.proParentList.xiaoJieIds.forEach((item2) => {
+                  let item = Number(item2)
+                  this.value.push(item);
+                });
+              }
             }
             this.proParentList.sons.forEach((item) => {
               this.doctorName = item.doctorName;
@@ -690,7 +1258,6 @@
               if (item.exceptionDesc == "0") {
                 item.exceptionDesc = false;
               }
-
             });
             if (this.proParentList.xiaoJie.length != 0) {
               this.Parent.forEach((item3) => {
@@ -722,10 +1289,13 @@
           getParentId(data).then((response) => {
             this.proParentList = response.data;
             this.value = [];
-            if (this.proParentList.xiaoJie.length != 0) {
-              this.proParentList.xiaoJie.forEach((item2) => {
-                this.value.push(item2.id);
-              });
+            if (this.proParentList.xiaoJieIds != null) {
+              if (this.proParentList.xiaoJieIds.length != 0) {
+                this.proParentList.xiaoJieIds.forEach((item2) => {
+                  let item = Number(item2)
+                  this.value.push(item);
+                });
+              }
             }
             this.proParentList.sons.forEach((item) => {
               this.doctorName = item.doctorName;
@@ -742,7 +1312,6 @@
               if (item.exceptionDesc == "0") {
                 item.exceptionDesc = false;
               }
-
             });
             if (this.proParentList.xiaoJie.length != 0) {
               this.Parent.forEach((item3) => {
@@ -760,7 +1329,9 @@
           });
         });
     },
-
+    handleInConfirm(row) {
+      this.focusrow = row
+    },
 
     handleInputConfirm(row) {
       this.rows.push(row);
@@ -769,6 +1340,11 @@
     determine() {
       // 浣撴鍙�
       let tjNumber = this.tableAll.tjNumber;
+      this.userList.forEach((item) => {
+        if (this.doctorName == item.nickName) {
+          this.doctorName = item.userId;
+        }
+      });
       this.proParentList.sons.forEach((item) => {
         if (this.rows) {
           this.rows.forEach((item1) => {
@@ -793,7 +1369,7 @@
           isReturn: item.isReturn === true ? 1 : 0,
           exceptionDesc: item.exceptionDesc === true ? 1 : 0,
           conclusion: item.conclusion,
-          rulesList: item.rulesList
+          rulesList: item.rulesList,
         });
       });
 
@@ -817,7 +1393,7 @@
   },
 };
 </script>
-<style scoped>
+<style >
 .el-table .cell {
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
@@ -828,6 +1404,12 @@
   padding-left: 10px;
   padding-right: 10px;
 }
+
+.setclass {
+  background-color: #f86b35;
+  color: black;
+}
+
 
 .blue-button {
   width: 10px;
@@ -844,6 +1426,11 @@
   margin-left: calc(100% - 10%);
 }
 
+.main {
+  height: 700px;
+  overflow: hidden;
+}
+
 .pag {
   width: 100%;
   display: flex;

--
Gitblit v1.8.0