|
@@ -28,6 +28,7 @@
|
|
|
<el-button
|
|
|
type="text"
|
|
|
style="color:rgb(65, 80, 88);"
|
|
|
+ @click="openPreview(item)"
|
|
|
>立即处理</el-button>
|
|
|
</div>
|
|
|
<div>
|
|
@@ -57,6 +58,7 @@
|
|
|
<el-button
|
|
|
type="text"
|
|
|
style="color:rgb(65, 80, 88);"
|
|
|
+ @click="openPreview(item)"
|
|
|
>立即处理</el-button>
|
|
|
</div>
|
|
|
<div>
|
|
@@ -95,13 +97,38 @@
|
|
|
<div id="container3"></div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title=""
|
|
|
+ :visible.sync="imgVisible"
|
|
|
+ append-to-body
|
|
|
+ width="80%">
|
|
|
+ <div class="mg-b-20">{{curNew.projectName}}——{{curNew.contractName}}</div>
|
|
|
+ <div class="mg-b-20">问题描述:{{curNew.opinionContent}}</div>
|
|
|
+ <div class="mg-b-20">
|
|
|
+ <span class="mg-r-20">反馈人员:{{curNew.submitUserName}}</span>
|
|
|
+ <span class="mg-r-20">电话:{{curNew.submitPhone}}</span>
|
|
|
+ <span class="mg-r-20">岗位:资料员</span>
|
|
|
+ </div>
|
|
|
+ <div class="mg-b-20">反馈时间:{{curNew.manageTime}}</div>
|
|
|
+ <el-carousel trigger="click" height="500px" :autoplay="false" style="text-align:center;">
|
|
|
+ <el-carousel-item v-for="item in curNew.fileUrl" :key="item">
|
|
|
+ <el-image :src="item" fit="scale-down" style="height:500px;" :preview-src-list="curNew.fileUrl"></el-image>
|
|
|
+ </el-carousel-item>
|
|
|
+ </el-carousel>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="imgVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submissionProgress">前 往 处 理</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
// 引入统计图
|
|
|
import { Area, Column, Pie } from '@antv/g2plot';
|
|
|
-import { queryBusinessUserOpinion, queryBusinessUserOpinionAll, queryProjectUserAmount, queryProjectPfx, queryOpinionTypeAmount } from '@/api/news/news.js';
|
|
|
+import { queryBusinessUserOpinion, queryBusinessUserOpinionAll, queryProjectUserAmount, queryProjectPfx, queryOpinionTypeAmount, queryOpinionDetails } from '@/api/news/news.js';
|
|
|
export default {
|
|
|
data () {
|
|
|
return {
|
|
@@ -115,22 +142,38 @@ export default {
|
|
|
userOpinionTypeList:[],
|
|
|
projectList:[],
|
|
|
projectId:'',
|
|
|
+ imgVisible:false,
|
|
|
+ curNew:{},
|
|
|
+ pieObj:null,
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ submissionProgress(){
|
|
|
+ this.$router.push({
|
|
|
+ path: '/news/news'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ async openPreview(row){
|
|
|
+ const { data : res } = await queryOpinionDetails({userOpinionId : row.userOpinionId});
|
|
|
+ if(res.code == 200){
|
|
|
+ this.curNew = res.data;
|
|
|
+ }
|
|
|
+ this.imgVisible = true;
|
|
|
+ },
|
|
|
selectProjectOpinion(){
|
|
|
let _this = this;
|
|
|
- this.userOpinionTypeList.forEach(vo => {
|
|
|
- if(vo.projectId === _this.projectId){
|
|
|
- _this.PieData = [];
|
|
|
- let problemType = vo.problemType;
|
|
|
- let problemTypeAmount = vo.problemTypeAmount;
|
|
|
- _this.projectId = vo.projectId;
|
|
|
- problemType.forEach((name, index) => {
|
|
|
- _this.PieData.push({type : name, value : Number(problemTypeAmount[index])});
|
|
|
- });
|
|
|
- }
|
|
|
+ _this.PieData = [];
|
|
|
+ this.userOpinionTypeList.forEach(obj => {
|
|
|
+ if(obj.projectId == _this.projectId){
|
|
|
+ let problemType = obj.problemType;
|
|
|
+ let problemTypeAmount = obj.problemTypeAmount;
|
|
|
+ problemType.forEach((name, index) => {
|
|
|
+ _this.PieData.push({type : name, value : Number(problemTypeAmount[index])});
|
|
|
+ });
|
|
|
+ }
|
|
|
})
|
|
|
+
|
|
|
+ this.pieObj.changeData(_this.PieData);
|
|
|
},
|
|
|
async handleSelect (key) {
|
|
|
if (key == 2) {
|
|
@@ -238,6 +281,7 @@ export default {
|
|
|
},
|
|
|
});
|
|
|
piePlot.render();
|
|
|
+ this.pieObj = piePlot;
|
|
|
},
|
|
|
//获取人员账户
|
|
|
async queryProjectUserAmount(){
|
|
@@ -262,16 +306,19 @@ export default {
|
|
|
},
|
|
|
//维护类型统计汇总
|
|
|
async queryOpinionTypeAmount(){
|
|
|
- let _this = this;
|
|
|
+ let _this = this;
|
|
|
const {data : res} = await queryOpinionTypeAmount();
|
|
|
this.userOpinionTypeList = res.data.userOpinionList;
|
|
|
- let problemType = this.userOpinionTypeList[0].problemType;
|
|
|
- let problemTypeAmount = this.userOpinionTypeList[0].problemTypeAmount;
|
|
|
- this.projectId = this.userOpinionTypeList[0].projectId;
|
|
|
+ this.projectList = res.data.projectInfos;
|
|
|
+
|
|
|
+ let userOpinion = this.userOpinionTypeList[0];
|
|
|
+ let problemType = userOpinion.problemType;
|
|
|
+ let problemTypeAmount = userOpinion.problemTypeAmount;
|
|
|
+ this.projectId = userOpinion.projectId;
|
|
|
+
|
|
|
problemType.forEach((name, index) => {
|
|
|
_this.PieData.push({type : name, value : Number(problemTypeAmount[index])});
|
|
|
});
|
|
|
- this.projectList = res.data.projectInfos;
|
|
|
}
|
|
|
},
|
|
|
created () {
|