Browse Source

fix:调整页面数据解构问题

master
xiaohei 1 year ago
parent
commit
0b4dd48642
20 changed files with 1003 additions and 1023 deletions
  1. +6
    -2
      src/packages/enterprise/pages/discount/discount-list.vue
  2. +15
    -9
      src/packages/enterprise/pages/discount/discount.vue
  3. +9
    -14
      src/packages/life/pages/scenic-list/scenic-list.vue
  4. +227
    -231
      src/packages/my/pages/my-masses/my-masses-appraise.vue
  5. +19
    -25
      src/packages/my/pages/my-masses/my-masses-details.vue
  6. +362
    -363
      src/packages/my/pages/my-masses/my-masses.vue
  7. +4
    -8
      src/packages/people/pages/guide-detail/guide-detail.vue
  8. +283
    -284
      src/packages/people/pages/guide/guide.vue
  9. +1
    -1
      src/packages/people/pages/law-list/law-list.vue
  10. +4
    -8
      src/packages/people/pages/mediate-detail/mediate-detail.vue
  11. +15
    -20
      src/packages/people/pages/mediate-my-details/mediate-my-details.vue
  12. +6
    -2
      src/packages/people/pages/mediate-my-list/mediate-my-list.vue
  13. +4
    -3
      src/packages/people/pages/mediate-select/mediate-select.vue
  14. +6
    -4
      src/packages/people/pages/mediate/mediate.vue
  15. +11
    -18
      src/packages/people/pages/second/second-community.vue
  16. +10
    -10
      src/packages/people/pages/second/second.vue
  17. +9
    -14
      src/packages/public/pages/details/details-no-ops.vue
  18. +2
    -1
      src/pages/enterprise/enterprise.vue
  19. +5
    -4
      src/pages/life/life.vue
  20. +5
    -2
      src/pages/my/my.vue

+ 6
- 2
src/packages/enterprise/pages/discount/discount-list.vue View File

@@ -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,


+ 15
- 9
src/packages/enterprise/pages/discount/discount.vue View File

@@ -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;


+ 9
- 14
src/packages/life/pages/scenic-list/scenic-list.vue View File

@@ -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;
}



+ 227
- 231
src/packages/my/pages/my-masses/my-masses-appraise.vue View File

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

+ 19
- 25
src/packages/my/pages/my-masses/my-masses-details.vue View File

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


+ 362
- 363
src/packages/my/pages/my-masses/my-masses.vue View File

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

+ 4
- 8
src/packages/people/pages/guide-detail/guide-detail.vue View File

@@ -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(/&amp;nbsp;/g, ' ')
.replace(/&quot;/g, '"');
}
this.setData({
mediatorGetObj: res.data
});
this.mediatorGetObj =res.data
}
}
}


+ 283
- 284
src/packages/people/pages/guide/guide.vue View File

@@ -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
- 1
src/packages/people/pages/law-list/law-list.vue View File

@@ -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">


+ 4
- 8
src/packages/people/pages/mediate-detail/mediate-detail.vue View File

@@ -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
}
},



+ 15
- 20
src/packages/people/pages/mediate-my-details/mediate-my-details.vue View File

@@ -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
}
}
}


+ 6
- 2
src/packages/people/pages/mediate-my-list/mediate-my-list.vue View File

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


+ 4
- 3
src/packages/people/pages/mediate-select/mediate-select.vue View File

@@ -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;


+ 6
- 4
src/packages/people/pages/mediate/mediate.vue View File

@@ -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)
},
/**
* 接口
*/


+ 11
- 18
src/packages/people/pages/second/second-community.vue View File

@@ -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
}
},



+ 10
- 10
src/packages/people/pages/second/second.vue View File

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


+ 9
- 14
src/packages/public/pages/details/details-no-ops.vue View File

@@ -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
}
}
}


+ 2
- 1
src/pages/enterprise/enterprise.vue View File

@@ -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);
},
// 获取企业轮播图


+ 5
- 4
src/pages/life/life.vue View File

@@ -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;


+ 5
- 2
src/pages/my/my.vue View File

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


Loading…
Cancel
Save