Ver Fonte

fix: 子表单查询

linweizeng há 3 anos atrás
pai
commit
74e2c0ae2b

+ 7 - 0
src/business/platform/form/constants/tableButtonTypes.js

@@ -20,6 +20,13 @@ const buttonTypes = {
     position: 'edit',
     position: 'edit',
     scope: ['manage']
     scope: ['manage']
   },
   },
+  'consult': {
+    label: '查阅',
+    style: 'primary',
+    icon: 'edit',
+    position: 'consult',
+    scope: ['manage']
+  },
   'import': {
   'import': {
     label: '导入',
     label: '导入',
     style: 'primary',
     style: 'primary',

+ 5 - 0
src/business/platform/form/formrender/dynamic-form/dynamic-form-table.vue

@@ -13,6 +13,7 @@
             :form-def="dialogFormDef"
             :form-def="dialogFormDef"
             :data="dialogFormData"
             :data="dialogFormData"
             :mode="mode"
             :mode="mode"
+            :editFromType="editFromType"
             @close="deleteEdit()"
             @close="deleteEdit()"
             @action-event="handleFormDialogActionEvent"
             @action-event="handleFormDialogActionEvent"
           />
           />
@@ -630,6 +631,10 @@ export default {
           case 'edit':
           case 'edit':
             this.handleDialogMode(index)
             this.handleDialogMode(index)
             break
             break
+          case 'consult':
+            // 查询按钮事件
+            this.handleDialogMode(index)
+            break
           case 'remove':
           case 'remove':
             this.handleRemove(button, index)
             this.handleRemove(button, index)
             break
             break

+ 15 - 3
src/business/platform/form/formrender/editForm.vue

@@ -4,8 +4,9 @@
     class="form-renderer-dialog"
     class="form-renderer-dialog"
     style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);background-color: #FFFFFF; margin-left: 20px;margin-right: 20px;"
     style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);background-color: #FFFFFF; margin-left: 20px;margin-right: 20px;"
   >
   >
-  <el-divider  v-if="JSON.stringify(formData.responses)=='{}'" content-position="left">添加记录</el-divider>
-  <el-divider  v-else content-position="left">编辑记录</el-divider>
+    <el-divider  v-if="editFromType == 'add'" content-position="left">添加记录</el-divider>
+    <el-divider  v-else-if="editFromType == 'edit'" content-position="left">编辑记录</el-divider>
+    <el-divider  v-else-if="editFromType == 'consult'" content-position="left">查阅记录</el-divider>
     <ibps-formrender
     <ibps-formrender
       v-if="formDef"
       v-if="formDef"
       ref="formrender"
       ref="formrender"
@@ -33,8 +34,9 @@
         <span class="ibps-pr-10">&nbsp;</span>
         <span class="ibps-pr-10">&nbsp;</span>
       </template>
       </template>
 
 
+      <!--      查阅按钮用toolbarsConsult-->
       <ibps-toolbar
       <ibps-toolbar
-        :actions="toolbars"
+        :actions="editFromType != 'consult' ? toolbars : toolbarsConsult"
         @action-event="handleActionEvent"
         @action-event="handleActionEvent"
       />
       />
     </div>
     </div>
@@ -58,6 +60,10 @@ export default {
     },
     },
     mode: { // 表单模式
     mode: { // 表单模式
       type: String
       type: String
+    },
+    editFromType: {
+      type: String,
+      default: 'add'
     }
     }
   },
   },
   data() {
   data() {
@@ -69,6 +75,10 @@ export default {
         { key: 'confirm', label: '确定' },
         { key: 'confirm', label: '确定' },
         { key: 'cancel' }
         { key: 'cancel' }
       ],
       ],
+      // 查阅按钮
+      toolbarsConsult: [
+        { key: 'cancel' }
+      ],
       stepButtons: [],
       stepButtons: [],
       curActiveStep: 0,
       curActiveStep: 0,
       stepNum: 3,
       stepNum: 3,
@@ -107,6 +117,8 @@ export default {
               return this.$message.warning(errorMsg)
               return this.$message.warning(errorMsg)
             }
             }
             this.$emit('action-event', key, this.getFormData())
             this.$emit('action-event', key, this.getFormData())
+            // 表单提交校验成功
+            this.closeDialog()
           })
           })
         } else {
         } else {
           this.formErrorToast()
           this.formErrorToast()