cloud-web-corejs 1.0.54-dev.721 → 1.0.54-dev.722

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.721",
4
+ "version": "1.0.54-dev.722",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -293,7 +293,7 @@ export default {
293
293
  height: calc(100vh - 110px);
294
294
 
295
295
  &.nfootBtn {
296
- height: calc(100vh - 58px)
296
+ height: calc(100vh - #{$xform-dialog-body-offset})
297
297
  }
298
298
  }
299
299
  }
@@ -233,7 +233,7 @@ export default {
233
233
  height: calc(100vh - 110px);
234
234
 
235
235
  &.nfootBtn {
236
- height: calc(100vh - 58px);
236
+ height: calc(100vh - #{$xform-dialog-body-offset});
237
237
  }
238
238
  }
239
239
  }
@@ -203,7 +203,7 @@ export default {
203
203
  height: calc(100vh - 110px);
204
204
 
205
205
  &.nfootBtn {
206
- height: calc(100vh - 58px)
206
+ height: calc(100vh - #{$xform-dialog-body-offset})
207
207
  }
208
208
  }
209
209
  }
@@ -5,7 +5,7 @@
5
5
  <el-button ref="fieldEditor" :type="field.options.type" :size="field.options.size" class="button-sty"
6
6
  :plain="field.options.plain" :round="field.options.round"
7
7
  :circle="field.options.circle" :icon="field.options.icon"
8
- :disabled="!designState &&field.options.disabled"
8
+ :disabled="!designState &&field.options.disabled" style="margin-right:12px"
9
9
  @click.native="handleButtonWidgetClick">
10
10
  {{ getI18nLabel(field.options.label)}}</el-button>
11
11
  </static-content-wrapper>
@@ -15,6 +15,7 @@
15
15
  class="button-sty"
16
16
  @click="clickHandle"
17
17
  icon="el-icon-download"
18
+ plain
18
19
  :disabled="!designState && field.options.disabled"
19
20
  >
20
21
  {{ getI18nLabel(field.options.label) }}
@@ -4,7 +4,7 @@
4
4
  :display-style="field.options.displayStyle"
5
5
  :parent-widget="parentWidget" :parent-list="parentList"
6
6
  :index-of-parent-list="indexOfParentList">
7
- <el-button :type="field.options.type" class="button-sty" size="mini" icon="el-icon-download" @click="importHandle"
7
+ <el-button :type="field.options.type" class="button-sty" size="mini" icon="el-icon-download" plain @click="importHandle"
8
8
  :disabled="field.options.disabled">{{ getI18nLabel(field.options.label)}}
9
9
  </el-button>
10
10
  </static-content-wrapper>
@@ -4,7 +4,7 @@
4
4
  :display-style="field.options.displayStyle"
5
5
  :parent-widget="parentWidget" :parent-list="parentList"
6
6
  :index-of-parent-list="indexOfParentList">
7
- <el-button :type="field.options.type" class="button-sty" size="mini" icon="el-icon-download" @click="importHandle"
7
+ <el-button :type="field.options.type" class="button-sty" size="mini" icon="el-icon-download" plain @click="importHandle"
8
8
  :disabled="field.options.disabled">{{ getI18nLabel(field.options.label)}}
9
9
  </el-button>
10
10
  </static-content-wrapper>
@@ -9,7 +9,7 @@
9
9
  :index-of-parent-list="indexOfParentList"
10
10
  >
11
11
  <el-dropdown trigger="hover" :disabled="field.options.disabled">
12
- <el-button type="primary" class="button-sty" size="mini">
12
+ <el-button type="primary" class="button-sty" size="mini" plain>
13
13
  <span>{{ getI18nLabel("列表导出") }}</span
14
14
  ><span class="line"></span> <i class="el-icon-arrow-down el-icon--right"></i>
15
15
  </el-button>
@@ -5,7 +5,7 @@
5
5
  :parent-widget="parentWidget" :parent-list="parentList"
6
6
  :index-of-parent-list="indexOfParentList">
7
7
  <el-dropdown trigger="hover">
8
- <el-button type="primary" class="button-sty" size="mini">
8
+ <el-button type="primary" class="button-sty" size="mini" plain>
9
9
  <span>{{ getI18nLabel('列表导出') }}</span><span class="line"></span> <i
10
10
  class="el-icon-arrow-down el-icon--right"></i>
11
11
  </el-button>
@@ -11,7 +11,7 @@
11
11
  :sub-form-col-index="subFormColIndex"
12
12
  :sub-form-row-id="subFormRowId"
13
13
  >
14
- <span class="button-sty" v-if="designState">
14
+ <span class="button-sty nobg" v-if="designState">
15
15
  <el-button type="success" class="btn-connect" icon="iconfont icon-zancun" plain
16
16
  >暂存</el-button
17
17
  >
@@ -98,8 +98,13 @@ export default {
98
98
  }
