|
@@ -1,12 +1,21 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-page-header @back="$parent.pageType=0" :content="detailsId?'编辑':'新增'" style=" padding: 20px 20px 0 20px;"
|
|
|
+ <el-page-header
|
|
|
+ @back="$parent.pageType = 0"
|
|
|
+ :content="detailsId ? '编辑' : '新增'"
|
|
|
+ style="padding: 20px 20px 0 20px"
|
|
|
></el-page-header>
|
|
|
<return-sales-header ref="header" :details="details" />
|
|
|
- <sales-table :dataList="dataList" :column="column" :isOperation="detailsId?false:true" isSelection @handleSelection="handleSelection">
|
|
|
+ <sales-table
|
|
|
+ :dataList="dataList"
|
|
|
+ :column="column"
|
|
|
+ :isOperation="detailsId ? false : true"
|
|
|
+ isSelection
|
|
|
+ @handleSelection="handleSelection"
|
|
|
+ >
|
|
|
<template #bts>
|
|
|
<div v-if="!detailsId">
|
|
|
- <el-button type="primary" v-if="dis" size="mini" @click="dialogVisible=true">添加</el-button>
|
|
|
+ <el-button type="primary" v-if="dis" size="mini" @click="dialogVisible = true">添加</el-button>
|
|
|
<el-button type="danger" v-if="dis" size="mini" @click="delChange">删除</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -14,34 +23,33 @@
|
|
|
<div v-if="!detailsId">
|
|
|
<el-button type="primary" :disabled="!dis" size="mini" @click="handelSubmit(1)">提交</el-button>
|
|
|
<el-button size="mini" @click="onReset" v-if="dis">重置</el-button>
|
|
|
- <el-button size="mini" v-if="isFront!==false" :disabled="dis" @click="handleInform(2)">退货通知</el-button>
|
|
|
+ <el-button size="mini" v-if="isFront !== false" :disabled="dis" @click="handleInform(2)">退货通知</el-button>
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
<el-button type="primary" size="mini" @click="handelSubmit(2)">保存</el-button>
|
|
|
<el-button size="mini" @click="onReset" v-if="!detailsId">重置</el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</template>
|
|
|
- <template v-slot:custom="{item:{row,$index}}">
|
|
|
+ <template v-slot:custom="{ item: { row, $index } }">
|
|
|
<div>{{ diffQty(row) }}</div>
|
|
|
</template>
|
|
|
- <template v-slot:custom="{item:{row,$index}}">
|
|
|
+ <template v-slot:custom="{ item: { row, $index } }">
|
|
|
<el-radio label="1" v-model="row.flag">增加</el-radio>
|
|
|
<el-radio label="-1" v-model="row.flag">减少</el-radio>
|
|
|
</template>
|
|
|
- <template v-slot:operation="{item:{row,$index}}">
|
|
|
- <el-popconfirm
|
|
|
- v-if="dis"
|
|
|
- style="margin-left: 10px"
|
|
|
- title="删除?"
|
|
|
- @onConfirm="handleDel(row,$index)"
|
|
|
- >
|
|
|
+ <template v-slot:operation="{ item: { row, $index } }">
|
|
|
+ <el-popconfirm v-if="dis" style="margin-left: 10px" title="删除?" @onConfirm="handleDel(row, $index)">
|
|
|
<el-button slot="reference" type="text" size="mini">删除</el-button>
|
|
|
</el-popconfirm>
|
|
|
</template>
|
|
|
</sales-table>
|
|
|
- <sales-dialog ref="dia" :dialogVisible="dialogVisible" :returnId="returnId" :itemId="itemId" :func="getDialogList"
|
|
|
- @confirm="confirm"
|
|
|
+ <sales-dialog
|
|
|
+ ref="dia"
|
|
|
+ :dialogVisible="dialogVisible"
|
|
|
+ :returnId="returnId"
|
|
|
+ :itemId="itemId"
|
|
|
+ :func="getDialogList"
|
|
|
+ @confirm="confirm"
|
|
|
/>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -51,13 +59,15 @@ import SalesDialog from '@/components/SalesDialog/SalesDialog'
|
|
|
import ReturnSalesHeader from '@/components/ReturnSalesHeader/ReturnSalesHeader'
|
|
|
import SalesTable from '@/components/SalesTable/SalesTable'
|
|
|
import {
|
|
|
- addFrontOrder, detailRefund,
|
|
|
+ addFrontOrder,
|
|
|
+ detailRefund,
|
|
|
getFrontOrderDetail,
|
|
|
addRefund,
|
|
|
getFrontOrderList,
|
|
|
sbumitFrontOrder,
|
|
|
sendRefund,
|
|
|
- updateRefund, listOrder
|
|
|
+ updateRefund,
|
|
|
+ listOrder
|
|
|
} from '@/api/sales'
|
|
|
import { getcustomerFrontList, getFrontListCustomer } from '@/api/stock'
|
|
|
|
|
@@ -73,7 +83,7 @@ export default {
|
|
|
return {
|
|
|
dialogVisible: false,
|
|
|
returnId: '',
|
|
|
- itemId:"",
|
|
|
+ itemId: '',
|
|
|
dataList: [],
|
|
|
selection: [],
|
|
|
flag: 1,
|
|
@@ -127,7 +137,7 @@ export default {
|
|
|
},
|
|
|
computed: {
|
|
|
diffQty() {
|
|
|
- return (row) => {
|
|
|
+ return row => {
|
|
|
return Number(row.qty) - Number(row.refundQty)
|
|
|
}
|
|
|
}
|
|
@@ -138,12 +148,10 @@ export default {
|
|
|
this.dataList = res.data.orders
|
|
|
this.details = res.data
|
|
|
this.dataList.forEach(k => {
|
|
|
-
|
|
|
- this.$set(k,'refundQty',k.qty)
|
|
|
- k.diffQty = Number(k.qty) - Number(k.refundQty||0)
|
|
|
-
|
|
|
+ this.$set(k, 'refundQty', k.qty)
|
|
|
+ k.diffQty = Number(k.qty) - Number(k.refundQty || 0)
|
|
|
})
|
|
|
- this.details.customerOrderNo = res.data.customerOrderNo
|
|
|
+ this.details.customerOrderNo = res.data.customerOrderNo
|
|
|
this.details.detailsId = res.data.id
|
|
|
|
|
|
this.returnId = res.data.id + this.dataList[0].materialCode
|
|
@@ -165,25 +173,31 @@ export default {
|
|
|
return listOrder(...p)
|
|
|
},
|
|
|
confirm(selected) {
|
|
|
- for (let i = 0; i < selected.length; i++) {
|
|
|
- if (selected[0].id != selected[i].id){
|
|
|
- this.$errorMsg('不能选择不一样的销售单')
|
|
|
- return
|
|
|
- }
|
|
|
+ for (let i = 0; i < selected.length; i++) {
|
|
|
+ if (selected[0].id != selected[i].id) {
|
|
|
+ this.$errorMsg('不能选择不一样的销售单')
|
|
|
+ return
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
// console.log(selected)
|
|
|
this.dataList = [...this.dataList, ...selected]
|
|
|
- for (let i = 0; i <this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length ; i++) {
|
|
|
+ for (let i = 0; i < this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length; i++) {
|
|
|
for (let j = 0; j < this.dataList.length; j++) {
|
|
|
- if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.dataList[j].id || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
|
|
|
- if (this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].itemId == this.dataList[j].itemId || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
|
|
|
- this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',false)
|
|
|
- }else {
|
|
|
- this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
|
|
|
+ if (
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.dataList[j].id ||
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled === false
|
|
|
+ ) {
|
|
|
+ if (
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].itemId == this.dataList[j].itemId ||
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled === false
|
|
|
+ ) {
|
|
|
+ this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', false)
|
|
|
+ } else {
|
|
|
+ this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
|
|
|
}
|
|
|
- }else{
|
|
|
- this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
|
|
|
+ } else {
|
|
|
+ this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -193,11 +207,11 @@ export default {
|
|
|
k.qty = k.refundQty
|
|
|
})
|
|
|
let obj = {
|
|
|
- id:Object.freeze(this.dataList[0].id)
|
|
|
+ id: Object.freeze(this.dataList[0].id)
|
|
|
}
|
|
|
if (!this.detailsId) {
|
|
|
this.details = this.dataList[0]
|
|
|
- this.details.customerOrderNo = obj.id
|
|
|
+ this.details.customerOrderNo = obj.id
|
|
|
}
|
|
|
this.detailsId = this.detailsId
|
|
|
|
|
@@ -205,18 +219,15 @@ export default {
|
|
|
this.itemId = this.dataList[0].itemId
|
|
|
this.dialogVisible = false
|
|
|
this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.$refs.tableView.clearSelection()
|
|
|
-
|
|
|
},
|
|
|
handleDel(item, index) {
|
|
|
this.dataList.splice(index, 1)
|
|
|
- this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.find(k=>{
|
|
|
- if (k.id==item.id){
|
|
|
- if (k.itemId ==item.itemId ){
|
|
|
- this.$set(k,'disabled',true)
|
|
|
-
|
|
|
- }else {
|
|
|
- this.$set(k,'disabled',false)
|
|
|
-
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.find(k => {
|
|
|
+ if (k.id == item.id) {
|
|
|
+ if (k.itemId == item.itemId) {
|
|
|
+ this.$set(k, 'disabled', true)
|
|
|
+ } else {
|
|
|
+ this.$set(k, 'disabled', false)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -237,16 +248,23 @@ export default {
|
|
|
},
|
|
|
delChange() {
|
|
|
if (this.dataList.length) {
|
|
|
- for (let i = 0; i <this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length ; i++) {
|
|
|
+ for (let i = 0; i < this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length; i++) {
|
|
|
for (let j = 0; j < this.selection.length; j++) {
|
|
|
- if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.selection[j].id || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
|
|
|
- if (this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].itemId == this.selection[j].itemId || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
|
|
|
- this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',false)
|
|
|
- }else {
|
|
|
- this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
|
|
|
+ if (
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.selection[j].id ||
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled === false
|
|
|
+ ) {
|
|
|
+ if (
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].itemId ==
|
|
|
+ this.selection[j].itemId ||
|
|
|
+ this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled === false
|
|
|
+ ) {
|
|
|
+ this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', false)
|
|
|
+ } else {
|
|
|
+ this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
|
|
|
}
|
|
|
- }else{
|
|
|
- this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
|
|
|
+ } else {
|
|
|
+ this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -256,22 +274,19 @@ export default {
|
|
|
this.returnId = ''
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
},
|
|
|
handleSelection(data) {
|
|
|
this.selection = data
|
|
|
},
|
|
|
|
|
|
handelSubmit(type, status = 1) {
|
|
|
-
|
|
|
- const list = JSON.parse(JSON.stringify(this.dataList))
|
|
|
+ const list = JSON.parse(JSON.stringify(this.dataList))
|
|
|
|
|
|
if (!list.length) {
|
|
|
this.$errorMsg('请添加产品')
|
|
|
return
|
|
|
}
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
|
-
|
|
|
list[i].directFlag = list[i].flag
|
|
|
if (Number(list[i].qty) < 0 || !list[i].qty) {
|
|
|
this.$errorMsg(`第${i + 1}产品退货数量有误`)
|
|
@@ -291,7 +306,7 @@ export default {
|
|
|
addRefund(params).then(res => {
|
|
|
this.$successMsg('新增成功')
|
|
|
this.salesId = res.data
|
|
|
- this.column=[
|
|
|
+ this.column = [
|
|
|
{
|
|
|
prop: 'materialName',
|
|
|
label: '产品名称',
|
|
@@ -312,11 +327,9 @@ export default {
|
|
|
prop: 'qty',
|
|
|
align: 'left',
|
|
|
label: '退货数量',
|
|
|
- width: '180',
|
|
|
-
|
|
|
+ width: '180'
|
|
|
},
|
|
|
|
|
|
-
|
|
|
{
|
|
|
prop: 'notes',
|
|
|
label: '备注',
|
|
@@ -325,14 +338,13 @@ export default {
|
|
|
type: 'text'
|
|
|
}
|
|
|
]
|
|
|
- if (this.isFront ===false){
|
|
|
+ if (this.isFront === false) {
|
|
|
this.$parent.pageType = 0
|
|
|
}
|
|
|
|
|
|
this.dis = false
|
|
|
this.$forceUpdate()
|
|
|
})
|
|
|
-
|
|
|
} else {
|
|
|
updateRefund(params).then(res => {
|
|
|
this.$successMsg('编辑成功')
|
|
@@ -350,13 +362,9 @@ export default {
|
|
|
|
|
|
onReset() {
|
|
|
Object.assign(this.$data, this.$options.data())
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
-
|
|
|
-</style>
|
|
|
+<style scoped></style>
|