Преглед изворни кода

合同类型展示及隐藏

ellisran пре 1 месец
родитељ
комит
7a8ae5b184

+ 4 - 0
app/const/contract.js

@@ -25,6 +25,7 @@ const typeName = {
 
 const colSet = {
     [type.expenses]: [
+        { name: '合同类型', field: 'type', fixed: ['alias'], gd: true },
         { name: '累计应付', field: 'yf_price', fixed: ['alias'] },
         { name: '应付进度', field: 'stackedBar', fixed: ['alias'] },
         { name: '累计实付', field: 'sf_price', fixed: ['alias'] },
@@ -35,6 +36,7 @@ const colSet = {
         { name: '计算2', field: 'calc2', fixed: [] },
     ],
     [type.income]: [
+        { name: '合同类型', field: 'type', fixed: ['alias'], gd: true },
         { name: '累计应回', field: 'yf_price', fixed: ['alias'] },
         { name: '应回进度', field: 'stackedBar', fixed: ['alias'] },
         { name: '累计实回', field: 'sf_price', fixed: ['alias'] },
@@ -48,6 +50,7 @@ const colSet = {
 
 const defaultColSet = {
     [type.expenses]: [
+        { field: 'type', show: 1, gd: true },
         { field: 'yf_price', show: 1 },
         { field: 'stackedBar', show: 1 },
         { field: 'sf_price', show: 0 },
@@ -58,6 +61,7 @@ const defaultColSet = {
         { field: 'calc2', show: 0, alias: '计算2' },
     ],
     [type.income]: [
+        { field: 'type', show: 1, gd: true },
         { field: 'yf_price', show: 1 },
         { field: 'stackedBar', show: 1 },
         { field: 'sf_price', show: 0 },

+ 8 - 0
app/public/js/contract_detail.js

@@ -83,6 +83,7 @@ $(document).ready(function() {
             return data.c_code && data.status ? auditConst.auditClassColor[data.status] : '';
         };
     }
+    const gdColField = ['type'];
     const colMap = {
       yf_price: {title: '累计应付', colSpan: '1', rowSpan: '2', field: 'yf_price', hAlign: 2, width: 120, formatter: '@', readOnly: true},
       stackedBar: {title: '应付进度', colSpan: '1', rowSpan: '2', formatter: '@', readOnly: true, field: 'stackedBar', hAlign: 0, width: 200, cellType: 'stackedBar', stackedBarCover: true, bc_type: 'grid', getTip: getStackedBarTip, hintNum: true},
@@ -99,6 +100,13 @@ $(document).ready(function() {
         if (colInfo && col.show) {
             contractSpreadSetting.cols.push(Object.assign({}, colInfo, { title: (col && col.alias) || col.name }));
         }
+        if (col.gd) {
+            const gdColInfo = gdColField.includes(col.field);
+            if (gdColInfo && !col.show) {
+                const index = contractSpreadSetting.cols.findIndex(c => c.field === col.field);
+                if (index !== -1) contractSpreadSetting.cols.splice(index, 1);
+            }
+        }
     });
 
 

+ 6 - 2
app/service/contract_col_set.js

@@ -82,10 +82,14 @@ module.exports = app => {
                 const field = csd.field;
                 if (!colSetFieldSet.has(field)) { // 未在 colSet 中找到的字段
                     const dcs = defaultColSet.find(x => x.field === field); // 取默认配置
-                    result.push({ ...dcs, ...csd }); 
+                    if (dcs.gd) { // 补充到结果头中
+                        result.unshift({ ...dcs, ...csd });
+                    } else {
+                        result.push({ ...dcs, ...csd });
+                    }
                 }
             }
-            
+
             return result;
         }
     }

+ 2 - 0
app/view/contract/col_set.ejs

@@ -38,8 +38,10 @@
                           <td><input type="text" class="form-control form-control-sm" value="<%- cs.alias %>"></td>
                           <% } %>
                           <td>
+                              <% if (!cs.gd) { %>
                               <a href="javascript:;" class="move-up text-primary mr-2" style="text-decoration: none;">上移</a>
                               <a href="javascript:;" class="move-down text-primary" style="text-decoration: none;">下移</a>
+                              <% } %>
                           </td>
                       </tr>
                       <% } %>

+ 1 - 1
app/view/contract/setting.ejs

@@ -12,7 +12,7 @@
                     <div class="col-8">
                         <div class="card mb-3">
                             <div class="card-header">
-                                <div class="float-left">合同设置</div>
+                                <div class="float-left">合同类型</div>
                                 <div class="float-right" id="show-type-btn" style="display: none">
                                     <button id="cancel-type-btn" class="btn btn-sm btn-secondary">取消</button>
                                     <button id="set-type-btn" class="btn btn-sm btn-success">保存</button>