bug修改
This commit is contained in:
@@ -53,6 +53,8 @@
|
||||
<script>
|
||||
|
||||
import { putAction } from '@/api/manage'
|
||||
import { getRSAPublicKey } from '@api/login'
|
||||
import { JSEncrypt } from 'jsencrypt'
|
||||
|
||||
export default {
|
||||
name: 'UserPassword',
|
||||
@@ -72,12 +74,13 @@ export default {
|
||||
rules: [
|
||||
{ required: true, message: '请输入新密码!' },
|
||||
{
|
||||
//原正则,3种组合时不会提示 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
|
||||
//原正则,3种组合时不会提示 /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/
|
||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
||||
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
|
||||
},
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
confirmpassword: {
|
||||
rules: [
|
||||
@@ -86,8 +89,9 @@ export default {
|
||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/,
|
||||
message: '密码由8位及以上数字、大小写字母和特殊符号组成!'
|
||||
},
|
||||
{ validator: this.validateToNextPassword }
|
||||
]
|
||||
{ validator: this.handlePasswordCheck }
|
||||
],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
confirmDirty: false,
|
||||
@@ -102,7 +106,8 @@ export default {
|
||||
|
||||
form: this.$form.createForm(this),
|
||||
url: 'sys/user/updatePassword',
|
||||
username: ''
|
||||
username: '',
|
||||
rsaPublicKey: '' // 公钥
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -112,10 +117,16 @@ export default {
|
||||
return
|
||||
} else {
|
||||
this.username = uname
|
||||
this.getPublicKey()
|
||||
this.form.resetFields()
|
||||
this.visible = true
|
||||
}
|
||||
},
|
||||
getPublicKey() {
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.close()
|
||||
},
|
||||
@@ -131,7 +142,14 @@ export default {
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
let params = Object.assign({ username: this.username }, values)
|
||||
let params = {}
|
||||
params.username = this.username
|
||||
params.rsaPublicKey = this.rsaPublicKey
|
||||
let encrypt = new JSEncrypt()
|
||||
encrypt.setPublicKey(params.rsaPublicKey)
|
||||
params.oldpassword = encrypt.encrypt(values.oldpassword)
|
||||
params.password = encrypt.encrypt(values.password)
|
||||
params.confirmpassword = encrypt.encrypt(values.confirmpassword)
|
||||
console.log('修改密码提交数据', params)
|
||||
putAction(this.url, params).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -154,6 +172,13 @@ export default {
|
||||
}
|
||||
callback()
|
||||
},
|
||||
handlePasswordCheck(rule, value, callback) {
|
||||
let password = this.form.getFieldValue('password')
|
||||
if (value && password && value.trim() !== password.trim()) {
|
||||
callback(new Error('两次密码不一致'))
|
||||
}
|
||||
callback()
|
||||
},
|
||||
compareToFirstPassword(rule, value, callback) {
|
||||
const form = this.form
|
||||
if (value && value !== form.getFieldValue('password')) {
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<a-form-item label="公司电话" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入公司电话"
|
||||
v-decorator="['companyPhone', validatorRules.companyPhone]"
|
||||
:maxLength='16'
|
||||
:maxLength='15'
|
||||
@change="e => e.target.value = (e.target.value.replace(/[^0-9-]/g, '')).trim()"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
@@ -92,13 +92,14 @@
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<template v-if="record.showOperate">
|
||||
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">文件维护</a>
|
||||
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">会议维护</a>
|
||||
<a @click="copyWorkGroup(record.id)" v-has="'workingGroupProject:copy'" v-if="record.canOperate">复制</a>
|
||||
<a @click="handleEdit(record)" v-has="'workingGroupProject:edit'" v-if="record.canOperate">编辑</a>
|
||||
<a @click="handleDelete(record.id)" v-has="'workingGroupProject:delete'" v-if="record.canOperate">删除</a>
|
||||
</template>
|
||||
<a @click="goFilesMaintenance(record)" v-has="'workingGroupProject:fileMaintenance'">文件维护</a>
|
||||
<a @click="goConferenceMaintenance(record)" v-has="'workingGroupProject:meetingMaintenance'">会议维护</a>
|
||||
<a @click="copyWorkGroup(record.id)" v-has="'workingGroupProject:copy'"
|
||||
v-if="record.checkoutOperation === 1">复制</a>
|
||||
<a @click="handleEdit(record)" v-has="'workingGroupProject:edit'"
|
||||
v-if="record.checkoutOperation === 1">编辑</a>
|
||||
<a @click="handleDelete(record.id)" v-has="'workingGroupProject:delete'"
|
||||
v-if="record.checkoutOperation === 1">删除</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
@@ -212,36 +213,36 @@ export default {
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
// 判断登录用户是否为负责人B
|
||||
if (this.dataSource.length > 0) {
|
||||
for (let index = 0; index < this.dataSource.length; index++) {
|
||||
this.checkWorkingGroupPrincipal(index).then((res) => {
|
||||
res.showOperate = true
|
||||
this.$set(this.dataSource, index, res)
|
||||
})
|
||||
}
|
||||
}
|
||||
// 判断登录用户是否为负责人B 2021-10-13:修改为后端在列表字段返回checkoutOperation字段控制,1--可操作,2--不可操作
|
||||
// if (this.dataSource.length > 0) {
|
||||
// for (let index = 0; index < this.dataSource.length; index++) {
|
||||
// this.checkWorkingGroupPrincipal(index).then((res) => {
|
||||
// res.showOperate = true
|
||||
// this.$set(this.dataSource, index, res)
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 判断登录用户是否为负责人B
|
||||
*/
|
||||
checkWorkingGroupPrincipal(index) {
|
||||
let item = this.dataSource[index]
|
||||
// (负责人B不可操作)
|
||||
return new Promise(resolve => {
|
||||
checkoutWorkingGroupPrincipal({ id: item.id }).then(res => {
|
||||
// 不可操作则置否
|
||||
if (res.success) {
|
||||
item.canOperate = true
|
||||
} else {
|
||||
item.canOperate = false
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve(item)
|
||||
})
|
||||
})
|
||||
},
|
||||
// checkWorkingGroupPrincipal(index) {
|
||||
// let item = this.dataSource[index]
|
||||
// // (负责人B不可操作)
|
||||
// return new Promise(resolve => {
|
||||
// checkoutWorkingGroupPrincipal({ id: item.id }).then(res => {
|
||||
// // 不可操作则置否
|
||||
// if (res.success) {
|
||||
// item.canOperate = true
|
||||
// } else {
|
||||
// item.canOperate = false
|
||||
// }
|
||||
// }).finally(() => {
|
||||
// resolve(item)
|
||||
// })
|
||||
// })
|
||||
// },
|
||||
/**
|
||||
* 文件维护
|
||||
* @param record
|
||||
@@ -252,7 +253,7 @@ export default {
|
||||
path: '/projectManagement/WorkingGroupProjectDataMaintenance',
|
||||
query: {
|
||||
workingGroupId: record.id,
|
||||
canOperate: record.canOperate
|
||||
canOperate: record.checkoutOperation === 1
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -266,7 +267,7 @@ export default {
|
||||
query: {
|
||||
workingGroupProject: record.workingGroupProject,
|
||||
workingGroupProjectId: record.id,
|
||||
canOperate: record.canOperate
|
||||
canOperate: record.checkoutOperation === 1
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -295,7 +296,7 @@ export default {
|
||||
query: {
|
||||
workingGroupProject: record.workingGroupProject,
|
||||
workingGroupProjectId: record.id,
|
||||
canOperate: record.canOperate
|
||||
canOperate: record.checkoutOperation === 1
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -307,7 +308,7 @@ export default {
|
||||
year: new Date().getFullYear().toString()
|
||||
}
|
||||
this.loadData(1)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<a-form-item label="来款项目" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
|
||||
<a-input placeholder="请输入来款项目"
|
||||
v-decorator="['chargeProject',validatorRules.chargeProject]"
|
||||
:maxLength='100'
|
||||
:maxLength='50'
|
||||
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -185,6 +185,8 @@ import CompanySelect from '@comp/company/CompanySelect'
|
||||
import SelectPrincipal from '@comp/company/SelectPrincipal'
|
||||
import SelectContacts from '@comp/company/SelectContacts'
|
||||
import { addZero } from '../../../utils/util'
|
||||
import Vue from 'vue'
|
||||
import { USER_INFO } from '../../../store/mutation-types'
|
||||
|
||||
export default {
|
||||
name: 'GeneralProjectModule',
|
||||
@@ -344,6 +346,7 @@ export default {
|
||||
companyName: record.chargeCompanyTemporaryName
|
||||
}
|
||||
}
|
||||
|
||||
// 是否存在从收入合同传入的签订联系人id
|
||||
console.log(record, this.signedContactId)
|
||||
record.contactsId = this.signedContactId || record.contactsTemporaryId || undefined
|
||||
@@ -361,6 +364,13 @@ export default {
|
||||
id: this.model.mailContactsTemporaryId,
|
||||
name: this.model.mailContactsTemporaryName
|
||||
}
|
||||
} else {
|
||||
// 新增默认运行年份为当年
|
||||
this.model.year = new Date().getFullYear().toString()
|
||||
// 新增默认负责人为当前用户
|
||||
this.model.principalId = Vue.ls.get(USER_INFO).id
|
||||
// 新增默认来款方式为无
|
||||
this.model.chargeWay = 1
|
||||
}
|
||||
this.chargeWayType = record.chargeWay
|
||||
this.visible = true
|
||||
|
||||
@@ -581,7 +581,7 @@ export default {
|
||||
callback()
|
||||
}
|
||||
if (!passwordReg(value)) {
|
||||
callback('密码长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类')
|
||||
callback('密码由8位及以上数字、大小写字母和特殊符号组成!')
|
||||
}
|
||||
if (value && this.confirmDirty) {
|
||||
form.validateFields(['confirm'], {force: true})
|
||||
@@ -590,6 +590,9 @@ export default {
|
||||
},
|
||||
compareToFirstPassword(rule, value, callback) {
|
||||
const form = this.form
|
||||
if (value && !passwordReg(value)) {
|
||||
callback('密码由8位及以上数字、大小写字母和特殊符号组成!')
|
||||
}
|
||||
if (value && value !== form.getFieldValue('password')) {
|
||||
callback('两次输入的密码不一样!')
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user