bri-components 1.3.43 → 1.3.45

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": "bri-components",
3
- "version": "1.3.43",
3
+ "version": "1.3.45",
4
4
  "author": "dengshanghui",
5
5
  "description": "a component lib for vue project",
6
6
  "main": "src/index.js",
@@ -228,6 +228,11 @@
228
228
  return this.selectedLinealDatas[this.curTabIndex];
229
229
  }
230
230
  },
231
+ watch: {
232
+ data () {
233
+ this.init();
234
+ }
235
+ },
231
236
  created () {
232
237
  this.init();
233
238
  },
@@ -85,6 +85,8 @@
85
85
  computed: {
86
86
  selfPropsObj () {
87
87
  return {
88
+ _writeSort: undefined, // 表格里字段的 该列上下行汇总限制顺序 "downToUp", "upToDown"
89
+ _compareOperator: "gt", // 表格里字段的 该列上下行的对比条件 "gt", "lt", "et", "gtAet", "ltAet",
88
90
  _transfer: true,
89
91
 
90
92
  ...this.propsObj,
@@ -104,23 +106,43 @@
104
106
  subType () {
105
107
  return this.selfPropsObj._dateType;
106
108
  },
109
+ writeSort () {
110
+ return this.selfPropsObj._writeSort;
111
+ },
112
+ compareOperator () {
113
+ return this.selfPropsObj._compareOperator;
114
+ },
107
115
  options () {
108
116
  return {
109
117
  shortcuts: [],
110
118
  disabledDate: (date) => {
111
- const resultObj = this.$validateComparedRule(
112
- [{
113
- ...this.selfPropsObj,
114
- _isCompareByParent: true
115
- }],
119
+ const curDateStr = this.$transformDate(date, "/", this.subType);
120
+
121
+ // 日期字段的对比
122
+ const compareResultObj = this.$validateComparedRuleFunc(
123
+ this.selfPropsObj,
116
124
  {
117
125
  ...this.value,
118
- [this.controlKey]: this.$transformDate(date, "/", this.subType)
126
+ [this.controlKey]: curDateStr
119
127
  },
120
- this.selfPropsObj._isCompareByParent === true ? this.parentFormList : this.allFormList,
121
- this.selfPropsObj._isCompareByParent === true ? this.parentObj : undefined
128
+ this.parentObj,
129
+ this.selfPropsObj._isCompareByParent === true ? this.parentObj : undefined,
130
+ this.selfPropsObj._isCompareByParent === true ? this.parentFormList : this.allFormList
122
131
  );
123
- return !resultObj.bool;
132
+
133
+ // 表格里上下列的汇总
134
+ let calResultObj = {
135
+ bool: true
136
+ };
137
+ if (this.isInTable && this.writeSort === "upToDown" && this.value.level !== 1) {
138
+ const parentRow = this.parentListData.find(row =>
139
+ row.level === this.value.level - 1 && row.children.some(childNode => childNode._id === this.value._id)
140
+ ) || {};
141
+ const parentDateStr = parentRow[this.controlKey];
142
+ calResultObj = this.$isComparedAccord(curDateStr, parentDateStr, this.compareOperator, "date", this.subType, this.subType);
143
+ }
144
+
145
+ return !compareResultObj.bool && !calResultObj.bool;
124
146
  }
125
147
  };
126
148
  }
@@ -170,6 +170,10 @@ export default {
170
170
  ? !!this.propsObj._heightAuto
171
171
  : this.isFullRow;
172
172
  },
173
+ // 查看页下的展示模式
174
+ showStatusMode () {
175
+ return this.propsObj.showStatusMode || "defaut"; // "default", "frame"
176
+ },
173
177
 
174
178
  /* 部分条件下 才使用的属性 */
175
179
  // isShare () {
@@ -35,7 +35,7 @@
35
35
  ref="table"
36
36
  :canEdit="finalCanEdit"
37
37
  :data="curVal.list"
38
- :oldData="curVal.oldList"
38
+ :compareData="curVal.oldList"
39
39
  :rowDefault="curVal.rowDefault"
40
40
  :columns="subForm"
41
41
  :propsObj="propsObj"
@@ -461,17 +461,6 @@
461
461
  };
462
462
  },
463
463
  computed: {
464
- treeData () {
465
- return this.transforBriTreeData();
466
- },
467
- rows () {
468
- return this.transformRows();
469
- },
470
- listData () {
471
- // return rows;
472
- return this.$getTreeFlatArr(this.data.tree, node => !(node.children && node.children.length));
473
- },
474
-
475
464
  selfPropsObj () {
476
465
  return {
477
466
  ...this.commonPropsObj,
@@ -480,6 +469,16 @@
480
469
  };
481
470
  },
482
471
 
472
+ allTreeData () {
473
+ return this.getCalcuedTree();
474
+ },
475
+ allListData () {
476
+ return this.$getTreeFlatArr(this.data.tree, node => !(node.children && node.children.length));
477
+ },
478
+ rows () {
479
+ return this.transformRows();
480
+ },
481
+
483
482
  showColumns () {
484
483
  return this.transformColumns(this.treeColumns);
485
484
  },
@@ -669,7 +668,7 @@
669
668
  );
670
669
  },
671
670
  // 转化树数据
672
- transforBriTreeData (treeForm = this.treeColumns, subForm = this.columns) {
671
+ getCalcuedTree (treeForm = this.treeColumns, subForm = this.columns) {
673
672
  treeForm.forEach((treeFormItem, treeFormIndex) => {
674
673
  treeFormItem.canDelete = true; // 每次计算,重置一下
675
674
  treeFormItem.level = treeFormIndex + 1; // treeColumns更新,缺少level
@@ -737,7 +736,7 @@
737
736
  return this.data.tree;
738
737
  },
739
738
  // 转化渲染使用的columns数组
740
- transformRowColumnsArr (nodes = this.treeData, treeForm = this.treeColumns) {
739
+ transformRowColumnsArr (nodes = this.allTreeData, treeForm = this.treeColumns) {
741
740
  let loop = (nodes, rowColumnsArr) => {
742
741
  return nodes.reduce((rowColumnsArr, node, nodeIndex) => {
743
742
  if (nodeIndex !== 0 || rowColumnsArr.length === 0) {
@@ -754,7 +753,7 @@
754
753
  return loop(nodes, []);
755
754
  },
756
755
  // 转化表格数据
757
- transformRows (nodes = this.treeData, treeForm = this.treeColumns) {
756
+ transformRows (nodes = this.allTreeData, treeForm = this.treeColumns) {
758
757
  const loop = (nodes, rows) => {
759
758
  return nodes.reduce((rows, node, nodeIndex) => {
760
759
  // 创建行,并把节点数据(对象类型)注入到行对象内
@@ -806,7 +805,7 @@
806
805
  getParentNode (row, rowIndex, col, treeForm = this.treeColumns) {
807
806
  if (col.level === 1) {
808
807
  return {
809
- children: this.treeData
808
+ children: this.allTreeData
810
809
  };
811
810
  } else {
812
811
  let parentCol = treeForm[col.level - 2];
@@ -12,7 +12,7 @@
12
12
  <bri-table
13
13
  class="DshFlatTable-main"
14
14
  :columns="showColumns"
15
- :data="listData"
15
+ :data="allListData"
16
16
  :footer-data="footerData"
17
17
  :propsObj="tablePropsObj"
18
18
  @changeSelect="changeSelect"
@@ -23,7 +23,7 @@
23
23
  <dsh-buttons
24
24
  class="DshFlatTable-create"
25
25
  :list="$getOperationList(['canCreate'])"
26
- @click="$dispatchEvent($event, null, null, listData)"
26
+ @click="$dispatchEvent($event, null, null, allListData)"
27
27
  ></dsh-buttons>
28
28
 
29
29
  <!-- 全屏查看 -->
@@ -37,7 +37,7 @@
37
37
  <bri-table
38
38
  class="DshFlatTable-main"
39
39
  :columns="showColumns"
40
- :data="listData"
40
+ :data="allListData"
41
41
  :footer-data="footerData"
42
42
  :propsObj="tablePropsObj"
43
43
  @changeSelect="changeSelect"
@@ -48,7 +48,7 @@
48
48
  <dsh-buttons
49
49
  class="DshFlatTable-create"
50
50
  :list="$getOperationList(['canCreate'])"
51
- @click="$dispatchEvent($event, null, null, listData)"
51
+ @click="$dispatchEvent($event, null, null, allListData)"
52
52
  ></dsh-buttons>
53
53
  </template>
54
54
  </dsh-modal>
@@ -24,7 +24,7 @@
24
24
  <bri-table
25
25
  class="DshTreeTable-main"
26
26
  :columns="showColumns"
27
- :data="listData"
27
+ :data="renderedListData"
28
28
  :footer-data="footerData"
29
29
  :propsObj="tablePropsObj"
30
30
  @changeSelect="changeSelect"
@@ -60,7 +60,7 @@
60
60
  <bri-table
61
61
  class="DshTreeTable-main"
62
62
  :columns="showColumns"
63
- :data="listData"
63
+ :data="renderedListData"
64
64
  :footer-data="footerData"
65
65
  :propsObj="tablePropsObj"
66
66
  @changeSelect="changeSelect"
@@ -106,11 +106,38 @@
106
106
  };
107
107
  },
108
108
  computed: {
109
+ selfPropsObj () {
110
+ return {
111
+ _searchFields: [], // 作为搜索的字段
112
+ _searchLabelWidth: 100, // 搜索的label宽度
113
+ ...this.commonPropsObj,
114
+
115
+ _maxLevel: this.commonPropsObj._maxLevel || 3
116
+ };
117
+ },
118
+ maxLevel () {
119
+ return this.selfPropsObj._maxLevel;
120
+ },
121
+ searchLabelWidth () {
122
+ return this.selfPropsObj._searchLabelWidth;
123
+ },
124
+ searchFormList () {
125
+ return (this.selfPropsObj._searchFields || []) // 级联表切层级表时 值会undefined覆盖selfPropsObj默认的[]
126
+ .map(fieldKey => this.columns.find(column => column._key === fieldKey))
127
+ .filter(column => !!column)
128
+ .map(column => {
129
+ return {
130
+ ...column,
131
+ _span: 6
132
+ };
133
+ });
134
+ },
109
135
  isSearching () {
110
136
  return this.searchFormList.length && this.advSearchObj.conditions.some(conditionItem =>
111
137
  conditionItem.fieldValue.length && conditionItem.fieldValue.some(valItem => !this.$isEmptyData(valItem))
112
138
  );
113
139
  },
140
+
114
141
  allTreeData () {
115
142
  console.log("allTreeData");
116
143
  return this.getCalcuedTree(this.data, this.filterColumns);
@@ -118,7 +145,7 @@
118
145
  allListData () {
119
146
  return this.$getTreeFlatArr(this.allTreeData);
120
147
  },
121
- listData () {
148
+ renderedListData () {
122
149
  return this.allListData.filter(row => {
123
150
  if (this.isSearching) {
124
151
  const bool = this.$isAdvRelyAccord(this.advSearchObj, row);
@@ -137,7 +164,7 @@
137
164
  });
138
165
  },
139
166
  showListData () {
140
- return this.listData.filter(row =>
167
+ return this.renderedListData.filter(row =>
141
168
  this.isSearching ? !!row.__isSearchShow__ : !!row.__isShow__
142
169
  );
143
170
  },
@@ -153,14 +180,14 @@
153
180
  console.log("footerData");
154
181
  return this.isSearching
155
182
  ? []
156
- : this.useSummary && this.listData.length
183
+ : this.useSummary && this.allListData.length
157
184
  ? [
158
185
  this.filterColumns.reduce((obj, col) => {
159
186
  return {
160
187
  ...obj,
161
188
  [col._key]: col._type === "number" && ![undefined, null, "", "no"].includes(col._summaryType)
162
189
  ? this.$calNumList(
163
- this.listData
190
+ this.allListData
164
191
  .filter(item => item.level === 1)
165
192
  .map(item => item[col._key]),
166
193
  col._summaryType,
@@ -178,33 +205,6 @@
178
205
  : [];
179
206
  },
180
207
 
181
- selfPropsObj () {
182
- return {
183
- _searchFields: [], // 作为搜索的字段
184
- _searchLabelWidth: 100, // 搜索的label宽度
185
- ...this.commonPropsObj,
186
-
187
- _maxLevel: this.commonPropsObj._maxLevel || 3
188
- };
189
- },
190
- maxLevel () {
191
- return this.selfPropsObj._maxLevel;
192
- },
193
- searchLabelWidth () {
194
- return this.selfPropsObj._searchLabelWidth;
195
- },
196
- searchFormList () {
197
- return (this.selfPropsObj._searchFields || []) // 级联表切层级表时 值会undefined覆盖selfPropsObj默认的[]
198
- .map(fieldKey => this.columns.find(column => column._key === fieldKey))
199
- .filter(column => !!column)
200
- .map(column => {
201
- return {
202
- ...column,
203
- _span: 6
204
- };
205
- });
206
- },
207
-
208
208
  tablePropsObj () {
209
209
  return {
210
210
  maxHeight: this.contentHeight,
@@ -17,7 +17,13 @@ export default {
17
17
  return {};
18
18
  },
19
19
  computed: {
20
- listData () {
20
+ selfPropsObj () {
21
+ return {
22
+ ...this.commonPropsObj
23
+ };
24
+ },
25
+
26
+ allListData () {
21
27
  this.data.forEach(item => {
22
28
  !item._id && this.$set(item, "_id", this.$ObjectID().str);
23
29
 
@@ -30,14 +36,14 @@ export default {
30
36
  return this.data;
31
37
  },
32
38
  footerData () {
33
- return this.useSummary && this.listData.length
39
+ return this.useSummary && this.allListData.length
34
40
  ? [
35
41
  this.filterColumns.reduce((obj, col) => {
36
42
  return {
37
43
  ...obj,
38
44
  [col._key]: col._type === "number" && ![undefined, null, "", "no"].includes(col._summaryType)
39
45
  ? this.$calNumList(
40
- this.listData.map(item => item[col._key]),
46
+ this.allListData.map(item => item[col._key]),
41
47
  col._summaryType,
42
48
  { ...col, _defaultDigit: 2 }
43
49
  )
@@ -52,12 +58,6 @@ export default {
52
58
  : [];
53
59
  },
54
60
 
55
- selfPropsObj () {
56
- return {
57
- ...this.commonPropsObj
58
- };
59
- },
60
-
61
61
  showColumns () {
62
62
  return [
63
63
  ...(this.useSelection === true ? [this.selectionColumn] : []),
@@ -110,7 +110,7 @@ export default {
110
110
  },
111
111
  on: {
112
112
  click: (operationItem) => {
113
- this.$dispatchEvent(operationItem, row, rowIndex, this.listData);
113
+ this.$dispatchEvent(operationItem, row, rowIndex, this.allListData);
114
114
  }
115
115
  }
116
116
  });
@@ -148,7 +148,7 @@ export default {
148
148
  this.$emit("changeSelect", list);
149
149
  },
150
150
  change (...params) {
151
- this.$emit("change", { list: this.listData, rowDefault: this.rowDefault }, ...params);
151
+ this.$emit("change", { list: this.allListData, rowDefault: this.rowDefault }, ...params);
152
152
  }
153
153
  }
154
154
  };
@@ -12,7 +12,7 @@ export default {
12
12
  type: Boolean,
13
13
  default: true
14
14
  },
15
- oldData: {
15
+ compareData: {
16
16
  type: Array,
17
17
  default () {
18
18
  return [];
@@ -131,31 +131,6 @@ export default {
131
131
  dshRender () {
132
132
  return this[this.dshRenderName];
133
133
  },
134
- parentDataId () {
135
- return this.parentObj._id;
136
- },
137
- selfRowDefault () {
138
- return this.filterColumns.reduce((obj, column) => {
139
- const defaultVal = this.rowDefault[column._key];
140
- const initDftVal = this.initDftValMap[column._type];
141
-
142
- return Object.assign(obj, {
143
- [column._key]: this.$isEmptyData(defaultVal)
144
- ? initDftVal
145
- : defaultVal
146
- });
147
- }, {});
148
- },
149
- oldListData () {
150
- this.oldData.forEach(item => {
151
- !item._id && this.$set(item, "_id", this.$ObjectID().str);
152
- });
153
- return this.oldData;
154
- },
155
- useCampare () {
156
- return !!this.oldListData.length;
157
- },
158
-
159
134
  controlKey () {
160
135
  return this.propsObj._key;
161
136
  },
@@ -257,6 +232,31 @@ export default {
257
232
  return this.$transformAdvSearch(this.selfPropsObj._quoteAdvSearch, this.parentFormList, this.parentObj);
258
233
  },
259
234
 
235
+ parentDataId () {
236
+ return this.parentObj._id;
237
+ },
238
+ selfRowDefault () {
239
+ return this.filterColumns.reduce((obj, column) => {
240
+ const defaultVal = this.rowDefault[column._key];
241
+ const initDftVal = this.initDftValMap[column._type];
242
+
243
+ return Object.assign(obj, {
244
+ [column._key]: this.$isEmptyData(defaultVal)
245
+ ? initDftVal
246
+ : defaultVal
247
+ });
248
+ }, {});
249
+ },
250
+ compareListData () {
251
+ this.compareData.forEach(item => {
252
+ !item._id && this.$set(item, "_id", this.$ObjectID().str);
253
+ });
254
+ return this.compareData;
255
+ },
256
+ useCampare () {
257
+ return !!this.compareListData.length;
258
+ },
259
+
260
260
  tablePropsObj () {
261
261
  return {
262
262
  maxHeight: this.contentHeight,
@@ -302,7 +302,7 @@ export default {
302
302
  },
303
303
 
304
304
  filterColumns () {
305
- return this.columns.filter(col => this.$isAdvRelyShow(col, this.listData, this.parentObj, true));
305
+ return this.columns.filter(col => this.$isAdvRelyShow(col, this.allListData, this.parentObj, true));
306
306
  },
307
307
  contentColumns () {
308
308
  return this.filterColumns.map(colItem => ({
@@ -314,15 +314,15 @@ export default {
314
314
  const unitCanEdit = this.getUnitCanEdit(column, row);
315
315
 
316
316
  return [
317
- this.isShowCompare(column, row, this.oldListData[rowIndex])
317
+ this.isShowCompare(column, row, this.compareListData[rowIndex])
318
318
  ? h("Tooltip", {
319
319
  style: {
320
320
  width: "100%"
321
321
  },
322
322
  props: {
323
- content: this.$isEmptyData(this.oldListData[rowIndex][column._key])
323
+ content: this.$isEmptyData(this.compareListData[rowIndex][column._key])
324
324
  ? ""
325
- : this.oldListData[rowIndex][column._key],
325
+ : this.compareListData[rowIndex][column._key],
326
326
  transfer: true,
327
327
  maxWidth: 200,
328
328
  placement: "top"
@@ -335,7 +335,7 @@ export default {
335
335
  formItem: column,
336
336
  rowIndex: rowIndex,
337
337
  allFormList: this.columns,
338
- parentListData: this.listData,
338
+ parentListData: this.allListData,
339
339
  parentFormList: this.parentFormList,
340
340
  parentObj: this.parentObj
341
341
  },
@@ -353,7 +353,7 @@ export default {
353
353
  formItem: column,
354
354
  rowIndex: rowIndex,
355
355
  allFormList: this.columns,
356
- parentListData: this.listData,
356
+ parentListData: this.allListData,
357
357
  parentFormList: this.parentFormList,
358
358
  parentObj: this.parentObj
359
359
  },
@@ -434,7 +434,7 @@ export default {
434
434
  validate () {
435
435
  this.showRuleMessage = true;
436
436
 
437
- return this.listData.every((row, rowIndex) => this.getRowRuleResult(row, rowIndex));
437
+ return this.allListData.every((row, rowIndex) => this.getRowRuleResult(row, rowIndex));
438
438
  },
439
439
  // 重置
440
440
  reset () {