Browse Source

省满意度字段

V1.0
mk 2 years ago
parent
commit
67d8aa9210
  1. 2
      src/views/modules/satisfaction/communitySelfInsp/followUpDetail.vue
  2. 9
      src/views/modules/satisfaction/communitySelfInsp/formList.vue
  3. 15
      src/views/modules/satisfaction/communitySelfInsp/index.vue
  4. 26
      src/views/modules/satisfaction/satisfactionProvince/formList.vue
  5. 123
      src/views/modules/satisfaction/satisfactionProvince/index.vue

2
src/views/modules/satisfaction/communitySelfInsp/followUpDetail.vue

@ -39,7 +39,6 @@
<el-col :span="2.5" >不满意原因</el-col>
<el-col :span="4"><el-input size="small" disabled/></el-col>
</el-row>
<el-row type="flex" class="f-m-top29" >
<el-col :span="2">
病有所医
@ -198,5 +197,4 @@ export default {
margin-left: 20px;
align-items: center;
}
</style>

9
src/views/modules/satisfaction/communitySelfInsp/formList.vue

@ -41,7 +41,7 @@
width="80"></el-table-column>
<el-table-column label="社会救助" prop="evaSocialAssistance" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="老有所养" prop="evaOldPeopleProvid" header-align="center" align="center" type="index"
<el-table-column label="老有所养" prop="evaOldPeopleProvide" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="基础教育" prop="evaBasicEducation" header-align="center" align="center" type="index"
width="80"></el-table-column>
@ -140,6 +140,7 @@ export default {
try {
let params = {
...this.formData,
pageNo: this.currentPage,
pageSize: this.pageSize,
};
@ -163,7 +164,11 @@ export default {
props: {
satisfactionCategoryStr: {
type: String,
default: ' '
default: ''
},
period:{
type: String,
default: ''
}
},
//

15
src/views/modules/satisfaction/communitySelfInsp/index.vue

@ -52,15 +52,14 @@
<div id="myCharts"></div>
</div>
<div>
</div>
</div>
</div>
<el-dialog v-if="showFormList" :visible.sync="showFormList" :close-on-click-modal="false"
:close-on-press-escape="false" title="社区自查" :modal-append-to-body="false" width="820px" top="5vh"
class="dialog-h" @closed="showFormList = false">
class="dialog-h" @closed="showFormList = false" >
<form-list ref="ref_add_form" @handleClose="handleClose" :satisfactionCategoryStr="satisfactionCategoryStr"
@handelDetail="handelDetail" @handelFollowUpList="handelFollowUpList"></form-list>
@handelDetail="handelDetail" @handelFollowUpList="handelFollowUpList" :period="formData.period"></form-list>
<el-dialog width="920px" class="dialog-h" title="社区自查报告详情" :close-on-click-modal="false"
v-if="showFollowUpDetail" :visible.sync="showFollowUpDetail" append-to-body >
<follow-Detail></follow-Detail>
@ -73,7 +72,11 @@
<el-dialog title="调查问卷"
:visible.sync="showTduckImage"
width="550px">
<img :src="qrCodeImgUrl" width="500px" height="500px" alt="">
<el-image :src="qrCodeImgUrl">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
<div>
<span>问卷链接</span> {{questionnaireUrl}}
</div>
@ -231,7 +234,7 @@ export default {
await this.initEcharts();
},
methods: {
// --------------------------------------------------------------------------------
// ------------------------------------------------------------------------------
async getDicts() {
try {
const requests = [
@ -253,8 +256,6 @@ export default {
console.log("获取字典失败: ", error);
}
},
// ------------------------------------------------------------------------------
handelDetail() {
this.showFollowUpDetail = true;

26
src/views/modules/satisfaction/satisfactionProvince/formList.vue

@ -21,31 +21,25 @@
<el-table class="m-table-item" :data="tableData" style="width: 100%">
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
<el-table-column label="填写时间" prop="createdTime" header-align="center" align="center" type="index"
<el-table-column label="评价周期" prop="createdTime" header-align="center" align="center" type="index"
width="100"></el-table-column>
<el-table-column label="姓名" prop="reporterName" header-align="center" align="center" type="index"
<el-table-column label="街道" prop="reporterName" header-align="center" align="center" type="index"
width="50"></el-table-column>
<el-table-column label="联系电话" prop="reporterMobile" header-align="center" align="center" type="index"
<el-table-column label="社区" prop="reporterMobile" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="回访方式" prop="followUpWay" header-align="center" align="center" type="index"
<el-table-column label="姓名" prop="followUpWay" header-align="center" align="center" type="index"
width="100"></el-table-column>
<el-table-column label="文化设施" prop="evaCulturalFacility" header-align="center" align="center" type="index"
<el-table-column label="回访电话" prop="evaCulturalFacility" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="体育设施" prop="evaSportsFacility" header-align="center" align="center" type="index"
<el-table-column label="领域" prop="evaSportsFacility" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="生态环境" prop="evaEcologicalEnv" header-align="center" align="center" type="index"
<el-table-column label="问题" prop="evaEcologicalEnv" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="社会治安" prop="evaSocialSecurity" header-align="center" align="center" type="index"
<el-table-column label="是否完成" prop="evaSocialSecurity" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="社会救助" prop="evaSocialAssistance" header-align="center" align="center" type="index"
<el-table-column label="完成时间" prop="evaSocialAssistance" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="老有所养" prop="evaOldPeopleProvid" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="基础教育" prop="evaBasicEducation" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="病有所医" prop="evaMedical" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column label="回访状态" prop="followUpStatus" header-align="center" align="center" type="index"
<el-table-column label="备注" prop="evaOldPeopleProvide" header-align="center" align="center" type="index"
width="80"></el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="220">
<template slot-scope="scope">

123
src/views/modules/satisfaction/satisfactionProvince/index.vue

@ -7,9 +7,9 @@
<el-form-item label="自评周期">
<!-- <el-input v-model="formData.name" placeholder="请输入" size="small" class="u-item-width-normal"
clearable></el-input> -->
<el-date-picker v-model="formData.period" type="date" value-format="yyyy-MM"
placeholder="选择日期" style="width: 202px" clearable>
</el-date-picker>
<el-date-picker v-model="formData.period" type="date" value-format="yyyy-MM" placeholder="选择日期"
style="width: 202px" clearable>
</el-date-picker>
</el-form-item>
<div style="float: right; margin-top:5px">
<el-button style="margin-left: 30px" size="small" type="primary "
@ -20,34 +20,37 @@
</el-form>
</div>
<div class="m-table">
<div class="div_btn">
<el-button type="primary" size="small"
class="diy-button--white el-button--default">导入</el-button>
<el-button type="primary" size="small"
class="diy-button--white el-button--default">下载导入模板</el-button>
<el-upload :headers="$getElUploadHeaders()" ref="upload" class="upload-btn" action="uploadUlr"
:limit="1" :accept="'.xls,.xlsx'" :with-credentials="true" :show-file-list="false"
:auto-upload="true" :before-upload="beforeExcelUpload" :http-request="uploadHttpRequest">
<el-button type="primary" size="small" class="diy-button--white el-button--default"
:loading="importLoading">导入</el-button>
</el-upload>
<el-button type="primary" style="margin-left:10px" size="small" class="diy-button--white el-button--default"
@click="handleExportModule">下载模板</el-button>
</div>
<div class="m-table-item" :style="{ height: maxTableHeight + 'px', width: '100%' }">
<div>本月已参与调研人数 500</div>
<div id="myCharts"></div>
</div>
<div>
</div>
</div>
</div>
<el-dialog v-if="showFormList" :visible.sync="showFormList" :close-on-click-modal="false"
:close-on-press-escape="false" title="社区自查列表" :modal-append-to-body="false" width="820px" top="5vh"
:close-on-press-escape="false" title="省满意度调查列表" :modal-append-to-body="false" width="820px" top="5vh"
class="dialog-h" @closed="showFormList = false">
<form-list ref="ref_add_form" @handleClose="handleClose"
:satisfactionCategoryStr="satisfactionCategoryStr" :period="period"></form-list>
<form-list ref="ref_add_form" @handleClose="handleClose" :satisfactionCategoryStr="satisfactionCategoryStr"
:period="formData.period"></form-list>
<el-dialog width="820px" class="dialog-h" title="省满意度调查详情" :close-on-click-modal="false"
v-if="showProvinceFollowUpDetail" :visible.sync="showProvinceFollowUpDetail" append-to-body >
<follow-Detail></follow-Detail>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
import { requestPost, requestGet } from "@/js/dai/request";
import { mapGetters } from "vuex";
import axios from "axios";
import * as echarts from 'echarts'
@ -61,8 +64,8 @@ export default {
searchH: 20,
showFormList: false,
formData: {
period:"",
inspRecordId:""
period: "",
inspRecordId: ""
},
multiSelection: [], //
@ -131,7 +134,7 @@ export default {
satisfactionCategoryName: [],
satisfactionCategory: [],
score: [],
showProvinceFollowUpDetail:false
};
},
@ -312,7 +315,89 @@ export default {
// this.$message.error(msg);
// }
},
async handleExportModule() {
let url = "/governance/provinceEvaluationRecord/provinceStatis/downloadImportTemplate";
let params = {};
await this.$http({
method: "get",
url,
responseType: "blob",
data: params,
})
.then((res) => {
console.log("res----dddd", res);
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(
res.headers["content-disposition"].split(";")[1].split("=")[1]
);
console.log("filename", fileName);
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel",
});
var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
aLink.style.display = "none";
aLink.href = url;
aLink.setAttribute("download", fileName);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
})
.catch((err) => {
console.log("err", err);
return this.$message.error("网络错误");
});
},
beforeExcelUpload(file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
file.type ===
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
const fileType = isType || isTypeComputer;
const isLt1M = file.size / 1024 / 1024 < 10;
if (!fileType) {
this.$message.error("上传文件只能是xls/xlsx格式!");
}
if (!isLt1M) {
this.$message.error("上传文件大小不能超过 10MB!");
}
return fileType && isLt1M;
},
async uploadHttpRequest(file) {
this.$message({
showClose: true,
dangerouslyUseHTMLString: true,
message:
"导入中,请到系统管理-<a id='clickA' style='cursor: pointer;'>导入记录</a>中查看进度",
duration: 3000,
});
let than = this;
document.getElementById("clickA").addEventListener("click", function () {
than.$router.replace("/main/importRecord-index");
});
const formData = new FormData(); //FormDataappend('key', value)
formData.append("file", file.file); //
await this.$http
.post("/governance/satisfaction/provinceEvaluationRecord/StaticPeopleNum/2023-09", formData)
.then((res) => {
console.log("res-up", res);
if (res.data.code == 0 && res.data.msg == "success") {
this.$message.success("导入成功");
this.getTableData();
this.$refs.upload.clearFiles();
} else this.$message.error(res.data.msg);
})
.catch((err) => {
console.log("失败", err);
file.onError(); //
this.$message.error('导入失败')
});
},
//
resetSearch() {
this.formData = {};

Loading…
Cancel
Save