n20-common-lib 3.2.39 → 3.2.42

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 (71) hide show
  1. package/package.json +2 -2
  2. package/src/components/AIButton/index.vue +6 -5
  3. package/src/components/AdvancedFilter/index.vue +4 -3
  4. package/src/components/ApprovalButtons/index.vue +26 -22
  5. package/src/components/ApprovalButtons/indexApp.vue +19 -13
  6. package/src/components/ApprovalButtons/selectSpr.vue +1 -1
  7. package/src/components/ApprovalButtons/showAppOpi.vue +5 -5
  8. package/src/components/ApprovalButtons/showOtherAttr.vue +1 -1
  9. package/src/components/ApprovalButtons/showOtherAttrNew.vue +4 -4
  10. package/src/components/ApprovalCard/index.vue +7 -7
  11. package/src/components/ApprovalCard/indexApp.vue +2 -2
  12. package/src/components/ApprovalRecord/approvalImgPro/child.vue +3 -3
  13. package/src/components/ApprovalRecord/approvalImgPro/index.vue +3 -3
  14. package/src/components/AttachmentPass/index.vue +7 -7
  15. package/src/components/DateChoose/index.vue +33 -33
  16. package/src/components/DatePicker/index.vue +3 -1
  17. package/src/components/DateSelect/busiDate.vue +7 -4
  18. package/src/components/DateSelect/index.vue +8 -8
  19. package/src/components/DateSelect/quarterDatePicker.vue +11 -11
  20. package/src/components/DynamicField/DynamicField.vue +2 -2
  21. package/src/components/DynamicField/DynamicFieldOptions.vue +57 -57
  22. package/src/components/DynamicField/DynamicFormView.vue +13 -13
  23. package/src/components/DynamicField/DynamicTable.vue +4 -4
  24. package/src/components/DynamicField/contentPop.vue +6 -6
  25. package/src/components/DynamicField/tableList.vue +5 -5
  26. package/src/components/DynamicField/tableView.vue +20 -6
  27. package/src/components/ElectronicArchive/index.vue +20 -17
  28. package/src/components/FileExportAsync/index.vue +3 -3
  29. package/src/components/FileUploadTable/aiCheckDialog.vue +11 -11
  30. package/src/components/FileUploadTable/index.vue +98 -7
  31. package/src/components/HandlingAdvice/index.vue +3 -3
  32. package/src/components/Layout/HeaderWrap/changePwd.vue +2 -2
  33. package/src/components/Layout/HeaderWrap/index.vue +2 -2
  34. package/src/components/Layout/HeaderWrap/switchUser.vue +1 -1
  35. package/src/components/LoginSetting/setItem.vue +16 -16
  36. package/src/components/LoginTemporary/form.vue +2 -2
  37. package/src/components/LoginTemporary/indexN.vue +15 -15
  38. package/src/components/LoginTemporary/retrievePw.vue +4 -4
  39. package/src/components/MdmSelect/index.vue +3 -3
  40. package/src/components/Pivot/ConfigSidebar.vue +27 -25
  41. package/src/components/Pivot/MainToolbar.vue +9 -9
  42. package/src/components/Pivot/ReportSidebar.vue +4 -4
  43. package/src/components/Pivot/TableView.vue +8 -11
  44. package/src/components/Pivot/index.vue +26 -26
  45. package/src/components/ProFilterView/advancedQuery.vue +57 -63
  46. package/src/components/ProFilterView/index.vue +26 -26
  47. package/src/components/SelectDatePickerPro/busiDate.vue +5 -5
  48. package/src/components/SelectDatePickerPro/halfYearPicker.vue +2 -2
  49. package/src/components/SelectDatePickerPro/index.vue +24 -16
  50. package/src/components/SelectDatePickerPro/quarterDatePicker.vue +4 -4
  51. package/src/components/SelectTree/pro.vue +1 -1
  52. package/src/components/Statis/index.vue +1 -1
  53. package/src/components/Statis/statisItem.vue +1 -1
  54. package/src/components/Table/indexO.vue +1 -1
  55. package/src/components/TablePro/filterContent.vue +2 -2
  56. package/src/components/TablePro/filterContent_tree.vue +5 -5
  57. package/src/components/TablePro/index.js +1 -1
  58. package/src/components/TableTransfer/index.vue +1 -1
  59. package/src/components/Upload/index.vue +2 -2
  60. package/src/components/WornPagination/index.vue +1 -1
  61. package/src/components/operatingStatus/index.vue +7 -7
  62. package/src/components/v3/TablePro/filterContent.vue +2 -2
  63. package/src/components/v3/TablePro/filterContent_tree.vue +5 -5
  64. package/src/components/v3/TablePro/index.js +1 -1
  65. package/src/components/v3/UploadList/components/aiCheckDialog.vue +11 -11
  66. package/src/components/v3/UploadList/index.vue +10 -10
  67. package/src/i18n.json +8951 -715
  68. package/src/plugins/SetMenuTree/index.vue +1 -1
  69. package/src/plugins/SetMenuTree/setmenutree.vue +34 -34
  70. package/src/utils/amountInWords.js +6 -6
  71. package/src/utils/auth.js +1 -1
@@ -222,7 +222,7 @@
222
222
  <template v-slot="{ row }">
223
223
  <slot name="handle" :row="row">
224
224
  <el-button
225
- v-title="!officeStatus ? `缺少插件` : '预览'"
225
+ v-title="!officeStatus ? $lc(`缺少插件`) : $lc('预览')"
226
226
  type="text"
227
227
  :icon="!officeStatus ? 'n20-icon-yanjing' : 'el-icon-view'"
228
228
  :disabled="!row[keys.url]"
@@ -262,14 +262,16 @@
262
262
  :on-error="(err, file, fileList) => errorFn(err, file, fileList, this.row, $index)"
263
263
  >
264
264
  <template slot="trigger">
265
- <el-button size="small" type="primary">上传附件</el-button>
265
+ <el-button size="small" type="primary">{{ $lc('上传附件') }}</el-button>
266
266
  </template>
267
267
  </Upload>
268
- <el-button size="small" type="primary" class="m-l-s" @click="baseVisible = true">选择基础附件</el-button>
268
+ <el-button size="small" type="primary" class="m-l-s" @click="baseVisible = true">{{
269
+ $lc('选择基础附件')
270
+ }}</el-button>
269
271
  </div>
270
272
  </Dialog>
271
273
 
272
- <Dialog title="基础附件选择" width="85%" max-dialog :visible.sync="baseVisible">
274
+ <Dialog :title="$lc('基础附件选择')" width="85%" max-dialog :visible.sync="baseVisible">
273
275
  <el-table
274
276
  class="base-table_default"
275
277
  :row-style="rowStyle"
@@ -277,28 +279,28 @@
277
279
  :data="baseAttnoData"
278
280
  border
279
281
  >
280
- <el-table-column label="选择" align="center" width="65">
282
+ <el-table-column :label="$lc('选择')" align="center" width="65">
281
283
  <template scope="scope">
282
284
  <el-radio v-model="radio" :label="scope.$index" @change.native="getCurrentRow(scope.row)"
283
285
  >{{ '' }}
284
286
  </el-radio>
285
287
  </template>
286
288
  </el-table-column>
287
- <el-table-column prop="recordname" width="140px" show-overflow-tooltip label="文件名称" />
288
- <el-table-column prop="cltName" width="140px" show-overflow-tooltip label="所属单位" />
289
- <el-table-column prop="fileVersion" align="center" label="版本号" />
290
- <el-table-column prop="startValidTime" width="120px" label="起始有效时间" align="center" />
291
- <el-table-column prop="endValidTime" width="120px" label="截至有效时间" align="center" />
292
- <el-table-column prop="uploadTime" label="更新时间" width="160px" align="center">
289
+ <el-table-column prop="recordname" width="140px" show-overflow-tooltip :label="$lc('文件名称')" />
290
+ <el-table-column prop="cltName" width="140px" show-overflow-tooltip :label="$lc('所属单位')" />
291
+ <el-table-column prop="fileVersion" align="center" :label="$lc('版本号')" />
292
+ <el-table-column prop="startValidTime" width="120px" :label="$lc('起始有效时间')" align="center" />
293
+ <el-table-column prop="endValidTime" width="120px" :label="$lc('截至有效时间')" align="center" />
294
+ <el-table-column prop="uploadTime" :label="$lc('更新时间')" width="160px" align="center">
293
295
  <template v-slot="{ row }">
