Browse Source

修复bug

ellisran 3 days ago
parent
commit
8924522538
2 changed files with 30 additions and 11 deletions
  1. 28 9
      app/public/js/contract_detail.js
  2. 2 2
      app/view/contract/detail.ejs

+ 28 - 9
app/public/js/contract_detail.js

@@ -1695,15 +1695,6 @@ $(document).ready(function() {
                     data[c] = $('#htdetail_' + c + ' input').val();
                     data[c] = $('#htdetail_' + c + ' input').val();
                 }
                 }
             }
             }
-            const attrInfo = node.attribute_json ? JSON.parse(node.attribute_json) : {};
-            for (const attr of attributeSet) {
-                if (attr.type === 'long_text') {
-                    attrInfo[attr.field] = $('#htdetail_' + attr.field + ' textarea').val();
-                    continue;
-                }
-                attrInfo[attr.field] = $('#htdetail_' + attr.field + ' input').val();
-            }
-            data.attribute_json = JSON.stringify(attrInfo);
             if (data.c_code === '' || data.name === '') {
             if (data.c_code === '' || data.name === '') {
                 toastr.warning('合同编号和合同名称不能为空');
                 toastr.warning('合同编号和合同名称不能为空');
                 return;
                 return;
@@ -1729,6 +1720,34 @@ $(document).ready(function() {
                 toastr.warning('合同金额不能小于累计应' + name);
                 toastr.warning('合同金额不能小于累计应' + name);
                 return;
                 return;
             }
             }
+            const attrInfo = node.attribute_json ? JSON.parse(node.attribute_json) : {};
+            for (const attr of attributeSet) {
+                if (attr.type === 'long_text') {
+                    attrInfo[attr.field] = $('#htdetail_' + attr.field + ' textarea').val();
+                    // 判断长度超过1000字提示
+                    if (attrInfo[attr.field] && attrInfo[attr.field].length > 1000) {
+                        toastr.warning((attr.alias || attr.name) + '内容不能超过1000字');
+                        return;
+                    }
+                    continue;
+                } else if (attr.type === 'number') {
+                    attrInfo[attr.field] = $('#htdetail_' + attr.field + ' input').val();
+                    if (!/^\d+(\.\d+)?$/.test(attrInfo[attr.field])) {
+                        toastr.warning((attr.alias || attr.name) + '只能输入数字');
+                        return;
+                    }
+                    continue;
+                } else if (attr.type === 'text') {
+                    attrInfo[attr.field] = $('#htdetail_' + attr.field + ' input').val();
+                    if (attrInfo[attr.field] && attrInfo[attr.field].length > 255) {
+                        toastr.warning((attr.alias || attr.name) + '内容不能超过255字');
+                        return;
+                    }
+                    continue;
+                }
+                attrInfo[attr.field] = $('#htdetail_' + attr.field + ' input').val();
+            }
+            data.attribute_json = JSON.stringify(attrInfo);
             // if (data.party_b === '') {
             // if (data.party_b === '') {
             //     toastr.warning('签订单位(乙方)不能为空');
             //     toastr.warning('签订单位(乙方)不能为空');
             //     return;
             //     return;

+ 2 - 2
app/view/contract/detail.ejs

@@ -193,7 +193,7 @@
                                         <% for (const seg of segments) { %>
                                         <% for (const seg of segments) { %>
                                             <% if (seg.type === 'long') { %>
                                             <% if (seg.type === 'long') { %>
                                                 <tr>
                                                 <tr>
-                                                    <th class="text-center align-middle" width="10%"><%- seg.item.alias %></th>
+                                                    <th class="text-center align-middle" width="10%"><%- seg.item.alias || seg.item.name %></th>
                                                     <td class="change-input-td" colspan="5"
                                                     <td class="change-input-td" colspan="5"
                                                         data-type="<%- seg.item.field %>"
                                                         data-type="<%- seg.item.field %>"
                                                         id="htdetail_<%- seg.item.field %>"></td>
                                                         id="htdetail_<%- seg.item.field %>"></td>
@@ -203,7 +203,7 @@
                                                     <% const row = seg.items.slice(i, i + 3) %>
                                                     <% const row = seg.items.slice(i, i + 3) %>
                                                     <tr>
                                                     <tr>
                                                         <% for (let k = 0; k < row.length; k++) { %>
                                                         <% for (let k = 0; k < row.length; k++) { %>
-                                                            <th class="text-center align-middle" width="10%"><%- row[k].alias %></th>
+                                                            <th class="text-center align-middle" width="10%"><%- row[k].alias || row[k].name %></th>
                                                             <td width="<%= tdWidths[k] %>" class="change-input-td"
                                                             <td width="<%= tdWidths[k] %>" class="change-input-td"
                                                                 data-type="<%- row[k].field %>"
                                                                 data-type="<%- row[k].field %>"
                                                                 id="htdetail_<%- row[k].field %>"></td>
                                                                 id="htdetail_<%- row[k].field %>"></td>