bri-components 1.1.1 → 1.1.2

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.
Files changed (49) hide show
  1. package/lib/0.bri-components.min.js +1 -1
  2. package/lib/1.bri-components.min.js +1 -1
  3. package/lib/2.bri-components.min.js +1 -1
  4. package/lib/3.bri-components.min.js +1 -1
  5. package/lib/4.bri-components.min.js +1 -1
  6. package/lib/5.bri-components.min.js +1 -1
  7. package/lib/6.bri-components.min.js +1 -1
  8. package/lib/7.bri-components.min.js +1 -1
  9. package/lib/8.bri-components.min.js +1 -1
  10. package/lib/9.bri-components.min.js +1 -1
  11. package/lib/bri-components.min.js +6 -6
  12. package/package.json +1 -1
  13. package/src/components/controls/base/BriLabels.vue +49 -13
  14. package/src/components/controls/base/DshCoordinates.vue +7 -4
  15. package/src/components/controls/base/DshEditor.vue +16 -5
  16. package/src/components/controls/base/DshInput.vue +7 -0
  17. package/src/components/controls/controlMap.js +2 -2
  18. package/src/components/controls/controlMixin.js +39 -25
  19. package/src/components/controls/senior/cascaderTable.vue +47 -41
  20. package/src/components/form/DshForm.vue +4 -17
  21. package/src/components/list/BriFlatTable.vue +4 -6
  22. package/src/components/list/BriTable.vue +10 -4
  23. package/src/components/list/DshBox/DshSingleData.vue +0 -7
  24. package/src/components/list/DshCascaderTable.vue +3 -4
  25. package/src/components/list/ZTree.vue +1 -1
  26. package/src/components/other/ZLoading.vue +32 -3
  27. package/src/components/small/BriDrawer.vue +132 -0
  28. package/src/components/small/DshButtons.vue +3 -3
  29. package/src/components/small/DshModal.vue +25 -1
  30. package/src/components/unit/DshFormItem.vue +40 -41
  31. package/src/components/unit/DshUnit.vue +15 -8
  32. package/src/components/unit/unitMixin.js +0 -8
  33. package/src/index.js +7 -4
  34. package/src/styles/common/box.less +29 -0
  35. package/src/styles/common/control.less +1 -0
  36. package/src/styles/components/controls/BriLabels.less +32 -18
  37. package/src/styles/components/controls/DshCascader.less +7 -3
  38. package/src/styles/components/controls/DshLabels.less +3 -3
  39. package/src/styles/components/index.less +1 -1
  40. package/src/styles/components/other/InfoCascader.less +4 -0
  41. package/src/styles/components/other/ZLoading.less +23 -7
  42. package/src/styles/components/small/BriDrawer.less +34 -0
  43. package/src/styles/components/small/DshControlDefine.less +2 -1
  44. package/src/styles/components/small/DshDropdown.less +11 -8
  45. package/src/styles/components/small/DshTitle.less +1 -1
  46. package/src/styles/components/unit/DshFormItem.less +6 -4
  47. package/src/styles/plugin/iview.less +7 -3
  48. package/src/styles/reset.less +2 -2
  49. package/src/utils/table.js +3 -4
@@ -9,7 +9,13 @@
9
9
  >
10
10
  <div class="ZLoading-main">
11
11
  <slot>
12
- <img :src="imgSrc" />
12
+ <div class="ZLoading-main-content">
13
+ <div class="ZLoading-main-loading" :style="getStyle">
14
+ </div>
15
+ <div v-if="showLoadingText" class="ZLoading-main-loadingText">
16
+ 加载中...
17
+ </div>
18
+ </div>
13
19
  </slot>
14
20
  </div>
15
21
  </div>
@@ -37,7 +43,12 @@
37
43
  },
38
44
  kongImg: {
39
45
  type: String
40
- }
46
+ },
47
+ mode: {
48
+ type: String,
49
+ default: "large" // small middle
50
+ },
51
+ showLoadingText: Boolean
41
52
  },
42
53
  data () {
43
54
  return {};
@@ -51,9 +62,27 @@
51
62
  } else {
52
63
  return undefined;
53
64
  }
