国际化处理

This commit is contained in:
ival 2019-08-19 14:02:20 +08:00
parent 4da9dc977b
commit d87a4fff22
20 changed files with 220 additions and 145 deletions

View File

@ -33,5 +33,11 @@ export default {
createSpeedLevelFailed: 'Failed to create speed level', createSpeedLevelFailed: 'Failed to create speed level',
createOperationGraphFailed: 'Failed to create operation diagram', createOperationGraphFailed: 'Failed to create operation diagram',
loadingCityListFailed: 'Failed to load city list', loadingCityListFailed: 'Failed to load city list',
cannotNarrowDown: 'You cannot narrow down the training list you created last time' cannotNarrowDown: 'You cannot narrow down the training list you created last time',
scanningError: 'Scanning error',
serviceException: 'Service exception',
codeHasExist: 'Coding already exists',
formartError: 'The format is incorrect, only characters/numbers/_',
createDictionaryFailed: 'Failed to create dictionary',
updateDictionaryFailed: 'Failed to update dictionary'
}; };

View File

@ -13,7 +13,8 @@ export default {
add: 'Add', add: 'Add',
query: 'Query', query: 'Query',
detail: 'Details', detail: 'Details',
quickEntry: 'Quick Entry', quickEntry: 'Quick entry',
scan: 'Scan',
chooseDate: 'Please choose the date', chooseDate: 'Please choose the date',
chooseTime: 'Please choose the time', chooseTime: 'Please choose the time',
chooseDateTime: 'Please choose the date and time', chooseDateTime: 'Please choose the date and time',
@ -65,5 +66,18 @@ export default {
filteringKeywords: 'Enter keywords for filtering', filteringKeywords: 'Enter keywords for filtering',
previousStep: 'PreviousStep', previousStep: 'PreviousStep',
skip: 'Skip', skip: 'Skip',
modify: 'Modify' modify: 'Modify',
language: 'Language',
exit: 'Exit',
chooseLanguage: 'Please choose the language',
switchLanguage: 'Switch language',
joinRoom: 'Join Room',
synthesisTrainingTitle: 'Synthesis Training Fast Entrance',
pleaseChooseRoom: 'You did not choose a room',
inviteJoinRoom: 'Invite you to join the synthesis training!',
trainingHasStart: "(name)'s room has begun",
trainingNotStart: "(name)'s room hasn't started yet",
inputRoomNumber: 'Please enter the room number.',
chooseRoom: 'Choose Room'
}; };

View File

@ -23,7 +23,7 @@ export default {
dpSystem: 'Large screen', dpSystem: 'Large screen',
planSystem: 'Lian Plan', planSystem: 'Lian plan',
replayManage: 'Playback', replayManage: 'Playback',

View File

@ -142,6 +142,11 @@ export default {
endSectionCode: '请选择终到区段', endSectionCode: '请选择终到区段',
selectTurnoutID: '请选择道岔ID', selectTurnoutID: '请选择道岔ID',
switchesCannot: '道岔不能为同一个' switchesCannot: '道岔不能为同一个',
pleaseInputName: '请输入名称',
pleaseSelectStatus: '请选择状态',
pleaseInputCode: '请输入编码',
strLength1To25: '长度在 1 到 25 个字符',
strLengthNotExceed50: '不能超过 50 个字符'
}; };

View File

@ -6,5 +6,11 @@ export default {
createDirectory: 'Create dictionary', createDirectory: 'Create dictionary',
editDictionary: 'Edit dictionary', editDictionary: 'Edit dictionary',
deleteSuccess: 'Successful deletion', deleteSuccess: 'Successful deletion',
dleeteTipContext: 'This operation will delete the type. Do you want to continue?' dleeteTipContext: 'This operation will delete the type. Do you want to continue?',
createSuccess: 'Create successful',
updateSuccess: 'Update successful',
destory: 'Destory',
simulationGroup: 'Simulation group',
username: 'User name',
phoneNumber: 'Cell-phone number'
}; };

