|
|
|
|
<template>
|
|
|
|
|
<div class="m-pop">
|
|
|
|
|
<div class="wrap">
|
|
|
|
|
<div class="btn-close" @click="handleClose">
|
|
|
|
|
<img src="@/assets/img/shuju/people/close.png" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="wrap2">
|
|
|
|
|
<div class="title">
|
|
|
|
|
<span>更多信息</span>
|
|
|
|
|
</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
|
|
|
|
|
v-else-if="group.tableName == 'ic_hs'"
|
|
|
|
|
style="margin-top: 10px; padding: 0 20px"
|
|
|
|
|
>
|
|
|
|
|
<el-table
|
|
|
|
|
class="table"
|
|
|
|
|
:data="natList"
|
|
|
|
|
border
|
|
|
|
|
height="400"
|
|
|
|
|
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="序号"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
type="index"
|
|
|
|
|
width="50"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="testTime"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="检测时间"
|
|
|
|
|
width="150"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="address"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="检测机构"
|
|
|
|
|
show-overflow-tooltip
|
|
|
|
|
min-width="180"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="result"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="检测结果"
|
|
|
|
|
width="240"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
v-else-if="group.tableName == 'ic_xc'"
|
|
|
|
|
style="margin-top: 10px; padding: 0 20px"
|
|
|
|
|
>
|
|
|
|
|
<el-table
|
|
|
|
|
class="table"
|
|
|
|
|
:data="tripList"
|
|
|
|
|
border
|
|
|
|
|
height="400"
|
|
|
|
|
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="序号"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
type="index"
|
|
|
|
|
width="50"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="fromRegion"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="来自地区"
|
|
|
|
|
show-overflow-tooltip
|
|
|
|
|
min-width="100"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="arrivalTime"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="来到本地时间"
|
|
|
|
|
width="140"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="leaveTime"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="离开本地时间"
|
|
|
|
|
width="140"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="noticeTime"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="最近一次通知时间"
|
|
|
|
|
width="140"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="remark"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="备注"
|
|
|
|
|
show-overflow-tooltip
|
|
|
|
|
width="120"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
v-else-if="group.tableName == 'ic_ym'"
|
|
|
|
|
style="margin-top: 10px; padding: 0 20px"
|
|
|
|
|
>
|
|
|
|
|
<el-table
|
|
|
|
|
class="table"
|
|
|
|
|
:data="vaccineList"
|
|
|
|
|
border
|
|
|
|
|
height="400"
|
|
|
|
|
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="序号"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
type="index"
|
|
|
|
|
width="50"
|
|
|
|
|
></el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="vaccinateTime"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="接种时间"
|
|
|
|
|
show-overflow-tooltip
|
|
|
|
|
min-width="100"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="address"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="接种地点"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
prop="manufactor"
|
|
|
|
|
header-align="center"
|
|
|
|
|
align="center"
|
|
|
|
|
label="疫苗厂家"
|
|
|
|
|
>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</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>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import cptCard from "@/views/modules/visual/cpts/card";
|
|
|
|
|
import { requestPost } from "@/js/dai/request";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "peopleMore",
|
|
|
|
|
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: [],
|
|
|
|
|
natList: [], // 核酸检测
|
|
|
|
|
tripList: [], // 行程信息
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
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.getDetailList();
|
|
|
|
|
this.getXiaoquList();
|
|
|
|
|
this.getLouList();
|
|
|
|
|
this.getDanyuanList();
|
|
|
|
|
this.getHomeList();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getOptionLabel(options, value, type = "") {
|
|
|
|
|
if (Array.isArray(options)) {
|
|
|
|
|
let valueArr = value.split(",");
|
|
|
|
|
if (type == "cascader") {
|
|
|
|
|
let finalValue = [];
|
|
|
|
|
this.getNodePath(options, value, finalValue);
|
|
|
|
|
return finalValue.join("-");
|
|
|
|
|
} else {
|
|
|
|
|
return valueArr
|
|
|
|
|
.map((val) => {
|
|
|
|
|
let item = options.find((item) => item.value == val);
|
|
|
|
|
if (item && item.label) {
|
|
|
|
|
return item.label;
|
|
|
|
|
}
|
|
|
|
|
return "--";
|
|
|
|
|
})
|
|
|
|
|
.join("、");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "--";
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getNodePath(node, val, path) { // node:所有数据,val:后台返回的id, path:要渲染的数组id
|
|
|
|
|
for (let i = 0; i < node.length; i++) {
|
|
|
|
|
const ele = node[i];
|
|
|
|
|
if (ele.value === val) {
|
|
|
|
|
path.push(ele.label);
|
|
|
|
|
return path
|
|
|
|
|
} else if (ele.children && ele.children.length > 0) {
|
|
|
|
|
if (ele.children.some(row => row.value === val)) {
|
|
|
|
|
path.unshift(ele.label);
|
|
|
|
|
this.getNodePath(ele.children,val,path);
|
|
|
|
|
} else {
|
|
|
|
|
this.getNodePath(ele.children,val,path);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return path;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//加载组织数据
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
const arr = [
|
|
|
|
|
{
|
|
|
|
|
groupId: "hs123",
|
|
|
|
|
itemList: [],
|
|
|
|
|
label: "核酸检测信息",
|
|
|
|
|
sort: 998,
|
|
|
|
|
supportAdd: false,
|
|
|
|
|
tableName: "ic_hs",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
groupId: "hs124",
|
|
|
|
|
itemList: [],
|
|
|
|
|
label: "行程信息",
|
|
|
|
|
sort: 999,
|
|
|
|
|
supportAdd: false,
|
|
|
|
|
tableName: "ic_xc",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
groupId: "hs125",
|
|
|
|
|
itemList: [],
|
|
|
|
|
label: "疫苗信息",
|
|
|
|
|
sort: 999,
|
|
|
|
|
supportAdd: false,
|
|
|
|
|
tableName: "ic_ym",
|
|
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
this.groupList = [...this.groupList, ...arr];
|
|
|
|
|
} 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);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
async getDetailList() {
|
|
|
|
|
const url = "/epmetuser/epidemicPrevention/info";
|
|
|
|
|
let params = {
|
|
|
|
|
id: this.userId,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params);
|
|
|
|
|
|
|
|
|
|
if (code === 0) {
|
|
|
|
|
const { vaccineList, natList, tripList } = data;
|
|
|
|
|
this.vaccineList = vaccineList;
|
|
|
|
|
this.natList = natList;
|
|
|
|
|
this.tripList = tripList;
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(msg);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" src="@/assets/scss/people-info.scss" scoped></style>
|