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

View File

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

View File

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

View File

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

View File

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

View File

@ -215,7 +215,7 @@
</div> </div>
</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() || new Date(good.UPPER_DATE).getTime() > new Date().getTime() ||
good.SEND_MODE > 0 || good.SEND_MODE > 0 ||
good.DELIVER_AREA || good.DELIVER_AREA ||

View File

@ -111,19 +111,22 @@
<!-- 优惠券信息 --> <!-- 优惠券信息 -->
<view class="couponBox"> <view class="couponBox">
<view class="CouponContent"> <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="CouponItemValue">{{ userInfo.COUPON_COUNT || 0 }}</view>
<view class="CouponItemLabel">优惠券</view> <view class="CouponItemLabel">优惠券</view>
</view> </view>
<view class="line"></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">{{ <view class="CouponItemValue">{{
$utils.handleFormatNumber(userInfo.MEMBERSHIP_POINT || 0) $utils.handleFormatNumber(userInfo.MEMBERSHIP_POINT || 0)
}}</view> }}</view>
<view class="CouponItemLabel">积分</view> <view class="CouponItemLabel">积分</view>
</view> </view>
<view class="line"></view> <view class="line" v-if="userInfo && userInfo.INDUSTRY_MEMBERSHIP_ID"></view>
<view class="CouponItem" @click="hanldGoBalance"> <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">{{ <view class="CouponItemValue">{{
$utils.handleFormatNumber(userInfo.ACCOUNT_BALANCE || 0) $utils.handleFormatNumber(userInfo.ACCOUNT_BALANCE || 0)
}}</view> }}</view>
@ -974,6 +977,7 @@ export default {
.getCoop({ .getCoop({
action_type: "GetMembershipInfo", action_type: "GetMembershipInfo",
WechatUserId: _this.user.WechatUserId, WechatUserId: _this.user.WechatUserId,
noLoading: true,
}) })
.then(function (data) { .then(function (data) {
if (data.ResultCode === "100") { 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, staticImagePath: staticImagePath,
request: function request(method, data, control, isWebApi) { request: function request(method, data, control, isWebApi) {
var _this = this; var _this = this;
if (method === 'POST') { // if (method === 'POST') {
if (data.noLoading) {} else { if (data.noLoading) {} else {
uni.showLoading({ uni.showLoading({
title: '加载中...', title: '加载中...',
mask: true mask: true
}); });
} }
}
// }
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
// uni.getAccountInfoSync().miniProgram.appId // uni.getAccountInfoSync().miniProgram.appId
if (data.publicParticipation) {} else { 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,7 +105,8 @@ var render = function () {
var g0 = !!_vm.showContent var g0 = !!_vm.showContent
? _vm.$utils.handleFormatNumber(_vm.userInfo.MEMBERSHIP_POINT || 0) ? _vm.$utils.handleFormatNumber(_vm.userInfo.MEMBERSHIP_POINT || 0)
: null : null
var g1 = !!_vm.showContent var g1 =
!!_vm.showContent && _vm.userInfo && _vm.userInfo.INDUSTRY_MEMBERSHIP_ID
? _vm.$utils.handleFormatNumber(_vm.userInfo.ACCOUNT_BALANCE || 0) ? _vm.$utils.handleFormatNumber(_vm.userInfo.ACCOUNT_BALANCE || 0)
: null : null
_vm.$mp.data = Object.assign( _vm.$mp.data = Object.assign(
@ -977,7 +978,8 @@ var _default = {
_this = _this9; _this = _this9;
_this.$api.getCoop({ _this.$api.getCoop({
action_type: "GetMembershipInfo", action_type: "GetMembershipInfo",
WechatUserId: _this.user.WechatUserId WechatUserId: _this.user.WechatUserId,
noLoading: true
}).then(function (data) { }).then(function (data) {
if (data.ResultCode === "100") { if (data.ResultCode === "100") {
var _data = data; var _data = data;

File diff suppressed because one or more lines are too long

View File

@ -32,7 +32,7 @@ const api = {
url: url, url: url,
staticImagePath, staticImagePath,
request(method, data, control, isWebApi) { request(method, data, control, isWebApi) {
if (method === 'POST') { // if (method === 'POST') {
if (data.noLoading) { if (data.noLoading) {
} else { } else {
uni.showLoading({ uni.showLoading({
@ -41,7 +41,7 @@ const api = {
}) })
} }
} // }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
// uni.getAccountInfoSync().miniProgram.appId // uni.getAccountInfoSync().miniProgram.appId