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
@@ -13,6 +13,8 @@
13
13
  </template>
14
14
 
15
15
  <script>
16
+ import { $lc } from '../../../src/utils/i18n/index.js'
17
+
16
18
  const version = require('element-ui/package.json').version // element-ui version from node_modules
17
19
  const ORIGINAL_THEME = '#409EFF' // default color
18
20
 
@@ -46,7 +48,7 @@ export default {
46
48
  console.log('主题设置', themeCluster, originalCluster)
47
49
 
48
50
  const $message = this.$message({
49
- message: ' 主题编译中...',
51
+ message: $lc('主题编译中...'),
50
52
  customClass: 'theme-message',
51
53
  type: 'success',
52
54
  duration: 0,
@@ -2,21 +2,21 @@
2
2
  <div>
3
3
  <div class="wraper">
4
4
  <div class="total">
5
- <div style="font-weight: 600">待审核</div>
5
+ <div style="font-weight: 600">{{ $lc('待审核') }}</div>
6
6
  <div style="font-size: 24px; font-weight: 600">
7
7
  {{ taskList.totalSize || 0 }}
8
8
  </div>
9
- <div>今日新增 {{ taskSun || 0 }}</div>
9
+ <div>{{ $lc('今日新增') }} {{ taskSun || 0 }}</div>
10
10
  </div>
11
11
  <div style="margin-top: 5px">
12
12
  <!-- :data="taskList.list" -->
13
13
  <el-table :data="taskList.list" tooltip-effect>
14
- <el-table-column prop="date" label="状态">
15
- <template> 待审核 </template>
14
+ <el-table-column prop="date" :label="$lc('状态')">
15
+ <template>{{ $lc('待审核') }}</template>
16
16
  </el-table-column>
17
- <el-table-column prop="typeName" label="交易类型" />
18
- <el-table-column prop="applyMember" label="单位名称" />
19
- <el-table-column prop="importantInfo" label="关键信息">
17
+ <el-table-column prop="typeName" :label="$lc('交易类型')" />
18
+ <el-table-column prop="applyMember" :label="$lc('单位名称')" />
19
+ <el-table-column prop="importantInfo" :label="$lc('关键信息')">
20
20
  <template slot-scope="scope">
21
21
  <el-popover trigger="hover" placement="top">
22
22
  <div style="width: 300px">{{ scope.row.importantInfo }}</div>
@@ -30,9 +30,9 @@
30
30
  </el-popover>
31
31
  </template>
32
32
  </el-table-column>
33
- <el-table-column prop="address" label="操作">
33
+ <el-table-column prop="address" :label="$lc('操作')">
34
34
  <template>
35
- <el-button size="mini" type="primary">审批</el-button>
35
+ <el-button size="mini" type="primary">{{ $lc('审批') }}</el-button>
36
36
  </template>
37
37
  </el-table-column>
38
38
  </el-table>
@@ -40,39 +40,41 @@
40
40
  </div>
41
41
  <div class="wraper" style="margin-top: 20px">
42
42
  <div class="total">
43
- <div style="font-weight: 600">待处理</div>
43
+ <div style="font-weight: 600">{{ $lc('待处理') }}</div>
44
44
  <div style="font-size: 24px; font-weight: 600">
45
45
  {{ pendingList.totalSize || 0 }}
46
46
  </div>
47
- <div>今日新增 {{ pendingSun || 0 }}</div>
47
+ <div>{{ $lc('今日新增') }} {{ pendingSun || 0 }}</div>
48
48
  </div>
49
49
  <div style="margin-top: 5px">
50
50
  <el-table :data="pendingList.list">
51
- <el-table-column prop="date" label="状态">
51
+ <el-table-column prop="date" :label="$lc('状态')">
52
52
  <template slot-scope="scope">
53
53
  <!-- 1.已保存 2.已撤回 3.驳回至发起人 4.驳回至上一步 5.拒绝 6.进行中 7.已结束 8.已作废 -->
54
54
  {{
55
- scope.row.state == 1
56
- ? '已保存'
57
- : scope.row.state == 2
58
- ? '已撤回'
59
- : scope.row.state == 3
60
- ? '驳回至发起人'
61
- : scope.row.state == 4
62
- ? '驳回至上一步'
63
- : scope.row.state == 5
64
- ? '拒绝'
65
- : scope.row.state == 6
66
- ? '进行中'
67
- : scope.row.state == 7
68
- ? '已结束'
69
- : '已作废'
55
+ $lc(
56
+ scope.row.state == 1
57
+ ? '已保存'
58
+ : scope.row.state == 2
59
+ ? '已撤回'
60
+ : scope.row.state == 3
61
+ ? '驳回至发起人'
62
+ : scope.row.state == 4
63
+ ? '驳回至上一步'
64
+ : scope.row.state == 5
65
+ ? '拒绝'
66
+ : scope.row.state == 6
67
+ ? '进行中'
68
+ : scope.row.state == 7
69
+ ? '已结束'
70
+ : '已作废'
71
+ )
70
72
  }}
71
73
  </template>
72
74
  </el-table-column>
73
- <el-table-column prop="typeName" label="交易类型" />
74
- <el-table-column prop="applyMember" label="单位名称" />
75
- <el-table-column prop="importantInfo" label="关键信息">
75
+ <el-table-column prop="typeName" :label="$lc('交易类型')" />
76
+ <el-table-column prop="applyMember" :label="$lc('单位名称')" />
77
+ <el-table-column prop="importantInfo" :label="$lc('关键信息')">
76
78
  <template slot-scope="scope">
77
79
  <el-popover trigger="hover" placement="top">
78
80
  <div style="width: 300px">{{ scope.row.importantInfo }}</div>
@@ -86,9 +88,9 @@
86
88
  </el-popover>
87
89
  </template>
88
90
  </el-table-column>
89
- <el-table-column label="操作">
91
+ <el-table-column :label="$lc('操作')">
90
92
  <template>
91
- <el-button size="mini" type="primary">去处理</el-button>
93
+ <el-button size="mini" type="primary">{{ $lc('去处理') }}</el-button>
92
94
  </template>
93
95
  </el-table-column>
94
96
  </el-table>
@@ -98,6 +100,7 @@
98
100
  </template>
99
101
  <script>
100
102
  import axios from '../../utils/axios'
103
+ import { $lc } from '../../../src/utils/i18n/index.js'
101
104
  export default {
102
105
  name: 'NstcWorkBench',
103
106
  data() {
@@ -112,6 +115,7 @@ export default {
112
115
  this.intData()
113
116
  },
114
117
  methods: {
118
+ $lc,
115
119
  async intData() {
116
120
  try {
117
121
  //待审核
@@ -15,7 +15,7 @@
15
15
  >
16
16
  <div class="filter-custom-box-main">
17
17
  <div class="filter-custom-box-main-header">
18
- <div class="filter-text">筛选</div>
18
+ <div class="filter-text">{{ $lc('筛选') }}</div>
19
19
  <div class="filter-close-img" @click="closePopover">
20
20
  <img :src="filterCloseImg" alt="" />
21
21
  </div>
@@ -32,14 +32,14 @@
32
32
  />
33
33
  </div>
34
34
  <div class="filter-custom-box-main-more">
35
- <span @click="moreCondition">更多条件</span>
35
+ <span @click="moreCondition">{{ $lc('更多条件') }}</span>
36
36
  </div>
37
37
  <div class="filter-custom-box-main-footer">
38
38
  <el-button type="primary" class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-b" @click="confirmAction"
39
- >确定</el-button
39
+ >{{ $lc('确定') }}</el-button
40
40
  >
41
- <el-tooltip class="item" effect="dark" content="重置本次操作" placement="top-start">
42
- <el-button class="nstc-g6-common-btn-3 nstc-g6-common-btn-size-b" @click="resetAction">重置</el-button>
41
+ <el-tooltip class="item" effect="dark" :content="$lc('重置本次操作')" placement="top-start">
42
+ <el-button class="nstc-g6-common-btn-3 nstc-g6-common-btn-size-b" @click="resetAction">{{ $lc('重置') }}</el-button>
43
43
  </el-tooltip>
44
44
  </div>
45
45
  </div>
@@ -72,6 +72,7 @@ import NstcTableSet from '../NstcTableSet/NstcTableSet'
72
72
  import NstcForm from '../NstcForm/Component'
73
73
  import SvgIcon from '../NstcSvgIcon/NstcSvgIcon'
74
74
  import axios from '../../utils/axios'
75
+ import { $lc } from '../../../src/utils/i18n/index.js'
75
76
 
76
77
  export default {
77
78
  name: 'NstcSearch',
@@ -126,7 +127,7 @@ export default {
126
127
  formModel: {},
127
128
  reset: false,
128
129
  defaultSet: [],
129
- setTitle: '筛选条件',
130
+ setTitle: $lc('筛选条件'),
130
131
  popoverShowFlag: false,
131
132
  queryTypeObj: {
132
133
  all: 1, // 全部
@@ -273,6 +274,7 @@ export default {
273
274
  console.log(444)
274
275
  },
275
276
  methods: {
277
+ $lc,
276
278
  /**
277
279
  * 组件联动,避免多次触发nstcform.watch.config
278
280
  */
@@ -12,6 +12,7 @@
12
12
  <script>
13
13
  import AppProgress from './progress.vue'
14
14
  import axios from '../../utils/axios'
15
+ import { $lc } from '../../../src/utils/i18n/index.js'
15
16
  export default {
16
17
  name: 'NstcApprovelTwo',
17
18
  components: {
@@ -103,7 +104,7 @@ export default {
103
104
  if (this.message === '') {
104
105
  this.$message({
105
106
  type: 'warnning',
106
- message: '请输入审批意见'
107
+ message: $lc('请输入审批意见')
107
108
  })
108
109
  return
109
110
  }
@@ -115,7 +116,7 @@ export default {
115
116
  if (res.failCount === 0) {
116
117
  this.$message({
117
118
  type: 'success',
118
- message: '操作成功'
119
+ message: $lc('操作成功')
119
120
  })
120
121
  // window.closeTagsForBackPage
121
122
  // ? window.closeTagsForBackPage(this.$route.fullPath)
@@ -127,7 +128,7 @@ export default {
127
128
  if (this.message === '') {
128
129
  this.$message({
129
130
  type: 'warnning',
130
- message: '请输入审批意见'
131
+ message: $lc('请输入审批意见')
131
132
  })
132
133
  return
133
134
  }
@@ -139,7 +140,7 @@ export default {
139
140
  if (res.failCount === 0) {
140
141
  this.$message({
141
142
  type: 'success',
142
- message: '操作成功'
143
+ message: $lc('操作成功')
143
144
  })
144
145
  // window.closeTagsForBackPage
145
146
  // ? window.closeTagsForBackPage(this.$route.fullPath)
@@ -156,7 +157,7 @@ export default {
156
157
  if (res.failCount === 0) {
157
158
  this.$message({
158
159
  type: 'success',
159
- message: '操作成功'
160
+ message: $lc('操作成功')
160
161
  })
161
162
  // window.closeTagsForBackPage
162
163
  // ? window.closeTagsForBackPage(this.$route.fullPath)
@@ -51,7 +51,7 @@
51
51
  v-if="item.suggestion"
52
52
  style="margin-left: 10px; color: #434f5c"
53
53
  :class="item.suggestion && item.suggestion.length > 40 ? 'hidden' : ''"
54
- >审批意见:{{ item.suggestion }}</span
54
+ >{{ $lc('审批意见:') }}{{ item.suggestion }}</span
55
55
  >
56
56
  </el-tooltip>
57
57
  </div>
@@ -63,7 +63,7 @@
63
63
  </div>
64
64
  </div>
65
65
  </div>
66
- <el-dialog title="查看流程" :visible.sync="dialogVisible" width="1200px">
66
+ <el-dialog :title="$lc('查看流程')" :visible.sync="dialogVisible" width="1200px">
67
67
  <div v-html="svgHtml"></div>
68
68
  </el-dialog>
69
69
  </div>
package/nstc-g6/index.js CHANGED
@@ -48,6 +48,7 @@ import NstcSelectCashFlow from './components/NstcForm/SelectCashFlow/NstcSelectC
48
48
  import NstcSelectAccount from './components/NstcForm/SelectAccount/NstcSelectAccount.vue'
49
49
  import TableRadioCustom from './components/NstcForm/TableRadioCustom/index.vue'
50
50
  import NstcSearch from './components/Search/NstcSearch.vue'
51
+ import i18n from '../src/utils/i18n'
51
52
  // import NstcDialogForm from './components/NstcDialogForm/NstcDialogForm'
52
53
 
53
54
  /* 加载所有svg图标 */
@@ -113,13 +114,14 @@ const components = [
113
114
  // NstcDialogForm
114
115
  ]
115
116
 
116
- const install = function (Vue) {
117
+ const install = function (Vue, opts = { i18nConfig: {} }) {
117
118
  components.forEach((component) => {
118
119
  let name = component.name
119
120
  Vue.component(name, component)
120
121
  })
121
122
  Vue.use(VCopy)
122
123
  Vue.use(VNstcNumber)
124
+ Vue.use(i18n, opts.i18nConfig || {})
123
125
  Vue.prototype.$bus = {
124
126
  $on(...event) {
125
127
  VueBus.$on(...event)
@@ -1,3 +1,5 @@
1
+ import { $lc } from '../../src/utils/i18n/index.js'
2
+
1
3
  const quarter = {
2
4
  1: ['01-01', '03-31'],
3
5
  2: ['04-01', '06-30'],
@@ -9,29 +11,29 @@ export const VALIDATE_ERROR = 'VALIDATE_ERROR'
9
11
 
10
12
  const NOT_EMPTY = {
11
13
  type: VALIDATE_ERROR,
12
- msg: '选择时间不能为空 '
14
+ msg: $lc('选择时间不能为空')
13
15
  }
14
16
  const MAX_DATE_MSG = (limit) => ({
15
17
  type: VALIDATE_ERROR,
16
- msg: `最长可查询${limit}个月的数据`
18
+ msg: $lc('最长可查询N个月的数据').replace('N', limit)
17
19
  })
18
20
 
19
21
  const MAX_WEEK_MSG = (limit) => ({
20
22
  type: VALIDATE_ERROR,
21
- msg: `最长可查询${limit}周的数据`
23
+ msg: $lc('最长可查询N周的数据').replace('N', limit)
22
24
  })
23
25
 
24
26
  const MAX_MONTH_MSG = (limit) => ({
25
27
  type: VALIDATE_ERROR,
26
- msg: `最长可查询${limit}个月数据`
28
+ msg: $lc('最长可查询N个月的数据').replace('N', limit)
27
29
  })
28
30
  const MAX_QUARTER_MSG = (limit) => ({
29
31
  type: VALIDATE_ERROR,
30
- msg: `最长可查询${limit}个季度的数据`
32
+ msg: $lc('最长可查询N个季度的数据').replace('N', limit)
31
33
  })
32
34
  const MAX_YEAR_MSG = (limit) => ({
33
35
  type: VALIDATE_ERROR,
34
- msg: `最长可查询${limit}年的数据`
36
+ msg: $lc('最长可查询N年的数据').replace('N', limit)
35
37
  })
36
38
 
37
39
  export default {
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable */
2
2
  import { saveAs } from 'file-saver'
3
3
  import JSZip from 'jszip'
4
+ import { $lc } from '../../../src/utils/i18n/index.js'
4
5
 
5
6
  export function export_txt_to_zip(th, jsonData, txtName, zipName) {
6
7
  const zip = new JSZip()
@@ -23,7 +24,7 @@ export function export_txt_to_zip(th, jsonData, txtName, zipName) {
23
24
  saveAs(blob, `${zip_name}.zip`)
24
25
  },
25
26
  (err) => {
26
- alert('导出失败')
27
+ alert($lc('导出失败'))
27
28
  }
28
29
  )
29
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "2.22.61",
3
+ "version": "2.22.63",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -94,7 +94,7 @@ export default {
94
94
  if (code === 200) {
95
95
  this.$emit('aiFn', { AiResult: data, beid: beid, fileName: this.fileName, uploadTime: uploadTime })
96
96
  this.visible = false
97
- this.$message.success($lc(' 识别成功'))
97
+ this.$message.success($lc('识别成功'))
98
98
  }
99
99
  }
100
100
  }
@@ -1080,7 +1080,7 @@ export default {
1080
1080
  async goApproval(row) {
1081
1081
  const { appUrl = {} } = await getJsonc('activiti/server-config.jsonc', null, true)
1082
1082
  if (appUrl[row.appNo]) {
1083
- let path = toExaminePath(row, appUrl) || appUrl[row.appNo] + $lc('/') + row.typeCode
1083
+ let path = toExaminePath(row, appUrl) || appUrl[row.appNo] + '/' + row.typeCode
1084
1084
  linkPush(path, {
1085
1085
  orderId: row.businessId,
1086
1086
  taskId: row.taskId,
@@ -1004,7 +1004,7 @@ export default {
1004
1004
  async goApproval(row) {
1005
1005
  const { appUrl = {} } = await getJsonc('activiti/server-config.jsonc', null, true)
1006
1006
  if (appUrl[row.appNo]) {
1007
- let path = toExaminePath(row, appUrl) || appUrl[row.appNo] + $lc('/') + row.typeCode
1007
+ let path = toExaminePath(row, appUrl) || appUrl[row.appNo] + '/' + row.typeCode
1008
1008
  linkPush(path, {
1009
1009
  orderId: row.businessId,
1010
1010
  taskId: row.taskId,
@@ -110,7 +110,7 @@ export default {
110
110
 
111
111
  // 校验最大值
112
112
  if (max && list.length > max) {
113
- this.$message.warning(`审批人数需小于或等于 ${max} 个`)
113
+ this.$message.warning(`${$lc('审批人数需小于或等于')} ${max} ${$lc('个')}`)
114
114
  return
115
115
  }
116
116
 
@@ -119,7 +119,7 @@ export default {
119
119
 
120
120
  // 校验最小值(仅提示,不强制拦截)
121
121
  if (min && list.length < min) {
122
- this.$message.info(`审批人数需大于或等于 ${min} 个`)
122
+ this.$message.info(`${$lc('审批人数需大于或等于')} ${min} ${$lc('个')}`)
123
123
  return
124
124
  }
125
125
  },
@@ -218,7 +218,7 @@ export default {
218
218
  isEmpty = !item.checkList || item.checkList?.length === 0
219
219
  }
220
220
  if (isEmpty) {
221
- this.$message.warning(`请填写${item.cfgName}`)
221
+ this.$message.warning(`${$lc('请填写')}${item.cfgName}`)
222
222
  return false
223
223
  }
224
224
  }
@@ -48,7 +48,7 @@ export default {
48
48
  )
49
49
  .then(({ data }) => {
50
50
  if (data) {
51
- let file = new File([data], $lc('流程图.svg'), {
51
+ let file = new File([data], `${$lc('流程图')}.svg`, {
52
52
  type: 'image/svg+xml'
53
53
  })
54
54
  this.blobUrl = URL.createObjectURL(file)
@@ -66,10 +66,9 @@
66
66
  <div class="m-b el-dialog__title">{{ '加签流程' | $lc }}</div>
67
67
  <div class="p-a" style="text-align: center">
68
68
  <svg v-if="addTaskList.length" :width="addTaskList.length * 160 - 50" height="82">
69
- <template v-for="(item, i) in addTaskList">
69
+ <g v-for="(item, i) in addTaskList" :key="item.addTaskDefId">
70
70
  <g
71
71
  v-if="i > 0"
72
- :key="i + '-flow'"
73
72
  class="djs-element djs-connection activiti-line-achieve"
74
73
  :class="{
75
74
  'activiti-line-reject': item.examineType === 'reject'
@@ -86,7 +85,6 @@
86
85
  />
87
86
  </g>
88
87
  <g
89
- :key="i"
90
88
  class="djs-element djs-shape activiti-node-achieve"
91
89
  :class="{
92
90
  'activiti-node-at': dataPro.currentActivityIdList.includes(item.addTaskDefId),
@@ -122,7 +120,7 @@
122
120
  </text>
123
121
  <use xlink:href="#symbol_node_User" style="fill: rgb(102, 102, 102)" />
124
122
  </g>
125
- </template>
123
+ </g>
126
124
  </svg>
127
125
  </div>
128
126
  </div>
@@ -90,10 +90,9 @@
90
90
  <div class="m-b el-dialog__title">{{ '加签流程' | $lc }}</div>
91
91
  <div class="p-a" style="text-align: center">
92
92
  <svg v-if="addTaskList.length" :width="addTaskList.length * 160 - 50" height="82">
93
- <template v-for="(item, i) in addTaskList">
93
+ <g v-for="(item, i) in addTaskList" :key="item.addTaskDefId">
94
94
  <g
95
95
  v-if="i > 0"
96
- :key="i + '-flow'"
97
96
  class="djs-element djs-connection activiti-line-achieve"
98
97
  :class="{
99
98
  'activiti-line-reject': item.examineType === 'reject'
@@ -110,7 +109,6 @@
110
109
  />
111
110
  </g>
112
111
  <g
113
- :key="i"
114
112
  class="djs-element djs-shape activiti-node-achieve"
115
113
  :class="{
116
114
  'activiti-node-at': dataPro.currentActivityIdList.includes(item.addTaskDefId),
@@ -146,7 +144,7 @@
146
144
  </text>
147
145
  <use xlink:href="#symbol_node_User" style="fill: rgb(102, 102, 102)" />
148
146
  </g>
149
- </template>
147
+ </g>
150
148
  </svg>
151
149
  </div>
152
150
  </div>
@@ -270,7 +268,7 @@ export default {
270
268
  currentActivityIdList.forEach((currentActivityId) => {
271
269
  let assignee = currAssMap[currentActivityId]
272
270
  let assigneeEnd = taskDefIdMap[currentActivityId]
273
- let task = this.svgW.querySelector(`[data-element-id="${currentActivityId}"]`)
271
+ let task = this.svgWrap.querySelector(`[data-element-id="${currentActivityId}"]`)
274
272
  if (task) {
275
273
  task.classList.add('activiti-node-at')
276
274
  if (!currentActivityId.includes('@addTaskType')) {
@@ -286,7 +284,7 @@ export default {
286
284
  typeof submitter === 'string' &&
287
285
  submitter.trim()
288
286
  ) {
289
- let taskK = this.svgW.querySelector(`[data-element-id="${k}"]`)
287
+ let taskK = this.svgWrap.querySelector(`[data-element-id="${k}"]`)
290
288
  if (taskK) {
291
289
  this.addEvent(taskK, { assignee: `${$lc('发起人')}:${submitter.trim()}` }, 'pending')
292
290
  }
@@ -294,7 +292,7 @@ export default {
294
292
  }
295
293
  for (let k in taskDefIdMap) {
296
294
  if (!currentActivityIdList.includes(k)) {
297
- let taskK = this.svgW.querySelector(`[data-element-id="${k}"]`)
295
+ let taskK = this.svgWrap.querySelector(`[data-element-id="${k}"]`)
298
296
  if (taskK) {
299
297
  if (!k.includes('@addTaskType')) {
300
298
  this.addEvent(taskK, taskDefIdMap[k])
@@ -171,7 +171,7 @@ export default {
171
171
  }
172
172
  )
173
173
  if (res) {
174
- this.$downloadBlob(res, `附件.zip`)
174
+ this.$downloadBlob(res, `${$lc('附件')}.zip`)
175
175
  }
176
176
  },
177
177
  getTableData() {
@@ -25,7 +25,7 @@
25
25
  v-if="type === 'week'"
26
26
  key="week"
27
27
  v-model="week"
28
- format="yyyy 第 WW 周"
28
+ :format="$lc('yyyy 第 WW 周')"
29
29
  type="week"
30
30
  :class="['n20-date-editor', { 'has-value': clearable && value }]"
31
31
  :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="this.season == 1 ? 'isactive' : ''"
35
35
  class="n20-quarter-date-picker__btn"
36
36
  @click="selectSeason(0)"
37
- >{{ year }}{{ $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
  size="medium"
44
44
  class="n20-quarter-date-picker__btn"
45
45
  @click="selectSeason(1)"
46
- >{{ year }}{{ $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
  size="medium"
53
53
  class="n20-quarter-date-picker__btn"
54
54
  @click="selectSeason(2)"
55
- >{{ year }}{{ $lc('年 第三季度') }}</el-button
55
+ >{{ formatQuarter(year, 3) }}</el-button
56
56
  >
57
57
  <el-button
58
58
  type="text"
@@ -61,7 +61,7 @@
61
61
  size="medium"
62
62
  class="n20-quarter-date-picker__btn"
63
63
  @click="selectSeason(3)"
64
- >{{ year }}{{ $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="selectYaer(item)"
76
- >{{ item }}{{ $lc('年') }}</el-button
76
+ >{{ formatYear(item) }}</el-button
77
77
  >
78
78
  </div>
79
79
  </div>
@@ -155,9 +155,7 @@ export default {
155
155
  },
156
156
  get() {
157
157
  if (this.value) {
158
- return `${dayjs(this.value.startDate).year()} 年 第${this.getChinese(
159
- dayjs(this.value.endDate).quarter()
160
- )}季度`
158
+ return this.formatQuarter(dayjs(this.value.startDate).year(), dayjs(this.value.endDate).quarter())
161
159
  } else {
162
160
  return this.value
163
161
  }
@@ -169,6 +167,12 @@ export default {
169
167
  // this.getDefaultTime()
170
168
  },
171
169
  methods: {
170
+ formatYear(year) {
171
+ return $lc('YEAR年').replace('YEAR', year)
172
+ },
173
+ formatQuarter(year, quarter) {
174
+ return $lc('YEAR年第QUARTER季度').replace('YEAR', year).replace('QUARTER', quarter)
175
+ },
172
176
  getChinese(val) {
173
177
  let value = ''
174
178
  switch (val) {
@@ -211,7 +215,6 @@ export default {
211
215
  that.season = i + 1
212
216
  let arr = that.valueArr[i].split(' - ')
213
217
  that.showSeason = false
214
- this.showValue = `${this.year} 年 ${this.season} 季度`
215
218
  that.$emit('input', { startDate: this.year + '-' + arr[0], endDate: this.year + '-' + arr[1] })
216
219
  that.$emit('change', { startDate: this.year + '-' + arr[0], endDate: this.year + '-' + arr[1] }) // 每次选择时间都将当前选择时间发送到父组件
217
220
  },
@@ -62,7 +62,7 @@
62
62
  clearable
63
63
  />
64
64
  <el-button v-else type="text" size="small" @click="pz(row, $rowIndex)">{{
65
- row[column.prop] || '配置'
65
+ row[column.prop] || $lc('配置')
66
66
  }}</el-button>
67
67
  </template>
68
68
  </vxe-column>