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