n20-common-lib 2.22.61 → 2.22.63

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 (111) hide show
  1. package/nstc-g6/components/Calendar/src/main.vue +1 -1
  2. package/nstc-g6/components/Form/AutocompleteCustom/index.vue +3 -1
  3. package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +5 -4
  4. package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +18 -15
  5. package/nstc-g6/components/Form/Component.vue +1 -1
  6. package/nstc-g6/components/Form/ComponentSecond.vue +1 -1
  7. package/nstc-g6/components/Form/DatepickerCustom/index.vue +3 -3
  8. package/nstc-g6/components/Form/InputAndDialog/src/main.vue +5 -4
  9. package/nstc-g6/components/Form/InputCustom/index.vue +3 -2
  10. package/nstc-g6/components/Form/IntervalinputCustom/index.vue +2 -1
  11. package/nstc-g6/components/Form/ItemSecond.vue +2 -2
  12. package/nstc-g6/components/Form/SelectAccount/src/main.vue +9 -8
  13. package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +5 -4
  14. package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +7 -6
  15. package/nstc-g6/components/Form/SelectCustom/index.vue +3 -2
  16. package/nstc-g6/components/Form/SelectSubject/src/main.vue +8 -7
  17. package/nstc-g6/components/Form/SelectindialogCustom/index.vue +3 -2
  18. package/nstc-g6/components/Form/UploadCustom/index.vue +4 -3
  19. package/nstc-g6/components/Form/configs.js +2 -1
  20. package/nstc-g6/components/Form/configsSecond.js +2 -1
  21. package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +15 -18
  22. package/nstc-g6/components/FormGroup/src/main.vue +9 -6
  23. package/nstc-g6/components/FormGroup/src/validate.js +3 -1
  24. package/nstc-g6/components/InputTag/InputTag.vue +1 -1
  25. package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +5 -4
  26. package/nstc-g6/components/NstcDialog/NstcDialog.vue +5 -2
  27. package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +5 -3
  28. package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +5 -4
  29. package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +32 -30
  30. package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +17 -15
  31. package/nstc-g6/components/NstcExcelExport/NstcExcelExport.vue +3 -2
  32. package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +18 -16
  33. package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +17 -15
  34. package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +39 -37
  35. package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +3 -1
  36. package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +5 -4
  37. package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +16 -15
  38. package/nstc-g6/components/NstcForm/Component.vue +1 -1
  39. package/nstc-g6/components/NstcForm/ComponentSecond.vue +1 -1
  40. package/nstc-g6/components/NstcForm/DatepickerCustom/index.vue +3 -3
  41. package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +5 -4
  42. package/nstc-g6/components/NstcForm/InputCustom/index.vue +3 -2
  43. package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +2 -1
  44. package/nstc-g6/components/NstcForm/ItemSecond.vue +2 -2
  45. package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +11 -10
  46. package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +5 -4
  47. package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +9 -8
  48. package/nstc-g6/components/NstcForm/SelectCustom/index.vue +3 -2
  49. package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +10 -9
  50. package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +4 -3
  51. package/nstc-g6/components/NstcForm/UploadCustom/index.vue +4 -3
  52. package/nstc-g6/components/NstcForm/configs.js +2 -1
  53. package/nstc-g6/components/NstcForm/configsSecond.js +2 -1
  54. package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +15 -14
  55. package/nstc-g6/components/NstcPagination/NstcPagination.vue +9 -7
  56. package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +3 -1
  57. package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +6 -5
  58. package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +4 -3
  59. package/nstc-g6/components/NstcTable/NstcTable.vue +3 -2
  60. package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +16 -14
  61. package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +3 -1
  62. package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +36 -32
  63. package/nstc-g6/components/Search/NstcSearch.vue +8 -6
  64. package/nstc-g6/components/approvelTwo/main.vue +6 -5
  65. package/nstc-g6/components/approvelTwo/progress.vue +2 -2
  66. package/nstc-g6/index.js +3 -1
  67. package/nstc-g6/utils/dateAndValidator.js +8 -6
  68. package/nstc-g6/utils/vendor/Export2Zip.js +2 -1
  69. package/package.json +1 -1
  70. package/src/components/AIButton/index.vue +1 -1
  71. package/src/components/ApprovalButtons/index.vue +1 -1
  72. package/src/components/ApprovalButtons/indexApp.vue +1 -1
  73. package/src/components/ApprovalButtons/selectSpr.vue +2 -2
  74. package/src/components/ApprovalButtons/showOtherAttrNew.vue +1 -1
  75. package/src/components/ApprovalRecord/approvalImg.vue +1 -1
  76. package/src/components/ApprovalRecord/approvalImgPro/child.vue +2 -4
  77. package/src/components/ApprovalRecord/approvalImgPro/index.vue +5 -7
  78. package/src/components/AttachmentPass/index.vue +1 -1
  79. package/src/components/DateSelect/index.vue +1 -1
  80. package/src/components/DateSelect/quarterDatePicker.vue +15 -12
  81. package/src/components/DynamicField/DynamicFieldOptions.vue +1 -1
  82. package/src/components/DynamicField/tableList.vue +1 -1
  83. package/src/components/ElectronicArchive/index.vue +3 -3
  84. package/src/components/FileUploadTable/FileUploadTableV3.vue +1 -1
  85. package/src/components/FileUploadTable/index.vue +10 -6
  86. package/src/components/LoginSetting/index.vue +19 -9
  87. package/src/components/LoginTemporary/form.vue +2 -4
  88. package/src/components/LoginTemporary/index.vue +1 -1
  89. package/src/components/LoginTemporary/retrievePw.vue +8 -8
  90. package/src/components/SelectDatePickerPro/halfYearPicker.vue +14 -8
  91. package/src/components/SelectDatePickerPro/index.vue +1 -1
  92. package/src/components/SelectDatePickerPro/quarterDatePicker.vue +17 -13
  93. package/src/components/TableSetSize/index.vue +2 -2
  94. package/src/components/operatingStatus/index.vue +1 -1
  95. package/src/i18n.json +742 -28
  96. package/src/plugins/Print/print-js/src/js/init.js +2 -1
  97. package/src/plugins/SetMenuTree/setmenutree.vue +3 -3
  98. package/src/plugins/SetMenuTree/utils.js +2 -1
  99. package/src/plugins/Sign/Itrus/index.js +3 -1
  100. package/src/plugins/Sign/Itrus/sign_3720.js +5 -1
  101. package/src/plugins/Sign/NetSM3/index.js +3 -1
  102. package/src/plugins/Sign/SkfSign/index.js +3 -1
  103. package/src/plugins/Sign/bjca/index.js +3 -1
  104. package/src/plugins/Sign/hnca/index.js +1 -2
  105. package/src/plugins/Sign/kySign/index.js +3 -1
  106. package/src/plugins/Sign/netca/netca.base.1.1.0.js +6 -1
  107. package/src/plugins/Sign/sign.js +4 -2
  108. package/src/plugins/Sign/signV3/sign.js +4 -2
  109. package/src/plugins/Sign/sign_back.js +3 -1
  110. package/src/utils/xls2json.js +2 -1
  111. package/src/utils/xlsx2json.js +2 -1
@@ -63,7 +63,7 @@
63
63
  <div slot="footer" class="page-footer-shadow flex-box flex-lr m-t-s">
64
64
  <div class="flex-box flex-v">
65
65
  <cl-statis-item
66
- type="全部合计"
66
+ :type="$lc('全部合计')"
67
67
  :count-label="[$lc('笔数')]"
68
68
  :list="[{ label: $lc('笔数'), value: formValue.customList.length }]"
69
69
  />
@@ -132,7 +132,7 @@
132
132
  <template slot="prefix">
133
133
  <i
134
134
  v-if="row.isEnable === '0'"
135
- v-title="`附件已禁用`"
135
+ v-title="$lc('附件已禁用')"
136
136
  class="el-input__icon n20-icon-yichu color-danger"
137
137
  ></i>
138
138
  </template>
@@ -300,7 +300,7 @@
300
300
  <template v-slot="{ row }">
301
301
  <i v-if="row.isEnable === '0'" class="el-input__icon n20-icon-yichu color-danger"></i>
302
302
  <i v-if="row.isEnable === '1'" class="el-input__icon n20-icon-chenggong color-success"></i>
303
- <span>{{ row.isEnable === '1' ? '启用' : '禁用' }}</span>
303
+ <span>{{ $lc(row.isEnable === '1' ? '启用' : '禁用') }}</span>
304
304
  </template>
305
305
  </el-table-column>
306
306
  </el-table>
@@ -764,7 +764,7 @@ export default {
764
764
  )
765
765
  .then((res) => {
766
766
  if (res) {
767
- downloadBlob(res, $lc('附件压缩包.zip'))
767
+ downloadBlob(res, `${$lc('附件压缩包')}.zip`)
768
768
  }
769
769
  })
770
770
  },
@@ -626,7 +626,7 @@ export default {
626
626
  if (code === 200) {
627
627
  let aDom = document.createElement('a')
628
628
  aDom.href = data
629
- aDom.download = $lc("批量附件.pdf")
629
+ aDom.download = `${$lc('批量附件')}.pdf`
630
630
  aDom.click()
631
631
 
632
632
  this.$nextTick(() => {
@@ -298,7 +298,7 @@
298
298
  :multiple="true"
299
299
  :show-file-list="true"
300
300
  :action="apiPrefix ? apiPrefix + action : action"
301
- :data="_batchFileData || fileData"
301
+ :data="batchFileData || fileData"
302
302
  :headers="headers"
303
303
  :accept="fileAccept"
304
304
  :size="fileSize"
@@ -520,7 +520,7 @@ export default {
520
520
  officeStatus: false,
521
521
  batchUploading: false,
522
522
  // 批量上传使用的文件数据(避免直接修改计算属性)
523
- _batchFileData: null,
523
+ batchFileData: null,
524
524
  sortable: null
525
525
  }
526
526
  },
@@ -608,10 +608,11 @@ export default {
608
608
  return
609
609
  }
610
610
  this.tableData.splice(newIndex, 0, targetRow)
611
- this.$emit('sort', this.tableData.slice())
611
+ // 先调用保存排序接口,确保即使 $emit 抛出异常也能执行
612
612
  this.saveFileSort().catch(() => {
613
613
  this.$message.error($lc('附件排序保存失败'))
614
614
  })
615
+ this.$emit('sort', this.tableData.slice())
615
616
  }
616
617
  })
617
618
  })
@@ -634,9 +635,12 @@ export default {
634
635
  return
635
636
  }
636
637
 
638
+ // 排序请求每次数据不同,跳过 axios 请求去重和 loading,
639
+ // 避免短时间内第二次拖拽排序被错误合并到第一次请求
637
640
  await axios.post(
638
641
  this.apiPrefix ? `${this.apiPrefix}/neams/eamsbaserecord/fileSort` : '/neams/eamsbaserecord/fileSort',
639
- sortList
642
+ sortList,
643
+ { loading: false }
640
644
  )
641
645
  },
642
646
  // ai校验取消
@@ -783,7 +787,7 @@ export default {
783
787
  if (code === 200) {
784
788
  let aDom = document.createElement('a')
785
789
  aDom.href = data
786
- aDom.download = '批量附件.pdf'
790
+ aDom.download = `${$lc('批量附件')}.pdf`
787
791
  aDom.click()
788
792
 
789
793
  this.$nextTick(() => {
@@ -801,7 +805,7 @@ export default {
801
805
  let fileData = this.fileData || {}
802
806
  let dto = JSON.parse(fileData.data || '{}')
803
807
  dto[this.keys.type] = this.bathType
804
- this._batchFileData = {
808
+ this.batchFileData = {
805
809
  ...fileData,
806
810
  data: JSON.stringify(dto)
807
811
  }
@@ -150,7 +150,7 @@ export default {
150
150
  })
151
151
  for (const i of _this.checkedList) {
152
152
  if (!this.LOGIN_MODE) this.LOGIN_MODE = i
153
- else this.LOGIN_MODE += $lc(',') + i
153
+ else this.LOGIN_MODE += ',' + i
154
154
  }
155
155
  },
156
156
  getdata(list) {
@@ -159,7 +159,7 @@ export default {
159
159
  if (i.pmName === 'LOGIN_MODE') {
160
160
  _this.LOGIN_MODE = i.pmValue
161
161
  _this.LOGIN_MODE_ID = i.pmId
162
- _this.checkedList = i.pmValue.split($lc(','))
162
+ _this.checkedList = i.pmValue.split(',')
163
163
  } else if (i.pmName === 'MAIN_PAGE_TEXT') {
164
164
  _this.loginModel.MAIN_PAGE_TEXT = i.pmValue
165
165
  _this.MAIN_PAGE_TEXT_ID = i.pmId
@@ -202,7 +202,9 @@ export default {
202
202
  if (type) {
203
203
  if (this.imgSize < size) {
204
204
  await this.$confirm(
205
- `当前图片尺寸大于建议大小(${screen.width}*${screen.height}),将以填充的方式进行处理,是否继续?`,
205
+ `${$lc('当前图片尺寸大于建议大小(')}${screen.width}*${screen.height}${$lc(
206
+ '),将以填充的方式进行处理,是否继续?'
207
+ )}`,
206
208
  $lc("提示"),
207
209
  {
208
210
  type: 'warning'
@@ -211,7 +213,9 @@ export default {
211
213
  this.$refs.bgUpload.$refs.upload.submit()
212
214
  } else if (this.imgSize >= size) {
213
215
  await this.$confirm(
214
- `当前图片尺寸小于建议大小(${screen.width}*${screen.height}),可能会发生失真,是否继续?`,
216
+ `${$lc('当前图片尺寸小于建议大小(')}${screen.width}*${screen.height}${$lc(
217
+ '),可能会发生失真,是否继续?'
218
+ )}`,
215
219
  $lc("提示"),
216
220
  {
217
221
  type: 'warning'
@@ -222,7 +226,9 @@ export default {
222
226
  } else {
223
227
  if (this.logoSize < size) {
224
228
  await this.$confirm(
225
- `当前图片尺寸大于建议大小(108*30px),将以填充的方式进行处理,是否继续?`,
229
+ `${$lc('当前图片尺寸大于建议大小(')}108*30px${$lc(
230
+ '),将以填充的方式进行处理,是否继续?'
231
+ )}`,
226
232
  $lc("提示"),
227
233
  {
228
234
  type: 'warning'
@@ -230,9 +236,13 @@ export default {
230
236
  )
231
237
  this.$refs.logUpload.$refs.upload.submit()
232
238
  } else if (this.logoSize >= size) {
233
- await this.$confirm(`当前图片尺寸小于建议大小(108*30px),可能会发生失真,是否继续?`, $lc("提示"), {
234
- type: 'warning'
235
- })
239
+ await this.$confirm(
240
+ `${$lc('当前图片尺寸小于建议大小(')}108*30px${$lc('),可能会发生失真,是否继续?')}`,
241
+ $lc("提示"),
242
+ {
243
+ type: 'warning'
244
+ }
245
+ )
236
246
  this.$refs.logUpload.$refs.upload.submit()
237
247
  }
238
248
  }
@@ -318,7 +328,7 @@ export default {
318
328
  }
319
329
  for (const i of e) {
320
330
  if (!this.LOGIN_MODE) this.LOGIN_MODE = i
321
- else this.LOGIN_MODE += $lc(',') + i
331
+ else this.LOGIN_MODE += ',' + i
322
332
  }
323
333
  }
324
334
  }
@@ -404,9 +404,7 @@ export default {
404
404
  { loading: this.loadingSub }
405
405
  )
406
406
  .then(() => {
407
- this.$message.success(
408
- `${typeName}: ${this.form[type]} 验证码发送成功`
409
- )
407
+ this.$message.success(`${typeName}: ${this.form[type]} ${$lc('验证码发送成功')}`)
410
408
  })
411
409
  .catch(() => {
412
410
  clearTimeout(this.setTimeNum)
@@ -471,7 +469,7 @@ export default {
471
469
  })
472
470
  } else {
473
471
  // 当重新请求大于3次,抛出错误
474
- this.$message.warning(`登录失败,请重新登录!`)
472
+ this.$message.warning($lc('登录失败,请重新登录!'))
475
473
  this.getAzCount = 0
476
474
  reject()
477
475
  }
@@ -44,7 +44,7 @@
44
44
  <a
45
45
  class="login-form-download el-icon-bottom"
46
46
  href="https://down.360safe.com/se/360se13.1.5101.0.exe"
47
- download="启程浏览器.exe"
47
+ :download="`${$lc('启程浏览器')}.exe`"
48
48
  >{{ '下载' | $lc }}</a
49
49
  >
50
50
  <span>{{ '启程浏览器' | $lc }}</span>
@@ -31,12 +31,12 @@
31
31
  <el-form-item class="m-b" :label="'账号' | $lc">
32
32
  <el-input v-model="username" :placeholder="'请输入账号' | $lc" />
33
33
  </el-form-item>
34
- <el-form-item class="m-b" :label="$lc('uk验证')" prop="code">
34
+ <el-form-item class="m-b" :label="$lc('UK验证')" prop="code">
35
35
  <br />
36
36
  <div v-if="checkCert" class="filed-tips">{{ '该账号未开启UK校验!' | $lc }}</div>
37
37
  <div v-if="ukCode !== 1">
38
38
  <div :class="ukCode ? 'success-tips' : 'filed-tips'">
39
- {{ ukCode ? '验证成功!' : '验证失败!' }}
39
+ {{ $lc(ukCode ? '验证成功!' : '验证失败!') }}
40
40
  </div>
41
41
  <div v-show="!ukCode" class="filed-tips">{{ '自助找回密码失败,请联系管理员' | $lc }}</div>
42
42
  </div>
@@ -80,19 +80,19 @@ export default {
80
80
  const lengthToFirstPassword = (rule, value, callback) => {
81
81
  if (value) {
82
82
  if (this.dataForm.maxLength < value.length || this.dataForm.minLength > value.length) {
83
- callback(new Error(`密码长度为${this.dataForm.minLength}-${this.dataForm.maxLength}!`))
83
+ callback(new Error(`${$lc('密码长度为')}${this.dataForm.minLength}-${this.dataForm.maxLength}!`))
84
84
  } else if (
85
85
  Number(this.dataForm.passwordStrength) === 2 &&
86
86
  !/^(((?=.*[0-9])(?=.*[a-zA-Z])|(?=.*[0-9])(?=.*[^\s0-9a-zA-Z])|(?=.*[a-zA-Z])(?=.*[^\s0-9a-zA-Z]))[^\s]+)$/.test(
87
87
  value
88
88
  )
89
89
  ) {
90
- callback(new Error(`密码至少包括数字,字母,特殊符号其中两种`))
90
+ callback(new Error($lc('密码至少包括数字,字母,特殊符号其中两种')))
91
91
  } else if (
92
92
  Number(this.dataForm.passwordStrength) === 3 &&
93
93
  !/^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{0,}$/.test(value)
94
94
  ) {
95
- callback(new Error(`密码同时包括包括数字,字母,特殊符号三种`))
95
+ callback(new Error($lc('密码同时包括包括数字,字母,特殊符号三种')))
96
96
  } else {
97
97
  callback()
98
98
  }
@@ -216,12 +216,12 @@ export default {
216
216
  noMsg: true
217
217
  })
218
218
  .then(() => {
219
- this.$message.success(`${typeName}: ${this.updateForm[type]} 验证码发送成功`)
219
+ this.$message.success(`${typeName}: ${this.updateForm[type]} ${$lc('验证码发送成功')}`)
220
220
  })
221
221
  .catch(() => {
222
222
  clearTimeout(this.setTimeNum)
223
223
  this.codeNum = $lc("验证码")
224
- this.$message.warning(`${typeName}: ${this.updateForm[type]} 验证码发送失败`)
224
+ this.$message.warning(`${typeName}: ${this.updateForm[type]} ${$lc('验证码发送失败')}`)
225
225
  })
226
226
  }
227
227
  })
@@ -269,7 +269,7 @@ export default {
269
269
  data.sign = this.sign
270
270
  data.certDn = this.certDn
271
271
  axios.post(`/bems/prod_1.0/uas/api/authorization/password/reset`, data, { loading: false }).then((res) => {
272
- this.$message.success(`密码更新成功!`)
272
+ this.$message.success($lc('密码更新成功!'))
273
273
  this.type = 'phone'
274
274
  })
275
275
  })
@@ -11,14 +11,14 @@
11
11
  <div class="el-date-picker__header el-date-picker__header--bordered">
12
12
  <button
13
13
  type="button"
14
- aria-label="前一年"
14
+ :aria-label="$lc('前一年')"
15
15
  class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left"
16
16
  @click="prev"
17
17
  ></button>
18
- <span role="button" class="el-date-picker__header-label" @click="handleYear">{{ year }}{{ '年' | $lc }}</span>
18
+ <span role="button" class="el-date-picker__header-label" @click="handleYear">{{ formatYear(year) }}</span>
19
19
  <button
20
20
  type="button"
21
- aria-label="后一年"
21
+ :aria-label="$lc('后一年')"
22
22
  class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right"
23
23
  @click="next"
24
24
  ></button>
@@ -30,14 +30,14 @@
30
30
  class="half-year-picker__btn"
31
31
  :class="halfYear === 1 ? 'isactive' : ''"
32
32
  @click="selectHalfYear(0)"
33
- >{{ year }}{{ '年 上半年' | $lc }}</el-button
33
+ >{{ formatHalfYear(year, true) }}</el-button
34
34
  >
35
35
  <el-button
36
36
  type="text"
37
37
  class="half-year-picker__btn"
38
38
  :class="halfYear === 2 ? 'isactive' : ''"
39
39
  @click="selectHalfYear(1)"
40
- >{{ year }}{{ '年 下半年' | $lc }}</el-button
40
+ >{{ formatHalfYear(year, false) }}</el-button
41
41
  >
42
42
  </div>
43
43
  <div v-else class="n20-quarter-date-picker__year__grid">
@@ -49,7 +49,7 @@
49
49
  :class="year === item ? 'color-primary' : ''"
50
50
  class="n20-quarter-date-picker__btn"
51
51
  @click="selectYear(item)"
52
- >{{ item }}{{ '年' | $lc }}</el-button
52
+ >{{ formatYear(item) }}</el-button
53
53
  >
54
54
  </div>
55
55
  </div>
@@ -104,7 +104,7 @@ export default {
104
104
  const [, year, startMonth] = startDateMatch
105
105
  this.year = year
106
106
  this.halfYear = startMonth === '01' ? 1 : 2
107
- this.showValue = `${year} 年 ${startMonth === '01' ? $lc("上半年") : $lc("下半年")}`
107
+ this.showValue = this.formatHalfYear(year, startMonth === '01')
108
108
  } else {
109
109
  this.showValue = ''
110
110
  }
@@ -113,6 +113,12 @@ export default {
113
113
  }
114
114
  },
115
115
  methods: {
116
+ formatYear(year) {
117
+ return $lc('YEAR年').replace('YEAR', year)
118
+ },
119
+ formatHalfYear(year, firstHalf) {
120
+ return $lc(firstHalf ? 'YEAR年上半年' : 'YEAR年下半年').replace('YEAR', year)
121
+ },
116
122
  selectYear(i) {
117
123
  this.year = i
118
124
  this.isHalfYear = true
@@ -133,7 +139,7 @@ export default {
133
139
  this.halfYear = i + 1
134
140
  let arr = [`${this.year}-${i === 0 ? '01' : '07'}`, `${this.year}-${i === 0 ? '06' : '12'}`]
135
141
  this.showHalfYear = false
136
- this.showValue = `${this.year} 年 ${i === 0 ? $lc("上半年") : $lc("下半年")}`
142
+ this.showValue = this.formatHalfYear(this.year, i === 0)
137
143
  // 6月最后一天是30 12月最后一天是31
138
144
  this.$emit('input', { startDate: arr[0] + '-01', endDate: i === 0 ? arr[1] + '-30' : arr[1] + '-31' })
139
145
  this.$emit('change', { startDate: arr[0] + '-01', endDate: i === 0 ? arr[1] + '-30' : arr[1] + '-31' })
@@ -19,7 +19,7 @@
19
19
  v-if="type === $lc('周') && selectList.includes(type)"
20
20
  key="week"
21
21
  v-model="week"
22
- format="yyyy 第 WW 周"
22
+ :format="$lc('yyyy 第 WW 周')"
23
23
  type="week"
24
24
  v-bind="$attrs"
25
25
  :picker-options="attrs"
@@ -12,14 +12,14 @@
12
12
  <div class="el-date-picker__header el-date-picker__header--bordered">
13
13
  <button
14
14
  type="button"
15
- aria-label="前一年"
15
+ :aria-label="$lc('前一年')"
16
16
  class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left"
17
17
  @click="prev"
18
18
  ></button>
19
- <span role="button" class="el-date-picker__header-label" @click="handleYear">{{ year }}{{ '年' | $lc }}</span>
19
+ <span role="button" class="el-date-picker__header-label" @click="handleYear">{{ formatYear(year) }}</span>
20
20
  <button
21
21
  type="button"
22
- aria-label="后一年"
22
+ :aria-label="$lc('后一年')"
23
23
  class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right"
24
24
  @click="next"
25
25
  ></button>
@@ -34,7 +34,7 @@
34
34
  class="n20-quarter-date-picker__btn"
35
35
  :class="this.season == 1 ? 'isactive' : ''"
36
36
  @click="selectSeason(0)"
37
- >{{ year }}{{ '年' | $lc }} {{ '第一季度' | $lc }}</el-button
37
+ >{{ formatQuarter(year, 1) }}</el-button
38
38
  >
39
39
  <el-button
40
40
  type="text"
@@ -43,7 +43,7 @@
43
43
  class="n20-quarter-date-picker__btn"
44
44
  :class="this.season == 2 ? 'isactive' : ''"
45
45
  @click="selectSeason(1)"
46
- >{{ year }}{{ '年' | $lc }} {{ '第二季度' | $lc }}</el-button
46
+ >{{ formatQuarter(year, 2) }}</el-button
47
47
  >
48
48
  <el-button
49
49
  type="text"
@@ -52,7 +52,7 @@
52
52
  class="n20-quarter-date-picker__btn"
53
53
  :class="this.season == 3 ? 'isactive' : ''"
54
54
  @click="selectSeason(2)"
55
- >{{ year }}{{ '年' | $lc }} {{ '第三季度' | $lc }}</el-button
55
+ >{{ formatQuarter(year, 3) }}</el-button
56
56
  >
57
57
  <el-button
58
58
  :disabled="isDisabled(year, '4')"
@@ -61,7 +61,7 @@
61
61
  class="n20-quarter-date-picker__btn"
62
62
  :class="this.season == 4 ? 'isactive' : ''"
63
63
  @click="selectSeason(3)"
64
- >{{ year }}{{ '年' | $lc }} {{ '第四季度' | $lc }}</el-button
64
+ >{{ formatQuarter(year, 4) }}</el-button
65
65
  >
66
66
  </div>
67
67
  <div v-else class="n20-quarter-date-picker__year__grid">
@@ -73,7 +73,7 @@
73
73
  :class="year === item ? 'color-primary' : ''"
74
74
  class="n20-quarter-date-picker__btn"
75
75
  @click="selectYear(item)"
76
- >{{ item }}{{ '年' | $lc }}</el-button
76
+ >{{ formatYear(item) }}</el-button
77
77
  >
78
78
  </div>
79
79
  </div>
@@ -153,8 +153,9 @@ export default {
153
153
  showValue: {
154
154
  set(value) {
155
155
  if (value) {
156
- const regex = /(\d{4})(\d) 季度/
156
+ const regex = /(\d{4})\s*年\s*第?([1-4])季度/
157
157
  const match = value.match(regex)
158
+ if (!match) return
158
159
  const [, year, quarter] = match
159
160
  switch (quarter) {
160
161
  case '1':
@@ -178,9 +179,7 @@ export default {
178
179
  },
179
180
  get() {
180
181
  if (this.value.startDate && this.value.endDate) {
181
- return `${dayjs(this.value.startDate).year()} 年 第${this.getChinese(
182
- dayjs(this.value.endDate).quarter()
183
- )}季度`
182
+ return this.formatQuarter(dayjs(this.value.startDate).year(), dayjs(this.value.endDate).quarter())
184
183
  } else {
185
184
  return ''
186
185
  }
@@ -192,6 +191,12 @@ export default {
192
191
  // this.getDefaultTime()
193
192
  },
194
193
  methods: {
194
+ formatYear(year) {
195
+ return $lc('YEAR年').replace('YEAR', year)
196
+ },
197
+ formatQuarter(year, quarter) {
198
+ return $lc('YEAR年第QUARTER季度').replace('YEAR', year).replace('QUARTER', quarter)
199
+ },
195
200
  getChinese(val) {
196
201
  let value = ''
197
202
  switch (val) {
@@ -234,7 +239,6 @@ export default {
234
239
  that.season = i + 1
235
240
  let arr = that.valueArr[i].split(' - ')
236
241
  that.showSeason = false
237
- this.showValue = `${this.year} 年 ${this.season} 季度`
238
242
  that.$emit('input', { startDate: this.year + '-' + arr[0], endDate: this.year + '-' + arr[1] })
239
243
  that.$emit('change', { startDate: this.year + '-' + arr[0], endDate: this.year + '-' + arr[1] }) // 每次选择时间都将当前选择时间发送到父组件
240
244
  },
@@ -2,11 +2,11 @@
2
2
  <div class="el-table-set-size flex-box">
3
3
  <div class="el-table-set-size-item m-r-0" :class="sizeC === 'mini' && 'active'" @click="setSize('mini')">
4
4
  <img class="icon-mini" src="./mini.png" />
5
- <div class="text-mini">{{ _lang === 'zh' ? '小行距' : 'mini' }}</div>
5
+ <div class="text-mini">{{ $lc('小行距') }}</div>
6
6
  </div>
7
7
  <div class="el-table-set-size-item" :class="sizeC === 'small' && 'active'" @click="setSize('small')">
8
8
  <img class="icon-small" src="./small.png" />
9
- <div class="text-small">{{ _lang === 'zh' ? '中行距' : 'small' }}</div>
9
+ <div class="text-small">{{ $lc('中行距') }}</div>
10
10
  </div>
11
11
  </div>
12
12
  </template>
@@ -3,7 +3,7 @@
3
3
  <el-carousel-item v-for="tip in tips" :key="tip.id">
4
4
  <div v-if="tip.isShow === '1'" v-title:br="list" :class="`tip_color_${tip.style || 'default'}`">
5
5
  {{ tip.busNname }}{{ enumData[tip.busState] }}{{ tip.busCode.includes('CENTER') ? '(' + tip.currency + ')' : ''
6
- }}{{ tip.isError === '1' ? '(有异常)' : '' }}
6
+ }}{{ tip.isError === '1' ? $lc('(有异常)') : '' }}
7
7
  </div>
8
8
  </el-carousel-item>
9
9
  </el-carousel>