国际化修改弹窗查询
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2024-11-26 14:10:56 +08:00
parent b8beac28c4
commit d6f9b5cc7d
1 changed files with 43 additions and 42 deletions

View File

@ -27,6 +27,7 @@
<el-form label-width="100px" size="small"> <el-form label-width="100px" size="small">
<el-form-item label="关键字"> <el-form-item label="关键字">
<el-input v-model="key" @input="keyChange" /> <el-input v-model="key" @input="keyChange" />
<el-input v-model="key" @input="keyChange" style="display: none" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -53,7 +54,7 @@
v-model="scope.row.Value" v-model="scope.row.Value"
@input=" @input="
(e) => { (e) => {
$set(scope.row, 'Value', e); $set(scope.row, 'Value', e)
} }
" "
size="mini" size="mini"
@ -66,7 +67,7 @@
v-model="scope.row.ValueCN" v-model="scope.row.ValueCN"
@input=" @input="
(e) => { (e) => {
$set(scope.row, 'ValueCN', e); $set(scope.row, 'ValueCN', e)
} }
" "
size="mini" size="mini"
@ -88,11 +89,11 @@
import { import {
batchAddOrUpdateFrontInternationalization, batchAddOrUpdateFrontInternationalization,
getFrontInternationalizationList, getFrontInternationalizationList,
} from "@/api/dictionary/dictionary"; } from '@/api/dictionary/dictionary'
import Vue from "vue"; import Vue from 'vue'
import i18n from "./lang"; import i18n from './lang'
export default { export default {
name: "App", name: 'App',
data() { data() {
return { return {
drawer: false, drawer: false,
@ -100,7 +101,7 @@ export default {
show: false, show: false,
key: null, key: null,
arr: [], arr: [],
}; }
}, },
mounted() { mounted() {
this.show = process.env.VUE_APP_OSS_PATH === "/hir_test/dist"; this.show = process.env.VUE_APP_OSS_PATH === "/hir_test/dist";
@ -108,7 +109,7 @@ export default {
}, },
methods: { methods: {
changeValue(target, attr, e) { changeValue(target, attr, e) {
this.$set(target, attr, e); this.$set(target, attr, e)
}, },
keyChange(v) { keyChange(v) {
if (this.key) { if (this.key) {
@ -120,65 +121,65 @@ export default {
~v.Value.indexOf(this.key) || ~v.Value.indexOf(this.key) ||
~v.ValueCN.indexOf(this.key) ~v.ValueCN.indexOf(this.key)
) )
); )
} else { } else {
this.tableData = Object.assign([], this.arr); this.tableData = Object.assign([], this.arr)
} }
}, },
handleSave() { handleSave() {
this.$confirm("确定修改当前页面国际化内容?").then(() => { this.$confirm('确定修改当前页面国际化内容?').then(() => {
batchAddOrUpdateFrontInternationalization(this.tableData).then( batchAddOrUpdateFrontInternationalization(this.tableData).then(
async (res) => { async (res) => {
var zhMessages = {}, var zhMessages = {},
enMessages = {}; enMessages = {}
var Internationalization = await getFrontInternationalizationList(); var Internationalization = await getFrontInternationalizationList()
Vue.prototype.$tl = Internationalization.Result; Vue.prototype.$tl = Internationalization.Result
this.tableData.forEach((v) => { this.tableData.forEach((v) => {
// zhMessages[v.Description + '_' + v.Code] = v.ValueCN // zhMessages[v.Description + '_' + v.Code] = v.ValueCN
// enMessages[v.Description + '_' + v.Code] = v.Value // enMessages[v.Description + '_' + v.Code] = v.Value
zhMessages[v.Code] = v.ValueCN; zhMessages[v.Code] = v.ValueCN
enMessages[v.Code] = v.Value; enMessages[v.Code] = v.Value
}); })
i18n.mergeLocaleMessage("zh", zhMessages); i18n.mergeLocaleMessage('zh', zhMessages)
i18n.mergeLocaleMessage("en", enMessages); i18n.mergeLocaleMessage('en', enMessages)
this.drawer = false; this.drawer = false
this.$message.success("国际化修改成功"); this.$message.success('国际化修改成功')
} }
); )
}); })
}, },
openI18n() { openI18n() {
this.tableData = []; this.tableData = []
this.key = null; this.key = null
this.drawer = true; this.drawer = true
let arr = []; let arr = []
let tableData = this.$tl.map((v) => { let tableData = this.$tl.map((v) => {
let a = { ...v }; let a = { ...v }
// if (!a.Description) { // if (!a.Description) {
// a.Description = this.$route.path // a.Description = this.$route.path
// } // }
return a; return a
}); })
tableData = tableData.filter((v) => { tableData = tableData.filter((v) => {
// return ~this.$path.indexOf(v.Description + '_' + v.Code) // return ~this.$path.indexOf(v.Description + '_' + v.Code)
return ~this.$path.indexOf(v.Code); return ~this.$path.indexOf(v.Code)
}); })
this.$path.forEach((v) => { this.$path.forEach((v) => {
let o = tableData.find((a) => { let o = tableData.find((a) => {
return a.Code === v; return a.Code === v
}); })
if (o) { if (o) {
arr.push(o); arr.push(o)
} else { } else {
arr.push({ arr.push({
Code: v, Code: v,
Description: null, Description: null,
Value: null, Value: null,
ValueCN: null, ValueCN: null,
}); })
} }
}); })
this.arr = arr; this.arr = arr
if (this.key) { if (this.key) {
this.tableData = Object.assign( this.tableData = Object.assign(
[], [],
@ -188,15 +189,15 @@ export default {
~v.Value.indexOf(this.key) || ~v.Value.indexOf(this.key) ||
~v.ValueCN.indexOf(this.key) ~v.ValueCN.indexOf(this.key)
) )
); )
} else { } else {
this.tableData = Object.assign([], this.arr); this.tableData = Object.assign([], this.arr)
} }
// console.log(JSON.stringify(this.$path)); // console.log(JSON.stringify(this.$path));
// console.log(JSON.stringify(this.tableData)); // console.log(JSON.stringify(this.tableData));
}, },
}, },
}; }
</script> </script>
<style lang="scss"> <style lang="scss">
@ -220,7 +221,7 @@ input::-webkit-inner-spin-button {
-webkit-appearance: none !important; -webkit-appearance: none !important;
} }
input[type="number"] { input[type='number'] {
-moz-appearance: textfield !important; -moz-appearance: textfield !important;
} }