| | |
| | | |
| | | <!-- 药品关联 --> |
| | | <el-row v-if="form.appltype == 6"> |
| | | <el-col :span="20"> |
| | | <el-form-item label="关联药品" prop="region"> |
| | | <el-select |
| | | v-model="medicalCodes" |
| | | @remove-tag="removeMedical" |
| | | style="width: 400px" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | :remote-method="remoteSearchMedical" |
| | | placeholder="请输入药品名称搜索" |
| | | loading-text="搜索中..." |
| | | > |
| | | <el-option |
| | | v-for="item in medicalOptions" |
| | | :key="item.id" |
| | | :label="item.itemName + ' (' + item.manufacturerName + ')'" |
| | | :value="item.itemCode" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-form-item label="关联药品" prop="region"> |
| | | <el-select |
| | | v-model="medicalCodes" |
| | | @remove-tag="removeMedical" |
| | | style="width: 400px" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | :remote-method="remoteSearchMedical" |
| | | placeholder="请输入药品名称搜索" |
| | | loading-text="搜索中..." |
| | | > |
| | | <el-option |
| | | v-for="item in medicalOptions" |
| | | :key="item.id" |
| | | :label="item.itemName + ' (' + item.manufacturerName + ')'" |
| | | :value="item.itemCode" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <div |
| | | style=" |
| | | margin-bottom: 20px; |
| | | padding: 8px 12px; |
| | | background-color: #f0f9ff; |
| | | border-left: 4px solid #409eff; |
| | | " |
| | | > |
| | | <p style="margin: 0; color: #606266; font-size: 13px"> |
| | | <i |
| | | class="el-icon-info" |
| | | style="color: #409eff; margin-right: 6px" |
| | | ></i> |
| | | 针对同一药品在多科室/病区下存在的情况,可选择性配置固定科室/病区 |
| | | </p> |
| | | </div> |
| | | <el-row :gutter="20" style="margin-top: 20px"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联科室" prop="diseaseDept"> |
| | | <el-select |
| | | v-model="diseaseDept" |
| | | style="width: 100%" |
| | | clearable |
| | | filterable |
| | | placeholder="请选择科室(可选)" |
| | | value-key="deptCode" |
| | | @change="handleDiseaseDeptChange" |
| | | > |
| | | <el-option |
| | | v-for="item in belongDepts" |
| | | :key="item.deptCode" |
| | | :label="item.deptName" |
| | | :value="item" |
| | | ></el-option> |
| | | </el-select> |
| | | <div v-if="diseaseDept" class="selected-info"> |
| | | 已选择: {{ diseaseDept.deptName }} ({{ |
| | | diseaseDept.deptCode |
| | | }}) |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联病区" prop="diseaseWard"> |
| | | <el-select |
| | | v-model="diseaseWard" |
| | | style="width: 100%" |
| | | clearable |
| | | filterable |
| | | placeholder="请选择病区(可选)" |
| | | value-key="districtCode" |
| | | @change="handleDiseaseWardChange" |
| | | > |
| | | <el-option |
| | | v-for="item in belongWards" |
| | | :key="item.districtCode" |
| | | :label="item.districtName" |
| | | :value="item" |
| | | ></el-option> |
| | | </el-select> |
| | | <div v-if="diseaseWard" class="selected-info"> |
| | | 已选择: {{ diseaseWard.districtName }} ({{ |
| | | diseaseWard.districtCode |
| | | }}) |
| | | </div> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-row> |
| | | |
| | | <!-- 科室关联 --> |
| | |
| | | taskdepthospgetsondel, |
| | | taskoperhospgetsondel, |
| | | taskdiaghospgetsondel, |
| | | taskmedicaldel, |
| | | taskdiaggetlist, |
| | | taskopergetlist, |
| | | rwztaskdepthospgetsonlist, |
| | | rwztaskdiaggetlist, |
| | | taskmedicallist, |
| | | getQtemplatelist, |
| | | } from "@/api/AiCentre/index"; |
| | | import { listMedication } from "@/api/knowledge/drug"; |
| | |
| | | this.form.patTaskRelevances = this.form.patTaskRelevances |
| | | ? this.form.patTaskRelevances |
| | | : []; |
| | | // 药品关联回显 |
| | | if (this.form.medicalCode) { |
| | | this.medicalCodes = this.form.medicalCode.split(",").filter(Boolean); |
| | | listMedication({ itemCode: this.form.medicalCode, pageNum: 1, pageSize: 200 }).then((res) => { |
| | | this.medicalOptions = res.rows || []; |
| | | }); |
| | | } |
| | | this.overallCase = this.form.patTaskRelevances.concat(); |
| | | this.checkList = this.form.preachform |
| | | ? this.form.preachform.split(",") |
| | |
| | | listDept() { |
| | | this.leavehospitaldistrictcodes = []; |
| | | this.deptcodesWards = []; |
| | | this.medicalCodes = []; |
| | | this.medicalOptions = []; |
| | | this.queryParamsdept.taskId = this.form.taskid; |
| | | |
| | | if (this.form.appltype == 5) { |
| | |
| | | }); |
| | | } |
| | | this.illnesscodes.push(item.icd10code); |
| | | }); |
| | | } |
| | | }); |
| | | // 获取关联药品 |
| | | taskmedicallist(this.queryParamsdept).then((res) => { |
| | | if (res.code == 200) { |
| | | let arr = res.rows || []; |
| | | arr.forEach((item) => { |
| | | const code = item.itemCode || item.medicalCode; |
| | | this.medicalCodes.push(code); |
| | | this.medicalOptions.push({ |
| | | ...item, |
| | | itemCode: code, |
| | | itemName: item.itemName || item.medicalName, |
| | | manufacturerName: item.manufacturerName || item.medicalCompany |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }); |
| | | }, |
| | | removeMedical(code) { |
| | | this.medicalCodes = this.medicalCodes.filter((c) => c !== code); |
| | | taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.medicalCodes = this.medicalCodes.filter((c) => c !== code); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // ---------- 患者选择 ---------- |
| | |
| | | this.form.icd10name = this.diagglist |
| | | .map((item) => item.icdname) |
| | | .join(","); |
| | | // 疾病/手术关联的科室/病区校验 |
| | | if (this.form.appltype == 3 || this.form.appltype == 4) { |
| | | // 疾病/手术/药品关联的科室/病区校验 |
| | | if (this.form.appltype == 3 || this.form.appltype == 4 || this.form.appltype == 6) { |
| | | const hasDept = this.diseaseDept?.deptCode; |
| | | const hasWard = this.diseaseWard?.districtCode; |
| | | if (!hasDept && !hasWard) { |
| | | this.$modal.msgError("当前疾病需关联科室或病区"); |
| | | this.$modal.msgError("需关联科室或病区"); |
| | | this.submitLoading = false; |
| | | return; |
| | | } |