1
This commit is contained in:
@@ -37,6 +37,7 @@
|
|||||||
"js-cookie": "3.0.1",
|
"js-cookie": "3.0.1",
|
||||||
"jsencrypt": "3.0.0-rc.1",
|
"jsencrypt": "3.0.0-rc.1",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
|
"pinyin-pro": "^3.27.0",
|
||||||
"quill": "2.0.2",
|
"quill": "2.0.2",
|
||||||
"screenfull": "5.0.2",
|
"screenfull": "5.0.2",
|
||||||
"sortablejs": "1.10.2",
|
"sortablejs": "1.10.2",
|
||||||
|
|||||||
@@ -11,12 +11,12 @@
|
|||||||
<div class="form-label">型号/类型</div>
|
<div class="form-label">型号/类型</div>
|
||||||
<div class="letter-nav">
|
<div class="letter-nav">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button size="mini" :type="activeLetter === 'ALL' ? 'primary' : 'default'" @click="activeLetter = 'ALL'">全部</el-button>
|
<el-button size="small" :type="activeLetter === 'ALL' ? 'primary' : 'default'" @click="activeLetter = 'ALL'">全部</el-button>
|
||||||
<el-button v-for="ltr in letters" :key="ltr" size="mini" :type="activeLetter === ltr ? 'primary' : 'default'" @click="activeLetter = ltr">{{ ltr }}</el-button>
|
<el-button v-for="ltr in letters" :key="ltr" size="small" :type="activeLetter === ltr ? 'primary' : 'default'" @click="activeLetter = ltr">{{ ltr }}</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
size="mini"
|
size="small"
|
||||||
class="refresh-btn"
|
class="refresh-btn"
|
||||||
@click="loadTypes"
|
@click="loadTypes"
|
||||||
icon="el-icon-refresh"
|
icon="el-icon-refresh"
|
||||||
@@ -174,6 +174,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { pinyin } from 'pinyin-pro'
|
||||||
export default {
|
export default {
|
||||||
name: 'CommentGeneratorPublic',
|
name: 'CommentGeneratorPublic',
|
||||||
data() {
|
data() {
|
||||||
@@ -277,10 +278,18 @@ export default {
|
|||||||
getInitial(it) {
|
getInitial(it) {
|
||||||
const source = (it && (it.name || it.value) || '').toString().trim()
|
const source = (it && (it.name || it.value) || '').toString().trim()
|
||||||
if (!source) return '#'
|
if (!source) return '#'
|
||||||
const ch = source[0]
|
const firstChar = source[0]
|
||||||
const upper = ch.toUpperCase()
|
const upperAscii = firstChar.toUpperCase()
|
||||||
if (upper >= 'A' && upper <= 'Z') return upper
|
if (upperAscii >= 'A' && upperAscii <= 'Z') return upperAscii
|
||||||
return '#'
|
// 中文等非 ASCII 字符,取拼音首字母
|
||||||
|
try {
|
||||||
|
const letter = pinyin(firstChar, { toneType: 'none', type: 'array' })[0]
|
||||||
|
if (!letter || !letter.length) return '#'
|
||||||
|
const initial = letter[0].toUpperCase()
|
||||||
|
return (initial >= 'A' && initial <= 'Z') ? initial : '#'
|
||||||
|
} catch(e) {
|
||||||
|
return '#'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
selectType(it) {
|
selectType(it) {
|
||||||
if (!it) return
|
if (!it) return
|
||||||
|
|||||||
Reference in New Issue
Block a user