|
|
@@ -0,0 +1,116 @@
|
|
|
+<script lang="ts" setup name="AppRemoved">
|
|
|
+import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
+import { deleteAppById, getAppByList, updateApp } from '@/api/apps/appApi'
|
|
|
+
|
|
|
+const state = reactive({
|
|
|
+ loading: false,
|
|
|
+ // 表格是否自适应高度
|
|
|
+ tableAutoHeight: false,
|
|
|
+ // 搜索
|
|
|
+ search: {
|
|
|
+ ifStore: 0,
|
|
|
+ keywords: '',
|
|
|
+ },
|
|
|
+ // 列表数据
|
|
|
+ dataList: [],
|
|
|
+})
|
|
|
+
|
|
|
+const appRemovedTableRef = ref()
|
|
|
+const getDataList = async () => {
|
|
|
+ state.loading = true
|
|
|
+ const { data } = await getAppByList(state.search)
|
|
|
+ state.dataList = data
|
|
|
+ state.loading = false
|
|
|
+}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ getDataList()
|
|
|
+})
|
|
|
+
|
|
|
+function onAppPublish(row: any) {
|
|
|
+ ElMessageBox.confirm(`确认上架「${row.appTitle}」吗?`, '确认信息').then(async () => {
|
|
|
+ await updateApp({ appId: row.appId, ifStore: 1 })
|
|
|
+ await getDataList()
|
|
|
+ ElMessage.success({
|
|
|
+ message: '上架成功',
|
|
|
+ center: true,
|
|
|
+ })
|
|
|
+ }).catch(() => {})
|
|
|
+}
|
|
|
+
|
|
|
+function onAppDel(row: any) {
|
|
|
+ ElMessageBox.confirm(`确认删除「${row.appTitle}」吗?`, '确认信息').then(async () => {
|
|
|
+ await deleteAppById(row.appId)
|
|
|
+ await getDataList()
|
|
|
+ ElMessage.success({
|
|
|
+ message: '删除成功',
|
|
|
+ center: true,
|
|
|
+ })
|
|
|
+ }).catch(() => {})
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div :class="{ 'absolute-container': state.tableAutoHeight }">
|
|
|
+ <page-header title="已下架应用">
|
|
|
+ <template #content>
|
|
|
+ <div>
|
|
|
+ 系统支持管理应用市场中已下架的应用
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </page-header>
|
|
|
+
|
|
|
+ <page-main>
|
|
|
+ <el-table ref="appRemovedTableRef" v-loading="state.loading" class="list-table" :data="state.dataList" border stripe highlight-current-row height="100%">
|
|
|
+ <el-table-column type="index" label="序号" width="60" header-align="center" align="center" />
|
|
|
+
|
|
|
+ <el-table-column prop="appTitle" label="名称" header-align="center" align="center" width="200" />
|
|
|
+
|
|
|
+ <el-table-column prop="appCatTitle" label="分类" />
|
|
|
+
|
|
|
+ <el-table-column prop="appKey" label="app Key" />
|
|
|
+
|
|
|
+ <el-table-column prop="appSecret" label="app Secret" />
|
|
|
+
|
|
|
+ <el-table-column prop="appDesc" label="说明" />
|
|
|
+
|
|
|
+ <el-table-column label="操作" width="250" align="center" fixed="right">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button type="primary" size="small" plain @click="onAppPublish(scope.row)">
|
|
|
+ 重新上架
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="!scope.row.isFixed" type="danger" size="small" plain @click="onAppDel(scope.row)">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </page-main>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.absolute-container {
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .page-header {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .page-main {
|
|
|
+ // 让 page-main 的高度自适应
|
|
|
+ flex: 1;
|
|
|
+ overflow: auto;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .search-container {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|