feat:无ISBN页面10位ISBN自动转为13位

This commit is contained in:
97694732@qq.com 2026-06-15 11:21:24 +08:00
parent 9f89e5469f
commit c6d0064c64

View File

@ -1238,6 +1238,13 @@ export default {
}, },
noIsbnPrintTime() { noIsbnPrintTime() {
this.syncNoIsbnPrintTimeIndexes() this.syncNoIsbnPrintTimeIndexes()
},
noIsbnIsbn(val) {
// 10ISBN13
var result = this.convertIsbn10To13(val)
if (result && result !== val) {
this.noIsbnIsbn = result
}
} }
}, },
@ -1251,6 +1258,26 @@ export default {
}, },
methods: { methods: {
// ISBN-10 ISBN-13
convertIsbn10To13(isbn) {
if (!isbn) return isbn
//
var clean = isbn.replace(/[-\s]/g, '')
// 10X
var match = clean.match(/^(\d{9})([\dXx])$/)
if (!match) return isbn
// 9 + 978
var digits = '978' + match[1]
// ISBN-13
var sum = 0
for (var i = 0; i < 12; i++) {
var digit = parseInt(digits[i], 10)
sum += i % 2 === 0 ? digit : digit * 3
}
var check = (10 - (sum % 10)) % 10
return digits + check
},
// //
switchTab(tab) { switchTab(tab) {
const idx = tab === 'isbn' ? 0 : tab === 'no-isbn' ? 1 : 2 const idx = tab === 'isbn' ? 0 : tab === 'no-isbn' ? 1 : 2