Bladeren bron

新的问卷分析

lighter 10 maanden geleden
bovenliggende
commit
a4dc0b09ad

+ 44 - 0
src/api/outpatient/clinic-satisfied.js

@@ -38,4 +38,48 @@ export function getPatientBriefInfo(patNo, times) {
         method: 'get',
         params: { patNo, times }
     })
+}
+
+
+
+
+
+export function getQuestionnaireBodies(data) {
+    return request({
+        url: '/questionnaire/getQuestionnaireBodies',
+        method: 'post',
+        data
+    })
+}
+
+export function getAllQuestionnaireBodies(data) {
+    return request({
+        url: '/questionnaire/getAllQuestionnaireBodies',
+        method: 'post',
+        data
+    })
+}
+
+export function assessmentsAnalyseV2(data) {
+    return request({
+        url: '/questionnaire/assessmentsAnalyse',
+        method: 'post',
+        data,
+    })
+}
+
+export function updateAssessmentStatusV2(data) {
+    return request({
+        url: '/questionnaire/updateAssessmentStatus',
+        method: 'post',
+        data
+    })
+}
+
+export function getPatientBriefInfoV2(patNo, times) {
+    return request({
+        url: '/questionnaire/getPatientBriefInfo',
+        method: 'get',
+        params: { patNo, times }
+    })
 }

+ 0 - 1
src/views/clinic/interactive/ClinicSatisfied.vue

@@ -1,5 +1,4 @@
 <template>
-
   <div class="layout_container">
     <header>
       <el-select v-model="inquiry.visitType" style="width: 60px" @change="handleVisitTypeChange">

+ 1128 - 0
src/views/clinic/interactive/QuestionnaireV2.vue

