Merge branch 'master' into 2023年7月变更
# Conflicts: # src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
<span><j-ellipsis :value="basicInfo.principalName" :length="20"></j-ellipsis></span>
|
||||
</a-col>
|
||||
<a-col :span="12" class="detail-item">
|
||||
<label>应收金额:</label>
|
||||
<label>待确收金额:</label>
|
||||
<span><j-ellipsis :value="`${basicInfo.receivableAmount ? basicInfo.receivableAmount : '0.00'}元`"
|
||||
:length="20"></j-ellipsis></span>
|
||||
</a-col>
|
||||
|
||||
@@ -76,10 +76,10 @@ export default {
|
||||
status() {
|
||||
if (this.statuObj.amountReceivable === '0.00' || this.statuObj.receivableAmount === '0.00') {
|
||||
if (this.statusType) {
|
||||
// 应收金额为0 未到账 未邮寄 未开票的状态
|
||||
// 待确收金额为0 未到账 未邮寄 未开票的状态
|
||||
return zero
|
||||
} else {
|
||||
// 应收金额为0 打包 与需要开票的状态 打包与需要开票 只有√和×的状态
|
||||
// 待确收金额为0 打包 与需要开票的状态 打包与需要开票 只有√和×的状态
|
||||
if (this.statusNo === 0) {
|
||||
return error
|
||||
} else if (this.statusNo === 1 || this.statusNo === 2) {
|
||||
@@ -89,7 +89,7 @@ export default {
|
||||
}
|
||||
|
||||
} else {
|
||||
// 应收金额不为0 都正常判断
|
||||
// 待确收金额不为0 都正常判断
|
||||
if (this.statusNo === 0) {
|
||||
// 开票或邮寄时,不需要发票
|
||||
if ((this.statusKey === 'bill' || this.statusKey === 'mail') && this.statuObj.needInvoice === 0) {
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
export const CalcAmountMixin = {
|
||||
data() {
|
||||
return {
|
||||
ysjeKey:'receivableAmount',// 应收金额的表单key值
|
||||
ysjeKey:'receivableAmount',// 待确收金额的表单key值
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
/**
|
||||
* 改变应收金额 计算税额 未税金额
|
||||
* 改变待确收金额 计算税额 未税金额
|
||||
* */
|
||||
changeReceivableAmount(e){
|
||||
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
|
||||
@@ -20,7 +20,7 @@ export const CalcAmountMixin = {
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 改变税率计算税额 应收金额
|
||||
* 改变税率计算税额 待确收金额
|
||||
* */
|
||||
changeRate(){
|
||||
this.$nextTick(() => {
|
||||
@@ -28,16 +28,16 @@ export const CalcAmountMixin = {
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 根据应收金额、税率计算税额 、未税金额
|
||||
* 根据待确收金额、税率计算税额 、未税金额
|
||||
* */
|
||||
calcAmount(){
|
||||
// 获取应收金额
|
||||
// 获取待确收金额
|
||||
let ysje = Number(this.form.getFieldValue(this.ysjeKey))
|
||||
// 获取税率
|
||||
let rate = this.form.getFieldValue('taxRate') * 1
|
||||
// 计算未税金额 未税金额 = 应收金额 * (税率 + 1)
|
||||
// 计算未税金额 未税金额 = 待确收金额 * (税率 + 1)
|
||||
let wsje = (ysje / (rate + 1)).toFixed(2)
|
||||
// 计算税额 税额 = 应收金额 - 未税金额 保留两位小数
|
||||
// 计算税额 税额 = 待确收金额 - 未税金额 保留两位小数
|
||||
let se = (ysje - Number(wsje)).toFixed(2)
|
||||
// 表单赋值
|
||||
this.form.setFieldsValue({
|
||||
|
||||
+2
-2
@@ -329,7 +329,7 @@ export default {
|
||||
contractAmountNum: null, // 合同总金额
|
||||
inputNoTaxAmount: null, // 未税金额
|
||||
amountReceivedNum: null, // 已收金额
|
||||
accountsReceivableNum: null, // 应收金额
|
||||
accountsReceivableNum: null, // 待确收金额
|
||||
isPackage: false,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
@@ -727,7 +727,7 @@ export default {
|
||||
this.form.setFieldsValue({ contractAmount: contractNum })
|
||||
},
|
||||
/**
|
||||
* 应收金额输入
|
||||
* 待确收金额输入
|
||||
* @param value
|
||||
*/
|
||||
accountsReceivableChange(e) {
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入应收金额" v-decorator="['amountReceivable',validatorRules.amountReceivable]"
|
||||
<a-form-item label="待确收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入待确收金额" v-decorator="['amountReceivable',validatorRules.amountReceivable]"
|
||||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}" @blur="addZero"> </a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -265,16 +265,16 @@ export default {
|
||||
this.close()
|
||||
},
|
||||
/*
|
||||
* 校验应收金额
|
||||
* 校验待确收金额
|
||||
* */
|
||||
validateMoney(rule,value,callback){
|
||||
if(value === '' || value === undefined || value === null){
|
||||
callback('请输入应收金额')
|
||||
callback('请输入待确收金额')
|
||||
}
|
||||
if(value && money(value)){
|
||||
callback()
|
||||
}else {
|
||||
callback('应收金额格式错误')
|
||||
callback('待确收金额格式错误')
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -77,7 +77,7 @@ export default {
|
||||
width: 280,
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'receivableAmount',
|
||||
width: 250,
|
||||
|
||||
@@ -268,7 +268,7 @@ export default {
|
||||
accountInfoList: [
|
||||
{
|
||||
fieldName: 'accountsReceivableAmount',
|
||||
title: '应收金额'
|
||||
title: '待确收金额'
|
||||
}, {
|
||||
fieldName: 'amountReceived',
|
||||
title: '已收金额'
|
||||
|
||||
@@ -166,8 +166,8 @@
|
||||
<div>
|
||||
<a-row>
|
||||
<a-col :xxl="6" :xl="8" :sm="12">
|
||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入应收金额"
|
||||
<a-form-item label="待确收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入待确收金额"
|
||||
v-decorator="['accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
|
||||
:maxLength='50'
|
||||
@blur="addZero"
|
||||
@@ -444,7 +444,7 @@ export default {
|
||||
installmentList: [],
|
||||
isSaved: false, // 是否保存上方数据
|
||||
isPackage: false, // 是否打包,控制打包年份显隐
|
||||
accountsReceivableNum: null, // 输入的应收金额
|
||||
accountsReceivableNum: null, // 输入的待确收金额
|
||||
amountReceivedNum: null, // 输入的未收金额
|
||||
contractAmountNum: null, // 输入的签订合同总金额
|
||||
rateNum: null, // 输入的税率
|
||||
@@ -542,7 +542,7 @@ export default {
|
||||
this.isPackage = Number(record.pack) === 1
|
||||
// 处理分期信息回显
|
||||
this.$refs.installmentForm.initInstallmentList(record.listInstallment)
|
||||
// 获取应收金额和已收金额
|
||||
// 获取待确收金额和已收金额
|
||||
this.accountsReceivableNum = record.accountsReceivableAmount
|
||||
this.amountReceivedNum = record.amountReceived
|
||||
this.model = Object.assign({}, record)
|
||||
@@ -726,7 +726,7 @@ export default {
|
||||
this.form.setFieldsValue({ contractAmount: contractNum })
|
||||
},
|
||||
/**
|
||||
* 应收金额输入
|
||||
* 待确收金额输入
|
||||
* @param value
|
||||
*/
|
||||
accountsReceivableChange(e) {
|
||||
@@ -753,10 +753,10 @@ export default {
|
||||
// 未收金额 === 0,已付全款状态
|
||||
if (Number(this.model.outstandingAmount) <= 0) {
|
||||
this.model.accountStatus = '3'
|
||||
// 未收金额 > 0 且 未收金额 < 应收金额,部分付款状态
|
||||
// 未收金额 > 0 且 未收金额 < 待确收金额,部分付款状态
|
||||
} else if (Number(this.model.outstandingAmount) > 0 && Number(this.model.outstandingAmount) < Number(this.accountsReceivableNum)) {
|
||||
this.model.accountStatus = '2'
|
||||
// 未收金额 === 应收金额,未付款状态
|
||||
// 未收金额 === 待确收金额,未付款状态
|
||||
} else if (Number(this.model.outstandingAmount) === Number(this.accountsReceivableNum)) {
|
||||
this.model.accountStatus = '1'
|
||||
}
|
||||
@@ -838,7 +838,7 @@ export default {
|
||||
callback('请输入签订合同总金额')
|
||||
break
|
||||
case 'accountsReceivableAmount':
|
||||
callback('请输入应收金额')
|
||||
callback('请输入待确收金额')
|
||||
break
|
||||
case 'noTaxAmount':
|
||||
callback('请输入未税金额')
|
||||
|
||||
@@ -170,7 +170,7 @@ export default {
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
width: 200,
|
||||
|
||||
@@ -205,7 +205,7 @@ export default {
|
||||
dataIndex: 'chargeCompanyTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'receivableAmount'
|
||||
|
||||
@@ -110,7 +110,7 @@ export default {
|
||||
this.initEcharts(res.result)
|
||||
// 将接口数据 转化成表格数据形式
|
||||
let tableData = [
|
||||
{indexName: '应收金额'},
|
||||
{indexName: '待确收金额'},
|
||||
]
|
||||
dataSource.map((item, index) => {
|
||||
let dataIndex = 'key' + index
|
||||
@@ -265,7 +265,7 @@ export default {
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '应收金额',
|
||||
name: '待确收金额',
|
||||
data: this.echartsData.allMoney,
|
||||
type: 'bar',
|
||||
barMaxWidth: 60,
|
||||
|
||||
@@ -60,14 +60,17 @@ export default {
|
||||
*/
|
||||
initChart(data) {
|
||||
let xData = data[0].xAxis
|
||||
let xDataName = data[0]? data[0].departNameCn : []
|
||||
let tooltipTitle = new Date().getFullYear() + '年'
|
||||
let option = {
|
||||
color: ['#069F99', '#18E0AB'],
|
||||
tooltip: {
|
||||
formatter: params => {
|
||||
let index = params[0].dataIndex
|
||||
const showLabelName = xDataName[index]
|
||||
// 获取xAxis data中的数据
|
||||
let dataStr = `<div style="color:#333;margin-left: 8px;font-size: 14px;">${tooltipTitle}</div>`
|
||||
dataStr += `<div style="color:#333;margin-left: 8px;font-size: 14px;margin-bottom: 10px;">${params[0].name}</div>`
|
||||
dataStr += `<div style="color:#333;margin-left: 8px;font-size: 14px;margin-bottom: 10px;">${showLabelName}</div>`
|
||||
params.forEach(item => {
|
||||
let color = ''
|
||||
if(typeof item.color === 'string') {
|
||||
@@ -103,45 +106,36 @@ export default {
|
||||
},
|
||||
xAxis: {
|
||||
axisLabel: {
|
||||
rotate: -10,
|
||||
align: 'center',
|
||||
verticalAlign : 'top',
|
||||
margin: 12,
|
||||
formatter: function(params) {
|
||||
if (params.length > 8) {
|
||||
return `${params.slice(0, 8)}...`
|
||||
let newParamsName = '' // 最终拼接成的字符串
|
||||
let paramsNameNumber = params.length // 实际标签的个数
|
||||
let provideNumber = 6 // 每行能显示的字的个数
|
||||
let rowNumber = Math.ceil(paramsNameNumber / provideNumber) // 换行的话,需要显示几行,向上取整
|
||||
/**
|
||||
* 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
|
||||
*/
|
||||
// 条件等同于rowNumber>1
|
||||
if (paramsNameNumber > provideNumber) {
|
||||
/** 循环每一行,p表示行 */
|
||||
for (let p = 0; p < rowNumber; p++) {
|
||||
let tempStr = ''// 表示每一次截取的字符串
|
||||
let start = p * provideNumber // 开始截取的位置
|
||||
let end = start + provideNumber // 结束截取的位置
|
||||
// 此处特殊处理最后一行的索引值
|
||||
if (p === rowNumber - 1) {
|
||||
// 最后一次不换行
|
||||
tempStr = params.substring(start, paramsNameNumber)
|
||||
} else {
|
||||
// 每一次拼接字符串并换行
|
||||
tempStr = params.substring(start, end) + '\n'
|
||||
}
|
||||
newParamsName += tempStr // 最终拼成的字符串
|
||||
}
|
||||
} else {
|
||||
return params
|
||||
// 将旧标签的值赋给新标签
|
||||
newParamsName = params
|
||||
}
|
||||
// let newParamsName = '' // 最终拼接成的字符串
|
||||
// let paramsNameNumber = params.length // 实际标签的个数
|
||||
// let provideNumber = 6 // 每行能显示的字的个数
|
||||
// let rowNumber = Math.ceil(paramsNameNumber / provideNumber) // 换行的话,需要显示几行,向上取整
|
||||
// /**
|
||||
// * 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
|
||||
// */
|
||||
// // 条件等同于rowNumber>1
|
||||
// if (paramsNameNumber > provideNumber) {
|
||||
// /** 循环每一行,p表示行 */
|
||||
// for (let p = 0; p < rowNumber; p++) {
|
||||
// let tempStr = ''// 表示每一次截取的字符串
|
||||
// let start = p * provideNumber // 开始截取的位置
|
||||
// let end = start + provideNumber // 结束截取的位置
|
||||
// // 此处特殊处理最后一行的索引值
|
||||
// if (p === rowNumber - 1) {
|
||||
// // 最后一次不换行
|
||||
// tempStr = params.substring(start, paramsNameNumber)
|
||||
// } else {
|
||||
// // 每一次拼接字符串并换行
|
||||
// tempStr = params.substring(start, end) + '\n'
|
||||
// }
|
||||
// newParamsName += tempStr // 最终拼成的字符串
|
||||
// }
|
||||
// } else {
|
||||
// // 将旧标签的值赋给新标签
|
||||
// newParamsName = params
|
||||
// }
|
||||
// return newParamsName
|
||||
return newParamsName
|
||||
}
|
||||
},
|
||||
data: xData,
|
||||
|
||||
@@ -72,19 +72,6 @@ export default {
|
||||
top : '20'
|
||||
},
|
||||
xAxis: {
|
||||
axisLabel: {
|
||||
rotate: -10,
|
||||
align: 'center',
|
||||
verticalAlign : 'top',
|
||||
margin: 12,
|
||||
formatter: (params) => {
|
||||
if (params.length > 8) {
|
||||
return `${params.slice(0, 8)}...`
|
||||
} else {
|
||||
return params
|
||||
}
|
||||
}
|
||||
},
|
||||
data: xData
|
||||
},
|
||||
series: [
|
||||
|
||||
@@ -223,6 +223,7 @@ export default {
|
||||
*/
|
||||
initChart(data) {
|
||||
let xData = data[0]? data[0].xAxis : []
|
||||
let xDataName = data[0]? data[0].departNameCn : []
|
||||
let yData = []
|
||||
data.map(tt => {
|
||||
yData.push(tt.data || [])
|
||||
@@ -232,9 +233,11 @@ export default {
|
||||
color: ['#97E3E0', '#069F99', '#18E0AB'],
|
||||
tooltip: {
|
||||
formatter: params => {
|
||||
let index = params[0].dataIndex
|
||||
const showLabelName = xDataName[index]
|
||||
// 获取xAxis data中的数据
|
||||
let dataStr = `<div style="color:#333;margin-left: 8px;font-size: 14px;">${tooltipTitle}</div>
|
||||
<div style="color:#333;margin-left: 8px;font-size: 14px;margin-bottom: 10px;">${params[0].name}</div>`
|
||||
<div style="color:#333;margin-left: 8px;font-size: 14px;margin-bottom: 10px;">${showLabelName}</div>`
|
||||
params.forEach(item => {
|
||||
let color = ''
|
||||
if(typeof item.color === 'string') {
|
||||
@@ -269,19 +272,6 @@ export default {
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
axisLabel: {
|
||||
rotate: -10,
|
||||
align: 'center',
|
||||
verticalAlign : 'top',
|
||||
margin: 12,
|
||||
formatter: (params) => {
|
||||
if (params.length > 8) {
|
||||
return `${params.slice(0, 8)}...`
|
||||
} else {
|
||||
return params
|
||||
}
|
||||
}
|
||||
},
|
||||
data: xData
|
||||
},
|
||||
series: [
|
||||
|
||||
@@ -31,6 +31,11 @@ export default {
|
||||
GetExpertQuantityData().then(res => {
|
||||
if(res.success) {
|
||||
let result = res.result || { }
|
||||
// TODO 客户要求先写死
|
||||
result.count = [14, 20, 15, 11, 10, 12]
|
||||
result.departName = ['GRBP', 'GRVA', 'GRSP', 'GRSG', 'GRE', 'GRPE']
|
||||
result.departNameCn = ['噪声与轮胎工作组', '自动驾驶与网联车辆工作组', '被动安全工作组', '一般安全工作组', '灯光与光信号工作组', '污染与能源工作组']
|
||||
result.total = result.count.reduce((pre, val) => pre = pre + val)
|
||||
this.totalAll = result.total
|
||||
this.$nextTick(() => {
|
||||
this.initChart(result)
|
||||
@@ -44,7 +49,8 @@ export default {
|
||||
*/
|
||||
initChart(data) {
|
||||
const yData = data.count
|
||||
const xAxisData = data.departNameCn
|
||||
const xAxisData = data.departName
|
||||
const xAxisDataName = data.departNameCn
|
||||
let option = {
|
||||
legend: {
|
||||
show: false
|
||||
@@ -57,6 +63,9 @@ export default {
|
||||
formatter: params => {
|
||||
// 获取xAxis data中的数据
|
||||
let dataStr = ''
|
||||
let index = params[0].dataIndex
|
||||
const showLabelName = xAxisDataName[index]
|
||||
|
||||
params.forEach(item => {
|
||||
let color = ''
|
||||
if(typeof item.color === 'string') {
|
||||
@@ -67,7 +76,7 @@ export default {
|
||||
dataStr += `<div>
|
||||
<div style="margin: 0 8px;">
|
||||
<span style="display:inline-block;margin-right:5px;width:15px;height:10px;background-color:${color};border-radius: 3px"></span>
|
||||
<span style="color:#666;white-space: pre-wrap;word-break: break-all">${item.name}</span>
|
||||
<span style="color:#666;white-space: pre-wrap;word-break: break-all">${showLabelName}</span>
|
||||
<span style="color:#333;">${item.value}</span>
|
||||
</div>
|
||||
</div>`
|
||||
@@ -77,19 +86,6 @@ export default {
|
||||
extraCssText:'max-width:400px;'
|
||||
},
|
||||
xAxis: {
|
||||
axisLabel: {
|
||||
rotate: -10,
|
||||
align: 'center',
|
||||
verticalAlign : 'top',
|
||||
margin: 12,
|
||||
formatter: (params) => {
|
||||
if (params.length > 8) {
|
||||
return `${params.slice(0, 8)}...`
|
||||
} else {
|
||||
return params
|
||||
}
|
||||
}
|
||||
},
|
||||
data: xAxisData
|
||||
},
|
||||
series: [
|
||||
|
||||
@@ -247,6 +247,7 @@ export default {
|
||||
*/
|
||||
initChart(data) {
|
||||
let xData = data[0]? data[0].xAxis : []
|
||||
let xDataName = data[0]? data[0].departNameCn : []
|
||||
let yData = []
|
||||
data.map(tt => {
|
||||
yData.push(tt.data || [])
|
||||
@@ -256,9 +257,12 @@ export default {
|
||||
color: [ '#97E3E0', '#069F99','#18E0AB'],
|
||||
tooltip: {
|
||||
formatter: params => {
|
||||
let index = params[0].dataIndex
|
||||
const showLabelName = xDataName[index]
|
||||
|
||||
// 获取xAxis data中的数据
|
||||
let dataStr = `<div style="color:#333;margin-left: 8px;font-size: 14px;">${tooltipTitle}</div>`
|
||||
dataStr += `<div style="color:#333;margin-left: 8px;font-size: 14px;margin-bottom: 10px;">${params[0].name}</div>`
|
||||
dataStr += `<div style="color:#333;margin-left: 8px;font-size: 14px;margin-bottom: 10px;">${showLabelName}</div>`
|
||||
params.forEach(item => {
|
||||
let color = ''
|
||||
if(typeof item.color === 'string') {
|
||||
@@ -294,16 +298,39 @@ export default {
|
||||
},
|
||||
xAxis: {
|
||||
axisLabel: {
|
||||
rotate: -10,
|
||||
align: 'center',
|
||||
verticalAlign : 'top',
|
||||
margin: 12,
|
||||
formatter: (params) => {
|
||||
if (params.length > 8) {
|
||||
return `${params.slice(0, 8)}...`
|
||||
show: true,
|
||||
color: '#8E8E95',
|
||||
interval: 0,
|
||||
formatter: function(params) {
|
||||
let newParamsName = '' // 最终拼接成的字符串
|
||||
let paramsNameNumber = params.length // 实际标签的个数
|
||||
let provideNumber = 10 // 每行能显示的字的个数
|
||||
let rowNumber = Math.ceil(paramsNameNumber / provideNumber) // 换行的话,需要显示几行,向上取整
|
||||
/**
|
||||
* 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
|
||||
*/
|
||||
// 条件等同于rowNumber>1
|
||||
if (paramsNameNumber > provideNumber) {
|
||||
/** 循环每一行,p表示行 */
|
||||
for (let p = 0; p < rowNumber; p++) {
|
||||
let tempStr = ''// 表示每一次截取的字符串
|
||||
let start = p * provideNumber // 开始截取的位置
|
||||
let end = start + provideNumber // 结束截取的位置
|
||||
// 此处特殊处理最后一行的索引值
|
||||
if (p === rowNumber - 1) {
|
||||
// 最后一次不换行
|
||||
tempStr = params.substring(start, paramsNameNumber)
|
||||
} else {
|
||||
// 每一次拼接字符串并换行
|
||||
tempStr = params.substring(start, end) + '\n'
|
||||
}
|
||||
newParamsName += tempStr // 最终拼成的字符串
|
||||
}
|
||||
} else {
|
||||
return params
|
||||
// 将旧标签的值赋给新标签
|
||||
newParamsName = params
|
||||
}
|
||||
return newParamsName
|
||||
}
|
||||
},
|
||||
data: xData
|
||||
|
||||
@@ -45,6 +45,7 @@ export default {
|
||||
initData(arr) {
|
||||
this.totalAll = arr[0].totalAll
|
||||
this.xAxisData = arr[0].xaxis
|
||||
this.xAxisDataName = arr[0].departNameCnList
|
||||
this.yData = []
|
||||
this.legendData = []
|
||||
arr.map(tt => {
|
||||
@@ -66,13 +67,16 @@ export default {
|
||||
},
|
||||
tooltip: {
|
||||
formatter: params => {
|
||||
console.log("---params---------", params)
|
||||
// 获取xAxis data中的数据
|
||||
let dataStr = ''
|
||||
let total = 0
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
total += parseInt(params[i].data)
|
||||
}
|
||||
dataStr += ` <div style="color:#333;margin-left: 8px;font-size: 14px">${params[0].name} 总数: ${total}</div>`
|
||||
let index = params[0].dataIndex
|
||||
const showLabelName = this.xAxisDataName[index]
|
||||
dataStr += ` <div style="color:#333;margin-left: 8px;font-size: 14px">${showLabelName} 总数: ${total}</div>`
|
||||
|
||||
// params.forEach(item => {
|
||||
// let color = ''
|
||||
@@ -93,19 +97,6 @@ export default {
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
axisLabel: {
|
||||
rotate: -10,
|
||||
align: 'center',
|
||||
verticalAlign : 'top',
|
||||
margin: 12,
|
||||
formatter: function(params) {
|
||||
if (params.length > 8) {
|
||||
return `${params.slice(0, 8)}...`
|
||||
} else {
|
||||
return params
|
||||
}
|
||||
}
|
||||
},
|
||||
data: this.xAxisData
|
||||
},
|
||||
series: [
|
||||
|
||||
@@ -326,7 +326,7 @@ export default {
|
||||
dataIndex: 'contactsTemporaryName',
|
||||
scopedSlots: {customRender: 'contact'}
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'receivableAmount',
|
||||
@@ -504,9 +504,9 @@ export default {
|
||||
}
|
||||
// 来款
|
||||
if (operateType === 'incomePayment') {
|
||||
// 是否存在应收金额为0的项目
|
||||
// 是否存在待确收金额为0的项目
|
||||
if (arr.some(item => Number(item.receivableAmount) === 0)) {
|
||||
reject('存在应收金额为0的项目!')
|
||||
reject('存在待确收金额为0的项目!')
|
||||
}
|
||||
}
|
||||
resolve(arr)
|
||||
|
||||
@@ -139,7 +139,7 @@ export default {
|
||||
dataIndex: 'contactsTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'receivableAmount'
|
||||
|
||||
@@ -398,7 +398,7 @@ export default {
|
||||
scopedSlots: { customRender: 'person' }
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
width: 100
|
||||
@@ -794,7 +794,7 @@ export default {
|
||||
this.$message.warn('请选择一条记录')
|
||||
return
|
||||
}
|
||||
// 应收金额为0 不需要发票 打包 都不可以开发票
|
||||
// 待确收金额为0 不需要发票 打包 都不可以开发票
|
||||
console.log(this.selectionRows)
|
||||
// 只能选择相同的单位进行合并开票
|
||||
if (this.selectionRows.length > 0) {
|
||||
|
||||
@@ -53,14 +53,14 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 只有编辑的时候显示 应收金额 税率 税额 等信息 -->
|
||||
<!-- 只有编辑的时候显示 待确收金额 税率 税额 等信息 -->
|
||||
<template v-if="!!$route.query.id && identifyType === 2">
|
||||
|
||||
<!-- 到账后 应收金额 税率不能编辑 -->
|
||||
<!-- 到账后 待确收金额 税率不能编辑 -->
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入应收金额"
|
||||
<a-form-item label="待确收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入待确收金额"
|
||||
v-decorator="['amountReceivable', validatorRules.amountReceivable]"
|
||||
:maxLength='50'
|
||||
@blur="addZero"
|
||||
@@ -308,7 +308,7 @@ export default {
|
||||
},
|
||||
// 校验金额格式
|
||||
checkMoney(rules, value, callback) {
|
||||
this.checkMoneyTemplate(rules, value, callback, '应收金额')
|
||||
this.checkMoneyTemplate(rules, value, callback, '待确收金额')
|
||||
},
|
||||
checkNoTaxMoney(rules, value, callback) {
|
||||
this.checkMoneyTemplate(rules, value, callback, '未税金额')
|
||||
|
||||
@@ -194,7 +194,7 @@ export default {
|
||||
dataIndex: 'paymentStatus_dictText'
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
|
||||
@@ -178,7 +178,7 @@ export default {
|
||||
dataIndex: 'companyContactName',
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
},
|
||||
|
||||
@@ -193,7 +193,7 @@ export default {
|
||||
scopedSlots: { customRender: 'text' },
|
||||
},
|
||||
{
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'amountReceivable',
|
||||
scopedSlots: { customRender: 'text' },
|
||||
|
||||
@@ -72,12 +72,12 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item
|
||||
label="应收金额"
|
||||
label="待确收金额"
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
>
|
||||
<a-input
|
||||
placeholder="请输入应收金额"
|
||||
placeholder="请输入待确收金额"
|
||||
:maxLength="50"
|
||||
@change="changeReceivableAmount"
|
||||
v-decorator="[
|
||||
@@ -379,7 +379,7 @@ export default {
|
||||
},
|
||||
validateMoney(rule, value, callback) {
|
||||
if (value === undefined || value === '' || value === null) {
|
||||
callback('请输入应收金额')
|
||||
callback('请输入待确收金额')
|
||||
}
|
||||
if (value && money(value)) {
|
||||
callback()
|
||||
|
||||
@@ -307,7 +307,7 @@ export default {
|
||||
dataIndex: 'principalName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
dataIndex: 'receivableAmount'
|
||||
@@ -589,9 +589,9 @@ export default {
|
||||
}
|
||||
// 来款
|
||||
if (operateType === 'incomePayment') {
|
||||
// 是否存在应收金额为0的项目
|
||||
// 是否存在待确收金额为0的项目
|
||||
if (arr.some(item => Number(item.receivableAmount) === 0)) {
|
||||
reject('存在应收金额为0的项目!')
|
||||
reject('存在待确收金额为0的项目!')
|
||||
}
|
||||
// if (arr.some(item => item.inAccount === 1)) {
|
||||
// reject('不可选择已付全款的项目!')
|
||||
|
||||
@@ -142,7 +142,7 @@ export default {
|
||||
dataIndex: 'chargeProject',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'receivableAmount'
|
||||
|
||||
@@ -191,7 +191,7 @@ export default {
|
||||
dataIndex: 'chargeProject',
|
||||
scopedSlots: {customRender: 'text'}
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'receivableAmount'
|
||||
|
||||
@@ -165,7 +165,7 @@ export default {
|
||||
dataIndex: 'contactsTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
dataIndex: 'receivableAmount'
|
||||
|
||||
@@ -176,7 +176,7 @@ export default {
|
||||
dataIndex: 'chargeCompanyTemporaryName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
width: 150,
|
||||
dataIndex: 'receivableAmount',
|
||||
|
||||
@@ -299,7 +299,7 @@ export default {
|
||||
dataIndex: 'contactsTemporaryNameOne',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '应收金额',
|
||||
title: '待确收金额',
|
||||
align: 'center',
|
||||
dataIndex: 'receivableAmount',
|
||||
width: 180,
|
||||
|
||||
@@ -83,10 +83,10 @@
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-form-item label="待确收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row :gutter="10">
|
||||
<a-col :span="20">
|
||||
<a-input placeholder="请输入应收金额"
|
||||
<a-input placeholder="请输入待确收金额"
|
||||
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
||||
:maxLength='50'
|
||||
@blur="addZero"
|
||||
@@ -526,7 +526,7 @@ export default {
|
||||
this.close()
|
||||
},
|
||||
/**
|
||||
* 改变应收金额 计算税额 未税金额
|
||||
* 改变待确收金额 计算税额 未税金额
|
||||
* */
|
||||
changeReceivableAmount(e){
|
||||
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
|
||||
@@ -535,7 +535,7 @@ export default {
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 改变税率计算税额 应收金额
|
||||
* 改变税率计算税额 待确收金额
|
||||
* */
|
||||
changeRate(){
|
||||
this.$nextTick(() => {
|
||||
@@ -543,16 +543,16 @@ export default {
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 根据应收金额、税率计算税额 、未税金额
|
||||
* 根据待确收金额、税率计算税额 、未税金额
|
||||
* */
|
||||
calcAmount(){
|
||||
// 获取应收金额
|
||||
// 获取待确收金额
|
||||
let ysje = Number(this.form.getFieldValue('receivableAmount'))
|
||||
// 获取税率
|
||||
let rate = this.form.getFieldValue('taxRate') * 1
|
||||
// 计算未税金额 未税金额 = 应收金额 * (税率 + 1)
|
||||
// 计算未税金额 未税金额 = 待确收金额 * (税率 + 1)
|
||||
let wsje = (ysje / (rate + 1)).toFixed(2)
|
||||
// 计算税额 税额 = 应收金额 - 未税金额 保留两位小数
|
||||
// 计算税额 税额 = 待确收金额 - 未税金额 保留两位小数
|
||||
let se = (ysje - Number(wsje)).toFixed(2)
|
||||
// 表单赋值
|
||||
this.form.setFieldsValue({
|
||||
@@ -630,7 +630,7 @@ export default {
|
||||
}
|
||||
callback('请输入合法的金额数字,最多2位小数,10位整数')
|
||||
}
|
||||
callback('请输入应收金额')
|
||||
callback('请输入待确收金额')
|
||||
},
|
||||
/**
|
||||
* 校验税额金额格式
|
||||
|
||||
@@ -184,10 +184,10 @@
|
||||
<template v-if="chargeWayType === 1 || chargeWayType === 2">
|
||||
<a-row>
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="应收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-form-item label="待确收金额" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-row :gutter="10">
|
||||
<a-col :span="20">
|
||||
<a-input placeholder="请输入应收金额"
|
||||
<a-input placeholder="请输入待确收金额"
|
||||
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
||||
:maxLength='50'
|
||||
@blur="addZero"
|
||||
@@ -749,7 +749,7 @@ export default {
|
||||
} else {
|
||||
// 清空之前选中的收费通知号
|
||||
this.selectedChargeNotice = null
|
||||
// 清空未税金额 应收金额 税额
|
||||
// 清空未税金额 待确收金额 税额
|
||||
this.form.resetFields(['tax', 'noTaxAmount', 'receivableAmount'])
|
||||
}
|
||||
this.chargeWayType = e.target.value
|
||||
@@ -840,7 +840,7 @@ export default {
|
||||
}
|
||||
callback('请输入合法的金额数字,最多2位小数,10位整数')
|
||||
}
|
||||
callback('请输入应收金额')
|
||||
callback('请输入待确收金额')
|
||||
},
|
||||
/**
|
||||
* 在新增成功后重新获取联系人列表
|
||||
|
||||
@@ -84,7 +84,7 @@ export default {
|
||||
this.initEcharts(res.result)
|
||||
// 将接口数据 转化成表格数据形式
|
||||
let tableData = [
|
||||
{indexName: '应收金额'},
|
||||
{indexName: '待确收金额'},
|
||||
]
|
||||
dataSource.map((item, index) => {
|
||||
let dataIndex = 'key' + index
|
||||
@@ -140,7 +140,7 @@ export default {
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '应收金额',
|
||||
name: '待确收金额',
|
||||
data: this.echartsData.allMoney,
|
||||
type: 'bar',
|
||||
barMaxWidth: 60,
|
||||
|
||||
Reference in New Issue
Block a user