Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # src/saas/AppGridManagement/AppGridManagement.vue
This commit is contained in:
@@ -6,12 +6,11 @@
|
||||
<img src="./components/img/gird-icon.png" alt="" class="gird-icon">
|
||||
<div @click="linkTo('./SelectGird')">
|
||||
{{params.girdName}}
|
||||
<img src="./components/img/down-icon.png" alt="" class="down-icon">
|
||||
<img src="./components/img/down-icon.png" alt="" class="down-icon">
|
||||
</div>
|
||||
<span @click="linkTo('./SetGird')" v-if="checkType == 2">网格配置</span>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
|
||||
<component v-if="refresh && isAdmin" :is="component" @change="onChange" :params="params"> </component>
|
||||
<div class="tabs" v-if="isTab && isAdmin">
|
||||
<div class="item" @click="tabClick(index, item.component)" v-for="(item, index) in tabs" :key="index">
|
||||
@@ -115,7 +114,7 @@ export default {
|
||||
this.isGirdUser()
|
||||
uni.$on('goback', (res) => {
|
||||
this.params = res
|
||||
})
|
||||
})
|
||||
},
|
||||
onReachBottom() {
|
||||
if(!this.tabIndex) {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<AiTopFixed v-if="isAdmin">
|
||||
<div class="pad-t32"></div>
|
||||
<div class="select-gird" @click="showSelect=true">
|
||||
<img src="./components/img/gird-icon.png" alt="" class="gird-icon">
|
||||
<div>
|
||||
{{girdName}}
|
||||
<div class="gird-name-div">
|
||||
<img src="./components/img/gird-icon.png" alt="" class="gird-icon">
|
||||
<div class="gird-name">{{girdName}}</div>
|
||||
<img src="./components/img/down-icon.png" alt="" class="down-icon">
|
||||
</div>
|
||||
</div>
|
||||
@@ -393,6 +393,19 @@ export default {
|
||||
color: #3F8DF5;
|
||||
line-height: 48px;
|
||||
}
|
||||
.gird-name-div{
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding-left: 0;
|
||||
}
|
||||
.gird-name{
|
||||
display: inline-block;
|
||||
max-width: calc(100% - 80px);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
.empty{
|
||||
text-align: center;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<div class="item" v-for="(item, index) in list" :key="index">
|
||||
<p>{{item.content}}</p>
|
||||
<div>{{item.createTime}}
|
||||
<span>{{item.createUserName}}</span>
|
||||
<span><AiOpenData v-if="item.createUserName" type="userName" :openid="item.createUserName" /></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
<p>{{item.content}}</p>
|
||||
<div>{{item.createTime}}
|
||||
<span>
|
||||
网格员:<AiOpenData v-if="item.createUserName" type="userName" :openid="item.createUserName" />
|
||||
网格员:<span style="margin-left:0;"><AiOpenData v-if="item.createUserName" type="userName" :openid="item.createUserName" /></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -56,7 +56,6 @@ export default {
|
||||
params: {
|
||||
current: this.current,
|
||||
size: 10,
|
||||
areaId: this.user.areaId,
|
||||
communityName: this.title
|
||||
}
|
||||
}).then(res => {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<div class="form-item__right">
|
||||
<textarea v-model="form.content" :maxlength="500" placeholder="请简要描述事件…"></textarea>
|
||||
</div>
|
||||
<div class="limit">{{ form.content.length }}/200</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -233,6 +234,9 @@
|
||||
if (!this.form.groupId) {
|
||||
return this.$u.toast('请选择事件类型')
|
||||
}
|
||||
if (!this.form.address) {
|
||||
return this.$u.toast('请选择发生地点')
|
||||
}
|
||||
if (!this.form.girdName) {
|
||||
return this.$u.toast('请选择上报网格')
|
||||
}
|
||||
@@ -277,6 +281,12 @@
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.limit {
|
||||
position: fixed;
|
||||
right: 44px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.form-item {
|
||||
padding-left: 32px;
|
||||
|
||||
@@ -300,6 +310,7 @@
|
||||
align-items: center;
|
||||
font-size: 32px;
|
||||
|
||||
|
||||
span {
|
||||
max-width: 400px;
|
||||
margin-right: 8px;
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
<span class="card-right">{{ data.girdName }}</span>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<!-- <div class="card">
|
||||
<span class="card-left">联系方式</span>
|
||||
<span class="card-right">
|
||||
<span> {{ data.phone }}</span>
|
||||
<u-icon name="phone-fill" color="#3D94FB" @click="callPhone(data.phone)"></u-icon>
|
||||
</span>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="card">
|
||||
<span class="card-left">上报地址</span>
|
||||
|
||||
@@ -165,10 +165,9 @@ export default {
|
||||
color: #666;
|
||||
|
||||
img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
vertical-align: middle;
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ export default {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div {
|
||||
.gird-name-div {
|
||||
display: inline-block;
|
||||
padding: 0 20px;
|
||||
box-sizing: border-box;
|
||||
@@ -159,6 +159,15 @@ export default {
|
||||
img {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.gird-name{
|
||||
display: inline-block;
|
||||
max-width: calc(100% - 50px);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
|
||||
@@ -57,6 +57,15 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handerSearch() {
|
||||
this.list = []
|
||||
this.current = 1
|
||||
this.getList()
|
||||
},
|
||||
handerClear() {
|
||||
this.keyword = ''
|
||||
this.handerSearch()
|
||||
},
|
||||
getList(){
|
||||
this.$http.post(`/app/appgirdmemberresident/listByGirdMember?current=${this.current}&girdMemberId=${this.userId}&girdId=${this.girdId}&name=${this.keyword}`).then((res) => {
|
||||
if (res.code == 0) {
|
||||
|
||||
@@ -63,7 +63,8 @@ export default {
|
||||
showSelect: false,
|
||||
editor: null,
|
||||
polygons: [],
|
||||
labels: []
|
||||
labels: [],
|
||||
latLngCenter: [], //中心点
|
||||
}
|
||||
},
|
||||
computed: {...mapState(['user', 'config'])},
|
||||
@@ -73,11 +74,12 @@ export default {
|
||||
// this.getLeafNodes()
|
||||
uni.$on('goback', e => {
|
||||
if (e.girdLevel == '0') {
|
||||
setTimeout(() => {
|
||||
this.$u.toast('请选择二级或者三级网格')
|
||||
}, 400)
|
||||
return false
|
||||
// setTimeout(() => {
|
||||
// this.$u.toast('请选择二级或者三级网格')
|
||||
// }, 400)
|
||||
// return false
|
||||
}
|
||||
this.form.girdName = e.girdName
|
||||
this.getGridList(e.id, true)
|
||||
})
|
||||
},
|
||||
@@ -114,14 +116,23 @@ export default {
|
||||
this.$http.post(`/app/appgirdinfo/queryChildGirdInfoByGirdId?girdId=${id}`).then((res) => {
|
||||
this.$hideLoading()
|
||||
if (res?.data) {
|
||||
const arr = res.data.map(v => {
|
||||
return {
|
||||
id: v.id,
|
||||
girdName: v.girdName,
|
||||
points: v.points ? v.points.map(p => [p.lng, p.lat]) : []
|
||||
const arr = []
|
||||
res.data.map(v => {
|
||||
if(v.points) {
|
||||
arr.push(
|
||||
{
|
||||
id: v.id,
|
||||
girdName: v.girdName,
|
||||
points: v.points ? v.points.map(p => [p.lng, p.lat]) : []
|
||||
}
|
||||
)
|
||||
if(this.latLngCenter.length) {
|
||||
return
|
||||
}else {
|
||||
this.latLngCenter.push(v.points[0].lat, v.points[0].lng)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
this.renderGridMap(arr)
|
||||
}
|
||||
}).catch(() => {
|
||||
@@ -159,6 +170,10 @@ export default {
|
||||
console.log(paths)
|
||||
let {map, lib: TMap, $refs: {AiTMap: {fitBounds}}} = this
|
||||
if (TMap) {
|
||||
if(this.latLngCenter.length) {
|
||||
map.setCenter(this.latLngCenter)
|
||||
this.map.setZoom(14)
|
||||
}
|
||||
const colors = ["#A194F4", "#7CBDF3", "#F3A57D", "#62D063", "#58DBDA", "#F7D151"]
|
||||
if (this.polygons.length > 0) {
|
||||
this.polygons.forEach(e => e.destroy())
|
||||
|
||||
@@ -2,8 +2,11 @@
|
||||
<div class="Organization">
|
||||
<div class="title">网格人员</div>
|
||||
<div class="user-content" v-for="(item, index) in dataInfo.parentGirdMembers" :key="index">
|
||||
<image :src="item.photo" alt="" mode="aspectFill" v-if="item.photo" />
|
||||
<img src="./components/img/big-user.png" alt="" v-else>
|
||||
<div>
|
||||
<!-- <image :src="item.photo" alt="" mode="aspectFill" v-if="item.photo" /> -->
|
||||
<img :src="item.photo" alt="" v-if="item.photo">
|
||||
<img src="./components/img/big-user.png" alt="" v-else>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="name">
|
||||
<AiOpenData v-if="item.wxUserId" type="userName" :openid="item.wxUserId" />
|
||||
@@ -13,8 +16,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-content user-item" v-for="(item, index) in dataInfo.girdMembers" :key="index">
|
||||
<image :src="item.photo" alt="" mode="aspectFill" v-if="item.photo" />
|
||||
<img src="./components/img/user-img.png" alt="" v-else />
|
||||
<div>
|
||||
<!-- <image :src="item.photo" alt="" mode="aspectFill" v-if="item.photo" /> -->
|
||||
<img :src="item.photo" alt="" v-if="item.photo">
|
||||
<img src="./components/img/big-user.png" alt="" v-else>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="name">
|
||||
<AiOpenData v-if="item.wxUserId" type="userName" :openid="item.wxUserId" />
|
||||
|
||||
@@ -58,10 +58,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pad-b112"></div>
|
||||
<!-- <div class="pad-b112"></div>
|
||||
<div class="add-btn" @click="back">
|
||||
<div>查看其他成员</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div class="user-list">
|
||||
<div class="item" v-for="(item, index) in list" :key="index" @click="toOtherSta(item.memberId, item.wxUserId)" >
|
||||
<div class="left">
|
||||
<img src="./components/img/user-icon.png" alt=""><AiOpenData v-if="item.wxUserId" type="userName" :openid="item.wxUserId" />
|
||||
<img src="./components/img/user-icon.png" alt=""><span><AiOpenData v-if="item.wxUserId" type="userName" :openid="item.wxUserId" /></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<span :class="item.status == 1 ? '' : 'color-F5A319'">{{item.status == 1 ? '今日已上报' : '今日未上报'}}</span><img src="./components/img/right-icon.png" alt="">
|
||||
|
||||
@@ -408,7 +408,6 @@ export default {
|
||||
|
||||
methods: {
|
||||
getDetail() {
|
||||
console.log(111);
|
||||
if (!this.id) return
|
||||
var urlList = ['/app/appspecialdisabled/queryDetailById', '/app/appspecialmental/queryDetailById', '/app/appspecialadjustment/queryDetailById',
|
||||
'/app/appspecialdrug/queryDetailById', '/app/appspecialprison/queryDetailById']
|
||||
@@ -559,6 +558,7 @@ export default {
|
||||
width: 60%;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
font-size: 32px !important;
|
||||
.u-icon {
|
||||
margin-left: 16px;
|
||||
}
|
||||
@@ -594,6 +594,7 @@ export default {
|
||||
|
||||
.value {
|
||||
margin-left: 16px;
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,9 +7,7 @@
|
||||
<div class="area-select">
|
||||
<div class="select-content">
|
||||
<div class="search-input" v-if="tabIndex">
|
||||
<img src="./img/search-icon.png" alt="">
|
||||
<u-input type="text" placeholder="请输入姓名" placeholder-style="color:#999;font-size:13px;" height="18"
|
||||
v-model="name" @confirm="getUserList" maxlength="20" />
|
||||
<u-search placeholder="请输入姓名" v-model="name" maxlength="20" placeholder-style="color:#999;font-size:13px;" :show-action="false" height="18" @search="getUserList" @clear="getUserList"></u-search>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -54,8 +52,8 @@
|
||||
<div class="user-info">
|
||||
<p class="name">{{e.name}}
|
||||
<span class="btn-icon" v-if="userGird != 0">
|
||||
<img src="./img/edit-icon.png" alt="" @click="toEdit(e,item.label)">
|
||||
<img src="./img/del-icon.png" alt="" @click="del(e,item.label)">
|
||||
<img src="./img/edit-icon.png" alt="" @click="toEdit(e,item.dictValue)">
|
||||
<img src="./img/del-icon.png" alt="" @click="del(e,item.dictValue)">
|
||||
</span>
|
||||
</p>
|
||||
<div class="phone">
|
||||
@@ -126,7 +124,6 @@ export default {
|
||||
},
|
||||
isGirdUser() {
|
||||
this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => {
|
||||
// console.log(res);
|
||||
if (res.code == 0) {
|
||||
this.userGird = res.data.checkType
|
||||
// if (res.data.checkType) {
|
||||
@@ -180,6 +177,10 @@ export default {
|
||||
return idNumber
|
||||
},
|
||||
showUserType(item) {
|
||||
this.type = item.dictValue
|
||||
this.current = 1
|
||||
this.userList = []
|
||||
this.getUserList()
|
||||
// if(this.userList[index].check) {
|
||||
// this.userList[index].check = false
|
||||
// }else {
|
||||
@@ -188,12 +189,6 @@ export default {
|
||||
// })
|
||||
// this.userList[index].check = true
|
||||
// }
|
||||
console.log(item);
|
||||
this.type = item.dictValue
|
||||
this.current = 1
|
||||
this.userList = []
|
||||
this.getUserList()
|
||||
|
||||
},
|
||||
toEdit(row,index) {
|
||||
uni.navigateTo({
|
||||
@@ -204,8 +199,6 @@ export default {
|
||||
var delUrl = ['/app/appspecialdisabled/delete','/app/appspecialmental/delete',
|
||||
'/app/appspecialadjustment/delete','/app/appspecialdrug/delete','/app/appspecialprison/delete'
|
||||
]
|
||||
// var idUrl='app/appspecialdisabled/delete'
|
||||
// var id='c24aaff664a94fdd908a85c0237583bd'
|
||||
this.$confirm('确定删除该数据?').then(() => {
|
||||
uni.showLoading()
|
||||
this.$http.post(delUrl[indexs],null, {params: {ids: row.id}}).then((res) => {
|
||||
@@ -284,26 +277,13 @@ export default {
|
||||
}
|
||||
}
|
||||
.search-input{
|
||||
|
||||
width: 100%;
|
||||
height: 64px;
|
||||
background: #F5F5F5;
|
||||
border-radius: 32px;
|
||||
padding: 14px 32px 14px 64px;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
img{
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin-right: 12px;
|
||||
position: absolute;
|
||||
top: 18px;
|
||||
left: 24px;
|
||||
}
|
||||
::v-deep .u-input{
|
||||
width: 100%;
|
||||
font-size: 26px;
|
||||
}
|
||||
line-height: 64px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,6 +115,11 @@ export default {
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
getListInit() {
|
||||
this.data = []
|
||||
this.current = 1
|
||||
this.getList()
|
||||
},
|
||||
getList() {
|
||||
this.$http
|
||||
.post('/app/appvisitvondolence/list', null, {
|
||||
@@ -140,17 +145,14 @@ export default {
|
||||
areaSelect(e) {
|
||||
this.data = []
|
||||
this.areaId = e
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
change(index) {
|
||||
this.data = []
|
||||
this.areaId = this.user.areaId
|
||||
this.keyword = ''
|
||||
this.currentTabs = index
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
goDetail(item, hint) {
|
||||
@@ -183,21 +185,19 @@ export default {
|
||||
this.$http.post(`/app/appvisitvondolence/delete?ids=${this.deletId}`).then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$u.toast('删除成功!')
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
handerSearch(e) {
|
||||
this.keyword = e
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
handerClear() {
|
||||
this.keyword = ''
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
previewImage(images, img) {
|
||||
|
||||
Reference in New Issue
Block a user