1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789 |
- <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-select
- v-if="inquiry.visitType === 'INPATIENT'"
- v-model="inquiry.ward"
- style="width: 140px"
- clearable
- placeholder="病区(为空时查全院)"
- >
- <el-option
- v-for="item in wardList"
- :key="item.code"
- :label="item.name"
- :value="item.code"
- />
- </el-select>
- <el-date-picker
- type="daterange"
- v-model="dateRange"
- :shortcuts="shortcuts"
- style="width: 200px"
- :clearable="false"
- 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(true)"
- 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(1)">
- 导出问卷Excel
- </el-button>
- <el-button
- v-if="inquiry.visitType === 'INPATIENT'"
- type="primary"
- icon="Download"
- @click="exportExcel(2)"
- >
- 导出患者Excel
- </el-button>
- </header>
- <div class="layout_main layout_container layout-horizontal">
- <div
- v-if="inquiry.visitType === 'INPATIENT'"
- class="layout_el-table"
- style="margin-right: 4px"
- >
- <el-table
- ref="patTable"
- :data="
- assessments.patients.slice(
- (currentPage - 1) * pageSize,
- currentPage * pageSize
- )
- "
- stripe
- highlight-current-row
- @row-click="handleClickPatRow"
- >
- <el-table-column
- prop="patNo"
- label="住院号"
- width="70"
- ></el-table-column>
- <el-table-column
- prop="patName"
- label="姓名"
- width="70"
- ></el-table-column>
- <el-table-column
- prop="disdate"
- label="出院时间"
- width="80"
- ></el-table-column>
- <el-table-column
- prop="disdept"
- label="出院病区"
- width="100"
- ></el-table-column>
- <el-table-column label="已填问卷" width="60">
- <template #default="{ row }">
- <span v-html="questionnared(row.questionnaireCount)"></span>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- :current-page="currentPage"
- :page-size="pageSize"
- :total="assessments.patients.length"
- layout="total, prev, next"
- @current-change="handleCurrentChange1"
- ></el-pagination>
- </div>
- <div class="layout_main 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="inpatientNo"
- 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>
- </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
- }} ({{ analyzeResult.zykshlUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.zykshlUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.zykshlUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.zyksysUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.zyksysUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.zyksysUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.mjzdzjhlUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.mjzdzjhlUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.mjzdzjhlUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.mjzysUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.mjzysUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.mjzysUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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 }} ({{
- analyzeResult.yjkUnsatisfiedPercentage
- }})
- <div>
- 指标总量:{{
- analyzeResult.yjkUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.yjkUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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 }} ({{
- analyzeResult.fskUnsatisfiedPercentage
- }})
- <div>
- 指标总量:{{
- analyzeResult.fskUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.fskUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.csyxkUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.csyxkUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.csyxkUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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 }} ({{
- analyzeResult.jykUnsatisfiedPercentage
- }})
- <div>
- 指标总量:{{
- analyzeResult.jykUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.jykUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.sfckUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.sfckUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.sfckUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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 }} ({{
- analyzeResult.ybkUnsatisfiedPercentage
- }})
- <div>
- 指标总量:{{
- analyzeResult.ybkUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.ybkUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.yyhjwsUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.yyhjwsUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.yyhjwsUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.yystUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.yystUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.yystUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.jzyhUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.jzyhUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.jzyhUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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
- }} ({{ analyzeResult.mzyhUnsatisfiedPercentage }})
- <div>
- 指标总量:{{
- analyzeResult.mzyhUnsatisfiedOption.totalOptionSize
- }}, 不满意指标量:{{
- analyzeResult.mzyhUnsatisfiedOption.checkedOptionSize
- }} ({{
- 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 }} / </span
- >
- {{ item.patientId }} / {{
- item.patName
- }} / {{ item.createDatetime }}
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </el-dialog>
- </template>
- <script setup>
- import {
- getQuestionnaireBodies,
- getPatInfoList,
- getAllQuestionnaireBodies,
- updateAssessmentStatusV2,
- assessmentsAnalyseV2,
- getPatientBriefInfoV2,
- } from "@/api/outpatient/clinic-satisfied";
- import { ElMessage } from "element-plus";
- import { Export } from "@/utils/ExportExcel";
- import { getDateRangeFormatDate, getOneMonthOffset } from "@/utils/date";
- import SimplestPatInfo from "@/components/outpatient/SimplestPatInfo.vue";
- import { shortcuts } from "@/data/shortcuts";
- import { getAllWards } from "@/api/login";
- import { xcMessage } from "@/utils/xiaochan-element-plus";
- import { useDialog } from "@/components/cy/CyDialog/index";
- const dateRange = ref([]);
- const wardList = ref([]);
- const pageSize = 30;
- const currentPage = ref(1);
- function handleCurrentChange1(val) {
- currentPage.value = val;
- }
- function questionnared(c) {
- if (c > 0) {
- return '<span style="color: green">是</span>';
- }
- return '<span style="color: red">否</span>';
- }
- const patTable = ref(null);
- function handleClickPatRow(row) {
- if (row.patNo === inquiry.patNo && row.times === inquiry.times) {
- inquiry.patNo = null;
- inquiry.times = null;
- patTable.value.setCurrentRow(null);
- } else {
- inquiry.patNo = row.patNo;
- inquiry.times = row.times;
- }
- fetchAssessments();
- }
- onMounted(() => {
- getAllWards().then(res => {
- wardList.value = res;
- });
- const m = getOneMonthOffset();
- dateRange.value[0] = m.start;
- dateRange.value[1] = m.end;
- });
- const formatDateRange = () => {
- if (dateRange.value.length === 2) {
- const format = getDateRangeFormatDate(dateRange.value);
- inquiry.start = format.startTime;
- inquiry.end = format.endTime;
- }
- };
- const inquiry = reactive({
- visitType: "OUTPATIENT",
- start: null,
- end: null,
- ward: null,
- pageNum: 1,
- pageSize: 30,
- patNo: null,
- times: null,
- onlyShowUnsatisfied: false,
- });
- const assessments = reactive({
- totalSize: 0,
- listV2: [],
- patients: [],
- });
- 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 = [];
- assessments.patients = [];
- };
- const fetchAssessments = flag => {
- formatDateRange();
- if (flag) {
- inquiry.patNo = null;
- inquiry.times = null;
- getPatInfoList(inquiry).then(res => {
- assessments.patients = res;
- });
- }
- 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;
- useDialog(SimplestPatInfo, {
- dialogProps: {
- title: "患者基本信息",
- width: 300,
- },
- params: {
- patInfo: res,
- },
- confirmText: "关闭",
- showCancel: false,
- ignoreError: true,
- });
- });
- }
- const executeAssessmentAnalyse = () => {
- formatDateRange();
- assessmentsAnalyseV2(inquiry).then(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 = flag => {
- let fields;
- if (flag === 1) {
- 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);
- });
- } else {
- if (assessments.patients.length === 0) {
- xcMessage.error("没有可以导出的患者数据。");
- return;
- }
- fields = {
- patNo: "住院号",
- times: "住院次数",
- patName: "患者姓名",
- disdate: "出院日期",
- disdept: "出院病区",
- countDes: "是否已填问卷",
- };
- Export(assessments.patients, fields, "住院问卷患者填写情况");
- }
- };
- </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>
|