From ac6766c11f8a2b8de903b58c13a8f206fa01dccd Mon Sep 17 00:00:00 2001
From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com>
Date: 星期五, 15 三月 2024 17:56:32 +0800
Subject: [PATCH] qxtj

---
 src/views/system/biol/index.vue |  316 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 202 insertions(+), 114 deletions(-)

diff --git a/src/views/system/biol/index.vue b/src/views/system/biol/index.vue
index 3d69df6..064403b 100644
--- a/src/views/system/biol/index.vue
+++ b/src/views/system/biol/index.vue
@@ -2,17 +2,18 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="濮撳悕" prop="name">
-        <el-input ref="inputName" v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" style="width:100px"
-          @keyup.enter.native="handleQuery" />
+        <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" style="width: 100px" @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="浣撴鍙�" prop="tjNum">
-        <el-input style="width:170px" v-model="queryParams.tjNum" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable
-          @keyup.enter.native="handleQuery" />
+        <el-input style="width: 170px" v-model="queryParams.tjNum" placeholder="璇疯緭鍏ヤ綋妫�鍙�" clearable
+          @keyup.enter.native="handleQuery" ref="inputName" @blur="hb" />
       </el-form-item>
-      <el-form-item label="鎶ュ憡鏃堕棿" prop="reportTimeList">
-        <el-date-picker clearable v-model="queryParams.reportTimeList" type="daterange" range-separator="-"
-          start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions" value-format="yyyy-MM-dd"
-          placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�" style="width: 240px">
+      <el-form-item label="鎶ュ憡鏃堕棿" prop="createTimeList">
+        <el-date-picker clearable v-model="createTimeList" type="daterange" range-separator="-"
+          start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions" :default-time="['00:00:00', '23:00:00']"
+              format="yyyy-MM-dd HH:mm:ss"
+              value-format="yyyy-MM-dd HH:mm:ss"
+          placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�"  @change="dateChangebirthday1">
         </el-date-picker>
       </el-form-item>
       <!-- <el-form-item label="鍗曚綅鍚嶇О" prop="firmId">
@@ -23,14 +24,13 @@
         </el-select>
       </el-form-item> -->
 
-
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8" style="margin-left: 10px;">
+    <el-row :gutter="10" class="mb8" style="margin-left: 10px">
       <!-- <el-col :span="1.5">
         <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
           v-hasPermi="['hosp:order:export']">瀵煎嚭</el-button>
@@ -39,10 +39,15 @@
         <el-button type="primary" size="mini" :disabled="multiple" @click="viewReport">鎵归噺浣撴鎶ュ憡鎵撳嵃</el-button>
       </el-col>
       <el-col :span="1.5">
+        <el-button type="primary" size="mini" :disabled="multiple" @click="jiankangReport">鍋ュ悍妫�鏌ヨ〃鎵撳嵃</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" size="mini" :disabled="single" @click="baogaoyulan">鎶ュ憡棰勮</el-button>
+      </el-col>
+      <el-col :span="1.5">
         <div id="main111">
-          <el-input  style="width: 920px;" v-model="form.name"></el-input>
+          <el-input style="width: 920px" v-model="form.name"></el-input>
         </div>
-        
       </el-col>
       <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
     </el-row>
@@ -69,6 +74,7 @@
           <template slot-scope="scope">
             <span v-if="scope.row.tjCustomerSex == '0'">鐢�</span>
             <span v-if="scope.row.tjCustomerSex == '1'">濂�</span>
+            <span v-if="scope.row.tjCustomerSex == '2'">鏈煡</span>
           </template>
         </el-table-column>
         <el-table-column label="骞撮緞" align="center" prop="tjCustomerAge" height="10px" width="60px"
@@ -87,7 +93,7 @@
           width="140px" />
         <el-table-column label="鐧昏浜�" align="center" prop="createBy" height="10px" :show-overflow-tooltip="true"
           width="100px" />
-        <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="155px" height="10px" 
+        <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="155px" height="10px"
           :show-overflow-tooltip="true">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.createTime) }}</span>
@@ -208,22 +214,19 @@
       </div>
     </el-dialog>
 
