|
|
@@ -1,15 +1,11 @@
|
|
|
<template>
|
|
|
<div class="edit-view">
|
|
|
<page-title>
|
|
|
- <el-button @click="$router.go(-1)">取消</el-button>
|
|
|
- <el-button
|
|
|
- @click="del"
|
|
|
- :loading="$store.state.fetchingData"
|
|
|
- type="danger"
|
|
|
- v-if="formData.id && formData.id !== 1"
|
|
|
- >删除
|
|
|
+ <el-button @click="$router.go(-1)" :disabled="saving">取消</el-button>
|
|
|
+ <el-button @click="onDelete" :disabled="saving" type="danger" v-if="formData.id">
|
|
|
+ 删除
|
|
|
</el-button>
|
|
|
- <el-button @click="onSave" :loading="$store.state.fetchingData" type="primary">保存</el-button>
|
|
|
+ <el-button @click="onSave" :loading="saving" type="primary">保存</el-button>
|
|
|
</page-title>
|
|
|
<div class="edit-view__content-wrapper">
|
|
|
<div class="edit-view__content-section">
|
|
|
@@ -17,59 +13,29 @@
|
|
|
:model="formData"
|
|
|
:rules="rules"
|
|
|
ref="form"
|
|
|
- label-width="80px"
|
|
|
+ label-width="66px"
|
|
|
label-position="right"
|
|
|
- style="max-width: 500px"
|
|
|
+ size="small"
|
|
|
+ style="max-width: 500px;"
|
|
|
>
|
|
|
- <el-form-item prop="avatar" label="头像">
|
|
|
- <crop-upload v-model="formData.avatar"></crop-upload>
|
|
|
+ <el-form-item prop="name" label="名称">
|
|
|
+ <el-input v-model="formData.name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="username" label="用户名">
|
|
|
- <el-input v-model="formData.username"></el-input>
|
|
|
- <div class="gen" @dblclick="gen"></div>
|
|
|
+ <el-form-item prop="description" label="描述">
|
|
|
+ <el-input type="textarea" v-model="formData.description"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item prop="nickname" label="昵称">
|
|
|
- <el-input v-model="formData.nickname"></el-input>
|
|
|
+ <el-form-item prop="logo" label="LOGO">
|
|
|
+ <single-upload v-model="formData.logo"></single-upload>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="formData.id" label="密码">
|
|
|
- <el-button type="primary" plain @click="resetPassword" size="mini">重置 </el-button>
|
|
|
+ <el-form-item prop="disabled" label="禁用">
|
|
|
+ <el-switch v-model="formData.disabled"></el-switch>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-else prop="password" label="密码">
|
|
|
- <el-input v-model="formData.password"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="phone" label="手机">
|
|
|
- <el-input v-model="formData.phone" :disabled="!!formData.id"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="intro" label="简介">
|
|
|
- <el-input
|
|
|
- v-model="formData.intro"
|
|
|
- placeholder="200字以内"
|
|
|
- maxlength="200"
|
|
|
- type="textarea"
|
|
|
- autosize
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <!-- <el-form-item prop="authorities" label="角色">
|
|
|
- <el-select
|
|
|
- v-model="formData.authorities"
|
|
|
- multiple
|
|
|
- placeholder="请选择"
|
|
|
- value-key="name"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in authorities"
|
|
|
- :key="item.name"
|
|
|
- :label="item.description"
|
|
|
- :value="item"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item> -->
|
|
|
- <el-form-item>
|
|
|
- <el-button @click="onSave" :loading="saving" type="primary">保存</el-button>
|
|
|
- <el-button @click="del" :disabled="saving" type="danger" v-if="formData.id && formData.id !== 1"
|
|
|
- >删除
|
|
|
+ <el-form-item class="form-submit">
|
|
|
+ <el-button @click="onSave" :loading="saving" type="primary">
|
|
|
+ 保存
|
|
|
+ </el-button>
|
|
|
+ <el-button @click="onDelete" :disabled="saving" type="danger" v-if="formData.id">
|
|
|
+ 删除
|
|
|
</el-button>
|
|
|
<el-button @click="$router.go(-1)" :disabled="saving">取消</el-button>
|
|
|
</el-form-item>
|
|
|
@@ -79,15 +45,12 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import randomstring from 'randomstring';
|
|
|
-import faker from 'faker';
|
|
|
-faker.locale = 'zh_CN';
|
|
|
-console.log(faker);
|
|
|
export default {
|
|
|
+ name: 'CompanyEdit',
|
|
|
created() {
|
|
|
if (this.$route.query.id) {
|
|
|
this.$http
|
|
|
- .get(`/user/get/${this.$route.query.id}`)
|
|
|
+ .get('company/get/' + this.$route.query.id)
|
|
|
.then(res => {
|
|
|
this.formData = res;
|
|
|
})
|
|
|
@@ -96,56 +59,43 @@ export default {
|
|
|
this.$message.error(e.error);
|
|
|
});
|
|
|
}
|
|
|
- this.$http
|
|
|
- .get('/authority/all')
|
|
|
- .then(res => {
|
|
|
- this.authorities = res;
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- console.log(e);
|
|
|
- });
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
saving: false,
|
|
|
formData: {
|
|
|
- company: true,
|
|
|
- username:
|
|
|
- '0x' +
|
|
|
- randomstring.generate({
|
|
|
- length: 6,
|
|
|
- charset: 'alphabetic',
|
|
|
- capitalization: 'lowercase'
|
|
|
- }),
|
|
|
- avatar:
|
|
|
- parseInt(Math.random() * 10) % 2 === 1
|
|
|
- ? 'https://awesomeadmin.oss-cn-hangzhou.aliyuncs.com/image/avatar_male.png'
|
|
|
- : 'https://awesomeadmin.oss-cn-hangzhou.aliyuncs.com/image/avatar_female.png',
|
|
|
- authorities: [
|
|
|
- { name: 'ROLE_COMPANY', description: '企业' },
|
|
|
- { name: 'ROLE_USER', description: '普通用户' }
|
|
|
- ]
|
|
|
+ disabled: false
|
|
|
},
|
|
|
rules: {
|
|
|
- avatar: [{ required: true, message: '请上传头像', trigger: 'blur' }],
|
|
|
- username: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
|
|
|
- nickname: [{ required: true, message: '请输入昵称', trigger: 'blur' }],
|
|
|
- password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
|
|
|
- phone: [
|
|
|
- // { required: true, message: '请输入密码', trigger: 'blur' },
|
|
|
+ name: [
|
|
|
{
|
|
|
- pattern: /^1[3-9]\d{9}$/,
|
|
|
- message: '请输入正确的手机号',
|
|
|
+ required: true,
|
|
|
+ message: '请输入名称',
|
|
|
trigger: 'blur'
|
|
|
}
|
|
|
],
|
|
|
- authorities: [{ required: true, message: '请选择角色', trigger: 'blur' }],
|
|
|
- intro: [{ required: true, message: '请输入简介', trigger: 'blur' }]
|
|
|
- },
|
|
|
- authorities: [
|
|
|
- { name: 'ROLE_COMPANY', description: '企业' },
|
|
|
- { name: 'ROLE_USER', description: '普通用户' }
|
|
|
- ]
|
|
|
+ logo: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入LOGO',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ adminUserId: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入管理员',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ disabled: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入禁用',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -159,21 +109,15 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
submit() {
|
|
|
+ let data = { ...this.formData };
|
|
|
+
|
|
|
this.saving = true;
|
|
|
- this.formData.company = true;
|
|
|
this.$http
|
|
|
- .post(this.formData.id ? '/user/save' : '/user/create', this.formData, { body: 'json' })
|
|
|
+ .post('/company/save', data, { body: 'json' })
|
|
|
.then(res => {
|
|
|
this.saving = false;
|
|
|
this.$message.success('成功');
|
|
|
- this.formData = res;
|
|
|
- this.$router
|
|
|
- .replace({
|
|
|
- query: {
|
|
|
- id: res.id
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(_ => {});
|
|
|
+ this.$router.go(-1);
|
|
|
})
|
|
|
.catch(e => {
|
|
|
console.log(e);
|
|
|
@@ -181,62 +125,23 @@ export default {
|
|
|
this.$message.error(e.error);
|
|
|
});
|
|
|
},
|
|
|
- del() {
|
|
|
- this.$confirm('确认删除吗?', '提示', { type: 'warning' })
|
|
|
+ onDelete() {
|
|
|
+ this.$confirm('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
|
|
|
.then(() => {
|
|
|
- return this.$http.post(`/user/del/${this.formData.id}`);
|
|
|
+ return this.$http.post(`/company/del/${this.formData.id}`);
|
|
|
})
|
|
|
- .then(res => {
|
|
|
+ .then(() => {
|
|
|
this.$message.success('删除成功');
|
|
|
this.$router.go(-1);
|
|
|
})
|
|
|
.catch(e => {
|
|
|
- if ('cancel' !== e) {
|
|
|
- this.$message.error(e.error || '删除失败');
|
|
|
+ if (e !== 'cancel') {
|
|
|
+ console.log(e);
|
|
|
+ this.$message.error((e || {}).error || '删除失败');
|
|
|
}
|
|
|
});
|
|
|
- },
|
|
|
- resetPassword() {
|
|
|
- this.$prompt('请输入新密码', '重置密码', { inputType: 'password' })
|
|
|
- .then(res => {
|
|
|
- console.log(res);
|
|
|
- if (res.value) {
|
|
|
- this.$alert('确定重置密码?', '提示', {
|
|
|
- showCancelButton: true
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- return this.$http.post('/user/setPasswordAdmin', {
|
|
|
- userId: this.formData.id,
|
|
|
- password: res.value
|
|
|
- });
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- this.$message.success('密码重置成功');
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- this.$message.error(res.error || '重置密码失败');
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
- },
|
|
|
- gen() {
|
|
|
- const card = faker.helpers.createCard();
|
|
|
- this.formData.username = card.username;
|
|
|
- this.formData.nickname = card.name;
|
|
|
- this.formData.phone = card.phone;
|
|
|
- this.$message('ok');
|
|
|
- console.log(card);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang="less" scoped>
|
|
|
-.gen {
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- right: -50px;
|
|
|
- width: 50px;
|
|
|
- height: 32px;
|
|
|
-}
|
|
|
-</style>
|
|
|
+<style lang="less" scoped></style>
|