From 00212ed8e808fc7b76c04389224e65f27f074fb2 Mon Sep 17 00:00:00 2001
From: su1124 <1583764726@qq.com>
Date: 星期五, 26 四月 2024 15:30:04 +0800
Subject: [PATCH] su

---
 src/views/system/bill/index.vue |  434 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 333 insertions(+), 101 deletions(-)

diff --git a/src/views/system/bill/index.vue b/src/views/system/bill/index.vue
index af374a5..0863b96 100644
--- a/src/views/system/bill/index.vue
+++ b/src/views/system/bill/index.vue
@@ -1,24 +1,65 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <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
+         ref="inputName"
+          style="width: 170px"
+          v-model="queryParams.tjNum"
+          placeholder="璇疯緭鍏ヤ綋妫�鍙�"
+          clearable
+          @keyup.enter.native="handleQuery"
+          @blur="hb"
+        />
       </el-form-item>
       <el-form-item label="鐧昏鏃堕棿" prop="createTimeList">
-        <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions"
-          style="width: 310px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :default-time="['00:00:00', '23:00:00']"
-          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
-        </el-date-picker> </el-form-item>
+        <el-date-picker
+          v-model="createTimeList"
+          type="datetimerange"
+          align="right"
+          :picker-options="pickerOptions"
+          style="width: 310px"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          :default-time="['00:00:00', '23:00:00']"
+          format="yyyy-MM-dd HH:mm"
+          value-format="yyyy-MM-dd HH:mm"
+          @change="dateChangebirthday1"
+        >
+        </el-date-picker>
+      </el-form-item>
       <el-form-item label="鍗曚綅鍚嶇О" prop="firmId">
-        <el-select :remote-method="getRemoteData" v-model="queryParams.firmId" value-key="drugManufacturerId" remote
-          filterable placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @change="searchSelect">
-          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName"
-            :value="dict.drugManufacturerId" />
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="queryParams.firmId"
+          value-key="drugManufacturerId"
+          remote
+          filterable
+          placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+          clearable
+          @change="searchSelect"
+        >
+          <el-option
+            v-for="dict in CompanyList"
+            :key="dict.drugManufacturerId"
+            :label="dict.cnName"
+            :value="dict.drugManufacturerId"
+          />
         </el-select>
       </el-form-item>
       <!-- <el-form-item label="鎶ュ憡鏃堕棿" prop="reportTimeList">
@@ -29,23 +70,51 @@
           </el-form-item> -->
 
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <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-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >閲嶇疆</el-button
+        >
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
-      <el-button type="primary" @click="handleReport" :disabled="single" size="mini"
-        v-hasPermi="['hosp:order:export']">瀵兼鍗�</el-button>
-      <el-button type="primary" size="mini" @click="Collection" :disabled="single">閲囪鍗�</el-button>
+    <el-row :gutter="10" class="mb8" style="margin-left:10px">
+      <el-col :span="1.5">
+        <el-button
+        type="primary"
+        @click="handleReport"
+        :disabled="single"
+        size="mini"
+        v-hasPermi="['hosp:order:export']"
+        >琛ユ墦瀵兼鍗�</el-button
+      >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+        type="primary"
+        size="mini"
+        @click="Collection"
+        :disabled="single"
+        >鏉$爜鐢熸垚</el-button
+      >
+      </el-col>
+      
       <!-- <el-button type="primary" size="mini" :disabled="multiple" @click="viewReport">浣撴鎶ュ憡</el-button>
       <el-button type="primary" size="mini" :disabled="multiple" @click="printHandle">鎵撳嵃灏忕エ</el-button> -->
       <!-- <el-col :span="1.5">
         <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
           v-hasPermi="['hosp:order:export']">瀵煎嚭</el-button>
       </el-col> -->
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
     <!-- <div style="display:none">
       <div id="print" style="width:300px;height:54px;border: 1px solid red;">
@@ -57,39 +126,114 @@
       娴嬭瘯
     </div> -->
 
-    <template>
-      <el-table border style="margin: 14px; width: 99%" v-loading="loading"
-        :default-sort="{ prop: 'createTime', order: 'descending' }" :data="orderList"
-        @selection-change="handleSelectionChange" ref="multipleTable">
-        <el-table-column type="selection" width="40px" align="center" height="10px" fixed="left" />
-        <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" fixed="left" height="10px" />
-        <el-table-column label="濮撳悕" align="center" prop="tjCustomerName" height="10px" width="90px"
-          :show-overflow-tooltip="true" />
-        <el-table-column label="鎬у埆" align="center" prop="tjCustomerSex" width="55px" height="10px"
-          :show-overflow-tooltip="true">
+    
+      <el-table
+        border
+        style="margin: 14px; width: 99%"
+        v-loading="loading"
+        :default-sort="{ prop: 'createTime', order: 'descending' }"
+        :data="orderList"
+        @selection-change="handleSelectionChange"
+        ref="multipleTable"
+      >
+        <el-table-column
+          type="selection"
+          width="40px"
+          align="center"
+          height="10px"
+          fixed="left"
+        />
+        <el-table-column
+          label="搴忓彿"
+          align="center"
+          prop="newID"
+          width="50px"
+          fixed="left"
+          height="10px"
+        />
+        <el-table-column
+          label="濮撳悕"
+          align="center"
+          prop="tjCustomerName"
+          height="10px"
+          width="90px"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鎬у埆"
+          align="center"
+          prop="tjCustomerSex"
+          width="55px"
+          height="10px"
+          :show-overflow-tooltip="true"
+        >
           <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"
