vue2-client 1.1.0 → 1.2.2

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 (147) hide show
  1. package/.eslintrc.js +81 -81
  2. package/README.md +65 -63
  3. package/babel.config.js +15 -14
  4. package/docs/index.md +29 -29
  5. package/docs/notice.md +22 -0
  6. package/index.js +28 -0
  7. package/jest.config.js +3 -3
  8. package/package.json +1 -1
  9. package/public/index.html +27 -27
  10. package/src/App.vue +2 -2
  11. package/src/assets/img/SunClientDownload.png +0 -0
  12. package/src/assets/img/SunClientManual/1.png +0 -0
  13. package/src/assets/img/SunClientManual/2.png +0 -0
  14. package/src/assets/img/SunClientManual/3.png +0 -0
  15. package/src/assets/img/SunClientManual/4.png +0 -0
  16. package/src/assets/img/ToDeskDownload.png +0 -0
  17. package/src/assets/img/ToDeskManual/1.png +0 -0
  18. package/src/assets/img/ToDeskManual/2.png +0 -0
  19. package/src/assets/img/ToDeskManual/3.png +0 -0
  20. package/src/assets/img/ToDeskManual/4.png +0 -0
  21. package/src/assets/sound/newNote.mp3 +0 -0
  22. package/src/base-client/all.js +57 -57
  23. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +1157 -1159
  24. package/src/base-client/components/common/CreateQuery/index.md +1 -1
  25. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +540 -540
  26. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +1 -1
  27. package/src/base-client/components/common/CustomColumnsDrawer/index.md +1 -1
  28. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +150 -150
  29. package/src/base-client/components/common/FormGroupEdit/index.md +1 -1
  30. package/src/base-client/components/common/FormGroupQuery/index.md +1 -1
  31. package/src/base-client/components/common/XAddForm/XAddForm.vue +323 -323
  32. package/src/base-client/components/common/XAddForm/index.md +1 -1
  33. package/src/base-client/components/common/XBadge/index.md +1 -1
  34. package/src/base-client/components/common/XCard/index.md +1 -1
  35. package/src/base-client/components/common/XForm/XForm.vue +275 -275
  36. package/src/base-client/components/common/XForm/XFormItem.vue +217 -217
  37. package/src/base-client/components/common/XForm/index.md +196 -196
  38. package/src/base-client/components/common/XFormCol/index.md +1 -1
  39. package/src/base-client/components/common/XFormTable/XFormTable.vue +407 -405
  40. package/src/base-client/components/common/XFormTable/index.md +3 -3
  41. package/src/base-client/components/common/XTable/XTable.vue +262 -262
  42. package/src/base-client/components/common/XTable/index.md +255 -255
  43. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +1 -1
  44. package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +226 -226
  45. package/src/base-client/components/iot/CustomerDetailsView/index.md +2 -2
  46. package/src/base-client/components/iot/DataAnalysisUser/DataAnalysisUser.vue +1 -1
  47. package/src/base-client/components/iot/DataAnalysisViewGD/DataAnalysisViewGD.vue +548 -548
  48. package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +453 -453
  49. package/src/base-client/components/iot/DeviceDetailsView/DeviceDetailsView.vue +231 -231
  50. package/src/base-client/components/iot/DeviceDetailsView/index.md +1 -1
  51. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +330 -330
  52. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +1 -1
  53. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstruct.vue +3 -3
  54. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +122 -122
  55. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsMain.vue +1 -1
  56. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +3 -3
  57. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +277 -277
  58. package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +472 -472
  59. package/src/base-client/components/iot/InstructDetailsView/index.md +1 -1
  60. package/src/base-client/components/iot/LogDetailsView/LogDetailsView.vue +380 -380
  61. package/src/base-client/components/iot/LogDetailsView/index.md +1 -1
  62. package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +360 -360
  63. package/src/base-client/components/iot/MeterDetailsView/index.md +1 -1
  64. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsCount.vue +335 -335
  65. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsException.vue +185 -185
  66. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsHandPlan.vue +292 -292
  67. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsInstruct.vue +237 -237
  68. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsMain.vue +257 -257
  69. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsSellGas.vue +190 -190
  70. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +723 -723
  71. package/src/base-client/components/iot/WebmeterAnalysisView/index.md +1 -1
  72. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  73. package/src/base-client/components/system/DictionaryDetailsView/index.md +1 -1
  74. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +248 -248
  75. package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +371 -406
  76. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +838 -486
  77. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +261 -184
  78. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +528 -303
  79. package/src/base-client/plugins/AppData.js +69 -69
  80. package/src/base-client/plugins/GetLoginInfoService.js +221 -221
  81. package/src/base-client/plugins/index.js +21 -21
  82. package/src/bootstrap.js +27 -27
  83. package/src/components/Ellipsis/Ellipsis.vue +1 -1
  84. package/src/components/Ellipsis/index.md +2 -2
  85. package/src/components/NumberInfo/index.md +1 -1
  86. package/src/components/STable/README.md +3 -3
  87. package/src/components/Trend/index.md +1 -1
  88. package/src/components/cache/AKeepAlive.js +1 -1
  89. package/src/components/checkbox/index.js +2 -2
  90. package/src/components/index.js +15 -15
  91. package/src/components/menu/menu.js +1 -1
  92. package/src/components/setting/Setting.vue +4 -4
  93. package/src/components/table/advance/AdvanceTable.vue +3 -3
  94. package/src/components/transition/PageToggleTransition.vue +1 -1
  95. package/src/config/default/setting.config.js +33 -33
  96. package/src/layouts/CommonLayout.vue +1 -1
  97. package/src/layouts/ComponentLayoutOne.vue +47 -47
  98. package/src/layouts/PageLayout.vue +2 -2
  99. package/src/layouts/SinglePageView.vue +1 -1
  100. package/src/layouts/header/AdminHeader.vue +2 -2
  101. package/src/layouts/header/HeaderAvatar.vue +1 -1
  102. package/src/layouts/header/HeaderNotice.vue +97 -97
  103. package/src/layouts/tabs/TabsHead.vue +1 -1
  104. package/src/layouts/tabs/TabsView.vue +6 -6
  105. package/src/main.js +20 -20
  106. package/src/mock/common/reportData.js +20 -20
  107. package/src/mock/goods/index.js +2 -2
  108. package/src/mock/index.js +6 -6
  109. package/src/mock/project/index.js +1 -1
  110. package/src/mock/user/current.js +1 -1
  111. package/src/mock/user/login.js +1 -1
  112. package/src/mock/user/routes.js +61 -61
  113. package/src/mock/workplace/index.js +1 -1
  114. package/src/pages/exception/403.vue +25 -25
  115. package/src/pages/exception/404.vue +25 -25
  116. package/src/pages/exception/500.vue +25 -25
  117. package/src/pages/login/Login.vue +194 -194
  118. package/src/pages/report/ReportTable.js +125 -125
  119. package/src/pages/report/ReportTableHome.vue +28 -28
  120. package/src/pages/resourceManage/resourceManageMain.vue +55 -55
  121. package/src/pages/system/applyInstallView/Core.vue +1 -1
  122. package/src/pages/system/applyInstallView/index.vue +1 -1
  123. package/src/pages/system/dictionary/index.vue +1 -1
  124. package/src/pages/system/queryParams/index.vue +1 -1
  125. package/src/router/async/config.async.js +1 -1
  126. package/src/router/async/router.map.js +59 -59
  127. package/src/router/guards.js +3 -3
  128. package/src/router/index.js +27 -27
  129. package/src/services/api/EmployeeDetailsViewApi.js +3 -1
  130. package/src/services/api/TicketDetailsViewApi.js +9 -1
  131. package/src/services/api/common.js +37 -39
  132. package/src/services/api/restTools.js +23 -23
  133. package/src/services/dataSource.js +1 -1
  134. package/src/services/user.js +2 -2
  135. package/src/store/index.js +5 -5
  136. package/src/store/modules/setting.js +5 -5
  137. package/src/theme/index.less +5 -5
  138. package/src/theme/reportTable.less +58 -58
  139. package/src/utils/i18n.js +2 -2
  140. package/src/utils/indexedDB.js +146 -146
  141. package/src/utils/request.js +197 -197
  142. package/src/utils/routerUtil.js +18 -5
  143. package/tests/unit/ReportTable.spec.js +15 -15
  144. package/vue.config.js +153 -152
  145. package/webpack.config.js +12 -12
  146. package/src/index.js +0 -28
  147. package/src/router/config.js +0 -23
@@ -1,217 +1,217 @@
1
- <template>
2
- <!-- 综合筛选 -->
3
- <x-form-col
4
- :xl="xl"
5
- :xxl="xxl"
6
- v-if="attr.type === 'select' && attr.model === 'rowIdValue'">
7
- <a-form-model-item
8
- :ref="attr.model"
9
- :label="attr.name"
10
- :prop="attr.model">
11
- <a-input :disabled="disabled" v-model="form[attr.model]">
12
- <a-select
13
- slot="addonBefore"
14
- v-model="form['rowIdName']"
15
- style="width: 100px">
16
- <a-select-option
17
- v-for="(item,index) in attr.keys"
18
- :key="index"
19
- :value="Object.keys(item)[0]">{{ item[Object.keys(item)[0]] }}
20
- </a-select-option>
21
- </a-select>
22
- </a-input>
23
- </a-form-model-item>
24
- </x-form-col>
25
- <!-- 输入框 -->
26
- <x-form-col
27
- :xl="xl"
28
- :xxl="xxl"
29
- v-else-if="attr.type === 'input'">
30
- <a-form-model-item
31
- :ref="attr.model"
32
- :label="attr.name"
33
- :prop="attr.model">
34
- <a-input :disabled="disabled" v-model="form[attr.model]" :placeholder="attr.placeholder ? attr.placeholder : '请输入'+attr.name.replace(/\s*/g, '')"/>
35
- </a-form-model-item>
36
- </x-form-col>
37
- <!-- 下拉框 -->
38
- <x-form-col
39
- :xl="xl"
40
- :xxl="xxl"
41
- v-else-if="attr.type === 'select'">
42
- <a-form-model-item
43
- :ref="attr.model"
44
- :label="attr.name"
45
- :prop="attr.model">
46
- <a-select
47
- v-model="form[attr.model]"
48
- :disabled="disabled"
49
- show-search
50
- :placeholder="attr.placeholder ? attr.placeholder : '请选择'"
51
- :filter-option="filterOption"
52
- >
53
- <a-select-option
54
- v-if="mode === '查询'"
55
- key="999999"
56
- value="全部">全部
57
- </a-select-option>
58
- <template v-if="attr.keys">
59
- <a-select-option
60
- v-for="(item,index) in attr.keys"
61
- :key="index"
62
- :value="Object.keys(item)[0]">
63
- {{ item[Object.keys(item)[0]] }}
64
- </a-select-option>
65
- </template>
66
- <template v-else>
67
- <template v-if="attr.keyName.indexOf('logic@') !== -1">
68
- <a-select-option
69
- v-for="(item,index) in option"
70
- :key="index"
71
- :value="Object.keys(item)[0]">{{ item[Object.keys(item)[0]] }}
72
- </a-select-option>
73
- </template>
74
- <template v-else>
75
- <a-select-option
76
- v-for="item in $appdata.getDictionaryList(attr.keyName)"
77
- :key="item.value"
78
- :value="item.value">
79
- <!-- 徽标(badge) -->
80
- <x-badge :badge-key="attr.keyName" :value="item.value" :replaceText="item.text"/>
81
- </a-select-option>
82
- </template>
83
- </template>
84
- </a-select>
85
- </a-form-model-item>
86
- </x-form-col>
87
- <!-- TODO 多选框 -->
88
- <!-- TODO 单选框 -->
89
- <!-- 日期范围选择器 -->
90
- <x-form-col
91
- :xl="xl"
92
- :xxl="xxl"
93
- v-else-if="attr.type === 'rangePicker'">
94
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
95
- <a-range-picker :disabled="disabled" :show-time="true" v-model="form[attr.model]" valueFormat="YYYY-MM-DD HH:mm:ss"/>
96
- </a-form-model-item>
97
- </x-form-col>
98
- <!-- 月份选择器 -->
99
- <x-form-col
100
- :xl="xl"
101
- :xxl="xxl"
102
- v-else-if="attr.type === 'monthPicker'">
103
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
104
- <a-month-picker :disabled="disabled" :show-time="true" v-model="form[attr.model]" valueFormat="YYYY-MM"/>
105
- </a-form-model-item>
106
- </x-form-col>
107
- <!-- 日期选择器 -->
108
- <x-form-col
109
- :xl="xl"
110
- :xxl="xxl"
111
- v-else-if="attr.type === 'datePicker'">
112
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
113
- <a-date-picker :disabled="disabled" :show-time="true" v-model="form[attr.model]" valueFormat="YYYY-MM-DD"/>
114
- </a-form-model-item>
115
- </x-form-col>
116
- <!-- 级联选择器 -->
117
- <x-form-col
118
- :xl="xl"
119
- :xxl="xxl"
120
- v-else-if="attr.type === 'cascader'">
121
- <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
122
- <template v-if="attr.keys">
123
- <a-dcascader :disabled="disabled" :option="attr.keys" :value="form[attr.model]"/>
124
- </template>
125
- <template v-else>
126
- <a-dcascader :disabled="disabled" :option="option" :value="form[attr.model]"/>
127
- </template>
128
- </a-form-model-item>
129
- </x-form-col>
130
- <!-- 文本域 -->
131
- <x-form-col
132
- :xl="24"
133
- :xxl="24"
134
- :xs="24"
135
- :sm="24"
136
- :md="24"
137
- :lg="24"
138
- v-else-if="attr.type === 'textarea'">
139
- <a-form-model-item
140
- :ref="attr.model"
141
- :label="attr.name"
142
- :prop="attr.model">
143
- <a-textarea :rows="4" :disabled="disabled" v-model="form[attr.model]" :placeholder="attr.placeholder ? attr.placeholder : '请输入'+attr.name.replace(/\s*/g, '')"/>
144
- </a-form-model-item>
145
- </x-form-col>
146
- <!-- TODO 文件上传 -->
147
- <!-- TODO 图片上传 -->
148
- </template>
149
- <script>
150
-
151
- import { post } from '@/services/api/restTools'
152
-
153
- export default {
154
- name: 'XFormItem',
155
- data () {
156
- return {
157
- option: []
158
- }
159
- },
160
- props: {
161
- attr: {
162
- type: Object,
163
- default: () => {
164
- return {}
165
- }
166
- },
167
- form: {
168
- type: Object,
169
- default: () => {
170
- return {}
171
- }
172
- },
173
- disabled: {
174
- type: Boolean,
175
- default: () => {
176
- return false
177
- }
178
- },
179
- mode: {
180
- type: String,
181
- default: () => {
182
- return '查询'
183
- }
184
- },
185
- xl: {
186
- type: Number,
187
- default: undefined
188
- },
189
- xxl: {
190
- type: Number,
191
- default: undefined
192
- }
193
- },
194
- created () {
195
- if (this.attr.keyName && this.attr.keyName.indexOf('logic@') !== -1) {
196
- const logicName = this.attr.keyName
197
- const logic = logicName.substring(6)
198
- post('/webmeterapi/' + logic, {}).then(res => {
199
- this.option = res
200
- })
201
- }
202
- },
203
- methods: {
204
- filterOption (input, option) {
205
- if (option.componentOptions.children[0].text) {
206
- return (
207
- option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
208
- )
209
- } else {
210
- return (
211
- option.componentOptions.children[0].child.value.toLowerCase().indexOf(input.toLowerCase()) >= 0
212
- )
213
- }
214
- }
215
- }
216
- }
217
- </script>
1
+ <template>
2
+ <!-- 综合筛选 -->
3
+ <x-form-col
4
+ :xl="xl"
5
+ :xxl="xxl"
6
+ v-if="attr.type === 'select' && attr.model === 'rowIdValue'">
7
+ <a-form-model-item
8
+ :ref="attr.model"
9
+ :label="attr.name"
10
+ :prop="attr.model">
11
+ <a-input :disabled="disabled" v-model="form[attr.model]">
12
+ <a-select
13
+ slot="addonBefore"
14
+ v-model="form['rowIdName']"
15
+ style="width: 100px">
16
+ <a-select-option
17
+ v-for="(item,index) in attr.keys"
18
+ :key="index"
19
+ :value="Object.keys(item)[0]">{{ item[Object.keys(item)[0]] }}
20
+ </a-select-option>
21
+ </a-select>
22
+ </a-input>
23
+ </a-form-model-item>
24
+ </x-form-col>
25
+ <!-- 输入框 -->
26
+ <x-form-col
27
+ :xl="xl"
28
+ :xxl="xxl"
29
+ v-else-if="attr.type === 'input'">
30
+ <a-form-model-item
31
+ :ref="attr.model"
32
+ :label="attr.name"
33
+ :prop="attr.model">
34
+ <a-input :disabled="disabled" v-model="form[attr.model]" :placeholder="attr.placeholder ? attr.placeholder : '请输入'+attr.name.replace(/\s*/g, '')"/>
35
+ </a-form-model-item>
36
+ </x-form-col>
37
+ <!-- 下拉框 -->
38
+ <x-form-col
39
+ :xl="xl"
40
+ :xxl="xxl"
41
+ v-else-if="attr.type === 'select'">
42
+ <a-form-model-item
43
+ :ref="attr.model"
44
+ :label="attr.name"
45
+ :prop="attr.model">
46
+ <a-select
47
+ v-model="form[attr.model]"
48
+ :disabled="disabled"
49
+ show-search
50
+ :placeholder="attr.placeholder ? attr.placeholder : '请选择'"
51
+ :filter-option="filterOption"
52
+ >
53
+ <a-select-option
54
+ v-if="mode === '查询'"
55
+ key="999999"
56
+ value="全部">全部
57
+ </a-select-option>
58
+ <template v-if="attr.keys">
59
+ <a-select-option
60
+ v-for="(item,index) in attr.keys"
61
+ :key="index"
62
+ :value="Object.keys(item)[0]">
63
+ {{ item[Object.keys(item)[0]] }}
64
+ </a-select-option>
65
+ </template>
66
+ <template v-else>
67
+ <template v-if="attr.keyName.indexOf('logic@') !== -1">
68
+ <a-select-option
69
+ v-for="(item,index) in option"
70
+ :key="index"
71
+ :value="Object.keys(item)[0]">{{ item[Object.keys(item)[0]] }}
72
+ </a-select-option>
73
+ </template>
74
+ <template v-else>
75
+ <a-select-option
76
+ v-for="item in $appdata.getDictionaryList(attr.keyName)"
77
+ :key="item.value"
78
+ :value="item.value">
79
+ <!-- 徽标(badge) -->
80
+ <x-badge :badge-key="attr.keyName" :value="item.value" :replaceText="item.text"/>
81
+ </a-select-option>
82
+ </template>
83
+ </template>
84
+ </a-select>
85
+ </a-form-model-item>
86
+ </x-form-col>
87
+ <!-- TODO 多选框 -->
88
+ <!-- TODO 单选框 -->
89
+ <!-- 日期范围选择器 -->
90
+ <x-form-col
91
+ :xl="xl"
92
+ :xxl="xxl"
93
+ v-else-if="attr.type === 'rangePicker'">
94
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
95
+ <a-range-picker :disabled="disabled" :show-time="true" v-model="form[attr.model]" valueFormat="YYYY-MM-DD HH:mm:ss"/>
96
+ </a-form-model-item>
97
+ </x-form-col>
98
+ <!-- 月份选择器 -->
99
+ <x-form-col
100
+ :xl="xl"
101
+ :xxl="xxl"
102
+ v-else-if="attr.type === 'monthPicker'">
103
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
104
+ <a-month-picker :disabled="disabled" :show-time="true" v-model="form[attr.model]" valueFormat="YYYY-MM"/>
105
+ </a-form-model-item>
106
+ </x-form-col>
107
+ <!-- 日期选择器 -->
108
+ <x-form-col
109
+ :xl="xl"
110
+ :xxl="xxl"
111
+ v-else-if="attr.type === 'datePicker'">
112
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
113
+ <a-date-picker :disabled="disabled" :show-time="true" v-model="form[attr.model]" valueFormat="YYYY-MM-DD"/>
114
+ </a-form-model-item>
115
+ </x-form-col>
116
+ <!-- 级联选择器 -->
117
+ <x-form-col
118
+ :xl="xl"
119
+ :xxl="xxl"
120
+ v-else-if="attr.type === 'cascader'">
121
+ <a-form-model-item :ref="attr.model" :label="attr.name" :prop="attr.model">
122
+ <template v-if="attr.keys">
123
+ <a-dcascader :disabled="disabled" :option="attr.keys" :value="form[attr.model]"/>
124
+ </template>
125
+ <template v-else>
126
+ <a-dcascader :disabled="disabled" :option="option" :value="form[attr.model]"/>
127
+ </template>
128
+ </a-form-model-item>
129
+ </x-form-col>
130
+ <!-- 文本域 -->
131
+ <x-form-col
132
+ :xl="24"
133
+ :xxl="24"
134
+ :xs="24"
135
+ :sm="24"
136
+ :md="24"
137
+ :lg="24"
138
+ v-else-if="attr.type === 'textarea'">
139
+ <a-form-model-item
140
+ :ref="attr.model"
141
+ :label="attr.name"
142
+ :prop="attr.model">
143
+ <a-textarea :rows="4" :disabled="disabled" v-model="form[attr.model]" :placeholder="attr.placeholder ? attr.placeholder : '请输入'+attr.name.replace(/\s*/g, '')"/>
144
+ </a-form-model-item>
145
+ </x-form-col>
146
+ <!-- TODO 文件上传 -->
147
+ <!-- TODO 图片上传 -->
148
+ </template>
149
+ <script>
150
+
151
+ import { post } from '@vue2-client/services/api/restTools'
152
+
153
+ export default {
154
+ name: 'XFormItem',
155
+ data () {
156
+ return {
157
+ option: []
158
+ }
159
+ },
160
+ props: {
161
+ attr: {
162
+ type: Object,
163
+ default: () => {
164
+ return {}
165
+ }
166
+ },
167
+ form: {
168
+ type: Object,
169
+ default: () => {
170
+ return {}
171
+ }
172
+ },
173
+ disabled: {
174
+ type: Boolean,
175
+ default: () => {
176
+ return false
177
+ }
178
+ },
179
+ mode: {
180
+ type: String,
181
+ default: () => {
182
+ return '查询'
183
+ }
184
+ },
185
+ xl: {
186
+ type: Number,
187
+ default: undefined
188
+ },
189
+ xxl: {
190
+ type: Number,
191
+ default: undefined
192
+ }
193
+ },
194
+ created () {
195
+ if (this.attr.keyName && this.attr.keyName.indexOf('logic@') !== -1) {
196
+ const logicName = this.attr.keyName
197
+ const logic = logicName.substring(6)
198
+ post('/webmeterapi/' + logic, {}).then(res => {
199
+ this.option = res
200
+ })
201
+ }
202
+ },
203
+ methods: {
204
+ filterOption (input, option) {
205
+ if (option.componentOptions.children[0].text) {
206
+ return (
207
+ option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
208
+ )
209
+ } else {
210
+ return (
211
+ option.componentOptions.children[0].child.value.toLowerCase().indexOf(input.toLowerCase()) >= 0
212
+ )
213
+ }
214
+ }
215
+ }
216
+ }
217
+ </script>