cloud-web-corejs 1.0.245 → 1.0.247

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.245",
4
+ "version": "1.0.247",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -190,6 +190,7 @@ import TableCellWidget from '../../../../../components/xform/form-designer/form-
190
190
  import FieldComponents from '../../../../../components/xform/form-designer/form-widget/field-widget/index';
191
191
  import Draggable from 'vuedraggable';
192
192
  import dataTableMixin from './data-table-mixin.js';
193
+ import { enrichTableColumnsWithLabelIcon } from '../../../utils/tableColumnHelper';
193
194
 
194
195
  export default {
195
196
  name: 'data-table-widget',
@@ -200,6 +201,15 @@ export default {
200
201
  ...FieldComponents
201
202
  },
202
203
  mixins: [dataTableMixin],
204
+ computed: {
205
+ columns() {
206
+ const baseColumns = dataTableMixin.computed.columns.call(this);
207
+ return enrichTableColumnsWithLabelIcon(
208
+ baseColumns,
209
+ this.widget.options.tableColumns || []
210
+ );
211
+ },
212
+ },
203
213
  created() {
204
214
  if(this.widget.options.isNotQueryAllPage===undefined)this.widget.options.isNotQueryAllPage = false;
205
215
  }
@@ -22,20 +22,33 @@
22
22
  </template>
23
23
  <template
24
24
  v-else-if="
25
- field.options.widgetTextFlag === 3 && field.options.widgetTextLinkConfig
25
+ field.options.widgetTextFlag === 3 &&
26
+ field.options.widgetTextLinkConfig
26
27
  "
27
28
  >
28
29
  <div class="ellipsis">
29
- <a class="a-link" :class="getWidgetClass()" @click.native="handleClick">
30
+ <a
31
+ class="a-link"
32
+ :class="getWidgetClass()"
33
+ @click.native="handleClick"
34
+ >
30
35
  <span>
31
36
  <i
32
- :class="field.options.widgetTextLinkConfig.options.prefixIcon"
33
- v-if="!!field.options.widgetTextLinkConfig.options.prefixIcon"
37
+ :class="
38
+ field.options.widgetTextLinkConfig.options.prefixIcon
39
+ "
40
+ v-if="
41
+ !!field.options.widgetTextLinkConfig.options.prefixIcon
42
+ "
34
43
  ></i>
35
44
  <span>{{ getWidgetValue() }}</span>
36
45
  <i
37
- :class="field.options.widgetTextLinkConfig.options.suffixIcon"
38
- v-if="!!field.options.widgetTextLinkConfig.options.suffixIcon"
46
+ :class="
47
+ field.options.widgetTextLinkConfig.options.suffixIcon
48
+ "
49
+ v-if="
50
+ !!field.options.widgetTextLinkConfig.options.suffixIcon
51
+ "
39
52
  ></i>
40
53
  </span>
41
54
  </a>
@@ -48,10 +61,12 @@
48
61
  </template>
49
62
  <template v-else>
50
63
  <el-form-item
51
- v-if="!!field.formItemFlag && (!field.options.hidden || designState === true)"
64
+ v-if="
65
+ !!field.formItemFlag &&
66
+ (!field.options.hidden || designState === true)
67
+ "
52
68
  :label="label"
53
69
  :label-width="labelWidth"
54
- :title="field.options.labelTooltip"
55
70
  :rules="getRules()"
56
71
  :prop="getPropName()"
57
72
  :class="[
@@ -66,31 +81,48 @@
66
81
  v-if="!!field.options.labelIconClass"
67
82
  slot="label"
68
83
  class="custom-label"
69
- :style="{ color: field.options.labelColor }"
70
84
  >
71
85
  <template v-if="field.options.labelIconPosition === 'front'">
72
86
  <template v-if="!!field.options.labelTooltip">
73
- <el-tooltip :content="field.options.labelTooltip" effect="light">
87
+ <el-tooltip
88
+ :content="field.options.labelTooltip"
89
+ effect="dark"
90
+ popper-class="label-tooltip-pre-line"
91
+ >
74
92
  <i :class="field.options.labelIconClass"></i></el-tooltip
75
- >{{ label }}</template
93
+ ><span :style="{ color: field.options.labelColor }">{{
94
+ label
95
+ }}</span></template
76
96
  >
77
97
  <template v-else>
78
- <i :class="field.options.labelIconClass"></i>{{ label }}</template
98
+ <i :class="field.options.labelIconClass"></i
99
+ ><span :style="{ color: field.options.labelColor }">{{
100
+ label
101
+ }}</span></template
79
102
  >
80
103
  </template>
81
104
  <template v-else-if="field.options.labelIconPosition === 'rear'">
82
105
  <template v-if="!!field.options.labelTooltip">
83
- {{ label
84
- }}<el-tooltip :content="field.options.labelTooltip" effect="light">
106
+ <span :style="{ color: field.options.labelColor }">{{
107
+ label
108
+ }}</span
109
+ ><el-tooltip
110
+ :content="field.options.labelTooltip"
111
+ effect="dark"
112
+ popper-class="label-tooltip-pre-line"
113
+ >
85
114
  <i :class="field.options.labelIconClass"></i></el-tooltip
86
115
  ></template>
87
116
  <template v-else>
88
- {{ label }}<i :class="field.options.labelIconClass"></i
117
+ <span :style="{ color: field.options.labelColor }">{{
118
+ label
119
+ }}</span
120
+ ><i :class="field.options.labelIconClass"></i
89
121
  ></template>
90
122
  </template>
91
123
  </span>
92
124
  <span
93
- v-if="!!field.options.labelColor"
125
+ v-else-if="!!field.options.labelColor"
94
126
  slot="label"
95
127
  :style="{ color: field.options.labelColor }"
96
128
  >
@@ -101,20 +133,29 @@
101
133
  </template>
102
134
  <template
103
135
  v-else-if="
104
- field.options.widgetTextFlag === 3 && field.options.widgetTextLinkConfig
136
+ field.options.widgetTextFlag === 3 &&
137
+ field.options.widgetTextLinkConfig
105
138
  "
106
139
  >
107
140
  <div class="ellipsis">
108
141
  <a class="a-link" :class="getWidgetClass()" @click="handleClick">
109
142
  <span>
110
143
  <i
111
- :class="field.options.widgetTextLinkConfig.options.prefixIcon"
112
- v-if="!!field.options.widgetTextLinkConfig.options.prefixIcon"
144
+ :class="
145
+ field.options.widgetTextLinkConfig.options.prefixIcon
146
+ "
147
+ v-if="
148
+ !!field.options.widgetTextLinkConfig.options.prefixIcon
149
+ "
113
150
  ></i>
114
151
  <span>{{ getWidgetValue() }}</span>
115
152
  <i
116
- :class="field.options.widgetTextLinkConfig.options.suffixIcon"
117
- v-if="!!field.options.widgetTextLinkConfig.options.suffixIcon"
153
+ :class="
154
+ field.options.widgetTextLinkConfig.options.suffixIcon
155
+ "
156
+ v-if="
157
+ !!field.options.widgetTextLinkConfig.options.suffixIcon
158
+ "
118
159
  ></i>
119
160
  </span>
120
161
  </a>
@@ -171,7 +212,10 @@
171
212
 
172
213
  <script>
173
214
  import i18n from "../../../../../components/xform/utils/i18n";
174
- import { getSubFormNameByFieldId } from "../../../../../components/xform/utils/util";
215
+ import {
216
+ getSubFormNameByFieldId,
217
+ isVabsearchMultiWidget,
218
+ } from "../../../../../components/xform/utils/util";
175
219
 
176
220
  export default {
177
221
  name: "form-item-wrapper",
@@ -225,7 +269,7 @@ export default {
225
269
  },
226
270
 
227
271
  label() {
228
- if (!!this.field.options.labelHidden) {
272
+ if (this.shouldHideFieldLabel()) {
229
273
  return "";
230
274
  }
231
275
  return this.getI18nLabel(this.field.options.label);
@@ -234,7 +278,7 @@ export default {
234
278
  },
235
279
 
236
280
  labelWidth() {
237
- if (!!this.field.options.labelHidden) {
281
+ if (this.shouldHideFieldLabel()) {
238
282
  return (!!this.designState ? 5 : 0) + "px"; //设计期间标签最小宽度5像素,以便于鼠标点击可选中组件!!
239
283
  }
240
284
 
@@ -286,6 +330,13 @@ export default {
286
330
  this.initShowType();
287
331
  },
288
332
  methods: {
333
+ shouldHideFieldLabel() {
334
+ if (!!this.field.options.labelHidden) {
335
+ return true;
336
+ }
337
+ // 数据表格列内字段:表头已展示列名,隐藏 form-item 标签
338
+ return this.isSubFormItem();
339
+ },
289
340
  isSubFormItem() {
290
341
  return !!this.tableParam;
291
342
  },
@@ -330,7 +381,10 @@ export default {
330
381
  }
331
382
 
332
383
  this.$nextTick(() => {
333
- const l = getSubFormNameByFieldId(this.designer.widgetList, selectedId);
384
+ const l = getSubFormNameByFieldId(
385
+ this.designer.widgetList,
386
+ selectedId
387
+ );
334
388
  this.parentList.splice(this.indexOfParentList, 1);
335
389
  //if (!!nextSelected) {
336
390
  this.designer.setSelected(nextSelected);
@@ -341,25 +395,30 @@ export default {
341
395
  });
342
396
  }
343
397
  },
344
- getIsFormItemUnabled() {
345
- return this.field.type == "vabUpload" || this.field.type == "baseAttachment";
346
- },
347
398
  getRules() {
348
- if (this.getIsFormItemUnabled()) {
349
- return null;
350
- }
351
399
  return this.rules;
352
400
  },
353
401
  getPropName() {
354
- if (this.getIsFormItemUnabled()) {
402
+ if (this.formItemProp === "false") {
355
403
  return null;
356
404
  }
357
- if (this.formItemProp) {
358
- return this.formItemProp;
405
+ // if (this.formItemProp) {
406
+ // return this.formItemProp;
407
+ // }
408
+ if (this.tableParam && !this.tableParam.$table?.$parent?.$parent) {
409
+ if (this.formItemProp) {
410
+ return this.formItemProp;
411
+ }
412
+ return null;
413
+ }
414
+ if (this.tableParam && !!this.tableParam.$table?.$parent?.$parent) {
415
+ return this.getColumnProp(this.field, this.tableParam);
359
416
  }
360
417
  let o = this.field.options.name;
361
418
  let propName =
362
- ((o = (this.field.options.keyNameEnabled && this.field.options.keyName) || o),
419
+ ((o =
420
+ (this.field.options.keyNameEnabled && this.field.options.keyName) ||
421
+ o),
363
422
  this.subFormItemFlag && !this.designState
364
423
  ? this.subFormName + "." + this.subFormRowIndex + "." + o
365
424
  : this.getObjectFieldFlag() && !this.designState
@@ -368,6 +427,49 @@ export default {
368
427
 
369
428
  return propName;
370
429
  },
430
+ getFieldKeyName(widget) {
431
+ let o = widget.options.name;
432
+ return (widget.options.keyNameEnabled && widget.options.keyName) || o;
433
+ },
434
+ isVabsearchFlagWidget(widget) {
435
+ let type = widget?.type;
436
+ return (
437
+ type === "vabsearch" ||
438
+ type === "singerSearch" ||
439
+ type === "multiSearch"
440
+ );
441
+ },
442
+ getColumnProp(rowWidget, obj) {
443
+ let required = rowWidget.options.required || false;
444
+
445
+ let tableRef = obj.$table.$parent.$parent;
446
+ let tableWidget = tableRef.widget;
447
+ let fieldKeyName = this.getFieldKeyName(tableWidget);
448
+ let property = this.getFieldKeyName(rowWidget);
449
+ if (
450
+ this.isVabsearchFlagWidget(rowWidget) &&
451
+ !isVabsearchMultiWidget(rowWidget)
452
+ ) {
453
+ property = rowWidget.options.vabSearchName || property;
454
+ }
455
+ let rowIndex = Math.max(obj.rowIndex, 0);
456
+
457
+ let isTreeTable = tableWidget.options.isTreeTable || false;
458
+ if (isTreeTable) {
459
+ rowIndex = tableRef
460
+ .getValue()
461
+ .findIndex((item) => item._X_ROW_KEY === obj.row._X_ROW_KEY);
462
+ if (rowIndex < 0) {
463
+ return "false";
464
+ }
465
+ }
466
+
467
+ let propName = fieldKeyName + "." + rowIndex + "." + property;
468
+ if (!required) {
469
+ propName = "false";
470
+ }
471
+ return propName;
472
+ },
371
473
  getI18nLabel(label, path, param) {
372
474
  return !this.designState && label ? this.$t2(label, path, param) : label;
373
475
  },
@@ -509,7 +611,8 @@ export default {
509
611
  : [];
510
612
 
511
613
  let flag1 = !item.serveName || item.serveName == bdService;
512
- let flag2 = !companyCodes.length || companyCodes.includes(companyCode);
614
+ let flag2 =
615
+ !companyCodes.length || companyCodes.includes(companyCode);
513
616
  // let flag3 = !loginAccounts.length || loginAccounts.includes(loginAccount)
514
617
  // let flag4 = this.compareToList(saleOrgCodes, saleOrgCodeList)
515
618
  if (flag1 && flag2) {
@@ -543,13 +646,16 @@ export default {
543
646
  isShowWidget() {
544
647
  let widgetTextFlag = this.field.options.widgetTextFlag;
545
648
  return (
546
- widgetTextFlag === undefined || widgetTextFlag === null || widgetTextFlag === 0
649
+ widgetTextFlag === undefined ||
650
+ widgetTextFlag === null ||
651
+ widgetTextFlag === 0
547
652
  );
548
653
  },
549
654
  getShowValue() {
550
655
  let widgetTextFlag = this.field.options.widgetTextFlag;
551
656
  let fieldModel = this.$parent.fieldModel;
552
- if (this.$parent.fieldModelLabel) fieldModel = this.$parent.fieldModelLabel();
657
+ if (this.$parent.fieldModelLabel)
658
+ fieldModel = this.$parent.fieldModelLabel();
553
659
  let showValue = fieldModel;
554
660
  if (widgetTextFlag == 2) {
555
661
  showValue = this.getProcessText(showValue, this.encryptFormula);
@@ -568,13 +674,17 @@ export default {
568
674
  handleClick(event) {
569
675
  if (this.field.options.disabled) return;
570
676
  this.$parent.handleButtonWidgetClick(event, true);
571
- if (!this.designState && this.field.options.widgetTextLinkConfig?.options.href) {
677
+ if (
678
+ !this.designState &&
679
+ this.field.options.widgetTextLinkConfig?.options.href
680
+ ) {
572
681
  window.open(this.field.options.widgetTextLinkConfig?.options.href);
573
682
  }
574
683
  },
575
684
  getWidgetValue() {
576
685
  let fieldModel = this.$parent.fieldModel;
577
- if (this.$parent.fieldModelLabel) fieldModel = this.$parent.fieldModelLabel();
686
+ if (this.$parent.fieldModelLabel)
687
+ fieldModel = this.$parent.fieldModelLabel();
578
688
  return fieldModel;
579
689
  },
580
690
  },
@@ -0,0 +1,281 @@
1
+ <template>
2
+ <el-dialog
3
+ title="编辑行按钮组配置"
4
+ :visible.sync="dialogVisible"
5
+ custom-class="dialog-style list-dialog"
6
+ :show-close="true"
7
+ append-to-body
8
+ :close-on-click-modal="false"
9
+ :close-on-press-escape="false"
10
+ :destroy-on-close="true"
11
+ width="520px"
12
+ v-dialog-drag
13
+ @close="handleClose"
14
+ >
15
+ <div class="cont">
16
+ <el-form label-width="166px" class="edit-tree-button-group-form">
17
+ <el-form-item label="新增按钮唯一名称">
18
+ <el-input
19
+ v-model="row.rowAddAuthName"
20
+ class="all-width"
21
+ placeholder="留空则不校验权限"
22
+ clearable
23
+ >
24
+ <el-tooltip
25
+ slot="suffix"
26
+ :enterable="false"
27
+ effect="dark"
28
+ content="随机生成"
29
+ placement="top"
30
+ >
31
+ <i
32
+ class="el-input__icon el-icon-refresh-right"
33
+ @click="createRandomRowAddAuthName"
34
+ ></i>
35
+ </el-tooltip>
36
+ </el-input>
37
+ </el-form-item>
38
+ <el-form-item label="新增按钮编码" v-if="rowAddAuthCode">
39
+ <div class="auth-code-text">
40
+ <el-tooltip effect="light" content="复制">
41
+ <a
42
+ class="a-link"
43
+ style="color: unset"
44
+ @click="copyAuthCode(rowAddAuthCode, $event)"
45
+ >
46
+ <span
47
+ ><i
48
+ class="el-icon-copy-document"
49
+ style="margin-right: 2px"
50
+ ></i
51
+ >{{ rowAddAuthCode }}</span
52
+ >
53
+ </a>
54
+ </el-tooltip>
55
+ </div>
56
+ </el-form-item>
57
+ <el-form-item label="编辑按钮唯一名称">
58
+ <el-input
59
+ v-model="row.rowEditAuthName"
60
+ class="all-width"
61
+ placeholder="留空则不校验权限"
62
+ clearable
63
+ >
64
+ <el-tooltip
65
+ slot="suffix"
66
+ :enterable="false"
67
+ effect="dark"
68
+ content="随机生成"
69
+ placement="top"
70
+ >
71
+ <i
72
+ class="el-input__icon el-icon-refresh-right"
73
+ @click="createRandomRowEditAuthName"
74
+ ></i>
75
+ </el-tooltip>
76
+ </el-input>
77
+ </el-form-item>
78
+ <el-form-item label="编辑按钮编码" v-if="rowEditAuthCode">
79
+ <div class="auth-code-text">
80
+ <el-tooltip effect="light" content="复制">
81
+ <a
82
+ class="a-link"
83
+ style="color: unset"
84
+ @click="copyAuthCode(rowEditAuthCode, $event)"
85
+ >
86
+ <span
87
+ ><i
88
+ class="el-icon-copy-document"
89
+ style="margin-right: 2px"
90
+ ></i
91
+ >{{ rowEditAuthCode }}</span
92
+ >
93
+ </a>
94
+ </el-tooltip>
95
+ </div>
96
+ </el-form-item>
97
+ <el-form-item label="新增按钮显隐条件定义">
98
+ <a
99
+ href="javascript:void(0);"
100
+ class="a-link link-oneLind"
101
+ @click="editRowShowScript('rowAddShow')"
102
+ >
103
+ <span>{{ row.rowAddShow }}</span>
104
+ <i class="el-icon-edit"></i>
105
+ </a>
106
+ </el-form-item>
107
+ <el-form-item label="编辑按钮显隐条件定义">
108
+ <a
109
+ href="javascript:void(0);"
110
+ class="a-link link-oneLind"
111
+ @click="editRowShowScript('rowEditShow')"
112
+ >
113
+ <span>{{ row.rowEditShow }}</span>
114
+ <i class="el-icon-edit"></i>
115
+ </a>
116
+ </el-form-item>
117
+ </el-form>
118
+ </div>
119
+ <div slot="footer" class="dialog-footer">
120
+ <el-button class="button-sty" icon="el-icon-close" @click="handleClose">
121
+ {{ i18nt("designer.hint.cancel") }}
122
+ </el-button>
123
+ <el-button
124
+ type="primary"
125
+ class="button-sty"
126
+ icon="el-icon-check"
127
+ @click="handleConfirm"
128
+ >
129
+ {{ i18nt("designer.hint.confirm") }}
130
+ </el-button>
131
+ </div>
132
+ </el-dialog>
133
+ </template>
134
+
135
+ <script>
136
+ import i18n from "../../../../../../components/xform/utils/i18n";
137
+ import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
138
+ import { generateId } from "../../../../../../components/xform/utils/util";
139
+ import Clipboard from "clipboard";
140
+
141
+ export default {
142
+ name: "edit-tree-button-group-config-dialog",
143
+ mixins: [i18n, eventMixin],
144
+ props: {
145
+ visible: {
146
+ type: Boolean,
147
+ default: false,
148
+ },
149
+ row: {
150
+ type: Object,
151
+ required: true,
152
+ },
153
+ },
154
+ inject: ["getReportTemplate"],
155
+ data() {
156
+ return {
157
+ rowShowParams: ["dataId", "formCode", "tableParam"],
158
+ };
159
+ },
160
+ computed: {
161
+ dialogVisible: {
162
+ get() {
163
+ return this.visible;
164
+ },
165
+ set(val) {
166
+ this.$emit("update:visible", val);
167
+ },
168
+ },
169
+ reportTemplate() {
170
+ return this.getReportTemplate();
171
+ },
172
+ rowAddAuthName() {
173
+ return this.getRowAddAuthName();
174
+ },
175
+ rowEditAuthName() {
176
+ return this.getRowEditAuthName();
177
+ },
178
+ rowAddAuthCode() {
179
+ return this.getRowAuthCode(this.rowAddAuthName);
180
+ },
181
+ rowEditAuthCode() {
182
+ return this.getRowAuthCode(this.rowEditAuthName);
183
+ },
184
+ },
185
+ watch: {
186
+ visible(val) {
187
+ if (val) {
188
+ this.ensureRowAuthNames();
189
+ }
190
+ },
191
+ },
192
+ methods: {
193
+ getRowAddAuthName() {
194
+ return this.row.rowAddAuthName ?? this.row.treeRowAddName;
195
+ },
196
+ getRowEditAuthName() {
197
+ return this.row.rowEditAuthName ?? this.row.treeRowEditName;
198
+ },
199
+ getRowAuthCode(authName) {
200
+ if (!authName || !this.reportTemplate?.formCode) {
201
+ return "";
202
+ }
203
+ return this.reportTemplate.formCode + ":" + authName;
204
+ },
205
+ createRowAuthName(type) {
206
+ return `row${type}` + generateId();
207
+ },
208
+ ensureRowAuthNames() {
209
+ if (!this.getRowAddAuthName()) {
210
+ this.$set(this.row, "rowAddAuthName", this.createRowAuthName("Add"));
211
+ }
212
+ if (!this.getRowEditAuthName()) {
213
+ this.$set(this.row, "rowEditAuthName", this.createRowAuthName("Edit"));
214
+ }
215
+ },
216
+ createRandomRowAddAuthName() {
217
+ this.$set(this.row, "rowAddAuthName", this.createRowAuthName("Add"));
218
+ this.$message.success("生成成功");
219
+ },
220
+ createRandomRowEditAuthName() {
221
+ this.$set(this.row, "rowEditAuthName", this.createRowAuthName("Edit"));
222
+ this.$message.success("生成成功");
223
+ },
224
+ editRowShowScript(eventName) {
225
+ this.editEventHandler(eventName, this.rowShowParams, {
226
+ customCode: () => this.row[eventName] || "",
227
+ callback: (code) => {
228
+ this.$set(this.row, eventName, code);
229
+ },
230
+ });
231
+ },
232
+ copyAuthCode(content, clickEvent) {
233
+ const clipboard = new Clipboard(clickEvent.target, {
234
+ text: () => content,
235
+ });
236
+ clipboard.on("success", () => {
237
+ this.$message.success("复制成功");
238
+ clipboard.destroy();
239
+ });
240
+ clipboard.on("error", () => {
241
+ this.$message.error("复制失败");
242
+ clipboard.destroy();
243
+ });
244
+ clipboard.onClick(clickEvent);
245
+ },
246
+ handleClose() {
247
+ this.dialogVisible = false;
248
+ },
249
+ handleConfirm() {
250
+ this.$emit("confirm", this.getRowConfigSnapshot());
251
+ this.dialogVisible = false;
252
+ },
253
+ getRowConfigSnapshot() {
254
+ return {
255
+ rowAddAuthName: this.row.rowAddAuthName,
256
+ rowEditAuthName: this.row.rowEditAuthName,
257
+ rowAddShow: this.row.rowAddShow,
258
+ rowEditShow: this.row.rowEditShow,
259
+ };
260
+ },
261
+ },
262
+ };
263
+ </script>
264
+
265
+ <style scoped lang="scss">
266
+ .edit-tree-button-group-form {
267
+ ::v-deep .el-form-item {
268
+ margin-bottom: 12px;
269
+ }
270
+ ::v-deep .el-form-item__label {
271
+ line-height: 28px;
272
+ }
273
+ ::v-deep .el-form-item__content {
274
+ line-height: 28px;
275
+ }
276
+ .auth-code-text {
277
+ word-break: break-all;
278
+ line-height: 1.5;
279
+ }
280
+ }
281
+ </style>