You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
4.9 KiB
163 lines
4.9 KiB
<template> |
|
<a-modal |
|
:title="title" |
|
:width="1000" |
|
:visible="visible" |
|
@cancel="handleCancel" |
|
cancelText="关闭" |
|
wrapClassName="ant-modal-cust-warp" |
|
style="top:5%;height: 100%;overflow-y: hidden"> |
|
<template slot="footer"> |
|
<a-button key="back" @click="handleCancel">取消</a-button> |
|
</template> |
|
<!-- table区域-begin --> |
|
<a-table |
|
bordered |
|
ref="table" |
|
size="middle" |
|
rowKey="id" |
|
:columns="columns" |
|
:components="drag(columns)" |
|
:dataSource="dataSource" |
|
:pagination="ipagination" |
|
:loading="loading" |
|
@change="handleTableChange"> |
|
<span slot="numberCustomRender" slot-scope="text, record"> |
|
<a @click="myHandleDetail(record)">{{record.number}}</a> |
|
</span> |
|
</a-table> |
|
<!-- table区域-end --> |
|
<!-- 表单区域 --> |
|
<bill-detail ref="billDetail"></bill-detail> |
|
<financial-detail ref="financialDetail"></financial-detail> |
|
</a-modal> |
|
</template> |
|
<script> |
|
import BillDetail from '../../bill/dialog/BillDetail' |
|
import FinancialDetail from '../../financial/dialog/FinancialDetail' |
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
|
import JEllipsis from '@/components/jeecg/JEllipsis' |
|
import {findBillDetailByNumber, findFinancialDetailByNumber} from '@/api/api' |
|
import tableDragResizeMixin from '@/mixins/tableDragResizeMixin' |
|
|
|
export default { |
|
name: "AccountInOutList", |
|
mixins:[JeecgListMixin,tableDragResizeMixin], |
|
components: { |
|
BillDetail, |
|
FinancialDetail, |
|
JEllipsis |
|
}, |
|
data () { |
|
return { |
|
title:"操作", |
|
visible: false, |
|
disableMixinCreated: false, |
|
toFromType: '', |
|
// 查询条件 |
|
queryParam: { |
|
accountId:'', |
|
initialAmount:'' |
|
}, |
|
tabKey: "1", |
|
// 表头 |
|
columns: [ |
|
{ |
|
title: '#', |
|
dataIndex: '', |
|
key:'rowIndex', |
|
width:40, |
|
align:"center", |
|
customRender:function (t,r,index) { |
|
return parseInt(index)+1; |
|
} |
|
}, |
|
{ |
|
title: '单据编号', dataIndex: 'number', width: 150, |
|
scopedSlots: { customRender: 'numberCustomRender' }, |
|
}, |
|
{ title: '类型', dataIndex: 'type', width: 100}, |
|
{ title: '单位信息', dataIndex: 'supplierName', width: 150}, |
|
{ title: '金额', dataIndex: 'changeAmount', width: 80, |
|
customRender:function (t,r,index) { |
|
if (r.aList && r.amList) { |
|
let aListArr = r.aList.toString().split(","); |
|
let amListArr = r.amList.toString().split(","); |
|
let res = ""; |
|
for (let i = 0; i < aListArr.length; i++) { |
|
if (aListArr[i] == r.accountId) { |
|
res = amListArr[i]; |
|
} |
|
} |
|
return res + "[多账户]"; |
|
} |
|
else { |
|
return r.changeAmount; |
|
} |
|
} |
|
}, |
|
{ title: '余额', dataIndex: 'balance', width: 80}, |
|
{ title: '单据日期', dataIndex: 'operTime', width: 180} |
|
], |
|
labelCol: { |
|
xs: { span: 1 }, |
|
sm: { span: 2 }, |
|
}, |
|
wrapperCol: { |
|
xs: { span: 10 }, |
|
sm: { span: 16 }, |
|
}, |
|
url: { |
|
list: "/account/findAccountInOutList" |
|
} |
|
} |
|
}, |
|
created() { |
|
}, |
|
methods: { |
|
getQueryParams() { |
|
let param = Object.assign({}, this.queryParam, this.isorter); |
|
param.field = this.getQueryField(); |
|
param.currentPage = this.ipagination.current; |
|
param.pageSize = this.ipagination.pageSize; |
|
return param; |
|
}, |
|
show(record) { |
|
this.model = Object.assign({}, record); |
|
this.visible = true; |
|
this.queryParam.accountId = record.id |
|
this.queryParam.initialAmount = record.initialAmount |
|
this.loadData(1) |
|
}, |
|
close () { |
|
this.$emit('close'); |
|
this.visible = false; |
|
}, |
|
handleCancel () { |
|
this.close() |
|
}, |
|
myHandleDetail(record) { |
|
let that = this |
|
this.toFromType = record.fromType |
|
if(record.fromType === 'bill') { |
|
findBillDetailByNumber({ number: record.number }).then((res) => { |
|
if (res && res.code === 200) { |
|
that.$refs.billDetail.show(res.data, record.type); |
|
that.$refs.billDetail.title="详情"; |
|
} |
|
}) |
|
} else if(record.fromType === 'financial') { |
|
findFinancialDetailByNumber({ billNo: record.number }).then((res) => { |
|
if (res && res.code === 200) { |
|
that.$refs.financialDetail.show(res.data, record.type); |
|
that.$refs.financialDetail.title="详情"; |
|
} |
|
}) |
|
} |
|
} |
|
} |
|
} |
|
</script> |
|
<style lang="less" scoped> |
|
@import '~@assets/less/common.less'; |
|
</style> |