From f9b6865fafcad274edb9f89a43e0535a9b4eff40 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 08 一月 2025 14:46:40 +0800
Subject: [PATCH] add:物流发货针对散户更改微信发货方式,保存物流单号,未发送之前可更改
---
pages/order/list/index.vue | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 173 insertions(+), 6 deletions(-)
diff --git a/pages/order/list/index.vue b/pages/order/list/index.vue
index eaae30c..753861e 100644
--- a/pages/order/list/index.vue
+++ b/pages/order/list/index.vue
@@ -1,6 +1,6 @@
<template>
<div>
- <el-bus-crud
+<!-- <el-bus-crud
ref="crud"
v-bind="tableConfig"
:extra-query="{ levelDown: checkedLevelDown }"
@@ -14,7 +14,11 @@
>未处理的质检异常订单</el-checkbox
>
</template>
- </el-bus-crud>
+ </el-bus-crud>-->
+ <el-bus-crud
+ ref="crud"
+ v-bind="tableConfig"
+ ></el-bus-crud>
<div id="print-container">
<print-list ref="printList" :order-list="orderList" />
</div>
@@ -37,10 +41,14 @@
orderList: [],
tableConfig: {
url: 'flower/api/order/list',
+ editUrl: 'flower/api/order/page/update',
hasNew: false,
- hasEdit: false,
+ hasEdit: true,
hasDelete: false,
persistSelection: true,
+ hasExport: true,
+ exportUrl: 'flower/api/order/list/export',
+ exportText: '导出订单',
onResetView: (row) => {
this.$router.push(`${this.$route.path}/${row.id}`)
},
@@ -57,6 +65,17 @@
statusComp.extraQuery = { ...params, statusBackend: '' }
statusComp.getOtherOptions()
}
+ const abnormalOrderStatusComp = searchForm.getComponentById('abnormalOrderStatus')
+ if (abnormalOrderStatusComp) {
+ // 组件内部不会修改这个prop直接修改可忽略警告
+ abnormalOrderStatusComp.extraQuery = { ...params, abnormalOrderStatus: '' }
+ abnormalOrderStatusComp.getOtherOptions()
+ }
+ }
+ },
+ beforeOpen: (row, isNew) => {
+ if (!isNew) {
+ row.districtStr = this.getDistrict(row)
}
},
columns: [
@@ -75,11 +94,13 @@
},
{ label: '订单金额(元)', prop: 'totalAmount', minWidth: 150 },
{ label: '底价(元)', prop: 'supplierAmount', minWidth: 150 },
+ { label: '销售扎数', prop: 'saleNum', minWidth: 150 },
{ label: '订单状态', prop: 'statusBackendStr', minWidth: 120 },
{ label: '下单时间', prop: 'createTime', minWidth: 180 },
+ { label: '支付时间', prop: 'paymentTime', minWidth: 180 },
{ label: '合伙人', prop: 'partnerName', minWidth: 120 },
{ label: '库位', prop: 'warehouseLocationCode', minWidth: 120 },
- { label: '特殊需求', prop: 'specialNeeds', minWidth: 120 },
+ { label: '特殊需求', prop: 'specialNeedsStr', minWidth: 120 },
{
label: '备注',
formatter: (row) => (
@@ -114,7 +135,42 @@
},
// code: 'ORDER_STATUS_BACKEND',
},
- default: '',
+ default: this.$route.query.statusBackend || '',
+ span: 24,
+ searchImmediately: true,
+ on: {
+ optionsChange: (e, updateForm, { currentComp }) => {
+ if (Array.isArray(e[0]) && e[0].length > 0) {
+ const totalCount = e[0].reduce((total, current) => {
+ return (total += current.orderCount)
+ }, 0)
+ // 组件内部不会修改这个prop直接修改可忽略警告
+ currentComp.props = {
+ allLabel: `不限(${totalCount})`,
+ }
+ }
+ },
+ },
+ },
+ {
+ label: '异常订单:',
+ id: 'abnormalOrderStatus',
+ type: 'bus-radio',
+ el: {
+ hasAll: true,
+ otherInterfaceUri: 'flower/api/order/abnormal/status/count',
+ childType: 'el-radio-button',
+ filterOptions: (list) => {
+ return list.map((item) => {
+ return {
+ ...item,
+ label: `${item.label}(${item.orderCount})`,
+ }
+ })
+ },
+ // code: 'ORDER_STATUS_BACKEND',
+ },
+ default: this.$route.query.abnormalOrderStatus || '',
span: 24,
searchImmediately: true,
on: {
@@ -157,6 +213,76 @@
el: { placeholder: '收货人姓名/手机号' },
},
{ label: '收货地址:', id: 'address', type: 'input' },
+ { label: '库位:', id: 'warehouseLocationCode', type: 'input' },
+ {
+ label: '用户账号:',
+ id: 'createName',
+ type: 'input',
+ el: { placeholder: '用户账号' },
+ rules: {
+ required: false,
+ pattern: /^\d{1,11}$/,
+ message: '请输入合法的用户账号',
+ trigger: 'blur',
+ },
+ },
+ {
+ label: '地区',
+ id: 'province',
+ component: 'el-bus-select-area',
+ el: {
+ clearable: true,
+ },
+ commonFormat: true,
+ commonFormatProps: ['province', 'city', 'region'],
+ customClass: 'in-bus-form',
+ },
+ ],
+ },
+ ],
+ form: [
+ {
+ type: 'row',
+ span: 12,
+ items: [
+ {
+ label: '地区:',
+ id: 'customerProvince',
+ component: 'el-bus-select-area',
+ span: 24,
+ commonFormat: true,
+ commonFormatProps: [
+ 'customerProvince',
+ 'customerCity',
+ 'customerRegion',
+ ],
+ str: true,
+ strKey: 'districtStr',
+ rules: { required: true, message: '请选择地区' },
+ },
+ {
+ label: '详细地址:',
+ id: 'customerAddress',
+ type: 'input',
+ span: 24,
+ rules: {
+ required: true,
+ message: '请输入详细地址且最大不超过50个汉字',
+ trigger: 'blur',
+ max: 50,
+ },
+ },
+ {
+ label: '联系方式:',
+ id: 'customerTel',
+ type: 'input',
+ rules: {
+ required: true,
+ pattern: this.$elBusUtil.REG.MOBILEPHONE,
+ message: '请输入合法的手机号',
+ trigger: 'blur',
+ },
+ },
],
},
],
@@ -234,6 +360,14 @@
],
extraButtons: [
{
+ text: '快递单号',
+ show: (row) => !row.partnerName && row.statusBackend === 'SEND',
+ atClick: (row) => {
+ this.$refs.crud.$refs.extraDialog[1].show(row)
+ return false
+ },
+ },
+ {
text: '发货',
show: (row) => !row.partnerName && row.statusBackend === 'SEND',
atClick: (row) => {
@@ -272,7 +406,8 @@
{
label: '快递号:',
id: 'deliveryNo',
- type: 'input',
+ type: 'text',
+ readonly: true,
rules: {
required: true,
message: '请输入快递号',
@@ -290,6 +425,31 @@
}
},
},
+ {
+ title: '快递单号录入',
+ hiddenReverseItems: [],
+ form: [
+ {
+ label: '快递号:',
+ id: 'deliveryNo',
+ type: 'input',
+ rules: {
+ required: true,
+ message: '请输入快递号',
+ trigger: 'blur',
+ },
+ },
+ ],
+ atConfirm: async (val) => {
+ const { code } = await this.$elBusHttp.request(
+ 'flower/api/order/list/saveDeliveryNo',
+ { method: 'post', data: val }
+ )
+ if (code === 0) {
+ this.$message.success('快递单号录入成功')
+ }
+ },
+ },
],
},
}
@@ -304,6 +464,13 @@
this.$refs.crud.search()
},
},
+ methods: {
+ getDistrict(row) {
+ return `${row.customerProvince || ''}${row.customerCity || ''}${
+ row.customerRegion || ''
+ }`
+ },
+ },
}
</script>
--
Gitblit v1.9.3