| | |
| | | </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"> |
| | |
| | | </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"> |
| | |
| | | |
| | | <script> |
| | | import Public from "@/components/public"; |
| | | import { getPdf } from "@/api/hosp/order"; |
| | | import { getInfo } from "@/api/login"; |
| | | import { |
| | | getProList, |
| | | getSons, |
| | | AutoGetRule, |
| | | getaddRemark, |
| | | getParentList, |
| | | getParentId, |
| | |
| | | loading: false, |
| | | open: false, |
| | | foropen: false, |
| | | dialogVisible: false, |
| | | reportHistorydata: [], |
| | | url: "", |
| | | cateringList: [], |
| | | orderDetailId: "", |
| | | textarea: "", |
| | | title: "", |
| | | formIn: {}, |
| | | focusrow: {}, |
| | | hzlogList: [], |
| | | // proDefault: "", |
| | | // dataList: [], |
| | |
| | | row: {}, |
| | | info: {}, |
| | | allList: [], |
| | | autorule: [], |
| | | form: { |
| | | createTime: new Date() |
| | | }, |
| | |
| | | |
| | | 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(); |
| | | }, |
| | |
| | | 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("报告正在生成,请两分钟后预览!"); |
| | | |
| | | } else { |
| | | this.dialogVisible = true; |
| | | |
| | | this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url |
| | | } |
| | | }); |
| | | }, |
| | | submitFormreply() { |
| | | let data = { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | handleInConfirm(row) { |
| | | this.focusrow = row |
| | | }, |
| | | |
| | | handleInputConfirm(row) { |
| | | this.rows.push(row); |
| | |
| | | margin-left: calc(100% - 10%); |
| | | } |
| | | |
| | | .main { |
| | | height: 700px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .pag { |
| | | width: 100%; |
| | | display: flex; |