Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/saas/AppGridManagement/AppGridManagement.vue
This commit is contained in:
aixianling
2022-02-11 11:22:00 +08:00
17 changed files with 113 additions and 72 deletions

View File

@@ -11,7 +11,6 @@
<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">

View File

@@ -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;

View File

@@ -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>

View File

@@ -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>

View File

@@ -56,7 +56,6 @@ export default {
params: {
current: this.current,
size: 10,
areaId: this.user.areaId,
communityName: this.title
}
}).then(res => {

View File

@@ -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;

View File

@@ -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>

View File

@@ -165,10 +165,9 @@ export default {
color: #666;
img {
width: 32px;
height: 32px;
width: 44px;
height: 44px;
vertical-align: middle;
margin-left: 8px;
}
}

View File

@@ -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 {

View File

@@ -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) {

View File

@@ -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())

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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="">

View File

@@ -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;
}
}

View File

@@ -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;
}
}
}

View File

@@ -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) {