问题反馈

parent f0af8cc6
......@@ -31,3 +31,5 @@ export const saveCompanyInfoApi = params => instance.post("/company/save", param
//企业申诉
export const companyAppealApi = params => instance.post("/company/appeal", params);
//添加反馈信息
export const feedbackAdd = params => instance.post("/feedback/add/business", params);
......@@ -7,8 +7,7 @@ export function createApp() {
const app = createSSRApp(App);
const vConsole = new Vconsole();
app.use(store);
app.use(vConsole);
app.use(store,vConsole);
return {
app
};
......
......@@ -180,6 +180,21 @@
"style": {
"navigationBarTitleText": "用于测试功能登录"
}
},
{
"path": "pages/user/feedbackDetails/index",
"style": {
"navigationBarTitleText": "投诉建议"
}
},
{
"path": "pages/user/problemRecord/index",
"style": {
"navigationBarTitleText": "记录",
"enablePullDownRefresh": true,
"onReachBottomDistance": 50,
"navigationStyle": "custom"
}
}
],
"tabBar": {
......
......@@ -17,7 +17,7 @@
<script setup>
import NavBar from "@/components/navBar/index.vue";
import { xinhuaMpLogin } from "@/api/user.js";
import { xinhuaMpLogin, getLoginUserApi } from "@/api/user.js";
import { setToken } from "@/utils/token";
const res = ref("");
const login = () => {
......@@ -27,7 +27,20 @@ const login = () => {
xinhuaMpLogin({ encryptedData: info.data.uMobile, userType: "business" })
.then(data => {
res.value = data;
setToken(data.token);
setToken(data.data.token);
console.log("data", data);
getLoginUserApi().then(el => {
if (el.data && el.data.companyId) {
uni.switchTab({
url: "/pages/user/index"
});
} else {
uni.navigateTo({
url: "/pages/user/businessLicense/fillIn"
});
}
});
})
.catch(err => {
res.value = err;
......@@ -37,9 +50,6 @@ const login = () => {
test.value = err;
}
});
getLoginUserApi().then(res => {
console.log(res);
});
};
</script>
......
<template>
<view class="feedback-page">
<view class="title">问题描述</view>
<wd-textarea
show-word-limit
maxlength="300"
custom-class="textarea"
v-model="params.questionDesc"
placeholder="请输入你的问题"
/>
<view class="img-list">
<image v-for="(item, index) in imgArr" :key="index" :src="evn.APP_IMAGE_BASE_API + item" />
<view class="up-load" @click="chooseImage" v-if="imgArr.length < 3">
<wd-icon name="add" size="60rpx" color="#77818F"></wd-icon>
</view>
</view>
<view class="tip">上传图片(可上传0-3张图片)</view>
<wd-tabbar
@click="feedbackAddFn"
custom-style="display: flex;justify-content: center !important;"
fixed
placeholderW
safeAreaInsetBottom
>
<wd-button :round="false" class="foot-btn" :disabled="params.questionDesc == '' || params.imagesPath == ''"
>投诉建议</wd-button
>
</wd-tabbar>
</view>
</template>
<script setup>
import evn from "@/utils/config.js";
import { uploadFiles } from "@/utils/fileUpload";
import { feedbackAdd } from "@/api/user";
const value = ref("");
const imgArr = ref([]);
const params = reactive({
questionDesc: "",
imagesPath: ""
});
/* 选择图片 */
const chooseImage = () => {
console.log(123);
if (imgArr.value.length < 3) {
uni.chooseImage({
count: 1,
success: async ({ tempFiles }) => {
const res = await uploadFiles(tempFiles);
imgArr.value.push(res[0].key);
params.imagesPath = imgArr.value.join(",");
}
});
} else {
xma.showToast({
title: "最多只能上传3张图片",
icon: "none"
});
}
};
const feedbackAddFn = () => {
xma.showLoading();
if (params.questionDesc == "" || params.imagesPath == "") {
} else {
feedbackAdd(params).then(res => {
if (res.code == 200) {
xma.hideLoading();
xma.navigateBack({
delta: 1
});
}
});
}
};
</script>
<style lang="scss" scoped>
.feedback-page {
width: 750rpx;
display: flex;
flex-direction: column;
box-sizing: border-box;
padding: 16rpx 32rpx;
.title {
font-size: 32rpx;
font-weight: 600;
color: #1b2026;
}
.textarea {
margin-top: 32rpx;
background: #f2f5fb;
max-height: 272rpx;
:deep(.wd-textarea__value) {
background: #f2f5fb !important;
max-height: 272rpx;
width: 100%;
padding: 0 !important;
}
:deep(.wd-textarea__count) {
background: none !important;
}
}
.img-list {
display: flex;
align-items: center;
gap: 16rpx;
margin-top: 32rpx;
.up-load {
width: 160rpx;
height: 160rpx;
border-radius: 4rpx;
background: #f2f5fb;
display: flex;
align-items: center;
justify-content: center;
}
image {
width: 160rpx;
height: 160rpx;
}
}
.tip {
font-size: 24rpx;
margin-top: 16rpx;
color: #1b2026;
}
.foot-btn {
position: fixed;
width: 622rpx;
height: 80rpx;
border-radius: 12rpx;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
}
}
</style>
......@@ -64,7 +64,7 @@ const navList = reactive([
{
icon: new URL("@/static/image/user/question.png", import.meta.url).href,
url: "",
url: "/pages/user/problemRecord/index",
text: "问题反馈"
},
{
......
<template>
<view class="problem-page">
<view class="history-item" v-for="i in 10" :key="i">
<view class="item-left">
<view class="title">贵州人力资源服务业高质量发若</view>
<view class="time">2024-06-21 12:30</view>
</view>
<view class="btn" style="background: #f3f4f8">待回复</view>
</view>
<wd-tabbar
@click="navigateTo()"
custom-style="display: flex;justify-content: center !important;"
fixed
placeholder
safeAreaInsetBottom
>
<view class="foot-btn">投诉建议</view>
</wd-tabbar>
</view>
</template>
<script setup>
/**
* 跳转详情
*/
const navigateTo = () => {
xma.navigateTo({
url: `/pages/user/feedbackDetails/index`
});
};
onPullDownRefresh(() => {});
// 触底加载
onReachBottom(() => {});
</script>
<style lang="scss" scoped>
page {
background: #f3f4f8;
}
.problem-page {
width: 750rpx;
display: flex;
flex-direction: column;
gap: 16rpx;
.history-item {
background: #fff;
width: 100%;
box-sizing: border-box;
padding: 32rpx;
display: flex;
justify-content: space-between;
.item-left {
display: flex;
flex-direction: column;
.title {
font-size: 32rpx;
color: #1b2026;
max-width: 400rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.time {
font-size: 24rpx;
color: #77818f;
margin-top: 16rpx;
}
}
.btn {
box-sizing: border-box;
padding: 0rpx 32rpx;
display: flex;
height: 60rpx;
align-items: center;
font-size: 24rpx;
flex-shrink: 0;
}
}
.foot-btn {
position: fixed;
width: 622rpx;
height: 80rpx;
border-radius: 12rpx;
display: flex;
align-items: center;
justify-content: center;
background: #1f86ff;
color: #fff;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment