Bladeren bron

没有参与流程的人,不可添加书签

MaiXinRong 4 jaren geleden
bovenliggende
commit
bde361926c
4 gewijzigde bestanden met toevoegingen van 25 en 0 verwijderingen
  1. 7 0
      app/controller/tender_controller.js
  2. 1 0
      app/middleware/stage_check.js
  3. 1 0
      app/middleware/tender_check.js
  4. 16 0
      sql/update.sql

+ 7 - 0
app/controller/tender_controller.js

@@ -966,6 +966,13 @@ module.exports = app => {
 
         async billsTag(ctx) {
             try {
+                if (ctx.stage) {
+                    if (ctx.stage.users.indexOf(this.ctx.session.sessionUser.accountId) < 0)
+                        throw '您无权进行该操作';
+                } else {
+                    if (ctx.tender.ledgerUsers.indexOf(this.ctx.session.sessionUser.accountId) < 0)
+                        throw '您无权进行该操作';
+                }
                 const data = JSON.parse(ctx.request.body.data);
                 const result = await ctx.service.ledgerTag.update(data);
                 ctx.body = { err: 0, msg: '', data: result };

+ 1 - 0
app/middleware/stage_check.js

@@ -63,6 +63,7 @@ module.exports = options => {
             const accountId = this.session.sessionUser.accountId,
                 auditorIds = _.map(stage.auditors, 'aid'),
                 shareIds = [];
+            stage.users = stage.status === status.uncheck ? [stage.user_id] : [stage.user_id, ...auditorIds];
             const permission = this.session.sessionUser.permission;
             if (accountId === stage.user_id) { // 原报
                 if (stage.curAuditor) {

+ 1 - 0
app/middleware/tender_check.js

@@ -71,6 +71,7 @@ module.exports = options => {
             tender.ledgerReadOnly = this.session.sessionUser.accountId !== tender.data.user_id ||
                 tender.data.ledger_status === auditConst.status.checking || tender.data.ledger_status === auditConst.status.checked;
             tender.advanceAuditorsId = advanceAuditorsId;
+            tender.ledgerUsers = tender.ledger_status === auditConst.status.uncheck ? [tender.data.user_id] : [tender.data.user_id, ...auditorsId];
             this.tender = tender;
             this.session.sessionProject.page_show = yield this.service.project.getPageshow(this.session.sessionProject.id);
             yield next;

+ 16 - 0
sql/update.sql

@@ -24,3 +24,19 @@ CREATE UNIQUE INDEX `idx_tid_sid_rid`  ON `zh_rpt_custom_define` (tid, sid, rid)
 ALTER TABLE `zh_change_audit_list` ADD `xmj_dwgc` varchar(255) NULL DEFAULT NULL COMMENT '单位工程' AFTER `xmj_jldy`;
 ALTER TABLE `zh_change_audit_list` ADD `xmj_fbgc` varchar(255) NULL DEFAULT NULL COMMENT '分部工程' AFTER `xmj_dwgc`;
 ALTER TABLE `zh_change_audit_list` ADD `xmj_fxgc` varchar(255) NULL DEFAULT NULL COMMENT '分项工程' AFTER `xmj_fbgc`;
+
+CREATE TABLE `zh_ledger_tag` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `pid` int(11) NOT NULL COMMENT '项目id',
+  `tid` int(11) NOT NULL COMMENT '标段id',
+  `sid` int(11) NOT NULL DEFAULT '-1' COMMENT '期id(台账为-1)',
+  `sorder` tinyint(4) NOT NULL DEFAULT '-1' COMMENT '第几期(台账为-1)',
+  `uid` int(11) NOT NULL DEFAULT '-1' COMMENT '添加用户id',
+  `lid` varchar(36) CHARACTER SET ascii NOT NULL DEFAULT '-1' COMMENT '关联台账id(zh_ledger表中的id)',
+  `share` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否共享给其他参与人',
+  `color` varchar(7) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT '书签颜色',
+  `comment` text COLLATE utf8_unicode_ci COMMENT '批注',
+  `create_time` datetime DEFAULT NULL,
+  `modify_time` datetime DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=216 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;