feat: 添加惠企政策及问答模块功能

- 新增惠企政策分类及列表页面,支持图片展示及发布时间格式化
- 添加问答模块,包括提问、回答、图片上传及预览功能
- 实现问答列表、详情及用户列表的分页加载
- 优化导航栏样式及交互逻辑
This commit is contained in:
王创世 2025-05-12 18:32:00 +08:00
parent 2a4185923f
commit 1cc556a15c
12 changed files with 312 additions and 96 deletions

View File

@ -77,21 +77,6 @@
"router" : { "router" : {
"base" : "" "base" : ""
}, },
"template" : "", "template" : ""
"devServer" : {
"port" : 80,
"https" : false,
"disableHostCheck" : true,
"proxy" : {
"/api" : {
"target" : "http://192.168.3.130", //
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/api" : "/api"
}
}
}
}
} }
} }

View File

@ -1,24 +1,27 @@
<template> <template>
<view> <view>
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF"> <tn-nav-bar customBack :bottomShadow="false" backgroundColor="transparent">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-between"> <view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-center">
<view class="tn-flex tn-flex-col-center tn-flex-row-left"> <view style="color: #000000;;text-align: left;font-size: 36rpx;font-weight: 600;">
<view style="padding-left: 15rpx;" @click="goBack()"> <text>惠企政策</text>
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view class="tn-margin-top"
style="text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'惠企政策分类'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="36"></tn-tabs>
</view>
</view> </view>
</view> </view>
<view slot="back" class='tn-custom-nav-bar__back' style="padding-left: 20rpx;" @click="goBack">
<image src="/static/h_back.png" style="width: 60rpx;height: 60rpx;"></image>
</view>
</tn-nav-bar> </tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 60rpx;"> <view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 60rpx;">
<tn-list-view :card="true" unlined="all"> <tn-list-view :card="true" unlined="all">
<block v-for="(item, index) in list" :key="index"> <block v-for="(item, index) in list" :key="index">
<tn-list-cell padding="36rpx" :arrow="true" <tn-list-cell padding="36rpx" :arrow="true"
@click="openUrl('/pages/packageA/info/policy_list?id='+item.id)">{{item.name}}</tn-list-cell> @click="openUrl('/pages/packageA/info/policy_list?id='+item.id)">
<image :src="item.image"
style="width: 50rpx;height: 50rpx;vertical-align: middle;margin-right: 20rpx;"></image>
{{item.name}}
<view class="list__right">
<view class="tn-text-sm tn-color-gray">{{item.category_count}}</view>
</view>
</tn-list-cell>
</block> </block>
</tn-list-view> </tn-list-view>
</view> </view>
@ -81,6 +84,13 @@
} }
</script> </script>
<style> <style scoped lang="scss">
</style> .list {
&__right {
position: absolute;
right: 68rpx;
top: 48rpx;
}
}
</style>

View File

