src/api/doctor/check.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/hosp/getAddress.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/check/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/imaging/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/test/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/hosp/getAddress/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/tijian/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/doctor/check.js
@@ -9,6 +9,16 @@ }) } // 体检科室列表显示接口 export function huaYangetProList(query) { return request({ url: '/system/dept/huaYangetProList', method: 'get', params:query }) } // 点击详情 显示子项目详情 和父项目名 export function getSons(tjNumber) { return request({ src/api/hosp/getAddress.js
New file @@ -0,0 +1,45 @@ import request from '@/utils/request' // 查询体检报告收货地址列表 export function listGetAddress(query) { return request({ url: '/hosp/getAddress/list', method: 'get', params: query }) } // 查询体检报告收货地址详细 export function getGetAddress(id) { return request({ url: '/hosp/getAddress/' + id, method: 'get' }) } // 新增体检报告收货地址 export function addGetAddress(data) { return request({ url: '/hosp/getAddress', method: 'post', data: data }) } // 修改体检报告收货地址 export function updateGetAddress(data) { return request({ url: '/hosp/getAddress', method: 'put', data: data }) } // 删除体检报告收货地址 export function delGetAddress(id) { return request({ url: '/hosp/getAddress/remove', method: 'delete', data:id }) } src/views/doctor/check/index.vue
@@ -77,6 +77,7 @@ </el-table> </el-col> <el-col :span="14"> <h3 style="text-align: center;">会诊记录申请</h3> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="姓名" prop="cusName"> <el-input v-model="form.cusName" placeholder="请输入姓名" disabled /> src/views/doctor/imaging/index.vue
New file @@ -0,0 +1,1234 @@ <template> <div> <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-form-item> <el-form-item label="体检号" prop="tjNumber"> <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" @click="resetQuery">重置</el-button> </el-form-item> </el-form> <div style="display: flex;"> <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> </div> <template> <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="160px" /> <el-table-column label="姓名" align="center" prop="cusName" width="90px" /> <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 == '1'">女</span> <span v-if="scope.row.cusSex == '2'">未知</span> <span v-if="scope.row.cusSex == '9'">未说明性别</span> </template> </el-table-column> <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" /> <el-table-column label="电话" align="center" prop="cusPhone" width="100px" /> <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="100px" /> <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" /> <el-table-column label="操作" align="center" width="130px"> <template slot-scope="scope"> <el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)" title="会诊申请" v-if="tjStatus == '1'"></el-button> <el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)" title="详情"></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" /> </div> </div> </template> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> <el-row> <el-col :span="9" v-if="hzlogList.length >= 1"> <h3>会诊申请记录</h3> <el-table :data="hzlogList" style="width: 100%" border> <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> <el-table-column label="科室" align="center" prop="hzDeptName" /> <el-table-column label="操作" align="center" width="150px"> <template slot-scope="scope"> <el-button type="primary" size="mini" @click="hadleedit(scope.row)" v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId">修改</el-button> <el-button type="primary" size="mini" v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId" @click="handledele(scope.row)">删除</el-button> </template> </el-table-column> </el-table> </el-col> <el-col :span="14"> <h3 style="text-align: center;">会诊记录申请</h3> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="姓名" prop="cusName"> <el-input v-model="form.cusName" placeholder="请输入姓名" disabled /> </el-form-item> <el-form-item label="体检号" prop="tjNumber"> <el-input v-model="form.tjNumber" placeholder="请输入体检号" disabled /> </el-form-item> <el-form-item label="会诊科室" prop="hzType"> <el-radio-group v-model="form.hzType"> <el-radio-button label="0">全院会诊</el-radio-button> <el-radio-button label="1">科室会诊</el-radio-button> </el-radio-group> </el-form-item> <el-form-item label="选择科室" v-if="form.hzType == '1'"> <el-select v-model="form.hzDeptId" multiple filterable style="width: 100%"> <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"></el-option> </el-select> </el-form-item> <el-form-item label="申请人" prop="hzDoctorId"> <el-select v-model="form.hzDoctorId" placeholder="请选择" style="width: 100%" filterable> <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> </el-option> </el-select> </el-form-item> <!-- <el-form-item label="申请时间" prop="createTime"> <el-date-picker v-model="form.createTime" type="datetime" placeholder="选择申请时间"> </el-date-picker> </el-form-item> --> </el-form> </el-col> </el-row> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitFormapply">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body> <el-row> <el-col :span="8" v-if="hasdeptList.length >= 1"> <h3 style="text-align: center;">会诊申请记录</h3> <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="50" align="center" /> <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" /> </el-table> </el-col> <el-col :span="16" style="padding: 0 10px;"> <h3 style="text-align: center;">会诊意见</h3> <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;"> <div v-for="(item, index) in hzReplyLogsList" :key="index" style="padding-bottom:5px;border-bottom: 1px solid black;"> <!-- <div>会诊科室:{{ item.replyDeptName }}</div> --> <div> 医生:{{ item.hzDoctorName }} </div> <div>回复:{{ item.replyContent }}</div> </div> </div> <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"> </el-input> <div style="padding: 10px 10px;"> <el-button type="primary" @click="submitFormreply">回复</el-button> </div> </el-col> </el-row> <!-- <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitFormapply">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> --> </el-dialog> <el-dialog :title="title" :visible.sync="tuweiopen" width="1000px" append-to-body> <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="50" align="center" /> <el-table-column label="科室" align="center" prop="hzDeptName" width="100px" /> <el-table-column label="项目" align="center" prop="hzDoctorName" width="100px" /> </el-table> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submittuwei">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <!-- 点击右边弹出层 --> <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> <div style="font-size: 14px"> <table style=" width: 96%; height:70px margin: 10px 10px; margin-bottom:10px border: 1px solid #dfe6ec; border-collapse: collapse; font-size:16px " 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> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ tableAll.cusName }} <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> </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> 性别: </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ tableAll.cusSex }} </td> </tr> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> <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> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ date }} </td> </tr> </table> </div> <div> <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;"> <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</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"> {{ 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"> {{ 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> <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> <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> <!-- <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"> <tr align="center"> <th>检测项目</th> <th>检测结果</th> <th>单位</th> <th>参考范围</th> </tr> <tr> <td>{{ item.project.proName }}</td> <td><el-input v-model="item.proResult" placeholder="请输入内容"></el-input></td> <td>{{ item.standard.company }}</td> <td>{{ item.standard.tjStandardGtValue + "-" + item.standard.tjStandardLtValue }}</td> </tr> <tr> <td>小结:</td> <td> <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width:100%"> <el-option v-for="item in proParentList.parentAdvice" :key="item.id" :label="item.title" :value="item.id"> </el-option> </el-select> </td> <td>主检医师:</td> <td>{{ item.doctorName }}</td> </tr> <tr> <td>备注:</td> <td colspan="2"> <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark"> </el-input> </td> </tr> </table> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="determine">确 定</el-button> </div> </div> --> </el-drawer> <Public ref="aaa" :row="row" @add="handleChanges" /> </div> </template> <script> import Public from "@/components/public"; import { getInfo } from "@/api/login"; import { huaYangetProList, getSons, getaddRemark, getParentList, getParentId, getDeptAdvice, } from "@/api/doctor/check"; import { addReplylog, hzHasDept } from "@/api/hosp/replylog"; import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog"; import { listUser } from "@/api/system/user"; import { getChildList } from "@/api/system/dept"; export default { dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type"], name: "check", components: { Public }, data() { return { selected: false, // 遮罩层 loading: false, open: false, foropen: false, tuweiopen: false, cateringList: [], orderDetailId: "", textarea: "", title: "", hzlogList: [], // proDefault: "", // dataList: [], rows: [], id: [], deptAdviceList: [], value: [], remark: "", //备注 remarks: "", // 总条数 total: 0, // 绑定单选按钮 tjStatus: "0", // 抽屉打开方式 drawer: false, // 获取抽屉列表 drawerList: [], // 获取信息集合 tableList: [], deptList: [], tableAll: {}, row: {}, info: {}, allList: [], form: { createTime: new Date() }, // 医生 doctorName: "", // 父项 proName: "", // 父项Id proId: "", company: "", tjStandardGtValue: "", // 用户表格数据 userList: null, // 父项目列表 Parent: [], hzReplyLogsList: [], hasdeptList: [], radio: "", nums: "", proParentList: [], tjNumber: "", // 全部小结 DeptadviceAll: [], // 小结 summaryList: [], summaryAll: [], tjOrderDetailList: [], tjOrderDetail: [], deptId: "", userId: "", nickName: "", date: new Date(new Date().getTime() + 8 * 3600 * 1000) .toJSON() .substr(0, 19) .replace("T", " "), // 查询参数 queryParams: { page: 1, pageSize: 10, tjNumber: "", type: "", name: null, }, rules: { hzType: [ { required: true, message: '请选择科室', trigger: 'change' } ] } }; }, created() { this.getList(); this.getListUser(); }, mounted() { let _this = this; this.timer = setInterval(() => { _this.date = new Date(new Date().getTime() + 8 * 3600 * 1000) .toJSON() .substr(0, 19) .replace("T", " "); }, 1000); this.$nextTick(() => { this.$refs.inputName.focus(); }); }, beforeDestroy() { if (this.timer) { clearInterval(this.timer); } }, methods: { /** 查询用户列表 */ getListUser() { listUser(this.addDateRange(this.queryParams, this.dateRange)).then( (response) => { this.userList = response.rows; } ); getInfo().then((response) => { this.info = response.user this.deptId = response.user.deptId; this.userId = response.user.userId; this.nickName = response.user.nickName; }); }, handleClose() { this.$tab.refreshPage(); }, // 获取医生 selName(val) { this.doctorName = val; // this.userList.forEach(item =>{ // if(val === item.userId){ // this.doctorName = item.nickName // } // }) }, // 小结获取备注 sel(val) { if (this.proParentList.xiaoJie.length != 0) { this.proParentList.remark = ""; this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { if ( item1 === item.id && !this.proParentList.remark.includes(item.title) ) { if (this.proParentList.remark) { this.proParentList.remark += item.title + ","; } else { this.proParentList.remark = item.title + ","; } } }); }); } else { this.proParentList.remark = ""; this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { if ( item1 === item.id && !this.proParentList.remark.includes(item.title) ) { if (this.proParentList.remark) { this.proParentList.remark += item.title + ","; } else { this.proParentList.remark = item.title + ","; } } }); }); } }, vale(datas) { this.proResult = datas; // this.$refs.aaa.open = true; // this.$refs.aaa.getList(); }, // 规则 handleguize(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; }, getList() { this.queryParams.type = this.tjStatus; huaYangetProList(this.queryParams).then((response) => { if (response.data) { if (response.data.date) { this.tableList = response.data.date; } else { this.tableList = response.data.customers; } this.total = response.data.total; } else { this.tableList = []; } }); }, // 单选按钮 radioChange(val) { this.queryParams.type = val; huaYangetProList(this.queryParams).then((response) => { if (response.data) { this.tableList = response.data.date; this.total = response.data.total; } else { this.tableList = []; } }); }, // 搜索 submitForm() { this.queryParams.pageNum = 1; this.getList(); // this.loading = true; // (this.queryParams = { // page: 1, // pageSize: 10, // tjNumber: this.queryParams.tjNumber, // name: this.queryParams.name, // }), // getProList(this.queryParams).then((response) => { // if (response.data) { // if (response.data.customers) { // this.tableList = response.data.customers; // this.loading = false; // this.tableList.forEach((item) => { // this.tjStatus = item.tjStatus; // }); // } else { // this.tableList = response.data.customers; // this.tableList.forEach((item) => { // this.tjStatus = item.tjStatus; // }); // } // this.total = response.data.total; // } else { // this.tableList = []; // } // }); }, // 重置 resetQuery() { this.resetForm("tableList"); this.submitForm(); }, Changeapplyfor(row) { this.open = true; this.form = row this.form.hzDoctorId = this.info.userId; getChildList().then(res => { this.deptList = res.data; }) this.Hzlog(this.form.tjNumber) }, Graphicreport() { this.drawer = false; this.tuweiopen = true }, submittuwei(){ }, Hzlog(val) { let data = { tjNumber: val } listHzlog(data).then(response => { this.hzlogList = response.rows; this.hzlogList.forEach(item => { item.hzDeptName = "" if (item.hzType == "0") { item.hzDeptName = "全院会诊" } else { item.hzDeptIdList.forEach(item1 => { this.deptList.forEach(item2 => { if (item1 == item2.deptId) { item.hzDeptName += item2.deptName + "," } }) }) } }) }); }, handledele(row) { this.id = [] this.id.push(row.id) delHzlog(this.id).then(res => { this.$modal.msgSuccess("删除成功"); this.Hzlog(this.form.tjNumber) }) }, hadleedit(row) { this.form.hzType = row.hzType this.form.id = row.id }, submitFormapply() { console.log(this.form) let data = {} this.userList.forEach(item1 => { if (this.form.hzDoctorId == item1.userId) { this.form.hzDoctorName = item1.nickName } }) if (this.form.hzType != undefined) { if (this.form.hzDeptId && this.form.id) { // let hzDeptId = "" // this.form.hzDeptId.forEach(item => { // hzDeptId += item + ',' // }) data = { tjNumber: this.form.tjNumber, userId: this.form.cusId, userName: this.form.cusName, hzDeptIdList: this.form.hzDeptId, hzDoctorId: this.form.hzDoctorId, hzType: this.form.hzType, orderId: this.form.orderId, hzDoctorName: this.form.hzDoctorName, id: this.form.id } } else { data = { tjNumber: this.form.tjNumber, userId: this.form.cusId, userName: this.form.cusName, hzDoctorId: this.form.hzDoctorId, hzType: this.form.hzType, orderId: this.form.orderId, hzDoctorName: this.form.hzDoctorName } } this.$refs["form"].validate((valid) => { if (valid) { if (this.form.id != null) { updateHzlog(data).then(res => { if (res.code == 200) { this.$modal.msgSuccess("修改成功"); this.form = {} this.Hzlog() this.radioChange(1) } }) } else { addHzlog(data).then(res => { if (res.code == 200) { this.$modal.msgSuccess("申请成功"); this.form = {} this.Hzlog() this.radioChange(1) } }) this.open = false; } } }) } else { this.$modal.msgError("请选择会诊科室"); } }, cancel() { this.open = false; this.foropen = false }, Changeapply() { this.foropen = true this.Hzlog(this.tableAll.tjNumber) }, submitFormreply() { let data = { hzId: this.allList[0].id, orderId: this.allList[0].orderId, tjNumber: this.allList[0].tjNumber, userId: this.allList[0].userId, userName: this.allList[0].userName, replyContent: this.textarea, hzDoctorId: this.allList[0].hzDoctorId, hzDoctorName: this.allList[0].hzDoctorName, hzType: this.allList[0].hzType, replyDoctorName: this.nickName, replyDeptId: this.deptId, replyDoctorId: this.userId } addReplylog(data).then(res => { this.$modal.msgSuccess("回复成功"); this.getDept(this.allList[0].tjNumber) }) }, // 多选框选中数据 handleSelectionChange(selection) { if (selection.length > 1) { const newRows = selection.filter((it, index) => { if (index == selection.length - 1) { this.$refs.tab.toggleRowSelection(it, true); return true; } else { this.$refs.tab.toggleRowSelection(it, false); return false; } }); // this.allList = [] // if(newRows[0].hzReplyLogsList){ // this.hzReplyLogsList = newRows[0].hzReplyLogsList // } // console.log(this.hzReplyLogsList) // this.allList = newRows } else { this.allList = [] if (selection[0]) { if (selection[0].hzReplyLogsList) { this.hzReplyLogsList = selection[0].hzReplyLogsList } } else { this.hzReplyLogsList = [] } this.allList = selection } }, // 点击详情 handleClick(row) { this.getDept(row.tjNumber) this.loading = true; this.drawer = true; this.tableAll = row; if (this.tableAll.cusSex === 0) { this.tableAll.cusSex = "男"; } if (this.tableAll.cusSex === 1) { this.tableAll.cusSex = "女"; } this.tjNumber = row.tjNumber; let num = 0; getParentList(this.tjNumber).then((response) => { this.Parent = response.data; this.Parent.forEach((item) => { if (item.type === 1) { item.proName += " ✔"; } if (num === 0) { this.nums = item.proId; this.radio = item.proId; this.proId = item.proId; // this.radioChange1(item.proId, item); let data = { tjNumber: this.tjNumber, proParentId: this.nums, }; getParentId(data).then((response) => { this.proParentList = response.data; this.loading = false; this.value = []; if (this.proParentList.xiaoJieIds != null) { if (this.proParentList.xiaoJieIds.length != 0) { this.proParentList.xiaoJieIds.forEach((item2) => { let item = Number(item2) this.value.push(item); }); } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; if (item.isReturn == 1) { item.isReturn = true; } if (item.isReturn == 0) { item.isReturn = false; } if (item.exceptionDesc == "1") { item.exceptionDesc = true; } if (item.exceptionDesc == "0") { item.exceptionDesc = false; } }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { if (item3.proId === this.nums) { this.proParentList.remark = item.remark; } }); } else { this.proParentList.remark = ""; } }); getDeptAdvice(this.proId).then((response) => { this.deptAdviceList = response.data; }); } num = num + 1; }); }); getDeptAdvice().then((response) => { this.deptAdviceList = response.data; }); // getSons(this.tjNumber).then((response) => { // response.data.forEach(item1 => { // if (item1.parent == '肝功检查') { // this.DeptadviceAll = item1.parentAdvices // } // }) // }); // 获取小结 // getDeptadvice().then((response) => { // response.data.forEach(item => { // this.DeptadviceAll = item // }) // }); }, getDept(val) { let data = { tjNumber: val, deptId: this.deptId } hzHasDept(data).then(res => { if (res.data) { this.hasdeptList = res.data this.hasdeptList.forEach(item => { item.hzDeptName = "" if (item.hzType == "0") { item.hzDeptName = "全院会诊" } else { item.hzDeptIdList.forEach(item1 => { this.deptList.forEach(item2 => { if (item1 == item2.deptId) { item.hzDeptName += item2.deptName + "," } }) }) } }) } }) }, // 按钮点击事件 radioChange1(proParentId, item) { this.$confirm( "检测到体检结果未提交,是否在离开该项目前提交修改?", "确认信息", { distinguishCancelAndClose: true, confirmButtonText: "提交", cancelButtonText: "不保存,离开", } ) .then(() => { // 体检号 let tjNumber = this.tableAll.tjNumber; this.userList.forEach((item) => { if (this.doctorName == item.nickName) { this.doctorName = item.userId; } }); this.proParentList.sons.forEach((item) => { if (this.rows) { this.rows.forEach((item1) => { if (item1 === item) { item = item1; } // if (item.isReturn == true) { // item.isReturn = 1; // } // if (item.isReturn == false) { // item.isReturn = 0; // } }); } this.tjOrderDetail.push({ proName: item.project.proName, proId: item.project.proId, orderDetailId: item.orderDetailId, flowingWaterId: item.flowingWaterId, proResult: item.proResult, tjStatus: 1, isReturn: item.isReturn === true ? 1 : 0, exceptionDesc: item.exceptionDesc === true ? 1 : 0, conclusion: item.conclusion, rulesList: item.rulesList, }); }); var data = [ { tjNumber, proId: this.proId, remark: this.proParentList.remark, // 备注 proName: this.proName, //父项 summaryList: this.value, //小结 doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }, ]; getaddRemark(data).then((res) => { this.$modal.msgSuccess("提交成功"); }); this.proName = item.proName; this.nums = proParentId; this.proId = proParentId; var data = { tjNumber: this.tjNumber, proParentId: this.nums, }; getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; if (this.proParentList.xiaoJieIds != null) { if (this.proParentList.xiaoJieIds.length != 0) { this.proParentList.xiaoJieIds.forEach((item2) => { let item = Number(item2) this.value.push(item); }); } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; if (item.isReturn == 1) { item.isReturn = true; } if (item.isReturn == 0) { item.isReturn = false; } if (item.exceptionDesc == "1") { item.exceptionDesc = true; } if (item.exceptionDesc == "0") { item.exceptionDesc = false; } }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { if (item3.proId === proParentId) { this.remark = item.remark; } }); } else { this.remark = ""; } }); getDeptAdvice(this.proId).then((response) => { this.deptAdviceList = response.data; }); }) .catch((action) => { this.$message({ type: "info", message: action === "cancel" ? "放弃保存并离开" : "停留在当前页面", }); this.proName = item.proName; this.nums = proParentId; this.proId = proParentId; let data = { tjNumber: this.tjNumber, proParentId: this.nums, }; getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; if (this.proParentList.xiaoJieIds != null) { if (this.proParentList.xiaoJieIds.length != 0) { this.proParentList.xiaoJieIds.forEach((item2) => { let item = Number(item2) this.value.push(item); }); } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; if (item.isReturn == 1) { item.isReturn = true; } if (item.isReturn == 0) { item.isReturn = false; } if (item.exceptionDesc == "1") { item.exceptionDesc = true; } if (item.exceptionDesc == "0") { item.exceptionDesc = false; } }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { if (item3.proId === proParentId) { this.remark = item.remark; } }); } else { this.remark = ""; } }); getDeptAdvice(this.proId).then((response) => { this.deptAdviceList = response.data; }); }); }, handleInputConfirm(row) { this.rows.push(row); }, // 点击确认 determine() { // 体检号 let tjNumber = this.tableAll.tjNumber; this.userList.forEach((item) => { if (this.doctorName == item.nickName) { this.doctorName = item.userId; } }); this.proParentList.sons.forEach((item) => { if (this.rows) { this.rows.forEach((item1) => { if (item1 === item) { item = item1; } // if (item.isReturn == true) { // item.isReturn = 1; // } // if (item.isReturn == false) { // item.isReturn = 0; // } }); } this.tjOrderDetail.push({ proName: item.project.proName, proId: item.project.proId, orderDetailId: item.orderDetailId, flowingWaterId: item.flowingWaterId, proResult: item.proResult, tjStatus: 1, isReturn: item.isReturn === true ? 1 : 0, exceptionDesc: item.exceptionDesc === true ? 1 : 0, conclusion: item.conclusion, rulesList: item.rulesList, }); }); let data = [ { tjNumber, proId: this.proId, remark: this.proParentList.remark, // 备注 proName: this.proName, //父项 summaryList: this.value, //小结 doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }, ]; getaddRemark(data).then((res) => { this.$modal.msgSuccess("提交成功"); this.drawer = false; }); this.handleClose(); }, }, }; </script> <style scoped> .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; text-overflow: ellipsis; white-space: normal; word-break: break-all; line-height: 23px; padding-left: 10px; padding-right: 10px; } .blue-button { width: 10px; background-color: #e2e3e4; } .el-button--medium { padding: 4px 14px; font-size: 14px; } .dialog-footers { margin-top: 10px; margin-left: calc(100% - 10%); } .pag { width: 100%; display: flex; justify-content: center; } .pag1 { width: 30%; } </style> src/views/doctor/test/index.vue
New file @@ -0,0 +1,1234 @@ <template> <div> <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-form-item> <el-form-item label="体检号" prop="tjNumber"> <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" @click="resetQuery">重置</el-button> </el-form-item> </el-form> <div style="display: flex;"> <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> </div> <template> <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="160px" /> <el-table-column label="姓名" align="center" prop="cusName" width="90px" /> <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 == '1'">女</span> <span v-if="scope.row.cusSex == '2'">未知</span> <span v-if="scope.row.cusSex == '9'">未说明性别</span> </template> </el-table-column> <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" /> <el-table-column label="电话" align="center" prop="cusPhone" width="100px" /> <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="100px" /> <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" /> <el-table-column label="操作" align="center" width="130px"> <template slot-scope="scope"> <el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)" title="会诊申请" v-if="tjStatus == '1'"></el-button> <el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)" title="详情"></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" /> </div> </div> </template> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> <el-row> <el-col :span="9" v-if="hzlogList.length >= 1"> <h3>会诊申请记录</h3> <el-table :data="hzlogList" style="width: 100%" border> <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> <el-table-column label="科室" align="center" prop="hzDeptName" /> <el-table-column label="操作" align="center" width="150px"> <template slot-scope="scope"> <el-button type="primary" size="mini" @click="hadleedit(scope.row)" v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId">修改</el-button> <el-button type="primary" size="mini" v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId" @click="handledele(scope.row)">删除</el-button> </template> </el-table-column> </el-table> </el-col> <el-col :span="14"> <h3 style="text-align: center;">会诊记录申请</h3> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="姓名" prop="cusName"> <el-input v-model="form.cusName" placeholder="请输入姓名" disabled /> </el-form-item> <el-form-item label="体检号" prop="tjNumber"> <el-input v-model="form.tjNumber" placeholder="请输入体检号" disabled /> </el-form-item> <el-form-item label="会诊科室" prop="hzType"> <el-radio-group v-model="form.hzType"> <el-radio-button label="0">全院会诊</el-radio-button> <el-radio-button label="1">科室会诊</el-radio-button> </el-radio-group> </el-form-item> <el-form-item label="选择科室" v-if="form.hzType == '1'"> <el-select v-model="form.hzDeptId" multiple filterable style="width: 100%"> <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"></el-option> </el-select> </el-form-item> <el-form-item label="申请人" prop="hzDoctorId"> <el-select v-model="form.hzDoctorId" placeholder="请选择" style="width: 100%" filterable> <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> </el-option> </el-select> </el-form-item> <!-- <el-form-item label="申请时间" prop="createTime"> <el-date-picker v-model="form.createTime" type="datetime" placeholder="选择申请时间"> </el-date-picker> </el-form-item> --> </el-form> </el-col> </el-row> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitFormapply">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body> <el-row> <el-col :span="8" v-if="hasdeptList.length >= 1"> <h3 style="text-align: center;">会诊申请记录</h3> <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="50" align="center" /> <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" /> </el-table> </el-col> <el-col :span="16" style="padding: 0 10px;"> <h3 style="text-align: center;">会诊意见</h3> <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;"> <div v-for="(item, index) in hzReplyLogsList" :key="index" style="padding-bottom:5px;border-bottom: 1px solid black;"> <!-- <div>会诊科室:{{ item.replyDeptName }}</div> --> <div> 医生:{{ item.hzDoctorName }} </div> <div>回复:{{ item.replyContent }}</div> </div> </div> <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"> </el-input> <div style="padding: 10px 10px;"> <el-button type="primary" @click="submitFormreply">回复</el-button> </div> </el-col> </el-row> <!-- <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitFormapply">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> --> </el-dialog> <el-dialog :title="title" :visible.sync="tuweiopen" width="1000px" append-to-body> <el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="50" align="center" /> <el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" /> <el-table-column label="科室" align="center" prop="hzDeptName" width="260px" /> </el-table> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submittuwei">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <!-- 点击右边弹出层 --> <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> <div style="font-size: 14px"> <table style=" width: 96%; height:70px margin: 10px 10px; margin-bottom:10px border: 1px solid #dfe6ec; border-collapse: collapse; font-size:16px " 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> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ tableAll.cusName }} <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> </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> 性别: </td> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ tableAll.cusSex }} </td> </tr> <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> <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> <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> {{ date }} </td> </tr> </table> </div> <div> <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;"> <el-button type="primary" size="mini" @click="Graphicreport()">图文报告</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"> {{ 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"> {{ 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> <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> <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> <!-- <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"> <tr align="center"> <th>检测项目</th> <th>检测结果</th> <th>单位</th> <th>参考范围</th> </tr> <tr> <td>{{ item.project.proName }}</td> <td><el-input v-model="item.proResult" placeholder="请输入内容"></el-input></td> <td>{{ item.standard.company }}</td> <td>{{ item.standard.tjStandardGtValue + "-" + item.standard.tjStandardLtValue }}</td> </tr> <tr> <td>小结:</td> <td> <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width:100%"> <el-option v-for="item in proParentList.parentAdvice" :key="item.id" :label="item.title" :value="item.id"> </el-option> </el-select> </td> <td>主检医师:</td> <td>{{ item.doctorName }}</td> </tr> <tr> <td>备注:</td> <td colspan="2"> <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark"> </el-input> </td> </tr> </table> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="determine">确 定</el-button> </div> </div> --> </el-drawer> <Public ref="aaa" :row="row" @add="handleChanges" /> </div> </template> <script> import Public from "@/components/public"; import { getInfo } from "@/api/login"; import { huaYangetProList, getSons, getaddRemark, getParentList, getParentId, getDeptAdvice, } from "@/api/doctor/check"; import { addReplylog, hzHasDept } from "@/api/hosp/replylog"; import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog"; import { listUser } from "@/api/system/user"; import { getChildList } from "@/api/system/dept"; export default { dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type"], name: "check", components: { Public }, data() { return { selected: false, // 遮罩层 loading: false, open: false, foropen: false, tuweiopen: false, cateringList: [], orderDetailId: "", textarea: "", title: "", hzlogList: [], // proDefault: "", // dataList: [], rows: [], id: [], deptAdviceList: [], value: [], remark: "", //备注 remarks: "", // 总条数 total: 0, // 绑定单选按钮 tjStatus: "0", // 抽屉打开方式 drawer: false, // 获取抽屉列表 drawerList: [], // 获取信息集合 tableList: [], deptList: [], tableAll: {}, row: {}, info: {}, allList: [], form: { createTime: new Date() }, // 医生 doctorName: "", // 父项 proName: "", // 父项Id proId: "", company: "", tjStandardGtValue: "", // 用户表格数据 userList: null, // 父项目列表 Parent: [], hzReplyLogsList: [], hasdeptList: [], radio: "", nums: "", proParentList: [], tjNumber: "", // 全部小结 DeptadviceAll: [], // 小结 summaryList: [], summaryAll: [], tjOrderDetailList: [], tjOrderDetail: [], deptId: "", userId: "", nickName: "", date: new Date(new Date().getTime() + 8 * 3600 * 1000) .toJSON() .substr(0, 19) .replace("T", " "), // 查询参数 queryParams: { page: 1, pageSize: 10, tjNumber: "", type: "", name: null, }, rules: { hzType: [ { required: true, message: '请选择科室', trigger: 'change' } ] } }; }, created() { this.getList(); this.getListUser(); }, mounted() { let _this = this; this.timer = setInterval(() => { _this.date = new Date(new Date().getTime() + 8 * 3600 * 1000) .toJSON() .substr(0, 19) .replace("T", " "); }, 1000); this.$nextTick(() => { this.$refs.inputName.focus(); }); }, beforeDestroy() { if (this.timer) { clearInterval(this.timer); } }, methods: { /** 查询用户列表 */ getListUser() { listUser(this.addDateRange(this.queryParams, this.dateRange)).then( (response) => { this.userList = response.rows; } ); getInfo().then((response) => { this.info = response.user this.deptId = response.user.deptId; this.userId = response.user.userId; this.nickName = response.user.nickName; }); }, handleClose() { this.$tab.refreshPage(); }, // 获取医生 selName(val) { this.doctorName = val; // this.userList.forEach(item =>{ // if(val === item.userId){ // this.doctorName = item.nickName // } // }) }, // 小结获取备注 sel(val) { if (this.proParentList.xiaoJie.length != 0) { this.proParentList.remark = ""; this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { if ( item1 === item.id && !this.proParentList.remark.includes(item.title) ) { if (this.proParentList.remark) { this.proParentList.remark += item.title + ","; } else { this.proParentList.remark = item.title + ","; } } }); }); } else { this.proParentList.remark = ""; this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { if ( item1 === item.id && !this.proParentList.remark.includes(item.title) ) { if (this.proParentList.remark) { this.proParentList.remark += item.title + ","; } else { this.proParentList.remark = item.title + ","; } } }); }); } }, vale(datas) { this.proResult = datas; // this.$refs.aaa.open = true; // this.$refs.aaa.getList(); }, // 规则 handleguize(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; }, getList() { this.queryParams.type = this.tjStatus; huaYangetProList(this.queryParams).then((response) => { if (response.data) { if (response.data.date) { this.tableList = response.data.date; } else { this.tableList = response.data.customers; } this.total = response.data.total; } else { this.tableList = []; } }); }, // 单选按钮 radioChange(val) { this.queryParams.type = val; huaYangetProList(this.queryParams).then((response) => { if (response.data) { this.tableList = response.data.date; this.total = response.data.total; } else { this.tableList = []; } }); }, // 搜索 submitForm() { this.queryParams.pageNum = 1; this.getList(); // this.loading = true; // (this.queryParams = { // page: 1, // pageSize: 10, // tjNumber: this.queryParams.tjNumber, // name: this.queryParams.name, // }), // getProList(this.queryParams).then((response) => { // if (response.data) { // if (response.data.customers) { // this.tableList = response.data.customers; // this.loading = false; // this.tableList.forEach((item) => { // this.tjStatus = item.tjStatus; // }); // } else { // this.tableList = response.data.customers; // this.tableList.forEach((item) => { // this.tjStatus = item.tjStatus; // }); // } // this.total = response.data.total; // } else { // this.tableList = []; // } // }); }, // 重置 resetQuery() { this.resetForm("tableList"); this.submitForm(); }, Changeapplyfor(row) { this.open = true; this.form = row this.form.hzDoctorId = this.info.userId; getChildList().then(res => { this.deptList = res.data; }) this.Hzlog(this.form.tjNumber) }, Graphicreport() { this.drawer = false; }, submittuwei(){ }, Hzlog(val) { let data = { tjNumber: val } listHzlog(data).then(response => { this.hzlogList = response.rows; this.hzlogList.forEach(item => { item.hzDeptName = "" if (item.hzType == "0") { item.hzDeptName = "全院会诊" } else { item.hzDeptIdList.forEach(item1 => { this.deptList.forEach(item2 => { if (item1 == item2.deptId) { item.hzDeptName += item2.deptName + "," } }) }) } }) }); }, handledele(row) { this.id = [] this.id.push(row.id) delHzlog(this.id).then(res => { this.$modal.msgSuccess("删除成功"); this.Hzlog(this.form.tjNumber) }) }, hadleedit(row) { this.form.hzType = row.hzType this.form.id = row.id }, submitFormapply() { console.log(this.form) let data = {} this.userList.forEach(item1 => { if (this.form.hzDoctorId == item1.userId) { this.form.hzDoctorName = item1.nickName } }) if (this.form.hzType != undefined) { if (this.form.hzDeptId && this.form.id) { // let hzDeptId = "" // this.form.hzDeptId.forEach(item => { // hzDeptId += item + ',' // }) data = { tjNumber: this.form.tjNumber, userId: this.form.cusId, userName: this.form.cusName, hzDeptIdList: this.form.hzDeptId, hzDoctorId: this.form.hzDoctorId, hzType: this.form.hzType, orderId: this.form.orderId, hzDoctorName: this.form.hzDoctorName, id: this.form.id } } else { data = { tjNumber: this.form.tjNumber, userId: this.form.cusId, userName: this.form.cusName, hzDoctorId: this.form.hzDoctorId, hzType: this.form.hzType, orderId: this.form.orderId, hzDoctorName: this.form.hzDoctorName } } this.$refs["form"].validate((valid) => { if (valid) { if (this.form.id != null) { updateHzlog(data).then(res => { if (res.code == 200) { this.$modal.msgSuccess("修改成功"); this.form = {} this.Hzlog() this.radioChange(1) } }) } else { addHzlog(data).then(res => { if (res.code == 200) { this.$modal.msgSuccess("申请成功"); this.form = {} this.Hzlog() this.radioChange(1) } }) this.open = false; } } }) } else { this.$modal.msgError("请选择会诊科室"); } }, cancel() { this.open = false; this.foropen = false }, Changeapply() { this.foropen = true this.Hzlog(this.tableAll.tjNumber) }, submitFormreply() { let data = { hzId: this.allList[0].id, orderId: this.allList[0].orderId, tjNumber: this.allList[0].tjNumber, userId: this.allList[0].userId, userName: this.allList[0].userName, replyContent: this.textarea, hzDoctorId: this.allList[0].hzDoctorId, hzDoctorName: this.allList[0].hzDoctorName, hzType: this.allList[0].hzType, replyDoctorName: this.nickName, replyDeptId: this.deptId, replyDoctorId: this.userId } addReplylog(data).then(res => { this.$modal.msgSuccess("回复成功"); this.getDept(this.allList[0].tjNumber) }) }, // 多选框选中数据 handleSelectionChange(selection) { if (selection.length > 1) { const newRows = selection.filter((it, index) => { if (index == selection.length - 1) { this.$refs.tab.toggleRowSelection(it, true); return true; } else { this.$refs.tab.toggleRowSelection(it, false); return false; } }); // this.allList = [] // if(newRows[0].hzReplyLogsList){ // this.hzReplyLogsList = newRows[0].hzReplyLogsList // } // console.log(this.hzReplyLogsList) // this.allList = newRows } else { this.allList = [] if (selection[0]) { if (selection[0].hzReplyLogsList) { this.hzReplyLogsList = selection[0].hzReplyLogsList } } else { this.hzReplyLogsList = [] } this.allList = selection } }, // 点击详情 handleClick(row) { this.getDept(row.tjNumber) this.loading = true; this.drawer = true; this.tableAll = row; if (this.tableAll.cusSex === 0) { this.tableAll.cusSex = "男"; } if (this.tableAll.cusSex === 1) { this.tableAll.cusSex = "女"; } this.tjNumber = row.tjNumber; let num = 0; getParentList(this.tjNumber).then((response) => { this.Parent = response.data; this.Parent.forEach((item) => { if (item.type === 1) { item.proName += " ✔"; } if (num === 0) { this.nums = item.proId; this.radio = item.proId; this.proId = item.proId; // this.radioChange1(item.proId, item); let data = { tjNumber: this.tjNumber, proParentId: this.nums, }; getParentId(data).then((response) => { this.proParentList = response.data; this.loading = false; this.value = []; if (this.proParentList.xiaoJieIds != null) { if (this.proParentList.xiaoJieIds.length != 0) { this.proParentList.xiaoJieIds.forEach((item2) => { let item = Number(item2) this.value.push(item); }); } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; if (item.isReturn == 1) { item.isReturn = true; } if (item.isReturn == 0) { item.isReturn = false; } if (item.exceptionDesc == "1") { item.exceptionDesc = true; } if (item.exceptionDesc == "0") { item.exceptionDesc = false; } }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { if (item3.proId === this.nums) { this.proParentList.remark = item.remark; } }); } else { this.proParentList.remark = ""; } }); getDeptAdvice(this.proId).then((response) => { this.deptAdviceList = response.data; }); } num = num + 1; }); }); getDeptAdvice().then((response) => { this.deptAdviceList = response.data; }); // getSons(this.tjNumber).then((response) => { // response.data.forEach(item1 => { // if (item1.parent == '肝功检查') { // this.DeptadviceAll = item1.parentAdvices // } // }) // }); // 获取小结 // getDeptadvice().then((response) => { // response.data.forEach(item => { // this.DeptadviceAll = item // }) // }); }, getDept(val) { let data = { tjNumber: val, deptId: this.deptId } hzHasDept(data).then(res => { if (res.data) { this.hasdeptList = res.data this.hasdeptList.forEach(item => { item.hzDeptName = "" if (item.hzType == "0") { item.hzDeptName = "全院会诊" } else { item.hzDeptIdList.forEach(item1 => { this.deptList.forEach(item2 => { if (item1 == item2.deptId) { item.hzDeptName += item2.deptName + "," } }) }) } }) } }) }, // 按钮点击事件 radioChange1(proParentId, item) { this.$confirm( "检测到体检结果未提交,是否在离开该项目前提交修改?", "确认信息", { distinguishCancelAndClose: true, confirmButtonText: "提交", cancelButtonText: "不保存,离开", } ) .then(() => { // 体检号 let tjNumber = this.tableAll.tjNumber; this.userList.forEach((item) => { if (this.doctorName == item.nickName) { this.doctorName = item.userId; } }); this.proParentList.sons.forEach((item) => { if (this.rows) { this.rows.forEach((item1) => { if (item1 === item) { item = item1; } // if (item.isReturn == true) { // item.isReturn = 1; // } // if (item.isReturn == false) { // item.isReturn = 0; // } }); } this.tjOrderDetail.push({ proName: item.project.proName, proId: item.project.proId, orderDetailId: item.orderDetailId, flowingWaterId: item.flowingWaterId, proResult: item.proResult, tjStatus: 1, isReturn: item.isReturn === true ? 1 : 0, exceptionDesc: item.exceptionDesc === true ? 1 : 0, conclusion: item.conclusion, rulesList: item.rulesList, }); }); var data = [ { tjNumber, proId: this.proId, remark: this.proParentList.remark, // 备注 proName: this.proName, //父项 summaryList: this.value, //小结 doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }, ]; getaddRemark(data).then((res) => { this.$modal.msgSuccess("提交成功"); }); this.proName = item.proName; this.nums = proParentId; this.proId = proParentId; var data = { tjNumber: this.tjNumber, proParentId: this.nums, }; getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; if (this.proParentList.xiaoJieIds != null) { if (this.proParentList.xiaoJieIds.length != 0) { this.proParentList.xiaoJieIds.forEach((item2) => { let item = Number(item2) this.value.push(item); }); } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; if (item.isReturn == 1) { item.isReturn = true; } if (item.isReturn == 0) { item.isReturn = false; } if (item.exceptionDesc == "1") { item.exceptionDesc = true; } if (item.exceptionDesc == "0") { item.exceptionDesc = false; } }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { if (item3.proId === proParentId) { this.remark = item.remark; } }); } else { this.remark = ""; } }); getDeptAdvice(this.proId).then((response) => { this.deptAdviceList = response.data; }); }) .catch((action) => { this.$message({ type: "info", message: action === "cancel" ? "放弃保存并离开" : "停留在当前页面", }); this.proName = item.proName; this.nums = proParentId; this.proId = proParentId; let data = { tjNumber: this.tjNumber, proParentId: this.nums, }; getParentId(data).then((response) => { this.proParentList = response.data; this.value = []; if (this.proParentList.xiaoJieIds != null) { if (this.proParentList.xiaoJieIds.length != 0) { this.proParentList.xiaoJieIds.forEach((item2) => { let item = Number(item2) this.value.push(item); }); } } this.proParentList.sons.forEach((item) => { this.doctorName = item.doctorName; if (item.isReturn == 1) { item.isReturn = true; } if (item.isReturn == 0) { item.isReturn = false; } if (item.exceptionDesc == "1") { item.exceptionDesc = true; } if (item.exceptionDesc == "0") { item.exceptionDesc = false; } }); if (this.proParentList.xiaoJie.length != 0) { this.Parent.forEach((item3) => { if (item3.proId === proParentId) { this.remark = item.remark; } }); } else { this.remark = ""; } }); getDeptAdvice(this.proId).then((response) => { this.deptAdviceList = response.data; }); }); }, handleInputConfirm(row) { this.rows.push(row); }, // 点击确认 determine() { // 体检号 let tjNumber = this.tableAll.tjNumber; this.userList.forEach((item) => { if (this.doctorName == item.nickName) { this.doctorName = item.userId; } }); this.proParentList.sons.forEach((item) => { if (this.rows) { this.rows.forEach((item1) => { if (item1 === item) { item = item1; } // if (item.isReturn == true) { // item.isReturn = 1; // } // if (item.isReturn == false) { // item.isReturn = 0; // } }); } this.tjOrderDetail.push({ proName: item.project.proName, proId: item.project.proId, orderDetailId: item.orderDetailId, flowingWaterId: item.flowingWaterId, proResult: item.proResult, tjStatus: 1, isReturn: item.isReturn === true ? 1 : 0, exceptionDesc: item.exceptionDesc === true ? 1 : 0, conclusion: item.conclusion, rulesList: item.rulesList, }); }); let data = [ { tjNumber, proId: this.proId, remark: this.proParentList.remark, // 备注 proName: this.proName, //父项 summaryList: this.value, //小结 doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }, ]; getaddRemark(data).then((res) => { this.$modal.msgSuccess("提交成功"); this.drawer = false; }); this.handleClose(); }, }, }; </script> <style scoped> .el-table .cell { -webkit-box-sizing: border-box; box-sizing: border-box; text-overflow: ellipsis; white-space: normal; word-break: break-all; line-height: 23px; padding-left: 10px; padding-right: 10px; } .blue-button { width: 10px; background-color: #e2e3e4; } .el-button--medium { padding: 4px 14px; font-size: 14px; } .dialog-footers { margin-top: 10px; margin-left: calc(100% - 10%); } .pag { width: 100%; display: flex; justify-content: center; } .pag1 { width: 30%; } </style> src/views/hosp/getAddress/index.vue
New file @@ -0,0 +1,326 @@ <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="tjNumber"> <el-input v-model="queryParams.tjNumber" placeholder="请输入体检号" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="收货人" prop="getUser"> <el-input v-model="queryParams.getUser" placeholder="请输入收货人" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="收货电话" prop="phone"> <el-input v-model="queryParams.phone" placeholder="请输入收货电话" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="邮寄状态" prop="sendStatus"> <el-select v-model="queryParams.sendStatus" placeholder="请选择邮寄状态" clearable> <el-option v-for="dict in dict.type.tj_report_send_status" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <el-form-item label="物流单号" prop="flowCode"> <el-input v-model="queryParams.flowCode" placeholder="请输入物流单号" clearable @keyup.enter.native="handleQuery" /> </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-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['hosp:getAddress:add']">新增 </el-button> </el-col> <el-col :span="1.5"> <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:getAddress:edit']">修改 </el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['hosp:getAddress:remove']">删除 </el-button> </el-col> <!-- <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['hosp:getAddress:export']">导出 </el-button> </el-col> --> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table v-loading="loading" :data="getAddressList" @selection-change="handleSelectionChange" border> <el-table-column type="selection" width="55" align="center" /> <!-- <el-table-column label="主键" align="center" prop="id" /> --> <el-table-column label="体检号" align="center" prop="tjNumber" width="160" /> <el-table-column label="收货人" align="center" prop="getUser" width="70" /> <el-table-column label="收货电话" align="center" prop="phone" width="110" /> <el-table-column label="收货地址" align="center" prop="address" width="180" /> <el-table-column label="邮寄时间" align="center" prop="sendTime" width="180"> <!-- <template slot-scope="scope"> <span>{{ parseTime(scope.row.sendTime, '{y}-{m}-{d}') }}</span> </template> --> </el-table-column> <el-table-column label="邮寄状态" align="center" prop="sendStatus"> <template slot-scope="scope"> <dict-tag :options="dict.type.tj_report_send_status" :value="scope.row.sendStatus" /> </template> </el-table-column> <el-table-column label="邮寄报告" align="center" prop="sendReportId" /> <el-table-column label="邮寄人" align="center" prop="sendUserId" /> <el-table-column label="邮寄人" align="center" prop="sendUserName" /> <el-table-column label="物流名称" align="center" prop="flowName" /> <el-table-column label="物流单号" align="center" prop="flowCode" /> <el-table-column label="物流图片" align="center" prop="flowPhoto" /> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['hosp:getAddress:edit']" title="修改"> </el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['hosp:getAddress:remove']" title="删除"> </el-button> </template> </el-table-column> </el-table> <div class="pag"> <div class="pag1"> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> </div> </div> <!-- 添加或修改体检报告收货地址对话框 --> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="体检号" prop="tjNumber"> <el-input v-model="form.tjNumber" placeholder="请输入体检号" /> </el-form-item> <el-form-item label="收货人" prop="getUser"> <el-input v-model="form.getUser" placeholder="请输入收货人" /> </el-form-item> <el-form-item label="收货电话" prop="phone"> <el-input v-model="form.phone" placeholder="请输入收货电话" /> </el-form-item> <el-form-item label="收货地址" prop="address"> <el-input v-model="form.address" placeholder="请输入收货地址" /> </el-form-item> <el-form-item label="邮寄时间" prop="sendTime"> <el-date-picker clearable v-model="form.sendTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择邮寄时间"> </el-date-picker> </el-form-item> <el-form-item label="邮寄状态" prop="sendStatus"> <el-select v-model="form.sendStatus" placeholder="请选择邮寄状态"> <el-option v-for="dict in dict.type.tj_report_send_status" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> </el-form-item> <el-form-item label="邮寄报告" prop="sendReportId"> <el-input v-model="form.sendReportId" placeholder="请输入邮寄报告" /> </el-form-item> <el-form-item label="邮寄人" prop="sendUserId"> <el-input v-model="form.sendUserId" placeholder="请输入邮寄人" /> </el-form-item> <el-form-item label="邮寄人" prop="sendUserName"> <el-input v-model="form.sendUserName" placeholder="请输入邮寄人" /> </el-form-item> <el-form-item label="物流名称" prop="flowName"> <el-input v-model="form.flowName" placeholder="请输入物流名称" /> </el-form-item> <el-form-item label="物流单号" prop="flowCode"> <el-input v-model="form.flowCode" placeholder="请输入物流单号" /> </el-form-item> <el-form-item label="物流图片" prop="flowPhoto"> <el-input v-model="form.flowPhoto" placeholder="请输入物流图片" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> </div> </template> <script> import { listGetAddress, getGetAddress, delGetAddress, addGetAddress, updateGetAddress } from "@/api/hosp/getAddress"; export default { name: "GetAddress", dicts: ['tj_report_send_status'], data() { return { // 遮罩层 loading: true, // 选中数组 ids: [], // 非单个禁用 single: true, // 非多个禁用 multiple: true, // 显示搜索条件 showSearch: true, // 总条数 total: 0, // 体检报告收货地址表格数据 getAddressList: [], // 弹出层标题 title: "", // 是否显示弹出层 open: false, // 查询参数 queryParams: { pageNum: 1, pageSize: 10, tjNumber: null, getUser: null, phone: null, sendStatus: null, flowCode: null, }, // 表单参数 form: {}, // 表单校验 rules: { } }; }, created() { this.getList(); }, methods: { /** 查询体检报告收货地址列表 */ getList() { this.loading = true; listGetAddress(this.queryParams).then(response => { this.getAddressList = response.rows; this.total = response.total; this.loading = false; }); }, // 取消按钮 cancel() { this.open = false; this.reset(); }, // 表单重置 reset() { this.form = { id: null, tjNumber: null, getUser: null, phone: null, address: null, sendTime: null, sendStatus: null, sendReportId: null, sendUserId: null, sendUserName: null, flowName: null, flowCode: null, flowPhoto: null, createTime: null, updateTime: null, createBy: null, updateBy: null, deleted: null }; this.resetForm("form"); }, /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; this.getList(); }, /** 重置按钮操作 */ resetQuery() { this.resetForm("queryForm"); this.handleQuery(); }, // 多选框选中数据 handleSelectionChange(selection) { this.ids = selection.map(item => item.id) this.single = selection.length !== 1 this.multiple = !selection.length }, /** 新增按钮操作 */ handleAdd() { this.reset(); this.open = true; this.title = "添加体检报告收货地址"; }, /** 修改按钮操作 */ handleUpdate(row) { this.reset(); const id = row.id || this.ids getGetAddress(id).then(response => { this.form = response.data; this.open = true; this.title = "修改体检报告收货地址"; }); }, /** 提交按钮 */ submitForm() { this.$refs["form"].validate(valid => { if (valid) { if (this.form.id != null) { updateGetAddress(this.form).then(response => { this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); }); } else { addGetAddress(this.form).then(response => { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); }); } } }); }, handleDelete(row) { let ids = [] if (row.id) { ids.push(row.id) delGetAddress(ids).then(res => { this.$modal.msgSuccess("删除成功"); this.getList() }) } else { const id = this.ids delGetAddress(id).then(res => { this.$modal.msgSuccess("删除成功"); this.getList() }) } }, } } ; </script> <style> .pag { width: 100%; display: flex; justify-content: center; margin-top: 15px; } .pag1 { width: 30%; } </style> src/views/system/tijian/index.vue
@@ -175,6 +175,7 @@ </el-row> </el-form> </div> <div v-show="top"> <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'"> <div v-show="hide" style="border: 1px dashed #dcdfe6; width: 180px; height: 180px;margin-left: 5%;"> <img v-if="imageUrl" :src="imageUrl" class="avatar" /> @@ -197,6 +198,8 @@ </div> </div> </div> </div> <el-dialog title="选择套餐" :visible.sync="taocan" width="50%" height="700px"> @@ -342,14 +345,20 @@ <el-form-item label="实收金额"> <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 126px"></el-input> </el-form-item> <!-- 140828199805050012 --> <el-form-item label="领取方式" > <!-- <el-input style="width: 100%;" v-model="form.getType" placeholder="请选择领取方式" /> --> <el-select v-model="getType" style="width: 94%"> <el-select v-model="getType" style="width: 94%" @change="getmailType"> <el-option v-for="dict in dict.type.report_get_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> </el-form-item> <el-form-item label="体检类别"> <el-select style="width: 140px" v-model="tjCategory" placeholder="请选择体检类别"> <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> --> </el-form-item> <el-form-item> <el-button type="primary" @click="Package" size="mini">选择套餐</el-button> @@ -362,6 +371,24 @@ <!-- </div> --> </el-form> </template> <el-dialog title="邮寄" :visible.sync="malldisble" :close-on-click-modal="false"> <el-form :model="addAddress" :rules="rules" label-width="78px" style="margin-left: 7px"> <el-form-item label="姓名"> <el-input placeholder="姓名" v-model="addAddress.getUser"></el-input> </el-form-item> <el-form-item label="电话"> <el-input placeholder="电话" v-model="addAddress.phone"></el-input> </el-form-item> <el-form-item label="地址"> <el-input placeholder="地址" v-model="addAddress.address"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="cancell">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <div style="text-align: center; margin-bottom: 10px; "> 已选项目列表 @@ -574,6 +601,8 @@ </div> </div> <!-- <el-dialog title="拍照" :visible.sync="beat" @@ -611,6 +640,7 @@ import VTreeTransfer from './TreeTransfer.vue' export default { dicts: [ "dict_tjtype", "report_get_type", "dict_user_national", "dict_user_marry", @@ -658,6 +688,7 @@ hospName: "", currentDate: "", currentTime: "", tjCategory:"", formIn: { tjPro: "体检费" }, @@ -719,11 +750,13 @@ activeName: "1", DataList: [], fData: [], addAddress: {}, tjOrderList: [], //单个项目集合 tjFlowingWater: {}, // 搜索套餐名字 name: "", isfalse: false, malldisble: false, responseList: {}, showHidden: {}, tjNumbers: "", @@ -804,12 +837,12 @@ cusSex: [ { required: true, message: "性别不能为空", trigger: "change" }, ], // cusBrithday: [ // { required: true, message: "出生日期不能为空", trigger: "blur" }, // ], // cusAddr: [ // { required: true, message: "现居住地址不能为空", trigger: "blur" }, // ], address: [ { required: true, message: "地址不能为空", trigger: "blur" }, ], phone: [ { required: true, message: "手机号不能为空", trigger: "blur" }, ], cusPhone: [ { required: true, message: "联系电话不能为空", trigger: "change" }, ], @@ -1165,6 +1198,16 @@ }); }, getmailType() { if (this.getType == "2") { this.addAddress.getUser = this.form.cusName this.addAddress.phone = this.form.cusPhone this.addAddress.address = this.form.cusAddr this.malldisble = true } }, // 根据身份证查询 handleQuery() { this.loading = true; @@ -1394,8 +1437,19 @@ // 取消按钮 cancel() { this.Seachopen = false; this.taocan = false this.taocan = false; this.malldisble = false; this.defaultKeys = [] }, cancell() { console.log(this.addAddress.address) if (this.addAddress.address) { this.malldisble = false; } else { this.$message.error("请填写地址"); } }, /** 搜索操作 */ @@ -1647,7 +1701,7 @@ this.tjFlowingWater = { copeWith, paidIn, discount }; let data; if (pacId) { if (pacId || this.getType == "2") { data = { photo: this.srcUrl, pacId, @@ -1655,7 +1709,9 @@ tjFlowingWater: this.tjFlowingWater, userId, tjType, getType:this.getType getType: this.getType, addAddress: this.addAddress, tjCategory:this.tjCategory }; } else { data = { @@ -1664,7 +1720,8 @@ tjFlowingWater: this.tjFlowingWater, userId, tjType, getType:this.getType getType: this.getType, tjCategory:this.tjCategory }; } getOrder(data).then((res) => {