From cbe4990a1d7e5d0ed7b7d6d7a79a06411f343a45 Mon Sep 17 00:00:00 2001
From: tianyi <13521030702@163.com>
Date: Thu, 14 May 2026 17:06:04 +0800
Subject: [PATCH] 1
---
package2/group/groupBuySingle.vue | 22 +-
package2/myCenter/partTimeJobRegister.vue | 253 ++++++++++++------
package2/shop/afterService.vue | 302 +++++++++++++---------
3 files changed, 371 insertions(+), 206 deletions(-)
diff --git a/package2/group/groupBuySingle.vue b/package2/group/groupBuySingle.vue
index 4521a74..8128fd6 100644
--- a/package2/group/groupBuySingle.vue
+++ b/package2/group/groupBuySingle.vue
@@ -153,6 +153,9 @@
销量 {{item.tailWarn != null ? item.tailWarn : 0}}
+
+ ¥{{item.attributeListPrice | sliceMsg}}
+
-
+
@@ -822,6 +825,10 @@
const info = uni.getSystemInfoSync();
this.navBarHeight = info.statusBarHeight + 40;
},
+ onPullDownRefresh() {
+ this.getCategory(this.shopItem.id);
+ this.getProduct('');
+ },
onReady() {
// 记录container相对页面的初始偏移量
setTimeout(() => {
@@ -932,6 +939,7 @@
this.searchForm.categoryId = categoryId;
that.tui.request("/app/product/getShareList", "POST", this.searchForm, false, false).then((res) => {
that.loadStatus = 'nomore';
+ uni.stopPullDownRefresh()
if (res.code == 200) {
if (that.searchForm.pageNum == 1) {
that.productItem = res.result.records;
@@ -1772,10 +1780,14 @@
this.$refs.couponPopup.open('bottom');
},
back() {
- uni.navigateBack()
+ const pages = getCurrentPages();
+ if (pages.length > 1) {
+ uni.navigateBack();
+ } else {
+ uni.switchTab({ url: '/pages/index/index' });
+ }
}
}
-
}
@@ -2330,7 +2342,7 @@
border-radius: 10px;
float: left;
text-align: center;
- margin-right: 20px;
+ margin: 10px 20px 0 0;
padding: 10px 10px 0;
position: relative;
}
@@ -2342,7 +2354,7 @@
border-radius: 10px;
float: left;
text-align: center;
- margin-right: 20px;
+ margin: 10px 20px 0 0;
padding: 10px 10px 0;
position: relative;
}
diff --git a/package2/myCenter/partTimeJobRegister.vue b/package2/myCenter/partTimeJobRegister.vue
index 96eca0a..a7490a3 100644
--- a/package2/myCenter/partTimeJobRegister.vue
+++ b/package2/myCenter/partTimeJobRegister.vue
@@ -18,10 +18,11 @@
style="background: rgba(247, 248, 248, 0.6);height: 80rpx;line-height: 80rpx;padding: 18rpx 20rpx;border-radius: 20rpx;">
-
+
- * 学生证上传 身份信息仅用于认证身份,平台会严格保密
+ * 学生证上传 身份信息仅用于认证身份,平台会严格保密
-
+
@@ -99,13 +101,17 @@
-
-
+
+
- 备注:
-
+ 备注:
+
@@ -121,7 +127,8 @@
-
+
@@ -140,13 +147,17 @@
-
-
+
+
- 备注:
-
+ 备注:
+
@@ -156,7 +167,8 @@
-
关注公众号
@@ -170,6 +182,20 @@
+
+
+
+
-
{{item.title}}
@@ -190,8 +216,8 @@
alt="" style="width: 204rpx;height: 50rpx;" />
-
{{item.title}}
@@ -200,7 +226,8 @@
确定
-
+
@@ -219,12 +246,12 @@
highFloorFee: 0,
paotui: false,
waima: false,
- mobile:'',
+ mobile: '',
studentCard: '',
},
bigImg: '',
- qucan:[],
- songcan:[],
+ qucan: [],
+ songcan: [],
shopArea: [],
waimaRuleList: [],
paotuiRuleList: [],
@@ -235,55 +262,58 @@
},
onLoad() {
- this.getShopArea()
+ this.getShopArea()
this.getWorkerMessage()
},
onShow() {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
},
methods: {
- getWorkerMessage(){
+ getWorkerMessage() {
let that = this
- that.tui.request("/app/workerRelaPrice/getByWorkerId?workerId=" + uni.getStorageSync('worker').workerId, "GET", {}, false, true).then((res) => {
+ that.tui.request("/app/workerRelaPrice/getByWorkerId?workerId=" + uni.getStorageSync('worker').workerId,
+ "GET", {}, false, true).then((res) => {
if (res.code == 200) {
- if(res.result != null){
+ if (res.result != null) {
let data = res.result;
if (data.workerName) that.formData.name = data.workerName;
if (data.cardPicture) that.formData.studentCard = data.cardPicture;
if (data.mobile) that.formData.mobile = data.mobile;
- if (data.highFloorFee !== undefined && data.highFloorFee !== null) that.formData.highFloorFee = data.highFloorFee;
-
+ if (data.highFloorFee !== undefined && data.highFloorFee !== null) that.formData
+ .highFloorFee = data.highFloorFee;
+
let list = data.workerRelaPriceList || [];
let waimaList = list.filter(item => item.orderType == 0);
let paotuiList = list.filter(item => item.orderType == 1);
-
- if(waimaList.length > 0) {
+
+ if (waimaList.length > 0) {
that.formData.waima = true;
that.waimaRuleList = waimaList;
}
- if(paotuiList.length > 0) {
+ if (paotuiList.length > 0) {
that.formData.paotui = true;
that.paotuiRuleList = paotuiList;
}
that.$forceUpdate();
}
} else {
- that.tui.toast(res.message,1000)
+ that.tui.toast(res.message, 1000)
return
}
}).catch((res) => {})
},
- getShopArea(){
+ getShopArea() {
let that = this
- that.tui.request("/app/shopArea/getByParentId/"+JSON.parse(uni.getStorageSync('area')).id, "GET", {}, false, true).then((res) => {
+ that.tui.request("/app/shopArea/getByParentId/" + JSON.parse(uni.getStorageSync('area')).id, "GET", {},
+ false, true).then((res) => {
if (res.code == 200) {
- if(res.result != null){
- for(let m = 0;m {})
@@ -304,7 +334,7 @@
}
this.$forceUpdate()
},
- qucanOrsongcan(type,index){
+ qucanOrsongcan(type, index) {
if (type == 'qucan') {
this.qucan[index].checked = !this.qucan[index].checked
} else {
@@ -312,12 +342,15 @@
}
this.$forceUpdate()
},
- closeGuize(){
+ closeGuize() {
let selectedQucan = this.qucan.filter(item => item.checked);
let selectedSongcan = this.songcan.filter(item => item.checked);
-
- if(selectedQucan.length == 0 || selectedSongcan.length == 0) {
- uni.showToast({title: '请至少选择一个取货地址和一个送货地址', icon: 'none'});
+
+ if (selectedQucan.length == 0 || selectedSongcan.length == 0) {
+ uni.showToast({
+ title: '请至少选择一个取货地址和一个送货地址',
+ icon: 'none'
+ });
return;
}
@@ -326,12 +359,13 @@
let userId = uni.getStorageSync('id') || '';
selectedQucan.forEach(q => {
selectedSongcan.forEach(s => {
- let existing = currentRuleList.find(r => r.getAreaId == q.id && r.putAreaId == s.id);
+ let existing = currentRuleList.find(r => r.getAreaId == q.id && r.putAreaId == s
+ .id);
if (existing) {
newRules.push(existing);
} else {
newRules.push({
- workerId: "W"+userId,
+ workerId: "W" + userId,
getAreaId: q.id,
getAreaName: q.title,
putAreaId: s.id,
@@ -352,6 +386,11 @@
this.$refs.guizePopup.close()
},
+ changePopup(e){
+ if(e.show == false){
+ uni.navigateBack()
+ }
+ },
checkAddress(type) {
let that = this
this.currentConfigType = type;
@@ -365,41 +404,68 @@
let isPutChecked = currentRuleList.some(r => r.putAreaId == item.id);
if (item.isCanteen == isCanteenVal) {
- that.qucan.push({...item, checked: isGetChecked});
+ that.qucan.push({
+ ...item,
+ checked: isGetChecked
+ });
} else {
- that.songcan.push({...item, checked: isPutChecked});
+ that.songcan.push({
+ ...item,
+ checked: isPutChecked
+ });
}
});
this.$refs.guizePopup.open()
},
removeRule(type, index) {
- if(type == 'waima') {
+ if (type == 'waima') {
this.waimaRuleList.splice(index, 1);
} else {
this.paotuiRuleList.splice(index, 1);
}
},
submit() {
- if (!this.formData.name) return uni.showToast({title: '请填写姓名', icon: 'none'});
- if (!this.formData.studentCard) return uni.showToast({title: '请上传学生证', icon: 'none'});
- if (!this.formData.waima && !this.formData.paotui) return uni.showToast({title: '请至少选择一种兼职类型', icon: 'none'});
-
+ if (!this.formData.name) return uni.showToast({
+ title: '请填写姓名',
+ icon: 'none'
+ });
+ if (!this.formData.studentCard) return uni.showToast({
+ title: '请上传学生证',
+ icon: 'none'
+ });
+ if (!this.formData.waima && !this.formData.paotui) return uni.showToast({
+ title: '请至少选择一种兼职类型',
+ icon: 'none'
+ });
+
if (this.formData.waima && this.waimaRuleList.length == 0) {
- return uni.showToast({title: '请配置外卖规则', icon: 'none'});
+ return uni.showToast({
+ title: '请配置外卖规则',
+ icon: 'none'
+ });
}
if (this.formData.paotui && this.paotuiRuleList.length == 0) {
- return uni.showToast({title: '请配置快递规则', icon: 'none'});
+ return uni.showToast({
+ title: '请配置快递规则',
+ icon: 'none'
+ });
}
let workerRelaPriceList = [];
if (this.formData.waima) {
let invalid = this.waimaRuleList.find(item => !item.orderBkge);
- if (invalid) return uni.showToast({title: '请填写外卖配送费', icon: 'none'});
+ if (invalid) return uni.showToast({
+ title: '请填写外卖配送费',
+ icon: 'none'
+ });
workerRelaPriceList = workerRelaPriceList.concat(this.waimaRuleList);
}
if (this.formData.paotui) {
let invalid = this.paotuiRuleList.find(item => !item.orderBkge);
- if (invalid) return uni.showToast({title: '请填写快递配送费', icon: 'none'});
+ if (invalid) return uni.showToast({
+ title: '请填写快递配送费',
+ icon: 'none'
+ });
workerRelaPriceList = workerRelaPriceList.concat(this.paotuiRuleList);
}
@@ -412,32 +478,28 @@
workerRelaPriceList: workerRelaPriceList
};
- uni.showLoading({title: '提交中...', mask: true});
+ uni.showLoading({
+ title: '提交中...',
+ mask: true
+ });
this.tui.request('/app/workerRelaPrice/batchAdd', 'post', submitData).then(res => {
uni.hideLoading();
if (res.code == 200) {
let user = res.result;
- uni.setStorageSync('officialAccountOpenid',user.officialAccountOpenid)
- if(user.officialAccountOpenid == null || user.officialAccountOpenid == '' || user.officialAccountOpenid == undefined){
- uni.showModal({
- title: '提示',
- content: '您还没有关注公众号,关注公众号后可提现佣金',
- cancelText:'去关注',
- confirmText:'暂时不用',
- success: function (res) {
- if (res.confirm) {
- uni.showToast({title: '提交成功'});
- setTimeout(() => {
- uni.navigateBack();
- }, 1500);
- }
- }
+ uni.setStorageSync('officialAccountOpenid', user.officialAccountOpenid)
+ if (user.officialAccountOpenid == null || user.officialAccountOpenid == '' || user
+ .officialAccountOpenid == undefined) {
+ this.$refs.lianggePopup.open()
+ } else {
+ uni.showToast({
+ title: '提交成功'
});
- }else{
- uni.showToast({title: '提交成功'});
}
} else {
- uni.showToast({title: res.message, icon: 'none'});
+ uni.showToast({
+ title: res.message,
+ icon: 'none'
+ });
}
}).catch(err => {
uni.hideLoading();
@@ -558,6 +620,26 @@
height: 500rpx;
}
+ .liangge-popup-content {
+ background: #fff;
+ border-radius: 10px;
+ padding: 10px;
+ height: 150px;
+ }
+ .liangge-title{
+
+ height: 50px;
+ line-height: 35px;
+ text-align: center;
+ font-size: 16px;
+ font-weight: 700;
+
+ }
+ .liangge-text{
+ height: 30px;
+ font-size: 14px;
+ font-weight: 700;
+ }
.box-check-btn {
width: 160rpx;
height: 70rpx;
@@ -667,17 +749,18 @@
overflow: scroll;
position: relative;
}
- .guize-btn{
- background: #00231c;
- border-radius: 100rpx;
- height: 100rpx;
- width: 100%;
- margin: 120rpx auto 0;
- color: #b4ffee;
- clear: both;
- text-align: center;
- line-height: 100rpx;
- font-size:30rpx;
- font-weight: 700
+
+ .guize-btn {
+ background: #00231c;
+ border-radius: 100rpx;
+ height: 100rpx;
+ width: 100%;
+ margin: 120rpx auto 0;
+ color: #b4ffee;
+ clear: both;
+ text-align: center;
+ line-height: 100rpx;
+ font-size: 30rpx;
+ font-weight: 700
}
\ No newline at end of file
diff --git a/package2/shop/afterService.vue b/package2/shop/afterService.vue
index bb30864..b086427 100644
--- a/package2/shop/afterService.vue
+++ b/package2/shop/afterService.vue
@@ -52,121 +52,6 @@
-
-
-
-
-
@@ -230,6 +115,37 @@
+
+
+
@@ -265,6 +181,23 @@
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ },
+ delNode(data) {
+ // 1. 统一转为字符串
+ let str;
+ if (typeof data === 'object' && data !== null) {
+ // 对象或数组 → JSON 字符串
+ str = JSON.stringify(data);
+ } else if (typeof data === 'string') {
+ str = data;
+ } else {
+ // 其他类型(数字、布尔等)先转字符串
+ str = String(data);
+ }
+
+ // 2. 删除所有大括号 { } 和双引号 "
+ const result = str.replace(/[{}"]/g, '');
+ return result;
}
},
onShow() {
@@ -299,7 +232,7 @@
this.returnFormData.refundType = item.refundType;
this.returnFormData.refundTypeStatus = item.refundTypeStatus;
this.orderDetail = item.mallOrder;
- this.goodsList = item.items;
+ this.goodsList = item.items;
this.$refs.orderPopup.open();
},
makeCall(phone){
@@ -545,4 +478,141 @@
padding-right:20rpx;
font-weight: 700;
}
+ .product-popup-content {
+ width: 680rpx;
+ max-height: 880rpx;
+ padding: 34rpx 28rpx 30rpx;
+ box-sizing: border-box;
+ overflow: scroll;
+ border-radius: 36rpx;
+ background:
+ radial-gradient(circle at 92% 4%, rgba(166, 255, 234, 0.38) 0, rgba(166, 255, 234, 0) 180rpx),
+ linear-gradient(180deg, #ffffff 0%, #f8fffc 100%);
+ box-shadow: 0 24rpx 56rpx rgba(0, 35, 28, 0.18);
+ }
+
+ .product-popup-header {
+ margin-bottom: 26rpx;
+ text-align: center;
+ }
+
+ .product-popup-title {
+ color: #143d35;
+ font-size: 36rpx;
+ font-weight: 900;
+ line-height: 48rpx;
+ }
+
+ .product-popup-subtitle {
+ margin-top: 8rpx;
+ color: #7b8a85;
+ font-size: 24rpx;
+ line-height: 34rpx;
+ }
+
+ .product-popup-list {
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+ }
+
+ .product-popup-card {
+ display: flex;
+ align-items: center;
+ padding: 22rpx;
+ border: 1px solid rgba(166, 255, 234, 0.58);
+ border-radius: 28rpx;
+ background: rgba(255, 255, 255, 0.88);
+ box-shadow: 0 12rpx 28rpx rgba(0, 35, 28, 0.06);
+ }
+
+ .product-popup-img {
+ width: 128rpx;
+ height: 128rpx;
+ flex-shrink: 0;
+ overflow: hidden;
+ border-radius: 22rpx;
+ background: #f0f5f3;
+
+ img {
+ width: 100%;
+ height: 100%;
+ background-size: 100%;
+ }
+ }
+
+ .product-popup-info {
+ flex: 1;
+ min-width: 0;
+ padding: 0 22rpx;
+ }
+
+ .product-popup-name {
+ color: #172f2a;
+ font-size: 30rpx;
+ font-weight: 900;
+ line-height: 42rpx;
+ }
+
+ .product-popup-spec {
+ display: flex;
+ align-items: flex-start;
+ margin-top: 16rpx;
+ }
+
+ .product-popup-label {
+ flex-shrink: 0;
+ height: 34rpx;
+ padding: 0 14rpx;
+ border-radius: 999rpx;
+ background: rgba(166, 255, 234, 0.72);
+ color: #126255;
+ font-size: 20rpx;
+ font-weight: 800;
+ line-height: 34rpx;
+ }
+
+ .product-popup-spec-text {
+ flex: 1;
+ margin-left: 12rpx;
+ color: #65736f;
+ font-size: 24rpx;
+ line-height: 34rpx;
+ word-break: break-all;
+ }
+
+ .product-popup-quantity {
+ width: 92rpx;
+ height: 92rpx;
+ flex-shrink: 0;
+ border-radius: 28rpx;
+ background: linear-gradient(135deg, #fff4ce 0%, #a6ffea 100%);
+ color: #103f36;
+ text-align: center;
+ box-shadow: 0 10rpx 20rpx rgba(0, 35, 28, 0.08);
+ }
+
+ .product-popup-quantity-num {
+ padding-top: 16rpx;
+ font-size: 30rpx;
+ font-weight: 900;
+ line-height: 34rpx;
+ }
+
+ .product-popup-quantity-label {
+ margin-top: 2rpx;
+ color: #52736b;
+ font-size: 20rpx;
+ line-height: 28rpx;
+ }
+
+ .product-popup-empty {
+ padding: 80rpx 20rpx;
+ border-radius: 28rpx;
+ background: rgba(247, 255, 251, 0.9);
+ color: #7b8a85;
+ font-size: 28rpx;
+ font-weight: 700;
+ text-align: center;
+ }
\ No newline at end of file