@@ -0,0 +1,1128 @@
+<template>
+  <div class="layout_container">
+    <header>
+      <el-select v-model="inquiry.visitType" style="width: 60px" @change="handleVisitTypeChange">
+        <el-option label="门诊" value="OUTPATIENT"></el-option>
+        <el-option label="急诊" value="EMERGENCY"></el-option>
+        <el-option label="住院" value="INPATIENT"></el-option>
+      </el-select>
+      <el-date-picker type="daterange" v-model="dateRange" style="width: 200px" start-placeholder="开始日期"
+                      end-placeholder="结束日期"></el-date-picker>
+      <el-divider direction="vertical"></el-divider>
+      <el-checkbox v-model="inquiry.onlyShowUnsatisfied" @change="handleSatisfiedChange">只看含有“不满意”的问卷
+      </el-checkbox>
+      <el-button icon="Search" type="primary" @click="fetchAssessments" style="margin-left: 4px">检索</el-button>
+      <el-button icon="DataAnalysis" type="success" @click="executeAssessmentAnalyse" style="margin-left: 12px">
+        问卷分析
+      </el-button>
+      <el-button type="primary" icon="Download" @click="exportExcel">导出Excel</el-button>
+    </header>
+    <div class="layout_container layout_el-table">
+      <el-table :data="assessments.listV2" stripe highlight-current-row>
+        <el-table-column prop="patientId" label="门诊号" width="70"></el-table-column>
+        <el-table-column v-if="inquiry.visitType === 'INPATIENT'" prop="zykshl" label="住院科室护理"></el-table-column>
+        <el-table-column v-if="inquiry.visitType === 'INPATIENT'" prop="zyksys" label="住院科室医生"></el-table-column>
+        <el-table-column v-if="inquiry.visitType === 'INPATIENT'" prop="yyst" label="医院食堂"></el-table-column>
+        <el-table-column v-if="inquiry.visitType !== 'INPATIENT'" prop="mjzdzjhl"
+                         label="门急诊导诊及护理"></el-table-column>
+        <el-table-column v-if="inquiry.visitType !== 'INPATIENT'" prop="mjzys" label="门急诊医生"></el-table-column>
+        <el-table-column prop="yjk" label="药剂科"></el-table-column>
+        <el-table-column prop="fsk" label="放射科"></el-table-column>
+        <el-table-column prop="csyxk" label="超声影像科"></el-table-column>
+        <el-table-column prop="jyk" label="检验科"></el-table-column>
+        <el-table-column prop="sfck" label="收费窗口"></el-table-column>
+        <el-table-column v-if="inquiry.visitType === 'INPATIENT'" prop="mzyh" label="门诊医护"></el-table-column>
+        <el-table-column v-if="inquiry.visitType === 'INPATIENT'" prop="jzyh" label="急诊医护"></el-table-column>
+        <el-table-column prop="ybk" label="医保科"></el-table-column>
+        <el-table-column prop="xzwyyy" label="选择我院的原因"></el-table-column>
+        <el-table-column prop="sfhxzzl" label="是否会再次选择我院"></el-table-column>
+        <el-table-column prop="ztpj" label="整体评价"></el-table-column>
+        <el-table-column prop="zmydyshs" label="满意的医生护士"></el-table-column>
+        <el-table-column prop="dwydjyhyj" label="意见和建议"></el-table-column>
+        <el-table-column prop="createDatetime" label="问卷时间"></el-table-column>
+        <el-table-column fixed="right" width="100">
+          <template #default="scope">
+            <el-button
+                v-if="scope.row.deleted === 0"
+                icon="Delete"
+                type="danger"
+                title="删除"
+                @click="changeAssessmentStatus(scope.row, 1)"
+            ></el-button>
+            <el-button
+                v-else
+                icon="Refresh"
+                type="success"
+                title="恢复"
+                @click="changeAssessmentStatus(scope.row, 0)"
+            ></el-button>
+            <el-button
+                icon="User"
+                title="患者信息"
+                type="primary"
+                plain
+                @click="beforeShowPatInfo(scope.row)"
+            ></el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="inquiry.pageNum"
+          :page-sizes="[30, 50, 70, 100]"
+          :page-size="inquiry.pageSize"
+          layout="total, sizes, prev, pager, next"
+          :total="assessments.totalSize"
+      ></el-pagination>
+    </div>
+  </div>
+
+  <el-dialog
+      v-model="showAnalyzeResult"
+      :title="titleOfAnalyze"
+      fullscreen
+      class="el-dialog-fullscreen-fill"
+  >
+    <div class="layout_display_flex_y">
+      <div
+          style="font-size: 14px;
+          font-weight: bold;
+          color: black;
+          border-bottom: 2px solid black;
+          padding-bottom: 8px"
+      >
+        所有问卷总量:{{ analyzeResult.totalQuestionnaireCount }}
+        <el-divider direction="vertical"></el-divider>
+        所有含有“不满意”的问卷量:{{ analyzeResult.totalUnsatisfiedCount }}({{
+          analyzeResult.totalUnsatisfiedPercentage
+        }})
+      </div>
+      <div class="layout_display_flex layout_flex_1-y">
+        <div style="width: 80%">
+          <div style="margin-top: 12px; color: red; font-weight: bold; margin-bottom: 8px">
+            * 以下所有统计均不包含“未接触”
+          </div>
+          <div
+              style="font-size: 14px;
+              font-weight: bold;
+              color: black;
+              border-bottom: 1px dashed lightgray;
+              padding-bottom: 8px"
+          >
+            问卷选项总量:{{ analyzeResult.totalOptionCount }}
+            <el-divider direction="vertical"></el-divider>
+            “不满意”选项数量:{{
+              analyzeResult.totalUnsatisfiedOptionCount
+            }}({{ analyzeResult.totalUnsatisfiedOptionPercentage }})
+          </div>
+          <div>
+
+            <div class="flex-line">
+              <div v-if="inquiry.visitType==='INPATIENT'" class="flex-child">
+                <div class="department-name">● 住院科室护理人员</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.zykshlQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.zykshlUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.zykshlUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.zykshlUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.zykshlUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.zykshlUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.jsspCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.jsspPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.ysbhCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.ysbhPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">病情巡视</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.bqxsCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.bqxsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">其他</span>不满意数量:{{
+                      analyzeResult.zykshlUnsatisfiedOption.qtCount
+                    }}({{ analyzeResult.zykshlUnsatisfiedOption.qtPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div v-if="inquiry.visitType==='INPATIENT'" class="flex-child">
+                <div class="department-name">● 住院科室医生</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.zyksysQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.zyksysUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.zyksysUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.zyksysUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.zyksysUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.zyksysUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.jsspCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.jsspPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.ysbhCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.ysbhPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">按时查房</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.ascfCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.ascfPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">其他</span>不满意数量:{{
+                      analyzeResult.zyksysUnsatisfiedOption.qtCount
+                    }}({{ analyzeResult.zyksysUnsatisfiedOption.qtPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div v-if="inquiry.visitType!=='INPATIENT'" class="flex-child">
+                <div class="department-name">● 门急诊导诊及护理人员</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.mjzdzjhlQuestionnaireCount }},
+                  不满意问卷量:{{
+                    analyzeResult.mjzdzjhlUnsatisfiedCount
+                  }}&nbsp;({{ analyzeResult.mjzdzjhlUnsatisfiedPercentage }})
+                  <div>
+                    指标总量:{{ analyzeResult.mjzdzjhlUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.mjzdzjhlUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.mjzdzjhlUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{
+                      analyzeResult.mjzdzjhlUnsatisfiedOption.jsspCount
+                    }}({{ analyzeResult.mjzdzjhlUnsatisfiedOption.jsspPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{
+                      analyzeResult.mjzdzjhlUnsatisfiedOption.ysbhCount
+                    }}({{ analyzeResult.mjzdzjhlUnsatisfiedOption.ysbhPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.mjzdzjhlUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.mjzdzjhlUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.mjzdzjhlUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.mjzdzjhlUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">病情巡视</span>不满意数量:{{
+                      analyzeResult.mjzdzjhlUnsatisfiedOption.bqxsCount
+                    }}({{ analyzeResult.mjzdzjhlUnsatisfiedOption.bqxsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.mjzdzjhlUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.mjzdzjhlUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div v-if="inquiry.visitType!=='INPATIENT'" class="flex-child">
+                <div class="department-name">● 门急诊医生</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.mjzysQuestionnaireCount }},
+                  不满意问卷量:{{
+                    analyzeResult.mjzysUnsatisfiedCount
+                  }}&nbsp;({{ analyzeResult.mjzysUnsatisfiedPercentage }})
+                  <div>
+                    指标总量:{{ analyzeResult.mjzysUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.mjzysUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.mjzysUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{
+                      analyzeResult.mjzysUnsatisfiedOption.jsspCount
+                    }}({{ analyzeResult.mjzysUnsatisfiedOption.jsspPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{
+                      analyzeResult.mjzysUnsatisfiedOption.ysbhCount
+                    }}({{ analyzeResult.mjzysUnsatisfiedOption.ysbhPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.mjzysUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.mjzysUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.mjzysUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.mjzysUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">按时坐诊</span>不满意数量:{{
+                      analyzeResult.mjzysUnsatisfiedOption.aszzCount
+                    }}({{ analyzeResult.mjzysUnsatisfiedOption.aszzPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.mjzysUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.mjzysUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                </div>
+              </div>
+
+              <div class="flex-child">
+                <div class="department-name">● 药剂科</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.yjkQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.yjkUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.yjkUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.yjkUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.yjkUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.yjkUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.yjkUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.yjkUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div class="flex-child">
+                <div class="department-name">● 放射科</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.fskQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.fskUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.fskUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.fskUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.fskUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.fskUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div v-if="inquiry.visitType==='OUTPATIENT'">
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+                <div v-else>
+                  <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.jsspCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.jsspPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.ysbhCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.ysbhPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">按时查房</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.ascfCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.ascfPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">其他</span>不满意数量:{{
+                      analyzeResult.fskUnsatisfiedOption.qtCount
+                    }}({{ analyzeResult.fskUnsatisfiedOption.qtPercentage }})
+                  </div>
+                </div>
+              </div>
+            </div>
+
+            <div class="flex-line">
+              <div class="flex-child">
+                <div class="department-name">● 超声影像科</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.csyxkQuestionnaireCount }},
+                  不满意问卷量:{{
+                    analyzeResult.csyxkUnsatisfiedCount
+                  }}&nbsp;({{ analyzeResult.csyxkUnsatisfiedPercentage }})
+                  <div>
+                    指标总量:{{ analyzeResult.csyxkUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.csyxkUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.csyxkUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.csyxkUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.csyxkUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div class="flex-child">
+                <div class="department-name">● 检验科</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.jykQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.jykUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.jykUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.jykUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.jykUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.jykUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.jykUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.jykUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div class="flex-child">
+                <div class="department-name">● 收费窗口</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.sfckQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.sfckUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.sfckUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.sfckUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.sfckUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.sfckUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.sfckUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.sfckUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div class="flex-child">
+                <div class="department-name">● 医保科</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.ybkQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.ybkUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.ybkUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.ybkUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.ybkUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.ybkUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">专业能力</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.zynlCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.zynlPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务流程</span>不满意数量:{{
+                      analyzeResult.ybkUnsatisfiedOption.fwlcCount
+                    }}({{ analyzeResult.ybkUnsatisfiedOption.fwlcPercentage }})
+                  </div>
+                </div>
+              </div>
+            </div>
+
+            <div class="flex-line">
+              <div class="flex-child">
+                <div class="department-name">● 医院环境卫生</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.yyhjwsQuestionnaireCount }},
+                  不满意问卷量:{{
+                    analyzeResult.yyhjwsUnsatisfiedCount
+                  }}&nbsp;({{ analyzeResult.yyhjwsUnsatisfiedPercentage }})
+                  <div>
+                    指标总量:{{ analyzeResult.yyhjwsUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.yyhjwsUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.yyhjwsUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">食堂卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.stwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.stwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">门诊大厅卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.mzdtwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.mzdtwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">诊间卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.zjwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.zjwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">病房卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.bfwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.bfwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">卫生间卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.wsjwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.wsjwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">电梯卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.dtwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.dtwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">楼道卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.ldwsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.ldwsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">座椅卫生</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.zywsCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.zywsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">公共区域</span>不满意数量:{{
+                      analyzeResult.yyhjwsUnsatisfiedOption.ggqyCount
+                    }}({{ analyzeResult.yyhjwsUnsatisfiedOption.ggqyPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div v-if="inquiry.visitType==='INPATIENT'" class="flex-child">
+                <div class="department-name">● 医院食堂</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.yystQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.yystUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.yystUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.yystUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.yystUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.yystUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">卫生情况</span>不满意数量:{{
+                      analyzeResult.yystUnsatisfiedOption.wsqkCount
+                    }}({{ analyzeResult.yystUnsatisfiedOption.wsqkPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">口味</span>不满意数量:{{
+                      analyzeResult.yystUnsatisfiedOption.kwCount
+                    }}({{ analyzeResult.yystUnsatisfiedOption.kwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">菜品</span>不满意数量:{{
+                      analyzeResult.yystUnsatisfiedOption.cpCount
+                    }}({{ analyzeResult.yystUnsatisfiedOption.cpPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.yystUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.yystUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.yystUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.yystUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">其他</span>不满意数量:{{
+                      analyzeResult.yystUnsatisfiedOption.qtCount
+                    }}({{ analyzeResult.yystUnsatisfiedOption.qtPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div v-if="inquiry.visitType === 'INPATIENT'" class="flex-child">
+                <div class="department-name">● 急诊医护人员</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.jzyhQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.jzyhUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.jzyhUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.jzyhUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.jzyhUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.jzyhUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.jzyhUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.jzyhUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div v-if="inquiry.visitType === 'INPATIENT'" class="flex-child">
+                <div class="department-name">● 门诊医护人员</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.mzyhQuestionnaireCount }},
+                  不满意问卷量:{{ analyzeResult.mzyhUnsatisfiedCount }}&nbsp;({{
+                    analyzeResult.mzyhUnsatisfiedPercentage
+                  }})
+                  <div>
+                    指标总量:{{ analyzeResult.mzyhUnsatisfiedOption.totalOptionSize }},
+                    不满意指标量:{{ analyzeResult.mzyhUnsatisfiedOption.checkedOptionSize }}&nbsp;
+                    ({{ analyzeResult.mzyhUnsatisfiedOption.checkedOptionPercentage }})
+                  </div>
+                </div>
+                <div class="option-summary">- 不满意指标详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">叫号服务</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.jhfwCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.jhfwPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">等待时长</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.ddscCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.ddscPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.fwtdCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.fwtdPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.gtjsCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.gtjsPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">及时响应</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.jsxyCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.jsxyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.fzlyCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.fzlyPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">准确率</span>不满意数量:{{
+                      analyzeResult.mzyhUnsatisfiedOption.zqlCount
+                    }}({{ analyzeResult.mzyhUnsatisfiedOption.zqlPercentage }})
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div style="width: 100%; height: 1px; margin: 12px 0 2px 0; border-bottom: 1px dashed lightgray"></div>
+            <div class="flex-line">
+              <div class="flex-child">
+                <div class="department-name">● 选择我院的原因</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.whyChooseHere.totalCount }}
+                </div>
+                <div class="option-summary">- 原因详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">慕名而来</span>数量:{{
+                      analyzeResult.whyChooseHere.mmelCount
+                    }}({{ analyzeResult.whyChooseHere.mmelPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">就近选择</span>数量:{{
+                      analyzeResult.whyChooseHere.jjxzCount
+                    }}({{ analyzeResult.whyChooseHere.jjxzPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">朋友推荐</span>数量:{{
+                      analyzeResult.whyChooseHere.pytjCount
+                    }}({{ analyzeResult.whyChooseHere.pytjPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">网络查询</span>数量:{{
+                      analyzeResult.whyChooseHere.wlcxCount
+                    }}({{ analyzeResult.whyChooseHere.wlcxPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">服务水平</span>数量:{{
+                      analyzeResult.whyChooseHere.fwspCount
+                    }}({{ analyzeResult.whyChooseHere.fwspPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">环境设备</span>数量:{{
+                      analyzeResult.whyChooseHere.hjsbCount
+                    }}({{ analyzeResult.whyChooseHere.hjsbPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">医疗价格</span>数量:{{
+                      analyzeResult.whyChooseHere.yljgCount
+                    }}({{ analyzeResult.whyChooseHere.yljgPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div class="flex-child">
+                <div class="department-name">● 是否会再次选择我院</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.willComeAgain.totalCount }}
+                </div>
+                <div class="option-summary">- 结果详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">会</span>数量:{{
+                      analyzeResult.willComeAgain.yesCount
+                    }}({{ analyzeResult.willComeAgain.yesPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">不会</span>数量:{{
+                      analyzeResult.willComeAgain.noCount
+                    }}({{ analyzeResult.willComeAgain.noPercentage }})
+                  </div>
+                </div>
+              </div>
+              <div class="flex-child">
+                <div class="department-name">● 整体评价(1-10分)</div>
+                <div class="department-summary">
+                  问卷总量:{{ analyzeResult.gradeNum.totalCount }},
+                  平均分:{{ analyzeResult.gradeNum.averageGrade }}
+                </div>
+                <div class="option-summary">- 评分详情</div>
+                <div>
+                  <div class="option-detail"><span class="option-name">1分</span>数量:{{
+                      analyzeResult.gradeNum.oneCount
+                    }}({{ analyzeResult.gradeNum.onePercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">2分</span>数量:{{
+                      analyzeResult.gradeNum.twoCount
+                    }}({{ analyzeResult.gradeNum.twoPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">3分</span>数量:{{
+                      analyzeResult.gradeNum.threeCount
+                    }}({{ analyzeResult.gradeNum.threePercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">4分</span>数量:{{
+                      analyzeResult.gradeNum.fourCount
+                    }}({{ analyzeResult.gradeNum.fourPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">5分</span>数量:{{
+                      analyzeResult.gradeNum.fiveCount
+                    }}({{ analyzeResult.gradeNum.fivePercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">6分</span>数量:{{
+                      analyzeResult.gradeNum.sixCount
+                    }}({{ analyzeResult.gradeNum.sixPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">7分</span>数量:{{
+                      analyzeResult.gradeNum.sevenCount
+                    }}({{ analyzeResult.gradeNum.sevenPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">8分</span>数量:{{
+                      analyzeResult.gradeNum.eightCount
+                    }}({{ analyzeResult.gradeNum.eightPercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">9分</span>数量:{{
+                      analyzeResult.gradeNum.nineCount
+                    }}({{ analyzeResult.gradeNum.ninePercentage }})
+                  </div>
+                  <div class="option-detail"><span class="option-name">10分</span>数量:{{
+                      analyzeResult.gradeNum.tenCount
+                    }}({{ analyzeResult.gradeNum.tenPercentage }})
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div style="width: 20%;" class="layout_display_flex_y">
+          <div
+              style="
+              font-size: 14px;
+              font-weight: bold;
+              color: black;
+               margin: 4px 0 4px 8px;
+               border-bottom: 1px dashed lightgray;
+               padding-bottom: 4px"
+          >
+            建议与意见
+          </div>
+          <div class="layout_flex_1-y">
+            <div style="height: 100%; width: 100%; overflow-y: scroll; padding: 0 8px 0 8px;">
+              <div v-for="item in analyzeResult.suggestions">
+                <div style="color: black">{{ item.suggestion }}</div>
+                <div style="width: 100%; text-align: right; padding: 4px 8px 0 0;color: #54545b;font-size: 12px">
+                  <span v-if="inquiry.visitType === 'INPATIENT'">{{ item.deptName }}&nbsp;/&nbsp;</span>
+                  {{ item.patientId }}&nbsp;/&nbsp;{{ item.patName }}&nbsp;/&nbsp;{{ item.createDatetime }}
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </el-dialog>
+</template>
+<script setup>
+import {
+  getQuestionnaireBodies,
+  getAllQuestionnaireBodies,
+  updateAssessmentStatusV2,
+  assessmentsAnalyseV2,
+  getPatientBriefInfoV2
+} from "@/api/outpatient/clinic-satisfied";
+import {ElMessage} from "element-plus";
+import {Export} from "@/utils/ExportExcel";
+import {getDateRangeFormatDate} from "@/utils/date";
+import SimplestPatInfo from "@/components/outpatient/SimplestPatInfo.vue";
+import useDialogToJs from "@/components/js-dialog-comp/useDialogToJs";
+
+const dateRange = ref([])
+
+const formatDateRange = () => {
+  if (dateRange.value.length === 2) {
+    const format = getDateRangeFormatDate(dateRange.value)
+    inquiry.yystart = format.yystartTime
+    inquiry.end = format.endTime
+  }
+}
+
+const inquiry = reactive({
+  visitType: 'OUTPATIENT',
+  start: null,
+  end: null,
+  pageNum: 1,
+  pageSize: 30,
+  onlyShowUnsatisfied: false
+})
+
+const assessments = reactive({
+  totalSize: 0,
+  listV2: []
+})
+
+const showAnalyzeResult = ref(false)
+const analyzeResult = ref({})
+
+const titleOfAnalyze = computed(() => {
+  switch (inquiry.visitType) {
+    case 'OUTPATIENT':
+      return '门诊满意度调查分析'
+    case 'EMERGENCY':
+      return '急诊满意度调查分析'
+    default:
+      return '住院满意度调查分析'
+  }
+})
+
+const handleVisitTypeChange = () => {
+  assessments.totalSize = 0
+  assessments.listV2 = []
+}
+
+const fetchAssessments = () => {
+  formatDateRange()
+  getQuestionnaireBodies(inquiry).then(res => {
+    assessments.totalSize = res.totalSize
+    assessments.listV2 = res.listV2
+  }).catch(() => {
+    assessments.totalSize = 0
+    assessments.listV2 = []
+  })
+}
+
+function beforeShowPatInfo(row) {
+  const patNo = inquiry.visitType === 'INPATIENT' ? row.inpatientNo : row.patientId
+  const times = row.times || 0
+  getPatientBriefInfoV2(patNo, times).then(res => {
+    res.visitType = inquiry.visitType
+    useDialogToJs(SimplestPatInfo, {patInfo: res})
+  })
+}
+
+const executeAssessmentAnalyse = () => {
+  formatDateRange()
+  assessmentsAnalyseV2(inquiry).then(res => {
+    console.log(res)
+    analyzeResult.value = res
+    showAnalyzeResult.value = true
+  })
+}
+
+const handleSatisfiedChange = () => {
+  inquiry.pageNum = 1
+  fetchAssessments()
+}
+
+const handleSizeChange = (val) => {
+  inquiry.pageSize = val
+  fetchAssessments()
+}
+const handleCurrentChange = (val) => {
+  inquiry.pageNum = val
+  fetchAssessments()
+}
+
+const changeAssessmentStatus = (row, deleted) => {
+  const params = {
+    visitType: inquiry.visitType,
+    id: row.id,
+    deleted: deleted,
+  }
+  updateAssessmentStatusV2(params).then(res => {
+    row.deleted = deleted
+    ElMessage({
+      message: res,
+      type: 'success',
+      showClose: true,
+      duration: 2000
+    })
+  })
+}
+
+const exportExcel = () => {
+  let fields;
+  if (inquiry.visitType === 'INPATIENT') {
+    fields = {
+      patientId: '门诊号',
+      inpatientNo: '住院号',
+      deptName: '出院科室',
+      zykshl: '住院科室护理人员',
+      zyksys: '住院科室医生',
+      yyst: '医院食堂',
+      yjk: '药剂科',
+      fsk: '放射科',
+      csyxk: '超声影像科',
+      jyk: '检验科',
+      sfck: '收费窗口',
+      ybk: '医保科',
+      yyhjws: '医院环境卫生',
+      mzyh: '门诊医护',
+      jzyh: '急诊医护',
+      xzwyyy: '选择我院的原因',
+      sfhxzzl: '是否会再次选择我院',
+      ztpj: '整体评价(1-10分)',
+      zmydyshs: '最满意的医生护士',
+      dwydjyhyj: '建议与意见'
+    };
+  } else {
+    fields = {
+      patientId: '门诊号',
+      deptName: '就诊科室',
+      mjzdzjhl: '门急诊导诊及护理',
+      mjzys: '门急诊医生',
+      yjk: '药剂科',
+      fsk: '放射科',
+      csyxk: '超声影像科',
+      jyk: '检验科',
+      sfck: '收费窗口',
+      ybk: '医保科',
+      yyhjws: '医院环境卫生',
+      xzwyyy: '选择我院的原因',
+      sfhxzzl: '是否会再次选择我院',
+      ztpj: '整体评价(1-10分)',
+      zmydyshs: '最满意的医生护士',
+      dwydjyhyj: '建议与意见'
+    };
+  }
+  formatDateRange();
+  getAllQuestionnaireBodies(inquiry).then(res => {
+    Export(res, fields, titleOfAnalyze.value)
+  })
+}
+
+</script>
+
+<style scoped>
+.flex-line {
+  display: flex;
+}
+
+.flex-child {
+  width: 25%;
+}
+
+.department-name {
+  font-weight: bold;
+  margin-top: 12px;
+}
+
+.department-summary {
+  margin-top: 4px;
+  padding-left: 10px;
+  color: darkred;
+}
+
+.option-summary {
+  margin-top: 4px;
+  padding-left: 10px;
+  font-weight: bold;
+}
+
+.option-detail {
+  margin-top: 4px;
+  padding-left: 18px;
+}
+
+.option-name {
+  color: #222222;
+  font-weight: bold;
+}
+</style>