| | |
| | | </template> |
| | | |
| | | <!-- 点击弹出框 --> |
| | | <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%" |
| | | show-close="true"> |
| | | <el-drawer custom-class="tanchu" |
| | | :visible.sync="drawer" |
| | | :before-close="handleClose" |
| | | :with-header="false" |
| | | size="100%" |
| | | :show-close="true"> |
| | | <div class="top"> |
| | | <table style=" |
| | | width: 100%; |
| | | margin: 10px 10px; |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " cellspacing="4"> |
| | | <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;" cellspacing="4"> |
| | | <caption style="background-color: #f8f8f9; font-size: 18px"> |
| | | {{ |
| | | tableAll.cusName |
| | | }}的体检资料 |
| | | {{ tableAll.cusName }}的体检资料 |
| | | </caption> |
| | | <tr style=" |
| | | border: 1px solid #dfe6ec; |
| | |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | <el-button type="primary" @click="addnew" :disabled="isdisabled">新增</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <el-button @click="jianqians = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="新增异常结果" :visible.sync="addNewDialogVisible" width="900px" :before-close="handleAddNewClose" |
| | | class="custom-dialog"> |
| | | <el-form :model="newItem" ref="newItemForm" label-width="100px" class="custom-form"> |
| | | <el-form-item label="项目分类" prop="parentName"> |
| | | <el-select v-model="newItem.parentName" placeholder="请选择项目分类" clearable filterable |
| | | @change="handleCategoryChange"> |
| | | <el-option v-for="item in projectCategories" :key="item.proId" :label="item.proName" |
| | | :value="item.proName" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="检测项目" prop="jcxm"> |
| | | <el-input v-model="newItem.jcxm" placeholder="请输入检测项目或从分类选择" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检测结果" prop="jcjg"> |
| | | <el-input v-model="newItem.jcjg" placeholder="请输入检测结果" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="参考范围" prop="ckfw"> |
| | | <el-input v-model="newItem.ckfw" placeholder="请输入参考范围" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="单位" prop="dw"> |
| | | <el-input v-model="newItem.dw" placeholder="请输入单位" clearable></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- 动态建议组 --> |
| | | <div v-for="(advice, index) in newItem.map" :key="index" class="advice-group"> |
| | | <el-form-item label="建议标题" :prop="'map.' + index + '.bt'"> |
| | | <el-input v-model="advice.bt" placeholder="请输入建议标题" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="建议内容" :prop="'map.' + index + '.nr'"> |
| | | <el-input v-model="advice.nr" type="textarea" rows="3" placeholder="请输入建议内容" resize="none"></el-input> |
| | | </el-form-item> |
| | | <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)" |
| | | style="margin-left: 100px; margin-bottom: 10px;">删除</el-button> |
| | | </div> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">添加建议</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addNewDialogVisible = false">取消</el-button> |
| | | <el-button type="primary" @click="submitNewItem">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <Packages ref="bbb" :baogao="baogao" /> |
| | | <Prescription ref="Pre" :preObj="preObj" /> |
| | | <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" /> |
| | |
| | | getModified, |
| | | isPdfOrJimu, |
| | | addOrder, |
| | | addOrder1 |
| | | } from "@/api/doctor/checkAll"; |
| | | import { getInfoById } from "@/api/hosp/history"; |
| | | import { getInfo } from "@/api/login"; |
| | |
| | | name: "checkAll", |
| | | data() { |
| | | return { |
| | | addNewDialogVisible: false, |
| | | newItem: { |
| | | parentName: '', // 项目分类,对应模板中的 parentName |
| | | jcxm: '', // 检测项目,对应模板中的 jcxm |
| | | jcjg: '', // 检测结果,对应模板中的 jcjg |
| | | ckfw: '', // 参考范围,对应模板中的 ckfw |
| | | dw: '', // 单位,对应模板中的 dw |
| | | map: [{ // 建议列表,对应模板中的动态建议组 map |
| | | bt: '', // 建议标题,对应模板中的 map[index].bt |
| | | nr: '' // 建议内容,对应模板中的 map[index].nr |
| | | }] |
| | | }, |
| | | projectCategories: [], |
| | | // 更新总检建议 |
| | | emptyAdvice: { |
| | | bt: "", |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | submitNewItem() { |
| | | const data = { |
| | | tjh: this.tableAll.tjNumber, // 体检号,从 tableAll 中获取 |
| | | parentName: this.newItem.parentName, |
| | | jcxm: this.newItem.jcxm, |
| | | jcjg: this.newItem.jcjg, |
| | | ckfw: this.newItem.ckfw, |
| | | dw: this.newItem.dw, |
| | | map: this.newItem.map, |
| | | jyjc: this.newItem.ckfw ? "0" : "1" |
| | | }; |
| | | |
| | | addOrder1(data).then((res) => { |
| | | console.log(res); |
| | | if (res.code === 200) { |
| | | this.$message.success('新增异常结果成功'); |
| | | this.addNewDialogVisible = false; |
| | | this.yichangjieguo(); |
| | | } else { |
| | | this.$message.error('新增失败'); |
| | | } |
| | | }).catch((error) => { |
| | | console.error('新增异常结果失败:', error); |
| | | this.$message.error('新增异常结果失败'); |
| | | }); |
| | | }, |
| | | addnew() { |
| | | this.newItem = { |
| | | parentName: '', |
| | | jcxm: '', |
| | | jcjg: '', |
| | | ckfw: '', |
| | | dw: '', |
| | | map: [{ bt: '', nr: '' }] |
| | | }; |
| | | this.addNewDialogVisible = true; |
| | | |
| | | cSWebGetPro(this.tjNumber).then((res) => { |
| | | console.log(res); |
| | | if (res.data && Array.isArray(res.data)) { |
| | | this.projectCategories = res.data; |
| | | } else { |
| | | this.$message.warning('未获取到项目分类数据'); |
| | | this.projectCategories = []; |
| | | } |
| | | }).catch((error) => { |
| | | console.error('获取项目分类失败:', error); |
| | | this.$message.error('获取项目分类失败'); |
| | | this.projectCategories = []; |
| | | }); |
| | | }, |
| | | |
| | | handleCategoryChange(value) { |
| | | if (value) { |
| | | this.newItem.jcxm = value; // 将选择的项目分类赋值给检测项目 |
| | | } |
| | | }, |
| | | |
| | | handleAddNewClose(done) { |
| | | // this.$confirm('确定关闭新增窗口吗?未保存的数据将丢失。') |
| | | // .then(() => done()) |
| | | // .catch(() => { }); |
| | | }, |
| | | |
| | | // 添加新的建议组 |
| | | addAdvice() { |
| | | this.newItem.map.push({ bt: '', nr: '' }); |
| | | }, |
| | | |
| | | removeAdvice(index) { |
| | | if (this.newItem.map.length > 1) { |
| | | this.newItem.map.splice(index, 1); |
| | | } else { |
| | | this.$message.warning('至少保留一组建议'); |
| | | } |
| | | }, |
| | | shanchu(row) { |
| | | shanchu({ |
| | | id: row.orderDetailId, |
| | |
| | | }, |
| | | |
| | | getRowKeys(row) { |
| | | return row.proId; |
| | | return row.orderDetailId; |
| | | }, |
| | | // 项目情况 |
| | | xiangmuqingkuang() { |
| | |
| | | ::v-deep .el-drawer { |
| | | padding: 0 0 50px; |
| | | } |
| | | |
| | | .custom-dialog { |
| | | ::v-deep .el-dialog__header { |
| | | padding: 15px 20px; |
| | | background-color: #f5f7fa; |
| | | border-bottom: 1px solid #e8ecef; |
| | | } |
| | | |
| | | ::v-deep .el-dialog__title { |
| | | font-size: 18px; |
| | | color: #303133; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | ::v-deep .el-dialog__body { |
| | | padding: 20px; // 增加内边距 |
| | | background-color: #fff; |
| | | } |
| | | |
| | | ::v-deep .el-dialog__footer { |
| | | padding: 10px 20px; |
| | | border-top: 1px solid #e8ecef; |
| | | text-align: right; |
| | | } |
| | | |
| | | .custom-form { |
| | | .advice-group { |
| | | border: 1px solid #e8ecef; |
| | | border-radius: 4px; |
| | | padding: 10px; |
| | | margin-bottom: 15px; |
| | | background-color: #f9fbfc; |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .el-button { |
| | | margin-top: 5px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |