[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 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)
|
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>
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="bill"></status-slot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- 邮寄-->
|
<!-- 确收 -->
|
||||||
<template slot="status-mail" slot-scope="text,record">
|
<template slot="status-mail" slot-scope="text,record">
|
||||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -153,7 +153,6 @@ export default {
|
|||||||
* 标协会议维护
|
* 标协会议维护
|
||||||
* */
|
* */
|
||||||
handleStandardMeeting(record){
|
handleStandardMeeting(record){
|
||||||
console.log(123)
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:'/projectManagement/CommitteeMeetingStard',
|
path:'/projectManagement/CommitteeMeetingStard',
|
||||||
query:{
|
query:{
|
||||||
|
|||||||
@@ -151,8 +151,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- 确收 -->
|
<!-- 确收 -->
|
||||||
<template slot="status-confirm-get" slot-scope="text,record">
|
<template slot="status-mail" slot-scope="text,record">
|
||||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="confirm"></status-slot>
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||||
@@ -298,8 +298,8 @@ export default {
|
|||||||
title: '确收',
|
title: '确收',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 100,
|
||||||
dataIndex: 'confirmGet',
|
dataIndex: 'affirmIncome',
|
||||||
scopedSlots: { customRender: 'status-confirm-get' }
|
scopedSlots: { customRender: 'status-mail' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
|
|||||||
@@ -62,18 +62,25 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.getLineEchartsData()
|
this.getLineEchartsData()
|
||||||
// this.getPieEchartsData()
|
this.getPieEchartsData()
|
||||||
this.initLineEcharts()
|
|
||||||
this.initPieEcharts()
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
formatMoney,
|
formatMoney,
|
||||||
// 获取曲线图数据
|
// 获取曲线图数据
|
||||||
getLineEchartsData () {
|
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) {
|
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()
|
this.initLineEcharts()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -82,7 +89,9 @@ export default {
|
|||||||
getPieEchartsData () {
|
getPieEchartsData () {
|
||||||
memberStatisticsPieData().then(res => {
|
memberStatisticsPieData().then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.pieData = res.result
|
this.pieData = res.result.map(item => {
|
||||||
|
return { ...item, name: item.memberNature_dictText }
|
||||||
|
})
|
||||||
this.initPieEcharts()
|
this.initPieEcharts()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -241,12 +250,10 @@ export default {
|
|||||||
chartClickFunc(params) {
|
chartClickFunc(params) {
|
||||||
console.log(params)
|
console.log(params)
|
||||||
// 获取当前点击的饼状图的名字
|
// 获取当前点击的饼状图的名字
|
||||||
// let queryData = {
|
let queryData = {
|
||||||
// name: params.data.name, // 名字
|
memberNature: params.data.memberNature // 会员性质
|
||||||
// type: params.dataIndex + 1, // 序号
|
}
|
||||||
// departCode: this.queryParam.departCode, // 部门code
|
this.$refs.stardsMemberStatisticsModal.show(queryData)
|
||||||
// }
|
|
||||||
this.$refs.stardsMemberStatisticsModal.show()
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,52 +54,55 @@ export default {
|
|||||||
{
|
{
|
||||||
title: '会议名称',
|
title: '会议名称',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'meetingName',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '标准编号',
|
title: '标准编号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'standardNo',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '标准名称',
|
title: '标准名称',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'standardName',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '标准类别',
|
title: '标准类别',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'standardType_dictText',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '制修订',
|
title: '制修订',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'preparationAndRevision_dictText',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '宣贯人',
|
title: '宣贯人',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'promoter_dictText',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '宣贯时间',
|
title: '宣贯时间',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'promotionTime',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '宣贯地点',
|
title: '宣贯地点',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'memberNo',
|
dataIndex: 'promotionLocation',
|
||||||
scopedSlots: { customRender: 'text' },
|
scopedSlots: { customRender: 'text' },
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
url: {
|
||||||
|
list: '/statistics/standard/standardProjectPage'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,50 +49,32 @@
|
|||||||
<div class="table-text">{{ formatMoney(text) }}</div>
|
<div class="table-text">{{ formatMoney(text) }}</div>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="status" slot-scope="text, record">
|
||||||
<!-- 是否打包-->
|
<status-slot
|
||||||
<template slot="pack" slot-scope="text, record">
|
:statu-obj="record"
|
||||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true"></status-slot>
|
:status-no="text"
|
||||||
|
:status-type="true"
|
||||||
|
></status-slot>
|
||||||
</template>
|
</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"
|
<template slot="status-needInvoice" slot-scope="text,record">
|
||||||
ref="footTable"
|
<status-slot :statu-obj="record" :status-no="text"></status-slot>
|
||||||
:rowKey="record => record.id"
|
</template>
|
||||||
:columns="columnsFooter"
|
|
||||||
:scroll="{x: 1500}"
|
|
||||||
:dataSource="footerDataSource"
|
|
||||||
:showHeader="false"
|
|
||||||
:pagination="false"
|
|
||||||
class="j-table-force-nowrap footer-table">
|
|
||||||
|
|
||||||
<!-- 项目名称-->
|
<!-- 开票-->
|
||||||
<template slot="projectName" slot-scope="text">
|
<template slot="status-bill" slot-scope="text,record">
|
||||||
<!-- primary-color @click="openDetailModal(record)"-->
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="bill"></status-slot>
|
||||||
<a-tooltip>
|
</template>
|
||||||
<template slot="title">{{ text }}</template>
|
|
||||||
<div class="table-text " >{{ text }}</div>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template slot="text" slot-scope="text">
|
<!-- 邮寄-->
|
||||||
<a-tooltip>
|
<template slot="status-mail" slot-scope="text,record">
|
||||||
<template slot="title">{{ text }}</template>
|
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||||
<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>
|
</template>
|
||||||
|
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -101,15 +83,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getAction} from '@/api/manage'
|
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||||
|
import { formatMoney } from '@/utils/formatMoney'
|
||||||
const defaultSorter = {
|
import StatusSlot from '@/components/tools/StatusSlot'
|
||||||
column: 'createTime',
|
|
||||||
order: 'desc'
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StardsMemberStatisticsModal',
|
name: 'StardsMemberStatisticsModal',
|
||||||
|
mixins: [JeroListMixin],
|
||||||
|
components: {
|
||||||
|
StatusSlot
|
||||||
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
unitName: '', // 单位名称
|
unitName: '', // 单位名称
|
||||||
@@ -117,98 +100,104 @@ export default {
|
|||||||
width: 1000,
|
width: 1000,
|
||||||
visible: false,
|
visible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
columns: [],
|
columns: [
|
||||||
dataSource: [],
|
{
|
||||||
ipagination: {
|
title: '序号',
|
||||||
current: 1,
|
dataIndex: '',
|
||||||
pageSize: 10,
|
key: 'rowIndex',
|
||||||
pageSizeOptions: ['10', '20', '30', '50', '100'],
|
width: 60,
|
||||||
showTotal: (total, range) => {
|
align: 'center',
|
||||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
customRender: function (t, r, index) {
|
||||||
|
return parseInt(index) + 1
|
||||||
|
},
|
||||||
},
|
},
|
||||||
showQuickJumper: true,
|
{
|
||||||
showSizeChanger: true,
|
title: '会员编号',
|
||||||
total: 0
|
align: 'center',
|
||||||
},
|
dataIndex: 'memberNo',
|
||||||
loading: false,
|
scopedSlots: { customRender: 'text' },
|
||||||
/* 排序参数 */
|
},
|
||||||
isorter: {
|
{
|
||||||
column: 'createTime',
|
title: '会员单位',
|
||||||
order: 'desc',
|
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: {
|
url: {
|
||||||
list: ''
|
list: '/statistics/member/pieChartPage'
|
||||||
}
|
},
|
||||||
|
disableMixinCreated: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
formatMoney,
|
||||||
show (param) {
|
show (param) {
|
||||||
this.loadData(param)
|
this.filters = Object.assign({}, param)
|
||||||
|
this.loadData(1)
|
||||||
this.visible = true
|
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 () {
|
handleCancel () {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user