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

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

@ -41,7 +41,7 @@
width="80"></el-table-column> 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> 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> width="80"></el-table-column>
<el-table-column label="基础教育" prop="evaBasicEducation" header-align="center" align="center" type="index" <el-table-column label="基础教育" prop="evaBasicEducation" header-align="center" align="center" type="index"
width="80"></el-table-column> width="80"></el-table-column>
@ -140,6 +140,7 @@ export default {
try { try {
let params = { let params = {
...this.formData, ...this.formData,
pageNo: this.currentPage, pageNo: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
}; };
@ -163,7 +164,11 @@ export default {
props: { props: {
satisfactionCategoryStr: { satisfactionCategoryStr: {
type: String, 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 id="myCharts"></div>
</div> </div>
<div> <div>
</div> </div>
</div> </div>
</div> </div>
<el-dialog v-if="showFormList" :visible.sync="showFormList" :close-on-click-modal="false" <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"> class="dialog-h" @closed="showFormList = false" >
<form-list ref="ref_add_form" @handleClose="handleClose" :satisfactionCategoryStr="satisfactionCategoryStr" <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" <el-dialog width="920px" class="dialog-h" title="社区自查报告详情" :close-on-click-modal="false"
v-if="showFollowUpDetail" :visible.sync="showFollowUpDetail" append-to-body > v-if="showFollowUpDetail" :visible.sync="showFollowUpDetail" append-to-body >
<follow-Detail></follow-Detail> <follow-Detail></follow-Detail>
@ -73,7 +72,11 @@
<el-dialog title="调查问卷" <el-dialog title="调查问卷"
:visible.sync="showTduckImage" :visible.sync="showTduckImage"
width="550px"> 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> <div>
<span>问卷链接</span> {{questionnaireUrl}} <span>问卷链接</span> {{questionnaireUrl}}
</div> </div>
@ -231,7 +234,7 @@ export default {
await this.initEcharts(); await this.initEcharts();
}, },
methods: { methods: {
// -------------------------------------------------------------------------------- // ------------------------------------------------------------------------------
async getDicts() { async getDicts() {
try { try {
const requests = [ const requests = [
@ -253,8 +256,6 @@ export default {
console.log("获取字典失败: ", error); console.log("获取字典失败: ", error);
} }
}, },
// ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------
handelDetail() { handelDetail() {
this.showFollowUpDetail = true; 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 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="序号" 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> 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> 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> 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> 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> 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> 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> 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> 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> 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>
<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"
width="80"></el-table-column> width="80"></el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="220"> <el-table-column fixed="right" label="操作" align="center" width="220">
<template slot-scope="scope"> <template slot-scope="scope">

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

@ -7,9 +7,9 @@
<el-form-item label="自评周期"> <el-form-item label="自评周期">
<!-- <el-input v-model="formData.name" placeholder="请输入" size="small" class="u-item-width-normal" <!-- <el-input v-model="formData.name" placeholder="请输入" size="small" class="u-item-width-normal"
clearable></el-input> --> clearable></el-input> -->
<el-date-picker v-model="formData.period" type="date" value-format="yyyy-MM" <el-date-picker v-model="formData.period" type="date" value-format="yyyy-MM" placeholder="选择日期"
placeholder="选择日期" style="width: 202px" clearable> style="width: 202px" clearable>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<div style="float: right; margin-top:5px"> <div style="float: right; margin-top:5px">
<el-button style="margin-left: 30px" size="small" type="primary " <el-button style="margin-left: 30px" size="small" type="primary "
@ -20,34 +20,37 @@
</el-form> </el-form>
</div> </div>
<div class="m-table"> <div class="m-table">
<div class="div_btn"> <div class="div_btn">
<el-button type="primary" size="small" <el-upload :headers="$getElUploadHeaders()" ref="upload" class="upload-btn" action="uploadUlr"
class="diy-button--white el-button--default">导入</el-button> :limit="1" :accept="'.xls,.xlsx'" :with-credentials="true" :show-file-list="false"
<el-button type="primary" size="small" :auto-upload="true" :before-upload="beforeExcelUpload" :http-request="uploadHttpRequest">
class="diy-button--white el-button--default">下载导入模板</el-button> <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>
<div class="m-table-item" :style="{ height: maxTableHeight + 'px', width: '100%' }"> <div class="m-table-item" :style="{ height: maxTableHeight + 'px', width: '100%' }">
<div>本月已参与调研人数 500</div>
<div id="myCharts"></div> <div id="myCharts"></div>
</div> </div>
<div>
</div>
</div> </div>
</div> </div>
<el-dialog v-if="showFormList" :visible.sync="showFormList" :close-on-click-modal="false" <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"> class="dialog-h" @closed="showFormList = false">
<form-list ref="ref_add_form" @handleClose="handleClose" <form-list ref="ref_add_form" @handleClose="handleClose" :satisfactionCategoryStr="satisfactionCategoryStr"
:satisfactionCategoryStr="satisfactionCategoryStr" :period="period"></form-list> :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> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { requestPost,requestGet } from "@/js/dai/request"; import { requestPost, requestGet } from "@/js/dai/request";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import axios from "axios"; import axios from "axios";
import * as echarts from 'echarts' import * as echarts from 'echarts'
@ -61,8 +64,8 @@ export default {
searchH: 20, searchH: 20,
showFormList: false, showFormList: false,
formData: { formData: {
period:"", period: "",
inspRecordId:"" inspRecordId: ""
}, },
multiSelection: [], // multiSelection: [], //
@ -131,7 +134,7 @@ export default {
satisfactionCategoryName: [], satisfactionCategoryName: [],
satisfactionCategory: [], satisfactionCategory: [],
score: [], score: [],
showProvinceFollowUpDetail:false
}; };
}, },
@ -312,7 +315,89 @@ export default {
// this.$message.error(msg); // 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() { resetSearch() {
this.formData = {}; this.formData = {};

Loading…
Cancel
Save