给采购和销售单据支持分批操作

This commit is contained in:
季圣华
2021-09-25 22:10:07 +08:00
parent 1604a3fde5
commit 89574dfc39
8 changed files with 66 additions and 17 deletions

View File

@@ -170,7 +170,7 @@
{ title: '单据编号', dataIndex: 'number',width:160, { title: '单据编号', dataIndex: 'number',width:160,
customRender:function (text,record,index) { customRender:function (text,record,index) {
if(record.linkNumber) { if(record.linkNumber) {
return text + "[]"; return text + "[]";
} else { } else {
return text; return text;
} }

View File

@@ -107,7 +107,8 @@
<template slot="customRenderStatus" slot-scope="status"> <template slot="customRenderStatus" slot-scope="status">
<a-tag v-if="status == '0'" color="red">未审核</a-tag> <a-tag v-if="status == '0'" color="red">未审核</a-tag>
<a-tag v-if="status == '1'" color="green">已审核</a-tag> <a-tag v-if="status == '1'" color="green">已审核</a-tag>
<a-tag v-if="status == '2'" color="blue">已转采购</a-tag> <a-tag v-if="status == '2'" color="cyan">完成采购</a-tag>
<a-tag v-if="status == '3'" color="blue">部分采购</a-tag>
</template> </template>
</a-table> </a-table>
</div> </div>

View File

@@ -108,7 +108,8 @@
<template slot="customRenderStatus" slot-scope="status"> <template slot="customRenderStatus" slot-scope="status">
<a-tag v-if="status == '0'" color="red">未审核</a-tag> <a-tag v-if="status == '0'" color="red">未审核</a-tag>
<a-tag v-if="status == '1'" color="green">已审核</a-tag> <a-tag v-if="status == '1'" color="green">已审核</a-tag>
<a-tag v-if="status == '2'" color="blue">已转销售</a-tag> <a-tag v-if="status == '2'" color="cyan">完成销售</a-tag>
<a-tag v-if="status == '3'" color="blue">部分销售</a-tag>
</template> </template>
</a-table> </a-table>
</div> </div>

View File

@@ -170,7 +170,7 @@
{ title: '单据编号', dataIndex: 'number',width:160, { title: '单据编号', dataIndex: 'number',width:160,
customRender:function (text,record,index) { customRender:function (text,record,index) {
if(record.linkNumber) { if(record.linkNumber) {
return text + "[]"; return text + "[]";
} else { } else {
return text; return text;
} }

View File

@@ -1005,6 +1005,7 @@
{ title: '单位', dataIndex: 'unit', width: '4%'}, { title: '单位', dataIndex: 'unit', width: '4%'},
{ title: '多属性', dataIndex: 'sku', width: '4%'}, { title: '多属性', dataIndex: 'sku', width: '4%'},
{ title: '数量', dataIndex: 'operNumber', width: '5%'}, { title: '数量', dataIndex: 'operNumber', width: '5%'},
{ title: '已入库', dataIndex: 'finishNumber', width: '5%'},
{ title: '单价', dataIndex: 'unitPrice', width: '5%'}, { title: '单价', dataIndex: 'unitPrice', width: '5%'},
{ title: '金额', dataIndex: 'allPrice', width: '5%'}, { title: '金额', dataIndex: 'allPrice', width: '5%'},
{ title: '备注', dataIndex: 'remark', width: '5%'} { title: '备注', dataIndex: 'remark', width: '5%'}
@@ -1068,6 +1069,7 @@
{ title: '单位', dataIndex: 'unit', width: '4%'}, { title: '单位', dataIndex: 'unit', width: '4%'},
{ title: '多属性', dataIndex: 'sku', width: '4%'}, { title: '多属性', dataIndex: 'sku', width: '4%'},
{ title: '数量', dataIndex: 'operNumber', width: '5%'}, { title: '数量', dataIndex: 'operNumber', width: '5%'},
{ title: '已入库', dataIndex: 'finishNumber', width: '5%'},
{ title: '单价', dataIndex: 'unitPrice', width: '5%'}, { title: '单价', dataIndex: 'unitPrice', width: '5%'},
{ title: '金额', dataIndex: 'allPrice', width: '5%'}, { title: '金额', dataIndex: 'allPrice', width: '5%'},
{ title: '备注', dataIndex: 'remark', width: '5%'} { title: '备注', dataIndex: 'remark', width: '5%'}

View File

@@ -21,6 +21,14 @@
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: getType}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: getType}"
:customRow="rowAction" :customRow="rowAction"
@change="handleTableChange"> @change="handleTableChange">
<template slot="customRenderStatus" slot-scope="status">
<a-tag v-if="status === '0'" color="red">未审核</a-tag>
<a-tag v-if="status === '1'" color="green">已审核</a-tag>
<a-tag v-if="status === '2' && queryParam.subType === '采购订单'" color="cyan">完成采购</a-tag>
<a-tag v-if="status === '2' && queryParam.subType === '销售订单'" color="cyan">完成销售</a-tag>
<a-tag v-if="status === '3' && queryParam.subType === '采购订单'" color="blue">部分采购</a-tag>
<a-tag v-if="status === '3' && queryParam.subType === '销售订单'" color="blue">部分销售</a-tag>
</template>
</a-table> </a-table>
<!-- table区域-end --> <!-- table区域-end -->
</a-modal> </a-modal>
@@ -61,7 +69,7 @@
}, },
{ title: '', dataIndex: 'organName',width:120}, { title: '', dataIndex: 'organName',width:120},
{ title: '单据编号', dataIndex: 'number',width:150}, { title: '单据编号', dataIndex: 'number',width:150},
{ title: '商品信息', dataIndex: 'materialsList',width:220, ellipsis:true, { title: '商品信息', dataIndex: 'materialsList',width:280, ellipsis:true,
customRender:function (text,record,index) { customRender:function (text,record,index) {
if(text) { if(text) {
return text.replace(",",""); return text.replace(",","");
@@ -69,8 +77,11 @@
} }
}, },
{ title: '单据日期', dataIndex: 'operTimeStr',width:145}, { title: '单据日期', dataIndex: 'operTimeStr',width:145},
{ title: '操作员', dataIndex: 'userName',width:60}, { title: '操作员', dataIndex: 'userName',width:70},
{ title: '金额合计', dataIndex: 'totalPrice',width:70} { title: '金额合计', dataIndex: 'totalPrice',width:70},
{ title: '状态', dataIndex: 'status', width: 70, align: "center",
scopedSlots: { customRender: 'customRenderStatus' }
}
], ],
url: { url: {
list: "/depotHead/list" list: "/depotHead/list"

View File

@@ -183,14 +183,16 @@
{ title: '库存', key: 'stock', width: '5%', type: FormTypes.input, readonly: true }, { title: '库存', key: 'stock', width: '5%', type: FormTypes.input, readonly: true },
{ title: '单位', key: 'unit', width: '4%', type: FormTypes.input, readonly: true }, { title: '单位', key: 'unit', width: '4%', type: FormTypes.input, readonly: true },
{ title: '多属性', key: 'sku', width: '4%', type: FormTypes.input, readonly: true }, { title: '多属性', key: 'sku', width: '4%', type: FormTypes.input, readonly: true },
{ title: '数量', key: 'operNumber', width: '5%', type: FormTypes.inputNumber, statistics: true, { title: '数量', key: 'preNumber', width: '4%', type: FormTypes.input, readonly: true },
{ title: '已入库', key: 'finishNumber', width: '4%', type: FormTypes.input, readonly: true },
{ title: '数量', key: 'operNumber', width: '4%', type: FormTypes.inputNumber, statistics: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '单价', key: 'unitPrice', width: '5%', type: FormTypes.inputNumber}, { title: '单价', key: 'unitPrice', width: '4%', type: FormTypes.inputNumber},
{ title: '含税单价', key: 'taxUnitPrice', width: '5%', type: FormTypes.inputNumber, readonly: true}, { title: '含税单价', key: 'taxUnitPrice', width: '5%', type: FormTypes.inputNumber, readonly: true},
{ title: '金额', key: 'allPrice', width: '5%', type: FormTypes.inputNumber, statistics: true }, { title: '金额', key: 'allPrice', width: '5%', type: FormTypes.inputNumber, statistics: true },
{ title: '税率', key: 'taxRate', width: '4%', type: FormTypes.inputNumber,placeholder: '%'}, { title: '税率', key: 'taxRate', width: '3%', type: FormTypes.inputNumber,placeholder: '%'},
{ title: '税额', key: 'taxMoney', width: '4%', type: FormTypes.inputNumber, statistics: true , readonly: true}, { title: '税额', key: 'taxMoney', width: '3%', type: FormTypes.inputNumber, statistics: true , readonly: true},
{ title: '价税合计', key: 'taxLastMoney', width: '5%', type: FormTypes.inputNumber, statistics: true }, { title: '价税合计', key: 'taxLastMoney', width: '5%', type: FormTypes.inputNumber, statistics: true },
{ title: '备注', key: 'remark', width: '5%', type: FormTypes.input } { title: '备注', key: 'remark', width: '5%', type: FormTypes.input }
] ]
@@ -293,7 +295,7 @@
} }
}, },
onSearchLinkNumber() { onSearchLinkNumber() {
this.$refs.linkBillList.show('其它', '采购订单', '供应商', "1") this.$refs.linkBillList.show('其它', '采购订单', '供应商', "1,3")
this.$refs.linkBillList.title = "选择采购订单" this.$refs.linkBillList.title = "选择采购订单"
}, },
linkBillListOk(selectBillRows) { linkBillListOk(selectBillRows) {
@@ -323,13 +325,28 @@
if(res && res.code === 200){ if(res && res.code === 200){
let list = res.data.rows let list = res.data.rows
let listEx = [] let listEx = []
let discountLastMoney = 0
for(let j=0; j<list.length; j++){ for(let j=0; j<list.length; j++){
let info = list[j]; let info = list[j];
if(info.preNumber) {
info.operNumber = info.preNumber - info.finishNumber
info.allPrice = info.operNumber * info.unitPrice-0;
discountLastMoney += info.allPrice
}
info.taxMoney = 0 info.taxMoney = 0
info.taxLastMoney = info.allPrice info.taxLastMoney = info.allPrice
listEx.push(info) listEx.push(info)
} }
tab.dataSource = listEx tab.dataSource = listEx
//给优惠后金额重新赋值
if(discountLastMoney) {
this.$nextTick(() => {
this.form.setFieldsValue({
'discountLastMoney': discountLastMoney,
'changeAmount': discountLastMoney
})
});
}
typeof success === 'function' ? success(res) : '' typeof success === 'function' ? success(res) : ''
} }
}).finally(() => { }).finally(() => {

View File

@@ -187,14 +187,16 @@
{ title: '库存', key: 'stock', width: '5%', type: FormTypes.input, readonly: true }, { title: '库存', key: 'stock', width: '5%', type: FormTypes.input, readonly: true },
{ title: '单位', key: 'unit', width: '4%', type: FormTypes.input, readonly: true }, { title: '单位', key: 'unit', width: '4%', type: FormTypes.input, readonly: true },
{ title: '多属性', key: 'sku', width: '4%', type: FormTypes.input, readonly: true }, { title: '多属性', key: 'sku', width: '4%', type: FormTypes.input, readonly: true },
{ title: '数量', key: 'operNumber', width: '5%', type: FormTypes.inputNumber, statistics: true, { title: '数量', key: 'preNumber', width: '4%', type: FormTypes.input, readonly: true },
{ title: '已入库', key: 'finishNumber', width: '4%', type: FormTypes.input, readonly: true },
{ title: '数量', key: 'operNumber', width: '4%', type: FormTypes.inputNumber, statistics: true,
validateRules: [{ required: true, message: '${title}不能为空' }] validateRules: [{ required: true, message: '${title}不能为空' }]
}, },
{ title: '单价', key: 'unitPrice', width: '5%', type: FormTypes.inputNumber}, { title: '单价', key: 'unitPrice', width: '4%', type: FormTypes.inputNumber},
{ title: '含税单价', key: 'taxUnitPrice', width: '5%', type: FormTypes.inputNumber, readonly: true}, { title: '含税单价', key: 'taxUnitPrice', width: '5%', type: FormTypes.inputNumber, readonly: true},
{ title: '金额', key: 'allPrice', width: '5%', type: FormTypes.inputNumber, statistics: true }, { title: '金额', key: 'allPrice', width: '5%', type: FormTypes.inputNumber, statistics: true },
{ title: '税率', key: 'taxRate', width: '4%', type: FormTypes.inputNumber,placeholder: '%'}, { title: '税率', key: 'taxRate', width: '3%', type: FormTypes.inputNumber,placeholder: '%'},
{ title: '税额', key: 'taxMoney', width: '4%', type: FormTypes.inputNumber, statistics: true, readonly: true}, { title: '税额', key: 'taxMoney', width: '3%', type: FormTypes.inputNumber, statistics: true, readonly: true},
{ title: '价税合计', key: 'taxLastMoney', width: '5%', type: FormTypes.inputNumber, statistics: true }, { title: '价税合计', key: 'taxLastMoney', width: '5%', type: FormTypes.inputNumber, statistics: true },
{ title: '备注', key: 'remark', width: '5%', type: FormTypes.input } { title: '备注', key: 'remark', width: '5%', type: FormTypes.input }
] ]
@@ -299,7 +301,7 @@
} }
}, },
onSearchLinkNumber() { onSearchLinkNumber() {
this.$refs.linkBillList.show('其它', '销售订单', '客户', "1") this.$refs.linkBillList.show('其它', '销售订单', '客户', "1,3")
this.$refs.linkBillList.title = "选择销售订单" this.$refs.linkBillList.title = "选择销售订单"
}, },
linkBillListOk(selectBillRows) { linkBillListOk(selectBillRows) {
@@ -329,13 +331,28 @@
if(res && res.code === 200){ if(res && res.code === 200){
let list = res.data.rows let list = res.data.rows
let listEx = [] let listEx = []
let discountLastMoney = 0
for(let j=0; j<list.length; j++){ for(let j=0; j<list.length; j++){
let info = list[j]; let info = list[j];
if(info.preNumber) {
info.operNumber = info.preNumber - info.finishNumber
info.allPrice = info.operNumber * info.unitPrice-0;
discountLastMoney += info.allPrice
}
info.taxMoney = 0 info.taxMoney = 0
info.taxLastMoney = info.allPrice info.taxLastMoney = info.allPrice
listEx.push(info) listEx.push(info)
} }
tab.dataSource = listEx tab.dataSource = listEx
//给优惠后金额重新赋值
if(discountLastMoney) {
this.$nextTick(() => {
this.form.setFieldsValue({
'discountLastMoney': discountLastMoney,
'changeAmount': discountLastMoney
})
});
}
typeof success === 'function' ? success(res) : '' typeof success === 'function' ? success(res) : ''
} }
}).finally(() => { }).finally(() => {