diff --git a/src/views/components/resiInfo.vue b/src/views/components/resiInfo.vue index 965f67b1a..055ea214d 100644 --- a/src/views/components/resiInfo.vue +++ b/src/views/components/resiInfo.vue @@ -1,914 +1,847 @@ \ No newline at end of file diff --git a/src/views/dataBoard/satisfactionEval/components/Title/index.vue b/src/views/dataBoard/satisfactionEval/components/Title/index.vue index 55cb2161c..dd04a4158 100644 --- a/src/views/dataBoard/satisfactionEval/components/Title/index.vue +++ b/src/views/dataBoard/satisfactionEval/components/Title/index.vue @@ -1,8 +1,8 @@ @@ -96,12 +91,12 @@ import followDetail from "./followUpDetail"; import util from "@js/util.js"; export default { - components: { formList, followList,followDetail }, + components: { formList, followList, followDetail }, data() { return { searchH: 20, - + formData: { period: "",//月份 inspRecordId: "", @@ -133,7 +128,7 @@ export default { containLabel: true, }, toolbox: {}, - + xAxis: { type: "category", boundaryGap: true, @@ -149,19 +144,19 @@ export default { lineStyle: { width: 60, // 设置阴影的宽度 color: "#000", - opacity:0 + opacity: 0 }, - // 控制间隔,这里设置为2表示左右两侧有间隔,可以根据需要调整 + // 控制间隔,这里设置为2表示左右两侧有间隔,可以根据需要调整 }, - + }, - + yAxis: { type: "value", name: "单位(个)", min: 0, - + }, series: [ { @@ -202,7 +197,7 @@ export default { }, ], }, - + satisfactionCategory: [],//类目 satisfactionCategoryName: [], score: [], //综合得分 @@ -210,10 +205,14 @@ export default { showFormList: false, //自查列表弹框 showFollowUpDetail: false,//自查列表中查看弹框 showFollowUpList: false,//回访记录弹框 - showTduckImage:false, + showTduckImage: false, + + qrCodeImgUrl: '',//生成二维码图片链接 + questionnaireUrl: '', + synthesisScore: '', + personQty: '', - qrCodeImgUrl:'',//生成二维码图片链接 - questionnaireUrl:'' + inspResultId:"" }; }, @@ -231,11 +230,16 @@ export default { this.agencyId = this.user.agencyId; await this.getDicts(); await this.getTableData(); - await this.initEcharts(); + this.$nextTick(() => { + this.initEcharts(); + }) }, - created(){ + created() { let date = new Date() - this.formData.period = util.formatDate(date,'yyyy-MM') + this.formData.period = util.formatDate(date, 'yyyy-MM') + }, + activated() { + this.handleWindowResize() }, methods: { // ------------------------------------字典------------------------------------------ @@ -261,22 +265,23 @@ export default { } }, // ------------------------------------事件------------------------------------------ - handelDetail() { + handelDetail(id) { this.showFollowUpDetail = true; + this.inspResultId = id }, handelFollowUpList() { this.showFollowUpList = true; }, - async handleCreateMonthlySurvey(){ - try{ + async handleCreateMonthlySurvey() { + try { let url = '/governance/satisfaction/communitySelfInsp/generateQuestionnaire' - const {data,code} = await requestPost(url) - if(code == 0){ + const { data, code } = await requestPost(url) + if (code == 0) { this.showTduckImage = true this.qrCodeImgUrl = data.qrCodeImgUrl this.questionnaireUrl = data.questionnaireUrl } - }catch(err){ + } catch (err) { console.log(err); } }, @@ -285,12 +290,8 @@ export default { this.myChart.setOption(this.option); let than = this; this.myChart.on("click", function (params) { - // console.log(params.name); // 柱子对应的类目名 - // console.log(params.data); // 柱子的数据 - // console.log(params.seriesName); // 对应的系列名称 - than.handelClickChart(params.name); + than.handelClickChart(params.name,params.seriesName); }); - window.addEventListener("resize", this.handleWindowResize); }, handleWindowResize() { @@ -298,14 +299,16 @@ export default { this.myChart.resize(); } }, - handelClickChart(name) { + handelClickChart(name,seriesName) { this.showFormList = true; this.satisfactionCategoryStr = this.dicts.satisfaction_category.filter( (item) => item.label == name )[0].value; + this.seriesName = seriesName == '满意'?'veryGood':seriesName == '基本满意'?'good':'bad'; }, handleClose() { this.showFormList = false; + this.showFollowUpDetail = false }, // 搜索事件 handleSearch(val) { @@ -315,113 +318,116 @@ export default { // 获取列表 async getTableData() { - this.tableLoading = true; - this.tableData = [ - { - satisfactionCategory: "culturalFacility", - satisfactionCategoryName: "文化设施", - score: "20", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "sportsFacility", - satisfactionCategoryName: "体育设施", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "ecologicalEnv", - satisfactionCategoryName: "生态环境", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "socialSecurity", - satisfactionCategoryName: "社会治安", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "socialAssistance", - satisfactionCategoryName: "社会救助", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "oldPeopleProvide", - satisfactionCategoryName: "老有所养", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "basicEducation", - satisfactionCategoryName: "基础教育", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - { - satisfactionCategory: "medical", - satisfactionCategoryName: "病有所医", - score: "50", - badQty: 40, - goodQty: 20, - veryGoodQty: 30, - }, - ]; - const allowedCategories = this.dicts.satisfaction_category.map( - (item) => item.value - ); - this.tableData.forEach((item) => { - if (allowedCategories.includes(item.satisfactionCategory)) { - this.option.series[0].data.push(item.veryGoodQty); - this.option.series[1].data.push(item.goodQty); - this.option.series[2].data.push(item.badQty); - this.option.xAxis.data.push(item.satisfactionCategoryName); - this.satisfactionCategory.push(item.satisfactionCategory); - this.score.push({ - score: item.score, - satisfactionCategoryName: item.satisfactionCategoryName, - imgUrl: require(`../../../../assets/img/satisfaction/${item.satisfactionCategory}.png`), - }); - } - }); - console.log(this.score, "综合得分"); - // const url = "/governance/satisfaction/communitySelfInsp/stats/synthesis"; - - // const { formData } = this; - // const { data, code, msg } = await requestGet(url, {...formData}); - // this.tableLoading = false; - // if (code === 0) { - // this.total = data.total || 0; - // this.tableData = data.categoryDatas; - // const allowedCategories = this.dicts.satisfaction_category.map(item => item.value) - // this.tableData.forEach(item => { + // this.tableLoading = true; + // this.tableData = [ + // { + // satisfactionCategory: "culturalFacility", + // satisfactionCategoryName: "文化设施", + // score: "20", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "sportsFacility", + // satisfactionCategoryName: "体育设施", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "ecologicalEnv", + // satisfactionCategoryName: "生态环境", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "socialSecurity", + // satisfactionCategoryName: "社会治安", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "socialAssistance", + // satisfactionCategoryName: "社会救助", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "oldPeopleProvide", + // satisfactionCategoryName: "老有所养", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "basicEducation", + // satisfactionCategoryName: "基础教育", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // { + // satisfactionCategory: "medical", + // satisfactionCategoryName: "病有所医", + // score: "50", + // badQty: 40, + // goodQty: 20, + // veryGoodQty: 30, + // }, + // ]; + // const allowedCategories = this.dicts.satisfaction_category.map( + // (item) => item.value + // ); + // this.tableData.forEach((item) => { // if (allowedCategories.includes(item.satisfactionCategory)) { - // this.option.series[0].data.push(item.veryGoodQty) - // this.option.series[1].data.push(item.goodQty) - // this.option.series[2].data.push(item.badQty) - // this.option.xAxis.data.push(item.satisfactionCategoryName) - // this.satisfactionCategory.push(item.satisfactionCategory) - // this.score.push({ score: item.score, satisfactionCategoryName: item.satisfactionCategoryName, imgUrl: require(`../../../../assets/img/satisfaction/${item.satisfactionCategory}.png`) }); + // this.option.series[0].data.push(item.veryGoodQty); + // this.option.series[1].data.push(item.goodQty); + // this.option.series[2].data.push(item.badQty); + // this.option.xAxis.data.push(item.satisfactionCategoryName); + // this.satisfactionCategory.push(item.satisfactionCategory); + // this.score.push({ + // score: item.score, + // satisfactionCategoryName: item.satisfactionCategoryName, + // imgUrl: require(`../../../../assets/img/satisfaction/${item.satisfactionCategory}.png`), + // }); // } // }); - // } else { - // this.$message.error(msg); - // } + // console.log(this.score, "综合得分"); + const url = "/governance/satisfaction/communitySelfInsp/stats/synthesis"; + + const { formData } = this; + const { data, code, msg } = await requestGet(url, { ...formData }); + this.tableLoading = false; + if (code === 0) { + this.total = data.total || 0; + this.tableData = data.categoryDatas; + this.formData.inspRecordId = data.inspRecordId; + this.synthesisScore = data.synthesisScore; + this.personQty = data.personQty + const allowedCategories = this.dicts.satisfaction_category.map(item => item.value) + this.tableData.forEach(item => { + if (allowedCategories.includes(item.satisfactionCategory)) { + this.option.series[0].data.push(item.veryGoodQty) + this.option.series[1].data.push(item.goodQty) + this.option.series[2].data.push(item.badQty) + this.option.xAxis.data.push(item.satisfactionCategoryName) + this.satisfactionCategory.push(item.satisfactionCategory) + this.score.push({ score: item.score, satisfactionCategoryName: item.satisfactionCategoryName, imgUrl: require(`../../../../assets/img/satisfaction/${item.satisfactionCategory}.png`) }); + } + }); + } else { + this.$message.error(msg); + } }, // 重置 diff --git a/src/views/modules/satisfaction/detail/eventInfo.vue b/src/views/modules/satisfaction/detail/eventInfo.vue new file mode 100644 index 000000000..581411779 --- /dev/null +++ b/src/views/modules/satisfaction/detail/eventInfo.vue @@ -0,0 +1,49 @@ + + + \ No newline at end of file diff --git a/src/views/modules/satisfaction/detail/index.vue b/src/views/modules/satisfaction/detail/index.vue new file mode 100644 index 000000000..03412a8e9 --- /dev/null +++ b/src/views/modules/satisfaction/detail/index.vue @@ -0,0 +1,530 @@ + + + + + diff --git a/src/views/modules/satisfaction/satisfactionProvince/index.vue b/src/views/modules/satisfaction/satisfactionProvince/index.vue index f77b81151..952b377ab 100644 --- a/src/views/modules/satisfaction/satisfactionProvince/index.vue +++ b/src/views/modules/satisfaction/satisfactionProvince/index.vue @@ -42,8 +42,8 @@ @handelClickEdit="handelClickEdit"> - + @@ -150,7 +150,6 @@ export default { }, ...mapGetters(["clientHeight", "iframeHeight"]), }, - watch: {}, created() { let date = new Date() this.formData.periodStart = util.formatDate(date, 'yyyy-MM') @@ -167,11 +166,11 @@ export default { // --------------------------------------字典------------------------------------------ async getDicts() { try { + const requests = [ this.$http.post("sys/dict/data/dictlist", { dictType: "satisfaction_category", }), - ]; const dictKeys = ['satisfaction_category']; // 对应的键名 @@ -187,8 +186,6 @@ export default { console.log("获取字典失败: ", error); } }, - - // ------------------------------------事件------------------------------------------ initEcharts() { this.myChart = echarts.init(document.getElementById('myCharts')); @@ -204,7 +201,6 @@ export default { window.addEventListener('resize', this.handleWindowResize); }, - handleWindowResize() { if (this.myChart) { this.myChart.resize(); @@ -231,20 +227,20 @@ export default { this.showProvinceFollowUpDetail = false this.save(form) }, - async save(form) { - try{ + async save(form) { + try { const url = '/governance/provinceEvaluationRecord/updateInfo' form.periodName = null - const {code} = await requestPost(url,form) - if(code == 0){ + const { code } = await requestPost(url, form) + if (code == 0) { this.getTableData() this.$refs['ref_form_list'].getTableData() this.$message.success('保存成功') this.showProvinceFollowUpDetail = false } - }catch(err){ + } catch (err) { console.log(err); - } + } }, // 搜索事件 handleSearch(val) { @@ -361,7 +357,9 @@ export default { this.getTableData(); }, }, - + activated() { + this.handleWindowResize() + }, props: {}, }; diff --git a/src/views/modules/shequzhili/event/cpts/add.vue b/src/views/modules/shequzhili/event/cpts/add.vue index 0025cc77f..f448450c4 100644 --- a/src/views/modules/shequzhili/event/cpts/add.vue +++ b/src/views/modules/shequzhili/event/cpts/add.vue @@ -17,7 +17,9 @@ - + + + @@ -30,12 +32,7 @@ - - - + @@ -129,7 +126,6 @@ var geocoder; // 新建一个正逆地址解析类 function iniFmData() { return { - gridId: "", //所属网格 reportUserId: "", // 上报人ID name: "", // 上报人姓名 @@ -143,7 +139,8 @@ function iniFmData() { address: "", //事件地址 latitude: "", // 经度 longitude: "", //维度 - // operationType: '',// 处理方式 + workOrderNum : "" //工单号 + // operationType: '0',// 处理方式 // content: '',//回复内容 // status: '',// 处理中:processing;已办结:closed_case }; @@ -157,10 +154,8 @@ export default { searchValue: '', resultList: [], loading: false, - btnDisable: false, gridList: [], //所属网格list--场所区域 - qudaoArray: [ { value: "1", @@ -212,31 +207,16 @@ export default { components: {}, computed: { dataRule() { - let checkIdCard = (rule, value, callback) => { - if (value === "") { - callback(new Error("请输入证件号")); - } else { - if (!isCard(value)) { - callback(new Error("证件号格式不正确")); - } - callback(); - } - }; - return { gridId: [ { required: true, message: "所属组织不能为空", trigger: "blur" }, ], + workOrderNum :[ + { required: true, message: "工单号不能为空", trigger: "blur" } + ], name: [ { required: true, message: "联系人不能为空", trigger: "blur" } ], - mobile: [ - //{ required: true, message: "联系电话不能为空", trigger: "blur" }, - ], - // idCard: [ - // { required: true, message: "证件号不能为空", trigger: "blur" }, - // { required: true, validator: checkIdCard, trigger: "blur" }, - // ], sourceType: [ { required: true, message: "反映渠道不能为空", trigger: "blur" }, ], diff --git a/src/views/modules/shequzhili/event/cpts/event-detail.vue b/src/views/modules/shequzhili/event/cpts/event-detail.vue index ff9675ffc..773f769f5 100644 --- a/src/views/modules/shequzhili/event/cpts/event-detail.vue +++ b/src/views/modules/shequzhili/event/cpts/event-detail.vue @@ -15,114 +15,82 @@ 接收时间: {{ info.happenTime }} -
+
+ 工单号: + {{ info.workOrderNum }} +
+
事件内容: {{ info.eventContent }}
-
+
图片:
-
+
语音:
-
+
上报渠道: {{ info.sourceTypeName }}
-
+
详细地址 {{ info.address }}
-
+
联系人: {{ info.name }}
-
+
联系电话: {{ info.mobile }}
-
+
标记: {{ info.markTypeName || "--" }}
-
+
满意度:
{{ info.satisfactionName }}
-
+ 显示关闭: + 1、状态=完成 (已评价)||(没评价&&不是本人) + 2、状态=未完成 (有操作id) + --> +
关闭
- - +

满意度评价

-
- -
不满意
-
-
- -
满意
-
-
- -
非常满意
-
+ + 满意 + 基本满意 + 不满意 +
-
关闭 查看详情
-
+
-
+
处理
-
关闭
-
-
{{ item.processName }}
+ + +
{{ item.processTime }}
-