Merge branch 'branch20211008' of http://10.10.10.43:9090/income_payments/income_payments_client
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12" class="detail-item">
|
<a-col :span="12" class="detail-item">
|
||||||
<label>应收金额:</label>
|
<label>应收金额:</label>
|
||||||
<span><j-ellipsis :value="basicInfo.receivableAmount" :length="20"></j-ellipsis></span>
|
<span><j-ellipsis :value="`${basicInfo.receivableAmount}元`" :length="20"></j-ellipsis></span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
@@ -25,12 +25,6 @@
|
|||||||
<span><j-ellipsis :value="basicInfo.remarks" :length="20"></j-ellipsis></span>
|
<span><j-ellipsis :value="basicInfo.remarks" :length="20"></j-ellipsis></span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24" v-if="basicInfo.files">
|
|
||||||
<a-col>
|
|
||||||
<label>资料:</label>
|
|
||||||
<span><preview-file :file-id="basicInfo.files"></preview-file></span>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
|
||||||
<!-- 来款方式为合同的显示-->
|
<!-- 来款方式为合同的显示-->
|
||||||
<a-row :gutter="24" v-if="!!basicInfo.contractNum">
|
<a-row :gutter="24" v-if="!!basicInfo.contractNum">
|
||||||
<a-col :span="12" class="detail-item">
|
<a-col :span="12" class="detail-item">
|
||||||
@@ -52,6 +46,12 @@
|
|||||||
<span><preview-file :file-id="basicInfo.chargeNoticeId"></preview-file></span>
|
<span><preview-file :file-id="basicInfo.chargeNoticeId"></preview-file></span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
<a-row :gutter="24" v-if="basicInfo.files">
|
||||||
|
<a-col class="detail-item">
|
||||||
|
<label>资料:</label>
|
||||||
|
<span><preview-file :file-id="basicInfo.files"></preview-file></span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
</section>
|
</section>
|
||||||
<!-- 基本信息end-->
|
<!-- 基本信息end-->
|
||||||
<!-- 企业信息begin-->
|
<!-- 企业信息begin-->
|
||||||
@@ -122,9 +122,14 @@
|
|||||||
<!--到账信息begin-->
|
<!--到账信息begin-->
|
||||||
<section class="payment-info">
|
<section class="payment-info">
|
||||||
<h3 class="title">到账信息</h3>
|
<h3 class="title">到账信息</h3>
|
||||||
<section class="payment-info-title">到账信息</section>
|
<div class="payment-info-box">
|
||||||
<div class="payment-info-content" v-for="item of paymentInfoList" :key="item.id">
|
<section class="payment-info-title">到账信息</section>
|
||||||
{{ item.paymentDate }}到账{{ item.amountReceived }}元
|
<template v-if="paymentInfoList && paymentInfoList.length > 0">
|
||||||
|
<div class="payment-info-content" v-for="item of paymentInfoList" :key="item.id">
|
||||||
|
{{ item.paymentDate }}到账{{ item.amountReceived }}元
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<a-list v-else :data-source="[]"/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!--到账信息end-->
|
<!--到账信息end-->
|
||||||
@@ -142,7 +147,7 @@
|
|||||||
class="j-table-force-nowrap"
|
class="j-table-force-nowrap"
|
||||||
>
|
>
|
||||||
<span slot="action" class="action-span-cell" slot-scope="record">
|
<span slot="action" class="action-span-cell" slot-scope="record">
|
||||||
<a @click="lookLogistics()" v-if="record.postStatus === 1">查看物流</a>
|
<a @click="lookLogistics(record)" v-if="record.postStatus === 1">查看物流</a>
|
||||||
</span>
|
</span>
|
||||||
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
|
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
|
||||||
<!-- {{ record.sendDate }}-->
|
<!-- {{ record.sendDate }}-->
|
||||||
@@ -227,7 +232,7 @@ const columns = [
|
|||||||
{
|
{
|
||||||
title: '快递',
|
title: '快递',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'sendMethod'
|
dataIndex: 'sendMethod_dictText'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '快递单号',
|
title: '快递单号',
|
||||||
@@ -324,8 +329,9 @@ export default {
|
|||||||
/*
|
/*
|
||||||
* 查看物流
|
* 查看物流
|
||||||
* */
|
* */
|
||||||
lookLogistics() {
|
lookLogistics(record) {
|
||||||
window.open('https://www.ems.com.cn/', '_blank')
|
const com = Number(record.sendMethod) === 1 && 'ems' || 'shunfeng'
|
||||||
|
window.open(`https://www.kuaidi100.com/chaxun?com=${ com }&nu=${ record.postNo }`)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 去合同详情 传入合同id
|
* 去合同详情 传入合同id
|
||||||
@@ -402,6 +408,10 @@ h3.title::before {
|
|||||||
.payment-info {
|
.payment-info {
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
|
|
||||||
|
&-box {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
&-title {
|
&-title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -413,11 +423,12 @@ h3.title::before {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&-content {
|
&-content {
|
||||||
|
border: 1px solid #ccc;
|
||||||
color: #424242;
|
color: #424242;
|
||||||
//background: #efefef;
|
//background: #efefef;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
border: 1px solid #ccc;
|
//border: 1px solid #ccc;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
import JDate from '../tools/JDate'
|
import JDate from '../tools/JDate'
|
||||||
import pick from 'lodash.pick'
|
import pick from 'lodash.pick'
|
||||||
import { addZero } from '../../utils/util'
|
import { addZero } from '../../utils/util'
|
||||||
|
import { money } from '../../utils/validate'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'InstallmentForm',
|
name: 'InstallmentForm',
|
||||||
@@ -89,11 +90,11 @@ export default {
|
|||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
accountsReceivableAmount: {
|
accountsReceivableAmount: {
|
||||||
rules: [{ required: true, message: '请输入金额' }],
|
rules: [{ required: true, validator: this.checkMoney }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
paidAmount: {
|
paidAmount: {
|
||||||
rules: [{ required: false, message: '请输入金额' }],
|
rules: [{ required: false, validator: this.checkMoney }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -147,6 +148,25 @@ export default {
|
|||||||
this.$emit('ok', values)
|
this.$emit('ok', values)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 校验金额格式
|
||||||
|
* @param rules
|
||||||
|
* @param value
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
checkMoney(rules, value, callback) {
|
||||||
|
if (value) {
|
||||||
|
if (money(value)) {
|
||||||
|
callback()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
callback('请输入正确格式的金额')
|
||||||
|
}
|
||||||
|
if (rules.field === 'accountsReceivableAmount') {
|
||||||
|
callback('请输入金额')
|
||||||
|
}
|
||||||
|
callback()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<template v-if="statusType && statusNo">
|
<template v-if="statusType && statusNo">
|
||||||
|
<!-- placement="topLeft"-->
|
||||||
<a-tooltip
|
<a-tooltip
|
||||||
overlay-class-name="status-tooltip"
|
overlay-class-name="status-tooltip"
|
||||||
placement="topLeft"
|
|
||||||
:title="currentTitle"
|
:title="currentTitle"
|
||||||
arrow-point-at-center
|
arrow-point-at-center
|
||||||
:mouse-enter-delay="0.1"
|
:mouse-enter-delay="0.1"
|
||||||
@@ -14,7 +14,6 @@
|
|||||||
<template v-else>
|
<template v-else>
|
||||||
<img :src="status" @click="s"/>
|
<img :src="status" @click="s"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -147,6 +146,7 @@ export default {
|
|||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 显示的模板数据,即根据返回值怎么处理数据
|
* 显示的模板数据,即根据返回值怎么处理数据
|
||||||
|
* 判断是否存在一句话里所有变量为null,存在就不显示那句话了
|
||||||
* @param item -传入的item的值
|
* @param item -传入的item的值
|
||||||
* @return 返回一个模板字符串用于后续显示,可按照需求进行更改
|
* @return 返回一个模板字符串用于后续显示,可按照需求进行更改
|
||||||
*/
|
*/
|
||||||
@@ -155,11 +155,17 @@ export default {
|
|||||||
console.log(item)
|
console.log(item)
|
||||||
// 来款
|
// 来款
|
||||||
if (this.statusKey === 'paymentRecord') {
|
if (this.statusKey === 'paymentRecord') {
|
||||||
result = `${ item.paymentDate }到账${ item.amountReceived }`
|
if (item.paymentDate || item.amountReceived) {
|
||||||
|
result = `${ item.paymentDate }到账${ item.amountReceived }元`
|
||||||
|
}
|
||||||
} else if (this.statusKey === 'bill') {
|
} else if (this.statusKey === 'bill') {
|
||||||
result = `${ item.billDate }新增发票,发票单号:${ item.billNo }`
|
if (item.billDate || item.billNo) {
|
||||||
|
result = `${ item.billDate }新增发票,发票单号:${ item.billNo }`
|
||||||
|
}
|
||||||
} else if (this.statusKey === 'mail') {
|
} else if (this.statusKey === 'mail') {
|
||||||
result = `${ item.sendDate }新增邮寄信息,邮寄单号:${ item.postNo }`
|
if (item.sendDate || item.postNo) {
|
||||||
|
result = `${ item.sendDate }新增邮寄信息,邮寄单号:${ item.postNo }`
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
@@ -175,4 +181,8 @@ export default {
|
|||||||
.status-tooltip .ant-tooltip-inner {
|
.status-tooltip .ant-tooltip-inner {
|
||||||
white-space: pre-wrap !important;
|
white-space: pre-wrap !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ant-tooltip {
|
||||||
|
max-width: 16rem;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -17,14 +17,14 @@
|
|||||||
@paste.native.capture.prevent="handleOperate"
|
@paste.native.capture.prevent="handleOperate"
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
label="旧密码">
|
label="旧密码">
|
||||||
<a-input type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]"/>
|
<a-input-password type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="新密码">
|
label="新密码">
|
||||||
<a-input
|
<a-input-password
|
||||||
type="password"
|
type="password"
|
||||||
placeholder="请输入新密码"
|
placeholder="请输入新密码"
|
||||||
@paste.native.capture.prevent="handleOperate"
|
@paste.native.capture.prevent="handleOperate"
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="确认新密码">
|
label="确认新密码">
|
||||||
<a-input
|
<a-input-password
|
||||||
type="password"
|
type="password"
|
||||||
@blur="handleConfirmBlur"
|
@blur="handleConfirmBlur"
|
||||||
placeholder="请确认新密码"
|
placeholder="请确认新密码"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export const JeroListMixin = {
|
|||||||
ipagination: {
|
ipagination: {
|
||||||
current: 1,
|
current: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
pageSizeOptions: ['10', '20', '30', '50'],
|
pageSizeOptions: ['10', '20', '30', '50', '100'],
|
||||||
showTotal: (total, range) => {
|
showTotal: (total, range) => {
|
||||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
||||||
},
|
},
|
||||||
@@ -284,7 +284,7 @@ export const JeroListMixin = {
|
|||||||
param['selections'] = this.selectedRowKeys.join(',')
|
param['selections'] = this.selectedRowKeys.join(',')
|
||||||
}
|
}
|
||||||
console.log('导出参数', param)
|
console.log('导出参数', param)
|
||||||
downloadFile(this.url.exportXlsUrl, fileName + '.xls', param)
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 下载模板
|
* 下载模板
|
||||||
@@ -293,7 +293,7 @@ export const JeroListMixin = {
|
|||||||
if (!fileName || typeof fileName != 'string') {
|
if (!fileName || typeof fileName != 'string') {
|
||||||
fileName = '模板文件'
|
fileName = '模板文件'
|
||||||
}
|
}
|
||||||
downloadFile(this.url.downTemplateUrl, fileName + '.xls')
|
downloadFile(this.url.downTemplateUrl, fileName + '.xlsx')
|
||||||
},
|
},
|
||||||
/* 导入 */
|
/* 导入 */
|
||||||
handleImportExcel(info) {
|
handleImportExcel(info) {
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ export default {
|
|||||||
}, {
|
}, {
|
||||||
title: '职务',
|
title: '职务',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 160,
|
width: 280,
|
||||||
dataIndex: 'post',
|
dataIndex: 'post',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
@@ -149,6 +149,7 @@ export default {
|
|||||||
}, {
|
}, {
|
||||||
title: '企业名称',
|
title: '企业名称',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 280,
|
||||||
dataIndex: 'companyName',
|
dataIndex: 'companyName',
|
||||||
scopedSlots: { customRender: 'text' }
|
scopedSlots: { customRender: 'text' }
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@@ -650,6 +650,9 @@ export default {
|
|||||||
case 'accountsReceivableAmount':
|
case 'accountsReceivableAmount':
|
||||||
callback('请输入应收金额')
|
callback('请输入应收金额')
|
||||||
break
|
break
|
||||||
|
case 'noTaxAmount':
|
||||||
|
callback('请输入未税金额')
|
||||||
|
break
|
||||||
case 'amountReceived':
|
case 'amountReceived':
|
||||||
callback('请输入已收金额')
|
callback('请输入已收金额')
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
@change="handleSignedCompanyChange"></company-select>
|
@change="handleSignedCompanyChange"></company-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="6" :xl="8" :sm="12" style="margin-bottom: 0">
|
<a-col :xxl="6" :xl="8" :sm="12" style="margin-bottom: 0px">
|
||||||
<a-form-item label="签订联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="签订联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<select-contacts placeholder="请选择签订联系人"
|
<select-contacts placeholder="请选择签订联系人"
|
||||||
:selected-company="selectedCompany"
|
:selected-company="selectedCompany"
|
||||||
@@ -331,7 +331,6 @@ export default {
|
|||||||
form: this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
model: {},
|
model: {},
|
||||||
temporaryModel: {}, // 编辑数据临时保存
|
|
||||||
title: '',
|
title: '',
|
||||||
labelCol: {
|
labelCol: {
|
||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
@@ -439,6 +438,9 @@ export default {
|
|||||||
this.rateNum = 6 / 100
|
this.rateNum = 6 / 100
|
||||||
},
|
},
|
||||||
edit(id) {
|
edit(id) {
|
||||||
|
if (!id) {
|
||||||
|
return
|
||||||
|
}
|
||||||
this.title = '编辑收入合同'
|
this.title = '编辑收入合同'
|
||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
const param = {
|
const param = {
|
||||||
@@ -476,7 +478,6 @@ export default {
|
|||||||
this.accountsReceivableNum = record.accountsReceivableAmount
|
this.accountsReceivableNum = record.accountsReceivableAmount
|
||||||
this.amountReceivedNum = record.amountReceived
|
this.amountReceivedNum = record.amountReceived
|
||||||
this.model = Object.assign({}, record)
|
this.model = Object.assign({}, record)
|
||||||
this.temporaryModel = Object.assign({}, record)
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear'))
|
this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear'))
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
@@ -535,18 +536,12 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
this.model = this.temporaryModel
|
if (this.model.id) {
|
||||||
// 处理联系人信息回显
|
this.edit(this.model.id)
|
||||||
this.isCancel = true
|
} else {
|
||||||
this.model.signedContactsId = this.model.signedContactsTemporaryId
|
this.form.resetFields()
|
||||||
this.selectedContact = {
|
this.$refs.installmentForm.form.resetFields()
|
||||||
id: this.model.signedContactsTemporaryId,
|
|
||||||
name: this.model.signedContactsTemporaryName
|
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
|
||||||
this.form.setFieldsValue(pick(this.model, 'contractNum', 'contractName', 'signedCompany', 'signedContactsId', 'opening', 'principalId', 'departmentName', 'contractAmount', 'rate', 'noTaxAmount', 'contractDate', 'terminationDate', 'contractTimePoints', 'accountsReceivableAmount', 'amountReceived', 'outstandingAmount', 'accountStatus', 'contractPaymentTimes', 'pack', 'packYear'))
|
|
||||||
this.confirmLoading = false
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
installmentFormOk(value) {
|
installmentFormOk(value) {
|
||||||
this.installmentList = value.installmentList
|
this.installmentList = value.installmentList
|
||||||
@@ -762,6 +757,9 @@ export default {
|
|||||||
case 'accountsReceivableAmount':
|
case 'accountsReceivableAmount':
|
||||||
callback('请输入应收金额')
|
callback('请输入应收金额')
|
||||||
break
|
break
|
||||||
|
case 'noTaxAmount':
|
||||||
|
callback('请输入未税金额')
|
||||||
|
break
|
||||||
case 'amountReceived':
|
case 'amountReceived':
|
||||||
callback('请输入已收金额')
|
callback('请输入已收金额')
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ export default {
|
|||||||
param['ids'] = this.selectedRowKeys.join(',')
|
param['ids'] = this.selectedRowKeys.join(',')
|
||||||
}
|
}
|
||||||
console.log('导出参数', param)
|
console.log('导出参数', param)
|
||||||
downloadFile(this.url.exportXlsUrl, fileName + '.xls', param)
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 新增成员
|
* 新增成员
|
||||||
|
|||||||
@@ -80,7 +80,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, 'name', 'remark'))
|
this.form.setFieldsValue(pick(this.model, 'name', 'remarks'))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ export default {
|
|||||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
param['ids'] = this.selectedRowKeys.join(',')
|
param['ids'] = this.selectedRowKeys.join(',')
|
||||||
}
|
}
|
||||||
downloadFile(this.url.exportXlsUrl, fileName + '.xls', param)
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||||
<a-form-item label="类型项目" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="项目类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-dict-select-tag v-model="queryParam.projectType" placeholder="请选择类型项目"
|
<j-dict-select-tag v-model="queryParam.projectType" placeholder="请选择项目类型"
|
||||||
dictCode="project_type"/>
|
dictCode="project_type"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|||||||
@@ -89,21 +89,22 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
<!-- 选择嘉宾和内部企业、缴费方式为打包也不显示-->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">
|
<!-- <a-col :xxl="8" :xl="12" :sm="24" v-if="identifyType === 2 && !payModeBool ">-->
|
||||||
<a-form-item label="付款凭证" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<!-- <a-form-item label="付款凭证" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
<j-image-upload :disabled="isEditBool" v-decorator="['paymentRecord']" :return-id="true"></j-image-upload>
|
<!-- <j-image-upload :disabled="isEditBool" v-decorator="['paymentRecord']" :return-id="true"></j-image-upload>-->
|
||||||
</a-form-item>
|
<!-- </a-form-item>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
<!--缴费方式为线上的需要上传 -->
|
<!--缴费方式为线上的需要上传 -->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="onlinePayModeBool">
|
<!-- 暂时注释 2021 10 14 author: fac 需求说是 不在报名和添加参会人的时候去上传 缴费凭证和订单后四位-->
|
||||||
<a-form-item label="订单号后四位" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<!-- <a-col :xxl="8" :xl="12" :sm="24" v-if="onlinePayModeBool">-->
|
||||||
<a-input placeholder="请输入订单号后四位"
|
<!-- <a-form-item label="订单号后四位" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
:maxLength='4'
|
<!-- <a-input placeholder="请输入订单号后四位"-->
|
||||||
:disabled="isEditBool"
|
<!-- :maxLength='4'-->
|
||||||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
|
<!-- :disabled="isEditBool"-->
|
||||||
v-decorator="[ 'orderCode',validatorRules.orderCode]"></a-input>
|
<!-- @change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"-->
|
||||||
</a-form-item>
|
<!-- v-decorator="[ 'orderCode',validatorRules.orderCode]"></a-input>-->
|
||||||
</a-col>
|
<!-- </a-form-item>-->
|
||||||
|
<!-- </a-col>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -111,7 +112,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import JDate from '@comp/jero/JDate'
|
import JDate from '@comp/jero/JDate'
|
||||||
import JImageUpload from '@comp/jero/JImageUpload'
|
// import JImageUpload from '@comp/jero/JImageUpload'
|
||||||
import SelectContacts from '@comp/company/SelectContacts'
|
import SelectContacts from '@comp/company/SelectContacts'
|
||||||
import pick from 'lodash.pick'
|
import pick from 'lodash.pick'
|
||||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||||
@@ -121,7 +122,7 @@ export default {
|
|||||||
name: 'OtherMeetingForm',
|
name: 'OtherMeetingForm',
|
||||||
components: {
|
components: {
|
||||||
JDate,
|
JDate,
|
||||||
JImageUpload,
|
// JImageUpload,
|
||||||
SelectContacts,
|
SelectContacts,
|
||||||
JDictSelectTag
|
JDictSelectTag
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ export default {
|
|||||||
param['ids'] = this.selectedRowKeys.join(',')
|
param['ids'] = this.selectedRowKeys.join(',')
|
||||||
}
|
}
|
||||||
console.log('导出参数', param)
|
console.log('导出参数', param)
|
||||||
downloadFile(this.url.exportXlsUrl, fileName + '.xls', param)
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ export default {
|
|||||||
param['ids'] = this.selectedRowKeys.join(',')
|
param['ids'] = this.selectedRowKeys.join(',')
|
||||||
}
|
}
|
||||||
console.log('导出参数', param)
|
console.log('导出参数', param)
|
||||||
downloadFile(this.url.exportXlsUrl, fileName + '.xls', param)
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
<a-input
|
<a-input
|
||||||
v-decorator="['postNo', validatorRules.postNo]"
|
v-decorator="['postNo', validatorRules.postNo]"
|
||||||
placeholder="请输入快递单号"
|
placeholder="请输入快递单号"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
<a-input
|
<a-input
|
||||||
v-decorator="['postNo', validatorRules.postNo]"
|
v-decorator="['postNo', validatorRules.postNo]"
|
||||||
placeholder="请输入快递单号"
|
placeholder="请输入快递单号"
|
||||||
|
:maxLength='50'
|
||||||
|
@change="e => {e.target.value = (e.target.value + '').trim()}"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|||||||
@@ -159,6 +159,7 @@
|
|||||||
<!-- 来款阶段-->
|
<!-- 来款阶段-->
|
||||||
<arrive-stage-module
|
<arrive-stage-module
|
||||||
ref="arriveStage"
|
ref="arriveStage"
|
||||||
|
:project-type="selectProjectType"
|
||||||
:project-id="selectProjectId"
|
:project-id="selectProjectId"
|
||||||
:visible.sync="arriveStageVisible"
|
:visible.sync="arriveStageVisible"
|
||||||
@ok="modalFormOk"></arrive-stage-module>
|
@ok="modalFormOk"></arrive-stage-module>
|
||||||
@@ -496,6 +497,7 @@ export default {
|
|||||||
incomePayment(record) {
|
incomePayment(record) {
|
||||||
this.selectProjectId = record.id
|
this.selectProjectId = record.id
|
||||||
this.arriveStageVisible = true
|
this.arriveStageVisible = true
|
||||||
|
this.selectProjectType = record.projectType
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 开票
|
* 开票
|
||||||
|
|||||||
@@ -192,6 +192,10 @@ export default {
|
|||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.inputIncomingAmount > this.sumAmountOwed) {
|
||||||
|
this.$message.warn('来款金额大于当前欠款金额,输入有误!')
|
||||||
|
return
|
||||||
|
}
|
||||||
if (this.confirmLoading) {
|
if (this.confirmLoading) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -255,7 +259,7 @@ export default {
|
|||||||
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
||||||
this.inputIncomingAmount = Number(e.target.value)
|
this.inputIncomingAmount = Number(e.target.value)
|
||||||
if (this.inputIncomingAmount > this.sumAmountOwed) {
|
if (this.inputIncomingAmount > this.sumAmountOwed) {
|
||||||
this.$message.warn('来款金额大于总欠款金额,请修改')
|
this.$message.warn('来款金额大于当前欠款金额,输入有误!')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.clearThisTimeAmount()
|
this.clearThisTimeAmount()
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ export default {
|
|||||||
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
||||||
this.inputInvoicingAmount = Number(e.target.value)
|
this.inputInvoicingAmount = Number(e.target.value)
|
||||||
if (this.inputInvoicingAmount > this.sumAmountOwed) {
|
if (this.inputInvoicingAmount > this.sumAmountOwed) {
|
||||||
this.$message.warn('开票金额大于总未开票金额,请修改')
|
this.$message.warn('开票金额大于当前未开票金额,输入有误!')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.clearThisTimeAmount()
|
this.clearThisTimeAmount()
|
||||||
@@ -336,6 +336,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleOk() {
|
handleOk() {
|
||||||
|
if (this.inputInvoicingAmount > this.sumAmountOwed) {
|
||||||
|
this.$message.warn('开票金额大于当前未开票金额,输入有误!')
|
||||||
|
return
|
||||||
|
}
|
||||||
if (this.confirmLoading) {
|
if (this.confirmLoading) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,7 +208,12 @@ export default {
|
|||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
values.companyId = values.company.id
|
// 判断选中企业是否改变
|
||||||
|
if (values.company.id === this.model.companyId) {
|
||||||
|
values.companyId = this.model.companyTemporaryId
|
||||||
|
} else {
|
||||||
|
values.companyId = values.company.id
|
||||||
|
}
|
||||||
that.confirmLoading = true
|
that.confirmLoading = true
|
||||||
let httpurl = ''
|
let httpurl = ''
|
||||||
if (!this.model.id) {
|
if (!this.model.id) {
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'startTime',
|
dataIndex: 'startTime',
|
||||||
width: 160,
|
width: 160,
|
||||||
customRender: (text, record) => (<j-ellipsis value={record.startTime + record.endTime} length={20}></j-ellipsis>)
|
customRender: (text, record) => (<j-ellipsis value={record.startTime + '~' + record.endTime} length={20}></j-ellipsis>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '召开地点',
|
title: '召开地点',
|
||||||
|
|||||||
@@ -179,12 +179,16 @@ export default {
|
|||||||
title: '应收金额',
|
title: '应收金额',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 150,
|
width: 150,
|
||||||
dataIndex: 'receivableAmount'
|
dataIndex: 'receivableAmount',
|
||||||
|
customRender: (text, record) => (
|
||||||
|
<j-ellipsis value={ record.receivableAmount + '元' } length={ 15 }></j-ellipsis>)
|
||||||
}, {
|
}, {
|
||||||
title: '实收金额',
|
title: '实收金额',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 150,
|
width: 150,
|
||||||
dataIndex: 'paidAmount'
|
dataIndex: 'paidAmount',
|
||||||
|
customRender: (text, record) => (
|
||||||
|
<j-ellipsis value={ record.paidAmount + '元' } length={ 15 }></j-ellipsis>)
|
||||||
}, {
|
}, {
|
||||||
title: '负责人',
|
title: '负责人',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
|||||||
@@ -379,6 +379,7 @@ export default {
|
|||||||
type: 'chargeNoticeA',
|
type: 'chargeNoticeA',
|
||||||
label: `A:${ this.workingGroupDetail.chargeNoticeNoA }`,
|
label: `A:${ this.workingGroupDetail.chargeNoticeNoA }`,
|
||||||
value: this.workingGroupDetail.chargeNoticeNoA,
|
value: this.workingGroupDetail.chargeNoticeNoA,
|
||||||
|
key: this.workingGroupDetail.chargeA,
|
||||||
yearCharge: this.workingGroupDetail.yearChargeA,
|
yearCharge: this.workingGroupDetail.yearChargeA,
|
||||||
chargeNoticeId: this.workingGroupDetail.chargeNoticeAId
|
chargeNoticeId: this.workingGroupDetail.chargeNoticeAId
|
||||||
}
|
}
|
||||||
@@ -390,6 +391,7 @@ export default {
|
|||||||
type: 'chargeNoticeB',
|
type: 'chargeNoticeB',
|
||||||
label: `B:${ this.workingGroupDetail.chargeNoticeNoB }`,
|
label: `B:${ this.workingGroupDetail.chargeNoticeNoB }`,
|
||||||
value: this.workingGroupDetail.chargeNoticeNoB,
|
value: this.workingGroupDetail.chargeNoticeNoB,
|
||||||
|
key: this.workingGroupDetail.chargeB,
|
||||||
yearCharge: this.workingGroupDetail.yearChargeB,
|
yearCharge: this.workingGroupDetail.yearChargeB,
|
||||||
chargeNoticeId: this.workingGroupDetail.chargeNoticeBId
|
chargeNoticeId: this.workingGroupDetail.chargeNoticeBId
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ import SelectPrincipal from '@comp/company/SelectPrincipal'
|
|||||||
import ProgressBar from '@comp/ProgressBar'
|
import ProgressBar from '@comp/ProgressBar'
|
||||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||||
import IconWorkingGruop from '@/assets/imgs/icon/icon_working_group.png'
|
import IconWorkingGruop from '@/assets/imgs/icon/icon_working_group.png'
|
||||||
import { copyWorkingGroup, checkoutWorkingGroupPrincipal } from '../../api/incomePaymentsApi'
|
import { copyWorkingGroup } from '../../api/incomePaymentsApi'
|
||||||
import { getAction } from '../../api/manage'
|
import { getAction } from '../../api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -11,8 +11,16 @@
|
|||||||
<a-spin :spinning="confirmLoading">
|
<a-spin :spinning="confirmLoading">
|
||||||
<a-form :form="form">
|
<a-form :form="form">
|
||||||
<a-form-item label="收费通知号" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
<a-form-item label="收费通知号" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||||
<a-radio-group v-decorator="['chargeNoticeNo']" @change="handleChargeNoticeChange"
|
<a-radio-group
|
||||||
:options="chargeNoticeList"></a-radio-group>
|
class="charge-notice-no"
|
||||||
|
v-decorator="['charge']"
|
||||||
|
@change="handleChargeNoticeChange">
|
||||||
|
<a-radio v-for="item in chargeNoticeList" :key="item.key" :value="item.key">
|
||||||
|
<a-tooltip :title="item.label">
|
||||||
|
{{ item.label }}
|
||||||
|
</a-tooltip>
|
||||||
|
</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-row v-if="selectedChargeNotice === 'A'">
|
<a-row v-if="selectedChargeNotice === 'A'">
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
@@ -26,11 +34,10 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :multiple="false"
|
||||||
file-type-error-message="请上传收费通知A"
|
|
||||||
:multiple="false"
|
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
|
:number="1"
|
||||||
v-decorator="['chargeNoticeId']"
|
v-decorator="['chargeNoticeId']"
|
||||||
:trigger-change="true"></j-upload>
|
:trigger-change="true"></j-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -48,10 +55,9 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :multiple="false"
|
||||||
file-type-error-message="请上传收费通知B"
|
|
||||||
:multiple="false"
|
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
|
:number="1"
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
v-decorator="['chargeNoticeId']"
|
v-decorator="['chargeNoticeId']"
|
||||||
:trigger-change="true"></j-upload>
|
:trigger-change="true"></j-upload>
|
||||||
@@ -146,25 +152,25 @@ export default {
|
|||||||
* 收费通知号变化, 回显本年应收款和文件
|
* 收费通知号变化, 回显本年应收款和文件
|
||||||
*/
|
*/
|
||||||
handleChargeNoticeChange(e) {
|
handleChargeNoticeChange(e) {
|
||||||
let chargeNoticeNo = e.target.value
|
let key = e.target.value
|
||||||
this.pickChargeNoticeType(chargeNoticeNo)
|
this.pickChargeNoticeType(key)
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 匹配显隐
|
* 匹配显隐
|
||||||
* @param value
|
* @param key
|
||||||
*/
|
*/
|
||||||
pickChargeNoticeType(value) {
|
pickChargeNoticeType(key) {
|
||||||
this.chargeNoticeList.forEach(item => {
|
this.chargeNoticeList.forEach(item => {
|
||||||
if (item.value === value) {
|
if (item.type === 'chargeNoticeA' && key === 'a') {
|
||||||
if (item.type === 'chargeNoticeA') {
|
this.selectedChargeNotice = 'A'
|
||||||
this.selectedChargeNotice = 'A'
|
this.model.receivableAmount = item.yearCharge
|
||||||
this.model.receivableAmount = item.yearCharge
|
this.model.chargeNoticeId = item.chargeNoticeId
|
||||||
this.model.chargeNoticeId = item.chargeNoticeId
|
this.model.chargeNoticeNo = item.value
|
||||||
} else {
|
} else if (item.type === 'chargeNoticeB' && key === 'b'){
|
||||||
this.selectedChargeNotice = 'B'
|
this.selectedChargeNotice = 'B'
|
||||||
this.model.receivableAmount = item.yearCharge
|
this.model.receivableAmount = item.yearCharge
|
||||||
this.model.chargeNoticeId = item.chargeNoticeId
|
this.model.chargeNoticeId = item.chargeNoticeId
|
||||||
}
|
this.model.chargeNoticeNo = item.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
@@ -100,9 +100,9 @@
|
|||||||
<a-form-item label="收费通知号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-radio-group
|
<a-radio-group
|
||||||
class="charge-notice-no"
|
class="charge-notice-no"
|
||||||
v-decorator="['chargeNoticeNo',validatorRules.chargeNoticeNo]"
|
v-decorator="['charge',validatorRules.charge]"
|
||||||
@change="handleChargeNoticeChange">
|
@change="handleChargeNoticeChange">
|
||||||
<a-radio v-for="item in chargeNoticeList" :key="item.value" :value="item.value">
|
<a-radio v-for="item in chargeNoticeList" :key="item.key" :value="item.key">
|
||||||
<a-tooltip :title="item.label">
|
<a-tooltip :title="item.label">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
@@ -114,7 +114,7 @@
|
|||||||
<a-row v-if="chargeWayType === 2">
|
<a-row v-if="chargeWayType === 2">
|
||||||
<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">
|
||||||
<a-row>
|
<a-row :gutter="10">
|
||||||
<a-col :span="20">
|
<a-col :span="20">
|
||||||
<a-input placeholder="请输入应收金额"
|
<a-input placeholder="请输入应收金额"
|
||||||
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
v-decorator="['receivableAmount',validatorRules.receivableAmount]"
|
||||||
@@ -148,11 +148,10 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :multiple="false"
|
||||||
file-type-error-message="请上传收费通知A"
|
|
||||||
:multiple="false"
|
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
|
:number="1"
|
||||||
v-decorator="['chargeNoticeId']"
|
v-decorator="['chargeNoticeId']"
|
||||||
:trigger-change="true"></j-upload>
|
:trigger-change="true"></j-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -170,11 +169,10 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xl="12" :sm="24">
|
<a-col :xl="12" :sm="24">
|
||||||
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :multiple="false"
|
||||||
file-type-error-message="请上传收费通知B"
|
|
||||||
:multiple="false"
|
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
|
:number="1"
|
||||||
v-decorator="['chargeNoticeId']"
|
v-decorator="['chargeNoticeId']"
|
||||||
:trigger-change="true"></j-upload>
|
:trigger-change="true"></j-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -325,13 +323,13 @@ export default {
|
|||||||
rules: [{ required: true, message: '请输入合同号' }],
|
rules: [{ required: true, message: '请输入合同号' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
chargeNoticeNo: {
|
charge: {
|
||||||
rules: [{ required: true, message: '请输入收费通知号' }],
|
rules: [{ required: true, message: '请输入收费通知号' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
needInvoice: {
|
needInvoice: {
|
||||||
rules: [{ required: true, message: '请选择发票类型' }],
|
rules: [{ required: true, message: '请选择发票类型' }],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'change'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chargeWayType: null,
|
chargeWayType: null,
|
||||||
@@ -400,7 +398,6 @@ export default {
|
|||||||
this.companyChange(this.selectedCompany)
|
this.companyChange(this.selectedCompany)
|
||||||
this.form.resetFields()
|
this.form.resetFields()
|
||||||
this.model = Object.assign({}, record)
|
this.model = Object.assign({}, record)
|
||||||
console.log(this.signedContactId)
|
|
||||||
// 是否存在从收入合同传入的签订联系人id
|
// 是否存在从收入合同传入的签订联系人id
|
||||||
this.model.contactsIdOne = this.signedContactId || this.model.contactsTemporaryIdOne || undefined
|
this.model.contactsIdOne = this.signedContactId || this.model.contactsTemporaryIdOne || undefined
|
||||||
this.model.contactsIdTwo = this.model.contactsTemporaryIdTwo || undefined
|
this.model.contactsIdTwo = this.model.contactsTemporaryIdTwo || undefined
|
||||||
@@ -426,10 +423,10 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.chargeWayType = record.chargeWay
|
this.chargeWayType = record.chargeWay
|
||||||
this.pickChargeNoticeType(record.chargeNoticeNo)
|
this.pickChargeNoticeType(record.charge, true)
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue(pick(this.model, 'chargeCompany', 'contactsIdOne', 'contactsIdTwo', 'contactsIdThree', 'mailContactsId', 'chargeWay', 'chargeNoticeNo', 'receivableAmount', 'contractNum', 'receivableAmount', 'chargeNoticeId', 'needInvoice', 'remarks'))
|
this.form.setFieldsValue(pick(this.model, 'chargeCompany', 'contactsIdOne', 'contactsIdTwo', 'contactsIdThree', 'mailContactsId', 'chargeWay', 'charge', 'receivableAmount', 'contractNum', 'receivableAmount', 'chargeNoticeId', 'needInvoice', 'remarks'))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
@@ -512,25 +509,29 @@ export default {
|
|||||||
* 收费通知号变化, 回显本年应收款和文件
|
* 收费通知号变化, 回显本年应收款和文件
|
||||||
*/
|
*/
|
||||||
handleChargeNoticeChange(e) {
|
handleChargeNoticeChange(e) {
|
||||||
let chargeNoticeNo = e.target.value
|
let key = e.target.value
|
||||||
this.pickChargeNoticeType(chargeNoticeNo)
|
this.pickChargeNoticeType(key)
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 匹配收费通知显隐
|
* 匹配收费通知显隐
|
||||||
* @param value
|
* @param value
|
||||||
*/
|
*/
|
||||||
pickChargeNoticeType(value) {
|
pickChargeNoticeType(key, isFirst) {
|
||||||
this.chargeNoticeList.forEach(item => {
|
this.chargeNoticeList.forEach(item => {
|
||||||
if (item.value === value) {
|
if (item.type === 'chargeNoticeA' && key === 'a') {
|
||||||
if (item.type === 'chargeNoticeA') {
|
this.selectedChargeNotice = 'A'
|
||||||
this.selectedChargeNotice = 'A'
|
if (!isFirst) {
|
||||||
this.model.receivableAmount = item.yearCharge
|
|
||||||
this.model.chargeNoticeId = item.chargeNoticeId
|
|
||||||
} else {
|
|
||||||
this.selectedChargeNotice = 'B'
|
|
||||||
this.model.receivableAmount = item.yearCharge
|
this.model.receivableAmount = item.yearCharge
|
||||||
this.model.chargeNoticeId = item.chargeNoticeId
|
this.model.chargeNoticeId = item.chargeNoticeId
|
||||||
}
|
}
|
||||||
|
this.model.chargeNoticeNo = item.value
|
||||||
|
} else if (item.type === 'chargeNoticeB' && key === 'b') {
|
||||||
|
this.selectedChargeNotice = 'B'
|
||||||
|
if (!isFirst) {
|
||||||
|
this.model.receivableAmount = item.yearCharge
|
||||||
|
this.model.chargeNoticeId = item.chargeNoticeId
|
||||||
|
}
|
||||||
|
this.model.chargeNoticeNo = item.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
@@ -93,9 +93,7 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知A" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :multiple="false"
|
||||||
file-type-error-message="请上传pdf文件"
|
|
||||||
:multiple="false"
|
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
:number="1"
|
:number="1"
|
||||||
@@ -131,9 +129,7 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="收费通知B" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<j-upload file-type="pdf"
|
<j-upload :multiple="false"
|
||||||
file-type-error-message="请上传pdf文件"
|
|
||||||
:multiple="false"
|
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
bizPath="payment"
|
bizPath="payment"
|
||||||
:number="1"
|
:number="1"
|
||||||
@@ -275,6 +271,8 @@ export default {
|
|||||||
}
|
}
|
||||||
values.yearChargeA = values.yearChargeA ? Number(values.yearChargeA) : null
|
values.yearChargeA = values.yearChargeA ? Number(values.yearChargeA) : null
|
||||||
values.yearChargeB = values.yearChargeB ? Number(values.yearChargeB) : null
|
values.yearChargeB = values.yearChargeB ? Number(values.yearChargeB) : null
|
||||||
|
values.chargeA = values.chargeNoticeNoA ? 'a' : null
|
||||||
|
values.chargeB = values.chargeNoticeNoB ? 'b' : null
|
||||||
const formData = Object.assign(this.model, values)
|
const formData = Object.assign(this.model, values)
|
||||||
console.log('表单提交数据', formData)
|
console.log('表单提交数据', formData)
|
||||||
httpAction(httpurl, formData, method).then((res) => {
|
httpAction(httpurl, formData, method).then((res) => {
|
||||||
|
|||||||
@@ -132,6 +132,7 @@
|
|||||||
:dataSource="footerDataSource"
|
:dataSource="footerDataSource"
|
||||||
:showHeader="false"
|
:showHeader="false"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
class="j-table-force-nowrap footer-table">
|
class="j-table-force-nowrap footer-table">
|
||||||
|
|
||||||
<!-- 项目名称-->
|
<!-- 项目名称-->
|
||||||
@@ -163,6 +164,7 @@ import SelectPrincipal from '../../components/company/SelectPrincipal'
|
|||||||
import JYearDate from '../../components/jero/JYearDate'
|
import JYearDate from '../../components/jero/JYearDate'
|
||||||
import { getAction } from '../../api/manage'
|
import { getAction } from '../../api/manage'
|
||||||
import ProjectDetailModal from '../../components/ProjectDetailModal'
|
import ProjectDetailModal from '../../components/ProjectDetailModal'
|
||||||
|
import { downloadFile } from '../../api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'WholeInstituteStatisticsList',
|
name: 'WholeInstituteStatisticsList',
|
||||||
@@ -286,7 +288,8 @@ export default {
|
|||||||
list: '/statistics/allProjectStatistics/list',
|
list: '/statistics/allProjectStatistics/list',
|
||||||
exportXlsUrl: '/statistics/allProjectStatistics/statistics/excel'
|
exportXlsUrl: '/statistics/allProjectStatistics/statistics/excel'
|
||||||
},
|
},
|
||||||
validateMoney: true
|
validateMoney: true,
|
||||||
|
exportSelectedKeys: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -388,6 +391,7 @@ export default {
|
|||||||
this.queryParam = {
|
this.queryParam = {
|
||||||
year: new Date().getFullYear().toString()
|
year: new Date().getFullYear().toString()
|
||||||
}
|
}
|
||||||
|
this.exportSelectedKeys = []
|
||||||
this.loadData(1)
|
this.loadData(1)
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@@ -435,7 +439,26 @@ export default {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
onSelectChange(selectedRowKeys, selectionRows) {
|
||||||
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
this.exportSelectedKeys = []
|
||||||
|
selectionRows.forEach(item => {
|
||||||
|
this.exportSelectedKeys.push(item.projectId)
|
||||||
|
})
|
||||||
|
this.selectionRows = selectionRows
|
||||||
|
},
|
||||||
|
handleExportXls(fileName) {
|
||||||
|
if (!fileName || typeof fileName != 'string') {
|
||||||
|
fileName = '导出文件'
|
||||||
|
}
|
||||||
|
let param = this.getQueryParams()
|
||||||
|
if (this.exportSelectedKeys && this.exportSelectedKeys.length > 0) {
|
||||||
|
param['selections'] = this.exportSelectedKeys.join(',')
|
||||||
|
}
|
||||||
|
console.log('导出参数', param)
|
||||||
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -429,7 +429,7 @@ export default {
|
|||||||
param['selections'] = this.checkedKeys.join(',')
|
param['selections'] = this.checkedKeys.join(',')
|
||||||
}
|
}
|
||||||
console.log('导出参数', param)
|
console.log('导出参数', param)
|
||||||
downloadFile(this.url.exportXlsUrl, fileName + '.xls', param)
|
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||||
},
|
},
|
||||||
nodeModalOk() {
|
nodeModalOk() {
|
||||||
this.loadTree()
|
this.loadTree()
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span v-html="text" class="ellipsis-span"></span>
|
<span v-html="text" class="ellipsis-span"></span>
|
||||||
</template>
|
</template>
|
||||||
<span v-html="myEllipsis(text,20)" class="ellipsis-span"></span>
|
<span v-html="myEllipsis(text,50)" class="ellipsis-span"></span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-drawer
|
<a-drawer
|
||||||
:title="title"
|
:title="title"
|
||||||
:maskClosable="true"
|
:maskClosable="true"
|
||||||
:width="drawerWidth"
|
:width="drawerWidth"
|
||||||
placement="right"
|
placement="right"
|
||||||
:closable="true"
|
:closable="true"
|
||||||
@close="handleCancel"
|
@close="handleCancel"
|
||||||
:visible="visible"
|
:visible="visible"
|
||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
|
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<div style="width: 100%;">
|
<div style="width: 100%;">
|
||||||
@@ -23,26 +23,32 @@
|
|||||||
<a-form :form="form">
|
<a-form :form="form">
|
||||||
|
|
||||||
<a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入用户账号" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator.trim="[ 'username', validatorRules.username]"
|
<a-input placeholder="请输入用户账号" @change="event => event.target.value = event.target.value.trim()"
|
||||||
:readOnly="!!model.id" :disabled="disableSubmit || disabledEdit" />
|
:maxLength="50" v-decorator.trim="[ 'username', validatorRules.username]"
|
||||||
|
:readOnly="!!model.id" :disabled="disableSubmit || disabledEdit"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<template v-if="!model.id">
|
<template v-if="!model.id">
|
||||||
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input type="password" placeholder="请输入登录密码" :maxLength="50" autocomplete='new-password'
|
<a-input-password type="password" placeholder="请输入登录密码" :maxLength="50" autocomplete='new-password'
|
||||||
@paste.native.capture.prevent="handleOperate"
|
@paste.native.capture.prevent="handleOperate"
|
||||||
@change="event => event.target.value = event.target.value.trim()" :disabled="disableSubmit" v-decorator="[ 'password',validatorRules.password]"/>
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
|
:disabled="disableSubmit" v-decorator="[ 'password',validatorRules.password]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input type="password" @blur="handleConfirmBlur" :maxLength="50" placeholder="请输入确认密码" :disabled="disableSubmit"
|
<a-input-password type="password" @blur="handleConfirmBlur" :maxLength="50" placeholder="请输入确认密码"
|
||||||
@paste.native.capture.prevent="handleOperate"
|
:disabled="disableSubmit"
|
||||||
@change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
|
v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<a-form-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入用户姓名" :disabled="disableSubmit" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator.trim="[ 'realname', validatorRules.realname]"/>
|
<a-input placeholder="请输入用户姓名" :disabled="disableSubmit"
|
||||||
|
@change="event => event.target.value = event.target.value.trim()" :maxLength="50"
|
||||||
|
v-decorator.trim="[ 'realname', validatorRules.realname]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<!--<a-form-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
<!--<a-form-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
@@ -53,101 +59,105 @@
|
|||||||
<!--<j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', {}]"/>-->
|
<!--<j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', {}]"/>-->
|
||||||
<!--</a-form-item>-->
|
<!--</a-form-item>-->
|
||||||
|
|
||||||
<!-- <a-form-item label="角色分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled">-->
|
<!-- <a-form-item label="角色分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled">-->
|
||||||
<!-- <a-select-->
|
<!-- <a-select-->
|
||||||
<!-- mode="multiple"-->
|
<!-- mode="multiple"-->
|
||||||
<!-- :disabled="departDisabled || disableSubmit"-->
|
<!-- :disabled="departDisabled || disableSubmit"-->
|
||||||
<!-- style="width: 100%"-->
|
<!-- style="width: 100%"-->
|
||||||
<!-- placeholder="请选择用户角色"-->
|
<!-- placeholder="请选择用户角色"-->
|
||||||
<!-- optionFilterProp="children"-->
|
<!-- optionFilterProp="children"-->
|
||||||
<!-- v-model="selectedRole"-->
|
<!-- v-model="selectedRole"-->
|
||||||
<!-- :getPopupContainer="(target) => target.parentNode">-->
|
<!-- :getPopupContainer="(target) => target.parentNode">-->
|
||||||
<!-- <a-select-option v-for="(role,roleindex) in roleList" :key="roleindex.toString()" :value="role.id">-->
|
<!-- <a-select-option v-for="(role,roleindex) in roleList" :key="roleindex.toString()" :value="role.id">-->
|
||||||
<!-- {{ role.roleName }}-->
|
<!-- {{ role.roleName }}-->
|
||||||
<!-- </a-select-option>-->
|
<!-- </a-select-option>-->
|
||||||
<!-- </a-select>-->
|
<!-- </a-select>-->
|
||||||
<!-- </a-form-item>-->
|
<!-- </a-form-item>-->
|
||||||
|
|
||||||
<!-- update--begin--autor:wangshuai-----date:20200108------for:新增身份和负责部门------ -->
|
<!-- update--begin--autor:wangshuai-----date:20200108------for:新增身份和负责部门------ -->
|
||||||
<!-- <a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
<!-- <a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
<!-- <a-radio-group-->
|
<!-- <a-radio-group-->
|
||||||
<!-- v-model="identity"-->
|
<!-- v-model="identity"-->
|
||||||
<!-- @change="identityChange">-->
|
<!-- @change="identityChange">-->
|
||||||
<!-- <a-radio value="1">普通用户</a-radio>-->
|
<!-- <a-radio value="1">普通用户</a-radio>-->
|
||||||
<!-- <a-radio value="2">上级</a-radio>-->
|
<!-- <a-radio value="2">上级</a-radio>-->
|
||||||
<!-- </a-radio-group>-->
|
<!-- </a-radio-group>-->
|
||||||
<!-- </a-form-item>-->
|
<!-- </a-form-item>-->
|
||||||
<!-- <a-form-item label="组织机构" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
<!-- <a-form-item label="组织机构" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
<!-- <a-select-->
|
<!-- <a-select-->
|
||||||
<!-- mode="multiple"-->
|
<!-- mode="multiple"-->
|
||||||
<!-- style="width: 100%"-->
|
<!-- style="width: 100%"-->
|
||||||
<!-- placeholder="请选择组织机构"-->
|
<!-- placeholder="请选择组织机构"-->
|
||||||
<!-- v-model="departIds"-->
|
<!-- v-model="departIds"-->
|
||||||
<!-- optionFilterProp="children"-->
|
<!-- optionFilterProp="children"-->
|
||||||
<!-- :getPopupContainer="(target) => target.parentNode"-->
|
<!-- :getPopupContainer="(target) => target.parentNode"-->
|
||||||
<!-- :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"-->
|
<!-- :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"-->
|
||||||
<!-- :disabled="disableSubmit"-->
|
<!-- :disabled="disableSubmit"-->
|
||||||
<!-- >-->
|
<!-- >-->
|
||||||
<!-- <a-select-option v-for="item in resultDepartOptions" :key="item.key" :value="item.key"-->
|
<!-- <a-select-option v-for="item in resultDepartOptions" :key="item.key" :value="item.key"-->
|
||||||
<!-- >{{ item.title }}-->
|
<!-- >{{ item.title }}-->
|
||||||
<!-- </a-select-option-->
|
<!-- </a-select-option-->
|
||||||
<!-- >-->
|
<!-- >-->
|
||||||
<!-- </a-select>-->
|
<!-- </a-select>-->
|
||||||
<!-- </a-form-item>-->
|
<!-- </a-form-item>-->
|
||||||
|
|
||||||
<!-- <a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol" v-has="'user:sex'">-->
|
<!-- <a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol" v-has="'user:sex'">-->
|
||||||
<!-- <a-select v-decorator="[ 'sex', {}]" placeholder="请选择性别" :disabled="disableSubmit" :getPopupContainer="(target) => target.parentNode">-->
|
<!-- <a-select v-decorator="[ 'sex', {}]" placeholder="请选择性别" :disabled="disableSubmit" :getPopupContainer="(target) => target.parentNode">-->
|
||||||
<!-- <a-select-option :value="1">男</a-select-option>-->
|
<!-- <a-select-option :value="1">男</a-select-option>-->
|
||||||
<!-- <a-select-option :value="2">女</a-select-option>-->
|
<!-- <a-select-option :value="2">女</a-select-option>-->
|
||||||
<!-- </a-select>-->
|
<!-- </a-select>-->
|
||||||
<!-- </a-form-item>-->
|
<!-- </a-form-item>-->
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="角色类型"
|
label="角色类型"
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol">
|
:wrapperCol="wrapperCol">
|
||||||
<a-tree-select
|
<a-tree-select
|
||||||
multiple
|
multiple
|
||||||
show-search
|
show-search
|
||||||
tree-default-expand-all
|
tree-default-expand-all
|
||||||
tree-node-filter-prop="title"
|
tree-node-filter-prop="title"
|
||||||
style="width:100%"
|
style="width:100%"
|
||||||
:dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
|
:dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
|
||||||
:treeData="treeRoleData"
|
:treeData="treeRoleData"
|
||||||
v-decorator="[ 'selectedroles', validatorRules.selectedroles]"
|
v-decorator="[ 'selectedroles', validatorRules.selectedroles]"
|
||||||
placeholder="请选择角色类型"
|
placeholder="请选择角色类型"
|
||||||
>
|
>
|
||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="组织机构"
|
label="组织机构"
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol">
|
:wrapperCol="wrapperCol">
|
||||||
<a-tree-select
|
<a-tree-select
|
||||||
:multiple="false"
|
:multiple="false"
|
||||||
show-search
|
show-search
|
||||||
tree-default-expand-all
|
tree-default-expand-all
|
||||||
tree-node-filter-prop="title"
|
tree-node-filter-prop="title"
|
||||||
style="width:100%"
|
style="width:100%"
|
||||||
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflo-y': 'auto' }"
|
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflo-y': 'auto' }"
|
||||||
:treeData="treeDepartData"
|
:treeData="treeDepartData"
|
||||||
v-decorator="[ 'selecteddeparts', validatorRules.selecteddeparts]"
|
v-decorator="[ 'selecteddeparts', validatorRules.selecteddeparts]"
|
||||||
placeholder="请选择组织机构">
|
placeholder="请选择组织机构">
|
||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
|
|
||||||
<a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入邮箱" :disabled="disableSubmit" @change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'email', validatorRules.email]" :maxLength="50"/>
|
<a-input placeholder="请输入邮箱" :disabled="disableSubmit"
|
||||||
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
|
v-decorator="[ 'email', validatorRules.email]" :maxLength="50"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="邮箱密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="邮箱密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input-password placeholder="请输入邮箱密码" @change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'emailPassword', validatorRules.emailPassword]" :maxLength="50"/>
|
<a-input-password placeholder="请输入邮箱密码" @change="event => event.target.value = event.target.value.trim()"
|
||||||
|
v-decorator="[ 'emailPassword', validatorRules.emailPassword]" :maxLength="50"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入手机号码" @change="event => event.target.value = event.target.value.trim()" :disabled="isDisabledAuth('user:form:phone') || disableSubmit"
|
<a-input placeholder="请输入手机号码" @change="event => event.target.value = event.target.value.trim()"
|
||||||
|
:disabled="isDisabledAuth('user:form:phone') || disableSubmit"
|
||||||
v-decorator="[ 'phone', validatorRules.phone]" :maxLength="11"/>
|
v-decorator="[ 'phone', validatorRules.phone]" :maxLength="11"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
@@ -155,10 +165,10 @@
|
|||||||
<!--<a-input placeholder="请输入座机" v-decorator="[ 'telephone', validatorRules.telephone]"/>-->
|
<!--<a-input placeholder="请输入座机" v-decorator="[ 'telephone', validatorRules.telephone]"/>-->
|
||||||
<!--</a-form-item>-->
|
<!--</a-form-item>-->
|
||||||
|
|
||||||
<!-- <a-form-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
<!-- <a-form-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
||||||
<!-- <j-dict-select-tag v-decorator="['activitiSync', {}]" placeholder="请选择是否同步工作流引擎" :type="'radio'"-->
|
<!-- <j-dict-select-tag v-decorator="['activitiSync', {}]" placeholder="请选择是否同步工作流引擎" :type="'radio'"-->
|
||||||
<!-- :triggerChange="true" dictCode="activiti_sync"/>-->
|
<!-- :triggerChange="true" dictCode="activiti_sync"/>-->
|
||||||
<!-- </a-form-item>-->
|
<!-- </a-form-item>-->
|
||||||
|
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
@@ -179,11 +189,11 @@ import moment from 'moment'
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import {ACCESS_TOKEN} from '@/store/mutation-types'
|
import {ACCESS_TOKEN} from '@/store/mutation-types'
|
||||||
import {getAction} from '@/api/manage'
|
import {getAction} from '@/api/manage'
|
||||||
import {addUser, editUser, queryUserRole, queryall,queryallRoles, queryDepartTreeList} from '@/api/api'
|
import {addUser, editUser, queryUserRole, queryall, queryallRoles, queryDepartTreeList} from '@/api/api'
|
||||||
import {disabledAuthFilter} from '@/utils/authFilter'
|
import {disabledAuthFilter} from '@/utils/authFilter'
|
||||||
import { passwordReg} from '@/utils/validate'
|
import {passwordReg} from '@/utils/validate'
|
||||||
import {checkPhone,checkEmail,checkUserName} from '@/utils/validateOnly'
|
import {checkPhone, checkEmail, checkUserName} from '@/utils/validateOnly'
|
||||||
import { getRSAPublicKey } from '@/api/login.js'
|
import {getRSAPublicKey} from '@/api/login.js'
|
||||||
import {encrypt} from '@/utils/util'
|
import {encrypt} from '@/utils/util'
|
||||||
|
|
||||||
|
|
||||||
@@ -198,9 +208,9 @@ export default {
|
|||||||
modaltoggleFlag: true,
|
modaltoggleFlag: true,
|
||||||
confirmDirty: false,
|
confirmDirty: false,
|
||||||
// 组织机构 下拉数据
|
// 组织机构 下拉数据
|
||||||
treeDepartData:[],
|
treeDepartData: [],
|
||||||
// 角色类型下拉数据
|
// 角色类型下拉数据
|
||||||
treeRoleData:[],
|
treeRoleData: [],
|
||||||
selectedDepartKeys: [], //保存用户选择部门id
|
selectedDepartKeys: [], //保存用户选择部门id
|
||||||
checkedDepartKeys: [],
|
checkedDepartKeys: [],
|
||||||
checkedDepartNames: [], // 保存部门的名称 =>title
|
checkedDepartNames: [], // 保存部门的名称 =>title
|
||||||
@@ -217,7 +227,7 @@ export default {
|
|||||||
}],
|
}],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
emailPassword:{
|
emailPassword: {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入邮箱密码'
|
message: '请输入邮箱密码'
|
||||||
@@ -242,7 +252,7 @@ export default {
|
|||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
realname: {rules: [{required: true, message: '请输入用户姓名'}], validateTrigger: 'blur'},
|
realname: {rules: [{required: true, message: '请输入用户姓名'}], validateTrigger: 'blur'},
|
||||||
phone: {rules: [{required: true,validator: this.validatePhone}], validateTrigger: 'blur'},
|
phone: {rules: [{required: true, validator: this.validatePhone}], validateTrigger: 'blur'},
|
||||||
email: {
|
email: {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true,
|
required: true,
|
||||||
@@ -250,8 +260,8 @@ export default {
|
|||||||
},],
|
},],
|
||||||
validateTrigger: 'blur'
|
validateTrigger: 'blur'
|
||||||
},
|
},
|
||||||
selectedroles:{rules: [{required: true, message:'请选择角色类型'}], validateTrigger: ['change']},
|
selectedroles: {rules: [{required: true, message: '请选择角色类型'}], validateTrigger: ['change']},
|
||||||
selecteddeparts:{rules: [{required: true, message:'请选择组织机构'}], validateTrigger: ['change']}
|
selecteddeparts: {rules: [{required: true, message: '请选择组织机构'}], validateTrigger: ['change']}
|
||||||
// sex:{initialValue:((!this.model.sex)?"": (this.model.sex+""))}
|
// sex:{initialValue:((!this.model.sex)?"": (this.model.sex+""))}
|
||||||
},
|
},
|
||||||
departIdShow: false,
|
departIdShow: false,
|
||||||
@@ -286,7 +296,7 @@ export default {
|
|||||||
tenantList: [],
|
tenantList: [],
|
||||||
currentTenant: [],
|
currentTenant: [],
|
||||||
// 公钥
|
// 公钥
|
||||||
rsaPublicKey:'',
|
rsaPublicKey: '',
|
||||||
disabledEdit: false, // 用户账号是否可编辑
|
disabledEdit: false, // 用户账号是否可编辑
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -372,7 +382,7 @@ export default {
|
|||||||
// eslint-disable-next-line no-prototype-builtins
|
// eslint-disable-next-line no-prototype-builtins
|
||||||
if (record.hasOwnProperty('id')) {
|
if (record.hasOwnProperty('id')) {
|
||||||
that.loadUserRoles(record.id).then(res => {
|
that.loadUserRoles(record.id).then(res => {
|
||||||
that.form.setFieldsValue({selectedroles:res})
|
that.form.setFieldsValue({selectedroles: res})
|
||||||
})
|
})
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.fileList = record.avatar
|
this.fileList = record.avatar
|
||||||
@@ -387,9 +397,9 @@ export default {
|
|||||||
that.disabledEdit = false
|
that.disabledEdit = false
|
||||||
}
|
}
|
||||||
// 组织机构修改成了单选,此处不需要了
|
// 组织机构修改成了单选,此处不需要了
|
||||||
if(record.departIds !== '' && record.id){
|
if (record.departIds !== '' && record.id) {
|
||||||
// 部门是数组的时候以逗号拼接
|
// 部门是数组的时候以逗号拼接
|
||||||
if(Object.prototype.toString.call(record.departIds) === '[object Array]') {
|
if (Object.prototype.toString.call(record.departIds) === '[object Array]') {
|
||||||
that.model.selecteddeparts = record.departIds.split(',')
|
that.model.selecteddeparts = record.departIds.split(',')
|
||||||
} else {
|
} else {
|
||||||
that.model.selecteddeparts = record.departIds
|
that.model.selecteddeparts = record.departIds
|
||||||
@@ -397,7 +407,7 @@ export default {
|
|||||||
|
|
||||||
}
|
}
|
||||||
that.$nextTick(() => {
|
that.$nextTick(() => {
|
||||||
that.form.setFieldsValue(pick(this.model, 'username', 'realname', 'email', 'phone', 'post','selecteddeparts','emailPassword'))
|
that.form.setFieldsValue(pick(this.model, 'username', 'realname', 'email', 'phone', 'post', 'selecteddeparts', 'emailPassword'))
|
||||||
})
|
})
|
||||||
//身份为上级显示负责部门,否则不显示
|
//身份为上级显示负责部门,否则不显示
|
||||||
if (this.model.userIdentity == '2') {
|
if (this.model.userIdentity == '2') {
|
||||||
@@ -420,13 +430,13 @@ export default {
|
|||||||
//update-end-author:taoyan date:2020710 for:多租户配置
|
//update-end-author:taoyan date:2020710 for:多租户配置
|
||||||
},
|
},
|
||||||
// 组织机构下拉数据
|
// 组织机构下拉数据
|
||||||
loadDepartTreeData(){
|
loadDepartTreeData() {
|
||||||
const that = this
|
const that = this
|
||||||
queryDepartTreeList().then((res) => {
|
queryDepartTreeList().then((res) => {
|
||||||
if(res.success){
|
if (res.success) {
|
||||||
that.treeDepartData = []
|
that.treeDepartData = []
|
||||||
let treeList = res.result
|
let treeList = res.result
|
||||||
for(let a=0;a<treeList.length;a++){
|
for (let a = 0; a < treeList.length; a++) {
|
||||||
let temp = treeList[a]
|
let temp = treeList[a]
|
||||||
temp.isLeaf = temp.leaf
|
temp.isLeaf = temp.leaf
|
||||||
that.treeDepartData.push(temp)
|
that.treeDepartData.push(temp)
|
||||||
@@ -438,10 +448,10 @@ export default {
|
|||||||
loadRolesTreeData() {
|
loadRolesTreeData() {
|
||||||
const that = this
|
const that = this
|
||||||
queryallRoles().then((res) => {
|
queryallRoles().then((res) => {
|
||||||
if(res.success){
|
if (res.success) {
|
||||||
that.treeRoleData = []
|
that.treeRoleData = []
|
||||||
let treeList = res.result
|
let treeList = res.result
|
||||||
for(let a=0;a<treeList.length;a++){
|
for (let a = 0; a < treeList.length; a++) {
|
||||||
let temp = treeList[a]
|
let temp = treeList[a]
|
||||||
temp.isLeaf = temp.leaf
|
temp.isLeaf = temp.leaf
|
||||||
that.treeRoleData.push(temp)
|
that.treeRoleData.push(temp)
|
||||||
@@ -507,7 +517,7 @@ export default {
|
|||||||
},
|
},
|
||||||
moment,
|
moment,
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
console.log('username',this.form.getFieldValue('username'))
|
console.log('username', this.form.getFieldValue('username'))
|
||||||
const that = this
|
const that = this
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
@@ -523,28 +533,34 @@ export default {
|
|||||||
// 公钥参数
|
// 公钥参数
|
||||||
formData.rsaPublicKey = that.rsaPublicKey
|
formData.rsaPublicKey = that.rsaPublicKey
|
||||||
// 新建 JSEncrypt 对象
|
// 新建 JSEncrypt 对象
|
||||||
formData.password =encrypt(that.rsaPublicKey,values.password)
|
formData.password = encrypt(that.rsaPublicKey, values.password)
|
||||||
formData.confirmpassword = formData.password
|
formData.confirmpassword = formData.password
|
||||||
formData.phone = encrypt(that.rsaPublicKey,values.phone)
|
formData.phone = encrypt(that.rsaPublicKey, values.phone)
|
||||||
formData.email = encrypt(that.rsaPublicKey,values.email)
|
formData.email = encrypt(that.rsaPublicKey, values.email)
|
||||||
// 加密邮箱密码
|
// 加密邮箱密码
|
||||||
formData.emailPassword = encrypt(that.rsaPublicKey,values.emailPassword)
|
formData.emailPassword = encrypt(that.rsaPublicKey, values.emailPassword)
|
||||||
//update-begin-author:taoyan date:2020710 for:多租户配置
|
//update-begin-author:taoyan date:2020710 for:多租户配置
|
||||||
formData.relTenantIds = this.currentTenant.length > 0 ? this.currentTenant.join(',') : ''
|
formData.relTenantIds = this.currentTenant.length > 0 ? this.currentTenant.join(',') : ''
|
||||||
//update-end-author:taoyan date:2020710 for:多租户配置
|
//update-end-author:taoyan date:2020710 for:多租户配置
|
||||||
formData.selectedroles = values.selectedroles.length > 0 ? values.selectedroles.join(',') : ''
|
formData.selectedroles = values.selectedroles.length > 0 ? values.selectedroles.join(',') : ''
|
||||||
|
|
||||||
// 部门由多选改成单选 所以不需要单独处理了,但为了历史数据可以使用,对values.selecteddeparts类型进行判断,如果是数组则以逗号分隔转成字符串,若是字符串则直接显示
|
// 部门由多选改成单选 所以不需要单独处理了,但为了历史数据可以使用,对values.selecteddeparts类型进行判断,如果是数组则以逗号分隔转成字符串,若是字符串则直接显示
|
||||||
if(Object.prototype.toString.call(values.selecteddeparts) === '[object Array]') {
|
if (Object.prototype.toString.call(values.selecteddeparts) === '[object Array]') {
|
||||||
formData.selecteddeparts = values.selecteddeparts.length > 0 ? values.selecteddeparts.join(',') : ''
|
formData.selecteddeparts = values.selecteddeparts.length > 0 ? values.selecteddeparts.join(',') : ''
|
||||||
}
|
}
|
||||||
// formData.selecteddeparts = values.selecteddeparts.length > 0 ? values.selecteddeparts.join(',') : ''
|
// formData.selecteddeparts = values.selecteddeparts.length > 0 ? values.selecteddeparts.join(',') : ''
|
||||||
|
|
||||||
|
// 不知道为啥 之前不要这两个字段 后面出bug了 说是这两个没传
|
||||||
|
formData.departIds = values.selecteddeparts
|
||||||
|
formData.roleIds = formData.selectedroles
|
||||||
|
//
|
||||||
formData.userIdentity = this.identity
|
formData.userIdentity = this.identity
|
||||||
//如果是上级择传入departIds,否则为空
|
//如果是上级择传入departIds,否则为空
|
||||||
if (this.identity === '2') {
|
// if (this.identity === '2') {
|
||||||
formData.departIds = this.departIds.join(',')
|
// formData.departIds = this.departIds.join(',')
|
||||||
} else {
|
// } else {
|
||||||
formData.departIds = ''
|
// formData.departIds = ''
|
||||||
}
|
// }
|
||||||
// that.addDepartsToUser(that,formData); // 调用根据当前用户添加部门信息的方法
|
// that.addDepartsToUser(that,formData); // 调用根据当前用户添加部门信息的方法
|
||||||
let obj
|
let obj
|
||||||
if (!this.model.id) {
|
if (!this.model.id) {
|
||||||
@@ -567,7 +583,7 @@ export default {
|
|||||||
that.userDepartModel.departIdList = {userId: '', departIdList: []}
|
that.userDepartModel.departIdList = {userId: '', departIdList: []}
|
||||||
})
|
})
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
that.confirmLoading = false
|
that.confirmLoading = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -600,29 +616,29 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
validatePhone(rule, value, callback) {
|
validatePhone(rule, value, callback) {
|
||||||
checkPhone(value,this.userId).then(res => {
|
checkPhone(value, this.userId).then(res => {
|
||||||
if(res.success){
|
if (res.success) {
|
||||||
callback()
|
callback()
|
||||||
}else {
|
} else {
|
||||||
callback(res.code === 500 ? '手机号已存在': res)
|
callback(res.code === 500 ? '手机号已存在' : res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
validateEmail(rule, value, callback) {
|
validateEmail(rule, value, callback) {
|
||||||
checkEmail(value,this.userId).then(res => {
|
checkEmail(value, this.userId).then(res => {
|
||||||
if(res.success){
|
if (res.success) {
|
||||||
callback()
|
callback()
|
||||||
}else {
|
} else {
|
||||||
callback(res.code === 500 ? '邮箱已存在': res)
|
callback(res.code === 500 ? '邮箱已存在' : res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
validateUsername(rule, value, callback) {
|
validateUsername(rule, value, callback) {
|
||||||
checkUserName(value,this.userId).then(res => {
|
checkUserName(value, this.userId).then(res => {
|
||||||
if(res.success){
|
if (res.success) {
|
||||||
callback()
|
callback()
|
||||||
}else {
|
} else {
|
||||||
callback(res.code === 500 ? '用户账号已存在': res)
|
callback(res.code === 500 ? '用户账号已存在' : res)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -24,14 +24,14 @@
|
|||||||
<a-col :span="6"></a-col>
|
<a-col :span="6"></a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
<a-input
|
<a-input-password
|
||||||
v-decorator="['password',{initialValue:'', rules: validatorRules.password.rules,validateTrigger: 'blur'}]"
|
v-decorator="['password',{initialValue:'', rules: validatorRules.password.rules,validateTrigger: 'blur'}]"
|
||||||
size="large"
|
size="large"
|
||||||
type="password"
|
type="password"
|
||||||
placeholder="请输入密码"
|
placeholder="请输入密码"
|
||||||
@paste.native.capture.prevent="handleOperate">
|
@paste.native.capture.prevent="handleOperate">
|
||||||
<a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
<a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||||
</a-input>
|
</a-input-password>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="6"></a-col>
|
<a-col :span="6"></a-col>
|
||||||
|
|||||||
@@ -70,13 +70,13 @@
|
|||||||
label="新密码"
|
label="新密码"
|
||||||
:labelCol="{span: 5}"
|
:labelCol="{span: 5}"
|
||||||
:wrapperCol="{span: 19}">
|
:wrapperCol="{span: 19}">
|
||||||
<a-input
|
<a-input-password
|
||||||
placeholder="请输入新密码"
|
placeholder="请输入新密码"
|
||||||
v-decorator="['password', validatorRules.password]"
|
v-decorator="['password', validatorRules.password]"
|
||||||
@paste.native.capture.prevent="handleOperate"
|
@paste.native.capture.prevent="handleOperate"
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
type="password">
|
type="password">
|
||||||
</a-input>
|
</a-input-password>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span='6'></a-col>
|
<a-col :span='6'></a-col>
|
||||||
@@ -87,13 +87,13 @@
|
|||||||
label="确认密码"
|
label="确认密码"
|
||||||
:labelCol="{span: 5}"
|
:labelCol="{span: 5}"
|
||||||
:wrapperCol="{span: 19}">
|
:wrapperCol="{span: 19}">
|
||||||
<a-input
|
<a-input-password
|
||||||
placeholder="请输入确认密码"
|
placeholder="请输入确认密码"
|
||||||
v-decorator="['confirmPassword', validatorRules.confirmPassword]"
|
v-decorator="['confirmPassword', validatorRules.confirmPassword]"
|
||||||
type="password"
|
type="password"
|
||||||
@paste.native.capture.prevent="handleOperate"
|
@paste.native.capture.prevent="handleOperate"
|
||||||
autocomplete="new-password">
|
autocomplete="new-password">
|
||||||
</a-input>
|
</a-input-password>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span='6'></a-col>
|
<a-col :span='6'></a-col>
|
||||||
@@ -155,7 +155,7 @@ export default {
|
|||||||
},
|
},
|
||||||
confirmPassword: {
|
confirmPassword: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请确认新密码!' },
|
{ required: true, message: '请输入确认密码!' },
|
||||||
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
||||||
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
|
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user