Просмотр исходного кода

fix: 修改工作台的合同管理 状态不正确

caipin 10 часов назад
Родитель
Сommit
d29d78512d
3 измененных файлов с 24 добавлено и 13 удалено
  1. 6 12
      app/service/contract_sp_audit.js
  2. 1 1
      app/view/dashboard/workspace.ejs
  3. 17 0
      sql/update.sql

+ 6 - 12
app/service/contract_sp_audit.js

@@ -638,10 +638,11 @@ module.exports = app => {
             // 1. 审批中的记录(包括首次上报和退回后重新上报)
             // 1. 审批中的记录(包括首次上报和退回后重新上报)
             // 2. 被退回需要当前审批人处理的记录
             // 2. 被退回需要当前审批人处理的记录
             // 3. 退回后重新上报的记录(status=uncheck AND times>1)
             // 3. 退回后重新上报的记录(status=uncheck AND times>1)
+            // 4. 合同被退回且当前用户是创建人(需要重新上报)
             const sql =
             const sql =
-                'SELECT la.`aid`, la.`times`, la.`order`, la.`begin_time`, la.`end_time`, la.`status` as audit_status, c.`id`, c.`contract_id`, c.`name`, c.`c_code`, c.`uid`, c.`need_shenpi`, c.`spid`, c.`tid`, c.`contract_type`, c.`total_price`, c.`create_time`, c.`exist_pay`, c.`status`, t.`name` as tender_name, t.`project_id`, t.`spid` as tender_spid ' +
+                'SELECT la.`aid`, la.`times`, la.`order`, la.`begin_time`, la.`end_time`, la.`status` as audit_status, c.`id`, c.`contract_id`, c.`name`, c.`c_code`, c.`uid`, c.`need_shenpi`, c.`spid`, c.`tid`, c.`contract_type`, c.`total_price`, c.`create_time`, c.`exist_pay`, c.`status` as contract_status, t.`name` as tender_name, t.`project_id`, t.`spid` as tender_spid ' +
                 '  FROM ?? AS la Left Join ?? AS c ON la.`cid` = c.`id` LEFT JOIN ?? AS t ON c.`tid` = t.`id` ' +
                 '  FROM ?? AS la Left Join ?? AS c ON la.`cid` = c.`id` LEFT JOIN ?? AS t ON c.`tid` = t.`id` ' +
-                '  WHERE ((la.`aid` = ? and (la.`status` = ? OR (la.`status` = ? and la.`times` > 1))) OR (la.`aid` = ? and la.`status` = ? and la.`times` = (SELECT MAX(times) FROM ?? WHERE cid = c.id)))' + spSql +
+                '  WHERE ((la.`aid` = ? and (la.`status` = ? OR (la.`status` = ? and la.`times` > 1))) OR (la.`aid` = ? and la.`status` = ? and la.`times` = (SELECT MAX(times) FROM ?? WHERE cid = c.id)) OR (la.`aid` = c.`uid` and c.`status` = ? and la.`times` = c.`times` - 1))' + spSql +
                 '    AND la.cpid IS NULL AND la.csid IS NULL' +
                 '    AND la.cpid IS NULL AND la.csid IS NULL' +
                 '    AND c.`need_shenpi` = 1' +
                 '    AND c.`need_shenpi` = 1' +
                 '    AND c.`status` != -3' +
                 '    AND c.`status` != -3' +
@@ -656,6 +657,7 @@ module.exports = app => {
                 auditorId,
                 auditorId,
                 auditConst.status.checkNo,    // status = 4 (审批退回)
                 auditConst.status.checkNo,    // status = 4 (审批退回)
                 this.tableName,
                 this.tableName,
+                auditConst.status.checkNo,    // status = 4 (合同被退回,创建人需要重新上报)
             ];
             ];
             
             
             const result = await this.db.query(sql, sqlParam);
             const result = await this.db.query(sql, sqlParam);
