chenlei 10 月之前
父節點
當前提交
02135e033d
共有 5 個文件被更改,包括 41 次插入6 次删除
  1. 30 1
      packages/input/src/main.vue
  2. 1 1
      packages/list/src/main.vue
  3. 6 3
      packages/list/src/tool-list.js
  4. 3 0
      readme.md
  5. 1 1
      style/index.scss

+ 30 - 1
packages/input/src/main.vue

@@ -33,7 +33,7 @@
                 :md="formLineWidth(inputItem[inputType], 'value')"
                 :lg="formLineWidth(inputItem[inputType], 'value')"
                 :xl="formLineWidth(inputItem[inputType], 'value')">
-                <el-form-item :label="inputItem[inputType].label" :prop="inputItem.field" :class="inputItem[inputType].type === 'span' ? 'el-form-item__content--span' : ''" :style="inputItem[inputType].type === 'span' ? (inputItem[inputType].style ? inputItem[inputType].style : 'width: 95%') : ''">
+                <el-form-item :label="inputItem[inputType].label" :prop="inputItem.field" :class="inputItem[inputType].type === 'span' ? 'el-form-item__content--span' : ''" :style="formItemStyle">
                     <!--input-->
                     <el-input v-if="inputItem[inputType].type === 'text'" v-model="rowData[(inputType === 'search' ? inputPriField : inputItem.field)]"
                                 @blur="onInputBlur(rowData[(inputType === 'search' ? inputPriField : inputItem.field)])"
@@ -560,6 +560,9 @@
                     <span v-else v-html="inputItem[inputType].util ? ' ' + inputItem[inputType].util : ''"></span>
                 </el-form-item>
             </el-col>
+            <div class="desc" v-if="inputItem[inputType].desc">
+                <div>{{inputItem[inputType].desc}}</div>
+            </div>
         </el-row>
     </div>
 </template>
@@ -655,6 +658,22 @@ import { isTypeof, LOCAL_STORAGE_CURR, downLoadImage, isHttpHeaderURL, datepicke
                 },
             };
         },
+        computed: {
+            formItemStyle() {
+                let rv = ''
+                const curConfig = this.inputItem[this.inputType]
+                if (curConfig.type === 'span') {
+                    rv = 'width: 95%'
+                }
+                if (curConfig.style) {
+                    rv = curConfig.style
+                }
+                if (curConfig.hidden) {
+                    rv = 'visibility: hidden'
+                }
+                return rv
+            }
+        },
         created: function () {
             initInputData(this);
             // 初始化公共的参数
@@ -1282,4 +1301,14 @@ import { isTypeof, LOCAL_STORAGE_CURR, downLoadImage, isHttpHeaderURL, datepicke
     .image-vague {
         filter: blur(10px);
     }
+    .desc {
+        display: inline-block;
+        font-size: 12px;
+        color: #aaa;
+        margin-top: -18px;
+        // margin-bottom: 18px;
+        &::after {
+            content: ' ';
+        }
+    }
 </style>

+ 1 - 1
packages/list/src/main.vue

@@ -3,7 +3,7 @@
     <!-- 左侧搜索条件 -->
     <search-form-pro :options="searchOptions"></search-form-pro>
 
-    <div class="container-table-list" :class="{'table-list-only': (page_status&8) != 8, 'table-list-hide': ((page_status&8) != 8 && (page_status&4) != 4)}">
+    <div class="container-table-list dx" :class="{'table-list-only': (page_status&8) != 8, 'table-list-hide': ((page_status&8) != 8 && (page_status&4) != 4)}">
       <!-- button list -->
       <em-btn-list-pro v-if="tableButtonStatus" :options="btnOptions">
         <template slot="extInfo"><slot name="extInfo"/></template>

+ 6 - 3
packages/list/src/tool-list.js

@@ -303,7 +303,7 @@ export function tableEventList(obj, btnObj, row, opType = 'only') {
                 if (obj.$listeners && !obj.$listeners.onListEvent) {
                     console.error('未定义emit方法:onListEvent, ' + type)
                 }
-                obj.$emit('onListEvent', type, row);//自定义事件
+                obj.$emit('onListEvent', type, row, btnObj);//自定义事件
             }
     }
 }
@@ -995,7 +995,7 @@ export function unitInitDataTableList(obj) {
     obj.loading = true;
     obj.tableData = [];
     let item = obj.queryURL['list'],
-        queryData =!obj.queryParam || isTypeof(obj.queryParam) === 'function'
+        queryData = !obj.queryParam || isTypeof(obj.queryParam) === 'function'
             ? emitOnReqParams(obj, 'list')
             : getQueryParams(obj, true),
         // table中插入一条记录
@@ -1142,7 +1142,10 @@ export async function reloadItemSelectList(obj, type, field) {
         }
 
         post = item.params;
-
+        // 存在扩展参数函数
+        if (item.extParamsFunc && isTypeof(item.extParamsFunc) == 'function') {
+            post = item.extParamsFunc(obj.rowData, post)
+        }
         let tmpAxios = Object.assign({}, obj.axios, item.axios);
         await selectListRequest(selectlist, item, field, mergeRequestParams(post, obj._publicParams), tmpAxios, obj.options);
     }

+ 3 - 0
readme.md

@@ -8,6 +8,8 @@
   5.DxTableList.responseSuccess 默认值与后端适配
   6.DxTableList.page_status 默认值改为13
   7.DxTableList.queryParam为假时,执行@onReqParams
+  8.page_column[*].show.hidden 是隐藏列
+  9.page_column[*].show.desc 字段描述
 
 1.02
   增加功能:
@@ -135,6 +137,7 @@ queryURL是一个自定义请求参数,以key-val方式传递,key代表是
 | ou | 根据mode主键显示文本框 | int | — | - |
 | obj | 动态获取对应的值 | array | — | - |
 | isDisabled | 是否在修改时,可编辑该文本框 | boolean | — | false |
+| hidden | 是隐藏列 | boolean | — | false |
 | remote | 动态搜索远程服务器功能 | boolean | — | false |
 | findKey | 搜索的字段 | string | — | - |
 | paramKey | 参数内参数 | string | — | - |

+ 1 - 1
style/index.scss

@@ -1,5 +1,5 @@
 // DxTableList 
-.container-table-list {
+.container-table-list.dx {
 
     /* #region 首列复选框 */
     .el-table th>.cell {