| | |
| | | <el-button |
| | | type="success" |
| | | @click="handleConfirmAllocation" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | :loading="confirmLoading" |
| | | > |
| | | 确认分配 |
| | |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | style="width: 100%" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <div style="float: right;"> |
| | | <el-tag |
| | | :type=" |
| | | form.allocationStatus === '1' |
| | | form.allocationStatus == '1' |
| | | ? 'success' |
| | | : form.allocationStatus === '2' |
| | | : form.allocationStatus == '2' |
| | | ? 'danger' |
| | | : 'warning' |
| | | " |
| | | > |
| | | {{ |
| | | form.allocationStatus === "1" |
| | | form.allocationStatus == "1" |
| | | ? "已分配" |
| | | : form.allocationStatus === "2" |
| | | : form.allocationStatus == "2" |
| | | ? "作废" |
| | | : "未分配" |
| | | }} |
| | |
| | | v-for="dict in dict.type.sys_Organ || []" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | > |
| | | {{ dict.label }} |
| | | </el-checkbox> |
| | |
| | | <el-input |
| | | v-model="scope.row.caseno" |
| | | placeholder="分配系统编号" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="选择分配接收时间" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-input |
| | | v-model="scope.row.name" |
| | | placeholder="受体姓氏" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | clearable |
| | | v-model="scope.row.reallocationreason" |
| | | placeholder="请输入说明" |
| | | :disabled="form.allocationStatus === '1'" |
| | | :disabled="form.allocationStatus == '1'" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <span class="stat-value"> |
| | | <el-tag |
| | | :type=" |
| | | form.allocationStatus === '1' |
| | | form.allocationStatus == '1' |
| | | ? 'success' |
| | | : form.allocationStatus === '2' |
| | | : form.allocationStatus == '2' |
| | | ? 'danger' |
| | | : 'warning' |
| | | " |
| | | > |
| | | {{ |
| | | form.allocationStatus === "1" |
| | | form.allocationStatus == "1" |
| | | ? "已分配" |
| | | : form.allocationStatus === "2" |
| | | : form.allocationStatus == "2" |
| | | ? "作废" |
| | | : "未分配" |
| | | }} |
| | |
| | | :loading="saveLoading" |
| | | :disabled=" |
| | | !allocationData.serviceDonateorganList || |
| | | allocationData.serviceDonateorganList.length === 0 |
| | | allocationData.serviceDonateorganList.length == 0 |
| | | " |
| | | > |
| | | 保存分配记录 |
| | |
| | | methods: { |
| | | // 根据字典value获取label |
| | | getOrganLabel(organValue) { |
| | | const dictItem = this.organDict.find(item => item.value === organValue); |
| | | const dictItem = this.organDict.find(item => item.value == organValue); |
| | | return dictItem ? dictItem.label : organValue; |
| | | }, |
| | | |
| | |
| | | donateorganBaseinfoInfo(id); |
| | | try { |
| | | const response = await allocationList({ infoid }); |
| | | if ( |
| | | response.code === 200 && |
| | | response.data && |
| | | response.data.length > 0 |
| | | ) { |
| | | if (response.code == 200 && response.data && response.data.length > 0) { |
| | | const data = response.data[0]; |
| | | |
| | | data.allocationStatus = JSON.stringify(data.allocationStatus); |
| | | // 填充表单数据 |
| | | Object.assign(this.form, data); |
| | | // 转换附件为集合 |
| | | this.parseFilePatch(this.form.fileName); |
| | | this.parseFilePatch(this.form.fileName); |
| | | |
| | | // 初始化附件 |
| | | if (this.form.attachments) { |
| | |
| | | if (item.organname) { |
| | | const dictItem = this.organDict.find( |
| | | org => |
| | | org.label === item.organname || |
| | | org.label == item.organname || |
| | | (item.organname && item.organname.includes(org.label)) |
| | | ); |
| | | return dictItem ? dictItem.value : null; |
| | |
| | | let organName = this.getOrganLabel(organValue); |
| | | |
| | | // 如果是"其他"器官且有输入值 |
| | | if (organValue === "C01" && this.otherOrganInput) { |
| | | if (organValue == "C01" && this.otherOrganInput) { |
| | | organName = `其他(${this.otherOrganInput})`; |
| | | } |
| | | |
| | |
| | | // 医院选择变化 |
| | | handleHospitalChange(row, hospitalNo) { |
| | | const hospital = this.hospitalList.find( |
| | | item => item.hospitalNo === hospitalNo |
| | | item => item.hospitalNo == hospitalNo |
| | | ); |
| | | if (hospital) { |
| | | row.transplantHospitalName = hospital.hospitalName; |
| | |
| | | }, |
| | | // 构建 filePatch 字段 |
| | | buildFilePatch() { |
| | | if (!this.attachments || this.attachments.length === 0) { |
| | | if (!this.attachments || this.attachments.length == 0) { |
| | | return ""; |
| | | } |
| | | return JSON.stringify(this.attachments); |
| | |
| | | serviceDonateorganList: |
| | | this.allocationData.serviceDonateorganList || [] |
| | | }; |
| | | saveData.fileName=this.buildFilePatch(); |
| | | saveData.fileName = this.buildFilePatch(); |
| | | saveData.serviceDonateorganList.forEach(item => { |
| | | item.baseid = this.form.id; |
| | | item.infoid = this.form.infoid; |
| | | }); |
| | | console.log(this.form.recordstate); |
| | | this.form.recordstate = 1; |
| | | const apiMethod = this.form.id ? allocationedit : allocationadd; |
| | | const response = await apiMethod(saveData); |
| | | |
| | | if (response.code === 200) { |
| | | if (response.code == 200) { |
| | | this.$message.success("保存成功"); |
| | | if (!this.form.id && response.data && response.data.id) { |
| | | this.form.id = response.data.id; |
| | | this.$router.replace({ |
| | | query: { ...this.$route.query, id: this.form.id } |
| | | }); |
| | | if (!this.form.id && response.data) { |
| | | this.form.id = response.data; |
| | | // this.$router.replace({ |
| | | // query: { ...this.$route.query, id: this.form.id } |
| | | // }); |
| | | } |
| | | } else { |
| | | this.$message.error("保存失败:" + (response.msg || "未知错误")); |
| | |
| | | |
| | | const response = await allocationedit(saveData); |
| | | |
| | | if (response.code === 200) { |
| | | if (response.code == 200) { |
| | | this.$message.success("分配记录保存成功"); |
| | | } else { |
| | | this.$message.error( |
| | |
| | | |
| | | const response = await allocationedit(saveData); |
| | | |
| | | if (response.code === 200) { |
| | | if (response.code == 200) { |
| | | this.$message.success("器官分配已完成"); |
| | | } else { |
| | | this.$message.error( |
| | |
| | | handleAttachmentRemove(file) { |
| | | if (file.url) { |
| | | const index = this.attachments.findIndex( |
| | | item => item.path === file.url || item.fileUrl === file.url |
| | | item => item.path == file.url || item.fileUrl == file.url |
| | | ); |
| | | if (index > -1) { |
| | | this.attachments.splice(index, 1); |
| | |
| | | |
| | | /** 上传成功处理 */ |
| | | handleUploadSuccess({ file, fileList, response }) { |
| | | if (response.code === 200) { |
| | | if (response.code == 200) { |
| | | const attachmentObj = { |
| | | fileName: file.name, |
| | | path: response.fileUrl || file.url, |
| | |
| | | |
| | | /** 格式化文件大小 */ |
| | | formatFileSize(bytes) { |
| | | if (!bytes || bytes === 0) return "0 B"; |
| | | if (!bytes || bytes == 0) return "0 B"; |
| | | const k = 1024; |
| | | const sizes = ["B", "KB", "MB", "GB"]; |
| | | const i = Math.floor(Math.log(bytes) / Math.log(k)); |