7 changed files with 227 additions and 16 deletions
			
			
		| @ -0,0 +1,113 @@ | |||
| 'use strict'; | |||
| const moment = require('moment') | |||
| 
 | |||
| async function getResourceClassify(ctx) { | |||
|     try { | |||
|         const { models } = ctx.fs.dc; | |||
|         const { limit, offset } = ctx.query; | |||
|         let rlst = []; | |||
|         const findObj = {} | |||
|         if (Number(limit) > 0 && Number(offset) >= 0) { | |||
|             findObj.limit = Number(limit); | |||
|             findObj.offset = Number(offset); | |||
|         } | |||
|         const trainingInformationLevel = await models.TrainingInformationLevel.findAll(findObj); | |||
|         if (trainingInformationLevel.length) { | |||
|             rlst = [{ | |||
|                 label: "公司培训资料", value: "company", key: "company", operation: true, | |||
|             }, { label: "部门培训资料", value: 'dept', key: 'dept', operation: false }]; | |||
| 
 | |||
|             for (let level of trainingInformationLevel) { | |||
|                 const { id, type, departmentname, traindate, origin } = level; | |||
|                 /**type:1级, departmentname:2级,traindate:3级 */ | |||
|                 const arrIndex = rlst.findIndex(item => item.label == type) | |||
|                 if (arrIndex > -1) {//一级分类名称正确
 | |||
|                     const operation = "import" == origin ? true : false; | |||
|                     if (departmentname) { | |||
|                         if (traindate) { | |||
|                             //区分2级是否记录
 | |||
|                             if (rlst[arrIndex].children) { | |||
|                                 const depIndex = rlst[arrIndex].children.findIndex(r => r.label == departmentname); | |||
|                                 if (depIndex > -1) { | |||
|                                     if (rlst[arrIndex].children[depIndex].children) { | |||
|                                         rlst[arrIndex].children[depIndex].children.push({ | |||
|                                             label: moment(traindate).format('YYYY-MM'), | |||
|                                             value: id, | |||
|                                             key: id, | |||
|                                             operation | |||
|                                         }) | |||
|                                     } else { | |||
|                                         rlst[arrIndex].children[depIndex].children = [{ | |||
|                                             label: moment(traindate).format('YYYY-MM'), | |||
|                                             value: id, | |||
|                                             key: id, | |||
|                                             operation | |||
|                                         }] | |||
|                                     } | |||
|                                 } else { | |||
|                                     rlst[arrIndex].children.push({ | |||
|                                         label: departmentname, | |||
|                                         children: [{ | |||
|                                             label: moment(traindate).format('YYYY-MM'), | |||
|                                             value: id, | |||
|                                             key: id, | |||
|                                             operation | |||
|                                         }] | |||
|                                     }); | |||
|                                 } | |||
|                             } else { | |||
|                                 rlst[arrIndex].children = [{ | |||
|                                     label: departmentname, | |||
|                                     children: [{ | |||
|                                         label: moment(traindate).format('YYYY-MM'), | |||
|                                         value: id, | |||
|                                         key: id, | |||
|                                         operation | |||
|                                     }] | |||
|                                 }] | |||
|                             } | |||
|                         } else { | |||
|                             if (rlst[arrIndex].children) { | |||
|                                 const depIndex = rlst[arrIndex].children.findIndex(r => r.label == departmentname); | |||
|                                 if (depIndex > -1) { | |||
|                                     if (!rlst[arrIndex].children[depIndex].value) { | |||
|                                         rlst[arrIndex].children[depIndex].value = id; | |||
|                                         rlst[arrIndex].children[depIndex].key = id; | |||
|                                         rlst[arrIndex].children[depIndex].operation = operation; | |||
|                                     } | |||
|                                 } else { | |||
|                                     rlst[arrIndex].children.push({ | |||
|                                         label: departmentname, | |||
|                                         value: id, | |||
|                                         key: id, | |||
|                                         operation | |||
|                                     }) | |||
|                                 } | |||
|                             } else { | |||
|                                 rlst[arrIndex].children = [{ | |||
|                                     label: departmentname, | |||
|                                     value: id, | |||
|                                     key: id, | |||
|                                     operation | |||
|                                 }] | |||
|                             } | |||
|                         } | |||
|                     } | |||
|                 } | |||
|             } | |||
|         } | |||
|         ctx.status = 200; | |||
|         ctx.body = rlst; | |||
|     } catch (error) { | |||
|         ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); | |||
|         ctx.status = 400; | |||
|         ctx.body = { | |||
|             message: '查询培训资源储备库分类目录失败' | |||
|         } | |||
|     } | |||
| 
 | |||
| } | |||
| 
 | |||
| module.exports = { | |||
|     getResourceClassify | |||
| } | |||
| @ -0,0 +1,9 @@ | |||
| 'use strict'; | |||
| /**培训资料库 */ | |||
| const resourceRepository = require('../../controllers/resourceRepository'); | |||
| 
 | |||
| module.exports = function (app, router, opts) { | |||
| 
 | |||
|     app.fs.api.logAttr['GET/train/trainFiles/resourceRepository/classify'] = { content: '查询培训资源储备库分类目录', visible: false }; | |||
|     router.get('/train/trainFiles/resourceRepository/classify', resourceRepository.getResourceClassify); | |||
| }; | |||
| @ -0,0 +1,54 @@ | |||
| 'use strict'; | |||
| 
 | |||
| import { ApiTable, basicAction } from '$utils' | |||
| 
 | |||
| export function getResourceClassify() {//查询籍贯列表
 | |||
|     return (dispatch) => basicAction({ | |||
|         type: "get", | |||
|         dispatch: dispatch, | |||
|         actionType: "GET_RESOURCE_CLASSIFY", | |||
|         // query: query,
 | |||
|         url: `${ApiTable.getResourceClassify}`, | |||
|         msg: { option: "查询培训资料库目录" }, | |||
|         reducer: { name: "resourceClassify" }, | |||
|     }); | |||
| } | |||
| 
 | |||
| export function postResourceClassify(data) { | |||
|     return (dispatch) => | |||
|         basicAction({ | |||
|             type: "post", | |||
|             dispatch: dispatch, | |||
|             data, | |||
|             actionType: "POST_RESOURCE_CLASSIFY", | |||
|             url: `${ApiTable.postResourceClassify}`, | |||
|             msg: { option: "新增" }, | |||
|             reducer: { name: "" }, | |||
|         }); | |||
| } | |||
| 
 | |||
| export function putResourceClassify(data) { | |||
|     return (dispatch) => | |||
|         basicAction({ | |||
|             type: "put", | |||
|             dispatch: dispatch, | |||
|             data, | |||
|             actionType: "PUT_RESOURCE_CLASSIFY", | |||
|             url: `${ApiTable.putResourceClassify}`, | |||
|             msg: { option: "修改" }, | |||
|             reducer: {}, | |||
|         }); | |||
| } | |||
| 
 | |||
| export function delResourceClassify(data) { | |||
|     return (dispatch) => | |||
|         basicAction({ | |||
|             type: "del", | |||
|             query: data, | |||
|             dispatch: dispatch, | |||
|             actionType: "DEL_RESOURCE_CLASSIFY", | |||
|             url: `${ApiTable.delResourceClassify}`, | |||
|             msg: { option: "删除" }, //删除
 | |||
|             reducer: {}, | |||
|         }); | |||
| } | |||
					Loading…
					
					
				
		Reference in new issue