bri-components 1.2.56 → 1.2.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.
Files changed (41) hide show
  1. package/package.json +2 -2
  2. package/src/components/controls/base/BriUpload/BriUpload.vue +1 -1
  3. package/src/components/controls/base/DshCascader/DshCascader.vue +49 -203
  4. package/src/components/controls/base/DshCascader/{cascaderModal.vue → components/cascaderModal.vue} +24 -32
  5. package/src/components/controls/base/DshCascader/{cascaderPicker.vue → components/cascaderPicker.vue} +25 -21
  6. package/src/components/controls/base/DshCascader/components/cascaderSimple.vue +141 -0
  7. package/src/components/controls/base/DshCoordinates.vue +1 -1
  8. package/src/components/controls/base/DshDate/DshDate.vue +1 -1
  9. package/src/components/controls/base/DshDate/DshDaterange.vue +1 -1
  10. package/src/components/controls/base/DshDivider.vue +1 -1
  11. package/src/components/controls/base/DshEditor.vue +1 -1
  12. package/src/components/controls/base/DshInput/BriInputs.vue +1 -1
  13. package/src/components/controls/base/DshInput/DshInput.vue +1 -1
  14. package/src/components/controls/base/DshNumber/DshNumber.vue +1 -1
  15. package/src/components/controls/base/DshNumber/DshNumberange.vue +1 -1
  16. package/src/components/controls/base/DshSelect/DshCheckbox.vue +1 -1
  17. package/src/components/controls/base/DshSelect/DshSelect.vue +1 -1
  18. package/src/components/controls/base/DshSwitch/switchMixin.js +1 -1
  19. package/src/components/controls/extra/themeColor.vue +1 -1
  20. package/src/components/controls/extra/themeIcon.vue +1 -1
  21. package/src/components/controls/{base/DshCascader → mixins}/cascaderMixin.js +19 -34
  22. package/src/components/controls/{base/DshCascader → mixins}/cascaderPickerMixin.js +52 -44
  23. package/src/components/controls/{base/DshSelect → mixins}/selectMixin.js +1 -1
  24. package/src/components/controls/senior/BriLabels.vue +1 -1
  25. package/src/components/controls/senior/DshPackage.vue +1 -1
  26. package/src/components/controls/senior/cascaderTable.vue +1 -1
  27. package/src/components/controls/senior/flatTable.vue +11 -6
  28. package/src/components/controls/senior/flatTableImportModal.vue +7 -36
  29. package/src/components/controls/senior/selectDepartments.vue +1 -1
  30. package/src/components/controls/senior/selectUsers/selectUsers.vue +1 -1
  31. package/src/components/controls/special/DshBack.vue +1 -1
  32. package/src/components/controls/special/DshUndeveloped.vue +1 -1
  33. package/src/components/form/DshAdvSearch.vue +1 -1
  34. package/src/components/list/DshBox/DshCard.vue +153 -38
  35. package/src/components/list/DshBox/DshPanel.vue +260 -93
  36. package/src/components/small/BriTooltip.vue +2 -2
  37. package/src/components/unit/DshFormUnit.vue +6 -18
  38. package/src/styles/components/index.less +0 -2
  39. package/src/styles/components/list/DshBox/DshCard.less +0 -59
  40. package/src/styles/components/list/DshBox/DshPanel.less +0 -107
  41. /package/src/components/controls/{controlMixin.js → mixins/controlMixin.js} +0 -0
@@ -187,7 +187,11 @@
187
187
  headers: { "Content-Type": "multipart/form-data" }
188
188
  },
189
189
  callback: data => {
190
- this.timer = setInterval(this.getTransitStatus(data.jobId, "import"), 1000);
190
+ this.$Message.success("导入成功");
191
+ this.file = null;
192
+ this.loadingStatus = false;
193
+ this.$emit("importCb", data);
194
+ this.showModal = false;
191
195
  },
192
196
  error: data => {
193
197
  this.$Message.error("导入失败:" + data.msg);
@@ -198,14 +202,10 @@
198
202
  });
199
203
  },
200
204
 
201
- getTransitStatus (id, type) {
205
+ getTransitStatus (id) {
202
206
  let that = this;
203
207
  return function () {
204
- if (type && type === "import") {
205
- that.getImportJobStatus(id);
206
- } else {
207
- that.getJobStatus(id);
208
- }
208
+ that.getJobStatus(id);
209
209
  };
210
210
  },
211
211
  // 状态查询
@@ -231,35 +231,6 @@
231
231
  this.timer = null;
232
232
  }
233
233
  });
