瀏覽代碼

报销表单页面修改(1)

wuhongbo 1 年之前
父節點
當前提交
253a51985d

+ 234 - 229
zjugis-business/src/main/resources/templates/CommonCost/index.ftl

@@ -1,236 +1,241 @@
-<@w.workFlow javascripts=['/CommonCost/js/index.js','/flow/js/formCommon.js','/js/moment.js']
-styles=[ '/flow/css/formCommon.css' ,'/timeSelector/TimeSelector.css' ]>
-    <div class="z-position form-boss" name="createReqVO">
-        <div class="z-form-row" style="display: none;">
-            <input type="text" value="${formEntity.instanceId!}" name="createReqVO$instanceId">
-            <input type="text" value="${formEntity.id!}" name="createReqVO$id">
-            <input type="text" value='${costTypeJSON!}' id="costTypeJSON">
-            <input type="text" value='${detailList!}' id="detailList">
-        </div>
-        <div class="form-title" style="margin-top: 0px;">
-            <div class="form-icon">
-                <img src="/imgs/titleIcon.png" alt="">
-                <span>基本信息</span>
-            </div>
-            <div class="form-btn">
-            </div>
+<@w.workFlow javascripts=['/CommonCost/js/index.js','/CommonCost/js/money.js','/flow/js/formCommon.js','/js/moment.js']
+  styles=[ '/flow/css/formCommon.css' ,'/timeSelector/TimeSelector.css','/OwCommon/OwCommon.css' ]>
+  <div class="z-position form-boss ow-tabs" name="createReqVO">
+    <div class="z-form-row" style="display: none;">
+      <input type="text" value="${formEntity.instanceId!}" name="createReqVO$instanceId">
+      <input type="text" value="${formEntity.id!}" name="createReqVO$id">
+      <input type="text" value='${costTypeJSON!}' id="costTypeJSON">
+      <input type="text" value='${detailList!}' id="detailList">
+    </div>
+    <div class="ow-tab-scroll">
+      <div class="form-title" style="margin-top: 0px;">
+        <div class="form-icon">
+          <img src="/imgs/titleIcon.png" alt="">
+          <span>基本信息</span>
         </div>
-        <div class="jbxx-box jbxx-box-flex">
-            <table class="jbxx-table-info">
-                <tr>
-                    <td class="th">
-                        <div class="form-label">报销人:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input" name="createReqVO$userNickname">
-                                    <input type="text" value="${formEntity.userNickname!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                    <td class="th">
-                        <div class="form-label">所在部门:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input" name="createReqVO$deptName">
-                                    <input type="text" value="${formEntity.deptName!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">申请时间:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-date z-readonly" name="createReqVO$createTime">
-                                    <input type="text" value="${(formEntity.applyTime?date)!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                    <td class="th">
-                        <div class="form-label">报销单号:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input" name="createReqVO$attendanceNoteNo">
-                                    <input type="text" value="${formEntity.commonCostNo!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">项目:</div>
-                    </td>
-                    <td colspan="3">
-                        <div class="form-group">
-                            <div class="form-item btns-form-box">
-                                <input type="hidden" name="createReqVO$projectId" value="${formEntity.projectId!}">
-                                <div class="z-comp-input" name="createReqVO$projectName">
-                                    <input type="text" value="${projectName!}">
-                                    <div id="selectProject" style="width: 50px; float: right;">
-                                        <div class="btn btn-sm btn-primary">选择</div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">项目编号:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input z-readonly" name="createReqVO$xmbh">
-                                    <input type="text" value="${projectXmbh!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                    <td class="th">
-                        <div class="form-label">项目责任部门:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input z-readonly" name="createReqVO$xmzrbm">
-                                    <input type="text" value="${projectZrbm!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">付款单位:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="z-comp-selecttree" name="paymentCompany">
-                                <input type="hidden" name="createReqVO$paymentCompanyId" value="${formEntity.paymentCompanyId!}">
-                                <div class="z-inputselect-bar">
-                                    <span> ${paymentCompanyName!} </span><i></i>
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                    <td class="th">
-                        <div class="form-label">付款方式:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-select" name="createReqVO$paymentMethod" value="${formEntity.paymentMethod!}" data='[{"value":1,"text":"银行"},{"value":2,"text":"现金"}]'>
-                                    <div class="z-inputselect-bar">
-                                        <span></span><i></i>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">报销总金额:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input z-readonly" name="createReqVO$totalAmount">
-                                    <input type="text" value="${formEntity.totalAmount!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                    <td class="th">
-                        <div class="form-label">大写单据总金额:</div>
-                    </td>
-                    <td>
-                        <div class="form-group">
-                            <div class="form-item">
-                                <div class="z-comp-input z-readonly" name="createReqVO$totalAmountCn">
-                                    <input type="text" value="${formEntity.totalAmountCn!}">
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">是否抵用借款:</div>
-                    </td>
-                    <td colspan="3">
-                        <div class="form-group">
-                            <div class="z-comp-checkbox" name="createReqVO$dybx">
-                                <div class="z-checkbox-item <#if (formEntity.dybx!) ? contains("1")>checked</#if>"><i></i>抵用借款</div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="th">
-                        <div class="form-label">报销备注:</div>
-                    </td>
-                    <td colspan="3">
-                        <div class="form-group">
-                            <div class="form-item" style="margin: 10px 0;">
-                                <div class="z-comp-textarea" name="createReqVO$bz1">
-                                    <textarea>${formEntity.bz1!}</textarea>
-                                </div>
-                            </div>
-                        </div>
-                    </td>
-                </tr>
-            </table>
+        <div class="form-btn">
         </div>
