| | |
| | | @blur="hb" @keyup.enter.native="submitForm"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="submitForm" style="margin-right:15px;">搜索</el-button> |
| | | <el-button size="mini" type="primary" @click="submitForm" style="margin-right: 15px">搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <template> |
| | | <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" border |
| | | :cell-class-name="myclass"> |
| | | <!-- <template slot="empty">数据正在加载中</template> --> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="160px" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" width="90px" /> |
| | | <el-table-column label="性别" align="center" prop="cusSex" width="60px"> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" /> |
| | | <el-table-column label="电话" align="center" prop="cusPhone" width="100px" /> |
| | | <el-table-column label="套餐名称" align="center" prop="pacName" width="100px" /> |
| | | <el-table-column label="体检类型" align="center" prop="tjType" width="80px" /> |
| | | <el-table-column label="登记时间" align="center" prop="tjTime" width="160px"> |
| | | </el-table-column> |
| | | <el-table-column label="登记时间" align="center" prop="tjTime" width="160px"></el-table-column> |
| | | <el-table-column label="体检时间" align="center" prop="tjTime" width="100px"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.tjTime, "{y}-{m}-{d}") }}</span> |
| | |
| | | <el-table-column label="科室" align="center" prop="hzDeptName" /> |
| | | <el-table-column label="操作" align="center" width="150px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="hadleedit(scope.row)" v-if="scope.row.hzReplyLogsList.length == 0 && |
| | | scope.row.hzDoctorId == info.userId |
| | | ">修改</el-button> |
| | | <el-button type="primary" size="mini" v-if="scope.row.hzReplyLogsList.length == 0 && |
| | | scope.row.hzDoctorId == info.userId |
| | | " @click="handledele(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" @click="hadleedit(scope.row)" v-if=" |
| | | scope.row.hzReplyLogsList.length == 0 && |
| | | scope.row.hzDoctorId == info.userId |
| | | ">修改</el-button> |
| | | <el-button type="primary" size="mini" v-if=" |
| | | scope.row.hzReplyLogsList.length == 0 && |
| | | scope.row.hzDoctorId == info.userId |
| | | " @click="handledele(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="申请时间" prop="createTime"> |
| | | <el-date-picker v-model="form.createTime" type="datetime" placeholder="选择申请时间"> |
| | | </el-date-picker> |
| | | </el-form-item> --> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px"> |
| | | <div v-for="(item, index) in hzReplyLogsList" :key="index" |
| | | style="padding-bottom: 5px; border-bottom: 1px solid black"> |
| | | <!-- <div>会诊科室:{{ item.replyDeptName }}</div> --> |
| | | <div>医生:{{ item.hzDoctorName }}</div> |
| | | <div>回复:{{ item.replyContent }}</div> |
| | | </div> |
| | |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitFormapply">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 点击右边弹出层 --> |
| | | <el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> |
| | | <div style="font-size: 14px"> |
| | | <table style=" |
| | | width: 96%; |
| | | height:70px; |
| | | height: 70px; |
| | | margin: 10px 10px; |
| | | margin-bottom:10px; |
| | | margin-bottom: 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | font-size:16px |
| | | font-size: 16px; |
| | | " cellspacing="4"> |
| | | <caption style="background-color: #f8f8f9; font-size: 18px"> |
| | | 填写{{ |
| | | tableAll.cusName |
| | | }}的体检资料 |
| | | 填写{{ tableAll.cusName }}的体检资料 |
| | | </caption> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right"> |
| | |
| | | 性别: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.cusSex == 0? "男" :tableAll.cusSex == 1?"女":"未知"}} |
| | | {{ tableAll.cusSex == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }} |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="jianqian">检前问诊</el-button> |
| | | </div> |
| | | <div style="margin: 10px 10px"> |
| | | <el-button type="primary" size="mini" @click="result">检查检验结果</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-row> |
| | | <el-col v-show="baogaoqian"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px;"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index"> |
| | | <el-table v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="150" fixed="left"> |
| | | <!-- <template slot-scope="scope"> |
| | | {{ scope.row.project.proName }} |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input type="textarea" autosize size="mini" v-model="scope.row.proResult" autocomplete="off" |
| | | placeholder="请输入检测结果" @blur="handleInputConfirm(scope.row)" @input="vale" |
| | | @focus="handleInConfirm(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位"> |
| | | <!-- <template slot-scope="scope"> |
| | | {{ scope.row.standard.company }} |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proScope" label="参考范围"> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="结果结论" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" |
| | | placeholder="请输入检测结果" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="exceptionDesc" label="是否异常" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isReturn" label="是否复诊" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.resultType" label="结果类型"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isPositive" label="重大阳性"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" |
| | | :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="150"> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input |
| | | type="textarea" |
| | | autosize |
| | | size="mini" |
| | | v-model="row.proResult" |
| | | :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event, index, $index)" |
| | | @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" |
| | | @input="vale($event, row)" |
| | | :disabled="row.project.proName === 'BMI'" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" |
| | | :disabled="scope.row.project.sfcyyc === 1"></el-checkbox> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc" @change="changDesc(scope.row)" |
| | | :disabled="scope.row.project.sfcyyc === 1 || scope.row.project.proName === 'BMI'"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="70"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位" width="55"> |
| | | </el-table-column> |
| | | <el-table-column label="参考范围" width="70"> |
| | | <template slot-scope="scope"> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px"> |
| | | <table style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 病种选择: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <el-select v-model="value" multiple placeholder="请选择" style="width: 100%; height: 45px" |
| | | v-if="deptAdviceList" @change="sel" filterable> |
| | | <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 主检医师: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 建议: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" style="margin-top:10px;height:37px" |
| | | >快捷建议</el-button |
| | | > |
| | | <el-button type="primary" @click="proposalChange" style="margin-top:10px;height:37px" |
| | | >生成建议</el-button |
| | | > |
| | | {{ scope.row.project.proScope }} |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="结果结论" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" |
| | | placeholder="请输入结果结论" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isReturn" label="复诊" width="60px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isPositive" label="重大阳性" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="proAdvice" label="结果建议"> |
| | | <template slot-scope="scope"> |
| | | <el-popover placement="top" trigger="hover" width="400"> |
| | | <div> |
| | | {{ scope.row.proAdvice }} |
| | | </div> |
| | | <div slot="reference" class="jianyi"> |
| | | <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" |
| | | :disabled="true"></el-input> |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px" class="a"> |
| | | <table style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 病种选择: |
| | | </td> |
| | | <td @click="bzxz" style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> |
| | | </el-input> |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 主检医师: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" |
| | | :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 建议: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" |
| | | style="margin-top: 10px; height: 37px">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | style="margin-top: 10px; height: 37px">生成建议</el-button> |
| | | </div> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers1"> |
| | | <el-button type="primary" @click="determine">提 交</el-button> |
| | | </div> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers"> |
| | | <!-- <el-button type="primary" |
| | | size="mini" |
| | | @click="radioChange" |
| | | v-hasPermi="['system:notice:add']" |
| | | v-show="tjStatus == '1'" |
| | | >会诊申请</el-button> --> |
| | | <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | <!-- <template> |
| | | <div style="margin-left: 10px"> |
| | | <el-radio-group |
| | | v-model="radio" |
| | | v-for="(item, index) in Parent" |
| | | :key="index" |
| | | @input="radioChange1(item.proId, item)" |
| | | > |
| | | <el-radio-button :label="item.proId">{{ |
| | | item.proName |
| | | }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | </template> --> |
| | | |
| | | </el-col> |
| | | <el-col :span="18" v-show="baogaohou"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px;"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index"> |
| | | <el-table v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="150" fixed="left"> |
| | | <!-- <template slot-scope="scope"> |
| | | {{ scope.row.project.proName }} |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input type="textarea" autosize size="mini" v-model="scope.row.proResult" autocomplete="off" |
| | | placeholder="请输入检测结果" @blur="handleInputConfirm(scope.row)" @input="vale" |
| | | @focus="handleInConfirm(scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位"> |
| | | <!-- <template slot-scope="scope"> |
| | | {{ scope.row.standard.company }} |
| | | </template> --> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proScope" label="参考范围"> |
| | | </el-table-column> |
| | | <el-table-column prop="conclusion" label="结果结论" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="mini" type="textarea" autosize v-model="scope.row.conclusion" autocomplete="off" |
| | | placeholder="请输入检测结果" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="exceptionDesc" label="是否异常" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isReturn" label="是否复诊" width="80px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.resultType" label="结果类型"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isPositive" label="重大阳性"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" |
| | | :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="100"> |
| | | </el-table-column> |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input |
| | | type="textarea" |
| | | autosize |
| | | size="mini" |
| | | v-model="row.proResult" |
| | | :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event, index, $index)" |
| | | @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" |
| | | @input="vale($event, row)" |
| | | :disabled="row.project.proName === 'BMI'" |
| | | ></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="规则" width="70"> |
| | | <template slot-scope="scope"> |
| | | <el-button class="blue-button" @click="handleguize(scope.row)">...</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proMetering" label="单位" width="55"> |
| | | </el-table-column> |
| | | <el-table-column prop="project.proScope" label="参考范围" width="80"> |
| | | </el-table-column> |
| | | <el-table-column prop="exceptionDesc" label="异常" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.exceptionDesc" :disabled="scope.row.project.sfcyyc === 1" |
| | | @change="changDesc(scope.row)"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isReturn" label="复诊" width="55px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-checkbox v-model="scope.row.isReturn"></el-checkbox> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="isPositive" label="重大阳性" width="55"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0" |
| | | @change="checkboxchange(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="proAdvice" label="结果建议"> |
| | | <template slot-scope="scope"> |
| | | <el-popover placement="top" trigger="hover" width="400"> |
| | | <div> |
| | | {{ scope.row.proAdvice }} |
| | | </div> |
| | | <div slot="reference" class="jianyi"> |
| | | <el-input type="textarea" autosize v-model="scope.row.proAdvice" placeholder="请输入结果建议" |
| | | :disabled="true"></el-input> |
| | | </div> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px"> |
| | | <table style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 病种选择: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <el-select v-model="value" multiple placeholder="请选择" style="width: 100%; height: 45px" |
| | | v-if="deptAdviceList" @change="sel" filterable> |
| | | <el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 主检医师: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" style="margin-top:10px;height:37px" |
| | | >快捷建议</el-button |
| | | > |
| | | <el-button type="primary" @click="proposalChange" style="margin-top:10px;height:37px" |
| | | >生成建议</el-button |
| | | > |
| | | <div style="font-size: 14px; overflow-y: auto; height: 286px"> |
| | | <table style=" |
| | | width: 96%; |
| | | margin: 4px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 病种选择: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-input type="textarea" placeholder="请选择内容" v-model="titles" rows="2"> |
| | | </el-input> |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 主检医师: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList" |
| | | @change="selName" filterable> |
| | | <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" |
| | | :value="item.userId"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | </tr> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | <div style="margin: 0 0px 10px 15px"> |
| | | <el-button type="primary" @click="propoChange" |
| | | style="margin-top: 10px; height: 37px">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | style="margin-top: 10px; height: 37px">生成建议</el-button> |
| | | </div> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | "> |
| | | 建议: |
| | | </td> |
| | | <td style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " colspan="2"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers"> |
| | | <el-button type="primary" @click="determine">提 交</el-button> |
| | | </div> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | 建议: |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2"> |
| | | <el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <div slot="footer" class="dialog-footers"> |
| | | <!-- <el-button type="primary" |
| | | size="mini" |
| | | @click="radioChange" |
| | | v-hasPermi="['system:notice:add']" |
| | | v-show="tjStatus == '1'" |
| | | >会诊申请</el-button> --> |
| | | <el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | <!-- <template> |
| | | <div style="margin-left: 10px"> |
| | | <el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index" |
| | | @input="radioChange1(item.proId, item)"> |
| | | <el-radio-button :label="item.proId">{{ |
| | | item.proName |
| | | }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | </template> --> |
| | | |
| | | </el-col> |
| | | <el-col :span="6" style="margin-top: 15px"> |
| | | <Historicalreport v-show="lishi" :reportHistorydata="reportHistorydata"></Historicalreport> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);"> |
| | | <table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2" |
| | | v-for="(item, index) in proParentList.sons" :key="index"> |
| | | <tr align="center"> |
| | | <th>检测项目</th> |
| | | <th>检测结果</th> |
| | | <th>单位</th> |
| | | <th>参考范围</th> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td>{{ item.project.proName }}</td> |
| | | <td><el-input v-model="item.proResult" placeholder="请输入内容"></el-input></td> |
| | | <td>{{ item.standard.company }}</td> |
| | | <td>{{ item.standard.tjStandardGtValue + "-" + item.standard.tjStandardLtValue }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td>小结:</td> |
| | | <td> |
| | | <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width:100%"> |
| | | <el-option v-for="item in proParentList.parentAdvice" :key="item.id" :label="item.title" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | | <td>主检医师:</td> |
| | | <td>{{ item.doctorName }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td>备注:</td> |
| | | <td colspan="2"> |
| | | <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark"> |
| | | </el-input> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="determine">确 定</el-button> |
| | | </div> |
| | | </div> --> |
| | | </el-drawer> |
| | | <Public ref="aaa" :row="row" @add="handleChanges" /> |
| | | |
| | | <jianceResult ref="bbb" @add="handleChangesZt" /> |
| | | <el-dialog title="提示" :visible.sync="jianqians" width="1000px" :before-close="handleClose1"> |
| | | <jianqianwenzhen :jianqianwenzhendata="jianqianwenzhendata" v-if="flags"></jianqianwenzhen> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | </el-dialog> |
| | | <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" /> |
| | | <createproposal ref="createproposal" :creatobj="creatobj" /> |
| | | |
| | | <el-dialog title="检查检验结果" :visible.sync="openOne" width="80%"> |
| | | <div style=" |
| | | width: 100%; |
| | | margin-left: 10px; |
| | | display: flex; |
| | | justify-content: space-around; |
| | | "> |
| | | <div style="width: 44%"> |
| | | <el-table v-loading="loading" border :data="xiangmuList" height="520" ref="tab1" highlight-current-row> |
| | | <el-table-column label="科室" align="center" prop="deptName" width="100" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="项目" align="center" prop="proName" width="150" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="100"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.type == '0'" :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }"> |
| | | {{ type == 0 ? "未 检" : "在 检" }} |
| | | </span> |
| | | <span v-if="scope.row.type == '1'">已完成</span> |
| | | <span v-if="scope.row.type == '2'">弃检</span> |
| | | <span v-if="scope.row.type == '3'">延期</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" /> |
| | | <el-table-column label="操作" align="center" width="120px"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" :disabled="scope.row.type === 0 || scope.row.type === 2" |
| | | @click="queryResultone(scope.row)">结果查询</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div style="width: 44%; margin-left: 20px"> |
| | | <div style="text-align: center; background-color: #aad8df"> |
| | | {{ name || "" }} |
| | | </div> |
| | | <div class="a"> |
| | | <div v-if="jyjc == 0"> |
| | | <el-table :data="jieguoList" border :row-style="changRed" height="520" highlight-current-row |
| | | style="width: 100%" :header-cell-style="{ background: '#AAD8DF' }"> |
| | | <el-table-column label="检测项目" prop="pro_name"> |
| | | </el-table-column> |
| | | <el-table-column label="检测结果" prop="pro_result"> |
| | | </el-table-column> |
| | | <el-table-column label="参考范围" prop="ckfw"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div v-if="jyjc == 1"> |
| | | <div style="text-align: center; background-color: #aad8df"></div> |
| | | <div class="check-result-container"> |
| | | <div class="check-item"> |
| | | <div class="check-title">检查所见:</div> |
| | | <div class="check-description" :style="{ color: isRed ? 'red' : '' }"> |
| | | {{ jieguoList[0].pro_result }} |
| | | </div> |
| | | </div> |
| | | <div class="check-item"> |
| | | <div class="check-title">检查结论:</div> |
| | | <div class="check-description" :style="{ color: isRed ? 'red' : '' }"> |
| | | {{ jieguoList[0].yxzd || "暂无结论" }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="选择病种" :visible.sync="taocan" width="80%" height="700px" :close-on-click-modal="false"> |
| | | <el-tabs type="border-card" style="min-height: 538px; margin: 0 10px; width: 100%" @tab-click="handleClick" |
| | | v-model="activeNames"> |
| | | <el-tab-pane label="病种" name="first"> |
| | | <div class="tab8"> |
| | | <div class="tab3"> |
| | | <el-form @submit.native.prevent :model="queryParam1" ref="tableList" :inline="true" label-width="76px" |
| | | style="margin-top: 10px"> |
| | | <el-form-item> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="queryParam1.nr" clearable> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuerys">搜索</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table ref="multipleTable" border :data="deptAdviceList" height="430px" |
| | | @selection-change="handleSelectionChanges"> |
| | | <el-table-column type="selection" width="40"> </el-table-column> |
| | | <el-table-column prop="title" label="病种名称" align="center" width="130px"></el-table-column> |
| | | <el-table-column prop="advice" label="建议" align="center" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParam1.page" |
| | | :limit.sync="queryParam1.pageSize" @pagination="getbzlist" /> |
| | | </div> |
| | | <div class="tab4"> |
| | | <div class="tab4_txt"> |
| | | <h4>已选病种</h4> |
| | | </div> |
| | | <el-table border :data="deptAdviceList1" height="430px"> |
| | | <el-table-column prop="title" label="病种名称" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" |
| | | width="50px"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
| | | title="删除"></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="taocan = false">取 消</el-button> |
| | | <el-button type="primary" @click="queding">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import jianceResult from "@/components/jianceResult"; |
| | | import proposal from "@/components/proposal"; |
| | | import createproposal from "@/components/createproposal"; |
| | | import { getInfoById } from "@/api/hosp/history"; |
| | |
| | | getParentId, |
| | | getDeptAdvice, |
| | | reportHistory, |
| | | getAdviceByTjNumAndPro, |
| | | getXm, |
| | | } from "@/api/doctor/check"; |
| | | import { addBigPositive } from "@/api/doctor/bigPositive"; |
| | | import { addReplylog, hzHasDept } from "@/api/hosp/replylog"; |
| | | import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog"; |
| | | import { listUser } from "@/api/system/user"; |
| | | import { getlistUser } from "@/api/system/user"; |
| | | import { getChildList } from "@/api/system/dept"; |
| | | import { resultList } from "@/api/doctor/examination"; |
| | | import { selectZT } from "@/api/system/package"; |
| | | |
| | | export default { |
| | | dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"], |
| | | name: "check", |
| | | components: { Public, Historicalreport, jianqianwenzhen,createproposal,proposal }, |
| | | components: { |
| | | Public, |
| | | Historicalreport, |
| | | jianqianwenzhen, |
| | | createproposal, |
| | | proposal, |
| | | jianceResult, |
| | | }, |
| | | data() { |
| | | return { |
| | | creatobj:{}, |
| | | remakes: "", |
| | | titles: "", |
| | | type: null, |
| | | advice: "", |
| | | idss: [], |
| | | vaids: [], |
| | | vaids1: [], |
| | | activeNames: "first", |
| | | taocan: false, |
| | | creatobj: {}, |
| | | dataText: [], |
| | | propform: {}, |
| | | cusobj: {}, |
| | |
| | | jianqians: false, |
| | | selected: false, |
| | | checkval: false, |
| | | // 遮罩层 |
| | | loading: false, |
| | | open: false, |
| | | foropen: false, |
| | | dialogVisible: false, |
| | | openOne: false, |
| | | reportHistorydata: [], |
| | | url: "", |
| | | cateringList: [], |
| | |
| | | formIn: {}, |
| | | focusrow: {}, |
| | | hzlogList: [], |
| | | // proDefault: "", |
| | | // dataList: [], |
| | | rows: [], |
| | | id: [], |
| | | deptAdviceList: [], |
| | | value: [], |
| | | remark: "", //备注 |
| | | deptAdviceList1: [], |
| | | deptAdviceList2: [], |
| | | deptAdviceList3: [], |
| | | deptAdviceList4: [], |
| | | value: {}, |
| | | remark: "", |
| | | remarks: "", |
| | | // 总条数 |
| | | total: 0, |
| | | // 绑定单选按钮 |
| | | total1: 0, |
| | | tjStatus: "0", |
| | | // 抽屉打开方式 |
| | | drawer: false, |
| | | Parentcheck: {}, |
| | | // 获取抽屉列表 |
| | | drawerList: [], |
| | | // 获取信息集合 |
| | | tableList: [], |
| | | deptList: [], |
| | | jieguoList: [], |
| | | jyjc: null, |
| | | tableAll: {}, |
| | | row: {}, |
| | | info: {}, |
| | |
| | | form: { |
| | | createTime: new Date(), |
| | | }, |
| | | // 医生 |
| | | doctorName: "", |
| | | // 父项 |
| | | proName: "", |
| | | // 父项Id |
| | | proId: "", |
| | | company: "", |
| | | tjStandardGtValue: "", |
| | | // 用户表格数据 |
| | | xiangmuList: [], |
| | | name: "", |
| | | userList: null, |
| | | // 父项目列表 |
| | | curindex: {}, |
| | | Parent: [], |
| | | hzReplyLogsList: [], |
| | | hasdeptList: [], |
| | |
| | | nums: "", |
| | | proParentList: [], |
| | | tjNumber: "", |
| | | // 全部小结 |
| | | DeptadviceAll: [], |
| | | project: {}, |
| | | // 小结 |
| | | summaryList: [], |
| | | summaryAll: [], |
| | | tjOrderDetailList: [], |
| | |
| | | .toJSON() |
| | | .substr(0, 19) |
| | | .replace("T", " "), |
| | | // 查询参数 |
| | | queryParams: { |
| | | page: 1, |
| | | pageSize: 10, |
| | |
| | | type: "", |
| | | name: null, |
| | | }, |
| | | queryParam1: { |
| | | nr: null, |
| | | page: 1, |
| | | pageSize: 10, |
| | | }, |
| | | queryParam: { |
| | | page: 1, |
| | | pageSize: 1000, |
| | | |
| | | }, |
| | | rules: { |
| | | hzType: [ |
| | |
| | | this.$refs.inputName.focus(); |
| | | }); |
| | | }, |
| | | |
| | | beforeDestroy() { |
| | | if (this.timer) { |
| | | clearInterval(this.timer); |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | /** 查询用户列表 */ |
| | | getListUser() { |
| | | listUser().then( |
| | | (response) => { |
| | | this.userList = response.rows; |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | // 计算 BMI |
| | | calculateBMI(height, weight) { |
| | | if (height && weight) { |
| | | const heightInMeters = parseFloat(height) / 100; // cm 转换为 m |
| | | const weightInKg = parseFloat(weight); |
| | | const bmi = weightInKg / (heightInMeters * heightInMeters); |
| | | return bmi.toFixed(1); // 保留一位小数 |
| | | } |
| | | return ''; |
| | | }, |
| | | |
| | | getBMIStatus(row) { |
| | | const bmi = parseFloat(row.proResult); |
| | | if (isNaN(bmi) || !row.proResult) return ''; // 处理无效或空的BMI值 |
| | | if (bmi > 28) { |
| | | row.exceptionDesc = true; // 自动勾选异常复选框 |
| | | row.conclusion = '偏高'; // 设置结论 |
| | | return '偏高'; |
| | | } |
| | | if (bmi < 12) { |
| | | row.exceptionDesc = true; // 自动勾选异常复选框 |
| | | row.conclusion = '偏低'; // 设置结论 |
| | | return '偏低'; |
| | | } |
| | | row.exceptionDesc = false; // 正常范围内取消勾选 |
| | | row.conclusion = '正常'; // 设置结论 |
| | | return '正常'; |
| | | }, |
| | | |
| | | // 实时更新 BMI 并验证输入 |
| | | vale(value, row) { |
| | | console.log(3333) |
| | | if (row.project.proName === '身高' || row.project.proName === '体重') { |
| | | const heightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '身高' |
| | | ); |
| | | const weightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '体重' |
| | | ); |
| | | const bmiRow = this.proParentList.sons.find( |
| | | item => item.project.proName === 'BMI' |
| | | ); |
| | | |
| | | if (heightRow && weightRow && bmiRow) { |
| | | const height = row.project.proName === '身高' ? value : heightRow.proResult; |
| | | const weight = row.project.proName === '体重' ? value : weightRow.proResult; |
| | | const bmi = this.calculateBMI(height, weight); |
| | | bmiRow.proResult = bmi || ''; // 实时更新BMI值 |
| | | this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 |
| | | } |
| | | } |
| | | |
| | | // 现有的规则检查逻辑保持不变 |
| | | this.focusrow = row; |
| | | this.proResult = row; |
| | | const pattern3 = new RegExp("[0-9]+"); |
| | | if (row.proResult) { } |
| | | if (pattern3.test(row.proResult)) { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | tjNum: this.tableAll.tjNumber, |
| | | keyNum: this.proResult.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = res.data; |
| | | if (row.project.sfcyyc == 1) { |
| | | return; |
| | | } else { |
| | | if (res.data.length > 0) { |
| | | const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; |
| | | this.focusrow.exceptionDesc = !conditions.some((condition) => |
| | | this.autorule[0].bz.includes(condition) |
| | | ); |
| | | } else { |
| | | this.focusrow.exceptionDesc = false; |
| | | } |
| | | } |
| | | if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { |
| | | this.focusrow.proAdvice = this.autorule[0].nr; |
| | | } |
| | | this.autorule.forEach((item) => { |
| | | this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /* vale(value, row) { |
| | | if (row.project.proName === '身高' || row.project.proName === '体重') { |
| | | // 输入验证 |
| | | if (!/^\d*\.?\d*$/.test(value) || parseFloat(value) <= 0) { |
| | | this.$message.error('请输入有效的正数'); |
| | | row.proResult = ''; // 清空无效输入 |
| | | return; |
| | | } |
| | | |
| | | const heightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '身高' |
| | | ); |
| | | const weightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '体重' |
| | | ); |
| | | const bmiRow = this.proParentList.sons.find( |
| | | item => item.project.proName === 'BMI' |
| | | ); |
| | | |
| | | if (!heightRow || !weightRow || !bmiRow) { |
| | | |
| | | return; |
| | | } |
| | | |
| | | const height = row.project.proName === '身高' ? value : heightRow.proResult; |
| | | const weight = row.project.proName === '体重' ? value : weightRow.proResult; |
| | | |
| | | if (!height || !weight) { |
| | | this.$message.warning('请填写身高和体重以计算 BMI'); |
| | | bmiRow.proResult = ''; |
| | | return; |
| | | } |
| | | |
| | | const bmi = this.calculateBMI(height, weight); |
| | | bmiRow.proResult = bmi || ''; // 实时更新 BMI |
| | | } |
| | | }, |
| | | */ |
| | | // 输入确认时更新 BMI |
| | | handleInputConfirm(row) { |
| | | if (row.proResult) { |
| | | if (row.project.proName === '身高' || row.project.proName === '体重') { |
| | | const heightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '身高' |
| | | ); |
| | | const weightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '体重' |
| | | ); |
| | | const bmiRow = this.proParentList.sons.find( |
| | | item => item.project.proName === 'BMI' |
| | | ); |
| | | |
| | | if (heightRow && weightRow && bmiRow) { |
| | | const height = heightRow.proResult; |
| | | const weight = weightRow.proResult; |
| | | const bmi = this.calculateBMI(height, weight); |
| | | bmiRow.proResult = bmi || ''; |
| | | this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 |
| | | } |
| | | } |
| | | } |
| | | // 现有的规则检查逻辑保持不变 |
| | | this.focusrow = row; |
| | | this.proResult = row; |
| | | const pattern3 = new RegExp("[0-9]+"); |
| | | if (pattern3.test(row.proResult)) { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | tjNum: this.tableAll.tjNumber, |
| | | keyNum: this.proResult.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = res.data; |
| | | if (row.project.sfcyyc == 1) { |
| | | return; |
| | | } else { |
| | | if (res.data.length > 0) { |
| | | const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; |
| | | this.focusrow.exceptionDesc = !conditions.some((condition) => |
| | | this.autorule[0].bz.includes(condition) |
| | | ); |
| | | } else { |
| | | this.focusrow.exceptionDesc = false; |
| | | } |
| | | } |
| | | if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { |
| | | this.focusrow.proAdvice = this.autorule[0].nr; |
| | | } |
| | | this.autorule.forEach((item) => { |
| | | this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | this.rows.push(row); |
| | | }, |
| | | /* handleInputConfirm(row, params) { |
| | | console.log(row, params, 55555); |
| | | // 如果有 params 且为空,取消异常状态并清空相关字段 |
| | | if (params && params.length === 0) { |
| | | row.exceptionDesc = false; |
| | | row.proResult = ""; |
| | | row.conclusion = ""; |
| | | row.proAdvice = ""; |
| | | row.rulesList = []; |
| | | return; |
| | | } |
| | | |
| | | // 处理 BMI 计算 |
| | | if (row.proResult) { |
| | | if (row.project.proName === '身高' || row.project.proName === '体重') { |
| | | const heightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '身高' |
| | | ); |
| | | const weightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '体重' |
| | | ); |
| | | const bmiRow = this.proParentList.sons.find( |
| | | item => item.project.proName === 'BMI' |
| | | ); |
| | | |
| | | if (heightRow && weightRow && bmiRow) { |
| | | const height = heightRow.proResult; |
| | | const weight = weightRow.proResult; |
| | | const bmi = this.calculateBMI(height, weight); |
| | | bmiRow.proResult = bmi || ''; |
| | | this.getBMIStatus(bmiRow); // 检查BMI状态并更新异常复选框 |
| | | } |
| | | } |
| | | |
| | | this.focusrow = row; |
| | | this.proResult = row; |
| | | const pattern3 = new RegExp("[0-9]+"); |
| | | if (pattern3.test(row.proResult)) { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | tjNum: this.tableAll.tjNumber, |
| | | keyNum: this.proResult.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = res.data; |
| | | if (row.project.sfcyyc == 1) { |
| | | return; |
| | | } else { |
| | | if (res.data.length > 0) { |
| | | const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; |
| | | this.focusrow.exceptionDesc = !conditions.some((condition) => |
| | | this.autorule[0].bz.includes(condition) |
| | | ); |
| | | } else { |
| | | this.focusrow.exceptionDesc = false; |
| | | } |
| | | } |
| | | |
| | | if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { |
| | | this.focusrow.proAdvice = this.autorule[0].nr; |
| | | } |
| | | this.autorule.forEach((item) => { |
| | | this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | keyWord: this.proResult.proResult, |
| | | tjNum: this.tableAll.tjNumber, |
| | | keyNum: this.proResult.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = res.data; |
| | | if (row.project.sfcyyc == 1) { |
| | | return; |
| | | } else { |
| | | if (res.data.length > 0) { |
| | | const conditions = ["正常", "未见异常", "阴性", "未见明显异常"]; |
| | | this.focusrow.exceptionDesc = !conditions.some((condition) => |
| | | this.autorule[0].bz.includes(condition) |
| | | ); |
| | | } else { |
| | | this.focusrow.exceptionDesc = false; |
| | | } |
| | | } |
| | | if (this.autorule.length !== 0 && (this.autorule[0] || this.autorule[0].nr)) { |
| | | this.focusrow.proAdvice = this.autorule[0].nr; |
| | | } |
| | | this.autorule.forEach((item) => { |
| | | this.focusrow.conclusion += this.focusrow.conclusion ? item.bz : item.bz; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | ); |
| | | |
| | | // 将当前行添加到 rows 中 |
| | | this.rows.push(row); |
| | | console.log(this.rows, row); |
| | | } |
| | | }, */ |
| | | |
| | | // 初始化数据时计算 BMI |
| | | getParentIdsss() { |
| | | let data = { |
| | | tjNumber: this.tjNumber, |
| | | proParentId: this.nums, |
| | | }; |
| | | getParentId(data).then((response) => { |
| | | if (response.data != {}) { |
| | | this.proParentList = response.data; |
| | | const heightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '身高' |
| | | ); |
| | | const weightRow = this.proParentList.sons.find( |
| | | item => item.project.proName === '体重' |
| | | ); |
| | | const bmiRow = this.proParentList.sons.find( |
| | | item => item.project.proName === 'BMI' |
| | | ); |
| | | if (heightRow && weightRow && bmiRow) { |
| | | const bmi = this.calculateBMI(heightRow.proResult, weightRow.proResult); |
| | | bmiRow.proResult = bmi || ''; |
| | | } else { |
| | | // this.$message.error('缺少身高、体重或 BMI 项目'); |
| | | } |
| | | this.proParentList.xiaoJie.forEach((item) => { |
| | | this.titles += item.title + ","; |
| | | }); |
| | | } |
| | | |
| | | this.loading = false; |
| | | this.value = []; |
| | | if (this.proParentList.xiaoJieIds != null) { |
| | | if (this.proParentList.xiaoJieIds.length != 0) { |
| | | this.proParentList.xiaoJieIds.forEach((item2) => { |
| | | let item = Number(item2); |
| | | this.value.push(item); |
| | | }); |
| | | } |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | } |
| | | }); |
| | | } |
| | | if (item.isReturn == 1) item.isReturn = true; |
| | | if (item.isReturn == 0) item.isReturn = false; |
| | | if (item.exceptionDesc == "1") item.exceptionDesc = true; |
| | | if (item.exceptionDesc == "0" || item.project.sfcyyc == 1) item.exceptionDesc = false; |
| | | }); |
| | | if (this.proParentList.xiaoJie && this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === this.nums) { |
| | | this.proParentList.remark = item3.remark; |
| | | } |
| | | }); |
| | | } else { |
| | | this.proParentList.remark = ""; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleFocus(row) { |
| | | this.autorule = []; |
| | | if (!row.resultType || row.resultType == 2) { |
| | | return; |
| | | } else { |
| | | this.curindex = row; |
| | | selectZT({ |
| | | proId: row.proId, |
| | | }).then((res) => { |
| | | if (res.data.length > 0) { |
| | | this.$refs.bbb.title = "选择检测结果"; |
| | | this.$refs.bbb.open = true; |
| | | this.$refs.bbb.getList(this.curindex); |
| | | } else { |
| | | this.$refs.bbb.open = false; |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | handleChangesZt(params) { |
| | | this.curindex.proResult = params.map((item) => item.ruleStr).join(","); |
| | | this.handleInputConfirm(this.curindex, params); |
| | | }, |
| | | |
| | | handleChanges(param1, param2) { |
| | | this.row.conclusion = param1; |
| | | this.row.rulesList = param2; |
| | | }, |
| | | |
| | | handleguize(row) { |
| | | this.row = row; |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.title = "诊断结果结论"; |
| | | this.$refs.aaa.getList(this.row); |
| | | }, |
| | | |
| | | tableRowClassName({ row }) { |
| | | if (row.exceptionDesc) return "warning-row"; |
| | | return ""; |
| | | }, |
| | | |
| | | getbzlist() { |
| | | this.loading = true; |
| | | getDeptAdvice(this.queryParam1).then((response) => { |
| | | if (response.data.list) { |
| | | this.deptAdviceList = response.data.list; |
| | | this.loading = false; |
| | | } |
| | | this.total1 = response.data.total; |
| | | }); |
| | | }, |
| | | |
| | | handleQuerys() { |
| | | this.queryParam1.page = 1; |
| | | this.getbzlist(); |
| | | }, |
| | | |
| | | bzxz() { |
| | | this.taocan = true; |
| | | let data = { proId: this.proId, tjNum: this.tableAll.tjNumber }; |
| | | getAdviceByTjNumAndPro(data).then((res) => { |
| | | if (res.data) { |
| | | this.deptAdviceList3 = res.data; |
| | | this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))]; |
| | | this.deptAdviceList3.forEach((items) => { |
| | | this.idss.push(items.id); |
| | | this.remakes += items.advice + ","; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | result() { |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | getXm(tjNumber).then((res) => { |
| | | this.xiangmuList = res.data; |
| | | if (this.xiangmuList.length > 0) this.openOne = true; |
| | | else { |
| | | this.openOne = false; |
| | | this.$modal.msgWarning("暂无项目与检查检验结果"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | queryResultone(row) { |
| | | const tjNum = this.tableAll.tjNumber; |
| | | const proId = row.proId; |
| | | resultList(tjNum, proId).then((res) => { |
| | | this.jieguoList = res.data; |
| | | this.jyjc = this.jieguoList[0].jyjc; |
| | | const ycbz = this.jieguoList[0].ycbz; |
| | | this.isRed = ycbz === "1"; |
| | | if (res.data.length > 0) { |
| | | this.drawer = true; |
| | | this.$nextTick(() => this.initInputDOM()); |
| | | } else { |
| | | this.$message.warning("该项目没有结果"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | changRed({ row }) { |
| | | if (row.ycbz === "1") return { color: "red" }; |
| | | }, |
| | | |
| | | handleDelete(row) { |
| | | this.deptAdviceList1.forEach((item, index) => { |
| | | if (item.id == row.id) this.deptAdviceList1.splice(index, 1); |
| | | }); |
| | | }, |
| | | |
| | | handleSelectionChanges(selection) { |
| | | this.deptAdviceList2 = this.deptAdviceList1; |
| | | if (selection.length > 1) { |
| | | const del_row = selection.shift(); |
| | | this.$refs.multipleTable.toggleRowSelection(del_row, false); |
| | | } |
| | | selection.forEach((item) => this.deptAdviceList2.push(item)); |
| | | this.deptAdviceList1 = [...new Set(this.deptAdviceList2.concat(this.deptAdviceList3))]; |
| | | }, |
| | | |
| | | queding() { |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.remakes = ""; |
| | | this.titles = ""; |
| | | this.deptAdviceList1.forEach((item1) => { |
| | | if (this.proParentList.remark != null) { |
| | | this.titles += item1.title + ","; |
| | | this.remakes += item1.advice + ","; |
| | | this.proParentList.remark = this.proParentList.remark + this.remakes; |
| | | this.value += item1.title + ","; |
| | | this.vaids.push(item1.id); |
| | | this.vaids1 = this.vaids.concat(this.idss); |
| | | } else { |
| | | this.titles += item1.title + ","; |
| | | this.proParentList.remark = item1.advice + ","; |
| | | this.value += item1.title + ","; |
| | | this.vaids.push(item1.id); |
| | | this.vaids1 = this.vaids.concat(this.idss); |
| | | } |
| | | }); |
| | | this.taocan = false; |
| | | } else { |
| | | this.titles = ""; |
| | | this.remakes = ""; |
| | | this.deptAdviceList1.forEach((item) => { |
| | | this.titles += item.title + ","; |
| | | this.remakes += item.advice + ","; |
| | | this.vaids.push(item.id); |
| | | this.vaids1 = this.vaids.concat(this.idss); |
| | | }); |
| | | if (this.proParentList.remark != null) { |
| | | this.proParentList.remark = this.remakes + this.proParentList.remark; |
| | | } else { |
| | | this.proParentList.remark = this.remakes; |
| | | } |
| | | this.taocan = false; |
| | | } |
| | | }, |
| | | |
| | | getListUser() { |
| | | getlistUser().then((response) => { |
| | | this.userList = response.data; |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) this.doctorName = element.nickName; |
| | | }); |
| | | }); |
| | | getInfo().then((response) => { |
| | | this.info = response.user; |
| | | this.deptId = response.user.deptId; |
| | |
| | | this.nickName = response.user.nickName; |
| | | }); |
| | | }, |
| | | |
| | | handleClose() { |
| | | this.$tab.refreshPage(); |
| | | this.drawer = false; // 只关闭抽屉,不刷新页面或重置数据 |
| | | }, |
| | | |
| | | handleClose1() { |
| | | this.jianqians = false; |
| | | }, |
| | | // 获取医生 |
| | | |
| | | selName(val) { |
| | | this.doctorName = val; |
| | | // this.userList.forEach(item =>{ |
| | | // if(val === item.userId){ |
| | | // this.doctorName = item.nickName |
| | | // } |
| | | // }) |
| | | }, |
| | | |
| | | changDesc(item) { |
| | | item.conclusion = item.exceptionDesc ? "异常" : "正常"; |
| | | }, |
| | | |
| | | myclass(row, column, rowIndex, columnIndex) { |
| | | if (row.row.isPositive == 1) { |
| | | return "setclass"; |
| | | } |
| | | if (row.row.isPositive == 1) return "setclass"; |
| | | }, |
| | | // 小结获取备注 |
| | | |
| | | sel(val) { |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | // this.proParentList.remark = ""; |
| | | this.deptAdviceList.forEach((item) => { |
| | | this.ids = item.id; |
| | | val.forEach((item1) => { |
| | | if ( |
| | | item1 === item.id && |
| | | !this.proParentList.remark.includes(item.title) |
| | | ) { |
| | | if (this.proParentList.remark) { |
| | | this.proParentList.remark += item.title + ","; |
| | | } else { |
| | | this.proParentList.remark = item.title + ","; |
| | | } |
| | | if (item1 === item.id && !this.proParentList.remark.includes(item.title)) { |
| | | this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ","; |
| | | } |
| | | }); |
| | | }); |
| | |
| | | this.deptAdviceList.forEach((item) => { |
| | | this.ids = item.id; |
| | | val.forEach((item1) => { |
| | | if ( |
| | | item1 === item.id && |
| | | !this.proParentList.remark.includes(item.title) |
| | | ) { |
| | | if (this.proParentList.remark) { |
| | | this.proParentList.remark += item.title + ","; |
| | | } else { |
| | | this.proParentList.remark = item.title + ","; |
| | | } |
| | | if (item1 === item.id && !this.proParentList.remark.includes(item.title)) { |
| | | this.proParentList.remark = this.proParentList.remark ? this.proParentList.remark + item.title + "," : item.title + ","; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | vale(datas) { |
| | | this.proResult = datas; |
| | | var pattern3 = new RegExp("[0-9]+"); |
| | | if (pattern3.test(this.proResult)) { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | keyNum: this.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = this.autorule; |
| | | this.autorule.forEach((item) => { |
| | | if (this.focusrow.conclusion) { |
| | | this.focusrow.conclusion += item.bingzhong; |
| | | } else { |
| | | this.focusrow.conclusion = item.bingzhong; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | let data = { |
| | | proId: this.focusrow.proId, |
| | | cusId: this.tableAll.cusId, |
| | | keyWord: this.proResult, |
| | | }; |
| | | AutoGetRule(data).then((res) => { |
| | | this.focusrow.conclusion = ""; |
| | | if (res.data) { |
| | | this.autorule = res.data; |
| | | this.focusrow.rulesList = this.autorule; |
| | | this.autorule.forEach((item) => { |
| | | if (this.focusrow.conclusion) { |
| | | this.focusrow.conclusion += item.bingzhong; |
| | | } else { |
| | | this.focusrow.conclusion = item.bingzhong; |
| | | } |
| | | }); |
| | | initInputDOM() { |
| | | const inputDoms = document.querySelectorAll('.el-input__inner'); |
| | | inputDoms.forEach((item, index) => item.setAttribute('data-index', index)); |
| | | this.inputDoms = inputDoms; |
| | | }, |
| | | |
| | | keyInputConfirm(event, index, currentRowIndex) { |
| | | // 阻止默认回车行为,比如提交表单 |
| | | event.preventDefault(); |
| | | event.stopPropagation(); |
| | | const nextRowIndex = currentRowIndex + 1; // 计算下一行索引 |
| | | // 如果下一行存在,则聚焦该行的输入框 |
| | | if (nextRowIndex < this.proParentList.sons.length) { |
| | | this.$nextTick(() => { |
| | | const nextInputRef = `input-item${index}-row${nextRowIndex}`; |
| | | const nextInput = this.$refs[nextInputRef]; |
| | | if (nextInput) { |
| | | // 处理 ref 可能为数组的情况(如动态渲染) |
| | | const target = Array.isArray(nextInput) ? nextInput[0] : nextInput; |
| | | target.focus(); // 聚焦输入框 |
| | | // target.select(); // 可选:选中文本 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // this.$refs.aaa.open = true; |
| | | // this.$refs.aaa.getList(); |
| | | }, |
| | | // 规则 |
| | | handleguize(row) { |
| | | this.row = row; |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.title = "诊断结果结论"; |
| | | this.$refs.aaa.getList(this.row); |
| | | }, |
| | | |
| | | handleChanges(param1, param2) { |
| | | this.row.conclusion = param1; |
| | | this.row.rulesList = param2; |
| | | }, |
| | | |
| | | getList() { |
| | |
| | | if (response.code == 200) { |
| | | this.loading = false; |
| | | if (response.data) { |
| | | if (response.data.date) { |
| | | this.tableList = response.data.date; |
| | | } else { |
| | | this.tableList = response.data.customers; |
| | | } |
| | | this.tableList = response.data.date || response.data.customers || []; |
| | | this.total = response.data.total; |
| | | } else { |
| | | this.tableList = []; |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 单选按钮 |
| | | radioChange(val) { |
| | | this.queryParams.type = val; |
| | | this.loading = true; |
| | | getProList(this.queryParams).then((response) => { |
| | | if (response.code == 200) { |
| | | this.loading = false; |
| | | if (response.data) { |
| | | this.tableList = response.data.date; |
| | | this.total = response.data.total; |
| | | } else { |
| | | this.tableList = []; |
| | | } |
| | | this.tableList = response.data.date || response.data.customers || []; |
| | | this.total = response.data.total; |
| | | } else { |
| | | this.tableList = []; |
| | | } |
| | | }); |
| | | }, |
| | | hb() { |
| | | if (this.queryParams.tjNumber != "") { |
| | | this.submitForm(); |
| | | } |
| | | }, |
| | | |
| | | hb() {}, |
| | | |
| | | propoChange() { |
| | | this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 }; |
| | | this.$refs.proposal.open = true; |
| | | this.$refs.proposal.title = "建议方案"; |
| | | // this.$refs.proposal.getList(); |
| | | }, |
| | | |
| | | eventchange(data) { |
| | | this.dataText = data |
| | | data.forEach((item) => { |
| | | this.proParentList.remark += item.advice; |
| | | }); |
| | | this.dataText = data; |
| | | data.forEach((item) => this.proParentList.remark += item.advice); |
| | | }, |
| | | |
| | | proposalChange() { |
| | | if (this.proParentList.remark) { |
| | | this.creatobj = {proParentList:this.proParentList.remark, isZj: 1} |
| | | this.creatobj = { proParentList: this.proParentList.remark, isZj: 1 }; |
| | | this.$refs.createproposal.open = true; |
| | | this.$refs.createproposal.title = "常用建议维护"; |
| | | }else{ |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "请先填写总检建议", |
| | | }); |
| | | } else { |
| | | this.$message({ type: "warning", message: "请先填写总检建议" }); |
| | | } |
| | | }, |
| | | |
| | | // 搜索 |
| | | submitForm() { |
| | | this.queryParams.page = 1; |
| | | this.loading = true; |
| | |
| | | getProList(this.queryParams).then((response) => { |
| | | if (response.code == 200) { |
| | | this.loading = false; |
| | | if (response.data) { |
| | | if (response.data.date) { |
| | | this.tableList = response.data.date; |
| | | this.queryParams.tjNumber = "" |
| | | } else { |
| | | this.tableList = response.data.customers; |
| | | this.queryParams.tjNumber = "" |
| | | } |
| | | this.total = response.data.total; |
| | | } else { |
| | | this.tableList = []; |
| | | } |
| | | this.tableList = response.data.date || response.data.customers || []; |
| | | this.total = response.data.total; |
| | | this.queryParams.tjNumber = ""; |
| | | } else { |
| | | this.tableList = []; |
| | | } |
| | | }); |
| | | |
| | | |
| | | // this.loading = true; |
| | | // (this.queryParams = { |
| | | // page: 1, |
| | | // pageSize: 10, |
| | | // tjNumber: this.queryParams.tjNumber, |
| | | // name: this.queryParams.name, |
| | | // }), |
| | | // getProList(this.queryParams).then((response) => { |
| | | // if (response.data) { |
| | | // if (response.data.customers) { |
| | | // this.tableList = response.data.customers; |
| | | // this.loading = false; |
| | | // this.tableList.forEach((item) => { |
| | | // this.tjStatus = item.tjStatus; |
| | | // }); |
| | | // } else { |
| | | // this.tableList = response.data.customers; |
| | | // this.tableList.forEach((item) => { |
| | | // this.tjStatus = item.tjStatus; |
| | | // }); |
| | | // } |
| | | // this.total = response.data.total; |
| | | // } else { |
| | | // this.tableList = []; |
| | | // } |
| | | // }); |
| | | }, |
| | | // 重置 |
| | | |
| | | resetQuery() { |
| | | this.resetForm("tableList"); |
| | | this.submitForm(); |
| | | this.$nextTick(() => { |
| | | this.$refs.inputName.focus(); |
| | | }); |
| | | this.$nextTick(() => this.$refs.inputName.focus()); |
| | | }, |
| | | |
| | | Changeapplyfor(row) { |
| | | this.open = true; |
| | | this.form = row; |
| | | this.form.hzDoctorId = this.info.userId; |
| | | getChildList().then((res) => { |
| | | this.deptList = res.data; |
| | | }); |
| | | getChildList().then((res) => this.deptList = res.data); |
| | | this.Hzlog(this.form.tjNumber); |
| | | }, |
| | | |
| | |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | submitcheckval() { |
| | | addBigPositive(this.formIn).then((res) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | |
| | | this.checkval = false; |
| | | }); |
| | | }, |
| | | |
| | | cancell() { |
| | | this.checkval = false; |
| | | this.vals.isPositive = "0"; |
| | | }, |
| | | |
| | | Hzlog(val) { |
| | | let data = { |
| | | tjNumber: val, |
| | | }; |
| | | let data = { tjNumber: val }; |
| | | listHzlog(data).then((response) => { |
| | | this.hzlogList = response.rows; |
| | | this.hzlogList.forEach((item) => { |
| | | item.hzDeptName = ""; |
| | | if (item.hzType == "0") { |
| | | item.hzDeptName = "全院会诊"; |
| | | } else { |
| | | item.hzDeptName = item.hzType == "0" ? "全院会诊" : ""; |
| | | if (item.hzType != "0") { |
| | | item.hzDeptIdList.forEach((item1) => { |
| | | this.deptList.forEach((item2) => { |
| | | if (item1 == item2.deptId) { |
| | | item.hzDeptName += item2.deptName + ","; |
| | | } |
| | | if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ","; |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | handledele(row) { |
| | | this.id = []; |
| | | this.id.push(row.id); |
| | | this.id = [row.id]; |
| | | delHzlog(this.id).then((res) => { |
| | | this.$modal.msgSuccess("删除成功"); |
| | | this.Hzlog(this.form.tjNumber); |
| | |
| | | hadleedit(row) { |
| | | this.form.hzType = row.hzType; |
| | | this.form.id = row.id; |
| | | // this.form.hzDeptId = row.hzDeptNameList; |
| | | // row.hzDeptIdList.forEach(item=>{ |
| | | // console.log(item,222); |
| | | // this.deptList.forEach(items=>{ |
| | | // console.log(item,333); |
| | | // if(item == items.deptId){ |
| | | // this.form.hzDeptNameList = |
| | | // } |
| | | // }) |
| | | // }) |
| | | }, |
| | | |
| | | submitFormapply() { |
| | | let data = {}; |
| | | this.userList.forEach((item1) => { |
| | | if (this.form.hzDoctorId == item1.userId) { |
| | | this.form.hzDoctorName = item1.nickName; |
| | | } |
| | | if (this.form.hzDoctorId == item1.userId) this.form.hzDoctorName = item1.nickName; |
| | | }); |
| | | if (this.form.hzType != undefined) { |
| | | // if (this.form.hzDeptId && this.form.id) { |
| | | // console.log(111); |
| | | // // let hzDeptId = "" |
| | | // // this.form.hzDeptId.forEach(item => { |
| | | // // hzDeptId += item + ',' |
| | | // // }) |
| | | // data = { |
| | | // tjNumber: this.form.tjNumber, |
| | | // userId: this.form.cusId, |
| | | // userName: this.form.cusName, |
| | | // hzDeptIdList: this.form.hzDeptId, |
| | | // hzDoctorId: this.form.hzDoctorId, |
| | | // hzType: this.form.hzType, |
| | | // orderId: this.form.orderId, |
| | | // hzDoctorName: this.form.hzDoctorName, |
| | | // id: this.form.id, |
| | | // }; |
| | | // } else { |
| | | // console.log(222); |
| | | // data = { |
| | | // tjNumber: this.form.tjNumber, |
| | | // userId: this.form.cusId, |
| | | // userName: this.form.cusName, |
| | | // hzDoctorId: this.form.hzDoctorId, |
| | | // hzType: this.form.hzType, |
| | | // orderId: this.form.orderId, |
| | | // hzDoctorName: this.form.hzDoctorName, |
| | | // }; |
| | | // } |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | if (this.form.id != null) { |
| | |
| | | hzDoctorName: this.form.hzDoctorName, |
| | | id: this.form.id, |
| | | }; |
| | | if (this.form.hzDeptId.length != 0) { |
| | | if (this.form.hzDeptId?.length) { |
| | | addHzlog(data).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("申请成功"); |
| | |
| | | this.$modal.msgError("请选择会诊科室"); |
| | | } |
| | | }, |
| | | |
| | | cancel() { |
| | | this.open = false; |
| | | this.foropen = false; |
| | |
| | | this.foropen = true; |
| | | this.Hzlog(this.tableAll.tjNumber); |
| | | }, |
| | | |
| | | historicalreport() { |
| | | this.baogaoqian = false; |
| | | this.baogaohou = true; |
| | | this.loading = true; |
| | | let data = { |
| | | cusId: this.tableAll.cusId, |
| | | }; |
| | | let data = { cusId: this.tableAll.cusId }; |
| | | reportHistory(data).then((res) => { |
| | | this.loading = false; |
| | | if (res.data[0] != null) { |
| | | this.reportHistorydata = res.data; |
| | | } |
| | | if (this.reportHistorydata.length >= 1) { |
| | | this.lishi = true; |
| | | } else { |
| | | this.lishi = true; |
| | | this.$modal.msgError("暂无历史报告"); |
| | | } |
| | | if (res.data[0] != null) this.reportHistorydata = res.data; |
| | | this.lishi = this.reportHistorydata.length >= 1; |
| | | if (!this.lishi) this.$modal.msgError("暂无历史报告"); |
| | | }); |
| | | }, |
| | | |
| | | jianqian() { |
| | | this.flags = true; |
| | | this.jianqians = true; |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.jianqianwenzhendata.push(tjNumber); |
| | | this.jianqianwenzhendata.push(this.tableAll.tjNumber); |
| | | }, |
| | | |
| | | handlecan(row) { |
| | |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 3000); |
| | | // this.$message.msgSuccess("报告正在生成,请两分钟后预览!"); |
| | | this.$message({ |
| | | type: "warning ", |
| | | message: "报告正在生成,请两分钟后预览!!", |
| | | }); |
| | | setTimeout(() => loading.close(), 3000); |
| | | this.$message({ type: "warning", message: "报告正在生成,请两分钟后预览!" }); |
| | | } else { |
| | | this.dialogVisible = true; |
| | | |
| | | this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url |
| | | this.url = window.webkitURL.createObjectURL(response); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | submitFormreply() { |
| | | let data = { |
| | | hzId: this.allList[0].id, |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | if (selection.length > 1) { |
| | | const newRows = selection.filter((it, index) => { |
| | |
| | | return false; |
| | | } |
| | | }); |
| | | // this.allList = [] |
| | | // if(newRows[0].hzReplyLogsList){ |
| | | // this.hzReplyLogsList = newRows[0].hzReplyLogsList |
| | | // } |
| | | // console.log(this.hzReplyLogsList) |
| | | // this.allList = newRows |
| | | } else { |
| | | this.allList = []; |
| | | if (selection[0]) { |
| | | if (selection[0].hzReplyLogsList) { |
| | | this.hzReplyLogsList = selection[0].hzReplyLogsList; |
| | | } |
| | | if (selection[0].hzReplyLogsList) this.hzReplyLogsList = selection[0].hzReplyLogsList; |
| | | } else { |
| | | this.hzReplyLogsList = []; |
| | | } |
| | |
| | | } |
| | | }, |
| | | |
| | | // 点击详情 |
| | | handleClick(row) { |
| | | this.getDept(row.tjNumber); |
| | | this.loading = true; |
| | | this.drawer = true; |
| | | this.$nextTick(() => this.initInputDOM()); |
| | | this.tableAll = row; |
| | | // if (this.tableAll.cusSex === 0) { |
| | | // this.tableAll.cusSex = "男"; |
| | | // } |
| | | // if (this.tableAll.cusSex === 1) { |
| | | // this.tableAll.cusSex = "女"; |
| | | // } |
| | | // if (this.tableAll.cusSex === 2) { |
| | | // this.tableAll.cusSex = "未知"; |
| | | // } |
| | | this.tjNumber = row.tjNumber; |
| | | let num = 0; |
| | | getParentList(this.tjNumber).then((response) => { |
| | | getParentList(this.tjNumber,this.tjStatus).then((response) => { |
| | | if (response.data) { |
| | | this.loading = false; |
| | | this.Parent = response.data; |
| | | this.Parent.forEach((item) => { |
| | | if (item.type === 1) { |
| | | item.proName += " ✔"; |
| | | } |
| | | if (item.type === 1) item.proName += " ✔"; |
| | | if (num === 0) { |
| | | this.nums = item.proId; |
| | | this.radio = item.proId; |
| | | this.proId = item.proId; |
| | | // this.radioChange1(item.proId, item); |
| | | this.getParentIdsss(); |
| | | |
| | | getDeptAdvice(this.proId).then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | | this.getbzlist(); |
| | | } |
| | | num = num + 1; |
| | | }); |
| | |
| | | this.$modal.msgError("该科室下无项目!"); |
| | | } |
| | | }); |
| | | getDeptAdvice().then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | | |
| | | // getSons(this.tjNumber).then((response) => { |
| | | // response.data.forEach(item1 => { |
| | | // if (item1.parent == '肝功检查') { |
| | | // this.DeptadviceAll = item1.parentAdvices |
| | | // } |
| | | // }) |
| | | // }); |
| | | |
| | | // 获取小结 |
| | | // getDeptadvice().then((response) => { |
| | | // response.data.forEach(item => { |
| | | // this.DeptadviceAll = item |
| | | // }) |
| | | // }); |
| | | }, |
| | | |
| | | getParentIdsss() { |
| | | let data = { |
| | | tjNumber: this.tjNumber, |
| | | proParentId: this.nums, |
| | | }; |
| | | getParentId(data).then((response) => { |
| | | this.proParentList = response.data; |
| | | |
| | | this.loading = false; |
| | | this.value = []; |
| | | if (this.proParentList.xiaoJieIds != null) { |
| | | if (this.proParentList.xiaoJieIds.length != 0) { |
| | | this.proParentList.xiaoJieIds.forEach((item2) => { |
| | | let item = Number(item2); |
| | | this.value.push(item); |
| | | }); |
| | | } |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | if (item.isReturn == 1) { |
| | | item.isReturn = true; |
| | | } |
| | | if (item.isReturn == 0) { |
| | | item.isReturn = false; |
| | | } |
| | | |
| | | if (item.exceptionDesc == "1") { |
| | | item.exceptionDesc = true; |
| | | } |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === this.nums) { |
| | | this.proParentList.remark = item3.remark; |
| | | } |
| | | }); |
| | | } else { |
| | | this.proParentList.remark = ""; |
| | | } |
| | | }); |
| | | this.getbzlist(); |
| | | }, |
| | | |
| | | getDept(val) { |
| | | let data = { |
| | | tjNumber: val, |
| | | deptId: this.deptId, |
| | | }; |
| | | let data = { tjNumber: val, deptId: this.deptId }; |
| | | hzHasDept(data).then((res) => { |
| | | if (res.data) { |
| | | this.hasdeptList = res.data; |
| | | this.hasdeptList.forEach((item) => { |
| | | item.hzDeptName = ""; |
| | | if (item.hzType == "0") { |
| | | item.hzDeptName = "全院会诊"; |
| | | } else { |
| | | item.hzDeptName = item.hzType == "0" ? "全院会诊" : ""; |
| | | if (item.hzType != "0") { |
| | | item.hzDeptIdList.forEach((item1) => { |
| | | this.deptList.forEach((item2) => { |
| | | if (item1 == item2.deptId) { |
| | | item.hzDeptName += item2.deptName + ","; |
| | | } |
| | | if (item1 == item2.deptId) item.hzDeptName += item2.deptName + ","; |
| | | }); |
| | | }); |
| | | } |
| | |
| | | }, |
| | | |
| | | handleTabClick(tab, event) { |
| | | // console.log(tab, event); |
| | | // console.log(tab.name); |
| | | this.Parent.forEach(item => { |
| | | if (tab.name == item.proId) { |
| | | this.Parentcheck = item; |
| | | } |
| | | }) |
| | | this.Parent.forEach((item) => { |
| | | if (tab.name == item.proId) this.Parentcheck = item; |
| | | }); |
| | | |
| | | this.$confirm( |
| | | "检测到体检结果未提交,是否在离开该项目前提交修改?", |
| | | "确认信息", |
| | | { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "提交", |
| | | cancelButtonText: "不保存,离开", |
| | | } |
| | | ) |
| | | this.$confirm("检测到体检结果未提交,是否在离开该项目前提交修改?", "确认信息", { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "提交", |
| | | cancelButtonText: "不保存,离开", |
| | | }) |
| | | .then(() => { |
| | | // 体检号 |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.userList.forEach((item) => { |
| | | if (this.doctorName == item.nickName) { |
| | | this.doctorName = item.userId; |
| | | } |
| | | if (this.doctorName == item.nickName) this.doctorName = item.userId; |
| | | }); |
| | | this.proParentList.sons.forEach((item) => { |
| | | if (this.rows) { |
| | | this.rows.forEach((item1) => { |
| | | if (item1 === item) { |
| | | item = item1; |
| | | } |
| | | // if (item.isReturn == true) { |
| | | // item.isReturn = 1; |
| | | // } |
| | | // if (item.isReturn == false) { |
| | | // item.isReturn = 0; |
| | | // } |
| | | if (item1 === item) item = item1; |
| | | }); |
| | | } |
| | | this.tjOrderDetail.push({ |
| | | proAdvice: item.proAdvice, |
| | | proName: item.project.proName, |
| | | proId: item.project.proId, |
| | | orderDetailId: item.orderDetailId, |
| | |
| | | }); |
| | | }); |
| | | |
| | | var data = [ |
| | | { |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, // 备注 |
| | | proName: this.proName, //父项 |
| | | summaryList: this.value, //小结 |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }, |
| | | ]; |
| | | getaddRemark(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | }); |
| | | this.proName = item.proName; |
| | | this.nums = tab.name; |
| | | this.proId = tab.name; |
| | | var data = { |
| | | tjNumber: this.tjNumber, |
| | | proParentId: this.nums, |
| | | }; |
| | | getParentId(data).then((response) => { |
| | | this.proParentList = response.data; |
| | | this.value = []; |
| | | if (this.proParentList.xiaoJieIds != null) { |
| | | if (this.proParentList.xiaoJieIds.length != 0) { |
| | | this.proParentList.xiaoJieIds.forEach((item2) => { |
| | | let item = Number(item2); |
| | | this.value.push(item); |
| | | }); |
| | | } |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | } |
| | | }); |
| | | } |
| | | if (item.isReturn == 1) { |
| | | item.isReturn = true; |
| | | } |
| | | if (item.isReturn == 0) { |
| | | item.isReturn = false; |
| | | } |
| | | |
| | | if (item.exceptionDesc == "1") { |
| | | item.exceptionDesc = true; |
| | | } |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === tab.name) { |
| | | this.remark = this.Parentcheck.remark; |
| | | } |
| | | }); |
| | | } else { |
| | | this.remark = ""; |
| | | } |
| | | }); |
| | | |
| | | getDeptAdvice(this.proId).then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | | }) |
| | | .catch((action) => { |
| | | if(action === "cancel"){ |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "放弃保存并离开", |
| | | }); |
| | | } |
| | | |
| | | var data = [{ |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, |
| | | proName: this.proName, |
| | | summaryList: this.value, |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }]; |
| | | getaddRemark(data).then((res) => this.$modal.msgSuccess("提交成功")); |
| | | this.proName = this.Parentcheck.proName; |
| | | this.nums = tab.name; |
| | | this.proId = tab.name; |
| | | let data = { |
| | | tjNumber: this.tjNumber, |
| | | proParentId: this.nums, |
| | | }; |
| | | getParentId(data).then((response) => { |
| | | this.proParentList = response.data; |
| | | this.value = []; |
| | | if (this.proParentList.xiaoJieIds != null) { |
| | | if (this.proParentList.xiaoJieIds.length != 0) { |
| | | this.proParentList.xiaoJieIds.forEach((item2) => { |
| | | let item = Number(item2); |
| | | this.value.push(item); |
| | | }); |
| | | } |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | } |
| | | }); |
| | | } |
| | | if (item.isReturn == 1) { |
| | | item.isReturn = true; |
| | | } |
| | | if (item.isReturn == 0) { |
| | | item.isReturn = false; |
| | | } |
| | | |
| | | if (item.exceptionDesc == "1") { |
| | | item.exceptionDesc = true; |
| | | } |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === tab.name) { |
| | | this.remark = this.Parentcheck.remark; |
| | | } |
| | | }); |
| | | } else { |
| | | this.remark = ""; |
| | | } |
| | | }); |
| | | |
| | | getDeptAdvice(this.proId).then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // 按钮点击事件 |
| | | radioChange1(proParentId, item) { |
| | | this.Parentcheck = item; |
| | | this.$confirm( |
| | | "检测到体检结果未提交,是否在离开该项目前提交修改?", |
| | | "确认信息", |
| | | { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: "提交", |
| | | cancelButtonText: "不保存,离开", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | // 体检号 |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.userList.forEach((item) => { |
| | | if (this.doctorName == item.nickName) { |
| | | this.doctorName = item.userId; |
| | | } |
| | | }); |
| | | this.proParentList.sons.forEach((item) => { |
| | | if (this.rows) { |
| | | this.rows.forEach((item1) => { |
| | | if (item1 === item) { |
| | | item = item1; |
| | | } |
| | | // if (item.isReturn == true) { |
| | | // item.isReturn = 1; |
| | | // } |
| | | // if (item.isReturn == false) { |
| | | // item.isReturn = 0; |
| | | // } |
| | | }); |
| | | } |
| | | this.tjOrderDetail.push({ |
| | | proName: item.project.proName, |
| | | proId: item.project.proId, |
| | | orderDetailId: item.orderDetailId, |
| | | flowingWaterId: item.flowingWaterId, |
| | | proResult: item.proResult, |
| | | tjStatus: 1, |
| | | isReturn: item.isReturn === true ? 1 : 0, |
| | | exceptionDesc: item.exceptionDesc === true ? 1 : 0, |
| | | conclusion: item.conclusion, |
| | | rulesList: item.rulesList, |
| | | }); |
| | | }); |
| | | |
| | | var data = [ |
| | | { |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, // 备注 |
| | | proName: this.proName, //父项 |
| | | summaryList: this.value, //小结 |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }, |
| | | ]; |
| | | getaddRemark(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | }); |
| | | this.proName = item.proName; |
| | | this.nums = proParentId; |
| | | this.proId = proParentId; |
| | | var data = { |
| | | tjNumber: this.tjNumber, |
| | | proParentId: this.nums, |
| | | }; |
| | | getParentId(data).then((response) => { |
| | | this.proParentList = response.data; |
| | | this.value = []; |
| | | if (this.proParentList.xiaoJieIds != null) { |
| | | if (this.proParentList.xiaoJieIds.length != 0) { |
| | | this.proParentList.xiaoJieIds.forEach((item2) => { |
| | | let item = Number(item2); |
| | | this.value.push(item); |
| | | }); |
| | | } |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | } |
| | | }); |
| | | } |
| | | if (item.isReturn == 1) { |
| | | item.isReturn = true; |
| | | } |
| | | if (item.isReturn == 0) { |
| | | item.isReturn = false; |
| | | } |
| | | |
| | | if (item.exceptionDesc == "1") { |
| | | item.exceptionDesc = true; |
| | | } |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === proParentId) { |
| | | this.remark = item.remark; |
| | | } |
| | | }); |
| | | } else { |
| | | this.remark = ""; |
| | | } |
| | | }); |
| | | |
| | | getDeptAdvice(this.proId).then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | | this.getParentIdsss(); |
| | | this.getbzlist(); |
| | | }) |
| | | .catch((action) => { |
| | | if(action === "cancel"){ |
| | | this.$message({ |
| | | type: "warning", |
| | | message: "放弃保存并离开", |
| | | }); |
| | | } |
| | | this.proName = item.proName; |
| | | this.nums = proParentId; |
| | | this.proId = proParentId; |
| | | let data = { |
| | | tjNumber: this.tjNumber, |
| | | proParentId: this.nums, |
| | | }; |
| | | getParentId(data).then((response) => { |
| | | this.proParentList = response.data; |
| | | this.value = []; |
| | | if (this.proParentList.xiaoJieIds != null) { |
| | | if (this.proParentList.xiaoJieIds.length != 0) { |
| | | this.proParentList.xiaoJieIds.forEach((item2) => { |
| | | let item = Number(item2); |
| | | this.value.push(item); |
| | | }); |
| | | } |
| | | } |
| | | this.proParentList.sons.forEach((item) => { |
| | | this.doctorName = item.doctorName; |
| | | if (this.doctorName == null) { |
| | | this.userList.forEach((element) => { |
| | | const userName = this.$store.state.user.name; |
| | | if (userName == element.userName) { |
| | | this.doctorName = element.nickName; |
| | | } |
| | | }); |
| | | } |
| | | if (item.isReturn == 1) { |
| | | item.isReturn = true; |
| | | } |
| | | if (item.isReturn == 0) { |
| | | item.isReturn = false; |
| | | } |
| | | |
| | | if (item.exceptionDesc == "1") { |
| | | item.exceptionDesc = true; |
| | | } |
| | | if (item.exceptionDesc == "0") { |
| | | item.exceptionDesc = false; |
| | | } |
| | | }); |
| | | if (this.proParentList.xiaoJie.length != 0) { |
| | | this.Parent.forEach((item3) => { |
| | | if (item3.proId === proParentId) { |
| | | this.remark = item.remark; |
| | | } |
| | | }); |
| | | } else { |
| | | this.remark = ""; |
| | | } |
| | | }); |
| | | |
| | | getDeptAdvice(this.proId).then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | | if (action === "cancel") this.$message({ type: "warning", message: "放弃保存并离开" }); |
| | | this.proName = this.Parentcheck.proName; |
| | | this.nums = tab.name; |
| | | this.proId = tab.name; |
| | | this.getParentIdsss(); |
| | | this.getbzlist(); |
| | | }); |
| | | }, |
| | | handleInConfirm(row) { |
| | | this.focusrow = row; |
| | | }, |
| | | |
| | | handleInputConfirm(row) { |
| | | this.rows.push(row); |
| | | }, |
| | | // 点击确认 |
| | | determine() { |
| | | // 体检号 |
| | | this.tjOrderDetail = []; |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.userList.forEach((item) => { |
| | | if (this.doctorName == item.nickName) { |
| | | this.doctorName = item.userId; |
| | | } |
| | | if (this.doctorName == item.nickName) this.doctorName = item.userId; |
| | | }); |
| | | this.proParentList.sons.forEach((item) => { |
| | | if (this.rows) { |
| | | this.rows.forEach((item1) => { |
| | | if (item1 === item) { |
| | | item = item1; |
| | | } |
| | | // if (item.isReturn == true) { |
| | | // item.isReturn = 1; |
| | | // } |
| | | // if (item.isReturn == false) { |
| | | // item.isReturn = 0; |
| | | // } |
| | | if (item1 === item) item = item1; |
| | | }); |
| | | } |
| | | this.tjOrderDetail.push({ |
| | | proAdvice: item.proAdvice, |
| | | proName: item.project.proName, |
| | | proId: item.project.proId, |
| | | orderDetailId: item.orderDetailId, |
| | |
| | | }); |
| | | }); |
| | | |
| | | let data = [ |
| | | { |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, // 备注 |
| | | proName: this.proName, //父项 |
| | | summaryList: this.value, //小结 |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }, |
| | | ]; |
| | | let data = [{ |
| | | tjNumber, |
| | | proId: this.proId, |
| | | remark: this.proParentList.remark, |
| | | proName: this.proName, |
| | | summaryList: this.vaids1, |
| | | doctorName: this.doctorName, |
| | | tjOrderDetailList: this.tjOrderDetail, |
| | | }]; |
| | | getaddRemark(data).then((res) => { |
| | | this.$modal.msgSuccess("提交成功"); |
| | | this.rows = []; // 提交成功后清空 this.rows |
| | | this.drawer = false; |
| | | }); |
| | | this.handleClose(); |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |
| | | <style lang="scss" scoped> |
| | | .a { |
| | | position: relative; |
| | | } |
| | | |
| | | .el-table .cell { |
| | | -webkit-box-sizing: border-box; |
| | | box-sizing: border-box; |
| | |
| | | } |
| | | |
| | | .el-button--medium { |
| | | padding: 4px 14px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | |
| | | .el-message * { |
| | | color: var(--white) !important; |
| | | } |
| | | |
| | | .tab8 { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .tab3 { |
| | | width: 68%; |
| | | } |
| | | |
| | | .tab4 { |
| | | margin-top: 6px; |
| | | width: 30%; |
| | | } |
| | | |
| | | .tab4_txt { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | ::v-deep .el-table .warning-row { |
| | | background: #ffe6e6 !important; |
| | | /* 轻微的红色背景 */ |
| | | } |
| | | |
| | | ::v-deep .bgc .el-table__body tr:hover>td { |
| | | background-color: #ffe6e6 !important; |
| | | } |
| | | |
| | | ::v-deep .bgc .el-table__cell { |
| | | padding: 5px 0 !important; |
| | | } |
| | | |
| | | .jianyi { |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 2; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | cursor: pointer; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | ::v-deep .el-checkbox__input.is-checked .el-checkbox__inner { |
| | | background-color: #66cc66; |
| | | border-color: #66cc66; |
| | | } |
| | | |
| | | .dialog-footers1 { |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 63%; |
| | | transform: translateX(-50%); |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | z-index: 1000; |
| | | /* 确保按钮层级在其他内容上方 */ |
| | | width: 300px; |
| | | background-color: white; |
| | | /* 可根据需要调整背景颜色 */ |
| | | } |
| | | |
| | | /* 确保按钮之间有合适的间距 */ |
| | | .dialog-footers1 .el-button { |
| | | margin: 0 5px; |
| | | } |
| | | |
| | | .check-result-container { |
| | | // background-color: #fafafa; |
| | | padding: 20px; |
| | | border-radius: 8px; |
| | | // box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); |
| | | margin: 0 auto; |
| | | max-width: 700px; |
| | | } |
| | | |
| | | .check-item { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .check-title { |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | // margin-bottom: 8px; |
| | | } |
| | | |
| | | .check-description { |
| | | font-size: 14px; |
| | | color: #555; |
| | | /* 中灰色文字 */ |
| | | line-height: 1.6; |
| | | /* 行高,增加可读性 */ |
| | | padding: 8px 0; |
| | | /* 上下内边距 */ |
| | | } |
| | | |
| | | .check-description.no-result { |
| | | color: #bbb; |
| | | /* 如果没有结论,文字为淡灰色 */ |
| | | } |
| | | </style> |