Bläddra i källkod

Merge branch 'master' of https://172.16.32.165/lighter/vue-intergration-platform

xiaochan 1 år sedan
förälder
incheckning
154c5fb301
1 ändrade filer med 130 tillägg och 24 borttagningar
  1. 130 24
      src/views/clinic/interactive/ClinicSatisfied.vue

+ 130 - 24
src/views/clinic/interactive/ClinicSatisfied.vue

@@ -10,18 +10,23 @@
       <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="Upload" @click="exportExcel">导出Excel</el-button>
+      <el-button type="primary" icon="Download" @click="exportExcel">导出Excel</el-button>
     </template>
     <template #main>
       <el-table v-if="inquiry.visitType === 'OUTPATIENT'" :data="assessments.list" stripe :height="tableHeight" highlight-current-row>
+        <el-table-column prop="item11" label="门急诊导诊及护理"></el-table-column>
+        <el-table-column prop="item13" label="门急诊医生"></el-table-column>
         <el-table-column prop="item1" label="药剂科"></el-table-column>
         <el-table-column prop="item3" label="放射科"></el-table-column>
         <el-table-column prop="item5" label="超声影像科"></el-table-column>
         <el-table-column prop="item7" label="检验科"></el-table-column>
         <el-table-column prop="item9" label="收费窗口"></el-table-column>
-        <el-table-column prop="item11" label="门诊医护"></el-table-column>
-        <el-table-column prop="item13" label="急诊医护"></el-table-column>
-        <el-table-column prop="suggestion" label="补充内容"></el-table-column>
+        <el-table-column prop="item15" label="医保科"></el-table-column>
+        <el-table-column prop="item1002" label="选择我院的原因"></el-table-column>
+        <el-table-column prop="item1004" label="是否会再次选择我院"></el-table-column>
+        <el-table-column prop="item1006" label="整体评价"></el-table-column>
+        <el-table-column prop="satisfyStaff" label="满意的医生护士"></el-table-column>
+        <el-table-column prop="suggestion" label="意见和建议"></el-table-column>
         <el-table-column prop="createDatetime" label="问卷时间"></el-table-column>
         <el-table-column label="操作">
           <template #default="scope">
@@ -42,7 +47,12 @@
         <el-table-column prop="item17" label="收费窗口"></el-table-column>
         <el-table-column prop="item19" label="门诊医护"></el-table-column>
         <el-table-column prop="item21" label="急诊医护"></el-table-column>
-        <el-table-column prop="suggestion" label="补充内容"></el-table-column>
+        <el-table-column prop="item23" label="医保科"></el-table-column>
+        <el-table-column prop="item1002" label="选择我院的原因"></el-table-column>
+        <el-table-column prop="item1004" label="是否会再次选择我院"></el-table-column>
+        <el-table-column prop="item1006" label="整体评价"></el-table-column>
+        <el-table-column prop="satisfyStaff" label="满意的医生护士"></el-table-column>
+        <el-table-column prop="suggestion" label="意见和建议"></el-table-column>
         <el-table-column prop="createDatetime" label="问卷时间"></el-table-column>
         <el-table-column label="操作">
           <template #default="scope">
@@ -160,6 +170,7 @@
                 </div>
               </div>
               <div class="flex-line">
+
                 <div class="flex-child">
                   <div class="department-name">● 药剂科</div>
                   <div class="department-summary">
@@ -274,7 +285,7 @@
                   <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 class="flex-child">
+                <div v-if="inquiry.visitType === 'INPATIENT'" class="flex-child">
                   <div class="department-name">● 急诊医护人员</div>
                   <div class="department-summary">
                     问卷总量:{{analyzeResult.jzyhAssessmentCount}},
@@ -294,7 +305,27 @@
                   <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 class="flex-child">
+                <div v-else class="flex-child">
+                  <div class="department-name">● 门急诊导诊及护理人员</div>
+                  <div class="department-summary">
+                    问卷总量:{{analyzeResult.mjzdzhlAssessmentCount}},
+                    不满意问卷量:{{analyzeResult.mjzdzhlUnsatisfiedCount}}&nbsp;({{analyzeResult.mjzdzhlUnsatisfiedPercentage}})
+                    <div>
+                      指标总量:{{analyzeResult.mjzdzhlUnsatisfiedOption.totalOptionSize}},
+                      不满意指标量:{{analyzeResult.mjzdzhlUnsatisfiedOption.checkedOptionSize}}&nbsp;
+                      ({{analyzeResult.mjzdzhlUnsatisfiedOption.checkedOptionPercentage}})
+                    </div>
+                  </div>
+                  <div class="option-summary">- 不满意指标详情</div>
+                  <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{ analyzeResult.mjzdzhlUnsatisfiedOption.jsspCount }}({{analyzeResult.mjzdzhlUnsatisfiedOption.jsspPercentage}})</div>
+                  <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{ analyzeResult.mjzdzhlUnsatisfiedOption.ysbhCount }}({{analyzeResult.mjzdzhlUnsatisfiedOption.ysbhPercentage}})</div>
+                  <div class="option-detail"><span class="option-name">服务态度</span>不满意数量:{{ analyzeResult.mjzdzhlUnsatisfiedOption.fwtdCount }}({{analyzeResult.mjzdzhlUnsatisfiedOption.fwtdPercentage}})</div>
+                  <div class="option-detail"><span class="option-name">沟通解释</span>不满意数量:{{ analyzeResult.mjzdzhlUnsatisfiedOption.gtjsCount }}({{analyzeResult.mjzdzhlUnsatisfiedOption.gtjsPercentage}})</div>
+                  <div class="option-detail"><span class="option-name">病情巡视</span>不满意数量:{{ analyzeResult.mjzdzhlUnsatisfiedOption.bqxsCount }}({{analyzeResult.mjzdzhlUnsatisfiedOption.bqxsPercentage}})</div>
+                  <div class="option-detail"><span class="option-name">服装礼仪</span>不满意数量:{{ analyzeResult.mjzdzhlUnsatisfiedOption.fzlyCount }}({{analyzeResult.mjzdzhlUnsatisfiedOption.fzlyPercentage}})</div>
+                </div>
+
+                <div v-if="inquiry.visitType === 'INPATIENT'" class="flex-child">
                   <div class="department-name">● 门诊医护人员</div>
                   <div class="department-summary">
                     问卷总量:{{analyzeResult.mzyhAssessmentCount}},
