| | |
| | | > |
| | | <el-row :gutter="8"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="患者姓名" prop="name"> |
| | | <el-form-item label="姓名" prop="name"> |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | 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'" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <el-form-item label="上报时间"> |
| | | <el-form-item label="报告时间"> |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | v-model="selecttime" |
| | |
| | | border |
| | | :default-sort="{ prop: 'donatetime', order: 'descending' }" |
| | | > |
| | | <el-table-column label="姓名" align="center" prop="name" width="100" /> |
| | | <el-table-column |
| | | label="案例时间" |
| | | align="center" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="案例编号" |
| | | label="住院号" |
| | | align="center" |
| | | prop="caseNo" |
| | | prop="inpatientno" |
| | | width="200" |
| | | /> |
| | | <el-table-column label="姓名" align="center" prop="name" width="100" /> |
| | | <el-table-column |
| | | label="捐献进度" |
| | | align="center" |
| | | prop="workflow" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.terminationCase"> |
| | | <dict-tag |
| | | :options="dict.type.sys_donornode" |
| | | :value="scope.row.workflow" |
| | | /> |
| | | </div> |
| | | <div v-else><el-button type="danger" plain>任务终止</el-button></div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="捐献类别" |
| | | align="center" |
| | | prop="donationcategory" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.sys_DonationCategory" |
| | | :value="scope.row.donationcategory" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="性别" align="center" prop="sex" width="100"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="首诊医院" |
| | | label="GCS评分" |
| | | align="center" |
| | | prop="treatmenthospitalname" |
| | | prop="gcsScore" |
| | | width="100" |
| | | /> |
| | | <el-table-column label="GSC评分" align="center" prop="gcsScore" /> |
| | | <el-table-column label="血型" align="center" prop="bloodtype" width="100"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="捐献类别" |
| | | align="center" |
| | | prop="donationcategory" |
| | | width="150" |
| | | > |
| | | |
| | | <el-table-column label="传染病" align="center" prop="infectious"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="dict.type.sys_DonationCategory" |
| | | :value="scope.row.donationcategory" |
| | | /> |
| | | <span v-for="item in scope.row.infectious.split(',')" |
| | | ><dict-tag :options="dict.type.sys_Infectious" :value="item" /> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="疾病诊断" align="center" prop="diagnosisname" /> |
| | | <el-table-column |
| | | label="报告人" |
| | | label="协调员" |
| | | align="center" |
| | | prop="reportername" |
| | | prop="coordinatorName" |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | label="捐献进度" |
| | | align="center" |
| | | prop="workflow" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.terminationCase"> |
| | | <dict-tag |
| | | :options="dict.type.sys_donornode" |
| | | :value="scope.row.workflow" |
| | | /> |
| | | </div> |
| | | <div v-else><el-button type="danger" plain>任务终止</el-button></div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | width="190" |
| | | width="220" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | fixed="right" |
| | |
| | | > |
| | | 详情 |
| | | </el-button> |
| | | |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleOpenEdit(scope.row)" |
| | | v-hasPermi="['project:donatebaseinfo:edit']" |
| | | >编辑</el-button |
| | | v-if="scope.row.recordstate !== '4'" |
| | | > |
| | | 编辑 |
| | | </el-button> |
| | | |
| | | <!-- ✅ 新增:归档按钮 --> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | style="color:#E6A23C;" |
| | | @click="handleArchive(scope.row)" |
| | | v-if="scope.row.recordstate !== '4'" |
| | | > |
| | | 归档 |
| | | </el-button> |
| | | |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | style="color: #f56c6c;" |
| | | @click="handleTerminate(scope.row)" |
| | | v-if=" |
| | | scope.row.terminationCase === 0 && scope.row.recordstate !== '99' |
| | | scope.row.terminationCase == 0 && scope.row.recordstate !== '99' |
| | | " |
| | | > |
| | | 终止 |
| | | </el-button> |
| | | |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | style="color: #67c23a;" |
| | | @click="handleRestore(scope.row)" |
| | | v-if="scope.row.terminationCase === 1" |
| | | v-if="scope.row.terminationCase == 1" |
| | | > |
| | | 恢复 |
| | | </el-button> |
| | |
| | | import { |
| | | listDonatebaseinfo, |
| | | addDonatebaseinfo, |
| | | exportDonatebaseinfo |
| | | exportDonatebaseinfo, |
| | | updateDonatebaseinfo |
| | | } from "@/api/project/donatebaseinfo"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import OrgSelecter from "@/views/project/components/orgselect"; |
| | |
| | | dicts: [ |
| | | "sys_user_sex", |
| | | "sys_BloodType", |
| | | "sys_Infectious", |
| | | "sys_DonationCategory", |
| | | "sys_donornode" |
| | | ], |
| | |
| | | { required: true, message: "请选择出生日期", trigger: "blur" } |
| | | ], |
| | | treatmenthospitalno: [ |
| | | { required: true, message: "请选择首诊医院", trigger: "blur" } |
| | | { required: true, message: "请选择上报医院", trigger: "blur" } |
| | | ], |
| | | bloodtype: [ |
| | | { required: true, message: "请选择ABO血型", trigger: "blur" } |
| | |
| | | this.currentRecord = { ...row }; |
| | | this.modalVisible = { ...this.modalVisible, restore: true }; |
| | | }, |
| | | /** 归档 */ |
| | | handleArchive(row) { |
| | | this.$confirm("确认将该案例归档?归档后将不可编辑。", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(async () => { |
| | | try { |
| | | const res = await updateDonatebaseinfo({ |
| | | id: row.id, |
| | | recordstate: "4", |
| | | filingtime: this.getCurrentTime() |
| | | }); |
| | | |
| | | if (res.code === 200) { |
| | | this.$modal.msgSuccess("归档成功"); |
| | | this.getList(); |
| | | } else { |
| | | this.$modal.msgError(res.msg || "归档失败"); |
| | | } |
| | | } catch (err) { |
| | | this.$modal.msgError("操作失败"); |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 获取当前时间 |
| | | getCurrentTime() { |
| | | const now = new Date(); |
| | | return `${now.getFullYear()}-${(now.getMonth() + 1) |
| | | .toString() |
| | | .padStart(2, "0")}-${now |
| | | .getDate() |
| | | .toString() |
| | | .padStart(2, "0")} ${now |
| | | .getHours() |
| | | .toString() |
| | | .padStart(2, "0")}:${now |
| | | .getMinutes() |
| | | .toString() |
| | | .padStart(2, "0")}:${now |
| | | .getSeconds() |
| | | .toString() |
| | | .padStart(2, "0")}`; |
| | | }, |
| | | getTimeList() { |
| | | if (!this.selecttime) { |
| | | // this.queryParams.starttime = "1998-01-01 00:00:00"; |
| | |
| | | this.loading = false; |
| | | } |
| | | }, |
| | | /** 打开编辑弹窗 */ |
| | | handleOpenEdit(row) { |
| | | // 确保在打开弹框前重置currentEditData |
| | | this.currentEditData = {}; |
| | | if (row.recordstate === "4") { |
| | | this.$modal.msgWarning("归档案例不可编辑"); |
| | | return; |
| | | } |
| | | |
| | | // 使用$nextTick确保DOM更新完成 |
| | | this.currentEditData = {}; |
| | | this.$nextTick(() => { |
| | | this.currentEditData = { ...row }; |
| | | this.editModalVisible = true; |