Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_cp/dv_cp_wechat_app into dev
This commit is contained in:
		| @@ -131,43 +131,25 @@ export default { | ||||
|   }, | ||||
|   methods: { | ||||
|     getUser() { | ||||
|       this.$loading() | ||||
|       this.$http | ||||
|         .post(`/app/appepidemicreportmember/queryDetailById?id=${this.id}`) | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.userList = res.data | ||||
|             this.$hideLoading() | ||||
|           } else { | ||||
|             this.$hideLoading() | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.$hideLoading() | ||||
|         }) | ||||
|       this.$http.post(`/app/appepidemicreportmember/queryDetailById?id=${this.id}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.userList = res.data | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     // 异常情况 | ||||
|     getErrThing() { | ||||
|       this.$loading() | ||||
|       this.$http | ||||
|         .post(`/app/appepidemichealthreport/list?memberId=${this.id}`) | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.datas = res.data.records | ||||
|             this.$hideLoading() | ||||
|           } else { | ||||
|             this.$hideLoading() | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.$hideLoading() | ||||
|         }) | ||||
|       this.$http.post(`/app/appepidemichealthreport/list?memberId=${this.id}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.datas = res.data.records | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     // 异常情况记录 | ||||
|     getRecord() { | ||||
|       this.$loading() | ||||
|       this.$http | ||||
|         .post(`/app/appepidemicunusuallog/list`, null, { | ||||
|           params: { | ||||
| @@ -179,14 +161,8 @@ export default { | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.data = this.current > 1 ? [...this.data, ...res.data.records] : res.data.records | ||||
|             this.$hideLoading() | ||||
|           } else { | ||||
|             this.$hideLoading() | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.$hideLoading() | ||||
|         }) | ||||
|     }, | ||||
|  | ||||
|     // 新增记录 | ||||
| @@ -217,7 +193,8 @@ export default { | ||||
|         this.$http.post('/app/appepidemicreportmember/release', { id: this.id }).then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.$u.toast('解除成功!') | ||||
|             uni.$emit('updateDetail') | ||||
|             uni.$emit('updateDetails') | ||||
|             uni.$emit('updateLists') | ||||
|             setTimeout(() => { | ||||
|               uni.navigateBack() | ||||
|             }, 600) | ||||
|   | ||||
| @@ -115,6 +115,12 @@ export default { | ||||
|     this.areaName = this.user.areaName | ||||
|     this.getList() | ||||
|     this.getUserList() | ||||
|  | ||||
|     uni.$on('updateLists', () => { | ||||
|       this.current = 1 | ||||
|       this.getList() | ||||
|       this.getUserList() | ||||
|     }) | ||||
|   }, | ||||
|   onShow() { | ||||
|     this.areaId = this.user.areaId | ||||
| @@ -129,29 +135,23 @@ export default { | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.data = this.current > 1 ? [...this.data, ...res.data.records] : res.data.records | ||||
|           } else { | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => {}) | ||||
|     }, | ||||
|  | ||||
|     getUserList() { | ||||
|       uni.showLoading({ | ||||
|         title: '加载数据中', | ||||
|       }) | ||||
|       this.$http | ||||
|         .post(`/app/appepidemicreportmember/statistic?areaId=${this.areaId}`) | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.userList = res.data | ||||
|             uni.hideLoading() | ||||
|           } else { | ||||
|             uni.hideLoading() | ||||
|             this.$forceUpdate() | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           uni.hideLoading() | ||||
|           this.$forceUpdate() | ||||
|         }) | ||||
|         .finally(() => { | ||||
|           this.$forceUpdate() | ||||
|         }) | ||||
|     }, | ||||
|  | ||||
|     getUserList() { | ||||
|       this.$http.post(`/app/appepidemicreportmember/statistic?areaId=${this.areaId}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.userList = res.data | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     goDetail(item) { | ||||
|   | ||||
| @@ -88,7 +88,7 @@ export default { | ||||
|     } | ||||
|     this.getRecord() | ||||
|  | ||||
|     uni.$on('updateDetail', () => { | ||||
|     uni.$on('updateDetails', () => { | ||||
|       this.getUser() | ||||
|       this.getRecord() | ||||
|     }) | ||||
|   | ||||
| @@ -157,38 +157,22 @@ export default { | ||||
|   methods: { | ||||
|     getUser() { | ||||
|       this.$loading() | ||||
|       this.$http | ||||
|         .post(`/app/appepidemicreportmember/queryDetailById?id=${this.userList.memberId}`) | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.data = res.data | ||||
|             this.data.idNumber = res.data.idNumber.replace(/(.{6}).*(.{4})/,"$1********$2") | ||||
|             this.$hideLoading() | ||||
|           } else { | ||||
|             this.$hideLoading() | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.$hideLoading() | ||||
|         }) | ||||
|       this.$http.post(`/app/appepidemicreportmember/queryDetailById?id=${this.userList.memberId}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.data = res.data | ||||
|           this.data.idNumber = res.data.idNumber.replace(/(.{6}).*(.{4})/, '$1********$2') | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     // 异常情况记录 | ||||
|     getRecord() { | ||||
|       this.$loading() | ||||
|       this.$http | ||||
|         .post(`/app/appepidemicunusuallog/list?recordId=${this.userList.memberId}`) | ||||
|         .then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.datas = res.data.records | ||||
|             this.$hideLoading() | ||||
|           } else { | ||||
|             this.$hideLoading() | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.$hideLoading() | ||||
|         }) | ||||
|       this.$http.post(`/app/appepidemicunusuallog/list?recordId=${this.userList.memberId}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.datas = res.data.records | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     callPhone(phone) { | ||||
|   | ||||
| @@ -11,7 +11,7 @@ | ||||
|       </div> | ||||
|       <u-search v-model="value" placeholder:clearabled="true" placeholder="请输入姓名/身份证/手机号" :show-action="false" bg-color="#F5F5F5" search-icon-color="#999" color="#999" height="58" @search="getListInit" @clear="value='',getListInit"></u-search> | ||||
|     </div> | ||||
|     <div class="userList"> | ||||
|     <div class="userList" v-if="list.length"> | ||||
|       <ul v-for="(item,index) in list" :key="index"> | ||||
|         <li class="main"> | ||||
|           <div class="user"> | ||||
| @@ -36,6 +36,7 @@ | ||||
|         </li> | ||||
|       </ul> | ||||
|     </div> | ||||
|     <AiEmpty description="暂无数据" class="emptyWrap" v-if="!list.length"></AiEmpty> | ||||
|     <div style="height:70px;"></div> | ||||
|     <div class="btn"> | ||||
|       <div class="handleCheck" @click="confirm">确定选择</div> | ||||
| @@ -116,7 +117,6 @@ export default { | ||||
|     this.userId = option.id | ||||
|     this.areaId = this.user.areaId | ||||
|     this.areaName = this.user.areaName | ||||
|     console.log(this.userId) | ||||
|   }, | ||||
|   onShow() { | ||||
|     document.title = '新增责任家庭' | ||||
| @@ -131,7 +131,6 @@ export default { | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .AddFamily { | ||||
|   background-color: #FFFFFF; | ||||
|     .search{ | ||||
|     width: 100%; | ||||
|     height: 112px; | ||||
| @@ -151,7 +150,6 @@ export default { | ||||
|        padding-left: 0px; | ||||
|       li { | ||||
|         list-style-type: none; | ||||
|          | ||||
|       .user { | ||||
|         display: flex; | ||||
|         justify-content: flex-start; | ||||
| @@ -204,7 +202,6 @@ export default { | ||||
|          } | ||||
|         } | ||||
|         } | ||||
|          | ||||
|       } | ||||
|       } | ||||
|     } | ||||
| @@ -225,7 +222,7 @@ export default { | ||||
|       line-height: 80px; | ||||
|       text-align: center; | ||||
|       background-color: #1365DD; | ||||
|       color: #FFFFFF;  | ||||
|       color: #FFFFFF; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|         <span class="tips">*</span>网格名称 | ||||
|       </div> | ||||
|       <div class="value"> | ||||
|         <u-input type="text" placeholder="请输入" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" v-model="form.girdName" maxlength="20" /> | ||||
|         <u-input type="text" placeholder="请输入" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" v-model="form.girdName" maxlength="50" /> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div class="item-flex"> | ||||
| @@ -29,7 +29,8 @@ | ||||
|           <span v-for="(item, index) in form.girdMemberList" :key="index"><span v-if="index>0">,</span>{{item.name}}</span> | ||||
|         </span> | ||||
|         <span style="color:#999;" v-else>请选择</span> | ||||
|         <img src="./components/img/right-icon.png" alt="" /></div> | ||||
|         <img src="./components/img/right-icon.png" alt="" /> | ||||
|       </div> | ||||
|     </div> | ||||
|     <div class="footer" @click="confirm">确认添加</div> | ||||
|   </div> | ||||
| @@ -81,6 +82,7 @@ export default { | ||||
|             this.form.girdLevel = Number(this.detailInfo.girdLevel)+1 | ||||
|             this.form.girdType = Number(this.detailInfo.girdType)+1 | ||||
|             this.form.isLastLevel = this.form.girdLevel == 2 ? '1' : '0' | ||||
|             this.$forceUpdate() | ||||
|           } | ||||
|         } | ||||
|       }) | ||||
| @@ -109,6 +111,8 @@ export default { | ||||
|             uni.navigateBack() | ||||
|           }, 600) | ||||
|         } | ||||
|       }).catch((err) => { | ||||
|         this.$u.toast(err) | ||||
|       }) | ||||
|  | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,14 @@ | ||||
| <template> | ||||
|   <div class="AppGridManagement"> | ||||
|     <div class="pad-t32" v-if="component != 'Map' && isAdmin"></div> | ||||
|     <div class="select-gird" v-if="component != 'Map' && isAdmin"> | ||||
|       <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">  | ||||
|       </div> | ||||
|       <span @click="linkTo('./SetGird')" v-if="checkType == 2">网格配置</span> | ||||
|     </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"> | ||||
| @@ -50,7 +59,8 @@ export default { | ||||
|         } | ||||
|       ], | ||||
|       isTab: true, | ||||
|       isAdmin: false | ||||
|       isAdmin: false, | ||||
|       checkType: '' | ||||
|     } | ||||
|   }, | ||||
|  | ||||
| @@ -79,10 +89,15 @@ export default { | ||||
|         if (res.code == 0) { | ||||
|           if (res.data.checkType != '0') { | ||||
|             this.isAdmin = true | ||||
|             this.checkType = res.data.checkType | ||||
|             this.params = res.data.appGirdInfo | ||||
|           } | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     linkTo(url) { | ||||
|       uni.navigateTo({ url }) | ||||
|     }, | ||||
|   }, | ||||
|   onShow() { | ||||
|     document.title = '网格管理' | ||||
| @@ -95,6 +110,9 @@ export default { | ||||
|   }, | ||||
|   onLoad() { | ||||
|     this.isGirdUser() | ||||
|     uni.$on('goback', (res) => { | ||||
|       this.params = res | ||||
|     })  | ||||
|   }, | ||||
|   onReachBottom() { | ||||
|     if(!this.tabIndex) { | ||||
| @@ -108,6 +126,46 @@ export default { | ||||
| .AppGridManagement { | ||||
|   height: 100vh; | ||||
| } | ||||
| .pad-t32{ | ||||
|   padding-top: 32px; | ||||
| } | ||||
| .select-gird{ | ||||
|   width: calc(100% - 60px); | ||||
|   padding: 24px 32px; | ||||
|   background: #FFFFFF; | ||||
|   border-radius: 16px; | ||||
|   margin: 0 30px 32px; | ||||
|   box-sizing: border-box; | ||||
|   img{ | ||||
|     width: 32px; | ||||
|     height: 32px; | ||||
|     vertical-align: middle; | ||||
|   } | ||||
|   div{ | ||||
|     display: inline-block; | ||||
|     width: calc(100% - 144px); | ||||
|     padding-left: 20px; | ||||
|     box-sizing: border-box; | ||||
|     font-size: 32px; | ||||
|     font-family: PingFangSC-Medium, PingFang SC; | ||||
|     font-weight: 500; | ||||
|     color: #333; | ||||
|     line-height: 48px; | ||||
|     img{ | ||||
|       margin-left: 8px; | ||||
|     } | ||||
|   } | ||||
|   span{ | ||||
|     display: inline-block; | ||||
|     width: 112px; | ||||
|     height: 48px; | ||||
|     font-size: 28px; | ||||
|     font-family: PingFangSC-Medium, PingFang SC; | ||||
|     font-weight: 500; | ||||
|     color: #3F8DF5; | ||||
|     line-height: 48px; | ||||
|   } | ||||
| } | ||||
| .tabs { | ||||
|   width: 100%; | ||||
|   height: 98px; | ||||
|   | ||||
| @@ -1,21 +1,27 @@ | ||||
| <template> | ||||
|   <div class="FamilyList"> | ||||
|     <div class="title">户主列表</div> | ||||
|     <div class="title">户主列表<span style="font-size: 14px; color: #2979ff;" @click="changeType" v-if="edit">修改</span><span style="font-size: 14px; color: #2979ff;" @click="edit = true" v-else>取消</span></div> | ||||
|     <div class="main" v-if="list.length"> | ||||
|       <ul v-for="item in list" :key="item.id"> | ||||
|       <ul v-for="(item,index) in list" :key="index"> | ||||
|         <li> | ||||
|           <div class="user"> | ||||
|             <div> | ||||
|               <img :src="item.photo" class="userImg" v-if="item.photo"> | ||||
|               <img src="./components/img/user-img.png" alt="" class="userImg" v-else> | ||||
|              <div v-if="!edit"> | ||||
|               <img src="./components/img/xz.png" alt="" class="checkbox" v-if="!item.checked" @click="userClick(index)"> | ||||
|               <img src="./components/img/xzh.png" alt="" class="checkbox" v-else @click="userClick(index)"> | ||||
|             </div> | ||||
|             <div class="info"> | ||||
|               <div class="name"> | ||||
|                 <span class="user-name">{{item.name}}</span> | ||||
|                 <span class="user-tel">{{item.phone}}</span> | ||||
|               <div> | ||||
|                 <img :src="item.photo" class="userImg" v-if="item.photo"> | ||||
|                 <img src="./components/img/user-img.png" alt="" class="userImg" v-else> | ||||
|               </div> | ||||
|               <div class="userInfo"> | ||||
|                 <div class="name"> | ||||
|                   <span class="user-name">{{item.name}}</span> | ||||
|                   <span class="user-tel">{{item.phone}}</span> | ||||
|                 </div> | ||||
|                 <div class="idCard">{{item.idNumber && item.idNumber.replace(/(.{6}).*(.{4})/,"$1********$2")}}</div> | ||||
|                 <div class="address">{{item.currentAreaName || ''}}{{ item.currentAddress || '' }}</div> | ||||
|               </div> | ||||
|               <div class="idCard">{{item.idNumber && item.idNumber.replace(/(.{6}).*(.{4})/,"$1********$2")}}</div> | ||||
|               <div class="address">{{item.currentAreaName || ''}} {{ item.currentAddress || '' }}</div> | ||||
|             </div> | ||||
|           </div> | ||||
|         </li> | ||||
| @@ -23,7 +29,8 @@ | ||||
|     </div> | ||||
|     <AiEmpty description="暂无数据" class="emptyWrap" v-if="!list.length"></AiEmpty> | ||||
|     <div style="height:70px;"></div> | ||||
|     <div class="footer" @click="toAddFamily()">新增责任家庭</div> | ||||
|     <div class="footer" @click="toAddFamily()" v-if="edit">新增责任家庭</div> | ||||
|     <div class="footer" @click="delFamily()" v-else>删除</div> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| @@ -34,6 +41,8 @@ export default { | ||||
|       list:[], | ||||
|       current:1, | ||||
|       userId: '', | ||||
|       edit: true, | ||||
|       checked: true | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
| @@ -47,6 +56,38 @@ export default { | ||||
|     toAddFamily(){ | ||||
|       uni.navigateTo({url: `./AddFamily?id=${this.userId}`}) | ||||
|     }, | ||||
|     userClick(index) { | ||||
|       this.list[index].checked = !this.list[index].checked | ||||
|       this.$forceUpdate() | ||||
|     }, | ||||
|     // 点击删除 | ||||
|     delFamily(){ | ||||
|       var ids = [] | ||||
|       this.list.map((item) => { | ||||
|         if(item.checked) { | ||||
|           ids.push(item.gmrId) | ||||
|         } | ||||
|       }) | ||||
|       if(!ids.length) { | ||||
|         return this.$u.toast('请选中需要删除的家庭户主') | ||||
|       } | ||||
|       this.$confirm(`是否删除这些关联家庭信息?`).then(() => { | ||||
|         this.$http.post(`/app/appgirdmemberresident/delete?ids=${ids.join(',')}`).then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.$u.toast('删除成功') | ||||
|             uni.$emit('updateList') | ||||
|             this.$forceUpdate() | ||||
|             this.edit = true | ||||
|           } | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     changeType() { | ||||
|       this.edit = false | ||||
|       this.list.map((item) => { | ||||
|         item.checked = false | ||||
|       }) | ||||
|     } | ||||
|   }, | ||||
|   onLoad(option) { | ||||
|     this.userId = option.id | ||||
| @@ -70,16 +111,17 @@ export default { | ||||
| <style lang="scss" scoped> | ||||
| .FamilyList { | ||||
|   .title { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     padding: 24px 32px; | ||||
|     background-color: #F3F6F9; | ||||
|     font-size: 34px; | ||||
|     font-weight: 800; | ||||
|   } | ||||
|   .main { | ||||
|     background-color: #FFFFFF ; | ||||
|     padding-bottom: 112px; | ||||
|     ul { | ||||
|       padding: 0px 32px; | ||||
|       padding-left: 32px; | ||||
|       background-color: #fff; | ||||
|       li { | ||||
|       list-style-type: none; | ||||
| @@ -87,18 +129,26 @@ export default { | ||||
|         display: flex; | ||||
|         justify-content: flex-start; | ||||
|         padding-top: 24px; | ||||
|           .checkbox{ | ||||
|           margin-top: 20px; | ||||
|           margin-right: 32px; | ||||
|           width: 48px; | ||||
|           height: 48px; | ||||
|         } | ||||
|         .info { | ||||
|           display: flex; | ||||
|           justify-content: flex-start; | ||||
|            width: 100%; | ||||
|           .userImg { | ||||
|           padding-right: 32px; | ||||
|           margin-right: 32px; | ||||
|           width: 80px; | ||||
|           height: 80px; | ||||
|         } | ||||
|         .info { | ||||
|           border-bottom: 1px solid #E4E5E6; | ||||
|           width: 606px; | ||||
|           div { | ||||
|             margin: 2px 0; | ||||
|           } | ||||
|           .name { | ||||
|           .userInfo { | ||||
|             width: 100%; | ||||
|             padding-right: 32px; | ||||
|             border-bottom: 1px solid #E4E5E6; | ||||
|             .name { | ||||
|             display: flex; | ||||
|             justify-content: space-between; | ||||
|             font-size: 32px; | ||||
| @@ -123,6 +173,8 @@ export default { | ||||
|            font-size: 26px; | ||||
|            color: #999999; | ||||
|          } | ||||
|           } | ||||
|            | ||||
|         } | ||||
|       } | ||||
|       } | ||||
|   | ||||
| @@ -1,13 +1,5 @@ | ||||
| <template> | ||||
|   <div class="Organization"> | ||||
|     <div class="select-gird"> | ||||
|       <img src="./components/img/gird-icon.png" alt="" class="gird-icon"> | ||||
|       <div @click="linkTo('./SelectGird')"> | ||||
|         {{userGird.girdName}} | ||||
|         <img src="./components/img/down-icon.png" alt="" class="down-icon">  | ||||
|       </div> | ||||
|       <span @click="linkTo('./SetGird')" v-if="checkType == 2">网格配置</span> | ||||
|     </div> | ||||
|     <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" /> | ||||
| @@ -40,32 +32,22 @@ export default { | ||||
|     return { | ||||
|       userGird: {}, | ||||
|       dataInfo: {}, | ||||
|       checkType: '' | ||||
|     } | ||||
|   }, | ||||
|   props: ['params'], | ||||
|   onShow() { | ||||
|     document.title = '网格管理' | ||||
|       | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.isGirdUser() | ||||
|     this.userGird = this.params | ||||
|     this.getGirdUserList() | ||||
|     uni.$on('goback', (res) => { | ||||
|       this.userGird = res | ||||
|       this.getGirdUserList() | ||||
|     })  | ||||
|   }, | ||||
|   methods: { | ||||
|     isGirdUser() { | ||||
|       this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           if (res.data.checkType != '0') { | ||||
|             this.checkType = res.data.checkType | ||||
|             this.userGird = res.data.appGirdInfo | ||||
|             this.getGirdUserList() | ||||
|           }  | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     getGirdUserList() { | ||||
|       this.$http.post(`/app/appgirdmemberinfo/listGirdMemberByGirdId?girdId=${this.userGird.id}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
| @@ -82,45 +64,7 @@ export default { | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .Organization { | ||||
|   padding-top: 32px; | ||||
|   background-color: #f5f5f5; | ||||
|   .select-gird{ | ||||
|   width: calc(100% - 60px); | ||||
|   padding: 24px 32px; | ||||
|   background: #FFFFFF; | ||||
|   border-radius: 16px; | ||||
|   margin: 0 30px 32px; | ||||
|   box-sizing: border-box; | ||||
|   img{ | ||||
|     width: 32px; | ||||
|     height: 32px; | ||||
|     vertical-align: middle; | ||||
|   } | ||||
|   div{ | ||||
|     display: inline-block; | ||||
|     width: calc(100% - 144px); | ||||
|     padding-left: 20px; | ||||
|     box-sizing: border-box; | ||||
|     font-size: 32px; | ||||
|     font-family: PingFangSC-Medium, PingFang SC; | ||||
|     font-weight: 500; | ||||
|     color: #333; | ||||
|     line-height: 48px; | ||||
|     img{ | ||||
|       margin-left: 8px; | ||||
|     } | ||||
|   } | ||||
|   span{ | ||||
|     display: inline-block; | ||||
|     width: 112px; | ||||
|     height: 48px; | ||||
|     font-size: 28px; | ||||
|     font-family: PingFangSC-Medium, PingFang SC; | ||||
|     font-weight: 500; | ||||
|     color: #3F8DF5; | ||||
|     line-height: 48px; | ||||
|   } | ||||
|   } | ||||
|   .title{ | ||||
|     font-size: 38px; | ||||
|     font-family: PingFangSC-Semibold, PingFang SC; | ||||
|   | ||||
| @@ -210,21 +210,25 @@ export default { | ||||
|           border-radius: 8px; | ||||
|         } | ||||
|         .rightes { | ||||
|           width: 100%; | ||||
|           width: calc(100% - 188px); | ||||
|           display: flex; | ||||
|           justify-content: space-between; | ||||
|           align-items: center; | ||||
|           margin-left: 32px; | ||||
|           border-bottom: 1px solid #e4e5e6; | ||||
|           .applicationNames { | ||||
|             width: calc(100% - 56px); | ||||
|             font-size: 36px; | ||||
|             font-weight: 500; | ||||
|             color: #333333; | ||||
|             overflow:hidden;  | ||||
|             text-overflow:ellipsis;  | ||||
|             white-space:nowrap; | ||||
|           } | ||||
|           .imgs { | ||||
|             width: 40px; | ||||
|             height: 40px; | ||||
|             margin-right: 20px; | ||||
|             vertical-align: middle; | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|   | ||||
| @@ -85,12 +85,13 @@ export default { | ||||
|           selectUserList.push(item) | ||||
|         } | ||||
|       }) | ||||
|       if (!selectUserList.length) { | ||||
|         return this.$u.toast('请选择人员') | ||||
|       } else { | ||||
|         uni.$emit('selectUser', selectUserList) | ||||
|         uni.navigateBack() | ||||
|       } | ||||
|       uni.$emit('selectUser', selectUserList) | ||||
|       uni.navigateBack() | ||||
|       // if (!selectUserList.length) { | ||||
|       //   return this.$u.toast('请选择人员') | ||||
|       // } else { | ||||
|         | ||||
|       // } | ||||
|     }, | ||||
|   }, | ||||
|   onReachBottom() { | ||||
|   | ||||
| @@ -13,11 +13,14 @@ | ||||
|                 <img src="./components/img/xzh.png" alt="" class="imgselect" v-if="item.isChecked" @click.stop="girdClick(item, index)" /> | ||||
|                 <img src="./components/img/xz.png" alt="" class="imgselect" v-else @click.stop="girdClick(item, index)" /> | ||||
|               </span> | ||||
|               <span v-else style="width:24px;"></span> | ||||
|               <img src="./components/img/gird--select-icon.png" alt="" class="avatras" /> | ||||
|             </div> | ||||
|             <div class="rightes"> | ||||
|               <div class="applicationNames" @click="showGirdInfo(item)">{{ item.girdName }}</div> | ||||
|               <img src="./components/img/right-icon.png" alt="" class="imgs" v-if="item.girdLevel != 2" @click="itemClick(item)" /> | ||||
|               <div class="right-icon" v-if="item.girdLevel != 2" @click="itemClick(item)" > | ||||
|                 <img src="./components/img/right-icon.png" alt="" class="imgs" /> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|         </div> | ||||
| @@ -147,6 +150,7 @@ export default { | ||||
|       this.$http.post(`/app/appgirdinfo/queryAppGirdInfoByGirdLevel?girdLevel=${girdLevel}&girdMemberId=${this.userGird.girdMemberId}&parentGirdId=${row.id}`).then((res) => { | ||||
|         if (res?.data) { | ||||
|           this.treeList = res.data | ||||
|           this.setGird = {} | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
| @@ -193,9 +197,13 @@ export default { | ||||
|         this.$http.post(`/app/appgirdinfo/delete?ids=${this.form.id}`).then((res) => { | ||||
|           if (res.code == 0) { | ||||
|             this.$u.toast('删除成功!') | ||||
|             this.show = false | ||||
|             this.form = {} | ||||
|             this.treeList = [] | ||||
|             this.isGirdUser() | ||||
|           } | ||||
|         }).catch((err) => { | ||||
|           this.$u.toast(err) | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
| @@ -276,16 +284,26 @@ export default { | ||||
|           border-radius: 8px; | ||||
|         } | ||||
|         .rightes { | ||||
|           width: 100%; | ||||
|           width: calc(100% - 140px); | ||||
|           display: flex; | ||||
|           justify-content: space-between; | ||||
|           align-items: center; | ||||
|           margin-left: 32px; | ||||
|           border-bottom: 1px solid #e4e5e6; | ||||
|           .applicationNames { | ||||
|             width: calc(100% - 100px); | ||||
|             font-size: 36px; | ||||
|             font-weight: 500; | ||||
|             color: #333333; | ||||
|             overflow:hidden;  | ||||
|             text-overflow:ellipsis;  | ||||
|             white-space:nowrap; | ||||
|           } | ||||
|           .right-icon{ | ||||
|             width: 100px; | ||||
|             padding-right: 32px; | ||||
|             box-sizing: border-box; | ||||
|             text-align: right; | ||||
|           } | ||||
|           .imgs { | ||||
|             width: 40px; | ||||
|   | ||||
| @@ -1,15 +1,5 @@ | ||||
| <template> | ||||
|   <div class="Statistics"> | ||||
|     <div class="top"> | ||||
|       <div class="left" @click="linkTo('./SelectGird')"> | ||||
|         <img src="./components/img/gird-icon.png" alt="" /> | ||||
|         <div class="girdNmae">{{ girdMsgList.girdName || '' }}</div> | ||||
|         <u-icon name="arrow-down" color="#666"></u-icon> | ||||
|       </div> | ||||
|  | ||||
|       <div class="right" @click="linkTo('./SetGird')" v-if="checkType == 2">网格配置</div> | ||||
|     </div> | ||||
|  | ||||
|     <div class="middle"> | ||||
|       <div class="girdPeople">网格内人员情况</div> | ||||
|  | ||||
| @@ -86,6 +76,8 @@ export default { | ||||
|   created() { | ||||
|     this.$dict.load('girdType', 'girdLevel').then(() => { | ||||
|       this.isGirdUser() | ||||
|       this.girdMsgList = this.params | ||||
|       this.getList() | ||||
|     }) | ||||
|  | ||||
|     uni.$on('goback', (res) => { | ||||
| @@ -98,14 +90,6 @@ export default { | ||||
|       this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.girdUser = res.data | ||||
|           this.checkType = res.data.checkType | ||||
|           if (this.girdUser.checkType != '0') { | ||||
|              | ||||
|             if (this.girdUser.appGirdInfo) { | ||||
|               this.girdMsgList = this.girdUser.appGirdInfo | ||||
|               this.getList() | ||||
|             } | ||||
|           } | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
| @@ -129,43 +113,8 @@ uni-page-body { | ||||
|   height: 100%; | ||||
| } | ||||
| .Statistics { | ||||
|   height: 100%; | ||||
|   background: #f3f7f8; | ||||
|   padding: 0 30px; | ||||
|   padding-top: 30px; | ||||
|   box-sizing: border-box; | ||||
|   .top { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     align-items: center; | ||||
|     padding: 24px 32px; | ||||
|     background: #fff; | ||||
|     border-radius: 16px; | ||||
|     .left { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|       img { | ||||
|         width: 32px; | ||||
|         height: 32px; | ||||
|       } | ||||
|       .girdNmae { | ||||
|         margin-left: 20px; | ||||
|         font-size: 34px; | ||||
|         font-family: PingFangSC-Medium, PingFang SC; | ||||
|         font-weight: 500; | ||||
|         color: #333333; | ||||
|       } | ||||
|       .u-icon { | ||||
|         margin-left: 8px; | ||||
|       } | ||||
|     } | ||||
|     .right { | ||||
|       font-size: 28px; | ||||
|       font-family: PingFangSC-Medium, PingFang SC; | ||||
|       font-weight: 500; | ||||
|       color: #3f8df5; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .middle { | ||||
|     background: #ffffff; | ||||
|   | ||||
| @@ -9,7 +9,7 @@ | ||||
|     </div> | ||||
|     <div v-if="!isAdmin" class="empty"> | ||||
|       <img src="./components/img/no-admin.png" alt=""> | ||||
|       <p>没有网格员权限<br />无法查看网格信息哦~</p> | ||||
|       <p>没有网格员权限<br />无法查看随手拍信息哦~</p> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
|   | ||||
| @@ -108,6 +108,7 @@ export default { | ||||
|     }, | ||||
|  | ||||
|     searckGird(row) { | ||||
|       this.treeList = [] | ||||
|       if(row.girdLevel != 2) { //查网格 | ||||
|         this.$http.post(`/app/appgirdinfo/list?parentGirdId=${row.id}&size=999`).then((res) => { | ||||
|           if (res?.data) { | ||||
| @@ -115,6 +116,7 @@ export default { | ||||
|           } | ||||
|         }) | ||||
|       }else { //查网格员 | ||||
|         this.userList = [] | ||||
|         this.$http.post(`/app/appgirdmemberinfo/listByGirdIdByThree?girdId=${row.id}`).then((res) => { | ||||
|           if (res?.data) { | ||||
|             this.userList = res.data | ||||
|   | ||||
| @@ -32,7 +32,7 @@ | ||||
|  | ||||
|         <div class="line"></div> | ||||
|  | ||||
|         <u-form-item label="活动详情" prop="content" :border-bottom="false" label-position="top" class="contents"> | ||||
|         <u-form-item label="活动详情" prop="content" required :border-bottom="false" label-position="top" class="contents"> | ||||
|           <u-input v-model="forms.content" placeholder="请输入详细描述信息" type="textarea" auto-height height="100" maxlength="500" /> | ||||
|         </u-form-item> | ||||
|  | ||||
| @@ -102,6 +102,9 @@ export default { | ||||
|           if (!this.forms.phone) { | ||||
|             return this.$u.toast('请输入联系电话') | ||||
|           } | ||||
|           if (!this.forms.content) { | ||||
|             return this.$u.toast('请输入活动详情') | ||||
|           } | ||||
|  | ||||
|           const imgs = [] | ||||
|           if (this.forms.files) { | ||||
| @@ -135,8 +138,12 @@ export default { | ||||
|                 }, 600) | ||||
|               } | ||||
|             }) | ||||
|         } else { | ||||
|           this.$u.toast('失败') | ||||
|             .catch(() => { | ||||
|               this.$u.toast('发布失败') | ||||
|             }) | ||||
|             .finally(() => { | ||||
|               this.flag = false | ||||
|             }) | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|   | ||||
| @@ -139,7 +139,7 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|     ...mapState(['user', 'global']), | ||||
|     ...mapState(['user']), | ||||
|  | ||||
|     loadmore() { | ||||
|       return this.pages <= this.current ? 'loading ' : 'nomore' | ||||
| @@ -165,6 +165,7 @@ export default { | ||||
|     document.title = '婚丧嫁娶' | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.getList() | ||||
|     this.Echart = echarts.init(document.getElementById('yearStatistic', 'modeType')) | ||||
|   }, | ||||
|   methods: { | ||||
| @@ -181,8 +182,12 @@ export default { | ||||
|           if (res.code == 0) { | ||||
|             this.datas = this.current > 1 ? [...this.datas, ...res.data.records] : res.data.records | ||||
|             this.pages = res.data.pages | ||||
|             this.$forceUpdate() | ||||
|           } | ||||
|         }) | ||||
|         .finally(() => { | ||||
|           this.$forceUpdate() | ||||
|         }) | ||||
|     }, | ||||
|  | ||||
|     getEchart() { | ||||
| @@ -274,6 +279,7 @@ export default { | ||||
|       this.$http.post(`/app/appmarriagefuneralinfo/delete?ids=${this.deletId}`).then((res) => { | ||||
|         if (res.code == 0) { | ||||
|           this.$u.toast('删除成功!') | ||||
|           this.$forceUpdate() | ||||
|           this.getList() | ||||
|         } | ||||
|       }) | ||||
| @@ -413,10 +419,9 @@ uni-page-body { | ||||
|  | ||||
|   .myReport { | ||||
|     padding-bottom: 105px; | ||||
|     // background: #f3f6f9; | ||||
|  | ||||
|     ::v-deep .AiCard { | ||||
|       background: #f3f6f9; | ||||
|       background: #f5f5f5; | ||||
|       padding: 0 24px 24px 24px; | ||||
|  | ||||
|       .start { | ||||
| @@ -503,7 +508,7 @@ uni-page-body { | ||||
|     } | ||||
|  | ||||
|     .u-load-more-wrap { | ||||
|       background: #f3f6f9 !important; | ||||
|       background: #f5f5f5 !important; | ||||
|       margin: 0 !important; | ||||
|       padding: 30px 0; | ||||
|     } | ||||
|   | ||||
| @@ -259,7 +259,11 @@ export default { | ||||
|         if (res.code == 0) { | ||||
|           this.$u.toast(status == 1 ? "发布成功" : "保存成功") | ||||
|           // this.$refs["aiBack"].back() | ||||
|           uni.navigateBack() | ||||
|           uni.$emit('updateList') | ||||
|           setTimeout(() => { | ||||
|             uni.navigateBack() | ||||
|           }, 600) | ||||
|            | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|   | ||||
| @@ -57,9 +57,13 @@ export default { | ||||
|     this.index = opt.index | ||||
|      | ||||
|     this.getData(); | ||||
|     uni.$on('updateList', () => { | ||||
|       this.current = 1 | ||||
|       this.getData() | ||||
|     }) | ||||
|   }, | ||||
|   onShow() { | ||||
|     document.title = opt.index == 0 ? "历史会议" : "草稿箱" | ||||
|     document.title = this.index == 0 ? "历史会议" : "草稿箱" | ||||
|   }, | ||||
|  | ||||
|   methods: { | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
|  | ||||
|       <div class="card"> | ||||
|         <div class="label">公告内容</div> | ||||
|         <u-parse :html="detailObj.content"></u-parse> | ||||
|         <u-parse :html="detailObj.content" style="font-size:14px;"></u-parse> | ||||
|       </div> | ||||
|  | ||||
|       <div class="card" style="padding-top: 0" v-if="detailObj.files && detailObj.files.length"> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
|         <div class="right"> | ||||
|           <div class="rightTop">{{ item.name }}</div> | ||||
|           <div class="rightBottom"> | ||||
|             <span>{{ item.idNumber.replace(/^(\w{6})\w{8}(.*)$/, '$1****$2') }}</span> | ||||
|             <span>{{ item.idNumber.replace(/^(\w{6})\w{8}(.*)$/, '$1********$2') }}</span> | ||||
|  | ||||
|             <span>{{ item.phone }}</span> | ||||
|           </div> | ||||
| @@ -70,7 +70,7 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|     ...mapState(['user', 'global']), | ||||
|     ...mapState(['user']), | ||||
|   }, | ||||
|   watch: {}, | ||||
|   onLoad() { | ||||
| @@ -139,14 +139,15 @@ export default { | ||||
| </script> | ||||
|  | ||||
| <style scoped lang="scss"> | ||||
| uni-page-body { | ||||
|   height: 100%; | ||||
| } | ||||
| .AppResidentDocument { | ||||
|   height: 100%; | ||||
|   background: #fff; | ||||
|   .areatop { | ||||
|     display: flex; | ||||
|     justify-content: space-between; | ||||
|     align-items: center; | ||||
|     padding: 0 32px; | ||||
|   } | ||||
|  | ||||
|   .line { | ||||
| @@ -158,6 +159,7 @@ export default { | ||||
|     border-bottom: 2px solid #f5f5f5; | ||||
|     border-top: 2px solid #f5f5f5; | ||||
|     padding: 20px 32px; | ||||
|     background: #fff; | ||||
|   } | ||||
|  | ||||
|   ::v-deep .u-form { | ||||
| @@ -190,6 +192,7 @@ export default { | ||||
|   } | ||||
|  | ||||
|   .dataes { | ||||
|     background: #fff; | ||||
|     .datass { | ||||
|       display: flex; | ||||
|       padding: 24px 32px; | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| <template> | ||||
|   <div class="AppResidentFile"> | ||||
|     <u-tabbar v-model="currentTabBar" :list="lists" @change="changeTab" active-color="#3267F0" inactive-color="#C4CAD4" style="height: 0" class="u-tabbar"></u-tabbar> | ||||
|  | ||||
|     <div class="currentTabBar0" v-if="currentTabBar == 0"> | ||||
|       <u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bg-color="#3975C6" inactive-color="#fff" active-color="#fff" @change="change"></u-tabs> | ||||
|  | ||||
| @@ -63,9 +61,9 @@ | ||||
|  | ||||
|     <div class="currentTabBar1" v-if="currentTabBar == 1"> | ||||
|       <AiTopFixed> | ||||
|         <u-search placeholder="请输入昵称、姓名" :show-action="false" search-icon-color="#ccc" v-model="search.name" @search=";(page.current = 1), getList()" /> | ||||
|         <u-search placeholder="请输入昵称、姓名" :show-action="false" search-icon-color="#ccc" v-model="search.name" @search=";(page1.current = 1), getList()" /> | ||||
|         <AiCell> | ||||
|           <b slot="label" class="title">共<i v-html="page.total || 0" />个居民</b> | ||||
|           <b slot="label" class="title">共<i v-html="page1.total || 0" />个居民</b> | ||||
|         </AiCell> | ||||
|       </AiTopFixed> | ||||
|  | ||||
| @@ -85,9 +83,9 @@ | ||||
|  | ||||
|     <div class="currentTabBar2" v-if="currentTabBar == 2"> | ||||
|       <AiTopFixed> | ||||
|         <u-search placeholder="请输入群名、群主名" :show-action="false" search-icon-color="#ccc" v-model="search.name" @search=";(page.current = 1), getList()" /> | ||||
|         <u-search placeholder="请输入群名、群主名" :show-action="false" search-icon-color="#ccc" v-model="search.name" @search=";(page2.current = 1), getList()" /> | ||||
|         <AiCell> | ||||
|           <b slot="label" class="title">共<i v-html="page.total || 0" />个居民群</b> | ||||
|           <b slot="label" class="title">共<i v-html="page2.total || 0" />个居民群</b> | ||||
|         </AiCell> | ||||
|       </AiTopFixed> | ||||
|  | ||||
| @@ -110,6 +108,13 @@ | ||||
|         </AiCell> | ||||
|       </div> | ||||
|     </div> | ||||
|     <!-- <u-tabbar v-model="currentTabBar" :list="lists" @change="changeTab" active-color="#3267F0" inactive-color="#C4CAD4" class="u-tabbar"></u-tabbar> --> | ||||
|     <div class="tabs"> | ||||
|       <div class="item" @click="changeTab(index)" v-for="(item, index) in lists" :key="index"> | ||||
|         <img :src="currentTabBar == index ? item.selectedIconPath : item.iconPath" alt="" /> | ||||
|         <p :class="currentTabBar == index ? 'color-3267F0' : ''">{{ item.text }}</p> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| @@ -161,7 +166,6 @@ export default { | ||||
|       current: 1, | ||||
|       keyword: '', | ||||
|       data: [], | ||||
|       page: { current: 1, size: 10, total: 0 }, | ||||
|       search: { name: '' }, | ||||
|       list: [], | ||||
|       weekList: [], | ||||
| @@ -189,6 +193,7 @@ export default { | ||||
|     this.Echarts1 = echarts.init(document.getElementById('echarts1')) | ||||
|   }, | ||||
|   methods: { | ||||
|     // 居民列表 | ||||
|     getList() { | ||||
|       this.$http | ||||
|         .post('/app/wxcp/wxcustomer/list', null, { | ||||
| @@ -196,20 +201,20 @@ export default { | ||||
|         }) | ||||
|         .then((res) => { | ||||
|           if (res?.data) { | ||||
|             if (this.page.current > 1) { | ||||
|             if (this.page1.current > 1) { | ||||
|               this.data = [...this.data, ...res.data.records] | ||||
|             } else this.data = res.data.records | ||||
|             this.page.total = res.data.total | ||||
|             this.page1.total = res.data.total | ||||
|           } | ||||
|         }) | ||||
|     }, | ||||
|  | ||||
|     reachBottom() { | ||||
|       if (this.page.total > this.list.length) { | ||||
|         this.page.current++ | ||||
|         this.getList() | ||||
|       } | ||||
|     }, | ||||
|     // reachBottom() { | ||||
|     //   if (this.page1.total > this.list.length) { | ||||
|     //     this.page1.current++ | ||||
|     //     this.getList() | ||||
|     //   } | ||||
|     // }, | ||||
|  | ||||
|     showResident({ id }) { | ||||
|       id && | ||||
| @@ -218,6 +223,7 @@ export default { | ||||
|         }) | ||||
|     }, | ||||
|  | ||||
|     // 居民群列表 | ||||
|     getList2() { | ||||
|       this.$http | ||||
|         .post('/app/wxcp/wxgroup/list', null, { | ||||
| @@ -229,20 +235,20 @@ export default { | ||||
|               ...e, | ||||
|               avatar: e?.avatar || this.$cdn + 'groupAvatar.png', | ||||
|             })) | ||||
|             if (this.page.current > 1) { | ||||
|             if (this.page2.current > 1) { | ||||
|               this.list = [...this.list, ...meta] | ||||
|             } else this.list = meta | ||||
|             this.page.total = res.data.total | ||||
|             this.page2.total = res.data.total | ||||
|           } | ||||
|         }) | ||||
|     }, | ||||
|  | ||||
|     reachBottom() { | ||||
|       if (this.page.total > this.list.length) { | ||||
|         this.page.current = this.page.current + 1 | ||||
|         this.getList2() | ||||
|       } | ||||
|     }, | ||||
|     // reachBottom() { | ||||
|     //   if (this.page2.total > this.list.length) { | ||||
|     //     this.page2.current = this.page2.current + 1 | ||||
|     //     this.getList2() | ||||
|     //   } | ||||
|     // }, | ||||
|  | ||||
|     toGroupList(item) { | ||||
|       uni.navigateTo({ | ||||
| @@ -490,9 +496,11 @@ export default { | ||||
|         }) | ||||
|       } | ||||
|       if (this.currentTabBar == 1) { | ||||
|         this.page1.current == 1 | ||||
|         this.getList() | ||||
|       } | ||||
|       if (this.currentTabBar == 2) { | ||||
|         this.page2.current == 1 | ||||
|         this.getList2() | ||||
|       } | ||||
|     }, | ||||
| @@ -511,8 +519,14 @@ export default { | ||||
|     }, | ||||
|   }, | ||||
|   onReachBottom() { | ||||
|     this.current = this.current + 1 | ||||
|     this.getList() | ||||
|     if (this.currentTabBar == 1) { | ||||
|       this.page1.current++ | ||||
|       this.getList() | ||||
|     } | ||||
|     if (this.currentTabBar == 2) { | ||||
|       this.page2.current++ | ||||
|       this.getList2() | ||||
|     } | ||||
|   }, | ||||
| } | ||||
| </script> | ||||
| @@ -525,6 +539,7 @@ uni-page-body { | ||||
|   height: 100%; | ||||
|  | ||||
|   .currentTabBar0 { | ||||
|     padding-bottom: 98px; | ||||
|     .peopleGroup, | ||||
|     .people { | ||||
|       .topcard { | ||||
| @@ -598,6 +613,7 @@ uni-page-body { | ||||
|  | ||||
|   .currentTabBar1 { | ||||
|     height: 100%; | ||||
|     padding-bottom: 98px; | ||||
|     background: #fff; | ||||
|     ::v-deep .AiTopFixed { | ||||
|       b.title { | ||||
| @@ -614,7 +630,7 @@ uni-page-body { | ||||
|  | ||||
|     ::v-deep .mainPane { | ||||
|       background: #fff; | ||||
|       padding: 0 32px; | ||||
|       padding: 0 32px 88px; | ||||
|  | ||||
|       .AiCell { | ||||
|         flex-shrink: 0; | ||||
| @@ -674,6 +690,7 @@ uni-page-body { | ||||
|   } | ||||
|  | ||||
|   .currentTabBar2 { | ||||
|     padding-bottom: 98px; | ||||
|     ::v-deep .AiTopFixed { | ||||
|       b.title { | ||||
|         color: #333; | ||||
| @@ -774,5 +791,35 @@ uni-page-body { | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .tabs { | ||||
|     width: 100%; | ||||
|     height: 98px; | ||||
|     background: #fff; | ||||
|     border-top: 1px solid #ddd; | ||||
|     position: fixed; | ||||
|     bottom: 0; | ||||
|     left: 0; | ||||
|     display: flex; | ||||
|     .item { | ||||
|       flex: 1; | ||||
|       text-align: center; | ||||
|       img { | ||||
|         width: 56px; | ||||
|         height: 56px; | ||||
|         margin-top: 8px; | ||||
|       } | ||||
|       p { | ||||
|         font-size: 22px; | ||||
|         font-family: PingFangSC-Medium, PingFang SC; | ||||
|         font-weight: 500; | ||||
|         color: #c4cad4; | ||||
|         line-height: 8px; | ||||
|       } | ||||
|       .color-3267F0 { | ||||
|         color: #3267f0; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|   | ||||
| @@ -83,13 +83,16 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|      | ||||
|   }, | ||||
|   onLoad() { | ||||
|     this.$dict.load('sex', 'nation', 'education', 'job', 'faithType', 'politicsStatus', 'militaryStatus', 'householdRelation', 'householdName') | ||||
|     console.log('居民档案性别(无字典)', this.resident.sex) | ||||
|     console.log('居民档案性别(有字典)', this.$dict.getLabel('sex', this.resident.sex)) | ||||
|     console.log('居民档案字典值', this.$dict.getDict('sex')) | ||||
|   }, | ||||
|   onShow() { | ||||
|     document.title = '居民详情' | ||||
|     this.$dict.load('sex', 'nation', 'education', 'job', 'faithType', 'politicsStatus', 'militaryStatus', 'householdRelation', 'householdName') | ||||
|   }, | ||||
| } | ||||
| </script> | ||||
|   | ||||
| @@ -62,6 +62,10 @@ export default { | ||||
|     }) | ||||
|   }, | ||||
|  | ||||
|   onShow() { | ||||
|     document.title = '媒资管理' | ||||
|   }, | ||||
|  | ||||
|   methods: { | ||||
|     change(index) { | ||||
|       this.isMore = false | ||||
|   | ||||
| @@ -52,6 +52,9 @@ export default { | ||||
|       this.file = e | ||||
|     }) | ||||
|   }, | ||||
|   onShow() { | ||||
|     document.title = this.type == 1 ? '添加音频' : '添加文本' | ||||
|   }, | ||||
|  | ||||
|   methods: { | ||||
|     toRecord() { | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
|                  @click.stop="previewImage(item.files, items.accessUrl)"/> | ||||
|           </div> | ||||
|           <div class="img-list" v-if="item.files.length && item.contentType == 1"> | ||||
|             <video class="video" :src="item.files[0].url"></video> | ||||
|             <video width="400" height="400" :poster="item.pictureUrl" :src="item.files[0].url"></video> | ||||
|           </div> | ||||
|           <div class="flex"> | ||||
|             <span class="left"> | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
|       <img :src="item.accessUrl" alt="" v-for="(item, index) in data.files" :key="index" @click="previewImage(data.files, item.accessUrl)" /> | ||||
|     </div> | ||||
|     <div class="img-list" v-if="data.files && data.files.length && data.contentType == 1"> | ||||
|       <video class="video" :src="data.files[0].url"></video> | ||||
|       <video width="400" height="400" :poster="data.pictureUrl" :src="data.files[0].url"></video> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
|   | ||||
| @@ -201,18 +201,14 @@ export default { | ||||
|     }, | ||||
|  | ||||
|     like(id) { | ||||
|       this.$loading() | ||||
|       this.$http.post(`/app/appvillagediscussmessage/suport?id=${id}&userId=${this.user.id}`).then((res) => { | ||||
|         this.$hideLoading() | ||||
|         if (res.code === 0) { | ||||
|           this.$u.toast('点赞成功') | ||||
|  | ||||
|           this.$nextTick(() => { | ||||
|             this.getDetail() | ||||
|           }) | ||||
|         } else { | ||||
|           this.$u.toast(res.msg) | ||||
|         } | ||||
|           this.getDetail() | ||||
|         }  | ||||
|       }).catch((err) => { | ||||
|         this.$u.toast(err) | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|   | ||||
| @@ -9,12 +9,12 @@ | ||||
|         <div class="right"> | ||||
|           <div class="top"> | ||||
|             <span class="names" v-if="anonymous && anonymous == 0">{{ item.userName }}</span> | ||||
|             <span v-else>匿名用户</span> | ||||
|             <span v-else>居民</span> | ||||
|  | ||||
|             <span class="times">{{ item.createTime }}</span> | ||||
|           </div> | ||||
|  | ||||
|           <div class="bottom">选择了选择了{{ item.item }}</div> | ||||
|           <div class="bottom">选择了{{ item.item }}</div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   | ||||
| @@ -5,7 +5,11 @@ | ||||
|  | ||||
|       <div class="walk-item"> | ||||
|         <span>走访对象:</span> | ||||
|         <span>{{ data.name }}</span> | ||||
|         <span> | ||||
|           {{ data.name }} | ||||
|           <span class="tags" v-if="data.menuLevel3Name">{{ data.menuLevel3Name }}</span> | ||||
|         </span> | ||||
|          | ||||
|       </div> | ||||
|  | ||||
|       <div class="walk-item" v-if="data.reality"> | ||||
| @@ -99,6 +103,14 @@ export default { | ||||
|       font-size: 28px; | ||||
|       color: #d7e3f3; | ||||
|       margin-top: 16px; | ||||
|       .tags { | ||||
|         display: inline-block; | ||||
|         padding: 0 12px; | ||||
|         height: 40px; | ||||
|         border-radius: 4px; | ||||
|         border: 1px solid #FFFFFF; | ||||
|         margin-left: 16px; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -39,7 +39,7 @@ export default { | ||||
|     document.title = "问卷表单" | ||||
|     this.$refs?.TabPage?.show() | ||||
|     this.$nextTick(() => { | ||||
|       this.injectJWeixin(['sendChatMessage', 'selectEnterpriseContact', 'shareAppMessage', 'shareWechatMessage']).then(() => { | ||||
|       this.injectJWeixin(['sendChatMessage', 'shareAppMessage', 'shareWechatMessage']).then(() => { | ||||
|         this.$dict.load(['questionnaireStatus', 'questionnaireType', 'questionnaireFieldType']) | ||||
|       }) | ||||
|     }) | ||||
|   | ||||
| @@ -40,7 +40,7 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.injectJWeixin(['sendChatMessage', 'selectEnterpriseContact']) | ||||
|     this.injectJWeixin(['sendChatMessage']) | ||||
|   }, | ||||
|   methods: { | ||||
|     ...mapActions(['injectJWeixin', 'wxInvoke']), | ||||
|   | ||||
| @@ -159,16 +159,16 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     ...mapActions(['selectEnterpriseContact']), | ||||
|     ...mapActions(['selectPrivilegedContact']), | ||||
|     handleSelectUser() { | ||||
|       if (this.clickedUserSelect) return this.$u.toast("正在打开人员选择器") | ||||
|       this.clickedUserSelect = true | ||||
|       this.selectEnterpriseContact({ | ||||
|       this.selectPrivilegedContact({ | ||||
|         fromDepartmentId: 0, | ||||
|         type: ["user"], | ||||
|         selectedUserIds: this.form.attendees?.map(e => e.id) | ||||
|         selectedOpenUserIds: this.form.attendees?.map(e => e.id) | ||||
|       }).then(res => { | ||||
|         this.change(res?.userList || []) | ||||
|         this.form.ticket = res?.selectedTicket || "" | ||||
|         this.clickedUserSelect = false | ||||
|       }).catch(() => { | ||||
|         this.clickedUserSelect = false | ||||
|   | ||||
| @@ -105,16 +105,16 @@ export default { | ||||
|   }, | ||||
|  | ||||
|   methods: { | ||||
|     ...mapActions(['selectEnterpriseContact']), | ||||
|     ...mapActions(['selectPrivilegedContact']), | ||||
|     handleSelectUser() { | ||||
|       if (this.clickedUserSelect) return this.$u.toast("正在打开人员选择器") | ||||
|       this.clickedUserSelect = true | ||||
|       this.selectEnterpriseContact({ | ||||
|       this.selectPrivilegedContact({ | ||||
|         fromDepartmentId: 0, | ||||
|         type: ["user"], | ||||
|         selectedUserIds: this.form.persons?.map(e => e.id) | ||||
|         selectedOpenUserIds: this.form.persons?.map(e => e.id) | ||||
|       }).then(res => { | ||||
|         this.form.persons = res?.userList || [] | ||||
|         this.form.ticket = res?.selectedTicket | ||||
|         this.clickedUserSelect = false | ||||
|       }).catch(() => { | ||||
|         this.clickedUserSelect = false | ||||
|   | ||||
| @@ -351,6 +351,27 @@ const store = new Vuex.Store({ | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     selectPrivilegedContact(state, params) { | ||||
|       return new Promise(resolve => { | ||||
|         state.dispatch("injectJWeixin", "selectPrivilegedContact").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke("selectEnterpriseContact", { | ||||
|               fromDepartmentId: -1, | ||||
|               mode: "multi", | ||||
|               ...params | ||||
|             }, res => { | ||||
|               if (res.err_msg == "selectPrivilegedContact:ok") { | ||||
|                 if (typeof res.result == 'string') { | ||||
|                   res.result = JSON.parse(res.result) | ||||
|                 } | ||||
|                 resolve(res.result) | ||||
|               } | ||||
|             }) | ||||
|           }, 500) | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|   }, | ||||
|   getters: { | ||||
|     getDict: state => key => { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user