[update] 联调标协会员-会员统计,标准统计
This commit is contained in:
@@ -157,9 +157,9 @@ const memberCopy = (params) => postAction('/member/tbMemberProjectSubitem/copy',
|
||||
// 标协会员单位信息-批量复制
|
||||
const memberBatchCopy = (params) => postAction('/member/tbMemberProjectSubitem/copyBatch', params)
|
||||
// 标协会员-会员统计-曲线图数据获取
|
||||
const memberStatisticsLineData = (params) => getAction('', params)
|
||||
const memberStatisticsLineData = (params) => getAction('/statistics/member/lineChart', params)
|
||||
// 标协会员-会员统计-饼状图数据获取
|
||||
const memberStatisticsPieData = (params) => getAction('', params)
|
||||
const memberStatisticsPieData = (params) => getAction('/statistics/member/pieChart', params)
|
||||
|
||||
// 工作组成员维护-调账
|
||||
const workingGroupEditAccount = (param) => getAction('/project/payWorkingGroupSubitem/editAccount', param)
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="bill"></status-slot>
|
||||
</template>
|
||||
|
||||
<!-- 邮寄-->
|
||||
<!-- 确收 -->
|
||||
<template slot="status-mail" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||
</template>
|
||||
|
||||
@@ -153,7 +153,6 @@ export default {
|
||||
* 标协会议维护
|
||||
* */
|
||||
handleStandardMeeting(record){
|
||||
console.log(123)
|
||||
this.$router.push({
|
||||
path:'/projectManagement/CommitteeMeetingStard',
|
||||
query:{
|
||||
|
||||
@@ -151,8 +151,8 @@
|
||||
</template>
|
||||
|
||||
<!-- 确收 -->
|
||||
<template slot="status-confirm-get" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="confirm"></status-slot>
|
||||
<template slot="status-mail" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||
</template>
|
||||
|
||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||
@@ -298,8 +298,8 @@ export default {
|
||||
title: '确收',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'confirmGet',
|
||||
scopedSlots: { customRender: 'status-confirm-get' }
|
||||
dataIndex: 'affirmIncome',
|
||||
scopedSlots: { customRender: 'status-mail' }
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
||||
@@ -62,18 +62,25 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.getLineEchartsData()
|
||||
// this.getPieEchartsData()
|
||||
this.initLineEcharts()
|
||||
this.initPieEcharts()
|
||||
this.getLineEchartsData()
|
||||
this.getPieEchartsData()
|
||||
},
|
||||
methods: {
|
||||
formatMoney,
|
||||
// 获取曲线图数据
|
||||
getLineEchartsData () {
|
||||
memberStatisticsLineData().then(res => {
|
||||
const param = {}
|
||||
const currentYear = Number(new Date().getFullYear())
|
||||
param.startYear = currentYear - 2
|
||||
param.endYear = currentYear
|
||||
memberStatisticsLineData(param).then(res => {
|
||||
if (res.success) {
|
||||
this.lineData = res.result
|
||||
this.lineData = []
|
||||
for (const index in res.result.year) {
|
||||
this.lineData.push(
|
||||
{ year: res.result.year[index], data: res.result.value[index] }
|
||||
)
|
||||
}
|
||||
this.initLineEcharts()
|
||||
}
|
||||
})
|
||||
@@ -82,7 +89,9 @@ export default {
|
||||
getPieEchartsData () {
|
||||
memberStatisticsPieData().then(res => {
|
||||
if (res.success) {
|
||||
this.pieData = res.result
|
||||
this.pieData = res.result.map(item => {
|
||||
return { ...item, name: item.memberNature_dictText }
|
||||
})
|
||||
this.initPieEcharts()
|
||||
}
|
||||
})
|
||||
@@ -241,12 +250,10 @@ export default {
|
||||
chartClickFunc(params) {
|
||||
console.log(params)
|
||||
// 获取当前点击的饼状图的名字
|
||||
// let queryData = {
|
||||
// name: params.data.name, // 名字
|
||||
// type: params.dataIndex + 1, // 序号
|
||||
// departCode: this.queryParam.departCode, // 部门code
|
||||
// }
|
||||
this.$refs.stardsMemberStatisticsModal.show()
|
||||
let queryData = {
|
||||
memberNature: params.data.memberNature // 会员性质
|
||||
}
|
||||
this.$refs.stardsMemberStatisticsModal.show(queryData)
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,52 +54,55 @@ export default {
|
||||
{
|
||||
title: '会议名称',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'meetingName',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '标准编号',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'standardNo',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '标准名称',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'standardName',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '标准类别',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'standardType_dictText',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '制修订',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'preparationAndRevision_dictText',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '宣贯人',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'promoter_dictText',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '宣贯时间',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'promotionTime',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '宣贯地点',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
dataIndex: 'promotionLocation',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
}
|
||||
]
|
||||
],
|
||||
url: {
|
||||
list: '/statistics/standard/standardProjectPage'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,50 +49,32 @@
|
||||
<div class="table-text">{{ formatMoney(text) }}</div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
<!-- 是否打包-->
|
||||
<template slot="pack" slot-scope="text, record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true"></status-slot>
|
||||
<template slot="status" slot-scope="text, record">
|
||||
<status-slot
|
||||
:statu-obj="record"
|
||||
:status-no="text"
|
||||
:status-type="true"
|
||||
></status-slot>
|
||||
</template>
|
||||
|
||||
<template slot="footer" v-if="dataSource.length > 0">
|
||||
<!--打包-->
|
||||
<template slot="status-pack" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" status-key="pack"></status-slot>
|
||||
</template>
|
||||
|
||||
<a-table
|
||||
size="middle"
|
||||
ref="footTable"
|
||||
:rowKey="record => record.id"
|
||||
:columns="columnsFooter"
|
||||
:scroll="{x: 1500}"
|
||||
:dataSource="footerDataSource"
|
||||
:showHeader="false"
|
||||
:pagination="false"
|
||||
class="j-table-force-nowrap footer-table">
|
||||
<!--需要发票-->
|
||||
<template slot="status-needInvoice" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text"></status-slot>
|
||||
</template>
|
||||
|
||||
<!-- 项目名称-->
|
||||
<template slot="projectName" slot-scope="text">
|
||||
<!-- primary-color @click="openDetailModal(record)"-->
|
||||
<a-tooltip>
|
||||
<template slot="title">{{ text }}</template>
|
||||
<div class="table-text " >{{ text }}</div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
<!-- 开票-->
|
||||
<template slot="status-bill" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="bill"></status-slot>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<a-tooltip>
|
||||
<template slot="title">{{ text }}</template>
|
||||
<div class="table-text">{{ text }}</div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
<template slot="allMoney" slot-scope="text">
|
||||
|
||||
<a-tooltip>
|
||||
<template slot="title">{{ formatMoney(text) }}</template>
|
||||
<div class="table-text">{{ formatMoney(text) }}</div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
</a-table>
|
||||
<!-- 邮寄-->
|
||||
<template slot="status-mail" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||
</template>
|
||||
|
||||
</a-table>
|
||||
@@ -101,15 +83,16 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getAction} from '@/api/manage'
|
||||
|
||||
const defaultSorter = {
|
||||
column: 'createTime',
|
||||
order: 'desc'
|
||||
}
|
||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||
import { formatMoney } from '@/utils/formatMoney'
|
||||
import StatusSlot from '@/components/tools/StatusSlot'
|
||||
|
||||
export default {
|
||||
name: 'StardsMemberStatisticsModal',
|
||||
mixins: [JeroListMixin],
|
||||
components: {
|
||||
StatusSlot
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
unitName: '', // 单位名称
|
||||
@@ -117,98 +100,104 @@ export default {
|
||||
width: 1000,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
columns: [],
|
||||
dataSource: [],
|
||||
ipagination: {
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
pageSizeOptions: ['10', '20', '30', '50', '100'],
|
||||
showTotal: (total, range) => {
|
||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
},
|
||||
},
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
total: 0
|
||||
},
|
||||
loading: false,
|
||||
/* 排序参数 */
|
||||
isorter: {
|
||||
column: 'createTime',
|
||||
order: 'desc',
|
||||
},
|
||||
{
|
||||
title: '会员编号',
|
||||
align: 'center',
|
||||
dataIndex: 'memberNo',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '会员单位',
|
||||
align: 'center',
|
||||
dataIndex: 'companyName',
|
||||
scopedSlots: { customRender: 'detail' },
|
||||
},
|
||||
{
|
||||
title: '会员联系人',
|
||||
align: 'center',
|
||||
dataIndex: 'liaisonManId_dictText',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
scopedSlots: { customRender: 'allMoney' }
|
||||
},
|
||||
{
|
||||
title: '实收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'paidAmount',
|
||||
scopedSlots: { customRender: 'allMoney' }
|
||||
},
|
||||
{
|
||||
title: '预估到账日期',
|
||||
align: 'center',
|
||||
dataIndex: 'estimatedArrivalDate',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '打包',
|
||||
align: 'center',
|
||||
dataIndex: 'pack',
|
||||
scopedSlots: { customRender: 'status-pack' },
|
||||
},
|
||||
{
|
||||
title: '需要发票',
|
||||
align: 'center',
|
||||
dataIndex: 'invoiceRequirements',
|
||||
scopedSlots: { customRender: 'status-needInvoice' },
|
||||
},
|
||||
{
|
||||
title: '到账',
|
||||
align: 'center',
|
||||
dataIndex: 'inAccount',
|
||||
scopedSlots: { customRender: 'status' },
|
||||
},
|
||||
{
|
||||
title: '开票',
|
||||
align: 'center',
|
||||
dataIndex: 'makeInvoice',
|
||||
scopedSlots: { customRender: 'status-bill' },
|
||||
},
|
||||
{
|
||||
title: '确收',
|
||||
align: 'center',
|
||||
dataIndex: 'affirmIncome',
|
||||
scopedSlots: { customRender: 'status-mail' },
|
||||
},
|
||||
{
|
||||
title: '提票',
|
||||
align: 'center',
|
||||
dataIndex: 'ticketCollection',
|
||||
scopedSlots: { customRender: 'status-mail' },
|
||||
},
|
||||
],
|
||||
dataSource: [],
|
||||
url: {
|
||||
list: ''
|
||||
}
|
||||
list: '/statistics/member/pieChartPage'
|
||||
},
|
||||
disableMixinCreated: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
formatMoney,
|
||||
show (param) {
|
||||
this.loadData(param)
|
||||
this.filters = Object.assign({}, param)
|
||||
this.loadData(1)
|
||||
this.visible = true
|
||||
},
|
||||
loadData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.current = 1
|
||||
}
|
||||
let params = this.getQueryParams()//查询条件
|
||||
this.loading = true
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result.pageList.records
|
||||
// let obj = {
|
||||
// id: '1',
|
||||
// title: '总计',
|
||||
// allMoney: res.result.sumOfMoney || '0.00' + '',
|
||||
// comeAllMoney: res.result.sumOfReallyMoney || '0.00' + '',
|
||||
// billMoney: res.result.sumOfBillMoney || '0.00' + '',
|
||||
// confirmAmount: res.result.sumOfConfirmAmount || '0.00' + ''
|
||||
// }
|
||||
// this.footerDataSource = [obj]
|
||||
if (res.result.pageList.total) {
|
||||
this.ipagination.total = res.result.pageList.total
|
||||
} else {
|
||||
this.ipagination.total = 0
|
||||
}
|
||||
}
|
||||
if (this.dataSource.length > 0) {
|
||||
this.$nextTick(() => {
|
||||
this.setScroll()
|
||||
})
|
||||
}
|
||||
if (res.code === 510) {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
this.loading = false
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
handleTableChange(pagination, filters, sorter) {
|
||||
//分页、排序、筛选变化时触发
|
||||
//筛选
|
||||
if (Object.keys(sorter).length > 0) {
|
||||
this.isorter.column = sorter.field
|
||||
if (sorter.order) {
|
||||
// 如果当前有列选中筛选条件
|
||||
this.isorter.order = 'ascend' == sorter.order ? 'asc' : 'desc'
|
||||
} else {
|
||||
// 没有筛选值则 isorter 重置为初始值
|
||||
this.isorter.column = defaultSorter.column
|
||||
this.isorter.order = defaultSorter.order
|
||||
}
|
||||
|
||||
} else {
|
||||
this.isorter.column = defaultSorter.column
|
||||
this.isorter.order = defaultSorter.order
|
||||
}
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
},
|
||||
handleCancel () {
|
||||
this.visible = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user