Showing
15 changed files
with
768 additions
and
32 deletions
public/PowerOfAttorney.pdf
deleted
100644 → 0
No preview for this file type
public/无纸化申报权限开通指南.pdf
deleted
100644 → 0
No preview for this file type
| ... | @@ -12,7 +12,7 @@ export function login(loginName, password, rememberMe, equipmentType, userAgent, | ... | @@ -12,7 +12,7 @@ export function login(loginName, password, rememberMe, equipmentType, userAgent, |
| 12 | "name": "肖玉兰", | 12 | "name": "肖玉兰", |
| 13 | "phone": 18221643976, | 13 | "phone": 18221643976, |
| 14 | "port": "TSN", | 14 | "port": "TSN", |
| 15 | - "purpleId": 6, | 15 | + "purpleId": '肖玉兰', |
| 16 | "role": 170 | 16 | "role": 170 |
| 17 | } | 17 | } |
| 18 | return request({ | 18 | return request({ | ... | ... |
| ... | @@ -59,3 +59,68 @@ export function updateRoleMenuData(data) { | ... | @@ -59,3 +59,68 @@ export function updateRoleMenuData(data) { |
| 59 | data: data | 59 | data: data |
| 60 | }) | 60 | }) |
| 61 | } | 61 | } |
| 62 | + | ||
| 63 | +// 用户信息查询 | ||
| 64 | +/** | ||
| 65 | + * @param employeeNumber 员工编号 | ||
| 66 | + * @param userName 用户名称 | ||
| 67 | + * @param port 口岸 | ||
| 68 | + * @param roleIds list | ||
| 69 | + * @param pageNum * | ||
| 70 | + * @param pageSize * | ||
| 71 | + */ | ||
| 72 | +export function getUserData(data) { | ||
| 73 | + return request({ | ||
| 74 | + url: '/bus-customer/user/searchUser', | ||
| 75 | + method: 'post', | ||
| 76 | + data: data | ||
| 77 | + }) | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +// 用户更新 | ||
| 81 | +/** | ||
| 82 | + * @param employeeNumber 员工编号 | ||
| 83 | + * @param userName 用户名称 | ||
| 84 | + * @param port 口岸 | ||
| 85 | + * @param email 邮件 | ||
| 86 | + * @param id * | ||
| 87 | + * @param remark 备注 | ||
| 88 | + * @param phone 口岸 | ||
| 89 | + */ | ||
| 90 | +export function updateUserData(data) { | ||
| 91 | + return request({ | ||
| 92 | + url: '/bus-customer/user/updateUser', | ||
| 93 | + method: 'put', | ||
| 94 | + data: data | ||
| 95 | + }) | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +// 用户角色更新 | ||
| 99 | +/** | ||
| 100 | + * @param employeeNumber 员工编号 | ||
| 101 | + * @param userName 用户名称 | ||
| 102 | + * @param port 口岸 | ||
| 103 | + * @param email 邮件 | ||
| 104 | + * @param id * | ||
| 105 | + * @param remark 备注 | ||
| 106 | + * @param phone 口岸 | ||
| 107 | + */ | ||
| 108 | +export function updateUserRoleChange(data) { | ||
| 109 | + return request({ | ||
| 110 | + url: '/bus-customer/user/updateUser', | ||
| 111 | + method: 'put', | ||
| 112 | + data: data | ||
| 113 | + }) | ||
| 114 | +} | ||
| 115 | + | ||
| 116 | +// 获取口岸字典 | ||
| 117 | +/** | ||
| 118 | + * @param | ||
| 119 | + */ | ||
| 120 | +export function getPortList(data) { | ||
| 121 | + return request({ | ||
| 122 | + url: '/bus-customer/user/getPortCodeForUserList', | ||
| 123 | + method: 'get', | ||
| 124 | + params: data | ||
| 125 | + }) | ||
| 126 | +} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -60,31 +60,31 @@ export const constantRoutes = [ | ... | @@ -60,31 +60,31 @@ export const constantRoutes = [ |
| 60 | hidden: true, | 60 | hidden: true, |
| 61 | meta: { noCache: true, breadcrumb: false } | 61 | meta: { noCache: true, breadcrumb: false } |
| 62 | }, | 62 | }, |
| 63 | - { | 63 | + // { |
| 64 | - path: '', | 64 | + // path: '', |
| 65 | - component: Layout, | 65 | + // component: Layout, |
| 66 | - hidden: true, | 66 | + // hidden: true, |
| 67 | - redirect: 'index', | 67 | + // redirect: 'index', |
| 68 | - children: [ | 68 | + // children: [ |
| 69 | - { | 69 | + // { |
| 70 | - path: 'index', | 70 | + // path: 'index', |
| 71 | - component: (resolve) => require(['@/views/index'], resolve), | 71 | + // component: (resolve) => require(['@/views/index'], resolve), |
| 72 | - name: '首页', | 72 | + // name: '首页', |
| 73 | - meta: { title: '首页', icon: 'dashboard' } | 73 | + // meta: { title: '首页', icon: 'dashboard' } |
| 74 | - }, | 74 | + // }, |
| 75 | - ] | 75 | + // ] |
| 76 | - }, | 76 | + // }, |
| 77 | { | 77 | { |
| 78 | path: '/', | 78 | path: '/', |
| 79 | component: Layout, | 79 | component: Layout, |
| 80 | hidden: false, | 80 | hidden: false, |
| 81 | - redirect: 'index', | ||
| 82 | meta: { title: '申报数据管理', icon: 'upload' }, | 81 | meta: { title: '申报数据管理', icon: 'upload' }, |
| 83 | children: [ | 82 | children: [ |
| 84 | { | 83 | { |
| 85 | path: '/reportingData', | 84 | path: '/reportingData', |
| 86 | component: (resolve) => require(['@/views/reportingData/index'], resolve), | 85 | component: (resolve) => require(['@/views/reportingData/index'], resolve), |
| 87 | hidden: false, | 86 | hidden: false, |
| 87 | + name: 'ReportingData', | ||
| 88 | meta: { title: '申报数据管理', icon: 'upload' } | 88 | meta: { title: '申报数据管理', icon: 'upload' } |
| 89 | } | 89 | } |
| 90 | ] | 90 | ] |
| ... | @@ -93,7 +93,6 @@ export const constantRoutes = [ | ... | @@ -93,7 +93,6 @@ export const constantRoutes = [ |
| 93 | path: '/export', | 93 | path: '/export', |
| 94 | component: Layout, | 94 | component: Layout, |
| 95 | hidden: false, | 95 | hidden: false, |
| 96 | - redirect: 'index', | ||
| 97 | meta: { title: '查询管理', icon: 'fedexExportIcon' }, | 96 | meta: { title: '查询管理', icon: 'fedexExportIcon' }, |
| 98 | children: [ | 97 | children: [ |
| 99 | { | 98 | { |
| ... | @@ -106,7 +105,7 @@ export const constantRoutes = [ | ... | @@ -106,7 +105,7 @@ export const constantRoutes = [ |
| 106 | path: '/exportBillDetail', | 105 | path: '/exportBillDetail', |
| 107 | component: (resolve) => require(['@/views/exportBillDetail/index'], resolve), | 106 | component: (resolve) => require(['@/views/exportBillDetail/index'], resolve), |
| 108 | hidden: true, | 107 | hidden: true, |
| 109 | - name:'ExportBillDetail', | 108 | + name: 'ExportBillDetail', |
| 110 | meta: { title: '出口订单详情', icon: '' }, | 109 | meta: { title: '出口订单详情', icon: '' }, |
| 111 | }, | 110 | }, |
| 112 | { | 111 | { |
| ... | @@ -173,7 +172,6 @@ export const constantRoutes = [ | ... | @@ -173,7 +172,6 @@ export const constantRoutes = [ |
| 173 | path: '/summary', | 172 | path: '/summary', |
| 174 | component: Layout, | 173 | component: Layout, |
| 175 | hidden: false, | 174 | hidden: false, |
| 176 | - redirect: 'index', | ||
| 177 | meta: { title: '汇总申报', icon: 'fedexSummary' }, | 175 | meta: { title: '汇总申报', icon: 'fedexSummary' }, |
| 178 | children: [ | 176 | children: [ |
| 179 | { | 177 | { |
| ... | @@ -194,37 +192,41 @@ export const constantRoutes = [ | ... | @@ -194,37 +192,41 @@ export const constantRoutes = [ |
| 194 | path: '/system', | 192 | path: '/system', |
| 195 | component: Layout, | 193 | component: Layout, |
| 196 | hidden: false, | 194 | hidden: false, |
| 197 | - redirect: 'index', | ||
| 198 | meta: { title: '系统管理', icon: 'fedexQueue' }, | 195 | meta: { title: '系统管理', icon: 'fedexQueue' }, |
| 199 | children: [ | 196 | children: [ |
| 200 | { | 197 | { |
| 201 | path: '/portConfig', | 198 | path: '/portConfig', |
| 202 | component: (resolve) => require(['@/views/portConfig/index'], resolve), | 199 | component: (resolve) => require(['@/views/portConfig/index'], resolve), |
| 203 | hidden: false, | 200 | hidden: false, |
| 201 | + name: 'PortConfig', | ||
| 204 | meta: { title: '口岸信息管理', icon: '' } | 202 | meta: { title: '口岸信息管理', icon: '' } |
| 205 | }, | 203 | }, |
| 206 | { | 204 | { |
| 207 | - path: '/userConfig', | 205 | + path: '/customerConfig', |
| 208 | - component: (resolve) => require(['@/views/userConfig/index'], resolve), | 206 | + component: (resolve) => require(['@/views/customerConfig/index'], resolve), |
| 209 | hidden: false, | 207 | hidden: false, |
| 208 | + name: 'CustomerConfig', | ||
| 210 | meta: { title: '客户管理', icon: '' } | 209 | meta: { title: '客户管理', icon: '' } |
| 211 | }, | 210 | }, |
| 212 | { | 211 | { |
| 213 | - path: '/passwordIpConfig', | 212 | + path: '/cipherMachineConfig', |
| 214 | - component: (resolve) => require(['@/views/passwordIpConfig/index'], resolve), | 213 | + component: (resolve) => require(['@/views/cipherMachineConfig/index'], resolve), |
| 215 | hidden: false, | 214 | hidden: false, |
| 215 | + name: 'CipherMachineConfig', | ||
| 216 | meta: { title: '密码机管理', icon: '' } | 216 | meta: { title: '密码机管理', icon: '' } |
| 217 | }, | 217 | }, |
| 218 | { | 218 | { |
| 219 | path: '/userRoleConfig', | 219 | path: '/userRoleConfig', |
| 220 | component: (resolve) => require(['@/views/userRoleConfig/index'], resolve), | 220 | component: (resolve) => require(['@/views/userRoleConfig/index'], resolve), |
| 221 | hidden: false, | 221 | hidden: false, |
| 222 | + name: 'UserRoleConfig', | ||
| 222 | meta: { title: '用户管理权限', icon: '' } | 223 | meta: { title: '用户管理权限', icon: '' } |
| 223 | }, | 224 | }, |
| 224 | { | 225 | { |
| 225 | path: '/roleConfig', | 226 | path: '/roleConfig', |
| 226 | component: (resolve) => require(['@/views/roleConfig/index'], resolve), | 227 | component: (resolve) => require(['@/views/roleConfig/index'], resolve), |
| 227 | hidden: false, | 228 | hidden: false, |
| 229 | + name: 'RoleConfig', | ||
| 228 | meta: { title: '角色管理权限', icon: '' } | 230 | meta: { title: '角色管理权限', icon: '' } |
| 229 | }, | 231 | }, |
| 230 | ] | 232 | ] | ... | ... |
| ... | @@ -43,7 +43,7 @@ const permission = { | ... | @@ -43,7 +43,7 @@ const permission = { |
| 43 | const rdata = constantRoutes | 43 | const rdata = constantRoutes |
| 44 | const sidebarRoutes = filterAsyncRouter(sdata) | 44 | const sidebarRoutes = filterAsyncRouter(sdata) |
| 45 | const rewriteRoutes = filterAsyncRouter(rdata, false, true) | 45 | const rewriteRoutes = filterAsyncRouter(rdata, false, true) |
| 46 | - rewriteRoutes.push({ path: '*', redirect: '/index', hidden: true }) | 46 | + rewriteRoutes.push({ path: '*', redirect: '/reportingData', hidden: true }) |
| 47 | commit('SET_ROUTES', rewriteRoutes) | 47 | commit('SET_ROUTES', rewriteRoutes) |
| 48 | commit('SET_SIDEBAR_ROUTERS', sidebarRoutes) | 48 | commit('SET_SIDEBAR_ROUTERS', sidebarRoutes) |
| 49 | commit('SET_DEFAULT_ROUTES', sidebarRoutes) | 49 | commit('SET_DEFAULT_ROUTES', sidebarRoutes) | ... | ... |
src/views/customerConfig/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="entrySreach"> | ||
| 3 | + <el-form | ||
| 4 | + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder" | ||
| 5 | + ref="sreachForm" | ||
| 6 | + :model="sreachFormData" | ||
| 7 | + label-position="top" | ||
| 8 | + size="small" | ||
| 9 | + > | ||
| 10 | + <el-row class="row-border"> | ||
| 11 | + <!-- 姓名 --> | ||
| 12 | + <el-col :span="5"> | ||
| 13 | + <Formitem label="姓名" prop="userName"> | ||
| 14 | + <el-input | ||
| 15 | + type="text" | ||
| 16 | + class="inputShadow" | ||
| 17 | + id="inputInner--userName" | ||
| 18 | + resize="none" | ||
| 19 | + v-model="sreachFormData.userName" | ||
| 20 | + clearable | ||
| 21 | + placeholder="" | ||
| 22 | + ></el-input> | ||
| 23 | + </Formitem> | ||
| 24 | + </el-col> | ||
| 25 | + <!-- 员工号 --> | ||
| 26 | + <el-col :span="5"> | ||
| 27 | + <Formitem label="员工号" prop="employeeNumber"> | ||
| 28 | + <el-input | ||
| 29 | + type="text" | ||
| 30 | + class="inputShadow" | ||
| 31 | + id="inputInner--employeeNumber" | ||
| 32 | + resize="none" | ||
| 33 | + v-model="sreachFormData.employeeNumber" | ||
| 34 | + clearable | ||
| 35 | + placeholder="" | ||
| 36 | + ></el-input> | ||
| 37 | + </Formitem> | ||
| 38 | + </el-col> | ||
| 39 | + <!-- 口岸 --> | ||
| 40 | + <el-col :span="5"> | ||
| 41 | + <Formitem label="口岸" prop="port"> | ||
| 42 | + <el-select | ||
| 43 | + type="text" | ||
| 44 | + id="inputInner--port" | ||
| 45 | + v-model="sreachFormData.port" | ||
| 46 | + clearable | ||
| 47 | + placeholder="" | ||
| 48 | + > | ||
| 49 | + <el-option | ||
| 50 | + v-for="(item, index) in dictData.port" | ||
| 51 | + :key="index" | ||
| 52 | + :label="item.name" | ||
| 53 | + :value="item.code" | ||
| 54 | + ></el-option> | ||
| 55 | + </el-select> | ||
| 56 | + </Formitem> | ||
| 57 | + </el-col> | ||
| 58 | + <!-- 角色 --> | ||
| 59 | + <el-col :span="5"> | ||
| 60 | + <Formitem label="角色" prop="roleIds"> | ||
| 61 | + <el-select | ||
| 62 | + type="text" | ||
| 63 | + id="inputInner--roleIds" | ||
| 64 | + v-model="sreachFormData.roleIds" | ||
| 65 | + clearable | ||
| 66 | + placeholder="" | ||
| 67 | + > | ||
| 68 | + <el-option | ||
| 69 | + v-for="(item, index) in dict.roleList" | ||
| 70 | + :key="index" | ||
| 71 | + :label="item.roleName" | ||
| 72 | + :value="item.roleId" | ||
| 73 | + ></el-option> | ||
| 74 | + </el-select> | ||
| 75 | + </Formitem> | ||
| 76 | + </el-col> | ||
| 77 | + <el-col :span="2"> | ||
| 78 | + <el-form-item class="textCenter"> | ||
| 79 | + <el-button | ||
| 80 | + class="entrySreachButton" | ||
| 81 | + type="text" | ||
| 82 | + icon="el-icon-search" | ||
| 83 | + :loading="loadings.searchLoading" | ||
| 84 | + @click="search(0)" | ||
| 85 | + ></el-button> | ||
| 86 | + </el-form-item> | ||
| 87 | + </el-col> | ||
| 88 | + </el-row> | ||
| 89 | + </el-form> | ||
| 90 | + <div class="optionButton"> | ||
| 91 | + <!-- <el-button | ||
| 92 | + class="entrySaveButton" | ||
| 93 | + icon="el-icon-plus" | ||
| 94 | + size="small" | ||
| 95 | + @click="addRole" | ||
| 96 | + > | ||
| 97 | + 新增角色 | ||
| 98 | + </el-button> --> | ||
| 99 | + </div> | ||
| 100 | + <Table | ||
| 101 | + class="fedexDetialTable fedexSreachTable" | ||
| 102 | + ref="entryTable" | ||
| 103 | + :data="tableData" | ||
| 104 | + :headerData="headerData" | ||
| 105 | + :maxHeight="tableMaxheight" | ||
| 106 | + :border="true" | ||
| 107 | + :pagination="true" | ||
| 108 | + :order="false" | ||
| 109 | + :loading="loadings.searchLoading" | ||
| 110 | + :page="page.pageIndex" | ||
| 111 | + :pageSizes="[20, 30, 50, 100]" | ||
| 112 | + :totalCount="page.total" | ||
| 113 | + @sizeChange="sizeChange" | ||
| 114 | + @currentChange="currentChange" | ||
| 115 | + :selection="false" | ||
| 116 | + :selectFixed="false" | ||
| 117 | + :rowSelectDataType="false" | ||
| 118 | + > | ||
| 119 | + <template slot="optionColumn"> | ||
| 120 | + <el-table-column align="left" label="操作"> | ||
| 121 | + <template slot-scope="scope"> | ||
| 122 | + <el-button type="text" @click="update(scope.row)"> | ||
| 123 | + 角色修改 | ||
| 124 | + </el-button> | ||
| 125 | + <el-button type="text" @click="muenChange(scope.row)"> | ||
| 126 | + 权限绑定 | ||
| 127 | + </el-button> | ||
| 128 | + </template> | ||
| 129 | + </el-table-column> | ||
| 130 | + </template> | ||
| 131 | + </Table> | ||
| 132 | + </div> | ||
| 133 | +</template> | ||
| 134 | + | ||
| 135 | +<script> | ||
| 136 | +import { getRoleList } from "@/api/system/user.js"; | ||
| 137 | +export default { | ||
| 138 | + name: "RoleConfig", | ||
| 139 | + data() { | ||
| 140 | + return { | ||
| 141 | + sreachFormData: { | ||
| 142 | + userName: "", | ||
| 143 | + employeeNumber: "", | ||
| 144 | + roleIds: "", | ||
| 145 | + port: "", | ||
| 146 | + }, | ||
| 147 | + page: { | ||
| 148 | + pageIndex: 1, | ||
| 149 | + pageSize: 20, | ||
| 150 | + total: 0, | ||
| 151 | + }, | ||
| 152 | + activeData: null, | ||
| 153 | + tableData: [], | ||
| 154 | + headerData: [ | ||
| 155 | + { | ||
| 156 | + name: "角色名", | ||
| 157 | + value: "roleName", | ||
| 158 | + width: "", | ||
| 159 | + align: "left", | ||
| 160 | + }, | ||
| 161 | + ], | ||
| 162 | + dict: { | ||
| 163 | + roleList: [], | ||
| 164 | + }, | ||
| 165 | + loadings: { | ||
| 166 | + searchLoading: false, | ||
| 167 | + }, | ||
| 168 | + tableMaxheight: null, | ||
| 169 | + outerVisible: false, | ||
| 170 | + dialogTitle: "", | ||
| 171 | + editType: "", | ||
| 172 | + }; | ||
| 173 | + }, | ||
| 174 | + created() { | ||
| 175 | + this.searchRole(); | ||
| 176 | + this.search(0); | ||
| 177 | + }, | ||
| 178 | + mounted() { | ||
| 179 | + this.tableMaxheight = window.innerHeight - 300; | ||
| 180 | + }, | ||
| 181 | + methods: { | ||
| 182 | + search(val) {}, | ||
| 183 | + //查询 | ||
| 184 | + searchRole(val) { | ||
| 185 | + getRoleList({ roleName: "", pageNum: 1, pageSize: 999999 }) | ||
| 186 | + .then((res) => { | ||
| 187 | + if (res.code === "200") { | ||
| 188 | + this.dict.roleList = res.data.value; | ||
| 189 | + } | ||
| 190 | + }) | ||
| 191 | + .catch((err) => { | ||
| 192 | + console.log(err); | ||
| 193 | + }); | ||
| 194 | + }, | ||
| 195 | + update(val) { | ||
| 196 | + this.dialogTitle = "修改角色"; | ||
| 197 | + this.editType = "update"; | ||
| 198 | + this.outerVisible = true; | ||
| 199 | + this.activeData = val; | ||
| 200 | + }, | ||
| 201 | + muenChange(val) { | ||
| 202 | + this.dialogTitle = "绑定权限"; | ||
| 203 | + this.editType = "menuChange"; | ||
| 204 | + this.outerVisible = true; | ||
| 205 | + this.activeData = val; | ||
| 206 | + }, | ||
| 207 | + dialogClose() { | ||
| 208 | + this.outerVisible = false; | ||
| 209 | + this.activeData = null; | ||
| 210 | + this.search(1); | ||
| 211 | + }, | ||
| 212 | + //分页 | ||
| 213 | + currentChange(val) { | ||
| 214 | + this.page.pageNum = val.page; | ||
| 215 | + this.search(1); | ||
| 216 | + }, | ||
| 217 | + sizeChange(val) { | ||
| 218 | + this.page.pageSize = val; | ||
| 219 | + this.search(1); | ||
| 220 | + }, | ||
| 221 | + input() { | ||
| 222 | + this.$forceUpdate(); | ||
| 223 | + }, | ||
| 224 | + }, | ||
| 225 | +}; | ||
| 226 | +</script> | ||
| 227 | + | ||
| 228 | +<style scoped lang="scss"> | ||
| 229 | +@import "@/assets/styles/variables.scss"; | ||
| 230 | +.entrySreach { | ||
| 231 | + height: 100%; | ||
| 232 | + background-color: $menuLightBg; | ||
| 233 | + | ||
| 234 | + .entrySreachButton { | ||
| 235 | + display: inline-block; | ||
| 236 | + font-size: 20px; | ||
| 237 | + color: $fedexButton !important; | ||
| 238 | + } | ||
| 239 | + | ||
| 240 | + .optionButton { | ||
| 241 | + padding: 10px; | ||
| 242 | + text-align: left; | ||
| 243 | + | ||
| 244 | + .el-button { | ||
| 245 | + color: $fedexButton; | ||
| 246 | + border-color: $fedexButton !important; | ||
| 247 | + | ||
| 248 | + svg { | ||
| 249 | + display: inline-block; | ||
| 250 | + margin-right: 5px; | ||
| 251 | + fill: $fedexButton; | ||
| 252 | + } | ||
| 253 | + } | ||
| 254 | + | ||
| 255 | + .entrySaveButton:hover, | ||
| 256 | + .entrySaveButton:focus { | ||
| 257 | + color: $menuLightBg !important; | ||
| 258 | + background-color: $fedexButton !important; | ||
| 259 | + } | ||
| 260 | + } | ||
| 261 | +} | ||
| 262 | + | ||
| 263 | +.texttareaTip { | ||
| 264 | + position: absolute; | ||
| 265 | + top: 52%; | ||
| 266 | + right: 20px; | ||
| 267 | + transform: translate(0, -50%); | ||
| 268 | + z-index: 10; | ||
| 269 | +} | ||
| 270 | +</style> |
src/views/passwordIpConfig/index.vue
deleted
100644 → 0
File mode changed
| ... | @@ -294,7 +294,7 @@ | ... | @@ -294,7 +294,7 @@ |
| 294 | import { searchDeclareData, declareDataUpload } from "@/api/declareData-api.js"; | 294 | import { searchDeclareData, declareDataUpload } from "@/api/declareData-api.js"; |
| 295 | import DialogVue from "./dialog.vue"; | 295 | import DialogVue from "./dialog.vue"; |
| 296 | export default { | 296 | export default { |
| 297 | - name: "", | 297 | + name: "ReportingData", |
| 298 | components: { | 298 | components: { |
| 299 | DialogVue, | 299 | DialogVue, |
| 300 | }, | 300 | }, | ... | ... |
| ... | @@ -276,7 +276,9 @@ export default { | ... | @@ -276,7 +276,9 @@ export default { |
| 276 | }, | 276 | }, |
| 277 | treeCheckChange(data, checked) { | 277 | treeCheckChange(data, checked) { |
| 278 | console.log(data, checked); | 278 | console.log(data, checked); |
| 279 | - this.treeCheckData = checked.checkedKeys; | 279 | + let arr = []; |
| 280 | + arr = checked.checkedKeys.concat(checked.halfCheckedKeys); | ||
| 281 | + this.treeCheckData = arr; | ||
| 280 | }, | 282 | }, |
| 281 | close() { | 283 | close() { |
| 282 | this.formData = { | 284 | this.formData = { | ... | ... |
| ... | @@ -55,7 +55,7 @@ | ... | @@ -55,7 +55,7 @@ |
| 55 | :pagination="true" | 55 | :pagination="true" |
| 56 | :order="false" | 56 | :order="false" |
| 57 | :loading="loadings.searchLoading" | 57 | :loading="loadings.searchLoading" |
| 58 | - :page="page.pageIndex" | 58 | + :page="page.pageNum" |
| 59 | :pageSizes="[20, 30, 50, 100]" | 59 | :pageSizes="[20, 30, 50, 100]" |
| 60 | :totalCount="page.total" | 60 | :totalCount="page.total" |
| 61 | @sizeChange="sizeChange" | 61 | @sizeChange="sizeChange" |
| ... | @@ -88,7 +88,7 @@ | ... | @@ -88,7 +88,7 @@ |
| 88 | </template> | 88 | </template> |
| 89 | 89 | ||
| 90 | <script> | 90 | <script> |
| 91 | -import { getRoleList, addRoleDataf } from "@/api/system/user.js"; | 91 | +import { getRoleList } from "@/api/system/user.js"; |
| 92 | import DialogVue from "./dialog.vue"; | 92 | import DialogVue from "./dialog.vue"; |
| 93 | export default { | 93 | export default { |
| 94 | name: "RoleConfig", | 94 | name: "RoleConfig", |
| ... | @@ -101,7 +101,7 @@ export default { | ... | @@ -101,7 +101,7 @@ export default { |
| 101 | roleName: "", | 101 | roleName: "", |
| 102 | }, | 102 | }, |
| 103 | page: { | 103 | page: { |
| 104 | - pageIndex: 1, | 104 | + pageNum: 1, |
| 105 | pageSize: 20, | 105 | pageSize: 20, |
| 106 | total: 0, | 106 | total: 0, |
| 107 | }, | 107 | }, |
| ... | @@ -135,10 +135,10 @@ export default { | ... | @@ -135,10 +135,10 @@ export default { |
| 135 | search(val) { | 135 | search(val) { |
| 136 | this.loadings.searchLoading = true; | 136 | this.loadings.searchLoading = true; |
| 137 | if (val == 0) { | 137 | if (val == 0) { |
| 138 | - this.page.pageIndex = 1; | 138 | + this.page.pageNum = 1; |
| 139 | } | 139 | } |
| 140 | let obj = this.sreachFormData; | 140 | let obj = this.sreachFormData; |
| 141 | - obj.pageIndex = this.page.pageIndex; | 141 | + obj.pageNum = this.page.pageNum; |
| 142 | obj.pageSize = this.page.pageSize; | 142 | obj.pageSize = this.page.pageSize; |
| 143 | getRoleList(obj) | 143 | getRoleList(obj) |
| 144 | .then((res) => { | 144 | .then((res) => { | ... | ... |
src/views/userConfig/index.vue
deleted
100644 → 0
File mode changed
src/views/userRoleConfig/dialog.vue
0 → 100644
This diff is collapsed. Click to expand it.
| 1 | +<template> | ||
| 2 | + <div class="entrySreach"> | ||
| 3 | + <el-form | ||
| 4 | + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder" | ||
| 5 | + ref="sreachForm" | ||
| 6 | + :model="sreachFormData" | ||
| 7 | + label-position="top" | ||
| 8 | + size="small" | ||
| 9 | + > | ||
| 10 | + <el-row class="row-border"> | ||
| 11 | + <!-- 姓名 --> | ||
| 12 | + <el-col :span="5"> | ||
| 13 | + <Formitem label="姓名" prop="userName"> | ||
| 14 | + <el-input | ||
| 15 | + type="text" | ||
| 16 | + class="inputShadow" | ||
| 17 | + id="inputInner--userName" | ||
| 18 | + resize="none" | ||
| 19 | + v-model="sreachFormData.userName" | ||
| 20 | + clearable | ||
| 21 | + placeholder="" | ||
| 22 | + ></el-input> | ||
| 23 | + </Formitem> | ||
| 24 | + </el-col> | ||
| 25 | + <!-- 员工号 --> | ||
| 26 | + <el-col :span="5"> | ||
| 27 | + <Formitem label="员工号" prop="employeeNumber"> | ||
| 28 | + <el-input | ||
| 29 | + type="text" | ||
| 30 | + class="inputShadow" | ||
| 31 | + id="inputInner--employeeNumber" | ||
| 32 | + resize="none" | ||
| 33 | + v-model="sreachFormData.employeeNumber" | ||
| 34 | + clearable | ||
| 35 | + placeholder="" | ||
| 36 | + ></el-input> | ||
| 37 | + </Formitem> | ||
| 38 | + </el-col> | ||
| 39 | + <!-- 口岸 --> | ||
| 40 | + <el-col :span="5"> | ||
| 41 | + <Formitem label="口岸" prop="port"> | ||
| 42 | + <el-select | ||
| 43 | + type="text" | ||
| 44 | + id="inputInner--port" | ||
| 45 | + v-model="sreachFormData.port" | ||
| 46 | + clearable | ||
| 47 | + placeholder="" | ||
| 48 | + > | ||
| 49 | + <el-option | ||
| 50 | + v-for="(item, index) in dict.port" | ||
| 51 | + :key="index" | ||
| 52 | + :label="item" | ||
| 53 | + :value="item" | ||
| 54 | + ></el-option> | ||
| 55 | + </el-select> | ||
| 56 | + </Formitem> | ||
| 57 | + </el-col> | ||
| 58 | + <!-- 角色 --> | ||
| 59 | + <el-col :span="5"> | ||
| 60 | + <Formitem label="角色" prop="roleIds" :activeType="activeType"> | ||
| 61 | + <el-select | ||
| 62 | + id="inputInner--roleIds" | ||
| 63 | + class="multipleElSelect" | ||
| 64 | + v-model="sreachFormData.roleIds" | ||
| 65 | + filterable | ||
| 66 | + multiple | ||
| 67 | + clearable | ||
| 68 | + placeholder="" | ||
| 69 | + @visible-change="visibleChange" | ||
| 70 | + @remove-tag="removeTag" | ||
| 71 | + @clear="clear" | ||
| 72 | + > | ||
| 73 | + <el-option | ||
| 74 | + v-for="(item, index) in dict.roleList" | ||
| 75 | + :key="index" | ||
| 76 | + :label="item.roleName" | ||
| 77 | + :value="item.roleId" | ||
| 78 | + ></el-option> | ||
| 79 | + </el-select> | ||
| 80 | + </Formitem> | ||
| 81 | + </el-col> | ||
| 82 | + <el-col :span="2"> | ||
| 83 | + <el-form-item class="textCenter"> | ||
| 84 | + <el-button | ||
| 85 | + class="entrySreachButton" | ||
| 86 | + type="text" | ||
| 87 | + icon="el-icon-search" | ||
| 88 | + :loading="loadings.searchLoading" | ||
| 89 | + @click="search(0)" | ||
| 90 | + ></el-button> | ||
| 91 | + </el-form-item> | ||
| 92 | + </el-col> | ||
| 93 | + </el-row> | ||
| 94 | + </el-form> | ||
| 95 | + <div class="optionButton"> | ||
| 96 | + <!-- <el-button | ||
| 97 | + class="entrySaveButton" | ||
| 98 | + icon="el-icon-plus" | ||
| 99 | + size="small" | ||
| 100 | + @click="addRole" | ||
| 101 | + > | ||
| 102 | + 新增角色 | ||
| 103 | + </el-button> --> | ||
| 104 | + </div> | ||
| 105 | + <Table | ||
| 106 | + class="fedexDetialTable fedexSreachTable" | ||
| 107 | + ref="entryTable" | ||
| 108 | + :data="tableData" | ||
| 109 | + :headerData="headerData" | ||
| 110 | + :maxHeight="tableMaxheight" | ||
| 111 | + :border="true" | ||
| 112 | + :pagination="true" | ||
| 113 | + :order="false" | ||
| 114 | + :loading="loadings.searchLoading" | ||
| 115 | + :page="page.pageNum" | ||
| 116 | + :pageSizes="[20, 30, 50, 100]" | ||
| 117 | + :totalCount="page.total" | ||
| 118 | + @sizeChange="sizeChange" | ||
| 119 | + @currentChange="currentChange" | ||
| 120 | + :selection="false" | ||
| 121 | + :selectFixed="false" | ||
| 122 | + :rowSelectDataType="false" | ||
| 123 | + > | ||
| 124 | + <template slot="optionColumn"> | ||
| 125 | + <el-table-column align="left" label="操作"> | ||
| 126 | + <template slot-scope="scope"> | ||
| 127 | + <el-button type="text" @click="update(scope.row)"> | ||
| 128 | + 信息编辑 | ||
| 129 | + </el-button> | ||
| 130 | + <el-button type="text" @click="roleChange(scope.row)"> | ||
| 131 | + 角色编辑 | ||
| 132 | + </el-button> | ||
| 133 | + </template> | ||
| 134 | + </el-table-column> | ||
| 135 | + </template> | ||
| 136 | + </Table> | ||
| 137 | + <DialogVue | ||
| 138 | + :outerVisible="outerVisible" | ||
| 139 | + :title="dialogTitle" | ||
| 140 | + :type="editType" | ||
| 141 | + :dict="dict" | ||
| 142 | + :active="activeData" | ||
| 143 | + @close="dialogClose" | ||
| 144 | + /> | ||
| 145 | + </div> | ||
| 146 | +</template> | ||
| 147 | + | ||
| 148 | +<script> | ||
| 149 | +import { getRoleList, getUserData, getPortList } from "@/api/system/user.js"; | ||
| 150 | +import DialogVue from "../userRoleConfig/dialog.vue"; | ||
| 151 | +export default { | ||
| 152 | + name: "UserRoleConfig", | ||
| 153 | + components: { | ||
| 154 | + DialogVue, | ||
| 155 | + }, | ||
| 156 | + data() { | ||
| 157 | + return { | ||
| 158 | + sreachFormData: { | ||
| 159 | + userName: "", | ||
| 160 | + employeeNumber: "", | ||
| 161 | + roleIds: [], | ||
| 162 | + port: "", | ||
| 163 | + }, | ||
| 164 | + page: { | ||
| 165 | + pageNum: 1, | ||
| 166 | + pageSize: 20, | ||
| 167 | + total: 0, | ||
| 168 | + }, | ||
| 169 | + activeData: null, | ||
| 170 | + tableData: [], | ||
| 171 | + headerData: [ | ||
| 172 | + { | ||
| 173 | + name: "员工号", | ||
| 174 | + value: "employeeNumber", | ||
| 175 | + width: "", | ||
| 176 | + align: "left", | ||
| 177 | + }, | ||
| 178 | + { | ||
| 179 | + name: "姓名", | ||
| 180 | + value: "username", | ||
| 181 | + width: "", | ||
| 182 | + align: "left", | ||
| 183 | + }, | ||
| 184 | + { | ||
| 185 | + name: "联系方式", | ||
| 186 | + value: "phone", | ||
| 187 | + width: "", | ||
| 188 | + align: "left", | ||
| 189 | + }, | ||
| 190 | + { | ||
| 191 | + name: "电子邮箱", | ||
| 192 | + value: "email", | ||
| 193 | + width: "", | ||
| 194 | + align: "left", | ||
| 195 | + }, | ||
| 196 | + { | ||
| 197 | + name: "传真", | ||
| 198 | + value: "fax", | ||
| 199 | + width: "", | ||
| 200 | + align: "left", | ||
| 201 | + }, | ||
| 202 | + { | ||
| 203 | + name: "口岸代码", | ||
| 204 | + value: "port", | ||
| 205 | + width: "", | ||
| 206 | + align: "left", | ||
| 207 | + }, | ||
| 208 | + { | ||
| 209 | + name: "所属角色", | ||
| 210 | + value: "roleName", | ||
| 211 | + width: "", | ||
| 212 | + align: "left", | ||
| 213 | + }, | ||
| 214 | + { | ||
| 215 | + name: "备注", | ||
| 216 | + value: "remark", | ||
| 217 | + width: "", | ||
| 218 | + align: "left", | ||
| 219 | + }, | ||
| 220 | + ], | ||
| 221 | + dict: { | ||
| 222 | + roleList: [], | ||
| 223 | + port: [], | ||
| 224 | + }, | ||
| 225 | + loadings: { | ||
| 226 | + searchLoading: false, | ||
| 227 | + }, | ||
| 228 | + tableMaxheight: null, | ||
| 229 | + outerVisible: false, | ||
| 230 | + activeType: false, | ||
| 231 | + dialogTitle: "", | ||
| 232 | + editType: "", | ||
| 233 | + }; | ||
| 234 | + }, | ||
| 235 | + created() { | ||
| 236 | + this.searchPort(); | ||
| 237 | + this.searchRole(); | ||
| 238 | + this.search(0); | ||
| 239 | + }, | ||
| 240 | + mounted() { | ||
| 241 | + this.tableMaxheight = window.innerHeight - 300; | ||
| 242 | + }, | ||
| 243 | + methods: { | ||
| 244 | + //查询 | ||
| 245 | + search(val) { | ||
| 246 | + this.loadings.searchLoading = true; | ||
| 247 | + if (val == 0) { | ||
| 248 | + this.page.pageNum = 1; | ||
| 249 | + } | ||
| 250 | + let obj = this.sreachFormData; | ||
| 251 | + obj.pageNum = this.page.pageNum; | ||
| 252 | + obj.pageSize = this.page.pageSize; | ||
| 253 | + getUserData(obj) | ||
| 254 | + .then((res) => { | ||
| 255 | + if (res.code === "200") { | ||
| 256 | + this.tableData = res.data.value; | ||
| 257 | + this.page.total = res.data.totalItems; | ||
| 258 | + } else { | ||
| 259 | + this.alertWarningMsg(res.message); | ||
| 260 | + } | ||
| 261 | + this.loadings.searchLoading = false; | ||
| 262 | + }) | ||
| 263 | + .catch((err) => { | ||
| 264 | + console.log(err); | ||
| 265 | + this.loadings.searchLoading = false; | ||
| 266 | + }); | ||
| 267 | + }, | ||
| 268 | + //查询角色 | ||
| 269 | + searchRole() { | ||
| 270 | + getRoleList({ roleName: "", pageNum: 1, pageSize: 999999 }) | ||
| 271 | + .then((res) => { | ||
| 272 | + if (res.code === "200") { | ||
| 273 | + this.dict.roleList = res.data.value; | ||
| 274 | + } | ||
| 275 | + }) | ||
| 276 | + .catch((err) => { | ||
| 277 | + console.log(err); | ||
| 278 | + }); | ||
| 279 | + }, | ||
| 280 | + //查询口岸 | ||
| 281 | + searchPort() { | ||
| 282 | + getPortList() | ||
| 283 | + .then((res) => { | ||
| 284 | + if (res.code === "200") { | ||
| 285 | + this.dict.port = res.data; | ||
| 286 | + } | ||
| 287 | + }) | ||
| 288 | + .catch((err) => { | ||
| 289 | + console.log(err); | ||
| 290 | + }); | ||
| 291 | + }, | ||
| 292 | + update(val) { | ||
| 293 | + this.dialogTitle = "信息编辑"; | ||
| 294 | + this.editType = "update"; | ||
| 295 | + this.outerVisible = true; | ||
| 296 | + this.activeData = val; | ||
| 297 | + }, | ||
| 298 | + roleChange(val) { | ||
| 299 | + this.dialogTitle = "角色编辑"; | ||
| 300 | + this.editType = "roleChange"; | ||
| 301 | + this.outerVisible = true; | ||
| 302 | + this.activeData = val; | ||
| 303 | + }, | ||
| 304 | + dialogClose() { | ||
| 305 | + this.outerVisible = false; | ||
| 306 | + this.activeData = null; | ||
| 307 | + this.search(1); | ||
| 308 | + }, | ||
| 309 | + //分页 | ||
| 310 | + currentChange(val) { | ||
| 311 | + this.page.pageNum = val.page; | ||
| 312 | + this.search(1); | ||
| 313 | + }, | ||
| 314 | + sizeChange(val) { | ||
| 315 | + this.page.pageSize = val; | ||
| 316 | + this.search(1); | ||
| 317 | + }, | ||
| 318 | + visibleChange(type) { | ||
| 319 | + if (type) { | ||
| 320 | + this.activeType = true; | ||
| 321 | + } else { | ||
| 322 | + if (this.sreachFormData.roleIds.length > 0) { | ||
| 323 | + this.activeType = true; | ||
| 324 | + } else { | ||
| 325 | + this.activeType = false; | ||
| 326 | + document | ||
| 327 | + .querySelector("#inputInner--roleIds") | ||
| 328 | + .classList.remove("inputFocus"); | ||
| 329 | + } | ||
| 330 | + } | ||
| 331 | + }, | ||
| 332 | + removeTag(val) { | ||
| 333 | + if (this.sreachFormData.roleIds.length > 0) { | ||
| 334 | + this.activeType = true; | ||
| 335 | + } else { | ||
| 336 | + this.activeType = false; | ||
| 337 | + document | ||
| 338 | + .querySelector("#inputInner--roleIds") | ||
| 339 | + .classList.remove("inputFocus"); | ||
| 340 | + } | ||
| 341 | + }, | ||
| 342 | + clear() { | ||
| 343 | + this.activeType = false; | ||
| 344 | + document | ||
| 345 | + .querySelector("#inputInner--roleIds") | ||
| 346 | + .classList.remove("inputFocus"); | ||
| 347 | + }, | ||
| 348 | + input() { | ||
| 349 | + this.$forceUpdate(); | ||
| 350 | + }, | ||
| 351 | + }, | ||
| 352 | +}; | ||
| 353 | +</script> | ||
| 354 | + | ||
| 355 | +<style scoped lang="scss"> | ||
| 356 | +@import "@/assets/styles/variables.scss"; | ||
| 357 | +.entrySreach { | ||
| 358 | + height: 100%; | ||
| 359 | + background-color: $menuLightBg; | ||
| 360 | + | ||
| 361 | + .entrySreachButton { | ||
| 362 | + display: inline-block; | ||
| 363 | + font-size: 20px; | ||
| 364 | + color: $fedexButton !important; | ||
| 365 | + } | ||
| 366 | + | ||
| 367 | + .optionButton { | ||
| 368 | + padding: 10px; | ||
| 369 | + text-align: left; | ||
| 370 | + | ||
| 371 | + .el-button { | ||
| 372 | + color: $fedexButton; | ||
| 373 | + border-color: $fedexButton !important; | ||
| 374 | + | ||
| 375 | + svg { | ||
| 376 | + display: inline-block; | ||
| 377 | + margin-right: 5px; | ||
| 378 | + fill: $fedexButton; | ||
| 379 | + } | ||
| 380 | + } | ||
| 381 | + | ||
| 382 | + .entrySaveButton:hover, | ||
| 383 | + .entrySaveButton:focus { | ||
| 384 | + color: $menuLightBg !important; | ||
| 385 | + background-color: $fedexButton !important; | ||
| 386 | + } | ||
| 387 | + } | ||
| 388 | +} | ||
| 389 | + | ||
| 390 | +.texttareaTip { | ||
| 391 | + position: absolute; | ||
| 392 | + top: 52%; | ||
| 393 | + right: 20px; | ||
| 394 | + transform: translate(0, -50%); | ||
| 395 | + z-index: 10; | ||
| 396 | +} | ||
| 397 | +</style> | ... | ... |
视频版使用指南.mp4
deleted
100644 → 0
This file is too large to display.
-
Please register or login to post a comment