bri-components 1.0.3 → 1.1.0

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 (99) 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 +16 -6
  12. package/lib/styles/bundle.css +0 -2
  13. package/package.json +121 -120
  14. package/src/components/controls/base/BriLabels.vue +117 -0
  15. package/src/components/controls/base/DshCascader.vue +23 -38
  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 +5 -9
  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 +52 -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 +21 -20
  37. package/src/components/controls/senior/cascaderTable.vue +188 -0
  38. package/src/components/controls/senior/flatTable.vue +131 -0
  39. package/src/components/form/DshForm.vue +0 -5
  40. package/src/components/list/BriFlatTable.vue +430 -0
  41. package/src/components/list/BriTable.vue +184 -0
  42. package/src/components/list/DshBox/DshPanel.vue +63 -79
  43. package/src/components/list/DshBox/DshTable.vue +29 -39
  44. package/src/components/list/DshCascaderTable.vue +6 -11
  45. package/src/components/list/DshFlatTable.vue +9 -17
  46. package/src/components/other/BriTransfer.vue +71 -0
  47. package/src/components/small/BriButton.vue +65 -0
  48. package/src/components/small/BriTree.vue +42 -0
  49. package/src/components/small/Ctooltip.vue +1 -1
  50. package/src/components/small/DshButtons.vue +12 -42
  51. package/src/components/unit/DshFormItem.vue +11 -6
  52. package/src/components/unit/DshUnit.vue +1 -3
  53. package/src/components/unit/unitMixin.js +4 -1
  54. package/src/index.js +24 -4
  55. package/src/styles/bundle.css +0 -2
  56. package/src/styles/common/common.less +2 -2
  57. package/src/styles/common/control.less +53 -0
  58. package/src/styles/common/index.less +1 -0
  59. package/src/styles/components/controls/BriLabels.less +23 -0
  60. package/src/styles/components/controls/DshCascader.less +3 -3
  61. package/src/styles/components/controls/DshCheckbox.less +1 -1
  62. package/src/styles/components/controls/DshCoordinates.less +3 -3
  63. package/src/styles/components/controls/DshDate.less +54 -0
  64. package/src/styles/components/controls/DshDaterange.less +1 -1
  65. package/src/styles/components/controls/DshEditor.less +27 -9
  66. package/src/styles/components/controls/DshInput.less +5 -5
  67. package/src/styles/components/controls/DshLabels.less +1 -1
  68. package/src/styles/components/controls/DshSelect.less +46 -30
  69. package/src/styles/components/controls/ZUpload.less +82 -91
  70. package/src/styles/components/controls/cascaderTable.less +33 -0
  71. package/src/styles/components/controls/controlShow.less +12 -0
  72. package/src/styles/components/controls/flatTable.less +33 -0
  73. package/src/styles/components/form/DshAdvSearchForm.less +6 -6
  74. package/src/styles/components/index.less +10 -0
  75. package/src/styles/components/list/BriFlatTable.less +8 -0
  76. package/src/styles/components/list/BriTable.less +155 -0
  77. package/src/styles/components/list/DshFlatTable.less +3 -8
  78. package/src/styles/components/list/evTable.less +1 -1
  79. package/src/styles/components/other/BriTransfer.less +65 -0
  80. package/src/styles/components/other/DshEditPanel.less +2 -2
  81. package/src/styles/components/other/DshMenuNav.less +5 -5
  82. package/src/styles/components/other/ZGantt.less +5 -5
  83. package/src/styles/components/small/BriButton.less +259 -0
  84. package/src/styles/components/small/BriTree.less +57 -0
  85. package/src/styles/components/small/Ctooltip.less +14 -0
  86. package/src/styles/components/small/DshButtons.less +1 -1
  87. package/src/styles/components/small/DshControlDefine.less +2 -2
  88. package/src/styles/components/small/DshDropdown.less +1 -1
  89. package/src/styles/components/small/DshPage.less +1 -1
  90. package/src/styles/components/small/DshTabs.less +2 -2
  91. package/src/styles/components/unit/DshFormItem.less +5 -6
  92. package/src/styles/index.less +1 -5
  93. package/src/styles/plugin/easytable.less +22 -0
  94. package/src/styles/plugin/index.less +2 -0
  95. package/src/styles/plugin/iview.less +33 -0
  96. package/src/styles/variables.less +71 -88
  97. package/src/utils/table.js +72 -978
  98. package/src/styles/define.less +0 -374
  99. package/src/styles/view_reset.less +0 -452
@@ -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
@@ -20,7 +16,10 @@ export default {
20
16
  return {};
21
17
  }
22
18
  },
23
- isShare: Boolean
19
+ isUnit: {
20
+ type: Boolean,
21
+ default: false
22
+ }
24
23
  },
25
24
  data () {
26
25
  return {};
@@ -38,6 +37,9 @@ export default {
38
37
  inTable () {
39
38
  return !!this.propsObj.inTable;
40
39
  },
40
+ isShare () {
41
+ return !!this.propsObj.isShare;
42
+ },
41
43
  controlKey () {
42
44
  return this.propsObj._key;
43
45
  },
@@ -55,22 +57,21 @@ export default {
55
57
  _clearable: this.finalCanEdit && (this.propsObj._clearable === undefined ? true : this.propsObj._clearable)
56
58
  };
57
59
  },
58
- // 不同mode模式下readOnly 和disabled样式名
60
+ currentVal () {
61
+ return this.value[this.controlKey];
62
+ },
59
63
  commonClass () {
60
- let commonClass = `control-${this.mode}-${
61
- this.$isReadonly(this.canEdit, this.propsObj)
62
- ? "readonly"
63
- : (
64
- this.$isDisabled(this.canEdit, this.propsObj)
65
- ? "disabled"
66
- : "edit"
67
- )
68
- }`;
69
- let otherClass = "";
70
- if (this.mode === "rimless" && this.propsObj._line) {
71
- // otherClass = `control-${this.mode}-span${this.propsObj._span}`;
72
- }
73
- return commonClass + " " + otherClass;
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 ? "-" : "暂无内容");
74
75
  }
