| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 满意度明细查询 |
| | | export function getSfStatisticsJoydetails(data) { |
| | | return request({ |
| | | url: "/smartor/serviceSubtask/getSfStatisticsJoydetails", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | }// 满意度统计 |
| | | export function getSfStatisticsJoy(data) { |
| | | return request({ |
| | | url: "/smartor/serviceSubtask/getSfStatisticsJoy", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | // 未及时查询 |
| | | export function selectTimelyRate(data) { |
| | | return request({ |
| | |
| | | type: Array, |
| | | default: () => [], |
| | | }, |
| | | selectedOrder: { |
| | | type: Array, |
| | | default: () => [], |
| | | }, |
| | | // selectedOrder: { |
| | | // type: Array, |
| | | // default: () => [], |
| | | // }, |
| | | valueKey: { |
| | | type: String, |
| | | default: "value", |
| | |
| | | data() { |
| | | return { |
| | | checkedValues: [], |
| | | // selectedOrder: [], // 现在格式为 [{value, compensateTime}] |
| | | selectedOrder: [], // 现在格式为 [{value, compensateTime}] |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | > |
| | | <el-radio |
| | | border |
| | | v-for="(items, index) in item.ivrLibaScriptTargetoptionList" |
| | | v-for="(items, index) in item.ivrTaskScriptTargetoptionList" |
| | | :class=" |
| | | items.isabnormal && item.questionResult == items.targetvalue |
| | | ? 'red-star' |
| | |
| | | <el-checkbox |
| | | border |
| | | @change="$forceUpdate()" |
| | | v-for="(items, indexs) in item.ivrLibaScriptTargetoptionList" |
| | | v-for="(items, indexs) in item.ivrTaskScriptTargetoptionList" |
| | | :key="indexs" |
| | | :label="items.targetvalue" |
| | | > |
| | |
| | | // scriptType: 1, |
| | | // scriptContent: "您的年龄范围是?", |
| | | // questionResult: null, |
| | | // ivrLibaScriptTargetoptionList: [ |
| | | // ivrTaskScriptTargetoptionList: [ |
| | | // { targetvalue: "18-25", value: "18-25", isabnormal: true }, |
| | | // { targetvalue: "26-35", value: "26-35" }, |
| | | // { targetvalue: "36-45", value: "36-45" }, |
| | |
| | | // scriptType: 1, |
| | | // scriptContent: "您的职业是什么?", |
| | | // questionResult: null, |
| | | // ivrLibaScriptTargetoptionList: [ |
| | | // ivrTaskScriptTargetoptionList: [ |
| | | // { targetvalue: "学生", value: "student" }, |
| | | // { targetvalue: "教师", value: "teacher" }, |
| | | // { targetvalue: "工程师", value: "engineer" }, |
| | |
| | | // scriptType: 2, |
| | | // scriptContent: "您感兴趣的活动有哪些?", |
| | | // questionResult: [], |
| | | // ivrLibaScriptTargetoptionList: [ |
| | | // ivrTaskScriptTargetoptionList: [ |
| | | // { targetvalue: "旅游", value: "travel", isabnormal: true }, |
| | | // { targetvalue: "阅读", value: "reading", isabnormal: true }, |
| | | // { targetvalue: "运动", value: "sports", isabnormal: true }, |
| | |
| | | // scriptType: 1, |
| | | // scriptContent: "您的职业是什么?", |
| | | // questionResult: null, |
| | | // ivrLibaScriptTargetoptionList: [ |
| | | // ivrTaskScriptTargetoptionList: [ |
| | | // { targetvalue: "学生", value: "student" }, |
| | | // { targetvalue: "教师", value: "teacher" }, |
| | | // { targetvalue: "工程师", value: "engineer" }, |
| | |
| | | // scriptType: 1, |
| | | // scriptContent: "您的职业是什么?", |
| | | // questionResult: null, |
| | | // ivrLibaScriptTargetoptionList: [ |
| | | // ivrTaskScriptTargetoptionList: [ |
| | | // { targetvalue: "学生", value: "student" }, |
| | | // { targetvalue: "教师", value: "teacher" }, |
| | | // { targetvalue: "工程师", value: "engineer", isabnormal: true }, |
| | |
| | | // scriptType: 1, |
| | | // scriptContent: "您的职业是什么?", |
| | | // questionResult: null, |
| | | // ivrLibaScriptTargetoptionList: [ |
| | | // ivrTaskScriptTargetoptionList: [ |
| | | // { targetvalue: "学生", value: "student" }, |
| | | // { targetvalue: "教师", value: "teacher" }, |
| | | // { targetvalue: "工程师", value: "engineer" }, |
| | |
| | | console.log(arr, "srr"); |
| | | arr.forEach((item, index) => { |
| | | if (item.scriptType == 3||item.scriptType == 4) return; |
| | | var obj = item.ivrLibaScriptTargetoptionList.find( |
| | | var obj = item.ivrTaskScriptTargetoptionList.find( |
| | | (items) => items.targetvalue == item.questionResult |
| | | ); |
| | | console.log(obj, "isabnormal"); |
| | |
| | | // 处理单选选项 |
| | | handleOptionChange(selectedvalue, index, arr) { |
| | | // 查找选中的选项对象 |
| | | const selectedOption = arr.ivrLibaScriptTargetoptionList.find( |
| | | const selectedOption = arr.ivrTaskScriptTargetoptionList.find( |
| | | (option) => option.targetvalue == selectedvalue |
| | | ); |
| | | if (selectedOption) { |
| | |
| | | // ��加分数 |
| | | let score = 0; |
| | | selectedvalues.forEach((value) => { |
| | | const selectedOption = arr.ivrLibaScriptTargetoptionList.find( |
| | | const selectedOption = arr.ivrTaskScriptTargetoptionList.find( |
| | | (option) => option.targetvalue == value |
| | | ); |
| | | if (selectedOption) { |
| | |
| | | :data="userList" |
| | | :border="true" |
| | | @selection-change="handleSelectionChange" |
| | | @row-click="handleRowClick" |
| | | @expand-change="handleRowClick" |
| | | :row-key="getRowKey" |
| | | :expand-row-keys="expands" |
| | | > |
| | |
| | | <el-table-column |
| | | label="满意度题目总量" |
| | | align="center" |
| | | key="manual" |
| | | prop="manual" |
| | | key="joyAllCount" |
| | | prop="joyAllCount" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="满意度填报量" |
| | | align="center" |
| | | key="sms" |
| | | prop="sms" |
| | | key="joyCount" |
| | | prop="joyCount" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="完成比率" |
| | | align="center" |
| | | key="rate" |
| | | prop="rate" |
| | | key="joyTotal" |
| | | prop="joyTotal" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | type="text" |
| | | @click="Seedetails(scope.row)" |
| | | ><span class="button-zx" |
| | | >{{ (Number(scope.row.rate) * 100).toFixed(2) }}%</span |
| | | >{{ |
| | | (Number(scope.row.joyTotal) * 100).toFixed(2) |
| | | }}%</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | width="300" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button size="medium" type="text" @click="Seedetails(scope.row)" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-order"></i>查看详情</span |
| | | ></el-button |
| | | > |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | width="300" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="Seedetails(scope.row)" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-order"></i>查看详情</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <!-- <pagination |
| | |
| | | changetagcategory, |
| | | } from "@/api/system/label"; |
| | | import store from "@/store"; |
| | | import { getSfStatistics, selectTimelyRate } from "@/api/system/user"; |
| | | import { |
| | | getSfStatisticsJoydetails, |
| | | getSfStatisticsJoy, |
| | | selectTimelyRate, |
| | | } from "@/api/system/user"; |
| | | |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | |
| | | // 移除可能存在的"all"值 |
| | | delete params.leavehospitaldistrictcodes.all; |
| | | delete params.deptcodes.all; |
| | | getSfStatistics(params).then((response) => { |
| | | getSfStatisticsJoy(params).then((response) => { |
| | | console.log(response); |
| | | // this.total = response.total; |
| | | this.userList = response.data; |
| | |
| | | return row.statisticaltype === 1 |
| | | ? row.leavehospitaldistrictcode |
| | | : row.deptcode; |
| | | }, |
| | | |
| | | // 处理行点击展开 |
| | | handleRowClick(row) { |
| | | console.log(row, "row"); |
| | | |
| | | // 如果已经展开则收起 |
| | | if (this.expands.includes(this.getRowKey(row))) { |
| | | this.expands = []; |
| | | return; |
| | | } |
| | | // 处理查询参数 |
| | | const params = { |
| | | ...this.queryParams, |
| | | // 如果选择了"全部",则传所有病区/科室代码 |
| | | leavehospitaldistrictcodes: [row.leavehospitaldistrictcode], |
| | | drcode: "1", |
| | | }; |
| | | // 如果该行还没有加载医生数据,则加载 |
| | | if (!row.doctorStats) { |
| | | this.loading = true; |
| | | getSfStatistics(params).then((res) => { |
| | | this.$set(row, "doctorStats", res.data); |
| | | this.expands = [this.getRowKey(row)]; |
| | | this.loading = false; |
| | | }); |
| | | } else { |
| | | this.expands = [this.getRowKey(row)]; |
| | | } |
| | | }, |
| | | /** 修改标签 */ |
| | | handleUpdate(row) { |
| | |
| | | // detail: https://cli.vuejs.org/config/#devserver-proxy |
| | | [process.env.VUE_APP_BASE_API]: { |
| | | // target: `https://www.health-y.cn/lssf`, |
| | | // target: `http://192.168.100.127:8095`, |
| | | target: `http://192.168.100.10:8096`, |
| | | target: `http://192.168.100.127:8095`, |
| | | // target: `http://192.168.100.10:8096`, |
| | | // target:`http://localhost:8095`, |
| | | // target:`http://35z1t16164.qicp.vip`, |
| | | // target: `http://192.168.100.193:8095`, |