bri-components 1.0.5 → 1.1.1

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 (119) 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 -0
  9. package/lib/8.bri-components.min.js +1 -0
  10. package/lib/9.bri-components.min.js +1 -0
  11. package/lib/bri-components.min.js +13 -5
  12. package/lib/styles/bundle.css +0 -2
  13. package/package.json +2 -1
  14. package/src/components/controls/base/BriLabels.vue +223 -0
  15. package/src/components/controls/base/DshCascader.vue +24 -43
  16. package/src/components/controls/base/DshCascaderMultiple.vue +1 -1
  17. package/src/components/controls/base/DshCheckbox.vue +14 -4
  18. package/src/components/controls/base/DshCoordinates.vue +88 -87
  19. package/src/components/controls/base/DshDate.vue +10 -34
  20. package/src/components/controls/base/DshDivider.vue +1 -1
  21. package/src/components/controls/base/DshEditor.vue +57 -44
  22. package/src/components/controls/base/DshInput.vue +18 -45
  23. package/src/components/controls/base/DshLabels.vue +8 -4
  24. package/src/components/controls/base/DshNumber/DshNumber.vue +6 -20
  25. package/src/components/controls/base/DshNumberange.vue +1 -1
  26. package/src/components/controls/base/DshPackage.vue +7 -1
  27. package/src/components/controls/base/DshSelect.vue +15 -5
  28. package/src/components/controls/base/DshSwitch.vue +2 -6
  29. package/src/components/controls/base/YSerialNumber.vue +0 -1
  30. package/src/components/controls/base/ZUpload/index.vue +16 -10
  31. package/src/components/controls/base/ZUpload/upload-list.vue +17 -12
  32. package/src/components/controls/base/ZUpload/uploadMixin.js +1 -5
  33. package/src/components/controls/base/controlShow.vue +52 -0
  34. package/src/components/controls/base/textMultiple/DshTextMultiple.vue +1 -1
  35. package/src/components/controls/controlMap.js +4 -0
  36. package/src/components/controls/controlMixin.js +18 -12
  37. package/src/components/controls/senior/cascaderTable.vue +188 -0
  38. package/src/components/controls/senior/flatTable.vue +136 -0
  39. package/src/components/form/DshForm.vue +4 -3
  40. package/src/components/list/BriFlatTable.vue +435 -0
  41. package/src/components/list/BriTable.vue +184 -0
  42. package/src/components/list/DshBox/DshBox.vue +1 -1
  43. package/src/components/list/DshBox/DshCard.vue +1 -1
  44. package/src/components/list/DshBox/DshCrossTable.vue +1 -1
  45. package/src/components/list/DshBox/DshList.vue +3 -3
  46. package/src/components/list/DshBox/DshPanel.vue +5 -10
  47. package/src/components/list/DshBox/DshSingleData.vue +1 -1
  48. package/src/components/list/DshBox/DshTable.vue +29 -39
  49. package/src/components/list/DshCascaderTable.vue +8 -12
  50. package/src/components/list/DshFlatTable.vue +1 -1
  51. package/src/components/list/easyTable/v-table/src/table.vue +3 -3
  52. package/src/components/list/evTable/EvTable.vue +1 -1
  53. package/src/components/other/BriTransfer.vue +71 -0
  54. package/src/components/other/ZGantt.vue +2 -2
  55. package/src/components/small/BriButton.vue +65 -0
  56. package/src/components/small/BriTree.vue +42 -0
  57. package/src/components/small/Ctooltip.vue +1 -1
  58. package/src/components/small/DshButtons.vue +12 -42
  59. package/src/components/small/DshControlDefine.vue +2 -1
  60. package/src/components/small/DshDropdown.vue +1 -1
  61. package/src/components/small/DshTdRender.js +1 -1
  62. package/src/components/unit/DshFormItem.vue +0 -2
  63. package/src/components/unit/DshUnit.vue +1 -1
  64. package/src/components/unit/unitMixin.js +4 -1
  65. package/src/index.js +24 -4
  66. package/src/styles/bundle.css +0 -2
  67. package/src/styles/common/common.less +2 -2
  68. package/src/styles/common/control.less +54 -0
  69. package/src/styles/common/index.less +1 -0
  70. package/src/styles/components/controls/BriLabels.less +119 -0
  71. package/src/styles/components/controls/DshCascader.less +3 -3
  72. package/src/styles/components/controls/DshCheckbox.less +1 -1
  73. package/src/styles/components/controls/DshCoordinates.less +8 -3
  74. package/src/styles/components/controls/DshDate.less +54 -0
  75. package/src/styles/components/controls/DshDaterange.less +1 -1
  76. package/src/styles/components/controls/DshEditor.less +27 -9
  77. package/src/styles/components/controls/DshInput.less +11 -5
  78. package/src/styles/components/controls/DshLabels.less +1 -1
  79. package/src/styles/components/controls/DshSelect.less +46 -30
  80. package/src/styles/components/controls/ZUpload.less +82 -91
  81. package/src/styles/components/controls/cascaderTable.less +33 -0
  82. package/src/styles/components/controls/controlShow.less +10 -0
  83. package/src/styles/components/controls/flatTable.less +33 -0
  84. package/src/styles/components/form/DshAdvSearchForm.less +6 -6
  85. package/src/styles/components/index.less +11 -1
  86. package/src/styles/components/list/BriFlatTable.less +8 -0
  87. package/src/styles/components/list/BriTable.less +155 -0
  88. package/src/styles/components/list/DshFlatTable.less +3 -8
  89. package/src/styles/components/list/evTable.less +1 -1
  90. package/src/styles/components/other/BriTransfer.less +65 -0
  91. package/src/styles/components/other/DshEditPanel.less +2 -2
  92. package/src/styles/components/other/DshMenuNav.less +5 -5
  93. package/src/styles/components/other/ZGantt.less +5 -5
  94. package/src/styles/components/small/BriButton.less +259 -0
  95. package/src/styles/components/small/BriTree.less +57 -0
  96. package/src/styles/components/small/Ctooltip.less +14 -0
  97. package/src/styles/components/small/DshButtons.less +1 -1
  98. package/src/styles/components/small/DshControlDefine.less +13 -35
  99. package/src/styles/components/small/DshDropdown.less +1 -1
  100. package/src/styles/components/small/DshPage.less +1 -1
  101. package/src/styles/components/small/DshTabs.less +2 -2
  102. package/src/styles/components/small/DshTitle.less +0 -3
  103. package/src/styles/components/unit/DshFormItem.less +6 -7
  104. package/src/styles/iconfont/iconfont.css +254 -0
  105. package/src/styles/iconfont/iconfont.eot +0 -0
  106. package/src/styles/iconfont/iconfont.js +1 -0
  107. package/src/styles/iconfont/iconfont.json +422 -0
  108. package/src/styles/iconfont/iconfont.svg +137 -0
  109. package/src/styles/iconfont/iconfont.ttf +0 -0
  110. package/src/styles/iconfont/iconfont.woff +0 -0
  111. package/src/styles/iconfont/iconfont.woff2 +0 -0
  112. package/src/styles/index.less +2 -5
  113. package/src/styles/plugin/easytable.less +22 -0
  114. package/src/styles/plugin/index.less +2 -0
  115. package/src/styles/plugin/iview.less +34 -0
  116. package/src/styles/variables.less +71 -88
  117. package/src/utils/table.js +72 -978
  118. package/src/styles/define.less +0 -374
  119. package/src/styles/view_reset.less +0 -452
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <div class="controlShow">
3
+ <Ctooltip
4
+ :transfer="true"
5
+ maxWidth="200"
6
+ :content="showVal"
7
+ >
8
+ <div
9
+ v-if="$isFormItemHasData(showVal)"
10
+ class="dsh-ellipsis controlShow-val"
11
+ >
12
+ {{ showVal }}
13
+ </div>
14
+ <div
15
+ v-else
16
+ class="controlShow-nodata dsh-ellipsis"
17
+ >
18
+ {{noDataText}}
19
+ </div>
20
+ </Ctooltip>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+
26
+ export default {
27
+ name: "controlShow",
28
+ props: {
29
+ showVal: String,
30
+ propsObj: {
31
+ type: Object,
32
+ default: () => {
33
+ return {};
34
+ }
35
+ },
36
+ isUnit: Boolean
37
+ },
38
+ data () {
39
+ return {
40
+ };
41
+ },
42
+ computed: {
43
+ noDataText () {
44
+ return this.isUnit ? "-" : "暂无内容";
45
+ }
46
+ },
47
+ created () {
48
+ },
49
+ methods: {
50
+ }
51
+ };
52
+ </script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="DshTextMultiple ycFormItem">
2
+ <div class="DshTextMultiple">
3
3
  <Input
