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

This commit is contained in:
aixianling
2021-12-24 12:05:52 +08:00
50 changed files with 293 additions and 225 deletions

View File

@@ -148,6 +148,7 @@ export default {
'isFilingCertificateStatus', 'communityBuildingType', 'yesOrNo', 'BulidResidentType').then(() => {
this.getDetail()
})
uni.setNavigationBarTitle({title: '房屋信息'})
},
methods: {

View File

@@ -139,6 +139,7 @@ export default {
this.getCenterLatLng().then(points => {
this.getMarkerCluster(points)
})
uni.setNavigationBarTitle({title: '以房找人'})
},
created() {
this.$dict.load("communityBuildingType")

View File

@@ -168,6 +168,7 @@ export default {
'isFilingCertificateStatus', 'communityBuildingType', 'yesOrNo', 'BulidResidentType').then(() => {
this.getBuilding()
})
uni.setNavigationBarTitle({title: '以房找人'})
},
methods: {
getSelectList(communityId) {

View File

@@ -37,6 +37,7 @@ export default {
this.$dict.load('BuildLocationStatus').then(() => {
this.getList()
})
uni.setNavigationBarTitle({title: '楼栋列表'})
},
methods: {

View File

@@ -65,6 +65,7 @@ export default {
computed: {...mapState(['user'])},
mounted() {
this.initMap()
uni.setNavigationBarTitle({title: '以房找人'})
},
methods: {
initMap() { //初始化地图

View File

@@ -157,6 +157,7 @@ export default {
this.$u.toast('上传成功!')
this.getList()
this.getStatistic()
uni.$emit('updateList')
}
})
}

View File

@@ -39,6 +39,9 @@ export default {
this.areaName = this.user.areaName
this.getList()
uni.setNavigationBarTitle({title: '乡村相册'})
uni.$on('updateList', () => {
this.getList()
})
},
methods: {

View File

@@ -67,6 +67,7 @@ export default {
this.$dict.load('girdType', 'girdLevel')
this.areaId = this.user.areaId
this.getLeafNodes()
uni.setNavigationBarTitle({title: '网格管理'})
},
methods: {
getLeafNodes() {

View File

@@ -117,6 +117,7 @@ export default {
if (res.code == 0) {
this.flag = false
this.$u.toast('提交成功')
uni.$emit('updateList')
setTimeout(() => {
uni.navigateBack()
}, 600)

View File

@@ -18,8 +18,8 @@
</div>
</div>
</u-index-list>
<AiEmpty v-if="!list.length"/>
</div>
<AiEmpty v-if="!list.length"/>
<!-- <div class="id-list">
<div class="item" v-for="(item, index) in list" :key="index">
<u-index-anchor :index="item.label" />

View File

@@ -35,6 +35,9 @@ export default {
mounted() {
this.getList()
uni.setNavigationBarTitle({title: '便民通讯录'})
uni.$on('updateList', () => {
this.getList()
})
},
methods: {

View File

@@ -47,8 +47,6 @@
</div>
<div class="btn" @click="submit">确认上报</div>
</div>
</template>
@@ -82,6 +80,7 @@ export default {
},
computed: { ...mapState(['user']) },
onLoad() {
uni.setNavigationBarTitle({ title: '婚丧嫁娶' })
this.$dict.load('marriageType', 'modeType')
this.forms.areaId = this.user.areaId
},
@@ -133,9 +132,12 @@ export default {
})
.then((res) => {
if (res.code == 0) {
this.$u.toast('发布成功')
this.flag = false
uni.navigateTo({ url: `./AppMarryAndDie?indexTabs=1` })
this.$u.toast('发布成功')
uni.$emit('updateList')
setTimeout(() => {
uni.navigateBack()
}, 600)
}
})
} else {

View File

@@ -77,6 +77,7 @@ export default {
computed: {},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '婚丧嫁娶' })
this.$dict.load('marriageType', 'modeType').then(() => {
this.getCount()
this.getList()

View File

@@ -141,6 +141,7 @@ export default {
},
watch: {},
onLoad(o) {
uni.setNavigationBarTitle({ title: '婚丧嫁娶' })
if (o.indexTabs) {
this.currentTabs = o.indexTabs
this.getList()
@@ -149,6 +150,11 @@ export default {
this.$dict.load('marriageType', 'modeType').then(() => {
this.getEchart()
})
uni.$on('updateList', () => {
this.current = 1
this.getList()
this.getEchart()
})
},
mounted() {
this.Echart = echarts.init(document.getElementById('yearStatistic'))

View File

@@ -77,6 +77,7 @@ export default {
computed: {},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '婚丧嫁娶' })
this.$dict.load('marriageType', 'modeType').then(() => {
this.getCount()
this.getList()

View File

@@ -77,6 +77,7 @@ export default {
computed: {},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '婚丧嫁娶' })
this.$dict.load('marriageType', 'modeType').then(() => {
this.getCount()
this.getList()

View File

@@ -77,6 +77,7 @@ export default {
computed: {},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '婚丧嫁娶' })
this.$dict.load('marriageType', 'modeType').then(() => {
this.getCount()
this.getList()

View File

@@ -131,7 +131,7 @@ export default {
},
onShow() {
document.title = "会议通知";
uni.setNavigationBarTitle({title: '会议通知'})
this.$dict.load("meetingNoticeBefore", "meetingNoticeAfter");
this.getData();
},

View File

@@ -145,7 +145,7 @@ export default {
},
onShow() {
document.title = "新增会议";
uni.setNavigationBarTitle({title: '新增会议'})
this.$dict.load("meetingNoticeBefore", "meetingNoticeAfter");
},
@@ -258,7 +258,8 @@ export default {
}).then(res => {
if (res.code == 0) {
this.$u.toast(status == 1 ? "发布成功" : "保存成功")
this.$refs["aiBack"].back()
// this.$refs["aiBack"].back()
uni.navigateBack()
}
})
},

View File

@@ -67,7 +67,7 @@ export default {
}
},
onShow() {
document.title = "我发起的";
uni.setNavigationBarTitle({title: '我发起的'})
},
created() {
this.injectJWeixin(['sendChatMessage']).then(() => {

View File

@@ -26,9 +26,11 @@ export default {
headerBg: require('./img/header-bg.png'),
}
},
created() {
uni.setNavigationBarTitle({title: '基层办公'})
},
methods: {
},
}
</script>

View File

@@ -31,7 +31,9 @@ export default {
headerBg: require('./img/header-bg.png'),
}
},
created() {
uni.setNavigationBarTitle({title: '文明乡风'})
},
methods: {
},

View File

@@ -18,7 +18,7 @@ export default {
url: '../AppResidentActivitie/AppResidentActivities'
},
{
name: '小程序公告',
name: '通知公告',
icon: require('./img/xcxgg.png'),
url: '../AppUniMsg/AppUniMsg'
},
@@ -31,7 +31,9 @@ export default {
headerBg: require('./img/header-bg.png'),
}
},
created() {
uni.setNavigationBarTitle({title: '居民互动'})
},
methods: {
},

View File

@@ -15,17 +15,20 @@ export default {
{
name: '三会一课',
icon: require('./img/shyk.png'),
url: '../party/AppThreeSessions/AppThreeSessions'
url: '../party/AppThreeSessions/AppThreeSessions',
isBottom: true
},
{
name: '党建要闻',
icon: require('./img/djyw.png'),
url: '../AppServicePublic/AppServicePublic?moduleId=95f0f1c509e44d528069bc9f9dc19e53&listName=党建要闻'
url: '../AppServicePublic/AppServicePublic?moduleId=95f0f1c509e44d528069bc9f9dc19e53&listName=党建要闻',
isBottom: true
},
{
name: '党员学习',
icon: require('./img/dyxx.png'),
url: '../party/AppPartyHistoryEducation/classroomList'
url: '../party/AppPartyHistoryEducation/classroomList',
isBottom: true
},
{
name: '在线答题',
@@ -36,7 +39,9 @@ export default {
headerBg: require('./img/header-bg.png'),
}
},
created() {
uni.setNavigationBarTitle({title: '基层党建'})
},
methods: {
},

View File

@@ -31,7 +31,9 @@ export default {
headerBg: require('./img/header-bg.png'),
}
},
created() {
uni.setNavigationBarTitle({title: '居民管理'})
},
methods: {
},

View File

@@ -53,8 +53,6 @@
</div>
<div class="btn" @click="submit">保存</div>
</div>
</template>
@@ -99,10 +97,9 @@ export default {
},
computed: { ...mapState(['user']) },
onLoad(o) {
console.log(this.user)
uni.setNavigationBarTitle({ title: '发布活动' })
this.id = o.id ? o.id : ''
this.$dict.load('realityStatus').then(() => {
// this.getDetail()
this.areaId = this.user.areaId
this.forms.areaId = this.user.areaId
@@ -177,9 +174,12 @@ export default {
})
.then((res) => {
if (res.code == 0) {
this.$u.toast('发布成功')
this.flag = false
uni.navigateTo({ url: `./AppResidentActivities` })
this.$u.toast('发布成功')
uni.$emit('updateList')
setTimeout(() => {
uni.navigateBack()
}, 600)
}
})
} else {

View File

@@ -39,6 +39,7 @@ export default {
}
},
onLoad(o) {
uni.setNavigationBarTitle({ title: '发布动态' })
this.id = o.id || ''
},
methods: {
@@ -71,8 +72,10 @@ export default {
if (res.code == 0) {
this.$u.toast('发布成功')
this.flag = false
uni.navigateBack()
uni.$emit('refresh')
setTimeout(() => {
uni.navigateBack()
}, 600)
}
})
},

View File

@@ -75,9 +75,14 @@ export default {
},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '居民活动' })
this.$dict.load(['villageActivityStatus']).then(() => {
this.getList()
})
uni.$on('updateList', () => {
this.current = 1
this.getList()
})
},
mounted() {},
methods: {

View File

@@ -135,7 +135,7 @@ export default {
}
},
onLoad(option) {
console.log(option)
uni.setNavigationBarTitle({ title: '活动报名' })
this.id = option.id
this.$dict.load(['villageActivityStatus']).then(() => {
this.getDetail()

View File

@@ -66,6 +66,7 @@ export default {
},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '居民列表' })
this.areaId = this.user.areaId
this.getList()
},
@@ -93,6 +94,8 @@ export default {
change(index) {
this.currentTabs = index
this.current = 1
this.datas = []
this.getList()
},

View File

@@ -65,6 +65,7 @@ export default {
computed: {},
watch: {},
onLoad(o) {
uni.setNavigationBarTitle({ title: '居民档案' })
this.id = o.id
this.$dict.load('householdRelation', 'fileStatus').then(() => {
this.getDetail()

View File

@@ -121,6 +121,7 @@ export default {
computed: {},
watch: {},
onLoad(o) {
uni.setNavigationBarTitle({ title: '家庭成员信息' })
this.id = o.id
this.$dict.load('householdRelation', 'nation', 'education', 'maritalStatus', 'politicsStatus', 'militaryStatus', 'faithType', 'job').then(() => {
this.getDetail()

View File

@@ -159,15 +159,6 @@ export default {
Echarts1: null,
Echarts2: null,
areaId: '',
currentPeople: 0,
// tabPeopleList: [
// {
// name: '本地居民',
// },
// {
// name: '流动人员',
// },
// ],
current: 1,
keyword: '',
data: [],
@@ -191,6 +182,7 @@ export default {
},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '居民信息管理' })
this.getEchart1()
this.areaId = this.user.areaId
},
@@ -280,6 +272,7 @@ export default {
},
initEcharts1(data) {
console.log(Object.values(data).map((e) => e.decrease))
var option = {
legend: {
data: ['群成员总数', '入群人数', '退群人数'],
@@ -516,11 +509,6 @@ export default {
}
})
},
changePeople(e) {
this.currentPeople = e
this.getList()
},
},
onReachBottom() {
this.current = this.current + 1

View File

@@ -74,7 +74,6 @@
</template>
<TagManage v-if="showTagManage" />
</div>
</template>
@@ -101,6 +100,9 @@ export default {
showTagManage: false,
}
},
onLoad() {
uni.setNavigationBarTitle({ title: '添加标签' })
},
computed: {
tagsList() {
let obj = {}

View File

@@ -2,97 +2,97 @@
<section class="document">
<div class="card">
<div class="info">
<u-image border-radius="4" :src="top.detail.avatar" width="118" height="118"/>
<u-image border-radius="4" :src="top.detail.avatar" width="118" height="118" />
<div class="fill">
<b>{{ top.detail.realName || top.detail.name }}</b>
<u-row>
<span class="idNumber" v-html="IDObj.id"/>
<a @tap="showID=!showID">{{ IDObj.btn }}</a>
<span class="idNumber" v-html="IDObj.id" />
<a @tap="showID = !showID">{{ IDObj.btn }}</a>
</u-row>
</div>
</div>
<AiCell label="性别">{{ $dict.getLabel("sex", resident.sex) || "-" }}</AiCell>
<AiCell label="性别">{{ $dict.getLabel('sex', resident.sex) || '-' }}</AiCell>
<AiCell label="出生日期">{{ resident.birthDate }}</AiCell>
<AiCell label="年龄">{{ resident.age }}</AiCell>
<AiCell label="籍贯">{{ resident.birthplaceAreaName }}</AiCell>
<AiCell label="民族">{{ $dict.getLabel("nation", resident.nation) || "-" }}</AiCell>
<AiCell label="文化程度">{{ $dict.getLabel("education", resident.education) || "-" }}</AiCell>
<AiCell label="兵役状况">{{ $dict.getLabel("militaryStatus", resident.militaryStatus) || "-" }}</AiCell>
<AiCell label="政治面貌">{{ $dict.getLabel("politicsStatus", resident.politicsStatus) || "-" }}</AiCell>
<AiCell label="职业">{{ $dict.getLabel("job", resident.job) || "-" }}</AiCell>
<AiCell label="宗教信仰">{{ $dict.getLabel("faithType", resident.faithType) || "-" }}</AiCell>
<AiCell label="民族">{{ $dict.getLabel('nation', resident.nation) || '-' }}</AiCell>
<AiCell label="文化程度">{{ $dict.getLabel('education', resident.education) || '-' }}</AiCell>
<AiCell label="兵役状况">{{ $dict.getLabel('militaryStatus', resident.militaryStatus) || '-' }}</AiCell>
<AiCell label="政治面貌">{{ $dict.getLabel('politicsStatus', resident.politicsStatus) || '-' }}</AiCell>
<AiCell label="职业">{{ $dict.getLabel('job', resident.job) || '-' }}</AiCell>
<AiCell label="宗教信仰">{{ $dict.getLabel('faithType', resident.faithType) || '-' }}</AiCell>
</div>
<div class="card">
<AiCell title label="联络信息"/>
<AiCell title label="联络信息" />
<AiCell label="联系方式">{{ resident.phone }}</AiCell>
<AiCell label="现住址">{{ resident.currentAreaName + resident.currentAddress }}</AiCell>
</div>
<div class="card">
<AiCell title label="家庭信息"/>
<AiCell label="是否户主">{{ $dict.getLabel("householdName", resident.householdName) || "-" }}</AiCell>
<AiCell label="与户主关系">{{ $dict.getLabel("householdRelation", resident.householdRelation) || "-" }}</AiCell>
<AiCell title label="家庭信息" />
<AiCell label="是否户主">{{ $dict.getLabel('householdName', resident.householdName) || '-' }}</AiCell>
<AiCell label="与户主关系">{{ $dict.getLabel('householdRelation', resident.householdRelation) || '-' }}</AiCell>
<AiCell label="现住址">{{ resident.householdAreaName + resident.householdAddress }}</AiCell>
</div>
<div class="card">
<AiCell title label="家庭成员"/>
<AiTable :data="family" :colConfigs="colConfigs"/>
<AiCell title label="家庭成员" />
<AiTable :data="family" :colConfigs="colConfigs" />
</div>
</section>
</template>
<script>
export default {
name: "document",
name: 'document',
inject: ['top'],
computed: {
IDObj() {
return this.showID ? {
id: this.resident?.idNumber,
btn: '隐藏'
} : {
id: this.resident?.idNumber?.replace(/(\d{10}).+/g, '$1******'),
btn: '显示'
}
return this.showID
? {
id: this.resident?.idNumber,
btn: '隐藏',
}
: {
id: this.resident?.idNumber?.replace(/(\d{10}).+/g, '$1******'),
btn: '显示',
}
},
colConfigs() {
return [
{label: "与户主关系", prop: "householdRelation", width: '160rpx', dict: "householdRelation"},
{label: "姓名", prop: "name", width: '120rpx'},
{label: "性别", prop: "sex", dict: "sex"},
{label: "年龄", prop: "age"},
{label: "身份证号", prop: "idNumber", width: '320rpx'},
{ label: '与户主关系', prop: 'householdRelation', width: '160rpx', dict: 'householdRelation' },
{ label: '姓名', prop: 'name', width: '120rpx' },
{ label: '性别', prop: 'sex', dict: 'sex' },
{ label: '年龄', prop: 'age' },
{ label: '身份证号', prop: 'idNumber', width: '320rpx' },
]
},
resident() {
let obj = {}
Object.keys(this.top.detail?.residentInfo?.resident || {}).map(e => {
obj[e] = this.top.detail?.residentInfo?.resident[e] || ""
Object.keys(this.top.detail?.residentInfo?.resident || {}).map((e) => {
obj[e] = this.top.detail?.residentInfo?.resident[e] || ''
})
return obj
},
family() {
return this.top.detail?.residentInfo?.family?.map(e => ({...e, householdRelation: e.householdRelation || "户主"}))
}
return this.top.detail?.residentInfo?.family?.map((e) => ({ ...e, householdRelation: e.householdRelation || '户主' }))
},
},
data() {
return {
showID: false,
familyList: []
familyList: [],
}
},
created() {
this.$dict.load("sex", "nation", "education", "job",
"faithType", "politicsStatus", "militaryStatus", "householdRelation",
"householdName")
}
onLoad() {
uni.setNavigationBarTitle({ title: '居民详情' })
this.$dict.load('sex', 'nation', 'education', 'job', 'faithType', 'politicsStatus', 'militaryStatus', 'householdRelation', 'householdName')
},
}
</script>
<style lang="scss" scoped>
.document {
overflow-y: auto;
background: #F5F5F5;
background: #f5f5f5;
.info {
height: 186px;
@@ -101,7 +101,7 @@ export default {
align-items: center;
.fill {
color: #3C7FC8;
color: #3c7fc8;
margin-left: 24px;
font-size: 28px;
line-height: 40px;

View File

@@ -2,58 +2,57 @@
<section class="info">
<div class="card">
<div class="baseInfo">
<u-image border-radius="4" :src="top.detail.avatar" width="118" height="118"/>
<u-image border-radius="4" :src="top.detail.avatar" width="118" height="118" />
<div class="fill">
<b>{{ top.detail.name }}</b>
<div v-if="top.detail.type==1" class="wx">@微信</div>
<div v-if="top.detail.type==2">@企业微信</div>
<div v-if="top.detail.type == 1" class="wx">@微信</div>
<div v-if="top.detail.type == 2">@企业微信</div>
</div>
<div class="certBtn" @tap="handleCert">{{ !isCert ? "实名认证" : "解绑" }}</div>
<div class="certBtn" @tap="handleCert">{{ !isCert ? '实名认证' : '解绑' }}</div>
</div>
<u-row>
<AiCell class="half" top-label label="来源">{{ $dict.getLabel("wxCustomerAddWay", top.detail.addWay) }}</AiCell>
<AiCell class="half" top-label label="来源">{{ $dict.getLabel('wxCustomerAddWay', top.detail.addWay) }}</AiCell>
<AiCell class="half" top-label label="添加时间">{{ top.detail.createTime }}</AiCell>
<AiCell class="half" top-label label="真实姓名">{{ top.detail.realName }}</AiCell>
<AiCell class="half" top-label label="手机号码">{{ resident.phone || "-" }}</AiCell>
<AiCell class="half" top-label label="手机号码">{{ resident.phone || '-' }}</AiCell>
<AiCell class="half" top-label label="家庭积分">{{ resident.familyIntegral }}</AiCell>
<AiCell class="half" top-label label="个人积分">{{ resident.personalIntegral }}</AiCell>
</u-row>
</div>
<div class="card">
<AiCell title label="公共标签">
<u-icon label="添加" size="38" name="iconAdd" custom-prefix="iconfont" color="#1365DD"
label-color="#1365DD" @tap="top.showTagManage=true"/>
<u-icon label="添加" size="38" name="iconAdd" custom-prefix="iconfont" color="#1365DD" label-color="#1365DD" @tap="top.showTagManage = true" />
</AiCell>
<AiCell top-label v-for="(op,name) in tagsList" :label="name" :key="name">
<AiCell top-label v-for="(op, name) in tagsList" :label="name" :key="name">
<u-row>
<div class="tag" v-for="(tag,j) in op" :key="j">{{ tag }}</div>
<div class="tag" v-for="(tag, j) in op" :key="j">{{ tag }}</div>
</u-row>
</AiCell>
</div>
<div class="card">
<AiCell title label="动态"/>
<AiCell title label="动态" />
<AiCell top-label>
<div class="logItem" v-for="item in customLogs" :key="item.id">
<div flex class="column" shrink>
<div class="dot"/>
<div class="line fill"/>
<div class="dot" />
<div class="line fill" />
</div>
<div flex class="start column">
<b>{{ $dict.getLabel('wxCustomerLogType', item.type) }}</b>
<span>{{ item.createTime }}</span>
<div v-html="item.content"/>
<div v-html="item.content" />
</div>
</div>
</AiCell>
</div>
<u-mask :show="dialog" @tap="dialog=false">
<u-mask :show="dialog" @tap="dialog = false">
<div class="bindCert" @tap.stop>
<b class="title">实名认证</b>
<u-input class="searchInput" v-model="search" clearable placeholder="请输入姓名或身份证号" @input="handleSearch"/>
<u-input class="searchInput" v-model="search" clearable placeholder="请输入姓名或身份证号" @input="handleSearch" />
<div class="residents">
<div flex class="spb" v-for="(op,i) in result" :key="i" @tap="bindCert(op.id)">
<div v-html="op.name"/>
<div v-html="op.idNumber"/>
<div flex class="spb" v-for="(op, i) in result" :key="i" @tap="bindCert(op.id)">
<div v-html="op.name" />
<div v-html="op.idNumber" />
</div>
</div>
</div>
@@ -66,10 +65,10 @@
</template>
<script>
import {mapActions} from "vuex";
import { mapActions } from 'vuex'
export default {
name: "info",
name: 'info',
inject: ['top'],
computed: {
resident() {
@@ -77,7 +76,7 @@ export default {
},
tagsList() {
let obj = {}
this.top.detail?.tags?.map(e => {
this.top.detail?.tags?.map((e) => {
if (e.type == 1 && e?.groupName) {
if (obj?.[e.groupName]) {
obj[e.groupName].push(e.tagName)
@@ -92,33 +91,34 @@ export default {
return !!this.top?.detail?.residentInfo
},
isMobile() {
return ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]
.some(e => navigator.userAgent.indexOf(e) > -1)
}
return ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod'].some((e) => navigator.userAgent.indexOf(e) > -1)
},
},
data() {
return {
dialog: false,
search: "",
search: '',
result: [],
customLogs: []
customLogs: [],
}
},
methods: {
...mapActions(['injectJWeixin', 'wxInvoke']),
searchResident() {
this.$http.post("/app/appresident/check-name", null, {
params: {name: this.search}
}).then(res => {
if (res?.data) {
let reg = new RegExp(this.search, 'g')
this.result = res.data?.map(e => ({
...e,
name: e.name.replace(reg, `<b>${this.search}</b>`),
idNumber: e.idNumber.replace(reg, `<b>${this.search}</b>`),
}))
}
})
this.$http
.post('/app/appresident/check-name', null, {
params: { name: this.search },
})
.then((res) => {
if (res?.data) {
let reg = new RegExp(this.search, 'g')
this.result = res.data?.map((e) => ({
...e,
name: e.name.replace(reg, `<b>${this.search}</b>`),
idNumber: e.idNumber.replace(reg, `<b>${this.search}</b>`),
}))
}
})
},
handleSearch() {
if (this.search?.length >= 2) {
@@ -129,58 +129,73 @@ export default {
},
handleCert() {
if (this.isCert) {
this.$confirm("是否要解绑当前实名认证?").then(() => {
this.$http.post("/app/wxcp/wxcustomer/unBindCustomer2Resident", null, {
params: {residentId: this.resident.id, customerId: this.top.custom}
}).then(res => {
if (res?.code == 0) {
this.$u.toast("解除绑定成功!")
this.top.getContact()
}
})
this.$confirm('是否要解绑当前实名认证?').then(() => {
this.$http
.post('/app/wxcp/wxcustomer/unBindCustomer2Resident', null, {
params: { residentId: this.resident.id, customerId: this.top.custom },
})
.then((res) => {
if (res?.code == 0) {
this.$u.toast('解除绑定成功!')
this.top.getContact()
}
})
})
} else this.dialog = true
},
bindCert(residentId) {
this.dialog = false
this.$confirm("是否要绑定该居民?").then(() => {
this.$http.post("/app/wxcp/wxcustomer/bindCustomer2Resident", null, {
params: {residentId, customerId: this.top.custom}
}).then(res => {
if (res?.code == 0) {
this.$u.toast("绑定成功!")
this.top.getContact()
}
}).catch(err => {
this.$u.toast(err)
setTimeout(() => this.dialog = true, 1000)
this.$confirm('是否要绑定该居民?')
.then(() => {
this.$http
.post('/app/wxcp/wxcustomer/bindCustomer2Resident', null, {
params: { residentId, customerId: this.top.custom },
})
.then((res) => {
if (res?.code == 0) {
this.$u.toast('绑定成功!')
this.top.getContact()
}
})
.catch((err) => {
this.$u.toast(err)
setTimeout(() => (this.dialog = true), 1000)
})
})
}).catch(() => this.dialog = true)
.catch(() => (this.dialog = true))
},
getCustomLog(customerId) {
customerId && this.$http.post("/app/wxcp/wxcustomerlog/listAll", null, {
params: {customerId}
}).then(res => {
if (res?.data) {
this.customLogs = res.data
}
})
customerId &&
this.$http
.post('/app/wxcp/wxcustomerlog/listAll', null, {
params: { customerId },
})
.then((res) => {
if (res?.data) {
this.customLogs = res.data
}
})
},
handleTel() {
location.href = "tel:" + this.resident.phone
location.href = 'tel:' + this.resident.phone
},
handleWechat() {
this.wxInvoke(['openUserProfile', {
type: 2,
userid: this.top.custom
}, () => 0])
}
this.wxInvoke([
'openUserProfile',
{
type: 2,
userid: this.top.custom,
},
() => 0,
])
},
},
created() {
this.$dict.load("wxCustomerAddWay", 'wxCustomerLogType')
onLoad() {
uni.setNavigationBarTitle({ title: '居民详情' })
this.$dict.load('wxCustomerAddWay', 'wxCustomerLogType')
this.getCustomLog(this.top.custom)
this.injectJWeixin('openUserProfile')
}
},
}
</script>
@@ -203,7 +218,7 @@ export default {
align-items: center;
.fill {
color: #3C7FC8;
color: #3c7fc8;
margin-left: 24px;
font-size: 28px;
line-height: 40px;
@@ -216,7 +231,7 @@ export default {
}
.wx {
color: #2EA222;
color: #2ea222;
}
}
}
@@ -269,7 +284,7 @@ export default {
.searchInput {
margin: 16px 0;
border: 1px solid #D0D4DC;
border: 1px solid #d0d4dc;
border-radius: 8px;
padding: 0 16px !important;
flex: 0;
@@ -309,7 +324,7 @@ export default {
width: 16px;
height: 16px;
background: $uni-color-primary;
border: 8px solid #FFFFFF;
border: 8px solid #ffffff;
border-radius: 50%;
margin: 8px 0;
}
@@ -346,7 +361,6 @@ export default {
& > div {
margin-top: 16px;
}
}
}
}

View File

@@ -11,7 +11,6 @@
<component :is="currentTab.comp" />
</template>
</template>
</section>
</template>
@@ -30,6 +29,9 @@ export default {
id: '',
}
},
onLoad() {
uni.setNavigationBarTitle({ title: '居民详情' })
},
computed: {
tabs() {
return [

View File

@@ -47,6 +47,7 @@ export default {
},
computed: { ...mapState(['user']) },
onLoad(o) {
uni.setNavigationBarTitle({ title: '新增小程序公告' })
this.id = o.id
this.getDetail()
},
@@ -100,9 +101,12 @@ export default {
})
.then((res) => {
if (res.code == 0) {
this.$u.toast('发布成功')
this.flag = false
uni.navigateTo({ url: `./AppUniMsg` })
this.$u.toast('提交成功')
uni.$emit('updateList')
setTimeout(() => {
uni.navigateBack()
}, 600)
}
})
} else {

View File

@@ -1,7 +1,6 @@
<template>
<div class="AppUniMsg">
<u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bg-color="#3975C6"
inactive-color="#fff" active-color="#fff" @change="change"></u-tabs>
<u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bg-color="#3975C6" inactive-color="#fff" active-color="#fff" @change="change"></u-tabs>
<template v-if="datas.length > 0">
<AiCard v-for="(item, i) in datas" :ref="item.id" :key="i" @click.native="toAdd(item, 1)">
@@ -21,8 +20,7 @@
</div>
<div class="imgs">
<img :src="items.url" alt="" v-for="(items, i) in item.images" :key="i" v-if="i < 3"
@click.stop="previewImage(item.images, items.url)"/>
<img :src="items.url" alt="" v-for="(items, i) in item.images" :key="i" v-if="i < 3" @click.stop="previewImage(item.images, items.url)" />
</div>
</template>
@@ -32,22 +30,21 @@
</template>
</AiCard>
<u-loadmore :status="loadmore" color="#999" font-size="24" margin-top="32" margin-bottom="80"/>
<u-loadmore :status="loadmore" color="#999" font-size="24" margin-top="32" margin-bottom="80" />
</template>
<AiEmpty description="暂无数据" v-else></AiEmpty>
<AiFixedBtn>
<div class="addBtn iconfont iconfont-iconfangda" @tap.stop="toAdd()"/>
<div class="addBtn iconfont iconfont-iconfangda" @tap.stop="toAdd()" />
</AiFixedBtn>
<u-modal v-model="deletShow" content="您确认要删除该条信息吗?" :show-cancel-button="true" :mask-close-able="true"
:show-title="false" @confirm="delet"></u-modal>
<u-modal v-model="deletShow" content="您确认要删除该条信息吗?" :show-cancel-button="true" :mask-close-able="true" :show-title="false" @confirm="delet"></u-modal>
</div>
</template>
<script>
import {mapState} from 'vuex'
import { mapState } from 'vuex'
export default {
name: 'AppUniMsg',
@@ -81,36 +78,39 @@ export default {
},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '小程序公告' })
this.getList()
uni.$on('updateList', () => {
this.current = 1
this.getList()
})
},
onShow() {
document.title= "小程序公告"
},
onShow() {},
methods: {
getList() {
this.$http
.post('/app/appmininotice/list', null, {
params: {
size: this.size,
current: this.current,
createUserId: this.currentTabs == 1 ? this.user.id : '',
},
})
.then((res) => {
if (res.code == 0) {
this.datas = this.current > 1 ? [...this.datas, ...res.data.records] : res.data.records
if (this.datas) {
this.datas.map((item) => {
if (item.images) {
item.images = JSON.parse(item.images || '[]')
}
return item
})
}
.post('/app/appmininotice/list', null, {
params: {
size: this.size,
current: this.current,
createUserId: this.currentTabs == 1 ? this.user.id : '',
},
})
.then((res) => {
if (res.code == 0) {
this.datas = this.current > 1 ? [...this.datas, ...res.data.records] : res.data.records
if (this.datas) {
this.datas.map((item) => {
if (item.images) {
item.images = JSON.parse(item.images || '[]')
}
return item
})
}
this.pages = res.data.pages
}
})
this.pages = res.data.pages
}
})
},
toAdd(item, type) {
@@ -118,13 +118,13 @@ export default {
this.$refs?.[item.id]?.[0]?.handleClose()
}
if (type == '1') {
uni.navigateTo({url: `./Detail?id=${item.id}`})
uni.navigateTo({ url: `./Detail?id=${item.id}` })
}
if (type == '2') {
uni.navigateTo({url: `./Add?id=${item.id}`})
uni.navigateTo({ url: `./Add?id=${item.id}` })
}
if (type == null) {
uni.navigateTo({url: `./Add`})
uni.navigateTo({ url: `./Add` })
}
},
@@ -150,8 +150,8 @@ export default {
previewImage(images, img) {
uni.previewImage({
urls: images.map(v => v.url),
current: img
urls: images.map((v) => v.url),
current: img,
})
},
},

View File

@@ -33,6 +33,7 @@ export default {
computed: {},
watch: {},
onLoad(o) {
uni.setNavigationBarTitle({ title: '公告详情' })
this.id = o.id
this.getDetail()
},
@@ -48,10 +49,10 @@ export default {
}
})
},
previewImage (images, img) {
previewImage(images, img) {
uni.previewImage({
urls: images.map(v => v.url),
current: img
urls: images.map((v) => v.url),
current: img,
})
},
},

View File

@@ -108,10 +108,15 @@ export default {
...mapState(['user']),
},
onLoad() {
uni.setNavigationBarTitle({ title: '走访慰问' })
this.areaId = this.user.areaId
this.$dict.load('realityStatus').then(() => {
this.getList()
})
uni.$on('updateList', () => {
this.current = 1
this.getList()
})
},
mounted() {},
methods: {

View File

@@ -44,8 +44,6 @@
</div>
<div class="btn" @click="submit">保存</div>
</div>
<component v-else :is="comp" :paramss="params" @back="backlist"></component>
@@ -88,6 +86,7 @@ export default {
},
computed: { ...mapState(['user']) },
created() {
uni.setNavigationBarTitle({ title: '新建走访' })
this.areaIdProps = this.user.areaId
this.forms.areaId = this.user.areaId
this.$dict.load('realityStatus').then(() => {
@@ -150,7 +149,10 @@ export default {
if (res.code == 0) {
this.$u.toast('保存成功')
this.flag = false
uni.navigateTo({ url: `./AppWalkask` })
uni.$emit('updateList')
setTimeout(() => {
uni.navigateBack()
}, 600)
}
})
} else {

View File

@@ -31,8 +31,6 @@
<img :src="item.url" alt="" v-for="(item, index) in data.images" :key="index" />
</div>
</div>
</div>
</template>
@@ -49,7 +47,8 @@ export default {
}
},
computed: {},
created() {
onLoad() {
uni.setNavigationBarTitle({ title: '走访详情' })
this.$dict.load('realityStatus').then(() => {
this.getDetail()
})

View File

@@ -71,7 +71,8 @@ export default {
}
},
computed: {},
created() {
onLoad() {
uni.setNavigationBarTitle({ title: '选择走访慰问对象' })
this.getDiyList()
},
mounted() {},

View File

@@ -89,6 +89,7 @@ export default {
},
watch: {},
onLoad() {
uni.setNavigationBarTitle({ title: '网上办事' })
this.$dict.load('listApprovalStatusHb').then(() => {
this.getList()
})

View File

@@ -237,6 +237,7 @@ export default {
},
},
onLoad(options) {
uni.setNavigationBarTitle({ title: '审批详情' })
this.objid = options.id
this.listType = options.listType
this.getDetail()

View File

@@ -5,7 +5,6 @@
<u-button type="primary" :custom-style="{ width: '100%', borderRadius: '4px', marginTop: '48px' }" @click="goBack">
{{ btnText }}
</u-button>
</div>
</template>
@@ -19,6 +18,7 @@ export default {
}
},
onLoad(val) {
uni.setNavigationBarTitle({ title: '审批详情' })
this.flag = val?.flag == 1
},
methods: {

View File

@@ -77,7 +77,6 @@
<!-- 日期选择器 -->
<u-calendar v-model="show" :mode="mode" @change="calendar" />
</div>
</template>
@@ -102,6 +101,7 @@ export default {
}
},
onLoad(options) {
uni.setNavigationBarTitle({ title: '审批详情' })
this.objid = options.id
this.type = options.type

View File

@@ -237,6 +237,7 @@ export default {
},
},
onLoad(options) {
uni.setNavigationBarTitle({ title: '审批详情' })
this.objid = options.id
this.listType = options.listType
this.getDetail()