View File

@ -33,6 +33,12 @@ export default {
createSpeedLevelFailed: '创建速度等级失败', createSpeedLevelFailed: '创建速度等级失败',
createOperationGraphFailed: '创建运行图失败', createOperationGraphFailed: '创建运行图失败',
loadingCityListFailed: '加载城市列表失败', loadingCityListFailed: '加载城市列表失败',
cannotNarrowDown: '不能缩小上次创建的实训列表的范围' cannotNarrowDown: '不能缩小上次创建的实训列表的范围',
scanningError: '扫码错误',
serviceException: '服务异常',
codeHasExist: '编码已存在',
formartError: '格式不正确,只能是字符/数字/_',
createDictionaryFailed: '创建字典失败',
updateDictionaryFailed: '更新字典失败'
}; };

View File

@ -14,6 +14,7 @@ export default {
query: '查 询', query: '查 询',
detail: '明 细', detail: '明 细',
quickEntry: '快速入口', quickEntry: '快速入口',
scan: '扫码',
chooseDate: '请选择日期', chooseDate: '请选择日期',
chooseTime: '请选择时间', chooseTime: '请选择时间',
chooseDateTime: '请选择日期时间', chooseDateTime: '请选择日期时间',
@ -66,5 +67,17 @@ export default {
filteringKeywords: '输入关键字进行过滤', filteringKeywords: '输入关键字进行过滤',
previousStep: '上一步', previousStep: '上一步',
skip: '跳过', skip: '跳过',
modify: '修改' modify: '修改',
language: '语言',
exit: '退出',
chooseLanguage: '请选择语言',
switchLanguage: '切换语言',
joinRoom: '加入房间',
synthesisTrainingTitle: '综合演练快速入口',
pleaseChooseRoom: '您没有选择房间',
inviteJoinRoom: '邀请你加入综合演练!',
trainingHasStart: '{{name}}的房间已开始',
trainingNotStart: '{{name}}的房间未开始',
inputRoomNumber: '请输入房间号',
chooseRoom: '选择房间'
}; };

View File

@ -142,6 +142,11 @@ export default {
endSectionCode: '请选择终到区段', endSectionCode: '请选择终到区段',
selectTurnoutID: '请选择道岔ID', selectTurnoutID: '请选择道岔ID',
switchesCannot: '道岔不能为同一个' switchesCannot: '道岔不能为同一个',
pleaseInputName: '请输入名称',
pleaseSelectStatus: '请选择状态',
pleaseInputCode: '请输入编码',
strLength1To25: '长度在 1 到 25 个字符',
strLengthNotExceed50: '不能超过 50 个字符'
}; };

View File