65
+ },
66
+ getStyle () {
67
+ let styleMap = {
68
+ large: {
69
+ width: "49px",
70
+ height: "49px"
71
+ },
72
+ middle: {
73
+ width: "35px",
74
+ height: "35px"
75
+ },
76
+ small: {
77
+ width: "16px",
78
+ height: "16px"
79
+ }
80
+ };
81
+ return styleMap[this.mode];
54
82
  }
55
83
  },
56
84
  created () {},
57
- methods: {}
85
+ methods: {
86
+ }
58
87
  };
59
88
  </script>
@@ -0,0 +1,132 @@
1
+ <template>
2
+ <Drawer
3
+ class="BriDrawer"
4
+ v-model="showModal"
5
+ :title="selfPropsObj.title"
6
+ :width="selfPropsObj.width"
7
+ :height="selfPropsObj.height"
8
+ :closable="selfPropsObj.closable"
9
+ :mask-closable="selfPropsObj.maskClosable"
10
+ :mask="selfPropsObj.mask"
11
+ :mask-style="selfPropsObj.maskStyle"
12
+ :styles="selfPropsObj.styles"
13
+ :scrollable="selfPropsObj.scrollable"
14
+ :placement="selfPropsObj.placement"
15
+ :transfer="selfPropsObj.transfer"
16
+ :class-name="selfPropsObj.className"
17
+ :inner="selfPropsObj.inner"
18
+ :draggable="selfPropsObj.draggable"
19
+ :before-close="selfPropsObj.beforeClose"
20
+ :lock-scroll="selfPropsObj.lockScroll"
21
+ @on-close="close"
22
+ @on-visible-change="visibleChange"
23
+ @on-resize-width="resizeChange"
24
+ >
25
+ <div
26
+ slot="header"
27
+ class="BriDrawer-header"
28
+ >
29
+ <slot name="header">
30
+ {{ selfPropsObj.title }}
31
+ </slot>
32
+ </div>
33
+
34
+ <!-- 删除按钮 -->
35
+ <Icon
36
+ v-if="selfPropsObj.closable"
37
+ slot="close"
38
+ class="BriDrawer-close"
39
+ type="md-close"
40
+ size="20"
41
+ @click.stop="clickClose"
42
+ />
43
+
44
+ <slot
45
+ slot="trigger"
46
+ name="trigger"
47
+ ></slot>
48
+
49
+ <div class="BriDrawer-main">
50
+ <div class="BriDrawer-body">
51
+ <slot></slot>
52
+ </div>
53
+
54
+ <div
55
+ v-if="selfPropsObj.footer"
56
+ class="BriDrawer-footer"
57
+ >
58
+ <slot name="footer">
59
+ <dsh-buttons
60
+ :list="list"
61
+ @click="$dshEmit($event)"
62
+ ></dsh-buttons>
63
+ </slot>
64
+ </div>
65
+ </div>
66
+ </Drawer>
67
+ </template>
68
+
69
+ <script>
70
+ export default {
71
+ name: "BriDrawer",
72
+ props: {
73
+ value: Boolean,
74
+ propsObj: {
75
+ type: Object,
76
+ default () {
77
+ return {};
78
+ }
79
+ },
80
+ list: {
81
+ type: Array,
82
+ default () {
83
+ return [];
84
+ }
85
+ }
86
+ },
87
+ model: {
88
+ prop: "value",
89
+ event: "input"
90
+ },
91
+ data () {
92
+ return {};
93
+ },
94
+ computed: {
95
+ showModal: {
96
+ get () {
97
+ return this.value;
98
+ },
99
+ set (bool) {
100
+ this.input(bool);
101
+ }
102
+ },
103
+ selfPropsObj () {
104
+ return {
105
+ width: 320,
106
+ closable: true,
107
+ transfer: true,
108
+ footer: true,
109
+ ...this.propsObj
110
+ };
111
+ }
112
+ },
113
+ created () {},
114
+ methods: {
115
+ input (bool) {
116
+ this.$emit("input", bool);
117
+ },
118
+ clickClose () {
119
+ this.showModal = false;
120
+ },
121
+ close (...parmas) {
122
+ this.$emit("on-close", ...parmas);
123
+ },
124
+ resizeChange (...parmas) {
125
+ this.$emit("on-resize-change", ...parmas);
126
+ },
127
+ visibleChange (bool = false) {
128
+ this.$emit("on-visible-change", bool);
129
+ }
130
+ }
131
+ };
132
+ </script>
@@ -14,7 +14,7 @@
14
14
  :key="operationItem.type"
