This commit is contained in:
全栈小学生 2023-06-02 19:11:21 +08:00
parent 8cd76874c5
commit c59d011d1e
2 changed files with 50 additions and 47 deletions

View File

@ -46,7 +46,7 @@ router.beforeEach(async (to, from, next) => {
if (matched && matched.length && matched[0].path != '/:pathMatch(.*)*') {
matched = matched[0].path;
} else {
matched = 'site';
matched = getAppType();
}
const loginPath = to.path == '/' ? '/admin/login' : `${matched}/login`

View File

@ -3,7 +3,7 @@
<el-card class="box-card !border-none" shadow="never">
<div class="flex justify-between items-center">
<span class="text-[24px]">{{pageName}}</span>
<span class="text-[24px]">{{ pageName }}</span>
<el-button type="primary" class="w-[100px]" @click="addEvent">
{{ t('addSite') }}
</el-button>
@ -53,8 +53,11 @@
<el-alert class="warm-prompt" type="info">
<template #default>
<div class="flex items-center">
<el-icon class="mr-2" size="18"><Warning /></el-icon>
<p class="text-base">{{ t('operationTip') }} <span class="cursor-pointer" @click="toSiteLink">{{siteLink }}</span> </p>
<el-icon class="mr-2" size="18">
<Warning />
</el-icon>
<p class="text-base">{{ t('operationTip') }} <span class="cursor-pointer" @click="toSiteLink">{{
siteLink }}</span> </p>
</div>
</template>
</el-alert>
@ -65,32 +68,30 @@
<template #empty>
<span>{{ !siteTableData.loading ? t('emptyData') : '' }}</span>
</template>
<el-table-column prop="site_id" :label="t('siteId')" min-width="80"
:show-overflow-tooltip="true" />
<el-table-column prop="site_id" :label="t('siteId')" min-width="80" :show-overflow-tooltip="true" />
<el-table-column :label="t('siteInfo')" min-width="180" align="left">
<template #default="{ row }">
<div class="flex items-center">
<img class="w-[50px] h-[50px] mr-[10px]" v-if="row.logo" :src="img(row.logo)" alt="" >
<img class="w-[50px] h-[50px] mr-[10px]" v-else src="@/assets/images/site_logo.png" alt="" >
<div class="flex flex flex-col">
<span>{{ row.site_name || '' }}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="group_name" :label="t('groupId')" min-width="80"
:show-overflow-tooltip="true" />
<el-table-column :label="t('siteInfo')" min-width="180" align="left">
<template #default="{ row }">
<div class="flex items-center">
<img class="w-[50px] h-[50px] mr-[10px]" v-if="row.logo" :src="img(row.logo)" alt="">
<img class="w-[50px] h-[50px] mr-[10px]" v-else src="@/assets/images/site_logo.png" alt="">
<div class="flex flex flex-col">
<span>{{ row.site_name || '' }}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="group_name" :label="t('groupId')" min-width="80" :show-overflow-tooltip="true" />
<el-table-column :label="t('status')" min-width="80" align="center">
<template #default="{ row }">
<el-tag class="ml-2" type="success" v-if="row.status == 1">{{ row.status_name }}</el-tag>
<el-tag class="ml-2" type="error" v-else-if="row.status == 3">
{{ row.status_name }}
</el-tag>
<el-tag class="ml-2" type="error" v-else>
{{ row.status_name }}
</el-tag>
<el-tag class="ml-2" type="error" v-else>
{{ row.status_name }}
</el-tag>
</template>
</el-table-column>
<el-table-column prop="create_time" :label="t('createTime')" min-width="140"
@ -107,10 +108,12 @@
<template #default="{ row }">
<el-button type="primary" link @click="urlEvent(row)">{{ t('url') }}</el-button>
<el-button type="primary" link @click="infoEvent(row)">{{ t('info') }}</el-button>
<el-button type="primary" link @click="openClose(row.status, row.site_id)" v-if="row.status == 1 || row.status == 3">{{ row.status == 1 ? t('closeTxt') : t('openTxt') }}</el-button>
<el-button type="primary" link @click="openClose(row.status, row.site_id)"
v-if="row.status == 1 || row.status == 3">{{ row.status == 1 ? t('closeTxt') : t('openTxt')
}}</el-button>
</template>
</el-table-column>
</el-table>
<div class="mt-[16px] flex justify-end">
<el-pagination v-model:current-page="siteTableData.page" v-model:page-size="siteTableData.limit"
@ -126,13 +129,14 @@
<script lang="ts" setup>
import { reactive, ref } from 'vue'
import { img } from '@/utils/common'
import { t } from '@/lang'
import { getSiteList, getSiteGroupAll, getStatusList, closeSite, openSite } from '@/api/site'
import { FormInstance } from 'element-plus'
import { useRouter, useRoute } from 'vue-router'
import EditSite from '@/views/site/components/edit-site.vue'
const route = useRoute()
const pageName = route.meta.title;
const pageName = route.meta.title
const siteLink = location.origin + '/site/login'
@ -169,11 +173,11 @@ setStatusList()
const searchFormRef = ref<FormInstance>()
const resetForm = (formEl: FormInstance | undefined)=>{
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return
formEl.resetFields();
loadSiteList();
formEl.resetFields()
loadSiteList()
}
/**
@ -216,17 +220,16 @@ const infoEvent = (data: any) => {
router.push('/admin/site/info?id=' + data.site_id)
}
/**
* 站点域名
* @param data
*/
const urlEvent = (data: any) => {
const urlEvent = (data: any) => {
ElMessage({
message: t('siteUrlDevelopMessage') ,
grouping: true,
type: 'success',
})
message: t('siteUrlDevelopMessage'),
grouping: true,
type: 'success'
})
}
const toLink = (link) => {
@ -242,23 +245,23 @@ const toSiteLink = () => {
}
const openClose = (i, site_id) => {
if(i == 1) {
closeSite({site_id}).then(res=>{
loadSiteList()
})
}
if(i == 3) {
openSite({site_id}).then(res=>{
loadSiteList()
})
}
if (i == 1) {
closeSite({ site_id }).then(res => {
loadSiteList()
})
}
if (i == 3) {
openSite({ site_id }).then(res => {
loadSiteList()
})
}
}
</script>
<style lang="scss" scoped>
:deep(.warm-prompt) {
.el-alert__description{
.el-alert__description {
margin: 0;
}
}