核销码
This commit is contained in:
parent
987c8a33ae
commit
b3477f03fe
@ -1,60 +1,55 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-dialog
|
<el-dialog v-if="dialogVisible" title="订单核销" :visible.sync="dialogVisible" width="900px">
|
||||||
v-if="dialogVisible"
|
|
||||||
title="订单核销"
|
|
||||||
:visible.sync="dialogVisible"
|
|
||||||
width="900px"
|
|
||||||
>
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<el-form label-width="80px" size="small">
|
<el-form label-width="80px" size="small">
|
||||||
<el-form-item v-if="!isColum" label="核销码:">
|
<el-form-item v-if="!isColum" label="核销码:">
|
||||||
<el-input v-model="code" placeholder="请输入核销码" class="selWidth" size="small" @keyup.enter.native="searchOrder" />
|
<el-input v-model="code" placeholder="请输入核销码" class="selWidth" size="small"
|
||||||
<el-button size="small" type="primary" @click="searchOrder">搜索</el-button>
|
@keyup.enter.native="searchOrder" />
|
||||||
</el-form-item>
|
<el-button size="small" type="primary" @click="searchOrder">搜索</el-button>
|
||||||
<el-form-item label="订单号:">
|
</el-form-item>
|
||||||
<span>{{orderData.order_sn}}</span>
|
<el-form-item label="订单号:">
|
||||||
</el-form-item>
|
<span>{{ orderData.order_sn }}</span>
|
||||||
</el-form>
|
</el-form-item>
|
||||||
<div style="margin-top: 20px;">
|
</el-form>
|
||||||
<el-table
|
<div style="margin-top: 20px;">
|
||||||
ref="multipleSelection"
|
<el-table ref="multipleSelection" :data="productList" tooltip-effect="dark" size="mini"
|
||||||
:data="productList"
|
:row-key="(row) => { return row.product_id }" @selection-change="handleSelectionChange"
|
||||||
tooltip-effect="dark"
|
:header-cell-style="{ background: '#F0F5FF' }">
|
||||||
size="mini"
|
<el-table-column align="center" type="selection" :selectable="judgeSelect" min-width="50" />
|
||||||
:row-key="(row) => { return row.product_id }"
|
|
||||||
@selection-change="handleSelectionChange"
|
|
||||||
|
|
||||||
:header-cell-style="{background:'#F0F5FF'}"
|
|
||||||
>
|
|
||||||
<el-table-column align="center" type="selection" :selectable="judgeSelect" min-width="50"/>
|
|
||||||
<el-table-column align="center" label="商品信息" min-width="200">
|
<el-table-column align="center" label="商品信息" min-width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="acea-row" style="align-items: center;">
|
<div class="acea-row" style="align-items: center;">
|
||||||
<div class="demo-image__preview">
|
<div class="demo-image__preview">
|
||||||
<el-image :src="scope.row.cart_info.product.image" :preview-src-list="[scope.row.cart_info.product.image]" />
|
<el-image :src="scope.row.cart_info.product.image"
|
||||||
|
:preview-src-list="[scope.row.cart_info.product.image]" />
|
||||||
</div>
|
</div>
|
||||||
<span class="priceBox" style="width: 150px;">{{scope.row.cart_info.product.store_name}}</span>
|
<span class="priceBox" style="width: 150px;">{{ scope.row.cart_info.product.store_name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="规格" min-width="80">
|
<el-table-column align="center" label="规格" min-width="80">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span class="priceBox">{{scope.row.cart_info.productAttr.sku}}</span>
|
<span class="priceBox">{{ scope.row.cart_info.productAttr.sku }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="订单金额" min-width="80">
|
<el-table-column align="center" label="订单金额" min-width="80">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span class="priceBox">{{scope.row.cart_info.productAttr.price}}</span>
|
<span class="priceBox">{{ scope.row.cart_info.productAttr.price }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="状态" min-width="80">
|
<el-table-column align="center" label="状态" min-width="80">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span class="priceBox">待核销</span>
|
<span class="priceBox">待核销</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" prop="product_num" label="总数" min-width="80" />
|
<el-table-column align="center" prop="product_num" label="总数" min-width="80" />
|
||||||
<el-table-column label="待核销数量" align="center" min-width="120">
|
<el-table-column label="核销码" align="center" min-width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="verify_code" class="priceBox" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="待核销数量" align="center" min-width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="scope.row['refund_num']"
|
v-model="scope.row['refund_num']"
|
||||||
@ -65,15 +60,15 @@
|
|||||||
@change="limitNum(scope.row)"
|
@change="limitNum(scope.row)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogVisible = false" size="small">取消</el-button>
|
<el-button @click="dialogVisible = false" size="small">取消</el-button>
|
||||||
<el-button type="primary" @click="handleCancellation" size="small">核销</el-button>
|
<el-button type="primary" @click="handleCancellation" size="small">核销</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -88,7 +83,7 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import { orderCancellationApi, goCancellationApi } from '@/api/order'
|
import { orderCancellationApi, goCancellationApi } from '@/api/order'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'OrderCancellate',
|
name: 'OrderCancellate',
|
||||||
@ -101,50 +96,60 @@ export default {
|
|||||||
orderData: "",
|
orderData: "",
|
||||||
multipleSelection: [],
|
multipleSelection: [],
|
||||||
ids: [],
|
ids: [],
|
||||||
|
verify_code: '', //核销码
|
||||||
isColum: false,
|
isColum: false,
|
||||||
productList: []
|
productList: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
searchOrder() {
|
searchOrder() {
|
||||||
if(!this.code){
|
if (!this.code) {
|
||||||
return this.$message.warning('输入核销码!')
|
return this.$message.warning('输入核销码!')
|
||||||
}
|
}
|
||||||
this.productDetails(this.code)
|
this.productDetails(this.code)
|
||||||
},
|
},
|
||||||
judgeSelect(row,index){
|
judgeSelect(row, index) {
|
||||||
return row.is_refund==0
|
return row.is_refund == 0
|
||||||
},
|
},
|
||||||
handleCancellation() {
|
handleCancellation() {
|
||||||
if(!this.code){
|
// if (!this.code) {
|
||||||
|
// return this.$message.warning('输入核销码!')
|
||||||
|
// }
|
||||||
|
if (!this.verify_code) {
|
||||||
return this.$message.warning('输入核销码!')
|
return this.$message.warning('输入核销码!')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.multipleSelection.length) {
|
if (!this.multipleSelection.length) {
|
||||||
return this.$message.warning('请选择核销商品!')
|
return this.$message.warning('请选择核销商品!')
|
||||||
}
|
}
|
||||||
const data = []
|
const data = []
|
||||||
this.multipleSelection.map((item) => {
|
this.multipleSelection.map((item) => {
|
||||||
if(item.refund_num>0){
|
if (item.refund_num > 0) {
|
||||||
data.push({id:item.order_product_id,num:item.refund_num})
|
data.push({ id: item.order_product_id, num: item.refund_num })
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
goCancellationApi(this.order_id,{verify_code: this.code,data: data}).then(res => {
|
goCancellationApi(this.order_id, { verify_code: this.verify_code, data: data }).then(res => {
|
||||||
this.$message.success(res.message)
|
this.$message.success(res.message)
|
||||||
this.dialogVisible = false
|
this.dialogVisible = false
|
||||||
this.$emit('getList','')
|
this.$emit('getList', '')
|
||||||
}).catch(({ message }) => {
|
}).catch(({ message }) => {
|
||||||
this.$message.error(message)
|
this.$message.error(message)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
productDetails(code) {
|
productDetails(code, type = false) {
|
||||||
this.code = code
|
if (type) { this.code = code }
|
||||||
|
else {
|
||||||
|
this.code = "";
|
||||||
|
this.verify_code = "";
|
||||||
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
orderCancellationApi(code).then(res => {
|
orderCancellationApi(code).then(res => {
|
||||||
this.orderData = res.data
|
this.orderData = res.data
|
||||||
this.order_id = res.data.order_id
|
this.order_id = res.data.order_id
|
||||||
|
if (type) this.verify_code = res.data.verify_code
|
||||||
this.productList = res.data.orderProduct
|
this.productList = res.data.orderProduct
|
||||||
this.productList.forEach((item, index)=>{
|
this.productList.forEach((item, index) => {
|
||||||
item.max_num = item.refund_num
|
item.max_num = item.refund_num
|
||||||
})
|
})
|
||||||
this.loading = false
|
this.loading = false
|
||||||
@ -153,19 +158,19 @@ export default {
|
|||||||
this.$message.error(message)
|
this.$message.error(message)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
resetData(){
|
resetData() {
|
||||||
this.orderData = {},
|
this.orderData = {},
|
||||||
this.productList = [];
|
this.productList = [];
|
||||||
this.code = ""
|
this.code = ""
|
||||||
},
|
},
|
||||||
// 选择商品
|
// 选择商品
|
||||||
handleSelectionChange(val) {
|
handleSelectionChange(val) {
|
||||||
this.multipleSelection = val
|
this.multipleSelection = val
|
||||||
},
|
},
|
||||||
limitNum(row){
|
limitNum(row) {
|
||||||
if(row.refund_num > row.max_num){
|
if (row.refund_num > row.max_num) {
|
||||||
row.refund_num = row.max_num
|
row.refund_num = row.max_num
|
||||||
}else if(row.refund_num < 1){
|
} else if (row.refund_num < 1) {
|
||||||
row.refund_num = 1
|
row.refund_num = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -174,7 +179,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.title{
|
.title {
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
color: #17233d;
|
color: #17233d;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user