@ -1,26 +1,38 @@
<template> <template>
<view> <view style="background: #F7F7F7;min-height: 100vh;">
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF"> <tn-nav-bar customBack :bottomShadow="false" backgroundColor="#ffffff">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-between"> <view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-center">
<view class="tn-flex tn-flex-col-center tn-flex-row-left"> <view style="color: #000000;;text-align: left;font-size: 36rpx;font-weight: 600;">
<view style="padding-left: 15rpx;" @click="goBack()"> <text>惠企政策</text>
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view class="tn-margin-top"
style="text-shadow: 1rpx 0 0 #FFF, 0 1rpx 0 #FFF, -1rpx 0 0 #FFF , 0 -1rpx 0 #FFF;">
<tn-tabs :list="[{name:'惠企政策列表'}]" :current="topCurrent" activeColor="#000" :bold="false"
:fontSize="36"></tn-tabs>
</view>
</view> </view>
</view> </view>
<view slot="back" class='tn-custom-nav-bar__back' style="padding-left: 20rpx;" @click="goBack">
<image src="/static/h_back.png" style="width: 60rpx;height: 60rpx;"></image>
</view>
</tn-nav-bar> </tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 60rpx;"> <view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 60rpx;">
<tn-list-view :card="true" unlined="all"> <!-- <tn-list-view :card="true" unlined="all">
<block v-for="(item, index) in list" :key="index"> <block v-for="(item, index) in list" :key="index">
<tn-list-cell padding="36rpx" :arrow="true" <tn-list-cell padding="36rpx" :arrow="true"
@click="openUrl('/pages/packageA/info/policy_info?id='+item.id)">{{item.article_title}}</tn-list-cell> @click="openUrl('/pages/packageA/info/policy_info?id='+item.id)">{{item.article_title}}</tn-list-cell>
</block> </block>
</tn-list-view> </tn-list-view> -->
<view style="padding: 30rpx;">
<view v-for="(item, index) in list" :key="index" style="padding: 30rpx;background-color: #FFF;border-radius: 18rpx;margin-bottom: 30rpx;">
<view class="tn-flex" @click="openUrl('/pages/packageA/info/policy_info?id='+item.id)">
<view>
<image src="/static/hqzc_f.png" style="width: 230rpx;height: 140rpx;border-radius: 10rpx;">
</image>
</view>
<view style="padding-left: 20rpx;position: relative;">
<view>{{item.article_title}}</view>
<view style="position: absolute;bottom: 10rpx;width: 100%;">
<view style="color: #9B9B9B;">发布时间{{formatTimestamp(item.create_time)}}</view>
</view>
</view>
</view>
</view>
</view>
</view> </view>
</view> </view>
</template> </template>
@ -42,6 +54,13 @@
this.getArticlePolicyListAll(); this.getArticlePolicyListAll();
}, },
methods: { methods: {
formatTimestamp(timestamp) {
const date = new Date(timestamp*1000);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0"); //
const day = String(date.getDate()).padStart(2, "0");
return `${year}.${month}.${day}`;
},
getArticlePolicyListAll() { getArticlePolicyListAll() {
getArticlePolicyList({ getArticlePolicyList({
cid: this.cid cid: this.cid
@ -87,4 +106,4 @@
<style> <style>
</style> </style>

View File

@ -14,7 +14,7 @@
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}"> <view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding: 30rpx;margin-top: 200rpx;"> <view style="padding: 30rpx;margin-top: 200rpx;">
<view style="background-color: #ffffff;border-radius: 18rpx;padding: 30rpx;"> <view style="background-color: #ffffff;border-radius: 18rpx;padding: 30rpx;">
<tn-input placeholder="请输入您的疑问" v-model="centent" type="textarea" :clearable="false" <tn-input placeholder="请输入您的疑问" v-model="issue_names" type="textarea" :clearable="false"
:border="false" :height="400" :autoHeight="false"></tn-input> :border="false" :height="400" :autoHeight="false"></tn-input>
<view style="min-height: 200rpx;"> <view style="min-height: 200rpx;">
<tn-image-upload-drag ref="imageUpload" :action="action" :width="200" :height="200" <tn-image-upload-drag ref="imageUpload" :action="action" :width="200" :height="200"
@ -26,25 +26,87 @@
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view style="position: fixed;bottom: 100rpx;width: 100%;"> <view style="position: fixed;bottom: 100rpx;width: 100%;">
<view style="text-align: center;font-size: 32rpx;color: #ffffff;width: 90%;margin: 0 auto;background-color:#2368F2;line-height: 85rpx;height: 85rpx;border-radius: 85rpx;">提交问题</view> <view @click="onSubmit"
style="text-align: center;font-size: 32rpx;color: #ffffff;width: 90%;margin: 0 auto;background-color:#2368F2;line-height: 85rpx;height: 85rpx;border-radius: 85rpx;">
提交问题</view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import {
getNwwbAdd
} from '@/util/api.js';
import store from '@/store/index.js'
export default { export default {
data() { data() {
return { return {
action:'', action: store.state.apiUrl+'/api/common/upload',
centent: '', issue_names: '',
fileList:'', fileList: '',
formData:{} formData: {},
submitLoging: false,
} }
}, },
methods: { methods: {
onSubmit() {
if (this.submitLoging) {
return;
}
this.submitLoging = true;
var user = uni.getStorageSync('userInfo');
let problem_images = [];
this.fileList.forEach(function(item, index) {
problem_images.push(item.response.data.fullurl);
});
var form = {};
form.association_id = user.association_id;
form.issue_names = this.issue_names;
form.problem_images = problem_images.join(",");
getNwwbAdd(form)
.then(res => {
console.log(res);
if(res.code==1){
uni.showToast({
title: '添加成功!',
icon: 'none',
duration: 2000
});
setTimeout(()=>{
uni.redirectTo({
url:'/pages/packageB/ask/user_list'
})
},1500)
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
onListChange(list) {
console.log(list);
this.fileList = list;
},
beforeUpload(e, list) {
console.log(e);
},
//
onSortList(list) {
console.log(list);
},
goBack() { goBack() {
if (getCurrentPages().length > 1) { if (getCurrentPages().length > 1) {
uni.navigateBack() uni.navigateBack()

View File

@ -13,12 +13,15 @@
</tn-nav-bar> </tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}"> <view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="padding: 30rpx;"> <view style="padding: 30rpx;">
<view v-for="item in 5" @click="openUrl('/pages/packageB/ask/info')" style="background-color: #fff;border-radius: 18rpx;padding: 30rpx;margin-bottom: 30rpx;"> <view v-for="item in list" @click="openUrl('/pages/packageB/ask/info?id='+item.id)"
style="background-color: #fff;border-radius: 18rpx;padding: 30rpx;margin-bottom: 30rpx;">
<view> <view>
<image src="/static/03.png" style="width: 50rpx;height: 50rpx;vertical-align: middle;" <image v-if="item.photo_image !='' && item.photo_image!=null" :src="apiImgUrl+item.photo_image" style="border-radius: 50%;width: 50rpx;height: 50rpx;vertical-align: middle;"
mode="aspectFill"></image> mode="aspectFill"></image>
<image v-if="item.photo_image =='' || item.photo_image==null" src="/static/def.png" style="border-radius: 50%;width: 50rpx;height: 50rpx;vertical-align: middle;"
mode="aspectFill"></image>
<text <text
style="color: #9B9B9B;vertical-align: middle;margin-left: 10rpx;font-size: 28rpx;font-weight: 400;">风一样的男人</text> style="color: #9B9B9B;vertical-align: middle;margin-left: 10rpx;font-size: 28rpx;font-weight: 400;">{{item.member_name}}</text>
</view> </view>
<view class="tn-flex" style="margin-top: 30rpx;"> <view class="tn-flex" style="margin-top: 30rpx;">
<view> <view>
@ -26,18 +29,19 @@
</image> </image>
</view> </view>
<view style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;"> <view style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;">
亲爱的职友在你心目中什么样的工作是稳定的工作 {{item.issue_names}}
</view> </view>
</view> </view>
<view style="text-align: center;margin-top: 20rpx;"> <view v-if="item.problem_images!=null && item.problem_images!=''"
<image src="/static/def.png" style="text-align: center;margin-top: 20rpx;">
<image :src="item.problem_images[0]"
style="width: 200rpx;height: 200rpx;border-radius:18rpx 0rpx 0rpx 18rpx;"></image> style="width: 200rpx;height: 200rpx;border-radius:18rpx 0rpx 0rpx 18rpx;"></image>
<image src="/static/def.png" style="width: 200rpx;height: 200rpx;margin: 0rpx 10rpx;"> <image :src="item.problem_images[1]" style="width: 200rpx;height: 200rpx;margin: 0rpx 10rpx;">
</image> </image>
<image src="/static/def.png" <image :src="item.problem_images[2]"
style="width: 200rpx;height: 200rpx;border-radius:0rpx 18rpx 18rpx 0rpx;"></image> style="width: 200rpx;height: 200rpx;border-radius:0rpx 18rpx 18rpx 0rpx;"></image>
</view> </view>
<view class="tn-flex" <view v-if="item.answer_content !=''&&item.answer_content!=null" class="tn-flex"
style="background-color: #F7F7F7;padding: 20rpx;border-radius: 18rpx;margin-top: 20rpx;"> style="background-color: #F7F7F7;padding: 20rpx;border-radius: 18rpx;margin-top: 20rpx;">
<view> <view>
<image src="/static/da.png" style="width: 35rpx;" class="no-img" mode="widthFix"> <image src="/static/da.png" style="width: 35rpx;" class="no-img" mode="widthFix">
@ -45,15 +49,15 @@
</view> </view>
<view class="tn-text-ellipsis-2" <view class="tn-text-ellipsis-2"
style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;color: #9B9B9B;"> style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;color: #9B9B9B;">
今天天气很清凉今天天气很清凉今天天气很清凉今天天气很清凉今天天气很清凉 <view v-html="item.answer_content"></view>
</view> </view>
</view> </view>
<view class="tn-flex tn-flex-col-center tn-flex-row-between" <view class="tn-flex tn-flex-col-center tn-flex-row-between"
style="margin-top: 30rpx;font-size: 26rpx;font-weight: 400;color: #9B9B9B;"> style="margin-top: 30rpx;font-size: 26rpx;font-weight: 400;color: #9B9B9B;">
<view>2024.04.06</view> <view>{{item.question_time}}</view>
<view> <view>
<text class="tn-icon-eye"></text> <text class="tn-icon-eye"></text>
<text>133</text> <text style="margin-left: 5rpx;">{{item.click_count}}</text>
</view> </view>
</view> </view>
</view> </view>
@ -66,13 +70,46 @@
</template> </template>
<script> <script>
import {
getNwwbList
} from '@/util/api.js';
import store from '@/store/index.js'
export default { export default {
data() { data() {
return { return {
apiImgUrl: this.$store.state.imgUrl,
list: [],
page: 1
} }
}, },
onLoad() {
this.getList();
},
onReachBottom() {
this.page += 1;
this.getList();
},
methods: { methods: {
getList() {
var user = uni.getStorageSync('userInfo');
getNwwbList({
association_id: user.association_id,
page: this.page,
size: 10
})
.then(res => {
this.list.push(...res.data)
console.log(res);
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
openUrl(url) { openUrl(url) {
uni.navigateTo({ uni.navigateTo({
url: url url: url
@ -85,7 +122,7 @@
uni.redirectTo({ uni.redirectTo({
url: '/pages/index/index' url: '/pages/index/index'
}) })
} }
} }
} }
@ -96,7 +133,7 @@
.ask_index_bg { .ask_index_bg {
background: url('https://ysx.hschool.com.cn/uploads/1/20250509/4247d991a9a95810641fb3b533602978.png') no-repeat; background: url('https://ysx.hschool.com.cn/uploads/1/20250509/4247d991a9a95810641fb3b533602978.png') no-repeat;
background-size: 100%; background-size: 100%;
height: 100%; height: 50vh;
} }
page { page {

View File

@ -14,10 +14,12 @@
<view style="padding: 30rpx;"> <view style="padding: 30rpx;">
<view style="background-color: #fff;border-radius: 18rpx;padding: 30rpx;margin-bottom: 30rpx;"> <view style="background-color: #fff;border-radius: 18rpx;padding: 30rpx;margin-bottom: 30rpx;">
<view> <view>
<image src="/static/03.png" style="width: 50rpx;height: 50rpx;vertical-align: middle;" <image v-if="info.photo_image !='' && info.photo_image!=null" :src="apiImgUrl+info.photo_image" style="border-radius: 50%;width: 50rpx;height: 50rpx;vertical-align: middle;"
mode="aspectFill"></image> mode="aspectFill"></image>
<image v-if="info.photo_image =='' || info.photo_image==null" src="/static/def.png" style="border-radius: 50%;width: 50rpx;height: 50rpx;vertical-align: middle;"
mode="aspectFill"></image>
<text <text
style="color: #9B9B9B;vertical-align: middle;margin-left: 10rpx;font-size: 28rpx;font-weight: 400;">风一样的男人</text> style="color: #9B9B9B;vertical-align: middle;margin-left: 10rpx;font-size: 28rpx;font-weight: 400;">{{info.member_name}}</text>
</view> </view>
<view class="tn-flex" style="margin-top: 30rpx;"> <view class="tn-flex" style="margin-top: 30rpx;">
<view> <view>
@ -25,28 +27,31 @@
</image> </image>
</view> </view>
<view style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;"> <view style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;">
亲爱的职友在你心目中什么样的工作是稳定的工作 {{info.issue_names}}
</view> </view>
</view> </view>
<view style="text-align: center;margin-top: 20rpx;"> <view v-if="info.problem_images!=null && info.problem_images!=''"
<image src="/static/def.png" style="text-align: center;margin-top: 20rpx;">
<image @click="previewImage(0)" :src="info.problem_images[0]"
style="width: 200rpx;height: 200rpx;border-radius:18rpx 0rpx 0rpx 18rpx;"></image> style="width: 200rpx;height: 200rpx;border-radius:18rpx 0rpx 0rpx 18rpx;"></image>
<image src="/static/def.png" style="width: 200rpx;height: 200rpx;margin: 0rpx 10rpx;"> <image @click="previewImage(1)" :src="info.problem_images[1]"
style="width: 200rpx;height: 200rpx;margin: 0rpx 10rpx;">
</image> </image>
<image src="/static/def.png" <image @click="previewImage(2)" :src="info.problem_images[2]"
style="width: 200rpx;height: 200rpx;border-radius:0rpx 18rpx 18rpx 0rpx;"></image> style="width: 200rpx;height: 200rpx;border-radius:0rpx 18rpx 18rpx 0rpx;"></image>
</view> </view>
<view class="tn-flex tn-flex-col-center tn-flex-row-between" <view class="tn-flex tn-flex-col-center tn-flex-row-between"
style="margin-top: 30rpx;font-size: 26rpx;font-weight: 400;color: #9B9B9B;"> style="margin-top: 30rpx;font-size: 26rpx;font-weight: 400;color: #9B9B9B;">
<view>2024.04.06</view> <view>{{info.question_time}}</view>
<view> <view>
<text class="tn-icon-eye"></text> <text class="tn-icon-eye"></text>
<text>133</text> <text style="margin-left: 5rpx;">{{info.click_count}}</text>
</view> </view>
</view> </view>
</view> </view>
<view style="background-color: #fff;border-radius: 18rpx;padding:30rpx;"> <view v-if="info.answer_content!=null && info.answer_content!=''"
style="background-color: #fff;border-radius: 18rpx;padding:30rpx;">
<view class="tn-flex"> <view class="tn-flex">
<view> <view>
<image src="/static/da.png" style="width: 35rpx;" class="no-img" mode="widthFix"> <image src="/static/da.png" style="width: 35rpx;" class="no-img" mode="widthFix">
@ -54,7 +59,7 @@
</view> </view>
<view class="tn-text-ellipsis-2" <view class="tn-text-ellipsis-2"
style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;color: #9B9B9B;"> style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;color: #9B9B9B;">
今天天气很清凉今天天气很清凉今天天气很清凉今天天气很清凉今天天气很清凉 <view v-html="info.answer_content"></view>
</view> </view>
</view> </view>
</view> </view>
@ -64,13 +69,45 @@
</template> </template>
<script> <script>
import {
getNwwbInfo
} from '@/util/api.js';
import store from '@/store/index.js'
export default { export default {
data() { data() {
return { return {
apiImgUrl: this.$store.state.imgUrl,
id: 0,
info: {}
} }
}, },
onLoad(item) {
this.id = item.id;
this.getInfo();
},
methods: { methods: {
previewImage(index) {
uni.previewImage({
current: index,
urls: this.info.problem_images
});
},
getInfo() {
getNwwbInfo({
id: this.id
})
.then(res => {
console.log(res);
this.info = res.data;
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
goBack() { goBack() {
if (getCurrentPages().length > 1) { if (getCurrentPages().length > 1) {
uni.navigateBack() uni.navigateBack()

View File

@ -9,21 +9,27 @@
<view slot="back" class='tn-custom-nav-bar__back' style="padding-left: 20rpx;" @click="goBack"> <view slot="back" class='tn-custom-nav-bar__back' style="padding-left: 20rpx;" @click="goBack">
<image src="/static/h_back.png" style="width: 60rpx;height: 60rpx;"></image> <image src="/static/h_back.png" style="width: 60rpx;height: 60rpx;"></image>
</view> </view>
</tn-nav-bar> </tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}"> <view :style="{paddingTop: vuex_custom_bar_height + 'px'}">
<view style="background-color: #fff;"> <view style="background-color: #fff;">
<tn-tabs :list="List" :isScroll="false" :activeItemStyle="{fontSize:'30rpx',fontWeight:'600'}" <tn-tabs :list="List" :isScroll="false" :activeItemStyle="{fontSize:'30rpx',fontWeight:'600'}"
activeColor="#000000" inactiveColor="#9B9B9B" :barStyle="{color:'#2368F2',backgroundColor:'#2368F2'}" :current="current" name="name" @change="change" :fontSize="28"></tn-tabs> activeColor="#000000" inactiveColor="#9B9B9B"
:barStyle="{color:'#2368F2',backgroundColor:'#2368F2'}" :current="current" name="name"
@change="change" :fontSize="28"></tn-tabs>
</view> </view>
<view style="padding: 30rpx;"> <view style="padding: 30rpx;">
<view style="background-color: #fff;border-radius: 18rpx;padding: 30rpx;margin-bottom: 30rpx;position: relative;"> <view v-for="item in userList"
<image src="/static/ask_ok.png" style="width: 100rpx;position: absolute;right: 0;top: 0;" mode="widthFix" class="no-img"></image> style="background-color: #fff;border-radius: 18rpx;padding: 30rpx;margin-bottom: 30rpx;position: relative;">
<image src="/static/ask_ok.png" style="width: 100rpx;position: absolute;right: 0;top: 0;"
mode="widthFix" class="no-img"></image>
<view> <view>
<image src="/static/03.png" style="width: 50rpx;height: 50rpx;vertical-align: middle;" <image v-if="item.photo_image !='' && item.photo_image!=null" :src="apiImgUrl+item.photo_image" style="border-radius: 50%;width: 50rpx;height: 50rpx;vertical-align: middle;"
mode="aspectFill"></image> mode="aspectFill"></image>
<image v-if="item.photo_image =='' || item.photo_image==null" src="/static/def.png" style="border-radius: 50%;width: 50rpx;height: 50rpx;vertical-align: middle;"
mode="aspectFill"></image>
<text <text
style="color: #9B9B9B;vertical-align: middle;margin-left: 10rpx;font-size: 28rpx;font-weight: 400;">风一样的男人</text> style="color: #9B9B9B;vertical-align: middle;margin-left: 10rpx;font-size: 28rpx;font-weight: 400;">{{item.member_name}}</text>
</view> </view>
<view class="tn-flex" style="margin-top: 30rpx;"> <view class="tn-flex" style="margin-top: 30rpx;">
<view> <view>
@ -31,10 +37,10 @@
</image> </image>
</view> </view>
<view style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;"> <view style="margin-left: 20rpx;font-size: 28rpx;font-weight: 400;">
亲爱的职友在你心目中什么样的工作是稳定的工作 {{item.issue_names}}
</view> </view>
</view> </view>
<view style="text-align: center;margin-top: 20rpx;"> <view v-if="item.problem_images!=null && item.problem_images!=''" style="text-align: center;margin-top: 20rpx;">
<image src="/static/def.png" <image src="/static/def.png"
style="width: 200rpx;height: 200rpx;border-radius:18rpx 0rpx 0rpx 18rpx;"></image> style="width: 200rpx;height: 200rpx;border-radius:18rpx 0rpx 0rpx 18rpx;"></image>
<image src="/static/def.png" style="width: 200rpx;height: 200rpx;margin: 0rpx 10rpx;"> <image src="/static/def.png" style="width: 200rpx;height: 200rpx;margin: 0rpx 10rpx;">
@ -42,10 +48,10 @@
<image src="/static/def.png" <image src="/static/def.png"
style="width: 200rpx;height: 200rpx;border-radius:0rpx 18rpx 18rpx 0rpx;"></image> style="width: 200rpx;height: 200rpx;border-radius:0rpx 18rpx 18rpx 0rpx;"></image>
</view> </view>
<view class="tn-flex tn-flex-col-center tn-flex-row-between" <view class="tn-flex tn-flex-col-center tn-flex-row-between"
style="margin-top: 30rpx;font-size: 26rpx;font-weight: 400;color: #9B9B9B;"> style="margin-top: 30rpx;font-size: 26rpx;font-weight: 400;color: #9B9B9B;">
<view>2024.04.06</view> <view>{{info.question_time}}</view>
<!-- <view> <!-- <view>
<text class="tn-icon-eye"></text> <text class="tn-icon-eye"></text>
<text>133</text> <text>133</text>
@ -58,16 +64,64 @@
</template> </template>
<script> <script>
import {
getNwwbUser
} from '@/util/api.js';
import store from '@/store/index.js'
export default { export default {
data() { data() {
return { return {
current:0, apiImgUrl: this.$store.state.imgUrl,
List:[{'name':'待审核'},{'name':'已通过'},{'name':'未通过'}] current: 0,
List: [{
'name': '待审核',
type: 1,
}, {
'name': '已通过',
type: 2
}, {
'name': '未通过',
type: 3
}],
status: 1,
userList: [],
page:1
} }
}, },
onLoad() {
this.getUserList();
},
onReachBottom() {
this.page+=1;
this.getUserList();
},
methods: { methods: {
change(e){ change(e) {
this.current=e; this.userList=[];
this.page=1;
this.current = e;
this.status = this.List[e].type;
this.getUserList();
},
getUserList() {
getNwwbUser({
status: this.status,
page:this.page,
size:10
})
.then(res => {
console.log(res);
if (res.code == 1) {
this.userList.push(...res.data);
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
}, },
goBack() { goBack() {
if (getCurrentPages().length > 1) { if (getCurrentPages().length > 1) {
@ -84,5 +138,5 @@
</script> </script>
<style scoped> <style scoped>
</style> </style>

BIN
static/hqzc_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -163,7 +163,7 @@
height: 20rpx; height: 20rpx;
margin-top: -12rpx; margin-top: -12rpx;
border-width: 4rpx 4rpx 0 0; border-width: 4rpx 4rpx 0 0;
border-color: $tn-font-holder-color; border-color: #000000;
border-style: solid; border-style: solid;
transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0); transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
} }

View File

@ -85,4 +85,12 @@ export const addWriteoff = data => request.post('/move/Writeoff/addWriteoff', da
export const getNoticeList = data => request.post('/move/notice', data, false); export const getNoticeList = data => request.post('/move/notice', data, false);
export const getNoticeInfo = data => request.post('/move/notice/find', data, false); export const getNoticeInfo = data => request.post('/move/notice/find', data, false);
export const getNwwbList = data => request.post('/move/nwwb', data, false);
export const getNwwbAdd = data => request.post('/move/nwwb/add', data, false);
export const getNwwbInfo = data => request.post('/move/nwwb/find', data, false);
export const getNwwbUser = data => request.post('/move/nwwb/memberfind', data, false);

View File

@ -8,6 +8,7 @@ import store from '@/store/index.js'
import RequestManager from '@/util/requestManager.js' import RequestManager from '@/util/requestManager.js'
let BASE_URL = store.state.apiUrl; let BASE_URL = store.state.apiUrl;
//let BASE_URL = 'http://192.168.10.176/api';
// // #ifdef H5 // // #ifdef H5
// BASE_URL = process.env.NODE_ENV === 'production' ? BASE_URL : '/api'; // BASE_URL = process.env.NODE_ENV === 'production' ? BASE_URL : '/api';
// // #endif // // #endif

View File

@ -1 +1,4 @@
// 跨域配置
// vue.config.js
module.exports = {} module.exports = {}