@ -6,5 +6,11 @@ export default {
createDirectory: '创建目录', createDirectory: '创建目录',
editDictionary: '编辑目录', editDictionary: '编辑目录',
deleteSuccess: '删除成功', deleteSuccess: '删除成功',
dleeteTipContext: '此操作将删除该类型, 是否继续?' dleeteTipContext: '此操作将删除该类型, 是否继续?',
createSuccess: '创建成功',
updateSuccess: '更新成功',
destory: '销 毁',
simulationGroup: '仿真Group',
username: '用户名',
phoneNumber: '手机号'
}; };

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="avatar-container" style="right: 80px;"> <div class="avatar-container" style="right: 80px;">
<el-menu-item v-for="item in entryList" :key="item.name" class="avatar-wrapper" index="" @click="item.handle"> <el-menu-item v-for="item in entryList" :key="item.name" class="avatar-wrapper" index="" @click="item.handle">
<span style="color: white;">{{ item.name }}</span> <span style="color: white;">{{ $t(item.name) }}</span>
</el-menu-item> </el-menu-item>
<deomon-list ref="deomonList" /> <deomon-list ref="deomonList" />
<qcode ref="qcode" /> <qcode ref="qcode" />
@ -22,11 +22,11 @@ export default {
return { return {
entryList: [ entryList: [
{ {
name: this.$t('global.quickEntry'), name: 'global.quickEntry',
handle: this.quickEntry handle: this.quickEntry
}, },
{ {
name: '扫码', name: 'global.scan',
handle: this.qcodeEntry handle: this.qcodeEntry
} }
], ],

View File

@ -1,13 +1,13 @@
<template> <template>
<el-dialog <el-dialog
title="切换语言" :title="$t('global.switchLanguage')"
:visible.sync="visible" :visible.sync="visible"
width="360px" width="360px"
:before-close="doClose" :before-close="doClose"
> >
<div style=""> <div style="">
<span>语言</span> <span>{{ $t('global.language') }}</span>
<el-select v-model="lang" placeholder="请选择语言"> <el-select v-model="lang" :placeholder="$t('global.chooseLanguage')">
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.value"
@ -17,8 +17,8 @@
</el-select> </el-select>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button> <el-button @click="visible = false">{{ $t('global.cancel') }}</el-button>
<el-button type="primary" @click="handleConfirm"> </el-button> <el-button type="primary" @click="handleConfirm">{{ $t('global.confirm') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>

View File

@ -1,7 +1,6 @@
<template> <template>
<el-dropdown class="avatar-container" trigger="hover" :show-timeout="100"> <el-dropdown class="avatar-container" trigger="hover" :show-timeout="100">
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<!-- <img class="user-avatar" :src="avatar+'?imageView2/1/w/80/h/80'"> -->
<span style="color: white;"> <span style="color: white;">
{{ username }} {{ username }}
</span> </span>
@ -9,10 +8,10 @@
</div> </div>
<el-dropdown-menu slot="dropdown" class="user-dropdown"> <el-dropdown-menu slot="dropdown" class="user-dropdown">
<el-dropdown-item> <el-dropdown-item>
<span style="display:block;" @click="language">语言</span> <span style="display:block;" @click="language">{{ $t('global.language') }}</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item> <el-dropdown-item>
<span style="display:block;" @click="logout">退出</span> <span style="display:block;" @click="logout">{{ $t('global.exit') }}</span>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
<language ref="language" /> <language ref="language" />

View File

@ -1,9 +1,9 @@
<template> <template>
<el-dialog title="输入房间号" :visible.sync="centerDialogVisible" width="30%" center> <el-dialog :title="$t('global.chooseRoom')" :visible.sync="centerDialogVisible" width="30%" center>
<el-input v-model="input" placeholder="请输入房间号" /> <el-input v-model="input" :placeholder="$t('global.inputRoomNumber')" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false"> </el-button> <el-button @click="centerDialogVisible = false">{{ $t('global.cancel') }}</el-button>
<el-button type="primary" @click="comit"> </el-button> <el-button type="primary" @click="comit">{{ $t('global.confirm') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
@ -37,10 +37,10 @@ export default {
await getPermissionJoint(`${this.input}`); await getPermissionJoint(`${this.input}`);
this.centerDialogVisible = false; this.centerDialogVisible = false;
} catch (error) { } catch (error) {
this.$messageBox('扫码错误:' + error.message); this.$messageBox(`${this.$t('error.scanningError')}:${error.message}`);
} }
} else { } else {
this.$messageBox('请输入房间号'); this.$messageBox(this.$t('global.inputRoomNumber'));
} }
} }
} }

View File

