| | |
| | | <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 |
| | | ref="inputName" |
| | | 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" |
| | | /> |
| | | </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"> |
| | |
| | | </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;"> |
| | |
| | | 测试 |
| | | </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> |
| | | </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> |
| | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | <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.是否吸烟"> |
| | |
| | | </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> |
| | |
| | | djbeginTime: undefined, |
| | | djendTime: undefined, |
| | | name: undefined, |
| | | tjNum:undefined |
| | | tjNum: undefined, |
| | | }, |
| | | startTime: "", |
| | | // 表单参数 |
| | |
| | | // 体检报告 |
| | | viewReport() { |
| | | const flag = true; |
| | | let dataList = [] |
| | | let dataList = []; |
| | | if (this.report.length === 1) { |
| | | this.tjNumber = this.report; |
| | | // this.putAsealOn(tjNumber) |
| | |
| | | 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文件读取出url |
| | | } |
| | | }); |
| | | } else { |
| | | let dataList = [] |
| | | let dataList = []; |
| | | for (let i = 0; i < this.report.length; i++) { |
| | | if (i <= this.report.length) { |
| | | this.tjNumber = this.report[i]; |
| | |
| | | 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文件读取出url |
| | | 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); |
| | | }, |
| | | |
| | | // 最近一次体检报告 |
| | |
| | | |
| | | /** 点击显示导检单报表*/ //lige 开始 |
| | | handleReport() { |
| | | const tjNumber = this.report; |
| | | const tjNumber = this.report[0]; |
| | | const viewNum = "792931586196398080"; |
| | | const params = { viewNum, tjNumber }; |
| | | hasReport(tjNumber).then((res) => { |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | // 选框数据 |
| | | searchSelect(val) { }, |
| | | searchSelect(val) {}, |
| | | |
| | | // 搜索 |
| | | getRemoteData(query) { |
| | |
| | | } |
| | | /** 查询部门下拉树结构 */ |
| | | projectGetList().then((response) => { |
| | | this.Treedata = response.data; |
| | | this.Treedata = response.data.list; |
| | | }); |
| | | this.Projectopen = true; |
| | | }, |