From ced3a8b5f49b6e7039be5415a705ae3575c102fb Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期三, 06 十二月 2023 15:50:29 +0800 Subject: [PATCH] qxtj --- src/views/doctor/check/index.vue | 324 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 220 insertions(+), 104 deletions(-) diff --git a/src/views/doctor/check/index.vue b/src/views/doctor/check/index.vue index 40b6104..191b98f 100644 --- a/src/views/doctor/check/index.vue +++ b/src/views/doctor/check/index.vue @@ -185,6 +185,13 @@ </div> </el-dialog> + + <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> + </div> + </el-dialog> + <!-- 鐐瑰嚮鍙宠竟寮瑰嚭灞� --> <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> <div style="font-size: 14px"> @@ -238,131 +245,150 @@ </tr> </table> </div> - <div> + <div style="display: flex;"> <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1"> <el-button type="primary" size="mini" @click="Changeapply()">浼氳瘖鐢宠</el-button> </div> - <div style="margin: 10px 10px;" > + <div style="margin: 10px 10px;"> <el-button type="primary" size="mini" @click="historicalreport()">鍘嗗彶鎶ュ憡</el-button> </div> </div> - - <template> - <div style="margin-left: 10px"> - <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index" - @input="radioChange1(item.proId, item)"> - <el-radio-button :label="item.proId">{{ - item.proName - }}</el-radio-button> - </el-radio-group> - </div> - </template> - <el-table v-loading="loading" :data="proParentList.sons" border height="460px" - style="width: 96%; margin: 10px 10px"> - <el-table-column prop="project.proName" label="妫�娴嬮」鐩�" width="150"> - <!-- <template slot-scope="scope"> + <el-row> + <el-col :span="18"> + <template> + <div style="margin-left: 10px"> + <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index" + @input="radioChange1(item.proId, item)"> + <el-radio-button :label="item.proId">{{ + item.proName + }}</el-radio-button> + </el-radio-group> + </div> + </template> + <el-table v-loading="loading" :data="proParentList.sons" border height="460px" + style="width: 96%; margin: 10px 10px"> + <el-table-column prop="project.proName" label="妫�娴嬮」鐩�" width="150"> + <!-- <template slot-scope="scope"> {{ scope.row.project.proName }} </template> --> - </el-table-column> - <el-table-column prop="proResult" label="妫�娴嬬粨鏋�" width="280"> - <template slot-scope="scope"> - <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" - @blur="handleInputConfirm(scope.row)" @input="vale"></el-input> - </template> - </el-table-column> - <el-table-column label="瑙勫垯" width="55"> - <template slot-scope="scope"> - <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> - </template> - </el-table-column> - <el-table-column prop="project.proMetering" label="鍗曚綅"> - <!-- <template slot-scope="scope"> + </el-table-column> + <el-table-column prop="proResult" label="妫�娴嬬粨鏋�" width="280"> + <template slot-scope="scope"> + <el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" + @blur="handleInputConfirm(scope.row)" @input="vale" @focus="handleInConfirm(scope.row)"></el-input> + </template> + </el-table-column> + <el-table-column label="瑙勫垯" width="55"> + <template slot-scope="scope"> + <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> + </template> + </el-table-column> + <el-table-column prop="project.proMetering" label="鍗曚綅"> + <!-- <template slot-scope="scope"> {{ scope.row.standard.company }} </template> --> - </el-table-column> - <el-table-column prop="project.proScope" label="鍙傝�冭寖鍥�"> - </el-table-column> - <el-table-column prop="conclusion" label="缁撴灉缁撹" width="280"> - <template slot-scope="scope"> - <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" - disabled></el-input> - </template> - </el-table-column> - <el-table-column prop="exceptionDesc" label="鏄惁寮傚父" width="80px" align="center"> - <template slot-scope="scope"> - <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox> - </template> - </el-table-column> - <el-table-column prop="isReturn" label="鏄惁澶嶈瘖" width="80px" align="center"> - <template slot-scope="scope"> - <el-checkbox v-model="scope.row.isReturn"></el-checkbox> - </template> - </el-table-column> - <el-table-column prop="project.resultType" label="缁撴灉绫诲瀷"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" /> - </template> - </el-table-column> - <el-table-column prop="isPositive" label="閲嶅ぇ闃虫��"> - <template slot-scope="scope"> - <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" - @change="checkboxchange(scope.row)"></el-switch> + </el-table-column> + <el-table-column prop="project.proScope" label="鍙傝�冭寖鍥�"> + </el-table-column> + <el-table-column prop="conclusion" label="缁撴灉缁撹" width="280"> + <template slot-scope="scope"> + <el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="璇疯緭鍏ユ娴嬬粨鏋�" + disabled></el-input> + </template> + </el-table-column> + <el-table-column prop="exceptionDesc" label="鏄惁寮傚父" width="80px" align="center"> + <template slot-scope="scope"> + <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox> + </template> + </el-table-column> + <el-table-column prop="isReturn" label="鏄惁澶嶈瘖" width="80px" align="center"> + <template slot-scope="scope"> + <el-checkbox v-model="scope.row.isReturn"></el-checkbox> + </template> + </el-table-column> + <el-table-column prop="project.resultType" label="缁撴灉绫诲瀷"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" /> + </template> + </el-table-column> + <el-table-column prop="isPositive" label="閲嶅ぇ闃虫��"> + <template slot-scope="scope"> + <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" + @change="checkboxchange(scope.row)"></el-switch> - </template> - </el-table-column> - </el-table> + </template> + </el-table-column> + </el-table> - <div style="font-size: 14px; overflow-y: auto; height: 286px"> - <table style=" + <div style="font-size: 14px; overflow-y: auto; height: 286px"> + <table style=" width: 96%; margin: 4px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; " cellspacing="4"> - <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 鐥呯閫夋嫨锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <el-select v-model="value" multiple placeholder="璇烽�夋嫨" style="width: 100%; height: 45px" - v-if="deptAdviceList" @change="sel" filterable> - <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id"> - </el-option> - </el-select> - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 涓绘鍖诲笀锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <el-select v-model="doctorName" placeholder="璇烽�夋嫨" style="width: 100%" v-if="deptAdviceList" - @change="selName" filterable> - <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> - </el-option> - </el-select> - </td> - </tr> - <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> - 寤鸿锛� - </td> - <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> - <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="proParentList.remark" rows="7"> - </el-input> - </td> - </tr> - </table> + <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> + 鐥呯閫夋嫨锛� + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <el-select v-model="value" multiple placeholder="璇烽�夋嫨" style="width: 100%; height: 45px" + v-if="deptAdviceList" @change="sel" filterable> + <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id"> + </el-option> + </el-select> + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> + 涓绘鍖诲笀锛� + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <el-select v-model="doctorName" placeholder="璇烽�夋嫨" style="width: 100%" v-if="deptAdviceList" + @change="selName" filterable> + <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> + </el-option> + </el-select> + </td> + </tr> + <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> + 寤鸿锛� + </td> + <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> + <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" v-model="proParentList.remark" rows="7"> + </el-input> + </td> + </tr> + </table> - <div slot="footer" class="dialog-footers"> - <!-- <el-button type="primary" + <div slot="footer" class="dialog-footers"> + <!-- <el-button type="primary" size="mini" @click="radioChange" v-hasPermi="['system:notice:add']" v-show="tjStatus == '1'" >浼氳瘖鐢宠</el-button> --> - <el-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button> - </div> - </div> + <el-button type="primary" @click="determine" v-show="tjStatus == '0'">鎻� 浜�</el-button> + </div> + </div> + </el-col> + <el-col :span="6" v-if="reportHistorydata.length >= 1"> + <el-table v-loading="loading" :data="reportHistorydata" border style="margin-top: 46px;"> + <el-table-column prop="createTime" label="妫�娴嬫椂闂�"> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" width="130px"> + <template slot-scope="scope"> + <el-button type="primary" icon="el-icon-share" size="mini" @click="handlecan(scope.row)" + title="鏌ョ湅"></el-button> + </template> + </el-table-column> + </el-table> + </el-col> + <el-col :span="6" v-else> + <div>鏆傛棤鍘嗗彶鎶ュ憡</div> + </el-col> + </el-row> + <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);"> <table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2" v-for="(item, index) in proParentList.sons" :key="index"> @@ -411,10 +437,12 @@ <script> import Public from "@/components/public"; +import { getPdf } from "@/api/hosp/order"; import { getInfo } from "@/api/login"; import { getProList, getSons, + AutoGetRule, getaddRemark, getParentList, getParentId, @@ -442,11 +470,15 @@ loading: false, open: false, foropen: false, + dialogVisible: false, + reportHistorydata: [], + url: "", cateringList: [], orderDetailId: "", textarea: "", title: "", formIn: {}, + focusrow: {}, hzlogList: [], // proDefault: "", // dataList: [], @@ -472,6 +504,7 @@ row: {}, info: {}, allList: [], + autorule: [], form: { createTime: new Date() }, @@ -622,6 +655,52 @@ vale(datas) { this.proResult = datas; + var pattern3 = new RegExp("[0-9]+"); + if (pattern3.test(this.proResult)) { + let data = { + proId: this.focusrow.proId, + cusId: this.tableAll.cusId, + keyNum: this.proResult + } + AutoGetRule(data).then(res => { + this.focusrow.conclusion = "" + if (res.data) { + this.autorule = res.data + this.focusrow.rulesList = this.autorule; + this.autorule.forEach(item => { + if (this.focusrow.conclusion) { + this.focusrow.conclusion += item.bingzhong; + } else { + this.focusrow.conclusion = item.bingzhong; + } + }) + } + + }) + }else { + let data = { + proId: this.focusrow.proId, + cusId: this.tableAll.cusId, + keyWord: this.proResult + } + AutoGetRule(data).then(res => { + this.focusrow.conclusion = "" + if (res.data) { + this.autorule = res.data + this.focusrow.rulesList = this.autorule; + this.autorule.forEach(item => { + if (this.focusrow.conclusion) { + this.focusrow.conclusion += item.bingzhong; + } else { + this.focusrow.conclusion = item.bingzhong; + } + }) + } + + }) + } + + // this.$refs.aaa.open = true; // this.$refs.aaa.getList(); }, @@ -864,12 +943,41 @@ this.Hzlog(this.tableAll.tjNumber) }, historicalreport() { + this.loading = true let data = { - cusId:this.tableAll.cusId + cusId: this.tableAll.cusId } - reportHistory(data).then(res =>{ - + reportHistory(data).then(res => { + this.loading = false + if (res.data[0] != null) { + this.reportHistorydata = res.data + } }) + }, + + handlecan(row) { + this.dialogVisible = true + const tjNumber = row.tjNumber; + 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湪鐢熸垚锛岃涓ゅ垎閽熷悗棰勮锛�"); + + } else { + this.dialogVisible = true; + + this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + } + }); }, submitFormreply() { let data = { @@ -1226,6 +1334,9 @@ }); }); }, + handleInConfirm(row) { + this.focusrow = row + }, handleInputConfirm(row) { this.rows.push(row); @@ -1320,6 +1431,11 @@ margin-left: calc(100% - 10%); } +.main { + height: 700px; + overflow: hidden; +} + .pag { width: 100%; display: flex; -- Gitblit v1.8.0