liyongli 5 місяців тому
батько
коміт
d04af50045

+ 7 - 0
src/api/index.ts

@@ -36,6 +36,13 @@ export const getOriginalityList = (data: Pages) => {
   return instance.post('/ad/creatives/list', data)
 }
 
+/**
+ * 创意发布
+ */
+export const onlineOriginality = (id: number) => {
+  return instance.get(`/ad/creatives/publish?creativeId=${id}`)
+}
+
 /**
  * 获取创意详情
  */

+ 15 - 12
src/views/AdvertisingSpaceDatePage.vue

@@ -34,21 +34,21 @@
   </el-form>
   <el-empty v-show="!dataList || !dataList.length" description="暂无数据" />
   <div class="row" v-show="dataList && dataList.length">
-    <div class="col">广告位</div>
+    <div class="col" style="width: 10em">告位</div>
     <div
       class="col"
-      :style="'width: calc((100% - 100px)/' + dayCha + ')'"
+      :style="'width: calc((100% - 10em)/' + dayCha + ')'"
       v-for="v in tableHeader"
       :key="v"
       v-text="v"
     ></div>
   </div>
   <div class="row" v-show="dataList && dataList.length" v-for="item in dataList" :key="item.name">
-    <div class="col" style="" v-text="item.name"></div>
+    <div class="col" style="width: 10em" v-text="item.name"></div>
     <div
       class="col"
       :style="
-        'width: calc((100% - 100px)/' +
+        'width: calc((100% - 10em)/' +
         dayCha +
         ');background-color: ' +
         (v ? '#409eff' : '#ffffff00')
@@ -71,18 +71,14 @@ import type { SiteList } from '@/types/Site'
 import { getAsSpaceList, getSiteList } from '@/api/index'
 import { formatDateSite } from '@/tool/index'
 
-const SiteList = ref<SiteList>([])
-getSiteList().then((res) => {
-  SiteList.value.push(...res.data)
-})
-
 const time = new Date().getTime()
-const loading = ref(false)
 const from = ref<Pages>({
   pageNum: 1,
   pageSize: 999999,
   datas: [formatDateSite(time - 30 * 86400000, 'Y-M-D'), formatDateSite(time, 'Y-M-D')],
 })
+const SiteList = ref<SiteList>([])
+const loading = ref(false)
 const dataList = ref<AsSpaceList[]>()
 const firstDay = ref<Date>()
 
@@ -147,7 +143,6 @@ const getDataList = () => {
 }
 
 const DateDifference = (start: string, end: string) => {
-  console.log(start, end)
   const startDate = new Date(start + ' 00:00:00')
   const endDate = new Date(end + ' 00:00:00')
   return Math.ceil((endDate.getTime() - startDate.getTime()) / 86400000) + 1
@@ -168,7 +163,11 @@ const renderTableHeader = () => {
   tableHeader.value = TH
 }
 
-getDataList()
+getSiteList().then((res) => {
+  SiteList.value.push(...res.data)
+  from.value.mediaId = res.data[0].mediaId
+  getDataList()
+})
 </script>
 
 <style scoped>
@@ -191,5 +190,9 @@ getDataList()
   font-size: 14px;
   width: 100px;
   text-align: center;
+  /* 省略号 */
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  vertical-align: middle;
 }
 </style>

+ 2 - 1
src/views/AdvertisingSpacePage.vue

@@ -257,9 +257,10 @@ const subCreateSpace = async (formEl: FormInstance | undefined) => {
   })
 }
 
-onSubmit()
 getSiteList().then((res) => {
   SiteList.value = res.data || []
+  pages.mediaId = res.data[0].mediaId
+  onSubmit()
 })
 </script>
 

+ 37 - 24
src/views/OriginalityPage.vue

@@ -28,9 +28,10 @@
 
   <el-table :data="tableData" stripe style="width: 100%">
     <el-table-column prop="creativeName" label="名称" />
