| | |
| | | import './permission' // permission control |
| | | import { getDicts } from "@/api/system/dict/data"; |
| | | import { getConfigKey } from "@/api/system/config"; |
| | | import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels,donatebaseinfoEdit, handleTree } from "@/utils/ruoyi"; |
| | | import { parseTime, getLabelsFromString,resetForm, addDateRange, selectDictLabel, selectDictLabels,donatebaseinfoEdit, handleTree } from "@/utils/ruoyi"; |
| | | import { formatTime } from "@/utils/index"; |
| | | import dataV from '@jiaminghi/data-view';//dataV |
| | | // 分页组件 |
| | |
| | | Vue.prototype.getDicts = getDicts |
| | | Vue.prototype.getConfigKey = getConfigKey |
| | | Vue.prototype.parseTime = parseTime |
| | | Vue.prototype.getLabelsFromString = getLabelsFromString |
| | | Vue.prototype.donatebaseinfoEdit = donatebaseinfoEdit |
| | | Vue.prototype.formatTime = formatTime |
| | | Vue.prototype.resetForm = resetForm |
| | |
| | | }); |
| | | return time_str; |
| | | } |
| | | /** |
| | | * 将逗号分隔的字符串转换为对应的label字符串 |
| | | * @param {string} str - 逗号分隔的字符串,如 "2,3,1" |
| | | * @param {Array} options - 选项数组,格式: [{value: "1", label: "选项1"}, ...] |
| | | * @returns {string} - 逗号分隔的label字符串 |
| | | */ |
| | | export function getLabelsFromString(str, options) { |
| | | if (!str || !options || !Array.isArray(options)) { |
| | | return ""; |
| | | } |
| | | |
| | | // 将字符串分割为数组 |
| | | const valueArray = str |
| | | .split(",") |
| | | .map(item => item.trim()) |
| | | .filter(item => item !== ""); |
| | | |
| | | if (valueArray.length === 0) { |
| | | return ""; |
| | | } |
| | | |
| | | // 创建value到label的映射 |
| | | const valueToLabelMap = {}; |
| | | options.forEach(option => { |
| | | if (option.value !== undefined && option.label !== undefined) { |
| | | valueToLabelMap[option.value] = option.label; |
| | | } |
| | | }); |
| | | |
| | | // 获取对应的label |
| | | const labelArray = valueArray.map(value => { |
| | | return valueToLabelMap[value] || value; // 如果找不到对应label,就返回原值 |
| | | }); |
| | | |
| | | // 返回逗号分隔的label字符串 |
| | | return labelArray.join(","); |
| | | } |
| | | export function donatebaseinfoEdit(data) { |
| | | updateDonatebaseinfo(data); |
| | | } |
| | |
| | | <div slot="header" class="clearfix"> |
| | | <span class="detail-title">器官获取记录</span> |
| | | <div style="float: right;"> |
| | | <!-- <el-tag |
| | | :type="form.witnessState === 'completed' ? 'success' : 'warning'" |
| | | > |
| | | {{ form.witnessState === "completed" ? "已完成" : "进行中" }} |
| | | </el-tag> --> |
| | | |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :options="dict.type.Obtain_status" |
| | | :value="form.witnessState" |
| | | /> |
| | | </div> |
| | |
| | | <el-button |
| | | type="success" |
| | | @click="handleComplete" |
| | | :disabled="form.recordstate === 'completed'" |
| | | :loading="confirmLoading" |
| | | > |
| | | 完成利用 |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="18"> |
| | | <el-form-item align="left" label="接收单位" prop="receivingunit"> |
| | | <el-form-item |
| | | align="left" |
| | | label="接收单位" |
| | | prop="receivingunitname" |
| | | > |
| | | <el-input |
| | | v-model="form.receivingunit" |
| | | v-model="form.receivingunitname" |
| | | placeholder="请输入接收单位" |
| | | :disabled="form.isbodydonation !== '1'" |
| | | /> |
| | |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | style="width: 100%" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="登记人" prop="createBy"> |
| | | <el-input v-model="form.createBy" readonly /> |
| | | <el-input v-model="form.createBy" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | type="datetime" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | style="width: 100%" |
| | | readonly |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <div slot="header" class="clearfix"> |
| | | <span class="detail-title">器官利用记录</span> |
| | | <div style="float: right;"> |
| | | <el-tag :type="getStatusTagType(form.recordstate)"> |
| | | {{ getStatusText(form.recordstate) }} |
| | | </el-tag> |
| | | <dict-tag |
| | | :options="dict.type.utilize_statue" |
| | | :value="form.completeState" |
| | | /> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | v-for="dict in dict.type.sys_Organ || []" |
| | | :key="dict.value" |
| | | :label="dict.value" |
| | | :disabled="form.recordstate === 'completed'" |
| | | > |
| | | {{ dict.label }} |
| | | </el-checkbox> |
| | |
| | | <el-input |
| | | v-model="scope.row.name" |
| | | placeholder="请输入受者姓名" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="选择出生日期" |
| | | style="width: 100%" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | v-model="scope.row.sex" |
| | | placeholder="请选择性别" |
| | | style="width: 100%" |
| | | :disabled="form.recordstate === 'completed'" |
| | | > |
| | | <el-option label="男" value="0" /> |
| | | <el-option label="女" value="1" /> |
| | | <el-option label="男" :value="0" /> |
| | | <el-option label="女" :value="1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-input |
| | | v-model="scope.row.age" |
| | | placeholder="年龄" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | v-model="scope.row.idcardtype" |
| | | placeholder="请选择证件类型" |
| | | style="width: 100%" |
| | | :disabled="form.recordstate === 'completed'" |
| | | > |
| | | <el-option label="身份证" value="1" /> |
| | | <el-option label="护照" value="2" /> |
| | | <el-option label="军官证" value="3" /> |
| | | <el-option label="其他" value="4" /> |
| | | <el-option label="身份证" :value="1" /> |
| | | <el-option label="护照" :value="2" /> |
| | | <el-option label="军官证" :value="3" /> |
| | | <el-option label="其他" :value="4" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-input |
| | | v-model="scope.row.idcardno" |
| | | placeholder="证件号码" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-input |
| | | v-model="scope.row.hospitalname" |
| | | placeholder="请输入移植中心名称" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-input |
| | | v-model="scope.row.phone" |
| | | placeholder="联系电话" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | :rows="2" |
| | | v-model="scope.row.residenceaddress" |
| | | placeholder="请输入详细地址" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-date-picker |
| | | v-model="scope.row.transplanttime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="选择移植日期" |
| | | style="width: 100%" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-input |
| | | v-model="scope.row.transplantdoct" |
| | | placeholder="请输入移植医生" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | :rows="3" |
| | | v-model="scope.row.abandonreason" |
| | | placeholder="请输入未移植原因" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | style="width: 100%" |
| | | v-model="scope.row.transplanttime" |
| | | type="datetime" |
| | | value-format="YYYY-MM-DD HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="选择移植时间" |
| | | /> |
| | | </template> |
| | |
| | | |
| | | <el-table-column label="受者姓名" align="center" prop="name"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.name" |
| | | placeholder="受者姓名" |
| | | :disabled="form.recordstate === 'completed'" |
| | | /> |
| | | <el-input v-model="scope.row.name" placeholder="受者姓名" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | v-if="form.recordstate !== 'completed'" |
| | | v-if="form.completeState !== '3'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | FilePreviewDialog, |
| | | CaseBasicInfo |
| | | }, |
| | | dicts: ["sys_BloodType", "sys_Organ", "sys_0_1"], |
| | | dicts: ["sys_BloodType", "sys_Organ", "sys_0_1",'utilize_statue'], |
| | | data() { |
| | | return { |
| | | caseId: null, |
| | |
| | | id: undefined, |
| | | infoid: undefined, |
| | | inpatientno: "", |
| | | recordstate: "pending", |
| | | completeState: "2", |
| | | caseNo: "", |
| | | donorno: "", |
| | | treatmenthospitalname: "", |
| | |
| | | assessannex: "", |
| | | donateorgan: "", |
| | | isbodydonation: "0", |
| | | receivingunit: "", |
| | | receivingunitname: "", |
| | | createBy: "", |
| | | createTime: "", |
| | | updateBy: "", |
| | |
| | | response.data.length > 0 |
| | | ) { |
| | | const data = response.data[0]; |
| | | if (!data.completeState || data.completeState == 1) { |
| | | data.completeState = "2"; |
| | | } |
| | | // 填充表单数据 |
| | | Object.assign(this.form, data); |
| | | |
| | |
| | | ) |
| | | ? data.serviceDonatecomporganList.map(record => ({ |
| | | ...record, |
| | | transplanttime: record.transplanttime || "", |
| | | transplantstate: record.transplantstate |
| | | ? record.transplantstate.toString() |
| | | : "1" |
| | | })) |
| | | : []; |
| | | } |
| | | console.log(this.utilizationData.serviceDonatecomporganList); |
| | | |
| | | // 初始化附件 |
| | | if (this.form.assessannex) { |
| | |
| | | // 获取状态标签类型 |
| | | getStatusTagType(status) { |
| | | const typeMap = { |
| | | completed: "success", |
| | | processing: "warning", |
| | | pending: "info" |
| | | 3: "success", |
| | | 2: "warning", |
| | | 1: "info" |
| | | }; |
| | | return typeMap[status] || "info"; |
| | | }, |
| | |
| | | // 获取状态文本 |
| | | getStatusText(status) { |
| | | const textMap = { |
| | | completed: "已完成", |
| | | processing: "进行中", |
| | | pending: "待处理" |
| | | 3: "已完成", |
| | | 2: "进行中", |
| | | 1: "待处理" |
| | | }; |
| | | return textMap[status] || "未知"; |
| | | }, |
| | |
| | | }) |
| | | .then(async () => { |
| | | this.confirmLoading = true; |
| | | this.form.recordstate = "completed"; |
| | | this.form.completeState = "3"; |
| | | this.form.completetime = |
| | | this.form.completetime || |
| | | new Date() |
| | |
| | | this.$message.error( |
| | | "确认利用失败:" + (response.msg || "未知错误") |
| | | ); |
| | | this.form.recordstate = "pending"; |
| | | this.form.completeState = "2"; |
| | | this.form.completetime = ""; |
| | | } |
| | | } catch (error) { |
| | | console.error("确认利用失败:", error); |
| | | this.$message.error("确认利用失败"); |
| | | this.form.recordstate = "pending"; |
| | | this.form.completeState = "2"; |
| | | this.form.completetime = ""; |
| | | } finally { |
| | | this.confirmLoading = false; |
| | |
| | | > |
| | | <el-form-item label="住院号" prop="inpatientno"> |
| | | <el-input |
| | | v-model="queryParams.inpatientno" |
| | | v-model="queryParams.caseNo" |
| | | placeholder="请输入住院号" |
| | | clearable |
| | | style="width: 200px" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="疾病诊断" |
| | | label="接收单位" |
| | | align="center" |
| | | prop="diagnosisname" |
| | | prop="receivingunitname" |
| | | min-width="180" |
| | | show-overflow-tooltip |
| | | /> |
| | |
| | | width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="getStatusTagType(scope.row.recordstate)"> |
| | | {{ getStatusText(scope.row.recordstate) }} |
| | | </el-tag> |
| | | <dict-tag |
| | | :options="dict.type.utilize_statue" |
| | | :value="scope.row.completeState" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | @click="handleView(scope.row)" |
| | | >详情</el-button |
| | | > |
| | | <el-button |
| | | <!-- <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | >修改</el-button |
| | | > |
| | | <el-button |
| | | > --> |
| | | <!-- <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | style="color: #F56C6C" |
| | | @click="handleDelete(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | > --> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | export default { |
| | | name: "OrganUtilizationList", |
| | | components: { Pagination }, |
| | | dicts: ["sys_user_sex", "sys_BloodType"], |
| | | dicts: ["sys_user_sex", "sys_BloodType",'utilize_statue'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | |
| | | } finally { |
| | | this.loading = false; |
| | | } |
| | | }, |
| | | // 获取状态标签类型 |
| | | getStatusTagType(status) { |
| | | const typeMap = { |
| | | completed: "success", |
| | | processing: "warning", |
| | | pending: "info", |
| | | closed: "danger" |
| | | }; |
| | | return typeMap[status] || "info"; |
| | | }, |
| | | // 获取状态文本 |
| | | getStatusText(status) { |
| | | const textMap = { |
| | | completed: "已完成", |
| | | processing: "进行中", |
| | | pending: "待处理", |
| | | closed: "已关闭" |
| | | }; |
| | | return textMap[status] || "未知"; |
| | | }, |
| | | // 搜索按钮操作 |
| | | handleQuery() { |
| | |
| | | <el-table-column |
| | | label="住院号" |
| | | align="center" |
| | | prop="caseNo" |
| | | prop="inpatientno" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | label="案例编号" |
| | | align="center" |
| | | prop="caseNo" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="捐献者编号" |
| | | align="center" |
| | | prop="donorno" |
| | | width="120" |
| | | /> |
| | | /> --> |
| | | |
| | | <el-table-column label="姓名" align="center" prop="name" width="100" /> |
| | | <el-table-column |
| | | label="住院号" |
| | |
| | | <el-descriptions-item label="GCS评分">{{ |
| | | caseData.gcsScore || "-" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="传染病情况">{{ |
| | | caseData.infectious || "无" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="传染病情况" |
| | | >{{ |
| | | getLabelsFromString(caseData.infectious, dict.type.sys_Infectious) |
| | | }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item |
| | | label="传染病其他说明" |
| | | v-if="caseData.infectiousOther" |
| | |
| | | <!-- <el-descriptions-item label="部门编号">{{ |
| | | caseData.deptNo || "-" |
| | | }}</el-descriptions-item> --> |
| | | <el-descriptions-item label="上报医院">{{ |
| | | caseData.toHospital || "-" |
| | | }}</el-descriptions-item> |
| | | |
| | | </el-descriptions> |
| | | </el-card> |
| | | |
| | |
| | | <span class="section-title">上报信息</span> |
| | | </div> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="上报医院">{{ |
| | | caseData.toHospital || "-" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="报告者姓名">{{ |
| | | caseData.infoName || "-" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="报告者编号">{{ |
| | | caseData.infoNo || "-" |
| | | }}</el-descriptions-item> |
| | | |
| | | <el-descriptions-item label="报告者联系电话">{{ |
| | | caseData.reporterphone || "-" |
| | | caseData.phone || "-" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="协调员姓名">{{ |
| | | caseData.coordinatorName || "-" |
| | |
| | | default: true |
| | | } |
| | | }, |
| | | dicts: ["sys_user_sex", "sys_BloodType"], |
| | | dicts: ["sys_user_sex", "sys_BloodType",'sys_Infectious'], |
| | | data() { |
| | | return { |
| | | // 预览相关 |
| | |
| | | placeholder="请选择证件类型" |
| | | style="width: 100%" |
| | | > |
| | | <el-option label="身份证" value="1" /> |
| | | <el-option label="护照" value="2" /> |
| | | <el-option label="军官证" value="3" /> |
| | | <el-option |
| | | v-for="item in dict.type.sys_IDType" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="传染病情况" prop="infectious"> |
| | | <el-input |
| | | <el-checkbox-group v-model="editForm.infectious"> |
| | | <el-checkbox |
| | | v-for="item in dict.type.sys_Infectious" |
| | | :label="item.value" |
| | | :value="item.value" |
| | | >{{ item.label }}</el-checkbox |
| | | > |
| | | </el-checkbox-group> |
| | | <!-- <el-input |
| | | v-model="editForm.infectious" |
| | | placeholder="请输入传染病情况" |
| | | /> |
| | | /> --> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="报告者编号" prop="infoNo"> |
| | | <el-form-item label="报告者电话" prop="reporterphone"> |
| | | <el-input |
| | | v-model="editForm.infoNo" |
| | | placeholder="请输入报告者编号" |
| | | v-model="editForm.phone" |
| | | placeholder="请输入报告者联系电话" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="报告者电话" prop="reporterphone"> |
| | | <el-input |
| | | v-model="editForm.reporterphone" |
| | | placeholder="请输入报告者联系电话" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="协调员姓名" prop="coordinatorName"> |
| | | <el-input |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="协调员编号" prop="coordinatorNo"> |
| | | <el-input |
| | | v-model="editForm.coordinatorNo" |
| | | placeholder="请输入协调员编号" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="是否终止案例" prop="terminationCase"> |
| | | <el-radio-group v-model="editForm.terminationCase"> |
| | | <el-radio label="0">进行中</el-radio> |
| | | <el-radio label="1">已终止</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | UploadAttachment, |
| | | FilePreviewDialog |
| | | }, |
| | | dicts: ["sys_user_sex", "sys_BloodType"], |
| | | dicts: ["sys_user_sex", "sys_BloodType", "sys_Infectious", "sys_IDType"], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | |
| | | caseNo: [ |
| | | { required: true, message: "请输入案例编号", trigger: "blur" } |
| | | ], |
| | | name: [ |
| | | { required: true, message: "请输入患者姓名", trigger: "blur" } |
| | | ], |
| | | name: [{ required: true, message: "请输入患者姓名", trigger: "blur" }], |
| | | sex: [{ required: true, message: "请选择性别", trigger: "change" }], |
| | | age: [{ required: true, message: "请输入年龄", trigger: "blur" }], |
| | | diagnosisname: [ |
| | |
| | | // 根据转运单状态显示不同颜色 |
| | | const transport = row.serviceTransport[0]; |
| | | if (transport.transitStatus) { |
| | | return "primary"; // 有转运信息但无状态 |
| | | return "primary"; // 有转运信息但无状态 |
| | | } |
| | | return "primary"; // 有转运信息但无状态 |
| | | } |
| | |
| | | |
| | | this.currentCase = data; |
| | | this.editForm = { ...data }; |
| | | this.editForm.idcardtype = this.editForm.idcardtype.toString(); |
| | | console.log(this.editForm.idcardtype); |
| | | this.editForm.infectious = this.editForm.infectious |
| | | .split(",") |
| | | .filter(item => item.trim() !== ""); |
| | | |
| | | this.editOpen = true; |
| | | this.$nextTick(() => { |
| | | this.$refs.editForm && this.$refs.editForm.clearValidate(); |
| | |
| | | this.saveLoading = true; |
| | | |
| | | const requestData = { ...this.editForm }; |
| | | requestData.infectious = requestData.infectious.join(","); |
| | | let response; |
| | | |
| | | if (this.isEditing) { |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <el-table-column |
| | | label="住院号" |
| | | align="center" |
| | | prop="caseNo" |
| | | prop="inpatientno" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | |
| | | if (Array.isArray(response.data)) { |
| | | // 如果返回的是数组 |
| | | this.assessmentList = response.data; |
| | | this.total = response.data.length; |
| | | this.total = response.total; |
| | | } else if (response.data.rows) { |
| | | // 如果返回的是分页数据结构 |
| | | this.assessmentList = response.data.rows; |
| | | this.total = response.data.total; |
| | | this.total = response.total; |
| | | } else if (Array.isArray(response.data.list)) { |
| | | // 如果返回的是list字段 |
| | | this.assessmentList = response.data.list; |
| | | this.total = response.data.total || response.data.list.length; |
| | | this.total = response.total || response.data.list.length; |
| | | } else { |
| | | // 其他数据结构,尝试直接使用data |
| | | this.assessmentList = response.data; |
| | | this.total = response.total || response.data.length; |
| | | this.total = response.total || response.total; |
| | | } |
| | | } else { |
| | | // 如果data为空,使用根级别的rows或list |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getDonatebaseinfoflow } from "@/api/project/donatebaseinfo"; |
| | | import { getDonationProcessDetail } from "./donationProcess"; |
| | | import DonorMaintenanceStage from "./components/DonorMaintenanceStage"; |
| | | import MedicalAssessmentStage from "./components/MedicalAssessmentStage"; |
| | |
| | | data() { |
| | | return { |
| | | caseId: null, |
| | | infoid:null, |
| | | caseInfo: { |
| | | id: "", |
| | | caseNo: "", |
| | |
| | | computed: {}, |
| | | created() { |
| | | this.caseId = this.$route.query.id; |
| | | console.log(this.caseId, "this.caseId"); |
| | | this.infoid = this.$route.query.id; |
| | | |
| | | if (this.caseId) { |
| | | this.getDetail(); |
| | |
| | | async getDetail() { |
| | | this.loading = true; |
| | | try { |
| | | const response = await getDonationProcessDetail(this.caseId); |
| | | const response = await getDonatebaseinfoflow(this.caseId); |
| | | if (response.code === 200) { |
| | | this.caseInfo = response.data.caseInfo; |
| | | this.processStages = response.data.processStages; |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | label="案例编号" |
| | | align="center" |
| | | prop="caseNo" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="捐献者编号" |
| | | /> --> |
| | | <el-table-column |
| | | label="住院号" |
| | | align="center" |
| | | prop="donorno" |
| | | prop="inpatientno" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | |
| | | width="150" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="住院号" |
| | | align="center" |
| | | prop="inpatientno" |
| | | width="120" |
| | | /> |
| | | |
| | | <!-- <el-table-column |
| | | label="记录状态" |
| | | align="center" |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <!-- <el-col :span="11"> |
| | | <el-form-item label="捐献者编号" prop="donorno"> |
| | | <el-input |
| | | v-model="formData.donorno" |
| | | placeholder="请输入捐献者编号" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-col> --> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="上报医院" prop="treatmenthospitalname"> |
| | | <el-input |
| | | v-model="formData.treatmenthospitalname" |
| | | placeholder="请输入上报医院" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | |
| | | <!-- 医疗信息部分 --> |
| | | <el-card header="医疗信息" class="form-section"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="首诊医院" prop="treatmenthospitalno"> |
| | | <org-selecter |
| | | :org-type="'3'" |
| | | v-model="formData.treatmenthospitalno" |
| | | @change="handleHospitalChange" |
| | | <el-form-item label="当前医院" prop="Reporttothehospital"> |
| | | <el-input |
| | | v-model="formData.Reporttothehospital" |
| | | placeholder="请输入上报医院" |
| | | /> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="科室" prop="treatmentdeptname"> |
| | | <el-form-item label="入院科室" prop="treatmentdeptname"> |
| | | <el-input |
| | | v-model="formData.treatmentdeptname" |
| | | placeholder="请输入科室" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="首诊医院" prop="treatmenthospitalname"> |
| | | <el-form-item label="上报医院" prop="treatmenthospitalname"> |
| | | <org-selecter |
| | | ref="orgSelecter" |
| | | :org-type="'3'" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="首诊医院" |
| | | label="上报医院" |
| | | align="center" |
| | | prop="treatmenthospitalname" |
| | | /> |
| | |
| | | { required: true, message: "请选择出生日期", trigger: "blur" } |
| | | ], |
| | | treatmenthospitalno: [ |
| | | { required: true, message: "请选择首诊医院", trigger: "blur" } |
| | | { required: true, message: "请选择上报医院", trigger: "blur" } |
| | | ], |
| | | bloodtype: [ |
| | | { required: true, message: "请选择ABO血型", trigger: "blur" } |