Bläddra i källkod

feat: 新增表格自定义新增按钮编码必须为addPlus才能被识别

johnsen 10 månader sedan
förälder
incheckning
bdfb63dab7

+ 126 - 69
src/business/platform/data/data-template/template.vue

@@ -41,63 +41,81 @@
         </van-cell>
       </van-cell-group>
       <!--多选 -->
-      <van-list
-        v-model="loading"
-        :finished="finished"
-        finished-text="没有更多了"
-        @load="loadData"
-      >
-        <van-checkbox-group
-          ref="checkboxGroup"
-          v-model="checkbox"
-          :max="multiple ? 0 : 1"
+      <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
+        <van-list
+          v-model="loading"
+          :finished="finished"
+          @load="loadData"
         >
-          <van-cell-group>
-            <van-cell
-              v-for="(data, index) in dataList"
-              :key="data[valueKey] + index"
-              clickable
-              @click="toggle(data, index)"
-            >
-              <div slot="title">
-                <van-checkbox ref="checkboxes" :name="data[valueKey]">
-                  <!-- <field-formatter
-                    :label-key="labelKey"
-                    :data="data"
-                    :template-fields="templateFields"
-                  /> -->
-                  <div>
-                    <div
-                      v-for="(item, i) in data.showlabel"
-                      :key="i"
-                      style="display:flex"
-                    >
-                      <span>{{ item.label }}</span>
-                      <span v-if="item.label!=''">:</span>
-                      <field-formatter
-                        :label-key="item.bt"
-                        :data="data"
-                        :template-fields="templateFields"
-                        :field-options="item.fieldOptions"
-                        :field-type="item.fieldType"
-                        :tem ="tem"
-                      />
-                    </div>
-                  </div>
-                </van-checkbox>
-              </div>
-              <span
-                v-if="hasChild(data)"
-                slot="right-icon"
+          <van-checkbox-group
+            ref="checkboxGroup"
+            v-model="checkbox"
+            :max="multiple ? 0 : 1"
+          >
+            <van-cell-group>
+              <van-cell
+                v-for="(data, index) in dataList"
+                :key="data[valueKey] + index"
+                clickable
                 @click="toggle(data, index)"
               >
-                <span class="van-cell__right-icon" />
-                <van-icon name="arrow " class="van-cell__right-icon" />
-              </span>
-            </van-cell>
-          </van-cell-group>
-        </van-checkbox-group>
-      </van-list>
+                <div slot="title">
+                  <field-formatter
+                      v-if="labelField"
+                      class="titles"
+                      :label-key="labelKey"
+                      :data="data"
+                      :descField="labelField"
+                      :field-options="comFieldOptions(labelField['name'])"
+                      :field-type="comFieldType(labelField['name'])"
+                      :template-fields="templateFields"
+                    />
+                </div>
+                <div slot="label">
+                  <van-checkbox ref="checkboxes" :name="data[valueKey]">
+                    <!-- <field-formatter
+                      :label-key="labelKey"
+                      :data="data"
+                      :template-fields="templateFields"
+                    /> -->
+                    <div>
+                      <div
+                        v-for="(item, i) in data.showlabel"
+                        :key="i"
+                        style="display:flex"
+                      >
+                        <span>{{ item.label }}</span>
+                        <span v-if="item.label!=''">:</span>
+                        <field-formatter
+                          :label-key="item.bt"
+                          :data="data"
+                          :template-fields="templateFields"
+                          :field-options="item.fieldOptions"
+                          :field-type="item.fieldType"
+                          :tem ="tem"
+                        />
+                      </div>
+                    </div>
+                  </van-checkbox>
+                </div>
+                <span
+                  v-if="hasChild(data)"
+                  slot="right-icon"
+                  @click="toggle(data, index)"
+                >
+                  <span class="van-cell__right-icon" />
+                  <van-icon name="arrow " class="van-cell__right-icon" />
+                </span>
+              </van-cell>
+            </van-cell-group>
+          </van-checkbox-group>
+        </van-list>
+        <ibps-list-result-page
+          v-if="dataList.length === 0 && !loading"
+          result-type="empty"
+        />
+      </van-pull-refresh>
+      
     </van-popup>
 
     <!--点击明细-查看选中的 -->
@@ -157,6 +175,7 @@
 import { queryDataByKey, queryDataById } from '@/api/platform/data/dataTemplate'
 import { remoteRequest } from '@/utils/remote'
 import TreeUtils from '@/utils/tree'
+import IbpsListResultPage from '@/components/ibps-list-result-page'
 import ActionUtils from '@/utils/action'
 import { buildLabelTitle } from '../templaterender/utils/index'
 import i18n from '@/utils/i18n' // Internationalization 国际化
@@ -166,13 +185,15 @@ import IbpsPickerToolbar from '@/components/ibps-picker-toolbar'
 export default {
   components: {
     IbpsPickerToolbar,
-    FieldFormatter
+    FieldFormatter,
+    IbpsListResultPage
   },
   props: {
     visible: Boolean,
     templateKey: String,
     templateFields: Object,
     params: Object,
+    labelField: Object,
     values: Array,
     multiple: Boolean,
     leftText: String,
@@ -180,6 +201,7 @@ export default {
     isTree: Boolean,
     datat: Object,
     fieldType: String,
+    defaultFilterListCol: [Array, undefined],
     idKey: {
       // 唯一键
       type: String,
@@ -214,8 +236,8 @@ export default {
       dataList: [], // 数据
       cacheData: {}, // 缓存数据
       template: {},
-      displayColumns: [],
-
+      // displayColumns: [],
+      refreshing: false,
       checkedValue: [],
       dataTem: {},
       showDialogPopup: false,
@@ -230,6 +252,18 @@ export default {
     }
   },
   computed: {
+    comFieldOptions() {
+      return function(fieldLabel) {
+        const fieldOptions = this.templateFields[fieldLabel] && this.templateFields[fieldLabel].field_options
+        return this.$utils.isNotEmpty(fieldOptions) ? fieldOptions : {}
+      }
+    },
+    comFieldType() {
+      return function(fieldLabel) {
+        const fieldType = this.templateFields[fieldLabel] && this.templateFields[fieldLabel].field_type
+        return this.$utils.isNotEmpty(fieldType) ? fieldType : ''
+      }
+    },
     title() {
       if (this.multiple) {
         const length = this.checkbox.length
@@ -256,6 +290,10 @@ export default {
       return this.checkbox.map(d => {
         return this.cacheData[d] || {}
       })
+    },
+    displayColumns() {
+      const columns = this.tem.display_columns || []
+      return columns.filter(t => t.isAppShow !== 'N' && t.isTitle !== 'Y')
     }
   },
   watch: {
@@ -305,6 +343,12 @@ export default {
     // })
   },
   methods: {
+    onRefresh() {
+      this.refreshing = true
+      this.finished = false
+      this.loading = true
+      this.onSearch()
+    },
     initData() {
       const data = this.values
       this.checkedValue = []
@@ -327,6 +371,7 @@ export default {
     },
     handleLabel(data) {
       const config = this.labelKeys
+      console.log('this.labelKeys====>', config(data))
       if (typeof config === 'function') {
         return config(data)
       } else if (typeof config === 'string') {
@@ -383,6 +428,7 @@ export default {
     },
 
     loadData(p, isInit) {
+      console.log('触底加载')
       if (isInit) {
         this.pathData = []
       }
@@ -419,29 +465,26 @@ export default {
             })
           } else {
             const dl = dataResult
-            dl.map(d => {
+            this.refreshing = false
+            dl.forEach(d => {
               this.cacheData[d[this.valueKey]] = d
               // const objName = Object.keys(d)
-              const fb = { ...d }
-              fb.showlabel = {}
+              const fb = { ...d, showlabel: {} }
               if (typeof this.tem.display_columns !== 'undefined') {
                 const keyName = this.dataList.findIndex(t => t.id_ == d.id_)
                 if (typeof keyName !== -1) {
-                  this.tem.display_columns.forEach((it, i) => {
-                    let b = {}
-
-                    b = {
+                  this.displayColumns.forEach((it, i) => {
+                    let b = {
                       label: it.label,
                       bt: it.name,
-                      val: {},
+                      val: {
+                        [it.name]: d[it.name]
+                      },
                       fieldType: it.field_type,
                       fieldOptions: it.field_options
                     }
-                    b.val[it.name] = d[it.name]
                     fb.showlabel[it.name] = b
                   })
-                  this.dataList.push(fb)
-                } else {
                 }
               } else {
                 let b = {}
@@ -458,8 +501,8 @@ export default {
                 }
                 b.val = d[key]
                 fb.showlabel = [b]
-                this.dataList.push(fb)
               }
+              this.dataList.push(fb)
             })
           }
           this.page++
@@ -607,3 +650,17 @@ export default {
   }
 }
 </script>
+<style lang="scss" scoped>
+.titles {
+    font-weight: 600;
+    font-size: 16px;
+    display: block;
+  }
+ ::v-deep .van-checkbox {
+  flex-direction: row-reverse;
+  justify-content: space-between;
+  .van-checkbox__label {
+    margin: 0;
+  }
+ }
+</style>

+ 1 - 2
src/business/platform/data/form/action.js

@@ -1,8 +1,6 @@
 
 import { saveFormData } from '@/api/platform/data/dataTemplate'
 import { startFlowFromEdit } from '@/api/platform/bpmn/bpmInst'
-// import Print from '@/utils/print'
-
 export default {
   methods: {
     emitEventHandler(actionKey, args) {
@@ -109,6 +107,7 @@ export default {
     saveData() {
       // 表单数据
       const formData = this.getFormData()
+      console.log('formDataformDataformData===>', formData)
       const jsonData = {
         boCode: this.boCode,
         version: this.version,

+ 16 - 5
src/business/platform/data/templaterender/custom-dialog/index.vue

@@ -83,8 +83,11 @@
         :visible="showPopup"
         :template-key="templateKey"
         :params="params"
+        :labelField="labelField"
         :values="selectedValue"
         :multiple="multiple"
+        :searchPlaceholder="searchPlaceholder"
+        :defaultFilterListCol="defaultFilterListCol"
         :left-text="leftText"
         :id-key="idKey"
         :value-key="valueKey"
@@ -172,14 +175,17 @@ export default {
       valueKey: 'id_',
       labelKey: '',
       parentIdKey: '',
+      searchPlaceholder: '',
       isTree: false,
+      labelField: null,
       queryKey: '',
       params: {},
       templateFields: {}, // 模版字段
       showPopup: false, // 弹窗
       selectedData: [], // 选中的数据,这个值是用于展示的
       selectedValue: [], // 选中的值 是valueKey的值
-      tem: {}
+      tem: {},
+      defaultFilterListCol: ['di_dian_']
     }
   },
   computed: {
@@ -242,7 +248,7 @@ export default {
     buildKey(dataTemplate, template) {
       
       this.idKey = this.valueKey = dataTemplate['unique']
-      this.queryKey = this.getQueryKey(template['query_columns'])
+      // this.queryKey = this.getQueryKey(template['query_columns'])
       if (dataTemplate.showType === 'tree') {
         // 树形
         this.isTree = true
@@ -254,10 +260,15 @@ export default {
         }
       } else if (dataTemplate.showType === 'list') {
         this.isTree = false
-        const displayColumns = template['result_columns']
+        const displayColumns = template['display_columns']
         if (this.$utils.isNotEmpty(displayColumns)) {
-          this.labelKey =
-            (displayColumns[0] ? displayColumns[0]['name'] : '') || ''
+          const titleCol = displayColumns.find(t => t.isTitle === 'Y' && !this.defaultFilterListCol.includes(t.name))
+          // 列表标题无设置则默认第一列
+          const labelField = titleCol || displayColumns[0]
+          this.labelField = labelField
+          this.labelKey = labelField ? labelField.name : ''
+          this.queryKey = labelField ? labelField.name : ''
+          this.searchPlaceholder = labelField ? '请输入' + labelField.label + '查询' : ''
         }
       }
     },

+ 2 - 2
src/business/platform/form/dynamic-form/form-field.vue

@@ -9,12 +9,12 @@
     :label="label"
     :placeholder="placeholder"
     :input-align="inputAlign"
-    :type="fieldType == 'text' && readonly == true ? 'textarea' : fieldType"
+    :type="fieldType"
     :required="required"
     :readonly="readonly"
     :rules="rules"
     :autosize="autosize"
-    :rows="fieldOptions.rows || 2"
+    :rows="fieldType === 'textarea' && (fieldOptions.rows || 2)"
     :desc="field.desc"
     autocomplete="off"
     border

+ 10 - 14
src/business/platform/form/dynamic-form/form-table.vue

@@ -224,10 +224,8 @@
           v-model="dialogData[column.name]"
           :field="column"
           :data="dialogFormData"
-
           :rights="rights[column.name]"
           :params="params"
-
           @cinput="handleDialogInput($event)"
         />
       </div>
@@ -294,16 +292,6 @@ export default {
     descPosition: String
   },
   data() {
-    // const activeCollapseNames = []
-    // let val = []
-    // if (this.$utils.isNotEmpty(this.value)) {
-    //   console.log('this.value==>', JSON.parse(JSON.stringify(this.value)))
-    //   val = this.value || []
-    //   this.value.forEach((e, i) => {
-    //     activeCollapseNames.push(COLLAPSE_NAME_KEY + i)
-    //   })
-    // }
-
     return {
       activeCollapseNames: [],
       collapseNameKey: COLLAPSE_NAME_KEY,
@@ -438,6 +426,9 @@ export default {
       immediate: true,
       handler(val, oldVal) {
         this.dataModel = val
+        val.forEach && val.forEach((t, i) => {
+          this.activeCollapseNames.push(COLLAPSE_NAME_KEY + i)
+        })
         this.inputValue = this.$utils.isNotEmpty(val) ? JSON.stringify(val) : ''
       }
     },
@@ -939,7 +930,7 @@ export default {
   }
 }
 </script>
-<style lang="scss">
+<style lang="scss" scoped>
   .ibps-table-wrapper{
     // padding: 10px 0;
     // background-color: #f2efef;
@@ -981,7 +972,12 @@ export default {
       color: #1989fa;
       cursor: pointer;
     }
-
+    // ::v-deep .van-field__control {
+    //   min-height: 36px;
+    // }
+    ::v-deep .van-field {
+      padding: 10px 0;
+    }
     // .van-collapse-item__title {
     //   padding:0 ;
     //   background-color: #f8f8f8;

+ 45 - 9
src/business/platform/form/dynamic-form/form.vue

@@ -100,7 +100,8 @@ export default {
       border: false,
       init: false,
       tabs: 'tabs_0',
-      steps: 'steps_0'
+      steps: 'steps_0',
+      generlateParams: false
     }
   },
   computed: {
@@ -111,14 +112,18 @@ export default {
       return !!(this.formAttrs && this.formAttrs.colon)
     },
     labelWidth() {
-      if (
-        this.$utils.isNotEmpty(this.formAttrs.labelWidth) &&
-        this.$utils.isNotEmpty(this.formAttrs.labelWidthUnit)
-      ) {
-        return this.formAttrs.labelWidth + this.formAttrs.labelWidthUnit
+      // console.log('this.formAttrs===>', this.formAttrs)
+      if (this.formAttrs.same) {
+        if (this.$utils.isNotEmpty(this.formAttrs.labelWidth) &&this.$utils.isNotEmpty(this.formAttrs.labelWidthUnit)) {
+          return this.formAttrs.labelWidth + this.formAttrs.labelWidthUnit
+        }
       } else {
-        return '100px'
+        // 优先移动端配置
+        if (this.$utils.isNotEmpty(this.formAttrs.mobileLabelWidth) && this.$utils.isNotEmpty(this.formAttrs.mobileLabelWidthUnit)) {
+          return this.formAttrs.mobileLabelWidth + this.formAttrs.mobileLabelWidthUnit
+        }
       }
+      return '100px'
     },
     labelPosition() {
       return this.$utils.isNotEmpty(this.formAttrs.mobileLabelPosition)
@@ -170,8 +175,10 @@ export default {
   },
   watch: {
     formDef: {
-      handler(val) {
-        this.initResponseFields()
+      async handler(val) {
+        this.generlateParams = false
+        await this.initResponseFields()
+        this.generlateParams = true
       },
       deep: true,
       immediate: true
@@ -242,6 +249,7 @@ export default {
             })
           }
         } else if (fieldType === 'table') {
+          console.log('this.value --->', this.value, fieldOptions, fieldName)
           // 子表单
           const data = this.value ? this.value[fieldName] : []
           if (fieldOptions.mode === 'block') {
@@ -349,6 +357,32 @@ export default {
      *  初始化表单权限
      */
     initFormRights(field) {
+      /**
+       * {
+            "mjsbwhbyjlzby": {
+              "buttons": {
+                "add": "s",
+                "remove": "s"
+              },
+              "columns": {
+                "bianZhiShiJian": "h",
+                "shiFouKaiJi": "e",
+                "guanJiShiJian": "e",
+                "parentId": "h",
+                "weiHuZhuangTai": "e",
+                "qianMing": "e",
+                "bianZhiRen": "h",
+                "id": "h",
+                "weiHuXiangMu": "e",
+                "kaiJiShiJian": "e",
+                "bianZhiBuMen": "h",
+                "weiHuRiQi": "e",
+                "yiQiQingLi": "r"
+              },
+              "rights": "e"
+            }
+          }
+       */
       this.rights[field.name] =
         this.getPermissions(this.permissions, field) ||
         FormUtils.getDefaultRigths(field)
@@ -375,6 +409,7 @@ export default {
           : null
       } else if (fieldType === 'table' && permissions.tables) {
         // 子表
+        console.log(' permissions.tables===>',  permissions.tables)
         isSpecial = true
         rightsValue = permissions.tables[name] ? permissions.tables[name] : null
       } else {
@@ -396,6 +431,7 @@ export default {
     },
     // 初始化需要进行公式计算的字段
     initResponseFormula(item) {
+      // console.log('this.responseFormula--->',item, this.responseFormula)
       FormUtils.setResponseFormula(this.responseFormula, item, this.code)
     },
     // 初始化运行公式计算

+ 4 - 3
src/business/platform/form/formrender/formrender.vue

@@ -260,6 +260,7 @@ export default {
             if (i >= this.btnNum) {
               this.closeMoreAction()
             }
+            
             // 前置事件
             this.beforeScript(btn.getAlias(), result => {
               if (result) {
@@ -270,6 +271,7 @@ export default {
         }
         actions.push(button)
       })
+      // console.log('actions--->', actions[0].callback)
       return actions
     },
     closeMoreAction() {
@@ -292,6 +294,7 @@ export default {
       }
     },
     handleActionEvent(actionKey, args = {}) {
+      // console.log('actionKeyactionKeyactionKeyactionKeyactionKeyactionKeyactionKeyactionKeyactionKeyactionKeyactionKeyactionKey')
       this.$emit('action-event', actionKey, args)
     },
     disabledStepButton(key) {
@@ -436,9 +439,7 @@ export default {
      * 设置字段数据
      */
     setData(name, value) {
-      setTimeout(() => {
-        return this.getForm().setFieldData(name, value)
-      }, 200);
+      this.getForm().setFieldData(name, value)
     },
     /**
      * 设置表单权限

+ 3 - 0
src/utils/joinCURD.js

@@ -38,6 +38,9 @@ const replaceNullWithEmpty = obj => {
 
 // // 处理数据
 const dealData = (args, type) => {
+  if (type === 'query') {
+    return JSON.stringify(args)
+  }
   // sql方法特殊处理
   if (type === 'sql') {
     args = {

+ 5 - 1
src/utils/requestType.js

@@ -4,5 +4,9 @@ export const normal = {
     sql: 'general',
     delete: 'batchDelete',
     add: 'addDataContextTable',
-    update: 'updatesBatchContextTable'
+    // 批量更新:不同结果
+    update: 'updatesBatchContextTable',
+    // 批量更新:统一结果
+    updates: 'updateDatasContextTable',
+    query: 'queryData'
 }

+ 0 - 0
src/views/platform/bpmn/test/index.vue


+ 65 - 46
src/views/platform/data/template-list.vue

@@ -196,8 +196,6 @@
       </van-list>
       <ibps-list-result-page
         :result-type="resultType"
-        :error-type="errorType"
-        :result-message="resultMessage"
       />
     </van-pull-refresh>
     <!--添加按钮-->
@@ -272,10 +270,10 @@
 
     <data-template-formrender-dialog
       ref="formrender"
-      :visible="formrenderVisible"
+      :visible="dialogFormVisible"
       :params="formrenderParams"
       @callback="onRefreshCallback"
-      @close="visible => (formrenderVisible = visible)"
+      @close="visible => (dialogFormVisible = visible)"
     />
   </div>
 </template>
@@ -388,7 +386,7 @@ export default {
       isInitialization: false,
       columnsAttrs:[],
       // 表单
-      formrenderVisible: false,
+      dialogFormVisible: false,
       formrenderParams: {},
       defaultFilterListCol: ['di_dian_']
     }
@@ -439,8 +437,10 @@ export default {
     addButton() {
       for (let i = 0; i < this.defaultToolbars.length; i++) {
         const button = this.defaultToolbars[i]
-        // console.log('button===>', button)
-        if (button.button_type === 'add') {
+        console.log('button===>', button)
+        // 判断自定义表示addPlus为添加按钮
+        const isAddPlus = button.button_type === 'custom' && button.code === 'addPlus'
+        if (button.button_type === 'add' || isAddPlus) {
           return button
         }
       }
@@ -761,7 +761,7 @@ export default {
       }
       // 默认添加本部门和状态待处理
       params['Q^bian_zhi_bu_men_^SL'] = this.ownsDeptInfo.id
-      params['Q^shi_fou_guo_shen_^SL'] = '待处理'
+      // params['Q^shi_fou_guo_shen_^SL'] = '待处理'
       // 加载数据
       queryDataByKey(ActionUtils.formatParams(params, this.pagination))
         .then(response => {
@@ -865,41 +865,41 @@ export default {
       }
     },
     handleAction(button, data) {
-      const buttonType = button.button_type || button.key
+      const buttonType = (button.button_type || button.key)
       const position = button.position
       const selection = this.getSelection(position, data)
       // 前置事件
-      // this.beforeScript(command, position, selection, data, () => {
-      this.readonly = false
-      switch (buttonType) {
-        case 'add': // 添加
-          this.handleEdit('', button)
-          break
-        case 'edit': // 编辑
-        case 'detail': // 明细
-          ActionUtils.selectedRecord(selection)
-            .then(id => {
-              this.handleEdit(id, button)
-            })
-            .catch(() => {})
-          break
-        case 'remove': // 删除
-          ActionUtils.removeRecord(selection)
-            .then(ids => {
-              this.handleRemove(ids, button)
-            })
-            .catch(() => {})
+      this.beforeScript(buttonType === 'custom' ? button.code : buttonType, position, selection, data, () => {
+        this.readonly = false
+        switch (buttonType) {
+          case 'add': // 添加
+            this.handleEdit('', button)
+            break
+          case 'edit': // 编辑
+          case 'detail': // 明细
+            ActionUtils.selectedRecord(selection)
+              .then(id => {
+                this.handleEdit(id, button)
+              })
+              .catch(() => {})
+            break
+          case 'remove': // 删除
+            ActionUtils.removeRecord(selection)
+              .then(ids => {
+                this.handleRemove(ids, button)
+              })
+              .catch(() => {})
 
-          break
-        case 'sefStartFlow': // 启动自定义流程
-          break
-        case 'custom': // 自定义按钮
-          break
-
-        default:
-          break
-      }
-      // })
+            break
+          case 'sefStartFlow': // 启动自定义流程
+            break
+          case 'custom': // 自定义按钮
+          // this.gotoForm({})
+            break
+          default:
+            break
+        }
+      })
     },
     getSelection(position, data) {
       const selection = []
@@ -912,6 +912,24 @@ export default {
       }
       return selection
     },
+    // 前置脚本
+    beforeScript (action, position, selection, data, callback) {
+        if (!this.hasScript) {
+            const flag = true
+            callback(flag)
+            return
+        }
+        JTemplate._beforeSubmit(this, action, position, selection, data, callback)
+    },
+    // 后置脚本
+    afterScript (action, position, selection, data, callback) {
+        if (!this.hasScript) {
+            const flag = true
+            callback(flag)
+            return
+        }
+        JTemplate._afterSubmit(this, action, position, selection, data, callback)
+    },
     handleEdit(pkValue, button) {
       if (this.$utils.isEmpty(this.formKey)) {
         ActionUtils.warning('请绑定表单')
@@ -930,7 +948,9 @@ export default {
         readonly: buttonType === 'detail'
       })
     },
-    gotoForm({ pkValue = '', readonly = true }) {
+    async gotoForm({ pkValue = '', readonly = true }) {
+      await this.$nextTick()
+      console.log(333333)
       this.formrenderParams = {
         templateKey: this.templateKey,
         formKey: this.formKey,
@@ -938,7 +958,7 @@ export default {
         toolbars: !readonly ? this.editButtons : [],
         readonly: readonly
       }
-      this.formrenderVisible = true
+      this.dialogFormVisible = true
     },
     handleRemove(ids) {
       this.removeRecord(ids, r => {
@@ -978,7 +998,6 @@ export default {
      */
     initToolbarAction() {
       const functionButtons = this.functionButtons || []
-
       const toolbars = []
       const manages = []
       // 功能按钮
@@ -1463,10 +1482,10 @@ export default {
 </script>
 <style lang="scss">
 .data-template-list {
-.delayShow {
-  display: flex;
-  align-items: center;
-}
+  .delayShow {
+    display: flex;
+    align-items: center;
+  }
   .options-null {
     bottom: -9px !important;
   }