From ced3a8b5f49b6e7039be5415a705ae3575c102fb Mon Sep 17 00:00:00 2001
From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com>
Date: 星期三, 06 十二月 2023 15:50:29 +0800
Subject: [PATCH] qxtj

---
 src/views/doctor/check/index.vue |  324 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 220 insertions(+), 104 deletions(-)

diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue
index 40b6104..191b98f 100644
--- a/src/views/doctor/check/index.vue
+++ b/src/views/doctor/check/index.vue
@@ -185,6 +185,13 @@
       </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">
@@ -238,131 +245,150 @@
           </tr>
         </table>
       </div>
-      <div>
+      <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>
-        <div style="margin: 10px 10px;" >
+        <div style="margin: 10px 10px;">
           <el-button type="primary" size="mini" @click="historicalreport()">鍘嗗彶鎶ュ憡</el-button>
         </div>
       </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>
-      </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">
+      <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-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>
+            </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>
 
-          </template>
-        </el-table-column>
-      </el-table>
+              </template>
+            </el-table-column>
+          </el-table>
 
-      <div style="font-size: 14px; overflow-y: auto; height: 286px">
-        <table style="
+          <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"
+            <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-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button>
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="6" v-if="reportHistorydata.length >= 1">
+          <el-table v-loading="loading" :data="reportHistorydata" border style="margin-top: 46px;">
+            <el-table-column prop="createTime" label="妫�娴嬫椂闂�">
+            </el-table-column>
+            <el-table-column label="鎿嶄綔" align="center" width="130px">
+              <template slot-scope="scope">
+                <el-button type="primary" icon="el-icon-share" size="mini" @click="handlecan(scope.row)"
+                  title="鏌ョ湅"></el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-col>
+        <el-col :span="6" v-else>
+          <div>鏆傛棤鍘嗗彶鎶ュ憡</div>
+        </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">
@@ -411,10 +437,12 @@
 
 <script>
 import Public from "@/components/public";
+import { getPdf } from "@/api/hosp/order";
 import { getInfo } from "@/api/login";
 import {
   getProList,
   getSons,
+  AutoGetRule,
   getaddRemark,
   getParentList,
   getParentId,
@@ -442,11 +470,15 @@
       loading: false,
       open: false,
       foropen: false,
+      dialogVisible: false,
+      reportHistorydata: [],
+      url: "",
       cateringList: [],
       orderDetailId: "",
       textarea: "",
       title: "",
       formIn: {},
+      focusrow: {},
       hzlogList: [],
       // proDefault: "",
       // dataList: [],
@@ -472,6 +504,7 @@
       row: {},
       info: {},
       allList: [],
+      autorule: [],
       form: {
         createTime: new Date()
       },
@@ -622,6 +655,52 @@
 
     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();
     },
@@ -864,12 +943,41 @@
       this.Hzlog(this.tableAll.tjNumber)
     },
     historicalreport() {
+      this.loading = true
       let data = {
-        cusId:this.tableAll.cusId
+        cusId: this.tableAll.cusId
       }
-      reportHistory(data).then(res =>{
-
+      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 = {
@@ -1226,6 +1334,9 @@
           });
         });
     },
+    handleInConfirm(row) {
+      this.focusrow = row
+    },
 
     handleInputConfirm(row) {
       this.rows.push(row);
@@ -1320,6 +1431,11 @@
   margin-left: calc(100% - 10%);
 }
 
+.main {
+  height: 700px;
+  overflow: hidden;
+}
+
 .pag {
   width: 100%;
   display: flex;

--
Gitblit v1.8.0