-
-
     <el-dialog title="瀵艰瘖鍗�" :visible.sync="daoZhenDan" :close-on-click-modal="false">
       <div class="main">
         <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
       </div>
     </el-dialog>
 
-
     <div style="
-                          position: absolute;
-                          bottom: 100px;
-                          left: 500px;
-                          width: 700px;
-                          display: none;
-                        ">
+        position: absolute;
+        bottom: 100px;
+        left: 500px;
+        width: 700px;
+        display: none;
+      ">
       <div id="printBill">
         <barcode :value="barcode" :height="40" :width="2" :margin="0">鏉″舰鐮佸姞杞藉け璐�</barcode>
         <div style="font-size: 13px; color: #000000" v-for="(item, index) in DataList1" :key="index">
@@ -255,12 +258,29 @@
         </div>
       </div>
     </div>
+    <el-dialog class="dia" title="PDF 棰勮" :visible.sync="dialogVisibles" :close-on-click-modal="false">
+      <div class="main">
+        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+      </div>
+    </el-dialog>
+    <!--:before-close="handleClose"  -->
+    <el-dialog title="鎻愮ず" :visible.sync="dialogVisiblese" width="30%" >
+      <el-radio v-model="radios" label="1">椋熷搧浠庝笟浜哄憳鍋ュ悍妫�鏌ヨ〃</el-radio>
+      <el-radio v-model="radios" label="2">鍏叡鍦烘墍浠庝笟浜哄憳妫�鏌ヨ〃</el-radio>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="timjiao">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import print from "print-js";
 import { getInfo } from "@/api/login";
+import {
+  isPdfOrJimu
+} from "@/api/doctor/checkAll";
 import {
   listOrder,
   getNumber,
@@ -269,7 +289,9 @@
   hasReport,
   hasPrintCode,
   getOrderListOO,
+  getNewDateList
 } from "@/api/hosp/order";
+import moment from "moment";
 import ViewPdf from "@/components/ViewPdf";
 import { SubmitCompany, getCompany, queryCompany } from "@/api/team/tuanti";
 import { chownSync } from "fs";
@@ -280,6 +302,8 @@
   name: "Order",
   data() {
     return {
+      radios: '1',
+      dialogVisiblese: false,
       createTimeList: "",
       // printObj: {
       //   id: "box",             //鎵撳嵃鐨勫尯鍩�
@@ -325,6 +349,8 @@
           label: "绌哄彿",
         },
       ],
+      url: "",
+      dialogVisibles: false,
       barcode: null,
       value: "",
       dialogVisible: false,
@@ -357,7 +383,7 @@
       dialogVisible: false,
       // 閬僵灞�
       loading: true,
-      tjNumber: "",
+      tjNum: "",
       // 閫変腑鏁扮粍
       ids: [],
       // 闈炲崟涓鐢�
@@ -395,7 +421,7 @@
         djbeginTime: undefined,
         djendTime: undefined,
         name: undefined,
-        tjNum:undefined,
+        tjNum: undefined,
       },
       startTime: "",
       // 琛ㄥ崟鍙傛暟
