大更新
This commit is contained in:
parent
7415eb9f60
commit
e66db9a9ec
34
api/admin.js
34
api/admin.js
|
@ -74,6 +74,14 @@ export function getAdminOrderDetail(merId, orderId) {
|
||||||
login: true
|
login: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 其他订单详情
|
||||||
|
*/
|
||||||
|
export function getAdminOtherOrderDetail(merId, orderId) {
|
||||||
|
return request.get("admin/other/" + merId + "/order/" + orderId, {}, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 订单发货信息获取
|
* 订单发货信息获取
|
||||||
*/
|
*/
|
||||||
|
@ -91,6 +99,15 @@ export function setAdminOrderDelivery(merId, id, data) {
|
||||||
login: true
|
login: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 其他订单发货保存
|
||||||
|
*/
|
||||||
|
export function setAdminOtherOrderDelivery(merId, id, data) {
|
||||||
|
return request.post("admin/other/" + merId + "/delivery/" + id, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单统计图
|
* 订单统计图
|
||||||
*/
|
*/
|
||||||
|
@ -149,6 +166,13 @@ export function verifierOrder(mer_id, code) {
|
||||||
export function orderStatistics(mer_id, data) {
|
export function orderStatistics(mer_id, data) {
|
||||||
return request.get("admin/" + mer_id + "/statistics", data);
|
return request.get("admin/" + mer_id + "/statistics", data);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 其他订单统计数
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function otherOrderStatistics(mer_id, data) {
|
||||||
|
return request.get("admin/other/" + mer_id + "/statistics", data);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 订单
|
* 订单
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
|
@ -174,6 +198,15 @@ export function getOrderList(where, merId) {
|
||||||
login: true
|
login: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 其他订单列表
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function getOtherOrderList(where, merId) {
|
||||||
|
return request.get(`admin/other/${merId}/order_list`, where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 退款订单列表
|
* 退款订单列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
|
@ -270,6 +303,7 @@ export function setRefundMark(merId, orderId, data) {
|
||||||
login: true
|
login: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 去核销
|
* 去核销
|
||||||
* @param object data
|
* @param object data
|
||||||
|
|
37
api/order.js
37
api/order.js
|
@ -47,6 +47,14 @@ export function getOrderList(data) {
|
||||||
return request.get('order/list', data);
|
return request.get('order/list', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 其他订单列表
|
||||||
|
* @param object data
|
||||||
|
*/
|
||||||
|
export function getOtherOrderList(data) {
|
||||||
|
return request.get('other_order/list', data);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单产品信息
|
* 订单产品信息
|
||||||
* @param string unique
|
* @param string unique
|
||||||
|
@ -78,6 +86,13 @@ export function orderPay(id, data) {
|
||||||
export function orderData(data) {
|
export function orderData(data) {
|
||||||
return request.get('order/number', data)
|
return request.get('order/number', data)
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 其他订单统计数据
|
||||||
|
*/
|
||||||
|
export function otherOrderData(data) {
|
||||||
|
return request.get('other_order/number', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单取消
|
* 订单取消
|
||||||
|
@ -114,6 +129,14 @@ export function getOrderDetail(uni) {
|
||||||
return request.get('order/detail/' + uni);
|
return request.get('order/detail/' + uni);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 其他订单详情
|
||||||
|
* @param string uni
|
||||||
|
*/
|
||||||
|
export function getOtherOrderDetail(uni) {
|
||||||
|
return request.get('other_order/detail/' + uni);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 未付款订单详情
|
* 未付款订单详情
|
||||||
* @param string uni
|
* @param string uni
|
||||||
|
@ -145,6 +168,16 @@ export function orderTake(uni) {
|
||||||
return request.post('order/take/' + uni);
|
return request.post('order/take/' + uni);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 其他订单收货
|
||||||
|
* @param string uni
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function otherOrderTake(uni) {
|
||||||
|
return request.post('other_order/take/' + uni);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单查询物流信息
|
* 订单查询物流信息
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
|
@ -218,6 +251,10 @@ export function orderCreate(data) {
|
||||||
export function createOrder(data) {
|
export function createOrder(data) {
|
||||||
return request.post("v2/order/create", data, { noAuth: true });
|
return request.post("v2/order/create", data, { noAuth: true });
|
||||||
}
|
}
|
||||||
|
// 生成其他订单
|
||||||
|
export function createOtherOrder(data) {
|
||||||
|
return request.post("other_order/create", data);
|
||||||
|
}
|
||||||
// 未支付订单
|
// 未支付订单
|
||||||
export function groupOrderList(data) {
|
export function groupOrderList(data) {
|
||||||
return request.get("order/group_order_list", data, { noAuth: true });
|
return request.get("order/group_order_list", data, { noAuth: true });
|
||||||
|
|
|
@ -106,7 +106,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="right-btn-box">
|
<view class="right-btn-box" v-if="btn">
|
||||||
<view class="btn-item err" v-if="item.is_refund ==1">退款中 x
|
<view class="btn-item err" v-if="item.is_refund ==1">退款中 x
|
||||||
{{item.product_num - item.refund_num}}</view>
|
{{item.product_num - item.refund_num}}</view>
|
||||||
<view class='btn-item err' v-if="item.is_refund >1">已退款 x {{item.product_num - item.refund_num}}
|
<view class='btn-item err' v-if="item.is_refund >1">已退款 x {{item.product_num - item.refund_num}}
|
||||||
|
@ -181,7 +181,11 @@
|
||||||
order_status:{
|
order_status:{
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0,
|
default: 0,
|
||||||
}
|
},
|
||||||
|
btn:{
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
computed: mapGetters(['viewColor']),
|
computed: mapGetters(['viewColor']),
|
||||||
data() {
|
data() {
|
||||||
|
|
|
@ -78,7 +78,7 @@ import { Toast } from '../libs/uniApi';
|
||||||
name: "shortPopup",
|
name: "shortPopup",
|
||||||
props: {
|
props: {
|
||||||
source:{
|
source:{
|
||||||
type: Number,
|
type: String | Number,
|
||||||
default: null
|
default: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
56
pages.json
56
pages.json
|
@ -91,6 +91,12 @@
|
||||||
"navigationBarTitleText": "采购车"
|
"navigationBarTitleText": "采购车"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/nongKe/supply_chain/shopping_trolley_other",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "采购车"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/moreProject/moreProject",
|
"path": "pages/moreProject/moreProject",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -304,6 +310,18 @@
|
||||||
// #endif
|
// #endif
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "订单详情"
|
||||||
|
//,
|
||||||
|
//"navigationBarBackgroundColor": "#e93323"
|
||||||
|
// #ifdef MP || APP-PLUS
|
||||||
|
// ,
|
||||||
|
//"navigationBarTextStyle": "#fff"
|
||||||
|
// #endif
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "stay",
|
"path": "stay",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -441,7 +459,13 @@
|
||||||
"navigationBarTitleText": "供货采购",
|
"navigationBarTitleText": "供货采购",
|
||||||
"enablePullDownRefresh": true
|
"enablePullDownRefresh": true
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
"path": "cloud_entrepot/indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarTitleText": "供货采购",
|
||||||
|
"enablePullDownRefresh": true
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
"path": "teach_video/teach_video",
|
"path": "teach_video/teach_video",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -711,6 +735,12 @@
|
||||||
"navigationBarTitleText": "提交订单"
|
"navigationBarTitleText": "提交订单"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "order_confirm/indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "提交订单"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "goods_details_store/index",
|
"path": "goods_details_store/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -753,6 +783,12 @@
|
||||||
"navigationBarTitleText": "采购订单"
|
"navigationBarTitleText": "采购订单"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "order_list/indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "赊账订单"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "order_list/relase",
|
"path": "order_list/relase",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -1150,6 +1186,12 @@
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "订单列表"
|
"navigationBarTitleText": "订单列表"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "orderList/indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "订单列表"
|
||||||
|
}
|
||||||
},{
|
},{
|
||||||
"path": "financial_management/index",
|
"path": "financial_management/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -1175,6 +1217,12 @@
|
||||||
"navigationBarTitleText": "订单详情"
|
"navigationBarTitleText": "订单详情"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "orderDetail/indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "订单详情"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "refundDetail/index",
|
"path": "refundDetail/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -1187,6 +1235,12 @@
|
||||||
"navigationBarTitleText": "订单发货"
|
"navigationBarTitleText": "订单发货"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "delivery/indexOther",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "订单发货"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "statistics/index",
|
"path": "statistics/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
|
|
@ -0,0 +1,851 @@
|
||||||
|
<template>
|
||||||
|
<view class="deliver-goods" :style="viewColor">
|
||||||
|
<header>
|
||||||
|
<view class="order-num acea-row row-between-wrapper">
|
||||||
|
<view class="num line1">订单号:{{ delivery.order_sn }}</view>
|
||||||
|
<view class="name line1">
|
||||||
|
<span class="iconfont icon-yonghu2"></span>{{ delivery.user && delivery.user.nickname }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="address">
|
||||||
|
<view class="name">
|
||||||
|
{{ delivery.real_name }}<span class="phone">{{ delivery.user && delivery.user_phone }}</span>
|
||||||
|
</view>
|
||||||
|
<view>{{ delivery.user_address }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="line">
|
||||||
|
<image :src="`${domain}/static/images/line.jpg`" />
|
||||||
|
</view>
|
||||||
|
</header>
|
||||||
|
<view class="wrapper">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>发货方式</view>
|
||||||
|
<view class="mode acea-row row-middle row-right">
|
||||||
|
<view class="goods" :class="active === index ? 'on' : ''" v-for="(item, index) in types" :key="index" @click="changeType(item, index)">
|
||||||
|
<span class="iconfont icon-xuanzhong2"></span>{{ item.title }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block v-if="logistics.length>0">
|
||||||
|
<view class="list">
|
||||||
|
<block v-if="delivery_type == 1">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>快递公司</view>
|
||||||
|
<view class="select-box">
|
||||||
|
<picker class="pickerBox" @change="bindPickerChange" :value="seIndex" :range="logistics" range-key="label">
|
||||||
|
<view class="uni-input">{{logistics[seIndex].label}}</view>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>快递单号</view>
|
||||||
|
<input type="text" placeholder="填写快递单号" v-model="delivery_id" class="mode" />
|
||||||
|
<!-- #ifdef MP -->
|
||||||
|
<text class="iconfont icon-xiangji" @click="scanCode"></text>
|
||||||
|
<!-- #endif -->
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
|
<text v-if="isWeixin" class="iconfont icon-xiangji" @click="scanCode"></text>
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<block v-if="delivery_type == 4">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>快递公司</view>
|
||||||
|
<view class="select-box">
|
||||||
|
<picker class="pickerBox" @change="bindPickerChange" :value="seIndex" :range="logistics" range-key="label">
|
||||||
|
<view class="uni-input">{{logistics[seIndex].label}}</view>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper" v-if="expTemp.length > 0 && delivery_type == 4">
|
||||||
|
<view>电子面单</view>
|
||||||
|
<div style="display: flex;align-items: center;">
|
||||||
|
<picker class="pickerBox" @change="bindTempChange" :value="expIndex" :range="expTemp" range-key="title">
|
||||||
|
<view class="uni-input input-inline">{{expTemp[expIndex].title}}</view>
|
||||||
|
</picker>
|
||||||
|
<div class="look" @click="previewImage">预览</div>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>寄件人姓名</view>
|
||||||
|
<input type="text" placeholder="填写寄件人姓名" v-model="from_name" class="mode" />
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>寄件人电话</view>
|
||||||
|
<input type="text" placeholder="填写寄件人电话" v-model="from_tel" class="mode" />
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>寄件人地址</view>
|
||||||
|
<input type="text" placeholder="填写寄件人地址" v-model="from_addr" class="mode" />
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="list" v-if="delivery_type == 2">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>送货人姓名</view>
|
||||||
|
<input type="text" placeholder="填写送货人姓名" maxlength="10" v-model="to_name" class="mode" />
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>送货人电话</view>
|
||||||
|
<input type="text" placeholder="填写送货人电话" v-model="to_phone" class="mode" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block v-if="delivery_type == 5">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>发货点</view>
|
||||||
|
<view class="select-box">
|
||||||
|
<picker class="pickerBox" @change="bindStoreChange" :value="storeIndex" :range="storeList" range-key="label">
|
||||||
|
<view class="uni-input">{{storeList[storeIndex] && storeList[storeIndex].label}}</view>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>包裹重量</view>
|
||||||
|
<input type="number" placeholder="填写包裹重量" v-model="cargo_weight" class="mode" />
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>配送备注</view>
|
||||||
|
<input type="textarea" placeholder="填写配送备注" v-model="mark" class="mode textarea" />
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<view class="list">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>发货备注</view>
|
||||||
|
<input type="textarea" placeholder="填写发货备注" v-model="remark" class="mode textarea" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block v-if="(delivery.orderProduct) && ((delivery.orderProduct.length > 1) || (delivery.orderProduct.length==1 && delivery.orderProduct[0]['refund_num']>1)) && activity_type != 2">
|
||||||
|
<view class="item acea-row row-between-wrapper">
|
||||||
|
<view>分单发货</view>
|
||||||
|
<view class="mode acea-row row-middle row-right">
|
||||||
|
<view class="goods" :class="curSplit === item.key ? 'on' : ''" v-for="(item, index) in splitList" :key="index" @click="changeSplit(item, index)">
|
||||||
|
<span class="iconfont icon-xuanzhong2"></span>{{ item.title }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<block v-if="curSplit">
|
||||||
|
<view v-for="(item, index) in delivery.orderProduct">
|
||||||
|
<view class="pro_list acea-row">
|
||||||
|
<view class="checkbox" @tap.stop="checkedChange(item)">
|
||||||
|
<text v-if="item.checked" class="iconfont icon-xuanzhong1"></text>
|
||||||
|
<text v-else class="iconfont icon-weixuanzhong"></text>
|
||||||
|
</view>
|
||||||
|
<view v-if="item.cart_info && item.cart_info.product" class="picture">
|
||||||
|
<image :src="item.cart_info.product.image"></image>
|
||||||
|
</view>
|
||||||
|
<view class="info" v-if="item.cart_info && item.cart_info.product">
|
||||||
|
<view class="name line2">{{item.cart_info.product.store_name}}</view>
|
||||||
|
<view class="info_sku" v-if="item.cart_info && item.cart_info.productAttr">{{item.cart_info.productAttr.sku}}</view>
|
||||||
|
<view class="info_price" v-if="item.cart_info && item.cart_info.productAttr">¥<text>{{item.cart_info.productAttr.price}}</text></view>
|
||||||
|
<view class='carnum acea-row row-center-wrapper'>
|
||||||
|
<view class="reduce" :class="item.numSub ? 'on' : ''" @click.stop='subCart(item)'>-</view>
|
||||||
|
<view class='num'>{{item.split_num}}</view>
|
||||||
|
<view class="plus" :class="item.numAdd ? 'on' : ''" @click.stop='addCart(item)'>+</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</block>
|
||||||
|
<block v-if="!curSplit">
|
||||||
|
<view class="pro_count" v-if="delivery.orderProduct">
|
||||||
|
<view class="title">共{{delivery.orderProduct.length}}件商品</view>
|
||||||
|
<view v-for="(item, index) in delivery.orderProduct">
|
||||||
|
<view class="pro_list acea-row">
|
||||||
|
<view v-if="item.cart_info && item.cart_info.product" class="picture">
|
||||||
|
<image :src="item.cart_info.product.image"></image>
|
||||||
|
</view>
|
||||||
|
<view class="info pro_info" v-if="item.cart_info && item.cart_info.product">
|
||||||
|
<view class="name line2">{{item.cart_info.product.store_name}}</view>
|
||||||
|
<view class="info_sku" v-if="item.cart_info && item.cart_info.productAttr">{{item.cart_info.productAttr.sku}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="pro_price" v-if="item.cart_info && item.cart_info.productAttr">
|
||||||
|
<view class="info_price">¥{{item.cart_info.productAttr.price}}</view>
|
||||||
|
<view class="info_num">x{{item.product_num}}</view>
|
||||||
|
<view class="refund_num" v-if="item.product_num-item.refund_num>0">{{item.product_num-item.refund_num}}件{{item.is_refund==1?'退款中' : item.is_refund==2 ? '已退款' : item.is_refund==3?'全部退款':''}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="footer">
|
||||||
|
共{{delivery.orderProduct.length}}件商品,应支付<text> ¥{{delivery.pay_price}} </text>(运费¥{{delivery.pay_postage}})
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<view style="height:5.4rem;"></view>
|
||||||
|
<view class="confirm_btn"><view class="confirm" @click="saveInfo">确认提交</view></view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import {
|
||||||
|
getAdminOrderDetail,
|
||||||
|
getAdminOtherOrderDetail,
|
||||||
|
setAdminOrderDelivery,
|
||||||
|
setAdminOtherOrderDelivery,
|
||||||
|
orderExportTemp,
|
||||||
|
orderDeliveryInfo,
|
||||||
|
getTempAndDelivery,
|
||||||
|
getDeliveryStoreLst
|
||||||
|
} from "@/api/admin";
|
||||||
|
import { mapGetters } from "vuex";
|
||||||
|
import { expressList } from "@/api/order";
|
||||||
|
import { checkPhone } from '@/utils/validate.js';
|
||||||
|
import { HTTP_REQUEST_URL } from '@/config/app';
|
||||||
|
export default {
|
||||||
|
name: "GoodsDeliver",
|
||||||
|
components: {},
|
||||||
|
props: {},
|
||||||
|
data: function() {
|
||||||
|
return {
|
||||||
|
types: [
|
||||||
|
// {
|
||||||
|
// type: 1,
|
||||||
|
// title: "发货"
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
type: 2,
|
||||||
|
title: "送货"
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// type: 3,
|
||||||
|
// title: "无需物流"
|
||||||
|
// }
|
||||||
|
],
|
||||||
|
splitList: [
|
||||||
|
{
|
||||||
|
title: '开启',
|
||||||
|
key: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '关闭',
|
||||||
|
key: 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
curSplit: 0,
|
||||||
|
curExpress: 1,
|
||||||
|
active: 0,
|
||||||
|
order_id: "",
|
||||||
|
delivery: {
|
||||||
|
user: {}
|
||||||
|
},
|
||||||
|
logistics: [],
|
||||||
|
delivery_type: 1,
|
||||||
|
delivery_name: "",
|
||||||
|
to_phone: '', //送货人电话
|
||||||
|
to_name: '', //送货人姓名
|
||||||
|
remark: "",
|
||||||
|
mark: "",
|
||||||
|
cargo_weight: 0,
|
||||||
|
delivery_id: "",
|
||||||
|
mer_config_temp_id: "",
|
||||||
|
mer_from_com: "",
|
||||||
|
seIndex: 0,
|
||||||
|
storeIndex: 0,
|
||||||
|
merId: "",
|
||||||
|
expIndex:0,
|
||||||
|
expTemp:[], // 快递模板
|
||||||
|
from_name:'', // 发货人名称
|
||||||
|
from_tel:'', // 发货人电话
|
||||||
|
from_addr:"", // 发货人地址
|
||||||
|
fictitious_content: '',
|
||||||
|
isTemp: false,
|
||||||
|
isDelivery: false,
|
||||||
|
is_virtual: 0,
|
||||||
|
splitProducts: [],
|
||||||
|
storeList: [],
|
||||||
|
activity_type: 0,
|
||||||
|
domain: HTTP_REQUEST_URL,
|
||||||
|
// #ifdef H5
|
||||||
|
isWeixin: this.$wechat.isWeixin()
|
||||||
|
// #endif
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
"$route.params.oid": function(newVal) {
|
||||||
|
let that = this;
|
||||||
|
if (newVal != undefined) {
|
||||||
|
that.order_id = newVal;
|
||||||
|
that.getIndex();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: mapGetters(['viewColor']),
|
||||||
|
onLoad: function(option) {
|
||||||
|
this.order_id = option.id;
|
||||||
|
this.merId = option.merId
|
||||||
|
this.getIndex();
|
||||||
|
this.expressList();
|
||||||
|
this.orderDeliveryInfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 扫描快递单号一维码
|
||||||
|
scanCode() {
|
||||||
|
// #ifdef MP
|
||||||
|
let that = this;
|
||||||
|
uni.scanCode({
|
||||||
|
scanType: ['barCode'],
|
||||||
|
success(res) {
|
||||||
|
let code = res.result.split(",")
|
||||||
|
that.delivery_id = code.length == 1 ? code[0] : code[1];
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
// #ifdef H5
|
||||||
|
if (this.$wechat.isWeixin()) {
|
||||||
|
this.$wechat.wechatEvevt('scanQRCode', {
|
||||||
|
needResult: 1,
|
||||||
|
scanType: ['barCode']
|
||||||
|
}).then(res => {
|
||||||
|
let code = res.resultStr.split(",")
|
||||||
|
that.delivery_id = code.length == 1 ? code[0] : code[1];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// #endif
|
||||||
|
},
|
||||||
|
// 预览图片
|
||||||
|
previewImage(){
|
||||||
|
uni.previewImage({
|
||||||
|
urls: [this.expTemp[this.expIndex].pic],
|
||||||
|
success:function(){},
|
||||||
|
fail:function(error){}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 是否开启电子面单和同城配送
|
||||||
|
isOpenDeliveryTemp(is_virtual){
|
||||||
|
let that = this
|
||||||
|
getTempAndDelivery(that.merId).then(
|
||||||
|
res => {
|
||||||
|
if(is_virtual == 1){
|
||||||
|
that.delivery_type = 3
|
||||||
|
that.types = [
|
||||||
|
{type: 3,title: "虚拟发货"}
|
||||||
|
]
|
||||||
|
}else{
|
||||||
|
if(res.data.crmeb_serve_dump == 1){
|
||||||
|
that.types.push({type: 4,title: "电子面单"})
|
||||||
|
}
|
||||||
|
if(res.data.delivery_status == 1){
|
||||||
|
that.types.push({type: 5,title: "同城配送"})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
//获取电子面单默认数据
|
||||||
|
getDump(){
|
||||||
|
let that = this;
|
||||||
|
that.expTemp.forEach((val,index) =>{
|
||||||
|
if(val.temp_id == that.mer_config_temp_id){
|
||||||
|
that.expIndex = index;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//获取门店列表
|
||||||
|
getStoreList() {
|
||||||
|
getDeliveryStoreLst(this.merId).then((res) => {
|
||||||
|
this.storeList = res.data
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: error
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeType: function(item, index) {
|
||||||
|
this.active = index;
|
||||||
|
this.delivery_type = item.type;
|
||||||
|
this.delivery_name = "";
|
||||||
|
this.delivery_id = "";
|
||||||
|
if(item.type == 5){
|
||||||
|
this.getStoreList()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeSplit: function(item, index) {
|
||||||
|
this.curSplit = item.key;
|
||||||
|
},
|
||||||
|
getIndex: function() {
|
||||||
|
let that = this;
|
||||||
|
getAdminOtherOrderDetail(that.merId,that.order_id).then(
|
||||||
|
res => {
|
||||||
|
res.data.orderProduct.forEach((goods, j) => {
|
||||||
|
goods.checked = true
|
||||||
|
goods.split_num = goods.refund_num
|
||||||
|
})
|
||||||
|
that.delivery = res.data;
|
||||||
|
that.activity_type = res.data.activity_type;
|
||||||
|
that.is_virtual = res.data.is_virtual;
|
||||||
|
that.isOpenDeliveryTemp(that.is_virtual);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
expressList: function() {
|
||||||
|
let that = this;
|
||||||
|
expressList().then(
|
||||||
|
res => {
|
||||||
|
that.logistics = res.data;
|
||||||
|
that.getExpTemp(res.data[0].value)
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
/*选择分单商品*/
|
||||||
|
checkedChange(item) {
|
||||||
|
item.checked = !item.checked;
|
||||||
|
},
|
||||||
|
/*获取分单商品*/
|
||||||
|
getSplitProduct() {
|
||||||
|
let that = this;
|
||||||
|
let data = [];
|
||||||
|
that.delivery.orderProduct.map((item) => {
|
||||||
|
if(item.checked){
|
||||||
|
data.push({id:item.order_product_id,num:item.split_num})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
subCart(item) {
|
||||||
|
if(item.split_num > 1){
|
||||||
|
item.split_num--
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addCart(item) {
|
||||||
|
if(item.split_num < item.refund_num){
|
||||||
|
item.split_num++
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async saveInfo() {
|
||||||
|
let that = this,
|
||||||
|
delivery_type = that.delivery_type,
|
||||||
|
delivery_name = that.logistics[that.seIndex].value,
|
||||||
|
delivery_id = that.delivery_id,
|
||||||
|
save = {};
|
||||||
|
save.delivery_name = delivery_name
|
||||||
|
save.delivery_type = delivery_type
|
||||||
|
save.is_split = that.curSplit
|
||||||
|
if(that.curSplit){
|
||||||
|
that.splitProducts = that.getSplitProduct()
|
||||||
|
if(that.splitProducts.length == 0){
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请选择分单商品'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
save.split = that.splitProducts;
|
||||||
|
if(delivery_type==1){
|
||||||
|
if (!delivery_id) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写快递单号'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
save.delivery_id = delivery_id
|
||||||
|
that.setInfo(save);
|
||||||
|
}
|
||||||
|
if(delivery_type == 2){
|
||||||
|
if (!that.to_name) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写送货人姓名'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (!that.to_phone) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写送货人手机号码'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (!(/^1[3456789]\d{9}$/.test(that.to_phone))) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写正确的手机号码'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
save.delivery_name = that.to_name;
|
||||||
|
save.delivery_id = that.to_phone;
|
||||||
|
that.setInfo(save);
|
||||||
|
}
|
||||||
|
if(delivery_type == 3){
|
||||||
|
save.remark = that.remark;
|
||||||
|
that.setInfo(save);
|
||||||
|
}
|
||||||
|
if(delivery_type==4){
|
||||||
|
if (!that.from_name) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写寄件人姓名'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (!that.from_tel) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写寄件人手机号码'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (!(/^1[3456789]\d{9}$/.test(that.from_tel))) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写正确的手机号码'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (!that.from_addr) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请填写寄件人地址'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if(that.expTemp.length==0){
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请选择电子面单'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
save.from_name = that.from_name
|
||||||
|
save.from_tel = that.from_tel
|
||||||
|
save.from_addr = that.from_addr
|
||||||
|
save.temp_id = that.expTemp[that.expIndex].temp_id
|
||||||
|
that.setInfo(save);
|
||||||
|
}
|
||||||
|
if(delivery_type == 5){
|
||||||
|
save.station_id = that.storeList[that.storeIndex].value
|
||||||
|
save.cargo_weight = that.cargo_weight;
|
||||||
|
save.mark = that.mark;
|
||||||
|
that.setInfo(save);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setInfo: function(item) {
|
||||||
|
let that = this;
|
||||||
|
setAdminOtherOrderDelivery(that.merId,that.order_id,item).then(
|
||||||
|
res => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'success',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
setTimeout(res => {
|
||||||
|
uni.redirectTo({
|
||||||
|
url:`/pages/admin/orderList/indexOther?types=3&merId=${that.merId}`
|
||||||
|
})
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
bindPickerChange(e) {
|
||||||
|
this.seIndex = e.detail.value
|
||||||
|
this.getExpTemp(this.logistics[e.detail.value].value)
|
||||||
|
},
|
||||||
|
bindTempChange(e) {
|
||||||
|
this.expIndex = e.detail.value
|
||||||
|
},
|
||||||
|
bindStoreChange(e){
|
||||||
|
this.storeIndex = e.detail.value
|
||||||
|
},
|
||||||
|
getExpTemp(code){
|
||||||
|
orderExportTemp({
|
||||||
|
com: code
|
||||||
|
}).then(res=>{
|
||||||
|
this.expTemp = res.data.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取订单打印默认配置
|
||||||
|
orderDeliveryInfo(){
|
||||||
|
let that = this
|
||||||
|
orderDeliveryInfo(that.merId).then(
|
||||||
|
res => {
|
||||||
|
that.from_name = res.data.mer_from_name;
|
||||||
|
that.from_tel = res.data.mer_from_tel;
|
||||||
|
that.from_addr = res.data.mer_from_addr;
|
||||||
|
that.mer_config_temp_id = res.data.mer_config_temp_id;
|
||||||
|
that.mer_from_com = res.data.mer_from_com
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error
|
||||||
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
/*发货*/
|
||||||
|
.uni-input{
|
||||||
|
display: block;
|
||||||
|
width: 400rpx;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.input-inline{
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.deliver-goods header {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-top: 10upx;
|
||||||
|
}
|
||||||
|
.deliver-goods header .order-num {
|
||||||
|
padding: 0 30upx;
|
||||||
|
border-bottom: 1px solid #f5f5f5;
|
||||||
|
height: 67upx;
|
||||||
|
}
|
||||||
|
.deliver-goods header .order-num .num {
|
||||||
|
width: 430upx;
|
||||||
|
font-size: 26upx;
|
||||||
|
color: #282828;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.deliver-goods header .order-num .num:after {
|
||||||
|
position: absolute;
|
||||||
|
content: '';
|
||||||
|
width: 1px;
|
||||||
|
height: 30upx;
|
||||||
|
background-color: #ddd;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -15upx;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
.deliver-goods header .order-num .name {
|
||||||
|
width: 260upx;
|
||||||
|
font-size: 26upx;
|
||||||
|
color: #282828;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.deliver-goods header .order-num .name .iconfont {
|
||||||
|
font-size: 35upx;
|
||||||
|
color: #477ef3;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 10upx;
|
||||||
|
}
|
||||||
|
.deliver-goods header .address {
|
||||||
|
font-size: 26upx;
|
||||||
|
color: #868686;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 30upx;
|
||||||
|
}
|
||||||
|
.look{
|
||||||
|
margin-left: 20rpx;
|
||||||
|
color: #1890FF;
|
||||||
|
}
|
||||||
|
.deliver-goods header .address .name {
|
||||||
|
font-size: 34upx;
|
||||||
|
color: #282828;
|
||||||
|
margin-bottom: 10upx;
|
||||||
|
}
|
||||||
|
.deliver-goods header .address .name .phone {
|
||||||
|
margin-left: 40upx;
|
||||||
|
}
|
||||||
|
.deliver-goods header .line {
|
||||||
|
width: 100%;
|
||||||
|
height: 3upx;
|
||||||
|
}
|
||||||
|
.deliver-goods header .line image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item {
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
padding: 0 30upx;
|
||||||
|
min-height: 96upx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #282828;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item .mode {
|
||||||
|
width: 480upx;
|
||||||
|
height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item .mode .iconfont {
|
||||||
|
font-size: 30upx;
|
||||||
|
margin-left: 13upx;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item .mode .goods~.goods {
|
||||||
|
margin-left: 30upx;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item .mode .goods {
|
||||||
|
color: #bbb;
|
||||||
|
margin: 10rpx 0;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item .mode .goods.on {
|
||||||
|
color: #477ef3;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item .icon-up {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 35upx;
|
||||||
|
color: #2c2c2c;
|
||||||
|
right: 30upx;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item select {
|
||||||
|
direction: rtl;
|
||||||
|
padding-right: 60upx;
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.deliver-goods .wrapper .item input::placeholder {
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
.deliver-goods .confirm_btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
background: #fff;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.deliver-goods .confirm {
|
||||||
|
font-size: 32upx;
|
||||||
|
color: #fff;
|
||||||
|
width: 100%;
|
||||||
|
height: 90upx;
|
||||||
|
background-color: #477ef3;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 90upx;
|
||||||
|
border-radius: 60rpx;
|
||||||
|
}
|
||||||
|
.select-box {
|
||||||
|
flex: 1;
|
||||||
|
height: 100%;
|
||||||
|
.pickerBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
position: relative;
|
||||||
|
// padding-right: 30rpx;
|
||||||
|
.iconfont{
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #bbb;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pro_list{
|
||||||
|
width: 100%;
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
position: relative;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.pro_list .checkbox{
|
||||||
|
width: 60rpx;
|
||||||
|
.icon-xuanzhong1{
|
||||||
|
color: var(--view-theme);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pro_list .picture{
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
}
|
||||||
|
/deep/.pro_list .picture image{
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
}
|
||||||
|
.pro_count .title{
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
line-height: 50rpx;
|
||||||
|
border-bottom: 1px solid #EEEEEE;
|
||||||
|
}
|
||||||
|
.pro_list .info{
|
||||||
|
width: 420rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
.pro_list .pro_info{
|
||||||
|
width: 360rpx;
|
||||||
|
}
|
||||||
|
.pro_list .info_num{
|
||||||
|
color: #ff9600;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
.pro_list .refund_num{
|
||||||
|
margin-top: 10rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
.pro_list .pro_price{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
.pro_list .info .name{
|
||||||
|
line-height: 46rpx;
|
||||||
|
}
|
||||||
|
.pro_list .info .carnum{
|
||||||
|
height: 47rpx;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 30rpx;
|
||||||
|
right: 30rpx;
|
||||||
|
}
|
||||||
|
.pro_list .info .carnum view{
|
||||||
|
border: 1px solid #a4a4a4;
|
||||||
|
min-width: 66rpx;
|
||||||
|
text-align: center;
|
||||||
|
height: 100%;
|
||||||
|
line-height: 46rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #a4a4a4;
|
||||||
|
}
|
||||||
|
.pro_list .info .carnum .reduce{
|
||||||
|
border-right: 0;
|
||||||
|
border-radius: 3rpx 0 0 3rpx;
|
||||||
|
}
|
||||||
|
.pro_list .info .carnum .reduce.on {
|
||||||
|
border-color: #e3e3e3;
|
||||||
|
color: #dedede;
|
||||||
|
}
|
||||||
|
.pro_list .info .carnum .plus {
|
||||||
|
border-left: 0;
|
||||||
|
border-radius: 0 3rpx 3rpx 0;
|
||||||
|
}
|
||||||
|
.pro_list .info .carnum .num {
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
.pro_list .info .info_sku{
|
||||||
|
color: #868686;
|
||||||
|
font-size: 24rpx;
|
||||||
|
margin-top: 6rpx;
|
||||||
|
}
|
||||||
|
.pro_list .pro_info .info_sku{
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
.pro_list .info .info_price{
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
.footer{
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
text-align: right;
|
||||||
|
line-height: 50rpx;
|
||||||
|
text{
|
||||||
|
color: #ff9600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,991 @@
|
||||||
|
<template>
|
||||||
|
<view class="order-details pos-order-details">
|
||||||
|
<view class="header acea-row row-middle">
|
||||||
|
<view class="state">{{ title }}</view>
|
||||||
|
<view class="data">
|
||||||
|
<view class="order-num">订单:{{ orderInfo.order_sn }}</view>
|
||||||
|
<view>
|
||||||
|
<span class="time">{{ orderInfo.create_time }}</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="remarks acea-row" v-if="goname != 'looks'" style="align-items: center;">
|
||||||
|
<span class="iconfont icon-zhinengkefu-"></span>
|
||||||
|
<view class="line1" style="text-align: left; flex: 1; margin-left: 10rpx;" @click="modify('1')">
|
||||||
|
{{orderInfo.remark ? orderInfo.remark : '订单未备注,点击添加备注信息'}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="orderingUser acea-row row-middle">
|
||||||
|
<span class="iconfont icon-yonghu2"></span>{{ (orderInfo.user && orderInfo.user.nickname) || '' }}
|
||||||
|
</view>
|
||||||
|
<view class="address">
|
||||||
|
<view class="name">
|
||||||
|
{{ orderInfo.real_name }}<span class="phone">{{ orderInfo.user_phone }}</span>
|
||||||
|
</view>
|
||||||
|
<view>{{ orderInfo.user_address }}</view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
|
<button class="copy copy-data" :data-clipboard-text="'收货人姓名:'+orderInfo.real_name+'\n收货人电话:'+ orderInfo.user_phone+'\n收货人地址:'+orderInfo.user_address">复制</button>
|
||||||
|
<!-- #endif -->
|
||||||
|
<!-- #ifdef MP || APP-PLUS -->
|
||||||
|
<button class="copy" @tap="copyText">复制</button>
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
|
<view class="line">
|
||||||
|
<image :src="`${domain}/static/images/line.jpg`" />
|
||||||
|
</view>
|
||||||
|
<view class="pos-order-goods">
|
||||||
|
<navigator :url="`/pages/goods_details/index?id=${item.cart_info.product.product_id}`" hover-class="none" class="goods" v-for="(item, index) in orderInfo.orderProduct" :key="index">
|
||||||
|
<view class="acea-row row-between-wrapper">
|
||||||
|
<view class="picTxt acea-row row-between-wrapper">
|
||||||
|
<view class="pictrue">
|
||||||
|
<image :src="item.cart_info.productAttr.image || item.cart_info.product.image" />
|
||||||
|
</view>
|
||||||
|
<view class="text acea-row row-between row-column">
|
||||||
|
<view class="info line2">
|
||||||
|
{{ item.cart_info.product.store_name }}
|
||||||
|
</view>
|
||||||
|
<view class="attr">{{ item.cart_info.product.suk }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="money">
|
||||||
|
<view class="x-money">¥{{ item.cart_info.productAttr.price }}</view>
|
||||||
|
<view class="num">x{{ item.product_num }}
|
||||||
|
<text class="font-color refund_num" v-if="item.product_num-item.refund_num>0">(-{{item.product_num-item.refund_num}})</text>
|
||||||
|
</view>
|
||||||
|
<view v-if="orderInfo.order_type == 0" class="y-money">¥{{ item.cart_info.productAttr.ot_price }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="public-total">
|
||||||
|
共{{ orderInfo.total_num }}件商品,应支付
|
||||||
|
<span class="money">¥{{ orderInfo.pay_price }}</span> ( 邮费 ¥{{orderInfo.pay_postage}})
|
||||||
|
</view> -->
|
||||||
|
<view class="wrapper">
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>订单编号:</view>
|
||||||
|
<view class="conter acea-row row-middle row-right">
|
||||||
|
{{ orderInfo.order_sn }}
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
|
<button class="copy copy-data" :data-clipboard-text="orderInfo.order_sn">复制</button>
|
||||||
|
<!-- #endif -->
|
||||||
|
<!-- #ifdef MP || APP-PLUS -->
|
||||||
|
<span class="copy copy-data" @click="copyNum(orderInfo.order_sn)">复制</span>
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>下单时间:</view>
|
||||||
|
<view class="conter">{{ orderInfo.create_time }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>支付状态:</view>
|
||||||
|
<view class="conter">
|
||||||
|
{{ orderInfo.paid == 1 ? "已支付" : "未支付" }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>支付方式:</view>
|
||||||
|
<view class="conter">{{ orderInfo.pay_type == 0 ? "余额支付" : (orderInfo.pay_type == 1 || orderInfo.pay_type == 2 || orderInfo.pay_type == 3) ? "微信支付" : "先货后款" }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>买家留言:</view>
|
||||||
|
<view class="conter">{{ orderInfo.mark }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="orderInfo.is_virtual == 1" class='wrapper'>
|
||||||
|
<view v-for="(item,index) in orderInfo.order_extend" v-if="item && index" :key="index" class='item acea-row row-between'>
|
||||||
|
<view>{{index}}:</view>
|
||||||
|
<view v-if="!Array.isArray(item)" class='conter'>{{item}}</view>
|
||||||
|
<view v-else class='conter virtual_image'>
|
||||||
|
<image v-for="(pic,i) in item" :key="i" class="picture" :src="pic" @click="getPhotoClickIdx(item,i)"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="wrapper">
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>支付金额:</view>
|
||||||
|
<view class="conter">¥{{ orderInfo.total_price }}</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="orderInfo.coupon_price > 0" class="item acea-row row-between">
|
||||||
|
<view>优惠券抵扣:</view>
|
||||||
|
<view class="conter">-¥{{ orderInfo.coupon_price }}</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="orderInfo.integral_price > 0" class="item acea-row row-between">
|
||||||
|
<view>积分抵扣:</view>
|
||||||
|
<view class="conter">-¥{{ orderInfo.integral_price }}</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="orderInfo.pay_postage > 0" class="item acea-row row-between">
|
||||||
|
<view>运费:</view>
|
||||||
|
<view class="conter">¥{{ orderInfo.pay_postage }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="actualPay acea-row row-right">
|
||||||
|
实付款:<span class="money font-color-red">¥{{ orderInfo.pay_price }}</span>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="wrapper" v-if="orderInfo.delivery_type != '3' && orderInfo.order_type === 0 && orderInfo.delivery_type">
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view>配送方式:</view>
|
||||||
|
<view class="conter" v-if="orderInfo.delivery_type === '1' || orderInfo.delivery_type === '4'">
|
||||||
|
快递
|
||||||
|
</view>
|
||||||
|
<view class="conter" v-if="orderInfo.delivery_type === '2'">送货</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view v-if="orderInfo.delivery_type === '1' || orderInfo.delivery_type === '4'">快递公司:</view>
|
||||||
|
<view v-if="orderInfo.delivery_type === '2'">送货人:</view>
|
||||||
|
<view class="conter line1">{{ orderInfo.delivery_name ? orderInfo.delivery_name : '' }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="item acea-row row-between">
|
||||||
|
<view v-if="orderInfo.delivery_type === '1' || orderInfo.delivery_type === '4'">快递单号:</view>
|
||||||
|
<view v-if="orderInfo.delivery_type === '2'">送货人电话:</view>
|
||||||
|
<view class="conter" style="display: flex;">
|
||||||
|
<text>{{ orderInfo.delivery_id ? orderInfo.delivery_id : ''}}</text>
|
||||||
|
<text class="copy copy-data" :data-clipboard-text="orderInfo.delivery_id">复制</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="height:120upx;"></view>
|
||||||
|
<!-- <view class="footer acea-row row-right row-middle" v-if="goname != 'looks'" style="margin-bottom: var(--status-bar-height);">
|
||||||
|
<view class="more"></view>
|
||||||
|
<view class="bnt cancel" v-if="orderInfo.pay_type == 8 && orderInfo.status == 12" @click="tongyi(order_id,1)">
|
||||||
|
同意
|
||||||
|
</view>
|
||||||
|
<view class="bnt cancel" v-if="orderInfo.pay_type == 8 && orderInfo.status == 12" @click="tongyi(order_id,2)">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
<view class="bnt cancel" @click="modify('0')" v-if="orderInfo.paid == 0">
|
||||||
|
一键改价
|
||||||
|
</view>
|
||||||
|
<view class="bnt cancel" @click="modify('0')" v-if="types == -1">
|
||||||
|
立即退款
|
||||||
|
</view>
|
||||||
|
<view class="bnt cancel" @click="modify('1')">订单备注</view>
|
||||||
|
<view class="bnt cancel" v-if="orderInfo.pay_type === 'offline' && orderInfo.paid === 0" @click="offlinePay">
|
||||||
|
确认付款
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="bnt delivery" @click="toPostagequ(orderInfo)" v-if="orderInfo.status == 0&&orderInfo.activity_type==0&& orderInfo.order_type !=1 ">
|
||||||
|
收件码
|
||||||
|
</view>
|
||||||
|
<navigator class="bnt delivery" v-if="orderInfo.paid == 1 && orderInfo.status == 0 && orderInfo.order_type == 0&&orderInfo.activity_type==98" :url="'/pages/admin/delivery/indexOther?id='+orderInfo.order_id+'&merId='+mer_id">去发货</navigator>
|
||||||
|
<view class="bnt delivery" v-if="orderInfo.paid == 1 && (orderInfo.status == 0 || orderInfo.status == 9) && orderInfo.order_type == 1" @click="goCancellation">去核销</view>
|
||||||
|
</view> -->
|
||||||
|
<PriceChange :change="change" :orderInfo="orderInfo" v-on:closechange="changeclose($event)" v-on:savePrice="savePrice"
|
||||||
|
:status="status"></PriceChange>
|
||||||
|
<u-popup :show="popUpShow" mode="center" :closeOnClickOverlay="true" round="12" @close="popUpClose">
|
||||||
|
<view style="text-align: center;margin-top: 30rpx;">
|
||||||
|
请把二维码展示给取货人员
|
||||||
|
</view>
|
||||||
|
<view style="padding: 28.07rpx;">
|
||||||
|
<image :src="payCodeUrl" style="width:400rpx;height: 400rpx;"></image>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import PriceChange from "@/components/PriceChange";
|
||||||
|
// #ifdef H5
|
||||||
|
import ClipboardJS from "@/plugin/clipboard/clipboard.js";
|
||||||
|
// #endif
|
||||||
|
import {
|
||||||
|
getAdminOrderDetail,
|
||||||
|
getAdminOtherOrderDetail,
|
||||||
|
setAdminOrderPrice,
|
||||||
|
setAdminOrderRemark,
|
||||||
|
setOfflinePay,
|
||||||
|
setOrderRefund,
|
||||||
|
orderCancellation,
|
||||||
|
logisticsCode,
|
||||||
|
postconfirm
|
||||||
|
} from "@/api/admin";
|
||||||
|
import { isMoney } from '@/utils/validate.js'
|
||||||
|
import { HTTP_REQUEST_URL } from '@/config/app';
|
||||||
|
export default {
|
||||||
|
name: "AdminOrder",
|
||||||
|
components: {
|
||||||
|
PriceChange
|
||||||
|
},
|
||||||
|
props: {},
|
||||||
|
data: function() {
|
||||||
|
return {
|
||||||
|
order: false,
|
||||||
|
change: false,
|
||||||
|
order_id: "",
|
||||||
|
mer_id: '',
|
||||||
|
orderInfo: {
|
||||||
|
_status: {},
|
||||||
|
user: {}
|
||||||
|
},
|
||||||
|
domain: HTTP_REQUEST_URL,
|
||||||
|
status: "",
|
||||||
|
title: "",
|
||||||
|
payType: "",
|
||||||
|
types: "",
|
||||||
|
clickNum: 1,
|
||||||
|
|
||||||
|
goname:'',
|
||||||
|
popUpShow: false,
|
||||||
|
payCodeUrl:''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
"$route.params.oid": function(newVal) {
|
||||||
|
let that = this;
|
||||||
|
if (newVal != undefined) {
|
||||||
|
that.order_id = newVal;
|
||||||
|
that.getIndex();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad: function(option) {
|
||||||
|
let self = this
|
||||||
|
self.order_id = option.id
|
||||||
|
self.mer_id = option.mer_id
|
||||||
|
self.goname = option.goname
|
||||||
|
self.getIndex();
|
||||||
|
// #ifdef H5
|
||||||
|
self.$nextTick(function() {
|
||||||
|
var clipboard = new ClipboardJS('.copy-data');
|
||||||
|
// var copybtn = document.getElementsByClassName("copy-data");
|
||||||
|
// var clipboard = new Clipboard(copybtn);
|
||||||
|
clipboard.on('success', function(e) {
|
||||||
|
self.$util.Tips({
|
||||||
|
title:'复制成功'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
clipboard.on('error', function(e) {
|
||||||
|
self.$util.Tips({
|
||||||
|
title:'复制失败'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
//收件码
|
||||||
|
toPostagequ(item){
|
||||||
|
this.popUpShow = true
|
||||||
|
logisticsCode(item.order_id).then(res => {
|
||||||
|
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.payCodeUrl = res.data.qrcode
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭二维码弹窗
|
||||||
|
popUpClose() {
|
||||||
|
this.popUpShow = false
|
||||||
|
|
||||||
|
},
|
||||||
|
//同意先货后款订单
|
||||||
|
tongyi(id,number){
|
||||||
|
let data={
|
||||||
|
id:id,
|
||||||
|
type:number
|
||||||
|
}
|
||||||
|
if(number == 1){
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/admin/orderList/index?types=1&merId=${this.mer_id}`
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}else if(number == 2){
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/admin/orderList/index?types=1&merId=${this.mer_id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
postconfirm(this.mer_id,data).then(res=>{
|
||||||
|
})
|
||||||
|
},
|
||||||
|
more: function() {
|
||||||
|
this.order = !this.order;
|
||||||
|
},
|
||||||
|
modify: function(status) {
|
||||||
|
this.change = true;
|
||||||
|
this.status = status;
|
||||||
|
},
|
||||||
|
changeclose: function(msg) {
|
||||||
|
this.change = msg;
|
||||||
|
},
|
||||||
|
// 图片预览
|
||||||
|
getPhotoClickIdx(list, idx) {
|
||||||
|
uni.previewImage({
|
||||||
|
current: list[idx], // 传 Number H5端出现不兼容
|
||||||
|
urls: list
|
||||||
|
});
|
||||||
|
},
|
||||||
|
copyText: function (e) {
|
||||||
|
// var copy = e.currentTarget.dataset.copy; //data-copy传过来的数值
|
||||||
|
let arr = [
|
||||||
|
{
|
||||||
|
name: "收货人姓名",
|
||||||
|
value: this.orderInfo.real_name
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "收货人电话",
|
||||||
|
value: this.orderInfo.user_phone
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "收货人地址",
|
||||||
|
value: this.orderInfo.user_address
|
||||||
|
}
|
||||||
|
]
|
||||||
|
// console.log(`${arr.map(item =>`${item.name}: ${item.value}`).join("\n")}`)
|
||||||
|
wx.setClipboardData({
|
||||||
|
data: `${arr.map(item =>`${item.name}: ${item.value}`).join("\n")}`,
|
||||||
|
success: function (res) {
|
||||||
|
wx.getClipboardData({
|
||||||
|
success: function (res) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '复制成功'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
getIndex: function() {
|
||||||
|
let that = this;
|
||||||
|
getAdminOtherOrderDetail(that.mer_id,that.order_id).then(
|
||||||
|
res => {
|
||||||
|
that.orderInfo = res.data;
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err
|
||||||
|
}, {
|
||||||
|
tab: 3,
|
||||||
|
url: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
/*核销订单*/
|
||||||
|
goCancellation() {
|
||||||
|
let that = this;
|
||||||
|
// uni.navigateTo({
|
||||||
|
// url: '/pages/admin/cancellate_result/index?mer_id='+that.mer_id+'&code='+that.orderInfo.verify_code,
|
||||||
|
// })
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/admin/order_cancellation/index?mer_id=${that.mer_id}`
|
||||||
|
})
|
||||||
|
// uni.showModal({
|
||||||
|
// title: '订单核销',
|
||||||
|
// content: '请确认是否核销该订单?',
|
||||||
|
// success: function(res) {
|
||||||
|
// if (res.confirm) {
|
||||||
|
// orderCancellation(that.mer_id,that.orderInfo.order_id).then(res => {
|
||||||
|
// return that.$util.Tips({
|
||||||
|
// title: '操作成功',
|
||||||
|
// icon: 'success'
|
||||||
|
// }, function() {
|
||||||
|
// that.getIndex();
|
||||||
|
// });
|
||||||
|
// }).catch(err => {
|
||||||
|
// return that.$util.Tips({
|
||||||
|
// title: err
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
async savePrice(opt) {
|
||||||
|
let that = this,
|
||||||
|
data = {},
|
||||||
|
price = opt.price,
|
||||||
|
refund_price = opt.refund_price,
|
||||||
|
refund_status = that.orderInfo.refund_status,
|
||||||
|
remark = opt.remark;
|
||||||
|
data.order_id = that.orderInfo.order_id;
|
||||||
|
if (that.status == 0) {
|
||||||
|
// if (!isMoney(price)) {
|
||||||
|
// return that.$util.Tips({
|
||||||
|
// title: '请输入正确的金额'
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
data.price = price;
|
||||||
|
let parmas = {
|
||||||
|
pay_postage: opt.orderInfo.pay_postage,
|
||||||
|
coupon_price: opt.orderInfo.coupon_price,
|
||||||
|
total_price: Number(opt.orderInfo.total_price)
|
||||||
|
}
|
||||||
|
setAdminOrderPrice(that.mer_id,data.order_id, parmas ).then(
|
||||||
|
res => {
|
||||||
|
that.change = false;
|
||||||
|
that.$util.Tips({
|
||||||
|
title: '改价成功',
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
that.getIndex();
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
// console.log(err, 'err')
|
||||||
|
that.change = false;
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
} else if (that.status == 0 && refund_status === 1) {
|
||||||
|
if (!isMoney(refund_price)) {
|
||||||
|
return that.$util.Tips({
|
||||||
|
title: '请输入正确的金额'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
data.price = refund_price;
|
||||||
|
data.type = opt.type;
|
||||||
|
setOrderRefund(that.mer_id,data).then(
|
||||||
|
res => {
|
||||||
|
that.change = false;
|
||||||
|
that.$util.Tips({
|
||||||
|
title: res.message
|
||||||
|
});
|
||||||
|
that.getIndex();
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
// console.log(err, 'err')
|
||||||
|
that.change = false;
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
if (!remark) {
|
||||||
|
return this.$util.Tips({
|
||||||
|
title: '请输入备注'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// data.remark = remark;
|
||||||
|
// console.log(data);
|
||||||
|
setAdminOrderRemark(that.mer_id,data.order_id,{ remark: remark }).then(
|
||||||
|
res => {
|
||||||
|
that.change = false;
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
that.getIndex();
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
that.change = false;
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
offlinePay: function() {
|
||||||
|
setOfflinePay(this.mer_id,{
|
||||||
|
order_id: this.orderInfo.order_id
|
||||||
|
}).then(
|
||||||
|
res => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.msg,
|
||||||
|
icon: 'success'
|
||||||
|
});
|
||||||
|
this.getIndex();
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: err
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
copyNum(id) {
|
||||||
|
uni.setClipboardData({
|
||||||
|
data: id,
|
||||||
|
success: function() {
|
||||||
|
// console.log('success');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
copyData(id){
|
||||||
|
uni.setClipboardData({
|
||||||
|
data: id,
|
||||||
|
success: function() {
|
||||||
|
// console.log('success');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// #ifdef H5
|
||||||
|
webCopy(item, index) {
|
||||||
|
// console.log('yunxingle')
|
||||||
|
let items = item
|
||||||
|
let indexs = index
|
||||||
|
let self = this
|
||||||
|
|
||||||
|
if (self.clickNum == 1) {
|
||||||
|
// console.log('22')
|
||||||
|
self.clickNum += 1
|
||||||
|
self.webCopy(items, indexs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// #endif
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
/*商户管理订单详情*/
|
||||||
|
.pos-order-details .header {
|
||||||
|
background: linear-gradient(to right, #2291f8 0%, #1cd1dc 100%);
|
||||||
|
background: -webkit-linear-gradient(to right, #2291f8 0%, #1cd1dc 100%);
|
||||||
|
background: -moz-linear-gradient(to right, #2291f8 0%, #1cd1dc 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .header .state {
|
||||||
|
font-size: 36upx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .header .data {
|
||||||
|
margin-left: 35upx;
|
||||||
|
font-size: 28upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .header .data .order-num {
|
||||||
|
font-size: 30upx;
|
||||||
|
margin-bottom: 8upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .remarks {
|
||||||
|
width: 100%;
|
||||||
|
height: 86upx;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 0 30upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .remarks .iconfont {
|
||||||
|
font-size: 40upx;
|
||||||
|
color: #2a7efb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .remarks input {
|
||||||
|
width: 630upx;
|
||||||
|
height: 100%;
|
||||||
|
font-size: 30upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .remarks input::placeholder {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .orderingUser {
|
||||||
|
font-size: 26upx;
|
||||||
|
color: #282828;
|
||||||
|
padding: 0 30upx;
|
||||||
|
height: 67upx;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-top: 16upx;
|
||||||
|
border-bottom: 1px solid #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .orderingUser .iconfont {
|
||||||
|
font-size: 40upx;
|
||||||
|
color: #2a7efb;
|
||||||
|
margin-right: 15upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .address {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .pos-order-goods {
|
||||||
|
margin-top: 17upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more {
|
||||||
|
font-size: 27upx;
|
||||||
|
color: #aaa;
|
||||||
|
width: 100upx;
|
||||||
|
height: 64upx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 64upx;
|
||||||
|
margin-right: 25upx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .delivery {
|
||||||
|
background: linear-gradient(to right, #2291f8 0%, #1cd1dc 100%);
|
||||||
|
background: -webkit-linear-gradient(to right, #2291f8 0%, #1cd1dc 100%);
|
||||||
|
background: -moz-linear-gradient(to right, #2291f8 0%, #1cd1dc 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more .order .arrow {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 11upx solid transparent;
|
||||||
|
border-right: 11upx solid transparent;
|
||||||
|
border-top: 20upx solid #e5e5e5;
|
||||||
|
position: absolute;
|
||||||
|
left: 15upx;
|
||||||
|
bottom: -18upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more .order .arrow:before {
|
||||||
|
content: '';
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 9upx solid transparent;
|
||||||
|
border-right: 9upx solid transparent;
|
||||||
|
border-top: 19upx solid #fff;
|
||||||
|
position: absolute;
|
||||||
|
left: -10upx;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more .order {
|
||||||
|
width: 200upx;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
border-radius: 10upx;
|
||||||
|
position: absolute;
|
||||||
|
top: -200upx;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more .order .item {
|
||||||
|
height: 77upx;
|
||||||
|
line-height: 77upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more .order .item~.item {
|
||||||
|
border-top: 1px solid #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-details .footer .more .moreName {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*订单详情*/
|
||||||
|
.order-details .header {
|
||||||
|
padding: 0 30upx;
|
||||||
|
height: 150upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .header.on {
|
||||||
|
background-color: #666 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .header .pictrue {
|
||||||
|
width: 110upx;
|
||||||
|
height: 110upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .header .pictrue image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .header .data {
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
font-size: 24upx;
|
||||||
|
margin-left: 27upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .header.on .data {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .header .data .state {
|
||||||
|
font-size: 30upx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #fff;
|
||||||
|
margin-bottom: 7upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .order-details .header .data .time{margin-left:20upx;} */
|
||||||
|
.order-details .nav {
|
||||||
|
background-color: #fff;
|
||||||
|
font-size: 26upx;
|
||||||
|
color: #282828;
|
||||||
|
padding: 25upx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .nav .navCon {
|
||||||
|
padding: 0 40upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .nav .navCon .on {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #e93323;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .nav .progress {
|
||||||
|
padding: 0 65upx;
|
||||||
|
margin-top: 10upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .nav .progress .line {
|
||||||
|
width: 100upx;
|
||||||
|
height: 2upx;
|
||||||
|
background-color: #939390;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .nav .progress .iconfont {
|
||||||
|
font-size: 25upx;
|
||||||
|
color: #939390;
|
||||||
|
margin-top: -2upx;
|
||||||
|
width: 30upx;
|
||||||
|
height: 30upx;
|
||||||
|
line-height: 33upx;
|
||||||
|
text-align: center;
|
||||||
|
margin-right: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .address {
|
||||||
|
font-size: 26upx;
|
||||||
|
color: #868686;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 25upx 30upx 30upx 30upx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .address .name {
|
||||||
|
font-size: 30upx;
|
||||||
|
color: #282828;
|
||||||
|
margin-bottom: 0.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .address .name .phone {
|
||||||
|
margin-left: 40upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .line {
|
||||||
|
width: 100%;
|
||||||
|
height: 3upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .line image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .wrapper {
|
||||||
|
background-color: #fff;
|
||||||
|
margin-top: 12upx;
|
||||||
|
padding: 30upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .wrapper .item {
|
||||||
|
font-size: 28upx;
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .wrapper .item~.item {
|
||||||
|
margin-top: 20upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .wrapper .item .conter {
|
||||||
|
color: #868686;
|
||||||
|
text-align: right;
|
||||||
|
max-width: 450rpx;
|
||||||
|
}
|
||||||
|
.order-details .wrapper .item .virtual_image {
|
||||||
|
// text-align: left;
|
||||||
|
margin-left: 50rpx;
|
||||||
|
}
|
||||||
|
.order-details .wrapper .item .virtual_image .picture{
|
||||||
|
width: 106rpx;
|
||||||
|
height: 106rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
&:last-child{
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.order-details .wrapper .item .conter .copy {
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #868686;
|
||||||
|
border-radius: 3rpx;
|
||||||
|
border: 1px solid #868686;
|
||||||
|
padding: 0rpx 15rpx;
|
||||||
|
margin-left: 24rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
}
|
||||||
|
.address .copy{
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #868686;
|
||||||
|
border-radius: 3rpx;
|
||||||
|
border: 1px solid #868686;
|
||||||
|
padding: 0rpx 15rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
.order-details .wrapper .actualPay {
|
||||||
|
border-top: 1upx solid #eee;
|
||||||
|
margin-top: 30upx;
|
||||||
|
padding-top: 30upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .wrapper .actualPay .money {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 30upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .footer {
|
||||||
|
width: 100%;
|
||||||
|
height: 100upx;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 0 30upx;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .footer .bnt {
|
||||||
|
width: auto;
|
||||||
|
height: 60upx;
|
||||||
|
line-height: 60upx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: upx;
|
||||||
|
border-radius: 50upx;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 27upx;
|
||||||
|
padding: 0 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .footer .bnt.cancel {
|
||||||
|
color: #aaa;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .footer .bnt.default {
|
||||||
|
color: #444;
|
||||||
|
border: 1px solid #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-details .footer .bnt~.bnt {
|
||||||
|
margin-left: 18upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods {
|
||||||
|
padding: 0 30upx;
|
||||||
|
background-color: #fff;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods {
|
||||||
|
padding: 20rpx 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods~.goods {
|
||||||
|
border-top: 1px dashed #e5e5e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt {
|
||||||
|
width: 515upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .pictrue {
|
||||||
|
width: 130upx;
|
||||||
|
height: 130upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .pictrue image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 6upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .text {
|
||||||
|
width: 365upx;
|
||||||
|
height: 130upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .text .info {
|
||||||
|
font-size: 28upx;
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .text .attr {
|
||||||
|
font-size: 24upx;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money {
|
||||||
|
width: 164upx;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 28upx;
|
||||||
|
}
|
||||||
|
.pos-order-goods .goods .money .refund_num{
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
.pos-order-goods .goods .money .x-money {
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money .num {
|
||||||
|
color: #ff9600;
|
||||||
|
margin: 5upx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money .y-money {
|
||||||
|
color: #999;
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
.pos-order-goods .cancellate{
|
||||||
|
font-size: 24rpx;
|
||||||
|
float: right;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
text{
|
||||||
|
margin-left: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pos-order-goods .cancelled{
|
||||||
|
color: #FF9600;
|
||||||
|
}
|
||||||
|
.pos-order-goods .goods .uncancell{
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
.public-total {
|
||||||
|
font-size: 28upx;
|
||||||
|
color: #282828;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
height: 92upx;
|
||||||
|
line-height: 92upx;
|
||||||
|
text-align: right;
|
||||||
|
padding: 0 30upx;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.public-total .money {
|
||||||
|
color: #ff4c3c;
|
||||||
|
}
|
||||||
|
</style>
|
File diff suppressed because it is too large
Load Diff
|
@ -69,6 +69,25 @@
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="content-tools" style="margin-top: 10rpx;" v-if="$store.state.app.userInfo&&$store.state.app.userInfo.mer_info&&$store.state.app.userInfo.mer_info.type_code=='TypeSupplyChain'">
|
||||||
|
<view class="tools-one">
|
||||||
|
赊账订单
|
||||||
|
<view class=""></view>
|
||||||
|
</view>
|
||||||
|
<view class="content-order" >
|
||||||
|
<view class="" v-for="(item,i) in other_order" :key='i' @click="other_shopporder(item)">
|
||||||
|
<view class="content-order-two">
|
||||||
|
{{item.value}}
|
||||||
|
</view>
|
||||||
|
<view class="content-order-one">
|
||||||
|
{{item.name}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="" v-for="item in 3" :key="'empty'+item">
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="content-tools">
|
<view class="content-tools">
|
||||||
<view class="tools-one">
|
<view class="tools-one">
|
||||||
|
@ -373,6 +392,7 @@
|
||||||
import image from '../../uni_modules/uview-ui/libs/config/props/image';
|
import image from '../../uni_modules/uview-ui/libs/config/props/image';
|
||||||
import {
|
import {
|
||||||
orderStatistics,
|
orderStatistics,
|
||||||
|
otherOrderStatistics,
|
||||||
getOrderList
|
getOrderList
|
||||||
|
|
||||||
} from "@/api/admin";
|
} from "@/api/admin";
|
||||||
|
@ -423,7 +443,15 @@ import { Toast } from '../../libs/uniApi';
|
||||||
type: 6,
|
type: 6,
|
||||||
value: 0
|
value: 0
|
||||||
}],
|
}],
|
||||||
|
other_order: [{
|
||||||
|
name: '待发货',
|
||||||
|
type: 2,
|
||||||
|
value: 0
|
||||||
|
}, {
|
||||||
|
name: '待收货',
|
||||||
|
type: 3,
|
||||||
|
value: 0
|
||||||
|
}],
|
||||||
typelist: [{
|
typelist: [{
|
||||||
name: '商品管理',
|
name: '商品管理',
|
||||||
type: 1,
|
type: 1,
|
||||||
|
@ -667,8 +695,49 @@ import { Toast } from '../../libs/uniApi';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
this.isAuto = true;
|
||||||
|
this.isShowAuth = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
other_shopporder(item) {
|
||||||
|
if (this.userid) {
|
||||||
|
switch (item.type) {
|
||||||
|
case 1:
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
|
||||||
|
'&types=' + item.type
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
|
||||||
|
'&types=' + item.type
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
|
||||||
|
'&types=' + item.type
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
|
||||||
|
'&types=' + item.type
|
||||||
|
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
|
||||||
|
'&types=' + item.type
|
||||||
|
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.isAuto = true;
|
this.isAuto = true;
|
||||||
this.isShowAuth = true
|
this.isShowAuth = true
|
||||||
|
@ -938,6 +1007,17 @@ import { Toast } from '../../libs/uniApi';
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
otherOrderStatistics(this.userInfoData.service.mer_id, data).then(
|
||||||
|
res => {
|
||||||
|
this.other_order[0].value = res.data.order.unshipped
|
||||||
|
this.other_order[1].value = res.data.order.untake
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err.msg
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
},
|
},
|
||||||
open() {
|
open() {
|
||||||
this.isshow = !this.isshow
|
this.isshow = !this.isshow
|
||||||
|
|
|
@ -155,6 +155,10 @@
|
||||||
<image class="icon_img" src="@/static/images/index5.png" mode="aspectFit"></image>
|
<image class="icon_img" src="@/static/images/index5.png" mode="aspectFit"></image>
|
||||||
<text class="text">进货管理</text>
|
<text class="text">进货管理</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="examine" @click="navigator('/pages/users/order_list/indexOther?status=-1&product_type=98&source=12')">
|
||||||
|
<image class="icon_img" src="@/static/images/index13.png" mode="aspectFit"></image>
|
||||||
|
<text class="text">赊账订单</text>
|
||||||
|
</view>
|
||||||
<view class="examine" @click="navigator(`/pages/admin/stockOut/index?mer_id=${mer_id}`)">
|
<view class="examine" @click="navigator(`/pages/admin/stockOut/index?mer_id=${mer_id}`)">
|
||||||
<image class="icon_img" src="@/static/images/index10.png" mode="aspectFit">
|
<image class="icon_img" src="@/static/images/index10.png" mode="aspectFit">
|
||||||
</image>
|
</image>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -711,7 +711,7 @@
|
||||||
// console.log({...this.userInfoData});
|
// console.log({...this.userInfoData});
|
||||||
let query = {
|
let query = {
|
||||||
product_type: this.product_type,
|
product_type: this.product_type,
|
||||||
cate_pid: this.storeParam.category_id,
|
// cate_pid: this.storeParam.category_id,
|
||||||
page: this.storeParam.page,
|
page: this.storeParam.page,
|
||||||
order: this.storeParam.order,
|
order: this.storeParam.order,
|
||||||
keyword: this.storeParam.keyword
|
keyword: this.storeParam.keyword
|
||||||
|
|
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
File diff suppressed because it is too large
Load Diff
|
@ -21,12 +21,12 @@
|
||||||
<view class="con_kuo"
|
<view class="con_kuo"
|
||||||
v-for="(item, index) in list"
|
v-for="(item, index) in list"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@click="navigator(`/pages/nongKe/supply_chain/supplierA?tit=1&type_id=12&isDetail=1&product_type=98&cate_id=${id}`)">
|
@click="navigator(`/pages/nongKe/cloud_entrepot/${item.name=='现款现货'?'indexb':'indexOther'}?type_id=12&value=${item.value}&tips=${item.content}`)">
|
||||||
<image class="con_img" src="@/static/images/bg1.png" mode=""></image>
|
<image class="con_img" :src="item.bg" mode=""></image>
|
||||||
<image class="con_ico" src="@/static/images/bgic1.png" mode=""></image>
|
<image class="con_ico" src="@/static/images/bgic1.png" mode=""></image>
|
||||||
<view class="con_text">
|
<view class="con_text">
|
||||||
<h3>{{item.name}}</h3>
|
<h3>{{item.name}}</h3>
|
||||||
<span>先付款后发货</span>
|
<span>{{item.content}}</span>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -50,9 +50,25 @@
|
||||||
systemGroupValue({
|
systemGroupValue({
|
||||||
name: 'purchasing_navigation'
|
name: 'purchasing_navigation'
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
console.log(res);
|
res.data.forEach((item)=>{
|
||||||
|
if(item.name=='线上铺货'){
|
||||||
|
item.bg = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/71e06202312151146467207.png';
|
||||||
|
item.content = '线上选品 一键铺货';
|
||||||
|
}
|
||||||
|
if(item.name=='实体铺货'){
|
||||||
|
item.bg = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/8cb7a202312151147485701.png';
|
||||||
|
item.content = '先售利润 后结货款';
|
||||||
|
}
|
||||||
|
if(item.name=='现款现货'){
|
||||||
|
item.bg = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/f4521202312151148087081.png';
|
||||||
|
item.content = '先付款 后发货';
|
||||||
|
}
|
||||||
|
if(item.name=='赊账进货'){
|
||||||
|
item.bg = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/899a4202312151148319478.png';
|
||||||
|
item.content = '先发货 后付款';
|
||||||
|
}
|
||||||
|
})
|
||||||
this.list = res.data;
|
this.list = res.data;
|
||||||
console.log(this.list);
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
navigator(url, t) {
|
navigator(url, t) {
|
||||||
|
@ -73,7 +89,7 @@
|
||||||
.conent {
|
.conent {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-evenly;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|
||||||
|
@ -81,13 +97,13 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.con_img {
|
.con_img {
|
||||||
width: 192px;
|
width: 360rpx;
|
||||||
height: 92px;
|
height: 92px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.con_ico {
|
.con_ico {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 25px;
|
left: 15px;
|
||||||
top: 32px;
|
top: 32px;
|
||||||
width: 31px;
|
width: 31px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
@ -95,7 +111,7 @@
|
||||||
|
|
||||||
.con_text {
|
.con_text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 66px;
|
left: 55px;
|
||||||
top: 20px;
|
top: 20px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue