Ver código fonte

变更令批复编号审批完成后可编辑

ellisran 9 meses atrás
pai
commit
deb42f2913

+ 59 - 0
app/public/js/change_information_show.js

@@ -7,6 +7,28 @@
  * @date 2018/11/22
  * @version
  */
+$.event.special.valuechange = {
+    teardown: function (namespaces) {
+        $(this).unbind('.valuechange');
+    },
+
+    handler: function (e) {
+        $.event.special.valuechange.triggerChanged($(this));
+    },
+
+    add: function (obj) {
+        $(this).on('keyup.valuechange cut.valuechange paste.valuechange input.valuechange', obj.selector, $.event.special.valuechange.handler)
+    },
+
+    triggerChanged: function (element) {
+        var current = element[0].contentEditable === 'true' ? element.html() : element.val()
+            , previous = typeof element.data('previous') === 'undefined' ? element[0].defaultValue : element.data('previous');
+        if (current !== previous) {
+            element.trigger('valuechange', [element.data('previous')]);
+            element.data('previous', current);
+        }
+    }
+};
 $(document).ready(() => {
     const changeSpreadSetting = {
         cols: [
@@ -250,6 +272,43 @@ $(document).ready(() => {
             }
         });
     });
+
+    // 记录变更信息操作
+    $('body').on('valuechange', '#w_code', function (e, previous) {
+        const new_w_code = $(this).val();
+        if (new_w_code !== w_code) {
+            $('#show-save-btn').show();
+            $('#sp-btn').hide();
+            $('.title-main').addClass('bg-warning');
+        } else {
+            $('#show-save-btn').hide();
+            $('#sp-btn').show();
+            $('.title-main').removeClass('bg-warning');
+        }
+    });
+
+    // 保存修改ajax提交(不刷新页面)
+    $('.save_change_btn').on('click', function () {
+        const new_w_code = $('#w_code').val();
+        // 后改为br
+        // 更新至服务器
+        postData(window.location.pathname + '/save', { type:'info', updateData: { w_code: new_w_code } }, function (result) {
+            toastr.success(result ? result.msg : '');
+            $('#show-save-btn').hide();
+            $('#sp-btn').show();
+            $('.title-main').removeClass('bg-warning');
+            w_code = new_w_code;
+        });
+        return false;
+    });
+
+    $('#cancel_change').on('click', function () {
+        $('#show-save-btn').hide();
+        $('#sp-btn').show();
+        $('.title-main').removeClass('bg-warning');
+        $('#w_code').val(w_code);
+        // toastr.success('已还原到上次保存状态');
+    });
 });
 /**
  * 获取成功后的操作

+ 3 - 2
app/view/change/information.ejs

@@ -59,7 +59,7 @@
                     <% } %>
                 </div>
                 <!--info状态区分-->
-                <% if (!change.readOnly) { %>
+                <% if (!change.readOnly || (change.status === auditConst.status.checked && (ctx.session.sessionUser.is_admin || ctx.helper._.findIndex(change.auditors, { uid: ctx.session.sessionUser.accountId }) !== -1))) { %>
                     <div class="pull-right px-3" id="show-save-btn" style="display: none">
 <!--                        <span>您修改了变更信息,记得保存修改。</span>-->
                         <button class="btn btn-sm btn-primary save_change_btn" id="save_change"><i class="fa fa-save"></i> 保存修改</button>
@@ -343,7 +343,7 @@
                                 </div>
                                 <div class="form-group">
                                     <label>批复文号</label>
-                                    <input class="form-control form-control-sm" id="w_code" placeholder="" type="text" value="<%- change.w_code %>" <% if (!change.shenpiPower) { %>readonly<% } %>>
+                                    <input class="form-control form-control-sm" id="w_code" placeholder="" type="text" value="<%- change.w_code %>" <% if (!(change.shenpiPower || (change.status === auditConst.status.checked && (ctx.session.sessionUser.is_admin || ctx.helper._.findIndex(change.auditors, { uid: ctx.session.sessionUser.accountId }) !== -1)))) { %>readonly<% } %>>
                                 </div>
                             </form>
                             <% } %>
@@ -590,6 +590,7 @@
     for (let i = 0; i < auditors2.length; i++) {
         aidList.push(auditors2[i][0].audit_order);
     }
+    let w_code = JSON.parse(unescape('<%- escape(JSON.stringify(change.w_code ? change.w_code : '')) %>'));
 </script>
 <script src="/public/js/change_information_show.js?202206211"></script>
 <% } else if (change.shenpiPower) { %>