Browse Source

中英文

ctt_dev_new
chutingting 1 year ago
parent
commit
d322aad7fe
10 changed files with 188 additions and 57 deletions
  1. +62
    -0
      src/lang/package/en.ts
  2. +62
    -0
      src/lang/package/zh-cn.ts
  3. +12
    -12
      src/layout/index.vue
  4. +1
    -0
      src/types/components.d.ts
  5. +11
    -11
      src/views/home/index.vue
  6. +1
    -1
      src/views/template/index.vue
  7. +6
    -3
      src/views/userManage/personMould.vue
  8. +8
    -5
      src/views/userManage/personVoice.vue
  9. +19
    -19
      src/views/userManage/userList.vue
  10. +6
    -6
      src/views/video/index.vue

+ 62
- 0
src/lang/package/en.ts View File

@@ -51,6 +51,18 @@ export default {
logout: "Logout", logout: "Logout",
goLogin: "Go and log in", goLogin: "Go and log in",
LanguageChange: "Language switching", LanguageChange: "Language switching",
home: 'Home',
apiManage: 'API Access Party Management',
privatization: 'Privatized customer management',
template: 'Template management',
secretKey: 'Key View',
video: 'Video production statistics',
userMange: 'User Management',
userList: 'User List',
userMouldList: 'Private Custom Template List',
userVoiceList: 'Private customized voiceprint list',
rechargeList: 'Recharge List',
videoList: 'Video List'
}, },


// 创作视频 // 创作视频
@@ -257,4 +269,54 @@ export default {
apiMangage: { apiMangage: {
title: "API", title: "API",
}, },
home: {
info: 'Personal Information',
welcome: 'Welcome',
loginAccount: 'Login account',
userName: 'User nickname',
phone: 'Phone',
time: 'Current account duration',
setting: 'security setting',
editPwd: 'Change password',
key: 'secret key',
view: 'View',
},
template: {
img: 'picture'
},
video: {
time: 'Total time consumed',
code: 'Access Party Code',
videoTime: 'Video duration',
videoUrl: 'Video link',
createTime: 'CreateTime',
detail: 'View video details',
},
userList: {
phone: 'phone',
phonePlaceholder: 'Please enter your phone number',
search: 'search',
id: 'user id',
poins: 'Current currency value',
createDate: 'CreateTime',
view: 'View',
rechargeDetail: 'View recharge records',
videoDetail: 'View video list',
personMould: 'Bind custom templates',
personVoice: 'Bind custom voiceprints',
viewDetail: 'Detail',
close: 'Close'
},
personMould: {
cancel: 'Cancel',
confirm: 'Confirm association'
},
personVoice: {
lang: 'language',
country: 'country',
enName: 'English name',
chineseName: 'Chinese name',
cancel: 'Cancel',
confirm: 'Confirm association'
}
}; };

+ 62
- 0
src/lang/package/zh-cn.ts View File

@@ -52,6 +52,18 @@ export default {
logout: "注销", logout: "注销",
goLogin: "登录", goLogin: "登录",
LanguageChange: "语言切换", LanguageChange: "语言切换",
home: '首页',
apiManage: 'API接入方管理',
privatization: '私有化客户管理',
template: '模版管理',
secretKey: '密钥查看',
video: '视频制作统计',
userMange: '用户管理',
userList: '用户列表',
userMouldList: '私人定制模板列表',
userVoiceList: '私人定制声纹列表',
rechargeList: '充值列表',
videoList: '视频列表'
}, },


