doway-coms 2.10.19 → 2.10.21

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 (87) hide show
  1. package/.browserslistrc +2 -2
  2. package/README.md +28 -28
  3. package/dist/css/chunk-vendors.7f83d8f9.css +8 -0
  4. package/dist/css/index.7946d50b.css +1 -0
  5. package/dist/favicon.ico +0 -0
  6. package/dist/js/chunk-vendors.28fda91d.js +340 -0
  7. package/dist/js/index.49bc6add.js +2 -0
  8. package/lib/doway-coms.common.js +120397 -0
  9. package/lib/doway-coms.css +1 -0
  10. package/lib/doway-coms.umd.js +120407 -0
  11. package/lib/doway-coms.umd.min.js +328 -0
  12. package/package.json +54 -54
  13. package/packages/AuditsList/index.js +7 -7
  14. package/packages/AuditsList/src/index.vue +315 -315
  15. package/packages/BaseButton/index.js +7 -7
  16. package/packages/BaseButton/src/index.vue +242 -242
  17. package/packages/BaseCheckbox/index.js +7 -7
  18. package/packages/BaseCheckbox/src/index.vue +134 -134
  19. package/packages/BaseDate/index.js +7 -7
  20. package/packages/BaseDate/src/index.vue +197 -197
  21. package/packages/BaseDateMonth/index.js +7 -7
  22. package/packages/BaseDateMonth/src/index.vue +163 -163
  23. package/packages/BaseDateWeek/index.js +7 -7
  24. package/packages/BaseDateWeek/src/index.vue +163 -163
  25. package/packages/BaseDatetime/index.js +7 -7
  26. package/packages/BaseDatetime/src/index.vue +196 -196
  27. package/packages/BaseFileGroup/index.js +7 -7
  28. package/packages/BaseFileGroup/src/index.vue +724 -724
  29. package/packages/BaseForm/index.js +7 -7
  30. package/packages/BaseForm/src/index.vue +754 -754
  31. package/packages/BaseGantt/index.js +9 -9
  32. package/packages/BaseGantt/src/index.vue +617 -617
  33. package/packages/BaseGrid/index.js +9 -9
  34. package/packages/BaseGrid/src/SeqSetting.vue +278 -278
  35. package/packages/BaseGrid/src/index.vue +3866 -3866
  36. package/packages/BaseGridAdjust/index.js +9 -9
  37. package/packages/BaseGridAdjust/src/index.vue +482 -482
  38. package/packages/BaseInput/index.js +7 -7
  39. package/packages/BaseInput/src/index.vue +164 -164
  40. package/packages/BaseIntervalInput/index.js +7 -7
  41. package/packages/BaseIntervalInput/src/index.vue +310 -310
  42. package/packages/BaseKanbanEmpty/index.js +7 -7
  43. package/packages/BaseKanbanEmpty/src/index.vue +176 -176
  44. package/packages/BaseNumberInput/index.js +7 -7
  45. package/packages/BaseNumberInput/src/index.vue +290 -290
  46. package/packages/BasePagination/index.js +7 -7
  47. package/packages/BasePagination/src/index.vue +91 -91
  48. package/packages/BasePictureCard/index.js +7 -7
  49. package/packages/BasePictureCard/src/index.vue +580 -580
  50. package/packages/BasePrintPreview/index.js +7 -7
  51. package/packages/BasePrintPreview/src/index.vue +150 -150
  52. package/packages/BasePulldown/index.js +7 -7
  53. package/packages/BasePulldown/src/index.vue +1359 -1359
  54. package/packages/BaseSearch/index.js +7 -7
  55. package/packages/BaseSearch/src/index.vue +935 -935
  56. package/packages/BaseSelect/index.js +7 -7
  57. package/packages/BaseSelect/src/index.vue +155 -155
  58. package/packages/BaseSelectMulti/index.js +7 -7
  59. package/packages/BaseSelectMulti/src/index.vue +148 -148
  60. package/packages/BaseTextArea/index.js +7 -7
  61. package/packages/BaseTextArea/src/index.vue +178 -178
  62. package/packages/BaseTime/index.js +7 -7
  63. package/packages/BaseTime/src/index.vue +166 -166
  64. package/packages/BaseTool/index.js +7 -7
  65. package/packages/BaseTool/src/index.vue +353 -353
  66. package/packages/BaseToolStatus/index.js +7 -7
  67. package/packages/BaseToolStatus/src/ApprovalPersonsGroup.vue +41 -41
  68. package/packages/BaseToolStatus/src/index.vue +439 -439
  69. package/packages/BaseTreeSelect/index.js +8 -8
  70. package/packages/BaseTreeSelect/src/index.vue +437 -437
  71. package/packages/LeaveAMessage/index.js +7 -7
  72. package/packages/LeaveAMessage/src/index.vue +601 -601
  73. package/packages/index.js +194 -194
  74. package/packages/styles/default.css +78 -78
  75. package/packages/styles/default.less +91 -91
  76. package/packages/utils/api.js +106 -106
  77. package/packages/utils/auth.js +38 -38
  78. package/packages/utils/common.js +636 -636
  79. package/packages/utils/dom.js +181 -181
  80. package/packages/utils/enum.js +86 -86
  81. package/packages/utils/filters.js +485 -485
  82. package/packages/utils/gridFormat.js +66 -66
  83. package/packages/utils/msg.js +84 -84
  84. package/packages/utils/patchFiles.js +44 -44
  85. package/packages/utils/request.js +181 -181
  86. package/packages/utils/store.js +332 -325
  87. package/vue.config.js +59 -59
