three-trees-ui 1.0.52 → 1.0.53

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": "three-trees-ui",
3
- "version": "1.0.52",
3
+ "version": "1.0.53",
4
4
  "publicPath": "/ui",
5
5
  "author": "hotent",
6
6
  "private": false,
@@ -133,14 +133,5 @@
133
133
  "webpack-node-externals": "^1.7.2",
134
134
  "xlsx": "^0.16.6"
135
135
  },
136
- "license": "MIT",
137
- "description": "[![NPM version](https://img.shields.io/npm/v/dva.svg?style=flat)](https://npmjs.org/package/three-trees-ui) [![NPM downloads](http://img.shields.io/npm/dm/dva.svg?style=flat)](https://npmjs.org/package/three-trees-ui) [![Dependencies](https://david-dm.org/dvajs/dva/status.svg)](https://david-dm.org/dvajs/three-trees-ui)",
138
- "directories": {
139
- "example": "examples",
140
- "test": "tests"
141
- },
142
- "repository": {
143
- "type": "git",
144
- "url": "http://10.10.78.172:2080/gitlab/xuyh/three-trees-ui.git"
145
- }
136
+ "license": "MIT"
146
137
  }
@@ -1,6 +1,5 @@
1
1
  import utils from '@/utils.js'
2
2
  import mobileMode from '@/mixins/mobileMode.js'
3
- import { Loading } from 'element-ui'
4
3
 
5
4
  export default {
6
5
  mixins: [mobileMode],
@@ -11,7 +10,7 @@ export default {
11
10
  total: 0,
12
11
  form: {},
13
12
  itemSavestate: {},
14
- loadingInstance: null,
13
+ tableLoading: false,
15
14
  }
16
15
  },
17
16
  methods: {
@@ -26,19 +25,14 @@ export default {
26
25
  this.dialogData = data
27
26
  }
28
27
  },
