Merge remote-tracking branch 'origin/master' into SCREEN

This commit is contained in:
fengchenchen
2022-11-24 14:14:06 +08:00
22 changed files with 127 additions and 36 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ export function formatMoney(money) {
point = num.substring(num.indexOf('.')) point = num.substring(num.indexOf('.'))
num = parseInt(num) num = parseInt(num)
}else { }else {
point = '.00' // point = '.00'
} }
// 循环添加逗号 // 循环添加逗号
+4 -4
View File
@@ -1,7 +1,7 @@
<!--企业合同金额前十--> <!--企业合同金额前十-->
<template> <template>
<div class="container"> <div class="container">
<div class="title">企业客户统计(合同额前二十)</div> <div class="title">企业客户统计(年度待确收金额前二十)</div>
<div class="echarts-box" id="allMoney"></div> <div class="echarts-box" id="allMoney"></div>
<!-- 表格区域beign --> <!-- 表格区域beign -->
@@ -115,7 +115,7 @@ export default {
this.initEcharts(res.result) this.initEcharts(res.result)
// 将接口数据 转化成表格数据形式 // 将接口数据 转化成表格数据形式
let tableData = [ let tableData = [
{indexName: '合同金额'}, {indexName: '年度待确收金额'},
{indexName: '确认收入金额'} {indexName: '确认收入金额'}
] ]
dataSource.map((item, index) => { dataSource.map((item, index) => {
@@ -255,7 +255,7 @@ export default {
}, },
series: [ series: [
{ {
name:'合同金额', name:'年度待确收金额',
data: this.echartsData.allMoney, data: this.echartsData.allMoney,
type: 'bar', type: 'bar',
barMaxWidth:20, barMaxWidth:20,
@@ -283,7 +283,7 @@ export default {
/** /**
* 计算百分比 * 计算百分比
* @param num1 确收金额 * @param num1 确收金额
* @param num2 合同金额 * @param num2 年度待确收金额
* */ * */
calcPercent(num1,num2){ calcPercent(num1,num2){
let pointNo = Number(num1) / Number(num2) * 100 let pointNo = Number(num1) / Number(num2) * 100
+4 -4
View File
@@ -34,14 +34,14 @@
</section> </section>
<!--应收合同额统计 --> <!--年度待确收金额统计 -->
<three-year-echarts class="all-money m-t-10"></three-year-echarts> <three-year-echarts class="all-money m-t-10"></three-year-echarts>
<!-- 应收合同额统计 --> <!-- 年度待确收金额统计 -->
<!-- 企业客户统计(合同额前十)--> <!-- 企业客户统计(年度待确收金额前二十)-->
<all-money-ten-echarts class="all-money m-t-10"></all-money-ten-echarts> <all-money-ten-echarts class="all-money m-t-10"></all-money-ten-echarts>
<!-- 企业客户统计(合同额前十)--> <!-- 企业客户统计(年度待确收金额前二十)-->
</template> </template>
<!-- 所领导 部门领导展示统计图 --> <!-- 所领导 部门领导展示统计图 -->
@@ -111,7 +111,7 @@ export default {
this.initEcharts(res.result) this.initEcharts(res.result)
// 将接口数据 转化成表格数据形式 // 将接口数据 转化成表格数据形式
let tableData = [ let tableData = [
{indexName: '合同金额'}, {indexName: '年度待确收金额'},
{indexName: '确认收入金额'}, {indexName: '确认收入金额'},
{indexName: '完成比例'} {indexName: '完成比例'}
] ]
@@ -274,7 +274,7 @@ export default {
}, },
series: [ series: [
{ {
name: '合同金额', name: '年度待确收金额',
data: this.echartsData.allMoney, data: this.echartsData.allMoney,
type: 'bar', type: 'bar',
barMaxWidth: 30, barMaxWidth: 30,
@@ -302,7 +302,7 @@ export default {
/** /**
* 计算百分比 * 计算百分比
* @param num1 确收金额 * @param num1 确收金额
* @param num2 合同金额 * @param num2 年度待确收金额
* */ * */
calcPercent(num1,num2){ calcPercent(num1,num2){
let pointNo = Number(num1) / Number(num2) * 100 let pointNo = Number(num1) / Number(num2) * 100
+8 -1
View File
@@ -165,7 +165,7 @@ export default {
this.initEcharts(res.result) this.initEcharts(res.result)
// 将接口数据 转化成表格数据形式 // 将接口数据 转化成表格数据形式
let tableData = [ let tableData = [
{indexName: typeEnum[this.activeIndex] !== 2 ? '合同金额' : '确收金额'}, {indexName: typeEnum[this.activeIndex] !== 2 ? '年度待确收金额' : '确收金额'},
{indexName: '百分比'} {indexName: '百分比'}
] ]
dataSource.map((item, index) => { dataSource.map((item, index) => {
@@ -403,4 +403,11 @@ export default {
font-weight: bold; font-weight: bold;
background: rgb(245, 245, 246); background: rgb(245, 245, 246);
} }
/*列表自适应超出隐藏*/
.table-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style> </style>
+3 -3
View File
@@ -137,7 +137,7 @@ export default {
let dataSource = res.result let dataSource = res.result
// 树形结构的数据 ,修改成table可以直接展示的数据,默认只有四行数据 // 树形结构的数据 ,修改成table可以直接展示的数据,默认只有四行数据
let tableData = [ let tableData = [
// {indexName: '合同金额'}, // {indexName: '年度待确收金额'},
{indexName: '确认收入金额'}, {indexName: '确认收入金额'},
{indexName: '开票金额'}, {indexName: '开票金额'},
{indexName: '到账金额'}, {indexName: '到账金额'},
@@ -147,7 +147,7 @@ export default {
let keyItem = MonthData.find(ele => Number(ele.value) === (index + 1)) let keyItem = MonthData.find(ele => Number(ele.value) === (index + 1))
if (keyItem) { if (keyItem) {
let key = keyItem.key let key = keyItem.key
// tableData[0][key] = item.allMoney // 合同金额 // tableData[0][key] = item.allMoney // 年度待确收金额
tableData[0][key] = item.confirmAmount // 确认收入金额 tableData[0][key] = item.confirmAmount // 确认收入金额
tableData[1][key] = item.billMoney // 开票金额 tableData[1][key] = item.billMoney // 开票金额
tableData[2][key] = item.comeAllMoney // 到账金额 tableData[2][key] = item.comeAllMoney // 到账金额
@@ -264,7 +264,7 @@ export default {
}, },
series: [ series: [
// { // {
// name: '合同金额', // name: '年度待确收金额',
// type: 'line', // type: 'line',
// showSymbol: false, // showSymbol: false,
// symbol: 'circle', // symbol: 'circle',
@@ -129,7 +129,7 @@ export default {
let dataSource = res.result let dataSource = res.result
// 树形结构的数据 ,修改成table可以直接展示的数据,默认只有四行数据 // 树形结构的数据 ,修改成table可以直接展示的数据,默认只有四行数据
let tableData = [ let tableData = [
// {indexName: '合同金额'}, // {indexName: '年度待确收金额'},
{indexName: '确认收入金额'}, {indexName: '确认收入金额'},
{indexName: '开票金额'}, {indexName: '开票金额'},
{indexName: '到账金额'}, {indexName: '到账金额'},
@@ -139,7 +139,7 @@ export default {
let keyItem = MonthDataTotal.find(ele => Number(ele.value) === (index + 1)) let keyItem = MonthDataTotal.find(ele => Number(ele.value) === (index + 1))
if (keyItem) { if (keyItem) {
let key = keyItem.key let key = keyItem.key
// tableData[0][key] = item.allMoney // 合同金额 // tableData[0][key] = item.allMoney // 年度待确收金额
tableData[0][key] = item.confirmAmount // 确认收入金额 tableData[0][key] = item.confirmAmount // 确认收入金额
tableData[1][key] = item.billMoney // 开票金额 tableData[1][key] = item.billMoney // 开票金额
tableData[2][key] = item.comeAllMoney // 到账金额 tableData[2][key] = item.comeAllMoney // 到账金额
@@ -250,7 +250,7 @@ export default {
}, },
series: [ series: [
// { // {
// name: '合同金额', // name: '年度待确收金额',
// type: 'line', // type: 'line',
// showSymbol: false, // showSymbol: false,
// symbol: 'circle', // symbol: 'circle',
+1 -1
View File
@@ -1,7 +1,7 @@
<!--应收合同额统计--> <!--应收合同额统计-->
<template> <template>
<div class="container"> <div class="container">
<div class="title">应收合同额统计</div> <div class="title">年度待确收金额统计</div>
<div class="echarts-box" id="threeYear"></div> <div class="echarts-box" id="threeYear"></div>
<!-- 表格区域beign --> <!-- 表格区域beign -->
@@ -197,6 +197,13 @@
dictCode="guest_type"/> dictCode="guest_type"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="是否打包">
<j-dict-select-tag v-model="queryParam.pack" placeholder="请选择是否打包" @input="selectIdentity"
dictCode="yn"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search" <a-button type="primary" @click="searchQuery" icon="search"
+9 -2
View File
@@ -45,7 +45,7 @@
bordered bordered
rowKey="id" rowKey="id"
:columns="columns" :columns="columns"
:scroll="{x: 1500}" :scroll="{x: 1600}"
:dataSource="dataSource" :dataSource="dataSource"
:pagination="ipagination" :pagination="ipagination"
:loading="loading" :loading="loading"
@@ -86,7 +86,7 @@
ref="footTable" ref="footTable"
:rowKey="record=>record.id" :rowKey="record=>record.id"
:columns="columnsFooter" :columns="columnsFooter"
:scroll="{x: 1500}" :scroll="{x: 1600}"
:dataSource="footerDataSource" :dataSource="footerDataSource"
:showHeader="false" :showHeader="false"
:pagination="false" :pagination="false"
@@ -139,6 +139,13 @@ const defaultTableColumns = [
dataIndex: 'packContactTemporaryName', dataIndex: 'packContactTemporaryName',
scopedSlots: { customRender: 'nameText' } scopedSlots: { customRender: 'nameText' }
}, },
{
title: '打包负责人',
align: 'center',
width: 140,
dataIndex: 'packPrincipalName',
scopedSlots: { customRender: 'nameText' }
},
{ {
title: '打包费用总计', title: '打包费用总计',
align: 'center', align: 'center',
@@ -66,6 +66,14 @@
</select-contacts> </select-contacts>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="12" :sm="24">
<a-form-item label="打包负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择打包负责人"
v-decorator="['packPrincipalId',validatorRules.packPrincipalId]"
:maxLength='50'>
</select-principal>
</a-form-item>
</a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col> <a-col>
@@ -104,10 +112,11 @@ import SelectContacts from '../../../components/company/SelectContacts'
import JYearDate from '../../../components/jero/JYearDate' import JYearDate from '../../../components/jero/JYearDate'
import { money } from '../../../utils/validate' import { money } from '../../../utils/validate'
import { addZero } from '../../../utils/util' import { addZero } from '../../../utils/util'
import SelectPrincipal from '@comp/company/SelectPrincipal.vue'
export default { export default {
name: 'PackCompanyModule', name: 'PackCompanyModule',
components: { CompanySelect, SelectContacts, JYearDate }, components: { CompanySelect, SelectContacts, JYearDate, SelectPrincipal },
data() { data() {
return { return {
title: '操作', title: '操作',
@@ -157,6 +166,10 @@ export default {
packContactId: { packContactId: {
rules: [{ required: true, message: '请选择打包联系人' }], rules: [{ required: true, message: '请选择打包联系人' }],
validateTrigger: 'change' validateTrigger: 'change'
},
packPrincipalId: {
rules: [{ required: true, message: '请选择打包负责人' }],
validateTrigger: 'change'
} }
}, },
initContact: null, // 编辑回显的企业联系人信息 initContact: null, // 编辑回显的企业联系人信息
@@ -192,7 +205,7 @@ export default {
this.model = Object.assign({}, record) this.model = Object.assign({}, record)
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'company', 'companyContactId', 'packYear', 'packChargeTotal', 'packContactId', 'packChargeRemark', 'remark')) this.form.setFieldsValue(pick(this.model, 'company', 'companyContactId', 'packYear', 'packChargeTotal', 'packContactId', 'packChargeRemark', 'remark', 'packPrincipalId'))
}) })
}, },
close() { close() {
@@ -263,7 +263,8 @@
v-decorator="['receivableAmount',validatorRules.receivableAmount]" v-decorator="['receivableAmount',validatorRules.receivableAmount]"
:maxLength='50' :maxLength='50'
@blur="addZero" @blur="addZero"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input> @change="changeReceivableAmount"
></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
@@ -283,8 +284,9 @@
<a-input placeholder="请输入本年应收款B" <a-input placeholder="请输入本年应收款B"
v-decorator="['receivableAmount',validatorRules.receivableAmount]" v-decorator="['receivableAmount',validatorRules.receivableAmount]"
:maxLength='50' :maxLength='50'
@change="changeReceivableAmount"
@blur="addZero" @blur="addZero"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input> ></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
@@ -298,6 +300,55 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<template v-if="chargeWayType === 3 && selectedChargeNotice">
<a-row>
<a-col :xl="12" :sm="24">
<a-form-item label="税率" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag @change="changeRate" placeholder="请选择税率" dict-code="rate" :trigger-change="true"
v-decorator="['taxRate',validatorRules.taxRate]"></j-dict-select-tag>
</a-form-item>
</a-col>
<a-col :xl="12" :sm="24">
<a-form-item label="税额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-row :gutter="10">
<a-col :span="20">
<a-input placeholder="请输入税额"
v-decorator="['tax',validatorRules.tax]"
:maxLength='50'
@blur="addZero"
read-only
disabled
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
</a-col>
<a-col :span="1">元</a-col>
</a-row>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :xl="12" :sm="24">
<a-form-item label="未税金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-row :gutter="10">
<a-col :span="20">
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
disabled
@blur="addZero"
read-only
@change="(e) => {e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()}"></a-input>
</a-col>
<a-col :span="1">元</a-col>
</a-row>
</a-form-item>
</a-col>
</a-row>
</template>
<a-row> <a-row>
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
<a-form-item label="需要发票" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="需要发票" :labelCol="labelCol" :wrapperCol="wrapperCol">
@@ -686,6 +737,11 @@ export default {
}) })
return return
} }
}else{
// 清空之前选中的收费通知号
this.selectedChargeNotice = null
// 清空未税金额 应收金额 税额
this.form.resetFields(['tax','noTaxAmount','receivableAmount'])
} }
this.chargeWayType = e.target.value this.chargeWayType = e.target.value
}, },
@@ -720,6 +776,7 @@ export default {
}) })
this.$nextTick(() => { this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'receivableAmount', 'chargeNoticeId')) this.form.setFieldsValue(pick(this.model, 'receivableAmount', 'chargeNoticeId'))
this.calcAmount()
}) })
}, },
/** /**
@@ -271,7 +271,7 @@ const defaultTableColumns = [
scopedSlots: {customRender: 'pack'} scopedSlots: {customRender: 'pack'}
}, },
{ {
title: '合同金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 150, width: 150,
dataIndex: 'allMoney', dataIndex: 'allMoney',
@@ -161,7 +161,7 @@ export default {
let dataSource = res.result.list let dataSource = res.result.list
// 讲树形结构的数据 ,修改成table可以直接展示的数据,默认只有三行数据 // 讲树形结构的数据 ,修改成table可以直接展示的数据,默认只有三行数据
let tableData = [ let tableData = [
{indexName: '合同金额', total: res.result.sumOfMoney}, {indexName: '年度待确收金额', total: res.result.sumOfMoney},
{indexName: '确认收入金额', total: res.result.sumOfConfirmAmount}, {indexName: '确认收入金额', total: res.result.sumOfConfirmAmount},
{indexName: '开票金额', total: res.result.sumOfBillMoney}, {indexName: '开票金额', total: res.result.sumOfBillMoney},
{indexName: '到账金额', total: res.result.sumOfReallyMoney}, {indexName: '到账金额', total: res.result.sumOfReallyMoney},
@@ -128,7 +128,7 @@ const defaultTableColumns = [
scopedSlots: {customRender: 'text'} scopedSlots: {customRender: 'text'}
}, },
{ {
title: '合同总金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
dataIndex: 'allMoney', dataIndex: 'allMoney',
@@ -190,7 +190,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'status-pack' } scopedSlots: { customRender: 'status-pack' }
}, },
{ {
title: '合同金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
sorter: true, sorter: true,
@@ -171,7 +171,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'projectName' }
}, },
{ {
title: '合同金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 140, width: 140,
dataIndex: 'allMoney', dataIndex: 'allMoney',
@@ -219,7 +219,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'status-pack' } scopedSlots: { customRender: 'status-pack' }
}, },
{ {
title: '合同金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
dataIndex: 'allMoney', dataIndex: 'allMoney',
@@ -193,7 +193,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'pack' } scopedSlots: { customRender: 'pack' }
}, },
{ {
title: '合同金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
sorter: true, sorter: true,
@@ -172,7 +172,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'text' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '合同总金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
sorter: true, sorter: true,
@@ -209,7 +209,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'text' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '合同金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
sorter: true, sorter: true,
@@ -198,7 +198,7 @@ const defaultTableColumns = [
scopedSlots: { customRender: 'text' } scopedSlots: { customRender: 'text' }
}, },
{ {
title: '合同总金额', title: '年度待确收金额',
align: 'center', align: 'center',
width: 160, width: 160,
sorter: true, sorter: true,