doway-coms 2.10.56 → 2.10.58

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,6 +1,6 @@
1
1
  {
2
2
  "name": "doway-coms",
3
- "version": "2.10.56",
3
+ "version": "2.10.58",
4
4
  "description": "doway组件库",
5
5
  "author": "dowaysoft",
6
6
  "main": "packages/index.js",
@@ -1,11 +1,18 @@
1
1
  <template>
2
- <div :style="computedformStyle">
3
- <!-- <div @click="hiddenDetail = !hiddenDetail">展开</div> -->
2
+ <div :style="computedformStyle" class="form-container">
3
+ <a-button v-if="showFold===true"
4
+ class="collapse-btn"
5
+ type="link"
6
+ @click="hiddenDetail = !hiddenDetail"
7
+ >
8
+ <a-icon :type="hiddenDetail ? 'down' : 'up'" class="collapse-icon" />
9
+ <!-- {{ hiddenDetail ? '展开' : '收起' }} -->
10
+ </a-button>
4
11
  <div
5
12
  :style="getFieldStyle(col)"
6
- v-for="col in internalComputedHiddenCols"
13
+ v-for="(col,colIndex) in internalComputedHiddenCols"
7
14
  :key="col.field"
8
- v-show="hiddenDetail ? colIndex === 0 : true"
15
+ v-show="hiddenDetail ? col.foldVisible===true : true"
9
16
  >
10
17
  <!-- 文本框输入控件 -->
11
18
  <BaseInput
@@ -319,10 +326,10 @@
319
326
  />
320
327
  </div>
321
328
  <template v-if="layoutType==='default'">
322
- <div class="d-form-item-ghost"></div>
323
- <div class="d-form-item-ghost"></div>
329
+ <!-- <div class="d-form-item-ghost"></div>
324
330
  <div class="d-form-item-ghost"></div>
325
331
  <div class="d-form-item-ghost"></div>
332
+ <div class="d-form-item-ghost"></div> -->
326
333
  </template>
327
334
  </div>
328
335
  </template>
@@ -367,6 +374,12 @@ export default {
367
374
  },
368
375
  name: 'BaseForm',
369
376
  props: {
377
+ showFold:{
378
+ type: Boolean,
379
+ default: function () {
380
+ return false
381
+ },
382
+ },
370
383
  layoutType: {
371
384
  // 布局方式。默认布局是flex自动换行布局,grid网格固定布局
372
385
  type: String,
@@ -433,9 +446,10 @@ export default {
433
446
  computedformStyle(){
434
447
  let layoutFormStyle = {
435
448
  display: 'flex',
449
+ columnGap: this.flexGap+ 'px',
436
450
  flexFlow: 'row wrap',
437
451
  justifyContent: 'flex-start',
438
- padding: '8px 8px 8px 8px',
452
+ padding: '5px 5px 0px 5px',
439
453
  overflowY: 'auto'
440
454
  }
441
455
 
@@ -447,7 +461,7 @@ export default {
447
461
  display: 'grid',
448
462
  gridTemplateRows: `repeat(${maxRow}, auto)`,
449
463
  gridTemplateColumns: `repeat(${maxCol}, 1fr)`,
450
- gap: '10px'
464
+ columnGrap: this.flexGap + 'px'
451
465
  }
452
466
  }
453
467
  //默认布局
@@ -472,6 +486,7 @@ export default {
472
486
  filters: {},
473
487
  data() {
474
488
  return {
489
+ flexGap:10,
475
490
  hiddenDetail: false,
476
491
  moment,
477
492
  editFormName: '',
@@ -584,19 +599,25 @@ export default {
584
599
  activated() {},
585
600
  methods: {
586
601
  getFieldStyle(colInfo){
602
+ // console.debug('0 0 calc('+colInfo.colSpan*250+'px -'+(colInfo.colSpan-1)*this.flexGap +'px)')
587
603
  let fieldStyle ={
588
- width: colInfo.colSpan ? ('calc('+colInfo.colSpan*280+'px + '+(colInfo.colSpan-1)*16+'px)'): '280px',
589
- flex: (colInfo.colSpan ? colInfo.colSpan+' 1 auto' : null),
590
- flexGrow: '1',
591
- flexShrink: '1',
592
- flexBasis: 'auto',
604
+ // width: colInfo.colSpan ? ('calc('+colInfo.colSpan*250+'px + '+(colInfo.colSpan-1)*16+'px)'): '250px',
605
+ flex: '0 0 ' + (colInfo.width && colInfo.width>200?colInfo.width:250)+'px', //colInfo.colSpan ? '0 0 '+(colInfo.colSpan*250+(colInfo.colSpan-1)*this.flexGap)+'px': '0 0 250px',
606
+
607
+ // flexGrow: 0,
608
+ // flexShrink: 0,
609
+ // flexBasis: colInfo.colSpan? (colInfo.colSpan*250)+'px':'250px',
610
+ // flexGrow: '1',
611
+ // flexShrink: '1',
612
+ // flexBasis:'250px', //colInfo.colSpan ? ('calc('+colInfo.colSpan*250+'px + '+(colInfo.colSpan-1)*16+'px)'): '250px',
593
613
  marginTop: '0px',
594
- marginRight: '8px',
614
+ // marginRight: '8px',
595
615
  marginBottom: '0px',
596
- marginLeft: '8px',
597
- padding: '6px 8px 6px 8px',
598
- minWidth: '150px',
599
- borderRadius: '6px'
616
+ // marginLeft: '8px',
617
+ // padding: '2px 8px 2px 8px',
618
+ // minWidth: '250px',
619
+ borderRadius: '6px',
620
+ maxWidth:'100%'
600
621
  }
601
622
  if(this.layoutType==='grid'){
602
623
  fieldStyle = {
@@ -750,6 +771,9 @@ export default {
750
771
  </script>
751
772
 
752
773
  <style lang="less" scoped>
774
+ .form-container{
775
+ position: relative
776
+ }
753
777
  .d-form-item-ghost{
754
778
  visibility: hidden;
755
779
  height: 0;
@@ -820,6 +844,25 @@ export default {
820
844
  .form {
821
845
  margin-left: 30px;
822
846
  }
847
+
848
+ .collapse-btn {
849
+ position: absolute;
850
+ top: 0px;
851
+ right: 0px;
852
+ padding: 4px 8px;
853
+ z-index: 1000;
854
+ background-color: #fff; // 添加背景色使按钮更突出
855
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); // 添加阴影效果
856
+ border-radius: 4px;
857
+ .collapse-icon {
858
+ transition: transform 0.3s;
859
+ }
860
+ &:hover {
861
+ background-color: #f0f0f0;
862
+ }
863
+ }
864
+
865
+
823
866
  </style>
824
867
  <style lang="less">
825
868
  @import '../../styles/default.less';