|
|
@@ -18,40 +18,50 @@
|
|
|
v-model="form.groupId"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="用户账号:" prop="accountId">
|
|
|
+ <el-form-item label="性别:" prop="sex">
|
|
|
<el-select
|
|
|
clearable
|
|
|
class="ele-block"
|
|
|
- v-model="form.accountId"
|
|
|
- placeholder="请选择用户账号"
|
|
|
+ v-model="form.sex"
|
|
|
+ placeholder="请选择性别"
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="item in accountList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.loginName"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
+ <el-option label="男" :value="1" />
|
|
|
+ <el-option label="女" :value="2" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="性别:" prop="sex">
|
|
|
+ <el-form-item label="员工状态:" prop="status">
|
|
|
<el-select
|
|
|
clearable
|
|
|
class="ele-block"
|
|
|
- v-model="form.sex"
|
|
|
- placeholder="请选择性别"
|
|
|
+ v-model="form.status"
|
|
|
+ placeholder="请选择员工状态"
|
|
|
>
|
|
|
- <el-option label="男" :value="1" />
|
|
|
- <el-option label="女" :value="2" />
|
|
|
+ <el-option
|
|
|
+ v-for="item in statusOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="籍贯:" prop="address">
|
|
|
- <regions-select style="width: 100%;" v-model="form.address" placeholder="请选择省市区"/>
|
|
|
+ <el-form-item label="籍贯:" prop="city">
|
|
|
+ <regions-select style="width: 100%;" v-model="city" placeholder="请选择省市区"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="生日:" prop="age">
|
|
|
<el-date-picker style="width: 100%;"
|
|
|
clearable
|
|
|
v-model="form.birthday"
|
|
|
type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="入职时间:" prop="joinDate">
|
|
|
+ <el-date-picker style="width: 100%;"
|
|
|
+ clearable
|
|
|
+ v-model="form.joinDate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
placeholder="请选择日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
@@ -89,18 +99,25 @@
|
|
|
placeholder="请输入姓名"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="员工状态:" prop="status">
|
|
|
+ <el-form-item label="用户账号:">
|
|
|
+ <el-input
|
|
|
+ :disabled="true"
|
|
|
+ :maxlength="11"
|
|
|
+ v-model="form.loginName"
|
|
|
+ v-if="isUpdate&&data.accountId"
|
|
|
+ />
|
|
|
<el-select
|
|
|
clearable
|
|
|
class="ele-block"
|
|
|
- v-model="form.status"
|
|
|
- placeholder="请选择员工状态"
|
|
|
+ v-model="form.accountId"
|
|
|
+ placeholder="请选择用户账号"
|
|
|
+ v-else
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in statusOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ v-for="item in accountList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.loginName"
|
|
|
+ :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -154,8 +171,8 @@
|
|
|
import OrgSelect from './org-select.vue';
|
|
|
import RoleSelect from '@/views/system/user/components/role-select.vue';
|
|
|
import RegionsSelect from '@/components/RegionsSelect/index.vue';
|
|
|
- import { addUser, updateUser, checkExistence } from '@/api/system/user';
|
|
|
- import { pageUsers } from '@/api/system/user';
|
|
|
+ import { getNotBoundAccount } from '@/api/system/user';
|
|
|
+ import { getUserDetail , saveOrUpdateUser } from '@/api/system/organization'
|
|
|
export default {
|
|
|
components: { OrgSelect, RoleSelect , RegionsSelect },
|
|
|
props: {
|
|
|
@@ -186,7 +203,6 @@
|
|
|
// 表单验证规则
|
|
|
rules: {
|
|
|
name: [{ required: true, message: '请输入姓名',trigger: 'blur'}],
|
|
|
- accountId: [{ required: true, message: '请选择用户账号',trigger: 'blur'}],
|
|
|
sex: [{required: true, message: '请选择性别',trigger: 'blur'}],
|
|
|
email: [ { pattern: emailReg,message: '邮箱格式不正确',trigger: 'blur'}],
|
|
|
phone: [ { pattern: phoneReg,message: '手机号格式不正确',trigger: 'blur'}],
|
|
|
@@ -197,7 +213,7 @@
|
|
|
loading: false,
|
|
|
// 是否是修改
|
|
|
isUpdate: false,
|
|
|
- city: [],
|
|
|
+ city: '',
|
|
|
statusOptions:[
|
|
|
{value:1,label:'全职'},
|
|
|
{value:2,label:'兼职'},
|
|
|
@@ -217,12 +233,8 @@
|
|
|
},
|
|
|
methods: {
|
|
|
getAccountList(){
|
|
|
- const params = {
|
|
|
- pageNum:1,
|
|
|
- size:99999999
|
|
|
- }
|
|
|
- pageUsers(params).then(res=>{
|
|
|
- this.accountList = res.list
|
|
|
+ getNotBoundAccount().then(res=>{
|
|
|
+ this.accountList = res
|
|
|
})
|
|
|
},
|
|
|
/* 保存编辑 */
|
|
|
@@ -232,13 +244,15 @@
|
|
|
return false;
|
|
|
}
|
|
|
this.loading = true;
|
|
|
+ this.form.addressId = this.city?this.city[this.city.length-1]:''
|
|
|
const data = {
|
|
|
...this.form,
|
|
|
};
|
|
|
- console.log('data',data)
|
|
|
- return
|
|
|
- const saveOrUpdate = this.isUpdate ? updateUser : addUser;
|
|
|
- saveOrUpdate(data)
|
|
|
+ if(!this.isUpdate){
|
|
|
+ delete data.id
|
|
|
+ }
|
|
|
+
|
|
|
+ saveOrUpdateUser(data)
|
|
|
.then((msg) => {
|
|
|
this.loading = false;
|
|
|
this.$message.success(msg);
|
|
|
@@ -261,20 +275,26 @@
|
|
|
if (visible) {
|
|
|
this.getAccountList()
|
|
|
if (this.data) {
|
|
|
+ getUserDetail(this.data.id).then(res=>{
|
|
|
+ this.form = {...res}
|
|
|
+ this.city = res.addressId?res.addressId.toString():null
|
|
|
+ this.isUpdate = true;
|
|
|
+ })
|
|
|
// this.$util.assignObject(this.form, {
|
|
|
// ...this.data,
|
|
|
// password: ''
|
|
|
// });
|
|
|
- this.form = {...this.data}
|
|
|
+ // this.form = {...this.data}
|
|
|
// this.form.address = ["130000","130300","130304"]
|
|
|
- this.form.address = "130304"
|
|
|
- console.log('this.form',this.form)
|
|
|
- this.isUpdate = true;
|
|
|
+ // this.form.address = "130304"
|
|
|
+ // console.log('this.form',this.form)
|
|
|
} else {
|
|
|
+ this.city = null
|
|
|
this.form.groupId = this.organizationId;
|
|
|
this.isUpdate = false;
|
|
|
}
|
|
|
} else {
|
|
|
+ this.city = null
|
|
|
this.$refs.form.clearValidate();
|
|
|
this.form = { ...this.defaultForm };
|
|
|
}
|