|
@@ -2,12 +2,11 @@
|
|
|
<div class="app-container">
|
|
<div class="app-container">
|
|
|
<el-tabs v-model="activeStatus" @tab-click="handleTabClick">
|
|
<el-tabs v-model="activeStatus" @tab-click="handleTabClick">
|
|
|
<el-tab-pane label="全部" name="all"></el-tab-pane>
|
|
<el-tab-pane label="全部" name="all"></el-tab-pane>
|
|
|
- <el-tab-pane
|
|
|
|
|
- v-for="item in statusOptions"
|
|
|
|
|
- :key="item.dictValue"
|
|
|
|
|
- :label="item.dictLabel"
|
|
|
|
|
- :name="item.dictValue"
|
|
|
|
|
- ></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="3"></el-tab-pane>
|
|
|
|
|
+ <el-tab-pane label="已回款" name="4"></el-tab-pane>
|
|
|
|
|
+ <el-tab-pane label="已取消" name="-3"></el-tab-pane>
|
|
|
</el-tabs>
|
|
</el-tabs>
|
|
|
|
|
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
|
|
@@ -96,74 +95,88 @@
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
- <el-table v-loading="loading" border :data="orderList">
|
|
|
|
|
- <el-table-column label="外部订单号" align="center" prop="orderCode" width="180px" />
|
|
|
|
|
- <el-table-column label="所属公司" align="center" prop="companyName" />
|
|
|
|
|
- <el-table-column label="员工" align="center" prop="companyUserName" />
|
|
|
|
|
- <el-table-column label="收货人" align="center" prop="userName" />
|
|
|
|
|
- <el-table-column label="商品名称" align="center" prop="productNames" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column label="应收金额" align="center" prop="receivablePrice" />
|
|
|
|
|
- <el-table-column label="实收金额" align="center" prop="payPrice" />
|
|
|
|
|
- <el-table-column label="支付方式" align="center" prop="payType">
|
|
|
|
|
|
|
+ <el-table v-loading="loading" border :data="orderList" style="width:100%">
|
|
|
|
|
+ <el-table-column label="外部订单号" align="center" prop="orderCode" width="170" fixed="left" />
|
|
|
|
|
+ <el-table-column label="会员ID" align="center" prop="userId" width="90" />
|
|
|
|
|
+ <el-table-column label="订单状态" align="center" prop="status" width="100">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag :options="payTypeOptions" :value="scope.row.payType" />
|
|
|
|
|
|
|
+ <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==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==-3" type="danger" size="mini">已取消</el-tag>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="创建时间" align="center" prop="externalCreateTime" width="180" />
|
|
|
|
|
- <el-table-column label="订单状态" align="center" prop="status">
|
|
|
|
|
|
|
+ <el-table-column label="订单类型" align="center" prop="orderType" width="100">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag :options="statusOptions" :value="scope.row.status" />
|
|
|
|
|
|
|
+ <span v-if="scope.row.orderType==1">外部订单</span>
|
|
|
|
|
+ <span v-else-if="scope.row.orderType==2">套餐包</span>
|
|
|
|
|
+ <span v-else-if="scope.row.orderType==3">问诊</span>
|
|
|
|
|
+ <span v-else-if="scope.row.orderType==4">积分</span>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="物流单号" align="center" prop="deliverySn" width="150" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column label="物流状态" align="center" prop="deliveryStatus">
|
|
|
|
|
|
|
+ <el-table-column label="所属公司" align="center" prop="companyName" width="120" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="部门" align="center" prop="deptName" width="120" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="员工" align="center" prop="companyUserName" width="100" />
|
|
|
|
|
+ <el-table-column label="收货人" align="center" prop="userName" width="90" />
|
|
|
|
|
+ <el-table-column label="会员手机号" align="center" prop="memberPhone" width="130" />
|
|
|
|
|
+ <el-table-column label="会员年龄" align="center" prop="memberAge" width="80" />
|
|
|
|
|
+ <el-table-column label="会员性别" align="center" prop="memberSex" width="80">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag v-if="scope.row.deliveryStatus != null" :options="deliveryStatusOptions" :value="scope.row.deliveryStatus" />
|
|
|
|
|
|
|
+ <span v-if="scope.row.memberSex==1">男</span>
|
|
|
|
|
+ <span v-else-if="scope.row.memberSex==2">女</span>
|
|
|
<span v-else>-</span>
|
|
<span v-else>-</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="物流跟踪状态" align="center" prop="deliveryType" width="120">
|
|
|
|
|
|
|
+ <el-table-column label="复购次数" align="center" prop="memberBuyCount" width="80" />
|
|
|
|
|
+ <el-table-column label="省" align="center" prop="province" width="80" />
|
|
|
|
|
+ <el-table-column label="二级市" align="center" prop="city" width="90" />
|
|
|
|
|
+ <el-table-column label="区县" align="center" prop="district" width="90" />
|
|
|
|
|
+ <el-table-column label="乡镇" align="center" prop="township" width="90" />
|
|
|
|
|
+ <el-table-column label="病名" align="center" prop="diseaseName" width="100" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="商品名称" align="center" prop="productNames" width="200" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="商品总额" align="center" prop="totalPrice" width="100" />
|
|
|
|
|
+ <el-table-column label="应收金额" align="center" prop="receivablePrice" width="100" />
|
|
|
|
|
+ <el-table-column label="定金(实收)" align="center" prop="payPrice" width="100" />
|
|
|
|
|
+ <el-table-column label="代收金额" align="center" prop="collectionPrice" width="100" />
|
|
|
|
|
+ <el-table-column label="支付方式" align="center" prop="payType" width="100">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <dict-tag :options="payTypeOptions" :value="scope.row.payType" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="定金回款时间" align="center" width="160">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag v-if="scope.row.deliveryType != null" :options="deliveryTypeOptions" :value="scope.row.deliveryType" />
|
|
|
|
|
|
|
+ <span>{{ scope.row.status == 4 ? scope.row.updateTime : '-' }}</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="创建时间" align="center" prop="externalCreateTime" width="160" />
|
|
|
|
|
+ <el-table-column label="快递单号" align="center" prop="deliverySn" width="150" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="快递公司" align="center" prop="deliveryCode" width="100" />
|
|
|
|
|
+ <el-table-column label="快递类型" align="center" prop="deliveryName" width="100" />
|
|
|
|
|
+ <el-table-column label="发货日期" align="center" prop="deliveryTime" width="160" />
|
|
|
|
|
+ <el-table-column label="签收状态" align="center" prop="deliveryStatus" width="100">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <dict-tag v-if="scope.row.deliveryStatus != null" :options="deliveryStatusOptions" :value="scope.row.deliveryStatus" />
|
|
|
<span v-else>-</span>
|
|
<span v-else>-</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="280px">
|
|
|
|
|
|
|
+ <el-table-column label="跟单时间" align="center" prop="followTime" width="160" />
|
|
|
|
|
+ <el-table-column label="退款金额" align="center" prop="refundPrice" width="100" />
|
|
|
|
|
+ <el-table-column label="退款日期" align="center" prop="refundTime" width="160" />
|
|
|
|
|
+ <el-table-column label="拒收回退时间" align="center" prop="rejectReturnTime" width="160" />
|
|
|
|
|
+ <el-table-column label="备注" align="center" prop="remark" width="150" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="审核人" align="center" prop="auditor" width="90" />
|
|
|
|
|
+ <el-table-column label="审核时间" align="center" prop="auditTime" width="160" />
|
|
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- v-hasPermi="['store:externalOrder:query']"
|
|
|
|
|
- @click="handleView(scope.row)"
|
|
|
|
|
- >查看</el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- v-hasPermi="['store:externalOrder:audit']"
|
|
|
|
|
- @click="handleAudit(scope.row)"
|
|
|
|
|
- v-if="scope.row.status == 1"
|
|
|
|
|
- >审核</el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- v-hasPermi="['store:externalOrder:approveOrder']"
|
|
|
|
|
- @click="handleApprove(scope.row)"
|
|
|
|
|
- v-if="scope.row.status == 3 && !scope.row.isApplyAudit && isAbnormalDelivery(scope.row.deliveryType)"
|
|
|
|
|
- >申请审核</el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- v-hasPermi="['store:externalOrder:express']"
|
|
|
|
|
- @click="handleExpress(scope.row)"
|
|
|
|
|
- v-if="scope.row.deliverySn"
|
|
|
|
|
- >查看物流</el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="text"
|
|
|
|
|
- v-hasPermi="['store:externalOrder:cancel']"
|
|
|
|
|
- @click="handleCancel(scope.row)"
|
|
|
|
|
- v-if="scope.row.status != 4"
|
|
|
|
|
- >取消订单</el-button>
|
|
|
|
|
|
|
+ <el-button size="mini" type="text" v-hasPermi="['store:externalOrder:query']" @click="handleView(scope.row)">查看</el-button>
|
|
|
|
|
+ <el-button size="mini" type="text" v-hasPermi="['store:externalOrder:audit']" @click="handleAudit(scope.row)" v-if="scope.row.status == 1">审核</el-button>
|
|
|
|
|
+ <el-button size="mini" type="text" v-hasPermi="['store:externalOrder:approveOrder']" @click="handleApprove(scope.row)" v-if="scope.row.status == 3 && !scope.row.isApplyAudit && isAbnormalDelivery(scope.row.deliveryType)">申请审核</el-button>
|
|
|
|
|
+ <el-button size="mini" type="text" v-hasPermi="['store:externalOrder:express']" @click="handleExpress(scope.row)" v-if="scope.row.deliverySn">查看物流</el-button>
|
|
|
|
|
+ <el-button size="mini" type="text" v-hasPermi="['store:externalOrder:cancel']" @click="handleCancel(scope.row)" v-if="scope.row.status != -3">取消订单</el-button>
|
|
|
|
|
+ <el-button size="mini" type="text" v-hasPermi="['store:externalOrder:edit']" @click="handleEdit(scope.row)">订单修改</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
@@ -204,6 +217,19 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="昵称" align="center" prop="nickName" />
|
|
<el-table-column label="昵称" align="center" prop="nickName" />
|
|
|
<el-table-column label="手机号" align="center" prop="phone" />
|
|
<el-table-column label="手机号" align="center" prop="phone" />
|
|
|
|
|
+ <el-table-column label="年龄" align="center">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <span v-if="scope.row.birthday">{{ Math.floor((Date.now() / 1000 - scope.row.birthday) / 31536000) }}</span>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="性别" align="center" prop="sex">
|
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
|
+ <span v-if="scope.row.sex == 1">男</span>
|
|
|
|
|
+ <span v-else-if="scope.row.sex == 2">女</span>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="状态" align="center" prop="status" >
|
|
<el-table-column label="状态" align="center" prop="status" >
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-tag prop="status" v-for="(item, index) in userStatusOptions" :key="index" v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
<el-tag prop="status" v-for="(item, index) in userStatusOptions" :key="index" v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
@@ -235,6 +261,7 @@
|
|
|
<el-table-column label="收货人所在省" align="center" prop="province" />
|
|
<el-table-column label="收货人所在省" align="center" prop="province" />
|
|
|
<el-table-column label="收货人所在市" align="center" prop="city" />
|
|
<el-table-column label="收货人所在市" align="center" prop="city" />
|
|
|
<el-table-column label="收货人所在区" align="center" prop="district" />
|
|
<el-table-column label="收货人所在区" align="center" prop="district" />
|
|
|
|
|
+ <el-table-column label="乡镇" align="center" prop="township" />
|
|
|
<el-table-column label="收货人详细地址" align="center" prop="detail" />
|
|
<el-table-column label="收货人详细地址" align="center" prop="detail" />
|
|
|
</el-table>
|
|
</el-table>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
@@ -291,10 +318,10 @@
|
|
|
/>
|
|
/>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="应收金额" prop="totalPrice">
|
|
|
|
|
- <el-input v-model="form.totalPrice" placeholder="请输入应收金额" clearable size="small" style="width: 200px;" />
|
|
|
|
|
|
|
+ <el-form-item label="商品总额" prop="totalPrice">
|
|
|
|
|
+ <el-input v-model="form.totalPrice" placeholder="请输入商品总额" clearable size="small" style="width: 200px;" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="支付金额" 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>
|
|
</el-form>
|
|
@@ -304,35 +331,72 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
- <el-dialog title="订单详情" v-if="detailOpen" :visible.sync="detailOpen" width="800px" append-to-body>
|
|
|
|
|
- <el-descriptions :column="2" border>
|
|
|
|
|
|
|
+ <el-dialog title="订单详情" v-if="detailOpen" :visible.sync="detailOpen" width="1000px" append-to-body>
|
|
|
|
|
+ <el-descriptions :column="3" border size="small">
|
|
|
<el-descriptions-item label="外部订单号">{{ detailData.orderCode }}</el-descriptions-item>
|
|
<el-descriptions-item label="外部订单号">{{ detailData.orderCode }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="订单状态">
|
|
|
|
|
+ <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==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==-3" type="danger" size="mini">已取消</el-tag>
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="订单类型">
|
|
|
|
|
+ <span v-if="detailData.orderType==1">外部订单</span>
|
|
|
|
|
+ <span v-else-if="detailData.orderType==2">套餐包</span>
|
|
|
|
|
+ <span v-else-if="detailData.orderType==3">问诊</span>
|
|
|
|
|
+ <span v-else-if="detailData.orderType==4">积分</span>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="所属公司">{{ detailData.companyName }}</el-descriptions-item>
|
|
<el-descriptions-item label="所属公司">{{ detailData.companyName }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="部门">{{ detailData.deptName || '-' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="员工">{{ detailData.companyUserName }}</el-descriptions-item>
|
|
<el-descriptions-item label="员工">{{ detailData.companyUserName }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="收货人">{{ detailData.userName }}</el-descriptions-item>
|
|
<el-descriptions-item label="收货人">{{ detailData.userName }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="收货人电话">{{ detailData.userPhone }}</el-descriptions-item>
|
|
<el-descriptions-item label="收货人电话">{{ detailData.userPhone }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="收货地址">{{ detailData.userAddress }}</el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="实收金额">{{ detailData.payPrice }}</el-descriptions-item>
|
|
|
|
|
|
|
+ <el-descriptions-item label="会员ID">{{ detailData.userId || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="会员手机号">{{ detailData.memberPhone || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="会员年龄">{{ detailData.memberAge || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="会员性别">
|
|
|
|
|
+ <span v-if="detailData.memberSex==1">男</span>
|
|
|
|
|
+ <span v-else-if="detailData.memberSex==2">女</span>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="复购次数">{{ detailData.memberBuyCount != null ? detailData.memberBuyCount : '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="病名">{{ detailData.diseaseName || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="省">{{ detailData.province || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="二级市">{{ detailData.city || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="区县">{{ detailData.district || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="乡镇">{{ detailData.township || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="收货地址" :span="2">{{ detailData.userAddress }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="商品总额">{{ detailData.totalPrice }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="应收金额">{{ detailData.receivablePrice }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="定金(实收)">{{ detailData.payPrice }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="代收金额">{{ detailData.collectionPrice != null ? detailData.collectionPrice : '-' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="支付方式">
|
|
<el-descriptions-item label="支付方式">
|
|
|
<dict-tag :options="payTypeOptions" :value="detailData.payType" />
|
|
<dict-tag :options="payTypeOptions" :value="detailData.payType" />
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="订单状态">
|
|
|
|
|
- <dict-tag :options="statusOptions" :value="detailData.status" />
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="物流单号">{{ detailData.deliverySn || '-' }}</el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="物流状态">
|
|
|
|
|
|
|
+ <el-descriptions-item label="定金回款时间">{{ detailData.status == 4 ? detailData.updateTime : '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="创建时间">{{ detailData.externalCreateTime }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="快递单号">{{ detailData.deliverySn || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="快递公司">{{ detailData.deliveryCode || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="快递类型">{{ detailData.deliveryName || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="发货日期">{{ detailData.deliveryTime || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="签收状态">
|
|
|
<dict-tag v-if="detailData.deliveryStatus != null" :options="deliveryStatusOptions" :value="detailData.deliveryStatus" />
|
|
<dict-tag v-if="detailData.deliveryStatus != null" :options="deliveryStatusOptions" :value="detailData.deliveryStatus" />
|
|
|
<span v-else>-</span>
|
|
<span v-else>-</span>
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="物流跟踪状态">
|
|
|
|
|
- <dict-tag v-if="detailData.deliveryType != null" :options="deliveryTypeOptions" :value="detailData.deliveryType" />
|
|
|
|
|
- <span v-else>-</span>
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="创建时间">{{ detailData.externalCreateTime }}</el-descriptions-item>
|
|
|
|
|
|
|
+ <el-descriptions-item label="跟单时间">{{ detailData.followTime || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="退款金额">{{ detailData.refundPrice != null ? detailData.refundPrice : '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="退款日期">{{ detailData.refundTime || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="拒收回退时间">{{ detailData.rejectReturnTime || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="审核人">{{ detailData.auditor || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="审核时间">{{ detailData.auditTime || '-' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="备注" :span="3">{{ detailData.remark || '-' }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
|
<el-divider content-position="left">商品信息</el-divider>
|
|
<el-divider content-position="left">商品信息</el-divider>
|
|
|
- <el-table border :data="detailData.productList || []">
|
|
|
|
|
|
|
+ <el-table border :data="detailData.productList || []" size="small">
|
|
|
<el-table-column label="商品名称" align="center" prop="productName" />
|
|
<el-table-column label="商品名称" align="center" prop="productName" />
|
|
|
|
|
+ <el-table-column label="规格" align="center" prop="productSpec" />
|
|
|
<el-table-column label="商品价格" align="center" prop="price" />
|
|
<el-table-column label="商品价格" align="center" prop="price" />
|
|
|
<el-table-column label="数量" align="center" prop="num" />
|
|
<el-table-column label="数量" align="center" prop="num" />
|
|
|
<el-table-column label="小计" align="center">
|
|
<el-table-column label="小计" align="center">
|
|
@@ -439,11 +503,83 @@
|
|
|
@pagination="getProductDialogList"
|
|
@pagination="getProductDialogList"
|
|
|
/>
|
|
/>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog title="订单修改" v-if="editOpen" :visible.sync="editOpen" width="600px" append-to-body :close-on-click-modal="false">
|
|
|
|
|
+ <el-form ref="editForm" :model="editForm" label-width="120px">
|
|
|
|
|
+ <el-form-item label="订单状态">
|
|
|
|
|
+ <el-select v-model="editForm.status" placeholder="请选择订单状态" clearable size="small" style="width:200px;">
|
|
|
|
|
+ <el-option label="未审核" :value="1" />
|
|
|
|
|
+ <el-option label="审核通过" :value="2" />
|
|
|
|
|
+ <el-option label="已发货" :value="3" />
|
|
|
|
|
+ <el-option label="已回款" :value="4" />
|
|
|
|
|
+ <el-option label="已取消" :value="-3" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="跟单时间">
|
|
|
|
|
+ <el-date-picker v-model="editForm.followTime" type="datetime" placeholder="请选择跟单时间" size="small" style="width:200px;" value-format="yyyy-MM-dd HH:mm:ss" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="快递类型">
|
|
|
|
|
+ <el-input v-model="editForm.deliveryName" placeholder="请输入快递类型" clearable size="small" style="width:200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="签收状态">
|
|
|
|
|
+ <el-select v-model="editForm.deliveryStatus" placeholder="请选择签收状态" clearable size="small" style="width:200px;">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in deliveryStatusOptions"
|
|
|
|
|
+ :key="item.dictValue"
|
|
|
|
|
+ :label="item.dictLabel"
|
|
|
|
|
+ :value="Number(item.dictValue)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="代收金额">
|
|
|
|
|
+ <el-input-number v-model="editForm.collectionPrice" :precision="2" :min="0" size="small" style="width:200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="定金回款时间" v-if="editForm.status == 4">
|
|
|
|
|
+ <el-date-picker v-model="editForm.updateTime" type="datetime" placeholder="请选择回款时间" size="small" style="width:200px;" value-format="yyyy-MM-dd HH:mm:ss" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="备注">
|
|
|
|
|
+ <el-input v-model="editForm.remark" type="textarea" :rows="3" placeholder="请输入备注" style="width:350px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="快递公司">
|
|
|
|
|
+ <el-input v-model="editForm.deliveryCode" placeholder="请输入快递公司编号" clearable size="small" style="width:200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="退款金额">
|
|
|
|
|
+ <el-input-number v-model="editForm.refundPrice" :precision="2" :min="0" size="small" style="width:200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="退款日期">
|
|
|
|
|
+ <el-date-picker v-model="editForm.refundTime" type="datetime" placeholder="请选择退款日期" size="small" style="width:200px;" value-format="yyyy-MM-dd HH:mm:ss" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="拒收回退时间" v-if="showRejectReturnTime">
|
|
|
|
|
+ <el-date-picker v-model="editForm.rejectReturnTime" type="datetime" placeholder="请选择拒收回退时间" size="small" style="width:200px;" value-format="yyyy-MM-dd HH:mm:ss" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="是否还货" v-if="showReturnGoods">
|
|
|
|
|
+ <el-select v-model="editForm.isReturnGoods" placeholder="请选择是否还货" clearable size="small" style="width:200px;">
|
|
|
|
|
+ <el-option label="是" :value="1" />
|
|
|
|
|
+ <el-option label="否" :value="2" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="病名">
|
|
|
|
|
+ <el-input v-model="editForm.diseaseName" placeholder="请输入病名" clearable size="small" style="width:200px;" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button @click="editOpen = false">取 消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="submitEditConfirm">确 定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
|
|
+ <el-dialog title="确认修改" :visible.sync="editConfirmOpen" width="360px" append-to-body>
|
|
|
|
|
+ <span>确认修改该订单信息吗?</span>
|
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button @click="editConfirmOpen = false">取 消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="submitEdit">确 认</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-import { listExternalOrder, createExternalOrder, getExternalOrder, auditExternalOrder, cancelExternalOrder, approveExternalOrder, exportExternalOrder, getExternalOrderExpress, syncExternalOrderExpress } from "@/api/store/externalOrder";
|
|
|
|
|
|
|
+import { listExternalOrder, createExternalOrder, getExternalOrder, auditExternalOrder, 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";
|
|
@@ -556,21 +692,54 @@ export default {
|
|
|
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload",
|
|
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload",
|
|
|
headers: { Authorization: "Bearer " + this.$store.getters.token },
|
|
headers: { Authorization: "Bearer " + this.$store.getters.token },
|
|
|
payTypeOptions: [],
|
|
payTypeOptions: [],
|
|
|
- statusOptions: [],
|
|
|
|
|
deliveryStatusOptions: [],
|
|
deliveryStatusOptions: [],
|
|
|
deliveryTypeOptions: [],
|
|
deliveryTypeOptions: [],
|
|
|
- userStatusOptions: []
|
|
|
|
|
|
|
+ userStatusOptions: [],
|
|
|
|
|
+ editOpen: false,
|
|
|
|
|
+ editConfirmOpen: false,
|
|
|
|
|
+ editForm: {
|
|
|
|
|
+ orderId: null,
|
|
|
|
|
+ status: null,
|
|
|
|
|
+ followTime: null,
|
|
|
|
|
+ deliveryName: null,
|
|
|
|
|
+ deliveryStatus: null,
|
|
|
|
|
+ collectionPrice: null,
|
|
|
|
|
+ updateTime: null,
|
|
|
|
|
+ remark: null,
|
|
|
|
|
+ deliveryCode: null,
|
|
|
|
|
+ refundPrice: null,
|
|
|
|
|
+ refundTime: null,
|
|
|
|
|
+ rejectReturnTime: null,
|
|
|
|
|
+ diseaseName: null,
|
|
|
|
|
+ isReturnGoods: null
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ showRejectReturnTime() {
|
|
|
|
|
+ if (this.editForm.deliveryStatus == null) return false;
|
|
|
|
|
+ const statusItem = this.deliveryStatusOptions.find(item => Number(item.dictValue) === this.editForm.deliveryStatus);
|
|
|
|
|
+ if (statusItem) {
|
|
|
|
|
+ const label = statusItem.dictLabel;
|
|
|
|
|
+ return ['已拒收', '已退回', '退回签收'].includes(label);
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ },
|
|
|
|
|
+ showReturnGoods() {
|
|
|
|
|
+ if (this.editForm.deliveryStatus == null) return false;
|
|
|
|
|
+ const statusItem = this.deliveryStatusOptions.find(item => Number(item.dictValue) === this.editForm.deliveryStatus);
|
|
|
|
|
+ if (statusItem) {
|
|
|
|
|
+ return statusItem.dictLabel === '已拒收';
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
created() {
|
|
created() {
|
|
|
this.getList();
|
|
this.getList();
|
|
|
this.getCompanyList();
|
|
this.getCompanyList();
|
|
|
this.getDicts("sys_package_pay_type").then(response => {
|
|
this.getDicts("sys_package_pay_type").then(response => {
|
|
|
this.payTypeOptions = response.data;
|
|
this.payTypeOptions = response.data;
|
|
|
});
|
|
});
|
|
|
- this.getDicts("sys_externalOrder_status").then(response => {
|
|
|
|
|
- this.statusOptions = response.data;
|
|
|
|
|
- });
|
|
|
|
|
this.getDicts("sys_store_order_delivery_status").then(response => {
|
|
this.getDicts("sys_store_order_delivery_status").then(response => {
|
|
|
this.deliveryStatusOptions = response.data;
|
|
this.deliveryStatusOptions = response.data;
|
|
|
});
|
|
});
|
|
@@ -856,7 +1025,7 @@ export default {
|
|
|
}).catch(function() {});
|
|
}).catch(function() {});
|
|
|
},
|
|
},
|
|
|
handleAudit(row) {
|
|
handleAudit(row) {
|
|
|
- this.$confirm("确认审核该订单?审核后订单将变为待发货状态", "提示", {
|
|
|
|
|
|
|
+ this.$confirm("确认审核该订单?审核后订单将变为审核通过状态", "提示", {
|
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
|
type: "warning"
|
|
type: "warning"
|
|
@@ -942,6 +1111,41 @@ export default {
|
|
|
this.download(response.msg);
|
|
this.download(response.msg);
|
|
|
this.exportLoading = false;
|
|
this.exportLoading = false;
|
|
|
}).catch(() => {});
|
|
}).catch(() => {});
|
|
|
|
|
+ },
|
|
|
|
|
+ handleEdit(row) {
|
|
|
|
|
+ getExternalOrder(row.orderId).then(response => {
|
|
|
|
|
+ const d = response.data;
|
|
|
|
|
+ this.editForm = {
|
|
|
|
|
+ orderId: d.orderId,
|
|
|
|
|
+ status: d.status,
|
|
|
|
|
+ followTime: d.followTime || null,
|
|
|
|
|
+ deliveryName: d.deliveryName || null,
|
|
|
|
|
+ deliveryStatus: d.deliveryStatus != null ? d.deliveryStatus : null,
|
|
|
|
|
+ collectionPrice: d.collectionPrice != null ? Number(d.collectionPrice) : null,
|
|
|
|
|
+ updateTime: d.updateTime || null,
|
|
|
|
|
+ remark: d.remark || null,
|
|
|
|
|
+ deliveryCode: d.deliveryCode || null,
|
|
|
|
|
+ refundPrice: d.refundPrice != null ? Number(d.refundPrice) : null,
|
|
|
|
|
+ refundTime: d.refundTime || null,
|
|
|
|
|
+ rejectReturnTime: d.rejectReturnTime || null,
|
|
|
|
|
+ diseaseName: d.diseaseName || null,
|
|
|
|
|
+ isReturnGoods: d.isReturnGoods != null ? d.isReturnGoods : null
|
|
|
|
|
+ };
|
|
|
|
|
+ this.editOpen = true;
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ submitEditConfirm() {
|
|
|
|
|
+ this.editConfirmOpen = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ submitEdit() {
|
|
|
|
|
+ editExternalOrder(this.editForm).then(response => {
|
|
|
|
|
+ if (response.code === 200) {
|
|
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
|
|
+ this.editConfirmOpen = false;
|
|
|
|
|
+ this.editOpen = false;
|
|
|
|
|
+ this.getList();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|