| | |
| | | <el-option label="已处理" :value="'1'" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="模板类型"> |
| | | <el-form-item label="满意度类型"> |
| | | <el-select |
| | | v-model="filterParams.templateType" |
| | | placeholder="请选择模板类型" |
| | |
| | | <div class="patient-row"> |
| | | <div class="patient-item"> |
| | | <span class="label">姓名:</span> |
| | | <span class="value">{{ row.patientName }}</span> |
| | | <span class="value">{{ row.patdescJson.sendname }}</span> |
| | | </div> |
| | | <div class="patient-item"> |
| | | <span class="label">性别:</span> |
| | | <span class="value">{{ |
| | | row.gender === 1 ? "男" : "女" |
| | | row.patdescJson.sex |
| | | }}</span> |
| | | </div> |
| | | <div class="patient-item"> |
| | | <span class="label">年龄:</span> |
| | | <span class="value">{{ row.age }}岁</span> |
| | | <span class="value">{{ row.patdescJson.age }}岁</span> |
| | | </div> |
| | | </div> |
| | | <div class="patient-row"> |
| | | <div class="patient-item full-width"> |
| | | <span class="label">电话:</span> |
| | | <span class="value">{{ row.phone }}</span> |
| | | <span class="value">{{ row.patdescJson.phone }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <script> |
| | | import DetailsAnomaly from "./components/DetailsAnomaly.vue"; |
| | | import { tracelist, traceedit } from "@/api/AiCentre/index"; |
| | | import dayjs from "dayjs"; |
| | | import { deptTreeSelect } from "@/api/system/user"; |
| | | |
| | | export default { |
| | |
| | | filterParams: { |
| | | todeptcode: "", |
| | | handleFlag: "", |
| | | templateType: "", |
| | | scriptid: null, |
| | | templateType: null, |
| | | scriptids: null, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | |
| | | |
| | | created() { |
| | | // 从路由参数获取问题ID |
| | | if (this.$route.query.questionId) { |
| | | this.filterParams.scriptid = this.$route.query.questionId || null; |
| | | this.filterParams.scriptids = null; |
| | | } else if (this.$route.query.questionIds) { |
| | | this.filterParams.scriptids = this.$route.query.questionIds; |
| | | this.filterParams.scriptid=null; |
| | | } |
| | | this.filterParams.scriptids = this.$route.query.questionId || this.$route.query.questionIds||null; |
| | | // if (this.$route.query.questionId) { |
| | | // } else if (this.$route.query.questionIds) { |
| | | // console.log( |
| | | // this.$route.query.questionIds, |
| | | // "this.$route.query.questionIds" |
| | | // ); |
| | | |
| | | this.filterParams.templateType = Number(this.$route.query.type)||null; |
| | | |
| | | // this.filterParams.scriptid = null; |
| | | // } |
| | | this.hasQualityPermission = this.checkQualityPermission(); |
| | | }, |
| | | |
| | |
| | | params.templateType = this.filterParams.templateType; |
| | | } |
| | | |
| | | if (this.filterParams.scriptid) { |
| | | params.scriptid = this.filterParams.scriptid; |
| | | // if (this.filterParams.scriptid) { |
| | | // params.scriptid = this.filterParams.scriptid; |
| | | // } |
| | | if (this.filterParams.scriptids) { |
| | | params.scriptids = this.filterParams.scriptids.split(","); |
| | | } |
| | | |
| | | return params; |
| | |
| | | todeptcode: "", |
| | | handleFlag: "", |
| | | templateType: "", |
| | | scriptid: null, // 保留问题ID |
| | | scriptids: null, // 保留问题ID |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }; |
| | |
| | | // 生成弹框标题 |
| | | let title = "异常反馈详情"; |
| | | if (row.patdesc) { |
| | | const patientName = row.patdesc.split("|")[0]; |
| | | const patientName = row.patdescJson.sendname; |
| | | if (patientName) { |
| | | title = `${patientName} - ${title}`; |
| | | } |
| | |
| | | handleresult: this.processForm.handleresult, |
| | | handledesc: this.processForm.handledesc, |
| | | finaloption: this.processForm.finaloption, |
| | | handleBy: this.$store.state.user.nickName, |
| | | handleTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | // 将数组转换为逗号分隔的字符串 |
| | | ccdepts: Array.isArray(this.processForm.ccdepts) |
| | | ? this.processForm.ccdepts.join(",") |
| | |
| | | .patient-item { |
| | | flex: 1; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | padding: 0 5px; |
| | | |
| | |
| | | |
| | | .info-item { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | margin-bottom: 5px; |
| | | padding: 2px 0; |
| | |
| | | .value { |
| | | color: #333; |
| | | font-weight: 500; |
| | | text-align: right; |
| | | // text-align: right; |
| | | flex: 1; |
| | | |
| | | &.time { |