Browse Source

bug修改

shibei_master
jiangyy 3 years ago
parent
commit
a751d74b7a
  1. 54
      src/views/modules/base/community/buildTable.vue
  2. 42
      src/views/modules/base/community/communityTable.vue
  3. 42
      src/views/modules/base/community/roomTable.vue
  4. 2
      src/views/modules/base/epidemic/natInfo/natList.vue
  5. 93
      src/views/modules/visual/basicinfo/basicInfoMain.vue
  6. 302
      src/views/modules/visual/basicinfo/cpts/people-more.vue
  7. 61
      src/views/modules/visual/basicinfo/peopleSearch.vue

54
src/views/modules/base/community/buildTable.vue

@ -81,6 +81,10 @@
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
<el-button style="float:left;margin-left:10px"
class="diy-button--more"
size="small"
@click="deleteBatch">批量删除</el-button>
</div>
<div class="div_table">
@ -159,19 +163,6 @@
</el-pagination>
</div>
<div v-if="tableData.length>0"
class="div_del">
<el-checkbox style="height:32px"
:indeterminate="isIndeterminate"
v-model="selAllFlag"
@change="handleSelectAll">全选</el-checkbox>
<el-button v-show="showDeletBtn"
style="margin-left:15px"
type="red"
size="small"
@click="deleteBatch">删除</el-button>
</div>
</div>
<!-- 修改弹出框 -->
@ -209,16 +200,14 @@ export default {
pageSize: 20,
pageNo: 0,
tableLoading: true,
selAllFlag: false,
isIndeterminate: false,//
// showImportBtn: false,//
agencyObj: {},//
ownerName: '',
ownerPhone: '',
validTableDataNum: 0,//
selection: [],
showDeletBtn: false,
//form
formShow: false,
@ -352,16 +341,7 @@ export default {
this.$emit('refreshTree')
},
handleSelectAll (selectAllFlag) {
this.$refs.ref_table.clearSelection();
if (selectAllFlag) {
this.tableData.forEach(row => {
if (row.showBtn) {
this.$refs.ref_table.toggleRowSelection(row);
}
});
}
},
deleteBatch () {
if (this.selection.length > 0) {
this.$confirm("确认删除选择的楼宇?", "提示", {
@ -388,23 +368,10 @@ export default {
selectAll (selection) {
this.selection = selection
if (selection.length === this.validTableDataNum) {
this.selAllFlag = true
} else {
this.selAllFlag = false
}
},
selectionChange (selection) {
this.selection = selection
this.isIndeterminate = false
if (selection.length === this.validTableDataNum) {
this.selAllFlag = true
} else {
this.selAllFlag = false
}
},
async handleDelete (row) {
@ -699,14 +666,7 @@ export default {
}
},
watch: {
selection (val) {
if (val.length > 0) {
this.showDeletBtn = true
} else {
this.showDeletBtn = false
}
}
},
props: {
staffAgencyId: {

42
src/views/modules/base/community/communityTable.vue

@ -108,6 +108,10 @@
class="diy-button--qrcode"
size="small"
@click="handleDownQr(agencyObj, 'community')">社区二维码</el-button>
<el-button style="float:left;margin-left:10px"
class="diy-button--more"
size="small"
@click="deleteBatch">批量删除</el-button>
</div>
@ -203,18 +207,6 @@
</el-pagination>
</div>
<div v-if="tableData.length>0"
class="div_del">
<el-checkbox style="height:32px"
:indeterminate="isIndeterminate"
v-model="selAllFlag"
@change="handleSelectAll">全选</el-checkbox>
<el-button v-show="showDeletBtn"
style="margin-left:15px"
class="diy-button--delete"
size="small"
@click="deleteBatch">删除</el-button>
</div>
</div>
<!-- 修改弹出框 -->
@ -254,8 +246,7 @@ export default {
pageSize: 20,
pageNo: 0,
tableLoading: true,
selAllFlag: false,
isIndeterminate: false,//
showImportBtn: false,//
agencyObj: {},//
@ -414,16 +405,7 @@ export default {
this.$emit('refreshTree')
},
handleSelectAll (selectAllFlag) {
this.$refs.ref_table.clearSelection();
if (selectAllFlag) {
this.tableData.forEach(row => {
if (row.showBtn) {
this.$refs.ref_table.toggleRowSelection(row);
}
});
}
},
deleteBatch () {
if (this.selection.length > 0) {
this.$confirm("确认删除选择的小区?", "提示", {
@ -451,23 +433,11 @@ export default {
this.selection = selection
if (selection.length === this.validTableDataNum) {
this.selAllFlag = true
} else {
this.selAllFlag = false
}
},
selectionChange (selection) {
this.selection = selection
this.isIndeterminate = false
if (selection.length === this.validTableDataNum) {
this.selAllFlag = true
} else {
this.selAllFlag = false
}
},
async handleDelete (row) {

42
src/views/modules/base/community/roomTable.vue

@ -64,6 +64,10 @@
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
<el-button style="float:left;margin-left:10px"
class="diy-button--more"
size="small"
@click="deleteBatch">批量删除</el-button>
</div>
<div class="div_table">
@ -154,19 +158,6 @@
</el-pagination>
</div>
<div v-if="tableData.length>0"
class="div_del">
<el-checkbox style="height:32px"
:indeterminate="isIndeterminate"
v-model="selAllFlag"
@change="handleSelectAll">全选</el-checkbox>
<el-button v-show="showDeletBtn"
style="margin-left:15px"
type="red"
size="small"
@click="deleteBatch">删除</el-button>
</div>
</div>
<!-- 修改弹出框 -->
@ -203,8 +194,7 @@ export default {
pageSize: 20,
pageNo: 0,
tableLoading: true,
selAllFlag: false,
isIndeterminate: false,//
// showImportBtn: false,//
agencyObj: {},//
@ -350,17 +340,7 @@ export default {
this.loadTable()
},
handleSelectAll (selectAllFlag) {
this.$refs.ref_table.clearSelection();
if (selectAllFlag) {
this.tableData.forEach(row => {
if (row.showBtn) {
this.$refs.ref_table.toggleRowSelection(row);
}
});
}
},
deleteBatch () {
if (this.selection.length > 0) {
this.$confirm("确认删除选择的房屋?", "提示", {
@ -386,23 +366,11 @@ export default {
},
selectAll (selection) {
this.selection = selection
if (selection.length === this.validTableDataNum) {
this.selAllFlag = true
} else {
this.selAllFlag = false
}
},
selectionChange (selection) {
this.selection = selection
this.isIndeterminate = false
if (selection.length === this.validTableDataNum) {
this.selAllFlag = true
} else {
this.selAllFlag = false
}
},
async handleDelete (row) {

2
src/views/modules/base/epidemic/natInfo/natList.vue

@ -165,7 +165,7 @@
header-align="center"
align="center"
show-overflow-tooltip
label="检测机构"
label="检测地点"
min-width="230">
</el-table-column>
<el-table-column prop="natResultShow"

93
src/views/modules/visual/basicinfo/basicInfoMain.vue

@ -14,19 +14,14 @@
</div>
</div>
<people v-if="orgLevel==='people'"
:uid="selUserId"
ref="ref_people"></people>
<div v-show="orgLevel!=='people' "
class="div_content">
<div class="div_content">
<basic-info-community v-show="orgLevel==='neighborHood'"
@toSubAgency="toSubAgency"
ref="ref_community"
@refreshInfoList="refreshInfoList"></basic-info-community>
<div v-show="orgLevel!=='people' && orgLevel!=='neighborHood'"
<div v-show="orgLevel!=='neighborHood'"
class="div_map"
id="map"
ref="map">
@ -151,8 +146,7 @@ import { mapGetters } from "vuex";
import { Loading } from 'element-ui'; //Loading
import { requestPost } from "@/js/dai/request";
import BasicInfoCommunity from "./basicInfoCommunity";
import PeopleSearch from "./peopleSearch";
import People from "./people";
import cptCard from "@/views/modules/visual/cpts/card";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
@ -384,59 +378,46 @@ const vueGis = {
this.toSubAgency('polygon', e)
},
// type:polygon / people
// type:polygon /
async toSubAgency (type, e, searchName) {
//neighborHood
if (type === 'people') {
this.runNum++
this.runAgencyArray.push(this.orgData)
this.orgLevel = 'people'
this.selUserId = e
this.orgId = ''
this.orgData = {
id: '',
level: 'people',
name: '人员档案'
}
this.searchName = searchName
} else {
if (!e) {
return false
}
if (!e.selected[0]) {
return false
if (!e) {
return false
}
if (!e.selected[0]) {
return false
}
this.runNum++
this.orgData.center = map.getView().getCenter()
this.orgData.zoom = map.getView().getZoom()
console.log('center', map.getView().getCenter())
console.log('zoom', map.getView().getZoom())
this.runAgencyArray.push(this.orgData)
this.subAgencyArray.forEach(item => {
if (item.id === e.selected[0].values_.id) {
this.orgId = item.id
this.orgLevel = item.level
this.orgData = item
}
this.runNum++
this.orgData.center = map.getView().getCenter()
this.orgData.zoom = map.getView().getZoom()
console.log('center', map.getView().getCenter())
console.log('zoom', map.getView().getZoom())
this.runAgencyArray.push(this.orgData)
this.subAgencyArray.forEach(item => {
if (item.id === e.selected[0].values_.id) {
this.orgId = item.id
this.orgLevel = item.level
this.orgData = item
}
});
if (this.orgLevel === 'neighborHood') {
this.loadList()
this.$nextTick(() => {
// id
this.$refs.ref_community.initData(this.orgData.id, this.orgData.name);
});
if (this.orgLevel === 'neighborHood') {
this.loadList()
this.$nextTick(() => {
// id
this.$refs.ref_community.initData(this.orgData.id, this.orgData.name);
});
} else {
this.refreshMap(true)
}
} else {
this.refreshMap(true)
}
}
},
@ -530,11 +511,7 @@ const vueGis = {
this.center = this.orgData.center
this.zoom = this.orgData.zoom
if (this.orgLevel === 'people') {
}
else if (this.orgLevel === 'neighborHood') {//
if (this.orgLevel === 'neighborHood') {//
} else {
@ -951,7 +928,7 @@ const vueGis = {
...mapGetters(["clientHeight"])
},
components: { BasicInfoCommunity, PeopleSearch, People, cptCard, ScreenLoading },
components: { BasicInfoCommunity, cptCard, ScreenLoading },
}
export default vueGis;
</script>

302
src/views/modules/visual/basicinfo/cpts/people-more.vue

@ -7,42 +7,45 @@
<span>更多信息</span>
</div>
<div class="btn-close" @click="handleClose">
<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 :key="'fieldSubList' + index"
v-for="(fieldSubList, index) in fieldList">
<div class="list">
<div class="item" v-if="index == 0">
<div class="item"
v-if="index == 0">
<span class="item-field">所属网格</span>
<span>{{ gridName }}</span>
</div>
<div class="item" v-if="index == 0">
<div class="item"
v-if="index == 0">
<span class="item-field">所属小区</span>
<span>{{ xiaoquName }}</span>
</div>
<div class="item" v-if="index == 0">
<div class="item"
v-if="index == 0">
<span class="item-field">所属楼宇</span>
<span>{{ louName }}-{{ danyuanName }}</span>
</div>
<div class="item" v-if="index == 0">
<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">
<div class="item"
:key="field.itemId"
v-for="field in fieldSubList">
<span class="item-field">{{ field.label }}</span>
<span
v-if="
<span v-if="
field.itemType == 'select' ||
field.itemType == 'radio' ||
field.itemType == 'checkbox' ||
field.itemType == 'cascader'
"
>{{
">{{
info[field.columnName] == null
? "--"
: getOptionLabel(
@ -50,8 +53,7 @@
info[field.columnName],
field.itemType
)
}}</span
>
}}</span>
<span v-else>{{
info[field.columnName] == null ? "--" : info[field.columnName]
@ -63,57 +65,43 @@
</div>
<div class="tabs">
<div
class="tab-btn"
@click="subStartGroupIndex"
v-if="groupList.length > 9"
>
<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"
>
<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"
>
<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 :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"
>
<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="
<span v-if="
field.itemType == 'select' ||
field.itemType == 'radio' ||
field.itemType == 'checkbox' ||
field.itemType == 'cascader'
"
>{{
">{{
infoItem[field.columnName] == null
? "--"
: getOptionLabel(
@ -121,8 +109,7 @@
infoItem[field.columnName],
field.itemType
)
}}</span
>
}}</span>
<span v-else>{{
infoItem[field.columnName] == null
@ -132,21 +119,39 @@
</div>
</div>
</div>
<div class="list" v-else>
<div
class="item"
:key="field.itemId"
v-for="field in group.itemList"
>
<div v-if="group.tableName == 'ic_hs'"
style="margin-top:10px; padding: 0 20px;">
<div class="tb">
<cpt-tb :col-list="natDemand.colList"
:loading="natDemand.loading"
:header="natDemand.header"
:list="natDemand.list"></cpt-tb>
</div>
</div>
<div v-if="group.tableName == 'ic_xc'"
style="margin-top:10px; padding: 0 20px;">
<div class="tb">
<cpt-tb :col-list="tripDemand.colList"
:loading="tripDemand.loading"
:header="tripDemand.header"
:list="tripDemand.list"></cpt-tb>
</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="
<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
? "--"
@ -155,8 +160,7 @@
allInfo[group.tableName][0][field.columnName],
field.itemType
)
}}</span
>
}}</span>
<span v-else>{{
!allInfo[group.tableName] ||
@ -175,6 +179,7 @@
<script>
import cptCard from "@/views/modules/visual/cpts/card";
import { requestPost } from "@/js/dai/request";
import cptTb from "@/views/modules/visual/cpts/tb";
export default {
name: "peopleMore",
@ -190,10 +195,10 @@ export default {
},
components: {
cptCard,
cptCard, cptTb
},
data() {
data () {
return {
fieldList: [],
groupList: [],
@ -206,11 +211,73 @@ export default {
louList: [],
danyuanList: [],
homeList: [],
natList: [],//
tripList: [],//
natDemand: {
loading: false,
colList: [
{
align: "center",
width: "10%",
},
{
align: "center",
width: "15%",
},
{
align: "center",
width: "55%",
},
{
align: "center",
width: "10%",
},
],
header: ["序号", "检测时间", "检测地点", "检测结果"],
list: [],
srcList: [],
},
tripDemand: {
loading: false,
colList: [
{
align: "center",
width: "10%",
},
{
align: "center",
width: "30%",
},
{
align: "center",
width: "15%",
},
{
align: "center",
width: "15%",
},
{
align: "center",
width: "15%",
},
{
align: "center",
width: "15%",
},
],
header: ["序号", "来自地区", "来到本地地区", "离开本地地区", "最近一次通知时间", "备注"],
list: [],
srcList: [],
},
};
},
computed: {
xiaoquName() {
xiaoquName () {
const {
xiaoquList,
info: { VILLAGE_ID },
@ -223,7 +290,7 @@ export default {
}
return "";
},
louName() {
louName () {
const {
louList,
info: { BUILD_ID },
@ -236,7 +303,7 @@ export default {
}
return "";
},
danyuanName() {
danyuanName () {
const {
danyuanList,
info: { UNIT_ID },
@ -249,7 +316,7 @@ export default {
}
return "";
},
danyuanName() {
danyuanName () {
const {
danyuanList,
info: { UNIT_ID },
@ -262,7 +329,7 @@ export default {
}
return "";
},
homeName() {
homeName () {
const {
homeList,
info: { HOME_ID },
@ -278,17 +345,17 @@ export default {
},
watch: {
userId() {
userId () {
this.getApiData();
},
},
mounted() {
mounted () {
this.getApiData();
},
methods: {
addStartGroupIndex() {
addStartGroupIndex () {
const { startGroupIndex, groupList } = this;
if (startGroupIndex < groupList.length - 9) {
this.startGroupIndex = startGroupIndex + 1;
@ -296,7 +363,7 @@ export default {
this.startGroupIndex = groupList.length - 9;
}
},
subStartGroupIndex() {
subStartGroupIndex () {
const { startGroupIndex, groupList } = this;
if (startGroupIndex > 0) {
this.startGroupIndex = startGroupIndex - 1;
@ -304,20 +371,21 @@ export default {
this.startGroupIndex = 0;
}
},
handleClose() {
handleClose () {
this.$emit("close");
},
async getApiData() {
async getApiData () {
await this.getField();
await this.getInfo();
this.getDetailList()
this.getXiaoquList();
this.getLouList();
this.getDanyuanList();
this.getHomeList();
},
getOptionLabel(options, value, type = "") {
getOptionLabel (options, value, type = "") {
if (Array.isArray(options)) {
let valueArr = value.split(",");
if (type == "cascader") {
@ -351,7 +419,7 @@ export default {
},
//
async getField() {
async getField () {
const url = "/oper/customize/icform/getcustomerform";
const { data, code, msg } = await requestPost(url, {
@ -391,7 +459,7 @@ export default {
},
//
async getInfo() {
async getInfo () {
const url = "/epmetuser/icresiuser/detail";
const { data, code, msg } = await requestPost(url, {
@ -425,13 +493,71 @@ export default {
}
});
});
const arr = [{
groupId: "hs123",
itemList: [],
label: "核酸检测信息",
sort: 998,
supportAdd: false,
tableName: "ic_hs",
}, {
groupId: "hs124",
itemList: [],
label: "行程信息",
sort: 999,
supportAdd: false,
tableName: "ic_xc",
}]
this.groupList = [...this.groupList, ...arr]
} 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 { natList, tripList } = data
this.natList = natList
this.tripList = tripList
this.natDemand.list = natList.map((item) => {
return [
{ type: "index" },
item.testTime,
item.address,
item.result,
];
});
this.natDemand.srcList = natList;
this.tripDemand.list = tripList.map((item) => {
return [
{ type: "index" },
item.fromRegion,
item.arrivalTime,
item.leaveTime,
item.noticeTime,
item.remark,
];
});
this.tripDemand.srcList = tripList;
} else {
this.$message.error(msg)
}
},
//
async getOptions(url) {
async getOptions (url) {
if (!url) return [];
const { data, code, msg } = await requestPost(url, {});
@ -443,7 +569,7 @@ export default {
}
},
async getXiaoquList() {
async getXiaoquList () {
const url = "/gov/org/icneighborhood/neighborhoodoption";
const { data, code, msg } = await requestPost(url, {
@ -457,7 +583,7 @@ export default {
this.$message.error(msg);
}
},
async getLouList() {
async getLouList () {
const url = "/gov/org/icbuilding/buildingoption";
const { data, code, msg } = await requestPost(url, {
@ -470,7 +596,7 @@ export default {
this.$message.error(msg);
}
},
async getDanyuanList() {
async getDanyuanList () {
const url = "/gov/org/icbuildingunit/unitoption";
const { data, code, msg } = await requestPost(url, {
@ -483,7 +609,7 @@ export default {
this.$message.error(msg);
}
},
async getHomeList() {
async getHomeList () {
const url = "/gov/org/ichouse/houseoption";
const { data, code, msg } = await requestPost(url, {

61
src/views/modules/visual/basicinfo/peopleSearch.vue

@ -1,6 +1,16 @@
<template>
<div>
<div>
<div v-if="orgLevel==='people'"
class="div_top">
<div class="router_line"></div>
<div class="div_router">
<span class="router_parents"
@click="handleClickBack()">返回</span>
</div>
</div>
<div v-if="orgLevel!=='people'">
<div class="div_search_list">
<el-input size="mini"
WarningColor='warning'
@ -63,7 +73,13 @@
</div>
</div>
<people v-if="orgLevel==='people'"
:uid="selUserId"
ref="ref_people"></people>
</div>
</template>
<script>
@ -79,10 +95,15 @@ export default {
return {
headerList: [],
tableData: [],
searchName: '',
searchName: '',
pageSize: 4,
pageNo: 1,
total: 0
total: 0,
orgLevel: 'search',
selUserId: '',
//
runNum: 0,
runAgencyArray: [],
};
},
methods: {
@ -90,13 +111,7 @@ export default {
},
loadByName (searchName) {
this.searchName = searchName
// if (this.searchName) {
this.loadList()
// }
},
reset () {
this.searchName = ''
this.tableData = []
@ -126,27 +141,53 @@ export default {
//
handelToPeople (index) {
this.$emit('toSubAgency', 'people', this.tableData[index].userId, this.searchName)
this.toSubAgency('people', this.tableData[index].userId)
},
pageCurrentChangeHandle (val) {
this.pageNo = val
this.loadList()
},
// type:polygon / people
async toSubAgency (type, userId) {
this.orgLevel = 'people'
this.selUserId = userId
},
//
handleClickBack () {
this.orgLevel = 'search'
},
},
destroyed () {
console.log("我已经离开了!");
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/basicInfoMain.scss"
scoped
></style>
<style
lang="scss"
src="@/assets/scss/modules/visual/searchPerson.scss"
scoped
></style>
<style lang=scss>
.div_search_list {
.el-input__inner[WarningColor="warning"] {

Loading…
Cancel
Save