jinhui.wang

用户管理增加,接口增加,删除无用代码

No preview for this file type
......@@ -12,7 +12,7 @@ export function login(loginName, password, rememberMe, equipmentType, userAgent,
"name": "肖玉兰",
"phone": 18221643976,
"port": "TSN",
"purpleId": 6,
"purpleId": '肖玉兰',
"role": 170
}
return request({
......
......@@ -59,3 +59,68 @@ export function updateRoleMenuData(data) {
data: data
})
}
// 用户信息查询
/**
* @param employeeNumber 员工编号
* @param userName 用户名称
* @param port 口岸
* @param roleIds list
* @param pageNum *
* @param pageSize *
*/
export function getUserData(data) {
return request({
url: '/bus-customer/user/searchUser',
method: 'post',
data: data
})
}
// 用户更新
/**
* @param employeeNumber 员工编号
* @param userName 用户名称
* @param port 口岸
* @param email 邮件
* @param id *
* @param remark 备注
* @param phone 口岸
*/
export function updateUserData(data) {
return request({
url: '/bus-customer/user/updateUser',
method: 'put',
data: data
})
}
// 用户角色更新
/**
* @param employeeNumber 员工编号
* @param userName 用户名称
* @param port 口岸
* @param email 邮件
* @param id *
* @param remark 备注
* @param phone 口岸
*/
export function updateUserRoleChange(data) {
return request({
url: '/bus-customer/user/updateUser',
method: 'put',
data: data
})
}
// 获取口岸字典
/**
* @param
*/
export function getPortList(data) {
return request({
url: '/bus-customer/user/getPortCodeForUserList',
method: 'get',
params: data
})
}
\ No newline at end of file
......
......@@ -60,31 +60,31 @@ export const constantRoutes = [
hidden: true,
meta: { noCache: true, breadcrumb: false }
},
{
path: '',
component: Layout,
hidden: true,
redirect: 'index',
children: [
{
path: 'index',
component: (resolve) => require(['@/views/index'], resolve),
name: '首页',
meta: { title: '首页', icon: 'dashboard' }
},
]
},
// {
// path: '',
// component: Layout,
// hidden: true,
// redirect: 'index',
// children: [
// {
// path: 'index',
// component: (resolve) => require(['@/views/index'], resolve),
// name: '首页',
// meta: { title: '首页', icon: 'dashboard' }
// },
// ]
// },
{
path: '/',
component: Layout,
hidden: false,
redirect: 'index',
meta: { title: '申报数据管理', icon: 'upload' },
children: [
{
path: '/reportingData',
component: (resolve) => require(['@/views/reportingData/index'], resolve),
hidden: false,
name: 'ReportingData',
meta: { title: '申报数据管理', icon: 'upload' }
}
]
......@@ -93,7 +93,6 @@ export const constantRoutes = [
path: '/export',
component: Layout,
hidden: false,
redirect: 'index',
meta: { title: '查询管理', icon: 'fedexExportIcon' },
children: [
{
......@@ -106,7 +105,7 @@ export const constantRoutes = [
path: '/exportBillDetail',
component: (resolve) => require(['@/views/exportBillDetail/index'], resolve),
hidden: true,
name:'ExportBillDetail',
name: 'ExportBillDetail',
meta: { title: '出口订单详情', icon: '' },
},
{
......@@ -173,7 +172,6 @@ export const constantRoutes = [
path: '/summary',
component: Layout,
hidden: false,
redirect: 'index',
meta: { title: '汇总申报', icon: 'fedexSummary' },
children: [
{
......@@ -194,37 +192,41 @@ export const constantRoutes = [
path: '/system',
component: Layout,
hidden: false,
redirect: 'index',
meta: { title: '系统管理', icon: 'fedexQueue' },
children: [
{
path: '/portConfig',
component: (resolve) => require(['@/views/portConfig/index'], resolve),
hidden: false,
name: 'PortConfig',
meta: { title: '口岸信息管理', icon: '' }
},
{
path: '/userConfig',
component: (resolve) => require(['@/views/userConfig/index'], resolve),
path: '/customerConfig',
component: (resolve) => require(['@/views/customerConfig/index'], resolve),
hidden: false,
name: 'CustomerConfig',
meta: { title: '客户管理', icon: '' }
},
{
path: '/passwordIpConfig',
component: (resolve) => require(['@/views/passwordIpConfig/index'], resolve),
path: '/cipherMachineConfig',
component: (resolve) => require(['@/views/cipherMachineConfig/index'], resolve),
hidden: false,
name: 'CipherMachineConfig',
meta: { title: '密码机管理', icon: '' }
},
{
path: '/userRoleConfig',
component: (resolve) => require(['@/views/userRoleConfig/index'], resolve),
hidden: false,
name: 'UserRoleConfig',
meta: { title: '用户管理权限', icon: '' }
},
{
path: '/roleConfig',
component: (resolve) => require(['@/views/roleConfig/index'], resolve),
hidden: false,
name: 'RoleConfig',
meta: { title: '角色管理权限', icon: '' }
},
]
......
......@@ -43,7 +43,7 @@ const permission = {
const rdata = constantRoutes
const sidebarRoutes = filterAsyncRouter(sdata)
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
rewriteRoutes.push({ path: '*', redirect: '/index', hidden: true })
rewriteRoutes.push({ path: '*', redirect: '/reportingData', hidden: true })
commit('SET_ROUTES', rewriteRoutes)
commit('SET_SIDEBAR_ROUTERS', sidebarRoutes)
commit('SET_DEFAULT_ROUTES', sidebarRoutes)
......
<template>
<div class="entrySreach">
<el-form
class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
ref="sreachForm"
:model="sreachFormData"
label-position="top"
size="small"
>
<el-row class="row-border">
<!-- 姓名 -->
<el-col :span="5">
<Formitem label="姓名" prop="userName">
<el-input
type="text"
class="inputShadow"
id="inputInner--userName"
resize="none"
v-model="sreachFormData.userName"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 员工号 -->
<el-col :span="5">
<Formitem label="员工号" prop="employeeNumber">
<el-input
type="text"
class="inputShadow"
id="inputInner--employeeNumber"
resize="none"
v-model="sreachFormData.employeeNumber"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 口岸 -->
<el-col :span="5">
<Formitem label="口岸" prop="port">
<el-select
type="text"
id="inputInner--port"
v-model="sreachFormData.port"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in dictData.port"
:key="index"
:label="item.name"
:value="item.code"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 角色 -->
<el-col :span="5">
<Formitem label="角色" prop="roleIds">
<el-select
type="text"
id="inputInner--roleIds"
v-model="sreachFormData.roleIds"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in dict.roleList"
:key="index"
:label="item.roleName"
:value="item.roleId"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="2">
<el-form-item class="textCenter">
<el-button
class="entrySreachButton"
type="text"
icon="el-icon-search"
:loading="loadings.searchLoading"
@click="search(0)"
></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="optionButton">
<!-- <el-button
class="entrySaveButton"
icon="el-icon-plus"
size="small"
@click="addRole"
>
新增角色
</el-button> -->
</div>
<Table
class="fedexDetialTable fedexSreachTable"
ref="entryTable"
:data="tableData"
:headerData="headerData"
:maxHeight="tableMaxheight"
:border="true"
:pagination="true"
:order="false"
:loading="loadings.searchLoading"
:page="page.pageIndex"
:pageSizes="[20, 30, 50, 100]"
:totalCount="page.total"
@sizeChange="sizeChange"
@currentChange="currentChange"
:selection="false"
:selectFixed="false"
:rowSelectDataType="false"
>
<template slot="optionColumn">
<el-table-column align="left" label="操作">
<template slot-scope="scope">
<el-button type="text" @click="update(scope.row)">
角色修改
</el-button>
<el-button type="text" @click="muenChange(scope.row)">
权限绑定
</el-button>
</template>
</el-table-column>
</template>
</Table>
</div>
</template>
<script>
import { getRoleList } from "@/api/system/user.js";
export default {
name: "RoleConfig",
data() {
return {
sreachFormData: {
userName: "",
employeeNumber: "",
roleIds: "",
port: "",
},
page: {
pageIndex: 1,
pageSize: 20,
total: 0,
},
activeData: null,
tableData: [],
headerData: [
{
name: "角色名",
value: "roleName",
width: "",
align: "left",
},
],
dict: {
roleList: [],
},
loadings: {
searchLoading: false,
},
tableMaxheight: null,
outerVisible: false,
dialogTitle: "",
editType: "",
};
},
created() {
this.searchRole();
this.search(0);
},
mounted() {
this.tableMaxheight = window.innerHeight - 300;
},
methods: {
search(val) {},
//查询
searchRole(val) {
getRoleList({ roleName: "", pageNum: 1, pageSize: 999999 })
.then((res) => {
if (res.code === "200") {
this.dict.roleList = res.data.value;
}
})
.catch((err) => {
console.log(err);
});
},
update(val) {
this.dialogTitle = "修改角色";
this.editType = "update";
this.outerVisible = true;
this.activeData = val;
},
muenChange(val) {
this.dialogTitle = "绑定权限";
this.editType = "menuChange";
this.outerVisible = true;
this.activeData = val;
},
dialogClose() {
this.outerVisible = false;
this.activeData = null;
this.search(1);
},
//分页
currentChange(val) {
this.page.pageNum = val.page;
this.search(1);
},
sizeChange(val) {
this.page.pageSize = val;
this.search(1);
},
input() {
this.$forceUpdate();
},
},
};
</script>
<style scoped lang="scss">
@import "@/assets/styles/variables.scss";
.entrySreach {
height: 100%;
background-color: $menuLightBg;
.entrySreachButton {
display: inline-block;
font-size: 20px;
color: $fedexButton !important;
}
.optionButton {
padding: 10px;
text-align: left;
.el-button {
color: $fedexButton;
border-color: $fedexButton !important;
svg {
display: inline-block;
margin-right: 5px;
fill: $fedexButton;
}
}
.entrySaveButton:hover,
.entrySaveButton:focus {
color: $menuLightBg !important;
background-color: $fedexButton !important;
}
}
}
.texttareaTip {
position: absolute;
top: 52%;
right: 20px;
transform: translate(0, -50%);
z-index: 10;
}
</style>
......@@ -294,7 +294,7 @@
import { searchDeclareData, declareDataUpload } from "@/api/declareData-api.js";
import DialogVue from "./dialog.vue";
export default {
name: "",
name: "ReportingData",
components: {
DialogVue,
},
......
......@@ -276,7 +276,9 @@ export default {
},
treeCheckChange(data, checked) {
console.log(data, checked);
this.treeCheckData = checked.checkedKeys;
let arr = [];
arr = checked.checkedKeys.concat(checked.halfCheckedKeys);
this.treeCheckData = arr;
},
close() {
this.formData = {
......
......@@ -55,7 +55,7 @@
:pagination="true"
:order="false"
:loading="loadings.searchLoading"
:page="page.pageIndex"
:page="page.pageNum"
:pageSizes="[20, 30, 50, 100]"
:totalCount="page.total"
@sizeChange="sizeChange"
......@@ -88,7 +88,7 @@
</template>
<script>
import { getRoleList, addRoleDataf } from "@/api/system/user.js";
import { getRoleList } from "@/api/system/user.js";
import DialogVue from "./dialog.vue";
export default {
name: "RoleConfig",
......@@ -101,7 +101,7 @@ export default {
roleName: "",
},
page: {
pageIndex: 1,
pageNum: 1,
pageSize: 20,
total: 0,
},
......@@ -135,10 +135,10 @@ export default {
search(val) {
this.loadings.searchLoading = true;
if (val == 0) {
this.page.pageIndex = 1;
this.page.pageNum = 1;
}
let obj = this.sreachFormData;
obj.pageIndex = this.page.pageIndex;
obj.pageNum = this.page.pageNum;
obj.pageSize = this.page.pageSize;
getRoleList(obj)
.then((res) => {
......
<template>
<el-dialog
class="entryDialog classCUploadDialog"
:title="title"
:visible.sync="outerVisible"
:show-close="false"
width="40%"
:close-on-click-modal="false"
v-loading="loadings.dialogLoading"
@close="close"
>
<div class="modelItem">
<el-form
class="fedexFormStyle"
ref="formData"
:model="formData"
:rules="type == 'roleChange' ? {} : rules"
label-position="top"
:disabled="type == 'roleChange'"
size="small"
>
<el-row :gutter="5">
<!-- 口岸 -->
<el-col :span="8">
<Formitem label="口岸" prop="port" type="edit">
<el-select
type="text"
id="inputInner-edit-port"
v-model="formData.port"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in dict.port"
:key="index"
:label="item"
:value="item"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 姓名 -->
<el-col :span="8">
<Formitem label="姓名" prop="username" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-username"
resize="none"
v-model="formData.username"
clearable
disabled
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 员工号 -->
<el-col :span="8">
<Formitem label="员工号" prop="employeeNumber" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-employeeNumber"
resize="none"
v-model="formData.employeeNumber"
clearable
disabled
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
<el-row :gutter="5" v-show="type != 'roleChange'">
<!-- 联系电话 -->
<el-col :span="8">
<Formitem label="联系电话" prop="phone" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-phone"
resize="none"
v-model="formData.phone"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 传真 -->
<el-col :span="8">
<Formitem label="传真" prop="fex" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-fex"
resize="none"
v-model="formData.fex"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电子邮箱 -->
<el-col :span="8">
<Formitem label="电子邮箱" prop="email" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-email"
resize="none"
v-model="formData.email"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
<!-- 备注 -->
<Formitem
v-show="type != 'roleChange'"
label="备注"
prop="remark"
type="edit"
>
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-remark"
resize="none"
v-model="formData.remark"
clearable
placeholder=""
></el-input>
</Formitem>
</el-form>
<div class="mt20" v-show="type == 'roleChange'">
<div class="transferDom">
<el-transfer
class="customTransfer"
ref="customTransfer"
filterable
target-order="push"
:titles="titles"
v-model="value"
:data="customData"
:props="{
key: 'poolCode',
label: 'displayName',
disabled: 'disabled',
}"
@change="valueChange"
@right-check-change="rightCheckChange"
>
<span slot-scope="{ option }">{{ option.displayName }} </span>
</el-transfer>
<div class="transfer-rightOption">
<el-button
type="text"
class="el-icon-arrow-up"
:disabled="
rightSelect.length != 1 ||
value.length == 1 ||
rightSelectIdx == 0
"
@click="up"
></el-button>
<el-button
type="text"
class="el-icon-arrow-down"
:disabled="
rightSelect.length != 1 ||
value.length == 1 ||
rightSelectIdx == value.length - 1
"
@click="down"
></el-button>
</div>
</div>
</div>
</div>
<div class="dialogOption entrySave">
<el-button
class="entrySaveButton"
:disabled="loadings.submitLoading"
@click="submit"
>确 定</el-button
>
<el-button
class="entrySaveButton"
:disabled="loadings.uploadLoading"
@click="close"
>关 闭</el-button
>
</div>
</el-dialog>
</template>
<script>
import { updateUserData, updateUserRoleChange } from "@/api/system/user.js";
export default {
props: {
outerVisible: {
type: Boolean,
default: false,
},
title: {
type: String,
default: "信息编辑",
},
type: {
type: String,
default: "",
},
active: {
type: Object,
default: null,
},
dict: {
type: Object,
default() {
return {
roleList: [],
port: [],
};
},
},
},
watch: {
outerVisible(val) {
if (val) {
}
},
},
data() {
return {
formData: {
id: null,
username: "",
remark: "",
port: "",
fex: "",
phone: "",
employeeNumber: "",
email: "",
},
customData: [],
rules: {
port: [
{
required: true,
trigger: "change",
message: "口岸不能为空!",
},
],
username: [
{
required: true,
trigger: "blur",
message: "姓名不能为空!",
},
],
employeeNumber: [
{
required: true,
trigger: "blur",
message: "员工号不能为空!",
},
],
},
titles: ["未分配角色", "已分配角色"],
rightSelect: [],
value: [],
rightSelectIdx: 0,
loadings: {
dialogLoading: false,
uploadLoading: false,
submitLoading: false,
},
loadingText: "",
};
},
watch: {
outerVisible(val) {
if (val) {
this.loadings.dialogLoading = false;
if (this.type == "update") {
this.formData = this.active;
} else if (this.type == "roleChange") {
this.portDataInfo();
this.formData = this.active;
this.searchTreeData();
}
}
},
},
methods: {
//查询角色
searchTreeData() {
// this.loadings.dialogLoading = true;
},
//数据保存
submit() {
this.loadings.dialogLoading = true;
let obj = {};
if (this.type == "update") {
this.$refs.formData.validate((valid) => {
if (valid) {
obj = this.formData;
this.updateapi(obj);
} else {
this.loadings.dialogLoading = false;
}
});
} else if (this.type == "roleChange") {
obj.employeeNumber = this.formData.employeeNumber;
obj.port = this.formData.port;
obj.userId = this.formData.id;
obj.username = this.formData.username;
obj.roleIds = this.value;
this.menuChangeapi(obj);
}
},
//修改
updateapi(val) {
updateUserData(val)
.then((res) => {
if (res.code === "200") {
this.msgSuccess(res.message);
this.close();
} else {
this.alertWarningMsg(res.message);
this.loadings.dialogLoading = false;
}
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
//用户权限修改
menuChangeapi(val) {
updateUserRoleChange(val)
.then((res) => {
if (res.code === "200") {
this.msgSuccess(res.message);
this.close();
} else {
this.alertWarningMsg(res.message);
this.loadings.dialogLoading = false;
}
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
//右侧数据改变
valueChange(val) {
this.rightSelect = [];
this.rightSelectIdx = 0;
},
//右侧选中数据改变
rightCheckChange(val) {
this.rightSelect = val;
this.value.find((value, index) => {
if (value == val) {
this.rightSelectIdx = index;
}
});
},
//上移
up() {
let arr = JSON.parse(JSON.stringify(this.value));
let selectid = JSON.parse(
JSON.stringify(this.value[this.rightSelectIdx])
);
let shiftSelect = JSON.parse(
JSON.stringify(this.value[this.rightSelectIdx - 1])
);
arr[this.rightSelectIdx] = shiftSelect;
arr[this.rightSelectIdx - 1] = selectid;
this.$nextTick(() => {
this.value = arr;
// this.rightSelect = [];
this.rightSelectIdx = this.rightSelectIdx - 1;
// this.$refs.customTransfer.$children[3].checked = [];
});
},
//下移
down() {
let arr = JSON.parse(JSON.stringify(this.value));
let selectid = JSON.parse(
JSON.stringify(this.value[this.rightSelectIdx])
);
let shiftSelect = JSON.parse(
JSON.stringify(this.value[this.rightSelectIdx + 1])
);
arr[this.rightSelectIdx] = shiftSelect;
arr[this.rightSelectIdx + 1] = selectid;
this.$nextTick(() => {
this.value = arr;
// this.rightSelect = [];
this.rightSelectIdx = this.rightSelectIdx + 1;
// this.$refs.customTransfer.$children[3].checked = [];
});
},
//穿梭框数据初始化
portDataInfo() {
let arr = [];
let select = [];
if (this.active.roleName != null && this.active.roleName != "") {
select = this.active.roleName.split(";");
}
let value = [];
this.dict.roleList.forEach((item, idx) => {
let obj = {
index: idx,
poolCode: item.roleId,
displayName: item.roleName,
disabled: false,
};
arr.push(obj);
if (select.includes(item.roleName)) {
value.push(item.roleId);
}
});
this.customData = arr;
this.value = value;
},
close() {
this.formData = {
id: null,
username: "",
remark: "",
port: "",
phone: "",
employeeNumber: "",
email: "",
};
this.$emit("close");
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/variables.scss";
</style>
<template>
<div class="entrySreach">
<el-form
class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
ref="sreachForm"
:model="sreachFormData"
label-position="top"
size="small"
>
<el-row class="row-border">
<!-- 姓名 -->
<el-col :span="5">
<Formitem label="姓名" prop="userName">
<el-input
type="text"
class="inputShadow"
id="inputInner--userName"
resize="none"
v-model="sreachFormData.userName"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 员工号 -->
<el-col :span="5">
<Formitem label="员工号" prop="employeeNumber">
<el-input
type="text"
class="inputShadow"
id="inputInner--employeeNumber"
resize="none"
v-model="sreachFormData.employeeNumber"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 口岸 -->
<el-col :span="5">
<Formitem label="口岸" prop="port">
<el-select
type="text"
id="inputInner--port"
v-model="sreachFormData.port"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in dict.port"
:key="index"
:label="item"
:value="item"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 角色 -->
<el-col :span="5">
<Formitem label="角色" prop="roleIds" :activeType="activeType">
<el-select
id="inputInner--roleIds"
class="multipleElSelect"
v-model="sreachFormData.roleIds"
filterable
multiple
clearable
placeholder=""
@visible-change="visibleChange"
@remove-tag="removeTag"
@clear="clear"
>
<el-option
v-for="(item, index) in dict.roleList"
:key="index"
:label="item.roleName"
:value="item.roleId"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="2">
<el-form-item class="textCenter">
<el-button
class="entrySreachButton"
type="text"
icon="el-icon-search"
:loading="loadings.searchLoading"
@click="search(0)"
></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="optionButton">
<!-- <el-button
class="entrySaveButton"
icon="el-icon-plus"
size="small"
@click="addRole"
>
新增角色
</el-button> -->
</div>
<Table
class="fedexDetialTable fedexSreachTable"
ref="entryTable"
:data="tableData"
:headerData="headerData"
:maxHeight="tableMaxheight"
:border="true"
:pagination="true"
:order="false"
:loading="loadings.searchLoading"
:page="page.pageNum"
:pageSizes="[20, 30, 50, 100]"
:totalCount="page.total"
@sizeChange="sizeChange"
@currentChange="currentChange"
:selection="false"
:selectFixed="false"
:rowSelectDataType="false"
>
<template slot="optionColumn">
<el-table-column align="left" label="操作">
<template slot-scope="scope">
<el-button type="text" @click="update(scope.row)">
信息编辑
</el-button>
<el-button type="text" @click="roleChange(scope.row)">
角色编辑
</el-button>
</template>
</el-table-column>
</template>
</Table>
<DialogVue
:outerVisible="outerVisible"
:title="dialogTitle"
:type="editType"
:dict="dict"
:active="activeData"
@close="dialogClose"
/>
</div>
</template>
<script>
import { getRoleList, getUserData, getPortList } from "@/api/system/user.js";
import DialogVue from "../userRoleConfig/dialog.vue";
export default {
name: "UserRoleConfig",
components: {
DialogVue,
},
data() {
return {
sreachFormData: {
userName: "",
employeeNumber: "",
roleIds: [],
port: "",
},
page: {
pageNum: 1,
pageSize: 20,
total: 0,
},
activeData: null,
tableData: [],
headerData: [
{
name: "员工号",
value: "employeeNumber",
width: "",
align: "left",
},
{
name: "姓名",
value: "username",
width: "",
align: "left",
},
{
name: "联系方式",
value: "phone",
width: "",
align: "left",
},
{
name: "电子邮箱",
value: "email",
width: "",
align: "left",
},
{
name: "传真",
value: "fax",
width: "",
align: "left",
},
{
name: "口岸代码",
value: "port",
width: "",
align: "left",
},
{
name: "所属角色",
value: "roleName",
width: "",
align: "left",
},
{
name: "备注",
value: "remark",
width: "",
align: "left",
},
],
dict: {
roleList: [],
port: [],
},
loadings: {
searchLoading: false,
},
tableMaxheight: null,
outerVisible: false,
activeType: false,
dialogTitle: "",
editType: "",
};
},
created() {
this.searchPort();
this.searchRole();
this.search(0);
},
mounted() {
this.tableMaxheight = window.innerHeight - 300;
},
methods: {
//查询
search(val) {
this.loadings.searchLoading = true;
if (val == 0) {
this.page.pageNum = 1;
}
let obj = this.sreachFormData;
obj.pageNum = this.page.pageNum;
obj.pageSize = this.page.pageSize;
getUserData(obj)
.then((res) => {
if (res.code === "200") {
this.tableData = res.data.value;
this.page.total = res.data.totalItems;
} else {
this.alertWarningMsg(res.message);
}
this.loadings.searchLoading = false;
})
.catch((err) => {
console.log(err);
this.loadings.searchLoading = false;
});
},
//查询角色
searchRole() {
getRoleList({ roleName: "", pageNum: 1, pageSize: 999999 })
.then((res) => {
if (res.code === "200") {
this.dict.roleList = res.data.value;
}
})
.catch((err) => {
console.log(err);
});
},
//查询口岸
searchPort() {
getPortList()
.then((res) => {
if (res.code === "200") {
this.dict.port = res.data;
}
})
.catch((err) => {
console.log(err);
});
},
update(val) {
this.dialogTitle = "信息编辑";
this.editType = "update";
this.outerVisible = true;
this.activeData = val;
},
roleChange(val) {
this.dialogTitle = "角色编辑";
this.editType = "roleChange";
this.outerVisible = true;
this.activeData = val;
},
dialogClose() {
this.outerVisible = false;
this.activeData = null;
this.search(1);
},
//分页
currentChange(val) {
this.page.pageNum = val.page;
this.search(1);
},
sizeChange(val) {
this.page.pageSize = val;
this.search(1);
},
visibleChange(type) {
if (type) {
this.activeType = true;
} else {
if (this.sreachFormData.roleIds.length > 0) {
this.activeType = true;
} else {
this.activeType = false;
document
.querySelector("#inputInner--roleIds")
.classList.remove("inputFocus");
}
}
},
removeTag(val) {
if (this.sreachFormData.roleIds.length > 0) {
this.activeType = true;
} else {
this.activeType = false;
document
.querySelector("#inputInner--roleIds")
.classList.remove("inputFocus");
}
},
clear() {
this.activeType = false;
document
.querySelector("#inputInner--roleIds")
.classList.remove("inputFocus");
},
input() {
this.$forceUpdate();
},
},
};
</script>
<style scoped lang="scss">
@import "@/assets/styles/variables.scss";
.entrySreach {
height: 100%;
background-color: $menuLightBg;
.entrySreachButton {
display: inline-block;
font-size: 20px;
color: $fedexButton !important;
}
.optionButton {
padding: 10px;
text-align: left;
.el-button {
color: $fedexButton;
border-color: $fedexButton !important;
svg {
display: inline-block;
margin-right: 5px;
fill: $fedexButton;
}
}
.entrySaveButton:hover,
.entrySaveButton:focus {
color: $menuLightBg !important;
background-color: $fedexButton !important;
}
}
}
.texttareaTip {
position: absolute;
top: 52%;
right: 20px;
transform: translate(0, -50%);
z-index: 10;
}
</style>
......
This file is too large to display.