src/views/doctor/check/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/checkAll/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/examination/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/inspectCheck/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/doctor/pacsCheck/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/hosp/order/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/hosp/rules/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/reservation/career/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/comp/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/contract/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/system/tijian/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/doctor/check/index.vue
@@ -1,31 +1,76 @@ <template> <div> <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"> <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" > <el-form-item label="姓名" prop="name"> <el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable @keyup.enter.native="submitForm"></el-input> <el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable @keyup.enter.native="submitForm" ></el-input> </el-form-item> <el-form-item label="体检号" prop="tjNumber"> <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号" clearable @blur="hb" @keyup.enter.native="submitForm"></el-input> <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号" clearable @blur="hb" @keyup.enter.native="submitForm" ></el-input> </el-form-item> <el-form-item> <el-button size="mini" type="primary" @click="submitForm" style="margin-right: 15px">搜索</el-button> <el-button size="mini" type="primary" @click="submitForm" style="margin-right: 15px" >搜索</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-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 :cell-class-name="myclass"> <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" /> <el-table-column label="姓名" align="center" prop="cusName" width="90px" /> <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" border :cell-class-name="myclass" > <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> @@ -34,51 +79,118 @@ <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="pacName" width="100px" /> <el-table-column label="体检类型" align="center" prop="tjType" width="80px" /> <el-table-column label="登记时间" align="center" prop="tjTime" width="160px"></el-table-column> <el-table-column label="体检时间" align="center" prop="tjTime" width="100px"> <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" /> <el-table-column label="套餐名称" align="center" prop="pacName" width="100px" /> <el-table-column label="体检类型" align="center" prop="tjType" width="80px" /> <el-table-column label="登记时间" align="center" prop="tjTime" width="160px" ></el-table-column> <el-table-column label="体检时间" align="center" prop="tjTime" width="100px" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.tjTime, "{y}-{m}-{d}") }}</span> </template> </el-table-column> <el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" /> <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> <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" /> <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-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="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> <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> @@ -87,10 +199,18 @@ <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-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-input v-model="form.tjNumber" placeholder="请输入体检号" disabled /> </el-form-item> <el-form-item label="会诊科室" prop="hzType"> <el-radio-group v-model="form.hzType"> @@ -98,15 +218,42 @@ <el-radio-button label="1">科室会诊</el-radio-button> </el-radio-group> </el-form-item> <el-form-item label="选择科室" v-if="form.hzType == '1'" style="margin-top: 22px"> <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-form-item label="选择科室" v-if="form.hzType == '1'" style="margin-top: 22px" > <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" style="margin-top: 22px"> <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-form-item label="申请人" prop="hzDoctorId" style="margin-top: 22px" > <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> @@ -119,26 +266,55 @@ </div> </el-dialog> <el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body> <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 :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-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 v-for="(item, index) in hzReplyLogsList" :key="index" style="padding-bottom: 5px; border-bottom: 1px solid black" > <div>医生:{{ item.hzDoctorName }}</div> <div>回复:{{ item.replyContent }}</div> </div> </div> <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"> <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> @@ -147,7 +323,12 @@ </el-row> </el-dialog> <el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body> <el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body > <el-form ref="form" :model="formIn" label-width="100px"> <el-form-item label="姓名"> <el-input v-model="formIn.cusName" disabled></el-input> @@ -168,8 +349,18 @@ </el-radio-group> </el-form-item> <el-form-item label="等级"> <el-select v-model="formIn.level" placeholder="请选择" filterable style="width: 100%"> <el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value"> <el-select v-model="formIn.level" placeholder="请选择" filterable style="width: 100%" > <el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> </el-form-item> @@ -183,388 +374,694 @@ </div> </el-dialog> <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false"> <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false" > <div class="main"> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%" ></iframe> </div> </el-dialog> <el-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 == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }} </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 style="display: flex"> <div style="margin: 10px 10px" v-if="hasdeptList.length >= 1"> <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button> <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose" > <div v-loading="isLoading" element-loading-text="正在加载数据,请稍候..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative" > <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 == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }} </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 style="margin: 10px 10px"> <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button> <div style="display: flex"> <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="historicalreport()" >历史报告</el-button > </div> <div style="margin: 10px 10px"> <el-button type="primary" size="mini" @click="jianqian" >检前问诊</el-button > </div> <div style="margin: 10px 10px"> <el-button type="primary" size="mini" @click="result" >检查检验结果</el-button > </div> </div> <div style="margin: 10px 10px"> <el-button type="primary" size="mini" @click="jianqian">检前问诊</el-button> </div> <div style="margin: 10px 10px"> <el-button type="primary" size="mini" @click="result">检查检验结果</el-button> </div> </div> <el-row> <el-col v-show="baogaoqian"> <template> <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false"> <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> <el-table-column prop="project.proName" label="检测项目" width="150"> </el-table-column> <el-table-column prop="proResult" label="检测结果" width="150"> <template slot-scope="{ row, $index }"> <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" @keydown.enter.native="keyInputConfirm($event, index, $index)" @focus="handleFocus(row)" @blur="handleInputConfirm(row)" @input="vale($event, row)" :disabled="row.project.proName === 'BMI'" ></el-input> </template> </el-table-column> <!-- <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> <el-row> <el-col v-show="baogaoqian"> <template> <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px" > <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false" > <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName" > <el-table-column prop="project.proName" label="检测项目" width="150" > </el-table-column> <el-table-column prop="proResult" label="检测结果" width="150" > <template slot-scope="{ row, $index }"> <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" @keydown.enter.native=" keyInputConfirm($event, index, $index) " @focus="handleFocus(row)" @blur="handleInputConfirm(row)" @input="vale($event, row)" :disabled="row.project.proName === 'BMI'" ></el-input> </template> </el-table-column> <!-- <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> <template slot-scope="scope"> <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" :disabled="scope.row.project.sfcyyc === 1"></el-checkbox> </template> </el-table-column> --> <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> <template slot-scope="scope"> <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" :disabled="scope.row.project.sfcyyc === 1 || scope.row.project.proName === 'BMI'"></el-checkbox> </template> </el-table-column> <el-table-column label="规则" width="70"> <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="单位" width="55"> </el-table-column> <el-table-column label="参考范围" width="70"> <template slot-scope="scope"> <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center" > <template slot-scope="scope"> <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" :disabled=" scope.row.project.sfcyyc === 1 || scope.row.project.proName === 'BMI' " ></el-checkbox> </template> </el-table-column> <el-table-column label="规则" width="70"> <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="单位" width="55" > </el-table-column> <el-table-column label="参考范围" width="70"> <template slot-scope="scope"> {{ scope.row.project.proScope }} </template> </el-table-column> <el-table-column prop="conclusion" label="结果结论" width="200" > <template slot-scope="scope"> <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" placeholder="请输入结果结论" disabled ></el-input> </template> </el-table-column> <el-table-column prop="isReturn" label="复诊" width="60px" align="center" > <template slot-scope="scope"> <el-checkbox v-model="scope.row.isReturn"></el-checkbox> </template> </el-table-column> <el-table-column prop="isPositive" label="重大阳性" width="55" > <template slot-scope="scope"> <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" @change="checkboxchange(scope.row)" ></el-switch> </template> </el-table-column> <el-table-column prop="proAdvice" label="结果建议"> <template slot-scope="scope"> <el-popover placement="top" trigger="hover" width="400"> <div> {{ scope.row.proAdvice }} </div> <div slot="reference" class="jianyi"> <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" :disabled="true" ></el-input> </div> </el-popover> </template> </el-table-column> </el-table> {{ scope.row.project.proScope }} </template> </el-table-column> <el-table-column prop="conclusion" label="结果结论" width="200"> <template slot-scope="scope"> <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" placeholder="请输入结果结论" disabled></el-input> </template> </el-table-column> <el-table-column prop="isReturn" label="复诊" width="60px" align="center"> <template slot-scope="scope"> <el-checkbox v-model="scope.row.isReturn"></el-checkbox> </template> </el-table-column> <el-table-column prop="isPositive" label="重大阳性" width="55"> <template slot-scope="scope"> <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" @change="checkboxchange(scope.row)"></el-switch> </template> </el-table-column> <el-table-column prop="proAdvice" label="结果建议"> <template slot-scope="scope"> <el-popover placement="top" trigger="hover" width="400"> <div> {{ scope.row.proAdvice }} </div> <div slot="reference" class="jianyi"> <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" :disabled="true"></el-input> </div> </el-popover> </template> </el-table-column> </el-table> <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a"> <table style=" width: 96%; margin: 4px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; " cellspacing="4"> <tr style=" <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a" > <table style=" width: 96%; margin: 4px 10px; border: 1px solid #dfe6ec; border-collapse: collapse; "> <td style=" " cellspacing="4" > <tr style=" border: 1px solid #dfe6ec; border-collapse: collapse; "> 病种选择: </td> <td @click="bzxz" style=" " > <td style=" border: 1px solid #dfe6ec; border-collapse: collapse; " > 病种选择: </td> <td @click="bzxz" style=" border: 1px solid #dfe6ec; border-collapse: collapse; " > <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2" > </el-input> </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; "> <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> </el-input> </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=" " > <td style=" border: 1px solid #dfe6ec; border-collapse: collapse; " > 建议: </td> <td style=" border: 1px solid #dfe6ec; border-collapse: collapse; " colspan="2" > <div style="margin: 0 0px 10px 15px"> <el-button type="primary" @click="propoChange" style="margin-top: 10px; height: 37px" >快捷建议</el-button > <el-button type="primary" @click="proposalChange" style="margin-top: 10px; height: 37px" >生成建议</el-button > </div> <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7" > </el-input> </td> </tr> </table> <div slot="footer" class="dialog-footers1"> <el-button type="primary" @click="determine" >提 交</el-button > </div> </div> </el-tab-pane> </el-tabs> </template> </el-col> <el-col :span="18" v-show="baogaohou"> <template> <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px" > <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false" > <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName" > <el-table-column prop="project.proName" label="检测项目" width="100" > </el-table-column> <el-table-column prop="proResult" label="检测结果" width="150" > <template slot-scope="{ row, $index }"> <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" @keydown.enter.native=" keyInputConfirm($event, index, $index) " @focus="handleFocus(row)" @blur="handleInputConfirm(row)" @input="vale($event, row)" :disabled="row.project.proName === 'BMI'" ></el-input> </template> </el-table-column> <el-table-column label="规则" width="70"> <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="单位" width="55" > </el-table-column> <el-table-column prop="project.proScope" label="参考范围" width="80" > </el-table-column> <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center" > <template slot-scope="scope"> <el-checkbox v-model="scope.row.exceptionDesc" :disabled="scope.row.project.sfcyyc === 1" @change="changDesc(scope.row)" ></el-checkbox> </template> </el-table-column> <el-table-column prop="isReturn" label="复诊" width="55px" align="center" > <template slot-scope="scope"> <el-checkbox v-model="scope.row.isReturn"></el-checkbox> </template> </el-table-column> <el-table-column prop="isPositive" label="重大阳性" width="55" > <template slot-scope="scope"> <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" @change="checkboxchange(scope.row)" ></el-switch> </template> </el-table-column> <el-table-column prop="proAdvice" label="结果建议"> <template slot-scope="scope"> <el-popover placement="top" trigger="hover" width="400"> <div> {{ scope.row.proAdvice }} </div> <div slot="reference" class="jianyi"> <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" :disabled="true" ></el-input> </div> </el-popover> </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; "> <td style=" " cellspacing="4" > <tr style=" border: 1px solid #dfe6ec; border-collapse: collapse; "> 建议: </td> <td style=" " > <td style=" border: 1px solid #dfe6ec; border-collapse: collapse; " > 病种选择: </td> <td style=" border: 1px solid #dfe6ec; border-collapse: collapse; " > <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2" > </el-input> </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; " colspan="2"> " > <div style="margin: 0 0px 10px 15px"> <el-button type="primary" @click="propoChange" style="margin-top: 10px; height: 37px">快捷建议</el-button> <el-button type="primary" @click="proposalChange" style="margin-top: 10px; height: 37px">生成建议</el-button> <el-button type="primary" @click="propoChange" style="margin-top: 10px; height: 37px" >快捷建议</el-button > <el-button type="primary" @click="proposalChange" style="margin-top: 10px; height: 37px" >生成建议</el-button > </div> <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> </el-input> </td> </tr> </table> <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-footers1"> <el-button type="primary" @click="determine">提 交</el-button> <div slot="footer" class="dialog-footers"> <el-button type="primary" @click="determine" >提 交</el-button > </div> </div> </div> </el-tab-pane> </el-tabs> </template> </el-col> <el-col :span="18" v-show="baogaohou"> <template> <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false"> <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> <el-table-column prop="project.proName" label="检测项目" width="100"> </el-table-column> <el-table-column prop="proResult" label="检测结果" width="150"> <template slot-scope="{ row, $index }"> <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" @keydown.enter.native="keyInputConfirm($event, index, $index)" @focus="handleFocus(row)" @blur="handleInputConfirm(row)" @input="vale($event, row)" :disabled="row.project.proName === 'BMI'" ></el-input> </template> </el-table-column> <el-table-column label="规则" width="70"> <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="单位" width="55"> </el-table-column> <el-table-column prop="project.proScope" label="参考范围" width="80"> </el-table-column> <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> <template slot-scope="scope"> <el-checkbox v-model="scope.row.exceptionDesc" :disabled="scope.row.project.sfcyyc === 1" @change="changDesc(scope.row)"></el-checkbox> </template> </el-table-column> <el-table-column prop="isReturn" label="复诊" width="55px" align="center"> <template slot-scope="scope"> <el-checkbox v-model="scope.row.isReturn"></el-checkbox> </template> </el-table-column> <el-table-column prop="isPositive" label="重大阳性" width="55"> <template slot-scope="scope"> <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" @change="checkboxchange(scope.row)"></el-switch> </template> </el-table-column> <el-table-column prop="proAdvice" label="结果建议"> <template slot-scope="scope"> <el-popover placement="top" trigger="hover" width="400"> <div> {{ scope.row.proAdvice }} </div> <div slot="reference" class="jianyi"> <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" :disabled="true"></el-input> </div> </el-popover> </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-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> </el-input> </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; "> <div style="margin: 0 0px 10px 15px"> <el-button type="primary" @click="propoChange" style="margin-top: 10px; height: 37px">快捷建议</el-button> <el-button type="primary" @click="proposalChange" style="margin-top: 10px; height: 37px">生成建议</el-button> </div> <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" @click="determine">提 交</el-button> </div> </div> </el-tab-pane> </el-tabs> </template> </el-col> <el-col :span="6" style="margin-top: 15px"> <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata"></Historicalreport> </el-col> </el-row> </el-tab-pane> </el-tabs> </template> </el-col> <el-col :span="6" style="margin-top: 15px"> <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata" ></Historicalreport> </el-col> </el-row> </div> </el-drawer> <Public ref="aaa" :row="row" @add="handleChanges" /> <jianceResult ref="bbb" @add="handleChangesZt" /> <el-dialog title="提示" :visible.sync="jianqians" width="1000px" :before-close="handleClose1"> <jianqianwenzhen :jianqianwenzhendata="jianqianwenzhendata" v-if="flags"></jianqianwenzhen> <el-dialog title="提示" :visible.sync="jianqians" width="1000px" :before-close="handleClose1" > <jianqianwenzhen :jianqianwenzhendata="jianqianwenzhendata" v-if="flags" ></jianqianwenzhen> <span slot="footer" class="dialog-footer"> <el-button @click="jianqians = false">取 消</el-button> </span> @@ -573,19 +1070,49 @@ <createproposal ref="createproposal" :creatobj="creatobj" /> <el-dialog title="检查检验结果" :visible.sync="openOne" width="80%"> <div style=" <div style=" width: 100%; margin-left: 10px; display: flex; justify-content: space-around; "> " > <div style="width: 44%"> <el-table v-loading="loading" border :data="xiangmuList" height="520" ref="tab1" highlight-current-row> <el-table-column label="科室" align="center" prop="deptName" width="100" :show-overflow-tooltip="true" /> <el-table-column label="项目" align="center" prop="proName" width="150" :show-overflow-tooltip="true" /> <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="100"> <el-table v-loading="loading" border :data="xiangmuList" height="520" ref="tab1" highlight-current-row > <el-table-column label="科室" align="center" prop="deptName" width="100" :show-overflow-tooltip="true" /> <el-table-column label="项目" align="center" prop="proName" width="150" :show-overflow-tooltip="true" /> <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="100" > <template slot-scope="scope"> <span v-if="scope.row.type == '0'" :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }"> <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> @@ -593,11 +1120,21 @@ <span v-if="scope.row.type == '3'">延期</span> </template> </el-table-column> <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" /> <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" /> <el-table-column label="操作" align="center" width="120px"> <template slot-scope="scope"> <el-button size="mini" type="text" :disabled="scope.row.type === 0 || scope.row.type === 2" @click="queryResultone(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 > </template> </el-table-column> </el-table> @@ -608,8 +1145,15 @@ </div> <div class="a"> <div v-if="jyjc == 0"> <el-table :data="jieguoList" border :row-style="changRed" height="520" highlight-current-row style="width: 100%" :header-cell-style="{ background: '#AAD8DF' }"> <el-table :data="jieguoList" border :row-style="changRed" height="520" highlight-current-row style="width: 100%" :header-cell-style="{ background: '#AAD8DF' }" > <el-table-column label="检测项目" prop="pro_name"> </el-table-column> <el-table-column label="检测结果" prop="pro_result"> @@ -623,13 +1167,19 @@ <div class="check-result-container"> <div class="check-item"> <div class="check-title">检查所见:</div> <div class="check-description" :style="{ color: isRed ? 'red' : '' }"> <div class="check-description" :style="{ color: isRed ? 'red' : '' }" > {{ jieguoList[0].pro_result }} </div> </div> <div class="check-item"> <div class="check-title">检查结论:</div> <div class="check-description" :style="{ color: isRed ? 'red' : '' }"> <div class="check-description" :style="{ color: isRed ? 'red' : '' }" > {{ jieguoList[0].yxzd || "暂无结论" }} </div> </div> @@ -640,31 +1190,77 @@ </div> </el-dialog> <el-dialog title="选择病种" :visible.sync="taocan" width="80%" height="700px" :close-on-click-modal="false"> <el-tabs type="border-card" style="min-height: 538px; margin: 0 10px; width: 100%" @tab-click="handleClick" v-model="activeNames"> <el-dialog title="选择病种" :visible.sync="taocan" width="80%" height="700px" :close-on-click-modal="false" > <el-tabs type="border-card" style="min-height: 538px; margin: 0 10px; width: 100%" @tab-click="handleClick" v-model="activeNames" > <el-tab-pane label="病种" name="first"> <div class="tab8"> <div class="tab3"> <el-form @submit.native.prevent :model="queryParam1" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"> <el-form @submit.native.prevent :model="queryParam1" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" > <el-form-item> <el-input placeholder="输入关键字进行过滤" v-model="queryParam1.nr" clearable> <el-input placeholder="输入关键字进行过滤" v-model="queryParam1.nr" clearable > </el-input> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuerys">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuerys" >搜索</el-button > </el-form-item> </el-form> <el-table ref="multipleTable" border :data="deptAdviceList" height="430px" @selection-change="handleSelectionChanges"> <el-table ref="multipleTable" border :data="deptAdviceList" height="430px" @selection-change="handleSelectionChanges" > <el-table-column type="selection" width="40"> </el-table-column> <el-table-column prop="title" label="病种名称" align="center" width="130px"></el-table-column> <el-table-column prop="advice" label="建议" align="center" :show-overflow-tooltip="true"> <el-table-column prop="title" label="病种名称" align="center" width="130px" ></el-table-column> <el-table-column prop="advice" label="建议" align="center" :show-overflow-tooltip="true" > </el-table-column> </el-table> <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParam1.page" :limit.sync="queryParam1.pageSize" @pagination="getbzlist" /> <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParam1.page" :limit.sync="queryParam1.pageSize" @pagination="getbzlist" /> </div> <div class="tab4"> <div class="tab4_txt"> @@ -673,11 +1269,21 @@ <el-table border :data="deptAdviceList1" height="430px"> <el-table-column prop="title" label="病种名称" align="center"> </el-table-column> <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="50px"> <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="50px" > <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" title="删除"></el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" title="删除" ></el-button> </template> </el-table-column> </el-table> @@ -758,6 +1364,7 @@ selected: false, checkval: false, loading: false, isLoading: false, open: false, foropen: false, dialogVisible: false, @@ -888,46 +1495,48 @@ const bmi = weightInKg / (heightInMeters * heightInMeters); return bmi.toFixed(1); // 保留一位小数 } return ''; return ""; }, getBMIStatus(row) { const bmi = parseFloat(row.proResult); if (isNaN(bmi) || !row.proResult) return ''; // 处理无效或空的BMI值 if (isNaN(bmi) || !row.proResult) return ""; // 处理无效或空的BMI值 if (bmi > 28) { row.exceptionDesc = true; // 自动勾选异常复选框 row.conclusion = '偏高'; // 设置结论 return '偏高'; row.conclusion = "偏高"; // 设置结论 return "偏高"; } if (bmi < 12) { row.exceptionDesc = true; // 自动勾选异常复选框 row.conclusion = '偏低'; // 设置结论 return '偏低'; row.conclusion = "偏低"; // 设置结论 return "偏低"; } row.exceptionDesc = false; // 正常范围内取消勾选 row.conclusion = '正常'; // 设置结论 return '正常'; row.conclusion = "正常"; // 设置结论 return "正常"; }, // 实时更新 BMI 并验证输入 vale(value, row) { console.log(3333) if (row.project.proName === '身高' || row.project.proName === '体重') { vale(value, row) { console.log(3333); if (row.project.proName === "身高" || row.project.proName === "体重") { const heightRow = this.proParentList.sons.find( item => item.project.proName === '身高' (item) => item.project.proName === "身高" ); const weightRow = this.proParentList.sons.find( item => item.project.proName === '体重' (item) => item.project.proName === "体重" ); const bmiRow = this.proParentList.sons.find( item => item.project.proName === 'BMI' (item) => item.project.proName === "BMI" ); if (heightRow && weightRow && bmiRow) { const height = row.project.proName === '身高' ? value : heightRow.proResult; const weight = row.project.proName === '体重' ? value : weightRow.proResult; const height = row.project.proName === "身高" ? value : heightRow.proResult; const weight = row.project.proName === "体重" ? value : weightRow.proResult; const bmi = this.calculateBMI(height, weight); bmiRow.proResult = bmi || ''; // 实时更新BMI值 bmiRow.proResult = bmi || ""; // 实时更新BMI值 this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 } } @@ -936,7 +1545,8 @@ this.focusrow = row; this.proResult = row; const pattern3 = new RegExp("[0-9]+"); if (row.proResult) { } if (row.proResult) { } if (pattern3.test(row.proResult)) { let data = { proId: this.focusrow.proId, @@ -961,11 +1571,16 @@ this.focusrow.exceptionDesc = false; } } if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { if ( this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr) ) { this.focusrow.proAdvice = this.autorule[0].nr; } this.autorule.forEach((item) => { this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; }); } }); @@ -1013,22 +1628,22 @@ // 输入确认时更新 BMI handleInputConfirm(row) { if (row.proResult) { if (row.project.proName === '身高' || row.project.proName === '体重') { if (row.project.proName === "身高" || row.project.proName === "体重") { const heightRow = this.proParentList.sons.find( item => item.project.proName === '身高' (item) => item.project.proName === "身高" ); const weightRow = this.proParentList.sons.find( item => item.project.proName === '体重' (item) => item.project.proName === "体重" ); const bmiRow = this.proParentList.sons.find( item => item.project.proName === 'BMI' (item) => item.project.proName === "BMI" ); if (heightRow && weightRow && bmiRow) { const height = heightRow.proResult; const weight = weightRow.proResult; const bmi = this.calculateBMI(height, weight); bmiRow.proResult = bmi || ''; bmiRow.proResult = bmi || ""; this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 } } @@ -1061,11 +1676,16 @@ this.focusrow.exceptionDesc = false; } } if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { if ( this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr) ) { this.focusrow.proAdvice = this.autorule[0].nr; } this.autorule.forEach((item) => { this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; }); } }); @@ -1193,17 +1813,20 @@ if (response.data != {}) { this.proParentList = response.data; const heightRow = this.proParentList.sons.find( item => item.project.proName === '身高' (item) => item.project.proName === "身高" ); const weightRow = this.proParentList.sons.find( item => item.project.proName === '体重' (item) => item.project.proName === "体重" ); const bmiRow = this.proParentList.sons.find( item => item.project.proName === 'BMI' (item) => item.project.proName === "BMI" ); if (heightRow && weightRow && bmiRow) { const bmi = this.calculateBMI(heightRow.proResult, weightRow.proResult); bmiRow.proResult = bmi || ''; const bmi = this.calculateBMI( heightRow.proResult, weightRow.proResult ); bmiRow.proResult = bmi || ""; } else { // this.$message.error('缺少身高、体重或 BMI 项目'); } @@ -1236,9 +1859,13 @@ 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.project.sfcyyc == 1) item.exceptionDesc = false; if (item.exceptionDesc == "0" || item.project.sfcyyc == 1) item.exceptionDesc = false; }); if (this.proParentList.xiaoJie && this.proParentList.xiaoJie.length != 0) { if ( this.proParentList.xiaoJie && this.proParentList.xiaoJie.length != 0 ) { this.Parent.forEach((item3) => { if (item3.proId === this.nums) { this.proParentList.remark = item3.remark; @@ -1314,7 +1941,9 @@ getAdviceByTjNumAndPro(data).then((res) => { if (res.data) { this.deptAdviceList3 = res.data; this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))]; this.deptAdviceList1 = [ ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)), ]; this.deptAdviceList3.forEach((items) => { this.idss.push(items.id); this.remakes += items.advice + ","; @@ -1369,7 +1998,9 @@ this.$refs.multipleTable.toggleRowSelection(del_row, false); } selection.forEach((item) => this.deptAdviceList2.push(item)); this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))]; this.deptAdviceList1 = [ ...new Set(this.deptAdviceList2.concat(this.deptAdviceList3)), ]; }, queding() { @@ -1380,7 +2011,8 @@ if (this.proParentList.remark != null) { this.titles += item1.title + ","; this.remakes += item1.advice + ","; this.proParentList.remark = this.proParentList.remark + this.remakes; this.proParentList.remark = this.proParentList.remark + this.remakes; this.value += item1.title + ","; this.vaids.push(item1.id); this.vaids1 = this.vaids.concat(this.idss); @@ -1452,8 +2084,13 @@ this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { if (item1 === item.id && !this.proParentList.remark.includes(item.title)) { this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ","; if ( item1 === item.id && !this.proParentList.remark.includes(item.title) ) { this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ","; } }); }); @@ -1462,8 +2099,13 @@ this.deptAdviceList.forEach((item) => { this.ids = item.id; val.forEach((item1) => { if (item1 === item.id && !this.proParentList.remark.includes(item.title)) { this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ","; if ( item1 === item.id && !this.proParentList.remark.includes(item.title) ) { this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ","; } }); }); @@ -1471,8 +2113,10 @@ }, initInputDOM() { const inputDoms = document.querySelectorAll('.el-input__inner'); inputDoms.forEach((item, index) => item.setAttribute('data-index', index)); const inputDoms = document.querySelectorAll(".el-input__inner"); inputDoms.forEach((item, index) => item.setAttribute("data-index", index) ); this.inputDoms = inputDoms; }, @@ -1503,7 +2147,8 @@ if (response.code == 200) { this.loading = false; if (response.data) { this.tableList = response.data.date || response.data.customers || []; this.tableList = response.data.date || response.data.customers || []; this.total = response.data.total; } else { this.tableList = []; @@ -1536,7 +2181,7 @@ eventchange(data) { this.dataText = data; data.forEach((item) => this.proParentList.remark += item.advice); data.forEach((item) => (this.proParentList.remark += item.advice)); }, proposalChange() { @@ -1575,7 +2220,7 @@ this.open = true; this.form = row; this.form.hzDoctorId = this.info.userId; getChildList().then((res) => this.deptList = res.data); getChildList().then((res) => (this.deptList = res.data)); this.Hzlog(this.form.tjNumber); }, @@ -1629,7 +2274,8 @@ if (item.hzType != "0") { item.hzDeptIdList.forEach((item1) => { this.deptList.forEach((item2) => { if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ","; if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ","; }); }); } @@ -1653,7 +2299,8 @@ submitFormapply() { let data = {}; this.userList.forEach((item1) => { if (this.form.hzDoctorId == item1.userId) this.form.hzDoctorName = item1.nickName; if (this.form.hzDoctorId == item1.userId) this.form.hzDoctorName = item1.nickName; }); if (this.form.hzType != undefined) { this.$refs["form"].validate((valid) => { @@ -1753,7 +2400,10 @@ background: "rgba(0, 0, 0, 0.7)", }); setTimeout(() => loading.close(), 3000); this.$message({ type: "warning", message: "报告正在生成,请两分钟后预览!" }); this.$message({ type: "warning", message: "报告正在生成,请两分钟后预览!", }); } else { this.dialogVisible = true; this.url = window.webkitURL.createObjectURL(response); @@ -1796,7 +2446,8 @@ } else { this.allList = []; if (selection[0]) { if (selection[0].hzReplyLogsList) this.hzReplyLogsList = selection[0].hzReplyLogsList; if (selection[0].hzReplyLogsList) this.hzReplyLogsList = selection[0].hzReplyLogsList; } else { this.hzReplyLogsList = []; } @@ -1808,31 +2459,43 @@ this.getDept(row.tjNumber); this.loading = true; this.drawer = true; this.isLoading = true; this.$nextTick(() => this.initInputDOM()); this.tableAll = row; this.tjNumber = row.tjNumber; let num = 0; getParentList(this.tjNumber,this.tjStatus).then((response) => { if (response.data) { getParentList(this.tjNumber, this.tjStatus) .then((response) => { if (response.data) { this.loading = false; this.isLoading = false; 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.getParentIdsss(); this.getbzlist(); } num = num + 1; }); } else { // this.loading = false; // this.isLoading = false; this.Parent = []; this.$modal.msgError("该科室下无项目!"); } }) .catch((error) => { console.error("请求失败:", error); this.$modal.msgError("数据加载失败"); }) .finally(() => { this.loading = false; 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.getParentIdsss(); this.getbzlist(); } num = num + 1; }); } else { this.loading = false; this.Parent = []; this.$modal.msgError("该科室下无项目!"); } }); this.isLoading = false; // 确保最终状态重置 }); this.getbzlist(); }, @@ -1846,7 +2509,8 @@ if (item.hzType != "0") { item.hzDeptIdList.forEach((item1) => { this.deptList.forEach((item2) => { if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ","; if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ","; }); }); } @@ -1860,11 +2524,15 @@ if (tab.name == item.proId) this.Parentcheck = item; }); this.$confirm("检测到体检结果未提交,是否在离开该项目前提交修改?", "确认信息", { distinguishCancelAndClose: true, confirmButtonText: "提交", cancelButtonText: "不保存,离开", }) this.$confirm( "检测到体检结果未提交,是否在离开该项目前提交修改?", "确认信息", { distinguishCancelAndClose: true, confirmButtonText: "提交", cancelButtonText: "不保存,离开", } ) .then(() => { let tjNumber = this.tableAll.tjNumber; this.userList.forEach((item) => { @@ -1891,15 +2559,17 @@ }); }); var data = [{ tjNumber, proId: this.proId, remark: this.proParentList.remark, proName: this.proName, summaryList: this.value, doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }]; 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 = this.Parentcheck.proName; this.nums = tab.name; @@ -1908,7 +2578,8 @@ this.getbzlist(); }) .catch((action) => { if (action === "cancel") this.$message({ type: "warning", message: "放弃保存并离开" }); if (action === "cancel") this.$message({ type: "warning", message: "放弃保存并离开" }); this.proName = this.Parentcheck.proName; this.nums = tab.name; this.proId = tab.name; @@ -1944,15 +2615,17 @@ }); }); let data = [{ tjNumber, proId: this.proId, remark: this.proParentList.remark, proName: this.proName, summaryList: this.vaids1, doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }]; let data = [ { tjNumber, proId: this.proId, remark: this.proParentList.remark, proName: this.proName, summaryList: this.vaids1, doctorName: this.doctorName, tjOrderDetailList: this.tjOrderDetail, }, ]; getaddRemark(data).then((res) => { this.$modal.msgSuccess("提交成功"); this.rows = []; // 提交成功后清空 this.rows @@ -2048,7 +2721,7 @@ /* 轻微的红色背景 */ } ::v-deep .bgc .el-table__body tr:hover>td { ::v-deep .bgc .el-table__body tr:hover > td { background-color: #ffe6e6 !important; } src/views/doctor/checkAll/index.vue
@@ -1,11 +1,54 @@ <template> <div class="mainbox"> <el-form <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-if="tjStatus == 1"> <el-form-item label="姓名" prop="name"> <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable @keyup.enter.native="submitForm"></el-input> </el-form-item> <el-form-item label="体检号" prop="tjNumber"> <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable @keyup.enter.native="submitForm" @blur="hb"></el-input> </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="shys"> <el-input ref="inputName" v-model="queryParams.shys" style="width: 180px" placeholder="请输入审核医师" clearable @keyup.enter.native="submitForm"></el-input> </el-form-item> <el-form-item> <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button> <el-button size="mini" @click="resetQuery">重置</el-button> <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px" v-show="isCollapsed == 0">高级搜索</el-button> <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px" v-show="isCollapsed == 1">高级搜索</el-button> </el-form-item> <el-row v-show="isCollapsed == 1" :gutter="20"> <el-col :span="8"> <el-form-item label="体检时间" prop="tjTime"> <el-date-picker v-model="startTime" 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-col> </el-row> </el-form> <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-else > <el-form-item label="姓名" prop="name"> <el-input @@ -79,49 +122,6 @@ </el-form-item> </el-form> <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-if="tjStatus == 1"> <el-form-item label="姓名" prop="name"> <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable @keyup.enter.native="submitForm"></el-input> </el-form-item> <el-form-item label="体检号" prop="tjNumber"> <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable @keyup.enter.native="submitForm" @blur="hb"></el-input> </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="shys"> <el-input ref="inputName" v-model="queryParams.shys" style="width: 180px" placeholder="请输入审核医师" clearable @keyup.enter.native="submitForm"></el-input> </el-form-item> <el-form-item> <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button> <el-button size="mini" @click="resetQuery">重置</el-button> <el-button type="primary" size="mini" @click="toggleCollapse" style="margin-right: 15px" v-show="isCollapsed == 0">高级搜索</el-button> <el-button type="primary" size="mini" @click="toggleCollapse3" style="margin-right: 15px" v-show="isCollapsed == 1">高级搜索</el-button> </el-form-item> <el-row v-show="isCollapsed == 1" :gutter="20"> <el-col :span="8"> <el-form-item label="体检时间" prop="tjTime"> <el-date-picker v-model="startTime" 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-col> </el-row> </el-form> <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px"> <el-radio-button label="0">未审核</el-radio-button> <el-radio-button label="1">已审核</el-radio-button> @@ -145,7 +145,8 @@ <el-table-column label="出生日期" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" /> <el-table-column label="电话" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" /> <el-table-column label="审核时间" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" /> <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" /> <!-- <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" /> --> <el-table-column label="套餐名称" align="center" prop="pacName" :show-overflow-tooltip="true" width="160px" /> <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px" v-if="tjStatus == 0"> <template slot-scope="scope" v-if="tjStatus == 0"> <span>{{ scope.row.tjStatus == "1" ? "已审核" : "未审核" }}</span> @@ -1055,7 +1056,7 @@ Testitems: [], CheckBox: {}, startTime: [], isCollapsed: 0, isCollapsed: 0, textarea1: "", loading: true, selectLettercurrent: " ", @@ -1611,11 +1612,13 @@ getcheckList(this.queryParams).then((response) => { if (response.code == 200) { this.loading = false; // this.loading = false; if (response.data) { if (response.data.date) { this.loading = false; this.checkList = response.data.date; } else { this.loading = false; this.checkList = response.data.customers; } this.total = response.data.total; @@ -1627,7 +1630,7 @@ getCompany(this.queryParam).then((response) => { this.CompanyList = response.data; this.loading = false; // this.loading = false; }); }, src/views/doctor/examination/index.vue
@@ -112,7 +112,6 @@ :row-class-name="tableRowClassName" highlight-current-row @current-change="handleCurrentChange" > <!-- <el-table-column type="selection" width="40" align="center" /> --> <el-table-column @@ -198,11 +197,7 @@ <!-- v-hasPermi="['reservation:reservation:edit']" --> <el-table-column label="操作" align="center" min-width="120px"> <template slot-scope="scope"> <el-button size="mini" type="text" @click="tongbu(scope.row)" <el-button size="mini" type="text" @click="tongbu(scope.row)" >同步</el-button > <!-- :disabled="dis" --> @@ -232,7 +227,7 @@ </div> <div style="width: 45%; margin-left: 5%"> <el-table v-loading="loading" v-loading="loadingR" border :row-class-name="tableRowClassName" height="520" @@ -240,7 +235,6 @@ :data="xiangmuList" highlight-current-row @row-click="handleRowClick" > <!-- <el-table-column type="selection" width="40" align="center" /> --> <el-table-column @@ -334,7 +328,7 @@ size="mini" type="text" @click="yijian(scope.row)" v-if="yijiantype == 'N'" v-if="yijiantype == 'N'" >已检</el-button > <el-button @@ -370,10 +364,10 @@ <el-table-column label="检测结果" prop="pro_result"> </el-table-column> <el-table-column label="参考范围" prop="ckfw"> </el-table-column> <el-table-column label="异常标志" prop="ycbz"> <template slot-scope="scope"> <el-table-column label="异常标志" prop="ycbz"> <template slot-scope="scope"> {{ scope.row.ycbz == 0 ? "正常" : "异常" }} </template> </template> </el-table-column> </el-table> </div> @@ -421,8 +415,13 @@ </div> </div> <el-dialog :visible.sync="open" width="980px" append-to-body> <el-form ref="form" :model="form" label-width="98px" @submit.native.prevent> <el-dialog :visible.sync="open" width="980px" append-to-body> <el-form ref="form" :model="form" label-width="98px" @submit.native.prevent > <el-form-item label="弃检" prop="isZybUnit"> <el-radio-group v-model="form.isZybUnit"> <el-radio :label="0">自动弃检</el-radio> @@ -430,13 +429,27 @@ </el-radio-group> </el-form-item> <!-- filterable --> <el-form-item label="弃检原因" prop="yy" style="margin-left: 20px" v-if="form.isZybUnit == 1"> <el-select v-model="form.yy" placeholder="请选择弃检原因" clearable style="width: 150px"> <el-option v-for="dict in dict.type.qj_type" :key="dict.value" :label="dict.label" :value="dict.label" /> <el-form-item label="弃检原因" prop="yy" style="margin-left: 20px" v-if="form.isZybUnit == 1" > <el-select v-model="form.yy" placeholder="请选择弃检原因" clearable style="width: 150px" > <el-option v-for="dict in dict.type.qj_type" :key="dict.value" :label="dict.label" :value="dict.label" /> </el-select> </el-form-item> <br /> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitFormqijian">确 定</el-button> @@ -457,7 +470,8 @@ yijian, resultList, typeOne, huifu,csymxmxzqtyybcjk huifu, csymxmxzqtyybcjk, } from "@/api/doctor/examination"; import { getCompany, queryCompany } from "@/api/team/tuanti"; import { getNewDateList } from "@/api/hosp/order"; @@ -470,12 +484,13 @@ jieguoList: [], jyjc: null, dis: false, isLoading:false, open: false, isLoading: false, open: false, createTimeList: "", currentRow: null, total: 0, loading: true, loadingR: false, selectedTjNumber: "", drawer: false, yijiantype: null, @@ -492,7 +507,7 @@ name: null, beginTime: null, endTime: null, tcm:"", tcm: "", tjCompName: "", }, // 绑定单选按钮 @@ -500,7 +515,7 @@ exaList: [], // 表单参数 xianshi: "", rowProId: '', rowProId: "", name: "", form: {}, clearTimeSet: null, @@ -638,13 +653,13 @@ this.CompanyList = response.data; // console.log(this.CompanyList, 555); this.loading = false; // this.loading = false; }); getCsList(this.queryParams).then((res) => { if (res.code == 200) { this.loading = false; if (res.data) { this.loading = false; this.exaList = res.data.customers; this.total = res.data.total; if (this.exaList.length != 0) { @@ -753,7 +768,7 @@ beginTime: null, endTime: null, tjCompName: "", tcm:"" tcm: "", }), (this.CheckBox.drugManufacturerId = ""); this.handleQuery(); @@ -797,6 +812,7 @@ } }, handleCurrentChange(val) { this.loadingR = true; this.currentRow = val; let tjNumber = val.tjNumber; this.selectedTjNumber = val.tjNumber; @@ -810,6 +826,7 @@ }); cSWebGetPro(tjNumber).then((res) => { this.loadingR = false; this.xiangmuList = res.data; this.xiangmuList.forEach((item) => { // console.log(item); @@ -845,22 +862,22 @@ }, cancel() { this.open = false this.open = false; }, submitFormqijian() { if (this.form.isZybUnit == 0) { const tjNUm = this.selectedTjNumber; const proId = this.rowProId; qijian(tjNUm, proId).then((res) => { if (res.code == 200) { this.open = false this.open = false; cSWebGetPro(tjNUm).then((res) => { if (res.code === 200) { // 更新右边表格的数据 this.xiangmuList = res.data; this.isLoading = false this.isLoading = false; } }); } @@ -871,15 +888,15 @@ tjNum: this.selectedTjNumber, proId: this.rowProId, yy: this.form.yy, } }; csymxmxzqtyybcjk(data).then((res) => { if (res.code == 200) { cSWebGetPro(this.selectedTjNumber).then((res) => { if (res.code === 200) { this.open = false this.open = false; // 更新右边表格的数据 this.xiangmuList = res.data; this.isLoading = false this.isLoading = false; } }); } @@ -894,7 +911,7 @@ qijian(row) { const tjNUm = this.selectedTjNumber; const proId = row.proId; this.rowProId = row.proId; this.rowProId = row.proId; row.isLoading = true; if (row.type == "2") { huifu(tjNUm, proId).then((res) => { @@ -903,14 +920,14 @@ if (res.code === 200) { // 更新右边表格的数据 this.xiangmuList = res.data; row.isLoading = false row.isLoading = false; } }); } }); } else { this.open = true this.form = {} this.open = true; this.form = {}; // qijian(tjNUm, proId).then((res) => { // if (res.code == 200) { // cSWebGetPro(tjNUm).then((res) => { @@ -928,19 +945,21 @@ 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; }); 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; }); }, handleRowClick(row, column, event) { // console.log(row, 2323); src/views/doctor/inspectCheck/index.vue
@@ -55,6 +55,7 @@ <span class="highlight">姓名:{{ infoList.tjCustomerName || "暂无" }}</span> <span class="highlight">性别:{{ infoList.tjCustomerSex == 0 ? "男" : infoList.tjCustomerSex == 1 ? "女" : "暂无" }}</span> <span class="highlight">年龄:{{ infoList.tjCustomerAge || "暂无" }}</span> <span class="highlight">门诊号:{{ infoList.cardId || "暂无" }}</span> </h3> </div> <el-table border height="350" ref="tab1" :data="checkList" v-loading="loading" style="width: 100%" @@ -173,49 +174,98 @@ }, handleSelectionChange(val) { this.selectedFirstTable = val; // 防止重复触发 if (this.isProcessingSelection) { console.log('正在处理选择,跳过重复触发'); return; } this.isProcessingSelection = true; this.$nextTick(() => { if (val.length === 0) { console.log('无选中行,清空选择和 checkList'); this.checkList = []; this.exaLists.forEach(row => { this.$refs.firstTable && this.$refs.firstTable.toggleRowSelection(row, false); }); return; } // 如果没有选中行,清空所有选择并跳过接口调用 if (val.length === 0) { console.log('检测到取消选中,清空所有选择'); this.$refs.firstTable.clearSelection(); this.selectedFirstTable = null; this.checkList = []; this.isDeselection = true; this.$nextTick(() => { this.isProcessingSelection = false; this.$refs.firstTable.$forceUpdate(); // 强制刷新表格 }); return; } const firstSelectedRow = val[0]; let filterKey = firstSelectedRow.checkParts ? 'checkParts' : 'brid'; let filterValue = firstSelectedRow.checkParts || firstSelectedRow.brid; console.log(`按 ${filterKey} 筛选: ${filterValue}`); const selectedSet = new Set( this.exaLists .filter(row => row[filterKey] === filterValue) .map(item => item.tempId) ); console.log(`选中的 ${filterKey} 集合 (tempId):`, selectedSet); // 检查是否点击了全选按钮(val 长度等于表格总行数) if (val.length === this.exaLists.length) { console.log('检测到全选,选中所有行'); this.selectedFirstTable = [...this.exaLists]; // 选中所有行 this.$refs.firstTable.clearSelection(); this.exaLists.forEach(row => { if (!row.brid) { console.warn(`名称为 ${row.name} 的行没有申请单号,跳过选择`); return; } const shouldSelect = selectedSet.has(row.tempId); console.log(`行 tempId: ${row.tempId}, ${filterKey}: ${row[filterKey]}, 是否选中: ${shouldSelect}`); this.$refs.firstTable.toggleRowSelection(row, shouldSelect); this.$refs.firstTable.toggleRowSelection(row, true, false); }); } else { // 获取最新选中的行 const latestSelectedRow = val[val.length - 1]; // 检查是否点击了已选中的行(取消所有选中) const isTogglingSelectedRow = this.selectedFirstTable && this.selectedFirstTable.some(row => row.tempId === latestSelectedRow.tempId); if (isTogglingSelectedRow) { console.log('点击已选中行,取消所有选中'); this.$refs.firstTable.clearSelection(); this.selectedFirstTable = null; this.checkList = []; this.isDeselection = true; this.$nextTick(() => { this.isProcessingSelection = false; this.$refs.firstTable.$forceUpdate(); // 强制刷新表格 }); return; } // 正常选中逻辑:根据 brid 筛选 const filterKey = 'brid'; const filterValue = latestSelectedRow.brid; console.log(`按 ${filterKey} 筛选: ${filterValue}`); // 清空所有选中状态 this.$refs.firstTable.clearSelection(); // 选中与 brid 匹配的行 const rowsToSelect = this.exaLists.filter(row => row.brid === filterValue); rowsToSelect.forEach(row => { if (!row.brid) { console.warn(`名称为 ${row.name} 的行没有申请单号,跳过选择`); return; } this.$refs.firstTable.toggleRowSelection(row, true, false); }); if (!this.isFetchingRightTableData) { this.isFetchingRightTableData = true; this.fetchRightTableData().finally(() => { this.isFetchingRightTableData = false; }); } }); }, // 更新 selectedFirstTable 为 brid 匹配的行 this.selectedFirstTable = rowsToSelect; } // 调用右侧表格数据 if (!this.isFetchingRightTableData && this.selectedFirstTable.length > 0) { this.isFetchingRightTableData = true; this.fetchRightTableData().finally(() => { this.isFetchingRightTableData = false; this.$nextTick(() => { // 仅更新样式,不触发新事件 this.$refs.firstTable.$forceUpdate(); this.isProcessingSelection = false; }); }); } else { this.isProcessingSelection = false; } // 重置 isDeselection 状态 this.isDeselection = false; }, fetchRightTableData() { const code = this.queryParams.tjNum; if (!code) { src/views/doctor/pacsCheck/index.vue
@@ -86,6 +86,7 @@ <span class="highlight">姓名:{{ infoList.tjCustomerName || "暂无" }}</span> <span class="highlight">性别:{{ infoList.tjCustomerSex == 0 ? "男" : infoList.tjCustomerSex == 1 ? "女" : "暂无" }}</span> <span class="highlight">年龄:{{ infoList.tjCustomerAge || "暂无" }}</span> <span class="highlight">门诊号:{{ infoList.cardId || "暂无" }}</span> </h3> </div> <el-table src/views/hosp/order/index.vue
@@ -1,167 +1,76 @@ <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="name"> <el-input ref="inputName" v-model="queryParams.name" placeholder="请输入姓名" style="width: 150px" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="体检号" prop="tjNum"> <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="请输入体检号" style="width: 150px" clearable @keyup.enter.native="handleQuery" @blur="hb" /> </el-form-item> <el-form-item label="体检项目" prop="xmmc"> <el-input ref="inputName" v-model="queryParams.xmmc" placeholder="请输入体检项目" style="width: 150px" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="单位名称" prop="tjCompName" style="margin-left: 20px; margin-right: 500px" > <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" style="width: 200px" 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="zt"> <el-select :remote-method="getRemoteData" v-model="queryParams.zt" style="width: 150px" remote filterable placeholder="请选择状态" clearable @change="searchSelect" > <el-option v-for="item in ztList" :key="item.id" :label="item.name" :value="item.id" /> </el-select> </el-form-item> <el-form-item label="登记时间" prop="createTimeList" style="margin-right: 107px" > <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" style="width: 300px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1" > </el-date-picker> </el-form-item> <!-- <el-form-item label="登记时间" prop="createTime"> <div v-loading="isLoading" element-loading-text="正在提交,请稍候..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;"> <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="name"> <el-input ref="inputName" v-model="queryParams.name" placeholder="请输入姓名" style="width: 150px" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="体检号" prop="tjNum"> <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="请输入体检号" style="width: 150px" clearable @keyup.enter.native="handleQuery" @blur="hb" /> </el-form-item> <el-form-item label="体检项目" prop="xmmc"> <el-input ref="inputName" v-model="queryParams.xmmc" placeholder="请输入体检项目" style="width: 150px" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="单位名称" prop="tjCompName" > <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" style="width: 200px" 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="zt"> <el-select :remote-method="getRemoteData" v-model="queryParams.zt" style="width: 150px" remote filterable placeholder="请选择状态" clearable @change="searchSelect"> <el-option v-for="item in ztList" :key="item.id" :label="item.name" :value="item.id" /> </el-select> </el-form-item> <el-form-item label="登记时间" prop="createTimeList" style="margin-right: 107px"> <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions" style="width: 300px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:00']" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1"> </el-date-picker> </el-form-item> <!-- <el-form-item label="登记时间" prop="createTime"> <el-date-picker clearable v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择登记时间"> </el-date-picker> </el-form-item> --> <!-- <el-form-item label="完成时间" prop="finishTimeList"> <!-- <el-form-item label="完成时间" prop="finishTimeList"> <el-date-picker clearable v-model="queryParams.finishTimeList" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="请选择体检完成时间" style="width: 240px"> </el-date-picker> </el-form-item> --> <el-form-item label="报告时间" prop="reportTimeList"> <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="请选择出报告时间" style="width: 240px" > </el-date-picker> </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-form-item label="报告时间" prop="reportTimeList"> <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="请选择出报告时间" style="width: 240px"> </el-date-picker> </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> <div v-if="shijianlist.length > 0" style="margin-bottom: 20px"> {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }} <el-steps :space="200" :active="shijianlist[shijianlist.length - 1].sjz" finish-status="success" align-center > <el-step title="未检"></el-step> <el-step title="在检"></el-step> <el-step title="已完成"></el-step> <el-step title="已审核"></el-step> <el-step title="生成报告"></el-step> <el-step title="报告核收"></el-step> <el-step title="已打印"></el-step> </el-steps> </div> <div v-if="shijianlist.length > 0" style="margin-bottom: 20px"> {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }} <el-steps :space="200" :active="shijianlist[shijianlist.length - 1].sjz" finish-status="success" align-center> <el-step title="未检"></el-step> <el-step title="在检"></el-step> <el-step title="已完成"></el-step> <el-step title="已审核"></el-step> <el-step title="生成报告"></el-step> <el-step title="报告核收"></el-step> <el-step title="已打印"></el-step> </el-steps> </div> <el-row :gutter="10" class="mb8"> <!-- <el-col :span="1.5"> <el-row :gutter="10" class="mb8"> <!-- <el-col :span="1.5"> <el-button type="primary" icon="el-icon-download" @@ -172,273 +81,110 @@ >导出</el-button > </el-col> --> <el-col :span="1.5"> <el-button type="primary" icon="el-icon-download" size="mini" @click="exportDialogVisible = true" v-hasPermi="['hosp:order:export']" >导出</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" icon="el-icon-download" size="mini" @click="exportDialogVisible = true" v-hasPermi="['hosp:order:export']">导出</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleProject1" :disabled="single" v-hasPermi="['hosp:order:export']">补录项目</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="revokeProject" :disabled="single" v-hasPermi="['hosp:order:export']">撤销补录</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleRevoke" :loading="isLoading" :disabled="singles" >撤销签到</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleProject1" :disabled="single" v-hasPermi="['hosp:order:export']" >补录项目</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="revokeProject" :disabled="single" v-hasPermi="['hosp:order:export']" >撤销补录</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleReport1" :disabled="single" v-hasPermi="['hosp:order:export']">打印导诊单</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single" v-hasPermi="['hosp:order:export']">订单明细</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="budadzd" :disabled="single" v-hasPermi="['hosp:order:export']">打印补录单</el-button> </el-col> <el-col :span="1.5"> <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke" :disabled="singles">撤销签到</el-button> </el-col> <el-col :span="1.5"> <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single" v-hasPermi="['qzcx']">强制撤销</el-button> </el-col> <el-col :span="1.5"> <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment" :disabled="multiple">恢复预约</el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleReport1" :disabled="single" v-hasPermi="['hosp:order:export']" >打印导诊单</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single" v-hasPermi="['hosp:order:export']" >订单明细</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="budadzd" :disabled="single" v-hasPermi="['hosp:order:export']" >打印补录单</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="ForceChexiao" :disabled="single" v-hasPermi="['qzcx']" >强制撤销</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" size="mini" @click="ResumeAppointment" :disabled="multiple" >恢复预约</el-button > </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" ></right-toolbar> </el-row> <template> <el-table border v-loading="loading" :data="orderList" ref="tableRef" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="40px" align="center" fixed="left" /> <!-- <el-table-column label="主键id" align="center" prop="orderId" /> --> <!-- <el-table-column label="用户id" align="center" prop="userId" /> --> <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" /> <el-table-column label="姓名" align="center" prop="tjCustomerName" fixed="left" width="90px" :show-overflow-tooltip="true" /> <el-table-column label="身份证号" align="center" prop="tjCusIdCard" fixed="left" width="180px" :show-overflow-tooltip="true" /> <el-table-column label="性别" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true" > <template slot-scope="scope"> <span v-if="scope.row.tjCustomerSex == '0'">男</span> <span v-if="scope.row.tjCustomerSex == '1'">女</span> <span v-if="scope.row.tjCustomerSex == '2'">未知</span> </template> </el-table-column> <el-table-column label="年龄" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" /> <el-table-column label="电话" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true" width="110px" /> <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true" > <template slot-scope="scope"> <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> <!-- <span v-if="scope.row.tjType == '2'">个人</span> <template> <el-table border v-loading="loading" :data="orderList" ref="tableRef" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="40px" align="center" fixed="left" /> <!-- <el-table-column label="主键id" align="center" prop="orderId" /> --> <!-- <el-table-column label="用户id" align="center" prop="userId" /> --> <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left" /> <el-table-column label="姓名" align="center" prop="tjCustomerName" fixed="left" width="90px" :show-overflow-tooltip="true" /> <el-table-column label="身份证号" align="center" prop="tjCusIdCard" fixed="left" width="180px" :show-overflow-tooltip="true" /> <el-table-column label="性别" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true"> <template slot-scope="scope"> <span v-if="scope.row.tjCustomerSex == '0'">男</span> <span v-if="scope.row.tjCustomerSex == '1'">女</span> <span v-if="scope.row.tjCustomerSex == '2'">未知</span> </template> </el-table-column> <el-table-column label="年龄" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" /> <el-table-column label="电话" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true" width="110px" /> <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true"> <template slot-scope="scope"> <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> <!-- <span v-if="scope.row.tjType == '2'">个人</span> <span v-if="scope.row.tjType == '1'">团队</span> --> </template> </el-table-column> <el-table-column label="体检号" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" /> <el-table-column label="门诊号" align="center" prop="cardId" :show-overflow-tooltip="true" width="160px" /> <el-table-column label="单位名称" align="center" prop="dictCompName" :show-overflow-tooltip="true" /> <el-table-column label="状态" align="center" prop="zt" :show-overflow-tooltip="true" /> <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> --> <el-table-column label="所选套餐" align="center" prop="pacName" :formatter="driver" :show-overflow-tooltip="true" /> <el-table-column label="导诊打印次数" align="center" prop="dycs" width="110px" :formatter="driver" :show-overflow-tooltip="true" > <template slot-scope="scope"> {{ scope.row.dycs === null ? 0 : scope.row.dycs }} </template> </el-table-column> <el-table-column label="登记时间" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> <el-table-column label="完成时间" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true" > <!-- <template slot-scope="scope"> </template> </el-table-column> <el-table-column label="体检号" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" /> <el-table-column label="门诊号" align="center" prop="cardId" :show-overflow-tooltip="true" width="160px" /> <el-table-column label="单位名称" align="center" prop="dictCompName" :show-overflow-tooltip="true" /> <el-table-column label="状态" align="center" prop="zt" :show-overflow-tooltip="true" /> <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> --> <el-table-column label="所选套餐" align="center" prop="pacName" :formatter="driver" :show-overflow-tooltip="true" /> <el-table-column label="导诊打印次数" align="center" prop="dycs" width="110px" :formatter="driver" :show-overflow-tooltip="true"> <template slot-scope="scope"> {{ scope.row.dycs === null ? 0 : scope.row.dycs }} </template> </el-table-column> <el-table-column label="登记时间" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> <el-table-column label="完成时间" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true"> <!-- <template slot-scope="scope"> <span>{{ parseTime(scope.row.finishTime) }}</span> </template> --> </el-table-column> <!-- <el-table-column label="更新时间" align="center" prop="updateTime" width="180"> </el-table-column> <!-- <el-table-column label="更新时间" align="center" prop="updateTime" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span> </template> </el-table-column> --> <el-table-column label="报告时间" align="center" prop="reportTime" width="155px" height="10px" :show-overflow-tooltip="true" > <!-- <template slot-scope="scope"> <el-table-column label="报告时间" align="center" prop="reportTime" width="155px" height="10px" :show-overflow-tooltip="true"> <!-- <template slot-scope="scope"> <span>{{ parseTime(scope.row.reportTime) }}</span> </template> --> </el-table-column> <!-- <el-table-column label="创建人" align="center" prop="createBy" /> --> <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> --> <!-- <el-table-column </el-table-column> <!-- <el-table-column label="创建人" align="center" prop="createBy" /> --> <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> --> <!-- <el-table-column label="单位工号" align="center" prop="firmWorkId" @@ -446,50 +192,32 @@ :show-overflow-tooltip="true" /> --> <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> --> <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> --> <!-- <el-table-column label="客户照片" align="center" prop="photo" /> --> <!-- <el-table-column prop="checkStatus" label="审核状态" width="180"> <!-- <el-table-column label="客户照片" align="center" prop="photo" /> --> <!-- <el-table-column prop="checkStatus" label="审核状态" width="180"> <template slot-scope="scope"> <span>{{ scope.row.checkStatus == "1" ? "已审核" : "待审核" }}</span> </template> </el-table-column> --> <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px" width="114px" > <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)" v-hasPermi="['hosp:order:edit']" title="订单流水" ></el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)" v-hasPermi="['hosp:order:edit']" title="补录项目" ></el-button> <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click=" <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px" width="114px"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)" v-hasPermi="['hosp:order:edit']" title="订单流水"></el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)" v-hasPermi="['hosp:order:edit']" title="补录项目"></el-button> <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="下载导诊单" @click=" daoZhenDan, LoadFileImg(scope.row); "></el-button> --> <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="查看报告" @click=" <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="查看报告" @click=" dialogVisible, downLoadFileImg(scope.row); "></el-button> --> <!-- <el-button <!-- <el-button type="text" size="mini" class="btn" @@ -497,7 +225,7 @@ title="体检报告" @click="viewReport(scope.row)" ></el-button> --> <!-- <el-button <!-- <el-button type="text" size="mini" class="btn" @@ -507,41 +235,28 @@ @click="viewReport(scope.row)" ></el-button> --> <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="导诊单" @click="handleReport(scope.row)" ></el-button> <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="导诊单" @click="handleReport(scope.row)"></el-button> <!-- <button @click="downLoadFileImg(scope.row)">查看报告</button> --> </template> </el-table-column> </el-table> </template> <!-- <button @click="downLoadFileImg(scope.row)">查看报告</button> --> </template> </el-table-column> </el-table> </template> <div class="pag"> <div class="pag1"> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" > </el-pagination> <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <div class="pag"> <div class="pag1"> <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> --> </div> </div> </div> <!-- 订单流水对话框 --> <!-- <el-dialog title="提示" :visible.sync="dialogVisible" width="1500px " > <!-- 订单流水对话框 --> <!-- <el-dialog title="提示" :visible.sync="dialogVisible" width="1500px " > <el-table :data="tableData" style="width: 100%"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> @@ -555,63 +270,33 @@ </span> </el-dialog> --> <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false" > <div class="main"> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%" ></iframe> </div> </el-dialog> <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false"> <div class="main"> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> </div> </el-dialog> <el-dialog title="导诊单" :visible.sync="daoZhenDan" :close-on-click-modal="false" > <div class="main"> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%" ></iframe> </div> </el-dialog> <el-dialog title="导诊单" :visible.sync="daoZhenDan" :close-on-click-modal="false"> <div class="main"> <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> </div> </el-dialog> <!-- 添加补录项目 --> <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false" > <div class="box"> <div class="box1"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 项目选择 </div> <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" v-model="activeNames" > <el-tab-pane label="组合" name="first"> <div class="tab8"> <el-row :gutter="20" style="width: 100%"> <el-col :span="22"> <!-- <div <!-- 添加补录项目 --> <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false"> <div class="box"> <div class="box1"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> 项目选择 </div> <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" v-model="activeNames"> <el-tab-pane label="组合" name="first"> <div class="tab8"> <el-row :gutter="20" style="width: 100%"> <el-col :span="22"> <!-- <div style=" text-align: center; margin-bottom: 10px; @@ -620,29 +305,16 @@ > 项目列表 </div> --> <el-input placeholder="输入关键字进行过滤" v-model="filterage" > </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" :render-content="renderContents" > </el-tree> </div> </el-col> <!-- <el-col :span="11"> <el-input placeholder="输入关键字进行过滤" v-model="filterage"> </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" :render-content="renderContents"> </el-tree> </div> </el-col> <!-- <el-col :span="11"> <div style=" text-align: center; @@ -664,15 +336,15 @@ </el-tree> </div> </el-col> --> <!-- <el-col :span="11"> </el-col> --> </el-row> </div> </el-tab-pane> <el-tab-pane label="单项" name="third"> <div class="tab8"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="22"> <!-- <div <!-- <el-col :span="11"> </el-col> --> </el-row> </div> </el-tab-pane> <el-tab-pane label="单项" name="third"> <div class="tab8"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="22"> <!-- <div style=" text-align: center; margin-bottom: 10px; @@ -681,29 +353,17 @@ > 项目列表 </div> --> <el-input placeholder="输入关键字进行过滤" v-model="filterText" > </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox node-key="proId" @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" :render-content="renderContent" > </el-tree> </div> </el-col> <!-- <el-col :span="11"> <el-input placeholder="输入关键字进行过滤" v-model="filterText"> </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox node-key="proId" @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" :render-content="renderContent"> </el-tree> </div> </el-col> <!-- <el-col :span="11"> <div style=" text-align: center; @@ -731,7 +391,7 @@ </div> </div> </el-col> --> <!-- <el-col :span="11"> <!-- <el-col :span="11"> <div class="grid-content bg-purple"> <div style=" @@ -779,7 +439,7 @@ </template> </el-table-column> </el-table> --> <!-- <el-collapse v-model="activeName" accordion v-if="list1"> <!-- <el-collapse v-model="activeName" accordion v-if="list1"> <div> <el-collapse-item title="请选择项目"> <el-table @@ -801,378 +461,209 @@ </el-collapse-item> </div> </el-collapse> --> <!-- </div> <!-- </div> </el-col> --> </el-row> </div> </el-tab-pane> </el-tabs> </el-row> </div> </el-tab-pane> </el-tabs> </div> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 9px"> 已选项目列表 </div> <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560" :span-method="objectspanmethod"> <el-table-column prop="propinName" label="检查项目" width="200px" :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="proName" label="明细项目" width="200px" :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="sl" label="数量" width="56px"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)" title="删除"></el-button> </template> </el-table-column> </el-table> <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> --> </div> </div> <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px"> <!-- 体检类型 --> <el-form-item label="体检类型" prop="tjType" style="display: flex"> <div class="type"> {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} </div> </el-form-item> <!-- 原价 --> <el-form-item label="原价" style="display: flex"> <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input> </el-form-item> <!-- 折扣设定 --> <el-form-item label="折扣" style="display: flex"> <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> </el-form-item> <!-- 应付金额 --> <el-form-item label="应付" style="display: flex"> <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> </el-form-item> <!-- 付款类型 --> <el-form-item label="付款类型" prop="payType" style="display: flex"> <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange"> <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> </el-form-item> <!-- 结算方式 --> <el-form-item label="结算方式" prop="jsType" style="display: flex"> <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable> <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <!-- 提交按钮 --> <el-form-item style="display: flex"> <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm"> 提交 </el-button> </el-form-item> </el-form> </el-dialog> <!-- 添加补录项目 --> <el-dialog :title="title" :visible.sync="Projectopen1" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false"> <div class="box"> <div class="box1"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> 项目选择 </div> <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" v-model="activeNames"> <el-tab-pane label="组合" name="first"> <div class="tab8"> <el-row :gutter="20" style="width: 100%"> <el-col :span="22"> <el-input placeholder="输入关键字进行过滤" v-model="filterage"> </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" :render-content="renderContents"> </el-tree> </div> </el-col> </el-row> </div> </el-tab-pane> <el-tab-pane label="单项" name="third"> <div class="tab8"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="22"> <el-input placeholder="输入关键字进行过滤" v-model="filterText"> </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox node-key="proId" @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" :render-content="renderContent"> </el-tree> </div> </el-col> </el-row> </div> </el-tab-pane> </el-tabs> </div> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 9px"> 已选项目列表 </div> <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560" :span-method="objectspanmethod"> <el-table-column prop="propinName" label="检查项目" width="200px" :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="proName" label="明细项目" width="200px" :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="sl" label="数量" width="56px"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)" title="删除"></el-button> </template> </el-table-column> </el-table> <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> --> </div> </div> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 9px"> 已选项目列表 </div> <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560" :span-method="objectspanmethod" > <el-table-column prop="propinName" label="检查项目" width="200px" :show-overflow-tooltip="true" > </el-table-column> <el-table-column prop="proName" label="明细项目" width="200px" :show-overflow-tooltip="true" > </el-table-column> <el-table-column prop="sl" label="数量" width="56px"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px"> <!-- 体检类型 --> <el-form-item label="体检类型" prop="tjType" style="display: flex"> <div class="type"> {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} </div> </el-form-item> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px" > <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)" title="删除" ></el-button> </template> </el-table-column> </el-table> <!-- 原价 --> <el-form-item label="原价" style="display: flex"> <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px"></el-input> </el-form-item> <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> --> </div> </div> <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px" > <!-- 体检类型 --> <el-form-item label="体检类型" prop="tjType" style="display: flex"> <div class="type"> {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} </div> </el-form-item> <!-- 折扣设定 --> <el-form-item label="折扣" style="display: flex"> <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input> </el-form-item> <!-- 原价 --> <el-form-item label="原价" style="display: flex"> <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px" ></el-input> </el-form-item> <!-- 应付金额 --> <el-form-item label="应付" style="display: flex"> <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input> </el-form-item> <!-- 折扣设定 --> <el-form-item label="折扣" style="display: flex"> <el-input style="width: 90px" type="number" v-model="discount" :value="discount" ></el-input> </el-form-item> <!-- 付款类型 --> <el-form-item label="付款类型" prop="payType" style="display: flex"> <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange"> <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> </el-form-item> <!-- 应付金额 --> <el-form-item label="应付" style="display: flex"> <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px" ></el-input> </el-form-item> <!-- 结算方式 --> <el-form-item label="结算方式" prop="jsType" style="display: flex"> <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable> <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <!-- 付款类型 --> <el-form-item label="付款类型" prop="payType" style="display: flex"> <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange" > <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> <!-- 提交按钮 --> <el-form-item style="display: flex"> <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm"> 提交 </el-button> </el-form-item> </el-form> <!-- 结算方式 --> <el-form-item label="结算方式" prop="jsType" style="display: flex"> <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable > <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <!-- 提交按钮 --> <el-form-item style="display: flex"> <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm" > 提交 </el-button> </el-form-item> </el-form> </el-dialog> <!-- 添加补录项目 --> <el-dialog :title="title" :visible.sync="Projectopen1" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false" > <div class="box"> <div class="box1"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 项目选择 </div> <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" v-model="activeNames" > <el-tab-pane label="组合" name="first"> <div class="tab8"> <el-row :gutter="20" style="width: 100%"> <el-col :span="22"> <el-input placeholder="输入关键字进行过滤" v-model="filterage" > </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" :render-content="renderContents" > </el-tree> </div> </el-col> </el-row> </div> </el-tab-pane> <el-tab-pane label="单项" name="third"> <div class="tab8"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="22"> <el-input placeholder="输入关键字进行过滤" v-model="filterText" > </el-input> <div class="tab3"> <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" show-checkbox node-key="proId" @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" :render-content="renderContent" > </el-tree> </div> </el-col> </el-row> </div> </el-tab-pane> </el-tabs> </div> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 9px"> 已选项目列表 </div> <el-table :data="DataList3" border style="width: 100%; table-layout: fixed" height="560" :span-method="objectspanmethod" > <el-table-column prop="propinName" label="检查项目" width="200px" :show-overflow-tooltip="true" > </el-table-column> <el-table-column prop="proName" label="明细项目" width="200px" :show-overflow-tooltip="true" > </el-table-column> <el-table-column prop="sl" label="数量" width="56px"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="50px" > <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDel(scope.row)" title="删除" ></el-button> </template> </el-table-column> </el-table> <!-- <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> --> </div> </div> <el-form :model="form" inline style="display: flex; justify-content: space-between; margin-top: 20px" > <!-- 体检类型 --> <el-form-item label="体检类型" prop="tjType" style="display: flex"> <div class="type"> {{ { 1: "团队", 2: "个人", 3: "团体票" }[form.tjType] }} </div> </el-form-item> <!-- 原价 --> <el-form-item label="原价" style="display: flex"> <el-input placeholder="原价" :value="TotalPrice1" disabled style="width: 90px" ></el-input> </el-form-item> <!-- 折扣设定 --> <el-form-item label="折扣" style="display: flex"> <el-input style="width: 90px" type="number" v-model="discount" :value="discount" ></el-input> </el-form-item> <!-- 应付金额 --> <el-form-item label="应付" style="display: flex"> <el-input placeholder="应付金额" :value="TotalPrice1 * (discount / 10)" style="width: 90px" ></el-input> </el-form-item> <!-- 付款类型 --> <el-form-item label="付款类型" prop="payType" style="display: flex"> <el-select style="width: 120px" v-model="payType" placeholder="请选择付款类型" @change="onPayTypeChange" > <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> <!-- 结算方式 --> <el-form-item label="结算方式" prop="jsType" style="display: flex"> <el-select v-model="jsType" placeholder="请选择结算方式" style="width: 130px" clearable > <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <!-- 提交按钮 --> <el-form-item style="display: flex"> <el-button type="primary" :loading="isSubmit1" @click="submitPrice1" :disabled="confirm" > 提交 </el-button> </el-form-item> </el-form> <!-- <div class="heji"> <!-- <div class="heji"> <div class="o"> <el-form :model="form" @@ -1253,315 +744,150 @@ </el-form> </div> </div> --> </el-dialog> </el-dialog> <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body :close-on-click-modal="false" class="custom-dialog" > <el-tabs v-model="activeName1" type="card"> <el-tab-pane label="项目汇总" name="second" style="height: 400px"> <el-table :data="huizongList" style="width: 100%" max-height="350"> <el-table-column align="center" type="index" label="序号" width="50" ></el-table-column> <el-table-column align="center" prop="parent_pro_name" label="项目" ></el-table-column> <el-table-column align="center" prop="ks" label="科室" ></el-table-column> <el-table-column align="center" prop="price" label="费用合计" ></el-table-column> </el-table> <h3>付款详情</h3> <el-table :data="bill" style="width: 100%; margin-top: 10px"> <el-table-column align="center" prop="copeWith" label="应付" ></el-table-column> <el-table-column align="center" prop="discount" label="折扣" ></el-table-column> <el-table-column align="center" prop="paidIn" label="实付" ></el-table-column> </el-table> </el-tab-pane> <el-tab-pane label="明细项目" name="third" style="height: 450px"> <!-- 移除 overflow-y: auto --> <el-table :data="infoList" style="width: 100" max-height="500" :span-method="objectSpanMethod1" > <el-table-column align="center" type="index" label="序号" width="50" ></el-table-column> <el-table-column align="center" prop="parent_pro_name" label="父项" ></el-table-column> <el-table-column align="center" prop="pro_name" label="子项" ></el-table-column> <el-table-column align="center" prop="danjia" label="单价" ></el-table-column> <el-table-column align="center" prop="num" label="数量" ></el-table-column> <el-table-column align="center" prop="zongjia" label="总价" ></el-table-column> <el-table-column align="center" prop="time" label="开单时间" width="180" ></el-table-column> </el-table> </el-tab-pane> </el-tabs> <div slot="footer" class="dialog-footer"> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <el-dialog :title="title1" :visible.sync="Projectssopen" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false" > <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="13"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 补录列表 </div> <div class="tab3"> <el-table :data="DataLists" border style="width: 100%" height="400" @selection-change="handleProjectssChange" > <el-table-column type="selection" width="40" align="center" /> <el-table-column type="index" label="序号" align="center" width="49px" > </el-table-column> <el-table-column prop="blje" label="补录金额" align="center" width="74px" > </el-table-column> <el-table-column prop="bldh" label="补录单号" align="center" width="155px" > </el-table-column> <el-table-column prop="blsj" label="补录时间" align="center" width="156px" > </el-table-column> <el-table-column prop="blrmc" label="补录人" align="center" width="96px" > </el-table-column> <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body :close-on-click-modal="false" class="custom-dialog"> <el-tabs v-model="activeName1" type="card"> <el-tab-pane label="项目汇总" name="second" style="height: 400px"> <el-table :data="huizongList" style="width: 100%" max-height="350"> <el-table-column align="center" type="index" label="序号" width="50"></el-table-column> <el-table-column align="center" prop="parent_pro_name" label="项目"></el-table-column> <el-table-column align="center" prop="ks" label="科室"></el-table-column> <el-table-column align="center" prop="price" label="费用合计"></el-table-column> </el-table> </div> </el-col> <h3>付款详情</h3> <el-table :data="bill" style="width: 100%; margin-top: 10px"> <el-table-column align="center" prop="copeWith" label="应付"></el-table-column> <el-table-column align="center" prop="discount" label="折扣"></el-table-column> <el-table-column align="center" prop="paidIn" label="实付"></el-table-column> </el-table> </el-tab-pane> <el-tab-pane label="明细项目" name="third" style="height: 450px"> <!-- 移除 overflow-y: auto --> <el-table :data="infoList" style="width: 100" max-height="500" :span-method="objectSpanMethod1"> <el-table-column align="center" type="index" label="序号" width="50"></el-table-column> <el-table-column align="center" prop="parent_pro_name" label="父项"></el-table-column> <el-table-column align="center" prop="pro_name" label="子项"></el-table-column> <el-table-column align="center" prop="danjia" label="单价"></el-table-column> <el-table-column align="center" prop="num" label="数量"></el-table-column> <el-table-column align="center" prop="zongjia" label="总价"></el-table-column> <el-table-column align="center" prop="time" label="开单时间" width="180"></el-table-column> </el-table> </el-tab-pane> </el-tabs> <div slot="footer" class="dialog-footer"> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> <el-col :span="10"> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 补录项目 <el-dialog :title="title1" :visible.sync="Projectssopen" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="13"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> 补录列表 </div> <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2" > <el-table-column prop="propinName" label="检查项目"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column prop="proName" label="明细项目" width="260px"> </el-table-column> </el-table> </div> </el-col> </el-row> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">撤 销</el-button> <!-- <el-button @click="cancel">取 消</el-button> --> </div> </el-dialog> <el-dialog :title="title1" :visible.sync="budadaozhen" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false" > <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="13"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 补录列表 </div> <div class="tab3"> <el-table :data="DataLists" border style="width: 100%" height="400" @selection-change="handleProjectssChange" > <el-table-column type="selection" width="40" align="center" /> <el-table-column type="index" label="序号" align="center" width="49px" > </el-table-column> <el-table-column prop="blje" label="补录金额" align="center" width="74px" > </el-table-column> <el-table-column prop="bldh" label="补录单号" align="center" width="155px" > </el-table-column> <el-table-column prop="blsj" label="补录时间" align="center" width="156px" > </el-table-column> <el-table-column prop="blrmc" label="补录人" align="center" width="96px" > </el-table-column> </el-table> </div> </el-col> <el-col :span="10"> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 补录项目 <div class="tab3"> <el-table :data="DataLists" border style="width: 100%" height="400" @selection-change="handleProjectssChange"> <el-table-column type="selection" width="40" align="center" /> <el-table-column type="index" label="序号" align="center" width="49px"> </el-table-column> <el-table-column prop="blje" label="补录金额" align="center" width="74px"> </el-table-column> <el-table-column prop="bldh" label="补录单号" align="center" width="155px"> </el-table-column> <el-table-column prop="blsj" label="补录时间" align="center" width="156px"> </el-table-column> <el-table-column prop="blrmc" label="补录人" align="center" width="96px"> </el-table-column> </el-table> </div> <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2" > <el-table-column prop="propinName" label="检查项目"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column prop="proName" label="明细项目" width="260px"> </el-table-column> </el-table> </div> </el-col> </el-row> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="dayin">打 印</el-button> <!-- <el-button @click="cancel">取 消</el-button> --> </div> </el-dialog> </el-col> <el-dialog title="请选择导出范围" :visible.sync="exportDialogVisible" width="30%" > <el-radio-group v-model="exportType"> <el-radio :label="'0'">当前页数据</el-radio> <el-radio :label="'1'">全部数据</el-radio> </el-radio-group> <span slot="footer" class="dialog-footer"> <el-button @click="exportDialogVisible = false">取消</el-button> <el-button type="primary" @click="confirmExport">确定</el-button> </span> </el-dialog> <el-col :span="10"> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> 补录项目 </div> <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2"> <el-table-column prop="propinName" label="检查项目"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column prop="proName" label="明细项目" width="260px"> </el-table-column> </el-table> </div> </el-col> </el-row> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">撤 销</el-button> <!-- <el-button @click="cancel">取 消</el-button> --> </div> </el-dialog> <el-dialog :title="title1" :visible.sync="budadaozhen" width="1100px" style="height: 860px" append-to-body :close-on-click-modal="false"> <el-row type="flex" class="row-bg" justify="space-around"> <el-col :span="13"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> 补录列表 </div> <div class="tab3"> <el-table :data="DataLists" border style="width: 100%" height="400" @selection-change="handleProjectssChange"> <el-table-column type="selection" width="40" align="center" /> <el-table-column type="index" label="序号" align="center" width="49px"> </el-table-column> <el-table-column prop="blje" label="补录金额" align="center" width="74px"> </el-table-column> <el-table-column prop="bldh" label="补录单号" align="center" width="155px"> </el-table-column> <el-table-column prop="blsj" label="补录时间" align="center" width="156px"> </el-table-column> <el-table-column prop="blrmc" label="补录人" align="center" width="96px"> </el-table-column> </el-table> </div> </el-col> <el-col :span="10"> <div class="grid-content bg-purple"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> 补录项目 </div> <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2"> <el-table-column prop="propinName" label="检查项目"> </el-table-column> <el-table-column prop="proPrice" label="原价" width="56px"> </el-table-column> <el-table-column prop="proName" label="明细项目" width="260px"> </el-table-column> </el-table> </div> </el-col> </el-row> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="dayin">打 印</el-button> <!-- <el-button @click="cancel">取 消</el-button> --> </div> </el-dialog> <el-dialog title="请选择导出范围" :visible.sync="exportDialogVisible" width="30%"> <el-radio-group v-model="exportType"> <el-radio :label="'0'">当前页数据</el-radio> <el-radio :label="'1'">全部数据</el-radio> </el-radio-group> <span slot="footer" class="dialog-footer"> <el-button @click="exportDialogVisible = false">取消</el-button> <el-button type="primary" @click="confirmExport">确定</el-button> </span> </el-dialog> </div> </div> </template> @@ -2012,6 +1338,7 @@ // 强制撤销按钮 ForceChexiao() { this.isLoading = true; const tjNum = this.tjnumbers; this.$confirm( "您是否需要强制撤销?撤销后该人员本次体检记录不可恢复!", @@ -2027,11 +1354,20 @@ .then(() => { getForceChexiao(tjNum).then((res) => { this.$modal.msgSuccess("撤销成功"); this.isLoading = false; this.getList(); }).catch(() => { console.log("加载失败") this.isLoading = false; }).finally(() => { console.log("加载失败") // 不论操作成功还是失败,都会执行 this.isLoading = false; }); }) .catch((action) => { if (action === "cancel") { this.isLoading = false; this.$message({ type: "warning", message: "已取消", @@ -2059,12 +1395,20 @@ .then(() => { huifuyuyuejilu(this.tjNUms).then((res) => { this.$modal.msgSuccess("恢复成功"); // this.isLoading = false; this.isLoading = false; this.getList(); }).catch(() => { console.log("加载失败") this.isLoading = false; }).finally(() => { console.log("加载失败") // 不论操作成功还是失败,都会执行 this.isLoading = false; }); }) .catch((action) => { if (action === "cancel") { this.isLoading = false; this.$message({ type: "warning", message: "已取消", @@ -2073,7 +1417,7 @@ }) .finally(() => { // 不论操作成功还是失败,都会执行 this.isLoading = false; }); }, @@ -2087,12 +1431,20 @@ .then(() => { revokeTjOrderByTjNum(this.tjnumbers).then((res) => { this.$modal.msgSuccess("撤销成功"); // this.isLoading = false; this.isLoading = false; this.getList(); }).catch(() => { console.log("加载失败") this.isLoading = false; }).finally(() => { console.log("加载失败") // 不论操作成功还是失败,都会执行 this.isLoading = false; }); }) .catch((action) => { if (action === "cancel") { this.isLoading = false; this.$message({ type: "warning", message: "已取消", @@ -2100,8 +1452,7 @@ } }) .finally(() => { // 不论操作成功还是失败,都会执行 this.isLoading = false; }); }, /** 点击显示体检报告报表*/ @@ -3175,7 +2526,7 @@ }, */ confirmExport() { this.exportDialogVisible = false; const exportParams = { ...this.queryParams, @@ -3194,12 +2545,14 @@ <style lang="scss" scoped> .custom-dialog { /* 自定义弹出框的最小高度 */ min-height: 600px; /* 从默认高度增加到 600px,可以根据需要调整 */ min-height: 600px; /* 从默认高度增加到 600px,可以根据需要调整 */ } /* 调整 el-tabs 的内容区域高度 */ ::v-deep .el-tabs__content { min-height: 500px; /* 确保选项卡内容区域有足够高度 */ min-height: 500px; /* 确保选项卡内容区域有足够高度 */ } /* 调整对话框的主体部分 */ @@ -3212,6 +2565,7 @@ padding: 10px 20px; text-align: right; } .pag { width: 100%; display: flex; @@ -3263,19 +2617,23 @@ // padding: 20px; // } ::v-deep .el-message-box__message { color: red !important; /* 强制设置颜色为红色 */ color: red !important; /* 强制设置颜色为红色 */ } // .custom-message-box .el-message-box__message { // color: red !important; /* 设置文字为红色 */ // } .o { margin-top: 8px; } .outside { width: 500px; display: flex; margin-top: 8px; } .outsides { width: 500px; display: flex; @@ -3294,11 +2652,13 @@ display: flex; margin-top: 8px; } .outside2 { width: 500px; display: flex; margin-top: 8px; } .heji { display: flex; flex-direction: row; @@ -3306,10 +2666,12 @@ align-items: center; margin-top: 10px; } .box { display: flex; justify-content: space-between; } .box1 { width: 50%; display: flex; @@ -3319,10 +2681,12 @@ ::v-deep .el-step__title.is-process { color: rgb(24, 144, 255); } ::v-deep .el-step__head.is-process { color: rgb(24, 144, 255); border-color: rgb(24, 144, 255); } .shijian { display: flex; align-items: flex-start; src/views/hosp/rules/index.vue
@@ -2,7 +2,7 @@ <div class="app-container"> <el-row :gutter="20"> <!--部门数据--> <el-col :span="3" :xs="24"> <el-col :span="4" :xs="24"> <div class="head-container"> <el-input v-model="xmmc" src/views/reservation/career/index.vue
@@ -974,6 +974,7 @@ }; newReservationConfirmxbb(data).then((res) => { this.$modal.msgSuccess("提交成功"); this.resetQuery() this.confirm = true; this.userList = []; }); src/views/system/comp/index.vue
@@ -532,7 +532,7 @@ </el-dialog> </div> <el-dialog title="选择套餐" :visible.sync="taocan" width="70%" height="700px" :close-on-click-modal="false"> <el-dialog :visible.sync="taocan" width="70%" height="700px" :close-on-click-modal="false"> <!-- <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" label-width="auto"> <el-form-item label="套餐名称" prop="pacName"> <el-input v-model="queryParam.pacName" placeholder="请输入套餐名称" clearable @keyup.enter.native="handle" @@ -542,6 +542,11 @@ <el-button type="primary" icon="el-icon-search" size="mini" @click="handle">搜索</el-button> </el-form-item> </el-form> --> <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 10px;margin-bottom: 20px;"> <el-radio-button label="0">基础套餐</el-radio-button> <el-radio-button label="1">单位套餐</el-radio-button> </el-radio-group> <el-table v-loading="loading" element-loading-text="正在加载中..." element-loading-spinner="el-icon-loading" border :data="newpacName1" @selection-change="handleSelectionChange1" height="450px" ref="tb"> <el-table-column type="selection" width="40px" align="center" label="选择" /> src/views/system/contract/index.vue
New file @@ -0,0 +1,752 @@ <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="company"> <el-select :remote-method="getRemoteData" v-model="queryParams.company" remote default-first-option allow-create filterable style="width: 200px" placeholder="请选择单位名称" clearable @change="idFn1" > <el-option v-for="dict in CompanyList" :key="dict.cnName" :label="dict.cnName" :value="dict.drugManufacturerId" /> </el-select> <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i> </el-form-item> <el-form-item label="合同类型" prop="htlx"> <el-select v-model="queryParams.htlx" placeholder="请选择合同类型" clearable style="width: 100%" > <el-option v-for="dict in dict.type.sys_type_contract" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <el-form-item label="日期起始" prop="htrqqz"> <el-date-picker v-model="queryParams.htrqqz" type="date" placeholder="选择起始日期" > </el-date-picker> </el-form-item> <el-form-item label="日期终止" prop="htrqzz"> <el-date-picker v-model="queryParams.htrqzz" type="date" placeholder="选择终止日期" > </el-date-picker> </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" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:package:add']" >新增</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUp" v-hasPermi="['system:package:edit']" >修改</el-button > </el-col> <el-col :span="1.5"> <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:package:remove']" >删除</el-button > </el-col> </el-row> <el-table border v-loading="loading" :data="dataList" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" align="center" /> <el-table-column label="序号" align="center" prop="newID" width="55" /> <el-table-column label="合同类型" align="center" prop="htlx" width="90"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_type_contract" :value="scope.row.htlx" /> </template> </el-table-column> <el-table-column label="负责人员" align="center" prop="htfzr" width="100" :show-overflow-tooltip="true" /> <el-table-column label="日期起始" align="center" prop="htrqqz" width="100" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.htrqqz, "{y}-{m}-{d}") }}</span> </template> </el-table-column> <el-table-column label="日期终止" align="center" prop="htrqzz" width="100" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.htrqzz, "{y}-{m}-{d}") }}</span> </template> </el-table-column> <el-table-column label="客户姓名" align="center" prop="lxrxm" width="80" /> <el-table-column label="客户电话" align="center" prop="lxrdh" width="120"> </el-table-column> <el-table-column label="合同金额" align="center" prop="htje" width="80" /> <el-table-column label="续签合同标志" align="center" prop="xqbz" width="140" > </el-table-column> <el-table-column label="原合同序号" align="center" prop="yhtxh" width="140" > </el-table-column> <el-table-column label="企业名称" align="center" prop="qymc" width="140"> </el-table-column> <el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="操作" align="center" width="140"> <template slot-scope="scope"> <el-button size="mini" type="text" @click="handleEdit(scope.row)" >编辑</el-button > <el-button size="mini" type="text" @click="handleDelete(scope.row)" >删除</el-button > </template> </el-table-column> </el-table> <div class="pag"> <div class="pag1"> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> </div> </div> <!-- 添加或修改问题列表对话框 --> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body > <el-form :model="form" ref="form" :rules="rules" label-width="80px" :inline="true" > <el-form-item label="合同类型" prop="htlx"> <el-select v-model="form.htlx" filterable placeholder="请选择合同类型" style="width: 100%" clearable > <el-option v-for="dict in dict.type.sys_type_contract" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> <el-form-item label="企业名称" prop="qymc"> <el-input placeholder="请输入企业名称" v-model="form.qymc" clearable ></el-input> </el-form-item> <el-form-item label="合同金额" prop="htje"> <el-input placeholder="请输入合同金额" v-model="form.htje" clearable ></el-input> </el-form-item> <el-form-item label="负责人员" prop="htfzr"> <el-input v-model="form.htfzr" placeholder="请输入负责人员" clearable /> </el-form-item> <el-form-item label="起始日期" prop="htrqqz"> <el-date-picker clearable v-model="form.htrqqz" type="date" value-format="yyyy-MM-dd" placeholder="请选择合同起始日期" > </el-date-picker> </el-form-item> <el-form-item label="终止日期" prop="htrqzz"> <el-date-picker clearable v-model="form.htrqzz" type="date" value-format="yyyy-MM-dd" placeholder="请选择合同终止日期" > </el-date-picker> </el-form-item> <!-- <el-form-item label="客户姓名" prop="lxrxm"> <el-input placeholder="请输入客户姓名" v-model="form.lxrxm" clearable ></el-input> </el-form-item> --> <el-form-item label="联系电话" prop="lxrdh"> <el-input placeholder="请输入联系电话" v-model="form.lxrdh" clearable ></el-input> </el-form-item> <el-form-item label="公司座机" prop="gszj"> <el-input placeholder="请输入公司座机" v-model="form.gszj" clearable ></el-input> </el-form-item> <el-form-item label="签约人数" prop="qyrs"> <el-input placeholder="请输入签约人数" v-model="form.qyrs" clearable ></el-input> </el-form-item> <el-form-item label="续签标志" prop="xqbz"> <el-input placeholder="请输入续签合同标志" v-model="form.xqbz" clearable ></el-input> <!-- <el-select v-model="form.xqbz" placeholder="请选择续签合同标志" clearable style="width: 100%;"> <el-option v-for="dict in dict.type.sys_bill" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> --> </el-form-item> <el-form-item label="原合同号" prop="yhtxh"> <el-input placeholder="请输入原合同序号" v-model="form.yhtxh" clearable ></el-input> </el-form-item> <el-form-item label="备注" prop="remark"> <el-input type="textarea" placeholder="请输入备注" v-model="form.remark" style="width: 220px" ></el-input> </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 { getList, addhtxxb, edithtxxb, delhtxxb } from "@/api/account/contract"; import { getZybCompList, queryCompany, getconfigKey, getCompany } from "@/api/team/tuanti"; import { addDept, addComp, Deptlist, getDwAndDwDept, newExcelImport, } from "@/api/system/comp"; export default { name: "WebQuestion", dicts: ["sys_type_contract"], data() { return { // 遮罩层 loading: true, // 选中数组 ids: [], deptList: [], CompanyList: [], // 非单个禁用 single: true, // 非多个禁用 multiple: true, // 显示搜索条件 showSearch: true, // 总条数 total: 0, // 表格数据 dataList: [], // 弹出层标题 title: "", // 是否显示弹出层 open: false, objs: { drugManufacturerId: "", reservationTime: "", yxts: "", }, // 查询参数 queryParams: { pageNum: 1, pageSize: 10, }, // 总条数 total: 0, // 表单参数 form: {}, selection: [], // 表单校验 rules: { deleted: [ { required: true, message: "删除标记不能为空", trigger: "blur", }, ], }, }; }, created() { this.getList(); }, methods: { /** 查询问题列表列表 */ getList() { this.loading = true; /* getList(this.queryParams).then((response) => { for (let i = 0; i < response.rows.length; i++) { response.rows[i].newID = i + 1; } this.dataList = response.rows; this.loading = false; }); */ // 获取单位信息集合 getCompany(this.queryParam).then((response) => { this.CompanyList = response.data; }); }, // 获取单位信息集合 getCompanyList() { this.loading = true; getconfigKey("team_reservation_default_day").then((res) => { console.log(res, 1111); this.queryParams.yxts = res.msg; }); getCompany(this.queryParam).then((response) => { this.CompanyList = response.data; this.total = response.total; this.loading = false; }); }, // 体检公司拼音搜索 getRemoteData(query) { if (query) { let compName = query; queryCompany(compName).then((response) => { console.log(response,123); this.CompanyList = response.data; }); } }, idFn1(value) { if (value) { this.form.dictCompId = value; this.CompanyList.forEach((item) => { if (item.drugManufacturerId == this.form.dictCompId) { this.form.compName = item.cnName; this.queryParams.company = item.cnName; } }); } }, /** 新增按钮操作 */ handleAdd1() { this.reset(); this.open = true; this.title = "添加体检单位信息维护"; }, // 取消按钮 cancel() { this.open = false; this.reset(); // this.getList(); }, // 搜索 getRemoteData(query) { if (query) { let compName = query; queryCompany(compName).then((response) => { this.CompanyList = response.data; this.CompanyList.forEach((item) => { this.objs = item; }); }); } }, // 获取单位信息集合 getCompanyList() { this.loading = true; getconfigKey("team_reservation_default_day").then((res) => { console.log(res, 1111); this.objs.yxts = res.msg; }); getZybCompList(this.queryParam).then((response) => { this.CompanyList = response.data; this.total = response.total; this.loading = false; }); }, idFn(value) { this.userList = []; if (value) { this.data.dwId = value; Deptlist(value).then((response) => { this.deptList = response.data; }); } }, // 表单重置 reset() { this.form = { id: null, htfzr: null, htbh: null, htje: null, htlx: null, htrqqz: null, htrqzz: null, lxrdh: null, lxrxm: null, qymc: null, xqbz: null, remark: null, yhtxh: null, }; this.resetForm("form"); }, /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; this.getList(); }, /** 重置按钮操作 */ resetQuery() { this.resetForm("queryForm"); this.handleQuery(); }, // 多选框选中数据 handleSelectionChange(selection) { this.selection = 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 = "添加合同信息详情"; }, handleUp() { this.reset(); this.selection.forEach((item) => { this.form = item; }); this.open = true; this.title = "合同信息详情"; }, /** 修改按钮操作 */ handleEdit(row) { this.reset(); this.form = row; this.open = true; this.title = "合同信息详情"; }, handleDelete(row) { if (row.id) { var id = row.id; } else { var id = this.ids; } delhtxxb(id).then((res) => { this.$modal.msgSuccess("删除成功"); this.getList(); }); }, submitForm() { this.$refs["form"].validate((valid) => { if (valid) { if (this.form.id != null) { edithtxxb(this.form).then((response) => { this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); }); } else { addhtxxb(this.form).then((response) => { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); }); } } }); }, }, }; </script> <style scoped> .pag { width: 100%; display: flex; justify-content: center; } .pag1 { width: 19%; } </style> src/views/system/tijian/index.vue
@@ -562,6 +562,15 @@ </div> 已选项目列表 </div> <div v-loading="contentLoading" element-loading-text="加载中..." element-loading-spinner="el-icon-loading" element-loading-background="rgba(255, 255, 255, 0.7)" style=" padding: 0px 6px; border: 1px solid #e6ebf5; max-height: 650%; overflow: auto; width: 916px; margin-left: 35px;" > <div style=" padding: 0px 6px; border: 1px solid #e6ebf5; @@ -617,6 +626,7 @@ </template> </el-table-column> </el-table> </div> </div> </div> </el-col> @@ -815,6 +825,7 @@ data() { return { isSubmitting: false, contentLoading: false, open1: false, filterage: "", checkedkeys: [], @@ -2923,6 +2934,8 @@ this.isSubmitting = true; // 开始提交时设置标志 this.TotalPrice1 = 0; // 初始化应收金额 this.TotalPrice = 0; // 初始化实收金额 this.contentLoading = true; this.discount = 10; // 初始化折扣为10(100%) // 判断是否有选中的套餐 @@ -2959,9 +2972,11 @@ this.processOrderItems(cusId); } this.isSubmitting = false; // 提交完成后重置标志 // this.contentLoading = false; }) .catch(() => { this.isSubmitting = false; // 确保在错误情况下也重置标志 // this.contentLoading = false; }); } else { getaddtTransition(data) @@ -2970,9 +2985,11 @@ this.processOrderItems(cusId); } this.isSubmitting = false; // 提交完成后重置标志 // this.contentLoading = false; }) .catch(() => { this.isSubmitting = false; // 确保在错误情况下也重置标志 // this.contentLoading = false; }); } @@ -2984,6 +3001,7 @@ // 处理订单项目 processOrderItems(cusId) { getTransitionList1(cusId).then((response) => { this.contentLoading = false; this.tableData1 = response.data; let Price = 0; if (this.tableData1) {