From a2c6e0da9d51c37ceff8d0d7e1bb7f4f85f1deb5 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期三, 16 四月 2025 14:15:24 +0800
Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb

---
 src/views/system/biol/index.vue |  317 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 177 insertions(+), 140 deletions(-)

diff --git a/src/views/system/biol/index.vue b/src/views/system/biol/index.vue
index 7193bc7..af62fec 100644
--- a/src/views/system/biol/index.vue
+++ b/src/views/system/biol/index.vue
@@ -8,6 +8,22 @@
       v-show="showSearch"
       label-width="68px"
     >
+      <el-form-item label="鎵撳嵃" prop="dyzt">
+        <el-select
+          v-model="queryParams.dyzt"
+          placeholder="璇烽�夋嫨"
+          @change="handleDyztChange"
+          style="width: 100px"
+        >
+          <el-option
+            v-for="item in optionsOne"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="濮撳悕" prop="name">
         <el-input
           v-model="queryParams.name"
@@ -27,7 +43,31 @@
           @blur="hb"
         />
       </el-form-item>
-      <el-form-item label="鎶ュ憡鏃堕棿" prop="createTimeList">
+      <el-form-item
+        label="鍗曚綅鍚嶇О"
+        prop="tjCompName"
+        style="margin-left: 20px"
+      >
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="queryParams.tjCompName"
+          value-key="drugManufacturerId"
+          style="width: 180px"
+          remote
+          filterable
+          placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+          clearable
+          @change="searchSelect"
+        >
+          <el-option
+            v-for="dict in CompanyList"
+            :key="dict.drugManufacturerId"
+            :label="dict.cnName"
+            :value="dict"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鐧昏鏃堕棿" prop="createTimeList">
         <el-date-picker
           clearable
           v-model="createTimeList"
@@ -84,7 +124,7 @@
         <el-button
           type="primary"
           size="mini"
-          :disabled="multiple"
+          :disabled="single"
           @click="jiankangReport"
           >鍋ュ悍妫�鏌ヨ〃鎵撳嵃</el-button
         >
@@ -97,8 +137,19 @@
           type="primary"
           size="mini"
           :disabled="single"
+          :loading="isLoading"
           @click="baogaoyulan"
           >鎶ュ憡棰勮</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          :disabled="single"
+          :loading="isChexiao"
+          @click="chexiao"
+          >鎾ら攢鎶ュ憡</el-button
         >
       </el-col>
       <el-col :span="1.5">
@@ -121,7 +172,7 @@
     <template>
       <el-table
         border
-        style="margin: 14px; width: 99%"
+        style="margin: 14px; width: 77%"
         v-loading="loading"
         :default-sort="{ prop: 'reportTime', order: 'descending' }"
         :data="orderList"
@@ -183,9 +234,15 @@
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.dict_team"
+              :value="scope.row.tjType"
+            />
+          </template>
+          <!-- <template slot-scope="scope">
             <span v-if="scope.row.tjType == '1'">鍥㈤槦</span>
             <span v-if="scope.row.tjType == '2'">涓汉</span>
-          </template>
+          </template> -->
         </el-table-column>
         <el-table-column
           label="浣撴鍙�"
@@ -236,6 +293,7 @@
             <span>{{ parseTime(scope.row.reportTime) }}</span>
           </template>
         </el-table-column>
+
         <el-table-column
           label="鎵撳嵃鏃堕棿"
           align="center"
@@ -248,13 +306,13 @@
             <span>{{ parseTime(scope.row.printLastTime) }}</span>
           </template>
         </el-table-column>
-        <el-table-column
+        <!-- <el-table-column
           label="澶囨敞"
           align="center"
           prop="remark"
           height="10px"
           :show-overflow-tooltip="true"
-        />
+        /> -->
 
         <!-- <el-table-column fixed="right" label="鎿嶄綔" align="center" class-name="small-padding fixed-width" height="10px"
           width="60px">
@@ -472,10 +530,10 @@
     </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>
+      <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 @click="dialogVisiblese = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="timjiao">纭� 瀹�</el-button>
       </span>
     </el-dialog>
@@ -483,18 +541,18 @@
 </template>
 
 <script>
-import print from "print-js";
 import { getInfo } from "@/api/login";
 import { isPdfOrJimu } from "@/api/doctor/checkAll";
 import {
-  listOrder,
-  getNumber,
   getPdf,
+  getPdfpre,
   getprint,
   hasReport,
   hasPrintCode,
   getOrderListOO,
   getNewDateList,
+  getChexiao,
+  xiugaidayinzhuangtai,
 } from "@/api/hosp/order";
 import moment from "moment";
 import ViewPdf from "@/components/ViewPdf";
