| | |
| | | <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" label-width="68px"> |
| | | <el-form-item label="体检号" prop="tjNumber"> |
| | | <el-input ref="inputName" v-model="queryParams.tjNumber" placeholder="请输入体检号" clearable |
| | | @keyup.enter.native="handleQuery" @blur="hb" style="width: 170px" /> |
| | | </el-form-item> |
| | | <el-form-item label="姓名" prop="name"> |
| | | |
| | | <el-form-item label="姓名" prop="name" v-show="isCollapsed == 1"> |
| | | <el-input v-model="queryParams.name" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" |
| | | style="width: 110px" /> |
| | | </el-form-item> |
| | | <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px"> |
| | | <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px" v-show="isCollapsed == 1"> |
| | | <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" |
| | | style="width: 180px" remote filterable placeholder="请选择单位名称" clearable @change="searchSelect"> |
| | | <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="项目" prop="tcm"> |
| | | <el-form-item label="项目" prop="tcm" v-show="isCollapsed == 1"> |
| | | <el-input v-model="queryParams.tcm" placeholder="请输入项目" clearable @keyup.enter.native="handleQuery" |
| | | style="width: 170px" /> |
| | | </el-form-item> |
| | | <el-form-item label="登记时间" prop="createTimeList"> |
| | | <el-form-item label="登记时间" prop="createTimeList" v-show="isCollapsed == 1"> |
| | | <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> |
| | | <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px" |
| | | v-show="isCollapsed == 0">展开更多筛选项 |
| | | </el-button> |
| | | <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px" |
| | | v-show="isCollapsed == 1">收起更多筛选项 |
| | | </el-button> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" |
| | | style="margin-right: 15px">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | |
| | | <el-radio-button label="1">已检</el-radio-button> |
| | | </el-radio-group> |
| | | |
| | | <div style="width: 100%; margin-left: 10px; display: flex"> |
| | | <div style="width: 36%; margin-right: 30px"> |
| | | <el-table v-loading="loading" ref="tb" :data="pictureList" highlight-current-row |
| | | <el-row :gutter="20"> |
| | | <el-col :span="11"> |
| | | <el-table v-loading="loading" ref="tb" :data="pictureList" highlight-current-row |
| | | :row-class-name="tableRowClassName" @current-change="handleCurrentChange" border height="520px"> |
| | | <!-- <el-table-column type="selection" width="55" /> --> |
| | | <!-- @selection-change="handleSelectionChange" --> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" min-width="160" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" min-width="80" /> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div id="table" style="width: 44%; height: 610px"> |
| | | <el-table v-loading="loading" ref="mu" :data="tableList" :row-class-name="tableRowClassName" @header-click="handleHeaderClick" |
| | | highlight-current-row @selection-change="handleChange" border style="height: 400px"> |
| | | <div class="pag"> |
| | | <div class="pag1"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" |
| | | :limit.sync="queryParams.pageSize" @pagination="submitForm" /> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-table v-loading="loading" ref="mu" :data="tableList" :row-class-name="tableRowClassName" |
| | | @header-click="handleHeaderClick" highlight-current-row @selection-change="handleChange" border |
| | | style="height: 400px"> |
| | | <el-table-column type="selection" width="50" align="center"> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="科室" align="center" prop="deptName" min-width="100" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="项目" align="center" prop="proName" min-width="150" :show-overflow-tooltip="true" /> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- <div style="display:flex;margin:15px 0px;width: 100%;"> |
| | | <div style="width: 100%;display:flex;"> |
| | | <el-button type="primary" class="default-button-style" size="small" |
| | | @click="submiepilog">结果结论</el-button> |
| | | <el-button type="primary" icon="el-icon-s-claim" size="mini" @click="submito">提交</el-button> |
| | | |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog title="提示" :visible.sync="dialogVisible" width="60%"> |
| | | <!-- :before-close="handleClose" --> |
| | | <img src="../../../assets/logo/logo.png" alt="" /> |
| | | </el-dialog> |
| | | |
| | | <div style="margin-right: 58%"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" |
| | | @pagination="submitForm" /> |
| | | </div> |
| | | |
| | | |
| | | <Public ref="aaa" :check-status="checkStatus" :pro-result="form.proResult" :conclusion="form.conclusion" |
| | | @add="handleChanges" :project-list="projectList" /> |
| | |
| | | // 选中数组 |
| | | ids: [], |
| | | CheckBox: {}, |
| | | isCollapsed: 0, // 默认为折叠状态 |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | |
| | | this.queryParams.endTime = null; |
| | | } |
| | | /* getYxJcList(this.queryParams).then((response) => { |
| | | // console.log(response.data.customers, 666); |
| | | |
| | | if (response.data) { |
| | | this.pictureList = response.data.customers; |
| | |
| | | this.$refs.tb.clearSelection(); |
| | | } |
| | | this.total = response.data.total; |
| | | console.log(response.data.total, 88); |
| | | |
| | | this.loading = false; |
| | | }); */ |
| | | |
| | | getCompany(this.queryParams).then((response) => { |
| | | this.CompanyList = response.data; |
| | | // console.log(this.CompanyList, 555); |
| | | |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | |
| | | handleRowClick(row, column, event) { |
| | | // console.log(row, 2323); |
| | | this.name = row.proName; |
| | | // console.log(this.name, 99999); |
| | | }, |
| | | // 体检公司拼音搜索 |
| | | getRemoteData(query) { |
| | |
| | | radioChange(value) { |
| | | this.loading = true; |
| | | this.queryParams.checkStatus = value; |
| | | this.form.proResult = ""; |
| | | this.form.conclusion = ""; |
| | | getYxJcList(this.queryParams).then((res) => { |
| | | if (res.code == 200) { |
| | | this.loading = false; |
| | |
| | | |
| | | |
| | | getYxJcXx(tjNumber).then((res) => { |
| | | console.log(res, 222); |
| | | this.tableList = res.data; |
| | | this.loading = false; |
| | | }); */ |
| | |
| | | this.resetForm("form"); |
| | | }, |
| | | hb() { |
| | | // console.log(this.queryParams.tjNum); |
| | | if (this.queryParams.tjNumber != null) { |
| | | // this.handleQuery(); |
| | | this.submitForm(); |
| | |
| | | // 选框数据 |
| | | searchSelect(val) { |
| | | this.CheckBox = val; |
| | | // console.log(this.CheckBox, 9999); |
| | | }, |
| | | |
| | | handleHeaderClick(column, event) { |
| | | if (column.type === 'selection') { |
| | | if (column.type === "selection") { |
| | | // 查找全选框并隐藏 |
| | | const checkbox = event.target.closest('.el-checkbox'); |
| | | if (checkbox) checkbox.style.display = 'none'; |
| | | const checkbox = event.target.closest(".el-checkbox"); |
| | | if (checkbox) checkbox.style.display = "none"; |
| | | } |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | |
| | | this.loading = true; |
| | | }, |
| | | |
| | | toggleCollapse3() { |
| | | // this.isCollapsed = !this.isCollapsed; // 点击按钮时切换isCollapsed的值 |
| | | this.isCollapsed = 0; |
| | | }, |
| | | toggleCollapse() { |
| | | this.isCollapsed = 1; // 点击按钮时切换isCollapsed的值 |
| | | }, |
| | | |
| | | tableRowClassName({ row, rowIndex }) { |
| | | for (let i = 0; i < this.selectList.length; i++) { |
| | | if (row === this.selectList[i]) { |
| | |
| | | this.tableList = []; |
| | | return; |
| | | } |
| | | |
| | | let tjNumber = val.tjNumber; |
| | | this.selectedTjNumber = val.tjNumber; |
| | | this.loading = true; |
| | | this.changtjNumber(val.tjNumber) |
| | | |
| | | }, |
| | | |
| | | changtjNumber(val) { |
| | | console.log(8989) |
| | | let tjNumber = val; |
| | | this.loading = true; |
| | | getYxJcXx(tjNumber).then((res) => { |
| | | this.tableList = res.data; |
| | | this.loading = false; |
| | | this.$nextTick(() => { |
| | | const headerCheckbox = this.$refs.mu.$el.querySelector('.el-table__header .el-checkbox'); |
| | | if (headerCheckbox) headerCheckbox.style.display = 'none'; |
| | | |
| | | if (this.tableList.length > 0) { |
| | | const headerCheckbox = this.$refs.mu.$el.querySelector( |
| | | ".el-table__header .el-checkbox" |
| | | ); |
| | | if (headerCheckbox) headerCheckbox.style.display = "none"; |
| | | if (this.queryParams.checkStatus == 0) { |
| | | if (this.tableList.length > 0) { |
| | | this.tableList.forEach((item, index) => { |
| | | if (item.type == 0) { |
| | | const firstRow = item; |
| | | this.$refs.mu.toggleRowSelection(firstRow, true); |
| | | this.handleChange([firstRow]); |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | const firstRow = this.tableList[0]; |
| | | this.$refs.mu.toggleRowSelection(firstRow, true); |
| | | this.handleChange([firstRow]); |
| | |
| | | const proId = selection[0].proId; |
| | | |
| | | // ✅ 确保 selectedRow 存在且有 tjNumber |
| | | if (this.selectedRow && this.selectedRow.tjNumber) { |
| | | const tjNumber = this.selectedRow.tjNumber; |
| | | getYxJcXxJg(tjNumber, proId).then((res) => { |
| | | this.form.proResult = res.data.jcsj; |
| | | this.form.conclusion = res.data.jcjl; |
| | | this.$refs.aaa.updateData(res.data.jcsj, res.data.jcjl); |
| | | }); |
| | | } else { |
| | | console.warn("selectedRow 未准备好,跳过接口调用"); |
| | | } |
| | | const tjNumber = this.selectedTjNumber; |
| | | getYxJcXxJg(tjNumber, proId).then((res) => { |
| | | this.form.proResult = res.data.jcsj; |
| | | this.form.conclusion = res.data.jcjl; |
| | | this.$refs.aaa.updateData(res.data.jcsj, res.data.jcjl); |
| | | }); |
| | | |
| | | // ✅ 同时更新 selectedRow |
| | | this.selectedRow = selection[0]; |
| | |
| | | }, |
| | | |
| | | /* handleChange(selection) { |
| | | // console.log(selection, 123); |
| | | if (selection && selection.length > 0) { |
| | | const proId = selection[0].proId; |
| | | const tjNumber = this.selectedRow.tjNumber; |
| | | this.selectedRow = selection[0]; |
| | | getYxJcXxJg(tjNumber, proId).then((res) => { |
| | | console.log(res, 333); |
| | | this.form.proResult = res.data.jcsj; |
| | | this.form.conclusion = res.data.jcjl; |
| | | }); |
| | |
| | | this.dialogVisible = true; |
| | | }, |
| | | |
| | | |
| | | // 确定按钮 |
| | | submito() { |
| | | console.log(111112225) |
| | | /* if (this.dataobj) { |
| | | if (this.form.proResult) { |
| | | this.dataobj.proResult = this.form.proResult; |
| | |
| | | jcjl: jcjl, // 传递检查结论 |
| | | }) |
| | | .then((response) => { |
| | | this.submitForm(); |
| | | |
| | | this.form.proResult = ""; |
| | | this.form.conclusion = ""; |
| | | if (this.tableList.length == 1) { |
| | | this.submitForm(); |
| | | } else { |
| | | this.tableList.forEach((item, index) => { |
| | | if (item.type == 0) { |
| | | this.changtjNumber(this.selectedTjNumber); |
| | | } else { |
| | | this.submitForm(); |
| | | } |
| | | }) |
| | | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error("提交失败", error); |
| | |
| | | float: left; |
| | | position: relative; |
| | | } |
| | | </style> |
| | | |
| | | </style> |