update
This commit is contained in:
parent
6ec5cdb3a1
commit
ac91a78c2d
@ -78,7 +78,7 @@
|
|||||||
{
|
{
|
||||||
"path": "addComplaints",
|
"path": "addComplaints",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "新增投诉建议"
|
"navigationBarTitleText": "优质文明服务监督"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -3,14 +3,21 @@
|
|||||||
<!-- 头部区域 -->
|
<!-- 头部区域 -->
|
||||||
<view class="header-section">
|
<view class="header-section">
|
||||||
<view class="header-bg">
|
<view class="header-bg">
|
||||||
<!-- <image mode="aspectFill" class="bg-image" src="https://eshangtech.com/ShopICO/jianyi_bg.png"></image> -->
|
|
||||||
<view class="header-overlay"></view>
|
<view class="header-overlay"></view>
|
||||||
|
<view class="header-pattern"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="header-content">
|
<view class="header-content">
|
||||||
<view class="header-title">高速公路服务区</view>
|
<view class="service-badge">
|
||||||
<view class="header-subtitle">优质文明服务监督</view>
|
<text class="badge-icon">🛡️</text>
|
||||||
<view class="header-subtitle" style="color:#2c3e50;font-size: 20rpx;margin-top: 16rpx;">
|
<text class="badge-text">服务监督</text>
|
||||||
此投诉为优质文明服务监督投诉渠道,非微信官方投诉渠道</view>
|
</view>
|
||||||
|
<view style="text-align: center;">
|
||||||
|
<view class="header-subtitle">高速公路服务区</view>
|
||||||
|
<view class="header-main-title">优质文明服务监督</view>
|
||||||
|
</view>
|
||||||
|
<view class="header-notice">
|
||||||
|
<text class="notice-text">此为高速公路服务区优质文明服务监督渠道,非微信官方投诉渠道</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -465,6 +472,15 @@ export default {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!this.saveMsg.ServerPartID) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请选择服务区',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!(this.selectTags && this.selectTags.length > 0)) {
|
if (!(this.selectTags && this.selectTags.length > 0)) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '请选择具体类型',
|
title: '请选择具体类型',
|
||||||
@ -496,7 +512,7 @@ export default {
|
|||||||
|
|
||||||
const req = {
|
const req = {
|
||||||
action_type: 'Complaints',
|
action_type: 'Complaints',
|
||||||
PROVINCECODE: data.ProvinceCode,
|
PROVINCECODE: data.ProvinceCode || '530000',
|
||||||
SERVERPARTID: data.ServerPartID,
|
SERVERPARTID: data.ServerPartID,
|
||||||
TYPE: data.Type,
|
TYPE: data.Type,
|
||||||
SUGGESTIONNAME: data.SuggestionName,
|
SUGGESTIONNAME: data.SuggestionName,
|
||||||
@ -598,7 +614,7 @@ export default {
|
|||||||
/* 头部区域 */
|
/* 头部区域 */
|
||||||
.header-section {
|
.header-section {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 320rpx;
|
height: 400rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -608,12 +624,6 @@ export default {
|
|||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|
||||||
.bg-image {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-overlay {
|
.header-overlay {
|
||||||
@ -622,30 +632,84 @@ export default {
|
|||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
background: linear-gradient(135deg, rgba(76, 175, 80, 0.85) 0%, rgba(46, 125, 50, 0.85) 100%);
|
background: linear-gradient(135deg, rgba(34, 197, 94, 0.9) 0%, rgba(22, 163, 74, 0.9) 50%, rgba(21, 128, 61, 0.9) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-pattern {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-image: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.1) 2rpx, transparent 2rpx),
|
||||||
|
radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.05) 1rpx, transparent 1rpx);
|
||||||
|
background-size: 80rpx 80rpx, 120rpx 120rpx;
|
||||||
|
opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-content {
|
.header-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 2;
|
z-index: 3;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
color: white;
|
color: white;
|
||||||
|
padding: 30rpx 0 70rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
// padding-top: 60rpx;
|
||||||
|
|
||||||
.header-title {
|
.service-badge {
|
||||||
font-size: 38rpx;
|
display: flex;
|
||||||
font-weight: bold;
|
align-items: center;
|
||||||
margin-bottom: 12rpx;
|
background: rgba(255, 255, 255, 0.2);
|
||||||
text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.3);
|
backdrop-filter: blur(10rpx);
|
||||||
|
padding: 12rpx 24rpx;
|
||||||
|
border-radius: 40rpx;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
border: 2rpx solid rgba(255, 255, 255, 0.3);
|
||||||
|
|
||||||
|
.badge-icon {
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-right: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-text {
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 2rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-main-title {
|
||||||
|
font-size: 48rpx;
|
||||||
|
font-weight: 800;
|
||||||
|
margin-bottom: 8rpx;
|
||||||
|
text-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.3);
|
||||||
|
letter-spacing: 2rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-subtitle {
|
.header-subtitle {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.2);
|
text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.2);
|
||||||
|
// margin-bottom: 24rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-notice {
|
||||||
|
max-width: 600rpx;
|
||||||
|
|
||||||
|
.notice-text {
|
||||||
|
font-size: 20rpx;
|
||||||
|
opacity: 0.75;
|
||||||
|
line-height: 1.4;
|
||||||
|
text-align: center;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -653,7 +717,7 @@ export default {
|
|||||||
.main-content {
|
.main-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
margin-top: -40rpx;
|
margin-top: -60rpx;
|
||||||
padding: 0 24rpx 40rpx;
|
padding: 0 24rpx 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -662,8 +726,9 @@ export default {
|
|||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border-radius: 24rpx;
|
border-radius: 24rpx;
|
||||||
margin-bottom: 32rpx;
|
margin-bottom: 32rpx;
|
||||||
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.1);
|
box-shadow: 0 8rpx 32rpx rgba(34, 197, 94, 0.15);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
border: 1rpx solid rgba(34, 197, 94, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-header {
|
.card-header {
|
||||||
@ -671,17 +736,19 @@ export default {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 24rpx;
|
padding: 24rpx;
|
||||||
border-bottom: 2rpx solid #f5f7fa;
|
border-bottom: 2rpx solid #f0fdf4;
|
||||||
|
background: linear-gradient(135deg, rgba(34, 197, 94, 0.03) 0%, rgba(22, 163, 74, 0.03) 100%);
|
||||||
|
|
||||||
.card-title {
|
.card-title {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #2c3e50;
|
color: #15803d;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-icon {
|
.card-icon {
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
opacity: 0.7;
|
opacity: 0.7;
|
||||||
|
color: #22c55e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -784,10 +851,10 @@ export default {
|
|||||||
border: 2rpx solid transparent;
|
border: 2rpx solid transparent;
|
||||||
|
|
||||||
&.tag-active {
|
&.tag-active {
|
||||||
background: linear-gradient(135deg, #52C88A, #3B9F6B);
|
background: linear-gradient(135deg, #22c55e, #16a34a);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-color: #52C88A;
|
border-color: #22c55e;
|
||||||
box-shadow: 0 4rpx 12rpx rgba(82, 200, 138, 0.3);
|
box-shadow: 0 4rpx 12rpx rgba(34, 197, 94, 0.3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -810,10 +877,10 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
border-color: #52C88A;
|
border-color: #22c55e;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
outline: none;
|
outline: none;
|
||||||
box-shadow: 0 0 0 6rpx rgba(82, 200, 138, 0.1);
|
box-shadow: 0 0 0 6rpx rgba(34, 197, 94, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
@ -823,7 +890,7 @@ export default {
|
|||||||
|
|
||||||
&.textarea-filled {
|
&.textarea-filled {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border-color: #52C88A;
|
border-color: #22c55e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -926,12 +993,12 @@ export default {
|
|||||||
box-shadow: 0 8rpx 24rpx rgba(149, 165, 166, 0.3);
|
box-shadow: 0 8rpx 24rpx rgba(149, 165, 166, 0.3);
|
||||||
|
|
||||||
&.submit-active {
|
&.submit-active {
|
||||||
background: linear-gradient(270deg, #27B25F 0%, #4CCC7F 100%);
|
background: linear-gradient(270deg, #16a34a 0%, #22c55e 100%);
|
||||||
box-shadow: 0 8rpx 24rpx rgba(76, 204, 127, 0.4);
|
box-shadow: 0 8rpx 24rpx rgba(34, 197, 94, 0.4);
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
transform: translateY(2rpx);
|
transform: translateY(2rpx);
|
||||||
box-shadow: 0 4rpx 16rpx rgba(76, 204, 127, 0.4);
|
box-shadow: 0 4rpx 16rpx rgba(34, 197, 94, 0.4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,7 @@ export default {
|
|||||||
_this.$api.getCoop({
|
_this.$api.getCoop({
|
||||||
action_type: 'GetSuggestionList',
|
action_type: 'GetSuggestionList',
|
||||||
wechatOpenid: _this.user.WECHATAPP_OPENID,
|
wechatOpenid: _this.user.WECHATAPP_OPENID,
|
||||||
provinceCode: _this.user.PROVINCE_CODE,
|
provinceCode: _this.user.PROVINCE_CODE || 530000,
|
||||||
suggestionType: '2000,1000,4000',
|
suggestionType: '2000,1000,4000',
|
||||||
pageSize: _this.pageMsg.pageSize,
|
pageSize: _this.pageMsg.pageSize,
|
||||||
pageIndex: _this.pageMsg.pageIndex,
|
pageIndex: _this.pageMsg.pageIndex,
|
||||||
|
|||||||
@ -163,7 +163,7 @@
|
|||||||
}" @click="showDetail(item)">
|
}" @click="showDetail(item)">
|
||||||
|
|
||||||
<image class="leftImg" style="width: 90px; height: 90px"
|
<image class="leftImg" style="width: 90px; height: 90px"
|
||||||
:src="item.IMAGE_PATH ? item.IMAGE_PATH.split(',') && item.IMAGE_PATH.split(',').length > 1 ? item.IMAGE_PATH.split(',')[0] : item.IMAGE_PATH : '/static/images/home/defultImg.png'"
|
:src="item.IMAGE_PATH ? item.IMAGE_PATH.split(',') && item.IMAGE_PATH.split(',').length > 1 ? item.IMAGE_PATH.split(',')[0] : item.IMAGE_PATH : item.IMAGE_PATHS ? item.IMAGE_PATHS : '/static/images/home/defultImg.png'"
|
||||||
:lazy-load="true" @error="e => e.target.src = '/static/images/home/defultImg.png'"
|
:lazy-load="true" @error="e => e.target.src = '/static/images/home/defultImg.png'"
|
||||||
:key="item.COMMODITY_ID" />
|
:key="item.COMMODITY_ID" />
|
||||||
|
|
||||||
|
|||||||
@ -614,9 +614,6 @@ export default {
|
|||||||
|
|
||||||
// 收藏
|
// 收藏
|
||||||
async handleCollect() {
|
async handleCollect() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (this.user && !this.user.MEMBERSHIP_ID || (!this.user && !this.user.MEMBERSHIP_ID)) {
|
if (this.user && !this.user.MEMBERSHIP_ID || (!this.user && !this.user.MEMBERSHIP_ID)) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
@ -871,9 +868,13 @@ export default {
|
|||||||
// 预览详情图片
|
// 预览详情图片
|
||||||
handlePreviewDetailImg(obj, list) {
|
handlePreviewDetailImg(obj, list) {
|
||||||
console.log("obj", obj);
|
console.log("obj", obj);
|
||||||
|
console.log("listlistlistlist", list);
|
||||||
let imgList = [];
|
let imgList = [];
|
||||||
if (list && list.length > 0) {
|
if (list && list.length > 0) {
|
||||||
imgList = list
|
// imgList = list
|
||||||
|
list.forEach((item) => {
|
||||||
|
imgList.push(item.IMAGE_URL)
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
if (this.good.List && this.good.List.length > 0) {
|
if (this.good.List && this.good.List.length > 0) {
|
||||||
this.good.List.forEach((item) => {
|
this.good.List.forEach((item) => {
|
||||||
|
|||||||
@ -149,6 +149,7 @@ export default {
|
|||||||
this.searchText = "";
|
this.searchText = "";
|
||||||
let _this = this
|
let _this = this
|
||||||
_this.isLoading = true
|
_this.isLoading = true
|
||||||
|
this.scrollToBottom();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
let data = this.qaList[index]
|
let data = this.qaList[index]
|
||||||
if (data) {
|
if (data) {
|
||||||
@ -160,6 +161,7 @@ export default {
|
|||||||
}
|
}
|
||||||
_this.isLoading = false
|
_this.isLoading = false
|
||||||
_this.$forceUpdate();
|
_this.$forceUpdate();
|
||||||
|
_this.scrollToBottom();
|
||||||
}, 500)
|
}, 500)
|
||||||
},
|
},
|
||||||
handleBack() {
|
handleBack() {
|
||||||
@ -169,7 +171,21 @@ export default {
|
|||||||
},
|
},
|
||||||
handleInput(e) {
|
handleInput(e) {
|
||||||
console.log('e', e);
|
console.log('e', e);
|
||||||
this.searchText = e.detail.value
|
const value = e.detail.value;
|
||||||
|
|
||||||
|
// 检测是否包含回车符
|
||||||
|
if (value.includes('\n')) {
|
||||||
|
// 移除回车符
|
||||||
|
const cleanValue = value.replace(/\n/g, '');
|
||||||
|
this.searchText = cleanValue;
|
||||||
|
|
||||||
|
// 如果有内容则发送
|
||||||
|
if (cleanValue.trim()) {
|
||||||
|
this.handleSubmit();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.searchText = value;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
console.log("this.searchText", this.searchText);
|
console.log("this.searchText", this.searchText);
|
||||||
@ -180,6 +196,7 @@ export default {
|
|||||||
this.searchText = "";
|
this.searchText = "";
|
||||||
let _this = this
|
let _this = this
|
||||||
_this.isLoading = true
|
_this.isLoading = true
|
||||||
|
this.scrollToBottom();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const data = _this.findClosestMatch(text)
|
const data = _this.findClosestMatch(text)
|
||||||
if (data) {
|
if (data) {
|
||||||
@ -191,6 +208,7 @@ export default {
|
|||||||
}
|
}
|
||||||
_this.isLoading = false
|
_this.isLoading = false
|
||||||
_this.$forceUpdate();
|
_this.$forceUpdate();
|
||||||
|
_this.scrollToBottom();
|
||||||
}, 500)
|
}, 500)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -216,6 +234,15 @@ export default {
|
|||||||
console.log('bestMatch', bestMatch);
|
console.log('bestMatch', bestMatch);
|
||||||
|
|
||||||
return bestMatch;
|
return bestMatch;
|
||||||
|
},
|
||||||
|
// 自动滚动到底部
|
||||||
|
scrollToBottom() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
uni.pageScrollTo({
|
||||||
|
scrollTop: 99999,
|
||||||
|
duration: 300
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -203,16 +203,16 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
let val = ""
|
let val = ""
|
||||||
if (type === 1) {
|
if (type === 1) {
|
||||||
val = this.editableNickname;
|
val = this.editableNickname || "";
|
||||||
this.editableNickname = val + ' ';
|
this.editableNickname = val + ' ';
|
||||||
} else if (type === 2) {
|
} else if (type === 2) {
|
||||||
val = this.email;
|
val = this.email || "";
|
||||||
this.email = val + ' ';
|
this.email = val + ' ';
|
||||||
} else if (type === 3) {
|
} else if (type === 3) {
|
||||||
val = this.realName;
|
val = this.realName || "";
|
||||||
this.realName = val + ' ';
|
this.realName = val + ' ';
|
||||||
} else if (type === 4) {
|
} else if (type === 4) {
|
||||||
val = this.idCard;
|
val = this.idCard || "";
|
||||||
this.idCard = val + ' ';
|
this.idCard = val + ' ';
|
||||||
}
|
}
|
||||||
// const val = this.editableNickname;
|
// const val = this.editableNickname;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -579,9 +579,13 @@ var _default = {
|
|||||||
// 预览详情图片
|
// 预览详情图片
|
||||||
handlePreviewDetailImg: function handlePreviewDetailImg(obj, list) {
|
handlePreviewDetailImg: function handlePreviewDetailImg(obj, list) {
|
||||||
console.log("obj", obj);
|
console.log("obj", obj);
|
||||||
|
console.log("listlistlistlist", list);
|
||||||
var imgList = [];
|
var imgList = [];
|
||||||
if (list && list.length > 0) {
|
if (list && list.length > 0) {
|
||||||
imgList = list;
|
// imgList = list
|
||||||
|
list.forEach(function (item) {
|
||||||
|
imgList.push(item.IMAGE_URL);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
if (this.good.List && this.good.List.length > 0) {
|
if (this.good.List && this.good.List.length > 0) {
|
||||||
this.good.List.forEach(function (item) {
|
this.good.List.forEach(function (item) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user