99
99
 
100
100
  .form-widget-list {
101
- min-height: calc(100vh - 98px);
101
+ min-height: calc(100vh - #{$xform-designer-body-offset});
102
102
  padding: 3px;
103
+ @if $xform-designer-detail-offset != null {
104
+ ::v-deep .detail-wrap .d-cont {
105
+ height: calc(100vh - #{$xform-designer-detail-offset}) !important;
106
+ }
107
+ }
103
108
  }
104
109
  }
105
110
 
@@ -44,7 +44,7 @@
44
44
  </toolbar-panel>
45
45
  </el-header>
46
46
  <el-main class="form-widget-main">
47
- <el-scrollbar class="container-scroll-bar" style="height:calc(100vh - 125px)">
47
+ <el-scrollbar class="container-scroll-bar xform-designer-scroll">
48
48
  <v-form-widget :designer="designer" :form-config="designer.formConfig" ref="formRef"></v-form-widget>
49
49
  </el-scrollbar>
50
50
  </el-main>
@@ -87,6 +87,10 @@ export default {
87
87
  font-family: inherit !important;
88
88
  }
89
89
 
90
+ .xform-designer-scroll {
91
+ height: calc(100vh - #{$xform-designer-scroll-offset});
92
+ }
93
+
90
94
  .el-container.main-container {
91
95
  background: #fff;
92
96
 
@@ -89,8 +89,7 @@ export default {
89
89
  }
90
90
  }
91
91
  </script>
92
- <style>
93
- <style>
92
+ <style lang="scss">
94
93
  .designer-drawer1{
95
94
  left: 150px;
96
95
  right: 10px;
@@ -119,7 +118,7 @@ export default {
119
118
  }
120
119
 
121
120
  .grid-height {
122
- height: calc(100vh - 84px) !important
121
+ height: calc(100vh - #{$xform-column-grid-offset}) !important
123
122
  }
124
123
  }
125
124
  </style>
@@ -4060,7 +4060,7 @@ export const businessFields = [
4060
4060
  formItemFlag: !1,
4061
4061
  options: {
4062
4062
  name: "",
4063
- label: "保存并提交流程",
4063
+ label: "保存并提交",
4064
4064
  columnWidth: "200px",
4065
4065
  size: "",
4066
4066
  displayStyle: "block",
@@ -147,6 +147,8 @@ modules = {
147
147
  dynamicColumnsPreloaded: false,
148
148
  dynamicColumnsInitResolved: false,
149
149
  dynamicColumnsInitSkipped: false,
150
+ // 列/网格未就绪时 setValue 只缓存数据,置此标志延后行 schema 构建
151
+ pendingSchemaInit: false,
150
152
  };
151
153
  },
152
154
  watch: {
@@ -725,10 +727,34 @@ modules = {
725
727
  let $grid = this.getGridTable();
726
728
  this.fieldModel = rows;
727
729
 
730
+ // 方向1:列/网格尚未就绪时(如 created 阶段 setFormData 广播触发),
731
+ // 只缓存数据,跳过行 schema 构建,避免 initFieldSchemaData 因无列而进入
732
+ // $nextTick 自递归忙循环导致页面卡死;待 mounted 建好列后由
733
+ // flushPendingSchemaInit 统一补建一次。
734
+ if (!this.isTableSchemaReady()) {
735
+ this.pendingSchemaInit = true;
736
+ return;
737
+ }
738
+
728
739
  this.initRowIdData();
729
740
  this.initFieldSchemaData();
730
741
  // $grid.loadData(rows);
731
742
  },
743
+ /** @returns {Boolean} 网格列是否已就绪(可安全构建行级 schema)。 */
744
+ isTableSchemaReady() {
745
+ return this.getTableFullColumns().length > 0;
746
+ },
747
+ /** mounted 建好列后补建一次被延后的行 schema。 */
748
+ flushPendingSchemaInit() {
749
+ if (!this.pendingSchemaInit) return;
750
+ if (!this.isTableSchemaReady()) return;
751
+ this.pendingSchemaInit = false;
752
+ let rows = this.getValue();
753
+ if (Array.isArray(rows) && rows.length) {
754
+ this.initRowIdData();
755
+ this.initFieldSchemaData();
756
+ }
757
+ },
732
758
  /** @returns {Array} 表单模型中的当前扁平数据。 */
733
759
  getValue() {
734
760
  return this.formModel[this.fieldKeyName];
@@ -2587,6 +2613,8 @@ modules = {
2587
2613
  this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
2588
2614
  this.vxeOption = opts;
2589
2615
  this.applyCompareRowClassName();
2616
+ // 列已就绪,补建 created 阶段被延后的行 schema
2617
+ this.flushPendingSchemaInit();
2590
2618
  this.tryAutoLoadDynamicColumns().finally(() => {
2591
2619
  if (!isQueryTable) {
2592
2620
  setTimeout(() => {