Commit 0c5b5b25 authored by huangjie's avatar huangjie

*

parent 928f8c41
...@@ -120,9 +120,19 @@ ...@@ -120,9 +120,19 @@
plain plain
icon="el-icon-upload2" icon="el-icon-upload2"
size="mini" size="mini"
@click="handleImport" @click="handleImport(false)"
v-hasPermi="['system:user:import']" v-hasPermi="['system:user:import']"
>导入</el-button> >批量新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport(true)"
v-hasPermi="['system:user:import']"
>批量修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
...@@ -164,6 +174,7 @@ ...@@ -164,6 +174,7 @@
align="center" align="center"
width="160" width="160"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
fixed="right"
> >
<template slot-scope="scope" v-if="scope.row.userId !== 1"> <template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button <el-button
...@@ -208,7 +219,7 @@ ...@@ -208,7 +219,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户称" prop="nickName"> <el-form-item label="用户称" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" /> <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -220,43 +231,57 @@ ...@@ -220,43 +231,57 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber"> <el-form-item label="角色" prop="roleIds">
<el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" /> <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" /> <el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
<!--<el-input v-model="form.userName" placeholder="请输入手机号码" maxlength="11" />-->
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--<el-col :span="12">-->
<!--<el-form-item label="邮箱" prop="email">-->
<!--<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />-->
<!--</el-form-item>-->
<!--</el-col>-->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <!--<el-col :span="12">-->
<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName"> <!--<el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">-->
<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" /> <!--<el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />-->
</el-form-item> <!--</el-form-item>-->
</el-col> <!--</el-col>-->
<el-col :span="12"> <!--<el-col :span="12">-->
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password"> <!--<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">-->
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/> <!--<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>-->
</el-form-item> <!--</el-form-item>-->
</el-col> <!--</el-col>-->
</el-row> </el-row>
<el-row> <el-row>
<!--<el-col :span="12">-->
<!--<el-form-item label="用户性别">-->
<!--<el-select v-model="form.sex" placeholder="请选择性别">-->
<!--<el-option-->
<!--v-for="dict in dict.type.sys_user_sex"-->
<!--:key="dict.value"-->
<!--:label="dict.label"-->
<!--:value="dict.value"-->
<!--&gt;</el-option>-->
<!--</el-select>-->
<!--</el-form-item>-->
<!--</el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户性别"> <el-form-item label="状态" prop="status">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio <el-radio
v-for="dict in dict.type.sys_normal_disable" v-for="dict in dict.type.sys_normal_disable"
...@@ -268,39 +293,26 @@ ...@@ -268,39 +293,26 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <!--<el-col :span="12">-->
<el-form-item label="岗位"> <!--<el-form-item label="岗位">-->
<el-select v-model="form.postIds" multiple placeholder="请选择岗位"> <!--<el-select v-model="form.postIds" multiple placeholder="请选择岗位">-->
<el-option <!--<el-option-->
v-for="item in postOptions" <!--v-for="item in postOptions"-->
:key="item.postId" <!--:key="item.postId"-->
:label="item.postName" <!--:label="item.postName"-->
:value="item.postId" <!--:value="item.postId"-->
:disabled="item.status == 1" <!--:disabled="item.status == 1"-->
></el-option> <!--&gt;</el-option>-->
</el-select> <!--</el-select>-->
</el-form-item> <!--</el-form-item>-->
</el-col> <!--</el-col>-->
<el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <!--<el-col :span="24">-->
<el-form-item label="备注"> <!--<el-form-item label="备注">-->
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input> <!--<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>-->
</el-form-item> <!--</el-form-item>-->
</el-col> <!--</el-col>-->
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -326,9 +338,9 @@ ...@@ -326,9 +338,9 @@
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
<div class="el-upload__tip" slot="tip"> <!--<div class="el-upload__tip" slot="tip">-->
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据 <!--<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据-->
</div> <!--</div>-->
<span>仅允许导入xls、xlsx格式文件。</span> <span>仅允许导入xls、xlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link> <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
</div> </div>
...@@ -338,6 +350,33 @@ ...@@ -338,6 +350,33 @@
<el-button @click="upload.open = false">取 消</el-button> <el-button @click="upload.open = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--导入结果-->
<el-dialog title="导入失败" :visible.sync="showupload" width="60%" append-to-body>
<template>
<el-table max-height="600px"
:data="tableData" border
style="width: 100%">
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
</el-table>
<el-row style="padding-top: 20px;text-align: right">
<el-button @click="showupload = false">取消</el-button>
<el-button type="primary" @click="downloaderr">生成表格</el-button>
</el-row>
</template>
</el-dialog>
</div> </div>
</template> </template>
...@@ -353,6 +392,25 @@ export default { ...@@ -353,6 +392,25 @@ export default {
components: { Treeselect }, components: { Treeselect },
data() { data() {
return { return {
//导入失败数据
showupload:true,
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
...@@ -425,23 +483,17 @@ export default { ...@@ -425,23 +483,17 @@ export default {
], ],
// 表单校验 // 表单校验
rules: { rules: {
userName: [
{ required: true, message: "用户名称不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
],
nickName: [ nickName: [
{ required: true, message: "用户昵称不能为空", trigger: "blur" } { required: true, message: "用户昵称不能为空", trigger: "blur" }
], ],
password: [ deptId: [
{ required: true, message: "用户密码不能为空", trigger: "blur" }, { required: true, message: "部门不能为空", trigger: "blur" }
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
], ],
email: [ roleIds: [
{ { required: true, message: "角色不能为空", trigger: "blur" }
type: "email", ],
message: "请输入正确的邮箱地址", status: [
trigger: ["blur", "change"] { required: true, message: "状态不能为空", trigger: "blur" }
}
], ],
phonenumber: [ phonenumber: [
{ required: true, message: "手机号码不能为空", trigger: "blur" }, { required: true, message: "手机号码不能为空", trigger: "blur" },
...@@ -577,9 +629,9 @@ export default { ...@@ -577,9 +629,9 @@ export default {
const userId = row.userId || this.ids; const userId = row.userId || this.ids;
getUser(userId).then(response => { getUser(userId).then(response => {
this.form = response.data.user; this.form = response.data.user;
this.postOptions = response.data.posts; // this.postOptions = response.data.posts;
this.roleOptions = response.data.roles; this.roleOptions = response.data.roles;
this.$set(this.form, "postIds", response.data.postIds); // this.$set(this.form, "postIds", response.data.postIds); 岗位不需要了
this.$set(this.form, "roleIds", response.data.roleIds); this.$set(this.form, "roleIds", response.data.roleIds);
this.open = true; this.open = true;
this.title = "修改用户"; this.title = "修改用户";
...@@ -609,6 +661,7 @@ export default { ...@@ -609,6 +661,7 @@ export default {
submitForm: function() { submitForm: function() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
this.form.userName = this.form.phonenumber
if (this.form.userId != undefined) { if (this.form.userId != undefined) {
updateUser(this.form).then(response => { updateUser(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
...@@ -642,15 +695,21 @@ export default { ...@@ -642,15 +695,21 @@ export default {
}, `user_${new Date().getTime()}.xlsx`) }, `user_${new Date().getTime()}.xlsx`)
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport(updateSupport) {
this.upload.title = "用户导入"; this.upload.title = "用户导入";
this.upload.open = true; this.upload.open = true;
this.upload.updateSupport = updateSupport
}, },
/** 下载模板操作 */ /** 下载模板操作 */
importTemplate() { importTemplate() {
this.download('system/user/importTemplate', { this.download('system/user/importTemplate', {
}, `user_template_${new Date().getTime()}.xlsx`) }, `user_template_${new Date().getTime()}.xlsx`)
}, },
//下载导入失败数据
downloaderr() {
// this.download('system/user/importTemplate', {
// }, `user_template_${new Date().getTime()}.xlsx`)
},
// 文件上传中处理 // 文件上传中处理
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true; this.upload.isUploading = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment