|
|
@@ -0,0 +1,61 @@
|
|
|
+'use strict';
|
|
|
+
|
|
|
+module.exports = app => {
|
|
|
+ class WeappFileController extends app.BaseController {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取文件列表页面数据
|
|
|
+ *
|
|
|
+ * @param {Object} ctx - 上下文对象
|
|
|
+ */
|
|
|
+ async file(ctx) {
|
|
|
+ try {
|
|
|
+ const { id } = ctx.query;
|
|
|
+ if (!id) {
|
|
|
+ ctx.body = { code: -1, msg: '缺少子项目ID', data: null };
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取子项目信息
|
|
|
+ const subProject = await ctx.service.subProject.getDataById(id);
|
|
|
+ if (!subProject) {
|
|
|
+ ctx.body = { code: -1, msg: '子项目不存在', data: null };
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取有效的归档分类
|
|
|
+ const filing = await ctx.service.filing.getValidFiling(id, subProject.permission.filing_type);
|
|
|
+
|
|
|
+ // 获取所有分类数据
|
|
|
+ const categoryData = await ctx.service.category.getAllCategory(subProject);
|
|
|
+
|
|
|
+ // 检查权限
|
|
|
+ const canFiling = subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.filing.value) >= 0;
|
|
|
+ const canUpload = subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.upload.value) >= 0;
|
|
|
+ const canEdit = subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.editfile.value) >= 0;
|
|
|
+
|
|
|
+ // 获取文件引用列表
|
|
|
+ const fileReferenceList = await ctx.service.subProject.getFileReference(subProject, ctx.service.subProject.FileReferenceType.file);
|
|
|
+
|
|
|
+ ctx.body = {
|
|
|
+ code: 0,
|
|
|
+ msg: '获取成功',
|
|
|
+ data: {
|
|
|
+ filing,
|
|
|
+ categoryData,
|
|
|
+ canFiling,
|
|
|
+ canUpload,
|
|
|
+ canEdit,
|
|
|
+ fileReferenceList,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ } catch (err) {
|
|
|
+ this.log(err);
|
|
|
+ ctx.body = { code: -1, msg: err.toString(), data: null };
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return WeappFileController;
|
|
|
+};
|