cnhis-design-vue 0.1.91-beta → 0.1.95-beta

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 (40) hide show
  1. package/es/age/index.js +2 -2
  2. package/es/big-table/index.js +21 -21
  3. package/es/button/index.js +70 -53
  4. package/es/button/style.css +1 -1
  5. package/es/captcha/index.js +3 -3
  6. package/es/checkbox/index.js +1 -1
  7. package/es/color-picker/index.js +1 -1
  8. package/es/drag-layout/index.js +3 -3
  9. package/es/editor/index.js +1 -1
  10. package/es/fabric-chart/index.js +9 -9
  11. package/es/index/index.js +430 -297
  12. package/es/index/style.css +1 -1
  13. package/es/input/index.js +1 -1
  14. package/es/map/index.js +1 -1
  15. package/es/multi-chat/index.js +24 -24
  16. package/es/multi-chat-client/index.js +18 -18
  17. package/es/multi-chat-history/index.js +4 -4
  18. package/es/multi-chat-record/index.js +4 -4
  19. package/es/multi-chat-setting/index.js +20 -20
  20. package/es/multi-chat-sip/index.js +1 -1
  21. package/es/radio/index.js +1 -1
  22. package/es/scale-view/index.js +22 -22
  23. package/es/select/index.js +3 -3
  24. package/es/select-label/index.js +2 -2
  25. package/es/select-person/index.js +2 -2
  26. package/es/table-filter/index.js +310 -177
  27. package/es/table-filter/style.css +1 -1
  28. package/es/tag/index.js +1 -1
  29. package/es/utils/time-domain.js +195 -0
  30. package/es/verification-code/index.js +2 -2
  31. package/package.json +1 -1
  32. package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +17 -5
  33. package/packages/button/src/ButtonPrint/index.vue +1 -0
  34. package/packages/table-filter/src/base-search-com/BaseSearch.vue +26 -3
  35. package/packages/table-filter/src/classification/Classification-com.vue +1 -1
  36. package/packages/table-filter/src/components/multi-select/multi-select.vue +3 -2
  37. package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +31 -4
  38. package/packages/table-filter/src/mixins/mixins.js +25 -4
  39. package/packages/table-filter/src/quick-search/QuickSearch.vue +1 -0
  40. package/src/utils/time-domain.js +193 -0
@@ -35,6 +35,7 @@
35
35
  </template>
36
36
 
37
37
  <a-range-picker
38
+ :allowClear="item.explicitRequired != 1"
38
39
  :format="item.showFormat"
39
40
  @change="value => rangePickerChange(value, item)"
40
41
  @ok="outFilterChange"
@@ -101,7 +102,8 @@ import multiSelect from '../multi-select/multi-select';
101
102
  import cTreeSelect from '../c-tree-select/tree-select';
102
103
  import { filterApiFn } from '../../mixins/mixins';
103
104
  import wordBookutils from '../../mixins/wordBookutils';