234
- },
235
- // 导入状态查询
236
- getImportJobStatus (id) {
237
- this.$https({
238
- url: {
239
- module: "sheet",
240
- name: "getImportJobStatus"
241
- },
242
- params: {
243
- jobId: id
244
- },
245
- callback: data => {
246
- if (data.status === "over") {
247
- clearInterval(this.timer);
248
- this.$Message.success("导入成功");
249
- this.file = null;
250
- this.loadingStatus = false;
251
- this.showModal = false;
252
- this.$emit("importCb");
253
- } else if (data.status === "check-fai" || data.status === "fai") {
254
- clearInterval(this.timer);
255
- this.$Message.info({ content: data.faiMsg });
256
- this.loadingStatus = false;
257
- }
258
- },
259
- error: data => {
260
- this.timer = null;
261
- }
262
- });
263
234
  }
264
235
  }
265
236
  };
@@ -121,7 +121,7 @@
121
121
  </template>
122
122
 
123
123
  <script>
124
- import controlMixin from "../controlMixin.js";
124
+ import controlMixin from "../mixins/controlMixin.js";
125
125
  import BriTreeItem from "../../list/BriTreeItem.vue";
126
126
  import BriCard from "../../list/BriCard.vue";
127
127
 
@@ -200,7 +200,7 @@
200
200
  </template>
201
201
 
202
202
  <script>
203
- import controlMixin from "../../controlMixin.js";
203
+ import controlMixin from "../../mixins/controlMixin.js";
204
204
  import departMenu from "./departMenu.vue";
205
205
 
206
206
  export default {
@@ -9,7 +9,7 @@
9
9
  </template>
10
10
 
11
11
  <script>
12
- import controlMixin from "../controlMixin.js";
12
+ import controlMixin from "../mixins/controlMixin.js";
13
13
 
14
14
  export default {
15
15
  name: "DshBack",
@@ -5,7 +5,7 @@
5
5
  </template>
6
6
 
7
7
  <script>
8
- import controlMixin from "../controlMixin.js";
8
+ import controlMixin from "../mixins/controlMixin.js";
9
9
 
10
10
  export default {
11
11
  name: "DshUndeveloped",
@@ -422,7 +422,7 @@
422
422
  }
423
423
 
424
424
  &-control {
425
- .dsh-margin-bottom5();
425
+ margin-bottom: 5px;
426
426
  }
427
427
 
428
428
  &-blank {
@@ -1,21 +1,16 @@
1
1
  <template>
2
2
  <div class="DshCard">
3
- <!-- 无数据 -->
4
- <div
5
- v-if="!data.length"
6
- class="dsh-tip"
7
- >{{noDataText}}</div>
8
-
9
3
  <!-- 有数据 -->
10
- <template v-else>
4
+ <template v-if="data.length">
11
5
  <div
12
- class="DshCard-item"
13
6
  v-for="(dataItem, dataIndex) in data"
14
7
  :key="dataIndex"
8
+ class="DshCard-item"
15
9
  @click="clickRow(dataItem)"
16
10
  >
17
11
  <!-- 下拉操作(定位css) -->
18
12
  <dsh-dropdown
13
+ v-if="operationList.length"
19
14
  class="DshCard-item-dropdown"
20
15
  :dropdownObj="dropdownObj"
21
16
  :list="operationList"
@@ -34,36 +29,41 @@
34
29
  <!-- 内容 -->
35
30
  <div class="DshCard-item-info">
36
31
  <!-- 标题 -->
37
- <div class="DshCard-item-info-title dsh-ellipsis">
38
- <bri-tooltip
39
- placement="top"
40
- :transfer="true"
41
- :content="dataItem[propsObj.titleField]"
42
- >
43
- <div class="dsh-ellipsis">{{ dataItem[propsObj.titleField] }}</div>
44
- </bri-tooltip>
45
- </div>
32
+ <bri-tooltip
33
+ class="title"
34
+ :content="dataItem[propsObj.titleField]"
35
+ placement="top"
36
+ :transfer="true"
37
+ >
38
+ <div class="title-name">
39
+ {{ dataItem[propsObj.titleField] }}
40
+ </div>
41
+ </bri-tooltip>
46
42
 
47
43
  <!-- 显示字段 -->
48
44
  <div
49
- class="DshCard-item-info-col unit"
50
45
  v-for="colItem in selfColumns"
51
46
  :key="colItem._key"
47
+ class="unit"
52
48
  >
53
49
  <!-- 左 label -->
54
- <bri-tooltip
55
- class="unit-label"
56
- placement="top"
57
- :transfer="true"
58
- maxWidth="200"
59
- :content="colItem._name"
60
- >
61
- <span class="dsh-ellipsis">{{ colItem._name }}</span>
62
- </bri-tooltip>
63
- <span class="unit-colon">:</span>
50
+ <div class="unit-label">
51
+ <bri-tooltip
52
+ class="unit-label-tooltip"
53
+ :content="colItem._name"
54
+ :transfer="true"
55
+ >
56
+ <span class="unit-label-name">
57
+ {{ colItem._name }}
58
+ </span>
59
+ <span class="unit-label-colon">
60
+
61
+ </span>
62
+ </bri-tooltip>
63
+ </div>
64
64
 
65
65
  <!-- 右 val -->
66
- <div class="unit-value dsh-ellipsis">
66
+ <div class="unit-control">
67
67
  <dsh-list-render
68
68
  v-if="colItem.renderBodyCell"
69
69
  :row="dataItem"
@@ -79,13 +79,23 @@
79
79
 
80
80
  <span
81
81
  v-else
82
- class="unit-value-text"
83
- >{{ dataItem[colItem._key] }}</span>
82
+ class="unit-control-text"
83
+ >
84
+ {{ dataItem[colItem._key] }}
85
+ </span>
84
86
  </div>
85
87
  </div>
86
88
  </div>
87
89
  </div>
88
90
  </template>
91
+
92
+ <!-- 无数据 -->
93
+ <div
94
+ v-else
95
+ class="dsh-tip"
96
+ >
97
+ {{ noDataText }}
98
+ </div>
89
99
  </div>
90
100
  </template>
91
101
 
@@ -132,24 +142,41 @@
132
142
  color: "#E9ECF4",
133
143
  showDropdownItemIcon: false
134
144
  },
135
- defaultImgObj: {
136
- url: this.$imageSrcMap.app.projectCard
137
- },
138
145
 
139
146
  getCardBgImgSrc (dataItem) {
140
147
  const fileList = dataItem[this.propsObj.imageField] || [];
141
- const imgObj = fileList.find(fileItem => fileItem.mimetype.includes("image")) || this.defaultImgObj;
148
+ const imgObj = fileList.find(fileItem => fileItem.mimetype.includes("image")) || {
149
+ url: this.$imageSrcMap.app.projectCard
150
+ };
142
151
  return imgObj.url;
143
152
  }
144
153
  };
145
154
  },