-    <el-table-column prop="statusDesc" label="状态" />
-    <el-table-column prop="startDate" label="生效日期" />
-    <el-table-column prop="endDate" label="结束日期" />
+    <el-table-column prop="statusDesc" label="状态" width="80" />
+    <el-table-column prop="publishStatusDesc" label="发布状态" width="80" />
+    <el-table-column prop="startDate" label="生效日期" width="120" />
+    <el-table-column prop="endDate" label="结束日期" width="120" />
     <el-table-column label="操作">
       <template #default="scope">
         <el-popconfirm
@@ -41,27 +42,29 @@
             <el-button link type="primary" size="small">删除</el-button>
           </template>
         </el-popconfirm>
-        <el-popconfirm
-          title="确定启用该创意吗?"
-          v-if="scope.row.status == 6 || scope.row.status == 8 || scope.row.status == 4"
-          @confirm="changeStatus(scope.row.creativeId, 10, '启用成功')"
-        >
-          <template #reference>
-            <el-button link type="primary" size="small">启用</el-button>
-          </template>
-        </el-popconfirm>
-        <el-popconfirm
-          title="确定禁用该创意吗?"
-          v-if="scope.row.status == 10"
-          @confirm="changeStatus(scope.row.creativeId, 6, '禁用成功')"
-        >
-          <template #reference>
-            <el-button link type="primary" size="small">禁用</el-button>
-          </template>
-        </el-popconfirm>
-        <el-button link type="primary" size="small" @click="() => creatEditPlan(scope.row)">
-          修改
-        </el-button>
+        <div v-if="scope.row.status !== 7" style="display: inline-block">
+          <el-popconfirm
+            title="确定上线该创意吗?"
+            v-if="scope.row.publishStatus == 6 || scope.row.publishStatus == 0"
+            @confirm="publishAsTreeFunc(scope.row.creativeId)"
+          >
+            <template #reference>
+              <el-button link type="primary" size="small">上线</el-button>
+            </template>
+          </el-popconfirm>
+          <el-popconfirm
+            title="确定下线该创意吗?"
+            v-if="scope.row.publishStatus == 10"
+            @confirm="changeStatus(scope.row.creativeId, 6, '下线成功')"
+          >
+            <template #reference>
+              <el-button link type="primary" size="small">下线</el-button>
+            </template>
+          </el-popconfirm>
+          <el-button link type="primary" size="small" @click="() => creatEditPlan(scope.row)">
+            修改
+          </el-button>
+        </div>
       </template>
     </el-table-column>
   </el-table>
@@ -206,6 +209,7 @@ import {
   createOriginality,
   updateOriginality,
   updateOriginalityStatus,
+  onlineOriginality,
 } from '@/api/index'
 import { ElLoading, ElMessage } from 'element-plus'
 import { ref } from 'vue'
@@ -425,6 +429,15 @@ const linkSourceMaterial = () => {
   router.push('/authorized/sourceMaterial?creativeId=' + form.value.creativeId)
 }
 
+const publishAsTreeFunc = (id: number) => {
+  onlineOriginality(id).then(() => {
+    ElMessage({
+      message: '发布成功',
+      type: 'success',
+    })
+  })
+}
+
 getOriginality()
 </script>
 

+ 25 - 51
src/views/SitePage.vue

@@ -60,21 +60,12 @@
             <el-button link type="primary" size="small" @click="() => Add(scope.row, catalogData)">
               添加
             </el-button>
-            <el-popconfirm
-              @confirm="publishAsTreeFunc(scope.row.catalogId)"
-              title="确定发布该栏目吗?"
-            >
-              <template #reference>
-                <el-button link type="primary" size="small">发布</el-button>
-              </template>
-            </el-popconfirm>
             <el-popconfirm @confirm="deleteSiteFun(scope.row.catalogId)" title="确定删除该栏目吗?">
               <template #reference>
                 <el-button link type="primary" size="small">删除</el-button>
               </template>
             </el-popconfirm>
             <el-button