75
76
  },
76
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,131 @@
1
+ <template>
2
+ <div class="flatTable">
3
+ <span v-if="isUnit" class="flatTable-unit">
4
+ <dsh-icons
5
+ :list="$getOperationList(['link'])"
6
+ ></dsh-icons>
7
+ <span class="flatTable-unit-text">
8
+ {{ val.list.length || 0 }}行
9
+ </span>
10
+ </span>
11
+
12
+ <!-- 设置默认值所用的控件 -->
13
+ <dsh-btn-modal v-else-if="propsObj._key === '_default'">
14
+ <bri-flat-table
15
+ :canEdit="finalCanEdit"
16
+ :columns="columns"
17
+ :data="val.list"
18
+ :rowDefault="val.rowDefault"
19
+ :propsObj="propsObj"
20
+ @change="change"
21
+ ></bri-flat-table>
22
+ </dsh-btn-modal>
23
+
24
+ <!-- 操作按钮 -->
25
+ <template v-else>
26
+ <dsh-buttons
27
+ class="flatTable-btns"
28
+ itemClass="flatTable-btns-item"
29
+ :list="$getOperationList(['canEnlarge'])"
30
+ @click="$dispatchEvent($event)"
31
+ ></dsh-buttons>
32
+
33
+ <bri-flat-table
34
+ ref="dshFatTable"
35
+ :canEdit="finalCanEdit"
36
+ :columns="columns"
37
+ :data="val.list"
38
+ :oldData="val.oldList"
39
+ :rowDefault="val.rowDefault"
40
+ :isShare="isShare"
41
+ :propsObj="propsObj"
42
+ @change="change"
43
+ ></bri-flat-table>
44
+
45
+ <dsh-modal
46
+ v-model="isEnlarge"
47
+ mode="custom"
48
+ :propsObj="modalPropsObj"
49
+ >
50
+ <bri-flat-table
51
+ v-if="value[controlKey] && isEnlarge"
52
+ :canEdit="finalCanEdit"
53
+ :columns="columns"
54
+ :data="val.list"
55
+ :oldData="val.oldList"
56
+ :rowDefault="val.rowDefault"
57
+ :isShare="isShare"
58
+ :propsObj="propsObj"
59
+ @change="change"
60
+ ></bri-flat-table>
61
+ </dsh-modal>
62
+ </template>
63
+ </div>
64
+ </template>
65
+
66
+ <script>
67
+ import controlMixin from "../controlMixin.js";
68
+
69
+ export default {
70
+ name: "flatTable",
71
+ mixins: [controlMixin],
72
+ components: {},
73
+ props: {
74
+ },
75
+ data () {
76
+ return {
77
+ operationMap: {
78
+ canEnlarge: {
79
+ name: "全屏展示",
80
+ type: "canEnlarge",
81
+ icon: "md-expand",
82
+ size: "small",
83
+ btnType: "text",
84
+ event: "enlarge"
85
+ },
86
+ link: {
87
+ customIcon: "bico-internaltable"
88
+ }
89
+ },
90
+ isEnlarge: false
91
+ };
92
+ },
93
+ computed: {
94
+ modalPropsObj () {
95
+ return {
96
+ title: this.propsObj._name,
97
+ fullscreen: true,
98
+ showSlotClose: false,
99
+ closable: true
100
+ };
101
+ },
102
+ val () {
103
+ // TODOS: 待定处理
104
+ return this.value[this.controlKey] || {
105
+ list: [],
106
+ oldList: [],
107
+ rowDefault: {}
108
+ };
109
+ },
110
+ columns () {
111
+ return this.propsObj._subForm;
112
+ }
113
+ },
114
+ created () {},
115
+ methods: {
116
+ // 校验方法 -供外部使用
117
+ validate () {
118
+ return this.$refs.dshFatTable.validate();
119
+ },
120
+
121
+ change (...params) {
122
+ this.$emit("change", ...params);
123
+ },
124
+
125
+ // 打开全屏模态框
126
+ enlarge () {
127
+ this.isEnlarge = true;
128
+ }
129
+ }
130
+ };
131
+ </script>
@@ -22,10 +22,8 @@
22
22
  >
23
23
  <dsh-formItem
24
24
  ref="dshFormItem"
25
- :mode="mode"
26
25
  :canEdit="canEdit"
27
26
  :formData="formData"
28
- :isShare="isShare"
29
27
  :formItem="formItem"
30
28
  :allFormList="allFormList"
31
29
  :changedFields="changedFields"
@@ -39,7 +37,6 @@
39
37
  @changeField="changeField"
40
38
  >
41
39
  <slot
42
- :mode="mode"
43
40
  :canEdit="canEdit"
44
41
  :formItem="formItem"
45
42
  :formData="formData"
@@ -98,7 +95,6 @@
98
95
  name: "DshForm",
99
96
  components: {},
100
97
  props: {
101
- mode: String,
102
98
  canEdit: {
103
99
  type: Boolean,
104
100
  default: true
@@ -141,7 +137,6 @@
141
137
  labelWidth: [String, Number],
142
138
  formItemClass: String,
143
139
  formControlClass: String,
144
- isShare: Boolean,
145
140
  showRules: {
146
141
  type: Boolean,
147
142
  default: true