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