Преглед на файлове

修复新增清单功能报错

ellisran преди 1 година
родител
ревизия
1f0721b1ab
променени са 4 файла, в които са добавени 11 реда и са изтрити 9 реда
  1. 1 1
      app/controller/change_controller.js
  2. 1 0
      app/controller/profile_controller.js
  3. 8 7
      app/public/js/change_revise.js
  4. 1 1
      app/view/change/revise.ejs

+ 1 - 1
app/controller/change_controller.js

@@ -1483,7 +1483,7 @@ module.exports = app => {
                 const renderData = await this._getDefaultReviseInfoData(ctx, change, !edit);
                 // 获取原报dsk数据
                 const accountInfo = await ctx.service.projectAccount.getDataById(change.uid);
-                renderData.dskAccountData = accountInfo && accountInfo.dsk_account ? JSON.parse(accountInfo.dsk_account) : null;
+                renderData.dskAccountData = accountInfo && accountInfo.dsk_account ? JSON.parse(accountInfo.dsk_account) : {};
                 renderData.dskProjects = accountInfo && accountInfo.dsk_projects ? JSON.parse(accountInfo.dsk_projects) : [];
                 // 台账只读、使用数据
                 renderData.readOnly = !edit;

+ 1 - 0
app/controller/profile_controller.js

@@ -429,6 +429,7 @@ module.exports = app => {
                             const projectInfo = compilationId ? await dsk.getProjectList(account.mobile, compilationId) : [];
                             response.data.project = projectInfo;
                         }
+                        response.data.dskAccountData = account;
                         break;
                     case 'project':
                         if (!dskAccount.dsk_account) {

+ 8 - 7
app/public/js/change_revise.js

@@ -2798,7 +2798,8 @@ $(document).ready(() => {
         if (!projectInfo) {
             dskAccountData.select_project = null;
             dskAccountData.select_tree = null;
-            SpreadJsObj.loadSheetData(dskBills.spread.getActiveSheet(), SpreadJsObj.DataType.Tree, []);
+            const tree = dskProjectBills2Tree.convert([]);
+            SpreadJsObj.loadSheetData(dskBills.spread.getActiveSheet(), SpreadJsObj.DataType.Tree, tree);
             return;
         }
         postData('/profile/dsk/api', { type: 'project_tree', tid: window.location.pathname.split('/')[2], compilationId: projectInfo.compilationId, projectId: projectInfo.pid }, function (datas) {
@@ -2812,12 +2813,12 @@ $(document).ready(() => {
     function changeDskProjectTree(projectInfo, treeId) {
         dskAccountData.select_tree = treeId;
         if (!treeId) {
-            SpreadJsObj.loadSheetData(dskBills.spread.getActiveSheet(), SpreadJsObj.DataType.Tree, []);
+            const tree = dskProjectBills2Tree.convert([]);
+            SpreadJsObj.loadSheetData(dskBills.spread.getActiveSheet(), SpreadJsObj.DataType.Tree, tree);
             return;
         }
         postData('/profile/dsk/api', { type: 'project_bills', tid: window.location.pathname.split('/')[2], compilationId: projectInfo.compilationId, treeId }, function (result) {
             const tree = dskProjectBills2Tree.convert(result);
-            console.log(tree);
             SpreadJsObj.loadSheetData(dskBills.spread.getActiveSheet(), SpreadJsObj.DataType.Tree, tree);
         });
     }
@@ -3272,7 +3273,6 @@ $(document).ready(() => {
         $('#get-dsk-btn').click(function () {
             // 判断是否已绑定dsk用户
             postData('/profile/dsk/api', { type: 'hadbind' }, function (result) {
-                console.log(result);
                 if (result === 1) {
                     $('#error-dsk .modal-body').find('h5').eq(0).show();
                     $('#error-dsk .modal-body').find('h5').eq(1).hide();
@@ -3289,6 +3289,7 @@ $(document).ready(() => {
                         for (const data of result.compilation) {
                             html += `<option value="${data.ID}" ${result.select_compilation === data.ID ? 'selected' : ''}>${data.name}</option>`;
                         }
+                        dskAccountData = result.dskAccountData;
                         compilationList = result.compilation;
                         console.log(compilationList);
                         $('#dsk-compilation-list').html(html);
@@ -3300,8 +3301,8 @@ $(document).ready(() => {
             })
         });
         $('#get-dsk-bills-btn').click(function () {
-            const projectInfo = _.find(dskProjects, { pid: dskAccountData.select_project });
-            changeDskProjectTree(projectInfo, dskAccountData.select_tree);
+            const projectInfo = _.find(dskProjects, { pid: dskAccountData.select_project ? dskAccountData.select_project : null });
+            changeDskProjectTree(projectInfo, dskAccountData.select_tree ? dskAccountData.select_tree : null);
         });
 
         $('body').on('change', '#dsk-compilation-list', function () {
@@ -3544,7 +3545,7 @@ $(document).ready(() => {
             postData('/profile/dsk/api', { type: 'save_projects', tid: window.location.pathname.split('/')[2], project_list: gsObj.grArray }, function (result) {
                 // dskAccountData.select_project = result;
                 dskProjects = gsObj.grArray;
-                if (dskAccountData.select_project !== result) {
+                if (!dskAccountData.select_project || dskAccountData.select_project !== result) {
                     dskAccountData.select_project = result;
                     changeDskProject(result);
                     dskBills.spread.refresh();

+ 1 - 1
app/view/change/revise.ejs

@@ -174,6 +174,6 @@
     const decimal = JSON.parse('<%- JSON.stringify(ctx.tender.info.decimal) %>');
     const nodeType = JSON.parse('<%- JSON.stringify(nodeType) %>');
     const settleStatus = JSON.parse('<%- JSON.stringify(settleStatus) %>');
-    const dskAccountData = JSON.parse(unescape('<%- escape(JSON.stringify(dskAccountData)) %>'));
+    let dskAccountData = JSON.parse(unescape('<%- escape(JSON.stringify(dskAccountData)) %>'));
     let dskProjects = JSON.parse(unescape('<%- escape(JSON.stringify(dskProjects)) %>'));
 </script>