@@ -1,754 +1,754 @@
1
- <template>
2
- <div class="d-form-items">
3
- <!-- <div @click="hiddenDetail = !hiddenDetail">展开</div> -->
4
- <div
5
- class="d-form-item"
6
- v-for="col in internalComputedHiddenCols"
7
- :key="col.field"
8
- v-show="hiddenDetail ? colIndex === 0 : true"
9
- >
10
- <!-- 文本框输入控件 -->
11
- <BaseInput
12
- v-if="
13
- col.controlType === 'text' &&
14
- (col.isButtonShow == false || col.isButtonShow == undefined)
15
- "
16
- :label="col.title"
17
- v-model="row[col.field]"
18
- :edit="col.edit"
19
- :tooltip="col.tooltip"
20
- :rules="col.rules"
21
- @change="
22
- () => {
23
- inputChange(col)
24
- }
25
- "
26
- @blur="
27
- () => {
28
- blurChange(col)
29
- }
30
- "
31
- />
32
- <!-- 按钮弹出框输入控件 -->
33
- <!-- isButtonShow字段是额外添加字段,用于控制区分输入框控件 -->
34
- <BaseButton
35
- v-if="col.isButtonShow == true"
36
- v-model="row[col.field]"
37
- :colInfo="col"
38
- :row="row"
39
- :formRow="formRow"
40
- @preSearch="preSearch"
41
- @handleOk="
42
- (value) => {
43
- buttonHandleOk(col, value)
44
- }
45
- "
46
- />
47
- <!-- 文本框输入控件 -->
48
- <BaseTextArea
49
- v-if="
50
- col.controlType === 'textarea' &&
51
- (col.isButtonShow == false || col.isButtonShow == undefined)
52
- "
53
- :label="col.title"
54
- v-model="row[col.field]"
55
- :edit="col.edit"
56
- :tooltip="col.tooltip"
57
- :rules="col.rules"
58
- @change="
59
- () => {
60
- inputChange(col)
61
- }
62
- "
63
- />
64
- <!-- 数字输入 -->
65
- <BaseNumberInput
66
- v-if="
67
- col.controlType === 'number' &&
68
- (col.isButtonShow == false || col.isButtonShow == undefined)
69
- "
70
- :label="col.title"
71
- v-model="row[col.field]"
72
- :edit="col.edit"
73
- :rules="col.rules"
74
- :min="col.min"
75
- :tooltip="col.tooltip"
76
- :warnTooltip="col.warnTooltip"
77
- :max="col.max"
78
- :precision="col.precision"
79
- :percent="col.percent"
80
- :doFormat="col.doFormat"
81
- @change="
82
- () => {
83
- numberChange(col)
84
- }
85
- "
86
- @blur="
87
- () => {
88
- blurChange(col)
89
- }
90
- "
91
- />
92
- <BaseIntervalInput
93
- v-if="
94
- col.controlType === 'interval' &&
95
- (col.isButtonShow == false || col.isButtonShow == undefined)
96
- "
97
- :label="col.title"
98
- v-model="row[col.field]"
99
- :edit="col.edit"
100
- :rules="col.rules"
101
- :tooltip="col.tooltip"
102
- :displayType="col.displayType"
103
- :valueType="col.valueType"
104
- @change="
105
- () => {
106
- numberChange(col)
107
- }
108
- "
109
- />
110
- <!-- 日期选择控件 -->
111
- <BaseDate
112
- v-if="
113
- col.controlType === 'date' &&
114
- (col.isButtonShow == false || col.isButtonShow == undefined)
115
- "
116
- :label="col.title"
117
- v-model="row[col.field]"
118
- :edit="col.edit"
119
- :tooltip="col.tooltip"
120
- :pastDate="col.pastDate"
121
- :rules="col.rules"
122
- :disabledDateValue="col.disabledDateValue"
123
- @change="
124
- () => {
125
- inputChange(col)
126
- }
127
- "
128
- />
129
- <!-- 日期时间控件 -->
130
- <BaseDatetime
131
- v-if="
132
- col.controlType === 'datetime' &&
133
- (col.isButtonShow == false || col.isButtonShow == undefined)
134
- "
135
- :label="col.title"
136
- v-model="row[col.field]"
137
- :pastDate="col.pastDate"
138
- :tooltip="col.tooltip"
139
- :edit="col.edit"
140
- :rules="col.rules"
141
- :disabledDateValue="col.disabledDateValue"
142
- @change="
143
- () => {
144
- inputChange(col)
145
- }
146
- "
147
- />
148
- <!-- 单选框 -->
149
- <BaseCheckbox
150
- v-if="
151
- col.controlType === 'checkbox' &&
152
- (col.isButtonShow == false || col.isButtonShow == undefined)
153
- "
154
- :label="col.title"
155
- v-model="row[col.field]"
156
- :edit="col.edit"
157
- :tooltip="col.tooltip"
158
- :rules="col.rules"
159
- @change="
160
- (rowInfo) => {
161
- checkboxChange(col)
162
- }
163
- "
164
- />
165
- <BaseTime
166
- v-if="
167
- col.controlType === 'time' &&
168
- (col.isButtonShow == false || col.isButtonShow == undefined)
169
- "
170
- :label="col.title"
171
- v-model="row[col.field]"
172
- :tooltip="col.tooltip"
173
- :edit="col.edit"
174
- :rules="col.rules"
175
- @change="
176
- () => {
177
- inputChange(col)
178
- }
179
- "
180
- />
181
- <BaseDateWeek
182
- v-if="
183
- col.controlType === 'dateweek' &&
184
- (col.isButtonShow == false || col.isButtonShow == undefined)
185
- "
186
- :label="col.title"
187
- v-model="row[col.field]"
188
- :edit="col.edit"
189
- :tooltip="col.tooltip"
190
- :rules="col.rules"
191
- @change="
192
- () => {
193
- inputChange(col)
194
- }
195
- "
196
- />
197
- <BaseDateMonth
198
- v-if="
199
- col.controlType === 'datemonth' &&
200
- (col.isButtonShow == false || col.isButtonShow == undefined)
201
- "
202
- :label="col.title"
203
- v-model="row[col.field]"
204
- :edit="col.edit"
205
- :tooltip="col.tooltip"
206
- :rules="col.rules"
207
- @change="
208
- () => {
209
- inputChange(col)
210
- }
211
- "
212
- />
213
- <BaseSelect
214
- v-if="
215
- col.controlType === 'select' &&
216
- (col.isButtonShow == false || col.isButtonShow == undefined)
217
- "
218
- :label="col.title"
219
- v-model="row[col.field]"
220
- :edit="col.edit"
221
- :rules="col.rules"
222
- :tooltip="col.tooltip"
223
- :showSearch="true"
224
- :dataSource="col.dataSource"
225
- @change="
226
- (rowInfo) => {
227
- selectChange(col)
228
- }
229
- "
230
- />
231
- <BaseSelectMulti
232
- v-if="
233
- col.controlType === 'dropmulti' &&
234
- (col.isButtonShow == false || col.isButtonShow == undefined)
235
- "
236
- :label="col.title"
237
- v-model="row[col.field]"
238
- :edit="col.edit"
239
- :tooltip="col.tooltip"
240
- :rules="col.rules"
241
- @change="
242
- (rowInfo) => {
243
- selectMultiChange(col)
244
- }
245
- "
246
- :dataSource="col.dataSource"
247
- />
248
- <BasePulldown
249
- v-if="
250
- col.controlType === 'pulldown' &&
251
- (col.isButtonShow == false || col.isButtonShow == undefined)
252
- "
253
- :formRow="formRow"
254
- :isOld="isOld"
255
- :edit="col.edit"
256
- :defaultExpression="col.defaultExpression"
257
- :row="row"
258
- :api="col.api"
259
- :tooltip="col.tooltip"
260
- :optBtns="col.optBtns"
261
- :popupAddName="col.popupAddName"
262
- :popupAddPath="col.popupAddPath"
263
- @pulldownBtnClick="pulldownBtnClick"
264
- :label="col.title"
265
- :rules="col.rules"
266
- :route="col.route"
267
- v-model="row[col.field]"
268
- :field="col.field"
269
- :columns="col.columns"
270
- :pageSize="col.pageSize"
271
- :immediate="col.immediate"
272
- :allowAutoClear="col.allowAutoClear"
273
- @preSearch="preSearch"
274
- @selectChanged="
275
- (rowInfo) => {
276
- pullDownChange(col, rowInfo)
277
- }
278
- "
279
- @confirmMultiSelect="
280
- (pulldownView, selectRows) =>
281
- pulldownMultiSelect(col, pulldownView, selectRows)
282
- "
283
- :dataSource="col.dataSource"
284
- :isMultiSelect="col.isMultiSelect"
285
- :isLocalData="col.isLocalData"
286
- />
287
- <BaseTreeSelect
288
- v-if="
289
- col.controlType === 'treeSelect' &&
290
- (col.isButtonShow == false || col.isButtonShow == undefined)
291
- "
292
- :formRow="formRow"
293
- :api="col.api"
294
- :tooltip="col.tooltip"
295
- :row="row"
296
- :edit="col.edit"
297
- :label="col.title"
298
- :rules="col.rules"
299
- :route="col.route"
300
- :field="col.field"
301
- :columns="col.columns"
302
- @preSearch="preSearch"
303
- :replaceFields="col.replaceFields"
304
- :treeWidth="col.treeWidth"
305
- :width="col.width"
306
- :linkedField="col.linkedField"
307
- :showSearch="col.showSearch"
308
- :allowClear="col.allowClear"
309
- :placeholder="col.placeholder"
310
- :linkedTitle="col.linkedTitle"
311
- :method="col.method"
312
- v-model="row[col.field]"
313
- @change="
314
- () => {
315
- inputChange(col)
316
- }
317
- "
318
- />
319
- </div>
320
- <div class="d-form-item-ghost"></div>
321
- <div class="d-form-item-ghost"></div>
322
- <div class="d-form-item-ghost"></div>
323
- <div class="d-form-item-ghost"></div>
324
- </div>
325
- </template>
326
-
327
- <script>
328
- import { sysFormState, sysRowState } from '../../utils/enum'
329
- import BaseInput from '../../BaseInput/index'
330
- import BaseCheckbox from '../../BaseCheckbox/index'
331
- import BaseDate from '../../BaseDate/index'
332
- import BaseDatetime from '../../BaseDatetime/index'
333
- import BaseDateWeek from '../../BaseDateWeek/index'
334
- import BaseTextArea from '../../BaseTextArea/index'
335
- import BaseButton from '../../BaseButton/index'
336
- import BaseSelect from '../../BaseSelect/index'
337
- import BaseSelectMulti from '../../BaseSelectMulti/index'
338
- import BaseTime from '../../BaseTime/index'
339
- import BasePulldown from '../../BasePulldown/index'
340
- import BaseIntervalInput from '../../BaseIntervalInput/index'
341
- import BaseNumberInput from '../../BaseNumberInput/index'
342
- import BaseTreeSelect from '../../BaseTreeSelect'
343
-
344
- import moment from 'moment'
345
- import BaseDateMonth from '../../BaseDateMonth'
346
- export default {
347
- components: {
348
- BaseInput,
349
- BaseCheckbox,
350
- BaseDate,
351
- BaseDatetime,
352
- BaseDateWeek,
353
- BaseDateMonth,
354
- BaseTextArea,
355
- BaseButton,
356
- BaseSelect,
357
- BaseSelectMulti,
358
- BaseTime,
359
- BasePulldown,
360
- BaseIntervalInput,
361
- BaseNumberInput,
362
- BaseTreeSelect,
363
- },
364
- name: 'BaseForm',
365
- props: {
366
- updateDatas: {
367
- // 更新的数据
368
- type: Object,
369
- default: function () {
370
- return {}
371
- },
372
- },
373
- showLoading: {
374
- // 是否显示加载信息
375
- type: Boolean,
376
- default: false,
377
- },
378
- isOld: {
379
- // 是否老系统
380
- type: Boolean,
381
- default: false,
382
- },
383
- valueState: {
384
- type: Object,
385
- default: function () {
386
- return {}
387
- },
388
- },
389
- formState: {
390
- type: String,
391
- default: sysFormState.view,
392
- },
393
- formRow: {
394
- // 当前页面数据集
395
- type: Object,
396
- default: () => {
397
- return {}
398
- },
399
- },
400
- row: {
401
- // 当前行,如果是表单的话当前行和当前页面数据集是一样的
402
- type: Object,
403
- default: () => {
404
- return {}
405
- },
406
- },
407
- columns: {
408
- // 表格列信息
409
- type: Array,
410
- default: function () {
411
- return []
412
- },
413
- },
414
- dataName: {
415
- type: String,
416
- default: function () {
417
- return ''
418
- },
419
- },
420
- },
421
- computed: {
422
- internalComputedHiddenCols: function () {
423
- let vm = this
424
- return this.columns.filter((item) => {
425
- // if (item.isTitle === true) {
426
- // // vm.titleCol = item
427
- // return false
428
- // }
429
- // if (item.controlType === controlType.image) {
430
- // vm.logoCol = item
431
- // return false
432
- // }
433
- return item.visible === true
434
- })
435
- },
436
- },
437
- filters: {},
438
- data() {
439
- return {
440
- hiddenDetail: false,
441
- moment,
442
- editFormName: '',
443
- internalEdit: false,
444
- internalCols: [],
445
- internalValueState: {},
446
- internalFormState: sysFormState.view,
447
- rules: {},
448
- titleCols: [],
449
- logoCol: null,
450
- isShowEditForm: false,
451
- ref: '',
452
- }
453
- },
454
- watch: {
455
- // row: {
456
- // handler: function (newVal) {
457
- // },
458
- // deep: true
459
- // },
460
- // cols: {
461
- // handler: function (newVal) {
462
- // this.internalCols = newVal
463
- // },
464
- // deep: true
465
- // },
466
- // valueState: { // 表单值状态,更新,还是插入
467
- // handler: function (newVal) {
468
- // this.internalValueState = newVal
469
- // },
470
- // deep: true
471
- // },
472
- // formState: {
473
- // handler: function (newVal) {
474
- // this.internalFormState = newVal
475
- // this.setColState()
476
- // },
477
- // deep: true
478
- // }
479
- },
480
- created() {
481
- for (let i = 0; i < this.columns.length; i++) {
482
- // if (this.columns[i].isLogo === true) {
483
- // this.logoCol = this.columns[i]
484
- // continue
485
- // }
486
- // if (this.columns[i].isTitle === true) {
487
- // this.titleCols.push(this.columns[i])
488
- // continue
489
- // }
490
- if (this.columns[i].controlType === 'popup') {
491
- let formUrl =
492
- process.env[
493
- 'VUE_APP_' +
494
- this.columns[i].linkModuleData.objectService.toUpperCase() +
495
- '_SERVICE_URL'
496
- ] +
497
- '/' +
498
- this.columns[i].linkModuleData.objectApiVersion +
499
- '/' +
500
- this.columns[i].linkModuleData.objectName +
501
- '/'
502
- this.columns[i]['api'] = this.columns[i].linkModuleData.objectApiRoute
503
- ? formUrl + this.columns[i].linkModuleData.objectApiRoute
504
- : formUrl + 'Search'
505
-
506
- this.columns[i]['columns'] = {}
507
-
508
- for (
509
- let x = 0;
510
- x < this.columns[i].linkModuleData.moduleFields.length;
511
- x++
512
- ) {
513
- let tempField = this.columns[i].linkModuleData.moduleFields[x]
514
- this.columns[i]['columns'][tempField.field] = {
515
- title: tempField.caption,
516
- width: tempField.width,
517
- visible: tempField.visible,
518
- linkField: tempField.linkValueField,
519
- filter: tempField.isFilter,
520
- }
521
- if (tempField.field === this.columns[i].linkCaptionField) {
522
- this.columns[i]['columns'][tempField.field].linkField =
523
- this.columns[i].field
524
- this.columns[i]['columns'][tempField.field].filter = true
525
- }
526
- }
527
- }
528
-
529
- // this.columns[i]['rules'] = {}
530
- // if (this.columns[i].isRequire === true) {
531
- // this.columns[i].rules['required'] = true
532
- // }
533
- // if (this.columns[i].maxLength) {
534
- // this.columns[i].rules['length'] = [0, this.columns[i].maxLength]
535
- // }
536
- }
537
- },
538
-
539
- mounted() {
540
- //let letterLength = this.$refs.content.value
541
- //letterLength = this.$refs['content'].innerText.substr(0, 6) + '...'
542
- window.addEventListener('beforeunload', (e) => this.beforeunloadHandler(e))
543
- },
544
- destroyed() {
545
- window.removeEventListener('beforeunload', (e) =>
546
- this.beforeunloadHandler(e)
547
- )
548
- },
549
- activated() {},
550
- methods: {
551
- preSearch(searchInfo, repeatRowInfo) {
552
- this.$emit('preSearch', searchInfo, repeatRowInfo)
553
- },
554
- beforeunloadHandler(e) {
555
- if (this.formState !== 'view') {
556
- e = e || window.event
557
- e.returnValue = '提示'
558
- return confirm('确认退出')
559
- } else {
560
- return
561
- }
562
- },
563
- pulldownBtnClick(btnInfo) {
564
- this.$emit('pulldownBtnClick', btnInfo)
565
- },
566
- showToolTip() {},
567
- fieldCaptionClick(col) {
568
- // 下拉框
569
- if (
570
- col.linkModuleData &&
571
- col.linkModuleData.linkModuleId &&
572
- col.linkModuleData.linkModuleOperate.indexOf(sysFormState.view) >= 0
573
- ) {
574
- // 查找模块信息
575
- let linkModule = this.$store.getters.addRouters.filter((filterItem) => {
576
- return (
577
- filterItem.meta &&
578
- filterItem.meta.moduleId === col.linkModuleData.linkModuleId
579
- )
580
- })
581
- if (linkModule.length > 0) {
582
- this.$router.pushRoute({
583
- name: linkModule[0].name,
584
- query: { id: this.row[col.field] },
585
- })
586
- }
587
- }
588
- },
589
- // selectChange(col) {
590
- // if (col.field.indexOf('.') < 0) {
591
- // this.updateDatas[col.field] = this.row[col.field]
592
- // }
593
- // if (
594
- // this.row['sysRowState'] === sysRowState.add ||
595
- // this.row['sysRowState'] === sysRowState.update
596
- // ) {
597
- // return
598
- // }
599
- // this.row['sysRowState'] = sysRowState.update
600
- // },
601
- pullDownChange(colInfo, row) {
602
- this.$emit('change', colInfo,row)
603
- },
604
- selectMultiChange(colInfo, row) {
605
- this.$emit('change', colInfo)
606
- },
607
- selectChange(colInfo) {
608
- this.$emit('change', colInfo)
609
- },
610
- checkboxChange(colInfo) {
611
- this.$emit('change', colInfo)
612
- },
613
- checkBoxChange(col) {
614
- if (col.field.indexOf('.') < 0) {
615
- this.updateDatas[col.field] = this.row[col.field]
616
- }
617
- this.$emit('change', col)
618
- if (
619
- this.row['sysRowState'] === sysRowState.add ||
620
- this.row['sysRowState'] === sysRowState.update
621
- ) {
622
- return
623
- }
624
- this.row['sysRowState'] = sysRowState.update
625
- },
626
- dateChange(col) {
627
- if (col.field.indexOf('.') < 0) {
628
- this.updateDatas[col.field] = this.row[col.field]
629
- }
630
- this.$emit('change', col)
631
- if (
632
- this.row['sysRowState'] === sysRowState.add ||
633
- this.row['sysRowState'] === sysRowState.update
634
- ) {
635
- return
636
- }
637
- this.row['sysRowState'] = sysRowState.update
638
- },
639
- inputChange(colInfo) {
640
- // 输入框改变
641
- this.$emit('change', colInfo)
642
- },
643
- // 按钮弹出组件返回输入的值
644
- buttonHandleOk(colInfo, value) {
645
- // 按钮弹出确定改变内容改变
646
- this.$emit('buttonHandleOk', colInfo, value)
647
- },
648
- blurChange(colInfo) {
649
- // 输入框失去焦点
650
- this.$emit('blur', colInfo)
651
- },
652
- numberChange(colInfo) {
653
- // 输入框改变
654
- this.$emit('change', colInfo)
655
- },
656
- longtimeChange(data, col) {
657
- this.row[col.field] = data
658
- this.$emit('change', col)
659
- if (
660
- this.row['sysRowState'] === sysRowState.add ||
661
- this.row['sysRowState'] === sysRowState.update
662
- ) {
663
- return
664
- }
665
- this.row['sysRowState'] = sysRowState.update
666
- },
667
- changeControlType(field, controlType) {
668
- let col = this.internalComputedHiddenCols.find(
669
- (col) => col.field === field
670
- )
671
- col.controlType = controlType
672
- },
673
- pulldownMultiSelect(col,pulldownView,selectRows){
674
- //第一行选中
675
- // pulldownView.setLinkValue(selectRows[0], this.row)
676
-
677
- // this.cellValueChange(scope)
678
- // let vm = this
679
- // for (let i = 1; i < selectRows.length; i++) {
680
- // let tempSelectRow = selectRows[i]
681
- // this.$emit('defaultRow', (newRow) => {
682
- // pulldownView.setLinkValue(tempSelectRow, newRow)
683
- // vm.insertAt(newRow, -1, false, (insertRow) => {
684
- // vm.cellValueChange({ row: insertRow, column: scope.column })
685
- // })
686
- // })
687
- // }
688
- this.$emit('selectRows', selectRows)
689
- }
690
- },
691
- }
692
- </script>
693
-
694
- <style lang="less" scoped>
695
- .form-head {
696
- display: flex;
697
- flex-flow: row wrap;
698
- margin-bottom: 10px;
699
- .form-title {
700
- margin-left: 10px;
701
- }
702
- }
703
- .input-span {
704
- // line-height: 33px;
705
- color: #0b0b0b;
706
- font-size: 12px;
707
- font-weight: normal;
708
- overflow: hidden;
709
- text-overflow: ellipsis;
710
- -o-text-overflow: ellipsis;
711
- display: inline-block;
712
- width: 100%;
713
- height: 32.8px;
714
- white-space: nowrap;
715
- // font-family: "Arial", "Microsoft YaHei";
716
- }
717
- .title-first-input {
718
- width: 200px;
719
- height: 25px;
720
- font-size: 15px;
721
- margin-left: 10px;
722
- font-weight: 500;
723
- }
724
- .title-second-input {
725
- width: 200px;
726
- height: 25px;
727
- font-size: 15px;
728
- margin-left: 10px;
729
- font-weight: 500;
730
- }
731
- .title-first-value {
732
- width: 200px;
733
- height: 40px;
734
- font-size: 24px;
735
- margin-left: 10px;
736
- font-weight: 700;
737
- }
738
- .title-second-value {
739
- width: 200px;
740
- height: 26px;
741
- font-size: 18px;
742
- margin-left: 10px;
743
- font-weight: 600;
744
- }
745
- .option:hover {
746
- background-color: #219bff;
747
- }
748
- .form {
749
- margin-left: 30px;
750
- }
751
- </style>
752
- <style lang="less">
753
- @import '../../styles/default.less';
754
- </style>
1
+ <template>
2
+ <div class="d-form-items">
3
+ <!-- <div @click="hiddenDetail = !hiddenDetail">展开</div> -->
4
+ <div
5
+ class="d-form-item"
6
+ v-for="col in internalComputedHiddenCols"
7
+ :key="col.field"
8
+ v-show="hiddenDetail ? colIndex === 0 : true"
9
+ >
10
+ <!-- 文本框输入控件 -->
11
+ <BaseInput
12
+ v-if="
13
+ col.controlType === 'text' &&
14
+ (col.isButtonShow == false || col.isButtonShow == undefined)
15
+ "
16
+ :label="col.title"
17
+ v-model="row[col.field]"
18
+ :edit="col.edit"
19
+ :tooltip="col.tooltip"
20
+ :rules="col.rules"
21
+ @change="
22
+ () => {
23
+ inputChange(col)
24
+ }
25
+ "
26
+ @blur="
27
+ () => {
28
+ blurChange(col)
29
+ }
30
+ "
31
+ />
32
+ <!-- 按钮弹出框输入控件 -->
33
+ <!-- isButtonShow字段是额外添加字段,用于控制区分输入框控件 -->
34
+ <BaseButton
35
+ v-if="col.isButtonShow == true"
36
+ v-model="row[col.field]"
37
+ :colInfo="col"
38
+ :row="row"
39
+ :formRow="formRow"
40
+ @preSearch="preSearch"
41
+ @handleOk="
42
+ (value) => {
43
+ buttonHandleOk(col, value)
44
+ }
45
+ "
46
+ />
47
+ <!-- 文本框输入控件 -->
48
+ <BaseTextArea
49
+ v-if="
50
+ col.controlType === 'textarea' &&
51
+ (col.isButtonShow == false || col.isButtonShow == undefined)
52
+ "
53
+ :label="col.title"
54
+ v-model="row[col.field]"
55
+ :edit="col.edit"
56
+ :tooltip="col.tooltip"
57
+ :rules="col.rules"
58
+ @change="
59
+ () => {
60
+ inputChange(col)
61
+ }
62
+ "
63
+ />
64
+ <!-- 数字输入 -->
65
+ <BaseNumberInput
66
+ v-if="
67
+ col.controlType === 'number' &&
68
+ (col.isButtonShow == false || col.isButtonShow == undefined)
69
+ "
70
+ :label="col.title"
71
+ v-model="row[col.field]"
72
+ :edit="col.edit"
73
+ :rules="col.rules"
74
+ :min="col.min"
75
+ :tooltip="col.tooltip"
76
+ :warnTooltip="col.warnTooltip"
77
+ :max="col.max"
78
+ :precision="col.precision"
79
+ :percent="col.percent"
80
+ :doFormat="col.doFormat"
81
+ @change="
82
+ () => {
83
+ numberChange(col)
84
+ }
85
+ "
86
+ @blur="
87
+ () => {
88
+ blurChange(col)
89
+ }
90
+ "
91
+ />
92
+ <BaseIntervalInput
93
+ v-if="
94
+ col.controlType === 'interval' &&
95
+ (col.isButtonShow == false || col.isButtonShow == undefined)
96
+ "
97
+ :label="col.title"
98
+ v-model="row[col.field]"
99
+ :edit="col.edit"
100
+ :rules="col.rules"
101
+ :tooltip="col.tooltip"
102
+ :displayType="col.displayType"
103
+ :valueType="col.valueType"
104
+ @change="
105
+ () => {
106
+ numberChange(col)
107
+ }
108
+ "
109
+ />
110
+ <!-- 日期选择控件 -->
111
+ <BaseDate
112
+ v-if="
113
+ col.controlType === 'date' &&
114
+ (col.isButtonShow == false || col.isButtonShow == undefined)
115
+ "
116
+ :label="col.title"
117
+ v-model="row[col.field]"
118
+ :edit="col.edit"
119
+ :tooltip="col.tooltip"
120
+ :pastDate="col.pastDate"
121
+ :rules="col.rules"
122
+ :disabledDateValue="col.disabledDateValue"
123
+ @change="
124
+ () => {
125
+ inputChange(col)
126
+ }
127
+ "
128
+ />
129
+ <!-- 日期时间控件 -->
130
+ <BaseDatetime
131
+ v-if="
132
+ col.controlType === 'datetime' &&
133
+ (col.isButtonShow == false || col.isButtonShow == undefined)
134
+ "
135
+ :label="col.title"
136
+ v-model="row[col.field]"
137
+ :pastDate="col.pastDate"
138
+ :tooltip="col.tooltip"
139
+ :edit="col.edit"
140
+ :rules="col.rules"
141
+ :disabledDateValue="col.disabledDateValue"
142
+ @change="
143
+ () => {
144
+ inputChange(col)
145
+ }
146
+ "
147
+ />
148
+ <!-- 单选框 -->
149
+ <BaseCheckbox
150
+ v-if="
151
+ col.controlType === 'checkbox' &&
152
+ (col.isButtonShow == false || col.isButtonShow == undefined)
153
+ "
154
+ :label="col.title"
155
+ v-model="row[col.field]"
156
+ :edit="col.edit"
157
+ :tooltip="col.tooltip"
158
+ :rules="col.rules"
159
+ @change="
160
+ (rowInfo) => {
161
+ checkboxChange(col)
162
+ }
163
+ "
164
+ />
165
+ <BaseTime
166
+ v-if="
167
+ col.controlType === 'time' &&
168
+ (col.isButtonShow == false || col.isButtonShow == undefined)
169
+ "
170
+ :label="col.title"
171
+ v-model="row[col.field]"
172
+ :tooltip="col.tooltip"
173
+ :edit="col.edit"
174
+ :rules="col.rules"
175
+ @change="
176
+ () => {
177
+ inputChange(col)
178
+ }
179
+ "
180
+ />
181
+ <BaseDateWeek
182
+ v-if="
183
+ col.controlType === 'dateweek' &&
184
+ (col.isButtonShow == false || col.isButtonShow == undefined)
185
+ "
186
+ :label="col.title"
187
+ v-model="row[col.field]"
188
+ :edit="col.edit"
189
+ :tooltip="col.tooltip"
190
+ :rules="col.rules"
191
+ @change="
192
+ () => {
193
+ inputChange(col)
194
+ }
195
+ "
196
+ />
197
+ <BaseDateMonth
198
+ v-if="
199
+ col.controlType === 'datemonth' &&
200
+ (col.isButtonShow == false || col.isButtonShow == undefined)
201
+ "
202
+ :label="col.title"
203
+ v-model="row[col.field]"
204
+ :edit="col.edit"
205
+ :tooltip="col.tooltip"
206
+ :rules="col.rules"
207
+ @change="
208
+ () => {
209
+ inputChange(col)
210
+ }
211
+ "
212
+ />
213
+ <BaseSelect
214
+ v-if="
215
+ col.controlType === 'select' &&
216
+ (col.isButtonShow == false || col.isButtonShow == undefined)
217
+ "
218
+ :label="col.title"
219
+ v-model="row[col.field]"
220
+ :edit="col.edit"
221
+ :rules="col.rules"
222
+ :tooltip="col.tooltip"
223
+ :showSearch="true"
224
+ :dataSource="col.dataSource"
225
+ @change="
226
+ (rowInfo) => {
227
+ selectChange(col)
228
+ }
229
+ "
230
+ />
231
+ <BaseSelectMulti
232
+ v-if="
233
+ col.controlType === 'dropmulti' &&
234
+ (col.isButtonShow == false || col.isButtonShow == undefined)
235
+ "
236
+ :label="col.title"
237
+ v-model="row[col.field]"
238
+ :edit="col.edit"
239
+ :tooltip="col.tooltip"
240
+ :rules="col.rules"
241
+ @change="
242
+ (rowInfo) => {
243
+ selectMultiChange(col)
244
+ }
245
+ "
246
+ :dataSource="col.dataSource"
247
+ />
248
+ <BasePulldown
249
+ v-if="
250
+ col.controlType === 'pulldown' &&
251
+ (col.isButtonShow == false || col.isButtonShow == undefined)
252
+ "
253
+ :formRow="formRow"
254
+ :isOld="isOld"
255
+ :edit="col.edit"
256
+ :defaultExpression="col.defaultExpression"
257
+ :row="row"
258
+ :api="col.api"
259
+ :tooltip="col.tooltip"
260
+ :optBtns="col.optBtns"
261
+ :popupAddName="col.popupAddName"
262
+ :popupAddPath="col.popupAddPath"
263
+ @pulldownBtnClick="pulldownBtnClick"
264
+ :label="col.title"
265
+ :rules="col.rules"
266
+ :route="col.route"
267
+ v-model="row[col.field]"
268
+ :field="col.field"
269
+ :columns="col.columns"
270
+ :pageSize="col.pageSize"
271
+ :immediate="col.immediate"
272
+ :allowAutoClear="col.allowAutoClear"
273
+ @preSearch="preSearch"
274
+ @selectChanged="
275
+ (rowInfo) => {
276
+ pullDownChange(col, rowInfo)
277
+ }
278
+ "
279
+ @confirmMultiSelect="
280
+ (pulldownView, selectRows) =>
281
+ pulldownMultiSelect(col, pulldownView, selectRows)
282
+ "
283
+ :dataSource="col.dataSource"
284
+ :isMultiSelect="col.isMultiSelect"
285
+ :isLocalData="col.isLocalData"
286
+ />
287
+ <BaseTreeSelect
288
+ v-if="
289
+ col.controlType === 'treeSelect' &&
290
+ (col.isButtonShow == false || col.isButtonShow == undefined)
291
+ "
292
+ :formRow="formRow"
293
+ :api="col.api"
294
+ :tooltip="col.tooltip"
295
+ :row="row"
296
+ :edit="col.edit"
297
+ :label="col.title"
298
+ :rules="col.rules"
299
+ :route="col.route"
300
+ :field="col.field"
301
+ :columns="col.columns"
302
+ @preSearch="preSearch"
303
+ :replaceFields="col.replaceFields"
304
+ :treeWidth="col.treeWidth"
305
+ :width="col.width"
306
+ :linkedField="col.linkedField"
307
+ :showSearch="col.showSearch"
308
+ :allowClear="col.allowClear"
309
+ :placeholder="col.placeholder"
310
+ :linkedTitle="col.linkedTitle"
311
+ :method="col.method"
312
+ v-model="row[col.field]"
313
+ @change="
314
+ () => {
315
+ inputChange(col)
316
+ }
317
+ "
318
+ />
319
+ </div>
320
+ <div class="d-form-item-ghost"></div>
321
+ <div class="d-form-item-ghost"></div>
322
+ <div class="d-form-item-ghost"></div>
323
+ <div class="d-form-item-ghost"></div>
324
+ </div>
325
+ </template>
326
+
327
+ <script>
328
+ import { sysFormState, sysRowState } from '../../utils/enum'
329
+ import BaseInput from '../../BaseInput/index'
330
+ import BaseCheckbox from '../../BaseCheckbox/index'
331
+ import BaseDate from '../../BaseDate/index'
332
+ import BaseDatetime from '../../BaseDatetime/index'
333
+ import BaseDateWeek from '../../BaseDateWeek/index'
334
+ import BaseTextArea from '../../BaseTextArea/index'
335
+ import BaseButton from '../../BaseButton/index'
336
+ import BaseSelect from '../../BaseSelect/index'
337
+ import BaseSelectMulti from '../../BaseSelectMulti/index'
338
+ import BaseTime from '../../BaseTime/index'
339
+ import BasePulldown from '../../BasePulldown/index'
340
+ import BaseIntervalInput from '../../BaseIntervalInput/index'
341
+ import BaseNumberInput from '../../BaseNumberInput/index'
342
+ import BaseTreeSelect from '../../BaseTreeSelect'
343
+
344
+ import moment from 'moment'
345
+ import BaseDateMonth from '../../BaseDateMonth'
346
+ export default {
347
+ components: {
348
+ BaseInput,
349
+ BaseCheckbox,
350
+ BaseDate,
351
+ BaseDatetime,
352
+ BaseDateWeek,
353
+ BaseDateMonth,
354
+ BaseTextArea,
355
+ BaseButton,
356
+ BaseSelect,
357
+ BaseSelectMulti,
358
+ BaseTime,
359
+ BasePulldown,
360
+ BaseIntervalInput,
361
+ BaseNumberInput,
362
+ BaseTreeSelect,
363
+ },
364
+ name: 'BaseForm',
365
+ props: {
366
+ updateDatas: {
367
+ // 更新的数据
368
+ type: Object,
369
+ default: function () {
370
+ return {}
371
+ },
372
+ },
373
+ showLoading: {
374
+ // 是否显示加载信息
375
+ type: Boolean,
376
+ default: false,
377
+ },
378
+ isOld: {
379
+ // 是否老系统
380
+ type: Boolean,
381
+ default: false,
382
+ },
383
+ valueState: {
384
+ type: Object,
385
+ default: function () {
386
+ return {}
387
+ },
388
+ },
389
+ formState: {
390
+ type: String,
391
+ default: sysFormState.view,
392
+ },
393
+ formRow: {
394
+ // 当前页面数据集
395
+ type: Object,
396
+ default: () => {
397
+ return {}
398
+ },
399
+ },
400
+ row: {
401
+ // 当前行,如果是表单的话当前行和当前页面数据集是一样的
402
+ type: Object,
403
+ default: () => {
404
+ return {}
405
+ },
406
+ },
407
+ columns: {
408
+ // 表格列信息
409
+ type: Array,
410
+ default: function () {
411
+ return []
412
+ },
413
+ },
414
+ dataName: {
415
+ type: String,
416
+ default: function () {
417
+ return ''
418
+ },
419
+ },
420
+ },
421
+ computed: {
422
+ internalComputedHiddenCols: function () {
423
+ let vm = this
424
+ return this.columns.filter((item) => {
425
+ // if (item.isTitle === true) {
426
+ // // vm.titleCol = item
427
+ // return false
428
+ // }
429
+ // if (item.controlType === controlType.image) {
430
+ // vm.logoCol = item
431
+ // return false
432
+ // }
433
+ return item.visible === true
434
+ })
435
+ },
436
+ },
437
+ filters: {},
438
+ data() {
439
+ return {
440
+ hiddenDetail: false,
441
+ moment,
442
+ editFormName: '',
443
+ internalEdit: false,
444
+ internalCols: [],
445
+ internalValueState: {},
446
+ internalFormState: sysFormState.view,
447
+ rules: {},
448
+ titleCols: [],
449
+ logoCol: null,
450
+ isShowEditForm: false,
451
+ ref: '',
452
+ }
453
+ },
454
+ watch: {
455
+ // row: {
456
+ // handler: function (newVal) {
457
+ // },
458
+ // deep: true
459
+ // },
460
+ // cols: {
461
+ // handler: function (newVal) {
462
+ // this.internalCols = newVal
463
+ // },
464
+ // deep: true
465
+ // },
466
+ // valueState: { // 表单值状态,更新,还是插入
467
+ // handler: function (newVal) {
468
+ // this.internalValueState = newVal
469
+ // },
470
+ // deep: true
471
+ // },
472
+ // formState: {
473
+ // handler: function (newVal) {
474
+ // this.internalFormState = newVal
475
+ // this.setColState()
476
+ // },
477
+ // deep: true
478
+ // }
479
+ },
480
+ created() {
481
+ for (let i = 0; i < this.columns.length; i++) {
482
+ // if (this.columns[i].isLogo === true) {
483
+ // this.logoCol = this.columns[i]
484
+ // continue
485
+ // }
486
+ // if (this.columns[i].isTitle === true) {
487
+ // this.titleCols.push(this.columns[i])
488
+ // continue
489
+ // }
490
+ if (this.columns[i].controlType === 'popup') {
491
+ let formUrl =
492
+ process.env[
493
+ 'VUE_APP_' +
494
+ this.columns[i].linkModuleData.objectService.toUpperCase() +
495
+ '_SERVICE_URL'
496
+ ] +
497
+ '/' +
498
+ this.columns[i].linkModuleData.objectApiVersion +
499
+ '/' +
500
+ this.columns[i].linkModuleData.objectName +
501
+ '/'
502
+ this.columns[i]['api'] = this.columns[i].linkModuleData.objectApiRoute
503
+ ? formUrl + this.columns[i].linkModuleData.objectApiRoute
504
+ : formUrl + 'Search'
505
+
506
+ this.columns[i]['columns'] = {}
507
+
508
+ for (
509
+ let x = 0;
510
+ x < this.columns[i].linkModuleData.moduleFields.length;
511
+ x++
512
+ ) {
513
+ let tempField = this.columns[i].linkModuleData.moduleFields[x]
514
+ this.columns[i]['columns'][tempField.field] = {
515
+ title: tempField.caption,
516
+ width: tempField.width,
517
+ visible: tempField.visible,
518
+ linkField: tempField.linkValueField,
519
+ filter: tempField.isFilter,
520
+ }
521
+ if (tempField.field === this.columns[i].linkCaptionField) {
522
+ this.columns[i]['columns'][tempField.field].linkField =
523
+ this.columns[i].field
524
+ this.columns[i]['columns'][tempField.field].filter = true
525
+ }
526
+ }
527
+ }
528
+
529
+ // this.columns[i]['rules'] = {}
530
+ // if (this.columns[i].isRequire === true) {
531
+ // this.columns[i].rules['required'] = true
532
+ // }
533
+ // if (this.columns[i].maxLength) {
534
+ // this.columns[i].rules['length'] = [0, this.columns[i].maxLength]
535
+ // }
536
+ }
537
+ },
538
+
539
+ mounted() {
540
+ //let letterLength = this.$refs.content.value
541
+ //letterLength = this.$refs['content'].innerText.substr(0, 6) + '...'
542
+ window.addEventListener('beforeunload', (e) => this.beforeunloadHandler(e))
543
+ },
544
+ destroyed() {
545
+ window.removeEventListener('beforeunload', (e) =>
546
+ this.beforeunloadHandler(e)
547
+ )
548
+ },
549
+ activated() {},
550
+ methods: {
551
+ preSearch(searchInfo, repeatRowInfo) {
552
+ this.$emit('preSearch', searchInfo, repeatRowInfo)
553
+ },
554
+ beforeunloadHandler(e) {
555
+ if (this.formState !== 'view') {
556
+ e = e || window.event
557
+ e.returnValue = '提示'
558
+ return confirm('确认退出')
559
+ } else {
560
+ return
561
+ }
562
+ },
563
+ pulldownBtnClick(btnInfo) {
564
+ this.$emit('pulldownBtnClick', btnInfo)
565
+ },
566
+ showToolTip() {},
567
+ fieldCaptionClick(col) {
568
+ // 下拉框
569
+ if (
570
+ col.linkModuleData &&
571
+ col.linkModuleData.linkModuleId &&
572
+ col.linkModuleData.linkModuleOperate.indexOf(sysFormState.view) >= 0
573
+ ) {
574
+ // 查找模块信息
575
+ let linkModule = this.$store.getters.addRouters.filter((filterItem) => {
576
+ return (
577
+ filterItem.meta &&
578
+ filterItem.meta.moduleId === col.linkModuleData.linkModuleId
579
+ )
580
+ })
581
+ if (linkModule.length > 0) {
582
+ this.$router.pushRoute({
583
+ name: linkModule[0].name,
584
+ query: { id: this.row[col.field] },
585
+ })
586
+ }
587
+ }
588
+ },
589
+ // selectChange(col) {
590
+ // if (col.field.indexOf('.') < 0) {
591
+ // this.updateDatas[col.field] = this.row[col.field]
592
+ // }
593
+ // if (
594
+ // this.row['sysRowState'] === sysRowState.add ||
595
+ // this.row['sysRowState'] === sysRowState.update
596
+ // ) {
597
+ // return
598
+ // }
599
+ // this.row['sysRowState'] = sysRowState.update
600
+ // },
601
+ pullDownChange(colInfo, row) {
602
+ this.$emit('change', colInfo,row)
603
+ },
604
+ selectMultiChange(colInfo, row) {
605
+ this.$emit('change', colInfo)
606
+ },
607
+ selectChange(colInfo) {
608
+ this.$emit('change', colInfo)
609
+ },
610
+ checkboxChange(colInfo) {
611
+ this.$emit('change', colInfo)
612
+ },
613
+ checkBoxChange(col) {
614
+ if (col.field.indexOf('.') < 0) {
615
+ this.updateDatas[col.field] = this.row[col.field]
616
+ }
617
+ this.$emit('change', col)
618
+ if (
619
+ this.row['sysRowState'] === sysRowState.add ||
620
+ this.row['sysRowState'] === sysRowState.update
621
+ ) {
622
+ return
623
+ }
624
+ this.row['sysRowState'] = sysRowState.update
625
+ },
626
+ dateChange(col) {
627
+ if (col.field.indexOf('.') < 0) {
628
+ this.updateDatas[col.field] = this.row[col.field]
629
+ }
630
+ this.$emit('change', col)
631
+ if (
632
+ this.row['sysRowState'] === sysRowState.add ||
633
+ this.row['sysRowState'] === sysRowState.update
634
+ ) {
635
+ return
636
+ }
637
+ this.row['sysRowState'] = sysRowState.update
638
+ },
639
+ inputChange(colInfo) {
640
+ // 输入框改变
641
+ this.$emit('change', colInfo)
642
+ },
643
+ // 按钮弹出组件返回输入的值
644
+ buttonHandleOk(colInfo, value) {
645
+ // 按钮弹出确定改变内容改变
646
+ this.$emit('buttonHandleOk', colInfo, value)
647
+ },
648
+ blurChange(colInfo) {
649
+ // 输入框失去焦点
650
+ this.$emit('blur', colInfo)
651
+ },
652
+ numberChange(colInfo) {
653
+ // 输入框改变
654
+ this.$emit('change', colInfo)
655
+ },
656
+ longtimeChange(data, col) {
657
+ this.row[col.field] = data
658
+ this.$emit('change', col)
659
+ if (
660
+ this.row['sysRowState'] === sysRowState.add ||
661
+ this.row['sysRowState'] === sysRowState.update
662
+ ) {
663
+ return
664
+ }
665
+ this.row['sysRowState'] = sysRowState.update
666
+ },
667
+ changeControlType(field, controlType) {
668
+ let col = this.internalComputedHiddenCols.find(
669
+ (col) => col.field === field
670
+ )
671
+ col.controlType = controlType
672
+ },
673
+ pulldownMultiSelect(col,pulldownView,selectRows){
674
+ //第一行选中
675
+ // pulldownView.setLinkValue(selectRows[0], this.row)
676
+
677
+ // this.cellValueChange(scope)
678
+ // let vm = this
679
+ // for (let i = 1; i < selectRows.length; i++) {
680
+ // let tempSelectRow = selectRows[i]
681
+ // this.$emit('defaultRow', (newRow) => {
682
+ // pulldownView.setLinkValue(tempSelectRow, newRow)
683
+ // vm.insertAt(newRow, -1, false, (insertRow) => {
684
+ // vm.cellValueChange({ row: insertRow, column: scope.column })
685
+ // })
686
+ // })
687
+ // }
688
+ this.$emit('selectRows', selectRows)
689
+ }
690
+ },
691
+ }
692
+ </script>
693
+
694
+ <style lang="less" scoped>
695
+ .form-head {
696
+ display: flex;
697
+ flex-flow: row wrap;
698
+ margin-bottom: 10px;
699
+ .form-title {
700
+ margin-left: 10px;
701
+ }
702
+ }
703
+ .input-span {
704
+ // line-height: 33px;
705
+ color: #0b0b0b;
706
+ font-size: 12px;
707
+ font-weight: normal;
708
+ overflow: hidden;
709
+ text-overflow: ellipsis;
710
+ -o-text-overflow: ellipsis;
711
+ display: inline-block;
712
+ width: 100%;
713
+ height: 32.8px;
714
+ white-space: nowrap;
715
+ // font-family: "Arial", "Microsoft YaHei";
716
+ }
717
+ .title-first-input {
718
+ width: 200px;
719
+ height: 25px;
720
+ font-size: 15px;
721
+ margin-left: 10px;
722
+ font-weight: 500;
723
+ }
724
+ .title-second-input {
725
+ width: 200px;
726
+ height: 25px;
727
+ font-size: 15px;
728
+ margin-left: 10px;
729
+ font-weight: 500;
730
+ }
731
+ .title-first-value {
732
+ width: 200px;
733
+ height: 40px;
734
+ font-size: 24px;
735
+ margin-left: 10px;
736
+ font-weight: 700;
737
+ }
738
+ .title-second-value {
739
+ width: 200px;
740
+ height: 26px;
741
+ font-size: 18px;
742
+ margin-left: 10px;
743
+ font-weight: 600;
744
+ }
745
+ .option:hover {
746
+ background-color: #219bff;
747
+ }
748
+ .form {
749
+ margin-left: 30px;
750
+ }
751
+ </style>
752
+ <style lang="less">
753
+ @import '../../styles/default.less';
754
+ </style>