You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
4.6 KiB
157 lines
4.6 KiB
4 months ago
|
<template>
|
||
|
<div class="system-role-container">
|
||
|
<el-card shadow="hover" header="审核模式设置">
|
||
|
<el-form>
|
||
|
<el-form-item>
|
||
|
<el-button type="primary" @click="onOpenAdd()">
|
||
|
<el-icon>
|
||
|
<ele-FolderAdd/>
|
||
|
</el-icon>
|
||
|
新增
|
||
|
</el-button>
|
||
|
</el-form-item>
|
||
|
</el-form>
|
||
|
<el-table :data="tableData.data" style="width: 100%">
|
||
|
<el-table-column prop="label" label="渠道" width="200">
|
||
|
<template #default="scope">
|
||
|
{{ channels.find(r => r.value == scope.row.label.substring(0, 12))?channels.find(r => r.value == scope.row.label.substring(0, 12)).label: scope.row.label.substring(0, 12)}}
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="label" label="版本号" width="200">
|
||
|
<template #default="scope">
|
||
|
{{ scope.row.label.substring(12) }}
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="value" label="审核模式" show-overflow-tooltip width="100">
|
||
|
<template #default="scope">
|
||
|
<div v-if="scope.row.value==0">否</div>
|
||
|
<div v-if="scope.row.value==1">是</div>
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="value" label="操作" show-overflow-tooltip width="100">
|
||
|
<template #default="scope">
|
||
|
<el-button size="small" type="text" @click="onRowDel(scope.row)">删除
|
||
|
</el-button>
|
||
|
<el-button size="small" type="text" @click="onOpenEdit(scope.row)">修改
|
||
|
</el-button>
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
</el-table>
|
||
|
</el-card>
|
||
|
<EditConfig ref="editDicRef" @mailList="mailList"/>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script lang="ts">
|
||
|
import {toRefs, reactive, onMounted, defineComponent, ref,} from 'vue';
|
||
|
import {allChannelList, serverList} from "/@/utils/game";
|
||
|
import {ElMessage, ElMessageBox} from 'element-plus';
|
||
|
import {gameDelAuditMode, gameGetAllAuditMode} from "/@/api/game/set";
|
||
|
import EditConfig from "/@/views/gameBug/clientBug/component/editConfig.vue";
|
||
|
|
||
|
interface TableDataState {
|
||
|
contentVisible: boolean;
|
||
|
ItemConfig: object;
|
||
|
tableData: {
|
||
|
data: object[];
|
||
|
total: number;
|
||
|
content: string;
|
||
|
param: {};
|
||
|
};
|
||
|
servers: object[]
|
||
|
channels: object[]
|
||
|
}
|
||
|
|
||
|
export default defineComponent({
|
||
|
name: 'apiV1ClientBugList',
|
||
|
components: {EditConfig},
|
||
|
setup() {
|
||
|
const editDicRef = ref();
|
||
|
const state = reactive<TableDataState>({
|
||
|
contentVisible: false,
|
||
|
tableData: {
|
||
|
data: [],
|
||
|
total: 0,
|
||
|
content: "",
|
||
|
param: {},
|
||
|
},
|
||
|
channels: []
|
||
|
});
|
||
|
|
||
|
const mailList = () => {
|
||
|
gameGetAllAuditMode().then(res => {
|
||
|
console.log(res);
|
||
|
state.tableData.data = [];
|
||
|
if (res.data) {
|
||
|
let data = res.data.list ?? [];
|
||
|
for (let i in data) {
|
||
|
console.log(data[i], i);
|
||
|
state.tableData.data.push({
|
||
|
label: i,
|
||
|
value: data[i],
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
};
|
||
|
|
||
|
// 分页改变
|
||
|
const onHandleCurrentChange = () => {
|
||
|
console.log(`current page: ${state.tableData.param.pageNum}`);
|
||
|
mailList();
|
||
|
};
|
||
|
|
||
|
const onRowDel = (row: any) => {
|
||
|
ElMessageBox.confirm(`此操作将删除:“${row.label}”的设置,是否继续?`, '提示', {
|
||
|
confirmButtonText: '确认',
|
||
|
cancelButtonText: '取消',
|
||
|
type: 'warning',
|
||
|
}).then(() => {
|
||
|
gameDelAuditMode({label: row.label}).then(() => {
|
||
|
ElMessage.success('完成bug成功');
|
||
|
mailList();
|
||
|
})
|
||
|
}).catch(() => {
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// 页面加载时
|
||
|
onMounted(() => {
|
||
|
serverList().then(value => {
|
||
|
state.servers = value;
|
||
|
// console.log(" servers : ", state.servers);
|
||
|
});
|
||
|
allChannelList().then(value => {
|
||
|
state.channels = value;
|
||
|
// console.log(" channels : ", state.channels);
|
||
|
});
|
||
|
mailList();
|
||
|
});
|
||
|
// 打开新增字典弹窗
|
||
|
const onOpenAdd = () => {
|
||
|
editDicRef.value.openDialog({auditMode: "1", channel: "", version: ""});
|
||
|
};
|
||
|
// 打开修改字典弹窗
|
||
|
const onOpenEdit = (row: any) => {
|
||
|
let data = {auditMode: row.value, channel: "", version: ""}
|
||
|
if (row.label.length > 12) {
|
||
|
data.channel = row.label.substring(0, 12);
|
||
|
data.version = row.label.substring(12);
|
||
|
} else if (row.label.length == 12) {
|
||
|
data.channel = row.label;
|
||
|
}
|
||
|
editDicRef.value.openDialog(data);
|
||
|
};
|
||
|
return {
|
||
|
editDicRef,
|
||
|
onHandleCurrentChange,
|
||
|
onRowDel,
|
||
|
mailList,
|
||
|
onOpenAdd,
|
||
|
onOpenEdit,
|
||
|
...toRefs(state),
|
||
|
};
|
||
|
},
|
||
|
});
|
||
|
</script>
|