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