@@ -438,11 +464,26 @@
     };
   },
   created() {
-    this.getNowTime();
-    this.getList();
+    // this.getNowTime();
+    
     this.Company();
+    this.getdate();
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.$refs.inputName.focus();
+    });
   },
   methods: {
+    getdate() {
+      getNewDateList().then((res) => {
+        this.createTimeList= [
+          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();
@@ -488,6 +529,57 @@
     //   });
     // },
 
+    jiankangReport() {
+      this.dialogVisiblese = true;
+
+    },
+    timjiao() {
+      if (this.radios == "1") {
+        this.mobanId = "912502827716915200";
+      } else {
+        this.mobanId = "912519857543262208";
+      }
+      const tjNum = this.report;
+      const viewNum = this.mobanId;
+      const params = { viewNum, tjNum };
+      this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/jiankangzheng", params);
+    },
+    baogaoyulan() {
+      const tjNumber = this.report[0];
+      console.log(tjNumber)
+      isPdfOrJimu(tjNumber).then((response) => {
+        if (response.data.flag == "0") {
+          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湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�");
+              this.$message({
+                message: "鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�",
+                type: "warning",
+              });
+            } else {
+              this.dialogVisible = true;
+
+              this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
+            }
+          });
+        } else {
+          let url = response.data.url
+          const params = { url };
+          this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/zongjianjiankangzheng", params);
+        }
+      })
+
+    },
     //鎵撳嵃灏忕エ
     printHandle() {
       setTimeout(function () {
@@ -506,49 +598,47 @@
     // 浣撴鎶ュ憡
     viewReport() {
       const flag = true;
-      this.failList = []
-      this.form.name =  "鎶ュ憡鎵撳嵃澶辫触锛�"
-      
+      this.failList = [];
+      this.form.name = "鎶ュ憡鎵撳嵃澶辫触锛�";
+
       if (this.report.length == 1) {
-        this.report.forEach(item => {
+        this.report.forEach((item) => {
           this.tjNumber = item;
-        })
+        });
         getPdf(this.tjNumber, flag).then((response) => {
           if (response.size == 0) {
             // this.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�");
             this.dialogVisible = false;
-            this.DataList1.forEach(item => {
+            this.DataList1.forEach((item) => {
               if (item.tjNumber === this.tjNumber) {
-                this.userId = item.tjCustomerName
-                this.form.name += item.tjCustomerName
+                this.userId = item.tjCustomerName;
+                this.form.name += item.tjCustomerName;
               }
-            })
-            this.failList.push(
-              {
-                tjNumber: this.tjNumber,
-                printStatus: 0,
-                printBy: this.userId,
-                createBy: this.userIds
-              })
+            });
+            this.failList.push({
+              tjNumber: this.tjNumber,
+              printStatus: 0,
+              printBy: this.userId,
+              createBy: this.userIds,
+            });
           } else {
             this.dialogVisible = true;
             this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
-            this.DataList1.forEach(item => {
+            this.DataList1.forEach((item) => {
               if (item.tjNumber === this.tjNumber) {
-                this.userId = item.tjCustomerName
+                this.userId = item.tjCustomerName;
                 // this.form.name += item.tjCustomerName
               }
-            })
-            this.failList.push(
-              {
-                tjNumber: this.tjNumber,
-                printStatus: 1,
-                printBy: this.userId,
-                createBy: this.userIds
-              })
+            });
+            this.failList.push({
+              tjNumber: this.tjNumber,
+              printStatus: 1,
+              printBy: this.userId,
+              createBy: this.userIds,
+            });
           }
-          this.joggle(this.failList)
-          this.getList()
+          this.joggle(this.failList);
+          this.getList();
         });
       } else {
         for (let i = 0; i < this.report.length; i++) {
@@ -556,60 +646,57 @@
             this.tjNumber = this.report[i];
             getPdf(this.tjNumber, flag).then((response) => {
               if (response.size == 0) {
-                this.failList = []
-                this.DataList1.forEach(item => {
+                this.failList = [];
+                this.DataList1.forEach((item) => {
                   if (item.tjNumber === this.report[i]) {
-                    this.userId = item.tjCustomerName
+                    this.userId = item.tjCustomerName;
                     if (this.form.name) {
-                      this.form.name = this.form.name + "," + item.tjCustomerName
-                    } 
-
+                      this.form.name =
+                        this.form.name + "," + item.tjCustomerName;
+                    }
                   }
-                })
-                this.failList.push(
-                  {
-                    tjNumber: this.report[i],
-                    printStatus: 0,
-                    printBy: this.userId,
-                    createBy: this.userIds
-
-                  })
-                this.joggle(this.failList)
-                this.getList()
+                });
+                this.failList.push({
+                  tjNumber: this.report[i],
+                  printStatus: 0,
+                  printBy: this.userId,
+                  createBy: this.userIds,
+                });
+                this.joggle(this.failList);
+                this.getList();
                 // this.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�");
                 this.dialogVisible = false;
               } else {
-                this.failList = []
-                this.DataList1.forEach(item => {
+                this.failList = [];
+                this.DataList1.forEach((item) => {
                   if (item.tjNumber === this.report[i]) {
-                    this.userId = item.tjCustomerName
+                    this.userId = item.tjCustomerName;
                   }
-                })
-                this.failList.push(
-                  {
-                    tjNumber: this.report[i],
-                    printStatus: 1,
-                    printBy: this.userId,
-                    createBy: this.userIds
-                  })
-                this.joggle(this.failList)
-                this.getList()
+                });
+                this.failList.push({
+                  tjNumber: this.report[i],
+                  printStatus: 1,
+                  printBy: this.userId,
+                  createBy: this.userIds,
+                });
+                this.joggle(this.failList);
+                this.getList();
                 // this.dialogVisible = true;
                 // this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
                 const newBlob = [];
-                newBlob.push(response)
-                const blob = new Blob(newBlob, { type: 'application/pdf' })
-                var date = (new Date()).getTime()
-                var ifr = document.createElement('iframe')
-                ifr.style.frameborder = 'no'
-                ifr.style.display = 'none'
-                ifr.style.pageBreakBefore = 'always'
-                ifr.setAttribute('id', 'printPdf' + date)
-                ifr.setAttribute('name', 'printPdf' + date)
-                ifr.src = window.URL.createObjectURL(blob)
-                document.body.appendChild(ifr)
-                this.doPrint('printPdf' + date)
-                window.URL.revokeObjectURL(ifr.src) // 閲婃斁URL 瀵硅薄
+                newBlob.push(response);
+                const blob = new Blob(newBlob, { type: "application/pdf" });
+                var date = new Date().getTime();
+                var ifr = document.createElement("iframe");
+                ifr.style.frameborder = "no";
+                ifr.style.display = "none";
+                ifr.style.pageBreakBefore = "always";
+                ifr.setAttribute("id", "printPdf" + date);
+                ifr.setAttribute("name", "printPdf" + date);
+                ifr.src = window.URL.createObjectURL(blob);
+                document.body.appendChild(ifr);
+                this.doPrint("printPdf" + date);
+                window.URL.revokeObjectURL(ifr.src); // 閲婃斁URL 瀵硅薄
               }
             });
           }
@@ -618,16 +705,14 @@
     },
 
     doPrint(val) {
-      var ordonnance = document.getElementById(val).contentWindow
+      var ordonnance = document.getElementById(val).contentWindow;
       setTimeout(() => {
-        ordonnance.print()
-      }, 100)
+        ordonnance.print();
+      }, 100);
     },
 
-
     joggle(failList) {
-      getprint(failList).then((res) => {
-      });
+      getprint(failList).then((res) => { });
     },
 
     // 鏈�杩戜竴娆′綋妫�鎶ュ憡
@@ -678,11 +763,12 @@
     },
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
-      this.queryParams.djbeginTime = this.startTime[0];
-      this.queryParams.djendTime = this.startTime[1];
+      console.log(this.queryParams)
+      this.queryParams.djbeginTime = this.createTimeList[0];
+      this.queryParams.djendTime = this.createTimeList[1];
       this.loading = true;
       getInfo().then((response) => {
-        this.userIds = response.user.userId
+        this.userIds = response.user.userId;
       });
       getOrderListOO(this.queryParams).then((response) => {
         this.orderList = response.data.list;
@@ -724,6 +810,7 @@
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
+      
       this.form = {
         orderId: null,
         tjType: null,
@@ -745,6 +832,11 @@
       };
       this.resetForm("form");
     },
+    hb() {
+      if (this.queryParams.tjNum != undefined) {
+        this.handleQuery();
+      }
+    },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
@@ -752,6 +844,7 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
+      this.createTimeList =[]
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -771,13 +864,10 @@
       this.report = selection.map((item) => item.tjNumber);
     },
 
-
-
     investigation(row) {
       this.gation = row;
       this.drawer = true;
     },
-
 
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
@@ -809,13 +899,11 @@
 }
 
 #main111 .el-input__inner {
+  border: none !important;
 
-border: none !important;
+  box-shadow: none !important;
 
-box-shadow: none !important;
-
-padding: 0px; //鍓嶈竟杈硅窛鍘绘帀
-
+  padding: 0px; //鍓嶈竟杈硅窛鍘绘帀
 }
 
 #printIframe::-webkit-scrollbar {

--
Gitblit v1.8.0