update 国内标准体系联调、车型项目库详情、用户新增编辑开启工号字段

This commit is contained in:
赵霄
2023-09-12 16:23:13 +08:00
parent 7b56d2e753
commit f6eacc1bcd
17 changed files with 729 additions and 323 deletions
+69 -50
View File
@@ -23,32 +23,40 @@
<a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-model-item :label="$t('user.userAccount')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userAccount')" :maxLength="50" v-model="model.username" :readOnly="!!model.id" :disabled="disableSubmit"/>
<a-input :placeholder="$t('pleaseEnter') + $t('user.userAccount')"
:maxLength="50"
v-model="model.username"
:readOnly="!!model.id"
:disabled="disableSubmit" />
</a-form-model-item>
<template v-if="!model.id">
<a-form-model-item :label="$t('user.loginPassword')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="password" >
<a-form-model-item :label="$t('user.loginPassword')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="password">
<a-input-password type="password" :placeholder="$t('pleaseEnter') + $t('user.loginPassword')" :maxLength="20" v-model="model.password" />
</a-form-model-item>
<a-form-model-item :label="$t('user.confirmPassword')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmpassword" >
<a-input-password type="password" @blur="handleConfirmBlur" :maxLength="20" :placeholder="$t('user.reenterLoginPassword')" v-model="model.confirmpassword"/>
<a-form-model-item :label="$t('user.confirmPassword')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmpassword">
<a-input-password type="password"
@blur="handleConfirmBlur"
:maxLength="20"
:placeholder="$t('user.reenterLoginPassword')"
v-model="model.confirmpassword" />
</a-form-model-item>
</template>
<a-form-model-item :label="$t('user.userName')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname">
<a-input :placeholder="$t('pleaseEnter') + $t('user.userName')" v-model="model.realname" :maxLength="50" :disabled="disableSubmit"/>
<a-input :placeholder="$t('pleaseEnter') + $t('user.userName')" v-model="model.realname" :maxLength="50" :disabled="disableSubmit" />
</a-form-model-item>
<!--<a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!--<a-input placeholder="请输入工号" v-decorator.trim="[ 'workNo', validatorRules.workNo]" />-->
<!--</a-form-model-item>-->
<a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入工号" v-model="model.workNo" />
</a-form-model-item>
<!--<a-form-model-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!--<j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', {}]"/>-->
<!--<j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', {}]"/>-->
<!--</a-form-model-item>-->
<a-form-model-item :label="$t('user.roleAssignment')" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled" >
<a-form-model-item :label="$t('user.roleAssignment')" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.selectedroles"
@@ -65,7 +73,8 @@
:multi="true"
@back="backDepartInfo"
:backDepart="true"
:treeOpera="true">></j-select-depart>
:treeOpera="true">>
</j-select-depart>
</a-form-model-item>
<!--租户分配
@@ -79,13 +88,13 @@
</a-form-model-item>
-->
<a-form-model-item :label="$t('user.identity')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-model="model.userIdentity" @change="identityChange" :disabled="disableSubmit">
<a-form-model-item :label="$t('user.identity')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-model="model.userIdentity" @change="identityChange" :disabled="disableSubmit">
<a-radio :value="1">{{ $t('user.ordinaryUsers') }}</a-radio>
<a-radio :value="2">{{ $t('user.superior') }}</a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item :label="$t('user.responsibleDepartment')" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow===true">
<a-form-model-item :label="$t('user.responsibleDepartment')" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow===true">
<j-multi-select-tag
:disabled="disableSubmit"
v-model="model.departIds"
@@ -94,7 +103,7 @@
</j-multi-select-tag>
</a-form-model-item>
<!-- update--end--autor:wangshuai-----date:20200108------for新增身份和负责部门------ -->
<a-form-model-item :label="$t('user.heads')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-form-model-item :label="$t('user.heads')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-image-upload class="avatar-uploader"
:text="$t('upload')"
v-model="model.avatar"
@@ -104,28 +113,33 @@
</a-form-model-item>
<a-form-model-item :label="$t('user.gender')" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select v-model="model.sex" :placeholder="$t('pleaseSelect') + $t('user.gender')" :getPopupContainer= "(target) => target.parentNode" :disabled="disableSubmit">
<a-select v-model="model.sex"
:placeholder="$t('pleaseSelect') + $t('user.gender')"
:getPopupContainer="(target) => target.parentNode"
:disabled="disableSubmit">
<a-select-option :value="1">{{ $t('user.male') }}</a-select-option>
<a-select-option :value="2">{{ $t('user.female') }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item :label="$t('user.mailbox')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="email">
<a-input :placeholder="$t('pleaseEnter') + $t('user.mailbox')" v-model="model.email" :maxLength="50" :disabled="disableSubmit"/>
<a-input :placeholder="$t('pleaseEnter') + $t('user.mailbox')" v-model="model.email" :maxLength="50" :disabled="disableSubmit" />
</a-form-model-item>
<a-form-model-item :label="$t('phoneNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
<a-input :placeholder="$t('pleaseEnter') + $t('phoneNumber')" :disabled="isDisabledAuth('user:form:phone') || disableSubmit" v-model="model.phone" />
<a-input :placeholder="$t('pleaseEnter') + $t('phoneNumber')"
:disabled="isDisabledAuth('user:form:phone') || disableSubmit"
v-model="model.phone" />
</a-form-model-item>
<!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <j-dict-select-tag v-model="model.activitiSync" placeholder="请选择是否同步工作流引擎" :type="'radio'" dictCode="activiti_sync"/>-->
<!-- </a-form-model-item>-->
<!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <j-dict-select-tag v-model="model.activitiSync" placeholder="请选择是否同步工作流引擎" :type="'radio'" dictCode="activiti_sync"/>-->
<!-- </a-form-model-item>-->
</a-form-model>
</a-spin>
<div class="drawer-bootom-button" v-show="!disableSubmit">
<div class="drawer-bootom-button" v-show="!disableSubmit">
<a-popconfirm :title="$t('areYouWantDiscardEditing')" @confirm="handleCancel" :okText="$t('determine')" :cancelText="$t('cancel')">
<a-button style="margin-right: .8rem">{{ $t('cancel') }}</a-button>
</a-popconfirm>
@@ -166,7 +180,11 @@ export default {
validatorRules: {
username: [{ required: true, message: this.$t('pleaseEnter') + this.$t('user.userAccount') },
{ validator: this.validateUsername }],
password: [{ required: true, pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: this.$t('user.passwordConsists') },
password: [{
required: true,
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
message: this.$t('user.passwordConsists')
},
{ validator: this.validateToNextPassword, trigger: 'change' }],
confirmpassword: [{ required: true, message: this.$t('user.reenterLoginPassword') },
{ validator: this.compareToFirstPassword }],
@@ -502,34 +520,35 @@ export default {
</script>
<style scoped>
.avatar-uploader > .ant-upload {
width:104px;
height:104px;
}
.ant-upload-select-picture-card i {
font-size: 49px;
color: #999;
}
.avatar-uploader > .ant-upload {
width: 104px;
height: 104px;
}
.ant-upload-select-picture-card .ant-upload-text {
margin-top: 8px;
color: #666;
}
.ant-upload-select-picture-card i {
font-size: 49px;
color: #999;
}
.ant-table-tbody .ant-table-row td{
padding-top:10px;
padding-bottom:10px;
}
.ant-upload-select-picture-card .ant-upload-text {
margin-top: 8px;
color: #666;
}
.drawer-bootom-button {
position: absolute;
bottom: -8px;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
.ant-table-tbody .ant-table-row td {
padding-top: 10px;
padding-bottom: 10px;
}
.drawer-bootom-button {
position: absolute;
bottom: -8px;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
</style>