瀏覽代碼

1. 期计量,非当前操作人,只读

MaiXinRong 6 年之前
父節點
當前提交
6c1a4efdf4

+ 0 - 1
app/const/spread.js

@@ -105,7 +105,6 @@ const stage = {
         defaultRowHeight: 21,
     }
 };
-
 const stageGather = {
     gcl: {
         cols: [

+ 4 - 0
app/controller/stage_controller.js

@@ -105,6 +105,10 @@ module.exports = app => {
             if (!tender.info.display.ledger.dgnQty) {
                 removeFieldCols(ledger, spreadConst.filterCols.dgnCols);
             }
+            if (this.ctx.stage.readOnly) {
+                ledger.readOnly = true;
+                pos.readOnly = true;
+            }
             return [ledger, pos];
         }
 

+ 1 - 1
app/public/js/js-xlsx/xlsx.utils.js

@@ -1,4 +1,4 @@
-var xlsxUtils = {
+var  xlsxUtils = {
     Binary: {
         fixdata(data) { //文件流转BinaryString
             var o = "",

+ 31 - 11
app/public/js/stage_pay.js

@@ -49,6 +49,7 @@ $(document).ready(() => {
         headRows: 1,
         headRowHeight: [50],
         defaultRowHeight: 30,
+        readOnly: readOnly,
     };
     paySpreadSetting.imageClick = function (data) {
         $('#file').modal('show');
@@ -95,7 +96,7 @@ $(document).ready(() => {
                 return payCol.readOnly.isSpecial(data) || payCol.readOnly.isOld(data);
             },
             minus: function (data) {
-                return payCol.readOnly.isSpecial(data) || payCol.readOnly.isOld(data);
+                return readOnly && (payCol.readOnly.isSpecial(data) || payCol.readOnly.isOld(data));
             },
             tp: function (data) {
                 return data.ptype === 2 || data.ptype === 4 || payCol.readOnly.isOld(data);
@@ -123,9 +124,11 @@ $(document).ready(() => {
             };
             const sheet = paySpread.getActiveSheet();
             const select = SpreadJsObj.getSelectObject(sheet);
-            setObjEnable($('#del'), select);
-            setObjEnable($('#up-move'), select && dealPay.indexOf(select) > 0);
-            setObjEnable($('#down-move'), select && dealPay.indexOf(select) < dealPay.length - 1);
+            setObjEnable($('#add'), !readOnly);
+            setObjEnable($('#del'), !readOnly && select);
+            setObjEnable($('#up-move'), !readOnly && select && dealPay.indexOf(select) > 0);
+            setObjEnable($('#down-move'), !readOnly && select && dealPay.indexOf(select) < dealPay.length - 1);
+            setObjEnable($('#unlock'), !readOnly);
         },
         add: function () {
             const sheet = paySpread.getActiveSheet();
@@ -265,13 +268,15 @@ $(document).ready(() => {
         },
     };
     paySpreadObj.refreshActn();
-    paySpread.bind(spreadNS.Events.EditEnded, paySpreadObj.editEnded);
-    paySpread.bind(spreadNS.Events.SelectionChanged, paySpreadObj.selectionChanged);
-    paySpread.bind(spreadNS.Events.ButtonClicked, paySpreadObj.buttonClicked);
-    $('#add').click(paySpreadObj.add);
-    $('#del').click(paySpreadObj.del);
-    $('#up-move').click(paySpreadObj.upMove);
-    $('#down-move').click(paySpreadObj.downMove);
+    if (!readOnly) {
+        paySpread.bind(spreadNS.Events.EditEnded, paySpreadObj.editEnded);
+        paySpread.bind(spreadNS.Events.SelectionChanged, paySpreadObj.selectionChanged);
+        paySpread.bind(spreadNS.Events.ButtonClicked, paySpreadObj.buttonClicked);
+        $('#add').click(paySpreadObj.add);
+        $('#del').click(paySpreadObj.del);
+        $('#up-move').click(paySpreadObj.upMove);
+        $('#down-move').click(paySpreadObj.downMove);
+    }
 
     const deadlineObj = {
         initView(pay) {
@@ -388,6 +393,9 @@ $(document).ready(() => {
                 visible: function (key, opt) {
                     const select = SpreadJsObj.getSelectObject(paySpread.getActiveSheet());
                     return select.ptype === 1 && select.pause;
+                },
+                disabled: function (key, opt) {
+                    return readOnly;
                 }
             },
             'stop': {
@@ -411,6 +419,9 @@ $(document).ready(() => {
                 visible: function (key, opt) {
                     const select = SpreadJsObj.getSelectObject(paySpread.getActiveSheet());
                     return select.ptype === 1 && !select.pause;
+                },
+                disabled: function (key, opt) {
+                    return readOnly;
                 }
             },
             'setDeadline': {
@@ -429,6 +440,9 @@ $(document).ready(() => {
                     // } else {
                     //     toast('计提期限用于达到条件时,即刻计量至付(扣)款限额,应先设置付(扣)款限额', 'warning');
                     // }
+                },
+                disabled: function (key, opt) {
+                    return readOnly;
                 }
             },
             'dropYF': {
@@ -452,6 +466,9 @@ $(document).ready(() => {
                         loadUpdateDealPays(result);
                         SpreadJsObj.reLoadSheetData(paySpread.getActiveSheet());
                     });
+                },
+                disabled: function (key, opt) {
+                    return readOnly;
                 }
             },
             'belongYF': {
@@ -475,6 +492,9 @@ $(document).ready(() => {
                         loadUpdateDealPays(result);
                         SpreadJsObj.reLoadSheetData(paySpread.getActiveSheet());
                     });
+                },
+                disabled: function (key, opt) {
+                    return readOnly;
                 }
             }
         }

+ 0 - 3
app/view/ledger/audit.ejs

@@ -74,7 +74,4 @@
     let ledgerSpreadSetting = '<%- ledgerSpreadSetting %>';
     ledgerSpreadSetting = JSON.parse(ledgerSpreadSetting);
     let posSpreadSetting = JSON.parse('<%- posSpreadSetting %>');
-</script>
-<script>
-    GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
 </script>

+ 0 - 3
app/view/ledger/explode.ejs

@@ -141,9 +141,6 @@
     ledgerSpreadSetting = JSON.parse(ledgerSpreadSetting);
     let posSpreadSetting = JSON.parse('<%- posSpreadSetting %>');
 </script>
-<script>
-    GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
-</script>
 <% if ((tender.ledger_status === auditConst.status.uncheck || tender.ledger_status === auditConst.status.checkNo) && ctx.session.sessionUser.accountId === tender.user_id) { %>
 <script>
     const accountList = JSON.parse('<%- JSON.stringify(accountList) %>');

+ 0 - 3
app/view/stage/compare.ejs

@@ -40,9 +40,6 @@
     </div>
 </div>
 <script>
-    GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
-</script>
-<script>
     //const auditors = JSON.parse(<%- JSON.stringify(ctx.stage.auditors) %>);
     const ledgerSpreadSetting = JSON.parse('<%- JSON.stringify(ledgerSpread) %>');
     const posSpreadSetting = JSON.parse('<%- JSON.stringify(posSpread) %>');

+ 5 - 3
app/view/stage/detail.ejs

@@ -44,11 +44,13 @@
                 <div class="tab-content">
                     <div class="tab-pane active" id="zhongjian">
                         <div class="sjs-sh-1" style="overflow: auto;">
+                            <% if (!stage.readOnly) { %>
                             <div class="d-flex justify-content-end mt-1 mr-1">
                                 <a href="#" class="btn btn-sm btn-outline-primary" id="edit-detail">编辑</a>
                                 <a href="#" class="btn btn-sm btn-outline-success mr-1" id="save-detail">保存</a>
                                 <a href="#" class="btn btn-sm btn-outline-secondary" id="cancel-detail">取消</a>
                             </div>
+                            <% } %>
                             <div class="form-group">
                                 <label>变更令号:</label>
                                 <input class="form-control form-control-sm" type="text" readonly="" id="bgl-code">
@@ -80,7 +82,9 @@
                             <div class="form-group">
                                 <div class="d-flex justify-content-between my-3">
                                     <label>计算草图:</label>
+                                    <% if (!stage.readOnly) { %>
                                     <a href="#edit-img" data-toggle="modal" data-target="#edit-img" id="modify-img">添加草图</a>
+                                    <% } %>
                                 </div>
                                 <p id="calc-img"><img src="" class="d-100" width="100%"></p>
                             </div>
@@ -121,9 +125,7 @@
     </div>
 </div>
 <script>
-    GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
-</script>
-<script>
+    const readOnly = <%- stage.readOnly %>;
     const stage = JSON.parse('<%- JSON.stringify(ctx.stage) %>');
     const imType = JSON.parse('<%- JSON.stringify(imType) %>');
 </script>

+ 0 - 3
app/view/stage/gather.ejs

@@ -71,9 +71,6 @@
     </div>
 </div>
 <script>
-    GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
-</script>
-<script>
     const gclSpreadSetting = JSON.parse('<%- JSON.stringify(gclSpread) %>');
     const leafXmjSpreadSetting = JSON.parse('<%- JSON.stringify(leafXmjSpread) %>');
     const ledger = JSON.parse('<%- JSON.stringify(ledger) %>');

+ 2 - 1
app/view/stage/index.ejs

@@ -7,7 +7,7 @@
                     <div class="input-group-prepend">
                         <span class="input-group-text" id="basic-addon1">表达式</span>
                     </div>
-                    <input type="text" class="form-control m-0">
+                    <input type="text" class="form-control m-0" <% if (stage.readOnly) { %> readonly="" <% } %>>
                 </div>
             </div>
             <div class="ml-2">
@@ -250,6 +250,7 @@
     GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
 </script>
 <script>
+    const readOnly = <%- stage.readOnly %>;
     const ledgerSpreadSetting = JSON.parse('<%- JSON.stringify(ledgerSpread) %>');
     const posSpreadSetting = JSON.parse('<%- JSON.stringify(posSpread) %>');
     const tender = JSON.parse('<%- JSON.stringify(tender) %>');

+ 2 - 0
app/view/stage/modal.ejs

@@ -184,7 +184,9 @@
             </div>
             <div class="modal-footer">
                 <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <% if (!stage.readOnly) { %>
                 <button type="button" class="btn btn-primary" id="usg-bg-ok">添加</button>
+                <% } %>
             </div>
         </div>
     </div>

+ 2 - 4
app/view/stage/pay.ejs

@@ -15,7 +15,7 @@
                         <div class="input-group-prepend">
                             <span class="input-group-text" id="basic-addon1">表达式</span>
                         </div>
-                        <input type="text" class="form-control m-0">
+                        <input type="text" class="form-control m-0" <% if (stage.readOnly) { %> readonly="" <% } %>>
                     </div>
                 </div>
             </div>
@@ -51,9 +51,7 @@
 <img src="/public/images/file_clip.png" id="rela-file-icon" />
 <img src="/public/images/file_clip_hover.png" id="rela-file-hover" />
 <script>
-    GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";
-</script>
-<script>
+    const readOnly = <%- stage.readOnly %>;
     const dealPay = JSON.parse('<%- JSON.stringify(dealPay) %>');
     const calcBase = JSON.parse('<%- JSON.stringify(calcBase) %>');
     const decimal = JSON.parse('<%- JSON.stringify(ctx.tender.info.decimal) %>');