15
15
  :style="operationItem.style"
16
16
  :class="[
17
- index ? 'dsh-margin-left5' : undefined,
17
+ index ? 'dsh-margin-left8' : undefined,
18
18
  !operationItem.customIcon && !operationItem.icon ? 'DshButtons-item' : undefined,
19
19
  itemClass,
20
20
  ]"
@@ -59,7 +59,7 @@
59
59
  :key="operationItem.type"
60
60
  :style="operationItem.style"
61
61
  :class="[
62
- index ? 'dsh-margin-left5' : undefined,
62
+ index ? 'dsh-margin-left8' : undefined,
63
63
  !operationItem.customIcon && !operationItem.icon ? 'DshButtons-item' : undefined,
64
64
  itemClass,
65
65
  ]"
@@ -82,7 +82,7 @@
82
82
  :key="operationItem.type"
83
83
  :style="operationItem.style"
84
84
  :class="[
85
- index ? 'dsh-margin-left5' : undefined,
85
+ index ? 'dsh-margin-left8' : undefined,
86
86
  !operationItem.customIcon && !operationItem.icon ? 'DshButtons-item' : undefined,
87
87
  itemClass,
88
88
  ...(Array.isArray(operationItem.class) ? operationItem.class : [operationItem.class])
@@ -164,7 +164,6 @@
164
164
  &-small {
165
165
  .ivu-modal-wrap {
166
166
  .ivu-modal {
167
- padding: 20px;
168
167
  margin: auto;
169
168
  position: absolute;
170
169
  top: 0px;
@@ -216,6 +215,31 @@
216
215
  height: 400px !important;
217
216
  max-height: 100%;
218
217
  max-width: 100%;
218
+ .ivu-modal-content{
219
+ .DshModal-close {
220
+ top: 20px;
221
+ right: 24px;
222
+ color: rgba(0,0,0,0.6);
223
+ font-size: 16px!important;
224
+ }
225
+
226
+ .ivu-modal-header {
227
+ width: 100%;
228
+ height: 44px;
229
+ padding: 20px 24px 0px 24px;
230
+ border-bottom: none;
231
+ &-inner {
232
+ color: rgba(0,0,0,0.9);
233
+ font-size: 16px;
234
+ font-weight: 500;
235
+ line-height: 24px;
236
+ height: 24px;
237
+ }
238
+ }
239
+ .ivu-modal-body {
240
+ padding: 16px 24px 20px;
241
+ }
242
+ }
219
243
  }
220
244
  }
221
245
  }
@@ -1,17 +1,18 @@
1
1
  <template>
2
2
  <div
3
3
  :class="[
4
- 'DshFormItem',
5
- { 'DshFormItem-required': formItem._required&&canEdit },
6
- { 'DshFormItem-line': formItem._line },
7
- `DshFormItem-${formItem._type}`,
4
+ {
5
+ 'DshFormItem': true,
6
+ 'DshFormItem-required': formItem._required && canEdit,
7
+ 'DshFormItem-line': formItem._line,
8
+ },
8
9
  formControlClass,
10
+ formItem.formControlClass
9
11
  ]"
10
12
  :style="{
11
13
  width: `calc(${(formItem._br ? (formItem._span || 24)/24 : 1) * 100}% - 12px)`,
12
14
  height: formItem._br || (formItem._span || 24) === 24 ? undefined : `${height}px`,
13
15
  minHeight: `${46}px`,
14
- alignItems: formItem._labelAlignItems || 'center',
15
16
  ...rowStyle
16
17
  }"
17
18
  >
@@ -19,11 +20,9 @@
19
20
  <div
20
21
  v-if="!formItem._noLabel"
21
22
  class="DshFormItem-label"
22
- :style="[
23
- selfLabelStyle,
24
- { justifyContent: formItem._labelAlign }
25
- ]"
23
+ :style="labelStyle"
26
24
  >
25
+ <!-- 左 -->
27
26
  <span
28
27
  class="DshFormItem-label-left"
29
28
  :style="labelLeftStyle"
