|
@@ -4,6 +4,7 @@
|
|
|
<el-tab-pane label="全部" name="all"></el-tab-pane>
|
|
<el-tab-pane label="全部" name="all"></el-tab-pane>
|
|
|
<el-tab-pane label="未审核" name="1"></el-tab-pane>
|
|
<el-tab-pane label="未审核" name="1"></el-tab-pane>
|
|
|
<el-tab-pane label="审核通过" name="2"></el-tab-pane>
|
|
<el-tab-pane label="审核通过" name="2"></el-tab-pane>
|
|
|
|
|
+ <el-tab-pane label="发货中" name="5"></el-tab-pane>
|
|
|
<el-tab-pane label="已发货" name="3"></el-tab-pane>
|
|
<el-tab-pane label="已发货" name="3"></el-tab-pane>
|
|
|
<el-tab-pane label="已回款" name="4"></el-tab-pane>
|
|
<el-tab-pane label="已回款" name="4"></el-tab-pane>
|
|
|
<el-tab-pane label="订单拒收" name="-4"></el-tab-pane>
|
|
<el-tab-pane label="订单拒收" name="-4"></el-tab-pane>
|
|
@@ -190,6 +191,18 @@
|
|
|
v-hasPermi="['his:externalOrder:create']"
|
|
v-hasPermi="['his:externalOrder:create']"
|
|
|
>创建外部订单</el-button>
|
|
>创建外部订单</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
+ <el-col :span="1.5">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="success"
|
|
|
|
|
+ plain
|
|
|
|
|
+ icon="el-icon-s-check"
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ :disabled="selectedRows.length === 0"
|
|
|
|
|
+ :loading="batchAuditLoading"
|
|
|
|
|
+ @click="handleBatchAudit"
|
|
|
|
|
+ v-hasPermi="['store:externalOrder:audit']"
|
|
|
|
|
+ >批量审核</el-button>
|
|
|
|
|
+ </el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
<el-button
|
|
|
type="warning"
|
|
type="warning"
|
|
@@ -204,7 +217,8 @@
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
- <el-table :key="tableKey" ref="orderTable" v-loading="loading" border :data="orderList" row-key="orderId" style="width:100%" height="500" show-summary :summary-method="getSummaries" @filter-change="handleFilterChange">
|
|
|
|
|
|
|
+ <el-table :key="tableKey" ref="orderTable" v-loading="loading" border :data="orderList" row-key="orderId" style="width:100%" height="500" show-summary :summary-method="getSummaries" @filter-change="handleFilterChange" @selection-change="handleSelectionChange">
|
|
|
|
|
+ <el-table-column type="selection" width="50" :reserve-selection="true" fixed="left" :selectable="checkAuditSelectable" />
|
|
|
<el-table-column label="外部订单号" align="center" prop="orderCode" width="170" fixed="left" column-key="orderCode" :filters="getFilters('orderCode')" :filtered-value="columnFilters.orderCode" />
|
|
<el-table-column label="外部订单号" align="center" prop="orderCode" width="170" fixed="left" column-key="orderCode" :filters="getFilters('orderCode')" :filtered-value="columnFilters.orderCode" />
|
|
|
<el-table-column label="收货人" align="center" prop="userName" width="90" column-key="userName" :filters="getFilters('userName')" :filtered-value="columnFilters.userName" />
|
|
<el-table-column label="收货人" align="center" prop="userName" width="90" column-key="userName" :filters="getFilters('userName')" :filtered-value="columnFilters.userName" />
|
|
|
<el-table-column label="商品名称*数量" align="center" prop="productInfo" width="220" show-overflow-tooltip column-key="productNames" :filters="getFilters('productNames')" :filtered-value="columnFilters.productNames" />
|
|
<el-table-column label="商品名称*数量" align="center" prop="productInfo" width="220" show-overflow-tooltip column-key="productNames" :filters="getFilters('productNames')" :filtered-value="columnFilters.productNames" />
|
|
@@ -223,6 +237,7 @@
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-tag v-if="scope.row.status==1" type="warning" size="mini">未审核</el-tag>
|
|
<el-tag v-if="scope.row.status==1" type="warning" size="mini">未审核</el-tag>
|
|
|
<el-tag v-else-if="scope.row.status==2" type="success" size="mini">审核通过</el-tag>
|
|
<el-tag v-else-if="scope.row.status==2" type="success" size="mini">审核通过</el-tag>
|
|
|
|
|
+ <el-tag v-else-if="scope.row.status==5" size="mini">发货中</el-tag>
|
|
|
<el-tag v-else-if="scope.row.status==3" type="primary" size="mini">已发货</el-tag>
|
|
<el-tag v-else-if="scope.row.status==3" type="primary" size="mini">已发货</el-tag>
|
|
|
<el-tag v-else-if="scope.row.status==4" size="mini">已回款</el-tag>
|
|
<el-tag v-else-if="scope.row.status==4" size="mini">已回款</el-tag>
|
|
|
<el-tag v-else-if="scope.row.status==-4" type="danger" size="mini">订单拒收</el-tag>
|
|
<el-tag v-else-if="scope.row.status==-4" type="danger" size="mini">订单拒收</el-tag>
|
|
@@ -435,6 +450,9 @@
|
|
|
<el-form-item :label="form.payType == 3 ? '定金' : '支付金额'" prop="payMoney">
|
|
<el-form-item :label="form.payType == 3 ? '定金' : '支付金额'" prop="payMoney">
|
|
|
<el-input v-model="form.payMoney" placeholder="请输入支付金额" clearable size="small" style="width: 200px;" />
|
|
<el-input v-model="form.payMoney" placeholder="请输入支付金额" clearable size="small" style="width: 200px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
|
|
+ <el-input v-model="form.remark" type="textarea" :rows="3" placeholder="请输入备注" clearable style="width: 400px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
@@ -448,6 +466,7 @@
|
|
|
<el-descriptions-item label="订单状态">
|
|
<el-descriptions-item label="订单状态">
|
|
|
<el-tag v-if="detailData.status==1" type="warning" size="mini">未审核</el-tag>
|
|
<el-tag v-if="detailData.status==1" type="warning" size="mini">未审核</el-tag>
|
|
|
<el-tag v-else-if="detailData.status==2" type="success" size="mini">审核通过</el-tag>
|
|
<el-tag v-else-if="detailData.status==2" type="success" size="mini">审核通过</el-tag>
|
|
|
|
|
+ <el-tag v-else-if="detailData.status==5" size="mini">发货中</el-tag>
|
|
|
<el-tag v-else-if="detailData.status==3" type="primary" size="mini">已发货</el-tag>
|
|
<el-tag v-else-if="detailData.status==3" type="primary" size="mini">已发货</el-tag>
|
|
|
<el-tag v-else-if="detailData.status==4" size="mini">已回款</el-tag>
|
|
<el-tag v-else-if="detailData.status==4" size="mini">已回款</el-tag>
|
|
|
<el-tag v-else-if="detailData.status==-4" type="danger" size="mini">订单拒收</el-tag>
|
|
<el-tag v-else-if="detailData.status==-4" type="danger" size="mini">订单拒收</el-tag>
|
|
@@ -693,7 +712,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-import { listExternalOrder, createExternalOrder, getExternalOrder, auditExternalOrder, cancelExternalOrder, approveExternalOrder, exportExternalOrder, getExternalOrderExpress, syncExternalOrderExpress, editExternalOrder } from "@/api/store/externalOrder";
|
|
|
|
|
|
|
+import { listExternalOrder, createExternalOrder, getExternalOrder, auditExternalOrder, batchAuditExternalOrder, cancelExternalOrder, approveExternalOrder, exportExternalOrder, getExternalOrderExpress, syncExternalOrderExpress, editExternalOrder } from "@/api/store/externalOrder";
|
|
|
import { getCompanyList } from "@/api/company/company";
|
|
import { getCompanyList } from "@/api/company/company";
|
|
|
import { listUserAddress } from "@/api/store/userAddress";
|
|
import { listUserAddress } from "@/api/store/userAddress";
|
|
|
import { listStoreProduct, listStore } from "@/api/store/storeProduct";
|
|
import { listStoreProduct, listStore } from "@/api/store/storeProduct";
|
|
@@ -712,6 +731,8 @@ export default {
|
|
|
activeStatus: "all",
|
|
activeStatus: "all",
|
|
|
loading: true,
|
|
loading: true,
|
|
|
exportLoading: false,
|
|
exportLoading: false,
|
|
|
|
|
+ batchAuditLoading: false,
|
|
|
|
|
+ selectedRows: [],
|
|
|
showSearch: true,
|
|
showSearch: true,
|
|
|
total: 0,
|
|
total: 0,
|
|
|
tableKey: 0,
|
|
tableKey: 0,
|
|
@@ -818,6 +839,7 @@ export default {
|
|
|
payType: null,
|
|
payType: null,
|
|
|
totalPrice: null,
|
|
totalPrice: null,
|
|
|
payMoney: null,
|
|
payMoney: null,
|
|
|
|
|
+ remark: null,
|
|
|
products: []
|
|
products: []
|
|
|
},
|
|
},
|
|
|
rules: {
|
|
rules: {
|
|
@@ -860,7 +882,7 @@ export default {
|
|
|
userStatusOptions: [],
|
|
userStatusOptions: [],
|
|
|
deptOptions: [],
|
|
deptOptions: [],
|
|
|
// 列头筛选-枚举字段展示文案映射
|
|
// 列头筛选-枚举字段展示文案映射
|
|
|
- statusMap: { 1: '未审核', 2: '审核通过', 3: '已发货', 4: '已回款', '-4': '订单拒收', '-3': '已取消' },
|
|
|
|
|
|
|
+ statusMap: { 1: '未审核', 2: '审核通过', 5: '发货中', 3: '已发货', 4: '已回款', '-4': '订单拒收', '-3': '已取消' },
|
|
|
orderTypeMap: { 1: '外部订单', 2: '套餐包', 3: '问诊', 4: '积分' },
|
|
orderTypeMap: { 1: '外部订单', 2: '套餐包', 3: '问诊', 4: '积分' },
|
|
|
memberSexMap: { 1: '男', 2: '女' },
|
|
memberSexMap: { 1: '男', 2: '女' },
|
|
|
// 列头筛选-各列选中值(单选语义,用数组承载以适配 Element filtered-value)
|
|
// 列头筛选-各列选中值(单选语义,用数组承载以适配 Element filtered-value)
|
|
@@ -1197,6 +1219,7 @@ export default {
|
|
|
payType: null,
|
|
payType: null,
|
|
|
totalPrice: null,
|
|
totalPrice: null,
|
|
|
payMoney: null,
|
|
payMoney: null,
|
|
|
|
|
+ remark: null,
|
|
|
products: []
|
|
products: []
|
|
|
};
|
|
};
|
|
|
this.drugList = [];
|
|
this.drugList = [];
|
|
@@ -1360,6 +1383,7 @@ export default {
|
|
|
totalPrice: parseFloat(this.form.totalPrice) || 0,
|
|
totalPrice: parseFloat(this.form.totalPrice) || 0,
|
|
|
payMoney: parseFloat(this.form.payMoney) || 0,
|
|
payMoney: parseFloat(this.form.payMoney) || 0,
|
|
|
receiverPhone: this.form.receiverPhone,
|
|
receiverPhone: this.form.receiverPhone,
|
|
|
|
|
+ remark: this.form.remark,
|
|
|
storeId: this.selectedStoreId,
|
|
storeId: this.selectedStoreId,
|
|
|
products: products
|
|
products: products
|
|
|
};
|
|
};
|
|
@@ -1422,6 +1446,40 @@ export default {
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ checkAuditSelectable(row) {
|
|
|
|
|
+ return row.status == 1;
|
|
|
|
|
+ },
|
|
|
|
|
+ handleSelectionChange(selection) {
|
|
|
|
|
+ this.selectedRows = selection;
|
|
|
|
|
+ },
|
|
|
|
|
+ handleBatchAudit() {
|
|
|
|
|
+ if (this.selectedRows.length === 0) {
|
|
|
|
|
+ this.msgError("请至少选择一条未审核订单");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ const orderIds = this.selectedRows.map(r => r.orderId);
|
|
|
|
|
+ this.$confirm("确认批量审核选中的 " + orderIds.length + " 条订单?审核后将变为审核通过状态", "提示", {
|
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
|
+ type: "warning"
|
|
|
|
|
+ }).then(() => {
|
|
|
|
|
+ this.batchAuditLoading = true;
|
|
|
|
|
+ return batchAuditExternalOrder(orderIds);
|
|
|
|
|
+ }).then(response => {
|
|
|
|
|
+ this.batchAuditLoading = false;
|
|
|
|
|
+ if (response.code === 200) {
|
|
|
|
|
+ this.msgSuccess(response.msg || "批量审核成功");
|
|
|
|
|
+ if (this.$refs.orderTable) {
|
|
|
|
|
+ this.$refs.orderTable.clearSelection();
|
|
|
|
|
+ }
|
|
|
|
|
+ this.getList();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.msgError(response.msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
|
+ this.batchAuditLoading = false;
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
handleCancel(row) {
|
|
handleCancel(row) {
|
|
|
this.$confirm("确认取消该订单?取消后订单将变为已取消状态", "警告", {
|
|
this.$confirm("确认取消该订单?取消后订单将变为已取消状态", "警告", {
|
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|