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