doway-coms 2.10.10 → 2.10.12

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 (76) 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 +314 -314
  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 +753 -753
  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 +3852 -3851
  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 +150 -150
  41. package/packages/BasePulldown/index.js +7 -7
  42. package/packages/BasePulldown/src/index.vue +1347 -1347
  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 +353 -353
  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 +91 -91
  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 +317 -317
  76. package/vue.config.js +59 -59
@@ -1,753 +1,753 @@
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
- :isLocalData="col.isLocalData"
285
- />
286
- <BaseTreeSelect
287
- v-if="
288
- col.controlType === 'treeSelect' &&
289
- (col.isButtonShow == false || col.isButtonShow == undefined)
290
- "
291
- :formRow="formRow"
292
- :api="col.api"
293
- :tooltip="col.tooltip"
294
- :row="row"
295
- :edit="col.edit"
296
- :label="col.title"
297
- :rules="col.rules"
298
- :route="col.route"
299
- :field="col.field"
300
- :columns="col.columns"
301
- @preSearch="preSearch"
302
- :replaceFields="col.replaceFields"
303
- :treeWidth="col.treeWidth"
304
- :width="col.width"
305
- :linkedField="col.linkedField"
306
- :showSearch="col.showSearch"
307
- :allowClear="col.allowClear"
308
- :placeholder="col.placeholder"
309
- :linkedTitle="col.linkedTitle"
310
- :method="col.method"
311
- v-model="row[col.field]"
312
- @change="
313
- () => {
314
- inputChange(col)
315
- }
316
- "
317
- />
318
- </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 class="d-form-item-ghost"></div>
323
- </div>
324
- </template>
325
-
326
- <script>
327
- import { sysFormState, sysRowState } from '../../utils/enum'
328
- import BaseInput from '../../BaseInput/index'
329
- import BaseCheckbox from '../../BaseCheckbox/index'
330
- import BaseDate from '../../BaseDate/index'
331
- import BaseDatetime from '../../BaseDatetime/index'
332
- import BaseDateWeek from '../../BaseDateWeek/index'
333
- import BaseTextArea from '../../BaseTextArea/index'
334
- import BaseButton from '../../BaseButton/index'
335
- import BaseSelect from '../../BaseSelect/index'
336
- import BaseSelectMulti from '../../BaseSelectMulti/index'
337
- import BaseTime from '../../BaseTime/index'
338
- import BasePulldown from '../../BasePulldown/index'
339
- import BaseIntervalInput from '../../BaseIntervalInput/index'
340
- import BaseNumberInput from '../../BaseNumberInput/index'
341
- import BaseTreeSelect from '../../BaseTreeSelect'
342
-
343
- import moment from 'moment'
344
- import BaseDateMonth from '../../BaseDateMonth'
345
- export default {
346
- components: {
347
- BaseInput,
348
- BaseCheckbox,
349
- BaseDate,
350
- BaseDatetime,
351
- BaseDateWeek,
352
- BaseDateMonth,
353
- BaseTextArea,
354
- BaseButton,
355
- BaseSelect,
356
- BaseSelectMulti,
357
- BaseTime,
358
- BasePulldown,
359
- BaseIntervalInput,
360
- BaseNumberInput,
361
- BaseTreeSelect,
362
- },
363
- name: 'BaseForm',
364
- props: {
365
- updateDatas: {
366
- // 更新的数据
367
- type: Object,
368
- default: function () {
369
- return {}
370
- },
371
- },
372
- showLoading: {
373
- // 是否显示加载信息
374
- type: Boolean,
375
- default: false,
376
- },
377
- isOld: {
378
- // 是否老系统
379
- type: Boolean,
380
- default: false,
381
- },
382
- valueState: {
383
- type: Object,
384
- default: function () {
385
- return {}
386
- },
387
- },
388
- formState: {
389
- type: String,
390
- default: sysFormState.view,
391
- },
392
- formRow: {
393
- // 当前页面数据集
394
- type: Object,
395
- default: () => {
396
- return {}
397
- },
398
- },
399
- row: {
400
- // 当前行,如果是表单的话当前行和当前页面数据集是一样的
401
- type: Object,
402
- default: () => {
403
- return {}
404
- },
405
- },
406
- columns: {
407
- // 表格列信息
408
- type: Array,
409
- default: function () {
410
- return []
411
- },
412
- },
413
- dataName: {
414
- type: String,
415
- default: function () {
416
- return ''
417
- },
418
- },
419
- },
420
- computed: {
421
- internalComputedHiddenCols: function () {
422
- let vm = this
423
- return this.columns.filter((item) => {
424
- // if (item.isTitle === true) {
425
- // // vm.titleCol = item
426
- // return false
427
- // }
428
- // if (item.controlType === controlType.image) {
429
- // vm.logoCol = item
430
- // return false
431
- // }
432
- return item.visible === true
433
- })
434
- },
435
- },
436
- filters: {},
437
- data() {
438
- return {
439
- hiddenDetail: false,
440
- moment,
441
- editFormName: '',
442
- internalEdit: false,
443
- internalCols: [],
444
- internalValueState: {},
445
- internalFormState: sysFormState.view,
446
- rules: {},
447
- titleCols: [],
448
- logoCol: null,
449
- isShowEditForm: false,
450
- ref: '',
451
- }
452
- },
453
- watch: {
454
- // row: {
455
- // handler: function (newVal) {
456
- // },
457
- // deep: true
458
- // },
459
- // cols: {
460
- // handler: function (newVal) {
461
- // this.internalCols = newVal
462
- // },
463
- // deep: true
464
- // },
465
- // valueState: { // 表单值状态,更新,还是插入
466
- // handler: function (newVal) {
467
- // this.internalValueState = newVal
468
- // },
469
- // deep: true
470
- // },
471
- // formState: {
472
- // handler: function (newVal) {
473
- // this.internalFormState = newVal
474
- // this.setColState()
475
- // },
476
- // deep: true
477
- // }
478
- },
479
- created() {
480
- for (let i = 0; i < this.columns.length; i++) {
481
- // if (this.columns[i].isLogo === true) {
482
- // this.logoCol = this.columns[i]
483
- // continue
484
- // }
485
- // if (this.columns[i].isTitle === true) {
486
- // this.titleCols.push(this.columns[i])
487
- // continue
488
- // }
489
- if (this.columns[i].controlType === 'popup') {
490
- let formUrl =
491
- process.env[
492
- 'VUE_APP_' +
493
- this.columns[i].linkModuleData.objectService.toUpperCase() +
494
- '_SERVICE_URL'
495
- ] +
496
- '/' +
497
- this.columns[i].linkModuleData.objectApiVersion +
498
- '/' +
499
- this.columns[i].linkModuleData.objectName +
500
- '/'
501
- this.columns[i]['api'] = this.columns[i].linkModuleData.objectApiRoute
502
- ? formUrl + this.columns[i].linkModuleData.objectApiRoute
503
- : formUrl + 'Search'
504
-
505
- this.columns[i]['columns'] = {}
506
-
507
- for (
508
- let x = 0;
509
- x < this.columns[i].linkModuleData.moduleFields.length;
510
- x++
511
- ) {
512
- let tempField = this.columns[i].linkModuleData.moduleFields[x]
513
- this.columns[i]['columns'][tempField.field] = {
514
- title: tempField.caption,
515
- width: tempField.width,
516
- visible: tempField.visible,
517
- linkField: tempField.linkValueField,
518
- filter: tempField.isFilter,
519
- }
520
- if (tempField.field === this.columns[i].linkCaptionField) {
521
- this.columns[i]['columns'][tempField.field].linkField =
522
- this.columns[i].field
523
- this.columns[i]['columns'][tempField.field].filter = true
524
- }
525
- }
526
- }
527
-
528
- // this.columns[i]['rules'] = {}
529
- // if (this.columns[i].isRequire === true) {
530
- // this.columns[i].rules['required'] = true
531
- // }
532
- // if (this.columns[i].maxLength) {
533
- // this.columns[i].rules['length'] = [0, this.columns[i].maxLength]
534
- // }
535
- }
536
- },
537
-
538
- mounted() {
539
- //let letterLength = this.$refs.content.value
540
- //letterLength = this.$refs['content'].innerText.substr(0, 6) + '...'
541
- window.addEventListener('beforeunload', (e) => this.beforeunloadHandler(e))
542
- },
543
- destroyed() {
544
- window.removeEventListener('beforeunload', (e) =>
545
- this.beforeunloadHandler(e)
546
- )
547
- },
548
- activated() {},
549
- methods: {
550
- preSearch(searchInfo, repeatRowInfo) {
551
- this.$emit('preSearch', searchInfo, repeatRowInfo)
552
- },
553
- beforeunloadHandler(e) {
554
- if (this.formState !== 'view') {
555
- e = e || window.event
556
- e.returnValue = '提示'
557
- return confirm('确认退出')
558
- } else {
559
- return
560
- }
561
- },
562
- pulldownBtnClick(btnInfo) {
563
- this.$emit('pulldownBtnClick', btnInfo)
564
- },
565
- showToolTip() {},
566
- fieldCaptionClick(col) {
567
- // 下拉框
568
- if (
569
- col.linkModuleData &&
570
- col.linkModuleData.linkModuleId &&
571
- col.linkModuleData.linkModuleOperate.indexOf(sysFormState.view) >= 0
572
- ) {
573
- // 查找模块信息
574
- let linkModule = this.$store.getters.addRouters.filter((filterItem) => {
575
- return (
576
- filterItem.meta &&
577
- filterItem.meta.moduleId === col.linkModuleData.linkModuleId
578
- )
579
- })
580
- if (linkModule.length > 0) {
581
- this.$router.pushRoute({
582
- name: linkModule[0].name,
583
- query: { id: this.row[col.field] },
584
- })
585
- }
586
- }
587
- },
588
- // selectChange(col) {
589
- // if (col.field.indexOf('.') < 0) {
590
- // this.updateDatas[col.field] = this.row[col.field]
591
- // }
592
- // if (
593
- // this.row['sysRowState'] === sysRowState.add ||
594
- // this.row['sysRowState'] === sysRowState.update
595
- // ) {
596
- // return
597
- // }
598
- // this.row['sysRowState'] = sysRowState.update
599
- // },
600
- pullDownChange(colInfo, row) {
601
- this.$emit('change', colInfo,row)
602
- },
603
- selectMultiChange(colInfo, row) {
604
- this.$emit('change', colInfo)
605
- },
606
- selectChange(colInfo) {
607
- this.$emit('change', colInfo)
608
- },
609
- checkboxChange(colInfo) {
610
- this.$emit('change', colInfo)
611
- },
612
- checkBoxChange(col) {
613
- if (col.field.indexOf('.') < 0) {
614
- this.updateDatas[col.field] = this.row[col.field]
615
- }
616
- this.$emit('change', col)
617
- if (
618
- this.row['sysRowState'] === sysRowState.add ||
619
- this.row['sysRowState'] === sysRowState.update
620
- ) {
621
- return
622
- }
623
- this.row['sysRowState'] = sysRowState.update
624
- },
625
- dateChange(col) {
626
- if (col.field.indexOf('.') < 0) {
627
- this.updateDatas[col.field] = this.row[col.field]
628
- }
629
- this.$emit('change', col)
630
- if (
631
- this.row['sysRowState'] === sysRowState.add ||
632
- this.row['sysRowState'] === sysRowState.update
633
- ) {
634
- return
635
- }
636
- this.row['sysRowState'] = sysRowState.update
637
- },
638
- inputChange(colInfo) {
639
- // 输入框改变
640
- this.$emit('change', colInfo)
641
- },
642
- // 按钮弹出组件返回输入的值
643
- buttonHandleOk(colInfo, value) {
644
- // 按钮弹出确定改变内容改变
645
- this.$emit('buttonHandleOk', colInfo, value)
646
- },
647
- blurChange(colInfo) {
648
- // 输入框失去焦点
649
- this.$emit('blur', colInfo)
650
- },
651
- numberChange(colInfo) {
652
- // 输入框改变
653
- this.$emit('change', colInfo)
654
- },
655
- longtimeChange(data, col) {
656
- this.row[col.field] = data
657
- this.$emit('change', col)
658
- if (
659
- this.row['sysRowState'] === sysRowState.add ||
660
- this.row['sysRowState'] === sysRowState.update
661
- ) {
662
- return
663
- }
664
- this.row['sysRowState'] = sysRowState.update
665
- },
666
- changeControlType(field, controlType) {
667
- let col = this.internalComputedHiddenCols.find(
668
- (col) => col.field === field
669
- )
670
- col.controlType = controlType
671
- },
672
- pulldownMultiSelect(col,pulldownView,selectRows){
673
- //第一行选中
674
- // pulldownView.setLinkValue(selectRows[0], this.row)
675
-
676
- // this.cellValueChange(scope)
677
- // let vm = this
678
- // for (let i = 1; i < selectRows.length; i++) {
679
- // let tempSelectRow = selectRows[i]
680
- // this.$emit('defaultRow', (newRow) => {
681
- // pulldownView.setLinkValue(tempSelectRow, newRow)
682
- // vm.insertAt(newRow, -1, false, (insertRow) => {
683
- // vm.cellValueChange({ row: insertRow, column: scope.column })
684
- // })
685
- // })
686
- // }
687
- this.$emit('selectRows', selectRows)
688
- }
689
- },
690
- }
691
- </script>
692
-
693
- <style lang="less" scoped>
694
- .form-head {
695
- display: flex;
696
- flex-flow: row wrap;
697
- margin-bottom: 10px;
698
- .form-title {
699
- margin-left: 10px;
700
- }
701
- }
702
- .input-span {
703
- // line-height: 33px;
704
- color: #0b0b0b;
705
- font-size: 12px;
706
- font-weight: normal;
707
- overflow: hidden;
708
- text-overflow: ellipsis;
709
- -o-text-overflow: ellipsis;
710
- display: inline-block;
711
- width: 100%;
712
- height: 32.8px;
713
- white-space: nowrap;
714
- // font-family: "Arial", "Microsoft YaHei";
715
- }
716
- .title-first-input {
717
- width: 200px;
718
- height: 25px;
719
- font-size: 15px;
720
- margin-left: 10px;
721
- font-weight: 500;
722
- }
723
- .title-second-input {
724
- width: 200px;
725
- height: 25px;
726
- font-size: 15px;
727
- margin-left: 10px;
728
- font-weight: 500;
729
- }
730
- .title-first-value {
731
- width: 200px;
732
- height: 40px;
733
- font-size: 24px;
734
- margin-left: 10px;
735
- font-weight: 700;
736
- }
737
- .title-second-value {
738
- width: 200px;
739
- height: 26px;
740
- font-size: 18px;
741
- margin-left: 10px;
742
- font-weight: 600;
743
- }
744
- .option:hover {
745
- background-color: #219bff;
746
- }
747
- .form {
748
- margin-left: 30px;
749
- }
750
- </style>
751
- <style lang="less">
752
- @import '../../styles/default.less';
753
- </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
+ :isLocalData="col.isLocalData"
285
+ />
286
+ <BaseTreeSelect
287
+ v-if="
288
+ col.controlType === 'treeSelect' &&
289
+ (col.isButtonShow == false || col.isButtonShow == undefined)
290
+ "
291
+ :formRow="formRow"
292
+ :api="col.api"
293
+ :tooltip="col.tooltip"
294
+ :row="row"
295
+ :edit="col.edit"
296
+ :label="col.title"
297
+ :rules="col.rules"
298
+ :route="col.route"
299
+ :field="col.field"
300
+ :columns="col.columns"
301
+ @preSearch="preSearch"
302
+ :replaceFields="col.replaceFields"
303
+ :treeWidth="col.treeWidth"
304
+ :width="col.width"
305
+ :linkedField="col.linkedField"
306
+ :showSearch="col.showSearch"
307
+ :allowClear="col.allowClear"
308
+ :placeholder="col.placeholder"
309
+ :linkedTitle="col.linkedTitle"
310
+ :method="col.method"
311
+ v-model="row[col.field]"
312
+ @change="
313
+ () => {
314
+ inputChange(col)
315
+ }
316
+ "
317
+ />
318
+ </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 class="d-form-item-ghost"></div>
323
+ </div>
324
+ </template>
325
+
326
+ <script>
327
+ import { sysFormState, sysRowState } from '../../utils/enum'
328
+ import BaseInput from '../../BaseInput/index'
329
+ import BaseCheckbox from '../../BaseCheckbox/index'
330
+ import BaseDate from '../../BaseDate/index'
331
+ import BaseDatetime from '../../BaseDatetime/index'
332
+ import BaseDateWeek from '../../BaseDateWeek/index'
333
+ import BaseTextArea from '../../BaseTextArea/index'
334
+ import BaseButton from '../../BaseButton/index'
335
+ import BaseSelect from '../../BaseSelect/index'
336
+ import BaseSelectMulti from '../../BaseSelectMulti/index'
337
+ import BaseTime from '../../BaseTime/index'
338
+ import BasePulldown from '../../BasePulldown/index'
339
+ import BaseIntervalInput from '../../BaseIntervalInput/index'
340
+ import BaseNumberInput from '../../BaseNumberInput/index'
341
+ import BaseTreeSelect from '../../BaseTreeSelect'
342
+
343
+ import moment from 'moment'
344
+ import BaseDateMonth from '../../BaseDateMonth'
345
+ export default {
346
+ components: {
347
+ BaseInput,
348
+ BaseCheckbox,
349
+ BaseDate,
350
+ BaseDatetime,
351
+ BaseDateWeek,
352
+ BaseDateMonth,
353
+ BaseTextArea,
354
+ BaseButton,
355
+ BaseSelect,
356
+ BaseSelectMulti,
357
+ BaseTime,
358
+ BasePulldown,
359
+ BaseIntervalInput,
360
+ BaseNumberInput,
361
+ BaseTreeSelect,
362
+ },
363
+ name: 'BaseForm',
364
+ props: {
365
+ updateDatas: {
366
+ // 更新的数据
367
+ type: Object,
368
+ default: function () {
369
+ return {}
370
+ },
371
+ },
372
+ showLoading: {
373
+ // 是否显示加载信息
374
+ type: Boolean,
375
+ default: false,
376
+ },
377
+ isOld: {
378
+ // 是否老系统
379
+ type: Boolean,
380
+ default: false,
381
+ },
382
+ valueState: {
383
+ type: Object,
384
+ default: function () {
385
+ return {}
386
+ },
387
+ },
388
+ formState: {
389
+ type: String,
390
+ default: sysFormState.view,
391
+ },
392
+ formRow: {
393
+ // 当前页面数据集
394
+ type: Object,
395
+ default: () => {
396
+ return {}
397
+ },
398
+ },
399
+ row: {
400
+ // 当前行,如果是表单的话当前行和当前页面数据集是一样的
401
+ type: Object,
402
+ default: () => {
403
+ return {}
404
+ },
405
+ },
406
+ columns: {
407
+ // 表格列信息
408
+ type: Array,
409
+ default: function () {
410
+ return []
411
+ },
412
+ },
413
+ dataName: {
414
+ type: String,
415
+ default: function () {
416
+ return ''
417
+ },
418
+ },
419
+ },
420
+ computed: {
421
+ internalComputedHiddenCols: function () {
422
+ let vm = this
423
+ return this.columns.filter((item) => {
424
+ // if (item.isTitle === true) {
425
+ // // vm.titleCol = item
426
+ // return false
427
+ // }
428
+ // if (item.controlType === controlType.image) {
429
+ // vm.logoCol = item
430
+ // return false
431
+ // }
432
+ return item.visible === true
433
+ })
434
+ },
435
+ },
436
+ filters: {},
437
+ data() {
438
+ return {
439
+ hiddenDetail: false,
440
+ moment,
441
+ editFormName: '',
442
+ internalEdit: false,
443
+ internalCols: [],
444
+ internalValueState: {},
445
+ internalFormState: sysFormState.view,
446
+ rules: {},
447
+ titleCols: [],
448
+ logoCol: null,
449
+ isShowEditForm: false,
450
+ ref: '',
451
+ }
452
+ },
453
+ watch: {
454
+ // row: {
455
+ // handler: function (newVal) {
456
+ // },
457
+ // deep: true
458
+ // },
459
+ // cols: {
460
+ // handler: function (newVal) {
461
+ // this.internalCols = newVal
462
+ // },
463
+ // deep: true
464
+ // },
465
+ // valueState: { // 表单值状态,更新,还是插入
466
+ // handler: function (newVal) {
467
+ // this.internalValueState = newVal
468
+ // },
469
+ // deep: true
470
+ // },
471
+ // formState: {
472
+ // handler: function (newVal) {
473
+ // this.internalFormState = newVal
474
+ // this.setColState()
475
+ // },
476
+ // deep: true
477
+ // }
478
+ },
479
+ created() {
480
+ for (let i = 0; i < this.columns.length; i++) {
481
+ // if (this.columns[i].isLogo === true) {
482
+ // this.logoCol = this.columns[i]
483
+ // continue
484
+ // }
485
+ // if (this.columns[i].isTitle === true) {
486
+ // this.titleCols.push(this.columns[i])
487
+ // continue
488
+ // }
489
+ if (this.columns[i].controlType === 'popup') {
490
+ let formUrl =
491
+ process.env[
492
+ 'VUE_APP_' +
493
+ this.columns[i].linkModuleData.objectService.toUpperCase() +
494
+ '_SERVICE_URL'
495
+ ] +
496
+ '/' +
497
+ this.columns[i].linkModuleData.objectApiVersion +
498
+ '/' +
499
+ this.columns[i].linkModuleData.objectName +
500
+ '/'
501
+ this.columns[i]['api'] = this.columns[i].linkModuleData.objectApiRoute
502
+ ? formUrl + this.columns[i].linkModuleData.objectApiRoute
503
+ : formUrl + 'Search'
504
+
505
+ this.columns[i]['columns'] = {}
506
+
507
+ for (
508
+ let x = 0;
509
+ x < this.columns[i].linkModuleData.moduleFields.length;
510
+ x++
511
+ ) {
512
+ let tempField = this.columns[i].linkModuleData.moduleFields[x]
513
+ this.columns[i]['columns'][tempField.field] = {
514
+ title: tempField.caption,
515
+ width: tempField.width,
516
+ visible: tempField.visible,
517
+ linkField: tempField.linkValueField,
518
+ filter: tempField.isFilter,
519
+ }
520
+ if (tempField.field === this.columns[i].linkCaptionField) {
521
+ this.columns[i]['columns'][tempField.field].linkField =
522
+ this.columns[i].field
523
+ this.columns[i]['columns'][tempField.field].filter = true
524
+ }
525
+ }
526
+ }
527
+
528
+ // this.columns[i]['rules'] = {}
529
+ // if (this.columns[i].isRequire === true) {
530
+ // this.columns[i].rules['required'] = true
531
+ // }
532
+ // if (this.columns[i].maxLength) {
533
+ // this.columns[i].rules['length'] = [0, this.columns[i].maxLength]
534
+ // }
535
+ }
536
+ },
537
+
538
+ mounted() {
539
+ //let letterLength = this.$refs.content.value
540
+ //letterLength = this.$refs['content'].innerText.substr(0, 6) + '...'
541
+ window.addEventListener('beforeunload', (e) => this.beforeunloadHandler(e))
542
+ },
543
+ destroyed() {
544
+ window.removeEventListener('beforeunload', (e) =>
545
+ this.beforeunloadHandler(e)
546
+ )
547
+ },
548
+ activated() {},
549
+ methods: {
550
+ preSearch(searchInfo, repeatRowInfo) {
551
+ this.$emit('preSearch', searchInfo, repeatRowInfo)
552
+ },
553
+ beforeunloadHandler(e) {
554
+ if (this.formState !== 'view') {
555
+ e = e || window.event
556
+ e.returnValue = '提示'
557
+ return confirm('确认退出')
558
+ } else {
559
+ return
560
+ }
561
+ },
562
+ pulldownBtnClick(btnInfo) {
563
+ this.$emit('pulldownBtnClick', btnInfo)
564
+ },
565
+ showToolTip() {},
566
+ fieldCaptionClick(col) {
567
+ // 下拉框
568
+ if (
569
+ col.linkModuleData &&
570
+ col.linkModuleData.linkModuleId &&
571
+ col.linkModuleData.linkModuleOperate.indexOf(sysFormState.view) >= 0
572
+ ) {
573
+ // 查找模块信息
574
+ let linkModule = this.$store.getters.addRouters.filter((filterItem) => {
575
+ return (
576
+ filterItem.meta &&
577
+ filterItem.meta.moduleId === col.linkModuleData.linkModuleId
578
+ )
579
+ })
580
+ if (linkModule.length > 0) {
581
+ this.$router.pushRoute({
582
+ name: linkModule[0].name,
583
+ query: { id: this.row[col.field] },
584
+ })
585
+ }
586
+ }
587
+ },
588
+ // selectChange(col) {
589
+ // if (col.field.indexOf('.') < 0) {
590
+ // this.updateDatas[col.field] = this.row[col.field]
591
+ // }
592
+ // if (
593
+ // this.row['sysRowState'] === sysRowState.add ||
594
+ // this.row['sysRowState'] === sysRowState.update
595
+ // ) {
596
+ // return
597
+ // }
598
+ // this.row['sysRowState'] = sysRowState.update
599
+ // },
600
+ pullDownChange(colInfo, row) {
601
+ this.$emit('change', colInfo,row)
602
+ },
603
+ selectMultiChange(colInfo, row) {
604
+ this.$emit('change', colInfo)
605
+ },
606
+ selectChange(colInfo) {
607
+ this.$emit('change', colInfo)
608
+ },
609
+ checkboxChange(colInfo) {
610
+ this.$emit('change', colInfo)
611
+ },
612
+ checkBoxChange(col) {
613
+ if (col.field.indexOf('.') < 0) {
614
+ this.updateDatas[col.field] = this.row[col.field]
615
+ }
616
+ this.$emit('change', col)
617
+ if (
618
+ this.row['sysRowState'] === sysRowState.add ||
619
+ this.row['sysRowState'] === sysRowState.update
620
+ ) {
621
+ return
622
+ }
623
+ this.row['sysRowState'] = sysRowState.update
624
+ },
625
+ dateChange(col) {
626
+ if (col.field.indexOf('.') < 0) {
627
+ this.updateDatas[col.field] = this.row[col.field]
628
+ }
629
+ this.$emit('change', col)
630
+ if (
631
+ this.row['sysRowState'] === sysRowState.add ||
632
+ this.row['sysRowState'] === sysRowState.update
633
+ ) {
634
+ return
635
+ }
636
+ this.row['sysRowState'] = sysRowState.update
637
+ },
638
+ inputChange(colInfo) {
639
+ // 输入框改变
640
+ this.$emit('change', colInfo)
641
+ },
642
+ // 按钮弹出组件返回输入的值
643
+ buttonHandleOk(colInfo, value) {
644
+ // 按钮弹出确定改变内容改变
645
+ this.$emit('buttonHandleOk', colInfo, value)
646
+ },
647
+ blurChange(colInfo) {
648
+ // 输入框失去焦点
649
+ this.$emit('blur', colInfo)
650
+ },
651
+ numberChange(colInfo) {
652
+ // 输入框改变
653
+ this.$emit('change', colInfo)
654
+ },
655
+ longtimeChange(data, col) {
656
+ this.row[col.field] = data
657
+ this.$emit('change', col)
658
+ if (
659
+ this.row['sysRowState'] === sysRowState.add ||
660
+ this.row['sysRowState'] === sysRowState.update
661
+ ) {
662
+ return
663
+ }
664
+ this.row['sysRowState'] = sysRowState.update
665
+ },
666
+ changeControlType(field, controlType) {
667
+ let col = this.internalComputedHiddenCols.find(
668
+ (col) => col.field === field
669
+ )
670
+ col.controlType = controlType
671
+ },
672
+ pulldownMultiSelect(col,pulldownView,selectRows){
673
+ //第一行选中
674
+ // pulldownView.setLinkValue(selectRows[0], this.row)
675
+
676
+ // this.cellValueChange(scope)
677
+ // let vm = this
678
+ // for (let i = 1; i < selectRows.length; i++) {
679
+ // let tempSelectRow = selectRows[i]
680
+ // this.$emit('defaultRow', (newRow) => {
681
+ // pulldownView.setLinkValue(tempSelectRow, newRow)
682
+ // vm.insertAt(newRow, -1, false, (insertRow) => {
683
+ // vm.cellValueChange({ row: insertRow, column: scope.column })
684
+ // })
685
+ // })
686
+ // }
687
+ this.$emit('selectRows', selectRows)
688
+ }
689
+ },
690
+ }
691
+ </script>
692
+
693
+ <style lang="less" scoped>
694
+ .form-head {
695
+ display: flex;
696
+ flex-flow: row wrap;
697
+ margin-bottom: 10px;
698
+ .form-title {
699
+ margin-left: 10px;
700
+ }
701
+ }
702
+ .input-span {
703
+ // line-height: 33px;
704
+ color: #0b0b0b;
705
+ font-size: 12px;
706
+ font-weight: normal;
707
+ overflow: hidden;
708
+ text-overflow: ellipsis;
709
+ -o-text-overflow: ellipsis;
710
+ display: inline-block;
711
+ width: 100%;
712
+ height: 32.8px;
713
+ white-space: nowrap;
714
+ // font-family: "Arial", "Microsoft YaHei";
715
+ }
716
+ .title-first-input {
717
+ width: 200px;
718
+ height: 25px;
719
+ font-size: 15px;
720
+ margin-left: 10px;
721
+ font-weight: 500;
722
+ }
723
+ .title-second-input {
724
+ width: 200px;
725
+ height: 25px;
726
+ font-size: 15px;
727
+ margin-left: 10px;
728
+ font-weight: 500;
729
+ }
730
+ .title-first-value {
731
+ width: 200px;
732
+ height: 40px;
733
+ font-size: 24px;
734
+ margin-left: 10px;
735
+ font-weight: 700;
736
+ }
737
+ .title-second-value {
738
+ width: 200px;
739
+ height: 26px;
740
+ font-size: 18px;
741
+ margin-left: 10px;
742
+ font-weight: 600;
743
+ }
744
+ .option:hover {
745
+ background-color: #219bff;
746
+ }
747
+ .form {
748
+ margin-left: 30px;
749
+ }
750
+ </style>
751
+ <style lang="less">
752
+ @import '../../styles/default.less';
753
+ </style>