update 订单

This commit is contained in:
qijq 2025-08-05 11:56:55 +08:00
parent 2cea3d2187
commit 9d9745e6c2
14 changed files with 2802 additions and 1886 deletions

View File

@ -72,7 +72,7 @@ export function GetSalesReturnOrderDetails(params) {
}
/**
* 退货订单不通过
* 退货订单拒绝退款
* @author Seven
* @data 2025-3-28
* @param {
@ -93,7 +93,7 @@ export function GetSalesReturnOrderNoPass(params) {
}
/**
* 退货订单不通过
* 退货订单同意退款
* @author Seven
* @data 2025-3-28
* @param {
@ -124,6 +124,26 @@ export function GetInitiativeOrderRefund(params) {
});
}
/**
* 催单
* @author Seven
* @data 2025-3-28
* @param {
* order_id : "DD-20241206-13"
* }
* @returns { }
* @see https://mall.gpxscs.cn/api/admin/shop/shop-order-info/picking/completed
*/
export function GetExpediteSFOrder(params) {
return http({
url: "/shop/sf-express/reminder-order",
method: "post",
params,
baseURL: config.apiMobile,
});
}
/**
* 拣货完成
* @author Seven

View File

@ -1,85 +1,108 @@
<template>
<view class="tui-tabs-view"
:class="[isFixed ? 'tui-tabs-fixed' : 'tui-tabs-relative', unlined ? 'tui-unlined' : '']" :style="{
<view
class="tui-tabs-view"
:class="[
isFixed ? 'tui-tabs-fixed' : 'tui-tabs-relative',
unlined ? 'tui-unlined' : '',
]"
:style="{
width: tabsWidth + 'px',
height: height + 'rpx',
padding: `0 ${padding}rpx`,
background: backgroundColor,
top: isFixed ? top + 'px' : 'auto',
zIndex: isFixed ? zIndex : 'auto'
}" v-if="tabsWidth>0">
<view v-for="(item, index) in tabs" :key="index" :class="['tui-tabs-item', { 'tui__tab_current': currentTab==index}]"
:style="{ width: getItemWidth,height: height + 'rpx' }" @tap.stop="swichTabs(index)">
<view class="tui-tabs-title" :class="{'tui-tabs-disabled': item.disabled }" :style="{
zIndex: isFixed ? zIndex : 'auto',
}"
v-if="tabsWidth > 0"
>
<view
v-for="(item, index) in tabs"
:key="index"
:class="['tui-tabs-item', { tui__tab_current: currentTab == index }]"
:style="{ width: getItemWidth, height: height + 'rpx' }"
@tap.stop="swichTabs(index)"
>
<view
class="tui-tabs-title"
:class="{ 'tui-tabs-disabled': item.disabled }"
:style="{
color: currentTab == index ? getSelectedColor : color,
fontSize: size + 'rpx',
fontWeight: bold && currentTab == index ? 'bold' : 'normal',transform:`scale(${currentTab == index?scale:1})`
}">
fontWeight: bold && currentTab == index ? 'bold' : 'normal',
transform: `scale(${currentTab == index ? scale : 1})`,
}"
>
{{ item[field] }}
<view :class="[item.isDot ? 'tui-badge__dot' : 'tui-tabs__badge']"
<view
:class="[item.isDot ? 'tui-badge__dot' : 'tui-tabs__badge']"
:style="{ color: badgeColor, backgroundColor: getBadgeBgColor }"
v-if="item[badgeField] || item.isDot">
{{ item.isDot ? '' : item[badgeField] }}
v-if="item[badgeField] || item.isDot"
>
{{ item.isDot ? "" : item[badgeField] }}
</view>
</view>
</view>
<view v-if="isSlider" class="tui-tabs-slider" :style="{
<view
v-if="isSlider"
class="tui-tabs-slider"
:style="{
transform: 'translateX(' + scrollLeft + 'px)',
width: sliderWidth + 'rpx',
height: sliderHeight + 'rpx',
borderRadius: sliderRadius,
bottom: bottom,
background: getSliderBgColor,
marginBottom: bottom == '50%' ? '-' + sliderHeight / 2 + 'rpx' : 0
}"></view>
marginBottom: bottom == '50%' ? '-' + sliderHeight / 2 + 'rpx' : 0,
}"
></view>
</view>
</template>
<script>
export default {
name: 'tuiTabs',
emits: ['change'],
name: "tuiTabs",
emits: ["change"],
props: {
//
tabs: {
type: Array,
default() {
return [];
}
},
},
//
field: {
type: String,
default: 'name'
default: "name",
},
badgeField: {
type: String,
default: 'num'
default: "num",
},
//tabs使windowWidthpx
width: {
type: [Number, String],
default: 0
default: 0,
},
//rpx
height: {
type: Number,
default: 80
default: 80,
},
//rpx padding0
padding: {
type: Number,
default: 30
default: 30,
},
//
backgroundColor: {
type: String,
default: '#FFFFFF'
default: "#FFFFFF",
},
//
isFixed: {
type: Boolean,
default: false
default: false,
},
//px
top: {
@ -88,91 +111,91 @@
default: 0,
// #endif
// #ifdef H5
default: 44
default: 44,
// #endif
},
//线
unlined: {
type: Boolean,
default: false
default: false,
},
//
currentTab: {
type: Number,
default: 0
default: 0,
},
isSlider: {
type: Boolean,
default: true
default: true,
},
//
sliderWidth: {
type: Number,
default: 68
default: 68,
},
//
sliderHeight: {
type: Number,
default: 6
default: 6,
},
//
sliderBgColor: {
type: String,
default: ''
default: "",
},
sliderRadius: {
type: String,
default: '50rpx'
default: "50rpx",
},
//bottom
bottom: {
type: String,
default: '0'
default: "0",
},
//
itemWidth: {
type: String,
default: ''
default: "",
},
//
color: {
type: String,
default: '#666'
default: "#666",
},
//
selectedColor: {
type: String,
default: ''
default: "",
},
//
size: {
type: Number,
default: 28
default: 28,
},
//
bold: {
type: Boolean,
default: false
default: false,
},
//2.3.0+
scale: {
type: [Number, String],
default: 1
default: 1,
},
//
badgeColor: {
type: String,
default: '#fff'
default: "#fff",
},
//
badgeBgColor: {
type: String,
default: ''
default: "",
},
zIndex: {
type: [Number, String],
default: 996
}
default: 996,
},
},
watch: {
currentTab() {
@ -184,32 +207,44 @@
width(val) {
this.tabsWidth = val;
this.checkCor();
}
},
},
computed: {
getItemWidth() {
let width = 100 / (this.tabs.length || 4) + '%'
return this.itemWidth ? this.itemWidth : width
let width = 100 / (this.tabs.length || 4) + "%";
return this.itemWidth ? this.itemWidth : width;
},
getSliderBgColor() {
return this.sliderBgColor || (uni && uni.$tui && uni.$tui.color.primary) || '#5677fc';
return (
this.sliderBgColor ||
(uni && uni.$tui && uni.$tui.color.primary) ||
"#5677fc"
);
},
getSelectedColor() {
return this.selectedColor || (uni && uni.$tui && uni.$tui.color.primary) || '#5677fc';
return (
this.selectedColor ||
(uni && uni.$tui && uni.$tui.color.primary) ||
"#5677fc"
);
},
getBadgeBgColor() {
return this.badgeBgColor || (uni && uni.$tui && uni.$tui.color.pink) || '#f74d54';
}
return (
this.badgeBgColor ||
(uni && uni.$tui && uni.$tui.color.pink) ||
"#f74d54"
);
},
},
created() {
//
setTimeout(() => {
uni.getSystemInfo({
success: res => {
success: (res) => {
this.winWidth = res.windowWidth;
this.tabsWidth = this.width == 0 ? this.winWidth : Number(this.width);
this.checkCor();
}
},
});
}, 0);
},
@ -217,7 +252,7 @@
return {
winWidth: 0,
tabsWidth: 0,
scrollLeft: 0
scrollLeft: 0,
};
},
methods: {
@ -225,7 +260,8 @@
let tabsNum = this.tabs.length;
let padding = uni.upx2px(Number(this.padding));
let width = this.tabsWidth - padding * 2;
let left = (width / tabsNum - uni.upx2px(Number(this.sliderWidth))) / 2 + padding;
let left =
(width / tabsNum - uni.upx2px(Number(this.sliderWidth))) / 2 + padding;
let scrollLeft = left;
if (this.currentTab > 0) {
scrollLeft = scrollLeft + (width / tabsNum) * this.currentTab;
@ -239,13 +275,13 @@
if (this.currentTab == index) {
return false;
} else {
this.$emit('change', {
this.$emit("change", {
index: Number(index),
item: item
item: item,
});
}
}
}
},
},
};
</script>
@ -269,7 +305,7 @@
.tui-tabs-fixed::before,
.tui-tabs-relative::before {
content: '';
content: "";
position: absolute;
border-bottom: 1rpx solid #eaeef1;
-webkit-transform: scaleY(0.5) translateZ(0);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -234,7 +234,7 @@
>
<view class="total-content">
<view class="total-name">
{{ specificationInfoList.length }}个规格
{{ specificationInfoList.length || 1 }}个规格
</view>
<u-icon name="arrow-right"></u-icon>
</view>
@ -748,6 +748,9 @@ export default {
return item; // item
});
if (this.specificationInfoList.length == 0) {
debugger;
}
console.log(this.specificationInfoList);
} catch (e) {
console.error("解析productSpec失败:", e);

View File

@ -359,7 +359,6 @@ export default {
} else {
this.loadingCommodityData = true;
}
if (this.isRefreshing) {
this.pageNum = 1;
this.isNoCommodityData = false;

View File

@ -521,7 +521,7 @@ export default {
item_quantity: item.itemQuantity,
item_quantity_2: "",
item_unit_price: item.product_unit_price,
item_quantity_2: "",
item_unit_price_2: "",
},
];
}
@ -740,7 +740,7 @@ export default {
item_id: item.item_id,
product_id: item.product_id,
item_quantity: item.item_quantity_2 || item.item_quantity,
item_unit_price: item.item_quantity_2 || item.item_unit_price,
item_unit_price: item.item_unit_price_2 || item.item_unit_price,
};
});

View File

@ -342,6 +342,7 @@ export default {
productItem: {},
isAdd: true,
selectCommodisItems: [],
inputSearch: "",
};
},
computed: {},
@ -409,7 +410,7 @@ export default {
// 1.
let productSpec = JSON.parse(JSON.stringify(item.product_spec));
if (productSpec.length > 0) {
productSpec = JSON.parse(productSpec);
if (!Array.isArray(productSpec)) {
productSpec = [productSpec]; //
@ -458,11 +459,22 @@ export default {
}
})
.filter((item) => item != undefined);
console.log(this.currSpecificationList);
} else {
this.currSpecificationList = [
{
...item,
item_quantity: item.itemQuantity,
item_quantity_2: "",
item_unit_price: item.product_unit_price,
item_unit_price_2: "",
},
];
}
this.showBottomPopup = true;
console.log(this.currSpecificationList);
}
},
async getProductList(inputSearch) {
async getProductList() {
if (this.loadingDownCommodityData) {
this.loadingCommodityData = false;
} else {
@ -484,9 +496,9 @@ export default {
openCount: true,
};
if (inputSearch) {
if (this.inputSearch) {
this.pageNum = 1;
params.product_name = inputSearch;
params.product_name = this.inputSearch;
}
let res = await GetProductList(params);
@ -660,30 +672,26 @@ export default {
});
},
async updateCommodityPriceAndQuantity(item) {
let params = {};
let params = this.currSpecificationList.map((item) => {
return {
item_id: item.item_id,
product_id: item.product_id,
item_quantity: item.item_quantity_2 || item.item_quantity,
item_unit_price: item.item_unit_price_2 || item.item_unit_price,
};
});
debugger;
let res = await UpdateCommodityPriceAndQuantity(params);
if (res && res.status) {
this.showBottomPopup = false;
this.$refs.uToast.show({
message: "修改成功",
type: "succeed",
duration: 1000,
});
//
let listParams = {
kind_id: "1201,1202,1203",
pageNum: 9999,
pageSize: this.pageSize,
product_state_id: this.currProductStateId,
category_id: this.currCategoryId,
openCount: true,
};
let result = await GetProductList(listParams);
if (result && result.status == 200) {
this.commodityList = res.data.items;
}
await this.getProductList();
}
this.showBottomPopup = false;
},

View File

@ -21,6 +21,10 @@
-moz-osx-font-smoothing: grayscale;
}
.custom-icon-a-Frame3:before {
content: "\e60c";
}
.custom-icon-jianhao_fangxing:before {
content: "\e728";
}

View File

@ -52,8 +52,6 @@ service.interceptors.response.use(
// });
}
console.log(res);
if (res && res.code == 30) {
uni.$u.toast(`token已经过期需要重新登录`);