-        <div class="form-title">
-            <div class="form-icon">
-                <img src="/imgs/titleIcon.png" alt="">
-                <span>单据详情</span>
-            </div>
-            <div class="form-btn">
-                <div id="addData">
-                    <img src="/imgs/addIcon.png" alt="">
-                    <span>新增</span>
+      </div>
+      <div class="jbxx-box jbxx-box-flex">
+        <table class="jbxx-table-info">
+          <tr>
+            <td class="th">
+              <div class="form-label">报销人:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input" name="createReqVO$userNickname">
+                    <input type="text" value="${formEntity.userNickname!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+            <td class="th">
+              <div class="form-label">所在部门:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input" name="createReqVO$deptName">
+                    <input type="text" value="${formEntity.deptName!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">申请时间:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-date z-readonly" name="createReqVO$createTime">
+                    <input type="text" value="${(formEntity.applyTime?date)!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+            <td class="th">
+              <div class="form-label">报销单号:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input" name="createReqVO$attendanceNoteNo">
+                    <input type="text" value="${formEntity.commonCostNo!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">项目:</div>
+            </td>
+            <td colspan="3">
+              <div class="form-group">
+                <div class="form-item btns-form-box">
+                  <input type="hidden" name="createReqVO$projectId" value="${formEntity.projectId!}">
+                  <div class="z-comp-input" name="createReqVO$projectName">
+                    <input type="text" value="${projectName!}">
+                    <div id="selectProject" style="width: 50px; float: right;">
+                      <div class="btn btn-sm btn-primary">选择</div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">项目编号:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input z-readonly" name="createReqVO$xmbh">
+                    <input type="text" value="${projectXmbh!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+            <td class="th">
+              <div class="form-label">项目责任部门:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input z-readonly" name="createReqVO$xmzrbm">
+                    <input type="text" value="${projectZrbm!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">付款单位:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="z-comp-selecttree" name="paymentCompany">
+                  <input type="hidden" name="createReqVO$paymentCompanyId" value="${formEntity.paymentCompanyId!}">
+                  <div class="z-inputselect-bar">
+                    <span> ${paymentCompanyName!} </span><i></i>
+                  </div>
+                </div>
+              </div>
+            </td>
+            <td class="th">
+              <div class="form-label">付款方式:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-select" name="createReqVO$paymentMethod" value="${formEntity.paymentMethod!}" data='[{"value":1,"text":"银行"},{"value":2,"text":"现金"}]
+  '>
+                    <div class="z-inputselect-bar">
+                      <span></span><i></i>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">报销总金额:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input z-readonly" name="createReqVO$totalAmount">
+                    <input type="text" value="${formEntity.totalAmount!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+            <td class="th">
+              <div class="form-label">大写单据总金额:</div>
+            </td>
+            <td>
+              <div class="form-group">
+                <div class="form-item">
+                  <div class="z-comp-input z-readonly" name="createReqVO$totalAmountCn">
+                    <input type="text" value="${formEntity.totalAmountCn!}">
+                  </div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">是否抵用借款:</div>
+            </td>
+            <td colspan="3">
+              <div class="form-group">
+                <div class="z-comp-checkbox" name="createReqVO$dybx">
+                  <div class="z-checkbox-item <#if (formEntity.dybx!) ? contains(" 1")>checked</#if>"><i></i>抵用借款</div>
+                </div>
+              </div>
+            </td>
+          </tr>
+          <tr>
+            <td class="th">
+              <div class="form-label">报销备注:</div>
+            </td>
+            <td colspan="3">
+              <div class="form-group">
+                <div class="form-item" style="margin: 10px 0;">
+                  <div class="z-comp-textarea" name="createReqVO$bz1">
+                    <textarea> ${formEntity.bz1!} </textarea>
+                  </div>
                 </div>
