【修改】修改企业管理员问题

This commit is contained in:
fengachen
2022-08-15 11:30:15 +08:00
parent aadac8d4bf
commit 28956eaf2a
2 changed files with 47 additions and 42 deletions
+3 -10
View File
@@ -8,17 +8,17 @@
<a-row> <a-row>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入用户账号" v-model="queryParam.name" :maxLength='50'></a-input> <a-input placeholder="请输入用户账号" v-model="queryParam.username" :maxLength='50'></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入用户姓名" v-model="queryParam.companyName" :maxLength='50'></a-input> <a-input placeholder="请输入用户姓名" v-model="queryParam.name" :maxLength='50'></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="企业名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入企业名称" v-model="queryParam.phone" :maxLength='11'></a-input> <a-input placeholder="请输入企业名称" v-model="queryParam.companyName" :maxLength='11'></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -49,7 +49,6 @@
bordered bordered
rowKey="id" rowKey="id"
:columns="columns" :columns="columns"
:scroll="{x: 1500}"
:dataSource="dataSource" :dataSource="dataSource"
:pagination="ipagination" :pagination="ipagination"
:loading="loading" :loading="loading"
@@ -120,33 +119,27 @@ export default {
}, { }, {
title: '用户账号', title: '用户账号',
align: 'center', align: 'center',
width: 280,
dataIndex: 'username', dataIndex: 'username',
scopedSlots: {customRender: 'text'} scopedSlots: {customRender: 'text'}
}, { }, {
title: '用户姓名', title: '用户姓名',
align: 'center', align: 'center',
width: 120,
dataIndex: 'name' dataIndex: 'name'
}, { }, {
title: '企业名称', title: '企业名称',
align: 'center', align: 'center',
width: 280,
dataIndex: 'companyName', dataIndex: 'companyName',
scopedSlots: {customRender: 'text'} scopedSlots: {customRender: 'text'}
}, },
{ {
title: '状态', title: '状态',
align: 'center', align: 'center',
width: 150,
dataIndex: 'status' dataIndex: 'status'
}, },
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
align: 'center', align: 'center',
fixed: 'right',
width: 160,
scopedSlots: {customRender: 'action'} scopedSlots: {customRender: 'action'}
} }
] ]
@@ -4,7 +4,6 @@
:width="width" :width="width"
:visible="visible" :visible="visible"
:confirmLoading="confirmLoading" :confirmLoading="confirmLoading"
switchFullscreen
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel"
cancelText="关闭"> cancelText="关闭">
@@ -22,23 +21,19 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="24" :sm="24"> <a-col :xl="24" :sm="24">
<a-form-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-contacts :selected-company="selectedCompany" <a-input placeholder="请输入用户姓名"
placeholder="请选择" @change="event => event.target.value = event.target.value.trim()" :maxLength="50"
v-decorator="['companyContactId',validatorRules.companyContactId]" v-decorator="['name',validatorRules.name]"></a-input>
:maxLength='50'
:init-contacts="selectPerson"
@change="changeContact"
ref="selectPerson"
@ok="addContactsOk"></select-contacts>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :xl="24" :sm="24"> <a-col :xl="24" :sm="24">
<a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入用户账号" <a-input placeholder="请输入用户账号"
@change="event => event.target.value = event.target.value.trim()" :maxLength="50" @change="event => event.target.value = event.target.value.trim()" :maxLength="50"
v-decorator="['username']"></a-input> v-decorator="['username',validatorRules.username]"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -48,7 +43,7 @@
<a-input placeholder="请输入手机号" <a-input placeholder="请输入手机号"
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}" @change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
:maxLength="11" :maxLength="11"
v-decorator="['phone']"></a-input> v-decorator="['phone',validatorRules.phone]"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -61,15 +56,14 @@
import pick from 'lodash.pick' import pick from 'lodash.pick'
import { httpAction } from '@api/manage' import { httpAction } from '@api/manage'
import CompanySelect from '@comp/company/CompanySelect' import CompanySelect from '@comp/company/CompanySelect'
import SelectContacts from '@comp/company/SelectContacts'
import {getRSAPublicKey} from '@api/login' import {getRSAPublicKey} from '@api/login'
import {JSEncrypt} from 'jsencrypt' import {JSEncrypt} from 'jsencrypt'
import {phoneReg} from '@/utils/validate'
export default { export default {
name: 'CompanyAdminModule', name: 'CompanyAdminModule',
components:{ components:{
CompanySelect, CompanySelect,
SelectContacts
}, },
data() { data() {
return { return {
@@ -81,7 +75,6 @@ export default {
c:'',// 加密公钥 c:'',// 加密公钥
model: {}, model: {},
selectedCompany:null,// 选择的公司 selectedCompany:null,// 选择的公司
selectPerson:null, // 回显的公司人员
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 6 } sm: { span: 6 }
@@ -99,12 +92,20 @@ export default {
sm: { span: 21 } sm: { span: 21 }
}, },
validatorRules: { validatorRules: {
companyName: { companyId: {
rules: [{ required: true, validator: this.checkCompanyName }], rules: [{ required: true, message: '请选择公司' }],
validateTrigger: 'change'
},
name: {
rules: [{ required: true, message: '请输入用户姓名' }],
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
companyAddress: { username: {
rules: [{ required: true, message: '请输入公司地址' }], rules: [{ required: true, message: '请输入用户账号' }],
validateTrigger: 'blur'
},
phone: {
rules: [{ required: true, validator: this.validatePhone }],
validateTrigger: 'blur' validateTrigger: 'blur'
}, },
}, },
@@ -122,9 +123,16 @@ export default {
this.form.resetFields() this.form.resetFields()
this.getRSAPublicKeyFunc() this.getRSAPublicKeyFunc()
this.model = Object.assign({}, record) this.model = Object.assign({}, record)
// 回显企业
this.model.companyId = {
id:this.model.companyId,
companyName:this.model.companyName
}
// 回显姓名
this.selectedCompany = this.model.companyId
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model)) this.form.setFieldsValue(pick(this.model,'username','phone','companyId','name'))
}) })
}, },
/** /**
@@ -134,18 +142,7 @@ export default {
this.selectedCompany = value this.selectedCompany = value
console.log(value,'选择公司') console.log(value,'选择公司')
}, },
/**
* 选择公司人员
* */
changeContact(val){
console.log(val,'选择人员')
},
/**
* 选择人员后的回调
* */
addContactsOk(){
this.$refs.selectPerson.getContactsList()
},
/** /**
* 获取公钥 * 获取公钥
* */ * */
@@ -157,6 +154,7 @@ export default {
close() { close() {
this.$emit('close') this.$emit('close')
this.visible = false this.visible = false
this.selectedCompany = null
}, },
handleOk: function () { handleOk: function () {
if (this.confirmLoading) { if (this.confirmLoading) {
@@ -176,7 +174,7 @@ export default {
} }
const formData = Object.assign(this.model, values) const formData = Object.assign(this.model, values)
formData.companyName = this.selectedCompany.companyName formData.companyName = this.selectedCompany.companyName
formData.companyId = this.selectedCompany.companyId formData.companyId = this.selectedCompany.id
let encrypt = new JSEncrypt() let encrypt = new JSEncrypt()
encrypt.setPublicKey(this.rsaPublicKey) encrypt.setPublicKey(this.rsaPublicKey)
formData.phone = encrypt.encrypt(values.phone) formData.phone = encrypt.encrypt(values.phone)
@@ -202,6 +200,20 @@ export default {
handleCancel() { handleCancel() {
this.close() this.close()
}, },
/**
* 手机号校验
* */
validatePhone(rule,value,callback){
if(!value){
callback(new Error('请输入手机号'))
}
if(value && phoneReg(value)) {
callback()
}else {
callback(new Error('手机号格式不正确'))
}
}
} }
} }