Merge branch 'branch20211008'
This commit is contained in:
+1
-1
@@ -147,7 +147,7 @@
|
||||
top: 0;
|
||||
width: 51%;
|
||||
height: 100%;
|
||||
background: #49a9ee;
|
||||
background: #069F99;
|
||||
/* Old browsers */
|
||||
z-index: 1000;
|
||||
-webkit-transform: translateX(0);
|
||||
|
||||
@@ -52,6 +52,8 @@ const removePackProject = (param) => postAction('/pack/payPackCompanyProject/rem
|
||||
const batchRemovePackProject = (param) => postAction('/pack/payPackCompanyProject/removeBatch', param)
|
||||
// 企业管理审核
|
||||
const aduitCompany = (param) => getAction('/company/payCompanyManagement/audit', param)
|
||||
// 企业管理删除确认是否有联系人
|
||||
const checkContactByCompany = (param) => getAction('/company/payCompanyManagement/queryCompanyByIdFindContacts', param)
|
||||
// 资料分发
|
||||
const distribute = (param) => postAction('/project/payWorkingGroupDistributionRecord/add', param)
|
||||
// 资料批量分发
|
||||
@@ -100,6 +102,7 @@ export {
|
||||
removePackProject,
|
||||
batchRemovePackProject,
|
||||
aduitCompany,
|
||||
checkContactByCompany,
|
||||
distribute,
|
||||
batchDistribute,
|
||||
distributeMemberList,
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
|
||||
// update-begin-author:sunjianlei date:20200120 for: 动态更改页面标题
|
||||
changeTitle(title) {
|
||||
let projectTitle = 'Jero-Boot 企业级快速开发平台'
|
||||
let projectTitle = '标准所协同工作平台'
|
||||
// 首页特殊处理
|
||||
if (this.$route.path === indexKey) {
|
||||
document.title = projectTitle
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
|
||||
@click="toggle"/>
|
||||
|
||||
<span v-if="device === 'desktop'">欢迎进入来款系统管理平台</span>
|
||||
<span v-if="device === 'desktop'">欢迎进入标准所协同工作平台</span>
|
||||
<span v-else>Jero-Boot</span>
|
||||
|
||||
<user-menu :theme="theme"/>
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
:title="currentTitle"
|
||||
arrow-point-at-center
|
||||
:mouse-enter-delay="0.1"
|
||||
@visibleChange="visibleChange"
|
||||
>
|
||||
@visibleChange="visibleChange">
|
||||
<img :src="status" @click="s"/>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
@@ -32,7 +31,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
currentTitle: ' ', // 气泡中显示的文字,必须有内容,否则dom选择时不会解析
|
||||
hasInfo: false, // 是否有详情信息可以显示,即是否通过接口请求过数据
|
||||
hasInfo: false // 是否有详情信息可以显示,即是否通过接口请求过数据
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -50,7 +49,7 @@ export default {
|
||||
statusType: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default:false
|
||||
default: false
|
||||
},
|
||||
/*
|
||||
* 具体的状态值
|
||||
@@ -60,8 +59,8 @@ export default {
|
||||
required: false
|
||||
},
|
||||
// 当前需要转换key的属性, 悬浮显示实际具体内容信息时需要
|
||||
// paymentRecord 来款 mail -- 邮寄 bill--邮寄
|
||||
statusKey:{
|
||||
// paymentRecord 来款 mail -- 邮寄 bill--开票
|
||||
statusKey: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'paymentRecord'
|
||||
@@ -76,32 +75,37 @@ export default {
|
||||
computed: {
|
||||
// eslint-disable-next-line vue/return-in-computed-property
|
||||
status() {
|
||||
if (this.statuObj.amountReceivable === '0.00' || this.statuObj.receivableAmount === '0.00' ) {
|
||||
if(this.statusType){
|
||||
if (this.statuObj.amountReceivable === '0.00' || this.statuObj.receivableAmount === '0.00') {
|
||||
if (this.statusType) {
|
||||
// 应收金额为0 未到账 未邮寄 未开票的状态
|
||||
return zero
|
||||
}else {
|
||||
} else {
|
||||
// 应收金额为0 打包 与需要开票的状态
|
||||
if(this.statusNo === 0 ){
|
||||
if (this.statusNo === 0) {
|
||||
return error
|
||||
}else if(this.statusNo === 1){
|
||||
} else if (this.statusNo === 1) {
|
||||
return finished
|
||||
}else if(this.statusNo === 2){
|
||||
} else if (this.statusNo === 2) {
|
||||
return half
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
} else {
|
||||
// 应收金额不为0 都正常判断
|
||||
if(this.statusNo === 0 ){
|
||||
return error
|
||||
}else if(this.statusNo === 1){
|
||||
if (this.statusNo === 0) {
|
||||
// 开票或邮寄时,不需要发票
|
||||
if ((this.statusKey === 'bill' || this.statusKey === 'mail') && this.statuObj.needInvoice === 0) {
|
||||
return zero
|
||||
} else {
|
||||
return error
|
||||
}
|
||||
} else if (this.statusNo === 1) {
|
||||
return finished
|
||||
}else if(this.statusNo === 2){
|
||||
} else if (this.statusNo === 2) {
|
||||
// 如果不是打包和需要发票
|
||||
if(this.statusType){
|
||||
if (this.statusType) {
|
||||
return half
|
||||
}else {
|
||||
} else {
|
||||
return finished
|
||||
}
|
||||
}
|
||||
@@ -110,11 +114,14 @@ export default {
|
||||
// 操作返回数据的key值,此处是根据业务逻辑处理的
|
||||
opeStatusKey() {
|
||||
let result = this.statusKey
|
||||
if(this.statusKey === 'mail' || this.statusKey === 'bill') {
|
||||
if (this.statusKey === 'mail' || this.statusKey === 'bill') {
|
||||
result = 'mailBill'
|
||||
}
|
||||
return result
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
s() {
|
||||
@@ -123,9 +130,9 @@ export default {
|
||||
visibleChange(visible) {
|
||||
// 到账、开票、邮寄 的时候,请求接口获得相应的数据
|
||||
// 判断条件 tooltip显示、 有不同的统计状态,统计状态值不为0 没有请求过详情数据
|
||||
if(visible && this.statusType && this.statusNo && !this.hasInfo) {
|
||||
this.getInfoFunc({id: this.statuObj.id}).then(res =>{
|
||||
if(res.success) {
|
||||
if (visible && this.statusType && this.statusNo && !this.hasInfo) {
|
||||
this.getInfoFunc({ id: this.statuObj.id }).then(res => {
|
||||
if (res.success) {
|
||||
let arr = res.result[this.opeStatusKey] || []
|
||||
let result = []
|
||||
arr.map(tt => {
|
||||
@@ -147,12 +154,12 @@ export default {
|
||||
let result = ''
|
||||
console.log(item)
|
||||
// 来款
|
||||
if(this.statusKey === 'paymentRecord') {
|
||||
result = `${item.paymentDate}到账${item.amountReceived}`
|
||||
} else if(this.statusKey === 'bill') {
|
||||
result = `${item.billDate}新增发票,发票单号:${item.billNo}`
|
||||
} else if(this.statusKey === 'mail') {
|
||||
result = `${item.sendDate}新增邮寄信息,邮寄单号:${item.postNo}`
|
||||
if (this.statusKey === 'paymentRecord') {
|
||||
result = `${ item.paymentDate }到账${ item.amountReceived }`
|
||||
} else if (this.statusKey === 'bill') {
|
||||
result = `${ item.billDate }新增发票,发票单号:${ item.billNo }`
|
||||
} else if (this.statusKey === 'mail') {
|
||||
result = `${ item.sendDate }新增邮寄信息,邮寄单号:${ item.postNo }`
|
||||
}
|
||||
return result
|
||||
}
|
||||
@@ -165,7 +172,7 @@ export default {
|
||||
</style>
|
||||
<style>
|
||||
/* 自定义tooltip下样式问题*/
|
||||
.status-tooltip .ant-tooltip-inner{
|
||||
white-space: pre-wrap!important;
|
||||
.status-tooltip .ant-tooltip-inner {
|
||||
white-space: pre-wrap !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -14,22 +14,35 @@
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
autocomplete="new-password"
|
||||
label="旧密码">
|
||||
<a-input type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]" />
|
||||
<a-input type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="新密码">
|
||||
<a-input type="password" placeholder="请输入新密码" v-decorator="[ 'password', validatorRules.password]" />
|
||||
<a-input
|
||||
type="password"
|
||||
placeholder="请输入新密码"
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
autocomplete="new-password"
|
||||
v-decorator="[ 'password', validatorRules.password]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="确认新密码">
|
||||
<a-input type="password" @blur="handleConfirmBlur" placeholder="请确认新密码" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||
<a-input
|
||||
type="password"
|
||||
@blur="handleConfirmBlur"
|
||||
placeholder="请确认新密码"
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
autocomplete="new-password"
|
||||
v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||
</a-form-item>
|
||||
|
||||
</a-form>
|
||||
@@ -39,116 +52,125 @@
|
||||
|
||||
<script>
|
||||
|
||||
import { putAction } from '@/api/manage'
|
||||
import { putAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'UserPassword',
|
||||
data () {
|
||||
return {
|
||||
title:'修改密码',
|
||||
modalWidth:800,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
validatorRules:{
|
||||
oldpassword:{
|
||||
rules: [{
|
||||
required: true, message: '请输入旧密码!',
|
||||
}],
|
||||
},
|
||||
password:{
|
||||
rules: [
|
||||
{ required: true, message: '请输入新密码!' },
|
||||
{ pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
},
|
||||
confirmpassword:{
|
||||
rules: [
|
||||
{ required: true, message: '请确认新密码!' },
|
||||
{ pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
}
|
||||
export default {
|
||||
name: 'UserPassword',
|
||||
data() {
|
||||
return {
|
||||
title: '修改密码',
|
||||
modalWidth: 800,
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
validatorRules: {
|
||||
oldpassword: {
|
||||
rules: [{
|
||||
required: true, message: '请输入旧密码!'
|
||||
}]
|
||||
},
|
||||
confirmDirty:false,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 },
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 },
|
||||
password: {
|
||||
rules: [
|
||||
{ required: true, message: '请输入新密码!' },
|
||||
{
|
||||
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
||||
message: '密码由8位数字、大小写字母和特殊符号组成!'
|
||||
},
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
},
|
||||
confirmpassword: {
|
||||
rules: [
|
||||
{ required: true, message: '请确认新密码!' },
|
||||
{
|
||||
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
||||
message: '密码由8位数字、大小写字母和特殊符号组成!'
|
||||
},
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
}
|
||||
},
|
||||
confirmDirty: false,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 16 }
|
||||
},
|
||||
|
||||
form:this.$form.createForm(this),
|
||||
url: 'sys/user/updatePassword',
|
||||
username:'',
|
||||
form: this.$form.createForm(this),
|
||||
url: 'sys/user/updatePassword',
|
||||
username: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
show(uname) {
|
||||
if (!uname) {
|
||||
this.$message.warning('当前系统无登录用户!')
|
||||
return
|
||||
} else {
|
||||
this.username = uname
|
||||
this.form.resetFields()
|
||||
this.visible = true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
show(uname){
|
||||
if(!uname){
|
||||
this.$message.warning('当前系统无登录用户!')
|
||||
return
|
||||
}else{
|
||||
this.username = uname
|
||||
this.form.resetFields()
|
||||
this.visible = true
|
||||
handleCancel() {
|
||||
this.close()
|
||||
},
|
||||
close() {
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
this.disableSubmit = false
|
||||
this.selectedRole = []
|
||||
},
|
||||
handleOk() {
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
let params = Object.assign({ username: this.username }, values)
|
||||
console.log('修改密码提交数据', params)
|
||||
putAction(this.url, params).then((res) => {
|
||||
if (res.success) {
|
||||
console.log(res)
|
||||
that.$message.success(res.message)
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
handleCancel () {
|
||||
this.close()
|
||||
},
|
||||
close () {
|
||||
this.$emit('close')
|
||||
this.visible = false
|
||||
this.disableSubmit = false
|
||||
this.selectedRole = []
|
||||
},
|
||||
handleOk () {
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
let params = Object.assign({username:this.username},values)
|
||||
console.log('修改密码提交数据',params)
|
||||
putAction(this.url,params).then((res)=>{
|
||||
if(res.success){
|
||||
console.log(res)
|
||||
that.$message.success(res.message)
|
||||
that.close()
|
||||
}else{
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
validateToNextPassword (rule, value, callback) {
|
||||
const form = this.form
|
||||
if (value && this.confirmDirty) {
|
||||
form.validateFields(['confirm'], { force: true })
|
||||
}
|
||||
callback()
|
||||
},
|
||||
compareToFirstPassword (rule, value, callback) {
|
||||
const form = this.form
|
||||
if (value && value !== form.getFieldValue('password')) {
|
||||
callback('两次输入的密码不一样!')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
handleConfirmBlur (e) {
|
||||
const value = e.target.value
|
||||
this.confirmDirty = this.confirmDirty || !!value
|
||||
})
|
||||
},
|
||||
validateToNextPassword(rule, value, callback) {
|
||||
const form = this.form
|
||||
if (value && this.confirmDirty) {
|
||||
form.validateFields(['confirm'], { force: true })
|
||||
}
|
||||
|
||||
callback()
|
||||
},
|
||||
compareToFirstPassword(rule, value, callback) {
|
||||
const form = this.form
|
||||
if (value && value !== form.getFieldValue('password')) {
|
||||
callback('两次输入的密码不一样!')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
},
|
||||
handleConfirmBlur(e) {
|
||||
const value = e.target.value
|
||||
this.confirmDirty = this.confirmDirty || !!value
|
||||
},
|
||||
// 密码禁止粘贴
|
||||
handleOperate() {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -34,8 +34,11 @@
|
||||
@change="handleImportExcel" v-has="'company:import'">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('单位/开票信息')" v-has="'company:export'">导出</a-button>
|
||||
<a-button type="primary" icon="download" @click="downTemplate('单位/开票信息导入模板')" v-has="'company:downTemplate'">下载模板</a-button>
|
||||
<a-button type="primary" icon="export" @click="handleExportXls('单位/开票信息')" v-has="'company:export'">导出
|
||||
</a-button>
|
||||
<a-button type="primary" icon="download" @click="downTemplate('单位/开票信息导入模板')" v-has="'company:downTemplate'">
|
||||
下载模板
|
||||
</a-button>
|
||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'company:batchDel'">批量删除</a-button>
|
||||
</div>
|
||||
<!-- 操作按钮区域-end-->
|
||||
@@ -61,9 +64,10 @@
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="handleAudit(record.id)" v-if="record.dataSource===2 && record.status===2" v-has="'company:confirm'">确认</a>
|
||||
<a @click="handleAudit(record.id)" v-if="record.dataSource===2 && record.status===2"
|
||||
v-has="'company:confirm'">确认</a>
|
||||
<a @click="handleEdit(record)" v-has="'company:edit'">编辑</a>
|
||||
<a @click="handleDelete(record.id)" v-has="'company:delete'">删除</a>
|
||||
<a @click="confirmDelete(record)" v-has="'company:delete'">删除</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
@@ -78,7 +82,8 @@ import JEllipsis from '@comp/jero/JEllipsis'
|
||||
import BusinessManagementModule from './modules/BusinessManagementModule'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_company_management.png'
|
||||
import { aduitCompany } from '../../api/incomePaymentsApi'
|
||||
import { aduitCompany, checkContactByCompany } from '../../api/incomePaymentsApi'
|
||||
import { getAction } from '../../api/manage'
|
||||
|
||||
export default {
|
||||
name: 'BusinessManagement',
|
||||
@@ -159,7 +164,7 @@ export default {
|
||||
}
|
||||
],
|
||||
url: {
|
||||
list: '/company/payCompanyManagement/list',
|
||||
list: '/company/payCompanyManagement/queryCompanyPageList',
|
||||
delete: '/company/payCompanyManagement/delete',
|
||||
deleteBatch: '/company/payCompanyManagement/deleteBatch',
|
||||
exportXlsUrl: '/company/payCompanyManagement/exportXls',
|
||||
@@ -177,9 +182,9 @@ export default {
|
||||
const that = this
|
||||
this.$confirm({
|
||||
title: '确认',
|
||||
content: '确认该单位信息吗?',
|
||||
content: '确认该单位/开票信息吗?',
|
||||
onOk: function () {
|
||||
aduitCompany({id: id}).then((res) => {
|
||||
aduitCompany({ id: id }).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.result)
|
||||
that.loadData()
|
||||
@@ -189,6 +194,91 @@ export default {
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 单个删除的确认
|
||||
* @param record
|
||||
*/
|
||||
confirmDelete(record) {
|
||||
const that = this
|
||||
checkContactByCompany({ id: record.id }).then((res) => {
|
||||
if (res.success) {
|
||||
let confirmContent = '确定要删除该企业吗?'
|
||||
if (res.result && res.result.length > 0) {
|
||||
confirmContent = `${ res.result.join(',').toString() }下有联系人,确定要删除该企业吗?`
|
||||
}
|
||||
this.$confirm({
|
||||
title: '确认删除',
|
||||
content: confirmContent,
|
||||
onOk: function () {
|
||||
getAction(that.url.delete, { id: record.id }).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
// 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一
|
||||
if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) {
|
||||
that.ipagination.current -= 1
|
||||
}
|
||||
that.loadData()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
batchDel() {
|
||||
if (!this.url.deleteBatch) {
|
||||
this.$message.error('请设置url.deleteBatch属性!')
|
||||
return
|
||||
}
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warning('请选择一条记录!')
|
||||
return
|
||||
} else {
|
||||
let ids = ''
|
||||
for (let a = 0; a < this.selectedRowKeys.length; a++) {
|
||||
ids += this.selectedRowKeys[a] + ','
|
||||
}
|
||||
checkContactByCompany({ id: ids }).then((res) => {
|
||||
if (res.success) {
|
||||
let confirmContent = '是否删除选中数据?'
|
||||
if (res.result && res.result.length > 0) {
|
||||
confirmContent = `${res.result.join(',').toString()}下有联系人,确定要删除选中企业吗?`
|
||||
}
|
||||
const that = this
|
||||
this.$confirm({
|
||||
title: '确认删除',
|
||||
content: confirmContent,
|
||||
onOk: function () {
|
||||
that.loading = true
|
||||
getAction(that.url.deleteBatch, { ids: ids }).then((res) => {
|
||||
if (res.success) {
|
||||
that.$message.success(res.message)
|
||||
// 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一
|
||||
if (that.ipagination.current > 1 && (that.ipagination.current === Math.ceil(that.ipagination.total / that.ipagination.pageSize)) &&
|
||||
that.selectedRowKeys.length === that.dataSource.length
|
||||
) {
|
||||
that.ipagination.current -= 1
|
||||
}
|
||||
that.loadData()
|
||||
that.onClearSelected()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.loading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<a-row>
|
||||
<a-col :xl="12" :sm="24">
|
||||
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入公司名称"
|
||||
<a-input placeholder="请输入企业名称"
|
||||
v-decorator="['companyName',validatorRules.companyName]"
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-form-item label="信用代码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入信用代码"
|
||||
v-decorator="['dutyCode', validatorRules.dutyCode]"
|
||||
:maxLength='50'
|
||||
:maxLength='18'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -97,11 +97,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -214,11 +209,14 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
// values.dataSource = this.dataForm
|
||||
// values.signingUp = this.applyAdd
|
||||
let httpurl = ''
|
||||
@@ -239,8 +237,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -258,7 +260,7 @@ export default {
|
||||
if (phoneReg(value) || isPhone(value)) {
|
||||
callback()
|
||||
} else {
|
||||
callback('请填写正确的电话号码')
|
||||
callback('请输入正确的电话号码')
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -97,10 +97,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -237,11 +233,14 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
// 处理企业名称和id等信息
|
||||
values.companyName = values.company.companyName
|
||||
values.companyId = values.company.id
|
||||
@@ -266,8 +265,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
+12
-5
@@ -349,7 +349,7 @@ export default {
|
||||
this.$refs.installmentForm.initInstallmentList([])
|
||||
// 税率默认为6
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({rate: 6})
|
||||
this.form.setFieldsValue({ rate: 6 })
|
||||
})
|
||||
this.rateNum = 6 / 100
|
||||
},
|
||||
@@ -397,9 +397,12 @@ export default {
|
||||
handleSave() {
|
||||
// 验证分期信息
|
||||
this.$refs.installmentForm.handleSave()
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.confirmLoading = true
|
||||
if (this.installmentList && this.installmentList.length > 0) {
|
||||
let formData = {}
|
||||
formData.installment = this.installmentList
|
||||
@@ -423,11 +426,15 @@ export default {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -546,7 +553,7 @@ export default {
|
||||
* @param e
|
||||
*/
|
||||
noTaxChange(e) {
|
||||
e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim()
|
||||
e.target.value = (e.target.value.replace(/[^0-9.]/g, '')).trim()
|
||||
this.inputNoTaxAmount = Number(e.target.value)
|
||||
this.calculateContractAmount()
|
||||
},
|
||||
@@ -573,7 +580,7 @@ export default {
|
||||
}
|
||||
let contractNum = this.inputNoTaxAmount * (1 + this.rateNum)
|
||||
contractNum = contractNum.toFixed(2)
|
||||
this.form.setFieldsValue({contractAmount: contractNum})
|
||||
this.form.setFieldsValue({ contractAmount: contractNum })
|
||||
},
|
||||
/**
|
||||
* 应收金额输入
|
||||
|
||||
@@ -74,13 +74,6 @@ export default {
|
||||
]
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isPack(value) {
|
||||
if (value) {
|
||||
this.projectType.splice(2, 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
this.visible = true
|
||||
|
||||
@@ -32,10 +32,6 @@
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick :loading="confirmLoading">确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -84,9 +80,12 @@ export default {
|
||||
methods: {
|
||||
handleOk() {
|
||||
// 触发表单验证
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.confirmLoading = true
|
||||
values.contractId = this.contractId
|
||||
const formData = Object.assign(this.model, values)
|
||||
console.log('表单提交数据', formData)
|
||||
@@ -99,8 +98,12 @@ export default {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
</div>
|
||||
<!-- /分期信息-->
|
||||
<a-form-item class="table-operator">
|
||||
<a-button type="primary" @click="handleSave" v-preventclick>保存</a-button>
|
||||
<a-button type="primary" @click="handleSave" :loading="confirmLoading">保存</a-button>
|
||||
<a-button @click="handleCancle">取消</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
@@ -487,6 +487,10 @@ export default {
|
||||
* 表单提交
|
||||
*/
|
||||
handleSave() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
// 验证分期信息
|
||||
this.$refs.installmentForm.handleSave()
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -518,11 +522,15 @@ export default {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -799,13 +807,13 @@ export default {
|
||||
break
|
||||
// 会议项目
|
||||
case 3:
|
||||
// 传入合同信息
|
||||
this.$refs.selectMeetingProjectModule.open(this.newFormData)
|
||||
// 打包为是不能选择关联会议项目
|
||||
if (this.newFormData.pack === 1) {
|
||||
this.$message.warn('打包不可选择会议项目')
|
||||
} else {
|
||||
// 传入合同信息
|
||||
this.$refs.selectMeetingProjectModule.open(this.newFormData)
|
||||
}
|
||||
// if (this.newFormData.pack === 1) {
|
||||
// this.$message.warn('打包不可选择会议项目')
|
||||
// } else {
|
||||
// }
|
||||
break
|
||||
// 会员项目
|
||||
case 4:
|
||||
|
||||
@@ -97,11 +97,6 @@
|
||||
:is-contract-num-disabled="true"
|
||||
:flag="1"
|
||||
@ok="selectProjectOk"></general-project-module>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -288,11 +283,15 @@ export default {
|
||||
this.$emit('ok')
|
||||
},
|
||||
handleOk() {
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warn('请选择项目后再提交关联')
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warn('请选择项目后再提交关联')
|
||||
this.confirmLoading = false
|
||||
return
|
||||
}
|
||||
let submitData = []
|
||||
let projectItem
|
||||
this.selectedRowKeys.forEach(item => {
|
||||
@@ -311,7 +310,9 @@ export default {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
|
||||
+9
-8
@@ -80,11 +80,6 @@
|
||||
:is-contract-num-disabled="true"
|
||||
:flag="1"
|
||||
:default-charge-way="2"></working-group-member-unit-module>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -179,11 +174,15 @@ export default {
|
||||
this.$emit('ok')
|
||||
},
|
||||
handleOk() {
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warn('请选择项目后再提交关联')
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
if (this.selectedRowKeys.length <= 0) {
|
||||
this.$message.warn('请选择项目后再提交关联')
|
||||
this.confirmLoading = false
|
||||
return
|
||||
}
|
||||
let submitData = []
|
||||
let projectItem
|
||||
this.selectedRowKeys.forEach(item => {
|
||||
@@ -203,7 +202,9 @@ export default {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
|
||||
@@ -76,11 +76,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -148,6 +143,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -175,8 +174,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -34,11 +34,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -93,6 +88,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -116,8 +115,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -36,10 +36,6 @@
|
||||
:maxLength='200'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"/>
|
||||
</a-form-item>
|
||||
<a-form-item class="table-operator">
|
||||
<a-button type="primary" @click="handleOk" v-preventclick>保存</a-button>
|
||||
<a-button @click="handleCancle">取消</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
</div>
|
||||
@@ -113,6 +109,10 @@ export default {
|
||||
})
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
@@ -136,9 +136,13 @@ export default {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
this.initDirectoryList()
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -339,7 +339,10 @@ export default {
|
||||
})
|
||||
// 选中项目非同一企业
|
||||
if (!isAllEqual(companyArr)) {
|
||||
reject('请选择来款单位为同一企业的项目合并开票')
|
||||
reject('请选择来款单位为同一企业的项目合并开票!')
|
||||
}
|
||||
if (arr.some(item => item.invoiceAmount && Number(item.invoiceAmount) === Number(item.receivableAmount))) {
|
||||
reject('存在已完成开票的项目!')
|
||||
}
|
||||
this.selectedCompany = {
|
||||
id: arr[0].chargeCompanyId,
|
||||
|
||||
@@ -35,11 +35,6 @@
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -109,6 +104,10 @@ export default {
|
||||
})
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
values.projectId = this.projectId
|
||||
@@ -130,7 +129,13 @@ export default {
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -41,11 +41,6 @@
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -137,6 +132,10 @@ export default {
|
||||
})
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
// values.chargeCompanyName = this.chargeCompanyName
|
||||
@@ -170,7 +169,13 @@ export default {
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -574,7 +574,7 @@ export default {
|
||||
// 生成会议报名二维码
|
||||
this.signUpQRCode = await this.generateQRCode(this.signUpHerfUrl)
|
||||
// 生成签到二维码
|
||||
this.signInQRCode = await this.generateQRCode('https://www.baidu.com')
|
||||
this.signInQRCode = await this.generateQRCode(this.signInUrl)
|
||||
},
|
||||
computed: {
|
||||
// 标协会议类型
|
||||
@@ -601,6 +601,10 @@ export default {
|
||||
// 报名链接
|
||||
signUpHerfUrl() {
|
||||
return `${window._CONFIG['singUpQRCodeURL']}?id=${this.$route.query.id}`
|
||||
},
|
||||
// 签到地址
|
||||
signInUrl() {
|
||||
return `${window._CONFIG['signInUrl']}?id=${this.$route.query.id}`
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -59,7 +59,7 @@ export default {
|
||||
// 列表选择的key值
|
||||
meetingSituationIds:[],
|
||||
url: {
|
||||
add: '/meeting/payMeetingSituation/addDock',
|
||||
add: '/meeting/internalMeetingSituation/addDock',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -99,6 +99,16 @@
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true"></status-slot>
|
||||
</template>
|
||||
|
||||
<!-- 开票-->
|
||||
<template slot="status-bill" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="bill"></status-slot>
|
||||
</template>
|
||||
|
||||
<!-- 邮寄-->
|
||||
<template slot="status-mail" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text" :status-type="true" status-key="mail"></status-slot>
|
||||
</template>
|
||||
|
||||
<template slot="status-pack" slot-scope="text,record">
|
||||
<status-slot :statu-obj="record" :status-no="text"></status-slot>
|
||||
</template>
|
||||
@@ -199,13 +209,13 @@ export default {
|
||||
title: '开票',
|
||||
align: 'center',
|
||||
dataIndex: 'makeInvoice',
|
||||
scopedSlots: {customRender: 'status'}
|
||||
scopedSlots: {customRender: 'status-bill'}
|
||||
},
|
||||
{
|
||||
title: '邮寄',
|
||||
align: 'center',
|
||||
dataIndex: 'mail',
|
||||
scopedSlots: {customRender: 'status'}
|
||||
scopedSlots: {customRender: 'status-mail'}
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
||||
@@ -134,6 +134,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -151,8 +155,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -140,6 +140,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -166,8 +170,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -59,11 +59,6 @@
|
||||
</a-table>
|
||||
</div>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -197,6 +192,10 @@ export default {
|
||||
this.$forceUpdate()
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let formData = []
|
||||
@@ -221,7 +220,13 @@ export default {
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -94,11 +94,6 @@
|
||||
|
||||
</a-table>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -341,6 +336,10 @@ export default {
|
||||
})
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
let bmpList = []
|
||||
@@ -367,7 +366,13 @@ export default {
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -93,11 +93,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -205,6 +200,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -228,8 +227,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -71,11 +71,6 @@
|
||||
</a-table>
|
||||
</div>
|
||||
</a-spin>
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -197,8 +192,13 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
if (this.selectedRowKeys.length === 0) {
|
||||
this.$message.warn('请至少选择一个项目')
|
||||
this.confirmLoading = false
|
||||
return
|
||||
}
|
||||
let projectIds = this.selectedRowKeys.join(',')
|
||||
@@ -214,6 +214,10 @@ export default {
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
|
||||
@@ -316,12 +316,12 @@ export default {
|
||||
chargeNoticeList: [], // 收费通知号选项
|
||||
importParam: {},
|
||||
// 给定当年作为来款年份默认查询条件
|
||||
queryParam: {
|
||||
paymentDate: new Date().getFullYear().toString()
|
||||
},
|
||||
lastQueryParam: {
|
||||
paymentDate: new Date().getFullYear().toString()
|
||||
},
|
||||
// queryParam: {
|
||||
// paymentDate: new Date().getFullYear().toString()
|
||||
// },
|
||||
// lastQueryParam: {
|
||||
// paymentDate: new Date().getFullYear().toString()
|
||||
// },
|
||||
canOperate: true, // 是否可操作(负责人B不可操作)
|
||||
}
|
||||
},
|
||||
@@ -468,15 +468,16 @@ export default {
|
||||
window.open(url)
|
||||
}
|
||||
},
|
||||
searchReset() {
|
||||
this.lastQueryParam = {
|
||||
paymentDate: new Date().getFullYear().toString()
|
||||
}
|
||||
this.queryParam = {
|
||||
paymentDate: new Date().getFullYear().toString()
|
||||
}
|
||||
this.loadData(1)
|
||||
},
|
||||
// 2021 10 11 沟通后去掉了这个功能
|
||||
// searchReset() {
|
||||
// this.lastQueryParam = {
|
||||
// paymentDate: new Date().getFullYear().toString()
|
||||
// }
|
||||
// this.queryParam = {
|
||||
// paymentDate: new Date().getFullYear().toString()
|
||||
// }
|
||||
// this.loadData(1)
|
||||
// },
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<a-row>
|
||||
<a-col :xxl="4" :xl="10" :lg="12" :md="12" :sm="24">
|
||||
<a-form-item label="文件名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入文件名称" v-model="queryParam.workGroup"></a-input>
|
||||
<a-input placeholder="请输入文件名称" v-model="queryParam.fileName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<span class="table-page-search-submitButtons">
|
||||
|
||||
@@ -173,10 +173,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -379,6 +375,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -411,8 +411,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -61,11 +61,6 @@
|
||||
<a @click="handleDelete(record.id)">删除</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<template slot="footer">
|
||||
<a-button type="primary" :disabled="confirmLoading" @click="handleOk" v-preventclick>确定发布</a-button>
|
||||
<a-button @click="handleCancel">取消</a-button>
|
||||
</template>
|
||||
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -211,11 +206,15 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
if (this.selectionRows.length === 0) {
|
||||
this.$message.warn('请至少选择一个成员单位')
|
||||
this.confirmLoading = false
|
||||
return
|
||||
} else {
|
||||
this.confirmLoading = true
|
||||
const param = {
|
||||
meetingIds: this.selectedMetingList,
|
||||
subitemIds: this.selectedRowKeys,
|
||||
@@ -231,7 +230,9 @@ export default {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
</a-form>
|
||||
<a-empty v-else></a-empty>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -148,12 +144,18 @@ export default {
|
||||
this.memberList = []
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
if (this.memberList.length === 0) {
|
||||
this.$message.warn('当前工作组暂无成员,无法分发文件')
|
||||
this.confirmLoading = false
|
||||
return
|
||||
}
|
||||
if (this.checkedKeys.length === 0) {
|
||||
this.form.validateFields()
|
||||
this.confirmLoading = false
|
||||
return
|
||||
}
|
||||
let str = this.checkedKeys.join(',').toString()
|
||||
@@ -179,7 +181,9 @@ export default {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
// 单个分发
|
||||
@@ -198,9 +202,13 @@ export default {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -25,10 +25,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -101,6 +97,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
@@ -108,17 +108,21 @@ export default {
|
||||
let params = values
|
||||
params.projectId = this.projectId
|
||||
params.projectType = this.projectType
|
||||
postAction(this.url.add, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.$emit('ok')
|
||||
this.close()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
postAction(this.url.add, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.$emit('ok')
|
||||
this.close()
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
})
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -198,10 +198,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -436,6 +432,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -471,8 +471,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -168,10 +168,6 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
|
||||
</template>
|
||||
</j-modal>
|
||||
</template>
|
||||
|
||||
@@ -251,6 +247,9 @@ export default {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(pick(this.model, 'workingGroupProject', 'year', 'principalIdA', 'principalIdB', 'convokeNum', 'operationCycle', 'yearChargeA', 'chargeNoticeNoA', 'chargeNoticeAId', 'yearChargeB', 'chargeNoticeNoB', 'chargeNoticeBId', 'missionAndObjectives', 'remarks'))
|
||||
if (!this.model.id) {
|
||||
this.form.setFieldsValue({'year': (new Date().getFullYear()).toString()})
|
||||
}
|
||||
})
|
||||
},
|
||||
close() {
|
||||
@@ -258,6 +257,10 @@ export default {
|
||||
this.visible = false
|
||||
},
|
||||
handleOk() {
|
||||
if (this.confirmLoading) {
|
||||
return
|
||||
}
|
||||
this.confirmLoading = true
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
@@ -283,8 +286,12 @@ export default {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
setTimeout(() => {
|
||||
this.confirmLoading = false
|
||||
}, 1000)
|
||||
})
|
||||
} else {
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<!-- <a-popconfirm title="确定删除吗?" @confirm="() =>handleDelete(record.id)">-->
|
||||
|
||||
<!-- </a-popconfirm>\-->
|
||||
<a @click="handleDelete(record.id)" v-has="'sys:dict:del'">删除</a>
|
||||
<!-- <a @click="handleDelete(record.id)" v-has="'sys:dict:del'">删除</a>-->
|
||||
</span>
|
||||
<template slot="text" slot-scope="text">
|
||||
<span v-if="!text"></span>
|
||||
|
||||
@@ -123,7 +123,7 @@ export default {
|
||||
sorter: true
|
||||
}, {
|
||||
title: '角色',
|
||||
dataIndex: 'roleName',
|
||||
dataIndex: 'roleName_dictText',
|
||||
align: 'center',
|
||||
sorter: true
|
||||
},
|
||||
|
||||
@@ -39,28 +39,28 @@
|
||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link">
|
||||
更多 <a-icon type="down"/>
|
||||
</a>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleDetail(record)">详情</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleAddSub(record)">添加下级</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleDataRule(record)">数据规则</a>
|
||||
</a-menu-item>
|
||||
<!-- <a-dropdown>-->
|
||||
<!-- <a class="ant-dropdown-link">-->
|
||||
<!-- 更多 <a-icon type="down"/>-->
|
||||
<!-- </a>-->
|
||||
<!-- <a-menu slot="overlay">-->
|
||||
<!-- <a-menu-item>-->
|
||||
<!-- <a href="javascript:;" @click="handleDetail(record)">详情</a>-->
|
||||
<!-- </a-menu-item>-->
|
||||
<!-- <a-menu-item>-->
|
||||
<!-- <a href="javascript:;" @click="handleAddSub(record)">添加下级</a>-->
|
||||
<!-- </a-menu-item>-->
|
||||
<!-- <a-menu-item>-->
|
||||
<!-- <a href="javascript:;" @click="handleDataRule(record)">数据规则</a>-->
|
||||
<!-- </a-menu-item>-->
|
||||
|
||||
<a-menu-item>
|
||||
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
|
||||
<!-- </a-popconfirm>-->
|
||||
<a @click="handleDelete(record.id)">删除</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</a-dropdown>
|
||||
<!-- <a-menu-item>-->
|
||||
<!--<!– <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">–>-->
|
||||
<!-- <!– </a-popconfirm>–>-->
|
||||
<!-- <a @click="handleDelete(record.id)">删除</a>-->
|
||||
<!-- </a-menu-item>-->
|
||||
<!-- </a-menu>-->
|
||||
<!-- </a-dropdown>-->
|
||||
</span>
|
||||
<!-- 字符串超长截取省略号显示 -->
|
||||
<span slot="url" slot-scope="text">
|
||||
|
||||
@@ -25,27 +25,29 @@
|
||||
|
||||
<!-- 每年一次(月日)-->
|
||||
<div class="m-d">
|
||||
<!-- 月-->
|
||||
<template v-if="selectDeptFrequency === '2'">
|
||||
<a-select
|
||||
class="select-month"
|
||||
placeholder="请选择月"
|
||||
allowClear
|
||||
v-decorator="['deptMonth', validatorRules.deptMonth]"
|
||||
:options="monthOptions">
|
||||
</a-select>
|
||||
</template>
|
||||
|
||||
<!-- 日-->
|
||||
<template v-if="selectDeptFrequency === '2' || selectDeptFrequency === '3'">
|
||||
<a-select
|
||||
style="width: calc(50% - 8px)"
|
||||
placeholder="请选择日"
|
||||
allowClear
|
||||
v-decorator="['deptDay', validatorRules.deptDay]"
|
||||
:options="dayOptions">
|
||||
</a-select>
|
||||
</template>
|
||||
<a-row :gutter="12">
|
||||
<a-col :span="12">
|
||||
<!-- 月-->
|
||||
<template v-if="selectDeptFrequency === '2'">
|
||||
<a-select
|
||||
placeholder="请选择月"
|
||||
allowClear
|
||||
v-decorator="['deptMonth', validatorRules.deptMonth]"
|
||||
:options="monthOptions">
|
||||
</a-select>
|
||||
</template>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item v-if="selectDeptFrequency === '2' || selectDeptFrequency === '3'">
|
||||
<a-select
|
||||
placeholder="请选择日"
|
||||
allowClear
|
||||
v-decorator="['deptDay', validatorRules.deptDay]"
|
||||
:options="dayOptions">
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-form-item>
|
||||
<a-form-item class="btn-form">
|
||||
@@ -85,7 +87,7 @@ export default {
|
||||
rules: [{ required: true, message: '请选择频率' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
deptTime: {
|
||||
time: {
|
||||
rules: [{ required: true, message: '请选择催款时间' }],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
@@ -293,11 +295,6 @@ export default {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.select-month {
|
||||
margin-right: 16px;
|
||||
width: calc(50% - 8px);
|
||||
}
|
||||
|
||||
.btn-form {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="字典编码">
|
||||
<a-input placeholder="请输入字典编码" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator.trim="[ 'dictCode', validatorRules.dictCode]"/>
|
||||
<a-input placeholder="请输入字典编码" :disabled="!!model.id" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator.trim="[ 'dictCode', validatorRules.dictCode]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -39,9 +39,9 @@
|
||||
|
||||
<script>
|
||||
import pick from 'lodash.pick'
|
||||
import { addDict, editDict, duplicateCheck } from '@api/api'
|
||||
import { addDict, editDict } from '@api/api'
|
||||
import {checkDictCode} from '@/utils/validateOnly'
|
||||
import JDate from '@comp/jero/JDate'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'DictModal',
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
:treeData="treeData"
|
||||
v-model="model.parentId"
|
||||
placeholder="请选择父级菜单"
|
||||
:disabled="disableSubmit"
|
||||
:disabled="!!model.id"
|
||||
@change="handleParentIdChange">
|
||||
</a-tree-select>
|
||||
</a-form-item>
|
||||
@@ -51,7 +51,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="菜单路径">
|
||||
<a-input @change="event => event.target.value = event.target.value.trim()" :maxLength="100" placeholder="请输入菜单路径" v-decorator="[ 'url',validatorRules.url]" :readOnly="disableSubmit"/>
|
||||
<a-input :disabled="!!model.id" @change="event => event.target.value = event.target.value.trim()" :maxLength="100" placeholder="请输入菜单路径" v-decorator="[ 'url',validatorRules.url]" :readOnly="disableSubmit"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -59,7 +59,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="前端组件">
|
||||
<a-input placeholder="请输入前端组件" @change="event => event.target.value = event.target.value.trim()" :maxLength="120" v-decorator="[ 'component',validatorRules.component]" :readOnly="disableSubmit"/>
|
||||
<a-input :disabled="!!model.id" placeholder="请输入前端组件" @change="event => event.target.value = event.target.value.trim()" :maxLength="120" v-decorator="[ 'component',validatorRules.component]" :readOnly="disableSubmit"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -67,7 +67,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="默认跳转地址">
|
||||
<a-input placeholder="请输入路由参数 redirect" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'redirect',{}]" :readOnly="disableSubmit"/>
|
||||
<a-input :disabled="!!model.id" placeholder="请输入路由参数 redirect" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'redirect',{}]" :readOnly="disableSubmit"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -76,7 +76,7 @@
|
||||
:wrapperCol="wrapperCol"
|
||||
label="授权标识">
|
||||
<!-- {validator: this.validatePerms }-->
|
||||
<a-input placeholder="请输入授权标识, 如: user:list" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'perms', {rules:[{ required: false, message: '请输入授权标识!' }]}]" :readOnly="disableSubmit"/>
|
||||
<a-input :disabled="!!model.id" placeholder="请输入授权标识, 如: user:list" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'perms', {rules:[{ required: false, message: '请输入授权标识!' }]}]" :readOnly="disableSubmit"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
@@ -84,7 +84,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="授权策略">
|
||||
<j-dict-select-tag v-decorator="['permsType', {}]" placeholder="请选择授权策略" :type="'radio'" :triggerChange="true" dictCode="global_perms_type"/>
|
||||
<j-dict-select-tag :disabled="!!model.id" v-decorator="['permsType', {}]" placeholder="请选择授权策略" :type="'radio'" :triggerChange="true" dictCode="global_perms_type"/>
|
||||
|
||||
|
||||
</a-form-item>
|
||||
@@ -93,7 +93,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="状态">
|
||||
<j-dict-select-tag v-decorator="['status', {}]" placeholder="请选择状态" :type="'radio'" :triggerChange="true" dictCode="valid_status"/>
|
||||
<j-dict-select-tag :disabled="!!model.id" v-decorator="['status', {}]" placeholder="请选择状态" :type="'radio'" :triggerChange="true" dictCode="valid_status"/>
|
||||
|
||||
</a-form-item>
|
||||
|
||||
|
||||
@@ -30,11 +30,13 @@
|
||||
<template v-if="!model.id">
|
||||
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input type="password" placeholder="请输入登录密码" :maxLength="50" autocomplete='new-password'
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
@change="event => event.target.value = event.target.value.trim()" :disabled="disableSubmit" v-decorator="[ 'password',validatorRules.password]"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input type="password" @blur="handleConfirmBlur" :maxLength="50" placeholder="请输入确认密码" :disabled="disableSubmit"
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
@change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||
</a-form-item>
|
||||
</template>
|
||||
@@ -699,6 +701,10 @@ export default {
|
||||
} else {
|
||||
this.departIdShow = true
|
||||
}
|
||||
},
|
||||
// 密码禁止粘贴
|
||||
handleOperate() {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,9 +28,8 @@
|
||||
v-decorator="['password',{initialValue:'', rules: validatorRules.password.rules,validateTrigger: 'blur'}]"
|
||||
size="large"
|
||||
type="password"
|
||||
autocomplete="false"
|
||||
placeholder="请输入密码"
|
||||
>
|
||||
@paste.native.capture.prevent="handleOperate">
|
||||
<a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
@@ -46,7 +45,6 @@
|
||||
size="large"
|
||||
type="text"
|
||||
@change="inputCodeChange"
|
||||
autocomplete="off"
|
||||
placeholder="请输入验证码">
|
||||
<a-icon slot="prefix" type="safety" :style="{ color: '#B3B7C2',fontSize:'20px'}"/>
|
||||
</a-input>
|
||||
@@ -114,7 +112,7 @@ export default {
|
||||
smsSendBtn: false,
|
||||
},
|
||||
validatorRules:{
|
||||
username:{rules: [{ required: true, message: '请输入用户名!'},{validator: this.handleUsernameOrEmail}]},
|
||||
username:{rules: [{ required: true, message: '请输入帐号!'},{validator: this.handleUsernameOrEmail}]},
|
||||
password:{rules: [{ required: true, message: '请输入密码!',validator: 'click'}]},
|
||||
mobile:{rules: [{validator:this.validateMobile}]},
|
||||
captcha:{rule: [{ required: true, message: '请输入验证码!'}]},
|
||||
@@ -131,11 +129,11 @@ export default {
|
||||
}
|
||||
},
|
||||
created () {
|
||||
document.title = '标准所协同工作平台'
|
||||
this.currdatetime = new Date().getTime()
|
||||
Vue.ls.remove(ACCESS_TOKEN)
|
||||
this.getRouterData()
|
||||
this.handleChangeCheckCode()
|
||||
|
||||
},
|
||||
methods: {
|
||||
...mapActions(['Login', 'Logout', 'PhoneLogin']),
|
||||
@@ -307,6 +305,10 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
// 密码禁止粘贴
|
||||
handleOperate() {
|
||||
return false
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
>
|
||||
<a-input
|
||||
type="text"
|
||||
v-decorator="['username',{ rules: validatorRules.username.rules}]"
|
||||
v-decorator="['username',validatorRules.username]"
|
||||
placeholder="请输入用户名">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
@@ -35,7 +35,7 @@
|
||||
>
|
||||
<a-input
|
||||
type="text"
|
||||
v-decorator="['phone',{ rules: validatorRules.phone.rules}]"
|
||||
v-decorator="['phone',validatorRules.phone]"
|
||||
placeholder="请输入手机号">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
@@ -50,7 +50,7 @@
|
||||
:labelCol="{span: 5}"
|
||||
:wrapperCol="{span: 19}">
|
||||
<a-input
|
||||
v-decorator="['verifyCode', { rules: validatorRules.verifyCode.rules}]"
|
||||
v-decorator="['verifyCode', validatorRules.verifyCode]"
|
||||
type="text"
|
||||
placeholder="请输入验证码">
|
||||
</a-input>
|
||||
@@ -72,7 +72,9 @@
|
||||
:wrapperCol="{span: 19}">
|
||||
<a-input
|
||||
placeholder="请输入新密码"
|
||||
v-decorator="['password', { rules: validatorRules.password.rules}]"
|
||||
v-decorator="['password', validatorRules.password]"
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
autocomplete="new-password"
|
||||
type="password">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
@@ -87,9 +89,10 @@
|
||||
:wrapperCol="{span: 19}">
|
||||
<a-input
|
||||
placeholder="请输入确认密码"
|
||||
v-decorator="['confirmPassword', { rules: validatorRules.confirmPassword.rules}]"
|
||||
v-decorator="['confirmPassword', validatorRules.confirmPassword]"
|
||||
type="password"
|
||||
autocomplete="false">
|
||||
@paste.native.capture.prevent="handleOperate"
|
||||
autocomplete="new-password">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -131,7 +134,9 @@ export default {
|
||||
},
|
||||
phone: {
|
||||
rules: [
|
||||
{ required: true, message: '请输入手机号码!' }, { validator: this.validatePhone }],
|
||||
{ required: true, message: '请输入手机号码!' },
|
||||
{ validator: this.validatePhone }
|
||||
],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
verifyCode: {
|
||||
@@ -164,6 +169,9 @@ export default {
|
||||
rsaPublicKey: null // 公钥
|
||||
}
|
||||
},
|
||||
created() {
|
||||
document.title = '标准所协同工作平台'
|
||||
},
|
||||
methods: {
|
||||
submit() {
|
||||
let that = this
|
||||
@@ -232,27 +240,31 @@ export default {
|
||||
this.cmsFailed('手机号不能为空!')
|
||||
return
|
||||
}
|
||||
this.state.smsSendBtn = true
|
||||
let interval = window.setInterval(() => {
|
||||
if (that.state.time-- <= 0) {
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
window.clearInterval(interval)
|
||||
this.form.validateFields(['phone'], { force: true }, (err) => {
|
||||
if (!err) {
|
||||
const hide = this.$message.loading('验证码发送中..', 0)
|
||||
let smsParams = {
|
||||
phone: phone
|
||||
}
|
||||
getAction('/sys/sendVerificationCode', smsParams).then(res => {
|
||||
if (!res.success) {
|
||||
setTimeout(hide, 1)
|
||||
this.cmsFailed(res.message)
|
||||
} else {
|
||||
this.state.smsSendBtn = true
|
||||
let interval = window.setInterval(() => {
|
||||
if (that.state.time-- <= 0) {
|
||||
that.state.time = 60
|
||||
that.state.smsSendBtn = false
|
||||
window.clearInterval(interval)
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
setTimeout(hide, 500)
|
||||
})
|
||||
this.getPublicKey()
|
||||
}
|
||||
}, 1000)
|
||||
|
||||
const hide = this.$message.loading('验证码发送中..', 0)
|
||||
let smsParams = {
|
||||
phone: phone,
|
||||
}
|
||||
getAction('/sys/sendVerificationCode', smsParams).then(res => {
|
||||
if (!res.success) {
|
||||
setTimeout(hide, 1)
|
||||
this.cmsFailed(res.message)
|
||||
}
|
||||
setTimeout(hide, 500)
|
||||
})
|
||||
this.getPublicKey()
|
||||
},
|
||||
cmsFailed(err) {
|
||||
this.$notification['error']({
|
||||
@@ -265,6 +277,10 @@ export default {
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
})
|
||||
},
|
||||
// 密码禁止粘贴
|
||||
handleOperate() {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user