浏览代码

变更令保存修改no.2

laiguoran 5 年之前
父节点
当前提交
5c2100fb1d
共有 2 个文件被更改,包括 108 次插入3 次删除
  1. 74 3
      app/public/js/change_set.js
  2. 34 0
      app/view/change/info.ejs

+ 74 - 3
app/public/js/change_set.js

@@ -46,7 +46,7 @@ $(document).ready(() => {
     for (const ggd in gclGatherData) {
         gclGatherData[ggd].code = gclGatherData[ggd].b_code;
     }
-    // console.log(gclGatherData);
+    console.log(gclGatherData);
     // 数组去重
     for (const db of gclGatherData) {
         const exist_index = dealBillList.findIndex(function (item) {
@@ -57,6 +57,7 @@ $(document).ready(() => {
         }
     }
     const changeListData = gclGatherData.concat(dealBillList).sort(sortByCode);
+    console.log(changeListData);
     // 先加载台账数据
     let listHtml = '';
     let list_index = 1;
@@ -217,6 +218,7 @@ $(document).ready(() => {
                 $('.title-main').removeClass('bg-warning');
                 $('#back-change-list').val($('#change-list').val());
                 $('#back-change-whitelist').val($('#change-whitelist').val());
+                back_changeInfo = changeInfo;
             } else {
                 toastr.error(result.msg);
             }
@@ -229,6 +231,7 @@ $(document).ready(() => {
         $('.title-main').removeClass('bg-warning');
         $('#change-list').val($('#back-change-list').val());
         $('#change-whitelist').val($('#back-change-whitelist').val());
+        changeFormRemake();
         tableDataRemake(changeListData);
         // 重新绘制table
         maketablelist();
@@ -545,6 +548,28 @@ $(document).ready(() => {
        $('input[name="code"]').val(code);
     });
 
+    // 记录变更信息操作
+    $('body').on('valuechange', '#change_form input[type="text"]', function (e, previous) {
+        changeInfo[$(this).attr('name')] = $(this).val();
+        judgeChange();
+    });
+    $('body').on('valuechange', '#change_form textarea', function (e, previous) {
+        changeInfo[$(this).attr('name')] = $(this).val();
+        judgeChange();
+    });
+    $('body').on('change', '#change_form select', function (e, previous) {
+        changeInfo[$(this).attr('name')] = $(this).val();
+        judgeChange();
+    });
+    $('body').on('click', '#change_form input[type="radio"]', function (e, previous) {
+        changeInfo[$(this).attr('name')] = $(this).val();
+        judgeChange();
+    });
+    $('body').on('click', '#change_form input[type="checkbox"]', function (e, previous) {
+        console.log($(this).val());
+        console.log($(this).attr('name'));
+    });
+
 });
 
 function tableDataRemake(changeListData) {
@@ -554,11 +579,18 @@ function tableDataRemake(changeListData) {
     $('#code-list').html('');
     // 根据已添加的清单显示
     const changeList = $('#change-list').val().split('^_^');
-    console.log(changeList);
     if (changeList.length > 0 && changeList[0]) {
         for (const cl of changeList) {
             const clinfo = cl.split(';');
-            const listinfo = changeListData[clinfo[8] - 1];
+            // console.log(clinfo);
+            const listinfo = changeListData.find(function (item) {
+                return item.b_code === clinfo[0] && item.name === clinfo[1] && item.unit_price === parseFloat(clinfo[4])
+            });
+            // if (listinfo === undefined) {
+            //     toastr.warning('台账清单列表已不存在'+ clinfo[0] +',故删除之');
+            //     continue;
+            // }
+            // console.log(listinfo);
             $('#table-list-select tr[data-index="'+ clinfo[8] +'"]').addClass('table-success');
             let pushbwmx = '0;0';
             if (listinfo.leafXmjs !== undefined) {
@@ -581,6 +613,25 @@ function tableDataRemake(changeListData) {
     }
 }
 
+function changeFormRemake() {
+    changeInfo = back_changeInfo;
+    $('#change_form input[name="code"]').val(changeInfo.code);
+    $('#change_form input[name="name"]').val(changeInfo.name);
+    $('#change_form input[name="peg"]').val(changeInfo.peg);
+    $('#change_form input[name="org_name"]').val(changeInfo.org_name);
+    $('#change_form input[name="org_code"]').val(changeInfo.org_code);
+    $('#change_form input[name="new_name"]').val(changeInfo.new_name);
+    $('#change_form input[name="new_code"]').val(changeInfo.new_code);
+    $('#change_form textarea[name="content"]').val(changeInfo.content);
+    $('#change_form textarea[name="basis"]').val(changeInfo.basis);
+    $('#change_form textarea[name="memo"]').val(changeInfo.memo);
+    $('#change_form select[name="type"]').val(changeInfo.type);
+    $('#change_form select[name="class"]').val(changeInfo.class);
+    $('#change_form select[name="quality"]').val(changeInfo.quality);
+    $('#change_form select[name="company"]').val(changeInfo.company);
+    $('#change_form input[name="charge"][value="'+ changeInfo.charge +'"]').prop('checked', true);
+}
+
 //判断元素是否在数组中,相当于php的in_array();
 function in_array(arr, obj) {
     let i = arr.length;
@@ -794,6 +845,11 @@ function judgeChange() {
     if ($('#change-whitelist').val() !== $('#back-change-whitelist').val()) {
         change = true;
     }
+    console.log(changeInfo);
+    console.log(back_changeInfo);
+    if (!isObjEqual(changeInfo, back_changeInfo)) {
+        change = true;
+    }
     if (change) {
         $('#show-save-btn').show();
         $('.title-main').addClass('bg-warning');
@@ -802,3 +858,18 @@ function judgeChange() {
         $('.title-main').removeClass('bg-warning');
     }
 }
+
+function isObjEqual(o1,o2){
+    var props1 = Object.getOwnPropertyNames(o1);
+    var props2 = Object.getOwnPropertyNames(o2);
+    if (props1.length != props2.length) {
+        return false;
+    }
+    for (var i = 0,max = props1.length; i < max; i++) {
+        var propName = props1[i];
+        if (o1[propName] !== o2[propName]) {
+            return false;
+        }
+    }
+    return true;
+}

+ 34 - 0
app/view/change/info.ejs

@@ -759,6 +759,40 @@
     const ledger = JSON.parse('<%- JSON.stringify(ledger) %>');
     const pos = JSON.parse('<%- JSON.stringify(pos) %>');
     const dealBillList = JSON.parse('<%- JSON.stringify(dealBillList) %>');
+    let back_changeInfo = {
+        code: '<%- change.code %>',
+        name: '<%- change.name %>',
+        peg: '<%- change.peg %>',
+        org_name: '<%- change.org_name %>',
+        org_code: '<%- change.org_code %>',
+        new_name: '<%- change.new_name %>',
+        new_code: '<%- change.new_code %>',
+        content: '<%- change.content %>',
+        basis: '<%- change.basis %>',
+        memo: '<%- change.memo %>',
+        type: '<%- change.type %>',
+        class: '<%- change.class %>',
+        quality: '<%- change.quality %>',
+        company: '<%- change.company %>',
+        charge: '<%- change.charge %>',
+    };
+    let changeInfo = {
+        code: '<%- change.code %>',
+        name: '<%- change.name %>',
+        peg: '<%- change.peg %>',
+        org_name: '<%- change.org_name %>',
+        org_code: '<%- change.org_code %>',
+        new_name: '<%- change.new_name %>',
+        new_code: '<%- change.new_code %>',
+        content: '<%- change.content %>',
+        basis: '<%- change.basis %>',
+        memo: '<%- change.memo %>',
+        type: '<%- change.type %>',
+        class: '<%- change.class %>',
+        quality: '<%- change.quality %>',
+        company: '<%- change.company %>',
+        charge: '<%- change.charge %>',
+    };
 </script>
 <script src="/public/js/decimal.min.js"></script>
 <script src="/public/js/zh_calc.js"></script>