You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
4.4 KiB

<template>
<view class="content">
<view class="contentlist">
<block v-for="(item,index) in noticeList" :key="index">
<view class="content_box">
<view class="content_title" @click="showwhat(index)">
<view class="infoicon">
<u-icon size="16" color="#42b983" name="info-circle-fill"></u-icon>
<text>{{item.name}}</text>
</view>
<u-icon v-if="!item.shownotice" size="16" name="arrow-down"></u-icon>
<u-icon v-if="item.shownotice" size="16" name="arrow-up"></u-icon>
</view>
<view class="content_info" v-if="item.shownotice">
<rich-text style="text-indent: 2em;font-size: 28rpx;" :nodes="item.content"></rich-text>
</view>
</view>
</block>
<view class="content_box">
<view class="content_title" @click="showwhat('showform')">
<view class="infoicon">
<u-icon size="16" color="#42b983" name="info-circle-fill"></u-icon>
<text>意见建议</text>
</view>
<u-icon v-if="!show.showform" size="16" name="arrow-down"></u-icon>
<u-icon v-if="show.showform" size="16" name="arrow-up"></u-icon>
</view>
<view class="content_info" v-if="show.showform">
<u-form labelPosition="top" :model="form">
<u-form-item label="手机号" prop="mobile" labelWidth="60px" required>
<u-input v-model="form.mobile" placeholder="请输入手机号"></u-input>
</u-form-item>
<u-form-item label="内容" prop="content" labelWidth="60px" required>
<u-textarea v-model="form.content" placeholder="请输入内容"></u-textarea>
</u-form-item>
</u-form>
<u-button type="primary" @click="tosubmit"></u-button>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
notice: {},
ask: {},
form: {
mobile: "",
content: ""
},
show: {
shownotice: false,
showask: false,
showform: false
},
urls: {
1: '/api/mobile/other/visit-notice-index',
4: '/api/mobile/other/ask-index'
},
noticeList: []
}
},
onLoad() {
var that = this;
that.loadList(1, 1)
//that.loadList(1, 4)
},
onShareAppMessage() {
return this.util.shareInfo
},
methods: {
showwhat(type) {
if (type == "showform")
this.show[type] = !this.show[type];
else
this.noticeList[type].shownotice = !this.noticeList[type].shownotice;
this.$forceUpdate();
},
loadList(page, type) {
var that = this;
this.util.request({
api: this.urls[type],
data: {
page: page
},
utilSuccess: function(res) {
if (type == 1)
that.notice = res.data[0];
if (type == 4)
that.ask = res.data[0];
for (var mod of res.data) {
mod.shownotice = false;
}
that.noticeList = res.data
},
utilFail: function(res) {
uni.showToast({
icon: "none",
title: res
})
}
})
},
tosubmit() {
let that = this;
if (this.util.isNull(that.form.mobile)) {
this.util.toast("请填写手机号!");
return false;
} else {
if (!uni.$u.test.mobile(that.form.mobile)) {
this.util.toast("请填写正确的手机号!");
return false;
}
}
if (this.util.isNull(that.form.content)) {
this.util.toast("请填写内容!");
return false;
}
this.util.request({
api: '/api/mobile/other/tip-store',
data: this.form,
method: "POST",
utilSuccess: function(res) {
console.log(res)
uni.showToast({
icon: "none",
title: "投诉建议成功",
complete() {
uni.reLaunch({
url: "/pages/success/success?from=feed"
})
}
})
},
utilFail: function(res) {
that.util.toast(res);
}
})
}
}
}
</script>
<style>
page {
background: #f7f6f4;
}
.content {
padding: 0 24rpx 60rpx 24rpx;
min-height: 100vh;
background: #fff;
}
.content_box {
/* background: #FFFFFF;
border-radius: 16rpx;
padding: 30rpx 21rpx;
margin-bottom: 25rpx; */
}
.content_title {
padding: 26rpx 0;
border-bottom: #ddd 1rpx solid;
font-size: 32rpx;
color: #351C1B;
display: flex;
justify-content: space-between;
}
.infoicon view {
display: inline-block !important;
margin-right: 20rpx
}
.content_info {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #828282;
line-height: 40rpx;
padding-top: 32rpx;
}
</style>