| | |
| | | <template> |
| | | <div class="userManagement_box"> |
| | | <My-bread :list="['运维管理', '用户管理']"></My-bread> |
| | | <div class="userInfo_box"> |
| | | <My-bread :list="[ |
| | | `${$t('operatManage.operatManage')}`, |
| | | `${$t('userManage.userManage')}`, |
| | | ]"></My-bread> |
| | | <el-divider /> |
| | | <div class="inquire"> |
| | | <el-form ref="formData1" :model="form" :inline="true"> |
| | | <el-form-item label="角色名称" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="权限字符" prop="jurisdiction"> |
| | | <el-input v-model="form.jurisdiction" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="角色状态" prop="region"> |
| | | <el-select v-model="form.region" placeholder="请选择"> |
| | | <el-option label="Zone one" value="shanghai" /> |
| | | <el-option label="Zone two" value="beijing" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="primary" @click="onSubmit">查询</el-button> |
| | | <el-button @click="resetForm()">重置</el-button> |
| | | </el-form-item> |
| | | <div |
| | | class="inquire subpage_Div" |
| | | ref="container" |
| | | > |
| | | <el-form |
| | | ref="queryForm" |
| | | :model="queryForm" |
| | | :inline="true" |
| | | > |
| | | <div class="flex_box"> |
| | | <div style="margin-right: auto"> |
| | | <el-form-item |
| | | prop="depid" |
| | | :label="$t('userManage.userInfoObj.depName')" |
| | | > |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | v-model="queryForm.depName" |
| | | size="small" |
| | | placeholder="请选择" |
| | | style="width: 200px" |
| | | > |
| | | <el-option |
| | | :value="queryForm.depid" |
| | | :label="queryForm.depName" |
| | | style="height: auto" |
| | | > |
| | | <el-tree |
| | | ref="tree" |
| | | :data="treeOptions" |
| | | node-key="id" |
| | | :props="props" |
| | | @node-click="handleNodeClickto" |
| | | /> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="uname" |
| | | :label="$t('userManage.userInfoObj.uname')" |
| | | > |
| | | <el-input |
| | | v-model="queryForm.uname" |
| | | size="small" |
| | | :placeholder="$t('userManage.userInfoObj.unamePlaceholder')" |
| | | style="width: 200px" |
| | | > |
| | | <i slot="suffix" class="el-icon-search" @click="queryInfo"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div> |
| | | <!-- <el-form-item>--> |
| | | <!-- <el-button--> |
| | | <!-- type="primary"--> |
| | | <!-- size="small"--> |
| | | <!-- @click="queryInfo('queryForm')"--> |
| | | <!-- icon="el-icon-search"--> |
| | | <!-- >--> |
| | | <!-- {{ $t("operatManage.ELM.search") }}--> |
| | | <!-- </el-button>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item> |
| | | <el-button |
| | | v-if="menuStatus.insert" |
| | | type="success" |
| | | size="small" |
| | | @click="showAddDialog" |
| | | icon="el-icon-plus" |
| | | > |
| | | {{ $t("common.append") }} |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item v-show="setbatchFlag"> |
| | | <el-button |
| | | v-if="menuStatus.update" |
| | | size="small" |
| | | @click="editPwd" |
| | | type="warning" |
| | | icon="el-icon-unlock" |
| | | >{{ $t("common.changepassWord") }} |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | v-if="menuStatus.delete" |
| | | type="danger" |
| | | size="small" |
| | | @click="deleteUserInfo" |
| | | icon="el-icon-delete" |
| | | > |
| | | {{ $t("common.delete") }} |
| | | </el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="info" |
| | | size="small" |
| | | @click="resetInfo('queryForm')" |
| | | icon="el-icon-refresh" |
| | | > |
| | | {{ $t("operatManage.ELM.reset") }} |
| | | </el-button> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | <div class="btn_box"> |
| | | <el-button>添加</el-button> |
| | | <el-button>修改</el-button> |
| | | <el-button>导出</el-button> |
| | | <el-button>删除</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table_box"> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column prop="user" label="用户名" /> |
| | | <el-table-column prop="name" label="姓名" /> |
| | | <el-table-column prop="email" label="邮箱" /> |
| | | <el-table-column prop="phone" label="联系方式" /> |
| | | <el-table-column fixed="right" prop="permission" label="权限" /> |
| | | <!-- <el-table-column label="操作" width="280"> |
| | | <template #default> |
| | | <div class="dividing-line"></div> |
| | | <div |
| | | class="table_box" |
| | | :style="styleVar" |
| | | > |
| | | <el-table |
| | | ref="filterTable" |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | border |
| | | class="table_height" |
| | | height="calc(100% - 45px)" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | type="index" |
| | | :label="$t('common.index')" |
| | | width="70px" |
| | | /> |
| | | |
| | | <el-button type="primary" size="small">删除</el-button> |
| | | <el-table-column |
| | | align="center" |
| | | prop="uname" |
| | | width="150px" |
| | | :label="$t('userManage.userInfoObj.uname')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="uid" |
| | | width="150px" |
| | | :label="$t('userManage.userInfoObj.uid')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="sex" |
| | | width="80px" |
| | | :label="$t('userManage.userInfoObj.sex')" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.sex == 1"> 男 </span> |
| | | <span v-else-if="scope.row.sex == 0">女</span> |
| | | <span v-else>未知</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="natives" |
| | | width="100px" |
| | | :label="$t('userManage.userInfoObj.natives')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="depName" |
| | | width="200px" |
| | | :label="$t('userManage.userInfoObj.depName')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="idcard" |
| | | :label="$t('userManage.userInfoObj.idcard')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="job" |
| | | :label="$t('userManage.userInfoObj.job')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="edu" |
| | | :label="$t('userManage.userInfoObj.edu')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="addr" |
| | | :label="$t('userManage.userInfoObj.addr')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="email" |
| | | :label="$t('userManage.userInfoObj.email')" |
| | | /> |
| | | <el-table-column |
| | | align="center" |
| | | prop="contact" |
| | | :label="$t('userManage.userInfoObj.contact')" |
| | | /> |
| | | |
| | | <el-table-column |
| | | align="center" |
| | | prop="largeModuleName" |
| | | :label="$t('userManage.userInfoObj.status')" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tag |
| | | v-if="scope.row.status == 0" |
| | | type="success" |
| | | >正常</el-tag> |
| | | <el-tag |
| | | v-if="scope.row.status == 1" |
| | | type="info" |
| | | >禁用</el-tag> |
| | | <el-tag |
| | | v-if="scope.row.status == 2" |
| | | type="warning" |
| | | >删除</el-tag> |
| | | <el-tag v-if="scope.row.status == 3">申请</el-tag> |
| | | <el-tag |
| | | v-if="scope.row.status == 4" |
| | | type="danger" |
| | | >拒批</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | | align="center" |
| | | prop="bak" |
| | | |
| | | :label="$t('userManage.userInfoObj.bak')" |
| | | /> --> |
| | | <el-table-column |
| | | :label="$t('common.operate')" |
| | | width="80px" |
| | | v-if="menuStatus.update" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | @click="editInfo(scope.row)" |
| | | size="small" |
| | | >{{ $t("common.update") }}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div style="margin-top: 40px" class="pagination_box"> |
| | | <div |
| | | style="margin-top: 10px;" |
| | | class="pagination_box" |
| | | > |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage4" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="10" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="5" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | width="910px" |
| | | :title=" |
| | | behavior == '新增用户' |
| | | ? `${$t('common.append')}` |
| | | : `${$t('common.update')}` |
| | | " |
| | | :visible.sync="dialogFormVisible" |
| | | :before-close="handleClose" |
| | | > |
| | | <div style="height: 500px; overflow: auto"> |
| | | <el-form |
| | | :model="editForm" |
| | | ref="editForm" |
| | | :rules="rules" |
| | | style="display: flex" |
| | | |
| | | > |
| | | <div> |
| | | <el-form-item |
| | | prop="uid" |
| | | :label="$t('userManage.userInfoObj.uid')" |
| | | v-if="behavior == '新增用户'" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.uid" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | <div |
| | | class="isNewUser" |
| | | v-if="isNewUser" |
| | | > |
| | | <img src="../../assets/img/success.png" /> |
| | | {{ $t("userManage.userInfoObj.uid") }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="behavior == '修改信息'" |
| | | :label="$t('userManage.userInfoObj.uid')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.uid" |
| | | autocomplete="off" |
| | | disabled |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item |
| | | v-if="behavior == '修改信息'" |
| | | prop="oldPwd" |
| | | :label="$t('userManage.userInfoObj.origpassword')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | v-model="editForm.oldPwd" |
| | | autocomplete="off" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item |
| | | prop="pwd" |
| | | v-if="behavior == '新增用户'" |
| | | :label="$t('userManage.userInfoObj.pwd')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | v-model="editForm.pwd" |
| | | autocomplete="off" |
| | | show-password |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item |
| | | prop="checkPass" |
| | | v-if="behavior == '新增用户'" |
| | | :label="$t('userManage.userInfoObj.confirmPassword')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | show-password |
| | | v-model="editForm.checkPass" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item |
| | | prop="uname" |
| | | :label="$t('userManage.userInfoObj.username')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.uname" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="sex" |
| | | :label="$t('userManage.userInfoObj.sex')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | v-model="editForm.sex" |
| | | clearable |
| | | :placeholder="$t('userManage.userInfoObj.pleaseSelect')" |
| | | > |
| | | <el-option |
| | | v-for="item in sexOpt" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="natives" |
| | | :label="$t('userManage.userInfoObj.nativePlace')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.natives" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="depid" |
| | | :label-width="formLabelWidth" |
| | | :label="$t('userManage.userInfoObj.depName')" |
| | | > |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | v-model="editForm.depid" |
| | | placeholder="请选择" |
| | | @focus="setOptionWidth" |
| | | > |
| | | <el-option |
| | | :value="editForm.depid" |
| | | :label="editForm.depName" |
| | | :style="{ width: selectOptionWidth, height: selectheight }" |
| | | > |
| | | <el-tree |
| | | ref="editcaderHandle" |
| | | :data="treeOptions" |
| | | :default-expand-all="defaultexpand" |
| | | node-key="id" |
| | | :props="defaultProps" |
| | | @node-click="handeditChange" |
| | | /> |
| | | </el-option> |
| | | </el-select> |
| | | <!-- <el-cascader |
| | | v-model="editForm.depid" |
| | | :options="treeOptions" |
| | | filterable |
| | | clearable |
| | | ref="editcaderHandle" |
| | | @change="editChange" |
| | | :show-all-levels="false" |
| | | :props="{ |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'children', |
| | | checkStrictly: true, |
| | | emitPath: false, |
| | | }" |
| | | > |
| | | </el-cascader> --> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="idcard" |
| | | :label="$t('userManage.userInfoObj.identityCard')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.idcard" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div style="width: 45%"> |
| | | <el-form-item |
| | | prop="job" |
| | | :label="$t('userManage.userInfoObj.job')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.job" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="edu" |
| | | :label="$t('userManage.userInfoObj.edu')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.edu" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="addr" |
| | | :label="$t('userManage.userInfoObj.addr')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.addr" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="email" |
| | | :label="$t('userManage.userInfoObj.email')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.email" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="contact" |
| | | :label="$t('userManage.userInfoObj.contact')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.contact" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="status" |
| | | :label="$t('userManage.userInfoObj.status')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | v-model="editForm.status" |
| | | clearable |
| | | :placeholder="$t('userManage.userInfoObj.pleaseSelect')" |
| | | > |
| | | <el-option |
| | | v-for="item in statusOpt" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="bak" |
| | | :label="$t('userManage.userInfoObj.remarks')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input |
| | | v-model="editForm.bak" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <div |
| | | v-if="behavior == '修改信息'" |
| | | slot="footer" |
| | | class="dialog-footer" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | type="info" |
| | | @click="cancelEdit()" |
| | | >{{ |
| | | $t("common.reset") |
| | | }}</el-button> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | @click="sendEdit('editForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >{{ $t("common.submit") }}</el-button> |
| | | </div> |
| | | <div |
| | | v-else |
| | | slot="footer" |
| | | class="dialog-footer" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | type="info" |
| | | @click="cancelAdd('editForm')" |
| | | >{{ |
| | | $t("common.reset") |
| | | }}</el-button> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | @click="sendAdd('editForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >{{ $t("common.submit") }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :title="$t('common.changepassWord')" |
| | | :visible.sync="resetPwd" |
| | | :before-close="handleClose" |
| | | |
| | | > |
| | | |
| | | <el-form |
| | | :model="pwdForm" |
| | | ref="pwdForm" |
| | | :rules="rules" |
| | | label-position="top" |
| | | > |
| | | <el-form-item |
| | | prop="adminPwd" |
| | | :label="$t('common.AdminPassword')" |
| | | label-width="140px" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | v-model="pwdForm.adminPwd" |
| | | autocomplete="off" |
| | | show-password |
| | | style="width:85%" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="newPwd" |
| | | :label="$t('common.NPassword')" |
| | | label-width="140px" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | v-model="pwdForm.newPwd" |
| | | autocomplete="off" |
| | | show-password |
| | | style="width:85%" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | prop="checkPwd" |
| | | :label="$t('common.SPassword')" |
| | | label-width="140px" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | v-model="pwdForm.checkPwd" |
| | | autocomplete="off" |
| | | show-password |
| | | style="width:85%" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div |
| | | slot="footer" |
| | | class="dialog-footer" |
| | | > |
| | | <el-button |
| | | size="small" |
| | | type="info" |
| | | @click="cancelReset - 'pwdForm'" |
| | | >{{ |
| | | $t("common.reset") |
| | | }}</el-button> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | | @click="sendReset('pwdForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >{{ $t("common.submit") }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import MyBread from '../../components/MyBread.vue'; |
| | | var encrypt = new JSEncrypt(); |
| | | import { mapActions } from "vuex"; |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import { |
| | | queryDepTree, |
| | | queryPageUser, |
| | | insertUser, |
| | | deleteUser, |
| | | updateUser, |
| | | updatePwd, |
| | | selectByUserid, |
| | | userSelectForIsAdmin, |
| | | } from "../../api/api"; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | | components: { |
| | | MyBread, |
| | | }, |
| | | |
| | | data() { |
| | | let validName = (rule, value, callback) => { |
| | | if (value === "" || value === null || value === undefined) { |
| | | return callback(new Error("请输入密码")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | let validatePass = (rule, value, callback) => { |
| | | if (value === "" || value === undefined) { |
| | | callback(new Error("请再次输入密码")); |
| | | } else if (value !== this.editForm.pwd) { |
| | | callback(new Error("两次输入密码不一致!")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | let resetPass = (rule, value, callback) => { |
| | | if (value === "" || value === undefined) { |
| | | callback(new Error("请再次输入密码")); |
| | | } else if (value !== this.pwdForm.newPwd) { |
| | | callback(new Error("两次输入密码不一致!")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | currentPage4: 1, |
| | | form: { |
| | | name: '', |
| | | region: '', |
| | | jurisdiction: '', |
| | | props: { |
| | | label: "name", |
| | | value: "id", |
| | | children: "children", |
| | | checkStrictly: true, |
| | | emitPath: false, |
| | | }, |
| | | tableData: [ |
| | | setbatchFlag: false, |
| | | menuStatus: { |
| | | delete: false, |
| | | insert: false, |
| | | update: false, |
| | | }, |
| | | isNewUser: false, |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "name", |
| | | }, |
| | | queryForm: { |
| | | uname: "", |
| | | depid: null, |
| | | depName: "", |
| | | }, |
| | | tableData: [], |
| | | fullscreenLoading: false, |
| | | count: 0, |
| | | formLabelWidth: "100px", |
| | | dialogFormVisible: false, |
| | | initialForm: "", |
| | | behavior: "", |
| | | multipleSelection: [], |
| | | resetPwd: false, |
| | | editForm: { |
| | | uid: "", |
| | | uname: "", |
| | | oldPwd: "", |
| | | pwd: "", |
| | | checkPass: "", |
| | | sex: null, |
| | | natives: "", |
| | | depid: null, |
| | | idcard: "", |
| | | job: "", |
| | | edu: "", |
| | | addr: "", |
| | | email: "", |
| | | contact: "", |
| | | status: null, |
| | | bak: "", |
| | | salt: "", |
| | | }, |
| | | pwdForm: { |
| | | adminPwd: "", |
| | | newPwd: "", |
| | | checkPwd: "", |
| | | ids: [], |
| | | }, |
| | | treeOptions: [], |
| | | statusOpt: [ |
| | | { |
| | | name: '张三', |
| | | user: 'admin', |
| | | email: 'admin@daa.com', |
| | | phone: '182111199328', |
| | | permission: '管理员', |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | name: '李四', |
| | | user: 'admin', |
| | | email: 'admin@daa.com', |
| | | phone: '182111199328', |
| | | permission: '管理员', |
| | | value: 1, |
| | | label: "禁用", |
| | | }, |
| | | { |
| | | name: '王五', |
| | | user: 'admin', |
| | | email: 'admin@daa.com', |
| | | phone: '182111199328', |
| | | permission: '管理员', |
| | | value: 2, |
| | | label: "删除", |
| | | }, |
| | | { |
| | | name: '赵氏', |
| | | user: 'admin', |
| | | email: 'admin@daa.com', |
| | | phone: '182111199328', |
| | | permission: '管理员', |
| | | value: 3, |
| | | label: "申请", |
| | | }, |
| | | |
| | | { |
| | | name: '张三', |
| | | user: 'admin', |
| | | email: 'admin@daa.com', |
| | | phone: '182111199328', |
| | | permission: '管理员', |
| | | value: 4, |
| | | label: "拒批", |
| | | }, |
| | | ], |
| | | depList: [], |
| | | sexOpt: [ |
| | | { |
| | | value: 0, |
| | | label: "女", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "男", |
| | | }, |
| | | { |
| | | value: -1, |
| | | label: "未知", |
| | | }, |
| | | ], |
| | | rules: { |
| | | uid: [ |
| | | { required: true, validator: validName, trigger: "blur" }, |
| | | { |
| | | trigger: "blur", |
| | | validator: (rule, value, callback) => { |
| | | var reg = new RegExp(/^[a-zA-Z0-9_]{0,15}$/); //字符串正则表达式 4到14位(字母,数字,下划线,减号) |
| | | if (!reg.test(value)) { |
| | | callback( |
| | | new Error("账号必须由字母,数字或下划线,长度不得超过16位") |
| | | ); |
| | | } else { |
| | | selectByUserid({ uid: value }).then((res) => { |
| | | if (res.result != null) { |
| | | this.isNewUser = false; |
| | | callback(new Error("账号已存在")); |
| | | } else { |
| | | this.isNewUser = true; |
| | | callback(); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | ], |
| | | pwd: [ |
| | | { |
| | | required: true, |
| | | message: "请输入密码", |
| | | transform: (value) => value, |
| | | trigger: "blur", |
| | | }, |
| | | { |
| | | type: "string", |
| | | message: "请输入不包含空格的字符", |
| | | trigger: "blur", |
| | | transform(value) { |
| | | if (value && value.indexOf(" ") === -1) { |
| | | return value; |
| | | } else { |
| | | return false; |
| | | } |
| | | }, |
| | | }, |
| | | { |
| | | trigger: "blur", |
| | | validator: (rule, value, callback) => { |
| | | var regex = new RegExp(""); |
| | | var passwordreg = |
| | | /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{13,20}$/; |
| | | if (!passwordreg.test(value)) { |
| | | callback( |
| | | new Error("密码必须由数字、字母、特殊字符组合,请输入13-20位") |
| | | ); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | }, |
| | | ], |
| | | checkPass: [ |
| | | { required: true, validator: validatePass, trigger: "blur" }, |
| | | ], |
| | | adminPwd: [{ validator: validName, trigger: "blur" }], |
| | | newPwd: [ |
| | | { |
| | | message: "请输入密码", |
| | | transform: (value) => value, |
| | | trigger: "blur", |
| | | }, |
| | | { |
| | | type: "string", |
| | | message: "请输入不包含空格的字符", |
| | | trigger: "blur", |
| | | transform(value) { |
| | | if (value && value.indexOf(" ") === -1) { |
| | | return value; |
| | | } else { |
| | | return false; |
| | | } |
| | | }, |
| | | }, |
| | | { |
| | | trigger: "blur", |
| | | validator: (rule, value, callback) => { |
| | | var regex = new RegExp(""); |
| | | var passwordreg = |
| | | /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$/; |
| | | if (!passwordreg.test(value)) { |
| | | callback( |
| | | new Error("密码必须由数字、字母、特殊字符组合,请输入8-20位") |
| | | ); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | }, |
| | | ], |
| | | checkPwd: [{ validator: resetPass, trigger: "blur" }], |
| | | }, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "name", |
| | | }, |
| | | selectOptionWidth: "", |
| | | selectheight: "auto", |
| | | defaultexpand: false, |
| | | tableHeight: 0, |
| | | timer: 0, |
| | | styleVar: { |
| | | "height": "calc(100% - 109px)", |
| | | }, |
| | | }; |
| | | }, |
| | | beforeDestroy() { |
| | | this.timer && clearTimeout(this.timer); |
| | | window.removeEventListener("resize", this.onResize); |
| | | }, |
| | | methods: { |
| | | onResize() { |
| | | this.timer && clearTimeout(this.timer); |
| | | this.timer = setTimeout(() => { |
| | | this.calHeight(); |
| | | }, 500); |
| | | }, |
| | | calHeight() { |
| | | this.$nextTick(() => { |
| | | const rect = this.$refs.container.getBoundingClientRect(); |
| | | this.tableHeight = `${rect.height + 97}px`; |
| | | this.styleVar["height"] = `calc(100% - ${rect.height + 30}px)`; |
| | | }); |
| | | }, |
| | | ...mapActions(["login", "getpublickey"]), |
| | | getUserInfo() { |
| | | this.pageSize = 10; |
| | | this.currentPage = 1; |
| | | queryDepTree() |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.depList = this.treeData(res.result); |
| | | this.treeOptions = this.treeData(res.result); |
| | | this.queryForm.depName = this.depList[0].name; |
| | | this.queryInfo.depid = this.depList[0].id; |
| | | this.queryInfo(); |
| | | } else { |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: res.result, |
| | | }); |
| | | } |
| | | }) |
| | | .catch((res) => { }); |
| | | |
| | | queryPageUser({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | } else { |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: res.result, |
| | | }); |
| | | } |
| | | }) |
| | | .catch((res) => { }); |
| | | }, |
| | | treeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | }, |
| | | |
| | | handleNodeClickto(data, node, nodeData) { |
| | | this.queryForm.depid = data.code; |
| | | this.queryForm.depName = data.name; |
| | | }, |
| | | //搜索按钮 |
| | | queryInfo() { |
| | | let searchData = { |
| | | uname: this.queryForm.uname.trim(), |
| | | depcode: this.queryForm.depid, |
| | | pageIndex: this.pageIndex, |
| | | pageSize: this.pageSize, |
| | | }; |
| | | queryPageUser(searchData).then((res) => { |
| | | if (res.code == 200) { |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | } else { |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: res.result, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | //重置按钮 |
| | | resetInfo(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | this.queryForm.depName = this.depList[0].name; |
| | | this.queryInfo.depid = this.depList[0].id; |
| | | this.queryInfo(); |
| | | }, |
| | | //新增按钮 |
| | | showAddDialog() { |
| | | this.behavior = "新增用户"; |
| | | this.editForm = {}; |
| | | this.dialogFormVisible = true; |
| | | }, |
| | | cancelAdd(formName) { |
| | | this.editForm = {}; |
| | | this.isNewUser = false; |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | sendAdd(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | // console.log(this.$store.state.key); |
| | | encrypt.setPublicKey(this.$store.state.key); |
| | | this.editForm.uid = encrypt.encrypt(this.editForm.uid); |
| | | this.editForm.pwd = encrypt.encrypt(this.editForm.pwd); |
| | | this.fullscreenLoading = true; |
| | | delete this.editForm.checkPass; |
| | | delete this.editForm.oldPwd; |
| | | insertUser(this.editForm) |
| | | .then((res) => { |
| | | setTimeout(() => { |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.getUserInfo(); |
| | | this.$message({ |
| | | message: "添加成功", |
| | | type: "success", |
| | | }); |
| | | this.editForm = {}; |
| | | this.dialogFormVisible = false; |
| | | } |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | //多选 |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val; |
| | | }, |
| | | //删除按钮 |
| | | deleteUserInfo() { |
| | | var blackTheme; |
| | | if (this.$store.state.themeflag == true) { |
| | | blackTheme = { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | customClass: "Black_theme", |
| | | }; |
| | | } else { |
| | | blackTheme = { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }; |
| | | } |
| | | this.$confirm("此操作将删除已选中的用户, 是否继续?", "提示", blackTheme) |
| | | .then(() => { |
| | | var std = []; |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].id); |
| | | } |
| | | deleteUser({ ids: std.toString() }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "删除成功!", |
| | | }); |
| | | this.multipleSelection = []; |
| | | this.getUserInfo(); |
| | | } else { |
| | | this.$message.error("删除失败"); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | this.$message.error("删除失败"); |
| | | this.multipleSelection = []; |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | this.$message("已取消删除"); |
| | | }); |
| | | }, |
| | | //重置密码 |
| | | editPwd() { |
| | | |
| | | |
| | | var std = []; |
| | | for (var i in this.multipleSelection) { |
| | | std.push(this.multipleSelection[i].id); |
| | | } |
| | | |
| | | if (std.length == 0) { |
| | | alert("请先选择用户"); |
| | | return; |
| | | } |
| | | this.pwdForm.ids = std; |
| | | this.resetPwd = true; |
| | | }, |
| | | cancelReset(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | this.pwdForm.ids = []; |
| | | }, |
| | | sendReset(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | encrypt.setPublicKey(this.$store.state.key); |
| | | var data = { |
| | | adminPwd: encrypt.encrypt(this.pwdForm.adminPwd), |
| | | newPwd: encrypt.encrypt(this.pwdForm.newPwd), |
| | | ids: this.pwdForm.ids, |
| | | }; |
| | | this.fullscreenLoading = true; |
| | | updatePwd(data) |
| | | .then((res) => { |
| | | setTimeout(() => { |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: "修改成功", |
| | | type: "success", |
| | | }); |
| | | this.pwdForm = { |
| | | adminPwd: "", |
| | | newPwd: "", |
| | | checkPwd: "", |
| | | ids: [], |
| | | }; |
| | | this.multipleSelection = []; |
| | | this.resetPwd = false; |
| | | |
| | | this.getUserInfo(); |
| | | } |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | //编辑按钮 |
| | | editInfo(row) { |
| | | delete row.updateTime; |
| | | delete row.updateUser; |
| | | |
| | | this.initialForm = JSON.stringify(row); |
| | | this.behavior = "修改信息"; |
| | | this.editForm = JSON.parse(JSON.stringify(row)); |
| | | this.dialogFormVisible = true; |
| | | }, |
| | | //编辑选择单位 |
| | | editChange(value) { |
| | | this.editForm.depid = value; |
| | | this.$refs.editcaderHandle.dropDownVisible = false; |
| | | }, |
| | | handeditChange(data, node, nodeData) { |
| | | this.$set(this.editForm, "depid", data.id); |
| | | this.$set(this.editForm, "depName", data.name); |
| | | this.$set(this.editForm, "depcode", data.code); |
| | | this.$refs.editcaderHandle.dropDownVisible = false; |
| | | }, |
| | | //关闭弹出框 |
| | | handleClose(done) { |
| | | var blackTheme; |
| | | if (this.$store.state.themeflag == true) { |
| | | blackTheme = { |
| | | customClass: "Black_theme", |
| | | }; |
| | | } |
| | | |
| | | this.$confirm("确认关闭?", blackTheme) |
| | | .then((_) => { |
| | | this.editForm = { |
| | | uid: "", |
| | | uname: "", |
| | | oldPwd: "", |
| | | pwd: "", |
| | | checkPass: "", |
| | | sex: null, |
| | | natives: "", |
| | | depid: null, |
| | | idcard: "", |
| | | job: "", |
| | | edu: "", |
| | | addr: "", |
| | | email: "", |
| | | contact: "", |
| | | status: null, |
| | | bak: "", |
| | | salt: "", |
| | | }; |
| | | this.pwdForm = { |
| | | adminPwd: "", |
| | | newPwd: "", |
| | | checkPwd: "", |
| | | ids: [], |
| | | }; |
| | | |
| | | done(); |
| | | }) |
| | | .catch((_) => { }); |
| | | }, |
| | | //提交编辑 |
| | | sendEdit(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | // encrypt.setPublicKey(this.$store.state.key); |
| | | // this.editForm.uid = this.editForm.uid; |
| | | // this.editForm.salt = null; |
| | | // this.editForm.pwd = null; |
| | | // this.editForm.salt = encrypt.encrypt(this.editForm.pwd); |
| | | // // this.editForm.pwd = encrypt.encrypt(this.editForm.oldPwd); |
| | | // this.fullscreenLoading = true; |
| | | // delete this.editForm.checkPass; |
| | | // delete this.editForm.oldPwd; |
| | | // this.editForm.salt = this.editForm.pwd; |
| | | |
| | | updateUser(this.editForm) |
| | | .then((res) => { |
| | | setTimeout(() => { |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.getUserInfo(); |
| | | this.$message({ |
| | | message: "修改成功", |
| | | type: "success", |
| | | }); |
| | | this.editForm = {}; |
| | | this.dialogFormVisible = false; |
| | | } |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | cancelEdit() { |
| | | this.$nextTick(() => { |
| | | this.editForm = JSON.parse(this.initialForm); |
| | | }); |
| | | }, |
| | | |
| | | handleSizeChange(val) { |
| | | console.log(`每页 ${val} 条`); |
| | | // console.log(`每页 ${val} 条`); |
| | | this.pageSize = val; |
| | | this.queryInfo(); |
| | | }, |
| | | handleCurrentChange(val) { |
| | | console.log(`当前页: ${val}`); |
| | | // console.log(`当前页: ${val}`); |
| | | this.pageIndex = val; |
| | | this.currentPage = val; |
| | | this.queryInfo(); |
| | | }, |
| | | onSubmit() { |
| | | console.log('submit!'); |
| | | showPermsMenu(res) { |
| | | switch (res.tag) { |
| | | case "/delete": |
| | | this.menuStatus.delete = true; |
| | | break; |
| | | case "/insert": |
| | | this.menuStatus.insert = true; |
| | | break; |
| | | case "/update": |
| | | this.menuStatus.update = true; |
| | | break; |
| | | } |
| | | }, |
| | | resetForm() {}, |
| | | async getIsAdmin() { |
| | | const data = await userSelectForIsAdmin(); |
| | | if (data.code != 200) { |
| | | this.setbatchFlag = false; |
| | | return; |
| | | } |
| | | this.setbatchFlag = data.result; |
| | | }, |
| | | setOptionWidth(event) { |
| | | // 下拉框聚焦,设置弹框的宽度 |
| | | this.$nextTick(() => { |
| | | this.selectOptionWidth = event.srcElement.offsetWidth + "px"; |
| | | }); |
| | | }, |
| | | }, |
| | | created() {}, |
| | | |
| | | mounted() { |
| | | this.getIsAdmin(); |
| | | this.getUserInfo(); |
| | | this.getpublickey(); |
| | | window.addEventListener("resize", this.onResize); |
| | | this.calHeight() |
| | | }, |
| | | created() { |
| | | var val = this.$store.state.currentPerms; |
| | | var permsEntity = this.$store.state.permsEntity; |
| | | for (var i = 0; i < permsEntity.length; i++) { |
| | | if (permsEntity[i].perms == val) { |
| | | this.showPermsMenu(permsEntity[i]); |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | //@import url(); 引入公共css类 |
| | | .userManagement_box { |
| | | .userInfo_box { |
| | | height: 98%; |
| | | width: 98%; |
| | | padding: 0.5%; |
| | | |
| | | .el-input { |
| | | width: 300px; |
| | | } |
| | | .inquire { |
| | | padding: 10px; |
| | | position: relative; |
| | | height: auto; |
| | | |
| | | //padding: 10px; |
| | | //margin-top: 20px; |
| | | |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | margin-bottom: 20px; |
| | | /deep/ .el-input__inner { |
| | | background-color: transparent !important; |
| | | border: 1px solid; |
| | | color: white; |
| | | } |
| | | /deep/ .el-button { |
| | | background: linear-gradient(180deg, #002992, #080472); |
| | | border: 1px solid #000000; |
| | | border-radius: 3px; |
| | | color: white; |
| | | } |
| | | /deep/.el-form-item__label { |
| | | color: white; |
| | | |
| | | //margin-bottom: 20px; |
| | | .el-form-item { |
| | | margin: 5px; |
| | | } |
| | | } |
| | | .table_box { |
| | | padding: 10px; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | /deep/.el-input__inner { |
| | | background-color: transparent !important; |
| | | border: 1px solid; |
| | | color: white; |
| | | } |
| | | /deep/.el-pagination__total { |
| | | color: white; |
| | | } |
| | | /deep/.el-pagination__jump { |
| | | color: white; |
| | | } |
| | | /deep/.el-pager li.active { |
| | | color: #1890ff; |
| | | } |
| | | /deep/.el-pager li { |
| | | color: white; |
| | | background: transparent; |
| | | } |
| | | /deep/.el-pager li { |
| | | color: white; |
| | | } |
| | | /deep/.btn-prev { |
| | | background: transparent; |
| | | } |
| | | /deep/.btn-next { |
| | | background: transparent; |
| | | } |
| | | /*修改table 表体的背景颜色和文字颜色*/ |
| | | /deep/ .el-table { |
| | | background-color: transparent; |
| | | |
| | | th, |
| | | td { |
| | | background-color: transparent; |
| | | } |
| | | .el-table__expanded-cell { |
| | | background-color: transparent !important; |
| | | } |
| | | // .table_height{ |
| | | // // max-height: 80%; |
| | | |
| | | // 表头背景色 |
| | | th.el-table__cell { |
| | | background-color: #303030; |
| | | color: #fff; |
| | | // min-height:70%; |
| | | // } |
| | | .el-dialog { |
| | | .el-form-item { |
| | | margin-bottom: 20px; |
| | | // width: 48%; |
| | | /deep/.el-form-item__error { |
| | | width: 300px; |
| | | } |
| | | tr > td { |
| | | background-color: #303030; |
| | | color: #fff; |
| | | .isNewUser { |
| | | display: inline-block; |
| | | width: 75px; |
| | | margin-left: 5px; |
| | | img { |
| | | width: 1em; |
| | | } |
| | | } |
| | | |
| | | // hover效果 |
| | | tr:hover > td { |
| | | background-color: rgba(255, 255, 255, 0.3) !important; |
| | | } |
| | | |
| | | tbody tr:hover { |
| | | background-color: rgba(255, 255, 255, 0.3) !important; |
| | | // text-align: center; |
| | | } |
| | | |
| | | // 滚动条宽高 |
| | | .el-table__body-wrapper::-webkit-scrollbar { |
| | | width: 5px; |
| | | height: 5px; |
| | | } |
| | | |
| | | .el-table__body-wrapper::-webkit-scrollbar { |
| | | width: 5px; |
| | | /*滚动条宽度*/ |
| | | height: 10px; |
| | | /*滚动条高度*/ |
| | | } |
| | | /*定义滚动条轨道 内阴影+圆角*/ |
| | | .el-table__body-wrapper::-webkit-scrollbar-track { |
| | | box-shadow: 0px 1px 3px #216fe6 inset; |
| | | /*滚动条的背景区域的内阴影*/ |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | /*定义滑块 内阴影+圆角*/ |
| | | .el-table__body-wrapper::-webkit-scrollbar-thumb { |
| | | box-shadow: 0px 1px 3px #216fe6 inset; |
| | | border-radius: 6px; |
| | | background-color: #216fe6; |
| | | .el-cascader, |
| | | .el-select { |
| | | width: 300px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | <style> |
| | | .el-select-dropdown { |
| | | background: #303030; |
| | | border-color: 1px solid; |
| | | } |
| | | |
| | | .el-scrollbar__wrap { |
| | | margin-bottom: -20px !important; |
| | | margin-right: -20px !important; |
| | | } |
| | | .el-select-dropdown__item.hover, |
| | | .el-select-dropdown__item:hover { |
| | | background: rgba(255, 255, 255, 0.3); |
| | | } |
| | | .el-select-dropdown__item { |
| | | color: white !important; |
| | | } |
| | | </style> |