| | |
| | | <el-descriptions-item label="备注" :span="2">{{ taskDetail.remark }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | |
| | | <!-- 急救转运任务扩展信息 --> |
| | | <el-descriptions v-if="taskDetail.taskType === 'EMERGENCY_TRANSFER' && taskDetail.emergencyInfo" title="急救转运信息" :column="2" border style="margin-top: 20px;"> |
| | | <el-descriptions-item label="患者姓名">{{ taskDetail.emergencyInfo.patientName }}</el-descriptions-item> |
| | | <el-descriptions-item label="患者性别"> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="taskDetail.emergencyInfo.patientGender"/> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="患者年龄">{{ taskDetail.emergencyInfo.patientAge }}</el-descriptions-item> |
| | | <el-descriptions-item label="联系电话">{{ taskDetail.emergencyInfo.contactPhone }}</el-descriptions-item> |
| | | <el-descriptions-item label="接送医院" :span="2">{{ taskDetail.emergencyInfo.hospitalName }}</el-descriptions-item> |
| | | <el-descriptions-item label="就诊科室" :span="2"> |
| | | <dict-tag v-if="taskDetail.emergencyInfo.hospitalDepartment" :options="dict.type.hospital_department" :value="taskDetail.emergencyInfo.hospitalDepartment"/> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="病情描述" :span="2"> |
| | | <span v-if="taskDetail.emergencyInfo.illnessDescription">{{ taskDetail.emergencyInfo.illnessDescription }}</span> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="特殊需求" :span="2"> |
| | | <span v-if="taskDetail.emergencyInfo.specialRequirements">{{ taskDetail.emergencyInfo.specialRequirements }}</span> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="是否需要担架"> |
| | | <el-tag v-if="taskDetail.emergencyInfo.needsStretcher == 1" type="success" size="small">是</el-tag> |
| | | <el-tag v-else type="info" size="small">否</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="是否需要轮椅"> |
| | | <el-tag v-if="taskDetail.emergencyInfo.needsWheelchair == 1" type="success" size="small">是</el-tag> |
| | | <el-tag v-else type="info" size="small">否</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="是否需要氧气"> |
| | | <el-tag v-if="taskDetail.emergencyInfo.needsOxygen == 1" type="success" size="small">是</el-tag> |
| | | <el-tag v-else type="info" size="small">否</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="紧急程度"> |
| | | <el-tag v-if="taskDetail.emergencyInfo.urgencyLevel === 'HIGH'" type="danger" size="small">紧急</el-tag> |
| | | <el-tag v-else-if="taskDetail.emergencyInfo.urgencyLevel === 'MEDIUM'" type="warning" size="small">一般</el-tag> |
| | | <el-tag v-else-if="taskDetail.emergencyInfo.urgencyLevel === 'LOW'" type="info" size="small">不急</el-tag> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="陪同人数">{{ taskDetail.emergencyInfo.companionCount || 0 }} 人</el-descriptions-item> |
| | | <el-descriptions-item label="预估费用">{{ taskDetail.emergencyInfo.estimatedCost || '--' }} 元</el-descriptions-item> |
| | | </el-descriptions> |
| | | |
| | | <!-- 福祉车任务扩展信息 --> |
| | | <el-descriptions v-if="taskDetail.taskType === 'WELFARE' && taskDetail.welfareInfo" title="福祉车服务信息" :column="2" border style="margin-top: 20px;"> |
| | | <el-descriptions-item label="乘客姓名">{{ taskDetail.welfareInfo.passengerName }}</el-descriptions-item> |
| | | <el-descriptions-item label="乘客性别"> |
| | | <dict-tag :options="dict.type.sys_user_sex" :value="taskDetail.welfareInfo.passengerGender"/> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="乘客年龄">{{ taskDetail.welfareInfo.passengerAge }}</el-descriptions-item> |
| | | <el-descriptions-item label="联系电话">{{ taskDetail.welfareInfo.contactPhone }}</el-descriptions-item> |
| | | <el-descriptions-item label="服务类型" :span="2"> |
| | | <span v-if="taskDetail.welfareInfo.serviceType">{{ taskDetail.welfareInfo.serviceType }}</span> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="特殊需求" :span="2"> |
| | | <span v-if="taskDetail.welfareInfo.specialRequirements">{{ taskDetail.welfareInfo.specialRequirements }}</span> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="是否需要轮椅"> |
| | | <el-tag v-if="taskDetail.welfareInfo.needsWheelchair == 1" type="success" size="small">是</el-tag> |
| | | <el-tag v-else type="info" size="small">否</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="陪同人数">{{ taskDetail.welfareInfo.companionCount || 0 }} 人</el-descriptions-item> |
| | | <el-descriptions-item label="预估费用">{{ taskDetail.welfareInfo.estimatedCost || '--' }} 元</el-descriptions-item> |
| | | <el-descriptions-item label="实际费用">{{ taskDetail.welfareInfo.actualCost || '--' }} 元</el-descriptions-item> |
| | | </el-descriptions> |
| | | |
| | | <!-- 操作按钮 --> |
| | | <div style="margin-top: 20px; text-align: center;"> |
| | | <el-button type="primary" @click="handleEdit" v-hasPermi="['task:general:edit']">编辑任务</el-button> |
| | |
| | | <el-dialog title="分配车辆" :visible.sync="vehicleAssignOpen" width="600px" append-to-body> |
| | | <el-form ref="vehicleAssignForm" :model="vehicleAssignForm" :rules="vehicleAssignRules" label-width="80px"> |
| | | <el-form-item label="车辆" prop="vehicleIds"> |
| | | <el-select v-model="vehicleAssignForm.vehicleIds" placeholder="请选择车辆" multiple clearable> |
| | | <el-select v-model="vehicleAssignForm.vehicleIds" placeholder="请选择车辆" multiple clearable style="width: 100%"> |
| | | <el-option |
| | | v-for="vehicle in availableVehicles" |
| | | :key="vehicle.vehicleId" |
| | | :label="vehicle.vehicleNo + ' (' + vehicle.vehicleType + ')'" |
| | | :label="vehicle.vehicleNo + ' - ' + vehicle.deptName" |
| | | :value="vehicle.vehicleId" |
| | | /> |
| | | > |
| | | <div style="display: flex; justify-content: space-between; align-items: center;"> |
| | | <div> |
| | | <div style="font-weight: bold; color: #303133;">{{ vehicle.vehicleNo }}</div> |
| | | <div style="font-size: 12px; color: #909399;">ID: {{ vehicle.vehicleId }}</div> |
| | | </div> |
| | | <div style="text-align: right;"> |
| | | <div style="color: #67C23A; font-size: 13px;">{{ getVehicleTypeName(vehicle.vehicleType) }}</div> |
| | | <div style="color: #8492a6; font-size: 12px;">{{ vehicle.vehicleBrand }} {{ vehicle.vehicleModel }}</div> |
| | | </div> |
| | | </div> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | |
| | | |
| | | export default { |
| | | name: "TaskDetail", |
| | | dicts: ['sys_task_type', 'sys_task_status', 'sys_vehicle_type', 'sys_task_vehicle_status'], |
| | | dicts: ['sys_task_type', 'sys_task_status', 'sys_vehicle_type', 'sys_task_vehicle_status', 'sys_user_sex', 'hospital_department'], |
| | | data() { |
| | | return { |
| | | // 任务详情 |
| | |
| | | } else { |
| | | return (size / 1024 / 1024).toFixed(2) + ' MB'; |
| | | } |
| | | }, |
| | | /** 获取车辆类型名称 */ |
| | | getVehicleTypeName(vehicleType) { |
| | | const typeDict = this.dict.type.sys_vehicle_type; |
| | | if (typeDict && typeDict.length > 0) { |
| | | const typeItem = typeDict.find(item => item.value === vehicleType); |
| | | return typeItem ? typeItem.label : vehicleType; |
| | | } |
| | | return vehicleType; |
| | | } |
| | | } |
| | | }; |