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.
- package/nstc-g6/components/Calendar/src/main.vue +1 -1
- package/nstc-g6/components/Form/AutocompleteCustom/index.vue +3 -1
- package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +5 -4
- package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +18 -15
- package/nstc-g6/components/Form/Component.vue +1 -1
- package/nstc-g6/components/Form/ComponentSecond.vue +1 -1
- package/nstc-g6/components/Form/DatepickerCustom/index.vue +3 -3
- package/nstc-g6/components/Form/InputAndDialog/src/main.vue +5 -4
- package/nstc-g6/components/Form/InputCustom/index.vue +3 -2
- package/nstc-g6/components/Form/IntervalinputCustom/index.vue +2 -1
- package/nstc-g6/components/Form/ItemSecond.vue +2 -2
- package/nstc-g6/components/Form/SelectAccount/src/main.vue +9 -8
- package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +5 -4
- package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +7 -6
- package/nstc-g6/components/Form/SelectCustom/index.vue +3 -2
- package/nstc-g6/components/Form/SelectSubject/src/main.vue +8 -7
- package/nstc-g6/components/Form/SelectindialogCustom/index.vue +3 -2
- package/nstc-g6/components/Form/UploadCustom/index.vue +4 -3
- package/nstc-g6/components/Form/configs.js +2 -1
- package/nstc-g6/components/Form/configsSecond.js +2 -1
- package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +15 -18
- package/nstc-g6/components/FormGroup/src/main.vue +9 -6
- package/nstc-g6/components/FormGroup/src/validate.js +3 -1
- package/nstc-g6/components/InputTag/InputTag.vue +1 -1
- package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +5 -4
- package/nstc-g6/components/NstcDialog/NstcDialog.vue +5 -2
- package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +5 -3
- package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +5 -4
- package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +32 -30
- package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +17 -15
- package/nstc-g6/components/NstcExcelExport/NstcExcelExport.vue +3 -2
- package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +18 -16
- package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +17 -15
- package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +39 -37
- package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +3 -1
- package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +5 -4
- package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +16 -15
- package/nstc-g6/components/NstcForm/Component.vue +1 -1
- package/nstc-g6/components/NstcForm/ComponentSecond.vue +1 -1
- package/nstc-g6/components/NstcForm/DatepickerCustom/index.vue +3 -3
- package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +5 -4
- package/nstc-g6/components/NstcForm/InputCustom/index.vue +3 -2
- package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +2 -1
- package/nstc-g6/components/NstcForm/ItemSecond.vue +2 -2
- package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +11 -10
- package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +5 -4
- package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +9 -8
- package/nstc-g6/components/NstcForm/SelectCustom/index.vue +3 -2
- package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +10 -9
- package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +4 -3
- package/nstc-g6/components/NstcForm/UploadCustom/index.vue +4 -3
- package/nstc-g6/components/NstcForm/configs.js +2 -1
- package/nstc-g6/components/NstcForm/configsSecond.js +2 -1
- package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +15 -14
- package/nstc-g6/components/NstcPagination/NstcPagination.vue +9 -7
- package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +3 -1
- package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +6 -5
- package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +4 -3
- package/nstc-g6/components/NstcTable/NstcTable.vue +3 -2
- package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +16 -14
- package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +3 -1
- package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +36 -32
- package/nstc-g6/components/Search/NstcSearch.vue +8 -6
- package/nstc-g6/components/approvelTwo/main.vue +6 -5
- package/nstc-g6/components/approvelTwo/progress.vue +2 -2
- package/nstc-g6/index.js +3 -1
- package/nstc-g6/utils/dateAndValidator.js +8 -6
- package/nstc-g6/utils/vendor/Export2Zip.js +2 -1
- package/package.json +1 -1
- package/src/components/AIButton/index.vue +1 -1
- package/src/components/ApprovalButtons/index.vue +1 -1
- package/src/components/ApprovalButtons/indexApp.vue +1 -1
- package/src/components/ApprovalButtons/selectSpr.vue +2 -2
- package/src/components/ApprovalButtons/showOtherAttrNew.vue +1 -1
- package/src/components/ApprovalRecord/approvalImg.vue +1 -1
- package/src/components/ApprovalRecord/approvalImgPro/child.vue +2 -4
- package/src/components/ApprovalRecord/approvalImgPro/index.vue +5 -7
- package/src/components/AttachmentPass/index.vue +1 -1
- package/src/components/DateSelect/index.vue +1 -1
- package/src/components/DateSelect/quarterDatePicker.vue +15 -12
- package/src/components/DynamicField/DynamicFieldOptions.vue +1 -1
- package/src/components/DynamicField/tableList.vue +1 -1
- package/src/components/ElectronicArchive/index.vue +3 -3
- package/src/components/FileUploadTable/FileUploadTableV3.vue +1 -1
- package/src/components/FileUploadTable/index.vue +10 -6
- package/src/components/LoginSetting/index.vue +19 -9
- package/src/components/LoginTemporary/form.vue +2 -4
- package/src/components/LoginTemporary/index.vue +1 -1
- package/src/components/LoginTemporary/retrievePw.vue +8 -8
- package/src/components/SelectDatePickerPro/halfYearPicker.vue +14 -8
- package/src/components/SelectDatePickerPro/index.vue +1 -1
- package/src/components/SelectDatePickerPro/quarterDatePicker.vue +17 -13
- package/src/components/TableSetSize/index.vue +2 -2
- package/src/components/operatingStatus/index.vue +1 -1
- package/src/i18n.json +742 -28
- package/src/plugins/Print/print-js/src/js/init.js +2 -1
- package/src/plugins/SetMenuTree/setmenutree.vue +3 -3
- package/src/plugins/SetMenuTree/utils.js +2 -1
- package/src/plugins/Sign/Itrus/index.js +3 -1
- package/src/plugins/Sign/Itrus/sign_3720.js +5 -1
- package/src/plugins/Sign/NetSM3/index.js +3 -1
- package/src/plugins/Sign/SkfSign/index.js +3 -1
- package/src/plugins/Sign/bjca/index.js +3 -1
- package/src/plugins/Sign/hnca/index.js +1 -2
- package/src/plugins/Sign/kySign/index.js +3 -1
- package/src/plugins/Sign/netca/netca.base.1.1.0.js +6 -1
- package/src/plugins/Sign/sign.js +4 -2
- package/src/plugins/Sign/signV3/sign.js +4 -2
- package/src/plugins/Sign/sign_back.js +3 -1
- package/src/utils/xls2json.js +2 -1
- 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('
|
|
767
|
+
downloadBlob(res, `${$lc('附件压缩包')}.zip`)
|
|
768
768
|
}
|
|
769
769
|
})
|
|
770
770
|
},
|
|
@@ -298,7 +298,7 @@
|
|
|
298
298
|
:multiple="true"
|
|
299
299
|
:show-file-list="true"
|
|
300
300
|
:action="apiPrefix ? apiPrefix + action : action"
|
|
301
|
-
:data="
|
|
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
|
-
|
|
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
|
-
|
|
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 = '
|
|
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.
|
|
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 +=
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
234
|
-
|
|
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 +=
|
|
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
|
}
|
|
@@ -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('
|
|
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(
|
|
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 }}
|
|
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
|
|
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
|
|
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 }}
|
|
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 =
|
|
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 =
|
|
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' })
|
|
@@ -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 }}
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 }}
|
|
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})
|
|
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
|
|
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">{{
|
|
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">{{
|
|
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>
|