-          :show-overflow-tooltip="true" />
-        <el-table-column label="鐢佃瘽" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true" height="10px"
-          width="110px" />
-        <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" height="10px" width="80px"
-          :show-overflow-tooltip="true">
+        <el-table-column
+          label="骞撮緞"
+          align="center"
+          prop="tjCustomerAge"
+          height="10px"
+          width="60px"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鐢佃瘽"
+          align="center"
+          prop="tjCustomerPhone"
+          :show-overflow-tooltip="true"
+          height="10px"
+          width="110px"
+        />
+        <el-table-column
+          label="浣撴绫诲瀷"
+          align="center"
+          prop="tjType"
+          height="10px"
+          width="80px"
+          :show-overflow-tooltip="true"
+        >
           <template slot-scope="scope">
             <span v-if="scope.row.tjType == '1'">涓汉</span>
             <span v-if="scope.row.tjType == '2'">鍥㈤槦</span>
           </template>
         </el-table-column>
-        <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" />
-        <el-table-column label="鎵�閫夊椁�" align="center" prop="pacName" height="10px" :show-overflow-tooltip="true"
-          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" sortable
-          :show-overflow-tooltip="true">
+        <el-table-column
+          label="浣撴鍙�"
+          align="center"
+          prop="tjNumber"
+          :show-overflow-tooltip="true"
+          width="160px"
+        />
+        <el-table-column
+          label="鎵�閫夊椁�"
+          align="center"
+          prop="pacName"
+          height="10px"
+          :show-overflow-tooltip="true"
+          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"
+          sortable
+          :show-overflow-tooltip="true"
+        >
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.createTime) }}</span>
           </template>
@@ -106,7 +250,13 @@
             <span>{{ parseTime(scope.row.reportTime) }}</span>
           </template>
         </el-table-column> -->
-        <el-table-column label="澶囨敞" align="center" prop="remark" height="10px" :show-overflow-tooltip="true" />
+        <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">
           <template slot-scope="scope">
@@ -115,19 +265,24 @@
           </template>
         </el-table-column> -->
       </el-table>
-    </template>
 
     <div class="pag">
       <div class="pag1">
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
-          @pagination="getList" />
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getList"
+        />
       </div>
     </div>
 
     <el-drawer title="鎴戞槸鏍囬" :visible.sync="drawer" :with-header="false">
       <div class="drawer1">
         <div class="drawer2">
-          <span>浣撴浜猴細{{ gation.tjCustomerName }}</span><br />
+          <span>浣撴浜猴細{{ gation.tjCustomerName }}</span
+          ><br />
           <span>鑱旂郴鐢佃瘽锛歿{ gation.tjCustomerPhone }}</span>
         </div>
         <span class="drawer6">鍩烘湰淇℃伅</span>
@@ -144,23 +299,46 @@
             <span>浣撴鍙凤細{{ gation.tjNumber }}</span>
             <span>鎶ュ憡鏃堕棿锛歿{ gation.createTime }}</span>
             <span>浣撴鏃堕棿锛歿{ gation.finishTime }}</span>
-            <el-button type="primary" plain size="mini" @click="viewReport1">鏈�杩戜竴娆′綋妫�鎶ュ憡</el-button>
+            <el-button type="primary" plain size="mini" @click="viewReport1"
+              >鏈�杩戜竴娆′綋妫�鎶ュ憡</el-button
+            >
           </div>
         </div>
         <span class="drawer6">璋冩煡闂嵎</span>
         <div>
-          <el-form ref="form" :model="form" label-width="80px" style="margin-top: 20px">
+          <el-form
+            ref="form"
+            :model="form"
+            label-width="80px"
+            style="margin-top: 20px"
+          >
             <el-form-item label="璋冩煡缁撴灉:">
               <el-select v-model="value" placeholder="璇烽�夋嫨璋冩煡缁撴灉">
-                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
                 </el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="琛�鍘�:" style="width: 300px" prop="pressure">
-              <el-input v-model="form.pressure" placeholder="璇疯緭鍏ヨ鍘�"></el-input>
+              <el-input
+                v-model="form.pressure"
+                placeholder="璇疯緭鍏ヨ鍘�"
+              ></el-input>
             </el-form-item>