// 创作视频 // 创作视频
@@ -256,4 +268,54 @@ export default {
apiMangage: { apiMangage: {
title: "API 管理", title: "API 管理",
}, },
home: {
info: '个人信息',
welcome: '欢迎您',
loginAccount: '登录账号',
userName: '用户昵称',
phone: '手机号',
time: '当前账户时长',
setting: '安全设置',
editPwd: '修改密码',
key: '密钥',
view: '查看',
},
template: {
img: '图片'
},
video: {
time: '已消耗总时长',
code: '接入方编码',
videoTime: '视频时长',
videoUrl: '视频链接',
createTime: '创建时间',
detail: '查看视频详情',
},
userList: {
phone: '手机号',
phonePlaceholder: '请输入手机号',
search: '查询',
id: '用户ID',
poins: '当前币值',
createDate: '创建时间',
view: '查看',
rechargeDetail: '查看充值记录',
videoDetail: '查看视频列表',
personMould: '绑定定制模版',
personVoice: '绑定定制声纹',
viewDetail: '查看详情',
close: '关闭'
},
personMould: {
cancel: '取消',
confirm: '确认关联'
},
personVoice: {
lang: '语言',
country: '国家',
enName: '英文名称',
chineseName: '中文名称',
cancel: '取消',
confirm: '确认关联'
}
}; };

+ 12
- 12
src/layout/index.vue View File

@@ -19,44 +19,44 @@
class="el-menu-vertical-demo"> class="el-menu-vertical-demo">
<el-menu-item index="1" @click="router.push('/home')"> <el-menu-item index="1" @click="router.push('/home')">
<el-icon><i-ep-House /></el-icon> <el-icon><i-ep-House /></el-icon>
<span>首页</span>
<span>{{ $t('navbar.home') }}</span>
</el-menu-item> </el-menu-item>
<!-- 邃芒后台 --> <!-- 邃芒后台 -->
<el-menu-item v-if="isAdmin === '1' && localDeploy !== 'true' " index="2" @click="router.push('/apiManage')"> <el-menu-item v-if="isAdmin === '1' && localDeploy !== 'true' " index="2" @click="router.push('/apiManage')">
<el-icon><i-ep-link /></el-icon> <el-icon><i-ep-link /></el-icon>
<span>API接入方管理</span>
<span>{{ $t('navbar.apiManage') }}</span>
</el-menu-item> </el-menu-item>
<el-menu-item v-if="isAdmin === '1' && localDeploy !== 'true'" index="3" @click="router.push('/privatization')"> <el-menu-item v-if="isAdmin === '1' && localDeploy !== 'true'" index="3" @click="router.push('/privatization')">
<el-icon><i-ep-edit /></el-icon> <el-icon><i-ep-edit /></el-icon>
<span>私有化客户管理</span>
<span>{{ $t('navbar.privatization') }}</span>
</el-menu-item> </el-menu-item>
<!-- 私有化客户管理 API v-if="(isAdmin === '1' && localDeploy === 'true') || isAdmin === '0'" --> <!-- 私有化客户管理 API v-if="(isAdmin === '1' && localDeploy === 'true') || isAdmin === '0'" -->
<template v-else> <template v-else>
<el-menu-item index="4" @click="router.push('/template')"> <el-menu-item index="4" @click="router.push('/template')">
<el-icon><i-ep-edit /></el-icon> <el-icon><i-ep-edit /></el-icon>
<span>模版管理</span>
<span>{{ $t('navbar.template') }}</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="5" @click="router.push('/secretKey')"> <el-menu-item index="5" @click="router.push('/secretKey')">
<el-icon><i-ep-edit /></el-icon> <el-icon><i-ep-edit /></el-icon>
<span>密钥查看</span>
<span>{{ $t('navbar.secretKey') }}</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="6" @click="router.push('/video')"> <el-menu-item index="6" @click="router.push('/video')">
<el-icon><i-ep-edit /></el-icon> <el-icon><i-ep-edit /></el-icon>
<span>视频制作统计</span>
<span>{{ $t('navbar.video') }}</span>
</el-menu-item> </el-menu-item>
</template> </template>
<!-- v-if="isAdmin === '1'" --> <!-- v-if="isAdmin === '1'" -->
<el-sub-menu index="7" v-if="isAdmin == '1'" > <el-sub-menu index="7" v-if="isAdmin == '1'" >
<template #title> <template #title>
<el-icon><i-ep-edit /></el-icon> <el-icon><i-ep-edit /></el-icon>
<span>用户管理</span>
<span>{{ $t('navbar.userMange') }}</span>
</template> </template>
<el-menu-item-group> <el-menu-item-group>
<el-menu-item index="7-1" @click="router.push('/userManage')">用户列表</el-menu-item>
<el-menu-item index="7-2" @click="router.push('/userMouldList')">私人定制模板列表</el-menu-item>
<el-menu-item index="7-3" @click="router.push('/userVoiceList')">私人定制声纹列表</el-menu-item>
<el-menu-item index="7-4" @click="router.push('/rechargeList')">充值列表</el-menu-item>
<el-menu-item index="7-5" @click="router.push('/videoList')">视频列表</el-menu-item>
<el-menu-item index="7-1" @click="router.push('/userManage')">{{ $t('navbar.userList') }}</el-menu-item>
<el-menu-item index="7-2" @click="router.push('/userMouldList')">{{ $t('navbar.userMouldList') }}</el-menu-item>
<el-menu-item index="7-3" @click="router.push('/userVoiceList')">{{ $t('navbar.userVoiceList') }}</el-menu-item>
<el-menu-item index="7-4" @click="router.push('/rechargeList')">{{ $t('navbar.rechargeList') }}</el-menu-item>
<el-menu-item index="7-5" @click="router.push('/videoList')">{{ $t('navbar.videoList') }}</el-menu-item>
</el-menu-item-group> </el-menu-item-group>
</el-sub-menu> </el-sub-menu>
</el-menu> </el-menu>