@@ -32,13 +31,23 @@
32
31
  :content="formItem._name"
33
32
  transfer
34
33
  >
35
- <span class="DshFormItem-label-name dsh-ellipsis">
34
+ <span :class="{
35
+ 'DshFormItem-label-name': true,
36
+ 'dsh-ellipsis': true,
37
+ 'DshFormItem-label-name-edit': canEdit,
38
+ 'DshFormItem-label-name-show': !canEdit
39
+ }">
36
40
  <slot name="label">
37
41
  {{ formItem._name }}
38
- <template v-if="changedFields && changedFields.includes(formItem._key)">
39
- <span class="DshFormItem-label-name-sign">!有更新</span>
40
- </template>
42
+
43
+ <!-- 有更新标记-->
44
+ <span
45
+ v-if="changedFields.includes(formItem._key)"
46
+ class="DshFormItem-label-name-sign"
47
+ >!有更新</span>
41
48
  </slot>
49
+
50
+ <!-- label后可自定义内容 -->
42
51
  <dsh-render
43
52
  v-if="formItem._tipsRender"
44
53
  :render="tipsRender(formItem,formData)"
@@ -47,8 +56,9 @@
47
56
  </Ctooltip>
48
57
  </span>
49
58
 
59
+ <!-- 右 -->
50
60
  <span
51
- v-if="canEdit || formItem._alwaysShowExtra"
61
+ v-if="canEdit"
52
62
  class="DshFormItem-label-right"
53
63
  >
54
64
  <slot name="extra">
@@ -66,12 +76,7 @@
66
76
  </div>
67
77
 
68
78
  <!-- 控件 -->
69
- <div
70
- class="DshFormItem-control"
71
- :style="{
72
- justifyContent: formItem._controlAlign
73
- }"
74
- >
79
+ <div class="DshFormItem-control">
75
80
  <!-- 控件位置放置的dom -->
76
81
  <slot name="control"></slot>
77
82
 
@@ -100,9 +105,20 @@
100
105
 
101
106
  export default {
102
107
  name: "DshFormItem",
103
- mixins: [unitMixin],
108
+ mixins: [
109
+ unitMixin
110
+ ],
104
111
  props: {
105
- changedFields: Array,
112
+ canEdit: {
113
+ type: Boolean,
114
+ default: true
115
+ },
116
+ changedFields: {
117
+ type: Array,
118
+ default () {
119
+ return [];
120
+ }
121
+ },
106
122
 
107
123
  // 实际最精确值是74px(label:30px, control:32px, 上下padding各: 6px,因为ivu-form-item-content里line-height: 32px导致有问题,故先76px
108
124
  height: {
@@ -121,29 +137,12 @@
121
137
  return {};
122
138
  }
123
139
  },
124
-
125
- labelWidth: [String, Number],
126
140
  formControlClass: String
127
141
  },
128
142
  data () {
129
- return {
130
- showTipModal: false
131
- };
132
- },
133
- computed: {
134
- selfLabelStyle () {
135
- return {
136
- width: this.labelWidth + "px",
137
- ...this.labelStyle
138
- // marginRight: "20px"
139
- };
140
- },
141
- labelLeftStyle () {
142
- return {
143
- minWidth: this.labelWidth + "px"
144
- };
145
- }
143
+ return {};
146
144
  },
145
+ computed: {},
147
146
  created () {},
148
147
  methods: {
149
148
  // 校验方法 -供外部使用
@@ -16,15 +16,14 @@
16
16
  <template v-else>
17
17
  <component
18
18
  :is="componentNameMap[formItem._type]"
19
- :canEdit="canEdit"
20
19
  :isUnit="isUnit"
21
- :parentData="parentData"
22
20
  :value="formData"
23
21
  :propsObj="{
24
22
  ...formItem,
25
23
  size: 'default',
26
24
  inTable: true
27
25
  }"
26
+ :parentData="parentData"
28
27
  @blur="blur"
29
28
  @change="change"
30
29
  ></component>
@@ -37,11 +36,22 @@
37
36
 
