| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form-item label="体检号" prop="tjNum"> |
| | | <el-input v-model="queryParams.tjNum" placeholder="请输入体检号" clearable @keyup.enter.native="handleQuery" |
| | | style="width: 170px;" /> |
| | | <div class="app-container"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | 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-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-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-input |
| | | v-model="queryParams.tcm" |
| | | placeholder="请输入体检号" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 170px" |
| | | /> |
| | | </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-form-item> |
| | | <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-form-item> |
| | | </el-form> |
| | | |
| | | <el-radio-group |
| | | v-model="checkStatus" |
| | | @input="radioChange" |
| | | style="margin: 10px 15px" |
| | | > |
| | | <el-radio-button label="0">未检</el-radio-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 |
| | | id="table" |
| | | v-loading="loading" |
| | | ref="tb" |
| | | :data="pictureList" |
| | | highlight-current-row |
| | | :row-class-name="tableRowClassName" |
| | | @current-change="handleCurrentChange" |
| | | border |
| | | height="520px" |
| | | > |
| | | <!-- @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" |
| | | /> |
| | | <el-table-column |
| | | label="性别" |
| | | align="center" |
| | | prop="cusSex" |
| | | min-width="50" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.cusSex == '0'">男</span> |
| | | <span v-if="scope.row.cusSex == '1'">女</span> |
| | | <span v-if="scope.row.cusSex == '2'">未知</span> |
| | | <span v-if="scope.row.cusSex == '9'">未说明性别</span> |
| | | </template> |
| | | <!-- <template slot-scope="scope"> --> |
| | | <!-- {{scope.row.customer.cusSex}} --> |
| | | <!-- {{ scope.row.cusSex === 0 ? "男" : "女" }} --> |
| | | <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> --> |
| | | <!-- </template> --> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="手机号" |
| | | align="center" |
| | | prop="cusPhone" |
| | | min-width="100" |
| | | /> |
| | | <el-table-column |
| | | label="套餐名" |
| | | align="center" |
| | | prop="tcm" |
| | | min-width="100" |
| | | /> |
| | | <el-table-column |
| | | label="登记时间" |
| | | align="center" |
| | | prop="tjTime" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column |
| | | label="审核状态" |
| | | align="center" |
| | | prop="confirmStatus" |
| | | min-width="80" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span |
| | | :style="{ |
| | | color: |
| | | scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', |
| | | }" |
| | | v-if="scope.row.confirmStatus == '301'" |
| | | >已通过</span |
| | | > |
| | | <span |
| | | :style="{ |
| | | color: |
| | | scope.row.confirmStatus == '301' ? '#0CB618' : '#EA1B29', |
| | | }" |
| | | v-if="scope.row.confirmStatus == '299'" |
| | | >已驳回</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div style="width: 44%; height: 610px"> |
| | | <el-table |
| | | v-loading="loading" |
| | | ref="mu" |
| | | :data="tableList" |
| | | :row-class-name="tableRowClassName" |
| | | highlight-current-row |
| | | @selection-change="handleChange" |
| | | border |
| | | style="height: 400px" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <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-table-column |
| | | label="状态" |
| | | align="center" |
| | | prop="type" |
| | | :show-overflow-tooltip="true" |
| | | min-width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span |
| | | v-if="scope.row.type == '0'" |
| | | :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }" |
| | | > |
| | | {{ type == 0 ? "未 检" : "在 检" }} |
| | | </span> |
| | | <span v-if="scope.row.type == '1'">已完成</span> |
| | | <span v-if="scope.row.type == '2'">弃检</span> |
| | | <span v-if="scope.row.type == '3'">延期</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="检查时间" |
| | | align="center" |
| | | prop="bcupdateTime" |
| | | min-width="160" |
| | | /> |
| | | <el-table-column label="操作" align="center" min-width="120px"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | :disabled="scope.row.type === 1" |
| | | :loading="scope.row.isLoading" |
| | | @click="qijian(scope.row)" |
| | | >{{ scope.row.type === 0 ? "弃检" : "恢复" }}</el-button |
| | | > |
| | | <el-button size="mini" type="text" @click="yijian(scope.row)" |
| | | >已检</el-button |
| | | > |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | :disabled="scope.row.type === 0 || scope.row.type === 2" |
| | | @click="queryResultone(scope.row)" |
| | | >结果</el-button |
| | | > |
| | | <!-- @click="chaxun(scope.row) " --> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <!-- <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="收费项目" align="center" prop="proName" /> |
| | | <el-table-column label="项目名称" align="center" prop="proName" /> |
| | | <el-table-column label="项目结果" align="center" prop="proResult" /> --> |
| | | </el-table> |
| | | <div style="margin-top: 10px"> |
| | | <el-form |
| | | :model="form" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="false" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="检查所见" prop="proResult"> |
| | | <el-input v-model="form.proResult" clearable type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="姓名" prop="name"> |
| | | <el-input v-model="queryParams.name" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" |
| | | style="width: 110px;" /> |
| | | <el-form-item label="检查结论" prop="conclusion"> |
| | | <el-input |
| | | v-model="form.conclusion" |
| | | clearable |
| | | type="textarea" |
| | | @focus="submiepilog" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <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 |
| | | type="primary" |
| | | icon="el-icon-picture" |
| | | size="mini" |
| | | @click="tupian" |
| | | >图片</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="submito" |
| | | >提交</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <div style="width: 100%; margin-left: 10px;display: flex;"> |
| | | <div style="width: 36%; margin-right: 30px;"> |
| | | <el-table id="table" v-loading="loading" ref="tb" :data="pictureList" |
| | | @selection-change="handleSelectionChange" border height="630px"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="体检号" align="center" prop="customer.tjNumber" width="160px" /> |
| | | <el-table-column label="姓名" align="center" prop="customer.cusName" width="90px" /> |
| | | <!-- <el-table-column label="身份证" align="center" prop="customer.cusIdcard" width="170px" /> --> |
| | | <el-table-column label="性别" align="center" prop="customer.cusSex" width="60px"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.customer.cusSex === 0 ? "男" : "女" }} |
| | | <!-- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.cusSex " /> --> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="生日" align="center" prop="customer.cusBrithday" width="110px" /> --> |
| | | <el-table-column label="手机号" align="center" prop="customer.cusPhone" width="110px" /> |
| | | <el-table-column label="婚姻" align="center" prop="cusMarryStatus" width="70px"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_user_marry" :value="scope.row.customer.cusMarryStatus" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="民族" align="center" prop="cusNational" width="70px"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_user_national" :value="scope.row.customer.cusNational" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div style="width: 44%;height: 610px;"> |
| | | <el-table v-loading="loading" ref="mu" :data="tableList" @selection-change="handleChange" border> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="收费项目" align="center" prop="proName" /> |
| | | <el-table-column label="项目名称" align="center" prop="proName" /> |
| | | <el-table-column label="项目结果" align="center" prop="proResult" /> |
| | | <!-- <el-table-column label="结论" align="center" prop="conclusion" /> --> |
| | | </el-table> |
| | | <div style=" height:390px;margin-top: 10px;"> |
| | | <el-image v-loading="loading" style='height: 390px;width: 100%;' :src="imgsrc + tjNumber + '.png'" |
| | | :preview-src-list="[imgsrc + tjNumber + '.png']"></el-image> |
| | | </div> |
| | | |
| | | <div style="margin-top: 20px;"> |
| | | <el-form :model="form" ref="queryForm" size="small" :inline="true" label-width="68px"> |
| | | <el-form-item label="项目结果" prop="proResult"> |
| | | <el-input v-model="form.proResult" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="结果结论" prop="conclusion"> |
| | | <el-input v-model="form.conclusion" clearable @focus="submiepilog" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="submito">提交</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- <div style="display:flex;margin:15px 0px;width: 100%;"> |
| | | <!-- <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> |
| | |
| | | |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | |
| | | <div style="margin-right: 70%;"> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" @pagination="getList" /> |
| | | </div> |
| | | |
| | | <Public ref="aaa" @add="handleChanges" /> |
| | | </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" :last-desc="form.conclusion" @add="handleChanges" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getListPicture, |
| | | updatePicture |
| | | getListPicture, |
| | | updatePicture, |
| | | getYxJcList, |
| | | getYxJcXx, |
| | | addYxJcXx, |
| | | getYxJcXxJg, |
| | | } from "@/api/picture/picture"; |
| | | import { getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | import { |
| | | getCsList, |
| | | confirmOrder, |
| | | cSWebGetPro, |
| | | dataSynchronization, |
| | | qijian, |
| | | yijian, |
| | | resultList, |
| | | typeOne, |
| | | huifu, |
| | | } from "@/api/doctor/examination"; |
| | | |
| | | import Public from "@/components/public"; |
| | | export default { |
| | | dicts: [ |
| | | "sys_user_sex", "sampling_type", "sys_dict_specimen", "dict_user_marry", "dict_user_national" |
| | | ], |
| | | name: "Picture", |
| | | components:{Public}, |
| | | data() { |
| | | return { |
| | | topStyle: { transform: '' }, |
| | | r_img: {}, |
| | | topShow: false, |
| | | rShow: false, |
| | | // 遮罩层 |
| | | loading: true, |
| | | result: true, |
| | | epilog: false, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | activeName: 'first', |
| | | proResult: '', |
| | | conclusion: "", |
| | | imgsrc: "", |
| | | tjNumber: "", |
| | | // 体检心电图管理表格数据 |
| | | pictureList: [], |
| | | tableList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | tjNum: null, |
| | | cusId: null, |
| | | name: null, |
| | | xdt: null, |
| | | proId: null, |
| | | proName: null, |
| | | proResult: null, |
| | | conclusion: null, |
| | | dicts: [ |
| | | "sys_user_sex", |
| | | "sampling_type", |
| | | "sys_dict_specimen", |
| | | "dict_user_marry", |
| | | "dict_user_national", |
| | | ], |
| | | name: "Picture", |
| | | components: { Public }, |
| | | data() { |
| | | return { |
| | | topStyle: { transform: "" }, |
| | | r_img: {}, |
| | | topShow: false, |
| | | rShow: false, |
| | | type: null, |
| | | checkStatus: "0", |
| | | // 遮罩层 |
| | | loading: true, |
| | | result: true, |
| | | epilog: false, |
| | | selectedRow: null, |
| | | // 选中数组 |
| | | ids: [], |
| | | CheckBox: {}, |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | selectedTjNumber: "", |
| | | createTimeList: "", |
| | | // 总条数 |
| | | total: 0, |
| | | activeName: "first", |
| | | proResult: "", |
| | | conclusion: "", |
| | | imgsrc: "", |
| | | tjNumber: "", |
| | | // 体检心电图管理表格数据 |
| | | pictureList: [], |
| | | tableList: [], |
| | | CompanyList: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | dialogVisible: false, |
| | | selectList: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | page: 1, |
| | | pageSize: 10, |
| | | tjNumber: null, |
| | | compId: null, |
| | | name: null, |
| | | beginTime: null, |
| | | endTime: null, |
| | | tcm: "", |
| | | tjCompName: "", |
| | | checkStatus: null, |
| | | // tjNum: null, |
| | | // cusId: null, |
| | | // name: null, |
| | | // xdt: null, |
| | | // proId: null, |
| | | // proName: null, |
| | | // proResult: null, |
| | | // conclusion: null, |
| | | }, |
| | | dataobj: {}, |
| | | // 表单参数 |
| | | form: { |
| | | proResult: "", |
| | | conclusion: "", |
| | | }, |
| | | // 表单校验 |
| | | rules: {}, |
| | | pickerOptions: { |
| | | shortcuts: [ |
| | | { |
| | | text: "最近一周", |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); |
| | | picker.$emit("pick", [start, end]); |
| | | }, |
| | | dataobj: {}, |
| | | // 表单参数 |
| | | form: { |
| | | proResult: "", |
| | | conclusion: "", |
| | | |
| | | }, |
| | | { |
| | | text: "最近一个月", |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); |
| | | picker.$emit("pick", [start, end]); |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | } |
| | | }; |
| | | }, |
| | | { |
| | | text: "最近三个月", |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); |
| | | picker.$emit("pick", [start, end]); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.$refs.inputName.focus(); |
| | | }); |
| | | this.radioChange(this.checkStatus); |
| | | }, |
| | | methods: { |
| | | // 鼠标进入原图空间函数 |
| | | enterHandler() { |
| | | // 层罩及放大空间的显示 |
| | | this.topShow = true; |
| | | this.rShow = true; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | // 鼠标移动函数 |
| | | moveHandler(event) { |
| | | // 鼠标的坐标位置 |
| | | let x = event.offsetX; |
| | | let y = event.offsetY; |
| | | // 层罩的左上角坐标位置,并对其进行限制:无法超出原图区域左上角 |
| | | let topX = x - 100 < 0 ? 0 : x - 100; |
| | | let topY = y - 100 < 0 ? 0 : y - 100; |
| | | // 对层罩位置再一次限制,保证层罩只能在原图区域空间内 |
| | | if (topX > 200) { |
| | | topX = 200; |
| | | } |
| | | if (topY > 200) { |
| | | topY = 200; |
| | | } |
| | | // 通过 transform 进行移动控制 |
| | | this.topStyle.transform = `translate(${topX}px,${topY}px)`; |
| | | this.r_img.transform = `translate(-${2 * topX}px,-${2 * topY}px)`; |
| | | }, |
| | | methods: { |
| | | // 鼠标进入原图空间函数 |
| | | enterHandler() { |
| | | // 层罩及放大空间的显示 |
| | | this.topShow = true |
| | | this.rShow = true |
| | | }, |
| | | // 鼠标移动函数 |
| | | moveHandler(event) { |
| | | // 鼠标的坐标位置 |
| | | let x = event.offsetX |
| | | let y = event.offsetY |
| | | // 层罩的左上角坐标位置,并对其进行限制:无法超出原图区域左上角 |
| | | let topX = (x - 100) < 0 ? 0 : (x - 100) |
| | | let topY = (y - 100) < 0 ? 0 : (y - 100) |
| | | // 对层罩位置再一次限制,保证层罩只能在原图区域空间内 |
| | | if (topX > 200) { |
| | | topX = 200 |
| | | } |
| | | if (topY > 200) { |
| | | topY = 200 |
| | | } |
| | | // 通过 transform 进行移动控制 |
| | | this.topStyle.transform = `translate(${topX}px,${topY}px)` |
| | | this.r_img.transform = `translate(-${2 * topX}px,-${2 * topY}px)` |
| | | }, |
| | | // 鼠标移出函数 |
| | | outHandler() { |
| | | // 控制层罩与放大空间的隐藏 |
| | | this.topShow = false |
| | | this.rShow = false |
| | | }, |
| | | /** 查询体检心电图管理列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | getListPicture(this.queryParams).then(response => { |
| | | if (response.data.list) { |
| | | this.pictureList = response.data.list; |
| | | } else { |
| | | this.$message.warning("查无此人"); |
| | | } |
| | | // 鼠标移出函数 |
| | | outHandler() { |
| | | // 控制层罩与放大空间的隐藏 |
| | | this.topShow = false; |
| | | this.rShow = false; |
| | | }, |
| | | |
| | | if (this.pictureList.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(this.pictureList[0], true); |
| | | }) |
| | | } else { |
| | | this.$refs.tb.clearSelection(); |
| | | } |
| | | this.total = response.data.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | proResult: null, |
| | | conclusion: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.imgsrc = selection[0].picturePath |
| | | this.tjNumber = selection[0].customer.tjNumber |
| | | this.ids = selection.map(item => item.id) |
| | | selection.forEach(element => { |
| | | this.tableList = element.list |
| | | if (this.tableList.length != 0) { |
| | | this.tableList.forEach(item => { |
| | | this.form.proResult = item.proResult |
| | | this.form.conclusion= item.conclusion |
| | | }) |
| | | this.$nextTick(() => { |
| | | this.$refs.mu.toggleRowSelection(this.tableList[0], true); |
| | | }) |
| | | } else { |
| | | this.$refs.mu.clearSelection(); |
| | | } |
| | | }); |
| | | // this.tableList.forEach(item => { |
| | | // this.imgsrc = item.xdt |
| | | // }) |
| | | if (selection.length > 1) { |
| | | let del_row = selection.shift(); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | } |
| | | this.single = selection.length !== 1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | /** 查询体检心电图管理列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | this.queryParams.checkStatus = this.checkStatus; |
| | | this.queryParams.compId = this.CheckBox.drugManufacturerId; |
| | | if (this.createTimeList) { |
| | | this.queryParams.beginTime = this.createTimeList[0]; |
| | | this.queryParams.endTime = this.createTimeList[1]; |
| | | } else if (this.createTimeList == null) { |
| | | this.queryParams.beginTime = null; |
| | | this.queryParams.endTime = null; |
| | | } |
| | | /* getYxJcList(this.queryParams).then((response) => { |
| | | // console.log(response.data.customers, 666); |
| | | |
| | | handleChange(selection) { |
| | | selection.forEach(element => { |
| | | this.dataobj = element |
| | | }); |
| | | }, |
| | | |
| | | |
| | | handleChanges(value) { |
| | | this.form.conclusion =value |
| | | }, |
| | | |
| | | submiepilog() { |
| | | this.$refs.aaa.open = true; |
| | | let proId = "1633660948860522585" |
| | | this.$refs.aaa.getList(proId); |
| | | }, |
| | | // 确定按钮 |
| | | submito() { |
| | | if (this.dataobj) { |
| | | if (this.form.proResult) { |
| | | this.dataobj.proResult = this.form.proResult |
| | | } |
| | | if (this.form.conclusion) { |
| | | this.dataobj.conclusion = this.form.conclusion |
| | | } |
| | | updatePicture(this.dataobj).then(res => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.getList() |
| | | this.form.proResult = "" |
| | | this.form.conclusion = "" |
| | | }) |
| | | } else { |
| | | this.$modal.msgSuccess("选择修改项目"); |
| | | } |
| | | |
| | | }, |
| | | |
| | | //删除按钮 |
| | | handleDelete() { |
| | | |
| | | }, |
| | | |
| | | // 导出 |
| | | handleExport() { |
| | | |
| | | if (response.data) { |
| | | this.pictureList = response.data.customers; |
| | | } else { |
| | | this.$message.warning("查无此人"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | ; |
| | | if (this.pictureList.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(this.pictureList[0], true); |
| | | }); |
| | | } else { |
| | | 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; |
| | | }); |
| | | }, |
| | | |
| | | // / 处理默认选中当前日期 |
| | | getNowTime() { |
| | | var curDate = new Date().getTime(); |
| | | var dayNum = 7 * 24 * 3600 * 1000; |
| | | var threeDays = curDate - dayNum; |
| | | var sDay = this.getLocalTime(threeDays); |
| | | var end = this.getLocalTime(curDate); |
| | | this.createTimeList = [sDay, end]; |
| | | }, |
| | | add0(m) { |
| | | return m < 10 ? "0" + m : m; |
| | | }, |
| | | getLocalTime(nS) { |
| | | var time = new Date(nS); |
| | | var y = time.getFullYear(); |
| | | var m = time.getMonth() + 1; |
| | | var d = time.getDate(); |
| | | var h = time.getHours(); |
| | | var mm = time.getMinutes(); |
| | | return ( |
| | | y + |
| | | "-" + |
| | | this.add0(m) + |
| | | "-" + |
| | | this.add0(d) + |
| | | " " + |
| | | this.add0(h) + |
| | | ":" + |
| | | this.add0(mm) |
| | | ); |
| | | }, |
| | | |
| | | dateChangebirthday1(val) { |
| | | this.startTime = val; |
| | | }, |
| | | |
| | | handleRowClick(row, column, event) { |
| | | // console.log(row, 2323); |
| | | this.name = row.proName; |
| | | // console.log(this.name, 99999); |
| | | }, |
| | | // 体检公司拼音搜索 |
| | | getRemoteData(query) { |
| | | if (query) { |
| | | let compName = query; |
| | | queryCompany(compName).then((response) => { |
| | | this.CompanyList = response.data; |
| | | }); |
| | | } |
| | | }, |
| | | radioChange(value) { |
| | | this.loading = true; |
| | | this.queryParams.checkStatus = value; |
| | | getYxJcList(this.queryParams).then((res) => { |
| | | if (res.code == 200) { |
| | | this.loading = false; |
| | | if (res.data) { |
| | | this.pictureList = res.data.customers; |
| | | this.total = res.data.total; |
| | | if (this.pictureList.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(this.pictureList[0], true); |
| | | }); |
| | | } else { |
| | | this.$refs.tb.clearSelection(); |
| | | } |
| | | this.total = res.data.total; |
| | | } else { |
| | | this.pictureList = []; |
| | | } |
| | | } |
| | | }); |
| | | /* const tjNumber = this.pictureList.tjNumber; |
| | | |
| | | |
| | | getYxJcXx(tjNumber).then((res) => { |
| | | console.log(res, 222); |
| | | this.tableList = res.data; |
| | | this.loading = false; |
| | | }); */ |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | proResult: null, |
| | | conclusion: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | }, |
| | | hb() { |
| | | // console.log(this.queryParams.tjNum); |
| | | if (this.queryParams.tjNumber != null) { |
| | | // this.handleQuery(); |
| | | this.submitForm(); |
| | | } |
| | | }, |
| | | submitForm() { |
| | | this.loading = true; |
| | | this.queryParams.checkStatus = this.checkStatus; |
| | | this.queryParams.compId = this.CheckBox.drugManufacturerId; |
| | | if (this.createTimeList) { |
| | | this.queryParams.beginTime = this.createTimeList[0]; |
| | | this.queryParams.endTime = this.createTimeList[1]; |
| | | } else if (this.createTimeList == null) { |
| | | this.queryParams.beginTime = null; |
| | | this.queryParams.endTime = null; |
| | | } |
| | | |
| | | // 页面数据 |
| | | getYxJcList(this.queryParams).then((res) => { |
| | | if (res.code == 200) { |
| | | this.loading = false; |
| | | if (res.data) { |
| | | this.pictureList = res.data.customers; |
| | | this.total = res.data.total; |
| | | if (this.pictureList.length != 0) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(this.pictureList[0], true); |
| | | }); |
| | | } else { |
| | | this.$refs.tb.clearSelection(); |
| | | } |
| | | this.total = res.data.total; |
| | | } else { |
| | | this.pictureList = []; |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 选框数据 |
| | | searchSelect(val) { |
| | | this.CheckBox = val; |
| | | // console.log(this.CheckBox, 9999); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.submitForm(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.createTimeList = []; |
| | | (this.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | tjNumber: null, |
| | | compId: null, |
| | | name: null, |
| | | beginTime: null, |
| | | checkStatus: null, |
| | | endTime: null, |
| | | tjCompName: "", |
| | | tcm: "", |
| | | }), |
| | | (this.CheckBox.drugManufacturerId = ""); |
| | | this.tableList = []; |
| | | // this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | this.loading = true; |
| | | }, |
| | | |
| | | tableRowClassName({ row, rowIndex }) { |
| | | for (let i = 0; i < this.selectList.length; i++) { |
| | | if (row === this.selectList[i]) { |
| | | return "warning-row"; |
| | | } |
| | | } |
| | | }, |
| | | |
| | | handleCurrentChange(val) { |
| | | this.selectedRow = val; |
| | | if (!val || !val.tjNumber) { |
| | | console.warn("tjNumber 为空,不调用接口"); |
| | | this.tableList = []; |
| | | return; |
| | | } |
| | | |
| | | let tjNumber = val.tjNumber; |
| | | this.selectedTjNumber = val.tjNumber; |
| | | this.loading = true; |
| | | |
| | | getYxJcXx(tjNumber).then((res) => { |
| | | console.log(res, 222); |
| | | this.tableList = res.data; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | // 弃检按钮 |
| | | qijian(row) { |
| | | const tjNUm = this.selectedTjNumber; |
| | | const proId = row.proId; |
| | | row.isLoading = true; |
| | | if (row.type == "2") { |
| | | huifu(tjNUm, proId).then((res) => { |
| | | if (res.code == 200) { |
| | | cSWebGetPro(tjNUm).then((res) => { |
| | | if (res.code === 200) { |
| | | // 更新右边表格的数据 |
| | | this.xiangmuList = res.data; |
| | | row.isLoading = false; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | qijian(tjNUm, proId).then((res) => { |
| | | if (res.code == 200) { |
| | | cSWebGetPro(tjNUm).then((res) => { |
| | | if (res.code === 200) { |
| | | // 更新右边表格的数据 |
| | | this.xiangmuList = res.data; |
| | | this.isLoading = false; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | yijian(row) { |
| | | const tjNUm = this.selectedTjNumber; |
| | | const proId = row.proId; |
| | | row.isLoading = true; |
| | | yijian(tjNUm, proId) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("已检成功"); |
| | | cSWebGetPro(tjNUm).then((res) => { |
| | | if (res.code === 200) { |
| | | this.xiangmuList = res.data; |
| | | row.isLoading = false; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | row.isLoading = false; |
| | | }); |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.imgsrc = selection[0].picturePath; |
| | | this.tjNumber = selection[0].customer.tjNumber; |
| | | this.ids = selection.map((item) => item.id); |
| | | selection.forEach((element) => { |
| | | this.tableList = element.list; |
| | | if (this.tableList.length != 0) { |
| | | this.tableList.forEach((item) => { |
| | | this.form.proResult = item.proResult; |
| | | this.form.conclusion = item.conclusion; |
| | | }); |
| | | this.$nextTick(() => { |
| | | this.$refs.mu.toggleRowSelection(this.tableList[0], true); |
| | | }); |
| | | } else { |
| | | this.$refs.mu.clearSelection(); |
| | | } |
| | | }); |
| | | // this.tableList.forEach(item => { |
| | | // this.imgsrc = item.xdt |
| | | // }) |
| | | if (selection.length > 1) { |
| | | let del_row = selection.shift(); |
| | | this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中 |
| | | } |
| | | this.single = selection.length !== 1; |
| | | this.multiple = !selection.length; |
| | | }, |
| | | |
| | | 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; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | handleChanges(value,yxbx) { |
| | | this.form.conclusion = value; |
| | | this.form.proResult = yxbx; |
| | | }, |
| | | |
| | | submiepilog() { |
| | | this.$refs.aaa.open = true; |
| | | let proId = "1633660948860522585"; |
| | | // let proId = null |
| | | this.$refs.aaa.getList(proId); |
| | | |
| | | }, |
| | | tupian() { |
| | | this.dialogVisible = true; |
| | | }, |
| | | // 确定按钮 |
| | | submito() { |
| | | /* if (this.dataobj) { |
| | | if (this.form.proResult) { |
| | | this.dataobj.proResult = this.form.proResult; |
| | | } |
| | | if (this.form.conclusion) { |
| | | this.dataobj.conclusion = this.form.conclusion; |
| | | } |
| | | updatePicture(this.dataobj).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.getList(); |
| | | this.form.proResult = ""; |
| | | this.form.conclusion = ""; |
| | | }); |
| | | } else { |
| | | this.$modal.msgSuccess("选择修改项目"); |
| | | } */ |
| | | if (!this.selectedRow || !this.selectedRow.proId) { |
| | | console.error("未选中行或缺少 proId"); |
| | | return; |
| | | } |
| | | console.log(this.selectedRow.proId, 96); |
| | | const proId = this.selectedRow.proId; |
| | | const jcsj = this.form.proResult; // 获取检查所见 |
| | | const jcjl = this.form.conclusion; // 获取检查结论 |
| | | |
| | | // 确保 jcsj 和 jcjl 存在 |
| | | if (!jcsj || !jcjl) { |
| | | console.error("检查所见或检查结论不能为空"); |
| | | return; |
| | | } |
| | | |
| | | addYxJcXx({ |
| | | proId: proId, |
| | | tjNumber: this.selectedTjNumber, |
| | | jcsj: jcsj, // 传递检查所见 |
| | | jcjl: jcjl, // 传递检查结论 |
| | | }) |
| | | .then((response) => { |
| | | console.log("提交成功", response); |
| | | this.submitForm(); |
| | | |
| | | this.form.proResult = ""; |
| | | this.form.conclusion = ""; |
| | | }) |
| | | .catch((error) => { |
| | | console.error("提交失败", error); |
| | | }); |
| | | }, |
| | | |
| | | //删除按钮 |
| | | handleDelete() {}, |
| | | |
| | | // 导出 |
| | | handleExport() {}, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | #table .el-table__header-wrapper .el-checkbox { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | .default-button-style :hover { |
| | | width: 80px; |
| | | border-bottom: none; |
| | | width: 80px; |
| | | border-bottom: none; |
| | | } |
| | | |
| | | |
| | | .rightImg { |
| | | display: inline-block; |
| | | width: 740px; |
| | | height: 800px; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | /* border: 1px solid red; */ |
| | | display: inline-block; |
| | | width: 740px; |
| | | height: 800px; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | /* border: 1px solid red; */ |
| | | } |
| | | |
| | | /* 右边的区域图片放大空间 */ |
| | | .right { |
| | | margin-left: 412px; |
| | | width: 340px; |
| | | height: 400px; |
| | | border: 1px solid black; |
| | | position: relative; |
| | | overflow: hidden; |
| | | margin-left: 412px; |
| | | width: 340px; |
| | | height: 400px; |
| | | border: 1px solid black; |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* 一个最高层层罩 */ |
| | | .maskTop { |
| | | width: 400px; |
| | | height: 400px; |
| | | position: absolute; |
| | | z-index: 1; |
| | | top: 0; |
| | | left: 0; |
| | | width: 400px; |
| | | height: 400px; |
| | | position: absolute; |
| | | z-index: 1; |
| | | top: 0; |
| | | left: 0; |
| | | } |
| | | |
| | | /* 层罩,通过定位将左上角定位到(0,0) */ |
| | | .top { |
| | | width: 200px; |
| | | height: 200px; |
| | | background-color: #1890ff; |
| | | opacity: 0.4; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 200px; |
| | | height: 200px; |
| | | background-color: #1890ff; |
| | | opacity: 0.4; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | } |
| | | |
| | | /* 原图的显示 */ |
| | | .leftImg { |
| | | width: 400px; |
| | | height: 400px; |
| | | display: inline-block; |
| | | width: 400px; |
| | | height: 400px; |
| | | display: inline-block; |
| | | } |
| | | |
| | | /* 原图的容器 */ |
| | | .left { |
| | | width: 400px; |
| | | height: 400px; |
| | | /* border: 1px solid teal; */ |
| | | float: left; |
| | | position: relative; |
| | | width: 400px; |
| | | height: 400px; |
| | | /* border: 1px solid teal; */ |
| | | float: left; |
| | | position: relative; |
| | | } |
| | | </style> |