cloud-web-corejs 1.0.265 → 1.0.267

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -101,6 +101,13 @@ let chartContainers = [],
101
101
  hideNormalTab: false,
102
102
  customListTabLabel: null,
103
103
  globalConfig: null,
104
+ // 表单级动态字段规则
105
+ dynamicFieldEnabled: false,
106
+ dynamicFieldSourceType: "local",
107
+ dynamicFieldRules: [],
108
+ dynamicFieldScriptCode: null,
109
+ dynamicFieldScriptParam: null,
110
+ dynamicFieldTriggerFields: [],
104
111
  },
105
112
  dataSources: [], //数据源
106
113
 
@@ -311,6 +311,13 @@
311
311
  </el-form-item>
312
312
  </el-collapse-item>
313
313
 
314
+ <el-collapse-item name="8" title="动态字段规则">
315
+ <form-dynamic-field-setting
316
+ :designer="designer"
317
+ :form-config="formConfig"
318
+ ></form-dynamic-field-setting>
319
+ </el-collapse-item>
320
+
314
321
  <el-collapse-item
315
322
  v-if="showEventCollapse()"
316
323
  name="7"
@@ -904,6 +911,7 @@ import formTemplateDialog from "../../../../views/bd/setting/form_template/dialo
904
911
  import wfObjConfigDialog from "./wfObjConfigDialog.vue";
905
912
  import bdCompanyEnvDialog from "@base/views/bd/setting/bd_company_env/dialog";
906
913
  import Draggable from "vuedraggable";
914
+ import formDynamicFieldSetting from "./form-dynamicField-setting.vue";
907
915
 
908
916
  export default {
909
917
  name: "form-setting",
@@ -913,6 +921,7 @@ export default {
913
921
  wfObjConfigDialog,
914
922
  bdCompanyEnvDialog,
915
923
  Draggable,
924
+ formDynamicFieldSetting,
916
925
  },
917
926
  props: {
918
927
  designer: Object,
@@ -103,6 +103,7 @@ const COMMON_PROPERTIES = {
103
103
  'detailPaneContainer': 'detail-pane-editor',
104
104
  'vabSearchField': 'vabSearchField-editor',
105
105
  'fullWidth': 'table-fullWidth-editor',
106
+ 'dynamicSchemaSourceType': 'table-dynamicField-editor',
106
107
  'dataTable': 'data-table-editor',
107
108
  'accessUrl': 'accessUrl-editor',
108
109
  'formulaEnabled': "formulaEnabled-editor",
@@ -31,6 +31,28 @@ export const containers = [
31
31
  customClass: "",
32
32
  styleTableClass: "",
33
33
  fullWidth: false,
34
+ // 动态字段来源:none=不加载,script=前端字段脚本,api=接口动态字段
35
+ dynamicSchemaSourceType: "none",
36
+ // 前端字段脚本:直接 return 字段定义数组或 { fields: [...] }
37
+ dynamicSchemaScript: null,
38
+ // 加载条件:return false 时不加载;不配置则默认加载
39
+ dynamicSchemaLoadScript: null,
40
+ // 后台脚本编码(支持 "formCode/scriptCode"),返回标准字段定义数组
41
+ dynamicSchemaScriptCode: null,
42
+ // 额外请求参数(JSON 字符串)
43
+ dynamicSchemaScriptParam: null,
44
+ // 转换脚本:将后台响应转成标准字段定义数组(可选,入参 res)
45
+ dynamicSchemaConvert: null,
46
+ // 自动布局每行列数
47
+ dynamicSchemaColumns: 4,
48
+ // 生成模式:append=追加到已配行之后,replace=替换全部行,anchor=按设计期占位行定位插入
49
+ dynamicSchemaMode: "append",
50
+ // anchor 模式:占位锚点行的 id(设计期某一行)
51
+ dynamicSchemaAnchorRowId: null,
52
+ // anchor 模式:插入位置 replace=替换占位行 / before=占位行之前 / after=占位行之后
53
+ dynamicSchemaAnchorPosition: "replace",
54
+ // anchor 模式:是否继承占位行的列布局(单元格数量/宽度/跨列),否则按 dynamicSchemaColumns 平铺
55
+ dynamicSchemaInheritLayout: false,
34
56
  ...defaultWfConfig,
35
57
  },
36
58
  },
@@ -6,7 +6,7 @@
6
6
  <table :ref="widget.id" class="table-layout table-d-box" :class="[customClass,widget.options.styleTableClass]"
7
7
  :style="tableStyle">
8
8
  <tbody>
9
- <tr v-for="(row, rowIdx) in widget.rows" :key="row.id">
9
+ <tr v-for="(row, rowIdx) in widget.rows" :key="row.id" v-show="isRowVisible(rowIdx)">
10
10
  <template v-for="(colWidget, colIdx) in row.cols">
11
11
  <table-cell-item v-if="!colWidget.merged" :widget="colWidget" :key="colIdx" :parent-list="widget.cols"
12
12
  :row-index="rowIdx" :col-index="colIdx" :parent-widget="widget" :tableParam="tableParam"
@@ -32,11 +32,12 @@ import refMixin from "../../../../components/xform/form-render/refMixin"
32
32
  import ContainerItemWrapper from './container-item-wrapper'
33
33
  import TableCellItem from './table-cell-item'
34
34
  import containerItemMixin from "./containerItemMixin";
35
+ import dynamicFieldMixin from "./dynamicFieldMixin";
35
36
 
36
37
  export default {
37
38
  name: "table-item",
38
39
  componentName: 'ContainerItem',
39
- mixins: [emitter, i18n, refMixin, containerItemMixin],
40
+ mixins: [emitter, i18n, refMixin, containerItemMixin, dynamicFieldMixin],
40
41
  components: {
41
42
  ContainerItemWrapper,
42
43
  TableCellItem,
@@ -113,6 +113,7 @@
113
113
  import "./container-item/index";
114
114
  import FieldComponents from "../../../components/xform/form-designer/form-widget/field-widget/index";
115
115
  import indexMixin from "../../../components/xform/form-render/indexMixin";
116
+ import formDynamicFieldMixin from "../../../components/xform/form-render/formDynamicFieldMixin";
116
117
 
117
118
  export default {
118
119
  name: "VFormRender",
@@ -135,7 +136,7 @@ export default {
135
136
  "../../../components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue"
136
137
  )
137
138
  },
138
- mixins: [indexMixin],
139
+ mixins: [indexMixin, formDynamicFieldMixin],
139
140
  };
140
141
  </script>
141
142