Commit f8bbfa39 authored by 罗超's avatar 罗超

1

parent f4f355b0
<template>
<view class="item">
<view class="flex-between orderNum">
<text>订单号:20211018154423824347</text>
<text style="color: #446dfc">待退款</text>
<text>订单号:{{ data.OrderNo }}</text>
<text style="color: #446dfc">{{ data.OrderStatusName }}</text>
</view>
<view class="flex-between remarks" v-if="data.Remark">
商家备注:{{ data.Remark }}
</view>
<view class="flex-between remarks"> 商家备注:20211018154423824347 </view>
<view class="consigneeInfo">
<text style="margin-right: 40rpx">信息</text>
<text style="margin-right: 20rpx">13312341234</text>
<view class="flex-between" style="color: #446dfc">
<text style="margin-right: 40rpx">{{ data.Consignee }}</text>
<text style="margin-right: 20rpx">{{ data.Mobile }}</text>
<view
class="flex-between"
style="color: #446dfc"
@click="call(data.Mobile)"
>
<u-icon name="phone-circle-o" style="margin-right: 10rpx"></u-icon>
联系收货人
</view>
</view>
<view class="flex-between goodsInfo">
<view
class="flex-between goodsInfo"
v-for="(item, index) in data.DetailList"
:key="index"
>
<view class="goodsImg">
<image
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/mallManage/user.png"
mode="aspectFill"
class="img"
/>
<image :src="item.CoverImage" mode="aspectFill" class="img" />
</view>
<view class="goodsBox">
<view class="goodsName">测试商品</view>
<view class="weight">重量:</view>
<view class="goodsName">{{ item.GoodsName }}</view>
<view class="weight">规格:{{getSpecificationsStr(item.SpecificationList)}}</view>
<view class="flex-between">
<text>x1</text>
<text>0.01</text>
<text>x{{ item.Number }}</text>
<text>{{ item.SmallShopsCostPrice }}</text>
</view>
</view>
</view>
<view class="priceBox">
<text>合计:</text>
<text style="color: #111">¥0.01</text>
<text>(含运费¥0.01)</text>
<text style="color: #111">{{ data.Income }}</text>
<text v-if="data.FreightMoney > 0"
>(含运费¥{{ data.FreightMoney }}</text
>
</view>
<view class="btnBox">
<button class="btn">备注</button>
<button class="btn" @click="modal = true">备注</button>
<button class="btn">拒绝</button>
<button class="btn">同意</button>
</view>
<u-modal
v-model="modal"
:show-cancel-button="false"
@confirm="modal = false"
contentSlot
title="备注"
>
<input type="number" class="input" placeholder="(限15字)" :maxlength="15" v-model="data.Remark" />
</u-modal>
</view>
</template>
<script>
......@@ -48,7 +65,23 @@ export default {
data: Object,
},
data() {
return {};
return {
modal: false,
};
},
methods: {
call(num) {
uni.makePhoneCall({
phoneNumber: num,
});
},
getSpecificationsStr(arr){
let str=arr.map((e)=>{return e}).toString()
return str
}
},
mounted() {
console.log(54, this.data);
},
};
</script>
......@@ -65,7 +98,7 @@ export default {
box-sizing: border-box;
padding: 20rpx;
border-radius: 10rpx;
margin: 10rpx auto;
margin: 20rpx auto;
.orderNum {
font-size: 26rpx;
color: #333;
......@@ -145,4 +178,13 @@ export default {
}
}
}
.input {
width: 80%;
height: 80rpx;
border-radius: 10rpx;
background-color: #f7f7f7;
padding: 0 30rpx;
font-size: 26rpx;
margin: 40rpx auto;
}
</style>
\ No newline at end of file
......@@ -9,7 +9,7 @@
<view class="topinfo">
<view class="flex-center">
<image
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/mallManage/cash.png"
:src="photo"
class="headimg"
/>
<view class="name1">饭粒汪</view>
......@@ -125,16 +125,20 @@
<view class="title">快速处理</view>
<view class="flex-center HandleBox">
<view class="handleItem">
<view class="handleItemNum">0</view>
<view class="handleItemNum">{{ basicData.NoSendOrderNum }}</view>
<view class="handleItemName">待发货订单</view>
<view class="handleItemBtn"
<view
class="handleItemBtn"
@click="jumpPage('/pages/MallMange/order?orderType=1&tab=2')"
>立即发货 <u-icon name="arrow"></u-icon>
</view>
</view>
<view class="handleItem">
<view class="handleItemNum">0</view>
<view class="handleItemName">维权订单</view>
<view class="handleItemBtn"
<view class="handleItemNum">{{ basicData.ActivistOrderNum }}</view>
<view class="handleItemName">售后订单</view>
<view
class="handleItemBtn"
@click="jumpPage('/pages/MallMange/order?orderType=2')"
>立即处理 <u-icon name="arrow"></u-icon>
</view>
</view>
......@@ -142,7 +146,7 @@
</view>
<view class="echartsBox">
<view class="title flex-center">
<picker
<!-- <picker
@change="bindPickerChange"
:value="key"
:range="array"
......@@ -152,7 +156,8 @@
>{{ payType }}
<u-icon name="arrow-down"></u-icon>
</view>
</picker>
</picker> -->
<view></view>
<picker
@change="bindPickerChange1"
:value="key"
......@@ -218,6 +223,7 @@ export default {
},
data() {
return {
photo:"",//头像
array: [
{
name: "支付金额",
......@@ -240,18 +246,22 @@ export default {
array1: [
{
name: "全部",
key: 0,
},
{
name: "微信",
key: 1,
},
{
name: "商城",
name: "支付宝",
key: 2,
},
{
name: "拼团",
name: "抖音/头条",
key: 3,
},
{
name: "积分",
name: "百度",
key: 4,
},
],
......@@ -282,6 +292,8 @@ export default {
},
bindPickerChange1(e) {
this.payType1 = this.array1[e.detail.value].name;
this.basicQMsg.Source = this.array1[e.detail.value].Id;
this.getBasicData();
},
showColumn(canvasId, chartData) {
canvaColumn = new uCharts({
......@@ -467,11 +479,17 @@ export default {
);
},
//跳转到用户管理
goUserList(){
goUserList() {
uni.navigateTo({
url: '/pages/MallMange/userManage'
url: "/pages/MallMange/userManage",
});
}
},
//跳转页面
jumpPage(url) {
uni.navigateTo({
url: url,
});
},
},
onLoad() {
_self = this;
......@@ -483,6 +501,7 @@ export default {
title: "商城管理",
});
this.getBasicData();
this.photo=uni.getStorageSync('mall_UserInfo')?.Photo
},
};
</script>
......@@ -691,7 +710,7 @@ export default {
}
.handleItemBtn {
font-size: 26rpx;
font-size: 22rpx;
color: #9b9b9b;
display: flex;
align-items: center;
......@@ -708,13 +727,13 @@ export default {
.payType {
display: flex;
font-size: 30rpx;
font-size: 26rpx;
color: #9b9b9b;
}
}
.charts {
width: 100%;
height: 400rpx;
background-color: #ff5fff !important;
background-image: url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/mystudybg.png");
background-repeat: no-repeat;
background-size: cover;
......
......@@ -21,9 +21,10 @@
<u-icon name="search"></u-icon>
<view>搜索</view>
</view>
<view class="flex-center" @click="showModel = true">
{{ timeStr }} <u-icon name="arrow-down"></u-icon
></view>
<view class="flex-center timeStr" @click="showModel = true">
{{ timeStr }}
<u-icon name="arrow-down" style="margin-left: 10rpx"></u-icon>
</view>
<u-modal
v-model="showModel"
@confirm="confirm"
......@@ -48,8 +49,8 @@
<view class="timeTitle">开始时间</view>
<view class="time-picker">
<picker-view
:value="value"
@change="bindChange"
:value="valueS"
@change="bindChangeS"
class="picker-view"
indicator-style="height: 60rpx"
:indicator-class="activeClass"
......@@ -59,7 +60,8 @@
class="picker-item flex-center"
v-for="(item, index) in years"
:key="index"
>{{ item }}</view
>
{{ item }}</view
>
</picker-view-column>
<view style="line-height: 180rpx"></view>
......@@ -68,7 +70,8 @@
class="picker-item flex-center"
v-for="(item, index) in months"
:key="index"
>{{ item }}</view
>
{{ item }}</view
>
</picker-view-column>
<view style="line-height: 180rpx"></view>
......@@ -77,7 +80,8 @@
class="picker-item flex-center"
v-for="(item, index) in days"
:key="index"
>{{ item }}</view
>
{{ item }}</view
>
</picker-view-column>
<view style="line-height: 180rpx"></view>
......@@ -86,8 +90,8 @@
<view class="timeTitle">结束时间</view>
<view class="time-picker">
<picker-view
:value="value"
@change="bindChange"
:value="valueE"
@change="bindChangeE"
class="picker-view"
indicator-style="height: 60rpx"
indicator-class="activeClass"
......@@ -97,7 +101,8 @@
class="picker-item flex-center"
v-for="(item, index) in years"
:key="index"
>{{ item }}</view
>
{{ item }}</view
>
</picker-view-column>
<view style="line-height: 180rpx"></view>
......@@ -106,7 +111,8 @@
class="picker-item flex-center"
v-for="(item, index) in months"
:key="index"
>{{ item }}</view
>
{{ item }}</view
>
</picker-view-column>
<view style="line-height: 180rpx"></view>
......@@ -115,7 +121,8 @@
class="picker-item flex-center"
v-for="(item, index) in days"
:key="index"
>{{ item }}</view
>
{{ item }}</view
>
</picker-view-column>
<view style="line-height: 180rpx"></view>
......@@ -131,9 +138,17 @@
name="Name"
:current="currentTab"
@change="changeTab"
v-if="orderType === 1"
></u-tabs>
<u-tabs
:list="orderStatusList2"
name="Name"
:current="currentTab2"
@change="changeTab2"
v-if="orderType === 2"
></u-tabs>
</view>
<u-empty v-if="orderList.length == 0" text="暂无内容" mode="list"></u-empty>
<u-empty v-if="orderList.length == 0" text="暂无相关订单" mode="order"></u-empty>
<view
v-if="orderList.length > 0"
style="
......@@ -160,14 +175,14 @@
:font-size="24"
:margin-top="20"
:margin-bottom="20"
bg-color="#999"
bg-color="#f7f7f7"
/>
</scroll-view>
</view>
<!-- 加载中 -->
<view class="flex-center" style="margin-top: 20rpx" v-if="loading">
<u-loading mode="flower" size="48"></u-loading>
<Text style="color: #999">加载中...</Text>
<text style="color: #999">加载中...</text>
</view>
<tabbar></tabbar>
</view>
......@@ -211,7 +226,7 @@ export default {
curIndex: 0,
timeArr: [
{
name: "汇总",
name: "不限",
key: 1,
},
{
......@@ -237,7 +252,8 @@ export default {
month,
days,
day,
value: [9999, month - 1, day - 1],
valueS: [9999, month - 1, day - 1],
valueE: [9999, month - 1, day - 1],
list: [
{
name: "全部",
......@@ -281,22 +297,85 @@ export default {
},
orderStatusList: [],
orderList: [],
timer: null,
//------------------售后订单----------------------
msg2: {
pageIndex: 1,
pageSize: 15,
OrderSource: 0,
OrderType: 0,
DeliveryMethod: 0,
OrderId: 0,
StartTime: "",
EndTime: "",
OrderNo: "",
UserName: "",
UserId: 0,
GoodsName: "",
SelectStatus: 0,
ReOrderNo: "",
Consignee: "",
Mobile: "",
},
orderStatusList2: [],
currentTab2: 0,
};
},
methods: {
//筛选时间
confirm() {
console.log(1);
if (Date.parse(this.msg.StartTime) > Date.parse(this.msg.EndTime)) {
uni.showToast({
title: "开始时间不能大于结束时间",
icon: "none",
});
return;
}
if (this.orderType === 1) {
this.getList();
} else if (this.orderType === 2) {
this.getList2();
}
},
changeTime(e, i) {
this.curIndex = i;
this.timeStr = e.name;
if (e.key === 1) {
this.msg.StartTime = "";
this.msg.EndTime = "";
} else if (e.key === 2) {
this.msg.StartTime = this.$utils.AddDay("", -0);
this.msg.EndTime = this.$utils.AddDay("", -0);
} else if (e.key === 3) {
this.msg.StartTime = this.$utils.AddDay("", -1);
this.msg.EndTime = this.$utils.AddDay("", -1);
} else if (e.key === 4) {
this.msg.StartTime = this.$utils.AddDay("", -7);
this.msg.EndTime = this.$utils.AddDay("", -0);
} else if (e.key === 5) {
this.msg.StartTime = this.$utils.AddDay("", -0);
this.msg.EndTime = this.$utils.AddDay("", -0);
}
},
//自定义开始时间
bindChangeS(e) {
const val = e.detail.value;
this.msg.StartTime =
this.years[val[0]] +
"-" +
this.months[val[1]] +
"-" +
this.days[val[2]];
},
bindChange(e) {
//自定义结束时间
bindChangeE(e) {
const val = e.detail.value;
this.year = this.years[val[0]];
this.month = this.months[val[1]];
this.day = this.days[val[2]];
this.value = val;
this.msg.EndTime =
this.years[val[0]] +
"-" +
this.months[val[1]] +
"-" +
this.days[val[2]];
},
changeTab(index) {
this.currentTab = index;
......@@ -304,22 +383,57 @@ export default {
this.msg.pageIndex = 1;
this.getList();
},
changeTab2(index) {
this.currentTab2 = index;
this.msg2.SelectStatus = this.orderStatusList2[index].Id;
this.msg2.pageIndex = 1;
this.getList2();
},
lower(e) {
if (this.orderType === 1) {
if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++;
this.status = "loading";
this.getList();
if (this.timer) {
clearTimeout(this.timer);
}
this.timer = setTimeout(async () => {
await this.getList();
clearTimeout(this.timer);
}, 500);
} else {
this.status = "nomore";
}
} else if (this.orderType === 2) {
if (this.msg2.pageIndex < this.page_count) {
this.msg2.pageIndex++;
this.status = "loading";
if (this.timer) {
clearTimeout(this.timer);
}
this.timer = setTimeout(async () => {
await this.getList2();
clearTimeout(this.timer);
}, 500);
} else {
this.status = "nomore";
}
}
},
getOrderStatus() {
this.requestAdmin("/api/order/GetOrderStatusEnumList", {}, (res) => {
this.orderStatusList = res.data;
this.orderStatusList.unshift({ Id: 0, Name: "全部" });
this.orderStatusList.push({ Id: 8, Name: "回收站" });
this.orderStatusList.unshift({
Id: 0,
Name: "全部",
});
this.orderStatusList.push({
Id: 8,
Name: "回收站",
});
});
},
//普通订单数据
getList() {
this.loading = true;
this.requestAdmin("/api/order/GetGoodsOrderPageList", this.msg, (res) => {
......@@ -335,17 +449,77 @@ export default {
}
});
},
changeOrderType(n){
this.orderType=n
changeOrderType(n) {
this.orderType = n;
if (this.orderType === 1) {
this.currentTab = 0;
this.msg.OrderStatus = 0;
this.msg.pageIndex = 1;
this.getList();
} else if (this.orderType === 2) {
this.currentTab2 = 0;
this.msg2.SelectStatus = 0;
this.msg2.pageIndex = 1;
this.getList2();
}
},
//售后订单状态枚举
getAfterSalesOrderstatus() {
this.requestAdmin(
"/api/order/GetAfterSaleSelectStatusEnumList",
{},
(res) => {
this.orderStatusList2 = res.data;
this.orderStatusList2.unshift({
Id: 0,
Name: "全部",
});
}
);
},
//售后订单数据
getList2() {
this.loading = true;
this.requestAdmin(
"/api/order/GetGoodsOrderAfterPageList",
this.msg,
(res) => {
this.loading = false;
console.log(2, res);
if (res.resultCode == 1) {
this.page_count = res.data.pageCount;
if (this.page_count == 1) {
this.status = "nomore";
}
if (this.msg.pageIndex === 1) {
this.orderList = res.data.pageData;
} else {
this.orderLis = [...this.orderList, ...res.data.pageData];
}
}
}
);
},
onLoad() {
},
onLoad(options) {
this.timeStr = this.timeArr[0].name;
uni.setNavigationBarTitle({
title: "订单管理",
});
this.getList();
this.getOrderStatus();
this.getAfterSalesOrderstatus();
console.log(512, options);
if (options?.orderType) {
this.orderType = parseInt(options.orderType);
}
if (options?.tab) {
this.currentTab = parseInt(options.tab);
}
if (this.orderType === 1) {
this.getList();
} else if (this.orderType === 2) {
this.getList2();
}
},
};
</script>
......@@ -355,14 +529,17 @@ export default {
background-color: #f7f7f7;
box-sizing: border-box;
padding-bottom: 100rpx;
/deep/.u-model {
border-radius: 20rpx;
}
}
.typebox {
width: 100%;
height: 100rpx;
background-color: #fff;
.typeItem {
width: 320rpx;
height: 58rpx;
......@@ -371,34 +548,41 @@ export default {
border: 2rpx solid #446dfc;
font-size: 26rpx;
overflow: hidden;
.typeItem1 {
width: 50%;
height: 100%;
}
.activeType {
color: #fff;
background-color: #446dfc;
}
}
}
.flex-center {
display: flex;
justify-content: center;
align-items: center;
}
.flex-between {
display: flex;
justify-content: space-between;
align-items: center;
}
.flex-wrap {
display: flex;
flex-wrap: wrap;
}
.searchBox {
height: 90rpx;
background-color: #efeff4;
padding: 0 40rpx 0 20rpx;
.search {
width: 520rpx;
height: 50rpx;
......@@ -406,11 +590,13 @@ export default {
border-radius: 25rpx;
}
}
.contentSlot {
background-color: #fff;
box-sizing: border-box;
padding: 40rpx;
border-radius: 20rpx;
.timeItem {
width: 160rpx;
height: 70rpx;
......@@ -420,13 +606,16 @@ export default {
margin-right: 20rpx;
margin-bottom: 10rpx;
}
& .timeItem:nth-child(3n) {
margin-right: 0rpx;
}
.timeItemActive {
color: #446dfc;
border-color: #446dfc;
}
.timeTitle {
margin: 20rpx 0;
font-size: 30rpx;
......@@ -437,14 +626,22 @@ export default {
width: 100%;
height: 180rpx;
margin-top: 20rpx;
.picker-item {
height: 100rpx;
}
}
/deep/ .activeClass {
color: #446dfc !important;
}
.tabbox {
margin-bottom: 10rpx;
}
.timeStr {
font-size: 28rpx;
color: #446dfc !important;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment