@tongfun/tf-widget 0.1.18 → 0.1.22

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/README.md +49 -42
  2. package/lib/css/1.841c5d60.css +1 -0
  3. package/lib/tf-widget.common.1.js +9 -13
  4. package/lib/tf-widget.common.js +1102 -950
  5. package/lib/tf-widget.css +1 -1
  6. package/lib/tf-widget.umd.1.js +9 -13
  7. package/lib/tf-widget.umd.js +1102 -950
  8. package/lib/tf-widget.umd.min.1.js +1 -1
  9. package/lib/tf-widget.umd.min.js +4 -4
  10. package/package/svg-icon/index.js +8 -8
  11. package/package/svg-icon/src/SvgIcon.vue +59 -59
  12. package/package/t-data-list/index.js +6 -6
  13. package/package/t-data-list/main.vue +193 -192
  14. package/package/t-data-list/src/condition-input/basic.vue +31 -31
  15. package/package/t-data-list/src/condition-input/date.vue +106 -106
  16. package/package/t-data-list/src/condition-input/index.vue +100 -100
  17. package/package/t-data-list/src/condition-input/input.vue +31 -31
  18. package/package/t-data-list/src/condition-input/number.vue +115 -115
  19. package/package/t-data-list/src/condition-input/select.vue +86 -86
  20. package/package/t-data-list/src/js/fieldTypeEnum.js +10 -10
  21. package/package/t-data-list/src/js/operatorEnum.js +108 -109
  22. package/package/t-data-list/src/js/qureyParamsEnum.js +4 -4
  23. package/package/t-data-list/src/js/util.js +34 -34
  24. package/package/t-data-list/src/mixins/button-controll-mixin.js +93 -77
  25. package/package/t-data-list/src/pushdown/push-down.vue +158 -158
  26. package/package/t-data-list/src/t-list-search.vue +36 -32
  27. package/package/t-data-list/src/t-plan/condition-always-item.vue +143 -143
  28. package/package/t-data-list/src/t-plan/condition-mult-item.vue +222 -222
  29. package/package/t-data-list/src/t-plan/index.vue +195 -190
  30. package/package/t-data-list/src/t-plan/plan-content.vue +389 -396
  31. package/package/t-data-list/src/t-table/index.vue +129 -120
  32. package/package/t-data-list/src/t-table/table-group-item-edit.vue +238 -238
  33. package/package/t-data-list/src/t-table/table-group-item.vue +87 -87
  34. package/package/t-data-list/src/t-table/table-group.vue +180 -179
  35. package/package/t-data-list/src/t-table/table-records-header-popover.vue +246 -250
  36. package/package/t-data-list/src/t-table/table-records-selected.vue +159 -159
  37. package/package/t-data-list/src/t-table/table-records.vue +337 -324
  38. package/package/t-input/children/address.vue +101 -101
  39. package/package/t-input/children/basic-display.vue +41 -41
  40. package/package/t-input/children/basic.vue +253 -251
  41. package/package/t-input/children/date.vue +89 -89
  42. package/package/t-input/children/group-components/group-dialog.vue +344 -350
  43. package/package/t-input/children/group.vue +126 -126
  44. package/package/t-input/children/input.vue +72 -72
  45. package/package/t-input/children/number.vue +74 -74
  46. package/package/t-input/children/select.vue +89 -89
  47. package/package/t-input/children/tfile/fiile-enclosure.vue +233 -233
  48. package/package/t-input/index.js +7 -7
  49. package/package/t-input/index.vue +337 -337
  50. package/package/t-input/tInputCache.js +24 -24
  51. package/package/tf-icon-picker/README.md +7 -7
  52. package/package/tf-icon-picker/index.js +8 -8
  53. package/package/tf-icon-picker/src/tf-icon-picker.vue +266 -266
  54. package/package/tf-layout/README.md +115 -115
  55. package/package/tf-layout/index.js +8 -8
  56. package/package/tf-layout/src/components/tf-labelbar.vue +394 -382
  57. package/package/tf-layout/src/components/tf-menu.vue +180 -180
  58. package/package/tf-layout/src/components/tf-right-menu.vue +89 -89
  59. package/package/tf-layout/src/components/tf-rotate-box.vue +50 -50
  60. package/package/tf-layout/src/tf-layout.vue +140 -120
  61. package/package/tf-widget/index.js +8 -8
  62. package/package/tf-widget/src/assets/common-input.less +10 -10
  63. package/package/tf-widget/src/children/basic-data/basic-data.vue +361 -361
  64. package/package/tf-widget/src/children/basic-data/dependcy/basic-data-selector.vue +1087 -1087
  65. package/package/tf-widget/src/children/basic-data/dependcy/common-table.vue +750 -750
  66. package/package/tf-widget/src/children/basic-data/dependcy/condition-filter.vue +519 -519
  67. package/package/tf-widget/src/children/basic-data/dependcy/pagination.vue +93 -93
  68. package/package/tf-widget/src/children/basic-data/dependcy/table-control.vue +240 -240
  69. package/package/tf-widget/src/children/basic-data/dependcy/view-picture.vue +108 -108
  70. package/package/tf-widget/src/children/date-time.vue +103 -103
  71. package/package/tf-widget/src/children/date.vue +103 -103
  72. package/package/tf-widget/src/children/decimal.vue +115 -115
  73. package/package/tf-widget/src/children/integer.vue +104 -104
  74. package/package/tf-widget/src/children/property.vue +59 -59
  75. package/package/tf-widget/src/children/single-line-text.vue +82 -82
  76. package/package/tf-widget/src/children/small-pictures.vue +223 -223
  77. package/package/tf-widget/src/children/text-area.vue +74 -74
  78. package/package/tf-widget/src/children/tf-select.vue +113 -113
  79. package/package/tf-widget/src/tf-widget.vue +175 -175
  80. package/package.json +44 -43
  81. package/src/api/edit.js +97 -97
  82. package/src/api/file-enclosure.js +26 -26
  83. package/src/api/push-down.js +19 -19
  84. package/src/api/table.js +294 -294
  85. package/src/api/tableV3.js +166 -186
  86. package/src/assets/images/icons/index.js +9 -9
  87. package/src/assets/images/icons/svg/add.svg +5 -5
  88. package/src/assets/images/icons/svg/push-down.svg +1 -1
  89. package/src/assets/images/icons/svg/remove.svg +1 -1
  90. package/src/assets/styles/common-table.less +202 -202
  91. package/src/directives/debounce.js +24 -0
  92. package/src/index.js +31 -31
  93. package/src/mixins/t-data-query-mixin.js +290 -289
  94. package/src/utils/auth.js +22 -22
  95. package/src/utils/request.js +42 -42
  96. package/src/utils/stato-anormale.js +59 -59
  97. package/src/utils/utils.js +109 -109
  98. package/src/utils/validate.js +84 -84
  99. package/lib/css/1.920744ef.css +0 -1
@@ -1,115 +1,115 @@
1
- <template>
2
- <el-input v-if="!range" :value="value" size="mini" @input="handleInput" />
3
- <div v-else :class="[tableHead?'col-layout':'row-layout']">
4
- <el-input :value="numberRangeValue.start" size="mini" @input="handleStartInput" />
5
- <span class="number-separators">~</span>
6
- <el-input :value="numberRangeValue.end" size="mini" @input="handleEndInput" />
7
- </div>
8
- </template>
9
- <script>
10
- export default {
11
- components: {
12
-
13
- },
14
- props: {
15
- value: {
16
- type: String,
17
- default: ''
18
- },
19
- disabled: {
20
- type: Boolean,
21
- default: false
22
- },
23
- range: {
24
- type: Boolean,
25
- default: false
26
- },
27
- tableHead: {
28
- type: Boolean,
29
- default: false
30
- }
31
- },
32
- data () {
33
- return {
34
- numberRangeValue: {
35
- start: '',
36
- end: ''
37
- }
38
- }
39
- },
40
- watch: {
41
- value () {
42
- if (this.range) {
43
- if (!this.value) return
44
- const dataArr = this.value.split(',')
45
- this.numberRangeValue.start = dataArr[0] || ''
46
- this.numberRangeValue.end = dataArr[1] || ''
47
- }
48
- }
49
- },
50
- methods: {
51
- /**
52
- * 将输入转换为数字,如果不能转换则进行忽略
53
- */
54
- inputValid (value) {
55
- return /^\d*$/g.test(value)
56
- },
57
-
58
- /**
59
- * 非范围状态的输入处理函数
60
- */
61
- handleInput (value) {
62
- if (!this.inputValid(value)) {
63
- return
64
- }
65
- this.$emit('input', value)
66
- },
67
-
68
- /**
69
- * 范围开始的输入处理
70
- */
71
- handleStartInput (value) {
72
- if (!this.inputValid(value)) {
73
- return
74
- }
75
- this.numberRangeValue.start = value
76
- this.emitRangeValue()
77
- },
78
-
79
- /**
80
- * 范围的结束输入处理
81
- */
82
- handleEndInput (value) {
83
- if (!this.inputValid(value)) {
84
- return
85
- }
86
- this.numberRangeValue.end = value
87
- this.emitRangeValue()
88
- },
89
-
90
- /**
91
- * 范围输入对外发射
92
- */
93
- emitRangeValue () {
94
- const start = this.numberRangeValue.start
95
- const end = this.numberRangeValue.end
96
- this.$emit('input', `${start},${end}`)
97
- }
98
-
99
- }
100
- }
101
- </script>
102
- <style lang='less' scoped>
103
- .row-layout {
104
- display:flex;
105
- }
106
- .col-layout {
107
- display:flex;
108
- flex-direction: column;
109
- }
110
- .number-separators{
111
- display:flex;
112
- align-items: center;
113
- justify-content: center;
114
- }
115
- </style>
1
+ <template>
2
+ <el-input v-if="!range" :value="value" size="mini" @input="handleInput" />
3
+ <div v-else :class="[tableHead?'col-layout':'row-layout']">
4
+ <el-input :value="numberRangeValue.start" size="mini" @input="handleStartInput" />
5
+ <span class="number-separators">~</span>
6
+ <el-input :value="numberRangeValue.end" size="mini" @input="handleEndInput" />
7
+ </div>
8
+ </template>
9
+ <script>
10
+ export default {
11
+ components: {
12
+
13
+ },
14
+ props: {
15
+ value: {
16
+ type: String,
17
+ default: ''
18
+ },
19
+ disabled: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ range: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ tableHead: {
28
+ type: Boolean,
29
+ default: false
30
+ }
31
+ },
32
+ data () {
33
+ return {
34
+ numberRangeValue: {
35
+ start: '',
36
+ end: ''
37
+ }
38
+ }
39
+ },
40
+ watch: {
41
+ value () {
42
+ if (this.range) {
43
+ if (!this.value) return
44
+ const dataArr = this.value.split(',')
45
+ this.numberRangeValue.start = dataArr[0] || ''
46
+ this.numberRangeValue.end = dataArr[1] || ''
47
+ }
48
+ }
49
+ },
50
+ methods: {
51
+ /**
52
+ * 将输入转换为数字,如果不能转换则进行忽略
53
+ */
54
+ inputValid (value) {
55
+ return /^\d*$/g.test(value)
56
+ },
57
+
58
+ /**
59
+ * 非范围状态的输入处理函数
60
+ */
61
+ handleInput (value) {
62
+ if (!this.inputValid(value)) {
63
+ return
64
+ }
65
+ this.$emit('input', value)
66
+ },
67
+
68
+ /**
69
+ * 范围开始的输入处理
70
+ */
71
+ handleStartInput (value) {
72
+ if (!this.inputValid(value)) {
73
+ return
74
+ }
75
+ this.numberRangeValue.start = value
76
+ this.emitRangeValue()
77
+ },
78
+
79
+ /**
80
+ * 范围的结束输入处理
81
+ */
82
+ handleEndInput (value) {
83
+ if (!this.inputValid(value)) {
84
+ return
85
+ }
86
+ this.numberRangeValue.end = value
87
+ this.emitRangeValue()
88
+ },
89
+
90
+ /**
91
+ * 范围输入对外发射
92
+ */
93
+ emitRangeValue () {
94
+ const start = this.numberRangeValue.start
95
+ const end = this.numberRangeValue.end
96
+ this.$emit('input', `${start},${end}`)
97
+ }
98
+
99
+ }
100
+ }
101
+ </script>
102
+ <style lang='less' scoped>
103
+ .row-layout {
104
+ display:flex;
105
+ }
106
+ .col-layout {
107
+ display:flex;
108
+ flex-direction: column;
109
+ }
110
+ .number-separators{
111
+ display:flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+ }
115
+ </style>
@@ -1,86 +1,86 @@
1
- <template>
2
- <el-select
3
- :value="selectValue"
4
- :popper-append-to-body="false"
5
- size="mini"
6
- filterable
7
- clearable
8
- placeholder=""
9
- :multiple="multi"
10
- collapse-tags
11
- :disabled="disabled"
12
- style="display:block"
13
- @input="selectValue = $event"
14
- >
15
- <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.enumId" />
16
- </el-select>
17
- </template>
18
- <script>
19
- import { getEnumOptions } from '@/api/tableV3.js'
20
- export default {
21
- props: {
22
- value: {
23
- type: String,
24
- default: ''
25
- },
26
- disabled: {
27
- type: Boolean,
28
- default: false
29
- },
30
- multi: {
31
- type: Boolean,
32
- default: false
33
- },
34
- field: {
35
- type: String,
36
- default: '2'
37
- }
38
- },
39
- inject: ['target', 'enumOptionCache'],
40
- data () {
41
- return {
42
- options: []
43
- }
44
- },
45
- computed: {
46
- selectValue: {
47
- set (value) {
48
- if (this.multi) {
49
- return this.$emit('input', value.join())
50
- }
51
- this.$emit('input', value)
52
- },
53
- get () {
54
- if (this.multi) {
55
- if (this.value === '') {
56
- return []
57
- }
58
- return this.value.split(',')
59
- }
60
- return this.value
61
- }
62
- }
63
-
64
- },
65
- created () {
66
- this.getOptions()
67
- },
68
- methods: {
69
- async getOptions () {
70
- if (this.enumOptionCache[this.field]) {
71
- this.options = this.enumOptionCache[this.field]
72
- return
73
- }
74
- const res = await getEnumOptions(this.target, this.field)
75
- if (res.code !== 0) {
76
- return this.$message.error(res.msg)
77
- }
78
- this.options = res.data
79
- this.enumOptionCache[this.field] = res.data
80
- }
81
- }
82
- }
83
- </script>
84
-
85
- <style lang="less" scoped>
86
- </style>
1
+ <template>
2
+ <el-select
3
+ :value="selectValue"
4
+ :popper-append-to-body="false"
5
+ size="mini"
6
+ filterable
7
+ clearable
8
+ placeholder=""
9
+ :multiple="multi"
10
+ collapse-tags
11
+ :disabled="disabled"
12
+ style="display:block"
13
+ @input="selectValue = $event"
14
+ >
15
+ <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.enumId" />
16
+ </el-select>
17
+ </template>
18
+ <script>
19
+ import { getEnumOptions } from '@/api/tableV3.js'
20
+ export default {
21
+ props: {
22
+ value: {
23
+ type: String,
24
+ default: ''
25
+ },
26
+ disabled: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ multi: {
31
+ type: Boolean,
32
+ default: false
33
+ },
34
+ field: {
35
+ type: String,
36
+ default: '2'
37
+ }
38
+ },
39
+ inject: ['target', 'enumOptionCache'],
40
+ data () {
41
+ return {
42
+ options: []
43
+ }
44
+ },
45
+ computed: {
46
+ selectValue: {
47
+ set (value) {
48
+ if (this.multi) {
49
+ return this.$emit('input', value.join())
50
+ }
51
+ this.$emit('input', value)
52
+ },
53
+ get () {
54
+ if (this.multi) {
55
+ if (this.value === '') {
56
+ return []
57
+ }
58
+ return this.value.split(',')
59
+ }
60
+ return this.value
61
+ }
62
+ }
63
+
64
+ },
65
+ created () {
66
+ this.getOptions()
67
+ },
68
+ methods: {
69
+ async getOptions () {
70
+ if (this.enumOptionCache[this.field]) {
71
+ this.options = this.enumOptionCache[this.field]
72
+ return
73
+ }
74
+ const res = await getEnumOptions(this.target, this.field)
75
+ if (res.code !== 0) {
76
+ return this.$message.error(res.msg)
77
+ }
78
+ this.options = res.data
79
+ this.enumOptionCache[this.field] = res.data
80
+ }
81
+ }
82
+ }
83
+ </script>
84
+
85
+ <style lang="less" scoped>
86
+ </style>
@@ -1,10 +1,10 @@
1
- const fieldType = {
2
- PARAM_TEXT: 'input',
3
- PARAM_TIME_LONG: 'datetime',
4
- PARAM_TIME_SHORT: 'date',
5
- PARAM_ENUM: 'enum',
6
- PARAM_BASIC: 'basic',
7
- PARAM_NUMBER: 'number'
8
- }
9
-
10
- export default fieldType
1
+ const fieldType = {
2
+ PARAM_TEXT: 'input',
3
+ PARAM_TIME_LONG: 'datetime',
4
+ PARAM_TIME_SHORT: 'date',
5
+ PARAM_ENUM: 'enum',
6
+ PARAM_BASIC: 'basic',
7
+ PARAM_NUMBER: 'number'
8
+ }
9
+
10
+ export default fieldType
@@ -1,109 +1,108 @@
1
- const typeEnum = {
2
- /**
3
- * 文本类型
4
- */
5
- input: [
6
- { label: '等于', value: 'TEXT_EQUAL', strict: true },
7
- { label: '包含', value: 'TEXT_LIKE', isFrezz: true },
8
- { label: '不等于', value: 'TEXT_UNEQUAL' },
9
- { label: '不包含', value: 'TEXT_NOT_LIKE' }
10
- ],
11
-
12
- // 基础资料类型
13
- basic: [
14
- { label: '等于', value: 'BASIC_EQUAL', strict: true },
15
- { label: '包含', value: 'BASIC_LIKE', isFrezz: true },
16
- { label: '不等于', value: 'BASIC_UNEQUAL' },
17
- { label: '不包含', value: 'BASIC_NOT_LIKE' }
18
- ],
19
-
20
- /**
21
- * 时间类型
22
- */
23
- // 短时间
24
- date: [
25
- { label: '大于', value: 'TIME_MORE_SHORT' },
26
- { label: '小于', value: 'TIME_LESS_SHORT' },
27
- { label: '大于等于', value: 'TIME_MORE_EQ_SHORT' },
28
- { label: '小于等于', value: 'TIME_LESS_EQ_SHORT' },
29
- { label: '等于', value: 'TIME_EQUAL_SHORT' },
30
- // { label: '在...中', value: 'TIME_EQUAL_SHORT_BETWEEN', range: true },
31
- // 时间通用
32
- { label: '前天', value: 'TIME_BEFORE_YESTERDAY', over: true },
33
- { label: '昨天', value: 'TIME_YESTERDAY', over: true },
34
- { label: '今天', value: 'TIME_TODAY', over: true },
35
- { label: '明天', value: 'TIME_TOMORROW', over: true },
36
- { label: '后天', value: 'TIME_AFTER_TOMORROW', over: true },
37
- { label: '上周', value: 'TIME_LAST_WEEK', over: true },
38
- { label: '本周', value: 'TIME_WEEK', over: true },
39
- { label: '下周', value: 'TIME_NEXT_WEEK', over: true },
40
- { label: '本月', value: 'TIME_MONTH', over: true },
41
- { label: '上月', value: 'TIME_LAST_MONTH', over: true }
42
- ],
43
- // 长时间
44
- datetime: [
45
- { label: '大于', value: 'TIME_MORE_LONG' },
46
- { label: '大于等于', value: 'TIME_MORE_EQ_LONG' },
47
- { label: '等于', value: 'TIME_EQUAL_LONG' },
48
- { label: '小于等于', value: 'TIME_LESS_EQ_LONG' },
49
- { label: '小于', value: 'TIME_LESS' },
50
- // { label: '在...中', value: 'TIME_EQUAL_BETWEEN', range: true },
51
- // 时间通用
52
- { label: '前天', value: 'TIME_BEFORE_YESTERDAY', over: true },
53
- { label: '昨天', value: 'TIME_YESTERDAY', over: true },
54
- { label: '今天', value: 'TIME_TODAY', over: true },
55
- { label: '明天', value: 'TIME_TOMORROW', over: true },
56
- { label: '后天', value: 'TIME_AFTER_TOMORROW', over: true },
57
- { label: '上周', value: 'TIME_LAST_WEEK', over: true },
58
- { label: '本周', value: 'TIME_WEEK', over: true },
59
- { label: '下周', value: 'TIME_NEXT_WEEK', over: true },
60
- { label: '本月', value: 'TIME_MONTH', over: true },
61
- { label: '上月', value: 'TIME_LAST_MONTH', over: true }
62
- ],
63
-
64
- /**
65
- * 枚举类型
66
- *
67
- */
68
- enum: [
69
- { label: '等于', value: 'ENUM_EQUAL', strict: true },
70
- { label: '不等于', value: 'ENUM_UNEQUAL', isFrezz: true },
71
- { label: '在...中', value: 'ENUM_IN', multi: true },
72
- { label: '不在...中', value: 'ENUM_NOT_IN', multi: true }
73
- ],
74
-
75
- /**
76
- * 数字类型
77
- */
78
- number: [
79
- { label: '大于', value: 'NUMBER_MORE' },
80
- { label: '大于等于', value: 'NUMBER_MORE_EQUAL' },
81
- { label: '等于', value: 'NUMBER_EQUAL', strict: true },
82
- { label: '不等于', value: 'NUMBER_NOT_EQUAL' },
83
- { label: '小于', value: 'NUMBER_LESS' },
84
- { label: '小于等于', value: 'NUMBER_LESS_EQUAL' },
85
- { label: '在...中', value: 'NUMBER_BETWEEN', range: true }
86
- ]
87
- }
88
-
89
- /**
90
- * 所有的不需要输入值的选项的操作符
91
- * @returns string[]
92
- */
93
- export function getAllOverOperatorList () {
94
- const overOptions = []
95
- for (const key in typeEnum) {
96
- for (const option of typeEnum[key]) {
97
- option.over && !overOptions.find(item => item === option.value) && overOptions.push(option.value)
98
- }
99
- }
100
- return overOptions
101
- }
102
-
103
- export default function getOperatorOption (type) {
104
- // todo: 优化一下判断次数???
105
- if (type === 'decimal' || type === 'integer') {
106
- type = 'number'
107
- }
108
- return typeEnum[type]
109
- }
1
+ const typeEnum = {
2
+ /**
3
+ * 文本类型
4
+ */
5
+ input: [
6
+ { label: '等于', value: 'TEXT_EQUAL', strict: true },
7
+ { label: '包含', value: 'TEXT_LIKE', isFrezz: true },
8
+ { label: '不等于', value: 'TEXT_UNEQUAL' },
9
+ { label: '不包含', value: 'TEXT_NOT_LIKE' }
10
+ ],
11
+
12
+ // 基础资料类型
13
+ basic: [
14
+ { label: '等于', value: 'BASIC_EQUAL', strict: true },
15
+ { label: '包含', value: 'BASIC_LIKE', isFrezz: true },
16
+ { label: '不等于', value: 'BASIC_UNEQUAL' },
17
+ { label: '不包含', value: 'BASIC_NOT_LIKE' }
18
+ ],
19
+
20
+ /**
21
+ * 时间类型
22
+ */
23
+ // 短时间
24
+ date: [
25
+ { label: '大于', value: 'TIME_MORE_SHORT' },
26
+ { label: '小于', value: 'TIME_LESS_SHORT' },
27
+ { label: '大于等于', value: 'TIME_MORE_EQ_SHORT' },
28
+ { label: '小于等于', value: 'TIME_LESS_EQ_SHORT' },
29
+ { label: '等于', value: 'TIME_EQUAL_SHORT' },
30
+ // { label: '在...中', value: 'TIME_EQUAL_SHORT_BETWEEN', range: true },
31
+ // 时间通用
32
+ { label: '前天', value: 'TIME_BEFORE_YESTERDAY', over: true },
33
+ { label: '昨天', value: 'TIME_YESTERDAY', over: true },
34
+ { label: '今天', value: 'TIME_TODAY', over: true },
35
+ { label: '明天', value: 'TIME_TOMORROW', over: true },
36
+ { label: '后天', value: 'TIME_AFTER_TOMORROW', over: true },
37
+ { label: '上周', value: 'TIME_LAST_WEEK', over: true },
38
+ { label: '本周', value: 'TIME_WEEK', over: true },
39
+ { label: '下周', value: 'TIME_NEXT_WEEK', over: true },
40
+ { label: '本月', value: 'TIME_MONTH', over: true },
41
+ { label: '上月', value: 'TIME_LAST_MONTH', over: true }
42
+ ],
43
+ // 长时间
44
+ datetime: [
45
+ { label: '大于', value: 'TIME_MORE_LONG' },
46
+ { label: '大于等于', value: 'TIME_MORE_EQ_LONG' },
47
+ { label: '等于', value: 'TIME_EQUAL_LONG' },
48
+ { label: '小于等于', value: 'TIME_LESS_EQ_LONG' },
49
+ { label: '小于', value: 'TIME_LESS' },
50
+ // { label: '在...中', value: 'TIME_EQUAL_BETWEEN', range: true },
51
+ // 时间通用
52
+ { label: '前天', value: 'TIME_BEFORE_YESTERDAY', over: true },
53
+ { label: '昨天', value: 'TIME_YESTERDAY', over: true },
54
+ { label: '今天', value: 'TIME_TODAY', over: true },
55
+ { label: '明天', value: 'TIME_TOMORROW', over: true },
56
+ { label: '后天', value: 'TIME_AFTER_TOMORROW', over: true },
57
+ { label: '上周', value: 'TIME_LAST_WEEK', over: true },
58
+ { label: '本周', value: 'TIME_WEEK', over: true },
59
+ { label: '下周', value: 'TIME_NEXT_WEEK', over: true },
60
+ { label: '本月', value: 'TIME_MONTH', over: true },
61
+ { label: '上月', value: 'TIME_LAST_MONTH', over: true }
62
+ ],
63
+
64
+ /**
65
+ * 枚举类型
66
+ */
67
+ enum: [
68
+ { label: '等于', value: 'ENUM_EQUAL', strict: true },
69
+ { label: '不等于', value: 'ENUM_UNEQUAL', isFrezz: true },
70
+ { label: '在...中', value: 'ENUM_IN', multi: true },
71
+ { label: '不在...中', value: 'ENUM_NOT_IN', multi: true }
72
+ ],
73
+
74
+ /**
75
+ * 数字类型
76
+ */
77
+ number: [
78
+ { label: '大于', value: 'NUMBER_MORE' },
79
+ { label: '大于等于', value: 'NUMBER_MORE_EQUAL' },
80
+ { label: '等于', value: 'NUMBER_EQUAL', strict: true },
81
+ { label: '不等于', value: 'NUMBER_NOT_EQUAL' },
82
+ { label: '小于', value: 'NUMBER_LESS' },
83
+ { label: '小于等于', value: 'NUMBER_LESS_EQUAL' },
84
+ { label: '在...中', value: 'NUMBER_BETWEEN', range: true }
85
+ ]
86
+ }
87
+
88
+ /**
89
+ * 所有的不需要输入值的选项的操作符
90
+ * @returns string[]
91
+ */
92
+ export function getAllOverOperatorList () {
93
+ const overOptions = []
94
+ for (const key in typeEnum) {
95
+ for (const option of typeEnum[key]) {
96
+ option.over && !overOptions.find(item => item === option.value) && overOptions.push(option.value)
97
+ }
98
+ }
99
+ return overOptions
100
+ }
101
+
102
+ export default function getOperatorOption (type) {
103
+ // todo: 优化一下判断次数???
104
+ if (type === 'decimal' || type === 'integer') {
105
+ type = 'number'
106
+ }
107
+ return typeEnum[type]
108
+ }
@@ -1,4 +1,4 @@
1
- export const paramsEnum = {
2
- LIST: 'LIST',
3
- SELECTOR: 'SELECTOR'
4
- }
1
+ export const paramsEnum = {
2
+ LIST: 'LIST',
3
+ SELECTOR: 'SELECTOR'
4
+ }