Browse Source

1.隐藏协作
2.变更令号和批复编号不能重复问题
3.修复计量计算显示NAN

laiguoran 5 years ago
parent
commit
f1aea10abe

+ 9 - 9
app/const/account_permission.js

@@ -30,15 +30,15 @@ const permission = {
             { title: '查阅所有标段', value: 2 },
         ],
     },
-    cooperation: {
-        class: '',
-        title: '协作办公',
-        type: 'radio',
-        children: [
-            { title: '启用', value: 1 },
-            { title: '关闭', value: 0 },
-        ],
-    },
+    // cooperation: {
+    //     class: '',
+    //     title: '协作办公',
+    //     type: 'radio',
+    //     children: [
+    //         { title: '启用', value: 1 },
+    //         { title: '关闭', value: 0 },
+    //     ],
+    // },
 };
 
 module.exports = {

+ 27 - 0
app/controller/change_controller.js

@@ -769,6 +769,33 @@ module.exports = app => {
                 this.ajaxErrorBody(err, '获取变更清单失败');
             }
         }
+
+        /**
+         * 最后审批人审批成功检查批复编号和其它变更令是否出现重名情况
+         * @param ctx
+         * @returns {Promise<void>}
+         */
+        async checkCodeRepeat(ctx) {
+            const responseData = {
+                err: 0,
+                msg: '',
+                data: '',
+            };
+            try {
+                const tenderId = ctx.params.id;
+                const cid = ctx.params.cid;
+                const data = JSON.parse(ctx.request.body.data);
+                const result = await ctx.service.change.isRepeat(cid, data.p_code, tenderId);
+                if (result) {
+                    throw '该变更令号(批复编号)已使用';
+                }
+            } catch (err) {
+                responseData.err = 1;
+                responseData.msg = err;
+            }
+
+            ctx.body = responseData;
+        }
     }
 
     return ChangeController;

+ 1 - 1
app/extend/helper.js

@@ -82,7 +82,7 @@ module.exports = {
      * @return {string} - 结果
      */
     accMul(arg1, arg2) {
-        if (!arg1 || !arg2) {
+        if (arg1 === '' || arg1 === null || arg1 === undefined || arg2 === '' || arg2 === null || arg2 === undefined) {
             return '';
         }
         let m = 0;

+ 49 - 2
app/public/js/change_approval.js

@@ -58,6 +58,15 @@ $(document).ready(() => {
             if ($('input[name="p_code"]').val() === '') {
                 toastr.error('变更令号(批复编号)不能为空!');
                 returnflag = false;
+            } else if ($('input[name="p_code"]').val() !== undefined) {
+                $('input[name="p_code"]').val($.trim($('input[name="p_code"]').val()));
+                const postData = {
+                    p_code: $('input[name="p_code"]').val(),
+                };
+                postDataWithAsync('/tender/' + $('#tenderId').val() + '/change/' + $('#changeId').val() + '/check/codeRepeat',postData, function (result) {
+                }, function (data) {
+                    returnflag = false;
+                });
             }
             // 判断并提交变更清单表格数据到表单中
             const clist = [];
@@ -73,7 +82,8 @@ $(document).ready(() => {
             $('#change-list-approval').val(clist.join(','));
 
             if(returnflag) {
-                $('input[name="w_code"]').val($('#w_code').val());
+                $('input[name="w_code"]').val($.trim($('#w_code').val()));
+
                 $('#success-approval').find('textarea').val(sdesc.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' '));
                 $('#success-approval').submit();
             }
@@ -90,9 +100,46 @@ $(document).ready(() => {
             }
             if(returnflag) {
                 $('#fail-approval').find('textarea').val(sdesc.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' '));
-                $('input[name="w_code"]').val($('#w_code').val());
+                $('input[name="w_code"]').val($.trim($('#w_code').val()));
                 $('#fail-approval').submit();
             }
         }
     })
 });
+
+const postDataWithAsync = function (url, data, successCallback, errorCallBack, showWaiting = true) {
+    if (showWaiting) showWaitingView();
+    $.ajax({
+        type:"POST",
+        url: url,
+        data: {'data': JSON.stringify(data)},
+        dataType: 'json',
+        cache: false,
+        async: false,
+        timeout: 60000,
+        beforeSend: function(xhr) {
+            let csrfToken = Cookies.get('csrfToken');
+            xhr.setRequestHeader('x-csrf-token', csrfToken);
+        },
+        success: function(result){
+            if (result.err === 0) {
+                if (successCallback) {
+                    successCallback(result.data);
+                }
+            } else {
+                toastr.error(result.msg);
+                if (errorCallBack) {
+                    errorCallBack(result.msg);
+                }
+            }
+            if (showWaiting) closeWaitingView();
+        },
+        error: function(jqXHR, textStatus, errorThrown){
+            toastr.error('error: ' + textStatus + " " + errorThrown);
+            if (errorCallBack) {
+                errorCallBack();
+            }
+            if (showWaiting) closeWaitingView();
+        }
+    });
+};

+ 2 - 0
app/router.js

@@ -221,6 +221,8 @@ module.exports = app => {
     app.post('/change/approval', sessionAuth, 'changeController.approval');
     app.post('/change/check/again', sessionAuth, 'changeController.checkAgain');
 
+    app.post('/tender/:id/change/:cid/check/codeRepeat', sessionAuth, tenderCheck, 'changeController.checkCodeRepeat');
+
     // 变更单位管理
     app.post('/change/update/company', sessionAuth, 'changeController.updateCompany');
 

+ 14 - 0
app/service/change.js

@@ -1003,6 +1003,20 @@ module.exports = app => {
             }
             return result;
         }
+
+        /**
+         * 判断是否有重名的变更令
+         * @param cid
+         * @param code
+         * @param tid
+         * @returns {Promise<void>}
+         */
+        async isRepeat(cid, code, tid) {
+            const sql = 'SELECT COUNT(*) as count FROM ?? WHERE (`code` = ? OR `p_code` = ?) AND `cid` != ? AND `tid` = ?';
+            const sqlParam = [this.tableName, code, code, cid, tid];
+            const result = await this.db.queryOne(sql, sqlParam);
+            return result.count !== 0;
+        }
     }
     return Change;
 };

+ 2 - 1
app/view/setting/user_permission_modal.ejs

@@ -88,7 +88,8 @@
                 <% } %>
                 <!--需要勾选  创建标段 ,协作办公才能勾选-->
                 <div class="alert alert-secondary">
-                    <p>1.勾选「创建标段」该用户默认具有「新建标段」及标段内「台帐分解」「创建台帐修订」「创建计量期」「创建工程变更」的权限。</p>2.启用「协作办公」,则该用户可以为他创建的标段添加其他用户进行协作办公。
+                    <p>1.勾选「创建标段」该用户默认具有「新建标段」及标段内「台帐分解」「创建台帐修订」「创建计量期」「创建工程变更」的权限。</p>
+                    <!--2.启用「协作办公」,则该用户可以为他创建的标段添加其他用户进行协作办公。-->
                 </div>
             </div>
             <div class="modal-footer">