改造上架版网格完成

This commit is contained in:
2022-05-04 19:50:50 +08:00
parent e36d0e43b0
commit a5a41268c3
4 changed files with 37 additions and 164 deletions

View File

@@ -3,7 +3,7 @@
<div class="pad-t32" v-if="component != 'Map' && isAdmin"></div> <div class="pad-t32" v-if="component != 'Map' && isAdmin"></div>
<div class="select-gird" v-if="component != 'Map' && isAdmin" flex> <div class="select-gird" v-if="component != 'Map' && isAdmin" flex>
<AiPagePicker type="custom" class="fill" :selected="[params]" @select="handleSelectGird" <AiPagePicker type="custom" class="fill" :selected="[params]" @select="handleSelectGird"
:ops="{url:'./SelectGrid',label: 'girdName'}"> :ops="{url:'./SelectGird',label: 'girdName'}">
<div flex> <div flex>
<img src="./components/img/gird-icon.png" alt="" class="gird-icon"> <img src="./components/img/gird-icon.png" alt="" class="gird-icon">
<AiMore v-model="params.girdName" icon="arrow-down"/> <AiMore v-model="params.girdName" icon="arrow-down"/>

View File

@@ -1,7 +1,8 @@
<template> <template>
<div class="detail"> <div class="detail">
<div class="grid-select"> <div class="grid-select">
<AiPagePicker type="gird" class="fill" :selected="[form]" @select="handleSelectGird" :isDisabledOneGird="true"> <AiPagePicker type="custom" class="fill" :selected="[form]" @select="handleSelectGird"
:ops="{url:'./SelectGird',label: 'girdName'}">
<div class="gird-content"> <div class="gird-content">
<div class="label">网格选择</div> <div class="label">网格选择</div>
<div class="grid-select__right"> <div class="grid-select__right">
@@ -27,7 +28,7 @@
<div class="info-flex" v-for="(item, index) in form.girdMemberManageList" :key="index"> <div class="info-flex" v-for="(item, index) in form.girdMemberManageList" :key="index">
<span class="label">网格长</span> <span class="label">网格长</span>
<span class="value"> <span class="value">
<AiOpenData v-if="item.name" type="userName" :openid="item.name" /> <AiOpenData v-if="item.name" type="userName" :openid="item.name"/>
<!-- &nbsp;&nbsp;{{ item.phone }} <!-- &nbsp;&nbsp;{{ item.phone }}
<img :src="$cdn + 'common/phone.png'" alt="" @click="callPhone(item.phone)" class="phone-icon" <img :src="$cdn + 'common/phone.png'" alt="" @click="callPhone(item.phone)" class="phone-icon"
v-if="item.phone"> --> v-if="item.phone"> -->
@@ -38,7 +39,7 @@
<div class="info-flex" v-for="(item, index) in form.girdMemberList" :key="index"> <div class="info-flex" v-for="(item, index) in form.girdMemberList" :key="index">
<span class="label">网格员</span> <span class="label">网格员</span>
<span class="value"> <span class="value">
<AiOpenData v-if="item.name" type="userName" :openid="item.name" /> <AiOpenData v-if="item.name" type="userName" :openid="item.name"/>
<!-- &nbsp;&nbsp;{{ item.phone }} <!-- &nbsp;&nbsp;{{ item.phone }}
<img :src="$cdn + 'common/phone.png'" alt="" @click="callPhone(item.phone)" class="phone-icon" <img :src="$cdn + 'common/phone.png'" alt="" @click="callPhone(item.phone)" class="phone-icon"
v-if="item.phone"> --> v-if="item.phone"> -->
@@ -120,7 +121,7 @@ export default {
if (res?.data) { if (res?.data) {
const arr = [] const arr = []
res.data.map(v => { res.data.map(v => {
if(v.points) { if (v.points) {
arr.push( arr.push(
{ {
id: v.id, id: v.id,
@@ -128,9 +129,9 @@ export default {
points: v.points ? v.points.map(p => [p.lng, p.lat]) : [] points: v.points ? v.points.map(p => [p.lng, p.lat]) : []
} }
) )
if(this.latLngCenter.length) { if (this.latLngCenter.length) {
}else { } else {
this.latLngCenter.push(v.points[0].lat, v.points[0].lng) this.latLngCenter.push(v.points[0].lat, v.points[0].lng)
} }
} }
@@ -176,7 +177,7 @@ export default {
renderGridMap(paths, count = 0) { renderGridMap(paths, count = 0) {
let {map, lib: TMap, $refs: {AiTMap: {fitBounds}}} = this let {map, lib: TMap, $refs: {AiTMap: {fitBounds}}} = this
if (TMap) { if (TMap) {
if(this.latLngCenter.length) { if (this.latLngCenter.length) {
map.setCenter(this.latLngCenter) map.setCenter(this.latLngCenter)
this.map.setZoom(14) this.map.setZoom(14)
} }
@@ -300,7 +301,7 @@ export default {
text-align: right; text-align: right;
} }
.gird-content{ .gird-content {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
@@ -377,7 +378,8 @@ export default {
vertical-align: sub; vertical-align: sub;
margin-left: 16px; margin-left: 16px;
} }
div{
div {
display: inline-block; display: inline-block;
} }
} }

View File

@@ -16,9 +16,8 @@
<img src="./components/img/xz.png" alt="" class="imgselect" v-else @click.stop="girdClick(item, index)"/> <img src="./components/img/xz.png" alt="" class="imgselect" v-else @click.stop="girdClick(item, index)"/>
<img src="./components/img/gird--select-icon.png" alt="" class="avatras"/> <img src="./components/img/gird--select-icon.png" alt="" class="avatras"/>
</div> </div>
<div class="rightes"> <div class="rightes fill">
<div class="applicationNames">{{ item.girdName }}</div> <div class="applicationNames fill">{{ item.girdName }}</div>
<u-icon v-if="item.hasChildren" @click="itemClick(item)" name="arrow-right" color="#ddd"/>
</div> </div>
</div> </div>
</div> </div>
@@ -93,12 +92,14 @@ export default {
}, },
itemClick(row) { itemClick(row) {
if (row.hasChildren) {
let obj = { let obj = {
girdName: row.girdName, girdName: row.girdName,
id: row.id, id: row.id,
} }
this.slectList.push(obj) this.slectList.push(obj)
this.getGridsByGridMemberAndParent(row) this.getGridsByGridMemberAndParent(row)
}
}, },
getGridsByGridMemberAndParent(row) { getGridsByGridMemberAndParent(row) {
@@ -140,26 +141,25 @@ export default {
submit() { submit() {
if (this.SelectGird.id != null) { if (this.SelectGird.id != null) {
uni.$emit('goback', this.SelectGird) uni.navigateBack({
uni.navigateBack({}) success: () => {
uni.$emit("pagePicker:custom", [this.SelectGird])
}
})
} else { } else {
return this.$u.toast('请选择网格') return this.$u.toast('请选择网格')
} }
}, }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.SelectGird { .SelectGird {
height: 100%; min-height: 100vh;
background: #fff; background: #fff;
padding-bottom: 140px; padding-bottom: 140px;
box-sizing: border-box;
.header-top {
background: #fff;
padding: 20px 32px;
}
.header-middle { .header-middle {
.hint { .hint {
@@ -172,11 +172,6 @@ export default {
} }
.showTypes { .showTypes {
.empty-div {
height: 16px;
background: #f5f5f5;
}
.cards { .cards {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -210,80 +205,24 @@ export default {
} }
.rightes { .rightes {
width: calc(100% - 188px);
display: flex; display: flex;
justify-content: space-between;
align-items: center;
margin-left: 32px;
border-bottom: 1px solid #e4e5e6; border-bottom: 1px solid #e4e5e6;
padding: 0 16px;
.applicationNames { .applicationNames {
width: calc(100% - 56px); display: inline-block;
font-size: 36px; font-size: 36px;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} vertical-align: bottom;
.imgs {
width: 40px;
height: 40px;
vertical-align: middle;
} }
} }
} }
} }
.showUsers {
.cards {
display: flex;
align-items: center;
height: 120px;
line-height: 120px;
// background: pink;
padding: 0 0 0 32px;
.imges {
display: flex;
align-items: center;
width: 200px;
.imgselect {
width: 48px;
height: 48px;
}
.avatras {
width: 74px;
height: 74px;
border-radius: 8px;
margin-left: 36px;
}
}
.rights {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-left: 32px;
border-bottom: 1px solid #e4e5e6;
padding-right: 40px;
.applicationNames {
font-size: 36px;
font-weight: 500;
color: #333333;
}
.idNumbers {
color: #666;
}
}
}
}
} }
.subBtn { .subBtn {

View File

@@ -170,11 +170,6 @@ export default {
background: #fff; background: #fff;
padding-bottom: 140px; padding-bottom: 140px;
.header-top {
background: #fff;
padding: 20px 32px;
}
.header-middle { .header-middle {
.hint { .hint {
padding: 28px 20px 28px 32px; padding: 28px 20px 28px 32px;
@@ -255,55 +250,6 @@ export default {
} }
} }
} }
.showUsers {
.cards {
display: flex;
align-items: center;
height: 120px;
line-height: 120px;
// background: pink;
padding: 0 0 0 32px;
.imges {
display: flex;
align-items: center;
width: 200px;
.imgselect {
width: 48px;
height: 48px;
}
.avatras {
width: 74px;
height: 74px;
border-radius: 8px;
margin-left: 36px;
}
}
.rights {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-left: 32px;
border-bottom: 1px solid #e4e5e6;
padding-right: 40px;
.applicationNames {
font-size: 36px;
font-weight: 500;
color: #333333;
}
.idNumbers {
color: #666;
}
}
}
}
} }
.subBtn { .subBtn {
@@ -327,19 +273,5 @@ export default {
float: right; float: right;
} }
} }
.popup {
padding: 0 32px 16px;
.bg {
width: 64px;
height: 10px;
background: #CCC;
border-radius: 6px;
margin: 32px 0 32px 344px;
}
}
} }
</style> </style>