|
|
<template>
|
|
|
<view class="content">
|
|
|
<view class='openinfo'>
|
|
|
<view>
|
|
|
<view>
|
|
|
<span></span>
|
|
|
<span>开放信息</span>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view>
|
|
|
<view class='open_info'>
|
|
|
<block v-for="(item,key) of openInfoObj">
|
|
|
<view v-if="key!='提醒' && key!='地址' && key!='咨询电话' && key!='服务时间'">
|
|
|
<view>{{item}}</view>
|
|
|
<view>{{key}}</view>
|
|
|
</view>
|
|
|
</block>
|
|
|
</view>
|
|
|
<!-- <uParse></uParse> -->
|
|
|
<view class='open_text'>
|
|
|
<u-parse v-if='showContent' :content="openInfoHtml?openInfoHtml:' '"/>
|
|
|
</view>
|
|
|
<!-- <view class='open_text'>
|
|
|
<span></span>
|
|
|
{{openInfoObj['提醒']?openInfoObj['提醒']:''}}
|
|
|
</view>
|
|
|
<view class='open_text'>
|
|
|
<span></span>
|
|
|
{{openInfoObj['服务时间']?openInfoObj['服务时间']:''}}
|
|
|
</view>
|
|
|
<view class='open_text'>
|
|
|
<span></span>
|
|
|
地址:{{openInfoObj['地址']?openInfoObj['地址']:''}}
|
|
|
</view>
|
|
|
<view class='open_text'>
|
|
|
<span></span>
|
|
|
咨询电话:{{openInfoObj['咨询电话']?openInfoObj['咨询电话']:''}}
|
|
|
</view> -->
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
<view class="back40"></view>
|
|
|
<view class="contentlist">
|
|
|
<block v-for="(item,index) in noticeList" :key="index">
|
|
|
<view class="content_box" v-if="item.name!='开放信息'">
|
|
|
<view class="content_title" @click="showwhat(index)">
|
|
|
|
|
|
<view class="infoicon">
|
|
|
<u-icon size="16" color="#cf995a" 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="#cf995a" 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>
|
|
|
|
|
|
<tabbar :current-page="1"></tabbar>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import tabbar from "../../components/tabbar/tabbar.vue"
|
|
|
import uParse from '@/components/gaoyia-parse/parse.vue'
|
|
|
export default {
|
|
|
components: {
|
|
|
tabbar,
|
|
|
uParse
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
notice: {},
|
|
|
ask: {},
|
|
|
form: {
|
|
|
mobile: "",
|
|
|
content: ""
|
|
|
},
|
|
|
openInfoObj: {},
|
|
|
openInfoHtml:'',
|
|
|
showContent:false,
|
|
|
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
|
|
|
},
|
|
|
|
|
|
onShareTimeline(){
|
|
|
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;
|
|
|
if (mod.name === '开放信息') {
|
|
|
let str = mod.content
|
|
|
let beforeIndex = str.indexOf("<p>") + 3
|
|
|
let afterIndex = str.indexOf("</p>")
|
|
|
let openStr = str.substring(beforeIndex, afterIndex)
|
|
|
let openArr = openStr.split('|')
|
|
|
for (let o of openArr) {
|
|
|
let oArr = o.split(':')
|
|
|
if(oArr[1].indexOf('—')>-1){
|
|
|
oArr[1] = oArr[1].replace(/—/g,'—')
|
|
|
}
|
|
|
that.openInfoObj[oArr[0]] = oArr[1]
|
|
|
}
|
|
|
|
|
|
let libeforeIndex = str.indexOf("<ul>") + 4
|
|
|
let liafterIndex = str.indexOf("</ul>")
|
|
|
that.openInfoHtml = str.substring(libeforeIndex, liafterIndex)
|
|
|
that.showContent = true
|
|
|
|
|
|
}
|
|
|
}
|
|
|
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) {
|
|
|
uni.showToast({
|
|
|
icon: "none",
|
|
|
title: "提交成功"
|
|
|
})
|
|
|
that.newsSubscription();
|
|
|
},
|
|
|
utilFail: function(res) {
|
|
|
that.util.toast(res);
|
|
|
}
|
|
|
})
|
|
|
|
|
|
},
|
|
|
newsSubscription() {
|
|
|
uni.getSetting({
|
|
|
withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
|
|
|
success(res) {
|
|
|
if (res.authSetting['scope.subscribeMessage']) {
|
|
|
uni.redirectTo({
|
|
|
url: '/pages/success/success?from=feed'
|
|
|
})
|
|
|
} else {
|
|
|
// 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
|
|
|
uni.requestSubscribeMessage({
|
|
|
tmplIds: ['12MYVOc27cEbWbBMgdfDqtNkvu4z81vRV2ZhiB755L0'],
|
|
|
success(res) {
|
|
|
uni.showToast({
|
|
|
title: '订阅成功'
|
|
|
})
|
|
|
uni.redirectTo({
|
|
|
url: '/pages/success/success?from=feed'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
@import url("/components/gaoyia-parse/parse.css");
|
|
|
page {
|
|
|
background: #f7f6f4;
|
|
|
}
|
|
|
|
|
|
.content {
|
|
|
/* padding: 0 24rpx 60rpx 24rpx; */
|
|
|
min-height: 100vh;
|
|
|
background: #fff;
|
|
|
padding-bottom: 200rpx;
|
|
|
}
|
|
|
|
|
|
.back40 {
|
|
|
width: 100%;
|
|
|
height: 40rpx;
|
|
|
background: #f6f6f6;
|
|
|
}
|
|
|
|
|
|
.openinfo {
|
|
|
background-color: #fff;
|
|
|
border-top: 1px solid #ccc;
|
|
|
padding: 35rpx 20rpx;
|
|
|
}
|
|
|
|
|
|
.openinfo>view:first-child view span:first-child {
|
|
|
background-color: #DEA166;
|
|
|
width: 5rpx;
|
|
|
height: 40rpx;
|
|
|
margin-right: 22rpx;
|
|
|
display: inline-block;
|
|
|
vertical-align: text-top;
|
|
|
}
|
|
|
|
|
|
.open_info {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
padding: 36rpx 0;
|
|
|
}
|
|
|
|
|
|
.open_info>view {
|
|
|
border: 1px solid #c48944;
|
|
|
border-radius: 10rpx;
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
.open_info view view {
|
|
|
padding: 10rpx 50rpx;
|
|
|
}
|
|
|
|
|
|
.open_info view view:first-child {
|
|
|
background-color: #f5ebde;
|
|
|
color: #c48944;
|
|
|
font-size: 36rpx;
|
|
|
border-radius: 10rpx 10rpx 0 0;
|
|
|
}
|
|
|
|
|
|
.open_info view view:last-child {
|
|
|
border-radius: 0 0 10rpx 10rpx;
|
|
|
}
|
|
|
|
|
|
.open_text {
|
|
|
color: #252525;
|
|
|
font-size: 28rpx;
|
|
|
line-height: 2.3;
|
|
|
}
|
|
|
.open_text .li{
|
|
|
line-height: 2.3;
|
|
|
}
|
|
|
.open_text .li::before{
|
|
|
content:'';
|
|
|
width: 8rpx;
|
|
|
height: 8rpx;
|
|
|
border-radius: 8rpx;
|
|
|
background-color: #BFBFBF;
|
|
|
display: inline-block;
|
|
|
vertical-align: middle;
|
|
|
margin: 0 10rpx;
|
|
|
margin-top: -6rpx;
|
|
|
}
|
|
|
.open_text span {
|
|
|
width: 8rpx;
|
|
|
height: 8rpx;
|
|
|
border-radius: 8rpx;
|
|
|
background-color: #BFBFBF;
|
|
|
display: inline-block;
|
|
|
vertical-align: middle;
|
|
|
margin: 0 16rpx;
|
|
|
margin-top: -6rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.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;
|
|
|
}
|
|
|
|
|
|
.contentlist {
|
|
|
background-color: #fff;
|
|
|
padding: 35rpx 20rpx;
|
|
|
padding-top: 9rpx;
|
|
|
}
|
|
|
|
|
|
.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;
|
|
|
line-height: 2.3;
|
|
|
}
|
|
|
|
|
|
.u-form {
|
|
|
padding: 0 32rpx !important;
|
|
|
padding: 0 20rpx !important;
|
|
|
padding-right: 0 !important;
|
|
|
}
|
|
|
.u-form-item__body__left__content__required{
|
|
|
margin-left: 18rpx!important;
|
|
|
}
|
|
|
.u-form-item__body__left__content__label{
|
|
|
margin-left: 30rpx!important;
|
|
|
width:200rpx;
|
|
|
}
|
|
|
</style> |