@@ -306,23 +337,88 @@
                     </div>
                   </div>
                   <div class="option-summary">- 不满意指标详情</div>
-                  <div v-if="inquiry.visitType==='OUTPATIENT'">
-                    <div class="option-detail"><span class="option-name">技术水平</span>不满意数量:{{ analyzeResult.mzyhUnsatisfiedOption.jsspCount }}({{analyzeResult.mzyhUnsatisfiedOption.jsspPercentage}})</div>
-                    <div class="option-detail"><span class="option-name">隐私保护</span>不满意数量:{{ analyzeResult.mzyhUnsatisfiedOption.ysbhCount }}({{analyzeResult.mzyhUnsatisfiedOption.ysbhPercentage}})</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.aszzCount }}({{analyzeResult.mzyhUnsatisfiedOption.aszzPercentage}})</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.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 v-else class="flex-child">
+                  <div class="department-name">● 门急诊医生</div>
+                  <div class="department-summary">
+                    问卷总量:{{analyzeResult.mjzysAssessmentCount}},
+                    不满意问卷量:{{analyzeResult.mjzysUnsatisfiedCount}}&nbsp;({{analyzeResult.mjzysUnsatisfiedPercentage}})
+                    <div>
+                      指标总量:{{analyzeResult.mjzysUnsatisfiedOption.totalOptionSize}},
+                      不满意指标量:{{analyzeResult.mjzysUnsatisfiedOption.checkedOptionSize}}&nbsp;
+                      ({{analyzeResult.mjzysUnsatisfiedOption.checkedOptionPercentage}})
+                    </div>
                   </div>
-                  <div v-else>
-                    <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 class="option-summary">- 不满意指标详情</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 class="flex-child">
+                  <div class="department-name">● 医保科</div>
+                  <div class="department-summary">
+                    问卷总量:{{analyzeResult.ybkAssessmentCount}},
+                    不满意问卷量:{{analyzeResult.ybkUnsatisfiedCount}}&nbsp;({{analyzeResult.ybkUnsatisfiedPercentage}})
+                    <div>
+                      指标总量:无,
+                      不满意指标量:无&nbsp;
+                    </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 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 class="flex-child">
+                  <div class="department-name">● 是否会再次选择我院</div>
+                  <div class="department-summary">
+                    问卷总量:{{analyzeResult.willComeAgain.totalCount}}
+                  </div>
+                  <div class="option-summary">- 结果详情</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 class="option-detail"><span class="option-name">不一定</span>数量:{{ analyzeResult.willComeAgain.bydCount }}({{analyzeResult.willComeAgain.bydPercentage}})</div>
+                </div>
+                <div class="flex-child">
+                  <div class="department-name">● 整体评价(1-10分)</div>
+                  <div class="department-summary">
+                    问卷总量:{{analyzeResult.gradeNum.totalCount}}
                   </div>
+                  <div class="option-summary">- 评分详情</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>
@@ -460,8 +556,13 @@ const exportExcel = () => {
       item5: '对超声影像科工作人员',
       item7: '对检验科工作人员',
       item9: '对收费窗口工作人员',
-      item11: '对门诊医护人员',
-      item13: '对急诊医护人员',
+      item11: '对门急诊导诊及护理人员',
+      item13: '对门急诊医生',
+      item15: '对医保科',
+      item1002: '选择我院的原因',
+      item1004: '是否会再次选择我院',
+      item1006: '整体评价(1-10分)',
+      satisfyStaff: '最满意的医生护士',
       suggestion: '建议与意见'
     };
   } else {
@@ -477,6 +578,11 @@ const exportExcel = () => {
       item17: '对收费窗口工作人员',
       item19: '对门诊医护人员',
       item21: '对急诊医护人员',
+      item23: '对医保科',
+      item1002: '选择我院的原因',
+      item1004: '是否会再次选择我院',
+      item1006: '整体评价(1-10分)',
+      satisfyStaff: '最满意的医生护士',
       suggestion: '建议与意见'
     };
   }