master
271556543@qq.com 3 years ago
parent 96f94e85c1
commit 4457094c83

@ -18,7 +18,9 @@
:list="list"
:table-item="table"
@editor="editor"
@delete="destroy"></xy-table>
@delete="destroy"
@pageSizeChange="e => select.page_size = e"
@pageIndexChange="e => {select.page = e;getList()}"></xy-table>
<add ref="addcollectMoney" :accounts="accounts" @refresh="getList" />
</div>
@ -47,7 +49,90 @@ export default {
total:0,
list:[],
table:[]
table:[
{
prop:'no',
label:'收款单号',
width:220,
},
{
label:'付款方',
prop:'account_id',
minWidth: 180
},
{
label:'金额(元)',
prop:'money',
align:'right',
width: 200
},
{
label:'开票类型',
prop:'invoice_type',
width: 180,
formatter:(cell,data,value)=>{
if(value === 1){
return '服务类发票'
}else{
return '不开票'
}
}
},
{
label:'收款单日期',
prop:'date',
width: 200,
formatter:(cell,data,value)=>{
return parseTime(value,'{y}-{m}-{d}')
}
},
{
label:'覆盖订单数量',
prop:'orders_count',
width: 140
},
{
label:'包含明细数量',
prop:'schedule_links_count',
width: 140
},
{
label:'付款状态',
prop:'status',
width: 140,
customFn:(row)=>{
let type;
switch (row.status){
case 0:
type = {
color:'red',
text:'未付款'
}
break;
case 1:
type = {
color:'blue',
text:'部分付款'
}
break;
case 2:
type = {
color:'green',
text:'已付清'
}
break;
default:
type = {
color:'rgb(140,140,140)',
text:'未知'
}
}
return (
<div style={{'color':type.color}}>{type.text}</div>
)
}
}
]
}
},
methods: {

@ -15,7 +15,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>付款方
</div>
<div class="xy-table-item-content">
<el-select v-model="form.account_id" placeholder="请选择付款对象" style="width: 300px;">
<el-select disabled v-model="form.account_id" placeholder="请选择付款对象" style="width: 300px;">
<el-option v-for="item in accounts" :value="item.id" :label="item.name" :key="item.id"></el-option>
</el-select>
</div>
@ -28,7 +28,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>金额
</div>
<div class="xy-table-item-content xy-table-item-price">
<el-input-number :controls="false" :precision="2" v-model="form.money" clearable placeholder="请输入金额" style="width: 300px;"></el-input-number>
<el-input-number disabled :controls="false" :precision="2" v-model="form.money" clearable placeholder="请输入金额" style="width: 300px;"></el-input-number>
</div>
</div>
</template>
@ -139,7 +139,7 @@ export default {
form:{
account_id :'',
money:'',
money:0,
invoice_type:'',
date:'',
status:'',
@ -240,13 +240,22 @@ export default {
setSchedule(array){
this.form.schedule_links = array
this.form.account_id = array[0]?.orders.account_id
array.forEach(item => {
this.form.money += Number(item.orders.unit_price)
})
},
removeSchedule(scope){
console.log(scope)
this.form.schedule_links.splice(scope.$index,1)
},
submit(){
this.form.schedule_links = this.form.schedule_links.map(item => {
return {
schedule_id:item.id,
order_id:item.order_id
}
})
if(this.type === 'editor'){
Object.defineProperty(this.form,'id',{
value:this.id,

@ -40,7 +40,7 @@
<xy-table
ref="xyTable"
:total="total"
:height="380"
:height="360"
:list="list"
:table-item="table"
:showSizer="false"
@ -190,10 +190,11 @@ export default {
this.total = res.total
let ids = this.form.map(item => {
return item.id
return item.schedule_id ?? item.id
})
this.list.forEach(row => {
if(ids.indexOf(row.id) !== -1){
console.log(row)
this.$refs['xyTable'].toggleRowSelection(row)
}
})
@ -211,6 +212,26 @@ export default {
this.form = selection
},
submit(){
if(this.form.length === 0){
this.$message({
type:'warning',
message:'选择不能为空'
})
return
}
let temp = false
for(let item of this.form){
if(item.orders.account_id !== this.form[0]?.orders.account_id){
temp = true
}
}
if(temp){
this.$message({
type:'warning',
message:'选择的结算对象必须相同'
})
return
}
this.$emit('submit',this.form)
this.isShow = false

@ -36,7 +36,7 @@
</el-form-item>
<el-form-item label="上门地址选择" prop="address_id">
<el-select v-model="form.address_id" placeholder="请选择上门地址选择" style="width: 300px;">
<el-option v-for="(item,index) in addresses" :label="item.name" :value="item.id">
<el-option v-for="(item,index) in addresses" :label="item.address" :value="item.id">
</el-option>
</el-select>
</el-form-item>
@ -45,7 +45,7 @@
<template v-for="(item) in skus">
<el-checkbox :label="item.sku.id">{{ item.sku.name }}</el-checkbox>
</template>
<el-checkbox :indeterminate="indeterminate" @change="handleCheckAllChange"></el-checkbox>
<el-checkbox v-model="checkAll" :indeterminate="indeterminate" @change="handleCheckAllChange"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
@ -98,7 +98,7 @@ export default {
},
data() {
return {
checkAll:false,
checkAll:true,
indeterminate:false,
form: {
id:'',

Loading…
Cancel
Save