@ -9,7 +9,6 @@
:modal="false" :modal="false"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<!-- <el-input v-model="filterText" placeholder="输入关键字进行过滤" /> -->
<el-scrollbar wrap-class="scrollbar-wrapper" :style="{height: height+'px'}"> <el-scrollbar wrap-class="scrollbar-wrapper" :style="{height: height+'px'}">
<el-tree <el-tree
ref="tree" ref="tree"
@ -22,14 +21,18 @@
@node-click="clickEvent" @node-click="clickEvent"
> >
<span slot-scope="{ node, data }"> <span slot-scope="{ node, data }">
<span>{{ data.creator.nickName }}的房间({{ data.state == '01' ? '未开始' : '已开始' }})</span> <span v-if="data.state=='01'">{{ $t('global.trainingHasStart').replace('(name)', data.creator.nickName) }}</span>
<span v-else>{{ $t('global.trainingHasStart').replace('(name)', data.creator.nickName) }}</span>
</span> </span>
</el-tree> </el-tree>
</el-scrollbar> </el-scrollbar>
<span slot="footer" class="dialog-footer"> <span
<!-- <el-button type="primary" @click="handleWatch">观看</el-button> --> slot="
<el-button type="primary" @click="handleJoin">加入房间</el-button> footer"
<el-button @click="dialogShow = false"> </el-button> class="dialog-footer"
>
<el-button type="primary" @click="handleJoin">{{ $t('global.joinRoom') }}</el-button>
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
@ -46,7 +49,6 @@ export default {
dialogShow: false, dialogShow: false,
loading: false, loading: false,
height: 120, height: 120,
// filterText: '',
trainingList: [], trainingList: [],
defaultProps: { defaultProps: {
label: 'roomName' label: 'roomName'
@ -61,7 +63,7 @@ export default {
return this.dialogShow; return this.dialogShow;
}, },
title() { title() {
return '综合演练快速入口'; return this.$t('global.synthesisTrainingTitle');
}, },
isWatch() { isWatch() {
return true; return true;
@ -116,7 +118,7 @@ export default {
this.$router.push({ path: `/trainroom`, query: query }); this.$router.push({ path: `/trainroom`, query: query });
} }
} else { } else {
this.$message.info('您没有选择房间'); this.$message.info(this.$t('global.pleaseChooseRoom'));
} }
} }
} }

View File

