xs-common-plugins 1.3.0 → 1.3.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.
- package/package.json +1 -1
- package/src/common/common.js +1 -1
- package/src/components/Search/index.vue +309 -338
package/package.json
CHANGED
package/src/common/common.js
CHANGED
|
@@ -44,367 +44,338 @@
|
|
|
44
44
|
defaultTime: true
|
|
45
45
|
}-->
|
|
46
46
|
<template>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<el-input v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue" @change="(value)=>{
|
|
47
|
+
<div class="search-wrapper formClass" ref="formClass">
|
|
48
|
+
<el-form :model="inputValue" :inline="true" fit size="small" ref="formContent" label-position="left" class="form" @submit.native.prevent>
|
|
49
|
+
<div class="contentBox" ref="contentBox">
|
|
50
|
+
<div class="searchBox">
|
|
51
|
+
<div v-for="(optionItem, indexs) in formContent" :key="indexs">
|
|
52
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType == $enum.conditionType.input" :style="{ width: optionItem.itemWidth }">
|
|
53
|
+
<el-input v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue" @change="(value)=>{
|
|
55
54
|
optionItem.change&&optionItem.change(value)
|
|
56
|
-
}"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<el-form-item :label="optionItem.displayName" v-else-if="optionItem.conditionType == 9"
|
|
66
|
-
:style="{ width: optionItem.itemWidth }">
|
|
67
|
-
<search-cascader-cmp :option="optionItem" v-model="inputValue[optionItem.fieldName]">
|
|
68
|
-
</search-cascader-cmp>
|
|
69
|
-
</el-form-item>
|
|
55
|
+
}" @keydown.enter.native="toSearch"></el-input>
|
|
56
|
+
</el-form-item>
|
|
57
|
+
<!--下拉单选通过接口-->
|
|
58
|
+
<el-form-item :label="optionItem.displayName" v-else-if="optionItem.conditionType == $enum.conditionType.select" :style="{ width: optionItem.itemWidth }">
|
|
59
|
+
<search-select-cmp :option="optionItem" v-model="inputValue[optionItem.fieldName]"></search-select-cmp>
|
|
60
|
+
</el-form-item>
|
|
61
|
+
<el-form-item :label="optionItem.displayName" v-else-if="optionItem.conditionType == 9" :style="{ width: optionItem.itemWidth }">
|
|
62
|
+
<search-cascader-cmp :option="optionItem" v-model="inputValue[optionItem.fieldName]"></search-cascader-cmp>
|
|
63
|
+
</el-form-item>
|
|
70
64
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
</div>
|
|
90
|
-
</el-select>
|
|
91
|
-
</el-form-item>
|
|
65
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType == $enum.conditionType.mixedSelect" :style="{ width: optionItem.itemWidth }">
|
|
66
|
+
<!-- <select-cmp :selectType="optionItem.selectType" v-model="inputValue[optionItem.fieldName]" ></select-cmp> -->
|
|
67
|
+
<el-select :multiple="optionItem.dataSourceType == 4" clearable collapse-tags popper-class="select-popper" class="select-style" v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue">
|
|
68
|
+
<div class="shortcut" v-for="(item, index) in $orgEnum[optionItem.url].slice(-1)" :key="index">
|
|
69
|
+
<div class="tabs" v-for="(items, indexs) in item" :key="items.id">
|
|
70
|
+
<el-button @click="toSelect(items, optionItem.fieldName)">{{
|
|
71
|
+
indexs
|
|
72
|
+
}}
|
|
73
|
+
</el-button>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
<div class="option">
|
|
77
|
+
<el-option v-for="item in $orgEnum[optionItem.url].slice(0, -1)" :key="item.Id" :label="item.Text" :value="item.Id">
|
|
78
|
+
<div class="item">{{ item.Text }}</div>
|
|
79
|
+
</el-option>
|
|
80
|
+
</div>
|
|
81
|
+
</el-select>
|
|
82
|
+
</el-form-item>
|
|
92
83
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<!--单选联级选择-->
|
|
99
|
-
<el-form-item :label="optionItem.displayName" v-if="
|
|
84
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType == $enum.conditionType.cascader" :style="{ width: optionItem.itemWidth }">
|
|
85
|
+
<product-option-cmp v-model="inputValue[optionItem.fieldName]" :optionItem="optionItem"></product-option-cmp>
|
|
86
|
+
</el-form-item>
|
|
87
|
+
<!--单选联级选择-->
|
|
88
|
+
<el-form-item :label="optionItem.displayName" v-if="
|
|
100
89
|
optionItem.conditionType == $enum.conditionType.radioCascader
|
|
101
90
|
">
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
value-format="yyyy-MM-dd">
|
|
113
|
-
</el-date-picker>
|
|
114
|
-
<!-- 时间选择器-->
|
|
115
|
-
<el-date-picker v-else clearable v-model="inputValue[optionItem.fieldName]" type="daterange" align="right"
|
|
116
|
-
unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
117
|
-
:picker-options="pickerOptions" value-format="yyyy-MM-dd" style="position:relative;top:-1px">
|
|
118
|
-
</el-date-picker>
|
|
119
|
-
<!-- :value-format="optionItem.config?optionItem.config.timeFrom:'yyyy-MM-DD'" -->
|
|
120
|
-
</el-form-item>
|
|
91
|
+
<el-cascader ref="radiocascader" class="radiocascader" v-model="inputValue[optionItem.fieldName]" :props="{ checkStrictly: true }" clearable :options="brandModelList" @visible-change="cascaderData($event, optionItem.url)"></el-cascader>
|
|
92
|
+
</el-form-item>
|
|
93
|
+
<!--单选联级选择-->
|
|
94
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType === $enum.conditionType.datePicker" :style="{ width: optionItem.itemWidth }" class="dateRange">
|
|
95
|
+
<el-date-picker clearable v-model="inputValue[optionItem.fieldName]" v-if="optionItem.dataSourceType == 0" type="date" align="right" unlink-panels :placeholder="optionItem.defaultValue" value-format="yyyy-MM-dd"></el-date-picker>
|
|
96
|
+
<el-date-picker clearable v-model="inputValue[optionItem.fieldName]" v-else-if="optionItem.dataSourceType == 'month'" type="month" align="right" unlink-panels :placeholder="optionItem.defaultValue" value-format="yyyy-MM"></el-date-picker>
|
|
97
|
+
<!-- 时间选择器-->
|
|
98
|
+
<el-date-picker v-else clearable v-model="inputValue[optionItem.fieldName]" type="daterange" align="right" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" value-format="yyyy-MM-dd" style="position:relative;top:-1px"></el-date-picker>
|
|
99
|
+
<!-- :value-format="optionItem.config?optionItem.config.timeFrom:'yyyy-MM-DD'" -->
|
|
100
|
+
</el-form-item>
|
|
121
101
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
:style="{ width: optionItem.itemWidth }" class="dateRange">
|
|
150
|
-
<HKCascader v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue"
|
|
151
|
-
:style="{ width: optionItem.itemWidth }" :optionItem="optionItem"></HKCascader>
|
|
152
|
-
</el-form-item>
|
|
153
|
-
<el-form-item :label="optionItem.displayName" v-if="optionItem.component "
|
|
154
|
-
:style="{ width: optionItem.itemWidth }" class="dateRange">
|
|
155
|
-
<component :is="optionItem.component" v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue" v-bind="optionItem" />
|
|
156
|
-
</el-form-item>
|
|
157
|
-
</div>
|
|
102
|
+
<!-- -->
|
|
103
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType == $enum.conditionType.reportSet" :style="{ width: optionItem.itemWidth }" class="report-class">
|
|
104
|
+
<!-- v-model="inputValue[optionItem.fieldName]" -->
|
|
105
|
+
<el-dropdown @command="handlerSelReport" @click="clickReportBtn(optionItem.url, optionItem.params)">
|
|
106
|
+
<el-button type="primary">{{ selReportName }}</el-button>
|
|
107
|
+
<el-dropdown-menu slot="dropdown" v-if="reportList.length > 0">
|
|
108
|
+
<el-dropdown-item v-for="report in reportList" :key="report.id" :command="report">
|
|
109
|
+
{{ report.title }}
|
|
110
|
+
</el-dropdown-item>
|
|
111
|
+
</el-dropdown-menu>
|
|
112
|
+
</el-dropdown>
|
|
113
|
+
<el-popover placement="bottom" width="560" trigger="click" v-if="selReportName !== '选择报表'">
|
|
114
|
+
<report-set v-if="reloadReportForm" v-model="inputValue[optionItem.fieldName]" model-type="Object" :jsonCfg="reportDefs"></report-set>
|
|
115
|
+
<el-button slot="reference" type="primary" class="set-class" icon="el-icon-s-tools"></el-button>
|
|
116
|
+
</el-popover>
|
|
117
|
+
</el-form-item>
|
|
118
|
+
<!--多选联级选择可动态查询-->
|
|
119
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType == $enum.conditionType.hkqudao" :style="{ width: optionItem.itemWidth }" class="dateRange">
|
|
120
|
+
<HKQudao v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue" :style="{ width: optionItem.itemWidth }" :optionItem="optionItem"></HKQudao>
|
|
121
|
+
</el-form-item>
|
|
122
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.conditionType == $enum.conditionType.hkarea" :style="{ width: optionItem.itemWidth }" class="dateRange">
|
|
123
|
+
<HKCascader v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue" :style="{ width: optionItem.itemWidth }" :optionItem="optionItem"></HKCascader>
|
|
124
|
+
</el-form-item>
|
|
125
|
+
<el-form-item :label="optionItem.displayName" v-if="optionItem.component " :style="{ width: optionItem.itemWidth }" class="dateRange">
|
|
126
|
+
<component :is="optionItem.component" v-model="inputValue[optionItem.fieldName]" :placeholder="optionItem.defaultValue" v-bind="optionItem"/>
|
|
127
|
+
</el-form-item>
|
|
128
|
+
</div>
|
|
158
129
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
<!-- <div class="buttonBox">
|
|
130
|
+
<el-form-item v-if="!!getBtnContentIsOut().length">
|
|
131
|
+
<el-dropdown trigger="click" @command="handleCommand" split-button type="primary" @click="toSearch()">
|
|
132
|
+
查询
|
|
133
|
+
<el-dropdown-menu slot="dropdown">
|
|
134
|
+
<el-dropdown-item v-for="item in getBtnContentIsOut()" :key="item.id" :command="item">
|
|
135
|
+
{{ item.actionText }}
|
|
136
|
+
</el-dropdown-item>
|
|
137
|
+
</el-dropdown-menu>
|
|
138
|
+
</el-dropdown>
|
|
139
|
+
</el-form-item>
|
|
140
|
+
<el-form-item v-else>
|
|
141
|
+
<el-button @command="handleCommand" split-button type="primary" @click="toSearch()">查询</el-button>
|
|
142
|
+
</el-form-item>
|
|
143
|
+
<div class="isOut-btn">
|
|
144
|
+
<el-button v-for="(item, i) in getBtnContentIsOut('isOut')" :key="i" size="small" @click="handleCommand(item)" type="primary">{{ item.actionText }}
|
|
145
|
+
</el-button>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
<slot name="search_custemBtn"/>
|
|
149
|
+
<!-- <div class="buttonBox">
|
|
180
150
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
151
|
+
<el-form-item v-if="!!getBtnContentIsOut().length">
|
|
152
|
+
<el-dropdown
|
|
153
|
+
trigger="click"
|
|
154
|
+
@command="handleCommand"
|
|
155
|
+
split-button
|
|
156
|
+
type="primary"
|
|
157
|
+
@click="toSearch()"
|
|
158
|
+
>
|
|
159
|
+
查询
|
|
160
|
+
<el-dropdown-menu slot="dropdown">
|
|
161
|
+
<el-dropdown-item
|
|
162
|
+
v-for="item in getBtnContentIsOut()"
|
|
163
|
+
:key="item.id"
|
|
164
|
+
:command="item"
|
|
165
|
+
>
|
|
166
|
+
{{ item.actionText }}
|
|
167
|
+
</el-dropdown-item>
|
|
168
|
+
</el-dropdown-menu>
|
|
169
|
+
</el-dropdown>
|
|
170
|
+
</el-form-item>
|
|
171
|
+
<el-form-item v-else>
|
|
172
|
+
<el-button
|
|
173
|
+
@command="handleCommand"
|
|
174
|
+
split-button
|
|
175
|
+
type="primary"
|
|
176
|
+
@click="toSearch()"
|
|
177
|
+
>查询</el-button
|
|
178
|
+
>
|
|
179
|
+
</el-form-item>
|
|
180
|
+
<el-form-item style="margin-left:4px" v-for="(item,i) in getBtnContentIsOut('isOut')" :key="i">
|
|
181
|
+
<el-button @command="handleCommand" type="primary">{{item.actionText}} </el-button>
|
|
182
|
+
</el-form-item>
|
|
183
|
+
</div> -->
|
|
184
|
+
</div>
|
|
185
|
+
</el-form>
|
|
186
|
+
</div>
|
|
217
187
|
</template>
|
|
218
188
|
<script>
|
|
219
|
-
import methods from "./methods";
|
|
220
189
|
import { isArray } from "@/common/utils";
|
|
221
190
|
|
|
222
191
|
import reportSet from "@/components/report_set";
|
|
223
|
-
// 组件分离 2020-10-10 10:00
|
|
224
|
-
// 下拉框组件升级
|
|
225
|
-
import SearchSelectCmp from "./select";
|
|
226
192
|
import SearchCascaderCmp from "./cascader";
|
|
193
|
+
import HKCascader from "./hk_cascader";
|
|
194
|
+
import HKQudao from "./hk_cascader_qudao";
|
|
195
|
+
import methods from "./methods";
|
|
227
196
|
|
|
228
197
|
import ProductOptionCmp from "./product_option";
|
|
229
|
-
|
|
230
|
-
|
|
198
|
+
// 组件分离 2020-10-10 10:00
|
|
199
|
+
// 下拉框组件升级
|
|
200
|
+
import SearchSelectCmp from "./select";
|
|
231
201
|
|
|
232
202
|
const EVENT_INPUT = "input";
|
|
233
203
|
let id = 0;
|
|
234
204
|
|
|
235
205
|
export default {
|
|
236
|
-
|
|
206
|
+
name: "Search",
|
|
237
207
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
208
|
+
components: {
|
|
209
|
+
reportSet,
|
|
210
|
+
SearchSelectCmp,
|
|
211
|
+
SearchCascaderCmp,
|
|
212
|
+
ProductOptionCmp,
|
|
213
|
+
HKQudao,
|
|
214
|
+
HKCascader,
|
|
215
|
+
},
|
|
216
|
+
props: {
|
|
217
|
+
//搜索内容集合
|
|
218
|
+
formContent: {
|
|
219
|
+
type: [Object, Array],
|
|
220
|
+
},
|
|
221
|
+
btnContent: {
|
|
222
|
+
type: [Object, Array],
|
|
223
|
+
},
|
|
224
|
+
placeholder: {
|
|
225
|
+
type: String,
|
|
226
|
+
default: "",
|
|
227
|
+
},
|
|
228
|
+
value: {
|
|
229
|
+
type: Object,
|
|
230
|
+
default: () => {
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
data() {
|
|
235
|
+
return {
|
|
236
|
+
brandModelList: [],
|
|
237
|
+
keys: [],
|
|
238
|
+
inputValue: this.value,
|
|
239
|
+
pickerOptions: {
|
|
240
|
+
shortcuts: [
|
|
241
|
+
{
|
|
242
|
+
text: "最近一周",
|
|
243
|
+
onClick(picker) {
|
|
244
|
+
const end = new Date();
|
|
245
|
+
const start = new Date();
|
|
246
|
+
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
247
|
+
picker.$emit("pick", [start, end]);
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
text: "最近一个月",
|
|
252
|
+
onClick(picker) {
|
|
253
|
+
const end = new Date();
|
|
254
|
+
const start = new Date();
|
|
255
|
+
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
256
|
+
picker.$emit("pick", [start, end]);
|
|
257
|
+
},
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
text: "最近三个月",
|
|
261
|
+
onClick(picker) {
|
|
262
|
+
const end = new Date();
|
|
263
|
+
const start = new Date();
|
|
264
|
+
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
265
|
+
picker.$emit("pick", [start, end]);
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
text: "本月",
|
|
270
|
+
onClick(picker) {
|
|
271
|
+
const end = new Date();
|
|
272
|
+
var d = new Date();
|
|
273
|
+
d.setDate(1);
|
|
274
|
+
const start = d;
|
|
275
|
+
picker.$emit("pick", [start, end]);
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
text: "本周",
|
|
280
|
+
onClick(picker) {
|
|
281
|
+
const date = new Date();
|
|
282
|
+
const weekday = date.getDay() || 7;
|
|
283
|
+
const end = new Date();
|
|
284
|
+
date.setDate(date.getDate() - weekday + 1);
|
|
285
|
+
const start = date;
|
|
286
|
+
picker.$emit("pick", [start, end]);
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
text: "最近半年",
|
|
291
|
+
onClick(picker) {
|
|
292
|
+
const end = new Date();
|
|
293
|
+
const start = new Date();
|
|
294
|
+
start.setTime(start.getTime() - 3600 * 1000 * 24 * 180);
|
|
295
|
+
picker.$emit("pick", [start, end]);
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
text: "最近一年",
|
|
300
|
+
onClick(picker) {
|
|
301
|
+
const end = new Date();
|
|
302
|
+
const start = new Date();
|
|
303
|
+
start.setTime(start.getTime() - 3600 * 1000 * 24 * 365);
|
|
304
|
+
picker.$emit("pick", [start, end]);
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
],
|
|
308
|
+
},
|
|
309
|
+
// 报表相关属性
|
|
310
|
+
reportList: [], // 报表集合
|
|
311
|
+
selReportName: "选择报表",
|
|
312
|
+
reportDefs: "",
|
|
313
|
+
reportParamStr: "",
|
|
314
|
+
reloadReportForm: false,
|
|
315
|
+
};
|
|
316
|
+
},
|
|
317
|
+
methods,
|
|
318
|
+
mixins: [],
|
|
319
|
+
watch: {
|
|
320
|
+
value: {
|
|
321
|
+
handler(newValue) {
|
|
322
|
+
this.inputValue = newValue;
|
|
323
|
+
},
|
|
324
|
+
deep: true,
|
|
325
|
+
},
|
|
326
|
+
inputValue: {
|
|
327
|
+
handler(newValue) {
|
|
328
|
+
this.$emit(EVENT_INPUT, newValue);
|
|
329
|
+
},
|
|
330
|
+
deep: true,
|
|
331
|
+
},
|
|
332
|
+
formContent: {
|
|
333
|
+
handler(newValue) {
|
|
334
|
+
if (isArray(newValue)) {
|
|
335
|
+
const reportObj = newValue.find((item) => {
|
|
336
|
+
return item.conditionType == this.$enum.conditionType.reportSet;
|
|
337
|
+
});
|
|
338
|
+
if (reportObj) {
|
|
339
|
+
this.clickReportBtn(reportObj.url, reportObj.params);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
deep: true,
|
|
344
|
+
immediate: true,
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
computed: {
|
|
348
|
+
getItem() {
|
|
349
|
+
return function (val) {
|
|
350
|
+
setTimeout(() => {
|
|
351
|
+
const result = this.$http.get(val);
|
|
352
|
+
}, 1000);
|
|
353
|
+
};
|
|
354
|
+
},
|
|
355
|
+
// getBtnContentIsOut() {
|
|
356
|
+
// let arr = Array.isArray(this.btnContent)&&this.btnContent.filter((item) => item.isOut);
|
|
357
|
+
// console.log('xxx',arr)
|
|
358
|
+
// return arr
|
|
359
|
+
// },
|
|
360
|
+
},
|
|
361
|
+
// ------------------------------------------------------------------
|
|
362
|
+
// pragma mark - Life Cycle(生命周期)
|
|
363
|
+
// ------------------------------------------------------------------
|
|
364
|
+
created() {
|
|
365
|
+
this.createdInit();
|
|
366
|
+
},
|
|
367
|
+
mounted() {
|
|
368
|
+
//点击文本自动点击前面的input触发选择
|
|
369
|
+
setInterval(function () {
|
|
370
|
+
document.querySelectorAll(".el-cascader-node__label").forEach((el) => {
|
|
371
|
+
el.onclick = function () {
|
|
372
|
+
if (this.previousElementSibling) this.previousElementSibling.click();
|
|
373
|
+
};
|
|
374
|
+
});
|
|
375
|
+
}, 1000);
|
|
405
376
|
|
|
406
|
-
|
|
407
|
-
|
|
377
|
+
this.mountedInit();
|
|
378
|
+
},
|
|
408
379
|
};
|
|
409
380
|
</script>
|
|
410
381
|
<style lang="scss" src="./index.scss" scoped></style>
|