| | |
| | | <template> |
| | | <div> |
| | | <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="tableList" |
| | | :inline="true" |
| | | label-width="76px" |
| | | style="margin-top: 10px" |
| | | > |
| | | <el-form-item label="姓名" prop="name"> |
| | | <el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable |
| | | @keyup.enter.native="handleQuery"></el-input> |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | style="width: 116px" |
| | | placeholder="请输入姓名" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号"></el-input> |
| | | <el-input |
| | | ref="inputName" |
| | | v-model="queryParams.tjNumber" |
| | | style="width: 240px" |
| | | placeholder="请输入体检号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="submitForm">搜索</el-button> |
| | | <el-button size="mini" type="primary" @click="submitForm" |
| | | >搜索</el-button |
| | | > |
| | | <el-button size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px"> |
| | | <el-radio-group |
| | | v-model="tjStatus" |
| | | @input="radioChange" |
| | | style="margin-left: 30px" |
| | | > |
| | | <el-radio-button label="0">未检</el-radio-button> |
| | | <el-radio-button label="1">已检</el-radio-button> |
| | | </el-radio-group> |
| | | |
| | | <template> |
| | | <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" |
| | | border=""> |
| | | <el-table |
| | | :data="tableList" |
| | | v-loading="loading" |
| | | ref="table" |
| | | height="536px" |
| | | style="margin: 20px; width: 98%" |
| | | border="" |
| | | > |
| | | <!-- <template slot="empty">数据正在加载中</template> --> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="180px" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" width="100px" /> |
| | | <el-table-column |
| | | label="体检号" |
| | | align="center" |
| | | prop="tjNumber" |
| | | width="180px" |
| | | /> |
| | | <el-table-column |
| | | label="姓名" |
| | | align="center" |
| | | prop="cusName" |
| | | width="100px" |
| | | /> |
| | | <el-table-column label="性别" align="center" prop="cusSex" width="60px"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.cusSex == '0'">男</span> |
| | |
| | | <span v-if="scope.row.cusSex == '9'">未说明性别</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出生日期" align="center" prop="cusBrithday" width="120px" /> |
| | | <el-table-column label="电话" align="center" prop="cusPhone" width="120px" /> |
| | | <el-table-column |
| | | label="出生日期" |
| | | align="center" |
| | | prop="cusBrithday" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="电话" |
| | | align="center" |
| | | prop="cusPhone" |
| | | width="120px" |
| | | /> |
| | | <!-- <el-table-column |
| | | label="状态" |
| | | align="center" |
| | |
| | | </template> |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px" /> |
| | | <el-table-column label="登记时间" align="center" prop="createTime" width="160px" /> |
| | | <el-table-column label="体检时间" align="center" prop="tjTime" width="120px" /> |
| | | <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" /> |
| | | <el-table-column |
| | | label="体检类型" |
| | | align="center" |
| | | prop="tjType" |
| | | width="80px" |
| | | /> |
| | | <el-table-column |
| | | label="登记时间" |
| | | align="center" |
| | | prop="createTime" |
| | | width="160px" |
| | | /> |
| | | <el-table-column |
| | | label="体检时间" |
| | | align="center" |
| | | prop="tjTime" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="未检项" |
| | | prop="notCheckeds" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column label="操作" align="center" width="80px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="handleClick(scope.row)">详情</el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleClick(scope.row)" |
| | | >详情</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" /> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.page" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <!-- 点击右边弹出层 --> |
| | | <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> |
| | | <el-drawer |
| | | :visible.sync="drawer" |
| | | :with-header="false" |
| | | size="70%" |
| | | :before-close="handleClose" |
| | | > |
| | | <div style="font-size: 14px"> |
| | | <table style=" |
| | | <table |
| | | style=" |
| | | width: 96%; |
| | | height:70px |
| | | margin: 10px 10px; |
| | |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | font-size:16px |
| | | " cellspacing="4"> |
| | | " |
| | | cellspacing="4" |
| | | > |
| | | <caption style="background-color: #f8f8f9; font-size: 18px"> |
| | | 填写{{ |
| | | tableAll.cusName |
| | | }}的体检资料 |
| | | </caption> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | <td |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | align="right" |
| | | > |
| | | 姓名: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | |
| | | <span v-if="scope.row.cusSex == '9'">未说明性别</span> |
| | | </template> |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse;" align="right"> |
| | | <td |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | align="right" |
| | | > |
| | | 性别: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | <td |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | align="right" |
| | | > |
| | | 体检单号: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjNumber }} |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | | <td |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | align="right" |
| | | > |
| | | 体检时间: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | |
| | | |
| | | <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-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 |
| | | 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 }} |
| | |
| | | </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> |
| | | <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> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)" |
| | | >...</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" 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> |
| | | <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"> |
| | | <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"> |
| | | <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" /> |
| | | <dict-tag |
| | | :options="dict.type.tj_result_type" |
| | | :value="scope.row.project.resultType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px"> |
| | | <table style=" |
| | | <table |
| | | style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | " |
| | | 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-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> |
| | | <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-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> |
| | |
| | | <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"> |
| | | <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" @click="determine" v-show="tjStatus == '0'">提 交</el-button> |
| | | <el-button type="primary" @click="determine" v-show="tjStatus == '0'" |
| | | >提 交</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);"> |
| | |
| | | }, |
| | | // 获取医生 |
| | | selName(val) { |
| | | this.doctorName = val |
| | | this.doctorName = val; |
| | | // this.userList.forEach(item =>{ |
| | | // if(val === item.userId){ |
| | | // this.doctorName = item.nickName |
| | |
| | | }); |
| | | }); |
| | | } else { |
| | | this.proParentList.remark = "" |
| | | this.proParentList.remark = ""; |
| | | this.deptAdviceList.forEach((item) => { |
| | | this.ids = item.id; |
| | | val.forEach((item1) => { |
| | |
| | | }, |
| | | // 规则 |
| | | handleguize(row) { |
| | | this.row = row |
| | | this.row = row; |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.title = "诊断结果结论"; |
| | | this.$refs.aaa.getList(this.row); |
| | | }, |
| | | |
| | | handleChanges(param1, param2) { |
| | | this.row.conclusion = param1 |
| | | this.row.rulesList = param2 |
| | | this.row.conclusion = param1; |
| | | this.row.rulesList = param2; |
| | | }, |
| | | |
| | | getList() { |
| | | this.queryParams.type = this.tjStatus; |
| | | getProList(this.queryParams).then((response) => { |
| | | if (response.data) { |
| | | if (response.data.date) { |
| | |
| | | .then(() => { |
| | | // 体检号 |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.userList.forEach(item => { |
| | | this.userList.forEach((item) => { |
| | | if (this.doctorName == item.nickName) { |
| | | this.doctorName = item.userId |
| | | this.doctorName = item.userId; |
| | | } |
| | | }) |
| | | }); |
| | | this.proParentList.sons.forEach((item) => { |
| | | if (this.rows) { |
| | | this.rows.forEach((item1) => { |
| | |
| | | isReturn: item.isReturn === true ? 1 : 0, |
| | | exceptionDesc: item.exceptionDesc === true ? 1 : 0, |
| | | conclusion: item.conclusion, |
| | | rulesList: item.rulesList |
| | | rulesList: item.rulesList, |
| | | }); |
| | | }); |
| | | |
| | |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | handleInputConfirm(row) { |
| | | this.rows.push(row); |
| | | }, |
| | |
| | | determine() { |
| | | // 体检号 |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.userList.forEach(item => { |
| | | this.userList.forEach((item) => { |
| | | if (this.doctorName == item.nickName) { |
| | | this.doctorName = item.userId |
| | | this.doctorName = item.userId; |
| | | } |
| | | }) |
| | | }); |
| | | this.proParentList.sons.forEach((item) => { |
| | | if (this.rows) { |
| | | this.rows.forEach((item1) => { |
| | |
| | | isReturn: item.isReturn === true ? 1 : 0, |
| | | exceptionDesc: item.exceptionDesc === true ? 1 : 0, |
| | | conclusion: item.conclusion, |
| | | rulesList: item.rulesList |
| | | rulesList: item.rulesList, |
| | | }); |
| | | }); |
| | | |