批量开票、开票邮寄图标需求变更,密码禁止粘贴
This commit is contained in:
@@ -7,8 +7,7 @@
|
|||||||
:title="currentTitle"
|
:title="currentTitle"
|
||||||
arrow-point-at-center
|
arrow-point-at-center
|
||||||
:mouse-enter-delay="0.1"
|
:mouse-enter-delay="0.1"
|
||||||
@visibleChange="visibleChange"
|
@visibleChange="visibleChange">
|
||||||
>
|
|
||||||
<img :src="status" @click="s"/>
|
<img :src="status" @click="s"/>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
@@ -32,7 +31,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
currentTitle: ' ', // 气泡中显示的文字,必须有内容,否则dom选择时不会解析
|
currentTitle: ' ', // 气泡中显示的文字,必须有内容,否则dom选择时不会解析
|
||||||
hasInfo: false, // 是否有详情信息可以显示,即是否通过接口请求过数据
|
hasInfo: false // 是否有详情信息可以显示,即是否通过接口请求过数据
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -60,7 +59,7 @@ export default {
|
|||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
// 当前需要转换key的属性, 悬浮显示实际具体内容信息时需要
|
// 当前需要转换key的属性, 悬浮显示实际具体内容信息时需要
|
||||||
// paymentRecord 来款 mail -- 邮寄 bill--邮寄
|
// paymentRecord 来款 mail -- 邮寄 bill--开票
|
||||||
statusKey: {
|
statusKey: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
@@ -94,7 +93,12 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
// 应收金额不为0 都正常判断
|
// 应收金额不为0 都正常判断
|
||||||
if (this.statusNo === 0) {
|
if (this.statusNo === 0) {
|
||||||
|
// 开票或邮寄时,不需要发票
|
||||||
|
if ((this.statusKey === 'bill' || this.statusKey === 'mail') && this.statuObj.needInvoice === 0) {
|
||||||
|
return zero
|
||||||
|
} else {
|
||||||
return error
|
return error
|
||||||
|
}
|
||||||
} else if (this.statusNo === 1) {
|
} else if (this.statusNo === 1) {
|
||||||
return finished
|
return finished
|
||||||
} else if (this.statusNo === 2) {
|
} else if (this.statusNo === 2) {
|
||||||
@@ -115,6 +119,9 @@ export default {
|
|||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
s() {
|
s() {
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
<a-form-item
|
<a-form-item
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="false"
|
||||||
label="旧密码">
|
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>
|
||||||
@@ -22,14 +24,25 @@
|
|||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="新密码">
|
label="新密码">
|
||||||
<a-input type="password" placeholder="请输入新密码" v-decorator="[ 'password', validatorRules.password]" />
|
<a-input
|
||||||
|
type="password"
|
||||||
|
placeholder="请输入新密码"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="false"
|
||||||
|
v-decorator="[ 'password', validatorRules.password]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item
|
<a-form-item
|
||||||
:labelCol="labelCol"
|
:labelCol="labelCol"
|
||||||
:wrapperCol="wrapperCol"
|
:wrapperCol="wrapperCol"
|
||||||
label="确认新密码">
|
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="false"
|
||||||
|
v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -52,20 +65,26 @@
|
|||||||
validatorRules: {
|
validatorRules: {
|
||||||
oldpassword: {
|
oldpassword: {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true, message: '请输入旧密码!',
|
required: true, message: '请输入旧密码!'
|
||||||
}],
|
}]
|
||||||
},
|
},
|
||||||
password: {
|
password: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请输入新密码!' },
|
{ required: true, message: '请输入新密码!' },
|
||||||
{ pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
{
|
||||||
|
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
||||||
|
message: '密码由8位数字、大小写字母和特殊符号组成!'
|
||||||
|
},
|
||||||
{ validator: this.validateToNextPassword }
|
{ validator: this.validateToNextPassword }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
confirmpassword: {
|
confirmpassword: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '请确认新密码!' },
|
{ required: true, message: '请确认新密码!' },
|
||||||
{ pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
|
{
|
||||||
|
pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
|
||||||
|
message: '密码由8位数字、大小写字母和特殊符号组成!'
|
||||||
|
},
|
||||||
{ validator: this.validateToNextPassword }
|
{ validator: this.validateToNextPassword }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -73,16 +92,16 @@
|
|||||||
confirmDirty: false,
|
confirmDirty: false,
|
||||||
labelCol: {
|
labelCol: {
|
||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 5 },
|
sm: { span: 5 }
|
||||||
},
|
},
|
||||||
wrapperCol: {
|
wrapperCol: {
|
||||||
xs: { span: 24 },
|
xs: { span: 24 },
|
||||||
sm: { span: 16 },
|
sm: { span: 16 }
|
||||||
},
|
},
|
||||||
|
|
||||||
form: this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
url: 'sys/user/updatePassword',
|
url: 'sys/user/updatePassword',
|
||||||
username:'',
|
username: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -145,8 +164,11 @@
|
|||||||
handleConfirmBlur(e) {
|
handleConfirmBlur(e) {
|
||||||
const value = e.target.value
|
const value = e.target.value
|
||||||
this.confirmDirty = this.confirmDirty || !!value
|
this.confirmDirty = this.confirmDirty || !!value
|
||||||
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -339,7 +339,10 @@ export default {
|
|||||||
})
|
})
|
||||||
// 选中项目非同一企业
|
// 选中项目非同一企业
|
||||||
if (!isAllEqual(companyArr)) {
|
if (!isAllEqual(companyArr)) {
|
||||||
reject('请选择来款单位为同一企业的项目合并开票')
|
reject('请选择来款单位为同一企业的项目合并开票!')
|
||||||
|
}
|
||||||
|
if (arr.some(item => item.invoiceAmount && Number(item.invoiceAmount) === Number(item.receivableAmount))) {
|
||||||
|
reject('存在已完成开票的项目!')
|
||||||
}
|
}
|
||||||
this.selectedCompany = {
|
this.selectedCompany = {
|
||||||
id: arr[0].chargeCompanyId,
|
id: arr[0].chargeCompanyId,
|
||||||
|
|||||||
@@ -30,11 +30,13 @@
|
|||||||
<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 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]"/>
|
@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 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]"/>
|
@change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</template>
|
</template>
|
||||||
@@ -699,6 +701,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.departIdShow = true
|
this.departIdShow = true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
type="password"
|
type="password"
|
||||||
autocomplete="false"
|
autocomplete="false"
|
||||||
placeholder="请输入密码"
|
placeholder="请输入密码"
|
||||||
|
@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>
|
||||||
@@ -307,6 +308,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -73,6 +73,8 @@
|
|||||||
<a-input
|
<a-input
|
||||||
placeholder="请输入新密码"
|
placeholder="请输入新密码"
|
||||||
v-decorator="['password', { rules: validatorRules.password.rules}]"
|
v-decorator="['password', { rules: validatorRules.password.rules}]"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
|
autocomplete="false"
|
||||||
type="password">
|
type="password">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -89,6 +91,7 @@
|
|||||||
placeholder="请输入确认密码"
|
placeholder="请输入确认密码"
|
||||||
v-decorator="['confirmPassword', { rules: validatorRules.confirmPassword.rules}]"
|
v-decorator="['confirmPassword', { rules: validatorRules.confirmPassword.rules}]"
|
||||||
type="password"
|
type="password"
|
||||||
|
@paste.native.capture.prevent="handleOperate"
|
||||||
autocomplete="false">
|
autocomplete="false">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -265,7 +268,11 @@ export default {
|
|||||||
getRSAPublicKey().then(res => {
|
getRSAPublicKey().then(res => {
|
||||||
this.rsaPublicKey = res.result
|
this.rsaPublicKey = res.result
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
|
// 密码禁止粘贴
|
||||||
|
handleOperate() {
|
||||||
|
return false
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user