|
@@ -13,43 +13,47 @@
|
|
|
<div class="operate-container" v-if="order!=null">
|
|
<div class="operate-container" v-if="order!=null">
|
|
|
<span style="margin-left: 20px" class="color-danger">订单状态:
|
|
<span style="margin-left: 20px" class="color-danger">订单状态:
|
|
|
<el-tag prop="status" v-for="(item, index) in statusOptions" v-if="order.status==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
<el-tag prop="status" v-for="(item, index) in statusOptions" v-if="order.status==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
|
|
|
+ <el-tag v-if="order.deliveryExceptionStatus === 1" type="danger" size="mini" style="margin-left: 8px;">物流异常</el-tag>
|
|
|
</span>
|
|
</span>
|
|
|
- <div class="operate-button-container" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="deliveryAbnormalMode && order.deliveryExceptionStatus !== 2" v-hasPermi="['store:storeDeliveryAbnormalOrder:handle']">
|
|
|
|
|
+ <el-button size="mini" type="danger" @click="openDeliveryExceptionDialog">确认状态</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode" >
|
|
|
<el-button size="mini" @click="editOrder()" v-hasPermi="['store:storeOrder:edit']" >修改订单</el-button>
|
|
<el-button size="mini" @click="editOrder()" v-hasPermi="['store:storeOrder:edit']" >修改订单</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" v-hasPermi="['store:storeOrder:finishOrder']" v-if="order.status===2">
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-hasPermi="['store:storeOrder:finishOrder']" v-if="!deliveryAbnormalMode && order.status===2">
|
|
|
<el-button size="mini" @click="finishOrder()" >确认收货</el-button>
|
|
<el-button size="mini" @click="finishOrder()" >确认收货</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" v-if="order.status==1||order.status==2" v-hasPermi="['store:storeOrder:refundOrderMoney']" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && (order.status==1||order.status==2)" v-hasPermi="['store:storeOrder:refundOrderMoney']" >
|
|
|
<el-button size="mini" @click="refundOrderMoney()" >退款</el-button>
|
|
<el-button size="mini" @click="refundOrderMoney()" >退款</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="operate-button-container" v-hasPermi="['store:storeOrder:express']" >
|
|
<div class="operate-button-container" v-hasPermi="['store:storeOrder:express']" >
|
|
|
<el-button size="mini" @click="showExpress()">查看物流</el-button>
|
|
<el-button size="mini" @click="showExpress()">查看物流</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" v-if="order.tuiMoneyStatus==0" v-hasPermi="['store:storeOrder:editTuiMoney']" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && order.tuiMoneyStatus==0" v-hasPermi="['store:storeOrder:editTuiMoney']" >
|
|
|
<el-button size="mini" @click="editTuiMoney1()" >解冻</el-button>
|
|
<el-button size="mini" @click="editTuiMoney1()" >解冻</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" v-if="order.tuiMoneyStatus==1" v-hasPermi="['store:storeOrder:editTuiMoney']" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && order.tuiMoneyStatus==1" v-hasPermi="['store:storeOrder:editTuiMoney']" >
|
|
|
<el-button size="mini" @click="editTuiMoney2()" >冻结</el-button>
|
|
<el-button size="mini" @click="editTuiMoney2()" >冻结</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <div class="operate-button-container" v-if="order.status==3&&order.tuiMoneyStatus==null" v-hasPermi="['store:storeOrder:addTuiMoney']" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && order.status==3&&order.tuiMoneyStatus==null" v-hasPermi="['store:storeOrder:addTuiMoney']" >
|
|
|
<el-button size="mini" @click="addTuiMoney()" >分佣</el-button>
|
|
<el-button size="mini" @click="addTuiMoney()" >分佣</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- <div class="operate-button-container" v-if="order.extendOrderId!=null" v-hasPermi="['store:storeOrder:getEroOrder']" >
|
|
<!-- <div class="operate-button-container" v-if="order.extendOrderId!=null" v-hasPermi="['store:storeOrder:getEroOrder']" >
|
|
|
<el-button size="mini" @click="showErpOrder()" >查看ERP订单信息</el-button>
|
|
<el-button size="mini" @click="showErpOrder()" >查看ERP订单信息</el-button>
|
|
|
</div>-->
|
|
</div>-->
|
|
|
- <div class="operate-button-container" v-if="order.isPayRemain!=null&&order.isPayRemain==1" v-hasPermi="['store:storeOrder:auditPayRemain']" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && order.isPayRemain!=null&&order.isPayRemain==1" v-hasPermi="['store:storeOrder:auditPayRemain']" >
|
|
|
<el-button size="mini" @click="auditPayRemain()" >尾款审核</el-button>
|
|
<el-button size="mini" @click="auditPayRemain()" >尾款审核</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode" >
|
|
|
<el-button size="mini" @click="editDelivery()" v-hasPermi="['store:storeOrder:editDeliveryId']" >修改物流</el-button>
|
|
<el-button size="mini" @click="editDelivery()" v-hasPermi="['store:storeOrder:editDeliveryId']" >修改物流</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" v-if="order.status===0" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && order.status===0" >
|
|
|
<el-button size="mini" @click="editPayPostageOpen()" v-hasPermi="['store:storeOrder:edit']" >修改运费</el-button>
|
|
<el-button size="mini" @click="editPayPostageOpen()" v-hasPermi="['store:storeOrder:edit']" >修改运费</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="operate-button-container" v-if="order.status >=1 && order.extendOrderId == null && order.deliveryId == null" v-hasPermi="['store:storeOrder:createErpOrder']" >
|
|
|
|
|
|
|
+ <div class="operate-button-container" v-if="!deliveryAbnormalMode && order.status >=1 && order.extendOrderId == null && order.deliveryId == null" v-hasPermi="['store:storeOrder:createErpOrder']" >
|
|
|
<el-button size="mini" @click="addErpOrder()" >创建ERP订单信息</el-button>
|
|
<el-button size="mini" @click="addErpOrder()" >创建ERP订单信息</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- <div class="operate-button-container" v-show="order.status===2">
|
|
<!-- <div class="operate-button-container" v-show="order.status===2">
|
|
@@ -104,11 +108,25 @@
|
|
|
<el-tag prop="deliveryId" v-for="(item, index) in deliveryStatusOptions" v-if="order!=null&&order.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
<el-tag prop="deliveryId" v-for="(item, index) in deliveryStatusOptions" v-if="order!=null&&order.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
|
</span>
|
|
</span>
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="物流跟踪状态" >
|
|
|
|
|
|
|
+ <el-descriptions-item :label="deliveryAbnormalMode ? '异常状态' : '物流跟踪状态'" >
|
|
|
<span v-if="order!=null">
|
|
<span v-if="order!=null">
|
|
|
- <el-tag prop="deliveryId" v-for="(item, index) in deliveryTypeOptions" v-if="order!=null&&order.deliveryType==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
|
|
|
|
|
+ <template v-if="deliveryAbnormalMode">{{ formatDeliveryTypeText(order.deliveryType) }}</template>
|
|
|
|
|
+ <template v-else>
|
|
|
|
|
+ <el-tag prop="deliveryId" v-for="(item, index) in deliveryTypeOptions" v-if="order.deliveryType==item.dictValue">{{item.dictLabel}}</el-tag>
|
|
|
|
|
+ </template>
|
|
|
</span>
|
|
</span>
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="处理状态" v-if="deliveryAbnormalMode && order!=null">
|
|
|
|
|
+ <el-tag v-if="order.deliveryExceptionStatus === 1" type="danger" size="mini">待处理</el-tag>
|
|
|
|
|
+ <el-tag v-else-if="order.deliveryExceptionStatus === 2" type="success" size="mini">已处理</el-tag>
|
|
|
|
|
+ <span v-else>-</span>
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="异常备注" v-if="deliveryAbnormalMode && order!=null">
|
|
|
|
|
+ <span>{{ order.deliveryExceptionRemark || '-' }}</span>
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="物流异常备注" v-if="!deliveryAbnormalMode && order!=null && order.deliveryExceptionRemark">
|
|
|
|
|
+ <span>{{ order.deliveryExceptionRemark }}</span>
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="物流结算费用" >
|
|
<el-descriptions-item label="物流结算费用" >
|
|
|
<span v-if="order!=null&&order.deliveryPayMoney!=null ">
|
|
<span v-if="order!=null&&order.deliveryPayMoney!=null ">
|
|
|
{{order.deliveryPayMoney.toFixed(2) }}
|
|
{{order.deliveryPayMoney.toFixed(2) }}
|
|
@@ -829,6 +847,26 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
+ <el-dialog title="确认状态" :visible.sync="deliveryExceptionDialog.open" width="480px" append-to-body>
|
|
|
|
|
+ <el-form label-width="100px">
|
|
|
|
|
+ <el-form-item label="异常状态">
|
|
|
|
|
+ <span>{{ formatDeliveryTypeText(order && order.deliveryType) }}</span>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="异常备注">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="deliveryExceptionDialog.remark"
|
|
|
|
|
+ type="textarea"
|
|
|
|
|
+ :rows="3"
|
|
|
|
|
+ placeholder="请输入异常备注(非必填)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button @click="deliveryExceptionDialog.open = false">取 消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="submitDeliveryExceptionConfirm">确 认</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -854,6 +892,7 @@ import {
|
|
|
editPayDelivery,
|
|
editPayDelivery,
|
|
|
editPayPostage
|
|
editPayPostage
|
|
|
} from "@/api/hisStore/storeOrder";
|
|
} from "@/api/hisStore/storeOrder";
|
|
|
|
|
+import { getDeliveryAbnormalOrder, handleDeliveryException } from "@/api/hisStore/storeDeliveryAbnormalOrder";
|
|
|
import {listStoreProduct} from "@/api/hisStore/storeProduct";
|
|
import {listStoreProduct} from "@/api/hisStore/storeProduct";
|
|
|
import {getTcmScheduleList} from "@/api/company/schedule";
|
|
import {getTcmScheduleList} from "@/api/company/schedule";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
@@ -870,6 +909,12 @@ import{ getSignProjectName } from '@/api/course/qw/courseWatchLog'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: "order",
|
|
name: "order",
|
|
|
|
|
+ props: {
|
|
|
|
|
+ deliveryAbnormalMode: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: false
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
components: {
|
|
components: {
|
|
|
Treeselect,
|
|
Treeselect,
|
|
|
Editor,
|
|
Editor,
|
|
@@ -1057,6 +1102,10 @@ export default {
|
|
|
{ required: true, message: "运费不能为空", trigger: "blur" }
|
|
{ required: true, message: "运费不能为空", trigger: "blur" }
|
|
|
]
|
|
]
|
|
|
},
|
|
},
|
|
|
|
|
+ deliveryExceptionDialog: {
|
|
|
|
|
+ open: false,
|
|
|
|
|
+ remark: ''
|
|
|
|
|
+ },
|
|
|
// 删除商品相关
|
|
// 删除商品相关
|
|
|
removeProductLoading: false
|
|
removeProductLoading: false
|
|
|
};
|
|
};
|
|
@@ -1596,7 +1645,8 @@ export default {
|
|
|
getOrder(orderId){
|
|
getOrder(orderId){
|
|
|
this.orderId=orderId;
|
|
this.orderId=orderId;
|
|
|
this.certificates = null;
|
|
this.certificates = null;
|
|
|
- getStoreOrder(orderId).then(response => {
|
|
|
|
|
|
|
+ const getFn = this.deliveryAbnormalMode ? getDeliveryAbnormalOrder : getStoreOrder;
|
|
|
|
|
+ getFn(orderId).then(response => {
|
|
|
this.order = response.order;
|
|
this.order = response.order;
|
|
|
if(response.order.certificates != null){
|
|
if(response.order.certificates != null){
|
|
|
this.certificates = response.order.certificates;
|
|
this.certificates = response.order.certificates;
|
|
@@ -1613,6 +1663,31 @@ export default {
|
|
|
this.afterSales = response.afterSales;
|
|
this.afterSales = response.afterSales;
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ formatDeliveryTypeText(value) {
|
|
|
|
|
+ if (!value) {
|
|
|
|
|
+ return '-';
|
|
|
|
|
+ }
|
|
|
|
|
+ const item = this.deliveryTypeOptions.find(d => d.dictValue === value || d.dictValue === String(value));
|
|
|
|
|
+ return item ? `${item.dictValue} ${item.dictLabel}` : value;
|
|
|
|
|
+ },
|
|
|
|
|
+ openDeliveryExceptionDialog() {
|
|
|
|
|
+ this.deliveryExceptionDialog.remark = this.order.deliveryExceptionRemark || '';
|
|
|
|
|
+ this.deliveryExceptionDialog.open = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ submitDeliveryExceptionConfirm() {
|
|
|
|
|
+ handleDeliveryException({
|
|
|
|
|
+ orderId: this.order.id,
|
|
|
|
|
+ deliveryExceptionStatus: 2,
|
|
|
|
|
+ deliveryExceptionRemark: this.deliveryExceptionDialog.remark
|
|
|
|
|
+ }).then(() => {
|
|
|
|
|
+ this.msgSuccess('处理成功');
|
|
|
|
|
+ this.deliveryExceptionDialog.open = false;
|
|
|
|
|
+ this.getOrder(this.order.id);
|
|
|
|
|
+ if (this.deliveryAbnormalMode) {
|
|
|
|
|
+ this.$emit('refresh');
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
editPayDeliveryHandle() {
|
|
editPayDeliveryHandle() {
|
|
|
this.payDeliveryForm.id = this.orderId;
|
|
this.payDeliveryForm.id = this.orderId;
|
|
|
this.payDeliveryForm.payDelivery = this.order.payDelivery || 0.00;
|
|
this.payDeliveryForm.payDelivery = this.order.payDelivery || 0.00;
|