Commit 4e9dc9ee authored by 69237's avatar 69237

Merge remote-tracking branch 'origin/dev-sunyu' into dev-sunyu

parents 1ed0836e 66635d53
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
margin-left: 1px; margin-left: 1px;
" "
index="/employee/employee" index="/employee/employee"
v-if="roles[0] === 'admin'"
> >
<i style="width: 10px; height: 10px; margin-top: -12px"></i> <i style="width: 10px; height: 10px; margin-top: -12px"></i>
员工信息 员工信息
...@@ -101,6 +102,7 @@ export default { ...@@ -101,6 +102,7 @@ export default {
components: { Menu }, components: { Menu },
data() { data() {
return { return {
roles: [],
backTag: false, backTag: false,
newTopNev: [ newTopNev: [
{ {
...@@ -197,6 +199,8 @@ export default { ...@@ -197,6 +199,8 @@ export default {
this.currentIndex = this.$route.path; this.currentIndex = this.$route.path;
this.$store.dispatch("app/toggleSideBarHide", true); this.$store.dispatch("app/toggleSideBarHide", true);
this.setVisibleNumber(); this.setVisibleNumber();
this.roles = this.$store.getters.roles;
}, },
created() { created() {
this.getinfo(); this.getinfo();
......
...@@ -124,29 +124,36 @@ service.interceptors.response.use(res => { ...@@ -124,29 +124,36 @@ service.interceptors.response.use(res => {
// 通用下载方法 // 通用下载方法
export function download(url, params, filename, config) { export function download(url, params, filename, config) {
downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) downloadLoadingInstance = Loading.service({
text: "正在下载数据,请稍候",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)"
});
return service.post(url, params, { return service.post(url, params, {
transformRequest: [(params) => { return tansParams(params) }], transformRequest: [function (data) {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, return JSON.stringify(data); // 将参数转换为 JSON 字符串
}],
headers: { 'Content-Type': 'application/json' }, // 设置 Content-Type 为 application/json
responseType: 'blob', responseType: 'blob',
...config ...config
}).then(async (data) => { }).then(async (data) => {
const isBlob = blobValidate(data); const isBlob = blobValidate(data);
if (isBlob) { if (isBlob) {
const blob = new Blob([data]) const blob = new Blob([data]);
saveAs(blob, filename) saveAs(blob, filename);
} else { } else {
const resText = await data.text(); const resText = await data.text();
const rspObj = JSON.parse(resText); const rspObj = JSON.parse(resText);
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'];
Message.error(errMsg); Message.error(errMsg);
} }
downloadLoadingInstance.close(); downloadLoadingInstance.close();
}).catch((r) => { }).catch((error) => {
console.error(r) console.error(error);
Message.error('下载文件出现错误,请联系管理员!') Message.error('下载文件出现错误,请联系管理员!');
downloadLoadingInstance.close(); downloadLoadingInstance.close();
}) });
} }
export default service export default service
...@@ -141,7 +141,7 @@ ...@@ -141,7 +141,7 @@
<el-table-column label="员工姓名" align="center" key="nickName" prop="nickName" width="190" v-if="columns[2].visible" :show-overflow-tooltip="true" /> <el-table-column label="员工姓名" align="center" key="nickName" prop="nickName" width="190" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<!-- <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />--> <!-- <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />-->
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" width="190" v-if="columns[4].visible" /> <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" width="190" v-if="columns[4].visible" />
<el-table-column label="权重" align="center" key="weightNum" prop="weightNum" width="190" v-if="columns[8].visible" /> <el-table-column label="权重" align="center" key="weightNum" prop="weightNum" width="150" v-if="columns[8].visible" />
<el-table-column label="创建人" align="center" key="createBy" prop="createBy" width="190" v-if="columns[7].visible" /> <el-table-column label="创建人" align="center" key="createBy" prop="createBy" width="190" v-if="columns[7].visible" />
<el-table-column label="创建时间" align="center" key="createTime" prop="createTime" width="190" v-if="columns[6].visible" > <el-table-column label="创建时间" align="center" key="createTime" prop="createTime" width="190" v-if="columns[6].visible" >
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
width="192" width="232"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
> >
<template slot-scope="scope" v-if="scope.row.userId !== 1"> <template slot-scope="scope" v-if="scope.row.userId !== 1">
...@@ -249,7 +249,7 @@ ...@@ -249,7 +249,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="权重"> <el-form-item label="权重">
<el-input-number v-model="form.weightNum" controls-position="right" :min="0" ></el-input-number> <el-input-number v-model="form.weightNum" controls-position="right" :min="1" ></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -296,13 +296,13 @@ ...@@ -296,13 +296,13 @@
</el-form-item> </el-form-item>
</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-input v-model="form.createBy" maxlength="11" ></el-input> <el-input v-model="form.createBy" maxlength="11" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="12"> <el-col :span="12">
<el-form-item label="创建时间" > <el-form-item label="创建时间" >
<el-date-picker <el-date-picker
v-model="form.createTime" v-model="form.createTime"
...@@ -310,8 +310,8 @@ ...@@ -310,8 +310,8 @@
placeholder="选择日期和时间"> placeholder="选择日期和时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col>--> </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="备注">
...@@ -331,7 +331,7 @@ ...@@ -331,7 +331,7 @@
<div class="form-header"> <div class="form-header">
<h3><span class="blue-square"></span> 用户详细信息</h3> <h3><span class="blue-square"></span> 用户详细信息</h3>
</div> </div>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="updaterules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="账号" prop="userName"> <el-form-item label="账号" prop="userName">
...@@ -482,7 +482,6 @@ import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUs ...@@ -482,7 +482,6 @@ import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUs
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {update} from "script-ext-html-webpack-plugin/lib/elements";
export default { export default {
name: "User", name: "User",
...@@ -530,8 +529,12 @@ export default { ...@@ -530,8 +529,12 @@ export default {
roleOptions: [], roleOptions: [],
// 表单参数 // 表单参数
form: { form: {
createBy: '', // 创建账号 // 创建账号
createTime: '', // 创建时间 createBy: '',
// 创建时间
createTime: '',
// 默认排序
weightNum: 1,
}, },
defaultProps: { defaultProps: {
children: "children", children: "children",
...@@ -577,6 +580,16 @@ export default { ...@@ -577,6 +580,16 @@ export default {
{ key: 8, label: '权重', visible: true} { key: 8, label: '权重', visible: true}
], ],
// 表单校验 // 表单校验
updaterules:{
userName: [
{ required: true, message: "账号不能为空", trigger: "blur" },
{ min: 2, max: 20, message: '账号长度必须介于 2 和 20 之间', trigger: 'blur' }
],
nickName: [
{ required: true, message: "姓名不能为空", trigger: "blur" }
],
},
rules: { rules: {
userName: [ userName: [
{ required: true, message: "账号不能为空", trigger: "blur" }, { required: true, message: "账号不能为空", trigger: "blur" },
...@@ -696,7 +709,7 @@ export default { ...@@ -696,7 +709,7 @@ export default {
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.selectedRowKeys = selection.map(row => row.userId ); this.selectedRowKeys = selection.map(row => row.userId );
this.ids = selection.map(item => item.id); this.ids = selection.map(item => item.userId);
this.single = selection.length !== 1; this.single = selection.length !== 1;
this.multiple = selection.length > 1; this.multiple = selection.length > 1;
}, },
...@@ -802,13 +815,15 @@ export default { ...@@ -802,13 +815,15 @@ export default {
submitForm: function() { submitForm: function() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
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("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
// 添加新记录
addUser(this.form).then(response => { addUser(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
...@@ -821,7 +836,7 @@ export default { ...@@ -821,7 +836,7 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const userIds = row.userId || this.ids; const userIds = row.userId || this.ids;
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除该用户').then(function() {
return delUser(userIds); return delUser(userIds);
}).then(() => { }).then(() => {
this.getList(); this.getList();
...@@ -832,10 +847,7 @@ export default { ...@@ -832,10 +847,7 @@ export default {
handleExport() { handleExport() {
// 获取选中的用户 ID // 获取选中的用户 ID
const userIds = this.ids; const userIds = this.ids;
this.download('system/user/export', { this.download('system/user/export', userIds, `user_${new Date().getTime()}.xlsx`);
...this.queryParams,
userIds, // 将用户 ID 传递给服务器
}, `user_${new Date().getTime()}.xlsx`)
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
......
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