-            <el-form-item label="浣庡帇:" placeholder="璇疯緭鍏ヤ綆鍘�" style="width: 300px" prop="lowPressure">
-              <el-input v-model="form.lowPressure" placeholder="璇疯緭鍏ヤ綆鍘�"></el-input>
+            <el-form-item
+              label="浣庡帇:"
+              placeholder="璇疯緭鍏ヤ綆鍘�"
+              style="width: 300px"
+              prop="lowPressure"
+            >
+              <el-input
+                v-model="form.lowPressure"
+                placeholder="璇疯緭鍏ヤ綆鍘�"
+              ></el-input>
             </el-form-item>
             <div style="margin-left: 20px">
               <el-form-item label="1.鏄惁鍚哥儫">
@@ -201,31 +379,54 @@
       </div>
     </el-drawer>
 
-
-    <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false">
+    <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>
+        <iframe
+          id="printIframe"
+          :src="url"
+          frameborder="0"
+          style="width: 100%; height: 100%"
+        ></iframe>
       </div>
     </el-dialog>
 
-
-
-    <el-dialog title="瀵艰瘖鍗�" :visible.sync="daoZhenDan" :close-on-click-modal="false">
+    <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>
+        <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;
-              ">
+    <div
+      style="
+        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">
+        <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"
+        >
           <div style="width: 48%; margin-top: 10px">
             濮撳悕锛歿{ item.tjCustomerName }}
           </div>
@@ -267,7 +468,9 @@
   hasReport,
   hasPrintCode,
   getOrderList,
+  getNewDateList
 } from "@/api/hosp/order";
+import moment from "moment";
 import ViewPdf from "@/components/ViewPdf";
 import { projectGetList, getOrder } from "@/api/system/tijian";
 import { SubmitCompany, getCompany, queryCompany } from "@/api/team/tuanti";
@@ -388,7 +591,7 @@
         djbeginTime: undefined,
         djendTime: undefined,
         name: undefined,
-        tjNum:undefined
+        tjNum: undefined,
       },
       startTime: "",
       // 琛ㄥ崟鍙傛暟
@@ -431,11 +634,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();
@@ -499,7 +717,7 @@
     // 浣撴鎶ュ憡
     viewReport() {
       const flag = true;
-      let dataList = []
+      let dataList = [];
       if (this.report.length === 1) {
         this.tjNumber = this.report;
         // this.putAsealOn(tjNumber)
@@ -507,14 +725,14 @@
           if (response.size === 0) {
             this.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�");
             this.dialogVisible = false;
-            dataList.push(this.tjNumber)
+            dataList.push(this.tjNumber);
           } else {
             this.dialogVisible = true;
             this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl
           }
         });
       } else {
-        let dataList = []
+        let dataList = [];
         for (let i = 0; i < this.report.length; i++) {
           if (i <= this.report.length) {
             this.tjNumber = this.report[i];
@@ -522,40 +740,38 @@
               if (response.size === 0) {
                 this.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�");
                 this.dialogVisible = false;
-                dataList.push(this.tjNumber)
+                dataList.push(this.tjNumber);
               } else {
                 // 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 瀵硅薄
               }
             });
           } else {
-            return
+            return;
           }
-
         }
       }
     },
 
-
     doPrint(val) {
-      var ordonnance = document.getElementById(val).contentWindow
+      var ordonnance = document.getElementById(val).contentWindow;
       setTimeout(() => {
-        ordonnance.print()
-      }, 100)
+        ordonnance.print();
+      }, 100);
     },
 
     // 鏈�杩戜竴娆′綋妫�鎶ュ憡
@@ -575,7 +791,7 @@
 
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
     handleReport() {
-      const tjNumber = this.report;
+      const tjNumber = this.report[0];
       const viewNum = "792931586196398080";
       const params = { viewNum, tjNumber };
       hasReport(tjNumber).then((res) => {
@@ -606,8 +822,18 @@
     },
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
-      this.queryParams.djbeginTime = this.startTime[0];
+      if(this.createTimeList){
+        this.queryParams.djbeginTime = this.createTimeList[0];
+      this.queryParams.djendTime = this.createTimeList[1];
+      }else if(this.createTimeList == null){
+        this.queryParams.djbeginTime = null;
+      this.queryParams.djendTime = null;
+      }else{
+        this.queryParams.djbeginTime = this.startTime[0];
       this.queryParams.djendTime = this.startTime[1];
+      }
+      
+     
       this.loading = true;
       getOrderList(this.queryParams).then((response) => {
         this.orderList = response.data.list;
@@ -630,9 +856,8 @@
       });
     },
 
-
     // 閫夋鏁版嵁
-    searchSelect(val) { },
+    searchSelect(val) {},
 
     // 鎼滅储
     getRemoteData(query) {
@@ -675,6 +900,12 @@
       };
       this.resetForm("form");
     },
+    hb(){
+      // console.log(this.queryParams.tjNum);
+       if (this.queryParams.tjNum != undefined) {
+        this.handleQuery();
+      }
+    },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
@@ -682,6 +913,7 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
+      this.createTimeList=[]
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -733,7 +965,7 @@
       }
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
       projectGetList().then((response) => {
-        this.Treedata = response.data;
+        this.Treedata = response.data.list;
       });
       this.Projectopen = true;
     },

--
Gitblit v1.8.0