-              v-if="scope.row.status !== 0"
               @click="() => copyCode(scope.row.catalogId)"
               link
               type="primary"
@@ -105,14 +96,7 @@ import type { SiteList } from '@/types/Site'
 import type { CatalogTreeOri } from '@/types/Catalog'
 import { reactive, ref } from 'vue'
 import { ElMessage, ElNotification } from 'element-plus'
-import {
-  getSiteList,
-  deleteAsTree,
-  getAsTree,
-  updateAsTree,
-  createAsTree,
-  publishAsTree,
-} from '@/api/index'
+import { getSiteList, deleteAsTree, getAsTree, updateAsTree, createAsTree } from '@/api/index'
 
 import { formatDateSite } from '@/tool/index'
 
@@ -198,41 +182,31 @@ const saveEdit = (row: CatalogTreeOri) => {
   })
 }
 
-const publishAsTreeFunc = (id: number) => {
-  loading.value = true
-  publishAsTree(id)
-    .then(() => {
-      loading.value = false
-      show(mediaId[0], mediaId[1])
-      ElMessage({
-        message: '发布成功',
-        type: 'success',
-      })
-    })
-    .catch(() => {
-      loading.value = false
-    })
-}
-
 const copyCode = (id: number) => {
-  try {
-    navigator.clipboard.writeText(`<script src="http://cxzx.smcic.net/ad/catalog/${id}.js" />`)
-    ElMessage({
-      message: '复制成功',
-      type: 'success',
-    })
-    ElNotification({
-      title: '代码(如复制失败可直接复制下文)',
-      message: `<script src="http://cxzx.smcic.net/ad/catalog/${id}.js" />`,
-      duration: 0,
-    })
-  } catch (error) {
-    console.log(error)
-    ElMessage({
-      message: '复制失败',
-      type: 'info',
-    })
-  }
+  ElNotification({
+    title: '请复制下文',
+    message: `<script src="http://cxzx.smcic.net/ad/catalog/${id}.js" />  `,
+    duration: 0,
+  })
+  ElNotification({
+    title: 'divID',
+    message: ``,
+    duration: 0,
+  })
+  // #sxtv-ad- + id
+  // try {
+  //   navigator.clipboard.writeText(`<script src="http://cxzx.smcic.net/ad/catalog/${id}.js" />`)
+  //   ElMessage({
+  //     message: '复制成功',
+  //     type: 'success',
+  //   })
+  // } catch (error) {
+  //   console.log(error)
+  //   ElMessage({
+  //     message: '复制失败',
+  //     type: 'info',
+  //   })
+  // }
 }
 
 const Add = (row: CatalogTreeOri, list: CatalogTreeOri[]) => {

+ 168 - 4
src/views/SkeletonPage.vue

@@ -32,8 +32,167 @@ const loginout = () => {
     <el-aside>
       <!-- 左侧侧边栏容器 -->
       <div class="logo">
-        <span v-text="phone" style="vertical-align: middle"></span>
-        <el-button type="warning" @click="loginout" link> 退出 </el-button>
+        <svg
+          t="1733966229645"
+          class="icon"
+          viewBox="0 0 1024 1024"
+          version="1.1"
+          xmlns="http://www.w3.org/2000/svg"
+          p-id="9722"
+          width="48"
+          height="48"
+        >
+          <path
+            d="M883.19 888.68H142.18c-63.91 0-115.67-51.76-115.67-115.66V270.5c0-63.91 51.76-115.67 115.67-115.67h741.01c63.9 0 115.66 51.76 115.66 115.67v502.51c0.01 63.91-51.81 115.67-115.66 115.67z m0 0"
+            fill="#F4812C"
+            p-id="9723"
+          ></path>
+          <path
+            d="M832.36 868.9H142.18c-63.91 0-115.67-51.76-115.67-115.66V270.5c0-63.91 51.76-115.67 115.67-115.67h690.18c63.9 0 115.66 51.76 115.66 115.67v482.73c0 63.85-51.76 115.67-115.66 115.67z m0 0"
+            fill="#FF973C"
+            p-id="9724"
+          ></path>
+          <path
+            d="M733.29 716.74H175.78c-25.56 0-46.27-20.71-46.27-46.27V281.61c0-25.56 20.7-46.26 46.27-46.26h557.51c25.56 0 46.27 20.7 46.27 46.26v388.93c-0.01 25.5-20.71 46.2-46.27 46.2z m0 0"
+            fill="#ECF5FE"
+            p-id="9725"
+          ></path>
+          <path
+            d="M844.67 355.63c0 16.53 9.39 31.8 24.64 40.07 15.24 8.26 34.03 8.26 49.28 0 15.24-8.27 24.64-23.54 24.64-40.07s-9.39-31.8-24.64-40.07c-15.24-8.26-34.03-8.26-49.28 0-15.24 8.27-24.64 23.54-24.64 40.07z m0 0"
+            fill="#F4812C"
+            p-id="9726"
+          ></path>
+          <path
+            d="M844.67 349.85a46.27 46.27 0 0 0 23.13 40.07 46.247 46.247 0 0 0 46.27 0 46.27 46.27 0 0 0 23.13-40.07c0-16.53-8.82-31.8-23.13-40.06a46.247 46.247 0 0 0-46.27 0 46.254 46.254 0 0 0-23.13 40.06z m0 0"
+            fill="#8753FF"
+            p-id="9727"
+          ></path>
+          <path
+            d="M844.67 344.93c0 22.84 18.51 41.35 41.35 41.35s41.35-18.51 41.35-41.35-18.51-41.35-41.35-41.35c-22.83 0-41.35 18.51-41.35 41.35z m0 0"
+            fill="#9368FE"
+            p-id="9728"
+          ></path>
+          <path
+            d="M890.3 303.82c-17.38-1.81-34.03 7.52-41.57 23.29-7.54 15.77-4.35 34.58 7.97 46.98-13.93-50.79 27.99-68.19 33.6-70.27z m0 0"
+            fill="#B8A1FF"
+            p-id="9729"
+          ></path>
+          <path
+            d="M844.67 524.22c0 16.53 9.39 31.8 24.64 40.07 15.24 8.26 34.03 8.26 49.28 0 15.24-8.27 24.64-23.54 24.64-40.07s-9.39-31.8-24.64-40.07c-15.24-8.26-34.03-8.26-49.28 0-15.24 8.27-24.64 23.54-24.64 40.07z m0 0"
+            fill="#F4812C"
+            p-id="9730"
+          ></path>
+          <path
+            d="M844.67 518.43a46.27 46.27 0 0 0 23.13 40.07 46.247 46.247 0 0 0 46.27 0 46.27 46.27 0 0 0 23.13-40.07c0-16.53-8.82-31.8-23.13-40.06a46.247 46.247 0 0 0-46.27 0 46.254 46.254 0 0 0-23.13 40.06z m0 0"
+            fill="#8753FF"
+            p-id="9731"
+          ></path>
+          <path
+            d="M844.67 513.52c0 22.84 18.51 41.35 41.35 41.35s41.35-18.51 41.35-41.35-18.51-41.35-41.35-41.35c-22.83 0-41.35 18.51-41.35 41.35z m0 0"
+            fill="#9368FE"
+            p-id="9732"
+          ></path>
+          <path
+            d="M890.3 472.4c-17.38-1.81-34.03 7.51-41.57 23.29-7.54 15.77-4.35 34.58 7.97 46.98-13.93-50.78 27.99-68.19 33.6-70.27z m0 0"
+            fill="#B8A1FF"
+            p-id="9733"
+          ></path>
+          <path
+            d="M649.26 825.06h-501.3c-10.18 0-18.45-8.27-18.45-18.45v-6.3c0-6.71 5.44-12.15 12.15-12.15h516.91c5.03 0 9.14 4.1 9.14 9.14v9.31c0 10.24-8.27 18.45-18.45 18.45z m0 0"
+            fill="#F4812C"
+            p-id="9734"
+          ></path>
+          <path
+            d="M649.26 817.08h-501.3c-10.18 0-18.45-8.27-18.45-18.45s8.27-18.45 18.45-18.45h501.3c10.18 0 18.45 8.27 18.45 18.45s-8.27 18.45-18.45 18.45z m0 0"
+            fill="#F7D53A"
+            p-id="9735"
+          ></path>
+          <path
+            d="M652.78 810.09H144.43c-8.27 0-14.98-6.71-14.98-14.98s6.71-14.98 14.98-14.98h508.3c3.97 0 7.78 1.58 10.59 4.39a14.98 14.98 0 0 1 4.39 10.59c0 8.27-6.65 14.98-14.93 14.98z m0 0"
+            fill="#FFEC64"
+            p-id="9736"
+          ></path>
+          <path
+            d="M908.47 825.06H802.8c-10.18 0-18.45-8.27-18.45-18.45v-2.2c0-10.18 8.27-18.44 18.45-18.44h105.66c10.18 0 18.45 8.27 18.45 18.44v2.2c0 10.24-8.27 18.45-18.44 18.45z m0 0"
+            fill="#F4812C"
+            p-id="9737"
+          ></path>
+          <path
+            d="M908.47 817.08H802.8c-10.18 0-18.45-8.27-18.45-18.45s8.27-18.45 18.45-18.45h105.66c10.18 0 18.45 8.27 18.45 18.45s-8.27 18.45-18.44 18.45z m0 0"
+            fill="#F7D53A"
+            p-id="9738"
+          ></path>
+          <path
+            d="M911.99 810.09H799.33c-8.27 0-14.98-6.71-14.98-14.98s6.71-14.98 14.98-14.98h112.66a14.97 14.97 0 0 1 14.98 14.98c-0.04 8.25-6.72 14.94-14.98 14.98z m0 0"
+            fill="#FFEC64"
+            p-id="9739"
+          ></path>
+          <path
+            d="M197.64 888.68l-38.92 78.94c-9.94 20.13 0 44.42 21.23 51.82a37.548 37.548 0 0 0 38.69-8.79l122.43-121.91H197.64v-0.06z m678.32 0l38.92 78.94c9.94 20.13 0 44.42-21.23 51.82a37.526 37.526 0 0 1-38.68-8.79L732.54 888.74h143.43v-0.06z m0 0"
+            fill="#68B6FC"
+            p-id="9740"
+          ></path>
+          <path
+            d="M702.75 801.93c0 14.69 11.91 26.6 26.6 26.6 14.69 0 26.61-11.91 26.61-26.6 0-14.69-11.91-26.61-26.61-26.61-14.68 0.01-26.6 11.92-26.6 26.61z m0 0"
+            fill="#F4812C"
+            p-id="9741"
+          ></path>
+          <path
+            d="M701.71 798.64c0 8.97 4.79 17.25 12.55 21.74a25.1 25.1 0 0 0 25.09 0 25.088 25.088 0 0 0 12.55-21.74 25.1 25.1 0 0 0-12.55-21.74 25.1 25.1 0 0 0-25.09 0 25.11 25.11 0 0 0-12.55 21.74z m0 0"
+            fill="#8753FF"
+            p-id="9742"
+          ></path>
+          <path
+            d="M701.66 796.21c0 12.55 10.18 22.72 22.73 22.72s22.73-10.18 22.73-22.72c0-12.55-10.18-22.73-22.73-22.73-12.56 0-22.73 10.18-22.73 22.73z m0 0"
+            fill="#9368FE"
+            p-id="9743"
+          ></path>
+          <path
+            d="M405.26 154.83L335.92 39.92a23.338 23.338 0 0 1-2.54-18.17 23.36 23.36 0 0 1 11.38-14.39c10.93-5.95 24.6-2.25 31.06 8.38L460.6 154.9h-55.35v-0.07z m216.41 0l69.34-114.91c6.88-11.39 2.84-26.2-8.85-32.56-10.93-5.95-24.6-2.25-31.06 8.38l-84.84 139.09h55.41z m0 0"
+            fill="#68B6FC"
+            p-id="9744"
+          ></path>
+          <path
+            d="M149.14 443.84c-4.46 0-8.91-1.68-12.26-5.08-6.77-6.78-6.77-17.75 0-24.52l160.95-160.95c6.77-6.77 17.74-6.77 24.52 0 6.77 6.77 6.77 17.75 0 24.52L161.4 438.76c-3.42 3.35-7.87 5.08-12.26 5.08z m49.44 87.85c-4.45 0-8.91-1.73-12.32-5.15-6.74-6.79-6.72-17.76 0.06-24.52l220.81-219.25c3.26-3.24 7.68-5.06 12.28-5.03 4.6 0.02 9.01 1.88 12.24 5.15 6.74 6.8 6.72 17.77-0.06 24.52L210.78 526.66c-3.35 3.35-7.8 5.03-12.2 5.03z m138.45-4.45c-4.46 0-8.91-1.68-12.26-5.09-6.77-6.77-6.77-17.75 0-24.52l122.89-122.66c6.77-6.77 17.75-6.77 24.52 0s6.77 17.75 0 24.52L349.3 522.15a17.339 17.339 0 0 1-12.27 5.09z m0 0"
+            fill="#FFFFFF"
+            p-id="9745"
+          ></path>
+          <path
+            d="M687.66 716.74h45.63c25.56 0 46.27-20.71 46.27-46.27V281.61c0-25.56-20.7-46.26-46.27-46.26h-47.36c12.08 0.35 60.43 5.84 60.43 69.74v358.8c0-0.01 4.39 52.85-58.7 52.85z m0 0"
+            fill="#C7DDEF"
+            p-id="9746"
+          ></path>
+          <path
+            d="M733.29 725.42H175.78c-30.31 0-54.94-24.64-54.94-54.94V281.61c0-30.3 24.64-54.94 54.94-54.94h557.51c30.31 0 54.94 24.64 54.94 54.94v388.93c0 30.24-24.64 54.88-54.94 54.88zM175.78 244.01c-20.7 0-37.59 16.89-37.59 37.59v388.93c0 20.7 16.89 37.59 37.59 37.59h557.51c20.7 0 37.59-16.89 37.59-37.59V281.61c0-20.7-16.89-37.59-37.59-37.59H175.78z m0 0"
+            fill="#F4812C"
+            p-id="9747"
+          ></path>
+          <path
+            d="M197.64 888.68l-5.84 11.8h110.87l-100.46 110.06s-10.3 15.44-28.8 5.89c2.02 1.16 4.16 2.2 6.54 3.01a37.548 37.548 0 0 0 38.69-8.79l122.43-121.91H197.64v-0.06z m548.25 13.3H863.7s44.24 62.58 51.35 98.14c4.69-9.89 5.09-21.8-0.17-32.5l-38.92-78.94H732.54l13.35 13.3z m0 0"
+            fill="#42AAEA"
+            p-id="9748"
+          ></path>
+          <path
+            d="M460.6 154.83L375.82 15.69C369.35 5.07 355.7 1.38 344.76 7.3c-1.33 0.76-2.54 1.56-3.64 2.55 0.75-0.23 16.42-4.28 23.77 8.15 5.96 10.18 60.61 100.69 82.41 136.83h13.3zM685.29 9.5c2.14 2.08 7.18 9.13-0.81 23.88-7.34 13.65-52.16 86.46-73.79 121.45h10.99l69.34-114.91c6.18-10.29 3.47-23.31-5.73-30.42z m0 0"
+            fill="#4BADEA"
+            p-id="9749"
+          ></path>
+          <path
+            d="M435.16 187.68c0-3.82-1.52-7.48-4.21-10.18a14.42 14.42 0 0 0-10.19-4.22H147.21s-99.65 0.87-99.65 136.08c27.7-55.23 45.4-107.28 101.9-107.28h271.29c7.99 0.01 14.41-6.42 14.41-14.4zM46.47 561.63c-3.65 0-6.65 2.95-6.65 6.65v202.3s-2.6 66.11 53.9 88.6c-17.69-18.28-40.6-45.75-40.6-90.05V568.35c-0.01-3.71-3.01-6.72-6.65-6.72z m0 0"
+            fill="#F9C38F"
+            p-id="9750"
+          ></path>
+          <path
+            d="M653.25 795.11H145.12c-2.89 0-5.26-2.37-5.26-5.26s2.37-5.26 5.26-5.26h508.12c2.89 0 5.26 2.37 5.26 5.26a5.232 5.232 0 0 1-5.25 5.26z m0 0"
+            fill="#FFF7D7"
+            p-id="9751"
+          ></path>
+          <path
+            d="M402.72 602.94l-12.47-36a17.429 17.429 0 0 0-16.47-11.73h-71.14c-7.33 0-13.88 4.59-16.38 11.48l-13.28 36.51a17.437 17.437 0 0 1-16.38 11.48c-12.09 0-20.51-12-16.39-23.37l76.95-212.5c2.5-6.9 9.05-11.5 16.39-11.5h9.52c7.34 0 13.89 4.6 16.39 11.5l76.95 212.5c4.12 11.37-4.3 23.37-16.39 23.37h-0.83a17.438 17.438 0 0 1-16.47-11.74z m-75.5-83.41h22.45c11.89 0 20.29-11.64 16.55-22.93L345 432.72c-3.44-10.29-5.15-18.23-5.15-23.79h-1.03c-0.69 7.14-2.75 15.07-6.18 23.79l-21.91 63.71c-3.89 11.32 4.52 23.1 16.49 23.1zM545.79 613.49H486c-9.63 0-17.43-7.81-17.43-17.43V384.74c0-9.63 7.81-17.43 17.43-17.43h61.85c69.33 0.8 104.33 42.03 105.03 123.68 2.05 84.05-33.65 124.87-107.09 122.5z m1.03-209.32h-25.81c-9.63 0-17.43 7.81-17.43 17.43v141.14c0 9.63 7.81 17.43 17.43 17.43h24.78c48.04 0.8 71.72-28.54 71.05-88.01-0.7-57.85-24.04-87.19-70.02-87.99z"
+            fill="#F4812C"
+            p-id="9752"
+          ></path>
+        </svg>
       </div>
       <el-menu :default-active="deact" @select="handleSelect">
         <template v-for="item in menu" :key="item.path">
@@ -54,6 +213,10 @@ const loginout = () => {
     </el-aside>
     <el-main>
       <!-- 右侧内容容器 -->
+      <div style="text-align: right; margin-bottom: 2em">
+        <span v-text="phone" style="vertical-align: middle"></span>
+        <el-button type="warning" @click="loginout" link> 退出 </el-button>
+      </div>
       <RouterView />
     </el-main>
   </el-container>
@@ -62,10 +225,11 @@ const loginout = () => {
 <style scoped>
 .logo {
   height: 60px;
-  line-height: 60px;
   background: #409eff;
   color: #fff;
-  text-align: center;
+  display: flex;
+  align-items: center;
+  justify-content: center;
 }
 
 .el-menu--horizontal {