+ 1
- 0
src/types/components.d.ts View File

@@ -8,6 +8,7 @@ export {}
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
export interface GlobalComponents { export interface GlobalComponents {
Breadcrumb: typeof import('./../components/Breadcrumb/index.vue')['default'] Breadcrumb: typeof import('./../components/Breadcrumb/index.vue')['default']
copy: typeof import('./../components/EditPosition copy.vue')['default']
CutImg: typeof import('./../components/cutImg.vue')['default'] CutImg: typeof import('./../components/cutImg.vue')['default']
CutImg1: typeof import('./../components/cutImg1.vue')['default'] CutImg1: typeof import('./../components/cutImg1.vue')['default']
EditPosition: typeof import('./../components/EditPosition.vue')['default'] EditPosition: typeof import('./../components/EditPosition.vue')['default']


+ 11
- 11
src/views/home/index.vue View File

@@ -2,24 +2,24 @@
<div class="page"> <div class="page">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>个人信息</span>
<span>{{ $t('home.info') }}</span>
</div> </div>
<div> <div>
<div style="text-align: center"> <div style="text-align: center">
<div class="el-upload"> <div class="el-upload">
<img :src="Avatar" class="avatar"> <img :src="Avatar" class="avatar">
<p>{{ userData.username }},欢迎您</p>
<p>{{ userData.username }},{{ $t('home.welcome') }}</p>
</div> </div>
</div> </div>
<ul class="user-info"> <ul class="user-info">
<li><div style="height: 100%"><el-icon><i-ep-UserFilled /></el-icon> 登录账号<div class="user-right">{{ userData.username }}</div></div></li>
<li><el-icon><i-ep-Avatar /></el-icon> 用户昵称 <div class="user-right">{{ userData.name }}</div></li>
<li><el-icon><i-ep-User /></el-icon> 手机号 <div class="user-right"> {{ userData.phone }}</div></li>
<li v-if="(userData.isAdmin === 1 && localDeploy) || userData.isAdmin === 0"><el-icon><i-ep-User /></el-icon> 当前账户时长 <div class="user-right"> {{ userData.remainingTimes }} (秒)</div></li>
<li><div style="height: 100%"><el-icon><i-ep-UserFilled /></el-icon> {{ $t('home.loginAccount') }}<div class="user-right">{{ userData.username }}</div></div></li>
<li><el-icon><i-ep-Avatar /></el-icon> {{ $t('home.userName') }} <div class="user-right">{{ userData.name }}</div></li>
<li><el-icon><i-ep-User /></el-icon> {{ $t('home.phone') }} <div class="user-right"> {{ userData.phone }}</div></li>
<li v-if="(userData.isAdmin === 1 && localDeploy) || userData.isAdmin === 0"><el-icon><i-ep-User /></el-icon> {{ $t('home.time') }} <div class="user-right"> {{ userData.remainingTimes }} (秒)</div></li>
<li> <li>
<el-icon><i-ep-edit /></el-icon> 安全设置
<el-icon><i-ep-edit /></el-icon> {{ $t('home.setting') }}
<div class="user-right"> <div class="user-right">
<a @click="editDialogVisible = true">修改密码</a>
<a @click="editDialogVisible = true">{{ $t('home.editPwd') }}</a>
</div> </div>
</li> </li>
<!-- <li v-if="userData.isAdmin === '1' && userData.localDeploy"> <!-- <li v-if="userData.isAdmin === '1' && userData.localDeploy">
@@ -29,15 +29,15 @@
</div> </div>
</li> --> </li> -->
<li v-if="userData.isAdmin === 0"> <li v-if="userData.isAdmin === 0">
<el-icon><i-ep-Pointer /></el-icon>密钥
<el-icon><i-ep-Pointer /></el-icon>{{ $t('home.key') }}
<div class="user-right"> <div class="user-right">
<a @click="router.push('/secretKey')">查看</a>
<a @click="router.push('/secretKey')">{{ $t('home.view') }} </a>
</div> </div>
</li> </li>
</ul> </ul>
</div> </div>
</el-card> </el-card>
<el-dialog v-model="editDialogVisible" title="修改密码" width="40%" :before-close="handleClose" >
<el-dialog v-model="editDialogVisible" :title="$t('home.editPwd')" width="40%" :before-close="handleClose" >
<edit-pass @close="handleClose"></edit-pass> <edit-pass @close="handleClose"></edit-pass>
</el-dialog> </el-dialog>
</div> </div>


+ 1
- 1
src/views/template/index.vue View File

@@ -9,7 +9,7 @@
border border
> >


<el-table-column label="图片" align="center">
<el-table-column :label="$t('template.img')" align="center">
<template #default="scope"> <template #default="scope">
<img :src="scope.row.coverImg" width="50" /> <img :src="scope.row.coverImg" width="50" />
</template> </template>


+ 6
- 3
src/views/userManage/personMould.vue View File

@@ -8,9 +8,9 @@
</el-checkbox-group> </el-checkbox-group>
<div style="margin-top: 20px"> <div style="margin-top: 20px">
<el-button @click="handleClose" <el-button @click="handleClose"
>取消</el-button
>{{$t('personMould.cancel')}}</el-button
> >
<el-button type="primary" @click="addModel()">确认关联</el-button>
<el-button type="primary" @click="addModel()">{{$t('personMould.confirm')}}</el-button>
</div> </div>
</div> </div>
</template> </template>
@@ -19,6 +19,9 @@
import { ref } from 'vue' import { ref } from 'vue'
import { personMouldListApi, userPersonMouldIdListApi, associatedUserMouldsApi } from '@/apis/userManage.js' import { personMouldListApi, userPersonMouldIdListApi, associatedUserMouldsApi } from '@/apis/userManage.js'
import dayjs from "dayjs"; import dayjs from "dayjs";
import { useI18n } from "vue-i18n";
const { locale } = useI18n();
const lanChange = ref(locale);


const emit = defineEmits(["close"]); const emit = defineEmits(["close"]);
const props = defineProps({ const props = defineProps({
@@ -61,7 +64,7 @@ const addModel = async () => {
} }
const res = await associatedUserMouldsApi(data); const res = await associatedUserMouldsApi(data);
if(res.code === 200) { if(res.code === 200) {
ElMessage.success("关联成功!");
ElMessage.success((lanChange.value) == "zh-cn" ? "关联成功!" : 'Successfully associated!');
handleClose() handleClose()
} }
}; };


+ 8
- 5
src/views/userManage/personVoice.vue View File

@@ -7,10 +7,10 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
<el-table-column property="language" label="语言" align="center"/>
<el-table-column property="country" label="国家" align="center"/>
<el-table-column property="name" label="英文名称" align="center"/>
<el-table-column property="chineseName" label="中文名称" align="center"/>
<el-table-column property="language" :label="$t('personVoice.lang')" align="center"/>
<el-table-column property="country" :label="$t('personVoice.country')" align="center"/>
<el-table-column property="name" :label="$t('personVoice.enName')" align="center"/>
<el-table-column property="chineseName" :label="$t('personVoice.chineseName')" align="center"/>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
:label="$t('businessMangage.createTime')" :label="$t('businessMangage.createTime')"
@@ -45,6 +45,9 @@
<script setup> <script setup>
import { voiceMouldListApi, userVoiceIdListApi, associatedUserVoicesApi } from '@/apis/userManage.js' import { voiceMouldListApi, userVoiceIdListApi, associatedUserVoicesApi } from '@/apis/userManage.js'
import dayjs from "dayjs"; import dayjs from "dayjs";
import { useI18n } from "vue-i18n";
const { locale } = useI18n();
const lanChange = ref(locale);
const emit = defineEmits(["close"]); const emit = defineEmits(["close"]);
const props = defineProps({ const props = defineProps({
cUserId: { cUserId: {
@@ -130,7 +133,7 @@ const addModel = async () => {
} }
const res = await associatedUserVoicesApi(data); const res = await associatedUserVoicesApi(data);
if(res.code === 200) { if(res.code === 200) {
ElMessage.success("关联成功!");
ElMessage.success((lanChange.value) == "zh-cn" ? "关联成功!" : 'Successfully associated!');
handleClose() handleClose()
} }
}; };


+ 19
- 19
src/views/userManage/userList.vue View File

@@ -2,11 +2,11 @@
<div class="page justify-around"> <div class="page justify-around">
<div class="addbtn"> <div class="addbtn">
<el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="手机号">
<el-input v-model="formInline.phone" placeholder="请输入手机号" clearable />
<el-form-item :label="$t('userList.phone')">
<el-input v-model="formInline.phone" :placeholder="$t('userList.phonePlaceholder')" clearable />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getListData()">查询</el-button>
<el-button type="primary" @click="getListData()">{{ $t('userList.search') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -20,26 +20,26 @@
> >
<el-table-column <el-table-column
prop="id" prop="id"
label="用户ID"
:label="$t('userList.id')"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="phone" prop="phone"
label="手机号"
:label="$t('userList.phone')"
align="center" align="center"
/> />




<el-table-column <el-table-column
prop="poins" prop="poins"
label="当前币值"
:label="$t('userList.poins')"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="createDate" prop="createDate"
label="创建时间"
:label="$t('userList.createDate')"
align="center" align="center"
> >
<template #default="scope"> <template #default="scope">
@@ -52,11 +52,11 @@
align="center" align="center"
> >
<template #default="scope"> <template #default="scope">
<el-button link type="primary" size="small" @click="showDetail(scope.row.id)">查看</el-button>
<el-button link type="primary" size="small" @click="rechargeDetail(scope.row)">查看充值记录</el-button>
<el-button link type="primary" size="small" @click="videoDetail(scope.row)"> 查看视频列表</el-button>
<el-button link type="primary" size="small" @click="personMould(scope.row.id)">绑定定制模版</el-button>
<el-button link type="primary" size="small" @click="personVoice(scope.row.id)">绑定定制声纹</el-button>
<el-button link type="primary" size="small" @click="showDetail(scope.row.id)">{{$t('userList.view')}}</el-button>
<el-button link type="primary" size="small" @click="rechargeDetail(scope.row)">{{$t('userList.rechargeDetail')}}</el-button>
<el-button link type="primary" size="small" @click="videoDetail(scope.row)"> {{$t('userList.videoDetail')}}</el-button>
<el-button link type="primary" size="small" @click="personMould(scope.row.id)">{{$t('userList.personMould')}}</el-button>
<el-button link type="primary" size="small" @click="personVoice(scope.row.id)">{{$t('userList.personVoice')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -76,30 +76,30 @@
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
/> />
</div> </div>
<el-dialog v-model="detailDialogVisible" v-if="detailDialogVisible" title="查看详情" width="60%" :before-close="handleClose" >
<el-dialog v-model="detailDialogVisible" v-if="detailDialogVisible" :title="$t('userList.viewDetail')" width="60%" :before-close="handleClose" >
<el-form :model="form" label-width="120px"> <el-form :model="form" label-width="120px">
<el-form-item label="手机号">
<el-form-item :label="$t('userList.phone')">
<el-input v-model="form.phone" /> <el-input v-model="form.phone" />
</el-form-item> </el-form-item>
<el-form-item label="Level"> <el-form-item label="Level">
<el-input v-model="form.level" /> <el-input v-model="form.level" />
</el-form-item> </el-form-item>
<el-form-item label="当前币值">
<el-form-item :label="$t('userList.poins')">
<el-input v-model="form.poins" /> <el-input v-model="form.poins" />
</el-form-item> </el-form-item>
<el-form-item label="创建时间">
<el-form-item :label="$t('userList.createDate')">
<el-input v-model="form.createDate" /> <el-input v-model="form.createDate" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button>关闭</el-button>
<el-button>{{$t('userList.close')}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>


<el-dialog v-model="modelDialogVisible" v-if="modelDialogVisible" title="绑定定制模版" width="60%" :before-close="handleClose" >
<el-dialog v-model="modelDialogVisible" v-if="modelDialogVisible" :title="$t('userList.personMould')" width="60%" :before-close="handleClose" >
<model :cUserId="cUserId" @close="handleClose"></model> <model :cUserId="cUserId" @close="handleClose"></model>
</el-dialog> </el-dialog>
<el-dialog v-model="voiceDialogVisible" v-if="voiceDialogVisible" title="绑定定制声纹" width="60%" :before-close="handleClose" >
<el-dialog v-model="voiceDialogVisible" v-if="voiceDialogVisible" :title="$t('userList.personVoice')" width="60%" :before-close="handleClose" >
<voice :cUserId="cUserId" @close="handleClose"></voice> <voice :cUserId="cUserId" @close="handleClose"></voice>
</el-dialog> </el-dialog>
</div> </div>


+ 6
- 6
src/views/video/index.vue View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="page justify-around"> <div class="page justify-around">
<el-alert :title="`已消耗总时长:${crrentVideoToal} 秒`" type="success" :closable="false" />
<el-alert :title="`${$t('video.time')}:${crrentVideoToal} 秒`" type="success" :closable="false" />
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%; height: 90%" style="width: 100%; height: 90%"
@@ -10,7 +10,7 @@
> >
<el-table-column <el-table-column
prop="serviceId" prop="serviceId"
label="接入方编码"
:label="$t('video.code')"
align="center"> align="center">
<template #default="scope"> <template #default="scope">
<el-button type="primary" text @click="getDetail(scope.row.serviceId)">{{ scope.row.serviceId }}</el-button> <el-button type="primary" text @click="getDetail(scope.row.serviceId)">{{ scope.row.serviceId }}</el-button>
@@ -19,17 +19,17 @@
<el-table-column <el-table-column
prop="videoTime" prop="videoTime"
label="视频时长"
:label="$t('video.videoTime')"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="videoUrl" prop="videoUrl"
label="视频链接"
:label="$t('video.videoUrl')"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="创建时间"
:label="$t('video.createTime')"
align="center" align="center"
> >
<template #default="scope"> <template #default="scope">
@@ -43,7 +43,7 @@
align="center" align="center"
> >
<template #default="scope"> <template #default="scope">
<el-button link type="primary" size="small" @click="showDetail(scope.row.userMouldVideoId)">查看视频详情</el-button>
<el-button link type="primary" size="small" @click="showDetail(scope.row.userMouldVideoId)">{{ $t('keyMangage.detail') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>


Loading…
Cancel
Save