4
4
  class="DshTextMultiple-control"
5
5
  v-model="text"
@@ -35,6 +35,8 @@ const componentNameMap = {
35
35
  tag: "DshDivider",
36
36
  labels: "DshLabels",
37
37
  package: "DshPackage",
38
+ flatTable: "flatTable",
39
+ cascaderTable: "cascaderTable",
38
40
 
39
41
  back: "DshBack",
40
42
  undefined: "DshUndeveloped",
@@ -62,6 +64,8 @@ const pathMap = {
62
64
  DshDivider: "./base/DshDivider.vue",
63
65
  DshLabels: "./base/DshLabels.vue",
64
66
  DshPackage: "./base/DshPackage.vue",
67
+ flatTable: "./senior/flatTable.vue",
68
+ cascaderTable: "./senior/cascaderTable",
65
69
 
66
70
  DshBack: "./base/DshBack.vue",
67
71
  DshUndeveloped: "./base/DshUndeveloped.vue"
@@ -1,9 +1,5 @@
1
1
  export default {
2
2
  props: {
3
- mode: {
4
- type: String,
5
- default: "default"
6
- },
7
3
  canEdit: {
8
4
  type: Boolean,
9
5
  default: true
@@ -19,6 +15,10 @@ export default {
19
15
  default () {
20
16
  return {};
21
17
  }
18
+ },
19
+ isUnit: {
20
+ type: Boolean,
21
+ default: false
22
22
  }
23
23
  },
24
24
  data () {
@@ -57,15 +57,21 @@ export default {
57
57
  _clearable: this.finalCanEdit && (this.propsObj._clearable === undefined ? true : this.propsObj._clearable)
58
58
  };
59
59
  },
60
- // 不同mode模式下readOnly 和disabled样式名
60
+ currentVal () {
61
+ return this.value[this.controlKey];
62
+ },
61
63
  commonClass () {
62
- let commonClass = `control-${this.mode}-${this.$isReadonly(this.canEdit, this.propsObj)
63
- ? "readonly"
64
- : this.$isDisabled(this.canEdit, this.propsObj)
65
- ? "disabled"
66
- : "edit"
67
- }`;
68
- return commonClass;
64
+ return {
65
+ "dsh-ellipsis": true,
66
+ "control-edit": this.finalCanEdit,
67
+ "control-disabled": this.$isDisabled(this.canEdit, this.propsObj),
68
+ // "control-readonly": this.$isReadonly(this.canEdit, this.propsObj),
69
+ "control-show": !this.canEdit,
70
+ "control-notext": !this.currentVal
71
+ };
72
+ },
73
+ showText () {
74
+ return this.currentVal || (this.isUnit ? "-" : "暂无内容");
69
75
  }
70
76
  },
71
77
  methods: {
@@ -0,0 +1,188 @@
1
+ <template>
2
+ <div class="cascaderTable" :id="`cascaderTable${controlKey}`">
3
+ <!-- 表格查看 -->
4
+ <span v-if="isUnit" class="cascaderTable-unit">
5
+ <dsh-icons
6
+ :list="$getOperationList(['link'])"
7
+ ></dsh-icons>
8
+ <span class="cascaderTable-unit-text">
9
+ {{ value[controlKey] && value[controlKey].tree.length || 0 }}行
10
+ </span>
11
+ </span>
12
+
13
+ <!-- 配置端默认模式-->
14
+ <dsh-btn-modal v-else-if="propsObj._key === '_default'">
15
+ <dsh-cascader-table
16
+ :canEdit="finalCanEdit"
17
+ :treeColumns="treeColumns"
18
+ :subColumns="subColumns"
19
+ :data="value[controlKey]"
20
+ :propsObj="propsObj"
21
+ @change="change"
22
+ ></dsh-cascader-table>
23
+ </dsh-btn-modal>
24
+
25
+ <template v-else>
26
+ <!-- 操作按钮 -->
27
+ <dsh-buttons
28
+ class="cascaderTable-btns"
29
+ itemClass="cascaderTable-btns-item"
30
+ :list="$getOperationList(operationFieldList)"
31
+ @click="$dispatchEvent($event)"
32
+ ></dsh-buttons>
33
+
34
+ <dsh-cascader-table
35
+ v-if="value[controlKey]"
36
+ useCol
37
+ :canEdit="finalCanEdit"
38
+ :treeColumns="treeColumns"
39
+ :subColumns="subColumns"
40
+ :data="value[controlKey]"
41
+ :propsObj="propsObj"
42
+ @change="change"
43
+ ></dsh-cascader-table>
44
+
45
+ <dsh-modal
46
+ v-model="isEnlarge"
47
+ mode="custom"
48
+ :propsObj="modalPropsObj"
49
+ >
50
+ <dsh-cascader-table
51
+ v-if="value[controlKey] && isEnlarge"
52
+ useCol
53
+ :canEdit="finalCanEdit"
54
+ :treeColumns="treeColumns"
55
+ :subColumns="subColumns"
56
+ :data="value[controlKey]"
57
+ :propsObj="propsObj"
58
+ @change="change"
59
+ ></dsh-cascader-table>
60
+ </dsh-modal>
61
+ </template>
62
+ </div>
63
+ </template>
64
+
65
+ <script>
66
+ import controlMixin from "../controlMixin.js";
67
+
68
+ export default {
69
+ name: "cascaderTable",
70
+ mixins: [controlMixin],
71
+ components: {},
72
+ props: {},
73
+ data () {
74
+ return {
75
+ operationMap: {
76
+ canExport: {
77
+ name: "导出",
78
+ type: "canExport",
79
+ icon: "md-share-alt",
80
+ size: "small",
81
+ btnType: "text",
82
+ event: "openExportModal"
83
+ },
84
+ canEnlarge: {
85
+ name: "全屏展示",
86
+ type: "canEnlarge",
87
+ icon: "md-expand",
88
+ size: "small",
89
+ btnType: "text",
90
+ event: "enlarge"
91
+ },
92
+ link: {
93
+ customIcon: "bico-Cascadetable"
94
+ }
95
+ },
96
+ isEnlarge: false,
97
+ timer: null
98
+ };
99
+ },
100
+ computed: {
101
+ modalPropsObj () {
102
+ return {
103
+ title: this.propsObj._name,
104
+ fullscreen: true,
105
+ showSlotClose: false,
106
+ closable: true
107
+ };
108
+ },
109
+ operationFieldList () {
110
+ return this.propsObj._isExport ? ["canExport", "canEnlarge"] : ["canEnlarge"];
111
+ },
112
+ treeColumns () {
113
+ return this.value[this.controlKey]._treeForm
114
+ ? this.value[this.controlKey]._treeForm
115
+ : this.propsObj._treeForm;
116
+ },
117
+ subColumns () {
118
+ return this.propsObj._subForm;
119
+ }
120
+ },
121
+ created () {},
122
+ methods: {
123
+ // 发生变动
124
+ change (...params) {
125
+ this.$emit("change", ...params);
126
+ },
127
+
128
+ // 导出点击
129
+ openExportModal (operationItem) {
130
+ operationItem.disabled = true;
131
+ this.$https({
132
+ url: {
133
+ module: "sheet",
134
+ name: "exportCascaderTableExcel",
135
+ params: {
136
+ modKey: this.modKey
137
+ }
138
+ },
139
+ params: {
140
+ _key: this.controlKey,
141
+ _id: this.value._id
142
+ },
143
+ callback: data => {
144
+ setTimeout(() => {
145
+ operationItem.disabled = false;
146
+ }, 500);
147
+ this.timer = setInterval(this.getTransitStatus(data.jobId, data.excel_url), 1000);
148
+ }
149
+ });
150
+ },
151
+ getTransitStatus (id, url) {
152
+ let that = this;
153
+ return function () {
154
+ that.getJobStatus(id, url);
155
+ };
156
+ },
157
+ getJobStatus (id, url) {
158
+ this.$https({
159
+ url: {
160
+ module: "sheet",
161
+ name: "getJobStatus"
162
+ },
163
+ params: {
164
+ jobId: id
165
+ },
166
+ callback: data => {
167
+ if (data.status === "completed") {
168
+ clearInterval(this.timer);
169
+ window.location.href = data.url;
170
+ } else if (data.status === "failed") {
171
+ clearInterval(this.timer);
172
+ // this.exportBtnLoading = false;
173
+ this.$Message.info({ content: "操作失败,请稍后再试" });
174
+ }
175
+ },
176
+ error: data => {
177
+ this.timer = null;
178
+ }
179
+ });
180
+ },
181
+
182
+ // 打开全屏模态框
183
+ enlarge () {
184
+ this.isEnlarge = true;
185
+ }
186
+ }
187
+ };
188
+ </script>
@@ -0,0 +1,136 @@
1
+ <template>
2
+ <div class="flatTable">
3
+ <span
4
+ v-if="isUnit"
5
+ class="flatTable-unit"
6
+ >
7
+ <dsh-icons :list="$getOperationList(['link'])"></dsh-icons>
8
+ <span class="flatTable-unit-text">
9
+ {{ val.list.length }}行
10
+ </span>
11
+ </span>
12
+
13
+ <template v-else>
14
+ <!-- 设置默认值所用的控件 -->
15
+ <dsh-btn-modal v-if="propsObj._key === '_default'">
16
+ <bri-flat-table
17
+ :canEdit="finalCanEdit"
18
+ :columns="columns"
19
+ :data="val.list"
20
+ :rowDefault="val.rowDefault"
21
+ :outObj="value"
22
+ :propsObj="propsObj"
23
+ @change="change"
24
+ ></bri-flat-table>
25
+ </dsh-btn-modal>
26
+
27
+ <!-- 操作按钮 -->
28
+ <template v-else>
29
+ <dsh-buttons
30
+ class="flatTable-btns"
31
+ itemClass="flatTable-btns-item"
32
+ :list="$getOperationList(['canEnlarge'])"
33
+ @click="$dispatchEvent($event)"
34
+ ></dsh-buttons>
35
+
36
+ <bri-flat-table
37
+ ref="dshFatTable"
38
+ :canEdit="finalCanEdit"
39
+ :columns="columns"
40
+ :data="val.list"
41
+ :oldData="val.oldList"
42
+ :rowDefault="val.rowDefault"
43
+ :outObj="value"
44
+ :propsObj="propsObj"
45
+ @change="change"
46
+ ></bri-flat-table>
47
+
48
+ <dsh-modal
49
+ v-model="isEnlarge"
50
+ mode="custom"
51
+ :propsObj="modalPropsObj"
52
+ >
53
+ <bri-flat-table
54
+ v-if="value[controlKey] && isEnlarge"
55
+ :canEdit="finalCanEdit"
56
+ :columns="columns"
57
+ :data="val.list"
58
+ :oldData="val.oldList"
59
+ :rowDefault="val.rowDefault"
60
+ :outObj="value"
61
+ :propsObj="propsObj"
62
+ @change="change"
63
+ ></bri-flat-table>
64
+ </dsh-modal>
65
+ </template>
66
+ </template>
67
+ </div>
68
+ </template>
69
+
70
+ <script>
71
+ import controlMixin from "../controlMixin.js";
72
+
73
+ export default {
74
+ name: "flatTable",
75
+ mixins: [
76
+ controlMixin
77
+ ],
78
+ components: {},
79
+ props: {},
80
+ data () {
81
+ return {
82
+ isEnlarge: false,
83
+
84
+ operationMap: {
85
+ canEnlarge: {
86
+ name: "全屏展示",
87
+ type: "canEnlarge",
88
+ icon: "md-expand",
89
+ size: "small",
90
+ btnType: "text",
91
+ event: "enlarge"
92
+ },
93
+ link: {
94
+ customIcon: "bico-internaltable"
95
+ }
96
+ }
97
+ };
98
+ },
99
+ computed: {
100
+ modalPropsObj () {
101
+ return {
102
+ title: this.propsObj._name,
103
+ fullscreen: true,
104
+ showSlotClose: false,
105
+ closable: true
106
+ };
107
+ },
108
+ val () {
109
+ // TODOS: 待定处理
110
+ return this.value[this.controlKey] || {
111
+ list: [],
112
+ oldList: [],
113
+ rowDefault: {}
114
+ };
115
+ },
116
+ columns () {
117
+ return this.propsObj._subForm;
118
+ }
119
+ },
120
+ created () {},
121
+ methods: {
122
+ // 校验方法 -供外部使用
123
+ validate () {
124
+ return this.$refs.dshFatTable.validate();
125
+ },
126
+ // 打开全屏模态框
127
+ enlarge () {
128
+ this.isEnlarge = true;
129
+ },
130
+
131
+ change (...params) {
132
+ this.$emit("change", ...params);
133
+ }
134
+ }
135
+ };
136
+ </script>
@@ -22,7 +22,6 @@
22
22
  >
23
23
  <dsh-formItem
24
24
  ref="dshFormItem"
25
- :mode="mode"
26
25
  :canEdit="canEdit"
27
26
  :formData="formData"
28
27
  :formItem="formItem"
@@ -38,7 +37,6 @@
38
37
  @changeField="changeField"
39
38
  >
40
39
  <slot
41
- :mode="mode"
42
40
  :canEdit="canEdit"
43
41
  :formItem="formItem"
44
42
  :formData="formData"
@@ -97,7 +95,6 @@
97
95
  name: "DshForm",
98
96
  components: {},
99
97
  props: {
100
- mode: String,
101
98
  canEdit: {
102
99
  type: Boolean,
103
100
  default: true
@@ -334,5 +331,9 @@
334
331
  // font-size: 18px;
335
332
  // }
336
333
  }
334
+ .ivu-form-item-error-tip {
335
+ top: 90%;
336
+ left: 15px;
337
+ }
337
338
  }
338
339
  </style>