@@ -506,6 +564,7 @@
 } from "@/api/team/tuanti";
 import { chownSync } from "fs";
 export default {
+  dicts: ["dict_team"],
   components: {
     ViewPdf,
   },
@@ -514,6 +573,8 @@
     return {
       radios: "1",
       dialogVisiblese: false,
+      isLoading: false,
+      isChexiao: false,
       createTimeList: "",
       // printObj: {
       //   id: "box",             //鎵撳嵃鐨勫尯鍩�
@@ -541,6 +602,16 @@
       report: "",
       gation: {},
       drawer: false,
+      optionsOne: [
+        {
+          value: "1",
+          label: "宸叉墦鍗�",
+        },
+        {
+          value: "0",
+          label: "鏈墦鍗�",
+        },
+      ],
       options: [
         {
           value: "閫夐」1",
@@ -578,6 +649,7 @@
       discount: 100,
       DataList: [],
       DataList1: [],
+      CheckBox: {},
       // 鎵撳嵃澶辫触
       failList: [],
       // 鎵撳嵃鎴愬姛
@@ -616,6 +688,7 @@
       open: false,
       // 鏃ユ湡鑼冨洿
       datetimerange: [],
+      seleList: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -632,6 +705,10 @@
         djendTime: undefined,
         name: undefined,
         tjNum: undefined,
+        dyzt: "0",
+        compId: null,
+        dw: null,
+        tjCompName: "",
       },
       startTime: "",
       // 琛ㄥ崟鍙傛暟
@@ -675,8 +752,12 @@
   },
   created() {
     // this.getNowTime();
-
     this.Company();
+    // if (this.queryParams.dyzt === "0") {
+    //   this.createTimeList = [];
+    // } else {
+    //   this.getdate();
+    // }
     this.getdate();
   },
   mounted() {
@@ -686,6 +767,11 @@
   },
   methods: {
     getdate() {
+      if (this.queryParams.dyzt === "0") {
+        this.createTimeList = [];
+        this.getList();
+        return;
+      }
       getNewDateList().then((res) => {
         this.createTimeList = [
           moment(res.data).format("YYYY-MM-DD 00:00:00"),
@@ -739,13 +825,21 @@
       const viewNum = this.mobanId;
       const params = { viewNum, tjNum };
       this.$tab.openPage("鍋ュ悍璇佹鏌ヨ〃", "/report/jiankangzheng", params);
+      let tjNumber = this.report[0];
+      xiugaidayinzhuangtai(tjNumber).then((response) => {});
+      this.dialogVisiblese = false;
+      this.getList();
     },
     baogaoyulan() {
       const tjNumber = this.report[0];
+      this.isLoading = true;
+
       isPdfOrJimu(tjNumber).then((response) => {
         if (response.data.flag == "0") {
           const flag = true;
-          getPdf(tjNumber, flag).then((response) => {
+          this.isLoading = false;
+          let sfdy = this.queryParams.dyzt == 0 ? 1 : 0;
+          getPdfpre(tjNumber, flag, sfdy).then((response) => {
             if (response.size === 0) {
               const loading = this.$loading({
                 lock: true,
@@ -756,15 +850,12 @@
               setTimeout(() => {
                 loading.close();
               }, 3000);
-              // this.$message.msgSuccess("鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�");
               this.$message({
                 message: "鎶ュ憡姝e湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�",
                 type: "warning",
               });
             } else {
-              console.log(response);
               this.dialogVisible = true;
-
               this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
             }
           });
@@ -777,6 +868,22 @@
             params
           );
         }
+        this.isLoading = false;
+      });
+    },
+    // 鎾ら攢鎵撳嵃
+    chexiao() {
+      const tjNUms = this.seleList.map((item) => item.tjNumber);
+      this.isChexiao = true;
+      getChexiao(tjNUms).then((res) => {
+        console.log(res, 6666);
+        if (res.code === 200) {
+          this.$modal.msgSuccess("鎾ら攢鎴愬姛锛�");
+          this.getList();
+        } else {
+          this.$modal.msgError("鎾ら攢澶辫触锛�");
+        }
+        this.isChexiao = false;
       });
     },
     //鎵撳嵃灏忕エ
@@ -836,18 +943,6 @@
           contentType: "application/pdf",
         }).then((res) => {
           this.dialogVisible = true;
-          // 杞悗鍚庣殑blob瀵硅薄
-          console.log("blob", res.preview);
-          // var ifr = document.createElement("iframe");
-          // ifr.style.frameborder = "no";
-          // ifr.style.display = "none";
-          // ifr.style.pageBreakBefore = "always";
-          // ifr.setAttribute("id", "printPdf");
-          // ifr.setAttribute("name", "printPdf");
-          // ifr.src =res.preview
-          // document.body.appendChild(ifr);
-          // this.doPrint("printPdf");
-          // window.URL.revokeObjectURL( ifr.src);
           try {
             this.url = res.preview;
           } catch (error) {
@@ -856,117 +951,6 @@
         });
       });
     },
-
-    // 浣撴鎶ュ憡
-    // viewReport() {
-    //   const flag = true;
-    //   this.failList = [];
-    //   this.form.name = "鎶ュ憡鎵撳嵃澶辫触锛�";
-
-    //   if (this.report.length == 1) {
-    //     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) => {
-    //           if (item.tjNumber === this.tjNumber) {
-    //             this.userId = item.tjCustomerName;
-    //             this.form.name += item.tjCustomerName;
-    //           }
-    //         });
-    //         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
-    //         console.log(this.url)
-    //         this.DataList1.forEach((item) => {
-    //           if (item.tjNumber === this.tjNumber) {
-    //             this.userId = item.tjCustomerName;
-    //             // this.form.name += item.tjCustomerName
-    //           }
-    //         });
-    //         this.failList.push({
-    //           tjNumber: this.tjNumber,
-    //           printStatus: 1,
-    //           printBy: this.userId,
-    //           createBy: this.userIds,
-    //         });
-    //       }
-    //       this.joggle(this.failList);
-    //       this.getList();
-    //     });
-    //   } else {
-    //     for (let i = 0; i < this.report.length; i++) {
-    //       if (i <= this.report.length) {
-    //         this.tjNumber = this.report[i];
-    //         getPdf(this.tjNumber, flag).then((response) => {
-    //           if (response.size == 0) {
-    //             this.failList = [];
-    //             this.DataList1.forEach((item) => {
-    //               if (item.tjNumber === this.report[i]) {
-    //                 this.userId = item.tjCustomerName;
-    //                 if (this.form.name) {
-    //                   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.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�");
-    //             this.dialogVisible = false;
-    //           } else {
-    //             this.failList = [];
-    //             this.DataList1.forEach((item) => {
-    //               if (item.tjNumber === this.report[i]) {
-    //                 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.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 瀵硅薄
-    //           }
-    //         });
-    //       }
-    //     }
-    //   }
-    // },
 
     doPrint(val) {
       var ordonnance = document.getElementById(val).contentWindow;
@@ -1018,6 +1002,11 @@
         });
       });
     },
+    // 閫夋鏁版嵁
+    searchSelect(val) {
+      this.CheckBox = val;
+      console.log(this.CheckBox, 9999);
+    },
 
     // onSubmit() {
     //   console.log("submit!");
@@ -1027,6 +1016,13 @@
     },
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
+      console.log(this.CheckBox, 2323);
+
+      // this.queryParams.checkStatus = this.checkStatus;
+
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
+      this.queryParams.dw = this.CheckBox.cnName;
+
       if (this.createTimeList) {
         this.queryParams.djbeginTime = this.createTimeList[0];
         this.queryParams.djendTime = this.createTimeList[1];
@@ -1039,8 +1035,16 @@
       getInfo().then((response) => {
         this.userIds = response.user.userId;
       });
+      // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
+      getCompany(this.queryParams).then((response) => {
+        this.CompanyList = response.data;
+        console.log(this.CompanyList, 555);
+
+        this.loading = false;
+      });
       getOrderListOO(this.queryParams).then((response) => {
         this.orderList = response.data.list;
+
         // if (this.orderList) {
         //   this.orderList.forEach((item, index) => {
         //     item.newID =
@@ -1110,8 +1114,38 @@
       this.queryParams.pageNum = 1;
       this.getList();
     },
+    handleDyztChange(value) {
+      if (value === "0") {
+        // 纭涓�涓� "鏈墦鍗�" 鐨� value 鏄笉鏄� '0'
+        this.createTimeList = [];
+      } else {
+        // 宸叉墦鍗� -> 璁剧疆榛樿鐧昏鏃堕棿
+        this.getdate();
+      }
+      this.handleQuery();
+    },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        orderByColumn: "createTime",
+        isAsc: "desc",
+        tjType: undefined,
+        tjNumber: undefined,
+        firmId: undefined,
+        createTime: undefined,
+        finishTime: undefined,
+        reportTime: undefined,
+        djbeginTime: undefined,
+        djendTime: undefined,
+        name: undefined,
+        tjNum: undefined,
+        dyzt: "0",
+        compId: null,
+        dw: null,
+        tjCompName: "",
+      };
       this.createTimeList = [];
       this.resetForm("queryForm");
       this.handleQuery();
@@ -1119,6 +1153,9 @@
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.orderId);
+      this.seleList = selection;
+      console.log(this.seleList, 222333);
+
       this.DataList1 = this.$refs.multipleTable.selection;
       this.DataList1.forEach((item) => {
         this.barcode = item.tjNumber;

--
Gitblit v1.8.0