| | |
| | | <template> |
| | | <div class="mainbox"> |
| | | <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" |
| | | v-if="tjStatus == 1"> |
| | | <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: 120px" placeholder="请输入姓名" clearable |
| | | @keyup.enter.native="submitForm"></el-input> |
| | |
| | | <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="体检类别"> |
| | | <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别"> |
| | | <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="套餐名称" prop="tcm"> |
| | | <el-input v-model="queryParams.tcm" style="width: 120px" placeholder="请输入套餐名称" clearable |
| | | @keyup.enter.native="submitForm"></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> |
| | |
| | | v-show="isCollapsed == 1">高级搜索</el-button> |
| | | </el-form-item> |
| | | <el-row v-show="isCollapsed == 1" :gutter="20"> |
| | | <el-col :span="4"> |
| | | <el-form-item label="审核医师" prop="shys"> |
| | | <el-input ref="inputName" v-model="queryParams.shys" style="width: 120px" placeholder="请输入审核医师" clearable |
| | | @keyup.enter.native="submitForm"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="体检时间" prop="tjTime"> |
| | | <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions" |
| | |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-else> |
| | | <!-- <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: 120px" placeholder="请输入姓名" clearable |
| | | @keyup.enter.native="submitForm"></el-input> |
| | |
| | | <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="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']" |
| | |
| | | <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-form> --> |
| | | |
| | | <el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 20px"> |
| | | <el-radio-button label="0">未审核</el-radio-button> |
| | |
| | | </el-table-column> |
| | | <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" v-if="tjStatus == 1" /> |
| | | <el-table-column label="体检时间" align="center" prop="tjTime" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 0" /> |
| | | <el-table-column label="审核时间" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" |
| | | v-if="tjStatus == 1" /> |
| | | <el-table-column label="体检时间" align="center" prop="tjTime" :show-overflow-tooltip="true" width="180px" |
| | | v-if="tjStatus == 0" /> |
| | | <!-- <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" |
| | |
| | | <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%" |
| | | :show-close="true"> |
| | | <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;"> |
| | | element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative"> |
| | | <div class="top"> |
| | | <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;" |
| | | cellspacing="4"> |
| | | <table style=" |
| | | width: 100%; |
| | | margin: 10px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <caption style="background-color: #f8f8f9; font-size: 18px"> |
| | | {{ tableAll.cusName }}的体检资料 |
| | | {{ |
| | | tableAll.cusName |
| | | }}的体检资料 |
| | | </caption> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">姓名:</td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">性别: {{ tableAll.cusSex == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }}</td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">年龄:{{ tableAll.age }}</td> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | height: 36px; |
| | | "> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 姓名: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.cusName }} |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 性别: |
| | | {{ |
| | | tableAll.cusSex == 0 |
| | | ? "男" |
| | | : tableAll.cusSex == 1 |
| | | ? "女" |
| | | : "未知" |
| | | }} |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 年龄:{{ tableAll.age }} |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">体检单号:</td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjNumber }}</td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">体检时间:</td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjTime }}</td> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | height: 36px; |
| | | "> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 体检单号: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjNumber }} |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 体检时间: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjTime }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <i class="el-icon-close" @click="guanbi"></i> |
| | |
| | | <div class="btn1"> |
| | | <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">复查项目</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="yichanghuifu()" type="primary"><span class="vertical-text">异常恢复</span></el-button> |
| | | </div> |
| | | </div> |
| | | <div class="box"> |
| | | <div class="left-container"> |
| | | <div class="left"> |
| | | <div v-for="(item, index) in changedate" :key="index"> |
| | | <div style="text-align: center; background-color: #aad8df; margin-top: 10px;"> |
| | | <div style=" |
| | | text-align: center; |
| | | background-color: #aad8df; |
| | | margin-top: 10px; |
| | | "> |
| | | {{ item.parent || "" }} |
| | | </div> |
| | | <div v-if="item.xmlb == '0'"> |
| | |
| | | <el-table-column align="center" prop="proResult" label="检测结果" width="180"></el-table-column> |
| | | <el-table-column align="center" prop="" label="单位"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.project != null">{{ scope.row.standard.company || "" }}</div> |
| | | <div v-if="scope.row.project != null"> |
| | | {{ scope.row.standard.company || "" }} |
| | | </div> |
| | | <div v-else>{{ scope.row.proAdvice }}</div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-table-column align="center" prop="" label=" 参考范围"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.project != null"> |
| | | {{ scope.row.standard.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue || |
| | | "/" }} |
| | | {{ |
| | | scope.row.standard.tjStandardGtValue || |
| | | "/" + "-" + scope.row.standard.tjStandardLtValue || |
| | | "/" |
| | | }} |
| | | </div> |
| | | <div v-else>{{ scope.row.stanId || "/" }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <table style="width: 100%" v-if="tjproject != '1'"> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 7%;"> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 7%; |
| | | "> |
| | | 小结: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; width: 45%"> |
| | | <el-input v-model="item.remark" disabled></el-input> |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;"> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 15%; |
| | | "> |
| | | 主检医师: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | {{ item.doctorName }} |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 240px;"> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 200px; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 240px; |
| | | "> |
| | | 备注: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3"> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="3"> |
| | | <el-input type="textarea" autosize placeholder="请输入内容" v-model="changedate[index].remark" |
| | | v-on:input="change" style="width: 100%"></el-input> |
| | | </td> |
| | |
| | | <div v-else> |
| | | <table style="width: 100%" v-if="tjproject != '1'"> |
| | | <tr style="border: 1px solid #dfe6ec"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%; height: auto;"> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 15%; |
| | | height: auto; |
| | | "> |
| | | 检查所见: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; height: auto" colspan="2"> |
| | |
| | | style="width: 100%"></el-input> |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;"> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 15%; |
| | | "> |
| | | 检查提示: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark" |
| | | style="width: 100%"></el-input> |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;"> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 200px; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 15%; |
| | | "> |
| | | 主检医师: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | {{ item.doctorName }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <div v-if="tableAll && tableAll.tjCategory === '02'" class="section-title">职业病总检</div> |
| | | <div v-if="tableAll && tableAll.tjCategory === '02'" class="section-title"> |
| | | 职业病总检 |
| | | </div> |
| | | <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px" |
| | | class="demo-ruleForm"> |
| | | <el-form-item label="检查结论"> |
| | |
| | | <div class="right"> |
| | | <template v-if="status1 == 0"> |
| | | <div v-for="(item, index) in yichangList" :key="index"> |
| | | <div style="text-align: center; background-color: #67c23a; margin-top: 10px;"> |
| | | <div style=" |
| | | text-align: center; |
| | | background-color: #67c23a; |
| | | margin-top: 10px; |
| | | "> |
| | | {{ item.proName || "" }} |
| | | </div> |
| | | <template v-if="item.jyjc == '0'"> |
| | | <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%" |
| | | :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"> |
| | | :header-cell-style="{ background: '#67C23A' }" :row-key="getRowKeys"> |
| | | <!-- :expand-row-keys="expends" --> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <div style="padding: 10px;"> |
| | | <div style="padding: 10px"> |
| | | <!-- 内容区域 --> |
| | | <div v-if="props.row.advices && props.row.advices.length > 0"> |
| | | <div v-if=" |
| | | props.row.advices && |
| | | props.row.advices.length > 0 |
| | | "> |
| | | <div v-for="(jianyi, index1) in props.row.advices" :key="index1" |
| | | style="margin-bottom: 10px"> |
| | | <div> |
| | |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 10px;"> |
| | | <div style="margin-top: 10px"> |
| | | <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | <el-table-column align="center" prop="proResult" label="检测结果" width="85"></el-table-column> |
| | | <el-table-column align="center" prop="stanId" label=" 参考范围" width="117"></el-table-column> |
| | | <el-table-column align="center" prop="proAdvice" label="单位" width="78"></el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="60" |
| | | fixed="right"> |
| | | <template slot-scope="props"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="shanchu(props.row)"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | <template v-if="item.jyjc == '1'"> |
| | | <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%" |
| | | :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"> |
| | | :header-cell-style="{ background: '#67C23A' }" :row-key="getRowKeys"> |
| | | <!-- :expand-row-keys="expends" --> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <div style="padding: 10px;"> |
| | | <div style="padding: 10px"> |
| | | <!-- 内容区域 --> |
| | | <div v-if="props.row.advices && props.row.advices.length > 0"> |
| | | <div v-if=" |
| | | props.row.advices && |
| | | props.row.advices.length > 0 |
| | | "> |
| | | <div v-for="(jianyi, index1) in props.row.advices" :key="index1" |
| | | style="margin-bottom: 10px"> |
| | | <div> |
| | |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 10px;"> |
| | | <div style="margin-top: 10px"> |
| | | <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="proResult" label="检测结果" width="403"></el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="60" |
| | | fixed="right"> |
| | | <template slot-scope="props"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="shanchu(props.row)"> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | <template v-if="status1 == 1"> |
| | | <div> |
| | | <div style="text-align: center; background-color: #e6a23c; margin-top: 10px;"> |
| | | <div style=" |
| | | text-align: center; |
| | | background-color: #e6a23c; |
| | | margin-top: 10px; |
| | | "> |
| | | 项目检查情况 |
| | | </div> |
| | | <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" /> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="huifu" v-if="scope.row.type == '2'">恢复</el-button> |
| | | </template> |
| | |
| | | |
| | | <template v-if="status1 == 2"> |
| | | <div> |
| | | <div style="text-align: center; margin-top: 10px;"> |
| | | <div style="text-align: center; margin-top: 10px"> |
| | | 复查项目 |
| | | </div> |
| | | <div style="display: flex;margin:15px ;"> |
| | | <span slot="label" style="display: inline-block; border-bottom: 2px solid blue;font-size: 0.8vw;" |
| | | @click="handleQuery"> |
| | | <div style="display: flex; margin: 15px"> |
| | | <span slot="label" style=" |
| | | display: inline-block; |
| | | border-bottom: 2px solid blue; |
| | | font-size: 0.8vw; |
| | | " @click="handleQuery"> |
| | | 项目选择 |
| | | </span> |
| | | <div v-if="xmChange.length > 0" style="display: flex;"> |
| | | <div style="margin:0 40px;font-size: 0.8vw;">项目名称:{{ xmChange[0].proName || "" }}</div> |
| | | <div style="margin:0 80px ;font-size: 0.8vw;">价格:{{ xmChange[0].price || "" }}</div> |
| | | <div v-if="xmChange.length > 0" style="display: flex"> |
| | | <div style="margin: 0 40px; font-size: 0.8vw"> |
| | | 项目名称:{{ xmChange[0].proName || "" }} |
| | | </div> |
| | | <div style="margin: 0 80px; font-size: 0.8vw"> |
| | | 价格:{{ xmChange[0].price || "" }} |
| | | </div> |
| | | </div> |
| | | <div v-else style="display: flex;"> |
| | | <div style="margin:0 40px;font-size: 0.8vw;">项目名称:{{ }}</div> |
| | | <div style="margin:0 80px ;font-size: 0.8vw;">价格:{{ }}</div> |
| | | <div v-else style="display: flex"> |
| | | <div style="margin: 0 40px; font-size: 0.8vw"> |
| | | 项目名称:{{}} |
| | | </div> |
| | | <div style="margin: 0 80px; font-size: 0.8vw"> |
| | | 价格:{{}} |
| | | </div> |
| | | </div> |
| | | <el-button type="primary" size="mini" @click="handleaddClick()">添加</el-button> |
| | | </div> |
| | |
| | | <el-input v-model="formobj.xiyanpinlv" disabled style="width: 70px" />支/天 |
| | | </el-form-item> |
| | | <el-form-item label="吸烟时间" prop="xiyanyear"> |
| | | <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />年 |
| | | </el-form-item><br /> |
| | | <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />年 </el-form-item><br /> |
| | | <el-form-item label="是否饮酒" prop="yinjiu"> |
| | | <el-select filterable v-model="formobj.yinjiu" disabled placeholder="请选择是否饮酒" clearable |
| | | style="width: 150px"> |
| | |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">新增</el-button> |
| | | <template v-if="status1 == 4"> |
| | | <div> |
| | | <el-table :data="ychfList" style="width: 100%" :header-cell-style="{ background: '#e6a23c' }"> |
| | | <el-table-column align="center" prop="jcxm" label="项目名" width="260"></el-table-column> |
| | | <el-table-column label="结果" align="center" prop="jcjg" width="160" /> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <template v-slot="scope"> |
| | | <el-button type="primary" size="mini" @click="hfyc(scope.row.id)">恢复</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px">新增</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | |
| | | </el-drawer> |
| | | |
| | | <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false" width="50%"> |
| | |
| | | @focus="tan($event)"></el-input> |
| | | </el-form-item> |
| | | <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)" |
| | | style="margin-left: 100px; margin-bottom: 10px;">删除</el-button> |
| | | style="margin-left: 100px; margin-bottom: 10px">删除</el-button> |
| | | </div> |
| | | <el-form-item> |
| | | <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">添加建议</el-button> |
| | | <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px">添加建议</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | <el-dialog title="快捷建议选择" :visible.sync="showjianyi" width="1000px" class="custom-dialog" |
| | | :before-close="handleCloseAdviceDialog"> |
| | | <!-- 搜索区域 --> |
| | | <div style="margin-bottom: 15px;"> |
| | | <div style="margin-bottom: 15px"> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="建议名称"> |
| | | <el-input v-model="queryParams1.zyzd" placeholder="请输入建议名称进行筛选" clearable style="width: 200px" |
| | |
| | | |
| | | <!-- 建议表格 --> |
| | | <el-table v-loading="adviceLoading" :data="advicerulesList" ref="adviceTable" border highlight-current-row |
| | | @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;" |
| | | @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto" |
| | | :empty-text="adviceEmptyText"> |
| | | <el-table-column label="科室" prop="ks" width="100" align="center" /> |
| | | <el-table-column label="建议名称" prop="jymc" align="center" /> |
| | |
| | | </el-dialog> |
| | | <Packages ref="bbb" :baogao="baogao" /> |
| | | <Prescription ref="Pre" :preObj="preObj" /> |
| | | <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" /> |
| | | <proposal ref="proposal" :cusobj="cusobj" :mrjy="mrjy" @event1="eventchange($event)" /> |
| | | <createproposal ref="createproposal" :creatobj="creatobj" /> |
| | | <el-dialog title="常用建议维护" :visible.sync="propdialog" width="500px" append-to-body></el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import _ from 'lodash'; |
| | | import _ from "lodash"; |
| | | import { getConfigKey } from "@/api/system/config"; |
| | | import jianqianwenzhen from "@/components/jianqianwenzhen"; |
| | | import Packages from "@/components/Packages"; |
| | | import Prescription from "@/components/Prescription"; |
| | |
| | | addOrder, |
| | | addOrder1, |
| | | getFcList, |
| | | UpdFcPro |
| | | UpdFcPro, |
| | | huiFuyichangxiangmu, |
| | | hfbt, |
| | | } from "@/api/doctor/checkAll"; |
| | | import { getInfoById } from "@/api/hosp/history"; |
| | | import { getInfo } from "@/api/login"; |
| | | import { getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | import { reportHistory, yichang, shanchu } from "@/api/doctor/check"; |
| | | import { getPdf, revoke } from "@/api/hosp/order"; |
| | | import { cSWebGetPro,huifu, } from "@/api/doctor/examination"; |
| | | import { cSWebGetPro, huifu } from "@/api/doctor/examination"; |
| | | import ViewPdf from "@/components/ViewPdf"; |
| | | import Historicalreport from "@/components/Historicalreport"; |
| | | import { getDicts } from "@/api/system/dict/data"; |
| | |
| | | name: "checkAll", |
| | | data() { |
| | | return { |
| | | zhiyeJl: '', // 初始化检查结论为空 |
| | | zhiyeJg: '未发现目标性疾病', // 初始化体检结果为默认值 |
| | | zhiyeJl: "", // 初始化检查结论为空 |
| | | zhiyeJg: "未发现目标性疾病", // 初始化体检结果为默认值 |
| | | selectedAdvice: null, |
| | | activeAdviceIndex: 0, |
| | | advicerulesList: [], |
| | | xmChange: [], |
| | | ychfList: [], |
| | | showjianyi: false, |
| | | adviceLoading: false, |
| | | adviceEmptyText: '暂无数据', |
| | | adviceEmptyText: "暂无数据", |
| | | total1: 0, |
| | | forms: { |
| | | pacName: "" |
| | | pacName: "", |
| | | }, |
| | | xmopen: false, |
| | | datasList: [], |
| | | queryParams1: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | zyzd: '', |
| | | zyzd: "", |
| | | }, |
| | | adviceCache: new Map(), |
| | | addNewDialogVisible: false, |
| | | newItem: { |
| | | parentName: '', |
| | | jcxm: '', |
| | | jcjg: '', |
| | | ckfw: '', |
| | | dw: '', |
| | | map: [{ bt: '', nr: '' }] |
| | | parentName: "", |
| | | jcxm: "", |
| | | jcjg: "", |
| | | ckfw: "", |
| | | dw: "", |
| | | map: [{ bt: "", nr: "" }], |
| | | }, |
| | | projectCategories: [], |
| | | emptyAdvice: { |
| | |
| | | isdisabled: false, |
| | | showjianyi: false, |
| | | addNewDialogVisible: false, |
| | | adviceEmptyText: '暂无数据', |
| | | adviceEmptyText: "暂无数据", |
| | | total1: 0, |
| | | adviceCache: new Map(), |
| | | queryParams1: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | zyzd: '', |
| | | zyzd: "", |
| | | }, |
| | | newItem: { |
| | | parentName: '', |
| | | jcxm: '', |
| | | jcjg: '', |
| | | ckfw: '', |
| | | dw: '', |
| | | map: [{ bt: '', nr: '' }] |
| | | parentName: "", |
| | | jcxm: "", |
| | | jcjg: "", |
| | | ckfw: "", |
| | | dw: "", |
| | | map: [{ bt: "", nr: "" }], |
| | | }, |
| | | projectCategories: [], |
| | | src: "", |
| | |
| | | name: null, |
| | | checkStatus: null, |
| | | shys: null, |
| | | tcm: null, |
| | | tjCategory: null, |
| | | }, |
| | | formobj: {}, |
| | | yichangList: [], |
| | | fcList: [], |
| | | statusList: [], |
| | | mrjy:"", |
| | | queryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.$refs.inputName.focus(); |
| | | this.viewportHeight = window.innerHeight || document.documentElement.clientHeight; |
| | | this.viewportHeight = |
| | | window.innerHeight || document.documentElement.clientHeight; |
| | | }); |
| | | }, |
| | | |
| | | methods: { |
| | | // 打开建议选择弹窗 |
| | | tan(event) { |
| | | this.activeAdviceIndex = event.target.closest('.advice-group') |
| | | ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group')) |
| | | .indexOf(event.target.closest('.advice-group')) |
| | | this.activeAdviceIndex = event.target.closest(".advice-group") |
| | | ? Array.from( |
| | | event.target.closest(".el-form").querySelectorAll(".advice-group") |
| | | ).indexOf(event.target.closest(".advice-group")) |
| | | : 0; |
| | | this.queryParams1.pageNum = 1; |
| | | this.queryParams1.pageSize = 10; |
| | | this.queryParams1.zyzd = ''; |
| | | this.queryParams1.zyzd = ""; |
| | | this.selectedAdvice = null; |
| | | this.advicerulesList = []; |
| | | this.total1 = 0; |
| | |
| | | this.queryParams1.pageNum = 1; |
| | | } |
| | | |
| | | const cacheKey = `${this.queryParams1.zyzd || ''}_${this.queryParams1.pageNum}_${this.queryParams1.pageSize}`; |
| | | const cacheKey = `${this.queryParams1.zyzd || ""}_${this.queryParams1.pageNum |
| | | }_${this.queryParams1.pageSize}`; |
| | | |
| | | if (this.adviceCache.has(cacheKey)) { |
| | | const cachedData = this.adviceCache.get(cacheKey); |
| | | this.advicerulesList = cachedData.rows; |
| | | this.total1 = cachedData.total; |
| | | this.adviceEmptyText = this.advicerulesList.length === 0 ? '暂无匹配的建议' : '暂无数据'; |
| | | this.adviceEmptyText = |
| | | this.advicerulesList.length === 0 ? "暂无匹配的建议" : "暂无数据"; |
| | | return; |
| | | } |
| | | |
| | | this.adviceLoading = true; |
| | | this.adviceEmptyText = '加载中...'; |
| | | this.adviceEmptyText = "加载中..."; |
| | | |
| | | listAdvicerules(this.queryParams1) |
| | | .then((response) => { |
| | |
| | | total: this.total1, |
| | | }); |
| | | |
| | | this.adviceEmptyText = this.advicerulesList.length === 0 ? '暂无匹配的建议' : '暂无数据'; |
| | | this.adviceEmptyText = |
| | | this.advicerulesList.length === 0 ? "暂无匹配的建议" : "暂无数据"; |
| | | }) |
| | | .catch((error) => { |
| | | console.error('筛选快捷建议失败:', error); |
| | | console.error("筛选快捷建议失败:", error); |
| | | this.advicerulesList = []; |
| | | this.total1 = 0; |
| | | this.adviceEmptyText = '加载失败,请稍后重试'; |
| | | this.$message.error('加载建议失败,请检查网络后重试'); |
| | | this.adviceEmptyText = "加载失败,请稍后重试"; |
| | | this.$message.error("加载建议失败,请检查网络后重试"); |
| | | }) |
| | | .finally(() => { |
| | | this.adviceLoading = false; |
| | |
| | | handleCurrentChangeAdvice(currentRow) { |
| | | this.selectedAdvice = currentRow; |
| | | }, |
| | | |
| | | |
| | | toggleCollapse3() { |
| | | this.isCollapsed = 0; |
| | |
| | | this.showjianyi = false; |
| | | this.selectedAdvice = null; |
| | | } else { |
| | | this.$message.warning('请先选择一条建议'); |
| | | this.$message.warning("请先选择一条建议"); |
| | | } |
| | | }, |
| | | |
| | | cancelAdviceDialog() { |
| | | this.showjianyi = false; |
| | | this.selectedAdvice = null; |
| | | this.queryParams1.zyzd = ''; |
| | | this.queryParams1.zyzd = ""; |
| | | this.queryParams1.pageNum = 1; |
| | | this.advicerulesList = []; |
| | | this.total1 = 0; |
| | |
| | | |
| | | handleCloseAdviceDialog(done) { |
| | | if (this.selectedAdvice) { |
| | | this.$confirm('您已选择一条建议,确定要关闭吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | this.$confirm("您已选择一条建议,确定要关闭吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.cancelAdviceDialog(); |
| | |
| | | |
| | | if (index === -1) { |
| | | if (this.emptyAdvice.bt || this.emptyAdvice.nr) { |
| | | advicesToSubmit = [{ bt: this.emptyAdvice.bt || '', nr: this.emptyAdvice.nr || '' }]; |
| | | this.$set(row, 'advices', advicesToSubmit); |
| | | advicesToSubmit = [ |
| | | { bt: this.emptyAdvice.bt || "", nr: this.emptyAdvice.nr || "" }, |
| | | ]; |
| | | this.$set(row, "advices", advicesToSubmit); |
| | | } |
| | | } else { |
| | | advicesToSubmit = row.advices; |
| | |
| | | return; |
| | | } |
| | | |
| | | const parentItem = this.yichangList.find(item => |
| | | item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId) |
| | | const parentItem = this.yichangList.find((item) => |
| | | item.sone.some( |
| | | (soneItem) => soneItem.orderDetailId === row.orderDetailId |
| | | ) |
| | | ); |
| | | |
| | | if (!parentItem) { |
| | | this.$message.error('未找到对应的父级项目'); |
| | | this.$message.error("未找到对应的父级项目"); |
| | | return; |
| | | } |
| | | |
| | |
| | | id: row.orderDetailId, |
| | | }; |
| | | |
| | | addOrder1(data).then((res) => { |
| | | if (res.code === 200) { |
| | | // 成功更新建议 |
| | | } else { |
| | | this.$message.error('建议更新失败:' + (res.msg || '未知错误')); |
| | | } |
| | | }).catch((error) => { |
| | | console.error('建议更新失败:', error); |
| | | this.$message.error('建议更新失败:' + error.message); |
| | | }); |
| | | addOrder1(data) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | // 成功更新建议 |
| | | } else { |
| | | this.$message.error("建议更新失败:" + (res.msg || "未知错误")); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error("建议更新失败:", error); |
| | | this.$message.error("建议更新失败:" + error.message); |
| | | }); |
| | | }, |
| | | |
| | | handleSelectionChange(selection) { |
| | |
| | | ckfw: this.newItem.ckfw, |
| | | dw: this.newItem.dw, |
| | | map: this.newItem.map, |
| | | jyjc: this.newItem.ckfw ? "0" : "1" |
| | | jyjc: this.newItem.ckfw ? "0" : "1", |
| | | }; |
| | | |
| | | addOrder1(data).then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success('新增异常结果成功'); |
| | | this.addNewDialogVisible = false; |
| | | this.yichangjieguo(); |
| | | } else { |
| | | this.$message.error('新增失败'); |
| | | } |
| | | }).catch((error) => { |
| | | console.error('新增异常结果失败:', error); |
| | | this.$message.error('新增异常结果失败'); |
| | | }); |
| | | addOrder1(data) |
| | | .then((res) => { |
| | | if (res.code === 200) { |
| | | this.$message.success("新增异常结果成功"); |
| | | this.addNewDialogVisible = false; |
| | | this.yichangjieguo(); |
| | | } else { |
| | | this.$message.error("新增失败"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error("新增异常结果失败:", error); |
| | | this.$message.error("新增异常结果失败"); |
| | | }); |
| | | }, |
| | | |
| | | addnew() { |
| | | this.newItem = { |
| | | parentName: '', |
| | | jcxm: '', |
| | | jcjg: '', |
| | | ckfw: '', |
| | | dw: '', |
| | | map: [{ bt: '', nr: '' }] |
| | | parentName: "", |
| | | jcxm: "", |
| | | jcjg: "", |
| | | ckfw: "", |
| | | dw: "", |
| | | map: [{ bt: "", nr: "" }], |
| | | }; |
| | | this.addNewDialogVisible = true; |
| | | |
| | | cSWebGetPro(this.tjNumber).then((res) => { |
| | | if (res.data && Array.isArray(res.data)) { |
| | | this.projectCategories = res.data; |
| | | } else { |
| | | this.$message.warning('未获取到项目分类数据'); |
| | | cSWebGetPro(this.tjNumber) |
| | | .then((res) => { |
| | | if (res.data && Array.isArray(res.data)) { |
| | | this.projectCategories = res.data; |
| | | } else { |
| | | this.$message.warning("未获取到项目分类数据"); |
| | | this.projectCategories = []; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error("获取项目分类失败:", error); |
| | | this.$message.error("获取项目分类失败"); |
| | | this.projectCategories = []; |
| | | } |
| | | }).catch((error) => { |
| | | console.error('获取项目分类失败:', error); |
| | | this.$message.error('获取项目分类失败'); |
| | | this.projectCategories = []; |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | handleCategoryChange(value) { |
| | |
| | | }, |
| | | |
| | | change(val) { |
| | | console.log('选中的值是:', val); |
| | | console.log("选中的值是:", val); |
| | | }, |
| | | |
| | | addAdvice() { |
| | | this.newItem.map.push({ bt: '', nr: '' }); |
| | | this.newItem.map.push({ bt: "", nr: "" }); |
| | | }, |
| | | |
| | | removeAdvice(index) { |
| | | if (this.newItem.map.length > 1) { |
| | | this.newItem.map.splice(index, 1); |
| | | } else { |
| | | this.$message.warning('至少保留一组建议'); |
| | | this.$message.warning("至少保留一组建议"); |
| | | } |
| | | }, |
| | | |
| | |
| | | |
| | | shanchu({ |
| | | id: row.orderDetailId, |
| | | }).then((res) => { |
| | | console.log(res, 1111); |
| | | }) |
| | | .then((res) => { |
| | | console.log(res, 1111); |
| | | |
| | | if (res.code === 200) { |
| | | const parentItem = this.yichangList.find(item => |
| | | item.sone.some(soneItem => soneItem.orderDetailId === row.orderDetailId) |
| | | ); |
| | | if (res.code === 200) { |
| | | const parentItem = this.yichangList.find((item) => |
| | | item.sone.some( |
| | | (soneItem) => soneItem.orderDetailId === row.orderDetailId |
| | | ) |
| | | ); |
| | | |
| | | if (parentItem) { |
| | | const index = parentItem.sone.findIndex(item => item.orderDetailId === row.orderDetailId); |
| | | if (index > -1) { |
| | | parentItem.sone.splice(index, 1); |
| | | if (parentItem) { |
| | | const index = parentItem.sone.findIndex( |
| | | (item) => item.orderDetailId === row.orderDetailId |
| | | ); |
| | | if (index > -1) { |
| | | parentItem.sone.splice(index, 1); |
| | | |
| | | if (parentItem.sone.length === 0) { |
| | | const parentIndex = this.yichangList.indexOf(parentItem); |
| | | if (parentIndex > -1) { |
| | | this.yichangList.splice(parentIndex, 1); |
| | | if (parentItem.sone.length === 0) { |
| | | const parentIndex = this.yichangList.indexOf(parentItem); |
| | | if (parentIndex > -1) { |
| | | this.yichangList.splice(parentIndex, 1); |
| | | } |
| | | } |
| | | } |
| | | |
| | | this.getExpends(); |
| | | this.$forceUpdate(); |
| | | this.$message.success('删除成功'); |
| | | this.getExpends(); |
| | | this.$forceUpdate(); |
| | | this.$message.success("删除成功"); |
| | | } else { |
| | | this.$message.error("未找到要删除的子项"); |
| | | } |
| | | } else { |
| | | this.$message.error('未找到要删除的子项'); |
| | | this.$message.error("未找到要删除的父项"); |
| | | } |
| | | } else { |
| | | this.$message.error('未找到要删除的父项'); |
| | | this.$message.error("后端删除失败:" + (res.msg || "未知错误")); |
| | | } |
| | | } else { |
| | | this.$message.error('后端删除失败:' + (res.msg || '未知错误')); |
| | | } |
| | | }).catch((error) => { |
| | | console.error('删除失败:', error); |
| | | this.$message.error('删除操作失败:' + error.message); |
| | | }).finally(() => { |
| | | this.isdisabled = false; |
| | | }); |
| | | }) |
| | | .catch((error) => { |
| | | console.error("删除失败:", error); |
| | | this.$message.error("删除操作失败:" + error.message); |
| | | }) |
| | | .finally(() => { |
| | | this.isdisabled = false; |
| | | }); |
| | | }, |
| | | |
| | | handleQuery() { |
| | | this.xmopen = true; |
| | | let data = { |
| | | tjNum: this.tjNumber, |
| | | type: 0 |
| | | type: 0, |
| | | }; |
| | | getFcList(data).then(res => { |
| | | getFcList(data).then((res) => { |
| | | this.datasList = res.data; |
| | | }); |
| | | }, |
| | |
| | | console.log(this.xmChange); |
| | | let data = { |
| | | orderId: this.xmChange[0].orderId, |
| | | data: [{ |
| | | proId: this.xmChange[0].proId, |
| | | type: 1 |
| | | }] |
| | | data: [ |
| | | { |
| | | proId: this.xmChange[0].proId, |
| | | type: 1, |
| | | }, |
| | | ], |
| | | }; |
| | | UpdFcPro(data).then(res => { }); |
| | | UpdFcPro(data).then((res) => { }); |
| | | }, |
| | | |
| | | handledeleteClick() { |
| | | UpdFcPro(data).then(res => { }); |
| | | UpdFcPro(data).then((res) => { }); |
| | | }, |
| | | |
| | | handlexmChange(selection) { |
| | |
| | | }, |
| | | |
| | | getExpends() { |
| | | this.expends = this.yichangList.flatMap(item => |
| | | item.sone.map(soneItem => soneItem.orderDetailId) |
| | | this.expends = this.yichangList.flatMap((item) => |
| | | item.sone.map((soneItem) => soneItem.orderDetailId) |
| | | ); |
| | | }, |
| | | |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取项目情况失败:', error); |
| | | this.$message.error('获取项目情况失败'); |
| | | console.error("获取项目情况失败:", error); |
| | | this.$message.error("获取项目情况失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | |
| | | this.yichangList = res.data; |
| | | this.yichangList.forEach((item) => { |
| | | item.sone.forEach((soneItem) => { |
| | | if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) { |
| | | if ( |
| | | !Array.isArray(soneItem.advices) || |
| | | soneItem.advices.length === 0 |
| | | ) { |
| | | soneItem.advices = [{ bt: "", nr: "" }]; |
| | | } |
| | | }); |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取异常结果失败:', error); |
| | | this.$message.error('获取异常结果失败'); |
| | | console.error("获取异常结果失败:", error); |
| | | this.$message.error("获取异常结果失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | yichanghuifu() { |
| | | this.loading = true; |
| | | let tjNum = this.tjNumber; |
| | | huiFuyichangxiangmu(tjNum) |
| | | .then((res) => { |
| | | this.status1 = 4; |
| | | this.ychfList = res.data; |
| | | if (this.ychfList.length == 0) { |
| | | this.message.success("暂无异常恢复项目"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error("获取项目失败:", error); |
| | | |
| | | this.$message.error("获取项目失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | hfyc(id) { |
| | | this.$confirm("确认要恢复该项吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | // 用户确认后执行接口 |
| | | hfbt({ id }) |
| | | .then((res) => { |
| | | this.$message.success("恢复成功"); |
| | | this.yichanghuifu(); // 恢复后刷新列表 |
| | | }) |
| | | .catch((err) => { |
| | | console.error(err); |
| | | this.$message.error("恢复失败"); |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | // 用户取消了操作 |
| | | this.$message.info("已取消恢复"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | }, 3000); |
| | | this.$message({ |
| | | message: "请撤回重新生成报告", |
| | | type: "error" |
| | | type: "error", |
| | | }); |
| | | } else { |
| | | this.dialogVisible = true; |
| | |
| | | } else { |
| | | let url = response.data.url; |
| | | const params = { url }; |
| | | this.$tab.openPage("健康证检查表", "/report/zongjianjiankangzheng", params); |
| | | this.$tab.openPage( |
| | | "健康证检查表", |
| | | "/report/zongjianjiankangzheng", |
| | | params |
| | | ); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | let dictTypes = "sys_user_sex"; |
| | | return getDicts(dictTypes); |
| | | } else { |
| | | throw new Error('获取年龄单位字典失败'); |
| | | throw new Error("获取年龄单位字典失败"); |
| | | } |
| | | }) |
| | | .then((res) => { |
| | |
| | | }; |
| | | return getTjYxjcList(data); |
| | | } else { |
| | | throw new Error('获取性别字典失败'); |
| | | throw new Error("获取性别字典失败"); |
| | | } |
| | | }) |
| | | .then((res) => { |
| | |
| | | this.$refs.bbb.title = "报告字典"; |
| | | }) |
| | | .catch((error) => { |
| | | console.error('生成图文报告失败:', error); |
| | | this.$message.error('生成图文报告失败'); |
| | | console.error("生成图文报告失败:", error); |
| | | this.$message.error("生成图文报告失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取历史报告失败:', error); |
| | | this.$message.error('获取历史报告失败'); |
| | | console.error("获取历史报告失败:", error); |
| | | this.$message.error("获取历史报告失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取职业病史失败:', error); |
| | | this.$message.error('获取职业病史失败'); |
| | | console.error("获取职业病史失败:", error); |
| | | this.$message.error("获取职业病史失败"); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | |
| | | |
| | | propoChange() { |
| | | this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 }; |
| | | this.$refs.proposal.open = true; |
| | | this.$refs.proposal.title = "建议方案"; |
| | | getConfigKey("mrzscyjy").then((res) => { |
| | | this.mrjy = res.msg; // 会触发 watch → 设置 tjproposal = "1" |
| | | console.log(res,4444); |
| | | |
| | | // 等数据状态准备好后再打开弹窗 |
| | | this.$refs.proposal.title = "建议方案"; |
| | | this.$refs.proposal.open = true; |
| | | }); |
| | | |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | eventchange(data) { |
| | | this.dataText = data; |
| | |
| | | this.startTime = []; |
| | | this.resetForm("tableList"); |
| | | this.submitForm(); |
| | | this.queryParams.tjCategory =null |
| | | }, |
| | | |
| | | |
| | | huifu(row){ |
| | | huifu(row) { |
| | | const tjNUm = this.tjNumber; |
| | | const proId = row.proId; |
| | | huifu(tjNUm, proId).then((res) => { |
| | | if (res.code == 200) { |
| | | this.xiangmuqingkuang() |
| | | } |
| | | }); |
| | | huifu(tjNUm, proId).then((res) => { |
| | | if (res.code == 200) { |
| | | this.xiangmuqingkuang(); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | changRed({ row }) { |
| | |
| | | }, |
| | | |
| | | qingkong() { |
| | | this.tableAll = {} |
| | | this.changedate = [] |
| | | this.yichangList = [] |
| | | this.statusList = [] |
| | | this.xmChange = [] |
| | | this.fcList =[] |
| | | this.formobj ={} |
| | | this.tableAll = {}; |
| | | this.changedate = []; |
| | | this.yichangList = []; |
| | | this.statusList = []; |
| | | this.xmChange = []; |
| | | this.fcList = []; |
| | | this.formobj = {}; |
| | | }, |
| | | |
| | | handleClick(row) { |
| | | this.qingkong() |
| | | this.qingkong(); |
| | | this.$refs.Pre.open = false; |
| | | this.tableAll = row; |
| | | this.tjproject = "0"; |
| | |
| | | this.textarea1 = item.checkAdvice || ""; |
| | | }); |
| | | this.initialTotalCheckAdvice = this.textarea1; |
| | | this.initialState = JSON.parse(JSON.stringify(this.changedate)); |
| | | this.initialState = JSON.parse( |
| | | JSON.stringify(this.changedate) |
| | | ); |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | | this.remark = this.changedate[i].remark; |
| | | } |
| | | // 回显 zhiyeJl 和 zhiyeJg |
| | | this.zhiyeJl = response.data.zhiyeJl || ''; |
| | | this.zhiyeJg = response.data.zhiyeJg || '未发现目标性疾病'; |
| | | this.zhiyeJl = response.data.zhiyeJl || ""; |
| | | this.zhiyeJg = |
| | | response.data.zhiyeJg || "未发现目标性疾病"; |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "该客户没有体检项目数据", |
| | | }); |
| | | // 如果没有数据,清空字段 |
| | | this.zhiyeJl = ''; |
| | | this.zhiyeJg = '未发现目标性疾病'; |
| | | this.zhiyeJl = ""; |
| | | this.zhiyeJg = "未发现目标性疾病"; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$confirm("" + this.status.name + "正在修改该信息, 是否强制进去?", "提示", { |
| | | confirmButtonText: "是", |
| | | cancelButtonText: "否", |
| | | type: "warning", |
| | | }) |
| | | this.$confirm( |
| | | "" + this.status.name + "正在修改该信息, 是否强制进去?", |
| | | "提示", |
| | | { |
| | | confirmButtonText: "是", |
| | | cancelButtonText: "否", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | this.yichangjieguo(); |
| | | getInfo().then((response) => { |
| | |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | | this.remark = this.changedate[i].remark; |
| | | } |
| | | this.initialState = JSON.parse(JSON.stringify(this.changedate)); |
| | | this.initialState = JSON.parse( |
| | | JSON.stringify(this.changedate) |
| | | ); |
| | | this.changedate.forEach((item) => { |
| | | this.textarea1 = item.checkAdvice || ""; |
| | | }); |
| | | // 回显 zhiyeJl 和 zhiyeJg |
| | | this.zhiyeJl = response.data.zhiyeJl || ''; |
| | | this.zhiyeJg = response.data.zhiyeJg || '未发现目标性疾病'; |
| | | this.zhiyeJl = response.data.zhiyeJl || ""; |
| | | this.zhiyeJg = |
| | | response.data.zhiyeJg || "未发现目标性疾病"; |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "该客户没有体检项目数据", |
| | | }); |
| | | // 如果没有数据,清空字段 |
| | | this.zhiyeJl = ''; |
| | | this.zhiyeJg = '未发现目标性疾病'; |
| | | this.zhiyeJl = ""; |
| | | this.zhiyeJg = "未发现目标性疾病"; |
| | | } |
| | | }); |
| | | }); |
| | |
| | | }, |
| | | |
| | | handleClose(done) { |
| | | if (JSON.stringify(this.initialState) !== JSON.stringify(this.changedate) || this.initialTotalCheckAdvice !== this.textarea1) { |
| | | if ( |
| | | JSON.stringify(this.initialState) !== JSON.stringify(this.changedate) || |
| | | this.initialTotalCheckAdvice !== this.textarea1 |
| | | ) { |
| | | this.$confirm("您有未保存的更改,确定要关闭吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | let tjh = this.tableAll.tjNumber; |
| | | let advice = this.textarea1; |
| | | this.isLoading = true; |
| | | let data = { |
| | | tjNumber, |
| | | advice, |
| | | checkStatus: 1, |
| | | zhiyeJl: this.zhiyeJl, // 添加检查结论 |
| | | zhiyeJg: this.zhiyeJg // 添加体检结果 |
| | | zhiyeJg: this.zhiyeJg, // 添加体检结果 |
| | | }; |
| | | let dataList = this.yichangList |
| | | .map((item) => { |
| | |
| | | getTjdetailList(data) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | // this.$modal.msgSuccess("提交成功"); |
| | | this.$modal.msgSuccess( |
| | | response.msg |
| | | ); |
| | | this.isLoading = false; |
| | | // 清空字段 |
| | | this.zhiyeJl = ''; |
| | | this.zhiyeJg = ''; |
| | | this.zhiyeJl = ""; |
| | | this.zhiyeJg = ""; |
| | | |
| | | let reportData = { |
| | | userId: this.userId, |
| | |
| | | addOrder(dataList) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | gettoPdf(tjNumber) |
| | | .then((res) => { |
| | | this.$modal.msgSuccess( |
| | | "已生成报告!请前往报告核收页面确认!" |
| | | ); |
| | | }) |
| | | .catch(() => { |
| | | this.$modal.msgError( |
| | | "打印报告失败,请前往报告打印页面补打报告!" |
| | | ); |
| | | }); |
| | | |
| | | // gettoPdf(tjNumber) |
| | | // .then((res) => { |
| | | // this.$modal.msgSuccess( |
| | | // "已生成报告!请前往报告核收页面确认!" |
| | | // ); |
| | | // }) |
| | | // .catch(() => { |
| | | // this.$modal.msgError( |
| | | // "打印报告失败,请前往报告打印页面补打报告!" |
| | | // ); |
| | | // }); |
| | | const statePromise = getfiedState(reportData).then(() => { |
| | | this.drawer = false; |
| | | }); |