146
155
  computed: {
156
+ imageField () {
157
+ return this.propsObj.imageField;
158
+ },
159
+ // imageFieldObj () {
160
+ // return this.columns.find(colItem => colItem._key === this.imageField) || {};
161
+ // },
162
+ titleField () {
163
+ return this.propsObj.titleField;
164
+ },
165
+ // titleFieldObj () {
166
+ // return this.columns.find(colItem => colItem._key === this.titleField) || {};
167
+ // },
147
168
  selfColumns () {
148
- return this.columns.slice(0, 2);
169
+ return this.columns
170
+ .filter(colItem => ![this.imageField, this.titleField].includes(colItem._key))
171
+ .map(colItem => ({
172
+ ...colItem,
173
+ titleAlign: "left",
174
+ columnAlign: "left"
175
+ }))
176
+ .slice(0, 2);
149
177
  }
150
178
  },
151
- created () {
152
- },
179
+ created () {},
153
180
  methods: {
154
181
  // 点击某行
155
182
  clickRow (row) {
@@ -158,3 +185,91 @@
158
185
  }
159
186
  };
160
187
  </script>
188
+
189
+ <style lang="less">
190
+ .DshCard {
191
+ padding: 0 40px;
192
+ background-color: #ffffff;
193
+ display: flex;
194
+ flex-wrap: wrap;
195
+
196
+ &-item {
197
+ box-sizing: border-box;
198
+ width: 250px;
199
+ height: 210px;
200
+ margin: 10px 16px 30px;
201
+ border-radius: 6px;
202
+ box-shadow: 0px 4px 8px 0px rgba(222, 222, 222, 0.75);
203
+ cursor: pointer;
204
+ overflow: hidden;
205
+ position: relative;
206
+
207
+ display: flex;
208
+ flex-direction: column;
209
+
210
+ &-dropdown {
211
+ position: absolute;
212
+ top: 5px;
213
+ right: 5px;
214
+ }
215
+
216
+ &-image {
217
+ height: 122px;
218
+ padding-top: 20px;
219
+
220
+ img {
221
+ width: 100%;
222
+ }
223
+ }
224
+
225
+ &-info {
226
+ padding: 8px 15px;
227
+ background: #F7FBFF;
228
+ overflow: hidden;
229
+
230
+ .title {
231
+ height: 24px;
232
+ padding-right: 6px;
233
+ font-size: 14px;
234
+ font-weight: 600;
235
+
236
+ &-name {
237
+ .dsh-ellipsis();
238
+ }
239
+ }
240
+
241
+ .unit {
242
+ height: 24px;
243
+ display: flex;
244
+ flex-direction: row;
245
+
246
+ &-label {
247
+ font-weight: 400;
248
+ color: #515A6E;
249
+
250
+ &-name {
251
+ min-width: 70px;
252
+ max-width: 70px;
253
+ .dsh-ellipsis();
254
+ display: inline-block;
255
+ }
256
+
257
+ &-colon {
258
+
259
+ }
260
+ }
261
+
262
+ &-control {
263
+ flex: 1;
264
+ min-width: 0px;
265
+ overflow: hidden;
266
+
267
+ &-text {
268
+
269
+ }
270
+ }
271
+ }
272
+ }
273
+ }
274
+ }
275
+ </style>