11 changed files with 1201 additions and 774 deletions
@ -1,503 +0,0 @@ |
|||
<template> |
|||
<div class="m-pop"> |
|||
<div class="wrap"> |
|||
<cpt-card> |
|||
<div class="title"> |
|||
<img src="@/assets/img/shuju/title-tip.png" /> |
|||
<span>更多信息</span> |
|||
</div> |
|||
|
|||
<div class="btn-close" @click="handleClose"> |
|||
<img src="@/assets/img/shuju/people/close.png" /> |
|||
</div> |
|||
|
|||
<div |
|||
:key="'fieldSubList' + index" |
|||
v-for="(fieldSubList, index) in fieldList" |
|||
> |
|||
<div class="list"> |
|||
<div class="item" v-if="index == 0"> |
|||
<span class="item-field">所属网格:</span> |
|||
<span>{{ gridName }}</span> |
|||
</div> |
|||
<div class="item" v-if="index == 0"> |
|||
<span class="item-field">所属小区:</span> |
|||
<span>{{ xiaoquName }}</span> |
|||
</div> |
|||
<div class="item" v-if="index == 0"> |
|||
<span class="item-field">所属楼宇:</span> |
|||
<span>{{ louName }}-{{ danyuanName }}</span> |
|||
</div> |
|||
<div class="item" v-if="index == 0"> |
|||
<span class="item-field">所属家庭:</span> |
|||
<span>{{ homeName }}</span> |
|||
</div> |
|||
<div class="item" :key="field.itemId" v-for="field in fieldSubList"> |
|||
<span class="item-field">{{ field.label }}:</span> |
|||
|
|||
<span |
|||
v-if=" |
|||
field.itemType == 'select' || |
|||
field.itemType == 'radio' || |
|||
field.itemType == 'checkbox' || |
|||
field.itemType == 'cascader' |
|||
" |
|||
>{{ |
|||
info[field.columnName] == null |
|||
? "--" |
|||
: getOptionLabel( |
|||
field.options, |
|||
info[field.columnName], |
|||
field.itemType |
|||
) |
|||
}}</span |
|||
> |
|||
|
|||
<span v-else>{{ |
|||
info[field.columnName] == null ? "--" : info[field.columnName] |
|||
}}</span> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="line"></div> |
|||
</div> |
|||
|
|||
<div class="tabs"> |
|||
<div |
|||
class="tab-btn" |
|||
@click="subStartGroupIndex" |
|||
v-if="groupList.length > 9" |
|||
> |
|||
<img src="@/assets/img/shuju/people/arrow-double-left.png" /> |
|||
</div> |
|||
<div |
|||
v-show="index >= startGroupIndex && index < startGroupIndex + 9" |
|||
class="tab" |
|||
:class="groupIndex % groupList.length == index ? 'z-on' : ''" |
|||
:key="'tab' + index" |
|||
@click="groupIndex = index" |
|||
v-for="(item, index) in groupList" |
|||
> |
|||
{{ item.label }} |
|||
</div> |
|||
<div |
|||
class="tab-btn" |
|||
@click="addStartGroupIndex" |
|||
v-if="groupList.length > 9" |
|||
> |
|||
<img src="@/assets/img/shuju/people/arrow-double-right.png" /> |
|||
</div> |
|||
</div> |
|||
|
|||
<div |
|||
:key="'group' + index" |
|||
v-show="groupIndex % groupList.length == index" |
|||
v-for="(group, index) in groupList" |
|||
> |
|||
<div v-if="group.tableName == 'ic_resi_demand' && Array.isArray(allInfo.ic_resi_demand) && allInfo.ic_resi_demand.length>0"> |
|||
<div |
|||
class="list" |
|||
:key="'ic_resi_demand' + infoIndex" |
|||
v-for="(infoItem, infoIndex) in allInfo.ic_resi_demand" |
|||
> |
|||
<div |
|||
class="item" |
|||
:key="field.itemId" |
|||
v-for="field in group.itemList" |
|||
> |
|||
<span class="item-field">{{ field.label }}:</span> |
|||
<span |
|||
v-if=" |
|||
field.itemType == 'select' || |
|||
field.itemType == 'radio' || |
|||
field.itemType == 'checkbox' || |
|||
field.itemType == 'cascader' |
|||
" |
|||
>{{ |
|||
infoItem[field.columnName] == null |
|||
? "--" |
|||
: getOptionLabel( |
|||
field.options, |
|||
infoItem[field.columnName], |
|||
field.itemType |
|||
) |
|||
}}</span |
|||
> |
|||
|
|||
<span v-else>{{ |
|||
infoItem[field.columnName] == null |
|||
? "--" |
|||
: infoItem[field.columnName] |
|||
}}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="list" v-else> |
|||
<div |
|||
class="item" |
|||
:key="field.itemId" |
|||
v-for="field in group.itemList" |
|||
> |
|||
<span class="item-field">{{ field.label }}:</span> |
|||
<span |
|||
v-if=" |
|||
field.itemType == 'select' || |
|||
field.itemType == 'radio' || |
|||
field.itemType == 'checkbox' || |
|||
field.itemType == 'cascader' |
|||
" |
|||
>{{ |
|||
!allInfo[group.tableName] || |
|||
allInfo[group.tableName][0][field.columnName] == null |
|||
? "--" |
|||
: getOptionLabel( |
|||
field.options, |
|||
allInfo[group.tableName][0][field.columnName], |
|||
field.itemType |
|||
) |
|||
}}</span |
|||
> |
|||
|
|||
<span v-else>{{ |
|||
!allInfo[group.tableName] || |
|||
allInfo[group.tableName][0][field.columnName] == null |
|||
? "--" |
|||
: allInfo[group.tableName][0][field.columnName] |
|||
}}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</cpt-card> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import cptCard from "@/views/modules/visual/cpts/card"; |
|||
import { requestPost } from "@/js/dai/request"; |
|||
|
|||
export default { |
|||
name: "demandInfo", |
|||
props: { |
|||
userId: { |
|||
type: String, |
|||
default: "", |
|||
}, |
|||
gridName: { |
|||
type: String, |
|||
default: "", |
|||
}, |
|||
}, |
|||
|
|||
components: { |
|||
cptCard, |
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
fieldList: [], |
|||
groupList: [], |
|||
groupIndex: 0, |
|||
startGroupIndex: 0, |
|||
info: {}, |
|||
allInfo: {}, |
|||
|
|||
xiaoquList: [], |
|||
louList: [], |
|||
danyuanList: [], |
|||
homeList: [], |
|||
}; |
|||
}, |
|||
|
|||
computed: { |
|||
xiaoquName() { |
|||
const { |
|||
xiaoquList, |
|||
info: { VILLAGE_ID }, |
|||
} = this; |
|||
if (Array.isArray(xiaoquList) && xiaoquList.length > 0 && VILLAGE_ID) { |
|||
let item = xiaoquList.find((item) => item.value == VILLAGE_ID); |
|||
if (item) { |
|||
return item.label; |
|||
} |
|||
} |
|||
return ""; |
|||
}, |
|||
louName() { |
|||
const { |
|||
louList, |
|||
info: { BUILD_ID }, |
|||
} = this; |
|||
if (Array.isArray(louList) && louList.length > 0 && BUILD_ID) { |
|||
let item = louList.find((item) => item.value == BUILD_ID); |
|||
if (item) { |
|||
return item.label; |
|||
} |
|||
} |
|||
return ""; |
|||
}, |
|||
danyuanName() { |
|||
const { |
|||
danyuanList, |
|||
info: { UNIT_ID }, |
|||
} = this; |
|||
if (Array.isArray(danyuanList) && danyuanList.length > 0 && UNIT_ID) { |
|||
let item = danyuanList.find((item) => item.value == UNIT_ID); |
|||
if (item) { |
|||
return item.label; |
|||
} |
|||
} |
|||
return ""; |
|||
}, |
|||
danyuanName() { |
|||
const { |
|||
danyuanList, |
|||
info: { UNIT_ID }, |
|||
} = this; |
|||
if (Array.isArray(danyuanList) && danyuanList.length > 0 && UNIT_ID) { |
|||
let item = danyuanList.find((item) => item.value == UNIT_ID); |
|||
if (item) { |
|||
return item.label; |
|||
} |
|||
} |
|||
return ""; |
|||
}, |
|||
homeName() { |
|||
const { |
|||
homeList, |
|||
info: { HOME_ID }, |
|||
} = this; |
|||
if (Array.isArray(homeList) && homeList.length > 0 && HOME_ID) { |
|||
let item = homeList.find((item) => item.value == HOME_ID); |
|||
if (item) { |
|||
return item.label; |
|||
} |
|||
} |
|||
return ""; |
|||
}, |
|||
}, |
|||
|
|||
watch: { |
|||
userId() { |
|||
this.getApiData(); |
|||
}, |
|||
}, |
|||
|
|||
mounted() { |
|||
this.getApiData(); |
|||
}, |
|||
|
|||
methods: { |
|||
addStartGroupIndex() { |
|||
const { startGroupIndex, groupList } = this; |
|||
if (startGroupIndex < groupList.length - 9) { |
|||
this.startGroupIndex = startGroupIndex + 1; |
|||
} else { |
|||
this.startGroupIndex = groupList.length - 9; |
|||
} |
|||
}, |
|||
subStartGroupIndex() { |
|||
const { startGroupIndex, groupList } = this; |
|||
if (startGroupIndex > 0) { |
|||
this.startGroupIndex = startGroupIndex - 1; |
|||
} else { |
|||
this.startGroupIndex = 0; |
|||
} |
|||
}, |
|||
handleClose() { |
|||
this.$emit("close"); |
|||
}, |
|||
|
|||
async getApiData() { |
|||
await this.getField(); |
|||
await this.getInfo(); |
|||
this.getXiaoquList(); |
|||
this.getLouList(); |
|||
this.getDanyuanList(); |
|||
this.getHomeList(); |
|||
}, |
|||
|
|||
getOptionLabel(options, value, type = "") { |
|||
if (Array.isArray(options)) { |
|||
let valueArr = value.split(","); |
|||
if (type == "cascader") { |
|||
if (valueArr.length > 0) { |
|||
let level1 = options.find((item) => item.value == valueArr[0]); |
|||
if (level1) { |
|||
if (valueArr.length > 1 && level1.children) { |
|||
let level2 = level1.children.find( |
|||
(item) => item.value == valueArr[1] |
|||
); |
|||
if (level2) { |
|||
return level1.label + "-" + level2.label; |
|||
} |
|||
} |
|||
return level1.label; |
|||
} |
|||
} |
|||
} else { |
|||
return valueArr |
|||
.map((val) => { |
|||
let item = options.find((item) => item.value == val); |
|||
if (item && item.label) { |
|||
return item.label; |
|||
} |
|||
return "--"; |
|||
}) |
|||
.join("、"); |
|||
} |
|||
} |
|||
return "--"; |
|||
}, |
|||
|
|||
//加载组织数据 |
|||
async getField() { |
|||
const url = "/oper/customize/icform/getcustomerform"; |
|||
|
|||
const { data, code, msg } = await requestPost(url, { |
|||
dynamic: true, |
|||
formCode: "resi_base_info", |
|||
}); |
|||
|
|||
if (code === 0) { |
|||
this.groupList = data.groupList; |
|||
this.fieldList = (function (arr) { |
|||
let col = []; |
|||
let ele = []; |
|||
for (let i = 0; i < arr.length; i++) { |
|||
let item = arr[i]; |
|||
if (item.itemType == "divider" || i == arr.length - 1) { |
|||
col.push([...ele]); |
|||
ele = []; |
|||
} else { |
|||
ele.push(item); |
|||
} |
|||
} |
|||
return col; |
|||
})(data.itemList); |
|||
|
|||
this.fieldList.forEach((subList, index) => { |
|||
subList.forEach(async (item, subIndex) => { |
|||
if (item.optionSourceType == "remote" && item.optionSourceValue) { |
|||
this.fieldList[index][subIndex].options = await this.getOptions( |
|||
item.optionSourceValue |
|||
); |
|||
} |
|||
}); |
|||
}); |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
|
|||
//加载组织数据 |
|||
async getInfo() { |
|||
const url = "/epmetuser/icresiuser/detail"; |
|||
|
|||
const { data, code, msg } = await requestPost(url, { |
|||
icResiUserId: this.userId, |
|||
formCode: "resi_base_info", |
|||
}); |
|||
|
|||
if (code === 0) { |
|||
this.info = data.ic_resi_user[0]; |
|||
this.allInfo = data; |
|||
|
|||
this.fieldList.forEach((subList, index) => { |
|||
subList.forEach((item, subIndex) => { |
|||
if ( |
|||
item.itemType == "radio" && |
|||
item.childGroup && |
|||
this.allInfo[item.tableName] && |
|||
this.allInfo[item.tableName][0][item.columnName] == "1" |
|||
) { |
|||
this.groupList = [...this.groupList, item.childGroup]; |
|||
} |
|||
}); |
|||
}); |
|||
console.log("1111111111111111111111111", this.groupList); |
|||
|
|||
this.groupList.forEach((subList, index) => { |
|||
subList.itemList.forEach(async (item, subIndex) => { |
|||
if (item.optionSourceType == "remote" && item.optionSourceValue) { |
|||
this.groupList[index].itemList[subIndex].options = |
|||
await this.getOptions(item.optionSourceValue); |
|||
} |
|||
}); |
|||
}); |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
|
|||
//加载组织数据 |
|||
async getOptions(url) { |
|||
if (!url) return []; |
|||
|
|||
const { data, code, msg } = await requestPost(url, {}); |
|||
|
|||
if (code === 0) { |
|||
return data; |
|||
} else { |
|||
return []; |
|||
} |
|||
}, |
|||
|
|||
async getXiaoquList() { |
|||
const url = "/gov/org/icneighborhood/neighborhoodoption"; |
|||
|
|||
const { data, code, msg } = await requestPost(url, { |
|||
agencyId: this.info.AGENCY_ID, |
|||
gridId: this.info.GRID_ID, |
|||
}); |
|||
|
|||
if (code === 0) { |
|||
this.xiaoquList = data; |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
async getLouList() { |
|||
const url = "/gov/org/icbuilding/buildingoption"; |
|||
|
|||
const { data, code, msg } = await requestPost(url, { |
|||
neighborHoodId: this.info.VILLAGE_ID, |
|||
}); |
|||
|
|||
if (code === 0) { |
|||
this.louList = data; |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
async getDanyuanList() { |
|||
const url = "/gov/org/icbuildingunit/unitoption"; |
|||
|
|||
const { data, code, msg } = await requestPost(url, { |
|||
buildingId: this.info.BUILD_ID, |
|||
}); |
|||
|
|||
if (code === 0) { |
|||
this.danyuanList = data; |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
async getHomeList() { |
|||
const url = "/gov/org/ichouse/houseoption"; |
|||
|
|||
const { data, code, msg } = await requestPost(url, { |
|||
unitId: this.info.UNIT_ID, |
|||
}); |
|||
|
|||
if (code === 0) { |
|||
this.homeList = data; |
|||
} else { |
|||
this.$message.error(msg); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" src="@/assets/scss/modules/visual/people.scss" scoped></style> |
|||
@ -0,0 +1,614 @@ |
|||
<template> |
|||
<div class="m-pop"> |
|||
<div class="wrap"> |
|||
<cpt-card> |
|||
<div class="title"> |
|||
<img src="@/assets/img/shuju/title-tip.png" /> |
|||
<span>需求详情</span> |
|||
</div> |
|||
|
|||
<div class="btn-close" @click="handleClose"> |
|||
<img src="@/assets/img/shuju/people/close.png" /> |
|||
</div> |
|||
<div class="list-title">需求内容</div> |
|||
<div class="list-wr"> |
|||
<div class="list"> |
|||
|
|||
<div class="item-desc"> |
|||
<!-- <span class="item-field">所属网格:</span> --> |
|||
<span>{{ info.content }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">所属网格:</span> |
|||
<span>{{ info.gridName }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">需求类型:</span> |
|||
<span>{{ info.categoryName }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">需求状态:</span> |
|||
<span>{{ info.statusName }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">上报类型:</span> |
|||
<span>{{ info.reportTypeName }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">上 报 人:</span> |
|||
<span>{{ info.reportUserName }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">上报人联系方式:</span> |
|||
<span>{{ info.reportUserMobile }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">上报时间:</span> |
|||
<span>{{ info.reportTime }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">服务时间:</span> |
|||
<span>{{ info.wantServiceTime }}</span> |
|||
</div> |
|||
</div> |
|||
<div class="list"> |
|||
<div class="item"> |
|||
<span class="item-field">服务方:</span> |
|||
<span>{{ info.serviceShowName }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">实际服务时间:</span> |
|||
<span v-if="info.serviceStartTime">{{ info.serviceStartTime }} 至 <br/> |
|||
{{ info.serviceEndTime }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">完成情况:</span> |
|||
<span>{{ info.finishResult == 'resolved' ? '已解决' : '未解决' }} <br /> {{ info.finishDesc }}</span> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item-field">评价:</span> |
|||
<span> |
|||
<el-rate :value="info.score" disabled></el-rate> |
|||
</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="tabs"> |
|||
<div |
|||
class="tab-btn" |
|||
> |
|||
<img src="@/assets/img/shuju/people/arrow-double-left.png" /> |
|||
</div> |
|||
<div |
|||
class="tab z-on" |
|||
> |
|||
研判分析 |
|||
</div> |
|||
<div |
|||
class="tab-btn" |
|||
> |
|||
<img src="@/assets/img/shuju/people/arrow-double-right.png" /> |
|||
</div> |
|||
</div> |
|||
|
|||
<div style="padding: 30px 0;"> |
|||
<analyse |
|||
v-if="!loading" |
|||
:single-list="demandList" |
|||
:single-title="'需求上报'" |
|||
:more-title="'事件上报'" |
|||
:user-list="userLists" |
|||
:user-name="info.demandUserName" |
|||
:has-event="false" |
|||
:more-list="eventList" |
|||
@project="handleToProject" |
|||
@user="handleToUser" |
|||
/> |
|||
</div> |
|||
|
|||
|
|||
</cpt-card> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import cptCard from "@/views/modules/visual/cpts/card"; |
|||
import analyse from '../cpts/analyse.vue' |
|||
import { requestPost } from "@/js/dai/request"; |
|||
|
|||
export default { |
|||
name: "dialogInfo", |
|||
props: { |
|||
userId: { |
|||
type: String, |
|||
default: "", |
|||
}, |
|||
demandId: String, |
|||
queryOrigin: String |
|||
// info: Object, |
|||
}, |
|||
|
|||
components: { |
|||
cptCard, |
|||
analyse |
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
loading: false, |
|||
info: {}, |
|||
demandList: [ |
|||
// { |
|||
// 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' |
|||
// } |
|||
// ] |
|||
// }, |
|||
// { |
|||
// 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' |
|||
// } |
|||
// ] |
|||
// }, |
|||
// { |
|||
// 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' |
|||
} |
|||
] |
|||
} |
|||
], |
|||
}; |
|||
}, |
|||
|
|||
|
|||
async mounted() { |
|||
await this.getInfo(this.demandId) |
|||
}, |
|||
|
|||
methods: { |
|||
handleClose() { |
|||
this.$emit("close"); |
|||
}, |
|||
async getInfo(demandId) { |
|||
// const url = "/gov/org/customeragency/staffinagencylist"; |
|||
const url = '/heart/userdemand/demandDetail' |
|||
let params = { |
|||
demandRecId: demandId, |
|||
}; |
|||
const { data, code, msg } = await requestPost(url, params); |
|||
if (code === 0) { |
|||
// console.log('data-org----dict', data) |
|||
this.info = data |
|||
this.getAnalyse() |
|||
} else { |
|||
this.$message.error(msg) |
|||
} |
|||
}, |
|||
async getAnalyse() { |
|||
// const url = "/gov/org/customeragency/staffinagencylist"; |
|||
this.loading = true |
|||
const url = '/heart/userdemand/demand-research-analysis' |
|||
let params = { |
|||
firstCategoryCode: this.info.firstCategoryCode, |
|||
icResiUserId: this.info.demandUserId, |
|||
epmetUserIdList: [this.info.epmetUserId], |
|||
queryOrigin: this.queryOrigin |
|||
}; |
|||
const { data, code, msg } = await requestPost(url, params); |
|||
if (code === 0) { |
|||
console.log('data-org----a', data) |
|||
this.userLists = data.houseUserList.map(item => { |
|||
return { |
|||
...item, |
|||
icUserId: item.icResiUserId |
|||
} |
|||
}) |
|||
this.demandList = data.demandData.map(item => { |
|||
return { |
|||
...item, |
|||
showItem: true, |
|||
categoryName: item.firstCategoryName, |
|||
categoryCode: item.firstCategoryCode, |
|||
projectList: item.demandList.map(n => { |
|||
return { |
|||
...n, |
|||
title: n.content, |
|||
status: n.status, |
|||
statusName: n.statusName, |
|||
projectId: n.demandRecId |
|||
} |
|||
}) |
|||
} |
|||
}) |
|||
console.log('demandList-dd', this.demandList) |
|||
|
|||
} else { |
|||
this.$message.error(msg) |
|||
} |
|||
this.loading = false |
|||
}, |
|||
handleToProject(val) { |
|||
console.log('val---v', val) |
|||
this.getInfo(val.projectId) |
|||
}, |
|||
handleToUser(val) { |
|||
console.log('val-uuu', val) |
|||
|
|||
this.$router.push({ |
|||
path: `/main-shuju/visual-basicinfo-people/${val.icUserId}`, |
|||
}); |
|||
} |
|||
} |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" src="@/assets/scss/modules/visual/people.scss" scoped></style> |
|||
<style lang="scss" scoped> |
|||
.m-pop { |
|||
.wrap { |
|||
.list { |
|||
display: block; |
|||
width: 50%; |
|||
.item { |
|||
display: flex; |
|||
width: 100%; |
|||
box-sizing: border-box; |
|||
margin-top: 0; |
|||
margin-bottom: 15px; |
|||
font-size: 16px; |
|||
cursor: pointer; |
|||
} |
|||
.item-desc { |
|||
font-size: 16px; |
|||
margin-bottom: 10px; |
|||
line-height: 24px; |
|||
} |
|||
} |
|||
} |
|||
.list-title { |
|||
width: 100%; |
|||
box-sizing: border-box; |
|||
padding: 20px 0 10px 62px; |
|||
font-size: 20px; |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
.list-wr { |
|||
display: flex; |
|||
padding: 0 32px; |
|||
|
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue