vue版本上线
This commit is contained in:
141
jshERP-web/src/views/report/AccountReport.vue
Normal file
141
jshERP-web/src/views/report/AccountReport.vue
Normal file
@@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="名称">
|
||||
<a-input placeholder="请输入名称" v-model="queryParam.name"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="编号">
|
||||
<a-input placeholder="请输入编号" v-model="queryParam.serialNo"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="2" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :md="3" :sm="24" >
|
||||
<a-form-item label="本月发生总额">
|
||||
{{allMonthAmount}}
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="3" :sm="24" >
|
||||
<a-form-item label="当前总余额">
|
||||
{{allCurrentAmount}}
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a @click="showAccountInOutList(record)">流水</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
<!-- table区域-end -->
|
||||
<account-in-out-list ref="accountInOutList" @ok="modalFormOk"></account-in-out-list>
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import AccountInOutList from './modules/AccountInOutList'
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import {getAction} from '@/api/manage'
|
||||
export default {
|
||||
name: "AccountReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
AccountInOutList,
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
name:'',
|
||||
serialNo:''
|
||||
},
|
||||
allMonthAmount: '',
|
||||
allCurrentAmount: '',
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{ title: '名称', dataIndex: 'name', width: 100},
|
||||
{ title: '编号', dataIndex: 'serialNo', width: 150, align: "center"},
|
||||
{ title: '期初金额', dataIndex: 'initialAmount', width: 100, align: "center"},
|
||||
{ title: '本月发生额', dataIndex: 'thisMonthAmount', width: 100, align: "center"},
|
||||
{ title: '当前余额', dataIndex: 'currentAmount', width: 100, align: "center"},
|
||||
{ title: '账户流水', dataIndex: 'action', align:"center", width: 200,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/account/list",
|
||||
getStatistics: "/account/getStatistics"
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getAccountStatistics()
|
||||
},
|
||||
methods: {
|
||||
getAccountStatistics() {
|
||||
getAction(this.url.getStatistics, this.queryParam).then((res)=>{
|
||||
if(res && res.code === 200) {
|
||||
if(res.data){
|
||||
this.allMonthAmount = res.data.allMonthAmount
|
||||
this.allCurrentAmount = res.data.allCurrentAmount
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
searchQuery() {
|
||||
this.loadData(1);
|
||||
this.getAccountStatistics();
|
||||
},
|
||||
showAccountInOutList(record) {
|
||||
this.$refs.accountInOutList.show(record);
|
||||
this.$refs.accountInOutList.title = "查看账户流水";
|
||||
this.$refs.accountInOutList.disableSubmit = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
117
jshERP-web/src/views/report/BuyInReport.vue
Normal file
117
jshERP-web/src/views/report/BuyInReport.vue
Normal file
@@ -0,0 +1,117 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="月份">
|
||||
<a-month-picker placeholder="请选择月份" :default-value="moment(currentMonth, monthFormat)" :format="monthFormat" @change="onChange"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="请输入商品信息" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getMpListShort } from "@/utils/util"
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
import Vue from 'vue'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
currentMonth: moment().format('YYYY-MM'),
|
||||
monthFormat: 'YYYY-MM',
|
||||
queryParam: {
|
||||
monthTime: moment().format('YYYY-MM'),
|
||||
materialParam:'',
|
||||
mpList: getMpListShort(Vue.ls.get('materialPropertyList'))
|
||||
},
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '名称', dataIndex: 'materialName', width: 160},
|
||||
{title: '规格', dataIndex: 'materialStandard', width: 80},
|
||||
{title: '型号', dataIndex: 'materialModel', width: 80},
|
||||
{title: '扩展信息', dataIndex: 'materialOther', width: 150},
|
||||
{title: '单位', dataIndex: 'materialUnit', width: 80},
|
||||
{title: '进货数量', dataIndex: 'inSum', width: 80},
|
||||
{title: '进货金额', dataIndex: 'inSumPrice', width: 80},
|
||||
{title: '退货数量', dataIndex: 'iutSum', width: 80},
|
||||
{title: '退货金额', dataIndex: 'outSumPrice', width: 80}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotItem/buyIn",
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
getQueryParams() {
|
||||
let param = Object.assign({}, this.queryParam, this.isorter);
|
||||
param.monthTime = this.queryParam.monthTime;
|
||||
param.field = this.getQueryField();
|
||||
param.currentPage = this.ipagination.current;
|
||||
param.pageSize = this.ipagination.pageSize;
|
||||
return param;
|
||||
},
|
||||
onChange: function (value, dateString) {
|
||||
console.log(dateString);
|
||||
this.queryParam.monthTime=dateString;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
186
jshERP-web/src/views/report/CustomerAccount.vue
Normal file
186
jshERP-web/src/views/report/CustomerAccount.vue
Normal file
@@ -0,0 +1,186 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="客户">
|
||||
<a-select placeholder="选择客户" v-model="queryParam.organId" :dropdownMatchSelectWidth="false">
|
||||
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
|
||||
{{ item.supplier }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
v-model="queryParam.createTimeRange"
|
||||
:default-value="defaultTimeStr"
|
||||
format="YYYY-MM-DD"
|
||||
:placeholder="['开始时间', '结束时间']"
|
||||
@change="onDateChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="2" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
{{firstTotal}} {{lastTotal}} {{pleaseSelect}}
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getNowFormatMonth } from '@/utils/util';
|
||||
import {findBySelectCus, findSupplierById, findDepotHeadTotalPay, findAccountHeadTotalPay} from '@/api/api'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
supType: "客户",
|
||||
organId: '',
|
||||
beginTime: getNowFormatMonth() + '-01',
|
||||
endTime: moment().format('YYYY-MM-DD'),
|
||||
},
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
currentDay: moment().format('YYYY-MM-DD'),
|
||||
defaultTimeStr: '',
|
||||
supList: [],
|
||||
firstTotal: '',
|
||||
lastTotal: '',
|
||||
pleaseSelect: '(请选择客户)',
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '单据编号', dataIndex: 'number', width: 140},
|
||||
{title: '类型', dataIndex: 'type', width: 100},
|
||||
{title: '单位名称', dataIndex: 'supplierName', width: 200},
|
||||
{title: '单据金额', dataIndex: 'billMoney', width: 80},
|
||||
{title: '实际支付', dataIndex: 'changeAmount', width: 80},
|
||||
{title: '本期变化', dataIndex: 'allPrice', width: 80},
|
||||
{title: '单据日期', dataIndex: 'oTime', width: 160}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotHead/findStatementAccount",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initSupplier()
|
||||
this.defaultTimeStr = [moment(getNowFormatMonth() + '-01', this.dateFormat), moment(this.currentDay, this.dateFormat)]
|
||||
},
|
||||
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;
|
||||
},
|
||||
initSupplier() {
|
||||
let that = this;
|
||||
findBySelectCus({}).then((res)=>{
|
||||
if(res) {
|
||||
that.supList = res;
|
||||
}
|
||||
});
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.beginTime=dateString[0];
|
||||
this.queryParam.endTime=dateString[1];
|
||||
},
|
||||
initTotal(prefix, time, type) {
|
||||
findSupplierById({supplierId: this.queryParam.organId}).then((res)=>{
|
||||
if (res && res.data && res.data[0]) {
|
||||
let beginNeedGet = res.data[0].BeginNeedGet;
|
||||
let beginNeedPay = res.data[0].BeginNeedPay;
|
||||
findDepotHeadTotalPay({supplierId: this.queryParam.organId, endTime: time, supType: "customer" }).then((res)=>{
|
||||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||||
let moneyA = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||||
findAccountHeadTotalPay({supplierId: this.queryParam.organId, endTime: time, supType: "customer" }).then((res)=>{
|
||||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||||
let moneyB = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||||
let money = moneyA + moneyB;
|
||||
let moneyBeginNeedGet = beginNeedGet - 0; //期初应收
|
||||
let moneyBeginNeedPay = beginNeedPay - 0; //期初应付
|
||||
money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2);
|
||||
if(type === 'first') {
|
||||
this.firstTotal = prefix + money + ","
|
||||
} else if(type === 'last') {
|
||||
this.lastTotal = prefix + money
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
initStatistics() {
|
||||
if(this.queryParam.organId) {
|
||||
this.initTotal('期初应收:', this.queryParam.beginTime, 'first')
|
||||
this.initTotal('期末应收:', this.queryParam.endTime, 'last')
|
||||
this.pleaseSelect = ''
|
||||
}
|
||||
},
|
||||
searchQuery() {
|
||||
this.loadData(1);
|
||||
this.initStatistics();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
181
jshERP-web/src/views/report/InDetail.vue
Normal file
181
jshERP-web/src/views/report/InDetail.vue
Normal file
@@ -0,0 +1,181 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="供应商">
|
||||
<a-select placeholder="选择供应商" v-model="queryParam.organId" :dropdownMatchSelectWidth="false">
|
||||
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
|
||||
{{ item.supplier }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="仓库">
|
||||
<a-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择仓库"
|
||||
v-model="queryParam.depotId">
|
||||
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
|
||||
{{ depot.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="5" :sm="24">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="名称、规格、型号" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
v-model="queryParam.createTimeRange"
|
||||
:default-value="defaultTimeStr"
|
||||
format="YYYY-MM-DD"
|
||||
:placeholder="['开始时间', '结束时间']"
|
||||
@change="onDateChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getNowFormatMonth } from '@/utils/util';
|
||||
import {getAction} from '@/api/manage'
|
||||
import {findBySelectSup} from '@/api/api'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
organId: '',
|
||||
materialParam:'',
|
||||
depotId: '',
|
||||
beginTime: getNowFormatMonth() + '-01',
|
||||
endTime: moment().format('YYYY-MM-DD'),
|
||||
type: "入库"
|
||||
},
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
currentDay: moment().format('YYYY-MM-DD'),
|
||||
defaultTimeStr: '',
|
||||
supList: [],
|
||||
depotList: [],
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '单据编号', dataIndex: 'number', width: 140},
|
||||
{title: '名称', dataIndex: 'mname', width: 120},
|
||||
{title: '规格', dataIndex: 'standard', width: 100},
|
||||
{title: '型号', dataIndex: 'model', width: 100},
|
||||
{title: '单价', dataIndex: 'unitPrice', width: 60},
|
||||
{title: '入库数量', dataIndex: 'operNumber', width: 80},
|
||||
{title: '金额', dataIndex: 'allPrice', width: 60},
|
||||
{title: '供应商', dataIndex: 'sname', width: 200},
|
||||
{title: '仓库', dataIndex: 'dname', width: 120},
|
||||
{title: '入库日期', dataIndex: 'operTime', width: 120}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotHead/findInDetail",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDepotData()
|
||||
this.initSupplier()
|
||||
this.defaultTimeStr = [moment(getNowFormatMonth() + '-01', this.dateFormat), moment(this.currentDay, this.dateFormat)]
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
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;
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.beginTime=dateString[0];
|
||||
this.queryParam.endTime=dateString[1];
|
||||
},
|
||||
initSupplier() {
|
||||
let that = this;
|
||||
findBySelectSup({}).then((res)=>{
|
||||
if(res) {
|
||||
that.supList = res;
|
||||
}
|
||||
});
|
||||
},
|
||||
getDepotData() {
|
||||
getAction('/depot/getAllList').then((res)=>{
|
||||
if(res.code === 200){
|
||||
let arr=res.data;
|
||||
for(let i=0;i<arr.length;i++){
|
||||
let obj={};
|
||||
obj.id=arr[i].id;
|
||||
obj.name=arr[i].name;
|
||||
this.depotList.push(obj);
|
||||
}
|
||||
}else{
|
||||
this.$message.info(res.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
177
jshERP-web/src/views/report/InMaterialCount.vue
Normal file
177
jshERP-web/src/views/report/InMaterialCount.vue
Normal file
@@ -0,0 +1,177 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="供应商">
|
||||
<a-select placeholder="选择供应商" v-model="queryParam.organId" :dropdownMatchSelectWidth="false">
|
||||
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
|
||||
{{ item.supplier }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="仓库">
|
||||
<a-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择仓库"
|
||||
v-model="queryParam.depotId">
|
||||
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
|
||||
{{ depot.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="5" :sm="24">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="名称、规格、型号" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
v-model="queryParam.createTimeRange"
|
||||
:default-value="defaultTimeStr"
|
||||
format="YYYY-MM-DD"
|
||||
:placeholder="['开始时间', '结束时间']"
|
||||
@change="onDateChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getNowFormatMonth } from '@/utils/util';
|
||||
import {getAction} from '@/api/manage'
|
||||
import {findBySelectSup} from '@/api/api'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
organId: '',
|
||||
materialParam:'',
|
||||
depotId: '',
|
||||
beginTime: getNowFormatMonth() + '-01',
|
||||
endTime: moment().format('YYYY-MM-DD'),
|
||||
type: "入库"
|
||||
},
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
currentDay: moment().format('YYYY-MM-DD'),
|
||||
defaultTimeStr: '',
|
||||
supList: [],
|
||||
depotList: [],
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '名称', dataIndex: 'mName', width: 150},
|
||||
{title: '规格', dataIndex: 'standard', width: 100},
|
||||
{title: '型号', dataIndex: 'model', width: 100},
|
||||
{title: '类型', dataIndex: 'categoryName', width: 120},
|
||||
{title: '入库数量', dataIndex: 'numSum', width: 120},
|
||||
{title: '入库金额', dataIndex: 'priceSum', width: 120}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotHead/findInOutMaterialCount",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDepotData()
|
||||
this.initSupplier()
|
||||
this.defaultTimeStr = [moment(getNowFormatMonth() + '-01', this.dateFormat), moment(this.currentDay, this.dateFormat)]
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
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;
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.beginTime=dateString[0];
|
||||
this.queryParam.endTime=dateString[1];
|
||||
},
|
||||
initSupplier() {
|
||||
let that = this;
|
||||
findBySelectSup({}).then((res)=>{
|
||||
if(res) {
|
||||
that.supList = res;
|
||||
}
|
||||
});
|
||||
},
|
||||
getDepotData() {
|
||||
getAction('/depot/getAllList').then((res)=>{
|
||||
if(res.code === 200){
|
||||
let arr=res.data;
|
||||
for(let i=0;i<arr.length;i++){
|
||||
let obj={};
|
||||
obj.id=arr[i].id;
|
||||
obj.name=arr[i].name;
|
||||
this.depotList.push(obj);
|
||||
}
|
||||
}else{
|
||||
this.$message.info(res.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
178
jshERP-web/src/views/report/InOutStockReport.vue
Normal file
178
jshERP-web/src/views/report/InOutStockReport.vue
Normal file
@@ -0,0 +1,178 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="仓库">
|
||||
<a-select
|
||||
:allowClear="true"
|
||||
style="width: 100%"
|
||||
placeholder="请选择仓库"
|
||||
v-model="queryParam.depotId">
|
||||
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
|
||||
{{ depot.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="月份">
|
||||
<a-month-picker placeholder="请选择月份" :default-value="moment(currentMonth, monthFormat)" :format="monthFormat" @change="onChange"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="请输入商品名称、规格、型号" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
<a-button style="margin-left: 8px" type="primary" icon="download" @click="handleExportXls('库存状况')">导出</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24" >
|
||||
<a-form-item label="本月合计金额">
|
||||
{{totalCountMoneyStr}}
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getAction } from '@/api/manage'
|
||||
import { getMpListShort } from "@/utils/util"
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
import Vue from 'vue'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
currentMonth: moment().format('YYYY-MM'),
|
||||
monthFormat: 'YYYY-MM',
|
||||
queryParam: {
|
||||
depotId:'',
|
||||
monthTime: moment().format('YYYY-MM'),
|
||||
materialParam:'',
|
||||
mpList: getMpListShort(Vue.ls.get('materialPropertyList')) //扩展属性
|
||||
},
|
||||
tabKey: "1",
|
||||
depotList: [],
|
||||
totalCountMoneyStr: '',
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '名称', dataIndex: 'materialName', width: 160},
|
||||
{title: '规格', dataIndex: 'materialStandard', width: 80},
|
||||
{title: '型号', dataIndex: 'materialModel', width: 80},
|
||||
{title: '扩展信息', dataIndex: 'materialOther', width: 120},
|
||||
{title: '单位', dataIndex: 'unitName', width: 80},
|
||||
{title: '单价', dataIndex: 'unitPrice', width: 60},
|
||||
{title: '上月结存数量', dataIndex: 'prevSum', width: 120},
|
||||
{title: '入库数量', dataIndex: 'inSum', width: 80},
|
||||
{title: '出库数量', dataIndex: 'outSum', width: 80},
|
||||
{title: '本月结存数量', dataIndex: 'thisSum', width: 120},
|
||||
{title: '结存金额', dataIndex: 'thisAllPrice', width: 80}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotItem/findByAll",
|
||||
totalCountMoney: "/depotItem/totalCountMoney",
|
||||
exportXlsUrl: "/depotItem/exportExcel",
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDepotData()
|
||||
this.getTotalCountMoney()
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
getQueryParams() {
|
||||
let param = Object.assign({}, this.queryParam, this.isorter);
|
||||
param.monthTime = this.queryParam.monthTime;
|
||||
param.field = this.getQueryField();
|
||||
param.currentPage = this.ipagination.current;
|
||||
param.pageSize = this.ipagination.pageSize;
|
||||
return param;
|
||||
},
|
||||
getDepotData() {
|
||||
getAction('/depot/getAllList').then((res)=>{
|
||||
if(res.code === 200){
|
||||
let arr=res.data;
|
||||
for(let i=0;i<arr.length;i++){
|
||||
let obj={};
|
||||
obj.id=arr[i].id;
|
||||
obj.name=arr[i].name;
|
||||
this.depotList.push(obj);
|
||||
}
|
||||
}else{
|
||||
this.$message.info(res.data);
|
||||
}
|
||||
})
|
||||
},
|
||||
getTotalCountMoney(){
|
||||
getAction(this.url.totalCountMoney, this.queryParam).then((res)=>{
|
||||
if(res && res.code === 200) {
|
||||
let count = res.data.totalCount.toString();
|
||||
if (count.lastIndexOf('.') > -1) {
|
||||
count = count.substring(0, count.lastIndexOf('.') + 3);
|
||||
}
|
||||
this.totalCountMoneyStr = count + "元";
|
||||
}
|
||||
})
|
||||
},
|
||||
searchQuery() {
|
||||
this.loadData(1);
|
||||
this.getTotalCountMoney();
|
||||
},
|
||||
onChange: function (value, dateString) {
|
||||
console.log(dateString);
|
||||
this.queryParam.monthTime=dateString;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
181
jshERP-web/src/views/report/OutDetail.vue
Normal file
181
jshERP-web/src/views/report/OutDetail.vue
Normal file
@@ -0,0 +1,181 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="客户">
|
||||
<a-select placeholder="选择客户" v-model="queryParam.organId" :dropdownMatchSelectWidth="false">
|
||||
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
|
||||
{{ item.supplier }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="仓库">
|
||||
<a-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择仓库"
|
||||
v-model="queryParam.depotId">
|
||||
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
|
||||
{{ depot.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="5" :sm="24">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="名称、规格、型号" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="10">
|
||||
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
v-model="queryParam.createTimeRange"
|
||||
:default-value="defaultTimeStr"
|
||||
format="YYYY-MM-DD"
|
||||
:placeholder="['开始时间', '结束时间']"
|
||||
@change="onDateChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getNowFormatMonth } from '@/utils/util';
|
||||
import {getAction} from '@/api/manage'
|
||||
import {findBySelectCus} from '@/api/api'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
organId: '',
|
||||
materialParam:'',
|
||||
depotId: '',
|
||||
beginTime: getNowFormatMonth() + '-01',
|
||||
endTime: moment().format('YYYY-MM-DD'),
|
||||
type: "出库"
|
||||
},
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
currentDay: moment().format('YYYY-MM-DD'),
|
||||
defaultTimeStr: '',
|
||||
supList: [],
|
||||
depotList: [],
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '单据编号', dataIndex: 'number', width: 140},
|
||||
{title: '名称', dataIndex: 'mname', width: 120},
|
||||
{title: '规格', dataIndex: 'standard', width: 100},
|
||||
{title: '型号', dataIndex: 'model', width: 100},
|
||||
{title: '单价', dataIndex: 'unitPrice', width: 60},
|
||||
{title: '出库数量', dataIndex: 'operNumber', width: 80},
|
||||
{title: '金额', dataIndex: 'allPrice', width: 60},
|
||||
{title: '客户', dataIndex: 'sname', width: 200},
|
||||
{title: '仓库', dataIndex: 'dname', width: 120},
|
||||
{title: '出库日期', dataIndex: 'operTime', width: 120}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotHead/findInDetail",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDepotData()
|
||||
this.initSupplier()
|
||||
this.defaultTimeStr = [moment(getNowFormatMonth() + '-01', this.dateFormat), moment(this.currentDay, this.dateFormat)]
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
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;
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.beginTime=dateString[0];
|
||||
this.queryParam.endTime=dateString[1];
|
||||
},
|
||||
initSupplier() {
|
||||
let that = this;
|
||||
findBySelectCus({}).then((res)=>{
|
||||
if(res) {
|
||||
that.supList = res;
|
||||
}
|
||||
});
|
||||
},
|
||||
getDepotData() {
|
||||
getAction('/depot/getAllList').then((res)=>{
|
||||
if(res.code === 200){
|
||||
let arr=res.data;
|
||||
for(let i=0;i<arr.length;i++){
|
||||
let obj={};
|
||||
obj.id=arr[i].id;
|
||||
obj.name=arr[i].name;
|
||||
this.depotList.push(obj);
|
||||
}
|
||||
}else{
|
||||
this.$message.info(res.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
177
jshERP-web/src/views/report/OutMaterialCount.vue
Normal file
177
jshERP-web/src/views/report/OutMaterialCount.vue
Normal file
@@ -0,0 +1,177 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="客户">
|
||||
<a-select placeholder="选择客户" v-model="queryParam.organId" :dropdownMatchSelectWidth="false">
|
||||
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
|
||||
{{ item.supplier }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="仓库">
|
||||
<a-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择仓库"
|
||||
v-model="queryParam.depotId">
|
||||
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
|
||||
{{ depot.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="5" :sm="24">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="名称、规格、型号" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="10">
|
||||
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
v-model="queryParam.createTimeRange"
|
||||
:default-value="defaultTimeStr"
|
||||
format="YYYY-MM-DD"
|
||||
:placeholder="['开始时间', '结束时间']"
|
||||
@change="onDateChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="4" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getNowFormatMonth } from '@/utils/util';
|
||||
import {getAction} from '@/api/manage'
|
||||
import {findBySelectCus} from '@/api/api'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
organId: '',
|
||||
materialParam:'',
|
||||
depotId: '',
|
||||
beginTime: getNowFormatMonth() + '-01',
|
||||
endTime: moment().format('YYYY-MM-DD'),
|
||||
type: "出库"
|
||||
},
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
currentDay: moment().format('YYYY-MM-DD'),
|
||||
defaultTimeStr: '',
|
||||
supList: [],
|
||||
depotList: [],
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '名称', dataIndex: 'mName', width: 150},
|
||||
{title: '规格', dataIndex: 'standard', width: 100},
|
||||
{title: '型号', dataIndex: 'model', width: 100},
|
||||
{title: '类型', dataIndex: 'categoryName', width: 120},
|
||||
{title: '出库数量', dataIndex: 'numSum', width: 120},
|
||||
{title: '出库金额', dataIndex: 'priceSum', width: 120}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotHead/findInOutMaterialCount",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDepotData()
|
||||
this.initSupplier()
|
||||
this.defaultTimeStr = [moment(getNowFormatMonth() + '-01', this.dateFormat), moment(this.currentDay, this.dateFormat)]
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
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;
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.beginTime=dateString[0];
|
||||
this.queryParam.endTime=dateString[1];
|
||||
},
|
||||
initSupplier() {
|
||||
let that = this;
|
||||
findBySelectCus({}).then((res)=>{
|
||||
if(res) {
|
||||
that.supList = res;
|
||||
}
|
||||
});
|
||||
},
|
||||
getDepotData() {
|
||||
getAction('/depot/getAllList').then((res)=>{
|
||||
if(res.code === 200){
|
||||
let arr=res.data;
|
||||
for(let i=0;i<arr.length;i++){
|
||||
let obj={};
|
||||
obj.id=arr[i].id;
|
||||
obj.name=arr[i].name;
|
||||
this.depotList.push(obj);
|
||||
}
|
||||
}else{
|
||||
this.$message.info(res.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
120
jshERP-web/src/views/report/SaleOutReport.vue
Normal file
120
jshERP-web/src/views/report/SaleOutReport.vue
Normal file
@@ -0,0 +1,120 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="月份">
|
||||
<a-month-picker placeholder="请选择月份" :default-value="moment(currentMonth, monthFormat)" :format="monthFormat" @change="onChange"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="请输入商品信息" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="3" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getMpListShort } from "@/utils/util"
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
import Vue from 'vue'
|
||||
export default {
|
||||
name: "SaleOutReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
currentMonth: moment().format('YYYY-MM'),
|
||||
monthFormat: 'YYYY-MM',
|
||||
queryParam: {
|
||||
monthTime: moment().format('YYYY-MM'),
|
||||
materialParam:'',
|
||||
mpList: getMpListShort(Vue.ls.get('materialPropertyList'))
|
||||
},
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:60,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '名称', dataIndex: 'materialName', width: 160},
|
||||
{title: '规格', dataIndex: 'materialStandard', width: 80},
|
||||
{title: '型号', dataIndex: 'materialModel', width: 80},
|
||||
{title: '扩展信息', dataIndex: 'materialOther', width: 150},
|
||||
{title: '单位', dataIndex: 'materialUnit', width: 80},
|
||||
{title: '销售数量', dataIndex: 'outSum', width: 80},
|
||||
{title: '销售金额', dataIndex: 'outSumPrice', width: 80},
|
||||
{title: '退货数量', dataIndex: 'inSum', width: 80},
|
||||
{title: '退货金额', dataIndex: 'inSumPrice', width: 80},
|
||||
{title: '实际销售金额', dataIndex: 'outInSumPrice', width: 100}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotItem/saleOut"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
create(){
|
||||
},
|
||||
getQueryParams() {
|
||||
let param = Object.assign({}, this.queryParam, this.isorter);
|
||||
param.monthTime = this.queryParam.monthTime;
|
||||
param.field = this.getQueryField();
|
||||
param.currentPage = this.ipagination.current;
|
||||
param.pageSize = this.ipagination.pageSize;
|
||||
return param;
|
||||
},
|
||||
onChange: function (value, dateString) {
|
||||
console.log(dateString);
|
||||
this.queryParam.monthTime=dateString;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
136
jshERP-web/src/views/report/StockWarningReport.vue
Normal file
136
jshERP-web/src/views/report/StockWarningReport.vue
Normal file
@@ -0,0 +1,136 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item label="仓库">
|
||||
<a-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择仓库"
|
||||
v-model="queryParam.depotId">
|
||||
<a-select-option v-for="(depot,index) in depotList" :value="depot.id">
|
||||
{{ depot.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="商品信息">
|
||||
<a-input placeholder="请输入商品名称、规格、型号" v-model="queryParam.materialParam"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
<a-button style="margin-left: 8px" type="primary" icon="download" @click="handleExportXls('库存预警')">导出</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import {getAction} from '@/api/manage'
|
||||
import { getMpListShort } from "@/utils/util"
|
||||
import Vue from 'vue'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
materialParam:'',
|
||||
depotId: '',
|
||||
mpList: getMpListShort(Vue.ls.get('materialPropertyList')) //扩展属性
|
||||
},
|
||||
depotList: [],
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '名称', dataIndex: 'mname', width: 160},
|
||||
{title: '规格', dataIndex: 'mstandard', width: 80},
|
||||
{title: '型号', dataIndex: 'mmodel', width: 80},
|
||||
{title: '扩展信息', dataIndex: 'materialOther', width: 150},
|
||||
{title: '单位', dataIndex: 'materialUnit', width: 80},
|
||||
{title: '安全存量', dataIndex: 'safetystock', width: 80},
|
||||
{title: '当前库存', dataIndex: 'currentNumber', width: 80},
|
||||
{title: '建议入库量', dataIndex: 'linjieNumber', width: 80}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotItem/findStockWarningCount",
|
||||
exportXlsUrl: "/depotItem/exportWarningExcel",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDepotData()
|
||||
},
|
||||
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;
|
||||
},
|
||||
getDepotData() {
|
||||
getAction('/depot/getAllList').then((res)=>{
|
||||
if(res.code === 200){
|
||||
let arr=res.data;
|
||||
for(let i=0;i<arr.length;i++){
|
||||
let obj={};
|
||||
obj.id=arr[i].id;
|
||||
obj.name=arr[i].name;
|
||||
this.depotList.push(obj);
|
||||
}
|
||||
}else{
|
||||
this.$message.info(res.data);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
186
jshERP-web/src/views/report/VendorAccount.vue
Normal file
186
jshERP-web/src/views/report/VendorAccount.vue
Normal file
@@ -0,0 +1,186 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="4" :sm="24">
|
||||
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="供应商">
|
||||
<a-select placeholder="选择供应商" v-model="queryParam.organId" :dropdownMatchSelectWidth="false">
|
||||
<a-select-option v-for="(item,index) in supList" :key="index" :value="item.id">
|
||||
{{ item.supplier }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="10">
|
||||
<a-form-item label="单据日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
v-model="queryParam.createTimeRange"
|
||||
:default-value="defaultTimeStr"
|
||||
format="YYYY-MM-DD"
|
||||
:placeholder="['开始时间', '结束时间']"
|
||||
@change="onDateChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="2" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
{{firstTotal}} {{lastTotal}} {{pleaseSelect}}
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-card>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import { getNowFormatMonth } from '@/utils/util';
|
||||
import {findBySelectSup, findSupplierById, findDepotHeadTotalPay, findAccountHeadTotalPay} from '@/api/api'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: "BuyInReport",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
// 查询条件
|
||||
queryParam: {
|
||||
supType: "供应商",
|
||||
organId: '',
|
||||
beginTime: getNowFormatMonth() + '-01',
|
||||
endTime: moment().format('YYYY-MM-DD'),
|
||||
},
|
||||
dateFormat: 'YYYY-MM-DD',
|
||||
currentDay: moment().format('YYYY-MM-DD'),
|
||||
defaultTimeStr: '',
|
||||
supList: [],
|
||||
firstTotal: '',
|
||||
lastTotal: '',
|
||||
pleaseSelect: '(请选择供应商)',
|
||||
tabKey: "1",
|
||||
// 表头
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
dataIndex: '',
|
||||
key:'rowIndex',
|
||||
width:40,
|
||||
align:"center",
|
||||
customRender:function (t,r,index) {
|
||||
return parseInt(index)+1;
|
||||
}
|
||||
},
|
||||
{title: '单据编号', dataIndex: 'number', width: 140},
|
||||
{title: '类型', dataIndex: 'type', width: 100},
|
||||
{title: '单位名称', dataIndex: 'supplierName', width: 200},
|
||||
{title: '单据金额', dataIndex: 'billMoney', width: 80},
|
||||
{title: '实际支付', dataIndex: 'changeAmount', width: 80},
|
||||
{title: '本期变化', dataIndex: 'allPrice', width: 80},
|
||||
{title: '单据日期', dataIndex: 'oTime', width: 160}
|
||||
],
|
||||
labelCol: {
|
||||
xs: { span: 1 },
|
||||
sm: { span: 2 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 10 },
|
||||
sm: { span: 16 },
|
||||
},
|
||||
url: {
|
||||
list: "/depotHead/findStatementAccount",
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initSupplier()
|
||||
this.defaultTimeStr = [moment(getNowFormatMonth() + '-01', this.dateFormat), moment(this.currentDay, this.dateFormat)]
|
||||
},
|
||||
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;
|
||||
},
|
||||
initSupplier() {
|
||||
let that = this;
|
||||
findBySelectSup({}).then((res)=>{
|
||||
if(res) {
|
||||
that.supList = res;
|
||||
}
|
||||
});
|
||||
},
|
||||
onDateChange: function (value, dateString) {
|
||||
console.log(dateString[0],dateString[1]);
|
||||
this.queryParam.beginTime=dateString[0];
|
||||
this.queryParam.endTime=dateString[1];
|
||||
},
|
||||
initTotal(prefix, time, type) {
|
||||
findSupplierById({supplierId: this.queryParam.organId}).then((res)=>{
|
||||
if (res && res.data && res.data[0]) {
|
||||
let beginNeedGet = res.data[0].BeginNeedGet;
|
||||
let beginNeedPay = res.data[0].BeginNeedPay;
|
||||
findDepotHeadTotalPay({supplierId: this.queryParam.organId, endTime: time, supType: "customer" }).then((res)=>{
|
||||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||||
let moneyA = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||||
findAccountHeadTotalPay({supplierId: this.queryParam.organId, endTime: time, supType: "customer" }).then((res)=>{
|
||||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||||
let moneyB = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||||
let money = moneyA + moneyB;
|
||||
let moneyBeginNeedGet = beginNeedGet - 0; //期初应收
|
||||
let moneyBeginNeedPay = beginNeedPay - 0; //期初应付
|
||||
money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2);
|
||||
if(type === 'first') {
|
||||
this.firstTotal = prefix + money + ","
|
||||
} else if(type === 'last') {
|
||||
this.lastTotal = prefix + money
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
initStatistics() {
|
||||
if(this.queryParam.organId) {
|
||||
this.initTotal('期初应付:', this.queryParam.beginTime, 'first')
|
||||
this.initTotal('期末应付:', this.queryParam.endTime, 'last')
|
||||
this.pleaseSelect = ''
|
||||
}
|
||||
},
|
||||
searchQuery() {
|
||||
this.loadData(1);
|
||||
this.initStatistics();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
124
jshERP-web/src/views/report/modules/AccountInOutList.vue
Normal file
124
jshERP-web/src/views/report/modules/AccountInOutList.vue
Normal file
@@ -0,0 +1,124 @@
|
||||
<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">
|
||||
<!-- table区域-begin -->
|
||||
<a-table
|
||||
bordered
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
@change="handleTableChange">
|
||||
</a-table>
|
||||
<!-- table区域-end -->
|
||||
</a-modal>
|
||||
</template>
|
||||
<script>
|
||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||
import JEllipsis from '@/components/jeecg/JEllipsis'
|
||||
import {getAction} from '@/api/manage'
|
||||
export default {
|
||||
name: "AccountInOutList",
|
||||
mixins:[JeecgListMixin],
|
||||
components: {
|
||||
JEllipsis
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
title:"操作",
|
||||
visible: false,
|
||||
disableMixinCreated: false,
|
||||
// 查询条件
|
||||
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},
|
||||
{ title: '类型', dataIndex: 'type', width: 100},
|
||||
{ title: '单位信息', dataIndex: 'supplierName', width: 150},
|
||||
{ title: '金额', dataIndex: 'changeAmount', width: 80},
|
||||
{ title: '余额', dataIndex: 'balance', 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] == this.queryParam.accountId) {
|
||||
res = amListArr[i];
|
||||
}
|
||||
}
|
||||
return res + "[多账户]";
|
||||
}
|
||||
else {
|
||||
return r.changeAmount;
|
||||
}
|
||||
}
|
||||
},
|
||||
{ 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()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
@import '~@assets/less/common.less'
|
||||
</style>
|
||||
Reference in New Issue
Block a user