|
@@ -193,7 +193,7 @@
|
|
|
<div class="col-item">
|
|
|
<div class="operate" v-if="order.orderStatus === 'DSJCL'">
|
|
|
<div>
|
|
|
- <el-button v-if="$restrict('agree')" slot="reference" type="text" size="small" @click="changeExamineStatus(order.orderRefundId,'OK',order.refundType,order.orderId)">同意</el-button>
|
|
|
+ <el-button v-if="$restrict('agree')" slot="reference" type="text" size="small" @click="changeExamineStatus(order.orderRefundId,'OK',order.refundType,order.orderId,1)">同意</el-button>
|
|
|
</div>
|
|
|
<div>
|
|
|
<el-button v-if="$restrict('reject')" slot="reference" type="text" size="small" @click="changeExamineStatus(order.orderRefundId,'FAIL')">拒绝</el-button>
|
|
@@ -216,6 +216,7 @@
|
|
|
<el-button type="text" size="small" v-if="order.toWorkOrder && $restrict('workOrder_detail')" @click="toWorkOrderDetail(order.orderId)">查看工单</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-button type="text" size="small" v-if="order.refundType == 'REFUND_GOODS' && order.orderStatus == 'OVER'" @click="changeExamineStatus(order.orderRefundId,'OK','REFUND_GOODS_DETAIL',order.orderId,2);returnGoodsForm.refundMessage = order.refundMessage">查看退货信息</el-button>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -275,12 +276,12 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 退货确认 -->
|
|
|
- <div v-if="activeKey == 'REFUND_GOODS'" class="app-container">
|
|
|
+ <div v-if="activeKey == 'REFUND_GOODS' || activeKey == 'REFUND_GOODS_DETAIL'" class="app-container">
|
|
|
<el-form :model="returnGoodsForm" :rules="returnGoodsFormRules" ref="returnGoodsForm" label-width="80px" label-position="left">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="卖家留言" prop="refundMessage">
|
|
|
- <el-input type="textarea" :rows="5" v-model="returnGoodsForm.refundMessage" placeholder="请输入卖家留言"></el-input>
|
|
|
+ <el-input type="textarea" :rows="5" :disabled="activeKey == 'REFUND_GOODS_DETAIL'" v-model="returnGoodsForm.refundMessage" placeholder="请输入卖家留言"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
@@ -289,7 +290,9 @@
|
|
|
<el-tab-pane label="发货数量" name="1"></el-tab-pane>
|
|
|
<el-tab-pane label="发货条码" name="2"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
- <el-button size="small" v-show="typeIndex == 2" type="primary" @click="addCode()">新增</el-button>
|
|
|
+ <br/>
|
|
|
+ <el-button size="small" v-show="typeIndex == 2 && activeKey == 'REFUND_GOODS'" type="primary" @click="addCode()">新增</el-button>
|
|
|
+ <el-button size="small" v-show="typeIndex == 1 && activeKey == 'REFUND_GOODS'" type="primary" @click="handleDownload('导入条码模板')">导入条码模板下载</el-button>
|
|
|
<div class="table">
|
|
|
<!-- 发货数量 -->
|
|
|
<el-form v-show="typeIndex == 1" ref="formData1" :model="formData1" label-width="0" size="small" label-position="left">
|
|
@@ -299,24 +302,27 @@
|
|
|
<el-table-column prop="smallName" align="center" label="小类"></el-table-column>
|
|
|
<el-table-column prop="goodsName" align="center" label="商品名称"></el-table-column>
|
|
|
<el-table-column prop="goodsMaterialSpecsName" align="center" label="规格型号"></el-table-column>
|
|
|
- <el-table-column prop="goodsMaterialUnit" align="center" label="单位"></el-table-column>
|
|
|
+ <el-table-column prop="goodsMaterialUnit" align="center" label="单位">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{scope.row.goodsMaterialUnit == 'C'?'整套':scope.row.goodsMaterialUnit == 'I'?"单个":''}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="num" align="center" label="数量"></el-table-column>
|
|
|
<el-table-column prop="insideNum" align="center" label="内机数量"></el-table-column>
|
|
|
<el-table-column prop="outNum" align="center" label="外机数量"></el-table-column>
|
|
|
<el-table-column prop="partNum" align="center" label="配件数量"></el-table-column>
|
|
|
- <el-table-column prop="insideCodeQty" align="center" label="导入内机条码数量" width="140"></el-table-column>
|
|
|
- <el-table-column prop="outCodeQty" align="center" label="导入外机条码数量" width="140"></el-table-column>
|
|
|
- <el-table-column prop="partsCodeQty" align="center" label="导入配件条码数量" width="140"></el-table-column>
|
|
|
+ <el-table-column prop="refundInsideCodeQty" align="center" label="导入内机条码数量" width="140"></el-table-column>
|
|
|
+ <el-table-column prop="refundOutCodeQty" align="center" label="导入外机条码数量" width="140"></el-table-column>
|
|
|
+ <el-table-column prop="refundPartsCodeQty" align="center" label="导入配件条码数量" width="140"></el-table-column>
|
|
|
<el-table-column label="操作" align="center" width="140" fixed="right">
|
|
|
- <template slot-scope="scope" v-if="formType != 2 && joinCode">
|
|
|
+ <template slot-scope="scope" v-if="formType != 2 && joinCode && activeKey == 'REFUND_GOODS'">
|
|
|
<el-upload
|
|
|
action='_'
|
|
|
:show-file-list='false'
|
|
|
:http-request="importCode"
|
|
|
>
|
|
|
- <el-button size="mini" type="text">导入条码</el-button>
|
|
|
+ <el-button @click="orderDetailId = scope.row.orderDetailId" size="mini" type="text">导入条码</el-button>
|
|
|
</el-upload>
|
|
|
- <el-button size="mini" type="text" @click="handleDownload('导入条码')">模板下载</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -355,7 +361,7 @@
|
|
|
<el-table-column label="规格型号" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item :prop="'list.' + scope.$index + '.specs'" :rules="[{ required: true, message: `请选择规格型号`, trigger: 'blur' }]">
|
|
|
- <el-select v-model="scope.row.specs" @change="(e)=>{changeSpecs(e,scope.row)}" value-key="goodsMaterialSpecsName" :disabled="isEdit2 != scope.$index || formType == 2" placeholder="请选择" style="width: 100%;">
|
|
|
+ <el-select v-model="scope.row.specs" @change="(e)=>{changeSpecs(e,scope.row)}" value-key="goodsMaterialSpecsName" :disabled="isEdit2 != scope.$index || formType == 2 || activeKey == 'REFUND_GOODS_DETAIL'" placeholder="请选择" style="width: 100%;">
|
|
|
<el-option
|
|
|
v-for="(item,ind) in formData1.list"
|
|
|
:key="ind"
|
|
@@ -370,7 +376,7 @@
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item :prop="'list.' + scope.$index + '.goodsMaterialItemType'" :rules="[{ required: true, message: `请选择物料类型`, trigger: 'blur' }]">
|
|
|
<el-select v-model="scope.row.goodsMaterialItemType" @change="(e)=>{changeMaterial(e,scope.row)}"
|
|
|
- :disabled="isEdit2 != scope.$index || formType == 2" placeholder="请选择" style="width: 100%;">
|
|
|
+ :disabled="isEdit2 != scope.$index || formType == 2 || activeKey == 'REFUND_GOODS_DETAIL'" placeholder="请选择" style="width: 100%;">
|
|
|
<el-option
|
|
|
v-for="(item,ind) in [{name: '内机',id: 'INSIDE'},{name: '外机',id: 'OUT'},{name: '配件',id: 'PARTS'}]"
|
|
|
:key="ind"
|
|
@@ -393,7 +399,7 @@
|
|
|
scope.row.stockQty = e.stockQty
|
|
|
scope.row.uniqueCode = e.uniqueCode
|
|
|
|
|
|
- }" value-key="name" :disabled="isEdit2 != scope.$index || formType == 2" placeholder="请选择" style="width: 100%;">
|
|
|
+ }" value-key="name" :disabled="isEdit2 != scope.$index || formType == 2 || activeKey == 'REFUND_GOODS_DETAIL'" placeholder="请选择" style="width: 100%;">
|
|
|
<el-option
|
|
|
v-for="(item,ind) in scope.row.materialList"
|
|
|
:key="ind"
|
|
@@ -414,19 +420,19 @@
|
|
|
<el-table-column prop="" align="center" label="条码" >
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item :prop="'list.' + scope.$index + '.materialCode'" :rules="[{ required: true, message: `请输入条码`, trigger: 'blur' }]">
|
|
|
- <el-input type="number" v-model="scope.row.materialCode" :disabled="isEdit2 != scope.$index || formType == 2" placeholder="请输入"></el-input>
|
|
|
+ <el-input type="text" v-model="scope.row.materialCode" :disabled="isEdit2 != scope.$index || formType == 2 || activeKey == 'REFUND_GOODS_DETAIL'" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="" align="center" label="数量">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item :prop="'list.' + scope.$index + '.stockQty'" :rules="[{ required: true, message: `请输入数量`, trigger: 'blur' }]">
|
|
|
- <el-input type="number" v-model="scope.row.stockQty" :disabled="isEdit2 != scope.$index || formType == 2" placeholder="请输入"></el-input>
|
|
|
+ <el-input type="number" v-model="scope.row.stockQty" :disabled="isEdit2 != scope.$index || formType == 2 || activeKey == 'REFUND_GOODS_DETAIL'" placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="right" width="140" fixed="right">
|
|
|
- <template slot-scope="scope" v-if="formType != 2">
|
|
|
+ <template slot-scope="scope" v-if="formType != 2 && activeKey == 'REFUND_GOODS'">
|
|
|
<el-button size="mini" type="primary" v-if="scope.$index == isEdit2" @click="saveCode(scope.row)">保存</el-button>
|
|
|
<el-button size="mini" type="primary" v-if="scope.$index != isEdit2" @click="isEdit2 = scope.$index">编辑</el-button>
|
|
|
<el-popconfirm title="确定删除吗?" @confirm="delCode(scope.row.orderDetailCodeId,scope.$index)">
|
|
@@ -443,7 +449,7 @@
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="returnGoodsVisible = false;data.removeTab()">关 闭</el-button>
|
|
|
- <el-button @click="saveReturnGoods(data.removeTab)">确 定</el-button>
|
|
|
+ <el-button v-if="activeKey == 'REFUND_GOODS'" @click="saveReturnGoods(data.removeTab)">确 定</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -498,6 +504,7 @@ export default {
|
|
|
isEdit1: 0,
|
|
|
isEdit2: 0,
|
|
|
joinCode: JSON.parse(localStorage.getItem('greemall_user')).joinCode,
|
|
|
+ orderDetailId: '',
|
|
|
returnGoodsFormRules: {
|
|
|
refundMessage: [{ required: true, message: '请填写卖家留言', trigger: 'blur' }],
|
|
|
},
|
|
@@ -598,6 +605,7 @@ export default {
|
|
|
row.stockQty = ''
|
|
|
row.uniqueCode = ''
|
|
|
row.materialList = await this.getMaterialList(row.specsName,row.goodsMaterialItemType)
|
|
|
+ row.orderDetailId = e.orderDetailId
|
|
|
},
|
|
|
async changeMaterial(e,row){
|
|
|
row.material = null
|
|
@@ -608,26 +616,31 @@ export default {
|
|
|
},
|
|
|
//发货新增条码
|
|
|
addCode(){
|
|
|
- this.isEdit2 = 0
|
|
|
- this.formData2.list.push({
|
|
|
- brandId: '',
|
|
|
- brandName: '',
|
|
|
- mainId: '',
|
|
|
- mainName: '',
|
|
|
- stockQty: '',
|
|
|
- smallId: '',
|
|
|
- smallName: '',
|
|
|
- goodsMaterialItemType: '',
|
|
|
- goodsMaterialName: '',
|
|
|
- goodsMaterialId: '',
|
|
|
- materialCode: '',
|
|
|
- uniqueCode: '',
|
|
|
- specs: null,
|
|
|
- specsName: '',
|
|
|
- materialName: '',
|
|
|
- material: null,
|
|
|
- materialList: []
|
|
|
- })
|
|
|
+ this.$refs.formData2.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.isEdit2 = 0
|
|
|
+ this.formData2.list.unshift({
|
|
|
+ brandId: '',
|
|
|
+ brandName: '',
|
|
|
+ mainId: '',
|
|
|
+ mainName: '',
|
|
|
+ stockQty: '',
|
|
|
+ smallId: '',
|
|
|
+ smallName: '',
|
|
|
+ goodsMaterialItemType: '',
|
|
|
+ goodsMaterialName: '',
|
|
|
+ goodsMaterialId: '',
|
|
|
+ materialCode: '',
|
|
|
+ uniqueCode: '',
|
|
|
+ specs: null,
|
|
|
+ specsName: '',
|
|
|
+ materialName: '',
|
|
|
+ material: null,
|
|
|
+ materialList: [],
|
|
|
+ orderDetailId: ''
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
delCode(orderDetailCodeId,index){
|
|
|
if(orderDetailCodeId){
|
|
@@ -673,7 +686,7 @@ export default {
|
|
|
// 唯一标识
|
|
|
key: type,
|
|
|
// 页签名称
|
|
|
- label: ({ remark: "订单备注", materialDetail: "查看物流", REFUND_GOODS: "退货确认" })[type],
|
|
|
+ label: ({ remark: "订单备注", materialDetail: "查看物流", REFUND_GOODS: "退货确认", REFUND_GOODS_DETAIL: '查看退货信息' })[type],
|
|
|
// 打开时事件
|
|
|
triggerEvent: () => {
|
|
|
|
|
@@ -773,11 +786,11 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 变更维权处理状态
|
|
|
- changeExamineStatus(orderRefundId, examineStatus, refundType, orderId) {
|
|
|
- if(refundType == 'REFUND_GOODS'){
|
|
|
+ changeExamineStatus(orderRefundId, examineStatus, refundType, orderId, type) {
|
|
|
+ if(refundType == 'REFUND_GOODS' || refundType == 'REFUND_GOODS_DETAIL'){
|
|
|
this.getOrderDetail(orderId)
|
|
|
this.getCodeDetail2(orderId)
|
|
|
- this.openForm('REFUND_GOODS',{orderRefundId})
|
|
|
+ this.openForm(refundType,{orderRefundId})
|
|
|
}else{
|
|
|
this.$prompt('请输入卖家留言', examineStatus == 'OK' ? '同意':'拒绝', {
|
|
|
confirmButtonText: '确定',
|
|
@@ -857,7 +870,9 @@ export default {
|
|
|
})
|
|
|
var formdata = new FormData()
|
|
|
formdata.append('file', data.file)
|
|
|
- let params = {}
|
|
|
+ let params = {
|
|
|
+ orderDetailId: this.orderDetailId
|
|
|
+ }
|
|
|
if (!!params) {
|
|
|
for (const key in params) {
|
|
|
if (Object.hasOwnProperty.call(params, key)) {
|