294
296
  {{ dayjs(row.uploadTime).format('YYYY-MM-DD HH:mm:ss') }}
295
297
  </template>
296
298
  </el-table-column>
297
- <el-table-column prop="isEnable" label="状态" align="center">
299
+ <el-table-column prop="isEnable" :label="$lc('状态')" align="center">
298
300
  <template v-slot="{ row }">
299
301
  <i v-if="row.isEnable === '0'" class="el-input__icon n20-icon-yichu color-danger"></i>
300
302
  <i v-if="row.isEnable === '1'" class="el-input__icon n20-icon-chenggong color-success"></i>
301
- <span>{{ row.isEnable === '1' ? '启用' : '禁用' }}</span>
303
+ <span>{{ row.isEnable === '1' ? $lc('启用') : $lc('禁用') }}</span>
302
304
  </template>
303
305
  </el-table-column>
304
306
  </el-table>
@@ -348,6 +350,7 @@
348
350
  import _axios from 'axios'
349
351
  import dayjs from 'dayjs'
350
352
  import 'viewerjs/dist/viewer.css'
353
+
351
354
  import auth from '../../utils/auth.js'
352
355
  import axios from '../../utils/axios.js'
353
356
  import downloadBlob from '../../utils/downloadBlob.js'
@@ -743,7 +746,7 @@ export default {
743
746
  // 自行下载
744
747
  let filesId = this.selectionList.map((item) => item.beid)
745
748
  if (filesId.length === 0) {
746
- return this.$message.warning('请勾选附件')
749
+ return this.$message.warning($lc('请勾选附件'))
747
750
  }
748
751
  let data = filesId.map((item) => {
749
752
  return {
@@ -762,7 +765,7 @@ export default {
762
765
  )
763
766
  .then((res) => {
764
767
  if (res) {
765
- downloadBlob(res, '附件压缩包.zip')
768
+ downloadBlob(res, $lc('附件压缩包.zip'))
766
769
  }
767
770
  })
768
771
  },
@@ -775,7 +778,7 @@ export default {
775
778
  async deleteRowsFn(rows, update) {
776
779
  if (rows.length === 0) {
777
780
  this.$message({
778
- message: '请勾选所需要删除的附件',
781
+ message: $lc('请勾选所需要删除的附件'),
779
782
  type: 'warning'
780
783
  })
781
784
  return
@@ -795,7 +798,7 @@ export default {
795
798
  if (res.code === 200) {
796
799
  if (!update) {
797
800
  this.tableData = this.tableData.filter((item) => filesId.indexOf(item.beid) === -1)
798
- this.$message.success('删除成功')
801
+ this.$message.success($lc('删除成功'))
799
802
  this.callBackFileData(this.tableData)
800
803
  }
801
804
  }
@@ -95,7 +95,7 @@ export default {
95
95
  if (error) {
96
96
  this.status = 'error'
97
97
  this.closeWaitPop()
98
- console.error('导出失败')
98
+ console.error($lc("导出失败"))
99
99
  return
100
100
  }
101
101
 
@@ -120,7 +120,7 @@ export default {
120
120
  if (error) {
121
121
  this.status = 'error'
122
122
  this.closeWaitPop()
123
- console.error('导出失败')
123
+ console.error($lc("导出失败"))
124
124
  return
125
125
  }
126
126
 
@@ -162,7 +162,7 @@ export default {
162
162
  this.waitPopV = true
163
163
  this.$msgboxPor({
164
164
  title: $lc('提示'),
165
- message: '您的数据导出时间可能会比较长,是否继续导出?',
165
+ message: $lc("您的数据导出时间可能会比较长,是否继续导出?"),
166
166
  type: 'warning',
167
167
  customClass: `question ${this.waitClass}`,
168
168
  confirmButtonText: $lc('继续导出'),
@@ -11,15 +11,15 @@
11
11
  <Table :data="tableData" :columns="checkColumns" height="400px" :show-setsize="true" :cell-default="true">
12
12
  <el-table-column slot="checkStatus" slot-scope="{ column }" v-bind="column">
13
13
  <template slot-scope="{ row }">
14
- <el-tag v-if="row.checkStatus === '0'" effect="dark" type="warning" size="mini">不通过</el-tag>
15
- <el-tag v-if="row.checkStatus === '1'" effect="dark" type="success" size="mini">通过</el-tag>
14
+ <el-tag v-if="row.checkStatus === '0'" effect="dark" type="warning" size="mini">{{ $lc('不通过') }}</el-tag>
15
+ <el-tag v-if="row.checkStatus === '1'" effect="dark" type="success" size="mini">{{ $lc('通过') }}</el-tag>
16
16
  </template>
17
17
  </el-table-column>
18
18
  <el-table-column slot="remark" slot-scope="{ column }" v-bind="column">
19
19
  <template slot-scope="{ row }">
20
20
  <el-input
21
21
  v-model="row.remark"
22
- placeholder="请输入"
22
+ :placeholder="$lc('请输入')"
23
23
  size="normal"
24
24
  clearable
25
25
  :disabled="readonly || row.status === '1'"
@@ -28,8 +28,8 @@
28
28
  </el-table-column>
29
29
  </Table>
30
30
  <div slot="footer" class="flex-box flex-c flex-v p-t-m" style="border-top: 1px solid var(--border-2, #e5e6eb)">
31
- <el-button plain @click="cancel">取消</el-button>
32
- <el-button v-if="!readonly" type="primary" @click="save">确定</el-button>
31
+ <el-button plain @click="cancel">{{ $lc('取消') }}</el-button>
32
+ <el-button v-if="!readonly" type="primary" @click="save">{{ $lc('确定') }}</el-button>
33
33
  </div>
34
34
  </Dialog>
35
35
  </template>
@@ -58,13 +58,13 @@ export default {
58
58
  checkColumns: [
59
59
  {
60
60
  type: 'index',
61
- label: '序号',
61
+ label: $lc("序号"),
62
62
  width: '56',
63
63
  align: 'center',
64
64
  static: 'pre'
65
65
  },
66
66
  {
67
- label: '提示词',
67
+ label: $lc("提示词"),
68
68
  prop: 'prompt',
69
69
  align: 'center',
70
70
  minWidth: '120',
@@ -72,7 +72,7 @@ export default {
72
72
  'show-overflow-tooltip': true
73
73
  },
74
74
  {
75
- label: 'AI识别结果',
75
+ label: $lc("AI识别结果"),
76
76
  prop: 'aiResult',
77
77
  align: 'center',
78
78
  minWidth: '120',
@@ -80,7 +80,7 @@ export default {
80
80
  'show-overflow-tooltip': true
81
81
  },
82
82
  {
83
- label: '校验结果',
83
+ label: $lc("校验结果"),
84
84
  prop: 'checkStatus',
85
85
  slotName: 'checkStatus',
86
86
  align: 'center',
@@ -89,7 +89,7 @@ export default {
89
89
  'show-overflow-tooltip': true
90
90
  },
91
91
  {
92
- label: '说明',
92
+ label: $lc("说明"),
93
93
  prop: 'remark',
94
94
  slotName: 'remark',
95
95
  align: 'center',
@@ -128,7 +128,7 @@ export default {
128
128
  list
129
129
  )
130
130
  if (code === 200) {
131
- this.$message.success('保存成功')
131
+ this.$message.success($lc("保存成功"))
132
132
  this.visibleP = false
133
133
  }
134
134
  },
@@ -205,7 +205,7 @@
205
205
  <el-button type="text" icon="el-icon-view" :disabled="!row[keys.url]" @click="seeFile(row)" />
206
206
  <el-button
207
207
  v-if="getOfficeStatus && openAI"
208
- v-title="'ai识别'"
208
+ v-title="$lc('ai识别')"
209
209
  type="text"
210
210
  icon="n20-icon-query"
211
211
  :disabled="!row[keys.url]"
@@ -268,7 +268,13 @@
268
268
  :close-on-click-modal="false"
269
269
  :destroy-on-open="true"
270
270
  >
271
- <el-select v-model="bathType" class="m-b-s w-100p" clearable @change="handleBathChange">
271
+ <el-select
272
+ v-if="!autoMatchBatchFileType"
273
+ v-model="bathType"
274
+ class="m-b-s w-100p"
275
+ clearable
276
+ @change="handleBathChange"
277
+ >
272
278
  <el-option
273
279
  v-for="item in typeOptions"
274
280
  :key="item.type"
@@ -278,7 +284,7 @@
278
284
  />
279
285
  </el-select>
280
286
  <Upload
281
- v-if="bathType"
287
+ v-if="autoMatchBatchFileType || bathType"
282
288
  ref="upload-batch"
283
289
  class="n20-upload-drag"
284
290
  :msg-type="null"
@@ -305,7 +311,7 @@
305
311
  </template>
306
312
  </Upload>
307
313
  <div class="dialog-footer">
308
- <el-button type="primary" @click="batchUploadFn">{{ '确认' | $lc }}</el-button>
314
+ <el-button type="primary" :loading="batchUploading" @click="batchUploadFn">{{ '确认' | $lc }}</el-button>
309
315
  <el-button plain @click="visibleBatch = false">{{ '取消' | $lc }}</el-button>
310
316
  </div>
311
317
  </Dialog>
@@ -434,6 +440,10 @@ export default {
434
440
  type: Boolean,
435
441
  default: false
436
442
  },
443
+ autoMatchBatchFileType: {
444
+ type: Boolean,
445
+ default: false
446
+ },
437
447
  showBatchPrint: {
438
448
  type: Boolean,
439
449
  default: false
@@ -498,6 +508,7 @@ export default {
498
508
  previewSameOrg: false,
499
509
  seeRow: {},
500
510
  officeStatus: false,
511
+ batchUploading: false,
501
512
  // 批量上传使用的文件数据(避免直接修改计算属性)
502
513
  _batchFileData: null
503
514
  }
@@ -618,7 +629,7 @@ export default {
618
629
  })
619
630
  } else {
620
631
  if (!this.AIOptions.bussType) {
621
- this.$message.error('请先配置bussType')
632
+ this.$message.error($lc("请先配置bussType"))
622
633
  return false
623
634
  }
624
635
  let { data, code } = await axios.post(
@@ -642,7 +653,7 @@ export default {
642
653
  // ai识别
643
654
  async AiFn(row) {
644
655
  if (!this.AIOptions.bussType) {
645
- this.$message.error('请先配置bussType')
656
+ this.$message.error($lc("请先配置bussType"))
646
657
  return false
647
658
  }
648
659
  const { data, code } = await axios.post(
@@ -752,11 +763,91 @@ export default {
752
763
  data: JSON.stringify(dto)
753
764
  }
754
765
  },
755
- batchUploadFn() {
766
+ async batchUploadFn() {
767
+ if (this.autoMatchBatchFileType) {
768
+ await this.autoMatchBatchUpload()
769
+ return
770
+ }
756
771
  let $uploadwrap = this.$refs['upload-batch']
757
772
  // 直接提交上传,关闭对话框的逻辑在 batchSuccess 回调中处理
758
773
  $uploadwrap.submit()
759
774
  },
775
+ async autoMatchBatchUpload() {
776
+ let $uploadwrap = this.$refs['upload-batch']
777
+ let uploadFiles = $uploadwrap?.$refs?.upload?.uploadFiles || []
778
+ let files = uploadFiles.filter((item) => item.status === 'ready' && item.raw)
779
+ if (!files.length) {
780
+ this.$message.warning($lc('请先选择上传文件'))
781
+ return
782
+ }
783
+
784
+ try {
785
+ for (let item of files) {
786
+ let result = await $uploadwrap.beforeUploadFn(item.raw)
787
+ if (result === false) {
788
+ return
789
+ }
790
+ }
791
+
792
+ let FD = new FormData()
793
+ files.forEach((item) => {
794
+ FD.append('file', item.raw)
795
+ })
796
+
797
+ let remoteFileUpload = JSON.parse(this.fileData?.data || '{}')
798
+ remoteFileUpload.bussValues = this.typeOptions.map((item) => item.type)
799
+ FD.append('remoteFileUpload', JSON.stringify(remoteFileUpload))
800
+
801
+ this.batchUploading = true
802
+ let { data } = await axios.post(
803
+ this.apiPrefix
804
+ ? `${this.apiPrefix}/neams/eamsbaserecord/batchSaveFile`
805
+ : '/neams/eamsbaserecord/batchSaveFile',
806
+ FD,
807
+ {
808
+ headers: Object.assign(auth.setHeaders(this.headers), { 'Content-Type': 'multipart/form-data' }),
809
+ loading: false,
810
+ noMsg: true,
811
+ timeout: 900000
812
+ }
813
+ )
814
+
815
+ let responseList = Array.isArray(data) ? data : []
816
+ let rows = responseList.map((item) => this.buildAutoMatchBatchRow(item))
817
+ this.tableData.splice(0, 0, ...rows)
818
+ let pendingFiles = [...files]
819
+ rows.forEach((row) => {
820
+ let fileIndex = pendingFiles.findIndex((item) => item.raw.name === row[this.keys.name])
821
+ let sourceFile = pendingFiles.splice(fileIndex > -1 ? fileIndex : 0, 1)[0]
822
+ this.$emit('on-success', sourceFile?.raw, row)
823
+ })
824
+
825
+ $uploadwrap.clearFiles()
826
+ $uploadwrap.fileList = []
827
+ this.visibleBatch = false
828
+ } catch (err) {
829
+ this.$message.error(err?.msg || $lc('上传失败'))
830
+ } finally {
831
+ this.batchUploading = false
832
+ }
833
+ },
834
+ buildAutoMatchBatchRow(item) {
835
+ let userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}')
836
+ let row = {
837
+ ...item,
838
+ _name: item.fileName,
839
+ _percent: 100,
840
+ _status: 'success',
841
+ _typeDisabled: false
842
+ }
843
+ row[this.keys.rowKey] = item.beid
844
+ row[this.keys.type] = item.attno
845
+ row[this.keys.name] = item.fileName
846
+ row[this.keys.url] = this.keys.url === this.keys.rowKey ? item.beid : item.filePath || item.beid
847
+ row[this.keys.time] = row[this.keys.time] || dayjs().format('YYYY-MM-DD HH:mm:ss')
848
+ row[this.keys.user] = row[this.keys.user] || userInfo.uname
849
+ return row
850
+ },
760
851
  batchSuccess(response, file, fileList) {
761
852
  // 创建完整的行对象,初始化状态字段
762
853
  let row = {
@@ -32,7 +32,7 @@
32
32
  />
33
33
  </el-form-item>
34
34
  </el-form>
35
- <ExpandablePane v-if="otherAttDataA.length > 0" title="自定义项" :default-expand="true">
35
+ <ExpandablePane v-if="otherAttDataA.length > 0" :title="$lc('自定义项')" :default-expand="true">
36
36
  <el-form ref="approveBtnGroup" label-position="top">
37
37
  <div
38
38
  class="p-b-s p-t-s"
@@ -148,7 +148,7 @@ export default {
148
148
  this.optionsRequired = data.optionsRequired
149
149
 
150
150
  // 设置占位提示
151
- this.placeholder = data.optionsRequired ? '请选择或输入意见(必填)' : '请选择或输入意见(选填)'
151
+ this.placeholder = data.optionsRequired ? $lc("请选择或输入意见(必填)") : $lc("请选择或输入意见(选填)")
152
152
  // 显示弹窗条件:需要输入意见 或 存在自定义项
153
153
  this.visible = data.whether === true || this.otherAttDataA.length > 0
154
154
  // 转换意见选项为下拉格式
@@ -215,7 +215,7 @@ export default {
215
215
  },
216
216
  submit() {
217
217
  if (this.whether && this.optionsRequired && !this.reason) {
218
- this.$message.warning('请选择或输入意见')
218
+ this.$message.warning($lc("请选择或输入意见"))
219
219
  return
220
220
  }
221
221
  const getOtherAttData = this.$refs['showOtherAttNew'] && this.$refs['showOtherAttNew']?.getOtherAttData()
@@ -127,8 +127,8 @@ export default {
127
127
  (this.ipInfo = {
128
128
  headers: {
129
129
  reqIp: '127.0.0.1',
130
- reqAddr: encodeURIComponent('内网'),
131
- reqCountry: encodeURIComponent('中国')
130
+ reqAddr: encodeURIComponent($lc("内网")),
131
+ reqCountry: encodeURIComponent($lc("中国"))
132
132
  }
133
133
  })
134
134
  )
@@ -131,8 +131,8 @@
131
131
  <dialogWrap :title="'语言切换' | $lc" :visible.sync="langV" append-to-body width="560px">
132
132
  <div style="min-height: 114px">
133
133
  <el-radio-group v-model="langVal" @change="setLang">
134
- <el-radio label="zh-cn" border>简体中文</el-radio>
135
- <el-radio label="zh-hk" border>繁體中文</el-radio>
134
+ <el-radio label="zh-cn" border>{{ $lc('简体中文') }}</el-radio>
135
+ <el-radio label="zh-hk" border>{{ $lc('繁體中文') }}</el-radio>
136
136
  <el-radio label="en" border>English</el-radio>
137
137
  </el-radio-group>
138
138
  </div>
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <div>
4
4
  <el-input v-model="searchValue" class="w-224 m-r" />
5
- <el-button type="primary" @click="search">查询</el-button>
5
+ <el-button type="primary" @click="search">{{ $lc('查询') }}</el-button>
6
6
  </div>
7
7
  <el-table :data="userListBanck" height="400px" style="width: 100%; margin-top: 8px">
8
8
  <el-table-column type="index" :label="'序号' | $lc" />
@@ -59,7 +59,7 @@
59
59
  form.LOGIN_BG_TYPE = 'dark'
60
60
  }
61
61
  "
62
- >恢复默认</el-button
62
+ >{{ $lc('恢复默认') }}</el-button
63
63
  >
64
64
  </div>
65
65
  <div class="color-placeholder f-s-s">
@@ -71,10 +71,10 @@
71
71
  prop="LOGIN_BG_TYPE"
72
72
  :rules="{ required: true, message: $lc('背景模式不能为空'), trigger: 'change' }"
73
73
  >
74
- <label class="m-r"><span class="m-r-ss" style="color: var(--color-danger)">*</span>背景模式</label>
74
+ <label class="m-r"><span class="m-r-ss" style="color: var(--color-danger)">*</span>{{ $lc('背景模式') }}</label>
75
75
  <el-radio-group v-model="form.LOGIN_BG_TYPE">
76
- <el-radio label="dark">深色背景</el-radio>
77
- <el-radio label="light">浅色背景</el-radio>
76
+ <el-radio label="dark">{{ $lc('深色背景') }}</el-radio>
77
+ <el-radio label="light">{{ $lc('浅色背景') }}</el-radio>
78
78
  </el-radio-group>
79
79
  </el-form-item>
80
80
  </div>
@@ -115,7 +115,7 @@
115
115
  <el-form-item :label="'系统启用设置' | $lc" required class="m-b-0" />
116
116
  <div class="bd-l bd-t bd-r m-b">
117
117
  <el-table :data="form.SYSTEM_LIST">
118
- <el-table-column label="序号" align="center" width="100">
118
+ <el-table-column :label="$lc('序号')" align="center" width="100">
119
119
  <span slot-scope="scope">{{ '0' + (scope.$index + 1) }}</span>
120
120
  </el-table-column>
121
121
  <el-table-column :label="'系统名称' | $lc" prop="NAME">
@@ -152,7 +152,7 @@
152
152
  {{ '0' + (i + 1) }} {{ systemItem.NAME }}
153
153
  </div>
154
154
  <div style="padding-left: 48px">
155
- <el-form-item :label="'系统标识图片设置' | $lc" class="is-required">
155
+ <el-form-item :label="$lc('系统标识图片设置') | $lc" class="is-required">
156
156
  <div class="login-form-bg-box">
157
157
  <img :key="keyS[i]" class="login-preview" :src="systemItem | realUrl" onerror="imgLoad(this)" />
158
158
  <div>
@@ -238,56 +238,56 @@ export default {
238
238
  SYSTEM_LIST: [
239
239
  {
240
240
  NO: 'CSZHYW',
241
- NAME: '财司综合业务系统',
241
+ NAME: $lc("财司综合业务系统"),
242
242
  ICON: '',
243
243
  LOGIN_MODE: [],
244
244
  OPEN: true
245
245
  },
246
246
  {
247
247
  NO: 'CSYWGL',
248
- NAME: '财司业务管理系统',
248
+ NAME: $lc("财司业务管理系统"),
249
249
  ICON: '',
250
250
  LOGIN_MODE: [],
251
251
  OPEN: false
252
252
  },
253
253
  {
254
254
  NO: 'CSFZJC',
255
- NAME: '财司辅助决策系统',
255
+ NAME: $lc("财司辅助决策系统"),
256
256
  ICON: '',
257
257
  LOGIN_MODE: [],
258
258
  OPEN: false
259
259
  },
260
260
  {
261
261
  NO: 'CSWY',
262
- NAME: '财司网银系统',
262
+ NAME: $lc("财司网银系统"),
263
263
  ICON: '',
264
264
  LOGIN_MODE: [],
265
265
  OPEN: false
266
266
  },
267
267
  {
268
268
  NO: 'JTZL',
269
- NAME: '财司直连平台系统',
269
+ NAME: $lc("财司直连平台系统"),
270
270
  ICON: '',
271
271
  LOGIN_MODE: [],
272
272
  OPEN: false
273
273
  },
274
274
  {
275
275
  NO: 'JRWG',
276
- NAME: '金融网关系统',
276
+ NAME: $lc("金融网关系统"),
277
277
  ICON: '',
278
278
  LOGIN_MODE: [],
279
279
  OPEN: false
280
280
  },
281
281
  {
282
282
  NO: 'JTSKYWGK',
283
- NAME: '集团司库业务管控系统',
283
+ NAME: $lc("集团司库业务管控系统"),
284
284
  ICON: '',
285
285
  LOGIN_MODE: [],
286
286
  OPEN: false
287
287
  },
288
288
  {
289
289
  NO: 'JTSKSJFX',
290
- NAME: '集团数据分析系统',
290
+ NAME: $lc("集团数据分析系统"),
291
291
  ICON: '',
292
292
  LOGIN_MODE: [],
293
293
  OPEN: false
@@ -331,7 +331,7 @@ export default {
331
331
  try {
332
332
  this.form[k] = k === 'LOGIN_URL' ? obj.pmValue : JSON.parse(obj.pmValue)
333
333
  } catch (error) {
334
- console.error(k + '解析错误')
334
+ console.error(k + $lc("解析错误"))
335
335
  }
336
336
  }
337
337
  } else {
@@ -342,7 +342,7 @@ export default {
342
342
  try {
343
343
  this.$set(this.form.SYSTEM_LIST, i, JSON.parse(obj.pmValue))
344
344
  } catch (error) {
345
- console.error('SYSTEM_LIST[' + item.NO + ']解析错误')
345
+ console.error('SYSTEM_LIST[' + item.NO + $lc("]解析错误"))
346
346
  }
347
347
  }
348
348
  })
@@ -462,7 +462,7 @@ export default {
462
462
  this.getAzCount = 0
463
463
  resolve()
464
464
  } catch (error) {
465
- console.error('密码加密错误:' + JSON.stringify(data))
465
+ console.error($lc("密码加密错误:") + JSON.stringify(data))
466
466
  this.authorizationCode(username, password, code) // 再次请求
467
467
  .then(resolve)
468
468
  .catch(reject)
@@ -662,7 +662,7 @@ export default {
662
662
  this.userNo = userInfo.userNo
663
663
  sessionStorage.setItem('User_Info', tokenObj.user_name)
664
664
  } catch (error) {
665
- console.error('accessToken解析错误:' + data.accessToken)
665
+ console.error($lc("accessToken解析错误:") + data.accessToken)
666
666
  }
667
667
  this.loadingSub()
668
668