@@ -678,16 +680,8 @@ module.exports = app => {
                 contract.curAuditorIds = this._.map(contract.curAuditors, 'aid');
                 contract.curAuditorIds = this._.map(contract.curAuditors, 'aid');
                 // 判断是项目合同还是标段合同
                 // 判断是项目合同还是标段合同
                 contract.is_project_contract = !contract.tid || contract.tid === 0;
                 contract.is_project_contract = !contract.tid || contract.tid === 0;
-                // 根据合同类型设置状态文本
-                if (contract.contract_type === 1) {
-                    // 支出合同
-                    contract.status_text = contract.exist_pay ? '支付' : '合同';
-                } else if (contract.contract_type === 2) {
-                    // 收入合同
-                    contract.status_text = contract.exist_pay ? '回款' : '合同';
-                } else {
-                    contract.status_text = '合同';
-                }
+                // 合同级别审批始终显示"合同",支付级别审批由 getAuditContractPay 处理
+                contract.status_text = '合同';
             }
             }
             return uniqueResult;
             return uniqueResult;
         }
         }

+ 1 - 1
app/view/dashboard/workspace.ejs

@@ -536,7 +536,7 @@
                                                         <% const cSpId = c.spid || c.tender_spid; %>
                                                         <% const cSpId = c.spid || c.tender_spid; %>
                                                         <% const cDetailUrl = c.is_project_contract ? '/sp/' + c.spid + '/contract/detail' + (c.contract_type === 2 ? '/income' : '') + (c.shenpi_type !== 'contract' ? '?tab=pay' : '') : '/sp/' + c.tender_spid + '/contract/tender/' + c.tid + '/detail' + (c.contract_type === 2 ? '/income' : '') + (c.shenpi_type !== 'contract' ? '?tab=pay' : ''); %>
                                                         <% const cDetailUrl = c.is_project_contract ? '/sp/' + c.spid + '/contract/detail' + (c.contract_type === 2 ? '/income' : '') + (c.shenpi_type !== 'contract' ? '?tab=pay' : '') : '/sp/' + c.tender_spid + '/contract/tender/' + c.tid + '/detail' + (c.contract_type === 2 ? '/income' : '') + (c.shenpi_type !== 'contract' ? '?tab=pay' : ''); %>
                                                         <% const cDisplayName = c.is_project_contract ? '项目合同-' + (c.contract_name || c.name) : '标段合同-' + (c.contract_name || c.name); %>
                                                         <% const cDisplayName = c.is_project_contract ? '项目合同-' + (c.contract_name || c.name) : '标段合同-' + (c.contract_name || c.name); %>
-                                                        <% const cShowResubmitBtn = c.status === acContract.status.checkNo || (c.status === acContract.status.uncheck && c.times > 1); %>
+                                                        <% const cShowResubmitBtn = c.status === acContract.status.checkNo || (c.status === acContract.status.uncheck && c.times > 1) || (c.contract_status === acContract.status.checkNo && c.uid === uid); %>
                                                         <tr data-type="contract">
                                                         <tr data-type="contract">
                                                             <% if (c.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (c.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
                                                             <% if (c.start_audit === 2) { %><td class="text-center text-danger"><i class="fa fa-exclamation-triangle"></i></td><% } else if (c.start_audit === 1) { %><td class="text-center text-warning"><i class="fa fa-bell"></i></td><% } else { %><td></td><% } %>
                                                             <td><span class="badge text-width" style="background-color: #e3f2fd; color: #1976d2;">合同管理</span></td>
                                                             <td><span class="badge text-width" style="background-color: #e3f2fd; color: #1976d2;">合同管理</span></td>

+ 17 - 0
sql/update.sql

@@ -57,6 +57,23 @@ ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '上涨幅度(%)' A
 ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '下跌幅度(%)' AFTER `m_up_risk`,
 ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '下跌幅度(%)' AFTER `m_up_risk`,
 ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
 ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
 
 
+ALTER TABLE `zh_material_exponent`
+ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '上涨幅度(%)' AFTER `basic_times`,
+ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '下跌幅度(%)' AFTER `m_up_risk`,
+ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
+
+ALTER TABLE `zh_material_exponent_history`
+ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '本期上涨幅度(%)' AFTER `basic_times`,
+ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '本期下跌幅度(%)' AFTER `m_up_risk`,
+ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '本期有效价格指数(Ft)' AFTER `m_price`;
+
+ALTER TABLE `zh_material_exponent_shard`
+ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '上涨幅度(%)' AFTER `weight_num`,
+ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '下跌幅度(%)' AFTER `m_up_risk`,
+ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
+
+ALTER TABLE `zh_filing`
+ADD COLUMN `upload_tips` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '上传说明' AFTER `tips`;
 ------------------------------------
 ------------------------------------
 -- 表数据
 -- 表数据
 ------------------------------------
 ------------------------------------