From db8f49a69a6f4e5e91ddc337b7c87d782997c974 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期四, 24 十月 2024 09:11:51 +0800 Subject: [PATCH] lkk 10.24 --- src/views/system/biol/index.vue | 415 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 264 insertions(+), 151 deletions(-) diff --git a/src/views/system/biol/index.vue b/src/views/system/biol/index.vue index 1e14668..896284f 100644 --- a/src/views/system/biol/index.vue +++ b/src/views/system/biol/index.vue @@ -27,18 +27,20 @@ @blur="hb" /> </el-form-item> - <el-form-item label="鎶ュ憡鏃堕棿" prop="reportTimeList"> + <el-form-item label="鐧昏鏃堕棿" prop="createTimeList"> <el-date-picker clearable - v-model="queryParams.reportTimeList" + v-model="createTimeList" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions" - value-format="yyyy-MM-dd" + :default-time="['00:00:00', '23:00:00']" + format="yyyy-MM-dd HH:mm:ss" + value-format="yyyy-MM-dd HH:mm:ss" placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�" - style="width: 240px" + @change="dateChangebirthday1" > </el-date-picker> </el-form-item> @@ -87,11 +89,14 @@ >鍋ュ悍妫�鏌ヨ〃鎵撳嵃</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="multiple" + :disabled="single" @click="baogaoyulan" >鎶ュ憡棰勮</el-button > @@ -450,7 +455,7 @@ </div> </div> </div> - <el-dialog + <el-dialog class="dia" title="PDF 棰勮" :visible.sync="dialogVisibles" @@ -465,12 +470,22 @@ ></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="dialogVisiblese = 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, @@ -479,9 +494,16 @@ 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 { + SubmitCompany, + getCompany, + queryCompany, + addbatch, +} from "@/api/team/tuanti"; import { chownSync } from "fs"; export default { components: { @@ -490,6 +512,8 @@ name: "Order", data() { return { + radios: "1", + dialogVisiblese: false, createTimeList: "", // printObj: { // id: "box", //鎵撳嵃鐨勫尯鍩� @@ -650,9 +674,10 @@ }; }, created() { - this.getNowTime(); - this.getList(); + // this.getNowTime(); + this.Company(); + this.getdate(); }, mounted() { this.$nextTick(() => { @@ -660,6 +685,15 @@ }); }, 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(); @@ -691,50 +725,57 @@ this.add0(mm) ); }, - /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/ - // viewReport() { - // const tjNumber = this.report; - // const viewNum = "792997692059705344"; - // const params = { viewNum, tjNumber }; - // hasReportEnd(tjNumber).then((res) => { - // if (res == 1) { - // this.$tab.openPage('浣撴鎶ュ憡', '/report/viewReport', params); - // } else { - // this.$message.error("璇ョ敤鎴蜂綋妫�鏆傛湭瀹屾垚锛屾棤娉曟墦鍗颁綋妫�鎶ュ憡锛�"); - // } - // }); - // }, jiankangReport() { - this.mobanId = "899553193419812864"; + 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; - 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; + const tjNumber = this.report[0]; + 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 { + console.log(response); + this.dialogVisible = true; - this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + } + }); + } else { + let url = response.data.url; + const params = { url }; + this.$tab.openPage( + "鍋ュ悍璇佹鏌ヨ〃", + "/report/zongjianjiankangzheng", + params + ); } }); }, @@ -753,114 +794,179 @@ }, 100); }, - // 浣撴鎶ュ憡 - 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 - 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, - }); + base64ToBlob({ b64data = "", contentType = "", sliceSize = 512 } = {}) { + return new Promise((resolve, reject) => { + // 浣跨敤 atob() 鏂规硶灏嗘暟鎹В鐮� + let byteCharacters = atob(b64data); + let byteArrays = []; + for ( + let offset = 0; + offset < byteCharacters.length; + offset += sliceSize + ) { + let slice = byteCharacters.slice(offset, offset + sliceSize); + let byteNumbers = []; + for (let i = 0; i < slice.length; i++) { + byteNumbers.push(slice.charCodeAt(i)); } - 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 瀵硅薄 - } - }); - } + // 8 浣嶆棤绗﹀彿鏁存暟鍊肩殑绫诲瀷鍖栨暟缁勩�傚唴瀹瑰皢鍒濆鍖栦负 0銆� + // 濡傛灉鏃犳硶鍒嗛厤璇锋眰鏁扮洰鐨勫瓧鑺傦紝鍒欏皢寮曞彂寮傚父銆� + byteArrays.push(new Uint8Array(byteNumbers)); } - } + let result = new Blob(byteArrays, { + type: contentType, + }); + result = Object.assign(result, { + // jartto: 杩欓噷涓�瀹氳澶勭悊涓�涓� URL.createObjectURL + preview: URL.createObjectURL(result), + // name: `鍥剧墖绀轰緥.png`, + }); + resolve(result); + }); }, + + /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/ + viewReport() { + let data = this.report.join(","); + + addbatch(data).then((res) => { + let base64 = res.file; + this.base64ToBlob({ + b64data: base64, + 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) { + this.url = window.webkitURL.createObjectURL(res.preview); + } + }); + }); + }, + + // 浣撴鎶ュ憡 + // 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; @@ -921,8 +1027,14 @@ }, /** 鏌ヨ浣撴璁板綍鍒楄〃 */ getList() { - this.queryParams.djbeginTime = this.startTime[0]; - this.queryParams.djendTime = this.startTime[1]; + 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; + } + this.loading = true; getInfo().then((response) => { this.userIds = response.user.userId; @@ -1000,6 +1112,7 @@ }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { + this.createTimeList = []; this.resetForm("queryForm"); this.handleQuery(); }, -- Gitblit v1.8.0