29
- closeLoadingInstance() {
30
- if (this.loadingInstance) {
31
- this.loadingInstance.close()
32
- }
28
+ closeTableLoading() {
29
+ this.tableLoading = false
33
30
  },
34
31
  getDialoglistJson(pagination) {
35
32
  if (this.isMobile) {
36
33
  this.$showLoading()
37
34
  } else {
38
- this.loadingInstance = Loading.service({
39
- fullscreen: true,
40
- text: '查询中...',
41
- })
35
+ this.tableLoading = true
42
36
  }
43
37
  return this.$requestConfig
44
38
  .request({
@@ -50,7 +44,7 @@ export default {
50
44
  if (this.isMobile) {
51
45
  this.$cancelLoading()
52
46
  } else {
53
- this.loadingInstance.close()
47
+ this.closeTableLoading()
54
48
  }
55
49
  const listKey = pagination.listKey
56
50
  ? pagination.listKey
@@ -91,7 +85,7 @@ export default {
91
85
  if (this.isMobile) {
92
86
  this.$cancelLoading()
93
87
  } else {
94
- this.loadingInstance.close()
88
+ this.closeTableLoading()
95
89
  }
96
90
  })
97
91
  },
@@ -8,6 +8,7 @@
8
8
  append-to-body
9
9
  top="6vh"
10
10
  width="75%"
11
+ class="hontent-custom-dialog"
11
12
  @opened="afterOpen"
12
13
  >
13
14
  <el-container :style="style" style="overflow: auto">
@@ -267,6 +268,8 @@
267
268
  <el-main ref="customTableRef" class="custom-dialog_main">
268
269
  <el-table
269
270
  ref="orgTable"
271
+ v-loading="tableLoading"
272
+ element-loading-text="查询中..."
270
273
  :data="dialogData"
271
274
  stripe
272
275
  border
@@ -274,6 +277,7 @@
274
277
  size="medium"
275
278
  style="width: 100%"
276
279
  :height="tableHeight"
280
+ :row-key="isSetPk !== '' ? isSetPk : 'custom_dialog_rowId'"
277
281
  @row-click="orgRowClick"
278
282
  @selection-change="orgTableSelection"
279
283
  @select="onTableSelect"
@@ -283,6 +287,7 @@
283
287
  v-if="customDialog.selectNum != 1"
284
288
  type="selection"
285
289
  align="center"
290
+ reserve-selection
286
291
  width="55"
287
292
  ></el-table-column>
288
293
  <el-table-column
@@ -343,6 +348,84 @@
343
348
  </el-row>
344
349
  </el-footer>
345
350
  </el-container>
351
+ <div v-if="isSetPk !== ''" id="right" class="list-selector__selected">
352
+ <el-card shadow="hover">
353
+ <div slot="header" class="selector-selected__header clearfix">
354
+ <span>已选择({{ selectsCount }})</span>
355
+ <el-button
356
+ type="text"
357
+ style="float: right; padding: 3px 0"
358
+ @click="clearAllSelects"
359
+ >
360
+ {{ $t('ht.common.clear') }}
361
+ </el-button>
362
+ </div>
363
+ <el-scrollbar
364
+ v-if="selectsCount > 0"
365
+ class="selector-selected__scroll"
366
+ >
367
+ <draggable
368
+ v-model="selects"
369
+ class="selector-selected__wrap"
370
+ tag="ul"
371
+ v-bind="dragOptions"
372
+ handle=".list-selector__handle"
373
+ @start="isDragging = true"
374
+ @end="isDragging = false"
375
+ >
376
+ <li
377
+ v-for="(select, selectIndex) in selects"
378
+ :key="select[primaryFieldProp] + selectIndex"
379
+ class="selector-selected__item"
380
+ >
381
+ <div
382
+ class="selector-selected__item-left"
383
+ @dblclick="removeSelected(select)"
384
+ >
385
+ <ht-icon
386
+ v-if="!single"
387
+ name="drag"
388
+ class="list-selector__handle follow-theme-color"
389
+ width="16"
390
+ height="16"
391
+ fill=""
392
+ />
393
+ <div class="selector-text">
394
+ {{ select[primaryFieldProp] }}
395
+ </div>
396
+ </div>
397
+ <i
398
+ v-if="!single"
399
+ :class="
400
+ selectIndex == 0 ? 'is-disabled' : 'selector-selected__up'
401
+ "
402
+ class="el-icon-top hover-follow-theme-color"
403
+ @click="sort(select, 'up')"
404
+ ></i>
405
+ <i
406
+ v-if="!single"
407
+ class="el-icon-bottom hover-follow-theme-color"
408
+ :class="
409
+ selectIndex == selects.length - 1
410
+ ? 'is-disabled'
411
+ : 'selector-selected__down'
412
+ "
413
+ @click="sort(select, 'down')"
414
+ ></i>
415
+ <i
416
+ class="el-icon-error selector-selected__remove hover-follow-theme-color"
417
+ @click="removeSelected(select)"
418
+ ></i>
419
+ </li>
420
+ </draggable>
421
+ </el-scrollbar>
422
+ <div v-else class="el-tree__empty-block">
423
+ <span class="el-tree__empty-text">
424
+ {{ t('el.table.emptyText') }}
425
+ </span>
426
+ </div>
427
+ </el-card>
428
+ </div>
346
429
  </el-container>
347
430
  <span slot="footer" class="dialog-footer" style="text-align: center">
348
431
  <el-button size="small" type="primary" @click="dialogConfirm">
@@ -442,8 +525,10 @@
442
525
  import form from '@/mixins/form.js'
443
526
  import dialog from './customDialog.js'
444
527
  import CustomQuery from '@/services/CustomQuery'
528
+ const draggable = require('vuedraggable')
445
529
  export default {
446
530
  name: 'CustomDialog',
531
+ components: { draggable },
447
532
  mixins: [dialog, locale, inputName, permission, form],
448
533
  props: {
449
534
  custdialog: {
@@ -528,9 +613,17 @@
528
613
  customDialogParams: {},
529
614
  treeDialogConfig: null,
530
615
  isPreview: false,
616
+ isDisabledConfirmBtn: true,
617
+ selects: [],
618
+ fromKey: '',
619
+ isSetPk: '',
620
+ primaryFieldProp: '',
531
621
  }
532
622
  },
533
623
  computed: {
624
+ selectsCount() {
625
+ return this.selects && this.selects.length > 0 ? this.selects.length : 0
626
+ },
534
627
  //默认展开的节点的 key 的数组
535
628
  defaultExpandedKeys: function() {
536
629
  if (
@@ -575,10 +668,10 @@
575
668
  let currentObj = returnStr.find((item) => {
576
669
  return item.comment.toLowerCase() === from
577
670
  })
578
- const fromKey = currentObj ? currentObj.field : ''
579
- if (fromKey) {
671
+ this.fromKey = currentObj ? currentObj.field : ''
672
+ if (this.fromKey) {
580
673
  this.selectOrgs = val.filter((item) => {
581
- return this.value.split(',').includes(item[fromKey])
674
+ return this.value.split(',').includes(item[this.fromKey])
582
675
  })
583
676
  }
584
677
  }
@@ -586,6 +679,13 @@
586
679
  immediate: true,
587
680
  deep: true,
588
681
  },
682
+ selects(val) {
683
+ if (val && val.length) {
684
+ this.isDisabledConfirmBtn = false
685
+ } else {
686
+ this.isDisabledConfirmBtn = true
687
+ }
688
+ },
589
689
  },
590
690
  mounted() {
591
691
  this.$root.$on('resize', () => {
@@ -611,6 +711,7 @@
611
711
  },
612
712
  showDialog(isMounted = false, isPreview = false) {
613
713
  this.isPreview = isPreview
714
+ this.selects = []
614
715
  this.fixedParams = {}
615
716
  // 如果已存在配置信息就不去请求配置信息 直接初始化数据
616
717
  if (this.dialogConfig) {
@@ -711,6 +812,14 @@
711
812
  }
712
813
  if (customDialog.style == 0 || customDialog.style == 2) {
713
814
  //列表
815
+ let returnStrArray = JSON.parse(customDialog.resultfield)
816
+ if (returnStrArray && returnStrArray.length > 0) {
817
+ let result = returnStrArray.filter((item) => item.isPK)
818
+ if (result && result.length > 0) {
819
+ this.isSetPk = result[0].field
820
+ this.primaryFieldProp = this.isSetPk
821
+ }
822
+ }
714
823
  setTimeout(() => {
715
824
  this_.customDialogShow(
716
825
  {
@@ -749,6 +858,15 @@
749
858
  }
750
859
  }
751
860
  }
861
+ if (this.isSetPk !== '') {
862
+ let valueData = this.value ? this.value.split(',') : []
863
+ for (var i = 0; i < valueData.length; i++) {
864
+ let obj = {}
865
+ obj[this.isSetPk] = valueData[i]
866
+ this.selects.push({ ...obj })
867
+ }
868
+ this.selectOrgs = [...this.selects]
869
+ }
752
870
  },
753
871
  initTableHeight() {
754
872
  this.$nextTick(() => {
@@ -766,12 +884,14 @@
766
884
  if (this.customDialog.selectNum === 1) {
767
885
  this.propsData = []
768
886
  this.propsData.push(data)
887
+ this.selects = this.propsData
769
888
  }
770
889
  },
771
890
  getChecked() {
772
891
  // 多选
773
892
  if (this.customDialog.selectNum === -1) {
774
893
  this.propsData = this.$refs.tree.getCheckedNodes()
894
+ this.selects = this.propsData
775
895
  }
776
896
  },
777
897
  customDialogShow(pageParam, isMounted = false) {
@@ -1401,23 +1521,35 @@
1401
1521
  return value
1402
1522
  },
1403
1523
  checkList() {
1404
- const this_ = this
1405
- setTimeout(() => {
1406
- //列表
1407
- if (
1408
- this_.checkBoxDataAll != undefined &&
1409
- this_.checkBoxDataAll.length > 0
1410
- ) {
1411
- this_.checkBoxDataAll.forEach((row) => {
1412
- let res = this_.indexArray(this_.dialogData, row)
1413
- // this_.tableRadioVal = res
1414
- if (res != -1) {
1415
- this_.isCurrentChange = true
1416
- this_.toggleRowSelection(res, true)
1524
+ if (this.isSetPk !== '') {
1525
+ this.checkBoxDataAll = this.selects
1526
+ if (this.customDialog.selectNum === 1) {
1527
+ let resData = this.dialogData.findIndex(
1528
+ (item) =>
1529
+ item.hasOwnProperty(this.isSetPk) &&
1530
+ item[this.isSetPk] == this.checkBoxDataAll[0][this.isSetPk]
1531
+ )
1532
+ this.tableRadioVal = resData
1533
+ } else {
1534
+ let selectedMarkList = []
1535
+ this.checkBoxDataAll.map((item) => {
1536
+ if (item.hasOwnProperty(this.isSetPk)) {
1537
+ selectedMarkList.push(item[this.isSetPk])
1538
+ }
1539
+ })
1540
+ this.dialogData.forEach((row) => {
1541
+ if (selectedMarkList.includes(row[this.isSetPk])) {
1542
+ this.$nextTick(() => {
1543
+ this.$refs.orgTable.toggleRowSelection(row, true)
1544
+ })
1545
+ } else {
1546
+ this.$nextTick(() => {
1547
+ this.$refs.orgTable.toggleRowSelection(row, false)
1548
+ })
1417
1549
  }
1418
1550
  })
1419
1551
  }
1420
- }, 300)
1552
+ }
1421
1553
  },
1422
1554
  toggleRowSelection(res, val) {
1423
1555
  this.$refs.orgTable.toggleRowSelection(this.dialogData[res], val)
@@ -1430,19 +1562,31 @@
1430
1562
  )
1431
1563
  this.selectOrgs = []
1432
1564
  this.selectOrgs.push(row)
1565
+ this.selects = this.selectOrgs
1433
1566
  } else if (this.customDialog.selectNum != 1) {
1434
1567
  this.isCurrentChange = false
1435
1568
  //判断点击列表数据时复选框是否勾选 selected:true不勾选,false勾选
1569
+ let resData = this.selectOrgs.findIndex(
1570
+ (item) =>
1571
+ item.hasOwnProperty(this.isSetPk) &&
1572
+ item[this.isSetPk] == row[this.isSetPk]
1573
+ )
1436
1574
  let selected =
1437
- this.selectOrgs &&
1438
- this.selectOrgs.length > 0 &&
1439
- this.indexArray(this.selectOrgs, row) !== -1
1575
+ this.selectOrgs && this.selectOrgs.length > 0 && resData !== -1
1440
1576
  if (selected) {
1441
1577
  this.isCurrentChange = true
1442
- let res = this.indexArray(this.selectOrgs, row)
1443
- this.selectOrgs.splice(res, 1)
1578
+ this.selectOrgs.splice(resData, 1)
1579
+ let selectsIndex = this.selects.findIndex(
1580
+ (item) =>
1581
+ item.hasOwnProperty(this.isSetPk) &&
1582
+ item[this.isSetPk] == row[this.isSetPk]
1583
+ )
1584
+ if (selectsIndex !== -1) {
1585
+ this.selects.splice(selectsIndex, 1)
1586
+ }
1444
1587
  }
1445
1588
  this.$refs.orgTable.toggleRowSelection(row)
1589
+ this.syncSelection2selects()
1446
1590
  }
1447
1591
  },
1448
1592
  //列表复选框有改变时触发
@@ -1489,20 +1633,32 @@
1489
1633
  }
1490
1634
  }
1491
1635
  }
1636
+ this.syncSelection2selects()
1492
1637
  },
1493
1638
  //点击列表某一个复选框时触发
1494
1639
  onTableSelect(rows, row) {
1495
1640
  this.isCurrentChange = false
1496
1641
  //判断点击列表数据时复选框是否勾选 selected:true不勾选,false勾选
1642
+ let resData = this.selectOrgs.findIndex(
1643
+ (item) =>
1644
+ item.hasOwnProperty(this.isSetPk) &&
1645
+ item[this.isSetPk] == row[this.isSetPk]
1646
+ )
1497
1647
  let selected =
1498
- this.selectOrgs &&
1499
- this.selectOrgs.length > 0 &&
1500
- this.indexArray(this.selectOrgs, row) !== -1
1648
+ this.selectOrgs && this.selectOrgs.length > 0 && resData !== -1
1501
1649
  if (selected) {
1502
1650
  this.isCurrentChange = true
1503
- let res = this.indexArray(this.selectOrgs, row)
1504
- this.selectOrgs.splice(res, 1)
1651
+ this.selectOrgs.splice(resData, 1)
1652
+ let selectsIndex = this.selects.findIndex(
1653
+ (item) =>
1654
+ item.hasOwnProperty(this.isSetPk) &&
1655
+ item[this.isSetPk] == row[this.isSetPk]
1656
+ )
1657
+ if (selectsIndex !== -1) {
1658
+ this.selects.splice(selectsIndex, 1)
1659
+ }
1505
1660
  }
1661
+ this.syncSelection2selects()
1506
1662
  },
1507
1663
  selectAll(selection) {
1508
1664
  if (this.oldselectOrgs != null && selection.length > 0) {
@@ -1515,6 +1671,7 @@
1515
1671
  } else {
1516
1672
  this.selectOrgs = _.cloneDeep(selection)
1517
1673
  }
1674
+ this.syncSelection2selects()
1518
1675
  },
1519
1676
  checkNode(data, this_, pnode) {
1520
1677
  if (!data.Pid) {
@@ -1571,13 +1728,15 @@
1571
1728
  const this_ = this
1572
1729
  this_.queryParam = ''
1573
1730
  this.setDialogData([])
1574
- this.closeLoadingInstance()
1731
+ this.closeTableLoading()
1575
1732
  this_.customDialogShowList = false
1576
1733
  //判断是否是点击了确认再点击取消的 inputVal没有值则表示直接点击的取消
1577
1734
  if (!this_.inputVal) {
1578
1735
  this_.selectOrgs = []
1736
+ this_.selects = []
1579
1737
  } else {
1580
1738
  this_.selectOrgs = this_.showData ? [...this_.showData] : ''
1739
+ this_.selects = [...this_.selectOrgs]
1581
1740
  this.checkBoxDataAll = [...this_.selectOrgs]
1582
1741
  }
1583
1742
  },
@@ -1817,6 +1976,7 @@
1817
1976
  clearAll() {
1818
1977
  this.checkBoxDataAll = []
1819
1978
  this.selectOrgs = []
1979
+ this.selects = []
1820
1980
  this.showData = []
1821
1981
  this.propsData = []
1822
1982
  this.syncInputValue()
@@ -2070,6 +2230,80 @@
2070
2230
  handleClose() {
2071
2231
  this.dialogVisible = false
2072
2232
  },
2233
+ // 同步已选行到已选数据中去
2234
+ syncSelection2selects() {
2235
+ // 复制一份当前已选数据
2236
+ let tmpSelects = [...this.selects]
2237
+ // 先将当前页中的数据从已选数据中移除
2238
+ this.dialogData.forEach((m) => {
2239
+ let Index = tmpSelects.findIndex(
2240
+ (item) =>
2241
+ item.hasOwnProperty(this.isSetPk) &&
2242
+ item[this.isSetPk] == m[this.isSetPk]
2243
+ )
2244
+ if (Index !== -1) {
2245
+ tmpSelects.splice(Index, 1)
2246
+ }
2247
+ })
2248
+ // 将剩余的已选数据与当前页选中的数据合并
2249
+ tmpSelects = [...tmpSelects, ...this.$refs.orgTable.selection]
2250
+ let copytmpSelects = _.cloneDeep(tmpSelects)
2251
+ if (this.isSetPk !== '') {
2252
+ this.selects = this.fn1(copytmpSelects, this.isSetPk)
2253
+ }
2254
+
2255
+ // 数组去重
2256
+ this.selects = _.uniqWith(this.selects, _.isEqual)
2257
+ },
2258
+ fn1(tempArr, isSetPk) {
2259
+ for (let i = 0; i < tempArr.length; i++) {
2260
+ for (let j = i + 1; j < tempArr.length; j++) {
2261
+ //排除custom_dialog_rowId比较
2262
+ let a = tempArr[i]
2263
+ let b = tempArr[j]
2264
+ delete a.custom_dialog_rowId
2265
+ delete b.custom_dialog_rowId
2266
+ if (
2267
+ tempArr[i].hasOwnProperty(isSetPk) &&
2268
+ tempArr[j].hasOwnProperty(isSetPk) &&
2269
+ tempArr[i][this.isSetPk] == tempArr[j][this.isSetPk] &&
2270
+ _.isEqual(a, b)
2271
+ ) {
2272
+ tempArr.splice(j, 1)
2273
+ j--
2274
+ }
2275
+ }
2276
+ }
2277
+ return tempArr
2278
+ },
2279
+ removeSelected(select) {
2280
+ this.selects.splice(select, 1)
2281
+ this.selectOrgs.forEach((row) => {
2282
+ if (row[this.isSetPk] == select[this.isSetPk]) {
2283
+ // 对比成功之后,取消选中
2284
+ this.$nextTick(() => {
2285
+ this.$refs.orgTable.toggleRowSelection(
2286
+ this.dialogData.find((item) => {
2287
+ return item[this.isSetPk] == select[this.isSetPk]
2288
+ }),
2289
+ false
2290
+ )
2291
+ // 取消选中后还要把数据删除
2292
+ let res = this.indexArray(this.selectOrgs, row)
2293
+ this.selectOrgs.splice(res, 1)
2294
+ })
2295
+ }
2296
+ })
2297
+ },
2298
+ clearAllSelects() {
2299
+ this.selects = []
2300
+ this.selectOrgs = []
2301
+ this.$refs.orgTable.clearSelection()
2302
+ },
2303
+ //显示字段排序
2304
+ sort(select, type) {
2305
+ this.selects = utils.arrayMove(this.selects, select, type)
2306
+ },
2073
2307
  },
2074
2308
  }
2075
2309
  </script>
@@ -2266,4 +2500,124 @@
2266
2500
  min-height: 350px;
2267
2501
  padding: 0 20px !important;
2268
2502
  }
2503
+ .list-selector__selected {
2504
+ height: 100%;
2505
+ .selector-selected__wrap {
2506
+ list-style: none;
2507
+ width: calc(100% - 24px);
2508
+ padding: 10px;
2509
+
2510
+ li {
2511
+ line-height: 20px;
2512
+ }
2513
+
2514
+ li + li {
2515
+ margin-top: 10px;
2516
+ }
2517
+
2518
+ .selector-selected__item {
2519
+ height: 36px;
2520
+ padding: 0 6px;
2521
+ display: flex;
2522
+ align-items: center;
2523
+ justify-content: space-between;
2524
+
2525
+ &:hover {
2526
+ background-color: #f8f8f8;
2527
+ }
2528
+
2529
+ .selector-selected__remove {
2530
+ color: #bfbfbf;
2531
+ &:hover {
2532
+ color: #409eff;
2533
+ }
2534
+ }
2535
+ .selector-selected__up {
2536
+ &:hover {
2537
+ color: #409eff;
2538
+ }
2539
+ }
2540
+ .selector-selected__down {
2541
+ &:hover {
2542
+ color: #409eff;
2543
+ }
2544
+ }
2545
+
2546
+ .selector-selected__item-left {
2547
+ display: flex;
2548
+ align-items: center;
2549
+ width: 155px;
2550
+ .selector-text {
2551
+ width: 120px;
2552
+ text-align: left;
2553
+ text-overflow: ellipsis;
2554
+ overflow: hidden;
2555
+ white-space: nowrap;
2556
+ }
2557
+
2558
+ .list-selector__handle {
2559
+ cursor: move;
2560
+ }
2561
+
2562
+ div {
2563
+ margin-left: 10px;
2564
+ }
2565
+ }
2566
+ i {
2567
+ font-size: 16px;
2568
+ }
2569
+ }
2570
+ }
2571
+ .el-tree__empty-block {
2572
+ height: 80px;
2573
+ }
2574
+ .is-disabled {
2575
+ color: #c0c4cc;
2576
+ cursor: not-allowed;
2577
+ }
2578
+ }
2579
+ </style>
2580
+
2581
+ <style lang="scss">
2582
+ .hontent-custom-dialog {
2583
+ #container {
2584
+ display: flex; /*中间弹性盒布局*/
2585
+ flex-wrap: nowrap; /*排列不下时不换行*/
2586
+ text-align: center;
2587
+ padding-left: 24px;
2588
+ }
2589
+ #center {
2590
+ order: 1;
2591
+ flex: 1;
2592
+ width: var(--middleWidth);
2593
+ .el-header {
2594
+ border-bottom: none !important;
2595
+ }
2596
+ }
2597
+ #left {
2598
+ order: 0;
2599
+ width: calc(var(--leftWidth) - 24px);
2600
+ padding-right: 24px;
2601
+ }
2602
+ #right {
2603
+ order: 2;
2604
+ width: 250px;
2605
+ padding-left: 24px;
2606
+ }
2607
+ .el-card__body {
2608
+ height: calc(var(--customHeight) - 130px - 48px - 25px - 24px);
2609
+ overflow: auto;
2610
+ @include base-scrollbar;
2611
+ }
2612
+ .el-card__header {
2613
+ height: 48px;
2614
+ background: #f9f9f9;
2615
+ line-height: 24px;
2616
+ text-align: left;
2617
+ font-size: 16px;
2618
+ }
2619
+ .el-dialog__footer {
2620
+ padding: 20px 24px 0px;
2621
+ }
2622
+ }
2269
2623
  </style>
@@ -0,0 +1,14 @@
1
+ import Icon from '../main.vue'
2
+
3
+ Icon.register({
4
+ drag: {
5
+ width: 1024,
6
+ height: 1024,
7
+ paths: [
8
+ {
9
+ d:
10
+ 'M128 0h256v227.584H128z m512 0h256v227.584H640zM128 398.208h256v227.584H128V398.208z m512 0h256v227.584H640V398.208z m-512 398.208h256V1024H128z m512 0h256V1024H640z',
11
+ },
12
+ ],
13
+ },
14
+ })
@@ -21,6 +21,7 @@ import './component'
21
21
  import './compress'
22
22
  import './dialog'
23
23
  import './duration'
24
+ import './drag'
24
25
  import './expand'
25
26
  import './eye'
26
27
  import './eye-slash'