Parcourir la source

电子签名日期交互改进

TonyKang il y a 5 ans
Parent
commit
7f555c7669

+ 2 - 2
app/public/report/js/rpt_main.js

@@ -102,8 +102,8 @@ let zTreeOprObj = {
             }
         };
         let nodeLv = 0;
-        private_remove_hide_item(topTreeNodesValue, nodeLv);
-        zTreeHelper.createTreeDirectly(topTreeNodesValue, rpt_tpl_setting, "rptTplTree", me);
+        private_remove_hide_item(TOP_TREE_NODES, nodeLv);
+        zTreeHelper.createTreeDirectly(TOP_TREE_NODES, rpt_tpl_setting, "rptTplTree", me);
         me.refreshNodes();
     },
     getCustomerCfg: function() {

+ 17 - 5
app/public/report/js/rpt_signature.js

@@ -6,6 +6,7 @@
 
 let rptSignatureHelper = {
     currentSelectedESignAccDom: null,
+    currentSelectedESignAccIdx: -1,
     currentSelectedESignAccName: null,
     originalRoleRelList: [],
     buildSelectableAccount: function () {
@@ -120,6 +121,7 @@ let rptSignatureHelper = {
                 ROLE_REL_LIST.push(roleRelObj);
             }
             // elementsStrArr.push('');
+            rptSignatureHelper.pushDatePickerDom(elementsStrArr);
             $(rptSignatureHelper.currentSelectedESignAccDom).append(elementsStrArr.join(' '));
             //.appendChild(pNode);
             //*/
@@ -170,7 +172,7 @@ let rptSignatureHelper = {
                                 //角色
                                 rptSignatureHelper.pushDomElementByRole(elementsStrArr, role_rel.role_name, role_rel.user_name);
                             }
-                            const idSuffixStr = 'dtp_' + idx;
+                            const idSuffixStr = 'dtp_' + role_rel.signature_name;
                             /*
                             elementsStrArr.push('<div class="dropdown">');
                             if (role_rel.sign_date !== '') {
@@ -233,12 +235,20 @@ let rptSignatureHelper = {
     pushDomElementByUser: function (elementsStrArr, userName, userRole) {
         elementsStrArr.push('<p class=" d-flex justify-content-between m-0"><span>' + userName +
             '-<small class="text-muted">' + ((userRole === '')?"工程师":userRole) +
-            '</small></span><a onclick="rptSignatureHelper.removeSignature(this)" class="text-danger"><i class="fa fa-remove" title="移除签名"></i></a></p>')
+            '</small></span><a onclick="rptSignatureHelper.removeSignature(this)" class="text-danger"><i class="fa fa-remove" title="移除签名"></i></a></p>');
+        // rptSignatureHelper.pushDatePickerDom(elementsStrArr);
     },
     pushDomElementByRole: function (elementsStrArr, roleName, userName) {
         elementsStrArr.push('<p class=" d-flex justify-content-between m-0"><span><i class="fa fa-user" title="角色"> ' + roleName +
             '</i>-<small class="text-muted">' + userName +
-            '</small></span><a onclick="rptSignatureHelper.removeSignature(this)" class="text-danger"><i class="fa fa-remove" title="移除签名"></i></a></p>')
+            '</small></span><a onclick="rptSignatureHelper.removeSignature(this)" class="text-danger"><i class="fa fa-remove" title="移除签名"></i></a></p>');
+        // rptSignatureHelper.pushDatePickerDom(elementsStrArr);
+    },
+    pushDatePickerDom: function (elementsStrArr) {
+        let idSuffixStr = 'dtp_' + rptSignatureHelper.currentSelectedESignAccName;
+        elementsStrArr.push('<div class="">');
+        elementsStrArr.push('<input id="' + idSuffixStr + '" class="datepicker-here form-control form-control-sm mt-0" placeholder="选择签名日期" data-language="zh" type="text" readonly="true"');
+        elementsStrArr.push('</div>');
     },
     removeSignature: function (dom) {
         let accTxtName = $(dom.parentNode.parentNode.parentNode.parentNode.parentNode).find('label')[0].innerText;
@@ -276,7 +286,7 @@ let rptSignatureHelper = {
     resetSignDate: function() {
         for (let idx = 0; idx < ROLE_REL_LIST.length; idx++) {
             const role_rel = ROLE_REL_LIST[idx];
-            const idSuffixStr = 'dtp_' + idx;
+            const idSuffixStr = 'dtp_' + role_rel.signature_name;
             let dtDom = $('#' + idSuffixStr);
             if (dtDom.length === 1) {
                 const dtStr = dtDom[0].value;
@@ -425,11 +435,13 @@ let rptSignatureHelper = {
     },
     mergeSignDate: function () {
         if (ROLE_REL_LIST && ROLE_REL_LIST.length > 0 && STAGE_AUDIT && STAGE_AUDIT.length > 0) {
-            for (const role_rel of ROLE_REL_LIST) {
+            for (let rridx = 0; rridx < ROLE_REL_LIST.length; rridx++) {
+                const role_rel = ROLE_REL_LIST[rridx];
                 if (role_rel.sign_date === undefined || role_rel.sign_date ===  null || role_rel.sign_date ===  '') {
                     for (const stg_audit of STAGE_AUDIT) {
                         if (role_rel.acc_id === stg_audit.aid) {
                             role_rel.sign_date = stg_audit.end_time;
+                            rptSignatureHelper.originalRoleRelList[rridx].sign_date = stg_audit.end_time;
                             break;
                         }
                     }

+ 1 - 0
app/router.js

@@ -183,6 +183,7 @@ module.exports = app => {
     // rptRouter.get('/getFileByUUID/:uuid/:rptName/:suffix', reportController.getFileByUUID);
     app.post('/tender/report_api/createSignatureRole', sessionAuth, 'signatureController.createSignatureRole');
     app.post('/tender/report_api/updateRoleRelationship', sessionAuth, 'signatureController.updateRoleRel');
+    app.post('/tender/report_api/createRoleRelationship', sessionAuth, 'signatureController.createRoleRel');
     // 计量附件
     app.post('/tender/:id/measure/stage/:order/upload/file', sessionAuth, 'stageController.uploadFile');
     app.get('/tender/:id/measure/stage/:order/download/file/:fid', sessionAuth, 'stageController.downloadFile');

+ 0 - 1
app/service/role_rpt_rel.js

@@ -67,7 +67,6 @@ module.exports = app => {
             this.transaction = await this.db.beginTransaction();
             try {
                 const data = {
-                    id: 0,
                     tender_id: tender_id,
                     rpt_id: rpt_id,
                     rel_content: JSON.stringify(relArr),

+ 2 - 2
app/view/report/index.ejs

@@ -183,7 +183,7 @@
 <script type="text/javascript" src="/public/report/js/rpt_jspdf.js"></script>
 
 <script type="text/javascript">
-    const topTreeNodesValue = <%- rpt_tpl_data %>;
+    const TOP_TREE_NODES = <%- rpt_tpl_data %>;
     let CUST_CFG = <%- cust_cfg %>;
     CUST_CFG = JSON.parse(CUST_CFG[0].cfg_content);
     const PROJECT_ID = <%- project_id %>;
@@ -216,7 +216,7 @@
     }
     buildStageSelection();
 
-    for (let item of topTreeNodesValue) {
+    for (let item of TOP_TREE_NODES) {
         item.items = JSON.parse(item.items);
         if (item.items && item.items.length > 0) {
             for (let dtlItem of item.items) {