| | |
| | | <template> |
| | | <div class="mainbox"> |
| | | <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" |
| | | v-if="tjStatus == 0"> |
| | | <el-form-item label="姓名" prop="name"> |
| | | <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable |
| | | @keyup.enter.native="submitForm"></el-input> |
| | |
| | | <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" /> |
| | | </el-select> |
| | | </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-input v-model="form.category" placeholder="请输入体检类别" /> --> |
| | | </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-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 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-input v-model="form.category" placeholder="请输入体检类别" /> --> |
| | | </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-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="tjStatus" :show-overflow-tooltip="true" width="120px"> |
| | | <template slot-scope="scope"> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="审核医师" align="center" prop="shys" width="120px" v-if="tjStatus == 1" /> |
| | | <el-table-column label="单位名称" align="center" prop="tjCompName" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="体检类别" align="center" prop="tjCategory"> |
| | | <template slot-scope="scope"> |
| | |
| | | <!-- 点击弹出框 --> |
| | | <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%" |
| | | :show-close="true"> |
| | | <div class="top"> |
| | | <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 }}的体检资料 |
| | | </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">性别:</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; 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> |
| | | <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="top"> |
| | | <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 }}的体检资料 |
| | | </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> |
| | | <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> |
| | | |
| | | <div style="margin-right: 10px; display: flex" class="btnbox"> |
| | | <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'"> |
| | | <el-button @click="Graphicreport()" type="primary"> |
| | | <span class="vertical-text">图文报告</span> |
| | | </el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="historicalreport()" type="primary"><span class="vertical-text">历史报告</span></el-button> |
| | | </div> |
| | | <div v-if="tableAll.tjCategory == '02'" class="btn1"> |
| | | <el-button @click="medicalhistory()" type="primary"><span class="vertical-text">职业病史</span></el-button> |
| | | </div> |
| | | <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'"> |
| | | <el-button @click="jianqian()" type="primary"><span class="vertical-text">检前问诊</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">项目情况</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="yichangjieguo()" type="primary"><span class="vertical-text">异常结果</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="fuchaxiangmu()" 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;"> |
| | | {{ item.parent || "" }} |
| | | </div> |
| | | <div v-if="item.xmlb == '0'"> |
| | | <el-table :data="item.sons" border style="width: 100%" :row-style="changRed" |
| | | :header-cell-style="{ background: '#aad8df' }"> |
| | | <el-table-column align="center" label="检测项目" width="464"> |
| | | <template slot-scope="scope"> |
| | | <div>{{ scope.row.proName }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <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-else>{{ scope.row.proAdvice }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="conclusion" 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.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%;"> |
| | | 小结: |
| | | </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> |
| | | <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;"> |
| | | 备注: |
| | | </td> |
| | | <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> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <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> |
| | | <td style="border: 1px solid #dfe6ec; height: auto" colspan="2"> |
| | | <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.jgbx" |
| | | 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%;"> |
| | | 检查提示: |
| | | </td> |
| | | <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%;"> |
| | | 主检医师: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> |
| | | {{ item.doctorName }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | |
| | | <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'"> |
| | | <el-button type="primary" @click="propoChange">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange">生成建议</el-button> |
| | | </div> |
| | | |
| | | <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'"> |
| | | <el-form-item label="总检建议"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3" |
| | | style="width: 96%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footers"> |
| | | <el-button type="primary" @click.stop="guanbi">取消</el-button> |
| | | <el-button v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary" |
| | | @click.stop="rowClick" icon="el-icon-edit-outline">开处方</el-button> |
| | | <div v-if="tjproject == '0'"> |
| | | <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button> |
| | | </div> |
| | | </div> |
| | | <div style="margin-right: 10px; display: flex" class="btnbox"> |
| | | <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'"> |
| | | <el-button @click="Graphicreport()" type="primary"> |
| | | <span class="vertical-text">图文报告</span> |
| | | </el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="historicalreport()" type="primary"><span class="vertical-text">历史报告</span></el-button> |
| | | </div> |
| | | <div v-if="tableAll.tjCategory == '02'" class="btn1"> |
| | | <el-button @click="medicalhistory()" type="primary"><span class="vertical-text">职业病史</span></el-button> |
| | | </div> |
| | | <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'"> |
| | | <el-button @click="jianqian()" type="primary"><span class="vertical-text">检前问诊</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">项目情况</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="yichangjieguo()" type="primary"><span class="vertical-text">异常结果</span></el-button> |
| | | </div> |
| | | <div class="btn1"> |
| | | <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">复查项目</span></el-button> |
| | | </div> |
| | | </div> |
| | | <div class="rightbox"> |
| | | <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;"> |
| | | {{ item.proName || "" }} |
| | | <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;"> |
| | | {{ item.parent || "" }} |
| | | </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"> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <div style="padding: 10px;"> |
| | | <!-- 内容区域 --> |
| | | <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> |
| | | 标题: |
| | | <el-input v-model="jianyi.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="jianyi.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 如果 advices 为空时,渲染空的输入框 --> |
| | | <div v-else> |
| | | <div> |
| | | 标题: |
| | | <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | </div> |
| | | <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" label="检测项目" :show-overflow-tooltip="true" width="353"> |
| | | <div v-if="item.xmlb == '0'"> |
| | | <el-table :data="item.sons" border style="width: 100%" :row-style="changRed" |
| | | :header-cell-style="{ background: '#aad8df' }"> |
| | | <el-table-column align="center" label="检测项目" width="464"> |
| | | <template slot-scope="scope"> |
| | | <div>{{ scope.row.proName }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <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 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-else>{{ scope.row.proAdvice }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="conclusion" 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.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue || |
| | | "/" }} |
| | | </div> |
| | | <div v-else>{{ scope.row.stanId || "/" }}</div> |
| | | </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"> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <div style="padding: 10px;"> |
| | | <!-- 内容区域 --> |
| | | <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"> |
| | | <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%;"> |
| | | 小结: |
| | | </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> |
| | | <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;"> |
| | | 备注: |
| | | </td> |
| | | <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> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <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> |
| | | <td style="border: 1px solid #dfe6ec; height: auto" colspan="2"> |
| | | <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.jgbx" |
| | | 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%;"> |
| | | 检查提示: |
| | | </td> |
| | | <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%;"> |
| | | 主检医师: |
| | | </td> |
| | | <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> |
| | | <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px" |
| | | class="demo-ruleForm"> |
| | | <el-form-item label="检查结论"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJl" :rows="3" |
| | | style="width: 96%"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="体检结果"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJg" :rows="3" |
| | | style="width: 96%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'"> |
| | | <el-button type="primary" @click="propoChange">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange">生成建议</el-button> |
| | | </div> |
| | | |
| | | <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'"> |
| | | <el-form-item label="总检建议"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3" |
| | | style="width: 96%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footers"> |
| | | <el-button type="primary" @click.stop="guanbi">取消</el-button> |
| | | <el-button v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary" |
| | | @click.stop="rowClick" icon="el-icon-edit-outline">开处方</el-button> |
| | | <div v-if="tjproject == '0'"> |
| | | <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="rightbox"> |
| | | <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;"> |
| | | {{ 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" |
| | | v-loading="loading"> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <div style="padding: 10px;"> |
| | | <!-- 内容区域 --> |
| | | <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> |
| | | 标题: |
| | | <el-input v-model="jianyi.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="jianyi.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 如果 advices 为空时,渲染空的输入框 --> |
| | | <div v-else> |
| | | <div> |
| | | 标题: |
| | | <el-input v-model="jianyi.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="jianyi.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 如果 advices 为空时,渲染空的输入框 --> |
| | | <div v-else> |
| | | <div> |
| | | 标题: |
| | | <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | <div style="margin-top: 10px;"> |
| | | <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 10px;"> |
| | | <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="检测项目" :show-overflow-tooltip="true" width="353"> |
| | | <template slot-scope="scope"> |
| | | <div>{{ scope.row.proName }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <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> |
| | | </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"> |
| | | <el-table-column type="expand"> |
| | | <template slot-scope="props"> |
| | | <div style="padding: 10px;"> |
| | | <!-- 内容区域 --> |
| | | <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> |
| | | 标题: |
| | | <el-input v-model="jianyi.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="jianyi.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, index1)"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 如果 advices 为空时,渲染空的输入框 --> |
| | | <div v-else> |
| | | <div> |
| | | 标题: |
| | | <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | <div> |
| | | 内容: |
| | | <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize |
| | | @blur="handleAdviceBlur(props.row, -1)"></el-input> |
| | | </div> |
| | | </div> |
| | | <div style="margin-top: 10px;"> |
| | | <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="检测项目" width="232" :show-overflow-tooltip="true"> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="检测项目" width="232" :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <div>{{ scope.row.proName }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="proResult" label="检测结果" width="403"></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> |
| | | <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%" |
| | | :header-cell-style="{ background: '#e6a23c' }"> |
| | | <el-table-column align="center" label="部门" width="144" prop="deptName"></el-table-column> |
| | | <el-table-column align="center" prop="proName" label="项目" width="260"></el-table-column> |
| | | <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="120"> |
| | | <template slot-scope="scope"> |
| | | <div>{{ scope.row.proName }}</div> |
| | | <span v-if="scope.row.type == '0'">未审核</span> |
| | | <span v-if="scope.row.type == '1'">已审核</span> |
| | | <span v-if="scope.row.type == '2'">弃检</span> |
| | | <span v-if="scope.row.type == '3'">延期</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="proResult" label="检测结果" width="403"></el-table-column> |
| | | <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" /> |
| | | </el-table> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | <template v-if="status1 == 1"> |
| | | <div> |
| | | <div style="text-align: center; background-color: #e6a23c; margin-top: 10px;"> |
| | | 项目检查情况 |
| | | </div> |
| | | <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%" |
| | | :header-cell-style="{ background: '#e6a23c' }"> |
| | | <el-table-column align="center" label="部门" width="144" prop="deptName"></el-table-column> |
| | | <el-table-column align="center" prop="proName" label="项目" width="260"></el-table-column> |
| | | <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.type == '0'">未审核</span> |
| | | <span v-if="scope.row.type == '1'">已审核</span> |
| | | <span v-if="scope.row.type == '2'">弃检</span> |
| | | <span v-if="scope.row.type == '3'">延期</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" /> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | |
| | | <template v-if="status1 == 2"> |
| | | <div> |
| | | <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" @click="handleQuery"> |
| | | 项目选择 |
| | | </span> |
| | | <div style="margin:0 20px;">项目名称:{{ }}</div> |
| | | <div style="margin:0 20px ;">价格:{{ }}</div> |
| | | <el-button type="primary" size="mini" @click="handleaddClick()">添加</el-button> |
| | | </div> |
| | | <template v-if="status1 == 2"> |
| | | <div> |
| | | <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"> |
| | | 项目选择 |
| | | </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> |
| | | <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-table :row-style="redxiangmu" :data="fcList" style="width: 100%"> |
| | | <el-table-column align="center" label="序号" width="144" prop="deptName"></el-table-column> |
| | | <el-table-column align="center" prop="proName" label="科室" width="260"></el-table-column> |
| | | <el-table-column align="center" prop="pro_name" label="项目名称" width="260"></el-table-column> |
| | | <el-table-column label="价格" align="center" prop="bcupdateTime" width="100" /> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" icon="el-icon-share" size="mini" @click="handledeleteClick(scope.row)" |
| | | title="删除"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | <el-button type="primary" @click="addnew" :disabled="isdisabled">新增</el-button> |
| | | <el-table :row-style="redxiangmu" :data="fcList" style="width: 100%" border> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="序号" align="center" prop="newID" /> |
| | | <el-table-column label="名称" align="center" prop="proName" width="100px" /> |
| | | <el-table-column label="价格" align="center" prop="price" /> |
| | | <el-table-column label="科室" align="center" prop="deptName" /> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="handledeleteClick(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | <template v-if="status1 == 3"> |
| | | <div class="hist3"> |
| | | <span class="txt">问诊信息</span> |
| | | <el-form ref="form" :model="formobj" label-width="100px" :inline="true" size="mini"> |
| | | <el-collapse class="coll" v-model="activeName" accordion> |
| | | <el-collapse-item class="coll" title="基本信息" name="1" style="width: 100%; font-weight: 600"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="姓名" prop="cusName"> |
| | | <el-input disabled v-model="formobj.cusName" placeholder="请输入姓名" /> |
| | | </el-form-item> |
| | | <el-form-item label="职业" prop="work"> |
| | | <el-select filterable v-model="formobj.work" placeholder="请选择职业" clearable |
| | | style="width: 150px" disabled> |
| | | <el-option v-for="dict in dict.type.tj_work" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工作状态" prop="workStatus"> |
| | | <el-select disabled filterable v-model="formobj.workStatus" placeholder="请选择工作状态" clearable |
| | | style="width: 150px"> |
| | | <el-option v-for="dict in dict.type.tj_work_status" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="接触毒物" prop="contactPoison"> |
| | | <el-input disabled type="textarea" rows="4" v-model="formobj.contactPoison" |
| | | placeholder="请输入接触毒物" style="width: 700px" /> |
| | | </el-form-item> |
| | | <el-form-item label="既往病史" prop="medicalHistory"> |
| | | <el-input disabled type="textarea" rows="4" v-model="formobj.medicalHistory" |
| | | placeholder="请输入既往病史" style="width: 700px" /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="月经史" name="2" v-show="sex"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="初潮(岁)" prop="chuchao"> |
| | | <el-input v-model="formobj.chuchao" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="经期" prop="jingqi"> |
| | | <el-input v-model="formobj.jingqi" disabled style="width: 70px" />天 |
| | | </el-form-item> |
| | | <el-form-item label="周期" prop="zhouqi"> |
| | | <el-input v-model="formobj.zhouqi" disabled style="width: 70px" />天 |
| | | </el-form-item> |
| | | <el-form-item label="末次月经" prop="mociage"> |
| | | <el-input v-model="formobj.mociage" disabled style="width: 100px" /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="生育史" name="3" v-show="sex"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="现有子女(人)" prop="zinv"> |
| | | <el-input v-model="formobj.zinv" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="流产(次)" prop="liuchan"> |
| | | <el-input v-model="formobj.liuchan" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="早产(次)" prop="zaochan"> |
| | | <el-input v-model="formobj.zaochan" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="死产(次)" prop="sichan"> |
| | | <el-input v-model="formobj.sichan" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="异常胎(次)" prop="yichangtai"> |
| | | <el-input v-model="formobj.yichangtai" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="烟酒史" name="4"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="是否吸烟" prop="xiyan"> |
| | | <el-select disabled filterable v-model="formobj.xiyan" placeholder="请选择是否吸烟" clearable |
| | | style="width: 150px"> |
| | | <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" |
| | | :label="dict.label" :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="吸烟频率" prop="xiyanpinlv"> |
| | | <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-form-item label="是否饮酒" prop="yinjiu"> |
| | | <el-select filterable v-model="formobj.yinjiu" disabled placeholder="请选择是否饮酒" clearable |
| | | style="width: 150px"> |
| | | <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" |
| | | :label="dict.label" :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="饮酒频率" prop="yinjiupinlv"> |
| | | <el-input v-model="formobj.yinjiupinlv" disabled style="width: 70px" />ml/天 |
| | | </el-form-item> |
| | | <el-form-item label="饮酒时间" prop="yinjiuyear"> |
| | | <el-input v-model="formobj.yinjiuyear" disabled style="width: 70px" />年 |
| | | </el-form-item> |
| | | <el-form-item label="其他" prop="qita"> |
| | | <el-input v-model="formobj.qita" placeholder="请输入其他" disabled type="textarea" |
| | | style="width: 600px" rows="2" /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="急慢性职业病史信息" name="5"> |
| | | <div style="width: 100%"> |
| | | <el-table border :data="formobj.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="疾病名称" prop="diseaseName"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" disabled v-model="scope.row.diseaseName" placeholder="请输入疾病名称" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="诊断日期" prop="diseaseData"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date" |
| | | placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="诊断单位" prop="diseaseCompany"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" disabled v-model="scope.row.diseaseCompany" |
| | | placeholder="请输入诊断单位" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否痊愈" prop="isOk"> |
| | | <template slot-scope="scope"> |
| | | <el-select disabled filterable size="mini" v-model="scope.row.isOk" |
| | | placeholder="请选择是否痊愈" clearable> |
| | | <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.remark" placeholder="请输入备注" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="职业史" name="7"> |
| | | <div style="width: 100%"> |
| | | <el-table border :data="formobj.workLogs" style="width: 98%"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="开始时间" prop="beginTime"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date" |
| | | placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="结束时间" prop="endTime"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker size="mini" disabled v-model="scope.row.endTime" align="right" |
| | | type="date" placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工作单位" prop="workCompany"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" disabled v-model="scope.row.workCompany" placeholder="请输入工作单位" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="部门" prop="workDept"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.workDept" placeholder="请输入部门" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工种" prop="workType"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.workType" placeholder="请输入工种" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="有害因素" prop="harmTypeLogs"> |
| | | <template slot-scope="scope"> |
| | | <el-select filterable disabled size="mini" v-model="scope.row.harmTypeLogs" multiple |
| | | placeholder="请选择有害因素" clearable> |
| | | <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmtype" |
| | | :value="dict.aid" /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="防护措施" prop="fangHu"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">新增</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="hist3" v-if="wenzhen"> |
| | | <span class="txt">问诊信息</span> |
| | | <el-form ref="form" :model="formobj" label-width="100px" :inline="true" size="mini"> |
| | | <el-collapse class="coll" v-model="activeName" accordion> |
| | | <el-collapse-item class="coll" title="基本信息" name="1" style="width: 100%; font-weight: 600"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="姓名" prop="cusName"> |
| | | <el-input disabled v-model="formobj.cusName" placeholder="请输入姓名" /> |
| | | </el-form-item> |
| | | <el-form-item label="职业" prop="work"> |
| | | <el-select filterable v-model="formobj.work" placeholder="请选择职业" clearable style="width: 150px" |
| | | disabled> |
| | | <el-option v-for="dict in dict.type.tj_work" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工作状态" prop="workStatus"> |
| | | <el-select disabled filterable v-model="formobj.workStatus" placeholder="请选择工作状态" clearable |
| | | style="width: 150px"> |
| | | <el-option v-for="dict in dict.type.tj_work_status" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="接触毒物" prop="contactPoison"> |
| | | <el-input disabled type="textarea" rows="4" v-model="formobj.contactPoison" placeholder="请输入接触毒物" |
| | | style="width: 700px" /> |
| | | </el-form-item> |
| | | <el-form-item label="既往病史" prop="medicalHistory"> |
| | | <el-input disabled type="textarea" rows="4" v-model="formobj.medicalHistory" placeholder="请输入既往病史" |
| | | style="width: 700px" /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="月经史" name="2" v-show="sex"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="初潮(岁)" prop="chuchao"> |
| | | <el-input v-model="formobj.chuchao" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="经期" prop="jingqi"> |
| | | <el-input v-model="formobj.jingqi" disabled style="width: 70px" />天 |
| | | </el-form-item> |
| | | <el-form-item label="周期" prop="zhouqi"> |
| | | <el-input v-model="formobj.zhouqi" disabled style="width: 70px" />天 |
| | | </el-form-item> |
| | | <el-form-item label="末次月经" prop="mociage"> |
| | | <el-input v-model="formobj.mociage" disabled style="width: 100px" /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="生育史" name="3" v-show="sex"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="现有子女(人)" prop="zinv"> |
| | | <el-input v-model="formobj.zinv" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="流产(次)" prop="liuchan"> |
| | | <el-input v-model="formobj.liuchan" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="早产(次)" prop="zaochan"> |
| | | <el-input v-model="formobj.zaochan" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="死产(次)" prop="sichan"> |
| | | <el-input v-model="formobj.sichan" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="异常胎(次)" prop="yichangtai"> |
| | | <el-input v-model="formobj.yichangtai" style="width: 70px" disabled /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="烟酒史" name="4"> |
| | | <div style="width: 100%"> |
| | | <el-form-item label="是否吸烟" prop="xiyan"> |
| | | <el-select disabled filterable v-model="formobj.xiyan" placeholder="请选择是否吸烟" clearable |
| | | style="width: 150px"> |
| | | <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="吸烟频率" prop="xiyanpinlv"> |
| | | <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-form-item label="是否饮酒" prop="yinjiu"> |
| | | <el-select filterable v-model="formobj.yinjiu" disabled placeholder="请选择是否饮酒" clearable |
| | | style="width: 150px"> |
| | | <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="饮酒频率" prop="yinjiupinlv"> |
| | | <el-input v-model="formobj.yinjiupinlv" disabled style="width: 70px" />ml/天 |
| | | </el-form-item> |
| | | <el-form-item label="饮酒时间" prop="yinjiuyear"> |
| | | <el-input v-model="formobj.yinjiuyear" disabled style="width: 70px" />年 |
| | | </el-form-item> |
| | | <el-form-item label="其他" prop="qita"> |
| | | <el-input v-model="formobj.qita" placeholder="请输入其他" disabled type="textarea" style="width: 600px" |
| | | rows="2" /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="急慢性职业病史信息" name="5"> |
| | | <div style="width: 100%"> |
| | | <el-table border :data="formobj.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="疾病名称" prop="diseaseName"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" disabled v-model="scope.row.diseaseName" placeholder="请输入疾病名称" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="诊断日期" prop="diseaseData"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date" |
| | | placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="诊断单位" prop="diseaseCompany"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" disabled v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="是否痊愈" prop="isOk"> |
| | | <template slot-scope="scope"> |
| | | <el-select disabled filterable size="mini" v-model="scope.row.isOk" placeholder="请选择是否痊愈" |
| | | clearable> |
| | | <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.remark" placeholder="请输入备注" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="职业史" name="7"> |
| | | <div style="width: 100%"> |
| | | <el-table border :data="formobj.workLogs" style="width: 98%"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="开始时间" prop="beginTime"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date" |
| | | placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="结束时间" prop="endTime"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker size="mini" disabled v-model="scope.row.endTime" align="right" type="date" |
| | | placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px" |
| | | value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工作单位" prop="workCompany"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" disabled v-model="scope.row.workCompany" placeholder="请输入工作单位" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="部门" prop="workDept"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.workDept" placeholder="请输入部门" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工种" prop="workType"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.workType" placeholder="请输入工种" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="有害因素" prop="harmTypeLogs"> |
| | | <template slot-scope="scope"> |
| | | <el-select filterable disabled size="mini" v-model="scope.row.harmTypeLogs" multiple |
| | | placeholder="请选择有害因素" clearable> |
| | | <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmtype" |
| | | :value="dict.aid" /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="防护措施" prop="fangHu"> |
| | | <template slot-scope="scope"> |
| | | <el-input disabled size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | </div> |
| | | </el-drawer> |
| | | |
| | | <el-dialog title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false" width="50%"> |
| | |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :visible.sync="xmopen" width="800px" append-to-body> |
| | | <el-form ref="form" :model="forms" label-width="80px"> |
| | | <el-form-item label="名称" prop="pacName"> |
| | | <el-input v-model="forms.pacName" placeholder="请输入名称" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="datasList" ref="elTable" v-loading="loading" @selection-change="handlexmChange" border |
| | | height="320px"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="序号" align="center" prop="pacRemark" /> |
| | | <el-table-column label="名称" align="center" prop="pacName" width="100px" /> |
| | | <el-table-column label="价格" align="center" prop="price" /> |
| | | <el-table-column label="科室" align="center" prop="pacRemark" /> |
| | | </el-table> |
| | | <el-dialog :visible.sync="xmopen" width="800px" append-to-body> |
| | | <div style="margin: 20px;"> |
| | | <el-table :data="datasList" ref="elTable" v-loading="loading" @selection-change="handlexmChange" border |
| | | height="320px"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="名称" align="center" prop="proName" width="100px" /> |
| | | <el-table-column label="价格" align="center" prop="price" /> |
| | | <el-table-column label="科室" align="center" prop="deptName" /> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitFormxm">确 定</el-button> |
| | | <el-button @click="cancels">取 消</el-button> |
| | |
| | | isPdfOrJimu, |
| | | addOrder, |
| | | addOrder1, |
| | | getFcList |
| | | getFcList, |
| | | UpdFcPro |
| | | } from "@/api/doctor/checkAll"; |
| | | import { getInfoById } from "@/api/hosp/history"; |
| | | import { getInfo } from "@/api/login"; |
| | |
| | | Prescription, |
| | | }, |
| | | dicts: [ |
| | | "dict_team", |
| | | "dict_tjtype", |
| | | "sys_user_sex", |
| | | "sys_yes_no", |
| | |
| | | name: "checkAll", |
| | | data() { |
| | | return { |
| | | zhiyeJl: '', // 初始化检查结论为空 |
| | | zhiyeJg: '', // 初始化体检结果为默认值 |
| | | selectedAdvice: null, |
| | | activeAdviceIndex: 0, |
| | | advicerulesList: [], |
| | | xmChange: [], |
| | | showjianyi: false, |
| | | adviceLoading: false, // 控制表格加载状态 |
| | | adviceEmptyText: '暂无数据', // 自定义空数据提示 |
| | | isLoading: false, |
| | | adviceLoading: false, |
| | | adviceEmptyText: '暂无数据', |
| | | total1: 0, |
| | | forms:{ |
| | | pacName:"" |
| | | forms: { |
| | | pacName: "" |
| | | }, |
| | | xmopen: false, |
| | | datasList:[], |
| | | datasList: [], |
| | | queryParams1: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | zyzd: '', // 建议名称 |
| | | zyzd: '', |
| | | }, |
| | | adviceCache: new Map(), // 缓存建议数据 |
| | | adviceCache: new Map(), |
| | | addNewDialogVisible: false, |
| | | newItem: { |
| | | parentName: '', |
| | |
| | | jianqians: false, |
| | | sex: true, |
| | | activeName: "1", |
| | | wenzhen: false, |
| | | hosproy: true, |
| | | remarks: "", |
| | | remark: "", |
| | |
| | | Testitems: [], |
| | | CheckBox: {}, |
| | | startTime: [], |
| | | isCollapsed: 0, |
| | | textarea1: "", |
| | | loading: true, |
| | | selectLettercurrent: " ", |
| | |
| | | compId: null, |
| | | name: null, |
| | | checkStatus: null, |
| | | shys: null, |
| | | tjCategory: null |
| | | }, |
| | | formobj: {}, |
| | | yichangList: [], |
| | |
| | | }, |
| | | |
| | | created() { |
| | | console.log(this.dict.type.dict_tjtype, "职业体检"); |
| | | this.getConfigKey(); |
| | | this.getdate(); |
| | | }, |
| | | |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.$refs.inputName.focus(); |
| | |
| | | this.queryParams1.pageNum = 1; |
| | | this.queryParams1.pageSize = 10; |
| | | this.queryParams1.zyzd = ''; |
| | | this.selectedAdvice = null; // 重置选中建议 |
| | | this.advicerulesList = []; // 清空建议列表 |
| | | this.selectedAdvice = null; |
| | | this.advicerulesList = []; |
| | | this.total1 = 0; |
| | | this.adviceCache.clear(); // 清空缓存 |
| | | this.adviceCache.clear(); |
| | | this.filterAdvices(); |
| | | this.showjianyi = true; |
| | | }, |
| | |
| | | this.queryParams1.pageNum = 1; |
| | | } |
| | | |
| | | // 生成缓存 key,仅使用 zyzd 和分页参数 |
| | | 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; |
| | |
| | | return; |
| | | } |
| | | |
| | | // 显示加载状态 |
| | | this.adviceLoading = true; |
| | | this.adviceEmptyText = '加载中...'; |
| | | |
| | |
| | | this.advicerulesList = response.rows || []; |
| | | this.total1 = response.total || 0; |
| | | |
| | | // 存入缓存 |
| | | this.adviceCache.set(cacheKey, { |
| | | rows: this.advicerulesList, |
| | | total: this.total1, |
| | | }); |
| | | |
| | | // 更新空数据提示 |
| | | this.adviceEmptyText = this.advicerulesList.length === 0 ? '暂无匹配的建议' : '暂无数据'; |
| | | }) |
| | | .catch((error) => { |
| | |
| | | .finally(() => { |
| | | this.adviceLoading = false; |
| | | }); |
| | | }, 800), // 防抖时间为 800ms |
| | | }, 800), |
| | | |
| | | handleCurrentChangeAdvice(currentRow) { |
| | | this.selectedAdvice = currentRow; |
| | | }, |
| | | |
| | | |
| | | toggleCollapse3() { |
| | | this.isCollapsed = 0; |
| | | }, |
| | | toggleCollapse() { |
| | | this.isCollapsed = 1; |
| | | }, |
| | | |
| | | applySelectedAdvice() { |
| | |
| | | } |
| | | }, |
| | | |
| | | // 取消选择并关闭对话框 |
| | | cancelAdviceDialog() { |
| | | this.showjianyi = false; |
| | | this.selectedAdvice = null; |
| | |
| | | this.adviceCache.clear(); |
| | | }, |
| | | |
| | | // 关闭对话框前的确认 |
| | | handleCloseAdviceDialog(done) { |
| | | if (this.selectedAdvice) { |
| | | this.$confirm('您已选择一条建议,确定要关闭吗?', '提示', { |
| | |
| | | this.newItem.jcxm = value; |
| | | } |
| | | }, |
| | | |
| | | change(val) { |
| | | console.log('选中的值是:', val); |
| | | }, |
| | |
| | | }, |
| | | |
| | | handleQuery() { |
| | | this.xmopen= true |
| | | |
| | | this.xmopen = true; |
| | | let data = { |
| | | tjNum: this.tjNumber, |
| | | type: 0 |
| | | }; |
| | | getFcList(data).then(res => { |
| | | this.datasList = res.data; |
| | | }); |
| | | }, |
| | | |
| | | handleaddClick() { |
| | | |
| | | console.log(this.xmChange); |
| | | let data = { |
| | | orderId: this.xmChange[0].orderId, |
| | | data: [{ |
| | | proId: this.xmChange[0].proId, |
| | | type: 1 |
| | | }] |
| | | }; |
| | | UpdFcPro(data).then(res => { }); |
| | | }, |
| | | |
| | | handledeleteClick() { |
| | | |
| | | UpdFcPro(data).then(res => { }); |
| | | }, |
| | | |
| | | handlexmChange(){ |
| | | |
| | | handlexmChange(selection) { |
| | | this.xmChange = []; |
| | | this.xmChange = selection; |
| | | if (selection.length > 1) { |
| | | let del_row = selection.shift(); |
| | | this.$refs.elTable.toggleRowSelection(del_row, false); |
| | | } |
| | | }, |
| | | submitFormxm(){ |
| | | |
| | | }, |
| | | cancels() { |
| | | this.xmopen= false |
| | | submitFormxm() { |
| | | this.xmopen = false; |
| | | }, |
| | | |
| | | cancels() { |
| | | this.xmopen = false; |
| | | this.xmChange = []; |
| | | }, |
| | | |
| | | getExpends() { |
| | | this.expends = this.yichangList.flatMap(item => |
| | | item.sone.map(soneItem => soneItem.orderDetailId) |
| | |
| | | }, |
| | | |
| | | xiangmuqingkuang() { |
| | | cSWebGetPro(this.tjNumber).then((res) => { |
| | | this.status1 = 1; |
| | | this.statusList = res.data; |
| | | |
| | | if (this.statusList.length == 0) { |
| | | this.$message.msgSuccess("暂无项目情况"); |
| | | } |
| | | }); |
| | | this.loading = true; |
| | | cSWebGetPro(this.tjNumber) |
| | | .then((res) => { |
| | | this.status1 = 1; |
| | | this.statusList = res.data; |
| | | if (this.statusList.length == 0) { |
| | | this.$message.success("暂无项目情况"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取项目情况失败:', error); |
| | | this.$message.error('获取项目情况失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | guanbi() { |
| | |
| | | }, |
| | | |
| | | yichangjieguo() { |
| | | this.isLoading = true |
| | | this.status1 = 0; |
| | | let _this = this; |
| | | this.yichangList = [] |
| | | yichang({ |
| | | tjNum: this.tjNumber, |
| | | }).then((res) => { |
| | | this.yichangList = res.data; |
| | | |
| | | this.yichangList.forEach((item) => { |
| | | item.sone.forEach((soneItem) => { |
| | | if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) { |
| | | soneItem.advices = [{ bt: "", nr: "" }]; |
| | | } |
| | | }) |
| | | .then((res) => { |
| | | this.isLoading = false |
| | | this.yichangList = res.data; |
| | | this.yichangList.forEach((item) => { |
| | | item.sone.forEach((soneItem) => { |
| | | if (!Array.isArray(soneItem.advices) || soneItem.advices.length === 0) { |
| | | soneItem.advices = [{ bt: "", nr: "" }]; |
| | | } |
| | | }); |
| | | }); |
| | | if (!this.yichangList) { |
| | | this.$message.warning("暂无异常报告"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.isLoading = false |
| | | console.error('获取异常结果失败:', error); |
| | | this.$message.error('获取异常结果失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.isLoading = false |
| | | this.loading = false; |
| | | }); |
| | | |
| | | if (!this.yichangList) { |
| | | _this.$message({ |
| | | type: "warning", |
| | | message: "暂无异常报告", |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | fuchaxiangmu() { |
| | | this.loading = true; |
| | | this.status1 = 2; |
| | | getFcList(this.tjNumber).then(res => { |
| | | this.fcList = res.data |
| | | }) |
| | | let data = { |
| | | tjNum: this.tjNumber, |
| | | type: 1 |
| | | }; |
| | | getFcList(data) |
| | | .then((res) => { |
| | | this.fcList = res.data; |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取复查项目失败:', error); |
| | | this.$message.error('获取复查项目失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | getdate() { |
| | |
| | | }, |
| | | |
| | | Graphicreport() { |
| | | this.loading = true; |
| | | let dictType = "dict_ageunit"; |
| | | getDicts(dictType).then((res) => { |
| | | if (res.code == 200) { |
| | | res.data.forEach((item) => { |
| | | if (this.tableAll.age_unit == item.dictValue) { |
| | | this.tableAll.age_unit = item.dictLabel; |
| | | } |
| | | }); |
| | | let dictTypes = "sys_user_sex"; |
| | | getDicts(dictTypes).then((res) => { |
| | | if (res.code == 200) { |
| | | res.data.forEach((item) => { |
| | | if (this.tableAll.cusSex == item.dictValue) { |
| | | this.tableAll.cusSex = item.dictLabel; |
| | | } |
| | | }); |
| | | let data = { |
| | | patname: this.tableAll.cusName, |
| | | sex: this.tableAll.cusSex, |
| | | patage: this.tableAll.age, |
| | | patagename: this.tableAll.age_unit, |
| | | patbirth: this.tableAll.cusBrithday, |
| | | }; |
| | | getTjYxjcList(data).then((res) => { |
| | | this.baogao = res.data; |
| | | }); |
| | | this.$refs.bbb.open = true; |
| | | this.$refs.bbb.title = "报告字典"; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | getDicts(dictType) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | res.data.forEach((item) => { |
| | | if (this.tableAll.age_unit == item.dictValue) { |
| | | this.tableAll.age_unit = item.dictLabel; |
| | | } |
| | | }); |
| | | let dictTypes = "sys_user_sex"; |
| | | return getDicts(dictTypes); |
| | | } else { |
| | | throw new Error('获取年龄单位字典失败'); |
| | | } |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | res.data.forEach((item) => { |
| | | if (this.tableAll.cusSex == item.dictValue) { |
| | | this.tableAll.cusSex = item.dictLabel; |
| | | } |
| | | }); |
| | | let data = { |
| | | patname: this.tableAll.cusName, |
| | | sex: this.tableAll.cusSex, |
| | | patage: this.tableAll.age, |
| | | patagename: this.tableAll.age_unit, |
| | | patbirth: this.tableAll.cusBrithday, |
| | | }; |
| | | return getTjYxjcList(data); |
| | | } else { |
| | | throw new Error('获取性别字典失败'); |
| | | } |
| | | }) |
| | | .then((res) => { |
| | | this.baogao = res.data; |
| | | this.$refs.bbb.open = true; |
| | | this.$refs.bbb.title = "报告字典"; |
| | | }) |
| | | .catch((error) => { |
| | | console.error('生成图文报告失败:', error); |
| | | this.$message.error('生成图文报告失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | historicalreport() { |
| | | this.loading = true; |
| | | this.wenzhen = false; |
| | | this.hosproy = true; |
| | | let data = { |
| | | cusId: this.tableAll.cusId, |
| | | }; |
| | | reportHistory(data).then((res) => { |
| | | this.loading = false; |
| | | if (res.data[0] != null) { |
| | | this.reportHistorydata = res.data; |
| | | } else { |
| | | this.reportHistorydata = []; |
| | | } |
| | | }); |
| | | reportHistory(data) |
| | | .then((res) => { |
| | | if (res.data[0] != null) { |
| | | this.reportHistorydata = res.data; |
| | | } else { |
| | | this.reportHistorydata = []; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取历史报告失败:', error); |
| | | this.$message.error('获取历史报告失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | medicalhistory() { |
| | | this.wenzhen = true; |
| | | this.hosproy = false; |
| | | this.loading = true; |
| | | this.status1 = 3; |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | getInfoById(tjNumber).then((response) => { |
| | | this.formobj = response.data; |
| | | if (this.formobj.xiyan == null) { |
| | | this.formobj.xiyan = "1"; |
| | | } |
| | | if (this.formobj.xiyanpinlv == null) { |
| | | this.formobj.xiyanpinlv = "0"; |
| | | } |
| | | if (this.formobj.xiyanyear == null) { |
| | | this.formobj.xiyanyear = "0"; |
| | | } |
| | | if (this.formobj.yinjiu == null) { |
| | | this.formobj.yinjiu = "1"; |
| | | } |
| | | if (this.formobj.yinjiupinlv == null) { |
| | | this.formobj.yinjiupinlv = "0"; |
| | | } |
| | | if (this.formobj.yinjiuyear == null) { |
| | | this.formobj.yinjiuyear = "0"; |
| | | } |
| | | }); |
| | | getInfoById(tjNumber) |
| | | .then((response) => { |
| | | this.formobj = response.data; |
| | | if (this.formobj.xiyan == null) { |
| | | this.formobj.xiyan = "1"; |
| | | } |
| | | if (this.formobj.xiyanpinlv == null) { |
| | | this.formobj.xiyanpinlv = "0"; |
| | | } |
| | | if (this.formobj.xiyanyear == null) { |
| | | this.formobj.xiyanyear = "0"; |
| | | } |
| | | if (this.formobj.yinjiu == null) { |
| | | this.formobj.yinjiu = "1"; |
| | | } |
| | | if (this.formobj.yinjiupinlv == null) { |
| | | this.formobj.yinjiupinlv = "0"; |
| | | } |
| | | if (this.formobj.yinjiuyear == null) { |
| | | this.formobj.yinjiuyear = "0"; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.error('获取职业病史失败:', error); |
| | | this.$message.error('获取职业病史失败'); |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | downLoadFileImg(row) { |
| | |
| | | |
| | | resetQuery() { |
| | | this.startTime = []; |
| | | this.resetForm("tableList"); |
| | | this.queryParams = { |
| | | page: 1, |
| | | pageSize: 10, |
| | | tjNumber: "", |
| | | beginTime: null, |
| | | endTime: null, |
| | | compId: null, |
| | | name: null, |
| | | checkStatus: null, |
| | | shys: null, |
| | | tjCategory: null |
| | | }, |
| | | this.resetForm("tableList"); |
| | | this.submitForm(); |
| | | }, |
| | | |
| | |
| | | }; |
| | | getModifiedState(data).then((res) => { |
| | | this.MsgId = res.msg; |
| | | this.isLoading = true |
| | | this.drawer = true; |
| | | getupdateCheckType(this.tjNumber).then((response) => { |
| | | this.isLoading = false |
| | | this.changedate = response.data; |
| | | if (this.changedate) { |
| | | this.changedate.forEach((item) => { |
| | |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | | this.remark = this.changedate[i].remark; |
| | | } |
| | | // 回显 zhiyeJl 和 zhiyeJg |
| | | this.zhiyeJl = this.changedate[0].zhiyejl || ''; |
| | | this.zhiyeJg = this.changedate[0].zhiyejg || '未发现目标性疾病'; |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "该客户没有体检项目数据", |
| | | }); |
| | | // 如果没有数据,清空字段 |
| | | this.zhiyeJl = ''; |
| | | this.zhiyeJg = '未发现目标性疾病'; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } else { |
| | | this.$confirm("" + this.status.name + "正在修改该信息, 是否强制进去?", "提示", { |
| | | confirmButtonText: "是", |
| | |
| | | }; |
| | | getforceIn(data).then((res) => { |
| | | this.MsgId = res.msg; |
| | | this.isLoading = true |
| | | this.drawer = true; |
| | | getupdateCheckType(this.tjNumber).then((response) => { |
| | | this.isLoading = false |
| | | this.changedate = response.data; |
| | | if (this.changedate) { |
| | | for (let i = 0; i < this.changedate.length; i++) { |
| | |
| | | this.changedate.forEach((item) => { |
| | | this.textarea1 = item.checkAdvice || ""; |
| | | }); |
| | | // 回显 zhiyeJl 和 zhiyeJg |
| | | this.zhiyeJl = this.changedate[0].zhiyejl || ''; |
| | | this.zhiyeJg = this.changedate[0].zhiyejg || '未发现目标性疾病'; |
| | | } else { |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "该客户没有体检项目数据", |
| | | }); |
| | | // 如果没有数据,清空字段 |
| | | this.zhiyeJl = ''; |
| | | this.zhiyeJg = '未发现目标性疾病'; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | |
| | | |
| | | handleClose1(done) { |
| | | this.jianqians = false; |
| | | this.wenzhen = false; |
| | | this.flags = false; |
| | | done(); |
| | | }, |
| | |
| | | tjNumber, |
| | | advice, |
| | | checkStatus: 1, |
| | | zhiyeJl: this.zhiyeJl, // 添加检查结论 |
| | | zhiyeJg: this.zhiyeJg // 添加体检结果 |
| | | }; |
| | | |
| | | console.log(this.yichangList, 6644); |
| | | |
| | | let dataList = this.yichangList |
| | | .map((item) => { |
| | | return item.sone.map((soneItem) => ({ |
| | |
| | | dw: soneItem.proAdvice, |
| | | })); |
| | | }) |
| | | .flat(); // 使用 flat() 方法将嵌套数组展平 |
| | | .flat(); |
| | | |
| | | this.loading = true; |
| | | getTjdetailList(data) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | // 清空字段 |
| | | this.zhiyeJl = ''; |
| | | this.zhiyeJg = ''; |
| | | |
| | | // 准备生成报告的请求数据 |
| | | let reportData = { |
| | | userId: this.userId, |
| | | tjNumber: tjNumber, |
| | |
| | | id: this.MsgId, |
| | | }; |
| | | |
| | | // 调用 addOrderPromise |
| | | console.log(dataList, 5555); |
| | | |
| | | addOrder(dataList) |
| | | .then((res) => { |
| | | console.log(res, 999); |
| | | if (res.code == 200) { |
| | | gettoPdf(tjNumber) |
| | | .then((res) => { |
| | |
| | | remarks, |
| | | }, |
| | | ]; |
| | | return getModified(updateOrderRemarkVos); // 返回 Promise |
| | | return getModified(updateOrderRemarkVos); |
| | | }); |
| | | |
| | | // 等待所有请求完成 |
| | | Promise.all([statePromise, ...updatePromises]) |
| | | .then(() => { |
| | | // 所有请求完成,关闭 loading |
| | | this.loading = false; |
| | | // 更新分页信息 |
| | | this.queryParams.page = 1; |
| | | this.queryParams.pageSize = 10; |
| | | this.submitForm(); |
| | | this.$forceUpdate(); |
| | | }) |
| | | .catch((error) => { |
| | | // 处理错误情况 |
| | | this.loading = false; |
| | | console.error("发生错误:", error); |
| | | }); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | // 如果 addOrderPromise 失败,处理错误 |
| | | this.loading = false; |
| | | console.error("addOrderPromise 失败:", error); |
| | | }); |
| | | } else { |
| | | // 提交失败,关闭 loading |
| | | this.loading = false; |
| | | this.$modal.msgError("提交失败"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | // 提交请求失败,关闭 loading |
| | | this.loading = false; |
| | | console.error("提交请求失败:", error); |
| | | this.$modal.msgError("提交请求失败"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .section-title { |
| | | font-size: 20px; |
| | | font-weight: bold; |
| | | color: #303133; |
| | | background-color: #f5f7fa; |
| | | padding: 10px 15px; |
| | | border-left: 4px solid #409eff; |
| | | /* 左侧蓝色边条,增强视觉效果 */ |
| | | margin-bottom: 15px; |
| | | margin-top: 15px; |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .dialog-pager { |
| | | display: flex; |
| | | justify-content: center; |