'use strict'; /** * * * @author Mai * @date 2021/10/27 * @version */ const auditConst = require('../const/audit'); module.exports = app => { class BudgetController extends app.BaseController { /** * 概算投资 * * @param ctx * @returns {Promise} */ async index(ctx) { try { const renderData = { jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.file.index), auditConst, }; renderData.projectList = await ctx.service.subProject.getFileProject(ctx.session.sessionProject.id, ctx.session.sessionUser.accountId, ctx.session.sessionUser.is_admin); renderData.tenderList = await ctx.service.tender.getList4Select('stage'); renderData.categoryData = await this.ctx.service.category.getAllCategory(this.ctx.session.sessionProject.id); await this.layout('file/index.ejs', renderData, 'file/modal.ejs'); } catch (err) { ctx.log(err); } } async file(ctx) { try { const renderData = { jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.file.file), }; renderData.filing = await ctx.service.filing.getValidFiling(ctx.params.id, ctx.subProject.permission.filing_type); renderData.categoryData = await ctx.service.category.getAllCategory(ctx.session.sessionProject.id); renderData.canFiling = ctx.subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.filing.value) >= 0; renderData.canUpload = ctx.subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.upload.value) >= 0; renderData.filingTypes = ctx.service.filing.filingType; await this.layout('file/file.ejs', renderData, 'file/file_modal.ejs'); } catch (err) { ctx.log(err); } } async getFilingTypePermission(ctx) { try { if (ctx.subProject.project_id !== this.ctx.session.sessionProject.id) throw '您无权操作该数据'; const filingType = await ctx.service.subProjPermission.getFilingType(ctx.subProject.id); ctx.body = { err: 0, msg: '', data: filingType }; } catch(err) { ctx.log(err); ctx.ajaxErrorBody(err, '获取授权用户数据错误'); } } async saveFilingTypePermission(ctx) { try { const data = JSON.parse(ctx.request.body.data); await ctx.service.subProjPermission.saveFilingType(data); ctx.body = { err: 0, msg: '', data: '' }; } catch(err) { ctx.log(err); ctx.ajaxErrorBody(err, '保存授权用户信息错误'); } } async addFiling(ctx) { try { const data = JSON.parse(ctx.request.body.data); const result = await ctx.service.filing.add(data); ctx.body = { err: 0, msg: '', data: result }; } catch (err) { ctx.log(err); ctx.ajaxErrorBody(err, '新增分类失败'); } } async delFiling(ctx) { try { const data = JSON.parse(ctx.request.body.data); const result = await ctx.service.filing.del(data); ctx.body = { err: 0, msg: '', data: result }; } catch (err) { ctx.log(err); ctx.ajaxErrorBody(err, '删除分类失败'); } } async saveFiling(ctx) { try { const data = JSON.parse(ctx.request.body.data); const result = await ctx.service.filing.save(data); ctx.body = { err: 0, msg: '', data: result }; } catch (err) { ctx.log(err); ctx.ajaxErrorBody(err, '保存分类数据失败'); } } async loadFile(ctx) { try { const data = JSON.parse(ctx.request.body.data); const result = await ctx.service.file.getAllDataByCondition({ where: { filing_id: data.filing_id, is_deleted: 0 }, orders: [['create_time', 'asc']], limit: data.count, offset: (data.page-1)*data.count }); ctx.body = { err: 0, msg: '', data: result }; } catch (err) { ctx.log(err); ctx.ajaxErrorBody(err, '加载文件失败'); } } async uploadFile(ctx){ } async delFile(ctx) { } async relaFile(ctx) { } } return BudgetController; };