104
-
105
+ import moment from 'moment';
106
+ import { DatePicker} from 'ant-design-vue';
105
107
  const EVALUATEList = [
106
108
  {
107
109
  label: "一星",
@@ -132,13 +134,15 @@ const EVALUATEList = [
132
134
  export default {
133
135
  name: "OutQuickSearch",
134
136
  mixins: [filterApiFn],
135
- components: { multiSelect,cTreeSelect },
137
+ components: { multiSelect,cTreeSelect, [DatePicker.RangePicker.name]: DatePicker.RangePicker },
136
138
  props: {
137
139
  item: Object
138
140
  },
139
141
  data() {
140
142
  return {
141
- fetchingWordbook: false
143
+ fetchingWordbook: false,
144
+ initSearch: false,
145
+ curDefaultValue: null,
142
146
  };
143
147
  },
144
148
 
@@ -147,7 +151,7 @@ export default {
147
151
  return function(item) {
148
152
  if (!item.showTime) return false;
149
153
  return {
150
- defaultValue: [this.$moment("00:00:00", "HH:mm:ss"), this.$moment("23:59:59", "HH:mm:ss")]
154
+ defaultValue: [moment("00:00:00", "HH:mm:ss"), moment("23:59:59", "HH:mm:ss")]
151
155
  };
152
156
  };
153
157
  }
@@ -190,6 +194,10 @@ export default {
190
194
  if (item.settingObj.wordbook) {
191
195
  obj.autograph = item.settingObj.wordbook.autograph;
192
196
  }
197
+ let df = item.explicitDefaultVal;
198
+ if(df != 'firstOption'){
199
+ obj.keyword = df;
200
+ }
193
201
  this.getWordbookData(item.setting.wordbook, obj).then(({ data }) => {
194
202
  this.handleWordbookData(item, data, obj);
195
203
  });
@@ -201,6 +209,25 @@ export default {
201
209
  this.$set(item, "hasFieldList", hasFieldList);
202
210
  this.$set(item, "dataSource", rows);
203
211
  item.searchPageConfig = Object.assign(item.searchPageConfig, searchPageConfig);
212
+ // 初始化获取值
213
+ if(!this.initSearch){
214
+ let df = item.explicitDefaultVal;
215
+ if(df){
216
+ let defval = [];
217
+ if(df === 'firstOption'){
218
+ let [v] = rows;
219
+ v && (defval = [v.myName])
220
+ } else {
221
+ let f = rows.find(v => v.myName.includes(df));
222
+ if(f){
223
+ defval = [f.myName]
224
+ }
225
+ }
226
+ item.value = [...defval]
227
+ item.search_DefaultValue= [...defval]
228
+ }
229
+ this.initSearch = true;
230
+ }
204
231
  },
205
232
  getWordbookData(o, obj) {
206
233
  let { id, filterKeys, wordbookType } = o;
@@ -33,7 +33,7 @@ const EVALUATEList = [
33
33
  ];
34
34
 
35
35
  import moment from 'moment';
36
-
36
+ import timeDomain from '@/utils/time-domain';
37
37
  export const durationMixin = {
38
38
  filters: {
39
39
  // 格式化时长单位
@@ -383,13 +383,23 @@ export const outQuickSearchFn = {
383
383
  arr.forEach(el => {
384
384
  el.setting = typeof el.setting == "string" ? JSON.parse(el.setting) : el.setting;
385
385
  const attr = el?.settingObj?.attr || "";
386
+ const showSetting = el?.setting?.showSetting || []
386
387
  // 映射优先级最高
387
- if (el.setting?.showSetting?.length) {
388
+ if (showSetting?.length) {
389
+ let tvalue = []
390
+ // 设置了默认值
391
+ let df = el.explicitDefaultVal;
392
+ if(df){
393
+ let i = df == 'firstOption' ? 0 : showSetting.findIndex(v => v.change_text == df);
394
+ if(i > -1){
395
+ tvalue.push(i)
396
+ }
397
+ }
388
398
  // 存在映射 使用下拉多选框
389
399
  this.$set(el, "con", "CONVERT");
390
400
  this.$set(el, "com", "SelectMui");
391
401
  this.$set(el, "comType", "SelectMui");
392
- this.$set(el, "value", []);
402
+ this.$set(el, "value", tvalue);
393
403
  const labelList = el.setting.showSetting.map(i => {
394
404
  i.labelName = i.change_text;
395
405
  return i;
@@ -431,7 +441,18 @@ export const outQuickSearchFn = {
431
441
  ["DATETIME", "DATE"].includes(el.fieldType)
432
442
  ) {
433
443
  // 查找默认值
434
- const value = this.getSearchDefValueByLimit(el, this.searchFieldLimit) || [];
444
+ let value = this.getSearchDefValueByLimit(el, this.searchFieldLimit) || [];
445
+ // explicitDefaultVal: "YESTERDAY"
446
+ // explicitRequired: 1
447
+
448
+ // 配置了默认值
449
+ if(el.explicitDefaultVal){
450
+ // let showFormat = attr === "BIRTHDAY" ? 'MM-DD':'YYYY-MM-DD HH:mm:ss';
451
+ let t = timeDomain.getTimeDomain(el.explicitDefaultVal)
452
+ if(t.length > 0){
453
+ value = t;
454
+ }
455
+ }
435
456
  this.$set(el, "con", "IN");
436
457
  this.$set(el, "com", "DatePicker");
437
458
  this.$set(el, "value", value);
@@ -759,6 +759,7 @@ export default create({
759
759
  [Select.Option.name]: Select.Option,
760
760
  [Upload.name]: Upload,
761
761
  [DatePicker.name]: DatePicker,
762
+ [DatePicker.RangePicker.name]: DatePicker.RangePicker,
762
763
  [Input.name]: Input,
763
764
  [Input.Group.name]: Input.Group,
764
765
  [InputNumber.name]: InputNumber,
@@ -0,0 +1,193 @@
1
+ import moment from 'moment';
2
+
3
+ const TYPELIST = [
4
+ { name: 'TODAY', desc: '今天' },
5
+ { name: 'TOMORROW', desc: '明天' },
6
+ { name: 'YESTERDAY', desc: '昨天' },
7
+ { name: 'THIS_WEEK', desc: '本周' },
8
+ { name: 'NEXT_WEEK', desc: '下周' },
9
+ { name: 'UP_WEEK', desc: '上周' },
10
+ { name: 'THIS_MONTH', desc: '本月' },
11
+ { name: 'NEXT_MONTH', desc: '下月' },
12
+ { name: 'UP_MONTH', desc: '上月' },
13
+ { name: 'THIS_SEASON', desc: '本季度' },
14
+ { name: 'NEXT_SEASON', desc: '下季度' },
15
+ { name: 'UP_SEASON', desc: '上季度' },
16
+ { name: 'THIS_YEAR', desc: '本年' },
17
+ { name: 'NEXT_YEAR', desc: '下年' },
18
+ { name: 'UP_YEAR', desc: '上年' }
19
+ ];
20
+
21
+ const defaultType = 'YYYY-MM-DD HH:mm:ss';
22
+
23
+ /*
24
+ moment().format('X') // (大写X)以秒为单位,返回值为字符串类型
25
+ moment().format('x') // (小写x)以毫秒为单位,返回值为字符串类型
26
+ moment().valueOf() // 以毫秒为单位,返回值为数值型
27
+ */
28
+
29
+ const timeDomain = {
30
+ TODAY() {
31
+ const start = moment().startOf('day');
32
+ const end = moment().endOf('day');
33
+ return [start, end];
34
+ },
35
+
36
+ TOMORROW() {
37
+ // moment().add(7, "days");
38
+ const start = moment()
39
+ .add(1, 'days')
40
+ .startOf('days');
41
+ const end = moment()
42
+ .add(1, 'days')
43
+ .endOf('days');
44
+ return [start, end];
45
+ },
46
+
47
+ YESTERDAY() {
48
+ const start = moment()
49
+ .subtract(1, 'days')
50
+ .startOf('days');
51
+ const end = moment()
52
+ .subtract(1, 'days')
53
+ .endOf('days');
54
+ return [start, end];
55
+ },
56
+
57
+ THIS_WEEK() {
58
+ const start = moment().startOf('week');
59
+ const end = moment().endOf('week');
60
+ return [start, end];
61
+ },
62
+
63
+ NEXT_WEEK() {
64
+ return timeDomain.getNextWeek(1);
65
+ },
66
+
67
+ UP_WEEK() {
68
+ return timeDomain.getLastWeek(1);
69
+ },
70
+
71
+ THIS_MONTH() {
72
+ return timeDomain.getMonth(0);
73
+ },
74
+
75
+ NEXT_MONTH() {
76
+ return timeDomain.getMonth(1);
77
+ },
78
+
79
+ UP_MONTH() {
80
+ return timeDomain.getMonth(-1);
81
+ },
82
+
83
+ THIS_SEASON() {
84
+ return timeDomain.getQuarter(0);
85
+ },
86
+
87
+ NEXT_SEASON() {
88
+ return timeDomain.getQuarter(1);
89
+ },
90
+
91
+ UP_SEASON() {
92
+ return timeDomain.getQuarter(-1);
93
+ },
94
+
95
+ THIS_YEAR() {
96
+ return timeDomain.getYear(0);
97
+ },
98
+
99
+ UP_YEAR() {
100
+ return timeDomain.getYear(-1);
101
+ },
102
+
103
+ NEXT_YEAR() {
104
+ return timeDomain.getYear(1);
105
+ },
106
+
107
+ getMonth(difference = 0) {
108
+ let c_mouth = moment().month() + difference;
109
+
110
+ const start = moment()
111
+ .month(c_mouth)
112
+ .startOf('month');
113
+
114
+ const end = moment()
115
+ .month(c_mouth)
116
+ .endOf('month');
117
+
118
+ return [start, end];
119
+ },
120
+
121
+ getQuarter(difference = 0) {
122
+ let c_mouth = moment().quarter() + difference;
123
+ const start = moment()
124
+ .quarter(c_mouth)
125
+ .startOf('quarter');
126
+ const end = moment()
127
+ .quarter(c_mouth)
128
+ .endOf('quarter');
129
+
130
+ return [start, end];
131
+ },
132
+
133
+ getYear(difference = 0) {
134
+ let c_year = moment().year() + difference;
135
+ const start = moment()
136
+ .year(c_year)
137
+ .startOf('year');
138
+ const end = moment()
139
+ .year(c_year)
140
+ .endOf('year');
141
+ return [start, end];
142
+ },
143
+
144
+ /**
145
+ * 获取前 i 周的周一和周日日期,并以数组的方式返回。
146
+ * 当 i=1,获取的是上周一和上周日的日期;
147
+ * 当 i=2,获取的是上上周一和上上周日的日期
148
+ * ...以此类推
149
+ * @param i
150
+ */
151
+ getLastWeek(i) {
152
+ let weekOfDay = parseInt(moment().format('E')); // 计算今天是这周第几天
153
+ let last_monday = moment()
154
+ .subtract(weekOfDay + 7 * i - 1, 'days')
155
+ .startOf('days');
156
+ let last_sunday = moment()
157
+ .subtract(weekOfDay + 7 * (i - 1), 'days')
158
+ .endOf('days');
159
+ return [last_monday, last_sunday];
160
+ },
161
+
162
+ /**
163
+ * 获取后 i 周的周一和周日日期,并以数组的方式返回。
164
+ * 当 i=1,获取的是下周一和下周日的日期;
165
+ * 当 i=2,获取的是下下周一和下下周日的日期
166
+ * ...以此类推
167
+ * @param i
168
+ */
169
+ getNextWeek(i) {
170
+ let weekOfDay = parseInt(moment().format('E')); // 计算今天是这周第几天
171
+ let next_monday = moment()
172
+ .add(7 - weekOfDay + 7 * (i - 1) + 1, 'days')
173
+ .startOf('days');
174
+ let next_sunday = moment()
175
+ .add(7 - weekOfDay + 7 * i, 'days')
176
+ .endOf('days');
177
+ return [next_monday, next_sunday];
178
+ },
179
+
180
+ getTimeDomain(type, format) {
181
+ if (timeDomain[type]) {
182
+ let res = timeDomain[type]();
183
+ if(typeof format === 'string'){
184
+ return res.map(v => v.format(type))
185
+ }
186
+ return res;
187
+ } else {
188
+ return [];
189
+ }
190
+ }
191
+ };
192
+
193
+ export default timeDomain;