Browse Source

Merge branch 'dev-shuju' of http://git.elinkit.com.cn:7070/r/epmet-oper-gov into dev-shuju

shibei_prod
dai 4 years ago
parent
commit
6a53ffd4da
  1. 642
      src/assets/scss/modules/visual/incident-info.scss
  2. 4
      src/assets/scss/modules/visual/typeAnalyze.scss
  3. 24
      src/views/modules/communityParty/elegant/index.vue
  4. 19
      src/views/modules/communityService/measure/index.vue
  5. 117
      src/views/modules/visual/communityGovern/cpt/project-info.vue
  6. 116
      src/views/modules/visual/communityGovern/typeAnalyze.vue
  7. 21
      src/views/modules/visual/components/screen-echarts-frame/index.vue
  8. 44
      src/views/modules/visual/cpts/analyse.vue
  9. 406
      src/views/modules/visual/measure/dialogInfo.vue
  10. 71
      src/views/modules/visual/measure/service.vue

642
src/assets/scss/modules/visual/incident-info.scss

@ -1,375 +1,379 @@
@import "../../c/config"; @import '../../c/config';
@import "../../c/function"; @import '../../c/function';
@import "./c/common"; @import './c/common';
.m-pop { .m-pop {
@include shield; @include shield;
background-color: rgba(#000, 0.9); background-color: rgba(#000, 0.9);
overflow-y: auto; overflow-y: auto;
.wrap { .wrap {
position: relative; position: relative;
margin: 120px auto; margin: 120px auto;
width: 1020px; width: 1020px;
.title { .title {
padding: 10px; padding: 10px;
font-size: 22px; font-size: 22px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #ffffff; color: #ffffff;
display: flex; display: flex;
align-items: center; align-items: center;
img { img {
display: block; display: block;
margin-right: 5px; margin-right: 5px;
} }
span { span {
display: block; display: block;
} }
} }
.btn-close { .btn-close {
position: absolute; position: absolute;
top: -15px; top: -15px;
right: -15px; right: -15px;
cursor: pointer; cursor: pointer;
} }
.line { .line {
margin: 20px auto; margin: 20px auto;
width: 900px; width: 900px;
height: 1px; height: 1px;
border: 1px dashed #1257c9; border: 1px dashed #1257c9;
} }
.tabs { .tabs {
margin-top: 30px; margin-top: 30px;
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 20px; padding-left: 20px;
padding-left: 58px; padding-left: 58px;
.tab-btn { .tab-btn {
width: 30px; width: 30px;
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
} }
.tab { .tab {
margin: 0 5px; margin: 0 5px;
min-width: 76px; min-width: 76px;
padding: 0 5px; padding: 0 5px;
height: 30px; height: 30px;
background: rgba(255, 255, 255, 0); background: rgba(255, 255, 255, 0);
border: 1px solid #1257c9; border: 1px solid #1257c9;
box-shadow: 0 0 10px 0 inset #1257c9; box-shadow: 0 0 10px 0 inset #1257c9;
border-radius: 2px; border-radius: 2px;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
transition: all ease 0.5s; transition: all ease 0.5s;
&.z-on { &.z-on {
background: linear-gradient(90deg, #1a5afd, #009cff); background: linear-gradient(90deg, #1a5afd, #009cff);
box-shadow: none; box-shadow: none;
}
}
} }
}
} }
}
} }
.m-info { .m-info {
padding-left: 62px; padding-left: 62px;
font-size: 14px; font-size: 14px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
line-height: 24px;
width: 500px;
.info-title {
margin-top: 30px;
font-size: 20px;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: bold;
color: #ffffff; color: #ffffff;
line-height: 24px; line-height: 30px;
width: 500px; }
.info-content {
.info-title { margin: 20px 0;
margin-top: 30px; }
font-size: 20px; .info-pics {
font-family: PingFang SC; display: flex;
font-weight: bold; margin: 20px 0;
color: #ffffff; img {
line-height: 30px; display: block;
} width: 32%;
.info-content { height: 90px;
margin: 20px 0; margin-right: 9px;
} object-fit: cover;
.info-pics {
display: flex;
margin: 20px 0;
img {
display: block;
width: 32%;
height: 90px;
margin-right: 9px;
object-fit: cover;
}
} }
}
.info-prop { .info-prop {
position: relative; position: relative;
margin: 10px 0; margin: 10px 0;
display: flex; display: flex;
padding-left: 15px; padding-left: 15px;
> span, > span,
> div { > div {
display: block; display: block;
max-width: 300px; max-width: 300px;
} }
&::before { &::before {
content: ""; content: '';
display: block; display: block;
position: absolute; position: absolute;
top: 9px; top: 9px;
left: 0; left: 0;
width: 7px; width: 7px;
height: 7px; height: 7px;
background: #0c81fe; background: #0c81fe;
border-radius: 3px; border-radius: 3px;
margin-right: 10px; margin-right: 10px;
}
} }
}
} }
.m-case { .m-case {
@include scrollBar; @include scrollBar;
height: 600px; height: 600px;
padding: 20px 0 20px 0; padding: 20px 0 20px 0;
overflow-y: auto; overflow-y: auto;
} }
.m-row { .m-row {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.m-yanpan { .m-yanpan {
padding-left: 62px; padding-left: 62px;
padding-right: 0; padding-right: 0;
min-height: 300px; min-height: 300px;
} }
.m-hint { .m-hint {
position: relative; position: relative;
height: 300px; height: 300px;
// 暂无数据 // 暂无数据
img { img {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
margin: auto; margin: auto;
} }
} }
.m-line { .m-line {
min-width: 400px; min-width: 400px;
.stat { .stat {
margin: 20px 0 10px; margin: 20px 0 10px;
display: flex; display: flex;
.stat-item { .stat-item {
width: 33%; width: 33%;
text-align: center; text-align: center;
div { div {
font-size: 17px; font-size: 17px;
font-family: Source Han Serif SC; font-family: Source Han Serif SC;
font-weight: 500; font-weight: 500;
color: rgba(#fff, 0.5); color: rgba(#fff, 0.5);
line-height: 24px; line-height: 24px;
&.z-weak { &.z-weak {
font-size: 12px; font-size: 12px;
font-family: Source Han Serif SC; font-family: Source Han Serif SC;
font-weight: 500; font-weight: 500;
color: rgba(#fff, 0.5); color: rgba(#fff, 0.5);
line-height: 24px; line-height: 24px;
}
}
} }
}
} }
}
} }
.m-tb { .m-tb {
padding-left: 62px; padding-left: 62px;
padding-right: 40px; padding-right: 40px;
} }
.m-pagination { .m-pagination {
box-sizing: border-box; box-sizing: border-box;
margin-top: 20px; margin-top: 20px;
width: 100%; width: 100%;
height: 40px; height: 40px;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background: #0266d1;
color: #000d3f;
}
/deep/ .el-pagination .el-pager li {
background: #002e74;
}
/deep/ .el-pagination .btn-prev {
background: #002e74;
}
/deep/ .el-pagination .btn-next {
background: #002e74;
}
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { .m-process {
background: #0266d1; width: 400px;
color: #000d3f;
}
/deep/ .el-pagination .el-pager li { .process-title {
background: #002e74; margin-bottom: 25px;
} margin-left: -5px;
font-size: 16px;
font-family: PingFang SC;
font-weight: bold;
color: #ffffff;
line-height: 18px;
}
/deep/ .el-pagination .btn-prev { .list {
background: #002e74; position: relative;
box-sizing: border-box;
margin-top: 30px/2;
margin-left: 50px/2;
padding: 0 0 0 30px/2;
width: 680px/2;
border-left: 3px solid #0c81fe;
padding-right: 10px;
&::before {
content: '';
position: absolute;
z-index: 1;
display: block;
top: -2px/2;
left: -2px/2;
width: 5px/2;
height: 20px/2;
background-color: #ffffff;
} }
/deep/ .el-pagination .btn-next { .item {
background: #002e74; position: relative;
} z-index: 2;
} margin-bottom: 8px;
padding-bottom: 8px;
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #fefefe;
line-height: 24px;
padding-left: 20px;
padding-top: 1px;
&::before {
content: '';
display: block;
position: absolute;
top: -5px;
left: -11px;
width: 18px;
height: 18px;
background: #0c81fe;
border: 4px solid lighten(#0c81fe, 15);
border-radius: 100%;
}
&.z-on {
&::before {
background: #e08400;
border-color: lighten(#e08400, 15);
}
}
.m-process { &:last-child {
width: 400px; margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.process-title { .item-row {
margin-bottom: 25px; margin-top: -10px;
margin-left: -5px; margin-bottom: 10px;
font-size: 16px; display: flex;
font-family: PingFang SC; }
font-weight: bold;
color: #ffffff;
line-height: 18px;
}
.list { .name {
position: relative; position: relative;
box-sizing: border-box; padding: 0 10px;
margin-top: 30px/2; font-size: 12px;
margin-left: 50px/2; font-family: PingFang SC;
padding: 0 0 0 30px/2; font-weight: 500;
width: 680px/2; color: #fefefe;
border-left: 3px solid #0c81fe; line-height: 22px;
padding-right: 10px; height: 22px;
border-radius: 10px 0 10px 0;
background-color: #0c81fe;
// background-color: #e08400;
}
.date {
margin-left: 10px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #7ca1d2;
line-height: 25px;
}
&::before { .detail {
content: ""; @include cs;
position: absolute; font-size: 16px;
z-index: 1; line-height: 20px;
display: block; margin-bottom: 5px;
top: -2px/2; display: flex;
left: -2px/2;
width: 5px/2;
height: 20px/2;
background-color: #ffffff;
}
.item { .detail-field {
position: relative; width: 22%;
z-index: 2; text-align: justify;
margin-bottom: 8px; text-align-last: justify;
padding-bottom: 8px;
font-size: 16px;
font-family: PingFang SC;
font-weight: 400;
color: #fefefe;
line-height: 24px;
padding-left: 20px;
padding-top: 1px;
&::before {
content: "";
display: block;
position: absolute;
top: -5px;
left: -11px;
width: 18px;
height: 18px;
background: #0c81fe;
border: 4px solid lighten(#0c81fe, 15);
border-radius: 100%;
}
&.z-on {
&::before {
background: #e08400;
border-color: lighten(#e08400, 15);
}
}
&:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
.item-row {
margin-top: -10px;
margin-bottom: 10px;
display: flex;
}
.name {
position: relative;
padding: 0 10px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #fefefe;
line-height: 22px;
height: 22px;
border-radius: 10px 0 10px 0;
background-color: #0c81fe;
// background-color: #e08400;
}
.date {
margin-left: 10px;
font-size: 12px;
font-family: PingFang SC;
font-weight: 500;
color: #7ca1d2;
line-height: 25px;
}
.detail {
@include cs;
font-size: 16px;
line-height: 20px;
margin-bottom: 5px;
display: flex;
.detail-field {
width: 22%;
text-align: justify;
text-align-last: justify;
}
.detail-value {
width: 78%;
.detail-link {
display: inline;
}
}
}
.attachement-list {
padding-left: 80px;
a {
display: block;
cursor: pointer;
color: #4df0ff;
font-size: 14px;
i {
color: #fff;
}
}
}
} }
.detail-value {
width: 78%;
.detail-link {
display: inline;
}
}
}
.attachement-list {
padding-left: 80px;
a {
display: block;
cursor: pointer;
color: #4df0ff;
font-size: 14px;
i {
color: #fff;
}
}
}
} }
}
}
.m-top {
display: flex;
} }

4
src/assets/scss/modules/visual/typeAnalyze.scss

@ -135,3 +135,7 @@
height: 90%; height: 90%;
} }
} }
.table-status {
margin-top: 200px;
}

24
src/views/modules/communityParty/elegant/index.vue

@ -339,18 +339,18 @@ export default {
.then((res) => { .then((res) => {
this.importLoading = false this.importLoading = false
this.importBtnTitle = '导入人员数据' this.importBtnTitle = '导入人员数据'
let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1]) // let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1])
console.log('filename', fileName) // console.log('filename', fileName)
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }) // let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
var url = window.URL.createObjectURL(blob) // var url = window.URL.createObjectURL(blob)
var aLink = document.createElement('a') // var aLink = document.createElement('a')
aLink.style.display = 'none' // aLink.style.display = 'none'
aLink.href = url // aLink.href = url
aLink.setAttribute('download', fileName) // aLink.setAttribute('download', fileName)
document.body.appendChild(aLink) // document.body.appendChild(aLink)
aLink.click() // aLink.click()
document.body.removeChild(aLink) // // document.body.removeChild(aLink) //
window.URL.revokeObjectURL(url) //blob // window.URL.revokeObjectURL(url) //blob
this.getTableData() this.getTableData()
}) })
.catch( err => { .catch( err => {

19
src/views/modules/communityService/measure/index.vue

@ -299,7 +299,7 @@
type="textarea" clearable class="input-width-textarea" placeholder="请输入内容"></el-input> type="textarea" clearable class="input-width-textarea" placeholder="请输入内容"></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="addType === 'appoint' || addType == 'finish' || addType == 'look'" v-if="addType === 'appoint' || addType == 'finish' || (addType == 'look' && form.serviceShowFlag)"
label="服务方" prop="serviceType"> label="服务方" prop="serviceType">
<template v-if="disabled && addType !== 'appoint'"> <template v-if="disabled && addType !== 'appoint'">
<el-input v-model="form.serviceShowName" :disabled="disabled" class="input-width"></el-input> <el-input v-model="form.serviceShowName" :disabled="disabled" class="input-width"></el-input>
@ -337,7 +337,10 @@
</el-select> </el-select>
</template> </template>
</el-form-item> </el-form-item>
<template v-if="addType == 'finish' || addType == 'look'"> <el-form-item v-if="addType == 'look' && form.status == 'canceled'" label="取消时间" prop="cancelTime">
<span>{{ form.cancelTime }}</span>
</el-form-item>
<template v-if="addType == 'finish' || (addType == 'look' && form.status == 'finished')">
<el-form-item label="完成情况" prop="finishResult"> <el-form-item label="完成情况" prop="finishResult">
<el-radio v-model="form.finishResult" <el-radio v-model="form.finishResult"
label="resolved" :disabled="disabled && addType != 'finish'" >已解决</el-radio> label="resolved" :disabled="disabled && addType != 'finish'" >已解决</el-radio>
@ -360,7 +363,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="评价" prop="score" class="form-score"> <el-form-item label="评价" prop="score" class="form-score">
<el-rate v-model="form.score" :disabled="disabled && addType != 'finish'" ></el-rate> <el-rate v-model="form.score" :allow-half="true" :disabled="disabled && addType != 'finish'" ></el-rate>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="finishDesc"> <el-form-item label="备注" prop="finishDesc">
<el-input v-model="form.finishDesc" :autosize="{ minRows: 2, maxRows: 10}" <el-input v-model="form.finishDesc" :autosize="{ minRows: 2, maxRows: 10}"
@ -373,9 +376,9 @@
</el-form> </el-form>
<div class="resi-btns"> <div class="resi-btns">
<el-button size="small" @click="handlerCancle">取消</el-button> <el-button size="small" @click="handlerCancle">{{ addType != 'look' ? '取消' : '关闭'}}</el-button>
<el-button <el-button
v-if="!disabled" v-if="addType != 'look'"
type="primary" type="primary"
size="small" size="small"
:loading="btnLoading" :loading="btnLoading"
@ -592,7 +595,7 @@ export default {
serviceType: [{ required: true, message: '服务方不能为空', trigger: 'blur' }], serviceType: [{ required: true, message: '服务方不能为空', trigger: 'blur' }],
serviceStartTime: [{ required: true, message: '实际服务时间不能为空', trigger: 'blur' }], serviceStartTime: [{ required: true, message: '实际服务时间不能为空', trigger: 'blur' }],
score: [{ required: true, message: '评分不能为空', trigger: 'blur' }], score: [{ required: true, message: '评分不能为空', trigger: 'blur' }],
finishDesc: [{ required: true, message: '备注不能为空', trigger: 'blur' }], // finishDesc: [{ required: true, message: '', trigger: 'blur' }],
finishResult: [{ required: true, message: '完成情况不能为空', trigger: 'blur' }], finishResult: [{ required: true, message: '完成情况不能为空', trigger: 'blur' }],
} }
} }
@ -715,6 +718,7 @@ export default {
// this.form.demandUserId = '' // this.form.demandUserId = ''
this.$delete(this.form, 'demandRecId') this.$delete(this.form, 'demandRecId')
this.selectDemandUser = '' this.selectDemandUser = ''
this.finishServiceTime = ''
for(const n in this.form) { for(const n in this.form) {
this.form[n] = '' this.form[n] = ''
} }
@ -733,6 +737,9 @@ export default {
if (addType == 'look') { if (addType == 'look') {
this.finishServiceTime = row.serviceStartTime && [row.serviceStartTime, row.serviceEndTime] || '' this.finishServiceTime = row.serviceStartTime && [row.serviceStartTime, row.serviceEndTime] || ''
} }
if (addType == 'finish') {
this.form.finishResult = 'resolved'
}
if (addType == 'appoint' && row.serviceType) { if (addType == 'appoint' && row.serviceType) {
await this.getServiceuserList(row.serviceType) await this.getServiceuserList(row.serviceType)
} }

117
src/views/modules/visual/communityGovern/cpt/project-info.vue

@ -134,11 +134,13 @@
<div class="m-yanpan" <div class="m-yanpan"
v-if="groupIndex == 0"> v-if="groupIndex == 0">
<div v-if="projectId"> <div v-if="projectId">
<analyse v-if="!yanPan.loading" <analyse v-if="yanPan.loading"
singleTitle="楼院小组" singleTitle="楼院小组"
:userList="yanPan.homeUserList" :userList="yanPan.homeUserList"
:userName="yanPan.icUserName" :userName="yanPan.icUserName"
:singleList="yanPan.categoryList" :singleList="yanPan.singleList"
:hasEvent="yanPan.hasEvent"
:moreList="yanPan.moreList"
@user="toUserInfo" @user="toUserInfo"
@project="toProjectInfo" /> @project="toProjectInfo" />
<screen-loading v-else>加载中</screen-loading> <screen-loading v-else>加载中</screen-loading>
@ -258,7 +260,7 @@ import dateFormat from "dai-js/tools/dateFormat";
function iniData () { function iniData () {
return { return {
projectIdCopy: this.projectId,
groupList: [ groupList: [
{ label: "研判分析" }, { label: "研判分析" },
{ label: "项目来源" }, { label: "项目来源" },
@ -266,7 +268,6 @@ function iniData () {
groupIndex: 0, groupIndex: 0,
startGroupIndex: 0, startGroupIndex: 0,
projectProcess: [], projectProcess: [],
projectInfo: { projectInfo: {
@ -345,7 +346,7 @@ function iniData () {
// icUserName: '', // icUserName: '',
// } // }
], ],
categoryList: [], singleList: [],//
projectData: [ projectData: [
// { // {
// firstCategoryCode: '', // firstCategoryCode: '',
@ -353,6 +354,9 @@ function iniData () {
// projectList: [], // projectList: [],
// } // }
], ],
hasEvent: false,
moreList: [],//
}, },
}; };
} }
@ -396,9 +400,14 @@ export default {
}); });
this.getApiData(); this.getApiData();
}, },
// projectIdCopy () {
// },
}, },
mounted () { mounted () {
console.log(this.projectIdCopy)
this.getApiData(); this.getApiData();
}, },
@ -450,7 +459,7 @@ export default {
const url = "/gov/project/trace/projectdetail"; const url = "/gov/project/trace/projectdetail";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
projectId: this.projectId, projectId: this.projectIdCopy,
}); });
if (code === 0) { if (code === 0) {
@ -533,7 +542,7 @@ export default {
const url = "/gov/project/trace/processlist-v2"; const url = "/gov/project/trace/processlist-v2";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
projectId: this.projectId, projectId: this.projectIdCopy,
}); });
if (code === 0) { if (code === 0) {
@ -554,7 +563,7 @@ export default {
const url = "/gov/project/projectcategory/categorytaglist"; const url = "/gov/project/projectcategory/categorytaglist";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
projectId: this.projectId, projectId: this.projectIdCopy,
}); });
if (code === 0) { if (code === 0) {
@ -576,34 +585,73 @@ export default {
}); });
if (code === 0) { if (code === 0) {
let array = [] data.icResiUserId = data.icUserId
if (this.projectInfo.origin === 'issue') { data.homeUserList.forEach(item => {
array = [...data.groupProjectList] item.icResiUserId = item.icUserId
} else if (this.projectInfo.origin === 'resi_event') { });
array = [...data.eventProjectList]
let array1 = []
let array2 = []
// debugger
//
if (data.groupProjectList && data.groupProjectList.length > 0 && data.eventProjectList && data.eventProjectList.length > 0) {
this.yanPan.hasEvent = true
array1 = [...data.groupProjectList]
array2 = [...data.eventProjectList]
} else {
this.yanPan.hasEvent = false
if (data.groupProjectList && data.groupProjectList.length > 0) {
array1 = [...data.groupProjectList]
} else if (data.eventProjectList && data.eventProjectList.length > 0) {
array1 = [...data.eventProjectList]
} else {
array1 = []
}
} }
if (array1.length > 0) {
data.singleList = array1.map((item) => {
return {
categoryCode: item.categoryCode,
categoryName: item.categoryName,
showItem: true,
projectList: item.projectList.map((subItem) => {
return {
title: subItem.title,
status: subItem.status,
statusName:
subItem.status == "pending" ? "待处理" : "结案",
projectId: subItem.projectId,
};
}),
};
});
}
if (array2.length > 0) {
data.moreList = array2.map((item) => {
return {
categoryCode: item.categoryCode,
categoryName: item.categoryName,
showItem: true,
projectList: item.projectList.map((subItem) => {
return {
title: subItem.title,
status: subItem.status,
statusName:
subItem.status == "pending" ? "待处理" : "结案",
projectId: subItem.projectId,
};
}),
};
});
}
data.categoryList = array.map((item) => {
return {
categoryCode: item.categoryCode,
categoryName: item.categoryName,
showItem: true,
projectList: item.projectList.map((subItem) => {
return {
title: subItem.projectTitle,
status: subItem.projectStatus,
statusName:
subItem.projectStatus == "pending" ? "待处理" : "结案",
projectId: subItem.projectId,
};
}),
};
});
this.yanPan = { ...this.yanPan, ...data };
this.yanPan.loading = false; this.yanPan = { ...this.yanPan, ...data };
console.log(this.yanPan)
this.yanPan.loading = true;
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
@ -617,7 +665,12 @@ export default {
toProjectInfo (item) { toProjectInfo (item) {
console.log(item); console.log(item);
this.projectId = item.projectId; this.projectIdCopy = item.projectId;
// let data = iniData();
// Object.keys(data).forEach((k) => {
// this[k] = data[k];
// });
this.getApiData();
}, },
}, },
}; };