-            </div>
+              </div>
+            </td>
+          </tr>
+        </table>
+      </div>
+      <div class="form-title">
+        <div class="form-icon">
+          <img src="/imgs/titleIcon.png" alt="">
+          <span>单据详情</span>
         </div>
-        <div class="qjsjxx-box">
-            <table class="form-table-info">
-                <tr>
-                    <td>序号</td>
-                    <td>发生日期</td>
-                    <td>费用实际所属类型</td>
-                    <td>发票内容</td>
-                    <td>单据张数</td>
-                    <td>金额</td>
-                    <td>备注</td>
-                    <td>操作</td>
-                </tr>
-                <tbody class="tbody tbodyQjsq">
-                </tbody>
-            </table>
+        <div class="form-btn">
+          <div id="addData">
+            <img src="/imgs/addIcon.png" alt="">
+            <span>新增</span>
+          </div>
         </div>
+      </div>
+      <div class="qjsjxx-box">
+        <table class="form-table-info">
+          <tr style="height: 37px;">
+            <td style="width: 80px;">序号</td>
+            <td style="width: 200px;">发生日期</td>
+            <td>费用实际所属类型</td>
+            <td>发票内容</td>
+            <td style="width: 100px;">单据张数</td>
+            <td style="width: 200px;">金额</td>
+            <td>备注</td>
+            <td>操作</td>
+          </tr>
+          <tbody class="tbody tbodyQjsq">
+          </tbody>
+        </table>
+      </div>
     </div>
-    <script language="javascript" src="/timeSelector/TimeSelector.js"></script>
-    <script language="javascript">
-        ;
-        (function () {
-        })();
-    </script>
-    <style type="text/css">
-    </style>
+  </div>
+  <script language="javascript" src="/timeSelector/TimeSelector.js"></script>
+  <script language="javascript">
+  ;
+  (function() {})();
+  </script>
+  <style type="text/css">
+    .qjsjxx-box .form-table-info tr:nth-child(1){
+      height: 63px;
+    }
+  </style>
 </@w.workFlow>

+ 247 - 165
zjugis-business/src/main/resources/templates/CommonCost/js/index.js

