桃源记客服系统前端
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

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>