116
src/views/modules/visual/communityGovern/typeAnalyze.vue

@ -31,10 +31,15 @@
<div class="g-cpt-resi"> <div class="g-cpt-resi">
<div class="g-l"> <div class="g-l">
<screen-echarts-frame class="echart-wr" <screen-echarts-frame v-if="!dataLoading"
class="echart-wr"
@myChartMethod="pieInitOk" @myChartMethod="pieInitOk"
ref="pieChart"></screen-echarts-frame> ref="pieChart"></screen-echarts-frame>
<div class="table-status"
v-if="dataLoading">
<screen-loading>加载中</screen-loading>
</div>
</div> </div>
<div class="g-r"> <div class="g-r">
<div class="m-tb"> <div class="m-tb">
@ -77,7 +82,7 @@ import cptCard from "@/views/modules/visual/cpts/card";
import cptTb from "@/views/modules/visual/cpts/tb"; import cptTb from "@/views/modules/visual/cpts/tb";
import screenEchartsFrame from "@/views/modules/visual/components/screen-echarts-frame"; import screenEchartsFrame from "@/views/modules/visual/components/screen-echarts-frame";
import projectInfo from "./cpt/project-info"; import projectInfo from "./cpt/project-info";
import ScreenLoading from "@/views/modules/visual/components/screen-loading";
import { pieOption } from './typePieOption.js' import { pieOption } from './typePieOption.js'
import nextTick from 'dai-js/tools/nextTick' import nextTick from 'dai-js/tools/nextTick'
@ -85,8 +90,7 @@ export default {
name: "HomeMap", name: "HomeMap",
data () { data () {
return { return {
showNoData: false, dataLoading: true,
timer: null,
pieChartS: null, pieChartS: null,
pieChart: '', pieChart: '',
pieOption: {}, pieOption: {},
@ -183,15 +187,17 @@ export default {
}, },
// mixins: [animate] // mixins: [animate]
beforeDestroy () { beforeDestroy () {
this.timer && clearInterval(this.timer)
}, },
async mounted () { async mounted () {
this.dataLoading = true
this.initData() this.initData()
await this.getAgencylist()// await this.getAgencylist()//
await nextTick(500)
await this.getPie() await this.getPieChart()
this.dataLoading = false
this.getPie()
}, },
methods: { methods: {
@ -253,21 +259,15 @@ export default {
this.pieInitState = true this.pieInitState = true
}, },
getPie () {
if (this.pieInitState) {
this.getPieChart()
} else {
setTimeout(() => {
this.getPie()
}, 500)
}
},
// //
async getPieChart () { async getPieChart () {
this.$refs.pieChart.clear() if (this.$refs.pieChart) {
this.pieTotal = 0 this.$refs.pieChart.showLoading()
const _that = this }
// this.$refs.pieChart.showLoading()
const url = "/data/aggregator/project/projectcategorylist"; const url = "/data/aggregator/project/projectcategorylist";
// const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/project/projectcategorylist"; // const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/project/projectcategorylist";
let params = { let params = {
@ -279,15 +279,40 @@ export default {
// pieChart // pieChart
if (code === 0) { if (code === 0) {
// pieChart
this.pieOption = pieOption(this.pieChartS)
if (data && data.length > 0) { if (data && data.length > 0) {
this.pieData = data this.pieData = data
} else { } else {
this.pieData = [{ total: 0, categoryName: '无分类', color: '#00E5ED' }] this.pieData = []
}
if (this.$refs.pieChart) {
this.$refs.pieChart.hideLoading()
} }
} else {
this.$message.error(msg);
}
},
getPie () {
if (this.pieInitState) {
this.assignPieChart()
} else {
setTimeout(() => {
this.getPie()
}, 500)
}
},
assignPieChart () {
if (this.pieData.length > 0) {
this.$refs.pieChart.setNoData(false)
this.$refs.pieChart.clear()
this.pieTotal = 0
const _that = this
// pieChart
this.pieOption = pieOption(this.pieChartS)
let maxValue = this.pieData[0].total let maxValue = this.pieData[0].total
let maxIndex = 0 let maxIndex = 0
this.pieData[0].selected = true this.pieData[0].selected = true
@ -323,9 +348,8 @@ export default {
this.$refs.pieChart.handleClick(fun) this.$refs.pieChart.handleClick(fun)
this.clickPie(maxIndex) this.clickPie(maxIndex)
} else { } else {
this.$message.error(msg); this.$refs.pieChart.setNoData(true)
} }
}, },
async clickPie (seriesIndex) { async clickPie (seriesIndex) {
@ -395,23 +419,28 @@ export default {
if (code === 0) { if (code === 0) {
this.demand.total = data.total; this.demand.total = data.total;
this.tableList = data.list this.tableList = data.list
this.demand.list = data.list.map((item) => { if (data.list.length > 0) {
//:issue :agency :resi_event this.demand.list = data.list.map((item) => {
item.originShow = item.origin === 'issue' ? '楼院小组' : item.origin === 'agency' ? '项目立项' : '事件上报' //:issue :agency :resi_event
//: pendingclosed item.originShow = item.origin === 'issue' ? '楼院小组' : item.origin === 'agency' ? '项目立项' : '事件上报'
item.statusShow = item.status === 'pending' ? '待处理' : '已结案' //: pendingclosed
return [ item.statusShow = item.status === 'pending' ? '待处理' : '已结案'
{ type: "index" }, return [
item.projectCode ? item.projectCode : '', { type: "index" },
item.categoryNames.join(','), item.projectCode ? item.projectCode : '',
item.originShow ? item.originShow : '', item.categoryNames.join(','),
item.gridName ? item.gridName : '', item.originShow ? item.originShow : '',
item.statusShow ? item.statusShow : '', item.gridName ? item.gridName : '',
item.title ? item.title : '', item.statusShow ? item.statusShow : '',
item.time ? item.time : '', item.title ? item.title : '',
{ type: "operate", list: ["查看"] }, item.time ? item.time : '',
]; { type: "operate", list: ["查看"] },
}); ];
});
} else {
this.demand.list = []
}
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
@ -446,6 +475,7 @@ export default {
cptTb, cptTb,
screenEchartsFrame, screenEchartsFrame,
projectInfo, projectInfo,
ScreenLoading,
}, },
watch: { watch: {

21
src/views/modules/visual/components/screen-echarts-frame/index.vue

@ -1,15 +1,22 @@
<template> <template>
<div class="screenEchartsFrame" <div>
ref="screenEchartsFrame"></div> <div v-show="!noData"
class="screenEchartsFrame"
ref="screenEchartsFrame"></div>
<screen-nodata v-if="noData"
class="nodata"></screen-nodata>
</div>
</template> </template>
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import ScreenNodata from "@/views/modules/visual/components/screen-nodata";
export default { export default {
name: 'screen-echarts-frame', name: 'screen-echarts-frame',
data () { data () {
return { return {
myChart: '' myChart: '',
noData: false,
} }
}, },
props: { props: {
@ -28,6 +35,10 @@ export default {
if (this.myChart) this.myChart.dispose() if (this.myChart) this.myChart.dispose()
}, },
watch: {}, watch: {},
components: {
ScreenNodata,
},
methods: { methods: {
initChart () { initChart () {
@ -43,6 +54,10 @@ export default {
handleClick (fun) { handleClick (fun) {
this.myChart.on('click', fun); this.myChart.on('click', fun);
}, },
//
setNoData (nodata) {
this.noData = nodata
},
// //
highLight (index) { highLight (index) {

44
src/views/modules/visual/cpts/analyse.vue

@ -109,14 +109,17 @@
<div class="cate-list-w0" <div class="cate-list-w0"
:class="item.showItem && 'cate-list-w100'"> :class="item.showItem && 'cate-list-w100'">
<div class="list list-wr"> <div class="list list-wr">
<div v-for="(n, i) in item.projectList" <template v-if="item.projectList && item.projectList.length > 0">
<div v-for="(n, i) in item.projectList"
:key="i" :key="i"
class="item" class="item"
@click="handleProject(n)"> @click="handleProject(n)">
<div class="item-status" <div class="item-status"
:class="'item-status-'+n.status">{{filterStatus(n.status)}}</div> :class="'item-status-'+n.status">{{filterStatus(n.status)}}</div>
<div class="item-content">{{n.title}}</div> <div class="item-content">{{n.title}}</div>
</div> </div>
</template>
<div v-else class="no-data">暂无数据</div>
<!-- <div class="item"> <!-- <div class="item">
<div class="item-status">已结案</div> <div class="item-status">已结案</div>
<div class="item-content">合肥路与安宁路交合肥路与安宁路交</div> <div class="item-content">合肥路与安宁路交合肥路与安宁路交</div>
@ -187,16 +190,19 @@
<div class="cate-list-w0" <div class="cate-list-w0"
:class="item.showItem && 'cate-list-w100'"> :class="item.showItem && 'cate-list-w100'">
<div class="list list-wr"> <div class="list list-wr">
<div v-for="(n, i) in item.projectList" <template v-if="item.projectList && item.projectList.length > 0">
<div v-for="(n, i) in item.projectList"
:key="i" :key="i"
class="item" class="item"
@click="handleProject(n)"> @click="handleProject(n)">
<div class="item-status" <div class="item-status"
:class="'item-status-'+n.status"> :class="'item-status-'+n.status">
{{ n.statusName || filterStatus(n.status)}} {{ n.statusName || filterStatus(n.status)}}
</div>
<div class="item-content">{{n.title}}</div>
</div> </div>
<div class="item-content">{{n.title}}</div> </template>
</div> <div v-else class="no-data">暂无数据</div>
<!-- <div class="item"> <!-- <div class="item">
<div class="item-status">已结案</div> <div class="item-status">已结案</div>
<div class="item-content">合肥路与安宁路交合肥路与安宁路交</div> <div class="item-content">合肥路与安宁路交合肥路与安宁路交</div>
@ -242,13 +248,13 @@ export default {
}, },
moreTitle: String, // hasEvent true moreTitle: String, // hasEvent true
moreList: Array, // hasEvent true moreList: Array, // hasEvent true
singleTitle: { // singleTitle: { //
type: String, type: String,
default: '楼院小组' default: '楼院小组'
}, },
userList: Array, // userList: Array, //
userName: String, // userName: String, //
singleList: Array, // singleList: Array, //
}, },
data () { data () {
@ -541,6 +547,14 @@ export default {
} }
} }
} }
.no-data {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
text-align: center;
line-height: 100%;
}
.pad10 { .pad10 {
padding-top: 10px; padding-top: 10px;
} }

406
src/views/modules/visual/measure/dialogInfo.vue

@ -51,31 +51,34 @@
</div> </div>
</div> </div>
<div class="list"> <div class="list">
<div class="item"> <div class="item" v-if="info.serviceShowFlag">
<span class="item-field">服务方</span> <span class="item-field">服务方</span>
<span>{{ info.serviceShowName }}</span> <span>{{ info.serviceShowName }}</span>
</div> </div>
<div class="item"> <template v-if="info.status == 'finished'">
<span class="item-field">实际服务时间</span> <div class="item">
<span v-if="info.serviceStartTime" <span class="item-field">实际服务时间</span>
>{{ info.serviceStartTime }} <br /> <span v-if="info.serviceStartTime"
{{ info.serviceEndTime }}</span >{{ info.serviceStartTime }} <br />
> {{ info.serviceEndTime }}</span
</div> >
<div class="item"> </div>
<span class="item-field">完成情况</span> <div class="item">
<span <span class="item-field">完成情况</span>
>{{ info.finishResult == "resolved" ? "已解决" : "未解决" }} <span
<br /> >{{ info.finishResult == "resolved" ? "已解决" : "未解决" }}
{{ info.finishDesc }}</span <br />
> {{ info.finishDesc }}</span
</div> >
<div class="item"> </div>
<span class="item-field">评价</span> <div class="item">
<span> <span class="item-field">评价</span>
<el-rate :value="info.score" disabled></el-rate> <span>
</span> <el-rate :value="info.score" disabled></el-rate>
</div> </span>
</div>
</template>
</div> </div>
</div> </div>
@ -144,346 +147,35 @@ export default {
// title: '', // title: '',
// status: 'closed', // status: 'closed',
// projectId: '1' // projectId: '1'
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// }
// ]
// },
// {
// categoryName: '',
// categoryCode: '1',
// showItem: false,
// projectList: [
// {
// title: '',
// status: 'closed',
// projectId: '1'
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// }
// ]
// },
// {
// categoryName: '',
// categoryCode: '1',
// showItem: false,
// projectList: [
// {
// title: '',
// status: 'closed',
// projectId: '1'
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// }
// ]
// },
// {
// categoryName: '',
// categoryCode: '1',
// showItem: false,
// projectList: [
// {
// title: '',
// status: 'closed',
// projectId: '1'
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// } // }
//
// ] // ]
// }, // },
],
userLists: [
// { // {
// categoryName: '', // homeId: "1",
// categoryCode: '1', // icUserId: "1",
// showItem: false, // icUserName: "",
// projectList: [ // }
// { ],
// title: '', userName: "王亚男哈",
// status: 'closed', eventList: [
// projectId: '1'
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// }
// ]
// },
// { // {
// categoryName: '', // categoryName: "",
// categoryCode: '1', // categoryCode: "1",
// showItem: false,
// projectList: [ // projectList: [
// { // {
// title: '', // title: "",
// status: 'closed', // status: "closed",
// projectId: '1' // projectId: "1",
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// }, // },
// {
// title: '', // ],
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// }
// ]
// }, // },
// {
// categoryName: '', ]
// categoryCode: '1',
// showItem: false,
// projectList: [
// {
// title: '',
// status: 'closed',
// projectId: '1'
// },
// {
// title: '',
// status: 'closed',
// projectId: '2'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=3'
// },
// {
// title: '',
// status: 'closed',
// projectId: '1=4'
// },
// {
// title: '',
// status: 'closed',
// projectId: '5'
// },
// {
// title: '',
// status: 'closed',
// projectId: '6'
// }
// ]
// }
],
userLists: [
{
homeId: "1",
icUserId: "1",
icUserName: "沾上干",
},
{
homeId: "2",
icUserId: "2",
icUserName: "李四",
},
{
homeId: "3",
icUserId: "3",
icUserName: "王五哈哈",
},
],
userName: "王亚男哈",
eventList: [
{
categoryName: "辨明服务",
categoryCode: "1",
projectList: [
{
title: "不知道写了什么哈哈哈",
status: "closed",
projectId: "1",
},
{
title: "罗里吧嗦写了什么哈哈哈",
status: "closed",
projectId: "2",
},
{
title: "胡说八道写了什么哈哈哈",
status: "closed",
projectId: "1=3",
},
{
title: "费眼飞鱼不知道写了什么哈哈哈",
status: "closed",
projectId: "1=4",
},
{
title: "狗屁不通不知道写了什么哈哈哈",
status: "closed",
projectId: "5",
},
{
title: "啦啦啦不知道写了什么哈哈哈",
status: "closed",
projectId: "6",
},
],
},
{
categoryName: "水煮鱼辨明服务辨明服务",
categoryCode: "4",
projectList: [
{
title: "熟煮雨不知道写了什么哈哈哈",
status: "pending",
projectId: "4",
},
],
},
{
categoryName: "开心麻花",
categoryCode: "2",
projectList: [
{
title: "不知道开心麻花写了什么哈哈哈",
status: "closed",
projectId: "1",
},
],
},
{
categoryName: "酸菜鱼",
categoryCode: "3",
projectList: [
{
title: "不知道酸菜鱼写了什么哈哈哈",
status: "pending",
projectId: "3",
},
],
},
],
}; };
}, },
@ -505,17 +197,18 @@ export default {
if (code === 0) { if (code === 0) {
// console.log('data-org----dict', data) // console.log('data-org----dict', data)
this.info = data; this.info = data;
this.getAnalyse(); this.getAnalyse(demandId);
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
}, },
async getAnalyse() { async getAnalyse(demandId) {
// const url = "/gov/org/customeragency/staffinagencylist"; // const url = "/gov/org/customeragency/staffinagencylist";
this.loading = true; this.loading = true;
const url = "/heart/userdemand/demand-research-analysis"; const url = "/heart/userdemand/demand-research-analysis";
let params = { let params = {
firstCategoryCode: this.info.firstCategoryCode, firstCategoryCode: this.info.firstCategoryCode,
demandRecId: demandId,
icResiUserId: this.info.icResiUserId, icResiUserId: this.info.icResiUserId,
epmetUserIdList: [this.info.epmetUserId], epmetUserIdList: [this.info.epmetUserId],
queryOrigin: this.queryOrigin, queryOrigin: this.queryOrigin,
@ -574,6 +267,7 @@ export default {
></style> ></style>
<style lang="scss" scoped> <style lang="scss" scoped>
.m-pop { .m-pop {
color: #fff;
.wrap { .wrap {
.list { .list {
display: block; display: block;
@ -589,6 +283,7 @@ export default {
} }
.item-desc { .item-desc {
font-size: 16px; font-size: 16px;
color: #fff;
margin-bottom: 10px; margin-bottom: 10px;
line-height: 24px; line-height: 24px;
} }
@ -599,6 +294,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
padding: 20px 0 10px 62px; padding: 20px 0 10px 62px;
font-size: 20px; font-size: 20px;
color: #fff;
cursor: pointer; cursor: pointer;
} }
} }

71
src/views/modules/visual/measure/service.vue

@ -116,7 +116,9 @@
<div class="echarts-container"> <div class="echarts-container">
<div id="echartsBox" class="echarts-boxs"></div> <div id="echartsBox" class="echarts-boxs"></div>
</div> </div>
<div class="ecahrts-button">
<el-button type="warning" size="small" @click="handleExport">导出</el-button>
</div>
<div class="warning-box-bottom"> <div class="warning-box-bottom">
<screen-table <screen-table
:headerList="headerList" :headerList="headerList"
@ -153,6 +155,7 @@ import screenTable from "../components/screen-table/index";
import cptCard from "@/views/modules/visual/cpts/card"; import cptCard from "@/views/modules/visual/cpts/card";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import dialogInfo from './dialogInfo' import dialogInfo from './dialogInfo'
import axios from 'axios'
import * as echarts from 'echarts'; import * as echarts from 'echarts';
export default { export default {
@ -175,11 +178,12 @@ export default {
{ title: "上报类型", coulmn: 'reportTypeName' }, { title: "上报类型", coulmn: 'reportTypeName' },
{ title: "上报人", coulmn: 'reportUserName' }, { title: "上报人", coulmn: 'reportUserName' },
{ title: "上报时间", coulmn: 'reportTime' }, { title: "上报时间", coulmn: 'reportTime' },
{ title: "需求人", coulmn: 'gridName' }, { title: "需求人", coulmn: 'demandUserName' },
{ title: "服务方", coulmn: 'serviceName' }, { title: "服务方", coulmn: 'serviceName' },
{ title: "服务时间", coulmn: 'wantServiceTime' }, { title: "服务时间", coulmn: 'wantServiceTime' },
], ],
categoryList: {}, categoryList: [],
categoryCode: '',
timeRange: '', timeRange: '',
tableData: [ tableData: [
// [1,'','','2',''], // [1,'','','2',''],
@ -316,7 +320,7 @@ export default {
this.categoryList = categoryList this.categoryList = categoryList
let xData = categoryList.map(item => item.categoryName) let xData = categoryList.map(item => item.categoryName)
let yData = [] let yData = []
yData = legend.map(item => { yData = legend.map((item, index) => {
return { return {
name: item.legendName, name: item.legendName,
type: 'bar', type: 'bar',
@ -328,12 +332,16 @@ export default {
emphasis: { emphasis: {
focus: 'series' focus: 'series'
}, },
data: categoryList.map(n => n.total) data: categoryList.map(n => {
return n.detail[index].serviceDemandTotal
})
} }
}) })
console.log('yData', yData)
this.initCharts(xData, yData) this.initCharts(xData, yData)
this.getServiceList(orgId, orgType, data.categoryList[0].categoryCode) this.categoryCode = categoryList[0].categoryCode
this.getServiceList(orgId, orgType, categoryList[0].categoryCode)
} else { } else {
} }
this.visibleLoading = false; this.visibleLoading = false;
@ -411,6 +419,44 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
handleExport() {
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
let params = {
orgId: _arr[0],
orgType: orgType,
categoryCode: this.categoryCode,
startDateId: this.timeRange && this.timeRange[0] || '',
endDateId: this.timeRange && this.timeRange[1] || ''
}
// .post('epmetuser/icresiuser/exportExcel', params)
axios({
url: window.SITE_CONFIG['apiURL'] + '/heart/userdemand/analysis-export',
// url: 'epmetuser/icresiuser/exportExcel',
method: 'post',
data: params,
responseType: 'blob'
})
.then(res => {
console.log('resllll', res)
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
})
.catch((err) => {
console.log('获取导出情失败', err)
return this.$message.error('网络错误')
})
},
getTreeData(data){ getTreeData(data){
if (!Array.isArray(data)) return [] if (!Array.isArray(data)) return []
let arr = data.map(item => { let arr = data.map(item => {
@ -465,6 +511,7 @@ export default {
if (item.categoryName == params.name) code = item.categoryCode if (item.categoryName == params.name) code = item.categoryCode
}) })
if (code) { if (code) {
this.categoryCode = code
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-') const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid' const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
this.getServiceList(_arr[0], orgType, code) this.getServiceList(_arr[0], orgType, code)
@ -505,6 +552,9 @@ export default {
scoped scoped
></style> ></style>
<style lang="scss" scoped> <style lang="scss" scoped>
.warning-box-bottom {
margin-top: 10px;
}
.card-title { .card-title {
display: flex; display: flex;
align-items: center; align-items: center;
@ -720,5 +770,14 @@ export default {
height: 400px; height: 400px;
} }
.ecahrts-button {
width: 100%;
text-align: right;
::v-deep .el-button--warning {
background: linear-gradient(90deg, #0863EA, #3B9FFC);
border: 0;
}
}
</style> </style>

Loading…
Cancel
Save