Compare commits

...

4 Commits

  1. 66
      pages/news1/MerchantSettlement.vue
  2. 163
      pages/news1/feedback.vue
  3. 4
      pages/news1/setting.vue

@ -342,61 +342,101 @@ export default {
})
.finally()
},
onShowToast(t) {
uni.showToast({
title: t,
icon: 'none',
duration: 2000
})
},
sureSubmit() {
let tip_title = null
if (!this.form.store_name) {
tip_title = '请输入主体公司名称!'
this.onShowToast('请输入主体公司名称!')
return
}
if (!this.form.store_cat) {
tip_title = '请选择主营类目体类目!'
this.onShowToast(tip_title)
return
}
if (!this.form.store_address) {
tip_title = '请选择公司地址!'
this.onShowToast(tip_title)
return
}
if (!this.form.store_brand) {
tip_title = '请输入合作品牌!'
this.onShowToast(tip_title)
return
}
if (!this.brand_name) {
tip_title = '请选择代理入驻!'
this.onShowToast(tip_title)
return
}
if (!this.authorize_name) {
tip_title = '请选择一二级授权!'
}
if (!this.rate_name) {
tip_title = '请选择可否含税!'
this.onShowToast(tip_title)
return
}
if (!this.form.user_name) {
tip_title = '请输入联系人姓名!'
this.onShowToast(tip_title)
return
}
if (!this.form.user_position) {
tip_title = '请选择联系人职位!'
this.onShowToast(tip_title)
return
}
if (!this.form.user_mobile) {
tip_title = '请输入联系人手机号!'
this.onShowToast(tip_title)
return
}
if (this.form.user_mobile && (!/^\+?\d[\d -]{8,12}\d/.test(this.form.user_mobile))) {
tip_title = '手机号格式不正确!'
this.onShowToast(tip_title)
return
}
if (!this.form.user_wx) {
tip_title = '请输入联系人微信!'
this.onShowToast(tip_title)
return
}
if (!this.form.user_email) {
tip_title = '请输入联系人邮箱!'
this.onShowToast(tip_title)
return
}
if (!this.form.store_model) {
tip_title = '请选择仓库模式!'
this.onShowToast(tip_title)
return
}
if (!this.send_name) {
tip_title = '请选择周末是否发货!'
this.onShowToast(tip_title)
return
}
if (!this.factory_name) {
tip_title = '请选择是否自有工厂!'
this.onShowToast(tip_title)
return
}
if (!this.offline_name) {
tip_title = '请选择是否有线下渠道'
this.onShowToast(tip_title)
return
}
if (!this.shop_name) {
tip_title = '请选择是否有电商店铺!'
this.onShowToast(tip_title)
return
}
let plat_form = []
this.btnList.map(item => {
@ -407,19 +447,21 @@ export default {
this.form.store_type = plat_form
if (plat_form.length == 0 && this.form.has_online_shop == 1) {
tip_title = '请选择电商平台!'
}
if (tip_title != null) {
uni.showToast({
title: tip_title,
icon: 'none',
duration: 2000
})
this.onShowToast(tip_title)
return
}
help.joinStore(this.form)
.then(res => {
if (res.status) {
this.popShow = true
this.form = this.$options.data().form
this.send_name = ''
this.factory_name = ''
this.offline_name = ''
this.shop_name = ''
this.btnList.map(item => {
item.active = false
})
} else {
uni.showToast({
title: '入驻失败',
@ -429,14 +471,6 @@ export default {
}
})
.finally(() => {
this.form = this.$options.data().form
this.send_name = ''
this.factory_name = ''
this.offline_name = ''
this.shop_name = ''
this.btnList.map(item => {
item.active = false
})
})
},
}

@ -19,7 +19,7 @@
<u-form :model="form" ref="uForm">
<view class="section1Item">
<u-form-item label="反馈类型" label-width="150">
<u-form-item label="反馈类型" label-width="170">
<u-radio-group v-model="form.type">
<u-radio active-color="#FF4434" v-for="(item, index) in checkboxList1" :key="index"
:name="item.name">
@ -28,7 +28,7 @@
</u-radio-group>
</u-form-item>
<u-form-item label="反馈类型" label-width="150">
<u-form-item label="反馈类型" label-width="170">
<u-radio-group v-model="form.shop">
<u-radio active-color="#FF4434" v-for="(item, index) in checkboxList2" :key="index"
:name="item.name">
@ -37,25 +37,23 @@
</u-radio-group>
</u-form-item>
<u-form-item label="门店" label-width="150" @click="typeShow = true">
<u-form-item label="反馈类型" label-width="170" @click="typeShow = true">
<u-input v-model="form.shopText" placeholder="请选择门店" type="select" @click="typeShow = true" />
<u-action-sheet :list="shopList" :cancel-btn="false" v-model="typeShow"
@click="actionSheetCallback"></u-action-sheet>
</u-form-item>
<u-form-item label="投诉内容" label-width="150" label-position="top">
<u-form-item label="投诉内容" required label-width="150" label-position="top">
<u-input v-model="form.comment" class="textarea" placeholder="请填写投诉内容" type="textarea" />
</u-form-item>
<u-upload :fileList="finishImageList" :previewFullImage="true" @afterRead="afterRead" :maxCount="8"
width="180" height="180" upload-text="上传照片" @delete="deletePic" name="1" multiple></u-upload>
</view>
<view class="section1Item" style="margin-top:20rpx;">
<u-form-item label="您的称呼" label-width="150">
<u-input placeholder="请填写" v-model="form.name" />
<u-form-item label="您的称呼" label-width="170">
<u-input placeholder="请输入您的称呼" v-model="form.name" />
</u-form-item>
<u-form-item label="手机号码" label-width="150">
<u-input placeholder="请填写" v-model="form.phone" />
<u-form-item label="手机号码" label-width="170">
<u-input placeholder="请输入手机号" v-model="form.phone" />
</u-form-item>
</view>
</u-form>
@ -68,13 +66,9 @@
提交
</view>
</view>
<view class="section2" v-if="OrderType==1">
<view class="section2" v-if="OrderType == 1 && feedBackList.length > 0">
<view class="feedShow" v-for="(item, index) in feedBackList" :key="index">
<view class="feedbackItem">
<view class="statusfb">
<text v-if="item.status==0">待处理</text>
<text v-if="item.status==1">已完成</text>
</view>
<view class="feedbackContent">
<view class="fbTitle">
<view class="fbFlag">
@ -83,11 +77,18 @@
<text v-if="item.type == 3">表扬</text>
</view>
<view class="fbTitleText">
{{item.store_name}}
{{ item.shop_name }}
</view>
<view class="statusfb">
<text v-if="item.status == 0">待处理</text>
<text v-if="item.status == 1">已完成</text>
</view>
</view>
<u-read-more show-height="150" color="#9E9E9E" :toggle="true" close-text="展开">
<rich-text :nodes="item.content"></rich-text>
<u-read-more showHeight="160" textIndent="0" fontSize="26rpx" color="#9E9E9E" :toggle="true"
close-text="展开">
<rich-text v-if="index != 0" :nodes="item.content"></rich-text>
<rich-text v-else
nodes="投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容投诉内容"></rich-text>
</u-read-more>
<view class="timefb">
{{ item.created_at }}
@ -96,51 +97,44 @@
</view>
<view class="feedbackResult">
<u-collapse>
<u-collapse-item title="处理结果">
<u-form :model="item" ref="item">
<u-form-item label="处理时间" label-width="150" prop="time">
<u-collapse-item :open="true" title="处理结果">
<u-form :model="item" ref="item" class="selfForm">
<u-form-item label="处理时间:" label-width="150" prop="time">
{{ item.replay_at }}
</u-form-item>
<u-form-item label="反馈内容" label-width="150" prop="feedback">
<u-form-item label="反馈内容:" label-width="150" prop="feedback">
{{ item.content }}
</u-form-item>
</u-form>
</u-collapse-item>
</u-collapse>
</view>
</view>
</view>
</view>
<view class="section2" v-if="OrderType==2">
<view class="feedShow" v-for="(item,index) in feedBackList" :key="index">
<view class="feedbackItem">
<view class="section2" v-if="OrderType == 2 && feedBackList.length > 0">
<view class="feedShow" style="padding: 0;" v-for="(item, index) in feedBackList" :key="index">
<view class="feedbackResult">
<u-collapse>
<u-collapse-item :open="true" title="处理结果">
<u-form :model="item" ref="item">
<u-form-item label="处理时间" label-width="150" prop="time">
<u-form :model="item" ref="item" class="selfForm">
<u-form-item label="处理时间:" label-width="150" prop="time">
{{ item.replay_at }}
</u-form-item>
<u-form-item label="反馈内容" label-width="150" prop="feedback">
<u-form-item label="反馈内容:" label-width="150" prop="feedback">
{{ item.content }}
</u-form-item>
</u-form>
</u-collapse-item>
</u-collapse>
</view>
</view>
</view>
<!-- <view class="empty">
<image src="/static/news1/feedbackempty.png" mode="widthFix"></image>
<view class="empty" v-if="OrderType == 2">
<image class="emptyImg" :src="$picUrl + '/static/news1/feedbackempty.png'" mode="widthFix"></image>
<view class="emptytext">
还没有反馈内容
</view>
</view> -->
</view>
</view>
</template>
@ -218,6 +212,22 @@
},
submit() {
const that = this
if (that.form.comment == '') {
uni.showToast({
title: '请填写投诉内容!',
icon: 'none',
duration: 2000
})
return
}
if (this.form.phone && (!/^\+?\d[\d -]{8,12}\d/.test(this.form.phone))) {
uni.showToast({
title: '手机号格式不正确!',
icon: 'none',
duration: 2000
})
return
}
let params = {
shop_id: that.shop_id,
type: that.form.type,
@ -228,6 +238,8 @@
feedback.add(params)
.then(res => {
that.$toast(res.message)
that.shop_id = ''
that.form = that.$options.data().form
})
.catch(reject)
})
@ -238,6 +250,7 @@
*/
onOrderTab(type) {
this.OrderType = type;
this.feedBackList = []
if (type != 0) {
this.getFeedBack(type)
}
@ -247,7 +260,7 @@
//
const that = this
let params = {
is_my: '',
is_my: 0,
page: that.page
}
params.is_my = type == 1 ? 0 : 1
@ -391,15 +404,20 @@
}
}
.selfForm {
::v-deep .u-form-item {
padding: 0;
}
}
.section1 {
border: 1px solid transparent;
.section1Item {
background-color: #fff;
border-radius: 4px 4px 4px 4px;
margin: 120rpx 30rpx 30rpx 30rpx;
padding: 10rpx 40rpx;
padding: 20rpx 46rpx;
}
::v-deep .u-form-item--left__content__label {
@ -413,13 +431,12 @@
border: none;
}
.textarea {
height: 250rpx;
background: #F7F8FA;
border-radius: 3px 3px 3px 3px;
opacity: 1;
// .textarea {
// height: 258rpx;
// border-radius: 3px;
// border: solid 1upx #F7F8FA;
}
// }
::v-deep .u-input__textarea {
padding: 26rpx;
@ -430,7 +447,7 @@
margin: 16rpx 30rpx 30rpx 30rpx;
.introText {
font-size: 24rpx;
font-size: 26rpx;
color: #C5C6C8;
margin-top: 16rpx;
line-height: 40rpx;
@ -458,8 +475,8 @@
padding: 120rpx 30rpx 30rpx 30rpx;
.feedShow {
padding: 30rpx;
border-radius: 4px 4px 4px 4px;
padding: 30rpx 0;
border-radius: 4px;
background-color: #fff;
margin-bottom: 16rpx;
}
@ -467,36 +484,36 @@
.feedbackItem {
position: relative;
margin-bottom: 30rpx;
// border:1px solid yellow;
.statusfb {
position: absolute;
right: 0;
width: 92rpx;
top: 4rpx;
right: -30rpx;
width: 100rpx;
height: 44rpx;
line-height: 44rpx;
text-align: center;
border-radius: 22rpx 0 0 22rpx;
background-color: #EEFAF6;
font-size: 26rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-weight: bold;
color: #2DC37F;
top: 40rpx;
}
.feedbackContent {
padding-bottom: 30rpx;
border-bottom: 1px solid #A0A0A0;
padding: 0 30rpx 30rpx;
border-bottom: 1px solid #eee;
.fbTitle {
position: relative;
display: flex;
align-items: center;
width: calc(100% - 100rpx);
justify-content: space-between;
margin-bottom: 20rpx;
// width: calc(100% - 100rpx);
.fbFlag {
// width: 54rpx;
// height: 44rpx;
// line-height: 44rpx;
background: #FFFFFF;
border-radius: 3px;
opacity: 1;
@ -511,22 +528,32 @@
.fbTitleText {
flex: 1;
font-size: 28rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #000;
font-size: 500;
font-weight: bold;
margin-left: 20rpx;
}
}
.timefb {
margin-top: 20rpx;
font-size: 24rpx;
color: #A0A0A0;
}
}
}
.feedbackResult {
padding: 0 30rpx;
::v-deep .u-form-item--left__content__label {
color: #A6A6A6;
}
@ -545,17 +572,18 @@
}
}
.empty {
text-align: center;
position: relative;
top: 150rpx;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
height: calc(100vh - 102rpx);
image {
.emptyImg {
width: 210rpx;
height: auto;
}
.emptytext {
@ -563,9 +591,8 @@
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #717171;
margin-top: 36rpx;
}
}
}
</style>

@ -172,8 +172,8 @@ export default {
},
onOut() {
uni.showModal({
title: '友情提示',
content: '确认要注销吗?',
title: '您是否要注销账号?',
content: '',
success(o) {
if (o.confirm) {
uni.removeStorage('token');

Loading…
Cancel
Save