| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <block v-if="options.name === '便民办事'"> | <block v-if="options.name === '便民办事'"> | ||||
| <custom-nav-bar position="fixed" color="black" :left-text="options.name" left-arrow /> | <custom-nav-bar position="fixed" color="black" :left-text="options.name" left-arrow /> | ||||
| <view class="second-model"> | <view class="second-model"> | ||||
| @@ -22,7 +22,7 @@ | |||||
| <view class="section-item-left flex1 flex flex-between flex-col"> | <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-title text-line-2">{{ item.title }}</view> | ||||
| <view class="consult-content-block"> | <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> | <text>{{ item.publisher }}</text> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -55,6 +55,7 @@ | |||||
| // } = app.globalData.api; | // } = app.globalData.api; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import * as peopleApi from '@/api/peopleApi'; | import * as peopleApi from '@/api/peopleApi'; | ||||
| import utils from '@/utils/util.map'; | |||||
| export default { | export default { | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| @@ -76,6 +77,9 @@ | |||||
| } | } | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| getDateTime(replyTime, key) { | |||||
| return utils.getDateTime(replyTime, key) | |||||
| }, | |||||
| async newsPageApi() { | async newsPageApi() { | ||||
| const param = { | const param = { | ||||
| pageNo: 1, | pageNo: 1, | ||||
| @@ -1,11 +1,11 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" :left-text="options.name" left-arrow /> | <custom-nav-bar position="fixed" color="black" :left-text="options.name" left-arrow /> | ||||
| <view class="second-model" v-if="options.name === '办事指南'"> | <view class="second-model" v-if="options.name === '办事指南'"> | ||||
| <view class="second-line flex flex-v-center flex-between" :style="itemName.cssStyle" | <view class="second-line flex flex-v-center flex-between" :style="itemName.cssStyle" | ||||
| v-for="(itemName, idx) in recursionList" :key="idx"> | 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> | hover-class="none"></navigator> | ||||
| <image class="line-img" :src="itemName.icon"></image> | <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="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" | <view class="second-line flex flex-col line1" :style="itemName.cssStyle" v-for="(itemName, idx) in recursionList" | ||||
| :key="idx"> | :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> | hover-class="none"></navigator> | ||||
| <image class="line-bg" :src="itemName.icon"></image> | <image class="line-bg" :src="itemName.icon"></image> | ||||
| @@ -33,7 +33,7 @@ | |||||
| <view class="three-model" v-if="options.name === '便民小知识'"> | <view class="three-model" v-if="options.name === '便民小知识'"> | ||||
| <view class="second-line flex flex-v-center flex-between" :style="itemName.cssStyle" | <view class="second-line flex flex-v-center flex-between" :style="itemName.cssStyle" | ||||
| v-for="(itemName, idx) in recursionList" :key="idx"> | 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> | hover-class="none"></navigator> | ||||
| <view class="line-name flex1 line-text-1">{{ itemName.name }}</view> | <view class="line-name flex1 line-text-1">{{ itemName.name }}</view> | ||||
| @@ -43,13 +43,13 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </template> | </template> | ||||
| <!-- <script module="toods" lang="wxs" src="@/wxs/util.wxs"></script> --> | |||||
| <script> | <script> | ||||
| // const app = getApp(); | // const app = getApp(); | ||||
| // const { | // const { | ||||
| // publicApi | // publicApi | ||||
| // } = app.globalData.api; | // } = app.globalData.api; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import utils from '@/utils/util.map.js' | |||||
| export default { | export default { | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| @@ -60,11 +60,13 @@ | |||||
| }; | }; | ||||
| }, | }, | ||||
| onLoad(options) { | onLoad(options) { | ||||
| console.log(options) | |||||
| this.options = options | this.options = options | ||||
| this.recursionApi(); | this.recursionApi(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| updateQuery(url, name) { | |||||
| return utils.updateQuery(url, name); | |||||
| }, | |||||
| async recursionApi() { | async recursionApi() { | ||||
| const { | const { | ||||
| bannerType, | bannerType, | ||||
| @@ -76,6 +78,7 @@ | |||||
| }); | }); | ||||
| if (res.data) { | if (res.data) { | ||||
| this.recursionList = res.data | this.recursionList = res.data | ||||
| console.log(this.recursionList) | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -129,12 +132,13 @@ | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| position: absolute; | position: absolute; | ||||
| z-index: -1; | |||||
| z-index: 0; | |||||
| top: 0; | top: 0; | ||||
| left: 0; | left: 0; | ||||
| } | } | ||||
| .line-name { | .line-name { | ||||
| position: absolute; | |||||
| font-size: 34rpx; | font-size: 34rpx; | ||||
| font-weight: 400; | font-weight: 400; | ||||
| color: #333333; | color: #333333; | ||||
| @@ -168,19 +172,21 @@ | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| position: absolute; | position: absolute; | ||||
| z-index: -1; | |||||
| z-index: 0; | |||||
| top: 0; | top: 0; | ||||
| left: 0; | left: 0; | ||||
| } | } | ||||
| .line-title { | .line-title { | ||||
| position: absolute; | |||||
| font-size: 40rpx; | font-size: 40rpx; | ||||
| font-weight: 500; | font-weight: 500; | ||||
| line-height: 32rpx; | line-height: 32rpx; | ||||
| } | } | ||||
| .line-msg { | .line-msg { | ||||
| margin-top: 21rpx; | |||||
| position: absolute; | |||||
| margin-top: 100rpx; | |||||
| font-size: 26rpx; | font-size: 26rpx; | ||||
| font-weight: 400; | font-weight: 400; | ||||
| color: #666666; | color: #666666; | ||||
| @@ -21,11 +21,11 @@ | |||||
| <rich-text :nodes="item.merchantIntroduce"></rich-text> | <rich-text :nodes="item.merchantIntroduce"></rich-text> | ||||
| </view> | </view> | ||||
| <view class="life-conent-rate flex flex-v-center flex-between"> | <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" /> | :value="item.merchantGrade" /> | ||||
| <view> | <view> | ||||
| <text>距离</text> | <text>距离</text> | ||||
| <!-- <text class="rate-loca-active">{{ $tootls.setMorKm(item.distance) }}</text> --> | |||||
| <text class="rate-loca-active">{{ setMorKm(item.distance) }}</text> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -43,6 +43,7 @@ | |||||
| // lifeApi | // lifeApi | ||||
| // } = app.globalData.api; | // } = app.globalData.api; | ||||
| import * as lifeApi from '@/api/lifeApi'; | import * as lifeApi from '@/api/lifeApi'; | ||||
| import utils from '@/utils/util.map'; | |||||
| export default { | export default { | ||||
| components: {}, | components: {}, | ||||
| data() { | data() { | ||||
| @@ -68,6 +69,9 @@ | |||||
| this.merchantPageApi(false); | this.merchantPageApi(false); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| setMorKm(distance){ | |||||
| return utils.setMorKm(distance) | |||||
| }, | |||||
| // 生活对应栏目的分页查询 | // 生活对应栏目的分页查询 | ||||
| async merchantPageApi(reset = true) { | async merchantPageApi(reset = true) { | ||||
| const params = this.generalQueryData(reset); | const params = this.generalQueryData(reset); | ||||
| @@ -100,19 +104,12 @@ | |||||
| }); | }); | ||||
| } | } | ||||
| }); | }); | ||||
| console.log(_goodsList) | |||||
| this.dataList = _goodsList | this.dataList = _goodsList | ||||
| // this.setData({ | |||||
| // dataList: _goodsList | |||||
| // }); | |||||
| } | } | ||||
| }, | }, | ||||
| onChange(e) { | onChange(e) { | ||||
| this.searchValue = e.detail.value | this.searchValue = e.detail.value | ||||
| // this.setData({ | |||||
| // searchValue: e.detail.value | |||||
| // }); | |||||
| this.merchantPageApi(); | this.merchantPageApi(); | ||||
| }, | }, | ||||
| @@ -121,9 +118,6 @@ | |||||
| return; | return; | ||||
| } | } | ||||
| this.searchValue = e.detail.value | this.searchValue = e.detail.value | ||||
| // this.setData({ | |||||
| // searchValue: e.detail.value | |||||
| // }); | |||||
| this.merchantPageApi(); | this.merchantPageApi(); | ||||
| }, | }, | ||||
| @@ -139,13 +133,14 @@ | |||||
| // latitude, | // latitude, | ||||
| // longitude | // longitude | ||||
| // } = app.globalData.config.locationInfo; | // } = app.globalData.config.locationInfo; | ||||
| const locationInfo = uni.getStorageSync('userLocation').split(',') | |||||
| const params = { | const params = { | ||||
| pageNo: 1, | pageNo: 1, | ||||
| pageSize: 10 | pageSize: 10 | ||||
| }; | }; | ||||
| if (optin.type === '1') { | if (optin.type === '1') { | ||||
| params.latitude = latitude; | |||||
| params.longitude = longitude; | |||||
| params.latitude = locationInfo[0]; | |||||
| params.longitude = locationInfo[1]; | |||||
| // params.nearFlag = 1; | // params.nearFlag = 1; | ||||
| } | } | ||||
| @@ -28,268 +28,264 @@ | |||||
| </template> | </template> | ||||
| <script> | <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> | </script> | ||||
| <style lang="less"> | <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; | 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> | </style> | ||||
| @@ -1,13 +1,15 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" left-text="接单详情" left-arrow /> | <custom-nav-bar position="fixed" color="black" left-text="接单详情" left-arrow /> | ||||
| <view class="thenMesses"> | <view class="thenMesses"> | ||||
| <view class="thenMesses-bg bg-violet"> | <view class="thenMesses-bg bg-violet"> | ||||
| <view class="mb-2 thenMesses-title hide">{{ messsDetail.title }}</view> | <view class="mb-2 thenMesses-title hide">{{ messsDetail.title }}</view> | ||||
| <view class="absolute1 mb-2"> | <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> | ||||
| <view class="flex flex-v-center flex-between thenMesses-image"> | <view class="flex flex-v-center flex-between thenMesses-image"> | ||||
| @@ -61,7 +63,7 @@ | |||||
| <van-icon name="location" color="#999999" /> | <van-icon name="location" color="#999999" /> | ||||
| {{ messsDetail.address }} | {{ messsDetail.address }} | ||||
| <view class="createTime" v-if="messsDetail.createTime"> | <view class="createTime" v-if="messsDetail.createTime"> | ||||
| <text>{{ toods.getDateTime(messsDetail.createTime) }}</text> | |||||
| <text>{{ getDateTime(messsDetail.createTime) }}</text> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <text class="slot"></text> | <text class="slot"></text> | ||||
| @@ -92,8 +94,8 @@ | |||||
| </view> | </view> | ||||
| <view class="flex detail-appraise-title flex-v-center"> | <view class="flex detail-appraise-title flex-v-center"> | ||||
| <view>满意度:</view> | <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> | ||||
| <view class="mt-28"> | <view class="mt-28"> | ||||
| <view>{{ messsDetail.appraiseContent }}</view> | <view>{{ messsDetail.appraiseContent }}</view> | ||||
| @@ -133,6 +135,7 @@ | |||||
| import * as myApi from '@/api/myApi'; | import * as myApi from '@/api/myApi'; | ||||
| import * as peopleApi from '@/api/peopleApi'; | import * as peopleApi from '@/api/peopleApi'; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import utils from '@/utils/util.map' | |||||
| export default { | export default { | ||||
| components: {}, | components: {}, | ||||
| data() { | data() { | ||||
| @@ -166,14 +169,15 @@ | |||||
| }; | }; | ||||
| }, | }, | ||||
| onLoad(val) { | 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.seekHelpGetApi(val.id); | ||||
| this.getTypeApi(); | this.getTypeApi(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| getDateTime(time){ | |||||
| return utils.getDateTime(time) | |||||
| }, | |||||
| async seekHelpGetApi(id) { | async seekHelpGetApi(id) { | ||||
| let params = { | let params = { | ||||
| id | id | ||||
| @@ -185,9 +189,7 @@ | |||||
| } | } | ||||
| // res.data.createTime = app.globalData.util.timeFormat(res.data.createTime); | // 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('*'); | 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' | dictType: 'people_seek_help_type' | ||||
| }); | }); | ||||
| if (res.data) { | if (res.data) { | ||||
| this.setData({ | |||||
| seekHelptype: res.data.list | |||||
| }); | |||||
| this.seekHelptype = res.data.list | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -225,9 +225,7 @@ | |||||
| id | id | ||||
| }); | }); | ||||
| if (res.data) { | 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' | url: '/packages/my/pages/party-member-auth/party-member-auth' | ||||
| }); | }); | ||||
| } else { | } else { | ||||
| this.setData({ | |||||
| show: true | |||||
| }); | |||||
| this.show= true | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -327,9 +323,7 @@ | |||||
| /* ---处理dataset begin--- */ | /* ---处理dataset begin--- */ | ||||
| this.handleDataset(e, _dataset); | this.handleDataset(e, _dataset); | ||||
| /* ---处理dataset end--- */ | /* ---处理dataset end--- */ | ||||
| this.setData({ | |||||
| show: false | |||||
| }); | |||||
| this.show= true | |||||
| }, | }, | ||||
| getUserInfo(e, _dataset) { | getUserInfo(e, _dataset) { | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar left-text="党员接单" left-arrow /> | <custom-nav-bar left-text="党员接单" left-arrow /> | ||||
| <view class="second-header flex flex-v-center flex-evenly"> | <view class="second-header flex flex-v-center flex-evenly"> | ||||
| @@ -19,37 +19,38 @@ | |||||
| v-for="(item, index) in seekHelpPageList" :key="index"> | v-for="(item, index) in seekHelpPageList" :key="index"> | ||||
| <view class="thenMesses-bg bg-orange"> | <view class="thenMesses-bg bg-orange"> | ||||
| <view class="hide thenMesses-title" style="padding-right: 100rpx">{{ item.title }}</view> | <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> | ||||
| </view> | </view> | ||||
| @@ -75,370 +76,368 @@ | |||||
| </template> | </template> | ||||
| <script> | <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: '', | 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> | </script> | ||||
| <style lang="less"> | <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; | 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%; | width: 100%; | ||||
| height: 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; | position: absolute; | ||||
| top: 0; | 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; | 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> | </style> | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" left-text="党员详情" left-arrow /> | <custom-nav-bar position="fixed" color="black" left-text="党员详情" left-arrow /> | ||||
| <view class="mediate-detail-section"> | <view class="mediate-detail-section"> | ||||
| @@ -13,7 +13,7 @@ | |||||
| <text class="name">{{ mediatorGetObj.name }}</text> | <text class="name">{{ mediatorGetObj.name }}</text> | ||||
| </view> | </view> | ||||
| <view class="select-rate flex flex-v-center"> | <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" /> | :value="mediatorGetObj.star" /> | ||||
| </view> | </view> | ||||
| <view class="select-tag">{{ mediatorGetObj.position }}</view> | <view class="select-tag">{{ mediatorGetObj.position }}</view> | ||||
| @@ -52,9 +52,7 @@ | |||||
| }; | }; | ||||
| }, | }, | ||||
| onLoad(options) { | onLoad(options) { | ||||
| this.setData({ | |||||
| options | |||||
| }); | |||||
| this.options = options | |||||
| this.excellentPartMemberGetApi(); | this.excellentPartMemberGetApi(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| @@ -77,9 +75,7 @@ | |||||
| .replace(/&nbsp;/g, ' ') | .replace(/&nbsp;/g, ' ') | ||||
| .replace(/"/g, '"'); | .replace(/"/g, '"'); | ||||
| } | } | ||||
| this.setData({ | |||||
| mediatorGetObj: res.data | |||||
| }); | |||||
| this.mediatorGetObj =res.data | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -17,8 +17,7 @@ | |||||
| <image class="guide-img" :src="item.photo"></image> | <image class="guide-img" :src="item.photo"></image> | ||||
| <text class="guide-name">{{ item.name }}</text> | <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> | </view> | ||||
| <view class="rural-list flex" | <view class="rural-list flex" | ||||
| @@ -37,7 +36,7 @@ | |||||
| <view class="section-item-left flex1 flex flex-col"> | <view class="section-item-left flex1 flex flex-col"> | ||||
| <view class="consult-content-title text-line-2">{{ item.name }}</view> | <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> | </view> | ||||
| </view> | </view> | ||||
| @@ -54,328 +53,328 @@ | |||||
| </template> | </template> | ||||
| <!-- <script module="util" lang="wxs" src="@/wxs/util.wxs"></script> --> | <!-- <script module="util" lang="wxs" src="@/wxs/util.wxs"></script> --> | ||||
| <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 { | 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) { | 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 { | 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 { | 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> | </script> | ||||
| <style lang="less"> | <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%; | 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; | 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-size: 32rpx; | ||||
| font-weight: 400; | font-weight: 400; | ||||
| color: #333333; | 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> | </style> | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" :left-text="option.name" left-arrow /> | <custom-nav-bar position="fixed" color="black" :left-text="option.name" left-arrow /> | ||||
| <view class="law-list"> | <view class="law-list"> | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" left-text="调解员详情" left-arrow /> | <custom-nav-bar position="fixed" color="black" left-text="调解员详情" left-arrow /> | ||||
| <view class="mediate-detail-section"> | <view class="mediate-detail-section"> | ||||
| @@ -14,7 +14,7 @@ | |||||
| <!-- <text class="info">介休市区</text> --> | <!-- <text class="info">介休市区</text> --> | ||||
| </view> | </view> | ||||
| <view class="select-rate flex flex-v-center"> | <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" /> | :value="mediatorGetObj.star" /> | ||||
| </view> | </view> | ||||
| <view class="select-tag">调查案件数:{{ mediatorGetObj.caseCount }}</view> | <view class="select-tag">调查案件数:{{ mediatorGetObj.caseCount }}</view> | ||||
| @@ -108,9 +108,7 @@ | |||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| onLoad(option) { | onLoad(option) { | ||||
| this.setData({ | |||||
| option | |||||
| }); | |||||
| this.option =option | |||||
| this.mediatorGetApi(); | this.mediatorGetApi(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| @@ -122,9 +120,7 @@ | |||||
| id: this.option.id | id: this.option.id | ||||
| }); | }); | ||||
| if (res.data) { | if (res.data) { | ||||
| this.setData({ | |||||
| mediatorGetObj: res.data | |||||
| }); | |||||
| this.mediatorGetObj = res.data | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" left-text="调解详情" left-arrow border /> | <custom-nav-bar position="fixed" color="black" left-text="调解详情" left-arrow border /> | ||||
| <view class="myAppeal"> | <view class="myAppeal"> | ||||
| @@ -13,7 +13,7 @@ | |||||
| :style="'background-color: ' + type.cssClass + ';'">{{ type.label }}</view> | :style="'background-color: ' + type.cssClass + ';'">{{ type.label }}</view> | ||||
| </block> | </block> | ||||
| <view> | <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"> | <block v-for="(state, index) in statusList" :key="index"> | ||||
| <text v-if="List.status + '' === state.value" class="myAppeal-conent-bg myAppeal-conent-block" | <text v-if="List.status + '' === state.value" class="myAppeal-conent-bg myAppeal-conent-block" | ||||
| :style="'background-color: ' + state.cssClass + ';'"> | :style="'background-color: ' + state.cssClass + ';'"> | ||||
| @@ -24,7 +24,7 @@ | |||||
| </view> | </view> | ||||
| <view class="myAppeal-title mt-21">{{ List.descInfo }}</view> | <view class="myAppeal-title mt-21">{{ List.descInfo }}</view> | ||||
| <view class="myAppeal-subheading">{{ List.appealContent }}</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" | <image mode="aspectFill" @tap="viewImage" data-name="pics" :data-item="item" :src="item" | ||||
| v-for="(item, index) in List.pics" :key="index"></image> | v-for="(item, index) in List.pics" :key="index"></image> | ||||
| </view> | </view> | ||||
| @@ -47,7 +47,7 @@ | |||||
| <mp-html class="rich-text" :content="item.content" /> | <mp-html class="rich-text" :content="item.content" /> | ||||
| </view> | </view> | ||||
| <view class="conent-bottom flex flex-v-center flex-between"> | <view class="conent-bottom flex flex-v-center flex-between"> | ||||
| <text>{{ toods.getDateTime(item.createTime) }}</text> | |||||
| <text>{{ getDateTime(item.createTime) }}</text> | |||||
| <view> | <view> | ||||
| 调解员: | 调解员: | ||||
| <text style="color: #333333">{{ item.mediatorName }}/{{ item.mediatorMobile }}</text> | <text style="color: #333333">{{ item.mediatorName }}/{{ item.mediatorMobile }}</text> | ||||
| @@ -66,6 +66,8 @@ | |||||
| import * as peopleApi from '@/api/peopleApi'; | import * as peopleApi from '@/api/peopleApi'; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import * as enterprise from '@/api/enterprise'; | import * as enterprise from '@/api/enterprise'; | ||||
| import utils from '@/utils/util.map.js'; | |||||
| export default { | export default { | ||||
| components: {}, | components: {}, | ||||
| data() { | data() { | ||||
| @@ -81,7 +83,7 @@ | |||||
| status: 'people_cases_status', | status: 'people_cases_status', | ||||
| typeList: [], | typeList: [], | ||||
| statusList: [], | statusList: [], | ||||
| List: null, | |||||
| List: {}, | |||||
| casesProcessPageList: [], | casesProcessPageList: [], | ||||
| state: { | state: { | ||||
| @@ -92,24 +94,23 @@ | |||||
| }; | }; | ||||
| }, | }, | ||||
| onLoad(option) { | onLoad(option) { | ||||
| this.setData({ | |||||
| option | |||||
| }); | |||||
| this.option = option | |||||
| this.getAppealApi(); | this.getAppealApi(); | ||||
| this.getTypeList(); | this.getTypeList(); | ||||
| this.getStateList(); | this.getStateList(); | ||||
| this.casesProcessPageApi(); | this.casesProcessPageApi(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| getDateTime(time,index){ | |||||
| return utils.getDateTime(time,index) | |||||
| }, | |||||
| // 获取类型字典 | // 获取类型字典 | ||||
| async getTypeList() { | async getTypeList() { | ||||
| const res = await publicApi.getDictDataApi({ | const res = await publicApi.getDictDataApi({ | ||||
| dictType: this.type | dictType: this.type | ||||
| }); | }); | ||||
| if (res.data) { | if (res.data) { | ||||
| this.setData({ | |||||
| typeList: res.data.list | |||||
| }); | |||||
| this.typeList = res.data.list | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -119,9 +120,7 @@ | |||||
| dictType: this.status | dictType: this.status | ||||
| }); | }); | ||||
| if (res.data) { | if (res.data) { | ||||
| this.setData({ | |||||
| statusList: res.data.list | |||||
| }); | |||||
| this.statusList = res.data.list | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -144,9 +143,7 @@ | |||||
| id: this.option.id | id: this.option.id | ||||
| }); | }); | ||||
| if (res.data) { | if (res.data) { | ||||
| this.setData({ | |||||
| List: res.data | |||||
| }); | |||||
| this.List = res.data || {} | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -176,9 +173,7 @@ | |||||
| } | } | ||||
| }); | }); | ||||
| if (res.data) { | 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> | :style="'background-color: ' + type.cssClass + ';'">{{ type.label }}</view> | ||||
| </block> | </block> | ||||
| <view> | <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"> | <block v-for="(state, index1) in statusList" :key="index1"> | ||||
| <text v-if="item.status + '' === state.value" class="myAppeal-conent-bg myAppeal-conent-block" | <text v-if="item.status + '' === state.value" class="myAppeal-conent-bg myAppeal-conent-block" | ||||
| :style="'background-color: ' + state.cssClass + ';'"> | :style="'background-color: ' + state.cssClass + ';'"> | ||||
| @@ -29,7 +29,7 @@ | |||||
| <view class="myAppeal-subheading multi-line">{{ item.descInfo }}</view> | <view class="myAppeal-subheading multi-line">{{ item.descInfo }}</view> | ||||
| <view class="myAppeal-imgage" v-if="item.pics"> | <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> | ||||
| <view class="myAppeal-conent-block mt-21 uniline" v-if="item.address !== null">{{ item.address }}</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 peopleApi from '@/api/peopleApi'; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import * as enterprise from '@/api/enterprise'; | import * as enterprise from '@/api/enterprise'; | ||||
| import utils from '@/utils/util.map.js'; | |||||
| export default { | export default { | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| @@ -96,6 +97,9 @@ | |||||
| await this.getStateList(); | await this.getStateList(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| getDateTime(time,index){ | |||||
| return utils.getDateTime(time,index) | |||||
| }, | |||||
| // 详情页跳转 | // 详情页跳转 | ||||
| details(event) { | details(event) { | ||||
| const { | const { | ||||
| @@ -26,7 +26,7 @@ | |||||
| <view class="select-right flex1 flex flex-col flex-between"> | <view class="select-right flex1 flex flex-col flex-between"> | ||||
| <view class="select-title flex flex-v-center flex-between"> | <view class="select-title flex flex-v-center flex-between"> | ||||
| <text class="name">{{ item.name }}</text> | <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> | ||||
| <view class="select-msg text-line-3"> | <view class="select-msg text-line-3"> | ||||
| {{ item.resume }} | {{ item.resume }} | ||||
| @@ -77,6 +77,7 @@ | |||||
| */ | */ | ||||
| async mediatorPageApi(reset = true) { | async mediatorPageApi(reset = true) { | ||||
| const params = this.generalQueryData(reset); | const params = this.generalQueryData(reset); | ||||
| let _goodsList = [] | |||||
| params.attachType = this.options.type; | params.attachType = this.options.type; | ||||
| const res = await peopleApi.mediatorPageApi(params); | const res = await peopleApi.mediatorPageApi(params); | ||||
| if (res.data) { | if (res.data) { | ||||
| @@ -84,9 +85,9 @@ | |||||
| list = [], total = 0 | list = [], total = 0 | ||||
| } = res.data; | } = res.data; | ||||
| if (reset) { | if (reset) { | ||||
| const _goodsList = list; | |||||
| _goodsList = list; | |||||
| } else { | } else { | ||||
| const _goodsList = this.mediatorPageList.concat(list); | |||||
| _goodsList = this.mediatorPageList.concat(list); | |||||
| } | } | ||||
| this.pageNo = params.pageNo || 1; | this.pageNo = params.pageNo || 1; | ||||
| this.total = total; | this.total = total; | ||||
| @@ -25,10 +25,8 @@ | |||||
| <view class="first-model flex flex-v-center flex-between" v-if="index === 0"> | <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" | <view class="first-line flex flex-col line1" :style="itemName.cssStyle" | ||||
| v-for="(itemName, idx) in item.children" :key="idx"> | 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> | <image class="line-bg" :src="itemName.icon"></image> | ||||
| @@ -70,6 +68,7 @@ | |||||
| // } = app.globalData.api; | // } = app.globalData.api; | ||||
| import * as peopleApi from '@/api/peopleApi'; | import * as peopleApi from '@/api/peopleApi'; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import utils from '@/utils/util.map.js' | |||||
| export default { | export default { | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| @@ -85,6 +84,9 @@ | |||||
| this.recursionApi(option.parentId); | this.recursionApi(option.parentId); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| updateQuery(url,item){ | |||||
| return utils.updateQuery(url,item) | |||||
| }, | |||||
| /** | /** | ||||
| * 接口 | * 接口 | ||||
| */ | */ | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" :left-text="option.name" left-arrow /> | <custom-nav-bar position="fixed" color="black" :left-text="option.name" left-arrow /> | ||||
| <!-- 介小键和介小康 --> | <!-- 介小键和介小康 --> | ||||
| @@ -73,10 +73,7 @@ | |||||
| */ | */ | ||||
| , | , | ||||
| onLoad(option) { | onLoad(option) { | ||||
| console.log(option); | |||||
| this.setData({ | |||||
| option | |||||
| }); | |||||
| this.option = option | |||||
| if (this.option.key === 'peple') { | if (this.option.key === 'peple') { | ||||
| this.getPepleList(); | this.getPepleList(); | ||||
| } else { | } else { | ||||
| @@ -93,6 +90,7 @@ | |||||
| // 网格人员 | // 网格人员 | ||||
| async getPepleList(reset = true) { | async getPepleList(reset = true) { | ||||
| const params = this.generalQueryData(reset); | const params = this.generalQueryData(reset); | ||||
| let _goodsList = [] | |||||
| params.orgId = this.option.id; | params.orgId = this.option.id; | ||||
| params.gridId = this.option.gridId; | params.gridId = this.option.gridId; | ||||
| const res = await peopleApi.getGridMemberListApi(params); | const res = await peopleApi.getGridMemberListApi(params); | ||||
| @@ -101,15 +99,13 @@ | |||||
| list = [], total = 0 | list = [], total = 0 | ||||
| } = res.data; | } = res.data; | ||||
| if (reset) { | if (reset) { | ||||
| const _goodsList = list; | |||||
| _goodsList = list; | |||||
| } else { | } else { | ||||
| const _goodsList = this.newsPageList.concat(list); | |||||
| _goodsList = this.newsPageList.concat(list); | |||||
| } | } | ||||
| this.pageNo = params.pageNo || 1; | this.pageNo = params.pageNo || 1; | ||||
| this.total = total; | this.total = total; | ||||
| this.setData({ | |||||
| newsPageList: _goodsList | |||||
| }); | |||||
| this.newsPageList = _goodsList | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -137,6 +133,7 @@ | |||||
| // 网格 | // 网格 | ||||
| async getList(reset = true) { | async getList(reset = true) { | ||||
| const params = this.generalQueryData(reset); | const params = this.generalQueryData(reset); | ||||
| let _goodsList = [] | |||||
| params.parentId = this.option.orgId; | params.parentId = this.option.orgId; | ||||
| const res = await peopleApi.deptListApi(params); | const res = await peopleApi.deptListApi(params); | ||||
| if (res.data) { | if (res.data) { | ||||
| @@ -144,20 +141,16 @@ | |||||
| list = [], total = 0 | list = [], total = 0 | ||||
| } = res.data; | } = res.data; | ||||
| if (reset) { | if (reset) { | ||||
| const _goodsList = list; | |||||
| _goodsList = list; | |||||
| } else { | } else { | ||||
| const _goodsList = this.newsPageList.concat(list); | |||||
| _goodsList = this.newsPageList.concat(list); | |||||
| } | } | ||||
| this.pageNo = params.pageNo || 1; | this.pageNo = params.pageNo || 1; | ||||
| this.total = total; | this.total = total; | ||||
| this.setData({ | |||||
| newsPageList: _goodsList | |||||
| }); | |||||
| this.newsPageList = _goodsList | |||||
| } | } | ||||
| if (res.data) { | 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 === '党建引领'"> | <view class="second-tabs" v-if="option.name === '家庭医生' || option.name === '党建引领'"> | ||||
| <van-tabs id="secondTabs" @click-tab="onTabsChange($event, { tagId: 'secondTabs' })"> | <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> | </van-tabs> | ||||
| </view> | </view> | ||||
| @@ -68,7 +68,7 @@ | |||||
| <block v-if="tabsIndex === 0 || tabsIndex === 3"> | <block v-if="tabsIndex === 0 || tabsIndex === 3"> | ||||
| <scroll-view :scroll-y="true"> | <scroll-view :scroll-y="true"> | ||||
| <block v-if="recursionObj.children"> | <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"> | v-for="(item, index) in newsPageList" :key="index"> | ||||
| <view class="section-item-left flex1 flex flex-between flex-col"> | <view class="section-item-left flex1 flex flex-between flex-col"> | ||||
| <view class="consult-content-title text-line-3">{{ item.name || item.title }}</view> | <view class="consult-content-title text-line-3">{{ item.name || item.title }}</view> | ||||
| @@ -82,7 +82,7 @@ | |||||
| </block> | </block> | ||||
| <block v-else> | <block v-else> | ||||
| <block v-if="newsPageList.length"> | <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"> | v-for="(item, index) in newsPageList" :key="index"> | ||||
| <view class="section-item-left flex1 flex flex-between flex-col"> | <view class="section-item-left flex1 flex flex-between flex-col"> | ||||
| <view class="consult-content-title multi-line">{{ item.title }}</view> | <view class="consult-content-title multi-line">{{ item.title }}</view> | ||||
| @@ -122,7 +122,7 @@ | |||||
| import * as peopleApi from '@/api/peopleApi'; | import * as peopleApi from '@/api/peopleApi'; | ||||
| import * as publicApi from '@/api/publicApi'; | import * as publicApi from '@/api/publicApi'; | ||||
| import * as enterprise from '@/api/enterprise'; | import * as enterprise from '@/api/enterprise'; | ||||
| import utils from '@/utils/util.map.js' | |||||
| import utils from '@/utils/util.js' | |||||
| // 民生 - 家庭医生列表 / 党建引领 复用 | // 民生 - 家庭医生列表 / 党建引领 复用 | ||||
| export default { | export default { | ||||
| @@ -207,7 +207,7 @@ | |||||
| }, | }, | ||||
| async hospitalPageApi() { | async hospitalPageApi() { | ||||
| // const locationInfo = app.globalData.config.locationInfo; | |||||
| const locationInfo = uni.getStorageSync('userLocation'); | |||||
| if (!Object.keys(locationInfo).length) { | if (!Object.keys(locationInfo).length) { | ||||
| return uni.showToast({ | return uni.showToast({ | ||||
| title: '未允许定位,当前页面功能无法完全体验', | title: '未允许定位,当前页面功能无法完全体验', | ||||
| @@ -219,8 +219,8 @@ | |||||
| pageNo: 1, | pageNo: 1, | ||||
| pageSize: 10, | pageSize: 10, | ||||
| nearFlag: this.nearFlag, | nearFlag: this.nearFlag, | ||||
| posX: locationInfo.longitude, | |||||
| posY: locationInfo.latitude | |||||
| posX: locationInfo.split[0], | |||||
| posY: locationInfo.split[1] | |||||
| }; | }; | ||||
| if (this.searchValue) { | if (this.searchValue) { | ||||
| param.name = this.searchValue; | param.name = this.searchValue; | ||||
| @@ -232,7 +232,7 @@ | |||||
| } = await peopleApi.hospitalPageApi(param); | } = await peopleApi.hospitalPageApi(param); | ||||
| if (list.length) { | if (list.length) { | ||||
| list.forEach((e) => { | 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 | this.newsPageList = list | ||||
| } | } | ||||
| @@ -258,12 +258,11 @@ | |||||
| // this.onTabsChange(event, _dataset); | // this.onTabsChange(event, _dataset); | ||||
| /* ---处理dataset end--- */ | /* ---处理dataset end--- */ | ||||
| if (this.option.name === '家庭医生') { | if (this.option.name === '家庭医生') { | ||||
| console.log(event) | |||||
| const { | const { | ||||
| name, | name, | ||||
| index | index | ||||
| } = event; | } = event; | ||||
| this.tabsIndex = index | |||||
| this.tabsIndex = name | |||||
| if (name === 0) { | if (name === 0) { | ||||
| this.newsPageList = [] | this.newsPageList = [] | ||||
| this.nearFlag = name | this.nearFlag = name | ||||
| @@ -309,6 +308,7 @@ | |||||
| const { | const { | ||||
| list = [], total = 0 | list = [], total = 0 | ||||
| } = res.data; | } = res.data; | ||||
| console.log(list) | |||||
| if (reset) { | if (reset) { | ||||
| _goodsList = list; | _goodsList = list; | ||||
| } else { | } else { | ||||
| @@ -1,5 +1,5 @@ | |||||
| <template> | <template> | ||||
| <view style="height: 100%"> | |||||
| <view> | |||||
| <custom-nav-bar position="fixed" color="black" :left-text="optins.name" left-arrow border /> | <custom-nav-bar position="fixed" color="black" :left-text="optins.name" left-arrow border /> | ||||
| <view class="details-page"> | <view class="details-page"> | ||||
| @@ -31,6 +31,8 @@ | |||||
| // } = app.globalData.api; | // } = app.globalData.api; | ||||
| import * as peopleApi from '@/api/peopleApi'; // | import * as peopleApi from '@/api/peopleApi'; // | ||||
| import * as publicApi from '@/api/publicApi'; // | import * as publicApi from '@/api/publicApi'; // | ||||
| import utils from '@/utils/util.js' | |||||
| export default { | export default { | ||||
| components: {}, | components: {}, | ||||
| data() { | data() { | ||||
| @@ -49,9 +51,7 @@ | |||||
| }; | }; | ||||
| }, | }, | ||||
| onLoad(optins) { | onLoad(optins) { | ||||
| this.setData({ | |||||
| optins | |||||
| }); | |||||
| this.optins = optins | |||||
| this.callFcuntion(); | this.callFcuntion(); | ||||
| }, | }, | ||||
| // 分享朋友 | // 分享朋友 | ||||
| @@ -64,9 +64,10 @@ | |||||
| }); | }); | ||||
| }, 2000); | }, 2000); | ||||
| }); | }); | ||||
| return { | return { | ||||
| title: this.InfoObj.title, | title: this.InfoObj.title, | ||||
| path: app.globalData.util.getCurrentPageUrlWithArgs(), | |||||
| path: utils.getCurrentPageUrlWithArgs(), | |||||
| promise | promise | ||||
| }; | }; | ||||
| }, | }, | ||||
| @@ -110,9 +111,7 @@ | |||||
| // 通用函数 | // 通用函数 | ||||
| generalFunction(res) { | generalFunction(res) { | ||||
| this.setData({ | |||||
| // InfoObj: app.globalData.util.setRichText(res) | |||||
| }); | |||||
| this.InfoObj = utils.setRichText(res) | |||||
| }, | }, | ||||
| // 创建点赞 | // 创建点赞 | ||||
| @@ -131,18 +130,14 @@ | |||||
| icon: 'success', | icon: 'success', | ||||
| duration: 2000 | duration: 2000 | ||||
| }); | }); | ||||
| this.setData({ | |||||
| isSignUp: true | |||||
| }); | |||||
| this.isSignUp = true | |||||
| } else { | } else { | ||||
| uni.showToast({ | uni.showToast({ | ||||
| title: '已经报名了哦~', | title: '已经报名了哦~', | ||||
| icon: 'none', | icon: 'none', | ||||
| duration: 2000 | 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-model flex flex-v-center flex-between"> | ||||
| <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | ||||
| v-for="(itemName, idx) in item.children" :key="idx"> | 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> | </navigator> | ||||
| <image class="line-bg" :src="itemName.icon"></image> | <image class="line-bg" :src="itemName.icon"></image> | ||||
| @@ -160,6 +160,7 @@ export default { | |||||
| return utils.getDateTime(replyTime, key) | return utils.getDateTime(replyTime, key) | ||||
| }, | }, | ||||
| updateQuery(url, name) { | updateQuery(url, name) { | ||||
| console.log(name) | |||||
| return utils.updateQuery(url, name); | return utils.updateQuery(url, name); | ||||
| }, | }, | ||||
| // 获取企业轮播图 | // 获取企业轮播图 | ||||
| @@ -6,7 +6,7 @@ | |||||
| :indicator-active-color="indicatorActiveColor"> | :indicator-active-color="indicatorActiveColor"> | ||||
| <block v-for="(item, index) in imageList" :key="index"> | <block v-for="(item, index) in imageList" :key="index"> | ||||
| <swiper-item> | <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> | <image class="custom-swiper-img" :src="item.pic"></image> | ||||
| </swiper-item> | </swiper-item> | ||||
| </block> | </block> | ||||
| @@ -20,7 +20,7 @@ | |||||
| <view class="menu flex flex-v-center flex-between" v-if="index === 0"> | <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"> | <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> | </navigator> | ||||
| <image class="menu-item-ic-img" :src="itemName.icon"></image> | <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-model flex flex-v-center flex-between" v-else> | ||||
| <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | ||||
| v-for="(itemName, idx) in item.children" :key="idx"> | 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> | </navigator> | ||||
| <!-- <image ></image> --> | <!-- <image ></image> --> | ||||
| <image class="line-bg" :src="itemName.icon"></image> | <image class="line-bg" :src="itemName.icon"></image> | ||||
| @@ -387,7 +387,8 @@ | |||||
| } | } | ||||
| .line-msg { | .line-msg { | ||||
| margin-top: 21rpx; | |||||
| position: absolute; | |||||
| margin-top: 100rpx; | |||||
| font-size: 26rpx; | font-size: 26rpx; | ||||
| font-weight: 400; | font-weight: 400; | ||||
| color: #666666; | color: #666666; | ||||
| @@ -33,7 +33,7 @@ | |||||
| <view class="flex my-mune"> | <view class="flex my-mune"> | ||||
| <view class="flex flex-col mune-item flex-center" v-for="(itemName, idx) in recursionOneList" :key="idx"> | <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> | <text class="name">{{ itemName.name }}</text> | ||||
| @@ -117,7 +117,7 @@ | |||||
| <script> | <script> | ||||
| import * as publicApi from '@/api/publicApi.js'; // 公共 API | import * as publicApi from '@/api/publicApi.js'; // 公共 API | ||||
| import * as myApi from '@/api/myApi'; // 我的 | import * as myApi from '@/api/myApi'; // 我的 | ||||
| const app = getApp() | |||||
| import utils from '@/utils/util.map' | |||||
| export default { | export default { | ||||
| components: {}, | components: {}, | ||||
| data() { | data() { | ||||
| @@ -145,6 +145,9 @@ | |||||
| this.getUserInfo(); | this.getUserInfo(); | ||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| updateQuery(url,item){ | |||||
| return utils.updateQuery(url,item) | |||||
| }, | |||||
| async getUserInfoApi() { | async getUserInfoApi() { | ||||
| const res = await myApi.getUserInfoApi(); | const res = await myApi.getUserInfoApi(); | ||||
| if (res.data) { | if (res.data) { | ||||