|
@@ -23,12 +23,12 @@
|
|
|
<el-option v-for="dict in order_status" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
<el-option v-for="dict in order_status" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item> -->
|
|
</el-form-item> -->
|
|
|
- <el-form-item label="业务员" prop="">
|
|
|
|
|
|
|
+ <!-- <el-form-item label="业务员" prop="">
|
|
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择业务员" clearable> </el-select>
|
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择业务员" clearable> </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="部门" prop="">
|
|
<el-form-item label="部门" prop="">
|
|
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择部门" clearable> </el-select>
|
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择部门" clearable> </el-select>
|
|
|
- </el-form-item>
|
|
|
|
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="提交时间" prop="createTime">
|
|
<el-form-item label="提交时间" prop="createTime">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
v-model="dateRange"
|
|
v-model="dateRange"
|
|
@@ -50,30 +50,29 @@
|
|
|
|
|
|
|
|
<el-card shadow="never">
|
|
<el-card shadow="never">
|
|
|
<template #header>
|
|
<template #header>
|
|
|
- <el-row :gutter="10" class="mb8">
|
|
|
|
|
- <el-col :span="19"> 发货单信息列表 </el-col>
|
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
|
|
|
+ <el-row :gutter="10" class="mb8" type="flex" justify="space-between" align="middle">
|
|
|
|
|
+ <!-- 左侧标题 -->
|
|
|
|
|
+ <span style="font-size: 16px; font-weight: 500">发货单信息列表</span>
|
|
|
|
|
+ <div style="display: flex; flex-wrap: nowrap; gap: 10px">
|
|
|
<el-button type="primary" @click="handleCloseOrder()" :disabled="!ids.length" plain>关闭订单</el-button>
|
|
<el-button type="primary" @click="handleCloseOrder()" :disabled="!ids.length" plain>关闭订单</el-button>
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
|
<el-button type="primary" @click="handleDelete()" :disabled="!ids.length" plain>删除订单</el-button>
|
|
<el-button type="primary" @click="handleDelete()" :disabled="!ids.length" plain>删除订单</el-button>
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="1.5">
|
|
|
|
|
<el-button type="primary" :disabled="!ids.length" plain>导出订单</el-button>
|
|
<el-button type="primary" :disabled="!ids.length" plain>导出订单</el-button>
|
|
|
- </el-col>
|
|
|
|
|
|
|
+ </div>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<el-table v-loading="loading" border :data="orderMainList" @selection-change="handleSelectionChange">
|
|
<el-table v-loading="loading" border :data="orderMainList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
<el-table-column label="发货单编号" align="center" prop="shipmentNo" />
|
|
<el-table-column label="发货单编号" align="center" prop="shipmentNo" />
|
|
|
- <el-table-column label="订单编号" align="center" prop="orderNo" />
|
|
|
|
|
- <el-table-column label="客户名称" align="center" prop="customerName" />
|
|
|
|
|
- <el-table-column label="发货时间" align="center" prop="deliverTime" />
|
|
|
|
|
- <el-table-column label="签收时间" align="center" prop="deliverTime" />
|
|
|
|
|
- <el-table-column label="发货方式" align="center" prop="deliverMethod">
|
|
|
|
|
|
|
+ <el-table-column label="关联单号" align="center" prop="parentOrderNo" />
|
|
|
|
|
+ <el-table-column label="平台\项目订单号" align="center" prop="projectOrderNo">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <span>{{ scope.row._crrcOrderNo || '' }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="客户名称" align="center" prop="customerName">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <dict-tag :options="deliver_method" :value="scope.row.deliverMethod" />
|
|
|
|
|
|
|
+ <span>{{ scope.row.customerName || '--' }}</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="订单状态" align="center" prop="orderStatus">
|
|
<el-table-column label="订单状态" align="center" prop="orderStatus">
|
|
@@ -83,7 +82,12 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <!-- <el-button link type="primary" v-if="scope.row.orderStatus != '4'" @click="handleDeliver(scope.row)">发货</el-button> -->
|
|
|
|
|
|
|
+ <el-button link type="primary" v-if="scope.row.orderStatus == '0' || scope.row.orderStatus == '1'" @click="handleAffirm(scope.row)"
|
|
|
|
|
+ >确认订单</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button link type="primary" v-if="scope.row.orderStatus == '2' || scope.row.orderStatus == '3'" @click="handleDeliver(scope.row)"
|
|
|
|
|
+ >发货</el-button
|
|
|
|
|
+ >
|
|
|
<el-button link type="primary" @click="handleReview(scope.row)">查看发货信息</el-button>
|
|
<el-button link type="primary" @click="handleReview(scope.row)">查看发货信息</el-button>
|
|
|
<el-button
|
|
<el-button
|
|
|
link
|
|
link
|
|
@@ -118,6 +122,7 @@ import {
|
|
|
queryOrderStatusStats,
|
|
queryOrderStatusStats,
|
|
|
closeOrderMain
|
|
closeOrderMain
|
|
|
} from '@/api/order/orderMain';
|
|
} from '@/api/order/orderMain';
|
|
|
|
|
+import { getOrderMainCrrcExt } from '@/api/order/orderMainCrrcExt';
|
|
|
import { OrderMainVO, OrderMainQuery, OrderMainForm } from '@/api/order/orderMain/types';
|
|
import { OrderMainVO, OrderMainQuery, OrderMainForm } from '@/api/order/orderMain/types';
|
|
|
import DeliverDialog from '../saleOrder/deliverDialog.vue';
|
|
import DeliverDialog from '../saleOrder/deliverDialog.vue';
|
|
|
import LogisticsDetail from '../saleOrder/logisticsDetail.vue';
|
|
import LogisticsDetail from '../saleOrder/logisticsDetail.vue';
|
|
@@ -125,7 +130,6 @@ const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
const { order_status, fee_type, pay_method, order_source, deliver_method } = toRefs<any>(
|
|
const { order_status, fee_type, pay_method, order_source, deliver_method } = toRefs<any>(
|
|
|
proxy?.useDict('order_status', 'fee_type', 'pay_method', 'order_source', 'deliver_method')
|
|
proxy?.useDict('order_status', 'fee_type', 'pay_method', 'order_source', 'deliver_method')
|
|
|
);
|
|
);
|
|
|
-
|
|
|
|
|
const orderMainList = ref<OrderMainVO[]>([]);
|
|
const orderMainList = ref<OrderMainVO[]>([]);
|
|
|
const buttonLoading = ref(false);
|
|
const buttonLoading = ref(false);
|
|
|
const loading = ref(true);
|
|
const loading = ref(true);
|
|
@@ -238,7 +242,7 @@ const data = reactive<PageData<OrderMainForm, OrderMainQuery>>({
|
|
|
paymentStatus: undefined,
|
|
paymentStatus: undefined,
|
|
|
orderSource: undefined,
|
|
orderSource: undefined,
|
|
|
orderStatus: undefined,
|
|
orderStatus: undefined,
|
|
|
- orderStatuses: '2,3,4',
|
|
|
|
|
|
|
+ orderStatuses: '1,2,3,4',
|
|
|
orderTime: undefined,
|
|
orderTime: undefined,
|
|
|
confirmTime: undefined,
|
|
confirmTime: undefined,
|
|
|
shippingTime: undefined,
|
|
shippingTime: undefined,
|
|
@@ -276,6 +280,8 @@ const { queryParams, form, rules } = toRefs(data);
|
|
|
const getList = async () => {
|
|
const getList = async () => {
|
|
|
loading.value = true;
|
|
loading.value = true;
|
|
|
const res = await listOrderMain(proxy?.addDateRange(queryParams.value, dateRange.value));
|
|
const res = await listOrderMain(proxy?.addDateRange(queryParams.value, dateRange.value));
|
|
|
|
|
+ const rows = res.rows;
|
|
|
|
|
+ await fetchCrrcOrderNos(rows);
|
|
|
orderMainList.value = res.rows;
|
|
orderMainList.value = res.rows;
|
|
|
total.value = res.total;
|
|
total.value = res.total;
|
|
|
loading.value = false;
|
|
loading.value = false;
|
|
@@ -298,6 +304,13 @@ const queryOrderStatusStatsMethod = async () => {
|
|
|
orderStatusStats.value = res as any;
|
|
orderStatusStats.value = res as any;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const handleAffirm = (row?: OrderMainVO) => {
|
|
|
|
|
+ router.push({
|
|
|
|
|
+ path: '/order-manage/order-affirm',
|
|
|
|
|
+ query: { id: row.id }
|
|
|
|
|
+ });
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
/** 关闭订单操作 */
|
|
/** 关闭订单操作 */
|
|
|
const handleCloseOrder = async (row?: OrderMainVO) => {
|
|
const handleCloseOrder = async (row?: OrderMainVO) => {
|
|
|
const _ids = row?.id || ids.value;
|
|
const _ids = row?.id || ids.value;
|
|
@@ -307,6 +320,25 @@ const handleCloseOrder = async (row?: OrderMainVO) => {
|
|
|
await getList();
|
|
await getList();
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+// 批量获取平台订单号
|
|
|
|
|
+const fetchCrrcOrderNos = async (rows: OrderMainVO[]) => {
|
|
|
|
|
+ const results = await Promise.allSettled(
|
|
|
|
|
+ rows.map((row) => {
|
|
|
|
|
+ const id = row.parentOrderId || row.id;
|
|
|
|
|
+ if (!id) return Promise.resolve(null);
|
|
|
|
|
+ return getOrderMainCrrcExt(id);
|
|
|
|
|
+ })
|
|
|
|
|
+ );
|
|
|
|
|
+ rows.forEach((row, i) => {
|
|
|
|
|
+ const result = results[i];
|
|
|
|
|
+ if (result.status === 'fulfilled') {
|
|
|
|
|
+ (row as any)._crrcOrderNo = result.value?.data?.crrcOrderNo || '';
|
|
|
|
|
+ } else {
|
|
|
|
|
+ (row as any)._crrcOrderNo = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
/** 取消按钮 */
|
|
/** 取消按钮 */
|
|
|
const cancel = () => {
|
|
const cancel = () => {
|
|
|
reset();
|
|
reset();
|