lw-cdp-ui 1.2.5 → 1.2.6

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.
@@ -73,10 +73,12 @@
73
73
  class="tool-list">
74
74
  <el-icon class="btn"
75
75
  size="14"
76
- @click="copyItem(item, index)"><el-icon-copy-document /></el-icon>
76
+ @click="copyItem(item, index)"
77
+ title="复制"><el-icon-copy-document /></el-icon>
77
78
  <el-icon class="btn"
78
79
  size="14"
79
- @click="deleteItem(index)"><el-icon-delete /></el-icon>
80
+ @click="deleteItem(index)"
81
+ title="删除"><el-icon-delete /></el-icon>
80
82
  </div>
81
83
 
82
84
  </el-col>
@@ -248,7 +250,8 @@ export default {
248
250
  z-index: 9;
249
251
  position: absolute;
250
252
  }
251
- :deep(.el-form-item--label-right),:deep(.el-form-item--label-left) {
253
+ :deep(.el-form-item--label-right),
254
+ :deep(.el-form-item--label-left) {
252
255
  .el-form-item__label {
253
256
  position: relative;
254
257
  .add-btn {
@@ -307,27 +307,22 @@
307
307
 
308
308
  <div class="form-title">表单校验</div>
309
309
  <div class="form-body">
310
- <el-form-item label="输入校验">
311
- <el-input v-model="item.rules"
312
- placeholder="请输入"
313
- clearable />
310
+ <el-form-item label="提交校验">
311
+ <el-select v-model="item.rules"
312
+ multiple
313
+ clearable
314
+ placeholder="请选择">
315
+ <el-option v-for="item in rules"
316
+ :label="item.label"
317
+ :value="item.value" />
318
+ </el-select>
314
319
  </el-form-item>
315
320
  <el-form-item label="隐藏校验">
316
321
  <el-input v-model="item.hideHandle"
317
322
  placeholder="请输入"
318
323
  clearable />
319
324
  </el-form-item>
320
- <el-form-item label="标题位置">
321
- <el-select v-model="item.labelPosition"
322
- placeholder="请选择">
323
- <el-option label="顶部"
324
- value="top" />
325
- <el-option label="左"
326
- value="left" />
327
- <el-option label="右"
328
- value="right" />
329
- </el-select>
330
- </el-form-item>
325
+
331
326
  </div>
332
327
  </template>
333
328
  <template v-else>
@@ -365,11 +360,11 @@ export default {
365
360
  rules: [
366
361
  {
367
362
  label: '必填',
368
- value: { required: true, message: '请输入', trigger: 'blur' }
363
+ value: { required: true, message: '请输入', trigger: 'blur' }
369
364
  },
370
365
  {
371
366
  label: '必选',
372
- value: { required: true, message: '请选择', trigger: 'change' }
367
+ value: { required: true, message: '请选择', trigger: 'change' }
373
368
  },
374
369
  ]
375
370
  }
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-container>
2
+ <el-container :style="{ maxHeight }">
3
3
  <el-aside v-if="hideTool"
4
4
  width="200px"
5
5
  class="form-json-body">
@@ -109,6 +109,8 @@ export default {
109
109
  * }
110
110
  * **/
111
111
  config: { type: Object, default: () => { return {} } },
112
+ // 最大高度
113
+ maxHeight: { type: String, default: 'calc(100vh - 137px)' },
112
114
  // 自定义组件
113
115
  custom: { type: Array, default: () => [] },
114
116
  // 是否显示加载中
@@ -141,9 +143,11 @@ export default {
141
143
  deep: true
142
144
  },
143
145
  config: {
144
- handler() {
146
+ handler(val) {
145
147
  this.render()
148
+ this.localConfig = JSON.parse(JSON.stringify(val))
146
149
  },
150
+ immediate: true,
147
151
  deep: true
148
152
  },
149
153
  localConfig: {
@@ -240,9 +244,6 @@ export default {
240
244
  }
241
245
  this.form = this.parseNestedObject(form)
242
246
  this.$emit("update:modelValue", this.form);
243
- this.localConfig = config;
244
-
245
-
246
247
  },
247
248
  parseNestedObject(obj) {
248
249
  const result = {};
@@ -305,7 +306,7 @@ export default {
305
306
 
306
307
  <style lang="scss" scoped>
307
308
  .menu-list {
308
- :deep(.el-collapse){
309
+ :deep(.el-collapse) {
309
310
  border-top: 0;
310
311
  }
311
312
  .menu-list-title {
@@ -279,6 +279,7 @@ export default {
279
279
  },
280
280
  methods: {
281
281
  flattenObject(obj, key, defaultValue = '') {
282
+ console.log(obj, key)
282
283
  if (!key || !obj) { return false }
283
284
  const keys = key.split('.'); // 将路径拆分成数组
284
285
 
@@ -296,6 +297,7 @@ export default {
296
297
  return current;
297
298
  },
298
299
  unflattenObject(obj, path, value) {
300
+ if (!path || !obj) { return false }
299
301
  const keys = path.split('.'); // 按点分隔路径
300
302
  let current = obj; // 指向传入的对象(如 this.form)
301
303
 
@@ -127,14 +127,16 @@ export default {
127
127
  deep: true
128
128
  },
129
129
  config: {
130
- handler() {
130
+ handler(val) {
131
131
  this.render()
132
132
  if (this.showMenu) {
133
133
  this.$nextTick(() => {
134
134
  this.handleScroll()
135
135
  })
136
136
  }
137
+ this.localConfig = JSON.parse(JSON.stringify(val))
137
138
  },
139
+ immediate: true,
138
140
  deep: true
139
141
  },
140
142
  localConfig: {
@@ -213,7 +215,6 @@ export default {
213
215
  }
214
216
  this.form = this.parseNestedObject(form)
215
217
  this.$emit("update:modelValue", this.form);
216
- this.localConfig = config;
217
218
  },
218
219
 
219
220
  parseNestedObject(obj) {
@@ -34,6 +34,14 @@
34
34
  <template #header="{ column, $index }">
35
35
  <template v-if="!t?.header">
36
36
  {{ t.title }}
37
+ <el-tooltip v-if="t.tips">
38
+ <template #content>
39
+ <span style="max-width: 300px; display: inline-block;">
40
+ {{ t.tips }}
41
+ </span>
42
+ </template>
43
+ <el-icon><component :is="t.icon || 'el-icon-question-filled'" /></el-icon>
44
+ </el-tooltip>
37
45
  </template>
38
46
  <slot v-else
39
47
  :name="t.header"