diff --git a/package.json b/package.json index c905b820..7170fed6 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,9 @@ "no-tabs": 0, "no-mixed-spaces-and-tabs": 0, "vue/no-unused-components": 0, - "vue/multi-word-component-names": 0 + "vue/multi-word-component-names": 0, + "no-debugger": "off", + "no-console": "off" } }, "browserslist": [ diff --git a/src/api/model/hrm.js b/src/api/model/hrm.js index 6e2aef0f..ce2918b1 100644 --- a/src/api/model/hrm.js +++ b/src/api/model/hrm.js @@ -10,6 +10,14 @@ export default { return await http.get(this.url, data); } }, + create: { + name: "新增员工", + req: async function(data){ + return await http.post( + `${config.API_URL}/hrm/employee/`, + data); + } + }, update: { name: "更新员工信息", req: async function(id, data){ @@ -17,6 +25,12 @@ export default { `${config.API_URL}/hrm/employee/${id}/`, data); } + }, + delete: { + name: "删除员工", + req: async function(id){ + return await http.delete(`${config.API_URL}/hrm/employee/${id}/`); + } } }, -} \ No newline at end of file +} diff --git a/src/api/model/system.js b/src/api/model/system.js index 4f10f0dd..0c5d16c1 100644 --- a/src/api/model/system.js +++ b/src/api/model/system.js @@ -18,29 +18,144 @@ export default { } } }, - dic: { - tree: { - url: `${config.API_URL}/system/dic/tree`, - name: "获取字典树", - get: async function(){ - return await http.get(this.url); - } - }, + dept: { list: { - url: `${config.API_URL}/system/dic/list`, - name: "字典明细", - get: async function(params){ - return await http.get(this.url, params); + url: `${config.API_URL}/system/dept/`, + name: "获取部门列表", + req: async function(data){ + return await http.get(this.url, data); } }, - get: { - url: `${config.API_URL}/system/dic/get`, - name: "获取字典数据", - get: async function(params){ - return await http.get(this.url, params); + create: { + url: `${config.API_URL}/system/dept/`, + name: "新增部门", + req: async function(data){ + return await http.post(this.url,data); + } + }, + update: { + name: "更新部门信息", + req: async function(id, data){ + return await http.put( + `${config.API_URL}/system/dept/${id}/`, + data + ); + } + }, + delete: { + name: "删除部门", + req: async function(id){ + return await http.delete(`${config.API_URL}/hrm/employee/${id}/`); } } }, + dicttype: { + list: { + url: `${config.API_URL}/system/dicttype/`, + name: "获取字典类型列表", + req: async function(data){ + return await http.get(this.url, data); + } + }, + create: { + url: `${config.API_URL}/system/dicttype/`, + name: "新增字典类型", + req: async function(data){ + return await http.post(this.url,data); + } + }, + update: { + name: "更新字典类型", + req: async function(id, data){ + return await http.put( + `${config.API_URL}/system/dicttype/${id}/`, + data + ); + } + }, + delete: { + name: "删除字典类型", + req: async function(id){ + return await http.delete(`${config.API_URL}/system/dicttype/${id}/`); + } + } + }, + dict: { + list: { + url: `${config.API_URL}/system/dict/`, + name: "获取字典列表", + req: async function(data){ + return await http.get(this.url, data); + } + }, + create: { + url: `${config.API_URL}/system/dict/`, + name: "新增字典", + req: async function(data){ + return await http.post(this.url,data); + } + }, + update: { + name: "更新字典", + req: async function(id, data){ + return await http.put( + `${config.API_URL}/system/dict/${id}/`, + data + ); + } + }, + delete: { + name: "删除字典", + req: async function(id){ + return await http.delete(`${config.API_URL}/system/dict/${id}/`); + } + } + }, + permission:{ + list: { + url: `${config.API_URL}/system/permission/`, + name: "获取菜单权限列表", + req: async function(data){ + return await http.get(this.url, data); + } + }, + codes: { + url: `${config.API_URL}/system/permission/codes/`, + name: "获取全部权限标识", + req: async function(data){ + return await http.get(this.url, data); + } + }, + create: { + url: `${config.API_URL}/system/permission/`, + name: "新增菜单权限", + req: async function(data){ + return await http.post(this.url,data); + } + }, + update: { + name: "更新菜单权限", + req: async function(id, data){ + return await http.put( + `${config.API_URL}/system/permission/${id}/`, + data + ); + } + }, + delete: { + name: "删除菜单权限", + req: async function(id){ + return await http.delete(`${config.API_URL}/system/permission/${id}/`); + } + }, + deletes: { + name: "批量删除菜单权限", + url: `${config.API_URL}/system/permission/deletes/`, + req: async function(data){ + return await http.post(this.url,data); + } + }, + }, role: { list: { url: `${config.API_URL}/system/role/list2`, @@ -50,15 +165,7 @@ export default { } } }, - dept: { - list: { - url: `${config.API_URL}/system/dept/list`, - name: "获取部门列表", - get: async function(params){ - return await http.get(this.url, params); - } - } - }, + user: { list: { url: `${config.API_URL}/system/user/list`, @@ -68,15 +175,6 @@ export default { } } }, - app: { - list: { - url: `${config.API_URL}/system/app/list`, - name: "应用列表", - get: async function(){ - return await http.get(this.url); - } - } - }, log: { list: { url: `${config.API_URL}/system/log/list`, @@ -86,20 +184,4 @@ export default { } } }, - table: { - list: { - url: `${config.API_URL}/system/table/list`, - name: "表格列管理列表", - get: async function(params){ - return await http.get(this.url, params); - } - }, - info: { - url: `${config.API_URL}/system/table/info`, - name: "表格列管理详情", - get: async function(params){ - return await http.get(this.url, params); - } - } - } } diff --git a/src/components/scTable/index.vue b/src/components/scTable/index.vue index b413506a..aa98796d 100644 --- a/src/components/scTable/index.vue +++ b/src/components/scTable/index.vue @@ -264,6 +264,7 @@ export default { }, //获取数据 async getData() { + debugger; this.loading = true; var reqData = { [config.request.page]: this.currentPage, @@ -277,14 +278,22 @@ export default { // delete reqData[config.request.pageSize] } Object.assign(reqData, this.tableParams); - + debugger; try { var res = await this.apiObj.req(reqData); if (this.hidePagination) { - this.tableData = res; + if (res.length == 0) { this.emptyText = "暂无数据"; } + if(this.$route.path==='/sys/dept'||this.$route.path==='/sys/perm'){ + this.tableData = this.redata(res); + debugger; + console.log(this.tableData) + }else{ + this.tableData = res || []; + } + // this.tableData = res; this.loading = false; this.$refs.scTable.setScrollTop(0); this.$emit("dataChange", res, this.tableData); @@ -296,18 +305,28 @@ export default { } try { var response = config.parseData(res); - if (response.total == 0) { + if (response.total === 0) { this.emptyText = "暂无数据"; } + let dataList = null; if (this.hidePagination) { - this.tableData = response.data || []; + dataList = response.data || []; } else { - this.tableData = response.rows || []; + dataList = response.rows || []; } + if(this.$route.path==='/sys/dept'||this.$route.path==='/sys/perm'){ + this.tableData = this.redata(dataList); + debugger; + console.log(this.tableData) + }else{ + this.tableData = dataList || []; + } this.total = response.total || 0; this.summary = response.summary || {}; this.loading = false; this.$refs.scTable.setScrollTop(0); + + this.$emit("dataChange", res, this.tableData); } catch (error) { this.loading = false; @@ -315,6 +334,30 @@ export default { return false; } }, + redata(postList){ + let posts = []; + postList.forEach(item => { + let obj = new Object(); + obj = {...item}; + obj.parentId = item.parent; + posts.push(obj) + }); + let obj = posts.reduce((res, v) => (res[v.id] = v , res), {});//Object + let arr = []; + for (let item of posts) { + //debugger; + if (item.parentId == null) { + arr.push(item); + continue + } + let parent = obj[item.parentId]; + parent.children = parent.children ? parent.children : []; + parent.children.push(item); + } + debugger; + console.log(arr); + return arr; + }, //分页点击 paginationChange() { this.getData(); diff --git a/src/config/select.js b/src/config/select.js index ce715878..06af8c76 100644 --- a/src/config/select.js +++ b/src/config/select.js @@ -3,7 +3,7 @@ import API from "@/api"; //字典选择器配置 export default { - dicApiObj: API.system.dic.get, //获取字典接口对象 + dicApiObj: API.system.dict.list, //获取字典接口对象 parseData: function (res) { return { data: res.data, //分析行数据字段结构 diff --git a/src/views/hrm/employee.vue b/src/views/hrm/employee.vue index 5d1263bd..9218feec 100644 --- a/src/views/hrm/employee.vue +++ b/src/views/hrm/employee.vue @@ -2,7 +2,8 @@
-
@@ -31,8 +32,8 @@