@@ -1,182 +1,264 @@
 (function () {
-    window.onload = function (ex) {
-        let costTypeJSON = JSON.parse(document.querySelector('#costTypeJSON').value)
-        var lists = []
-        var trFragment = document.createDocumentFragment();
-        $("#addData").click(function () {
-            var dataObj = {}
-            trFragment.appendChild(generateTableTrHtml(lists.length))
-            $(".tbody").append(trFragment)
-            let listsLength = lists.length
-            $("#delBtn_" + listsLength).click(function () {
-                var index = this.id.substring(this.id.indexOf("_") + 1)
-                z.ui.confirm("compid").init({
-                    content: "确定删除吗?",
-                    onConfirm: function () {
-                        var element = document.getElementById("qjsj_" + index);
-                        element.remove();
-                        buildQjsjSeq();
-                    },
-                    onCancel: function () {
-
-                    }
-                })
-
-            })
-            costTypeJSON.forEach(obj=>{
-                obj.treeName='CommonCostDetailDO[' + listsLength + ']$costType';
-            })
-            selecttree("[name='costType[" + listsLength + "]']", costTypeJSON, clickCostType, allowChildClick)
-            z.ui.date("[name='CommonCostDetailDO[" + listsLength + "]$costDate']").init()
-            buildQjsjSeq();
-            lists.push(dataObj)
-        })
-        $("#selectProject").click(function () {
-            selectProject(null, setProject);
-        })
-        initCompany();
-        bindEvents();
+  let isTimes = []
+  window.onload = function (ex) {
+    let timeObject = document.querySelector('#detailList')
+    let arrays = JSON.parse(timeObject.value)
+    $("#addData").click(function () {
+      let obj = {
+        amount: "",
+        bz1: "",
+        commonCostId: "",
+        costContent: "",
+        costDate: "",
+        createTime: "",
+        id: "",
+        invoiceNums: "",
+        isvalid: "",
+        latestModifyTime: "",
+      }
+      isTimes.push(obj)
+      updateView()
+      buildQjsjSeq();
+      detailTotalInit()
+    })
+    $("#selectProject").click(function () {
+      selectProject(null, setProject);
+    })
+    initCompany();
+    bindEvents();
+    //根据返回的json对象渲染
+    if (arrays.length > 0) {
+      for (let i = 0; i < arrays.length; i++) {
+        let obj = {
+          amount: arrays[i].amount,
+          bz1: arrays[i].bz1,
+          commonCostId: arrays[i].commonCostId,
+          costContent: arrays[i].costContent,
+          costDate: arrays[i].costDate,
+          createTime: arrays[i].createTime,
+          id: arrays[i].id,
+          invoiceNums: arrays[i].invoiceNums,
+          isvalid: arrays[i].isvalid,
+          latestModifyTime: arrays[i].latestModifyTime,
+        }
+        isTimes.push(obj)
+      }
+      updateView()
     }
+  }
+  function updateView() {
+    let tbodyQjsq = document.querySelector('.tbodyQjsq')
+    let html = ''
+    for (let i = 0; i < isTimes.length; i++) {
+      html += '<tr class="qjsjClass" id="qjsj_' + i + '" style="background:#fff">'
+        + '<td name="qjsj_seq">' + (i + 1) + '</td>'
+        + '<td>'
+        + '<div class="form-flex">'
+        + '<div class="form-item" style="width: 100%;margin-right: 5px;">'
+        + '<div class="z-comp-date" name="CommonCostDetailDO[' + i + ']$costDate">'
+        + '<input type="text" value="' + isTimes[i].amount + '">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div class="form-flex">'
+        + '<div class="form-item" style="width: 100%;margin-right: 5px;">'
+        + '<div class="z-comp-selecttree" name="costType[' + i + ']">'
+        + '<input type="hidden" name="CommonCostDetailDO[' + i + ']$costType">'
+        + '<div class="z-inputselect-bar">'
+        + '<span></span><i></i>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div class="form-item">'
+        + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$costContent">'
+        + '<input type="text" value="' + isTimes[i].amount + '">'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div class="form-item">'
+        + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$invoiceNums">'
+        + '<input type="number" value="' + isTimes[i].amount + '">'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div class="form-item">'
+        + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$amount">'
+        + '<input type="number" value="' + isTimes[i].amount + '">'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div class="form-item">'
+        + '<div class="z-comp-input" name="CommonCostDetailDO[' + i + ']$bz1">'
+        + '<input type="text" value="' + isTimes[i].amount + '">'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div id="delBtn_' + (i) + '" class="table-btn delBtn_' + (i) + '" data-index="' + (i) + '">'
+        + '<span>删除</span>'
+        + '</div>'
+        + '</td></tr>';
+    }
+    tbodyQjsq.innerHTML = html
+    let costTypeJSON = JSON.parse(document.querySelector('#costTypeJSON').value)
+    for (let i = 0; i < isTimes.length; i++) {
+      costTypeJSON.forEach(obj => {
+        obj.treeName = 'CommonCostDetailDO[' + i + ']$costType';
+      })
+      selecttree("[name='costType[" + i + "]']", costTypeJSON, clickCostType, allowChildClick)
+      z.ui.date("[name='CommonCostDetailDO[" + i + "]$costDate']").init()
+      $("#delBtn_" + i).click(function () {
+        z.ui.confirm("compid").init({
+          content: "确定删除吗?",
+          onConfirm: function () {
+            var element = document.getElementById("qjsj_" + i);
+            element.remove();
+            buildQjsjSeq();
+            isTimes.splice(i, 1)
+            updateView()
+            jeSumInit(i)
+          },
+          onCancel: function () {
 
+          }
+        })
 
-    //注册业务保存事件
-    function bindEvents() {
-        z.workflow.saveBtn.addListener("onSaveClick", saveForm);
+      })
     }
-
-    function buildQjsjSeq() {
-        let elementsByName = document.getElementsByName("qjsj_seq");
-        for (let i = 0; i < elementsByName.length; i++) {
-            const seqElement = elementsByName[i];
-            seqElement.innerHTML = i + 1;
-        }
+  }
+  function detailTotalInit() {
+    let obj = {
+      amount: "",
+      bz1: "",
+      commonCostId: "",
+      costContent: "",
+      costDate: "",
+      createTime: "",
+      id: "",
+      invoiceNums: "",
+      isvalid: "",
+      latestModifyTime: "",
     }
-
-    /*
-  * all 工作流js传递到业务的参数 success执行的方法
-  * istransfer 工作流js传递到业务的参数 是否转件
-  * */
-    function saveForm(all, istransfer) {
-        var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
-        if (postData == false) return;
-        postData.createReqVO.instanceId = z.ui.comm.getUrlParam("flowInstanceId");
-        var detailList = new Array()
-        for (let key of Object.keys(postData)) {
-            let mealName = postData[key];
-            if (key.startsWith("CommonCostDetailDO")) {
-                mealName.costDate = Date.parse(mealName.costDate);
-                detailList.push(z.ui.form.childStringify(mealName));
-            }
+    for (let i = 0; i < isTimes.length; i++) {
+      let inpsJe = $("[name='CommonCostDetailDO[" + i + "]$amount']")[0].children[0]; //金额
+      let inpsPj = $("[name='CommonCostDetailDO[" + i + "]$invoiceNums']")[0].children[0];//单据张数
+      inpsJe.addEventListener("blur", e => {
+        let event = e || window.event;
+        let inputInfo = event.target.value;
+        if (!(inputInfo > 0)) {
+          z.ui.alertWarning(`金额不能为负数、0`)
+          inpsJe.value = ''
+        } else {
+          obj.amount = inputInfo
+          jeSumInit()
         }
-        postData.createReqVO.detailList = detailList;
-        z.ui.ajax({
-            type: "post",
-            url: "/CommonCost/update",
-            data: JSON.stringify(postData.createReqVO),
-            contentType: "application/json",
-            success: function () {
-                all({success: true});
-            },
-            error: function () {
-                all({success: false});
-            }
-        })
+      });
+      inpsPj.addEventListener("blur", e => {
+        let event = e || window.event;
+        let inputInfo = event.target.value;
+        if (!(inputInfo > 0) || (String(inputInfo).indexOf('.') > -1)) {
+          z.ui.alertWarning(`单据张数不能为负数、0、小数`)
+          inpsPj.value = ''
+        } else {
+          obj.invoiceNums = inputInfo
+        }
+      });
     }
+  }
+  function jeSumInit(idx) {
+    let jeSum = 0 //金额汇总
+    for (let i = 0; i < isTimes.length; i++) {
+      if (idx == i) {
+        return
+      } else {
+        let inpsJe = $("[name='CommonCostDetailDO[" + i + "]$amount']")[0].children[0]; //金额
+        jeSum += Number(inpsJe.value)
+      }
 
-
-    function generateTableTrHtml(index) {
-        let indexC = 0;
-        indexC = index;
-        var trDom = document.createElement("tr");
-        trDom.style.backgroundColor = "#fff";
-        trDom.id = "qjsj_" + indexC;
-        trDom.innerHTML = '<td name="qjsj_seq">' + (indexC + 1) + '</td>'
-                + '<td>'
-                + '<div class="form-flex">'
-                + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
-                + '<div class="z-comp-date" name="CommonCostDetailDO[' + indexC + ']$costDate">'
-                + '<input type="text" value="">'
-                + '</div>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div class="form-flex">'
-                + '<div class="form-item" style="width: 50%;margin-right: 5px;">'
-                + '<div class="z-comp-selecttree" name="costType[' + indexC + ']">'
-                + '<input type="hidden" name="CommonCostDetailDO[' + indexC + ']$costType">'
-                + '<div class="z-inputselect-bar">'
-                + '<span></span><i></i>'
-                + '</div>'
-                + '</div>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div class="form-item">'
-                + '<div class="z-comp-input" name="CommonCostDetailDO[0]$costContent">'
-                + '<input type="text" value="">'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div class="form-item">'
-                + '<div class="z-comp-input" name="CommonCostDetailDO[0]$invoiceNums">'
-                + '<input type="number" value="">'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div class="form-item">'
-                + '<div class="z-comp-input" name="CommonCostDetailDO[0]$amount">'
-                + '<input type="number" value="">'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div class="form-item">'
-                + '<div class="z-comp-input" name="CommonCostDetailDO[0]$bz1">'
-                + '<input type="text" value="">'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div id="delBtn_' + (indexC) + '" class="table-btn delBtn_' + (indexC) + '" data-index="' + (indexC) + '">'
-                + '<span>删除</span>'
-                + '</div>'
-                + '</td>';
-        return trDom;
     }
+    z.ui.input("[name='createReqVO$totalAmount']").setValue(jeSum);
+    z.ui.input("[name='createReqVO$totalAmountCn']").setValue(convertCurrency(jeSum));
+  }
 
-    function setProject(res) {
-        console.log(res);
-        if (res.data) {
-            $("[name='createReqVO$projectId']").val(res.data.id);
-            z.ui.input("[name='createReqVO$projectName']").setValue(res.data.xmmc);
-            z.ui.input("[name='createReqVO$xmbh']").setValue(res.data.xmbh);
-            z.ui.input("[name='createReqVO$xmzrbm']").setValue(res.data.zrbm);
-        }
-    }
+  //注册业务保存事件
+  function bindEvents() {
+    z.workflow.saveBtn.addListener("onSaveClick", saveForm);
+  }
 
-    function initCompany() {
-        z.ui.ajax({
-            type: "get",
-            url: "/common/company-tree",
-            data: {},
-            success: function (res) {
-                if (res && res.data.length > 0) {
-                    selecttree("[name='paymentCompany']", res.data, clickCompany)
-                }
-            },
-            error: function () {
-            }
-        })
+  function buildQjsjSeq() {
+    let elementsByName = document.getElementsByName("qjsj_seq");
+    for (let i = 0; i < elementsByName.length; i++) {
+      const seqElement = elementsByName[i];
+      seqElement.innerHTML = i + 1;
     }
+  }
 
-    function clickCompany(even, treeId, treeNode) {
-        $("[name='createReqVO$paymentCompanyId']").val(treeNode.id);
+  /*
+* all 工作流js传递到业务的参数 success执行的方法
+* istransfer 工作流js传递到业务的参数 是否转件
+* */
+  function saveForm(all, istransfer) {
+    var postData = z.ui.form.getFormFields($("[name=createReqVO]"));
+    if (postData == false) return;
+    postData.createReqVO.instanceId = z.ui.comm.getUrlParam("flowInstanceId");
+    var detailList = new Array()
+    for (let key of Object.keys(postData)) {
+      let mealName = postData[key];
+      if (key.startsWith("CommonCostDetailDO")) {
+        mealName.costDate = Date.parse(mealName.costDate);
+        detailList.push(z.ui.form.childStringify(mealName));
+      }
     }
-    function clickCostType(even, treeId, treeNode){
-        $("[name='"+ treeNode.treeName +"']").val(treeNode.id);
+    postData.createReqVO.detailList = detailList;
+    z.ui.ajax({
+      type: "post",
+      url: "/CommonCost/update",
+      data: JSON.stringify(postData.createReqVO),
+      contentType: "application/json",
+      success: function () {
+        all({ success: true });
+      },
+      error: function () {
+        all({ success: false });
+      }
+    })
+  }
+  function setProject(res) {
+    if (res.data) {
+      $("[name='createReqVO$projectId']").val(res.data.id);
+      z.ui.input("[name='createReqVO$projectName']").setValue(res.data.xmmc);
+      z.ui.input("[name='createReqVO$xmbh']").setValue(res.data.xmbh);
+      z.ui.input("[name='createReqVO$xmzrbm']").setValue(res.data.zrbm);
     }
+  }
+
+  function initCompany() {
+    z.ui.ajax({
+      type: "get",
+      url: "/common/company-tree",
+      data: {},
+      success: function (res) {
+        if (res && res.data.length > 0) {
+          selecttree("[name='paymentCompany']", res.data, clickCompany)
+        }
+      },
+      error: function () {
+      }
+    })
+  }
+
+  function clickCompany(even, treeId, treeNode) {
+    $("[name='createReqVO$paymentCompanyId']").val(treeNode.id);
+  }
+  function clickCostType(even, treeId, treeNode) {
+    $("[name='" + treeNode.treeName + "']").val(treeNode.id);
+  }
 }());

+ 90 - 0
zjugis-business/src/main/resources/templates/CommonCost/js/money.js

@@ -0,0 +1,90 @@
+function convertCurrency(money) {
+  //汉字的数字
+  var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
+  //基本单位
+  var cnIntRadice = new Array('', '拾', '佰', '仟');
+  //对应整数部分扩展单位
+  var cnIntUnits = new Array('', '万', '亿', '兆');
+  //对应小数部分单位
+  var cnDecUnits = new Array('角', '分', '毫', '厘');
+  //整数金额时后面跟的字符
+  var cnInteger = '整';
+  //整型完以后的单位
+  var cnIntLast = '元';
+  //最大处理的数字
+  var maxNum = 999999999999999.9999;
+  //金额整数部分
+  var integerNum;
+  //金额小数部分
+  var decimalNum;
+  //输出的中文金额字符串
+  var chineseStr = '';
+  //分离金额后用的数组,预定义
+  var parts;
+  // 传入的参数为空情况 
+  if (money == '') {
+    return '';
+  }
+  money = parseFloat(money)
+  if (money >= maxNum) {
+    return ''
+  }
+  // 传入的参数为0情况 
+  if (money == 0) {
+    chineseStr = cnNums[0] + cnIntLast + cnInteger;
+    return chineseStr
+  }
+  // 转为字符串
+  money = money.toString();
+  // indexOf 检测某字符在字符串中首次出现的位置 返回索引值(从0 开始) -1 代表无
+  if (money.indexOf('.') == -1) {
+    integerNum = money;
+    decimalNum = ''
+  } else {
+    parts = money.split('.');
+    integerNum = parts[0];
+    decimalNum = parts[1].substr(0, 4);
+  }
+  //转换整数部分
+  if (parseInt(integerNum, 10) > 0) {
+    let zeroCount = 0;
+    let IntLen = integerNum.length
+    for (let i = 0; i < IntLen; i++) {
+      let n = integerNum.substr(i, 1);
+      let p = IntLen - i - 1;
+      let q = p / 4;
+      let m = p % 4;
+      if (n == '0') {
+        zeroCount++;
+      } else {
+        if (zeroCount > 0) {
+          chineseStr += cnNums[0]
+        }
+        zeroCount = 0;
+        chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
+      }
+      if (m == 0 && zeroCount < 4) {
+        chineseStr += cnIntUnits[q];
+      }
+    }
+    // 最后+ 元
+    chineseStr += cnIntLast;
+  }
+  // 转换小数部分
+  if (decimalNum != '') {
+    let decLen = decimalNum.length;
+    for (let i = 0; i < decLen; i++) {
+      let n = decimalNum.substr(i, 1);
+      if (n != '0') {
+        chineseStr += cnNums[Number(n)] + cnDecUnits[i]
+      }
+    }
+  }
+  if (chineseStr == '') {
+    chineseStr += cnNums[0] + cnIntLast + cnInteger;
+  } else if (decimalNum == '') {
+    chineseStr += cnInteger;
+  }
+
+  return chineseStr
+}