@ -9,10 +9,10 @@
:modal="false" :modal="false"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<div style="height: 80px; line-height: 80px; font-size: 16px; padding-left: 10px;">{{ roomName }}邀请你加入综合演练</div> <div style="height: 80px; line-height: 80px; font-size: 16px; padding-left: 10px;">{{ roomName }}{{ $t('global.inviteJoinRoom') }}</div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleJoin">确认</el-button> <el-button type="primary" @click="handleJoin">{{ $t('global.confirm') }}</el-button>
<el-button @click="dialogShow = false"> </el-button> <el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>
@ -38,7 +38,7 @@ export default {
return this.dialogShow; return this.dialogShow;
}, },
title() { title() {
return '综合演练快速入口'; return this.$t('global.synthesisTrainingTitle');
} }
}, },
mounted() { mounted() {

View File

@ -286,7 +286,6 @@ export default {
const data = { mapId: this.courseModel.mapId, code: this.currentPrdCode }; const data = { mapId: this.courseModel.mapId, code: this.currentPrdCode };
this.buttonLoading = true; this.buttonLoading = true;
simulationNotify(data).then(resp => { simulationNotify(data).then(resp => {
// try 0
const query = { skinCode: this.courseModel.skinCode, group: resp.data, prdType: this.courseModel.prdType, mapId: this.courseModel.mapId, code: this.currentPrdCode, goodsId: this.goodsId, try: this.tryUser }; const query = { skinCode: this.courseModel.skinCode, group: resp.data, prdType: this.courseModel.prdType, mapId: this.courseModel.mapId, code: this.currentPrdCode, goodsId: this.goodsId, try: this.tryUser };
this.$router.push({ path: `${UrlConfig.display}/demon`, query: query }); this.$router.push({ path: `${UrlConfig.display}/demon`, query: query });
launchFullscreen(); launchFullscreen();

View File

@ -36,12 +36,12 @@ export default {
const form = { const form = {
labelWidth: '60px', labelWidth: '60px',
items: [ items: [
{ prop: 'code', label: '编码', type: 'text', required: true, disabled: !isAdd }, { prop: 'code', label: this.$t('system.code'), type: 'text', required: true, disabled: !isAdd },
{ prop: 'name', label: '名称', type: 'text', required: true }, { prop: 'name', label: this.$t('system.name'), type: 'text', required: true },
{ {
prop: 'status', label: '状态', type: 'select', required: true, options: this.$ConstSelect.Status prop: 'status', label: this.$t('system.status'), type: 'select', required: true, options: this.$ConstSelect.Status
}, },
{ prop: 'remarks', label: '备注', type: 'textarea', required: false } { prop: 'remarks', label: this.$t('system.remarks'), type: 'textarea', required: false }
] ]
}; };
return form; return form;
@ -49,21 +49,21 @@ export default {
rules() { rules() {
const crules = { const crules = {
name: [ name: [
{ required: true, message: '请输入名称', trigger: 'blur' }, { required: true, message: this.$t('rules.pleaseInputName'), trigger: 'blur' },
{ min: 1, max: 25, message: '长度在 1 到 25 个字符', trigger: 'blur' } { min: 1, max: 25, message: this.$t('rules.strLength1To25'), trigger: 'blur' }
], ],
status: [ status: [
{ required: true, message: '请选择状态', trigger: 'change' } { required: true, message: this.$t('rules.pleaseSelectStatus'), trigger: 'change' }
], ],
remarks: [ remarks: [
{ max: 50, message: '不能超过 50 个字符', trigger: 'blur' } { max: 50, message: this.$t('rules.strLengthNotExceed50'), trigger: 'blur' }
] ]
}; };
if (this.type === 'ADD') { if (this.type === 'ADD') {
return Object.assign(crules, { return Object.assign(crules, {
code: [ code: [
{ required: true, message: '请输入编码', trigger: 'blur' }, { required: true, message: this.$t('rules.pleaseInputCode'), trigger: 'blur' },
{ min: 1, max: 25, message: '长度在 1 到 25 个字符', trigger: 'blur' }, { min: 1, max: 25, message: this.$t('rules.strLength1To25'), trigger: 'blur' },
{ validator: this.validateCode, trigger: 'blur' } { validator: this.validateCode, trigger: 'blur' }
] ]
}); });
@ -73,25 +73,25 @@ export default {
}, },
title() { title() {
if (this.type === 'ADD') { if (this.type === 'ADD') {
return '创建目录'; return this.$t('system.createDirectory');
} else { } else {
return '编辑目录'; return this.$t('system.editDictionary');
} }
} }
}, },
methods: { methods: {
validateCode(rule, value, callback) { validateCode(rule, value, callback) {
if (!validateCharCode(value)) { if (!validateCharCode(value)) {
return callback(new Error('格式不正确,只能是字符/数字/_')); return callback(new Error(this.$t('error.formartError')));
} else { } else {
checkDicCodeExist(value).then(response => { checkDicCodeExist(value).then(response => {
if (response.data) { if (response.data) {
return callback(new Error('编码已存在')); return callback(new Error(this.$t('error.codeHasExist')));
} else { } else {
return callback(); return callback();
} }
}).catch(() => { }).catch(() => {
return callback(new Error('服务异常')); return callback(new Error(this.$t('error.serviceException')));
}); });
} }
}, },
@ -117,21 +117,21 @@ export default {
create() { create() {
const self = this; const self = this;
create(this.formModel).then(response => { create(this.formModel).then(response => {
self.$message.success('创建字典目录成功'); self.$message.success(this.$t('system.createSuccess'));
self.handleClose(); self.handleClose();
self.$emit('reloadTable'); self.$emit('reloadTable');
}).catch(error => { }).catch(error => {
self.$message.error('创建字典目录失败:' + error.message); self.$message.error(`${this.$t('error.createDictionaryFailed')}:${error.message}`);
}); });
}, },
update() { update() {
const self = this; const self = this;
update(this.formModel).then(response => { update(this.formModel).then(response => {
self.$message.success('更新字典目录成功'); self.$message.success(this.$t('system.updateSuccess'));
self.handleClose(); self.handleClose();
self.$emit('reloadTable'); self.$emit('reloadTable');
}).catch(error => { }).catch(error => {
self.$message.error('更新字典目录失败:' + error.message); self.$message.error(`${this.$t('error.updateDictionaryFailed')}:${error.message}`);
}); });
}, },
handleClose(done) { handleClose(done) {

View File

@ -2,8 +2,8 @@
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center>
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave"> </el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false">{{ $t('global.cancel') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</template> </template>

View File

@ -24,15 +24,15 @@ export default {
queryObject: { queryObject: {
group: { group: {
type: 'text', type: 'text',
label: '仿真Group' label: this.$t('system.simulationGroup')
}, },
userName: { userName: {
type: 'text', type: 'text',
label: '用户名' label: this.$t('system.username')
}, },
mobile: { mobile: {
type: 'text', type: 'text',
label: '手机号' label: this.$t('system.phoneNumber')
}, },
skinCode: { skinCode: {
type: 'select', type: 'select',
@ -137,11 +137,10 @@ export default {
}, },
{ {
type: 'button', type: 'button',
title: '操作', title: this.$t('global.operate'),
// width: '250',
buttons: [ buttons: [
{ {
name: '销毁', name: this.$t('system.destory'),
handleClick: this.handleDelete, handleClick: this.handleDelete,
type: 'danger' type: 'danger'
} }

View File

@ -1,11 +1,26 @@
<template> <template>
<el-dialog class="default route-cancel" :title="title" :visible.sync="show" width="20%" :zIndex="2000" :modal="true" <el-dialog
:before-close="cancel" :close-on-click-modal="false" v-dialogDrag> v-dialogDrag
<el-input placeholder="输入名称进行过滤" v-model="filterText" clearable> </el-input> class="default route-cancel"
:title="title"
:visible.sync="show"
width="20%"
:z-index="2000"
:modal="true"
:before-close="cancel"
:close-on-click-modal="false"
>
<el-input v-model="filterText" placeholder="输入名称进行过滤" clearable />
<ul class="listBox"> <ul class="listBox">
<li class="listLi" v-for="item in list"> <li v-for="item in list" :key="item" class="listLi">
<input class="checkbox" :class="item.disabled ? 'disabled' : ''" type="checkbox" v-model="item.select" <input
:disabled="item.disabled" @change="handleNodeClick(item)"></input> v-model="item.select"
class="checkbox"
:class="item.disabled ? 'disabled' : ''"
type="checkbox"
:disabled="item.disabled"
@change="handleNodeClick(item)"
>
<span>{{ item.nickName }}</span> <span>{{ item.nickName }}</span>
</li> </li>
</ul> </ul>
@ -31,17 +46,17 @@
}, },
treeList: [], treeList: [],
list: [], list: [],
filterText: '', filterText: ''
};
},
computed: {
show() {
return this.dialogShow;
} }
}, },
watch: { watch: {
filterText(val) { filterText(val) {
this.list = this.treeList.filter(p => p.nickName.indexOf(val) !== -1); this.list = this.treeList.filter(p => p.nickName.indexOf(val) !== -1);
},
},
computed: {
show() {
return this.dialogShow;
} }
}, },
mounted() { mounted() {
@ -57,7 +72,7 @@
if (data.select) { if (data.select) {
this.personList.push(data); this.personList.push(data);
} else { } else {
this.personList.splice(this.personList.findIndex(item => item.id == data.id), 1) this.personList.splice(this.personList.findIndex(item => item.id == data.id), 1);
} }
}, },
doClose() { doClose() {
@ -66,10 +81,10 @@
this.list.forEach(nor => { this.list.forEach(nor => {
nor.select = false; nor.select = false;
}); });
this.$emit('handleUserList', this.list) this.$emit('handleUserList', this.list);
}, },
commit() { commit() {
this.$emit('handleDispatch', this.personList) this.$emit('handleDispatch', this.personList);
this.dialogShow = false; this.dialogShow = false;
this.personList = []; this.personList = [];
}, },
@ -77,7 +92,7 @@
this.doClose(); this.doClose();
} }
} }
} };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">