| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <block v-if="options.name === '便民办事'"> | |||
| <custom-nav-bar position="fixed" color="black" :left-text="options.name" left-arrow /> | |||
| <view class="second-model"> | |||
| @@ -22,7 +22,7 @@ | |||
| <view class="section-item-left flex1 flex flex-between flex-col"> | |||
| <view class="consult-content-title text-line-2">{{ item.title }}</view> | |||
| <view class="consult-content-block"> | |||
| <text class="block-first">{{ toods.getDateTime(item.createTime) }}</text> | |||
| <text class="block-first">{{ getDateTime(item.createTime) }}</text> | |||
| <text>{{ item.publisher }}</text> | |||
| </view> | |||
| </view> | |||
| @@ -55,6 +55,7 @@ | |||
| // } = app.globalData.api; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import utils from '@/utils/util.map'; | |||
| export default { | |||
| data() { | |||
| return { | |||
| @@ -76,6 +77,9 @@ | |||
| } | |||
| }, | |||
| methods: { | |||
| getDateTime(replyTime, key) { | |||
| return utils.getDateTime(replyTime, key) | |||
| }, | |||
| async newsPageApi() { | |||
| const param = { | |||
| pageNo: 1, | |||
| @@ -1,11 +1,11 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" :left-text="options.name" left-arrow /> | |||
| <view class="second-model" v-if="options.name === '办事指南'"> | |||
| <view class="second-line flex flex-v-center flex-between" :style="itemName.cssStyle" | |||
| v-for="(itemName, idx) in recursionList" :key="idx"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="toods.updateQuery(itemName.clickUrl, itemName)" | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl, itemName)" | |||
| hover-class="none"></navigator> | |||
| <image class="line-img" :src="itemName.icon"></image> | |||
| @@ -19,7 +19,7 @@ | |||
| <view class="two-model flex flex-v-center flex-between" v-if="options.name === '事务办理'"> | |||
| <view class="second-line flex flex-col line1" :style="itemName.cssStyle" v-for="(itemName, idx) in recursionList" | |||
| :key="idx"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="toods.updateQuery(itemName.clickUrl, itemName)" | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl, itemName)" | |||
| hover-class="none"></navigator> | |||
| <image class="line-bg" :src="itemName.icon"></image> | |||
| @@ -33,7 +33,7 @@ | |||
| <view class="three-model" v-if="options.name === '便民小知识'"> | |||
| <view class="second-line flex flex-v-center flex-between" :style="itemName.cssStyle" | |||
| v-for="(itemName, idx) in recursionList" :key="idx"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="toods.updateQuery(itemName.clickUrl, itemName)" | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl, itemName)" | |||
| hover-class="none"></navigator> | |||
| <view class="line-name flex1 line-text-1">{{ itemName.name }}</view> | |||
| @@ -43,13 +43,13 @@ | |||
| </view> | |||
| </view> | |||
| </template> | |||
| <!-- <script module="toods" lang="wxs" src="@/wxs/util.wxs"></script> --> | |||
| <script> | |||
| // const app = getApp(); | |||
| // const { | |||
| // publicApi | |||
| // } = app.globalData.api; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import utils from '@/utils/util.map.js' | |||
| export default { | |||
| data() { | |||
| return { | |||
| @@ -60,11 +60,13 @@ | |||
| }; | |||
| }, | |||
| onLoad(options) { | |||
| console.log(options) | |||
| this.options = options | |||
| this.recursionApi(); | |||
| }, | |||
| methods: { | |||
| updateQuery(url, name) { | |||
| return utils.updateQuery(url, name); | |||
| }, | |||
| async recursionApi() { | |||
| const { | |||
| bannerType, | |||
| @@ -76,6 +78,7 @@ | |||
| }); | |||
| if (res.data) { | |||
| this.recursionList = res.data | |||
| console.log(this.recursionList) | |||
| } | |||
| }, | |||
| @@ -129,12 +132,13 @@ | |||
| width: 100%; | |||
| height: 100%; | |||
| position: absolute; | |||
| z-index: -1; | |||
| z-index: 0; | |||
| top: 0; | |||
| left: 0; | |||
| } | |||
| .line-name { | |||
| position: absolute; | |||
| font-size: 34rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| @@ -168,19 +172,21 @@ | |||
| width: 100%; | |||
| height: 100%; | |||
| position: absolute; | |||
| z-index: -1; | |||
| z-index: 0; | |||
| top: 0; | |||
| left: 0; | |||
| } | |||
| .line-title { | |||
| position: absolute; | |||
| font-size: 40rpx; | |||
| font-weight: 500; | |||
| line-height: 32rpx; | |||
| } | |||
| .line-msg { | |||
| margin-top: 21rpx; | |||
| position: absolute; | |||
| margin-top: 100rpx; | |||
| font-size: 26rpx; | |||
| font-weight: 400; | |||
| color: #666666; | |||
| @@ -21,11 +21,11 @@ | |||
| <rich-text :nodes="item.merchantIntroduce"></rich-text> | |||
| </view> | |||
| <view class="life-conent-rate flex flex-v-center flex-between"> | |||
| <van-rate readonly icon="/images/void-icon2.png" void-icon="/images/rate-icon.png" | |||
| <van-rate readonly icon="/src/images/rate-icon.png" void-icon="/src/images/void-icon2.png" | |||
| :value="item.merchantGrade" /> | |||
| <view> | |||
| <text>距离</text> | |||
| <!-- <text class="rate-loca-active">{{ $tootls.setMorKm(item.distance) }}</text> --> | |||
| <text class="rate-loca-active">{{ setMorKm(item.distance) }}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -43,6 +43,7 @@ | |||
| // lifeApi | |||
| // } = app.globalData.api; | |||
| import * as lifeApi from '@/api/lifeApi'; | |||
| import utils from '@/utils/util.map'; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| @@ -68,6 +69,9 @@ | |||
| this.merchantPageApi(false); | |||
| }, | |||
| methods: { | |||
| setMorKm(distance){ | |||
| return utils.setMorKm(distance) | |||
| }, | |||
| // 生活对应栏目的分页查询 | |||
| async merchantPageApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| @@ -100,19 +104,12 @@ | |||
| }); | |||
| } | |||
| }); | |||
| console.log(_goodsList) | |||
| this.dataList = _goodsList | |||
| // this.setData({ | |||
| // dataList: _goodsList | |||
| // }); | |||
| } | |||
| }, | |||
| onChange(e) { | |||
| this.searchValue = e.detail.value | |||
| // this.setData({ | |||
| // searchValue: e.detail.value | |||
| // }); | |||
| this.merchantPageApi(); | |||
| }, | |||
| @@ -121,9 +118,6 @@ | |||
| return; | |||
| } | |||
| this.searchValue = e.detail.value | |||
| // this.setData({ | |||
| // searchValue: e.detail.value | |||
| // }); | |||
| this.merchantPageApi(); | |||
| }, | |||
| @@ -139,13 +133,14 @@ | |||
| // latitude, | |||
| // longitude | |||
| // } = app.globalData.config.locationInfo; | |||
| const locationInfo = uni.getStorageSync('userLocation').split(',') | |||
| const params = { | |||
| pageNo: 1, | |||
| pageSize: 10 | |||
| }; | |||
| if (optin.type === '1') { | |||
| params.latitude = latitude; | |||
| params.longitude = longitude; | |||
| params.latitude = locationInfo[0]; | |||
| params.longitude = locationInfo[1]; | |||
| // params.nearFlag = 1; | |||
| } | |||
| @@ -28,268 +28,264 @@ | |||
| </template> | |||
| <script> | |||
| // const app = getApp(); | |||
| // const { myApi } = app.globalData.api; | |||
| import * as myApi from '@/api/myApi'; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| options: { | |||
| type: '' | |||
| }, | |||
| form: { | |||
| replyContent: '', | |||
| replyImages: '' | |||
| }, | |||
| fileList: [] // 上传的图片 | |||
| }; | |||
| // const app = getApp(); | |||
| // const { myApi } = app.globalData.api; | |||
| import * as myApi from '@/api/myApi'; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| options: { | |||
| type: '' | |||
| }, | |||
| form: { | |||
| replyContent: '', | |||
| replyImages: '' | |||
| }, | |||
| fileList: [] // 上传的图片 | |||
| }; | |||
| }, | |||
| onLoad(options) { | |||
| this.onLoadClone3389(options); | |||
| }, | |||
| methods: { | |||
| onLoadClone3389(options) { | |||
| this.options = options | |||
| if (options.type === 'updata') { | |||
| this.replyCreateGetApi(); | |||
| } | |||
| }, | |||
| onLoad(options) { | |||
| this.onLoadClone3389(options); | |||
| async replyCreateGetApi() { | |||
| const res = await myApi.replyCreateGetApi({ | |||
| id: this.options.replyId | |||
| }); | |||
| if (res.data) { | |||
| this.form.replyContent = res.data.replyContent | |||
| this.fileList = res.data.replyImages ? | |||
| res.data.replyImages.map((item) => { | |||
| return { | |||
| url: item | |||
| }; | |||
| }) : | |||
| [] | |||
| } | |||
| }, | |||
| methods: { | |||
| onLoadClone3389(options) { | |||
| this.setData({ | |||
| options | |||
| }); | |||
| if (options.type === 'updata') { | |||
| this.replyCreateGetApi(); | |||
| } | |||
| }, | |||
| async replyCreateGetApi() { | |||
| const res = await myApi.replyCreateGetApi({ | |||
| id: this.options.replyId | |||
| async replyCreateApi() { | |||
| let params = { | |||
| ...this.form, | |||
| seekHelpId: this.options.id, | |||
| userId: uni.getStorageSync('userInfoData').userId | |||
| }; | |||
| const res = await myApi.replyCreateApi(params); | |||
| if (res.data) { | |||
| // 返回上一页并刷新 | |||
| uni.navigateBack({ | |||
| delta: 1, | |||
| success: () => { | |||
| // 刷新上一页 | |||
| const page = getCurrentPages().pop(); // 获取当前页面栈中的上一个页面 | |||
| page.onLoad({ | |||
| id: this.options.superId | |||
| }); // 重新加载上一页 | |||
| } | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| 'form.replyContent': res.data.replyContent, | |||
| fileList: res.data.replyImages ? | |||
| res.data.replyImages.map((item) => { | |||
| return { | |||
| url: item | |||
| }; | |||
| }) : | |||
| [] | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| }, | |||
| async replyCreateApi() { | |||
| let params = { | |||
| ...this.form, | |||
| seekHelpId: this.options.id, | |||
| userId: uni.getStorageSync('userInfoData').userId | |||
| }; | |||
| const res = await myApi.replyCreateApi(params); | |||
| if (res.data) { | |||
| // 返回上一页并刷新 | |||
| uni.navigateBack({ | |||
| delta: 1, | |||
| success: () => { | |||
| // 刷新上一页 | |||
| const page = getCurrentPages().pop(); // 获取当前页面栈中的上一个页面 | |||
| page.onLoad({ | |||
| id: this.options.superId | |||
| }); // 重新加载上一页 | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| async replyCreatUpdateApi() { | |||
| let params = { | |||
| ...this.form, | |||
| seekHelpId: this.options.id, | |||
| userId: uni.getStorageSync('userInfoData').userId | |||
| }; | |||
| const res = await myApi.replyCreatUpdateApi(params); | |||
| if (res.data) { | |||
| // 返回上一页并刷新 | |||
| uni.navigateBack({ | |||
| delta: 1, | |||
| success: () => { | |||
| //刷新上一页 | |||
| const page = getCurrentPages().pop(); // 获取当前页面栈中的上一个页面 | |||
| page.onLoad({ | |||
| id: this.options.superId | |||
| }); // 重新加载上一页 | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| async replyCreatUpdateApi() { | |||
| let params = { | |||
| ...this.form, | |||
| seekHelpId: this.options.id, | |||
| userId: uni.getStorageSync('userInfoData').userId | |||
| }; | |||
| const res = await myApi.replyCreatUpdateApi(params); | |||
| if (res.data) { | |||
| // 返回上一页并刷新 | |||
| uni.navigateBack({ | |||
| delta: 1, | |||
| success: () => { | |||
| //刷新上一页 | |||
| const page = getCurrentPages().pop(); // 获取当前页面栈中的上一个页面 | |||
| page.onLoad({ | |||
| id: this.options.superId | |||
| }); // 重新加载上一页 | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| // 上传图片 | |||
| async afterRead(event) { | |||
| // 如果设置上传图片多选file则为数组 | |||
| const { | |||
| file | |||
| } = event.detail; | |||
| // const { | |||
| // data = '' | |||
| // } = await app.globalData.upload({ | |||
| // file | |||
| // }); | |||
| const { | |||
| fileList | |||
| } = this; | |||
| fileList.push({ | |||
| url: data | |||
| }); | |||
| this.setData({ | |||
| fileList | |||
| }); | |||
| }, | |||
| // 上传图片 | |||
| async afterRead(event) { | |||
| // 如果设置上传图片多选file则为数组 | |||
| const { | |||
| file | |||
| } = event.detail; | |||
| // const { | |||
| // data = '' | |||
| // } = await app.globalData.upload({ | |||
| // file | |||
| // }); | |||
| const { | |||
| fileList | |||
| } = this; | |||
| fileList.push({ | |||
| url: data | |||
| }); | |||
| this.setData({ | |||
| fileList | |||
| }); | |||
| }, | |||
| // 删除图片 | |||
| imageDelete(event) { | |||
| const { | |||
| index | |||
| } = event.detail; | |||
| const Image = this.fileList; | |||
| Image.splice(index, 1); | |||
| this.setData({ | |||
| fileList: Image | |||
| }); | |||
| }, | |||
| // 删除图片 | |||
| imageDelete(event) { | |||
| const { | |||
| index | |||
| } = event.detail; | |||
| const Image = this.fileList; | |||
| Image.splice(index, 1); | |||
| this.setData({ | |||
| fileList: Image | |||
| }); | |||
| }, | |||
| headleInput(event) { | |||
| const { | |||
| value | |||
| } = event.detail; | |||
| const { | |||
| name | |||
| } = event.currentTarget.dataset; | |||
| this.form[name] = value; | |||
| }, | |||
| headleInput(event) { | |||
| const { | |||
| value | |||
| } = event.detail; | |||
| const { | |||
| name | |||
| } = event.currentTarget.dataset; | |||
| this.form[name] = value; | |||
| }, | |||
| handSubmit() { | |||
| this.setData({ | |||
| 'form.replyImages': this.fileList.map((item) => { | |||
| return item.url; | |||
| }) | |||
| }); | |||
| handSubmit() { | |||
| this.setData({ | |||
| 'form.replyImages': this.fileList.map((item) => { | |||
| return item.url; | |||
| }) | |||
| // 标识哪些数据为必填 | |||
| if (!this.form.replyContent) { | |||
| return uni.showToast({ | |||
| title: '请输入内容', | |||
| icon: 'none' | |||
| }); | |||
| } | |||
| if (!(this.form.replyContent.length >= 10)) { | |||
| return uni.showToast({ | |||
| title: '内容不能少于10个字', | |||
| icon: 'none' | |||
| }); | |||
| // 标识哪些数据为必填 | |||
| if (!this.form.replyContent) { | |||
| return uni.showToast({ | |||
| title: '请输入内容', | |||
| icon: 'none' | |||
| }); | |||
| } | |||
| if (!(this.form.replyContent.length >= 10)) { | |||
| return uni.showToast({ | |||
| title: '内容不能少于10个字', | |||
| icon: 'none' | |||
| }); | |||
| } | |||
| if (this.options.type === 'reply') { | |||
| this.replyCreateApi(); | |||
| } | |||
| if (this.options.type === 'updata') { | |||
| this.replyCreatUpdateApi(); | |||
| } | |||
| } | |||
| if (this.options.type === 'reply') { | |||
| this.replyCreateApi(); | |||
| } | |||
| if (this.options.type === 'updata') { | |||
| this.replyCreatUpdateApi(); | |||
| } | |||
| } | |||
| }; | |||
| } | |||
| }; | |||
| </script> | |||
| <style lang="less"> | |||
| .form-list { | |||
| .form-item { | |||
| padding: 42rpx 40rpx; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| position: relative; | |||
| .form-list { | |||
| .form-item { | |||
| padding: 42rpx 40rpx; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| position: relative; | |||
| .label { | |||
| position: relative; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 28rpx; | |||
| position: relative; | |||
| } | |||
| .label { | |||
| position: relative; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 28rpx; | |||
| position: relative; | |||
| } | |||
| .label-must::before { | |||
| content: '*'; | |||
| position: absolute; | |||
| right: -16rpx; | |||
| top: 0; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #fe3b53; | |||
| line-height: 32rpx; | |||
| } | |||
| .label-must::before { | |||
| content: '*'; | |||
| position: absolute; | |||
| right: -16rpx; | |||
| top: 0; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #fe3b53; | |||
| line-height: 32rpx; | |||
| } | |||
| } | |||
| .form-item-checkbox { | |||
| align-items: flex-start; | |||
| flex-direction: column; | |||
| .form-item-checkbox { | |||
| align-items: flex-start; | |||
| flex-direction: column; | |||
| .label-image-msg { | |||
| font-size: 24rpx; | |||
| font-weight: 400; | |||
| color: #999999; | |||
| line-height: 32rpx; | |||
| } | |||
| .label-must2 { | |||
| width: 100%; | |||
| display: flex; | |||
| align-items: center; | |||
| .label-image-msg { | |||
| font-size: 24rpx; | |||
| font-weight: 400; | |||
| color: #999999; | |||
| line-height: 32rpx; | |||
| } | |||
| .label-title { | |||
| position: relative; | |||
| .label-must2 { | |||
| width: 100%; | |||
| display: flex; | |||
| align-items: center; | |||
| &::before { | |||
| content: '*'; | |||
| position: absolute; | |||
| right: -16rpx; | |||
| top: 0; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #fe3b53; | |||
| line-height: 32rpx; | |||
| } | |||
| } | |||
| .label-title { | |||
| position: relative; | |||
| .label-msg { | |||
| margin-left: 27rpx; | |||
| font-size: 24rpx; | |||
| &::before { | |||
| content: '*'; | |||
| position: absolute; | |||
| right: -16rpx; | |||
| top: 0; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #999999; | |||
| line-height: 24rpx; | |||
| color: #fe3b53; | |||
| line-height: 32rpx; | |||
| } | |||
| } | |||
| .label-msg { | |||
| margin-left: 27rpx; | |||
| font-size: 24rpx; | |||
| font-weight: 400; | |||
| color: #999999; | |||
| line-height: 24rpx; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .label-textarea { | |||
| width: 100%; | |||
| margin-top: 24rpx; | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| line-height: 32rpx; | |||
| text-align: justify; | |||
| min-height: 550rpx; | |||
| max-height: 100%; | |||
| } | |||
| .label-textarea { | |||
| width: 100%; | |||
| margin-top: 24rpx; | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| line-height: 32rpx; | |||
| text-align: justify; | |||
| min-height: 550rpx; | |||
| max-height: 100%; | |||
| } | |||
| .label-image { | |||
| margin: 32rpx 0rpx 28rpx 0; | |||
| display: flex; | |||
| align-items: center; | |||
| flex-wrap: wrap; | |||
| .label-image { | |||
| margin: 32rpx 0rpx 28rpx 0; | |||
| display: flex; | |||
| align-items: center; | |||
| flex-wrap: wrap; | |||
| .label-image-camera { | |||
| width: 160rpx; | |||
| height: 160rpx; | |||
| } | |||
| .label-image-camera { | |||
| width: 160rpx; | |||
| height: 160rpx; | |||
| } | |||
| } | |||
| .form-button { | |||
| padding: 25rpx 36rpx; | |||
| } | |||
| .form-button { | |||
| padding: 25rpx 36rpx; | |||
| } | |||
| </style> | |||
| @@ -1,13 +1,15 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" left-text="接单详情" left-arrow /> | |||
| <view class="thenMesses"> | |||
| <view class="thenMesses-bg bg-violet"> | |||
| <view class="mb-2 thenMesses-title hide">{{ messsDetail.title }}</view> | |||
| <view class="absolute1 mb-2"> | |||
| <text v-if="messsDetail.type + '' === t.value" v-for="(t, index) in seekHelptype" | |||
| :key="index">{{ t.label }}</text> | |||
| <block v-for="(t, index) in seekHelptype" | |||
| :key="index"> | |||
| <text v-if="messsDetail.type + '' === t.value" >{{ t.label }}</text> | |||
| </block> | |||
| </view> | |||
| <view class="flex flex-v-center flex-between thenMesses-image"> | |||
| @@ -61,7 +63,7 @@ | |||
| <van-icon name="location" color="#999999" /> | |||
| {{ messsDetail.address }} | |||
| <view class="createTime" v-if="messsDetail.createTime"> | |||
| <text>{{ toods.getDateTime(messsDetail.createTime) }}</text> | |||
| <text>{{ getDateTime(messsDetail.createTime) }}</text> | |||
| </view> | |||
| </view> | |||
| <text class="slot"></text> | |||
| @@ -92,8 +94,8 @@ | |||
| </view> | |||
| <view class="flex detail-appraise-title flex-v-center"> | |||
| <view>满意度:</view> | |||
| <van-rate readonly :value="messsDetail.appraiseStar" :size="12" gutter="2rpx" icon="/images/void-icon2.png" | |||
| void-icon="/images/rate-icon.png" /> | |||
| <van-rate readonly :value="messsDetail.appraiseStar" :size="12" gutter="2rpx" icon="/src/images/rate-icon.png" | |||
| void-icon="/src/images/void-icon2.png" /> | |||
| </view> | |||
| <view class="mt-28"> | |||
| <view>{{ messsDetail.appraiseContent }}</view> | |||
| @@ -133,6 +135,7 @@ | |||
| import * as myApi from '@/api/myApi'; | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import utils from '@/utils/util.map' | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| @@ -166,14 +169,15 @@ | |||
| }; | |||
| }, | |||
| onLoad(val) { | |||
| this.setData({ | |||
| pageId: val.id, | |||
| userInfoCount: uni.getStorageSync('userInfoCount') | |||
| }); | |||
| this.pageId = val.id, | |||
| this.userInfoCount =uni.getStorageSync('userInfoCount') | |||
| this.seekHelpGetApi(val.id); | |||
| this.getTypeApi(); | |||
| }, | |||
| methods: { | |||
| getDateTime(time){ | |||
| return utils.getDateTime(time) | |||
| }, | |||
| async seekHelpGetApi(id) { | |||
| let params = { | |||
| id | |||
| @@ -185,9 +189,7 @@ | |||
| } | |||
| // res.data.createTime = app.globalData.util.timeFormat(res.data.createTime); | |||
| res.data.name = res.data.name.substring(0, 1) + new Array(res.data.name.length).join('*'); | |||
| this.setData({ | |||
| messsDetail: res.data | |||
| }); | |||
| this.messsDetail = res.data | |||
| } | |||
| }, | |||
| @@ -197,9 +199,7 @@ | |||
| dictType: 'people_seek_help_type' | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| seekHelptype: res.data.list | |||
| }); | |||
| this.seekHelptype = res.data.list | |||
| } | |||
| }, | |||
| @@ -225,9 +225,7 @@ | |||
| id | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| replyInfo: res.data | |||
| }); | |||
| this.replyInfo = res.data | |||
| } | |||
| }, | |||
| @@ -266,9 +264,7 @@ | |||
| url: '/packages/my/pages/party-member-auth/party-member-auth' | |||
| }); | |||
| } else { | |||
| this.setData({ | |||
| show: true | |||
| }); | |||
| this.show= true | |||
| } | |||
| }, | |||
| @@ -327,9 +323,7 @@ | |||
| /* ---处理dataset begin--- */ | |||
| this.handleDataset(e, _dataset); | |||
| /* ---处理dataset end--- */ | |||
| this.setData({ | |||
| show: false | |||
| }); | |||
| this.show= true | |||
| }, | |||
| getUserInfo(e, _dataset) { | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar left-text="党员接单" left-arrow /> | |||
| <view class="second-header flex flex-v-center flex-evenly"> | |||
| @@ -19,37 +19,38 @@ | |||
| v-for="(item, index) in seekHelpPageList" :key="index"> | |||
| <view class="thenMesses-bg bg-orange"> | |||
| <view class="hide thenMesses-title" style="padding-right: 100rpx">{{ item.title }}</view> | |||
| <view class="absolute orange"> | |||
| <text v-if="item.type + '' === t.value" v-for="(t, index1) in seekHelptype" | |||
| :key="index1">{{ t.label }}</text> | |||
| </view> | |||
| <view :class=" | |||
| 'thenMesses-hint ' + | |||
| (item.status === 1 | |||
| ? 'hint-orange' | |||
| : item.status === 2 | |||
| ? 'hint-orange' | |||
| : item.status === 3 | |||
| ? 'hint-green' | |||
| : item.status === 4 | |||
| ? 'hint-purple' | |||
| : item.status === 5 | |||
| ? 'hint-green' | |||
| : 'hint-orange') | |||
| "> | |||
| <!-- <view class="absolute orange" v-if="item.type !== null"> --> | |||
| <!-- <block v-for="(t, index1) in seekHelptype" :key="index1"> | |||
| <text v-if="item.type+'' === t.value">{{ t.label }}</text> | |||
| </block> --> | |||
| <!-- </view> --> | |||
| <view :class="'thenMesses-hint ' + | |||
| (item.status === 1 | |||
| ? 'hint-orange' | |||
| : item.status === 2 | |||
| ? 'hint-orange' | |||
| : item.status === 3 | |||
| ? 'hint-green' | |||
| : item.status === 4 | |||
| ? 'hint-purple' | |||
| : item.status === 5 | |||
| ? 'hint-green' | |||
| : 'hint-orange') | |||
| "> | |||
| {{ | |||
| item.status === 1 | |||
| ? '待认领' | |||
| : item.status === 2 | |||
| ? '待接单' | |||
| : item.status === 3 | |||
| ? '待评价' | |||
| : item.status === 4 | |||
| ? '已完结' | |||
| : item.status === 5 | |||
| ? '已接单' | |||
| : '暂无' | |||
| }} | |||
| item.status === 1 | |||
| ? '待认领' | |||
| : item.status === 2 | |||
| ? '待接单' | |||
| : item.status === 3 | |||
| ? '待评价' | |||
| : item.status === 4 | |||
| ? '已完结' | |||
| : item.status === 5 | |||
| ? '已接单' | |||
| : '暂无' | |||
| }} | |||
| </view> | |||
| </view> | |||
| @@ -75,370 +76,368 @@ | |||
| </template> | |||
| <script> | |||
| // const app = getApp(); | |||
| // const { | |||
| // peopleApi, | |||
| // publicApi, | |||
| // myApi | |||
| // } = app.globalData.api; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import * as myApi from '@/api/myApi'; | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| const partyMember = [{ | |||
| icon: '/static/packages/my/image/order.png', | |||
| name: '已接单', | |||
| count: '0' | |||
| }, | |||
| { | |||
| icon: '/static/packages/my/image/accomplish.png', | |||
| name: '已完成', | |||
| count: '0' | |||
| }, | |||
| { | |||
| icon: '/static/packages/my/image/integral.png', | |||
| name: '党员积分', | |||
| count: '0' | |||
| } | |||
| ]; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| // const app = getApp(); | |||
| // const { | |||
| // peopleApi, | |||
| // publicApi, | |||
| // myApi | |||
| // } = app.globalData.api; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import * as myApi from '@/api/myApi'; | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| const partyMember = [{ | |||
| icon: '/static/packages/my/image/order.png', | |||
| name: '已接单', | |||
| count: '0' | |||
| }, | |||
| { | |||
| icon: '/static/packages/my/image/accomplish.png', | |||
| name: '已完成', | |||
| count: '0' | |||
| }, | |||
| { | |||
| icon: '/static/packages/my/image/integral.png', | |||
| name: '党员积分', | |||
| count: '0' | |||
| } | |||
| ]; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| value: '', | |||
| pageNo: 1, | |||
| seekHelpPageList: [], | |||
| seekHelptype: [], | |||
| partyMember: partyMember, | |||
| total: 0, | |||
| count: '', | |||
| t: { | |||
| value: '', | |||
| pageNo: 1, | |||
| seekHelpPageList: [], | |||
| seekHelptype: [], | |||
| partyMember: partyMember, | |||
| total: 0, | |||
| count: '', | |||
| t: { | |||
| value: '', | |||
| label: '' | |||
| }, | |||
| it: '' | |||
| label: '' | |||
| }, | |||
| it: '' | |||
| }; | |||
| }, | |||
| onLoad(optins) { | |||
| // if (optins.partyMemberFlag === '0') { | |||
| // wx.navigateTo({ | |||
| // url: '../party-member-auth/party-member-auth', | |||
| // }) | |||
| // } | |||
| }, | |||
| onShow() { | |||
| this.pageNo = 1 | |||
| this.seekHelpPageList = [] | |||
| this.getMyMasserCountApi(); | |||
| this.seekHelpPageApi(); | |||
| this.getTypeApi(); | |||
| }, | |||
| onReachBottom() { | |||
| if (this.seekHelpPageList.length === this.total) { | |||
| return; | |||
| } | |||
| let pageNo = this.pageNo; | |||
| this.pageNo = pageNo + 1 | |||
| this.seekHelpPageApi(); | |||
| }, | |||
| methods: { | |||
| async seekHelpPageApi(val) { | |||
| let params = { | |||
| pageNo: this.pageNo, | |||
| pageSize: 10, | |||
| helpUserId: uni.getStorageSync('userInfoData').userId | |||
| }; | |||
| }, | |||
| onLoad(optins) { | |||
| // if (optins.partyMemberFlag === '0') { | |||
| // wx.navigateTo({ | |||
| // url: '../party-member-auth/party-member-auth', | |||
| // }) | |||
| // } | |||
| }, | |||
| onShow() { | |||
| this.pageNo = 1 | |||
| this.seekHelpPageList = [] | |||
| this.getMyMasserCountApi(); | |||
| this.seekHelpPageApi(); | |||
| this.getTypeApi(); | |||
| }, | |||
| onReachBottom() { | |||
| if (this.seekHelpPageList.length === this.total) { | |||
| return; | |||
| if (val) { | |||
| params.content = val; | |||
| } | |||
| const res = await peopleApi.seekHelpPageApi(params); | |||
| if (res.data) { | |||
| this.total = res.data.total; | |||
| res.data.list.forEach((e) => { | |||
| // e.createTime = app.globalData.util.timeFormat(e.createTime); | |||
| }); | |||
| let resultList = [...this.seekHelpPageList, ...res.data.list]; | |||
| this.seekHelpPageList = resultList | |||
| } | |||
| let pageNo = this.pageNo; | |||
| this.pageNo = pageNo + 1 | |||
| this.seekHelpPageApi(); | |||
| }, | |||
| methods: { | |||
| async seekHelpPageApi(val) { | |||
| let params = { | |||
| pageNo: this.pageNo, | |||
| pageSize: 10, | |||
| helpUserId: uni.getStorageSync('userInfoData').userId | |||
| }; | |||
| if (val) { | |||
| params.content = val; | |||
| } | |||
| const res = await peopleApi.seekHelpPageApi(params); | |||
| if (res.data) { | |||
| this.total = res.data.total; | |||
| res.data.list.forEach((e) => { | |||
| // e.createTime = app.globalData.util.timeFormat(e.createTime); | |||
| }); | |||
| let resultList = [...this.seekHelpPageList, ...res.data.list]; | |||
| this.seekHelpPageList = resultList | |||
| } | |||
| }, | |||
| // 获取群众点单字典 | |||
| async getTypeApi() { | |||
| const res = await publicApi.getDictDataApi({ | |||
| dictType: 'people_seek_help_type', | |||
| pageNo: 1, | |||
| pageSize: 100 | |||
| }); | |||
| if (res.data) { | |||
| this.seekHelptype = res.data.list | |||
| } | |||
| }, | |||
| // 获取群众点单字典 | |||
| async getTypeApi() { | |||
| const res = await publicApi.getDictDataApi({ | |||
| dictType: 'people_seek_help_type', | |||
| pageNo: 1, | |||
| pageSize: 100 | |||
| }); | |||
| if (res.data) { | |||
| this.seekHelptype = res.data.list | |||
| } | |||
| }, | |||
| // 统计党员 | |||
| async getMyMasserCountApi() { | |||
| const res = await myApi.myMasserCountApi(); | |||
| if (res.data) { | |||
| this['partyMember[0].count'] = res.data.acceptCount, | |||
| this['partyMember[1].count'] = res.data.finishCount, | |||
| this['partyMember[2].count'] = res.data.scoreCount | |||
| } | |||
| }, | |||
| // 统计党员 | |||
| async getMyMasserCountApi() { | |||
| const res = await myApi.myMasserCountApi(); | |||
| if (res.data) { | |||
| this['partyMember[0].count'] = res.data.acceptCount, | |||
| this['partyMember[1].count'] = res.data.finishCount, | |||
| this['partyMember[2].count'] = res.data.scoreCount | |||
| } | |||
| }, | |||
| onChange(e) { | |||
| this.value = e.detail | |||
| }, | |||
| onChange(e) { | |||
| this.value = e.detail | |||
| }, | |||
| onSearch(e) { | |||
| this.pageNo = 1 | |||
| this.seekHelpPageList = [] | |||
| this.seekHelpPageApi(e.detail); | |||
| }, | |||
| onSearch(e) { | |||
| this.pageNo = 1 | |||
| this.seekHelpPageList = [] | |||
| this.seekHelpPageApi(e.detail); | |||
| }, | |||
| onClick() { | |||
| this.pageNo = 1 | |||
| this.seekHelpPageList = [] | |||
| this.seekHelpPageApi(this.value); | |||
| }, | |||
| onClick() { | |||
| this.pageNo = 1 | |||
| this.seekHelpPageList = [] | |||
| this.seekHelpPageApi(this.value); | |||
| }, | |||
| jumpDetail(event) { | |||
| const { | |||
| id | |||
| } = event.currentTarget.dataset; | |||
| uni.navigateTo({ | |||
| url: './my-masses-details?id=' + id | |||
| }); | |||
| } | |||
| jumpDetail(event) { | |||
| const { | |||
| id | |||
| } = event.currentTarget.dataset; | |||
| uni.navigateTo({ | |||
| url: './my-masses-details?id=' + id | |||
| }); | |||
| } | |||
| }; | |||
| } | |||
| }; | |||
| </script> | |||
| <style lang="less"> | |||
| page { | |||
| background-color: #fff; | |||
| } | |||
| .m-2 { | |||
| margin: 0 0 20rpx 50rpx; | |||
| } | |||
| .resident-tabs { | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| padding: 40rpx 15rpx; | |||
| } | |||
| .resident-tabs>view { | |||
| width: 47.5%; | |||
| height: auto; | |||
| padding: 11rpx 0rpx 11rpx 11rpx; | |||
| border-radius: 16rpx; | |||
| } | |||
| .pd-24 { | |||
| padding: 24rpx 24rpx; | |||
| } | |||
| .bg-orange { | |||
| background: linear-gradient(180deg, #fef6e9 0%, #ffffff 100%, #ffffff 100%); | |||
| } | |||
| .bg-violet { | |||
| background: linear-gradient(180deg, #f6f3ff 0%, #ffffff 100%); | |||
| } | |||
| .hint-orange { | |||
| background: #f38a36; | |||
| page { | |||
| background-color: #fff; | |||
| } | |||
| .m-2 { | |||
| margin: 0 0 20rpx 50rpx; | |||
| } | |||
| .resident-tabs { | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| padding: 40rpx 15rpx; | |||
| } | |||
| .resident-tabs>view { | |||
| width: 47.5%; | |||
| height: auto; | |||
| padding: 11rpx 0rpx 11rpx 11rpx; | |||
| border-radius: 16rpx; | |||
| } | |||
| .pd-24 { | |||
| padding: 24rpx 24rpx; | |||
| } | |||
| .bg-orange { | |||
| background: linear-gradient(180deg, #fef6e9 0%, #ffffff 100%, #ffffff 100%); | |||
| } | |||
| .bg-violet { | |||
| background: linear-gradient(180deg, #f6f3ff 0%, #ffffff 100%); | |||
| } | |||
| .hint-orange { | |||
| background: #f38a36; | |||
| } | |||
| .hint-green { | |||
| background: linear-gradient(270deg, #1aa53c 0%, #1aa53b 100%); | |||
| } | |||
| .hint-purple { | |||
| background: linear-gradient(180deg, #102ebd 0%, #571fc8 100%); | |||
| } | |||
| .thenMesses-flex { | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| } | |||
| /* 文字省略点 */ | |||
| .hide { | |||
| display: -webkit-box; | |||
| overflow: hidden; | |||
| -webkit-line-clamp: 1; | |||
| -webkit-box-orient: vertical; | |||
| } | |||
| .hide3 { | |||
| display: -webkit-box; | |||
| overflow: hidden; | |||
| -webkit-line-clamp: 3; | |||
| -webkit-box-orient: vertical; | |||
| } | |||
| .masses { | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| .thenMesses { | |||
| padding: 20rpx 15rpx 20rpx 15rpx; | |||
| .thenMesses-bg { | |||
| padding: 26rpx 0 26rpx 25rpx; | |||
| position: relative; | |||
| } | |||
| .hint-green { | |||
| background: linear-gradient(270deg, #1aa53c 0%, #1aa53b 100%); | |||
| .thenMesses-content { | |||
| padding: 20rpx 25rpx; | |||
| } | |||
| .hint-purple { | |||
| background: linear-gradient(180deg, #102ebd 0%, #571fc8 100%); | |||
| .thenMesses-title { | |||
| font-size: 32rpx; | |||
| font-weight: 500; | |||
| color: #333333; | |||
| } | |||
| .thenMesses-flex { | |||
| .thenMesses-content-image { | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| } | |||
| /* 文字省略点 */ | |||
| .hide { | |||
| display: -webkit-box; | |||
| overflow: hidden; | |||
| -webkit-line-clamp: 1; | |||
| -webkit-box-orient: vertical; | |||
| flex-wrap: wrap; | |||
| padding: 0rpx 24rpx; | |||
| margin-top: 24rpx; | |||
| } | |||
| .hide3 { | |||
| display: -webkit-box; | |||
| overflow: hidden; | |||
| -webkit-line-clamp: 3; | |||
| -webkit-box-orient: vertical; | |||
| .thenMesses-block { | |||
| font-size: 26rpx; | |||
| font-weight: 400; | |||
| color: #999999; | |||
| } | |||
| .masses { | |||
| } | |||
| .thenMesses-hint { | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| width: 130rpx; | |||
| height: 48rpx; | |||
| line-height: 48rpx; | |||
| text-align: center; | |||
| font-size: 24rpx; | |||
| color: #fff; | |||
| font-weight: 400; | |||
| border-radius: 0px 16rpx 0px 40rpx; | |||
| } | |||
| .absolute { | |||
| margin-top: 24rpx; | |||
| width: 109rpx; | |||
| height: 32rpx; | |||
| font-size: 20rpx; | |||
| font-weight: 400; | |||
| text-align: center; | |||
| color: #ffffff; | |||
| border-radius: 8rpx; | |||
| line-height: 32rpx; | |||
| } | |||
| .orange { | |||
| background-color: orange; | |||
| } | |||
| .violet { | |||
| background-color: #6e63f9; | |||
| } | |||
| .thenMesses-image>view>image { | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| border-radius: 500rpx; | |||
| border: 3rpx solid #c9c6f7; | |||
| } | |||
| .thenMesses-image>.thenMesses-image-flex { | |||
| flex: 1; | |||
| margin-left: 30rpx; | |||
| } | |||
| .thenMesses-content-red { | |||
| font-size: 28rpx; | |||
| font-family: PingFangSC-Medium, PingFang SC; | |||
| font-weight: 500; | |||
| color: #e50113; | |||
| } | |||
| .thenMesses-content-image>image { | |||
| width: 31%; | |||
| height: 200rpx; | |||
| margin-top: 10rpx; | |||
| margin-right: 10rpx; | |||
| border-radius: 16rpx; | |||
| } | |||
| .resident-none { | |||
| width: 100%; | |||
| padding-top: 400rpx; | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| align-items: center; | |||
| text-align: center; | |||
| justify-content: center; | |||
| } | |||
| .resident-none>.resident-none-icon { | |||
| width: 548rpx; | |||
| height: 300rpx; | |||
| } | |||
| .resident-none>view { | |||
| width: 100%; | |||
| display: block; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #bfbfbf; | |||
| } | |||
| .loading-title { | |||
| text-align: center; | |||
| font-size: 24rpx; | |||
| color: #999; | |||
| } | |||
| // 党员接单 | |||
| .second-header { | |||
| position: relative; | |||
| z-index: 1; | |||
| height: 400rpx; | |||
| padding-top: 128rpx; | |||
| .header-bg { | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| .thenMesses { | |||
| padding: 20rpx 15rpx 20rpx 15rpx; | |||
| .thenMesses-bg { | |||
| padding: 26rpx 0 26rpx 25rpx; | |||
| position: relative; | |||
| } | |||
| .thenMesses-content { | |||
| padding: 20rpx 25rpx; | |||
| } | |||
| .thenMesses-title { | |||
| font-size: 32rpx; | |||
| font-weight: 500; | |||
| color: #333333; | |||
| } | |||
| .thenMesses-content-image { | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| padding: 0rpx 24rpx; | |||
| margin-top: 24rpx; | |||
| } | |||
| .thenMesses-block { | |||
| font-size: 26rpx; | |||
| font-weight: 400; | |||
| color: #999999; | |||
| } | |||
| } | |||
| .thenMesses-hint { | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| width: 130rpx; | |||
| height: 48rpx; | |||
| line-height: 48rpx; | |||
| text-align: center; | |||
| font-size: 24rpx; | |||
| color: #fff; | |||
| font-weight: 400; | |||
| border-radius: 0px 16rpx 0px 40rpx; | |||
| } | |||
| .absolute { | |||
| margin-top: 24rpx; | |||
| width: 109rpx; | |||
| height: 32rpx; | |||
| font-size: 20rpx; | |||
| font-weight: 400; | |||
| text-align: center; | |||
| color: #ffffff; | |||
| border-radius: 8rpx; | |||
| line-height: 32rpx; | |||
| } | |||
| .orange { | |||
| background-color: orange; | |||
| } | |||
| .violet { | |||
| background-color: #6e63f9; | |||
| } | |||
| .thenMesses-image>view>image { | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| border-radius: 500rpx; | |||
| border: 3rpx solid #c9c6f7; | |||
| left: 0; | |||
| z-index: -1; | |||
| } | |||
| .thenMesses-image>.thenMesses-image-flex { | |||
| flex: 1; | |||
| margin-left: 30rpx; | |||
| } | |||
| .thenMesses-content-red { | |||
| font-size: 28rpx; | |||
| font-family: PingFangSC-Medium, PingFang SC; | |||
| font-weight: 500; | |||
| color: #e50113; | |||
| } | |||
| .thenMesses-content-image>image { | |||
| width: 31%; | |||
| height: 200rpx; | |||
| margin-top: 10rpx; | |||
| margin-right: 10rpx; | |||
| border-radius: 16rpx; | |||
| } | |||
| .resident-none { | |||
| width: 100%; | |||
| padding-top: 400rpx; | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| align-items: center; | |||
| text-align: center; | |||
| justify-content: center; | |||
| } | |||
| .resident-none>.resident-none-icon { | |||
| width: 548rpx; | |||
| height: 300rpx; | |||
| } | |||
| .resident-none>view { | |||
| width: 100%; | |||
| display: block; | |||
| font-size: 28rpx; | |||
| font-weight: 400; | |||
| color: #bfbfbf; | |||
| } | |||
| .loading-title { | |||
| text-align: center; | |||
| font-size: 24rpx; | |||
| color: #999; | |||
| } | |||
| // 党员接单 | |||
| .second-header { | |||
| .nav-item { | |||
| position: relative; | |||
| z-index: 1; | |||
| height: 400rpx; | |||
| padding-top: 128rpx; | |||
| .header-bg { | |||
| width: 100%; | |||
| height: 100%; | |||
| position: absolute; | |||
| top: 0; | |||
| left: 0; | |||
| z-index: -1; | |||
| } | |||
| .nav-item { | |||
| position: relative; | |||
| .nav-item-ic-img { | |||
| width: 72rpx; | |||
| height: 72rpx; | |||
| } | |||
| .nav-item-ic-img { | |||
| width: 72rpx; | |||
| height: 72rpx; | |||
| } | |||
| .nav-item-name { | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #ffffff; | |||
| line-height: 36rpx; | |||
| margin-top: 16rpx; | |||
| } | |||
| .nav-item-name { | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #ffffff; | |||
| line-height: 36rpx; | |||
| margin-top: 16rpx; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" left-text="党员详情" left-arrow /> | |||
| <view class="mediate-detail-section"> | |||
| @@ -13,7 +13,7 @@ | |||
| <text class="name">{{ mediatorGetObj.name }}</text> | |||
| </view> | |||
| <view class="select-rate flex flex-v-center"> | |||
| <van-rate readonly icon="/images/void-icon2.png" void-icon="/images/rate-icon.png" | |||
| <van-rate readonly icon="/src/images/rate-icon.png" void-icon="/src/images/void-icon2.png" | |||
| :value="mediatorGetObj.star" /> | |||
| </view> | |||
| <view class="select-tag">{{ mediatorGetObj.position }}</view> | |||
| @@ -52,9 +52,7 @@ | |||
| }; | |||
| }, | |||
| onLoad(options) { | |||
| this.setData({ | |||
| options | |||
| }); | |||
| this.options = options | |||
| this.excellentPartMemberGetApi(); | |||
| }, | |||
| methods: { | |||
| @@ -77,9 +75,7 @@ | |||
| .replace(/&nbsp;/g, ' ') | |||
| .replace(/"/g, '"'); | |||
| } | |||
| this.setData({ | |||
| mediatorGetObj: res.data | |||
| }); | |||
| this.mediatorGetObj =res.data | |||
| } | |||
| } | |||
| } | |||
| @@ -17,8 +17,7 @@ | |||
| <image class="guide-img" :src="item.photo"></image> | |||
| <text class="guide-name">{{ item.name }}</text> | |||
| <van-rate readonly icon="/images/void-icon2.png" void-icon="/images/rate-icon.png" :value="item.star || 0" /> | |||
| <van-rate readonly icon="/src/images/void-icon2.png" :size="14" void-icon="/src/images/rate-icon.png" v-model="item.star" /> | |||
| </view> | |||
| </view> | |||
| <view class="rural-list flex" | |||
| @@ -37,7 +36,7 @@ | |||
| <view class="section-item-left flex1 flex flex-col"> | |||
| <view class="consult-content-title text-line-2">{{ item.name }}</view> | |||
| <van-rate readonly icon="/images/void-icon2.png" void-icon="/images/rate-icon.png" :value="item.star || 0" /> | |||
| <van-rate readonly icon="/src/images/void-icon2.png" :size="14" void-icon="/src/images/rate-icon.png" v-model="item.star" /> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -54,328 +53,328 @@ | |||
| </template> | |||
| <!-- <script module="util" lang="wxs" src="@/wxs/util.wxs"></script> --> | |||
| <script> | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| indicatorColor: 'rgba(255,255,255,0.4)', | |||
| indicatorActiveColor: '#FFFFFF', | |||
| option: { | |||
| name: '', | |||
| path: '' | |||
| }, | |||
| imageList: [], | |||
| doctorPageList: [], | |||
| agencyPageList: [], | |||
| partyBranchList: [], | |||
| pageNo: 1, | |||
| pageSize: 10, | |||
| total: 0 | |||
| }; | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad(option) { | |||
| this.option = option | |||
| console.log(option) | |||
| this.recursionApi(); | |||
| this.callFcuntion(); | |||
| }, | |||
| onReachBottom() { | |||
| const data = { | |||
| sonGuide2: () => { | |||
| if (this.doctorPageList.length === this.total) { | |||
| return; | |||
| } | |||
| this.excellentPartMemberPageApi(false); | |||
| }, | |||
| sonGuide4: () => { | |||
| console.log(2); | |||
| if (this.agencyPageList.length === this.total) { | |||
| return; | |||
| } | |||
| this.agencyPageApi(false); | |||
| }, | |||
| sonGuide3: () => { | |||
| console.log(1); | |||
| if (this.agencyPageList.length === this.total) { | |||
| return; | |||
| } | |||
| this.agencyPageApi(false); | |||
| }, | |||
| sonGuide1: () => { | |||
| if (this.partyBranchList.length === this.total) { | |||
| return; | |||
| } | |||
| this.partyBranchApi(false); | |||
| } | |||
| }; | |||
| if (data[this.option.path]) { | |||
| data[this.option.path](); | |||
| } | |||
| }, | |||
| methods: { | |||
| // 获取轮播图 | |||
| async recursionApi() { | |||
| const res = await publicApi.recursionApi({ | |||
| bannerType: 1, | |||
| parentId: this.option.parentId | |||
| }); | |||
| if (res.data) { | |||
| this.imageList = res.data[0].children | |||
| } | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| indicatorColor: 'rgba(255,255,255,0.4)', | |||
| indicatorActiveColor: '#FFFFFF', | |||
| option: { | |||
| name: '', | |||
| path: '' | |||
| }, | |||
| async excellentPartMemberPageApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| const res = await peopleApi.excellentPartMemberPageApi(params); | |||
| let _goodsList = [] | |||
| if (res.data) { | |||
| const { | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| _goodsList = list; | |||
| } else { | |||
| _goodsList = this.doctorPageList.concat(list); | |||
| } | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.doctorPageList = _goodsList | |||
| imageList: [], | |||
| doctorPageList: [], | |||
| agencyPageList: [], | |||
| partyBranchList: [], | |||
| pageNo: 1, | |||
| pageSize: 10, | |||
| total: 0 | |||
| }; | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad(option) { | |||
| this.option = option | |||
| console.log(option) | |||
| this.recursionApi(); | |||
| this.callFcuntion(); | |||
| }, | |||
| onReachBottom() { | |||
| const data = { | |||
| sonGuide2: () => { | |||
| if (this.doctorPageList.length === this.total) { | |||
| return; | |||
| } | |||
| this.excellentPartMemberPageApi(false); | |||
| }, | |||
| async agencyPageApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| const res = await peopleApi.agencyPageApi(params); | |||
| let _goodsList = [] | |||
| if (res.data) { | |||
| const { | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| _goodsList = list; | |||
| } else { | |||
| _goodsList = this.agencyPageList.concat(list); | |||
| } | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.agencyPageList = _goodsList | |||
| sonGuide4: () => { | |||
| console.log(2); | |||
| if (this.agencyPageList.length === this.total) { | |||
| return; | |||
| } | |||
| this.agencyPageApi(false); | |||
| }, | |||
| async partyBranchApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| const res = await peopleApi.partyBranchApi(params); | |||
| if (res.data) { | |||
| const { | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| const _goodsList = reset ? list : this.partyBranchList.concat(list); | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.partyBranchList = _goodsList | |||
| sonGuide3: () => { | |||
| console.log(1); | |||
| if (this.agencyPageList.length === this.total) { | |||
| return; | |||
| } | |||
| this.agencyPageApi(false); | |||
| }, | |||
| // 调用函数 | |||
| callFcuntion() { | |||
| const ApiConfig = { | |||
| sonGuide1: { | |||
| api: this.partyBranchApi | |||
| }, | |||
| '五星党员': { | |||
| api: this.excellentPartMemberPageApi | |||
| }, | |||
| sonGuide3: { | |||
| api: this.agencyPageApi | |||
| }, | |||
| sonGuide4: { | |||
| api: this.agencyPageApi | |||
| }, | |||
| sonGuide5: { | |||
| api: this.agencyPageApi | |||
| } | |||
| }; | |||
| const obj = ApiConfig[this.option.path || this.option.name]; | |||
| if (obj.api) { | |||
| obj.api(); | |||
| sonGuide1: () => { | |||
| if (this.partyBranchList.length === this.total) { | |||
| return; | |||
| } | |||
| }, | |||
| this.partyBranchApi(false); | |||
| } | |||
| }; | |||
| if (data[this.option.path]) { | |||
| data[this.option.path](); | |||
| } | |||
| }, | |||
| methods: { | |||
| // 获取轮播图 | |||
| async recursionApi() { | |||
| const res = await publicApi.recursionApi({ | |||
| bannerType: 1, | |||
| parentId: this.option.parentId | |||
| }); | |||
| if (res.data) { | |||
| this.imageList = res.data[0].children | |||
| } | |||
| }, | |||
| // 分页参数处理事件 | |||
| generalQueryData(reset = false) { | |||
| async excellentPartMemberPageApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| const res = await peopleApi.excellentPartMemberPageApi(params); | |||
| let _goodsList = [] | |||
| if (res.data) { | |||
| const { | |||
| pageNo, | |||
| pageSize | |||
| } = this; | |||
| const params = { | |||
| pageNo: 1, | |||
| pageSize: 10 | |||
| }; | |||
| if (this.option.path === 'sonGuide4') { | |||
| params.agencyType = 1; | |||
| } | |||
| if (this.option.path === 'sonGuide5') { | |||
| params.agencyType = 2; | |||
| } | |||
| if (this.option.path === 'sonGuide3') { | |||
| params.agencyType = 3; | |||
| } | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| return params; | |||
| _goodsList = list; | |||
| } else { | |||
| _goodsList = this.doctorPageList.concat(list); | |||
| } | |||
| return { | |||
| ...params, | |||
| pageNo: pageNo + 1, | |||
| pageSize | |||
| }; | |||
| }, | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.doctorPageList = _goodsList | |||
| } | |||
| }, | |||
| jumpDetail(event) { | |||
| async agencyPageApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| const res = await peopleApi.agencyPageApi(params); | |||
| let _goodsList = [] | |||
| if (res.data) { | |||
| const { | |||
| id | |||
| } = event.currentTarget.dataset; | |||
| uni.navigateTo({ | |||
| url: `/packages/people/pages/guide-detail/guide-detail?id=${id}` | |||
| }); | |||
| }, | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| _goodsList = list; | |||
| } else { | |||
| _goodsList = this.agencyPageList.concat(list); | |||
| } | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.agencyPageList = _goodsList | |||
| } | |||
| }, | |||
| toArea(event) { | |||
| async partyBranchApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| const res = await peopleApi.partyBranchApi(params); | |||
| if (res.data) { | |||
| const { | |||
| item | |||
| } = event.currentTarget.dataset; | |||
| if (this.option.path === 'sonGuide1') { | |||
| item.agencyName = '支部详情'; | |||
| item.agencyType = '12101'; | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| const _goodsList = reset ? list : this.partyBranchList.concat(list); | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.partyBranchList = _goodsList | |||
| } | |||
| }, | |||
| // 调用函数 | |||
| callFcuntion() { | |||
| const ApiConfig = { | |||
| sonGuide1: { | |||
| api: this.partyBranchApi | |||
| }, | |||
| '五星党员': { | |||
| api: this.excellentPartMemberPageApi | |||
| }, | |||
| sonGuide3: { | |||
| api: this.agencyPageApi | |||
| }, | |||
| sonGuide4: { | |||
| api: this.agencyPageApi | |||
| }, | |||
| sonGuide5: { | |||
| api: this.agencyPageApi | |||
| } | |||
| uni.navigateTo({ | |||
| url: `/packages/people/pages/area/area?orgId=${item.orgId}&name=${item.agencyName}&type=${item.agencyType}&id=${item.id}` | |||
| }); | |||
| }; | |||
| const obj = ApiConfig[this.option.path || this.option.name]; | |||
| if (obj.api) { | |||
| obj.api(); | |||
| } | |||
| }, | |||
| // 分页参数处理事件 | |||
| generalQueryData(reset = false) { | |||
| const { | |||
| pageNo, | |||
| pageSize | |||
| } = this; | |||
| const params = { | |||
| pageNo: 1, | |||
| pageSize: 10 | |||
| }; | |||
| if (this.option.path === 'sonGuide4') { | |||
| params.agencyType = 1; | |||
| } | |||
| if (this.option.path === 'sonGuide5') { | |||
| params.agencyType = 2; | |||
| } | |||
| if (this.option.path === 'sonGuide3') { | |||
| params.agencyType = 3; | |||
| } | |||
| if (reset) { | |||
| return params; | |||
| } | |||
| return { | |||
| ...params, | |||
| pageNo: pageNo + 1, | |||
| pageSize | |||
| }; | |||
| }, | |||
| jumpDetail(event) { | |||
| const { | |||
| id | |||
| } = event.currentTarget.dataset; | |||
| uni.navigateTo({ | |||
| url: `/packages/people/pages/guide-detail/guide-detail?id=${id}` | |||
| }); | |||
| }, | |||
| toArea(event) { | |||
| const { | |||
| item | |||
| } = event.currentTarget.dataset; | |||
| if (this.option.path === 'sonGuide1') { | |||
| item.agencyName = '支部详情'; | |||
| item.agencyType = '12101'; | |||
| } | |||
| uni.navigateTo({ | |||
| url: `/packages/people/pages/area/area?orgId=${item.orgId}&name=${item.agencyName}&type=${item.agencyType}&id=${item.id}` | |||
| }); | |||
| } | |||
| }; | |||
| } | |||
| }; | |||
| </script> | |||
| <style lang="less"> | |||
| page { | |||
| --rate-icon-size: 26rpx; // 评分大小 | |||
| --rate-icon-full-color: var(--item-dominant-color); // 评分选中颜色 | |||
| --rate-icon-gutter: 3rpx; // 评分图标之前的距离 | |||
| } | |||
| .people-custom-swiper { | |||
| page { | |||
| --rate-icon-size: 26rpx; // 评分大小 | |||
| --rate-icon-full-color: var(--item-dominant-color); // 评分选中颜色 | |||
| --rate-icon-gutter: 3rpx; // 评分图标之前的距离 | |||
| } | |||
| .people-custom-swiper { | |||
| width: 100%; | |||
| height: 330rpx; | |||
| position: relative; | |||
| .custom-swiper-img { | |||
| width: 100%; | |||
| height: 330rpx; | |||
| position: relative; | |||
| .custom-swiper-img { | |||
| width: 100%; | |||
| height: 100%; | |||
| display: block; | |||
| } | |||
| height: 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| .guide-list { | |||
| margin-top: 28rpx; | |||
| padding: 0 32rpx; | |||
| flex-wrap: wrap; | |||
| .guide-item { | |||
| flex-shrink: 0; | |||
| width: 218rpx; | |||
| height: 100%; | |||
| margin-right: 16rpx; | |||
| margin-top: 27rpx; | |||
| &:nth-child(3n) { | |||
| margin-right: 0; | |||
| } | |||
| .guide-list { | |||
| margin-top: 28rpx; | |||
| padding: 0 32rpx; | |||
| flex-wrap: wrap; | |||
| .guide-item { | |||
| flex-shrink: 0; | |||
| .guide-img { | |||
| width: 218rpx; | |||
| height: 100%; | |||
| margin-right: 16rpx; | |||
| margin-top: 27rpx; | |||
| height: 218rpx; | |||
| margin-bottom: 16rpx; | |||
| } | |||
| &:nth-child(3n) { | |||
| margin-right: 0; | |||
| } | |||
| .guide-name { | |||
| margin-bottom: 17rpx; | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 32rpx; | |||
| } | |||
| } | |||
| } | |||
| .rural-list { | |||
| margin-top: 45rpx; | |||
| padding: 0 40rpx; | |||
| flex-wrap: wrap; | |||
| .guide-item { | |||
| flex-shrink: 0; | |||
| width: 326rpx; | |||
| height: 100%; | |||
| margin-right: 16rpx; | |||
| margin-bottom: 40rpx; | |||
| &:nth-child(2n) { | |||
| margin-right: 0; | |||
| } | |||
| .guide-img { | |||
| width: 218rpx; | |||
| height: 218rpx; | |||
| margin-bottom: 16rpx; | |||
| } | |||
| .guide-img { | |||
| width: 326rpx; | |||
| height: 168rpx; | |||
| margin-bottom: 24rpx; | |||
| } | |||
| .guide-name { | |||
| margin-bottom: 17rpx; | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 32rpx; | |||
| } | |||
| .guide-name { | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 32rpx; | |||
| } | |||
| } | |||
| } | |||
| .rural-list { | |||
| margin-top: 45rpx; | |||
| padding: 0 40rpx; | |||
| flex-wrap: wrap; | |||
| .second-section { | |||
| margin-top: 55rpx; | |||
| padding: 0 40rpx 0; | |||
| .guide-item { | |||
| flex-shrink: 0; | |||
| width: 326rpx; | |||
| height: 100%; | |||
| margin-right: 16rpx; | |||
| margin-bottom: 40rpx; | |||
| .section-item { | |||
| padding: 14rpx 0; | |||
| border-bottom: 1px solid #e1e1e1; | |||
| &:nth-child(2n) { | |||
| margin-right: 0; | |||
| } | |||
| &:first-child { | |||
| padding-top: 0; | |||
| } | |||
| .guide-img { | |||
| width: 326rpx; | |||
| height: 168rpx; | |||
| margin-bottom: 24rpx; | |||
| } | |||
| .section-item-left { | |||
| margin-left: 32rpx; | |||
| .guide-name { | |||
| .consult-content-title { | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 32rpx; | |||
| } | |||
| } | |||
| } | |||
| .second-section { | |||
| margin-top: 55rpx; | |||
| padding: 0 40rpx 0; | |||
| .section-item { | |||
| padding: 14rpx 0; | |||
| border-bottom: 1px solid #e1e1e1; | |||
| &:first-child { | |||
| padding-top: 0; | |||
| line-height: 40rpx; | |||
| margin-bottom: 24rpx; | |||
| } | |||
| .section-item-left { | |||
| margin-left: 32rpx; | |||
| .consult-content-title { | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: #333333; | |||
| line-height: 40rpx; | |||
| margin-bottom: 24rpx; | |||
| } | |||
| // .consult-content-block { | |||
| // font-size: 24rpx; | |||
| // font-weight: 400; | |||
| // color: #999999; | |||
| // } | |||
| } | |||
| // .consult-content-block { | |||
| // font-size: 24rpx; | |||
| // font-weight: 400; | |||
| // color: #999999; | |||
| // } | |||
| } | |||
| .section-item-right { | |||
| width: 300rpx; | |||
| height: 140rpx; | |||
| border-radius: 8rpx; | |||
| } | |||
| .section-item-right { | |||
| width: 300rpx; | |||
| height: 140rpx; | |||
| border-radius: 8rpx; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" :left-text="option.name" left-arrow /> | |||
| <view class="law-list"> | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" left-text="调解员详情" left-arrow /> | |||
| <view class="mediate-detail-section"> | |||
| @@ -14,7 +14,7 @@ | |||
| <!-- <text class="info">介休市区</text> --> | |||
| </view> | |||
| <view class="select-rate flex flex-v-center"> | |||
| <van-rate readonly icon="/images/void-icon2.png" void-icon="/images/rate-icon.png" | |||
| <van-rate readonly icon="/src/images/rate-icon.png" void-icon="/src/images/void-icon2.png" | |||
| :value="mediatorGetObj.star" /> | |||
| </view> | |||
| <view class="select-tag">调查案件数:{{ mediatorGetObj.caseCount }}</view> | |||
| @@ -108,9 +108,7 @@ | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad(option) { | |||
| this.setData({ | |||
| option | |||
| }); | |||
| this.option =option | |||
| this.mediatorGetApi(); | |||
| }, | |||
| methods: { | |||
| @@ -122,9 +120,7 @@ | |||
| id: this.option.id | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| mediatorGetObj: res.data | |||
| }); | |||
| this.mediatorGetObj = res.data | |||
| } | |||
| }, | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" left-text="调解详情" left-arrow border /> | |||
| <view class="myAppeal"> | |||
| @@ -13,7 +13,7 @@ | |||
| :style="'background-color: ' + type.cssClass + ';'">{{ type.label }}</view> | |||
| </block> | |||
| <view> | |||
| <text class="myAppeal-conent-block">{{ toods.getDateTime(List.createTime) }}</text> | |||
| <text class="myAppeal-conent-block">{{ getDateTime(List.createTime) }}</text> | |||
| <block v-for="(state, index) in statusList" :key="index"> | |||
| <text v-if="List.status + '' === state.value" class="myAppeal-conent-bg myAppeal-conent-block" | |||
| :style="'background-color: ' + state.cssClass + ';'"> | |||
| @@ -24,7 +24,7 @@ | |||
| </view> | |||
| <view class="myAppeal-title mt-21">{{ List.descInfo }}</view> | |||
| <view class="myAppeal-subheading">{{ List.appealContent }}</view> | |||
| <view class="myAppeal-imgage" v-if="List.pics"> | |||
| <view class="myAppeal-imgage" v-if="List.pics !== null"> | |||
| <image mode="aspectFill" @tap="viewImage" data-name="pics" :data-item="item" :src="item" | |||
| v-for="(item, index) in List.pics" :key="index"></image> | |||
| </view> | |||
| @@ -47,7 +47,7 @@ | |||
| <mp-html class="rich-text" :content="item.content" /> | |||
| </view> | |||
| <view class="conent-bottom flex flex-v-center flex-between"> | |||
| <text>{{ toods.getDateTime(item.createTime) }}</text> | |||
| <text>{{ getDateTime(item.createTime) }}</text> | |||
| <view> | |||
| 调解员: | |||
| <text style="color: #333333">{{ item.mediatorName }}/{{ item.mediatorMobile }}</text> | |||
| @@ -66,6 +66,8 @@ | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import * as enterprise from '@/api/enterprise'; | |||
| import utils from '@/utils/util.map.js'; | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| @@ -81,7 +83,7 @@ | |||
| status: 'people_cases_status', | |||
| typeList: [], | |||
| statusList: [], | |||
| List: null, | |||
| List: {}, | |||
| casesProcessPageList: [], | |||
| state: { | |||
| @@ -92,24 +94,23 @@ | |||
| }; | |||
| }, | |||
| onLoad(option) { | |||
| this.setData({ | |||
| option | |||
| }); | |||
| this.option = option | |||
| this.getAppealApi(); | |||
| this.getTypeList(); | |||
| this.getStateList(); | |||
| this.casesProcessPageApi(); | |||
| }, | |||
| methods: { | |||
| getDateTime(time,index){ | |||
| return utils.getDateTime(time,index) | |||
| }, | |||
| // 获取类型字典 | |||
| async getTypeList() { | |||
| const res = await publicApi.getDictDataApi({ | |||
| dictType: this.type | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| typeList: res.data.list | |||
| }); | |||
| this.typeList = res.data.list | |||
| } | |||
| }, | |||
| @@ -119,9 +120,7 @@ | |||
| dictType: this.status | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| statusList: res.data.list | |||
| }); | |||
| this.statusList = res.data.list | |||
| } | |||
| }, | |||
| @@ -144,9 +143,7 @@ | |||
| id: this.option.id | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| List: res.data | |||
| }); | |||
| this.List = res.data || {} | |||
| } | |||
| }, | |||
| @@ -176,9 +173,7 @@ | |||
| } | |||
| }); | |||
| if (res.data) { | |||
| this.setData({ | |||
| casesProcessPageList: res.data.list | |||
| }); | |||
| this.casesProcessPageList = res.data.list | |||
| } | |||
| } | |||
| } | |||
| @@ -16,7 +16,7 @@ | |||
| :style="'background-color: ' + type.cssClass + ';'">{{ type.label }}</view> | |||
| </block> | |||
| <view> | |||
| <text class="myAppeal-conent-block">{{ toods.getDateTime(item.createTime, 2) }}</text> | |||
| <text class="myAppeal-conent-block">{{ getDateTime(item.createTime, 2) }}</text> | |||
| <block v-for="(state, index1) in statusList" :key="index1"> | |||
| <text v-if="item.status + '' === state.value" class="myAppeal-conent-bg myAppeal-conent-block" | |||
| :style="'background-color: ' + state.cssClass + ';'"> | |||
| @@ -29,7 +29,7 @@ | |||
| <view class="myAppeal-subheading multi-line">{{ item.descInfo }}</view> | |||
| <view class="myAppeal-imgage" v-if="item.pics"> | |||
| <image v-if="key < 3" mode="aspectFill" :src="url" v-for="(url, key) in item.pics" :key="key"></image> | |||
| <image mode="aspectFill" :src="url" v-for="(url, key) in item.pics" :key="key"></image> | |||
| </view> | |||
| <view class="myAppeal-conent-block mt-21 uniline" v-if="item.address !== null">{{ item.address }}</view> | |||
| @@ -55,6 +55,7 @@ | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import * as enterprise from '@/api/enterprise'; | |||
| import utils from '@/utils/util.map.js'; | |||
| export default { | |||
| data() { | |||
| return { | |||
| @@ -96,6 +97,9 @@ | |||
| await this.getStateList(); | |||
| }, | |||
| methods: { | |||
| getDateTime(time,index){ | |||
| return utils.getDateTime(time,index) | |||
| }, | |||
| // 详情页跳转 | |||
| details(event) { | |||
| const { | |||
| @@ -26,7 +26,7 @@ | |||
| <view class="select-right flex1 flex flex-col flex-between"> | |||
| <view class="select-title flex flex-v-center flex-between"> | |||
| <text class="name">{{ item.name }}</text> | |||
| <van-rate readonly icon="/images/void-icon2.png" void-icon="/images/rate-icon.png" :value="item.star" /> | |||
| <van-rate readonly icon="/src/images/rate-icon.png" void-icon="/src/images/void-icon2.png" :value="item.star" /> | |||
| </view> | |||
| <view class="select-msg text-line-3"> | |||
| {{ item.resume }} | |||
| @@ -77,6 +77,7 @@ | |||
| */ | |||
| async mediatorPageApi(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| let _goodsList = [] | |||
| params.attachType = this.options.type; | |||
| const res = await peopleApi.mediatorPageApi(params); | |||
| if (res.data) { | |||
| @@ -84,9 +85,9 @@ | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| const _goodsList = list; | |||
| _goodsList = list; | |||
| } else { | |||
| const _goodsList = this.mediatorPageList.concat(list); | |||
| _goodsList = this.mediatorPageList.concat(list); | |||
| } | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| @@ -25,10 +25,8 @@ | |||
| <view class="first-model flex flex-v-center flex-between" v-if="index === 0"> | |||
| <view class="first-line flex flex-col line1" :style="itemName.cssStyle" | |||
| v-for="(itemName, idx) in item.children" :key="idx"> | |||
| <!-- <navigator v-if="itemName.clickUrl" class="line-navigator" | |||
| :url="util.updateQuery(itemName.clickUrl, itemName)" hover-class="none"></navigator> --> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="itemName.clickUrl" hover-class="none"> | |||
| </navigator> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" | |||
| :url="updateQuery(itemName.clickUrl, itemName)" hover-class="none"></navigator> | |||
| <image class="line-bg" :src="itemName.icon"></image> | |||
| @@ -70,6 +68,7 @@ | |||
| // } = app.globalData.api; | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import utils from '@/utils/util.map.js' | |||
| export default { | |||
| data() { | |||
| return { | |||
| @@ -85,6 +84,9 @@ | |||
| this.recursionApi(option.parentId); | |||
| }, | |||
| methods: { | |||
| updateQuery(url,item){ | |||
| return utils.updateQuery(url,item) | |||
| }, | |||
| /** | |||
| * 接口 | |||
| */ | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" :left-text="option.name" left-arrow /> | |||
| <!-- 介小键和介小康 --> | |||
| @@ -73,10 +73,7 @@ | |||
| */ | |||
| , | |||
| onLoad(option) { | |||
| console.log(option); | |||
| this.setData({ | |||
| option | |||
| }); | |||
| this.option = option | |||
| if (this.option.key === 'peple') { | |||
| this.getPepleList(); | |||
| } else { | |||
| @@ -93,6 +90,7 @@ | |||
| // 网格人员 | |||
| async getPepleList(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| let _goodsList = [] | |||
| params.orgId = this.option.id; | |||
| params.gridId = this.option.gridId; | |||
| const res = await peopleApi.getGridMemberListApi(params); | |||
| @@ -101,15 +99,13 @@ | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| const _goodsList = list; | |||
| _goodsList = list; | |||
| } else { | |||
| const _goodsList = this.newsPageList.concat(list); | |||
| _goodsList = this.newsPageList.concat(list); | |||
| } | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.setData({ | |||
| newsPageList: _goodsList | |||
| }); | |||
| this.newsPageList = _goodsList | |||
| } | |||
| }, | |||
| @@ -137,6 +133,7 @@ | |||
| // 网格 | |||
| async getList(reset = true) { | |||
| const params = this.generalQueryData(reset); | |||
| let _goodsList = [] | |||
| params.parentId = this.option.orgId; | |||
| const res = await peopleApi.deptListApi(params); | |||
| if (res.data) { | |||
| @@ -144,20 +141,16 @@ | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| if (reset) { | |||
| const _goodsList = list; | |||
| _goodsList = list; | |||
| } else { | |||
| const _goodsList = this.newsPageList.concat(list); | |||
| _goodsList = this.newsPageList.concat(list); | |||
| } | |||
| this.pageNo = params.pageNo || 1; | |||
| this.total = total; | |||
| this.setData({ | |||
| newsPageList: _goodsList | |||
| }); | |||
| this.newsPageList = _goodsList | |||
| } | |||
| if (res.data) { | |||
| this.setData({ | |||
| newsPageList: res.data | |||
| }); | |||
| this.newsPageList =res.data | |||
| } | |||
| }, | |||
| @@ -45,7 +45,7 @@ | |||
| <view class="second-tabs" v-if="option.name === '家庭医生' || option.name === '党建引领'"> | |||
| <van-tabs id="secondTabs" @click-tab="onTabsChange($event, { tagId: 'secondTabs' })"> | |||
| <van-tab :title="key.name" v-for="(key, index) in recursionObj.children" :key="index"></van-tab> | |||
| <van-tab :title="key.name" v-for="(key, index) in recursionObj.children" :name="key.value" :key="index"></van-tab> | |||
| </van-tabs> | |||
| </view> | |||
| @@ -68,7 +68,7 @@ | |||
| <block v-if="tabsIndex === 0 || tabsIndex === 3"> | |||
| <scroll-view :scroll-y="true"> | |||
| <block v-if="recursionObj.children"> | |||
| <view class="section-item flex flex-between" :data-item="item" @tap="headleDetails" | |||
| <view class="section-item flex flex-between" :data-item="item" @tap="headleDetails(item)" | |||
| v-for="(item, index) in newsPageList" :key="index"> | |||
| <view class="section-item-left flex1 flex flex-between flex-col"> | |||
| <view class="consult-content-title text-line-3">{{ item.name || item.title }}</view> | |||
| @@ -82,7 +82,7 @@ | |||
| </block> | |||
| <block v-else> | |||
| <block v-if="newsPageList.length"> | |||
| <view class="section-item flex flex-between" :data-item="item" @tap="headleDetails" | |||
| <view class="section-item flex flex-between" :data-item="item" @tap="headleDetails(item)" | |||
| v-for="(item, index) in newsPageList" :key="index"> | |||
| <view class="section-item-left flex1 flex flex-between flex-col"> | |||
| <view class="consult-content-title multi-line">{{ item.title }}</view> | |||
| @@ -122,7 +122,7 @@ | |||
| import * as peopleApi from '@/api/peopleApi'; | |||
| import * as publicApi from '@/api/publicApi'; | |||
| import * as enterprise from '@/api/enterprise'; | |||
| import utils from '@/utils/util.map.js' | |||
| import utils from '@/utils/util.js' | |||
| // 民生 - 家庭医生列表 / 党建引领 复用 | |||
| export default { | |||
| @@ -207,7 +207,7 @@ | |||
| }, | |||
| async hospitalPageApi() { | |||
| // const locationInfo = app.globalData.config.locationInfo; | |||
| const locationInfo = uni.getStorageSync('userLocation'); | |||
| if (!Object.keys(locationInfo).length) { | |||
| return uni.showToast({ | |||
| title: '未允许定位,当前页面功能无法完全体验', | |||
| @@ -219,8 +219,8 @@ | |||
| pageNo: 1, | |||
| pageSize: 10, | |||
| nearFlag: this.nearFlag, | |||
| posX: locationInfo.longitude, | |||
| posY: locationInfo.latitude | |||
| posX: locationInfo.split[0], | |||
| posY: locationInfo.split[1] | |||
| }; | |||
| if (this.searchValue) { | |||
| param.name = this.searchValue; | |||
| @@ -232,7 +232,7 @@ | |||
| } = await peopleApi.hospitalPageApi(param); | |||
| if (list.length) { | |||
| list.forEach((e) => { | |||
| // e.createTime = app.globalData.util.timeFormat(e.createTime, 'yyyy-mm-ss'); | |||
| e.createTime = utils.timeFormat(e.createTime, 'yyyy-mm-ss'); | |||
| }); | |||
| this.newsPageList = list | |||
| } | |||
| @@ -258,12 +258,11 @@ | |||
| // this.onTabsChange(event, _dataset); | |||
| /* ---处理dataset end--- */ | |||
| if (this.option.name === '家庭医生') { | |||
| console.log(event) | |||
| const { | |||
| name, | |||
| index | |||
| } = event; | |||
| this.tabsIndex = index | |||
| this.tabsIndex = name | |||
| if (name === 0) { | |||
| this.newsPageList = [] | |||
| this.nearFlag = name | |||
| @@ -309,6 +308,7 @@ | |||
| const { | |||
| list = [], total = 0 | |||
| } = res.data; | |||
| console.log(list) | |||
| if (reset) { | |||
| _goodsList = list; | |||
| } else { | |||
| @@ -1,5 +1,5 @@ | |||
| <template> | |||
| <view style="height: 100%"> | |||
| <view> | |||
| <custom-nav-bar position="fixed" color="black" :left-text="optins.name" left-arrow border /> | |||
| <view class="details-page"> | |||
| @@ -31,6 +31,8 @@ | |||
| // } = app.globalData.api; | |||
| import * as peopleApi from '@/api/peopleApi'; // | |||
| import * as publicApi from '@/api/publicApi'; // | |||
| import utils from '@/utils/util.js' | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| @@ -49,9 +51,7 @@ | |||
| }; | |||
| }, | |||
| onLoad(optins) { | |||
| this.setData({ | |||
| optins | |||
| }); | |||
| this.optins = optins | |||
| this.callFcuntion(); | |||
| }, | |||
| // 分享朋友 | |||
| @@ -64,9 +64,10 @@ | |||
| }); | |||
| }, 2000); | |||
| }); | |||
| return { | |||
| title: this.InfoObj.title, | |||
| path: app.globalData.util.getCurrentPageUrlWithArgs(), | |||
| path: utils.getCurrentPageUrlWithArgs(), | |||
| promise | |||
| }; | |||
| }, | |||
| @@ -110,9 +111,7 @@ | |||
| // 通用函数 | |||
| generalFunction(res) { | |||
| this.setData({ | |||
| // InfoObj: app.globalData.util.setRichText(res) | |||
| }); | |||
| this.InfoObj = utils.setRichText(res) | |||
| }, | |||
| // 创建点赞 | |||
| @@ -131,18 +130,14 @@ | |||
| icon: 'success', | |||
| duration: 2000 | |||
| }); | |||
| this.setData({ | |||
| isSignUp: true | |||
| }); | |||
| this.isSignUp = true | |||
| } else { | |||
| uni.showToast({ | |||
| title: '已经报名了哦~', | |||
| icon: 'none', | |||
| duration: 2000 | |||
| }); | |||
| this.setData({ | |||
| isSignUp: true | |||
| }); | |||
| this.isSignUp = true | |||
| } | |||
| } | |||
| } | |||
| @@ -32,7 +32,7 @@ | |||
| <view class="second-model flex flex-v-center flex-between"> | |||
| <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | |||
| v-for="(itemName, idx) in item.children" :key="idx"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="itemName.clickUrl" hover-class="none"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl,itemName)" hover-class="none"> | |||
| </navigator> | |||
| <image class="line-bg" :src="itemName.icon"></image> | |||
| @@ -160,6 +160,7 @@ export default { | |||
| return utils.getDateTime(replyTime, key) | |||
| }, | |||
| updateQuery(url, name) { | |||
| console.log(name) | |||
| return utils.updateQuery(url, name); | |||
| }, | |||
| // 获取企业轮播图 | |||
| @@ -6,7 +6,7 @@ | |||
| :indicator-active-color="indicatorActiveColor"> | |||
| <block v-for="(item, index) in imageList" :key="index"> | |||
| <swiper-item> | |||
| <navigator v-if="item.clickUrl" class="line-navigator" :url="item.clickUrl" hover-class="none"></navigator> | |||
| <navigator v-if="item.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl,item)" hover-class="none"></navigator> | |||
| <image class="custom-swiper-img" :src="item.pic"></image> | |||
| </swiper-item> | |||
| </block> | |||
| @@ -20,7 +20,7 @@ | |||
| <view class="menu flex flex-v-center flex-between" v-if="index === 0"> | |||
| <view class="menu-item" :style="itemName.cssStyle" v-for="(itemName, idx) in item.children" :key="idx"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="itemName.clickUrl" hover-class="none"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl,item)" hover-class="none"> | |||
| </navigator> | |||
| <image class="menu-item-ic-img" :src="itemName.icon"></image> | |||
| @@ -32,7 +32,7 @@ | |||
| <view class="second-model flex flex-v-center flex-between" v-else> | |||
| <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | |||
| v-for="(itemName, idx) in item.children" :key="idx"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="itemName.clickUrl" hover-class="none"> | |||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl,item)" hover-class="none"> | |||
| </navigator> | |||
| <!-- <image ></image> --> | |||
| <image class="line-bg" :src="itemName.icon"></image> | |||
| @@ -387,7 +387,8 @@ | |||
| } | |||
| .line-msg { | |||
| margin-top: 21rpx; | |||
| position: absolute; | |||
| margin-top: 100rpx; | |||
| font-size: 26rpx; | |||
| font-weight: 400; | |||
| color: #666666; | |||
| @@ -33,7 +33,7 @@ | |||
| <view class="flex my-mune"> | |||
| <view class="flex flex-col mune-item flex-center" v-for="(itemName, idx) in recursionOneList" :key="idx"> | |||
| <!-- <navigator class="line-navigator" v-if="itemName.clickUrl" :url="util.updateQuery(itemName.clickUrl, itemName)" hover-class="none"></navigator> --> | |||
| <navigator class="line-navigator" v-if="itemName.clickUrl" :url="updateQuery(itemName.clickUrl, itemName)" hover-class="none"></navigator> | |||
| <text class="name">{{ itemName.name }}</text> | |||
| @@ -117,7 +117,7 @@ | |||
| <script> | |||
| import * as publicApi from '@/api/publicApi.js'; // 公共 API | |||
| import * as myApi from '@/api/myApi'; // 我的 | |||
| const app = getApp() | |||
| import utils from '@/utils/util.map' | |||
| export default { | |||
| components: {}, | |||
| data() { | |||
| @@ -145,6 +145,9 @@ | |||
| this.getUserInfo(); | |||
| }, | |||
| methods: { | |||
| updateQuery(url,item){ | |||
| return utils.updateQuery(url,item) | |||
| }, | |||
| async getUserInfoApi() { | |||
| const res = await myApi.getUserInfoApi(); | |||
| if (res.data) { | |||