38
37
  export default {
39
38
  name: "DshUnit",
40
- mixins: [unitMixin],
39
+ mixins: [
40
+ unitMixin
41
+ ],
41
42
  props: {
43
+ isUnit: {
44
+ type: Boolean,
45
+ default: true
46
+ },
42
47
  indexStr: String,
43
48
  rowIndex: Number,
44
- parentData: Array
49
+ parentData: {
50
+ type: Array,
51
+ default () {
52
+ return [];
53
+ }
54
+ }
45
55
  },
46
56
  data () {
47
57
  return {};
@@ -52,16 +62,13 @@
52
62
  };
53
63
  </script>
54
64
 
55
- <style lang="less" scoped>
56
- .DshUnit {}
57
- </style>
58
65
  <style lang="less">
59
66
  .DshUnit {
60
67
  .ivu-input {
61
68
  font-size: 12px;
62
69
  }
63
70
 
64
- .DshLabels-searchResult{
71
+ .DshLabels-searchResult {
65
72
  position:absolute;
66
73
  top: 32px !important;
67
74
  left:0;
@@ -3,10 +3,6 @@ import { componentNameMap, registerComponents } from "../controls/controlMap.js"
3
3
  export default {
4
4
  components: registerComponents(),
5
5
  props: {
6
- canEdit: {
7
- type: Boolean,
8
- default: true
9
- },
10
6
  formData: Object,
11
7
  formItem: {
12
8
  type: Object,
@@ -19,10 +15,6 @@ export default {
19
15
  default () {
20
16
  return [];
21
17
  }
22
- },
23
- isUnit: {
24
- type: Boolean,
25
- default: false
26
18
  }
27
19
  },
28
20
  data () {
package/src/index.js CHANGED
@@ -8,8 +8,8 @@ import { VeTable, VeLocale } from "vue-easytable";
8
8
  import CN from "vue-easytable/libs/locale/lang/zh-CN.js";
9
9
 
10
10
  // list
11
- import { VTable } from "./components/list/easyTable/index.js";
12
- import EvTable from "./components/list/evTable/EvTable.vue"; // 大表格
11
+ // import { VTable } from "./components/list/easyTable/index.js";
12
+ // import EvTable from "./components/list/evTable/EvTable.vue"; // 大表格
13
13
  import DshBox from "./components/list/DshBox/DshBox.vue";
14
14
  import DshTable from "./components/list/DshBox/DshTable.vue";
15
15
  import DshList from "./components/list/DshBox/DshList.vue";
@@ -52,6 +52,7 @@ import BriTransfer from "./components/other/BriTransfer.vue";
52
52
 
53
53
  // small
54
54
  import DshModal from "./components/small/DshModal.vue";
55
+ import BriDrawer from "./components/small/BriDrawer.vue";
55
56
  import DshDropdown from "./components/small/DshDropdown.vue";
56
57
  import DshRender from "./components/small/render.js";
57
58
  import DshTdRender from "./components/small/DshTdRender.js";
@@ -104,8 +105,8 @@ const map = {
104
105
  DshDraggable,
105
106
  DshCropper,
106
107
 
107
- VTable,
108
- EvTable,
108
+ // VTable,
109
+ // EvTable,
109
110
  DshBox,
110
111
  DshTable,
111
112
  DshList,
@@ -142,6 +143,7 @@ const map = {
142
143
  BriTransfer,
143
144
 
144
145
  DshModal,
146
+ BriDrawer,
145
147
  DshDropdown,
146
148
  DshRender,
147
149
  DshTdRender,
@@ -232,6 +234,7 @@ export {
232
234
  BriTransfer,
233
235
 
234
236
  DshModal,
237
+ BriDrawer,
235
238
  DshDropdown,
236
239
  DshRender,
237
240
  DshTdRender,
@@ -41,6 +41,19 @@
41
41
  margin-right: 5px;
42
42
  }
43
43
 
44
+ .dsh-margin-top8 {
45
+ margin-top: 8px;
46
+ }
47
+ .dsh-margin-bottom8 {
48
+ margin-bottom: 8px;
49
+ }
50
+ .dsh-margin-left8 {
51
+ margin-left: 8px;
52
+ }
53
+ .dsh-margin-right8 {
54
+ margin-right: 8px;
55
+ }
56
+
44
57
  .dsh-margin-top10 {
45
58
  margin-top: 10px;
46
59
  }
@@ -115,6 +128,9 @@
115
128
  .dsh-padding20 {
116
129
  padding: 20px;
117
130
  }
131
+ .dsh-padding24 {
132
+ padding: 24px;
133
+ }
118
134
  .dsh-padding100 {
119
135
  padding: 100px;
120
136
  }
@@ -155,3 +171,16 @@
155
171
  .dsh-padding-right20 {
156
172
  padding-right: 20px;
157
173
  }
174
+ .dsh-padding-top24 {
175
+ padding-top: 24px;
176
+ }
177
+ .dsh-padding-bottom24 {
178
+ padding-bottom: 24px;
179
+ }
180
+ .dsh-padding-left24 {
181
+ padding-left: 24px;
182
+ }
183
+ .dsh-padding-right24 {
184
+ padding-right: 24px;
185
+ }
186
+
@@ -19,6 +19,7 @@
19
19
  border: 1px solid @borderColor;
20
20
  background: @inputBg;
21
21
  border-radius: @borderRadius;
22
+ line-height: 32px;
22
23
  cursor: pointer;
23
24
  }
24
25
  .control-placeholder {
@@ -12,6 +12,11 @@
12
12
  border: 1px solid @borderColor;
13
13
  padding-left: 5px;
14
14
 
15
+ &-list {
16
+ display: flex;
17
+ align-items: center;
18
+ }
19
+
15
20
  &-active {
16
21
  border-color: #64c6d1;
17
22
  box-shadow: 0 0 0 2px rgba(61, 184, 197, 0.2);
@@ -66,6 +71,17 @@
66
71
  }
67
72
  }
68
73
  }
74
+
75
+ &-btnWrap {
76
+ border-top: 1px solid #E7E7E7;
77
+ margin: 12px 8px 0;
78
+ padding-top: 8px;
79
+ }
80
+
81
+ &-add {
82
+ width: 300px;
83
+ margin-bottom: 8px;
84
+ }
69
85
  }
70
86
 
71
87
  .ivu-select-dropdown {
@@ -89,27 +105,25 @@
89
105
  }
90
106
 
91
107
  &-view {
92
- .dsh-flex-row-start-start();
108
+ display: flex;
93
109
  flex-wrap: wrap;
110
+ align-items: center;
94
111
  height: 32px;
95
112
  overflow-y: hidden;
96
-
97
- &-readonly {
98
- width: 100%;
99
- background: @white;
100
- border: 1px solid #eee;
101
- border-radius: 4px;
102
- height: 32px;
103
- cursor: not-allowed;
104
-
105
- .DshLabels-view-nodata {
106
- display: none;
107
- }
108
- }
109
-
110
- &-tag {
111
- width: fit-content;
112
- margin-right: 10px;
113
+ &-item{
114
+ .unit-show();
115
+ .dsh-ellipsis();
116
+ display: inline-flex;
117
+ max-width: 100%;
118
+ height: fit-content;
119
+ padding: 0 8px;
120
+ background-color: @borderColor;
121
+ color: rgba(0,0,0,0.9);
122
+ font-size: 12px;
123
+ font-weight: 400;
124
+ line-height: 24px;
125
+ border-radius: @borderRadius;
126
+ margin-right: 8px;
113
127
  }
114
128
 
115
129
  &-nodata {
@@ -18,18 +18,20 @@
18
18
 
19
19
  &-text {
20
20
  .dsh-ellipsis();
21
+
21
22
  &-disabled {
22
23
  color: @borderColor;
23
24
  }
24
25
  }
25
-
26
+
26
27
  &-clear {
27
28
  margin-left: 5px;
28
29
  }
29
30
  }
30
31
 
31
32
  &-placeholder {
32
- color: @borderColor;
33
+ color: @placeholderColor;
34
+ padding: 0 7px;
33
35
  }
34
36
  }
35
37
 
@@ -57,6 +59,7 @@
57
59
  &-footer {
58
60
  width: 100%;
59
61
  padding: 10px;
62
+
60
63
  .btn {
61
64
  text-align: right;
62
65
  }
@@ -66,7 +69,8 @@
66
69
  }
67
70
 
68
71
  .ivu-cascader-transfer {
69
- max-height: 400px!important;
72
+ max-height: 400px !important;
73
+
70
74
  .ivu-cascader-menu {
71
75
  max-height: 400px;
72
76
  height: auto;