This commit is contained in:
ylj20011123 2025-09-10 18:26:11 +08:00
parent ba9aac4e6c
commit 0c217392da
70 changed files with 205 additions and 103 deletions

View File

@ -36,7 +36,19 @@
</view>
<!-- </picker> -->
<picker @change="bindTypePickerChange" :value="typeIndex" :range="typeRange" range-key="name">
<view v-if="detailSuggestion.SUGGESTION_ID">
<view class="form-item">
<view class="form-label">
<text class="label-icon">🏷</text>
<text class="label-text">类型</text>
</view>
<view class="form-input-wrapper">
<text class="form-value">{{ pageMsg.typeName }}</text>
<text class="arrow-icon"></text>
</view>
</view>
</view>
<picker v-else @change="bindTypePickerChange" :value="typeIndex" :range="typeRange" range-key="name">
<view class="form-item">
<view class="form-label">
<text class="label-icon">🏷</text>
@ -56,7 +68,8 @@
</view>
<view class="form-input-wrapper">
<input type="text" class="form-input" maxlength="20" placeholder="请输入您的姓名" @input="bindKeyInput"
data-field="SuggestionName" :value="saveMsg.SuggestionName" />
data-field="SuggestionName" :value="saveMsg.SuggestionName"
:disabled="detailSuggestion.SUGGESTION_ID" />
</view>
</view>
@ -67,7 +80,8 @@
</view>
<view class="form-input-wrapper">
<input type="number" class="form-input" maxlength="11" placeholder="请输入您的手机号"
@input="bindKeyInput" data-field="PhoneNumber" :value="saveMsg.PhoneNumber" />
@input="bindKeyInput" data-field="PhoneNumber" :value="saveMsg.PhoneNumber"
:disabled="detailSuggestion.SUGGESTION_ID" />
</view>
</view>
</view>
@ -100,7 +114,7 @@
<view class="textarea-wrapper">
<textarea class="form-textarea" cols="30" rows="6" cursor-spacing="200"
placeholder="请详细描述您的问题,我们将及时跟进解决(添加图片将有助于我们解决您的问题)" v-model="saveMsg.Info"
:class="{ 'textarea-filled': saveMsg.Info }">
:class="{ 'textarea-filled': saveMsg.Info }" :disabled="detailSuggestion.SUGGESTION_ID">
</textarea>
</view>
@ -110,11 +124,12 @@
<view class="upload-grid">
<view class="uploaded-image" v-for="(item, i) in imgsList" :key="i">
<image mode="aspectFill" :src='item' @click="seePhoto(item)"></image>
<view class="delete-btn" @click="deleteImg(i)">
<view class="delete-btn" v-if="!detailSuggestion.SUGGESTION_ID" @click="deleteImg(i)">
<text class="delete-icon">×</text>
</view>
</view>
<view class="upload-btn" @click="choeseImg" v-if="imgsList.length < 9">
<view class="upload-btn" @click="choeseImg"
v-if="imgsList.length < 9 && !detailSuggestion.SUGGESTION_ID">
<view class="upload-icon">📷</view>
<text class="upload-text">添加图片</text>
</view>
@ -124,7 +139,7 @@
</view>
<!-- 提交按钮 -->
<view class="submit-section">
<view class="submit-section" v-if="!detailSuggestion.SUGGESTION_ID">
<view class="submit-btn" :class="{ 'submit-active': noPost }" @click="checkFn">
<text class="submit-text">提交反馈</text>
</view>
@ -163,7 +178,8 @@ export default {
serverIndex: 0,
tagList: [], //
selectTags: [], //
currentService: {} //
currentService: {}, //
detailSuggestion: {} //
}
},
computed: {
@ -176,9 +192,14 @@ export default {
}
},
onLoad(option) {
console.log('optionoptionoption', option);
if (option.SUGGESTIONID) {
this.detailSuggestion.SUGGESTION_ID = option.SUGGESTIONID
}
console.log('this.serverList', this.serverList)
this.loadIndustry()
this.getTag()
},
onShow() {
let currentService = uni.getStorageSync("currentService");
@ -216,8 +237,52 @@ export default {
this.imgsList = []
},
methods: {
//
async handleGetComplaintsDetail() {
const req = {
action_type: 'GetSuggestionDetail',
PROVINCECODE: this.user.PROVINCE_CODE,
SUGGESTIONID: this.detailSuggestion.SUGGESTION_ID,
}
const data = await this.$api.getCoop(req)
this.detailSuggestion = data.Data
console.log('this.detailSuggestionthis.detailSuggestion', this.detailSuggestion);
console.log('this.tagListthis.tagListthis.tagList', this.tagList);
this.saveMsg = {
...this.saveMsg,
Type: this.detailSuggestion.SUGGESTION_TYPE,
SuggestionName: this.detailSuggestion.SUGGESTION_NAME,
Info: this.detailSuggestion.SUGGESTION_REASON,
PhoneNumber: this.detailSuggestion.PHONE_NUMBER,
}
this.currentService = {
SERVERPART_ID: this.detailSuggestion.SERVERPART_ID,
SERVERPART_NAME: this.detailSuggestion.SERVERPART_NAME,
}
this.imgsList = this.detailSuggestion.IMAGE_URL.split(',')
let labelList = this.detailSuggestion.ENUM_LABEL.split(',')
console.log('labelListlabelListlabelList', labelList);
let list = JSON.parse(JSON.stringify(this.tagList))
if (list && list.length > 0) {
list.forEach((item) => {
if (item.fieldenumList && item.fieldenumList.length > 0) {
item.fieldenumList.forEach((subItem) => {
if (labelList.indexOf(subItem.FIELDENUM_VALUE) !== -1) {
subItem.ischecked = true
}
})
}
})
}
this.tagList = list
},
//
handleGoMap() {
if (this.detailSuggestion.SUGGESTION_ID) {
return
}
uni.navigateTo({ url: "/pages/newMap/index/index?comeForm=complaints" });
},
bindServerPickerChange(event) {
@ -234,6 +299,10 @@ export default {
this.pageMsg.typeName = this.msgType[index].name
},
choeseImg() {
if (this.detailSuggestion.SUGGESTION_ID) {
return
}
let _this = this
let num = 9 - _this.imgsList.length
if (num === 0) {
@ -396,9 +465,13 @@ export default {
INFO: data.Info,
PHONENUMBER: data.PhoneNumber,
IMAGEARR: data.imageArr,
ENUMLABEL: data._enumLabel,
_enumLabel: data._enumLabel,
WECHATOPENID: this.user.WECHATAPP_OPENID,
}
console.log('reqreqreq', req);
this.$api.getCoop(req).then(function (rs) {
_this.$store.commit('refresh', true)
uni.hideLoading()
@ -431,9 +504,17 @@ export default {
fieldenumIndex: 4000
}).then(res => {
_this.tagList = res.Data.List
if (_this.detailSuggestion.SUGGESTION_ID) {
_this.handleGetComplaintsDetail()
}
})
},
selectTag(tag) {
if (this.detailSuggestion.SUGGESTION_ID) {
return
}
let index = this.selectTags.indexOf(tag.FIELDENUM_VALUE)
if (index !== -1) {
this.selectTags.splice(index, 1)
@ -442,6 +523,9 @@ export default {
}
tag.ischecked = tag.ischecked !== undefined ? !tag.ischecked : true
console.log('tagListtagList', this.tagList);
this.$forceUpdate()
}
},

View File

@ -145,7 +145,9 @@ export default {
})
},
goDetail(item) {
uni.navigateTo({ url: '/pages/complaints/addComplaints' })
console.log('itemitemitemitem', item);
uni.navigateTo({ url: `/pages/complaints/addComplaints?SUGGESTIONID=${item.SUGGESTION_ID}` })
},
goNew() {
uni.navigateTo({ url: '/pages/complaints/addComplaints' })

View File

@ -49,8 +49,8 @@
<view class="orderItemCenter"
v-for="(subItem, subIndex) in item.GOODSList.slice(0, item.isShowMore ? item.GOODSList.length : 5)"
:key="subIndex" @click.stop="handleGoShopDetail(item, subIndex)">
<view class="orderItemCenterLeft">
:key="subIndex">
<view class="orderItemCenterLeft" @click.stop="handleGoShopDetail(item, subIndex)">
<image class="orderItemShopImg"
:src="subItem.IMAGE_URL ? subItem.IMAGE_URL.split(',')[0] : 'https://eshangtech.com/ShopICO/no-picture.png'" />
</view>

View File

@ -28,8 +28,8 @@
<view class="orderItemCenter"
v-for="(subItem, subIndex) in item.DetailList.slice(0, item.isShowMore ? item.DetailList.length : 5)"
:key="subIndex" @click.stop="handleGoShopDetail(item, subIndex)">
<view class="orderItemCenterLeft">
:key="subIndex">
<view class="orderItemCenterLeft" @click.stop="handleGoShopDetail(item, subIndex)">
<image class="orderItemShopImg"
:src="subItem.ImageUrl ? subItem.ImageUrl : 'https://eshangtech.com/ShopICO/no-picture.png'" />
</view>
@ -354,10 +354,12 @@ export default {
width: 160rpx;
height: 160rpx;
margin-right: 12rpx;
border-radius: 8rpx;
.orderItemShopImg {
width: 100%;
height: 100%;
border-radius: 8rpx;
}
}

View File

@ -131,19 +131,23 @@
<!-- 优惠券信息 -->
<view class="couponBox">
<view class="CouponContent">
<view class="CouponItem" @click="handleGoCoupon">
<view class="CouponItem" @click="handleGoCoupon"
:style="{ width: userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID ? 'calc((100% - 2px) / 3)' : 'calc((100% - 2px) / 2)' }">
<view class="CouponItemValue">{{ userInfo.COUPON_COUNT || 0 }}</view>
<view class="CouponItemLabel">优惠券</view>
</view>
<view class="line"></view>
<view class="CouponItem" @click="handleGoPoint">
<view class="CouponItem" @click="handleGoPoint"
:style="{ width: userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID ? 'calc((100% - 2px) / 3)' : 'calc((100% - 2px) / 2)' }">
<view class="CouponItemValue">{{
$utils.handleFormatNumber(userInfo.MEMBERSHIP_POINT || 0)
}}</view>
<view class="CouponItemLabel">积分</view>
</view>
<view class="line"></view>
<view class="CouponItem" @click="hanldGoBalance">
<view class="line" v-if="userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID"></view>
<view class="CouponItem" v-if="userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID"
@click="hanldGoBalance"
:style="{ width: userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID ? 'calc((100% - 2px) / 3)' : 'calc((100% - 2px) / 2)' }">
<view class="CouponItemValue">{{
$utils.handleFormatNumber(userInfo.ACCOUNT_BALANCE || 0)
}}</view>
@ -953,6 +957,7 @@ export default {
.getCoop({
action_type: "GetMembershipInfo",
WechatUserId: _this.user.WechatUserId,
noLoading: true,
})
.then(function (data) {
if (data.ResultCode === "100") {
@ -1215,6 +1220,7 @@ export default {
pageSize: 99999,
ownerUnitId: 911,
requestType: "application/x-www-form-urlencoded",
noLoading: true,
};
const data = await this.$api.postCoop(req);
console.log('商城订单', data);

View File

@ -215,7 +215,7 @@
</div>
</div>
<div class="product-detail" style="background: #fff; padding: 16rpx 0" v-if="
<div class="product-detail" style="background: #fff; padding: 0" v-if="
new Date(good.UPPER_DATE).getTime() > new Date().getTime() ||
good.SEND_MODE > 0 ||
good.DELIVER_AREA ||

View File

@ -111,19 +111,22 @@
<!-- 优惠券信息 -->
<view class="couponBox">
<view class="CouponContent">
<view class="CouponItem" @click="handleGoCoupon">
<view class="CouponItem" @click="handleGoCoupon"
:style="{ width: userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID ? 'calc((100% - 2px) / 3)' : 'calc((100% - 2px) / 2)' }">
<view class="CouponItemValue">{{ userInfo.COUPON_COUNT || 0 }}</view>
<view class="CouponItemLabel">优惠券</view>
</view>
<view class="line"></view>
<view class="CouponItem" @click="handleGoPoint">
<view class="CouponItem" @click="handleGoPoint"
:style="{ width: userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID ? 'calc((100% - 2px) / 3)' : 'calc((100% - 2px) / 2)' }">
<view class="CouponItemValue">{{
$utils.handleFormatNumber(userInfo.MEMBERSHIP_POINT || 0)
}}</view>
<view class="CouponItemLabel">积分</view>
</view>
<view class="line"></view>
<view class="CouponItem" @click="hanldGoBalance">
<view class="line" v-if="userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID"></view>
<view class="CouponItem" @click="hanldGoBalance" v-if="userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID"
:style="{ width: userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID ? 'calc((100% - 2px) / 3)' : 'calc((100% - 2px) / 2)' }">
<view class="CouponItemValue">{{
$utils.handleFormatNumber(userInfo.ACCOUNT_BALANCE || 0)
}}</view>
@ -974,6 +977,7 @@ export default {
.getCoop({
action_type: "GetMembershipInfo",
WechatUserId: _this.user.WechatUserId,
noLoading: true,
})
.then(function (data) {
if (data.ResultCode === "100") {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

View File

@ -12937,14 +12937,16 @@ var api = {
staticImagePath: staticImagePath,
request: function request(method, data, control, isWebApi) {
var _this = this;
if (method === 'POST') {
if (data.noLoading) {} else {
uni.showLoading({
title: '加载中...',
mask: true
});
}
// if (method === 'POST') {
if (data.noLoading) {} else {
uni.showLoading({
title: '加载中...',
mask: true
});
}
// }
return new Promise(function (resolve, reject) {
// uni.getAccountInfoSync().miniProgram.appId
if (data.publicParticipation) {} else {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -105,9 +105,10 @@ var render = function () {
var g0 = !!_vm.showContent
? _vm.$utils.handleFormatNumber(_vm.userInfo.MEMBERSHIP_POINT || 0)
: null
var g1 = !!_vm.showContent
? _vm.$utils.handleFormatNumber(_vm.userInfo.ACCOUNT_BALANCE || 0)
: null
var g1 =
!!_vm.showContent && _vm.userInfo && _vm.userInfo.INDUSTRY_MEMBERSHIP_ID
? _vm.$utils.handleFormatNumber(_vm.userInfo.ACCOUNT_BALANCE || 0)
: null
_vm.$mp.data = Object.assign(
{},
{
@ -977,7 +978,8 @@ var _default = {
_this = _this9;
_this.$api.getCoop({
action_type: "GetMembershipInfo",
WechatUserId: _this.user.WechatUserId
WechatUserId: _this.user.WechatUserId,
noLoading: true
}).then(function (data) {
if (data.ResultCode === "100") {
var _data = data;

File diff suppressed because one or more lines are too long

View File

@ -32,17 +32,17 @@ const api = {
url: url,
staticImagePath,
request(method, data, control, isWebApi) {
if (method === 'POST') {
if (data.noLoading) {
} else {
uni.showLoading({
title: '加载中...',
mask: true
})
}
// if (method === 'POST') {
if (data.noLoading) {
} else {
uni.showLoading({
title: '加载中...',
mask: true
})
}
// }
return new Promise((resolve, reject) => {
// uni.getAccountInfoSync().miniProgram.appId
if (data.publicParticipation) {