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