完善页面细节
This commit is contained in:
@@ -17,7 +17,7 @@ import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.page { padding: 16px; }
|
||||
.page { padding: 0; }
|
||||
.title { font-size: 18px; font-weight: 600; }
|
||||
.tip { color: #999; margin-top: 8px; display: block; }
|
||||
</style>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
</script>
|
||||
<style scoped>
|
||||
.page { padding: 16px; }
|
||||
.page { padding: 0; }
|
||||
.title { font-size: 18px; font-weight: 600; }
|
||||
.tip { color: #999; margin-top: 8px; display: block; }
|
||||
</style>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
</script>
|
||||
<style scoped>
|
||||
.page { padding: 16px; }
|
||||
.page { padding: 0; }
|
||||
.title { font-size: 18px; font-weight: 600; }
|
||||
.tip { color: #999; margin-top: 8px; display: block; }
|
||||
</style>
|
||||
|
||||
@@ -1,25 +1,26 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 搜索栏 -->
|
||||
<view class="admin-card filter-card">
|
||||
<view class="filter-row">
|
||||
<view class="filter-item">
|
||||
<text class="label">数据搜索:</text>
|
||||
<input class="filter-input input-large" placeholder="请输入ID,KEY,数据组名称,简介" />
|
||||
<AdminLayout current-page="maintain_dev_data">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 搜索栏 -->
|
||||
<view class="admin-card filter-card">
|
||||
<view class="filter-row">
|
||||
<view class="filter-item">
|
||||
<text class="label">数据搜索:</text>
|
||||
<input class="filter-input input-large" placeholder="请输入ID,KEY,数据组名称,简介" />
|
||||
</view>
|
||||
<button class="btn primary" @click="onSearch">查询</button>
|
||||
</view>
|
||||
<button class="btn primary" @click="onSearch">查询</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 内容区 -->
|
||||
<view class="admin-card content-card">
|
||||
<!-- 操作按钮行 -->
|
||||
<view class="action-bar">
|
||||
<button class="btn primary small" @click="onAdd">添加数据组</button>
|
||||
</view>
|
||||
|
||||
<!-- 表格 -->
|
||||
<!-- 内容区 -->
|
||||
<view class="admin-card content-card">
|
||||
<!-- 操作按钮行 -->
|
||||
<view class="action-bar">
|
||||
<button class="btn primary small" @click="onAdd">添加数据组</button>
|
||||
</view>
|
||||
|
||||
<!-- 表格 -->
|
||||
<view class="table-container">
|
||||
<view class="table-header">
|
||||
<view class="col col-id"><text>ID</text></view>
|
||||
@@ -48,10 +49,12 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import { ref } from 'vue'
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
const dataList = ref([
|
||||
{ id: 49, key: 'routine_seckill_time', name: '秒杀时间段', desc: '秒杀时间段' },
|
||||
@@ -101,7 +104,9 @@ function onDelete(item: any) {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-card {
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 顶部通知 -->
|
||||
<view class="admin-card alert-card">
|
||||
<view class="alert-content">
|
||||
<text class="alert-title">启动定时任务两种方式:</text>
|
||||
<text class="alert-desc">1、使用命令行启动:php think timer start --d; 如果更改了执行周期、编辑是否开启、删除定时任务需要重新启动下定时任务确保生效;</text>
|
||||
<text class="alert-desc">2、使用接口触发定时任务,建议每分钟调用一次,接口地址 https://v5.crmeb.net/api/crontab/run</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 操作卡片 -->
|
||||
<view class="admin-card content-card">
|
||||
<view class="tabs-row">
|
||||
<view class="tab-item active"><text>系统任务</text></view>
|
||||
<view class="tab-item"><text>自定义任务</text></view>
|
||||
<AdminLayout current-page="maintain_dev_task">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 顶部通知 -->
|
||||
<view class="admin-card alert-card">
|
||||
<view class="alert-content">
|
||||
<text class="alert-title">启动定时任务两种方式:</text>
|
||||
<text class="alert-desc">1、使用命令行启动:php think timer start --d; 如果更改了执行周期、编辑是否开启、删除定时任务需要重新启动下定时任务确保生效;</text>
|
||||
<text class="alert-desc">2、使用接口触发定时任务,建议每分钟调用一次,接口地址 https://v5.crmeb.net/api/crontab/run</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 表格 -->
|
||||
<!-- 操作卡片 -->
|
||||
<view class="admin-card content-card">
|
||||
<view class="tabs-row">
|
||||
<view class="tab-item active"><text>系统任务</text></view>
|
||||
<view class="tab-item"><text>自定义任务</text></view>
|
||||
</view>
|
||||
|
||||
<!-- 表格 -->
|
||||
<view class="table-container list-table mt-16">
|
||||
<view class="table-header">
|
||||
<view class="col col-title"><text>标题</text></view>
|
||||
@@ -49,10 +50,12 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import { ref } from 'vue'
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
const dataList = ref([
|
||||
{ id: 1, title: '自动开具/冲红电子发票', desc: '每隔10分钟执行自动开具/冲红电子发票', cycle: '每隔10分钟执行一次', status: true },
|
||||
@@ -75,7 +78,9 @@ function onEdit(item: any) {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-card {
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 提示语 -->
|
||||
<view class="admin-card alert-card">
|
||||
<text class="alert-title">自定义事件说明:</text>
|
||||
<text class="alert-desc">1、新增的事件会在对应的事件类型相关的流程中触发,例:选择用户登录,则在用户登录时执行代码。</text>
|
||||
<text class="alert-desc">2、可以使用对应事件类型中的参数,例:$data['nickname'], $data['phone']等。</text>
|
||||
<text class="alert-desc">3、调用类的时请写入完整路径,例:\think\facade\Db、\app\services\other\CacheServices::class等。</text>
|
||||
</view>
|
||||
|
||||
<!-- 内容区 -->
|
||||
<view class="admin-card content-card">
|
||||
<!-- 操作按钮行 -->
|
||||
<view class="action-bar">
|
||||
<button class="btn primary small" @click="onAdd">新增系统事件</button>
|
||||
<AdminLayout current-page="maintain_dev_event">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 提示语 -->
|
||||
<view class="admin-card alert-card">
|
||||
<text class="alert-title">自定义事件说明:</text>
|
||||
<text class="alert-desc">1、新增的事件会在对应的事件类型相关的流程中触发,例:选择用户登录,则在用户登录时执行代码。</text>
|
||||
<text class="alert-desc">2、可以使用对应事件类型中的参数,例:$data['nickname'], $data['phone']等。</text>
|
||||
<text class="alert-desc">3、调用类的时请写入完整路径,例:\think\facade\Db、\app\services\other\CacheServices::class等。</text>
|
||||
</view>
|
||||
|
||||
<!-- 表格(暂无数据) -->
|
||||
<view class="table-container list-table">
|
||||
<!-- 内容区 -->
|
||||
<view class="admin-card content-card">
|
||||
<!-- 操作按钮行 -->
|
||||
<view class="action-bar">
|
||||
<button class="btn primary small" @click="onAdd">新增系统事件</button>
|
||||
</view>
|
||||
|
||||
<!-- 表格(暂无数据) -->
|
||||
<view class="table-container list-table">
|
||||
<view class="table-header">
|
||||
<view class="col col-id"><text>编号</text></view>
|
||||
<view class="col col-name"><text>事件名</text></view>
|
||||
@@ -36,9 +37,12 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
function onAdd() {
|
||||
uni.showToast({ title: '新增系统事件', icon: 'none' })
|
||||
}
|
||||
@@ -47,7 +51,9 @@ function onAdd() {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-card {
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<view class="admin-card content-card">
|
||||
<view class="form-container">
|
||||
<view class="form-item">
|
||||
<view class="form-label">模块配置:</view>
|
||||
<view class="form-content">
|
||||
<label class="checkbox-item">
|
||||
<checkbox color="#1890ff" checked />
|
||||
<text class="checkbox-label">秒杀</text>
|
||||
</label>
|
||||
<label class="checkbox-item">
|
||||
<checkbox color="#1890ff" checked />
|
||||
<text class="checkbox-label">砍价</text>
|
||||
</label>
|
||||
<label class="checkbox-item">
|
||||
<checkbox color="#1890ff" checked />
|
||||
<text class="checkbox-label">拼团</text>
|
||||
</label>
|
||||
<AdminLayout current-page="maintain_dev_module">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<view class="admin-card content-card">
|
||||
<view class="form-container">
|
||||
<view class="form-item">
|
||||
<view class="form-label">模块配置:</view>
|
||||
<view class="form-content">
|
||||
<label class="checkbox-item">
|
||||
<checkbox color="#1890ff" checked />
|
||||
<text class="checkbox-label">秒杀</text>
|
||||
</label>
|
||||
<label class="checkbox-item">
|
||||
<checkbox color="#1890ff" checked />
|
||||
<text class="checkbox-label">砍价</text>
|
||||
</label>
|
||||
<label class="checkbox-item">
|
||||
<checkbox color="#1890ff" checked />
|
||||
<text class="checkbox-label">拼团</text>
|
||||
</label>
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-tip">
|
||||
@@ -30,9 +31,11 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
function onSubmit() {
|
||||
uni.showToast({ title: '已提交', icon: 'none' })
|
||||
}
|
||||
@@ -41,7 +44,9 @@ function onSubmit() {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-card {
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 搜索栏 -->
|
||||
<view class="admin-card filter-card">
|
||||
<view class="filter-row">
|
||||
<view class="filter-item">
|
||||
<text class="label">规则状态:</text>
|
||||
<view class="filter-select">
|
||||
<text class="select-placeholder">请选择</text>
|
||||
<text class="arrow">▼</text>
|
||||
<AdminLayout current-page="maintain_dev_auth">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 搜索栏 -->
|
||||
<view class="admin-card filter-card">
|
||||
<view class="filter-row">
|
||||
<view class="filter-item">
|
||||
<text class="label">规则状态:</text>
|
||||
<view class="filter-select">
|
||||
<text class="select-placeholder">请选择</text>
|
||||
<text class="arrow">▼</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter-item">
|
||||
<text class="label">按钮名称:</text>
|
||||
<input class="filter-input" placeholder="请输入按钮名称" />
|
||||
</view>
|
||||
<button class="btn primary" @click="onSearch">查询</button>
|
||||
</view>
|
||||
<view class="filter-item">
|
||||
<text class="label">按钮名称:</text>
|
||||
<input class="filter-input" placeholder="请输入按钮名称" />
|
||||
</view>
|
||||
<button class="btn primary" @click="onSearch">查询</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 内容区 -->
|
||||
<view class="admin-card content-card">
|
||||
@@ -64,10 +65,12 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import { ref } from 'vue'
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
const dataList = ref([
|
||||
{ id: 1, name: '主页', auth: 'admin-home', route: '菜单: /admin/index', status: true, memo: '主页' },
|
||||
@@ -121,7 +124,9 @@ function onDelete(item: any) {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-card {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<template>
|
||||
<view class="admin-maintain-config">
|
||||
<view class="page-header border-shadow">
|
||||
<text class="page-title">开发配置 - 配置分类</text>
|
||||
<view class="btn-primary"><text class="btn-txt">+ 添加配置</text></view>
|
||||
</view>
|
||||
<AdminLayout currentPage="maintain-dev-config">
|
||||
<view class="admin-maintain-config">
|
||||
<view class="page-header border-shadow">
|
||||
<text class="page-title">开发配置 - 配置分类</text>
|
||||
<view class="btn-primary"><text class="btn-txt">+ 添加配置</text></view>
|
||||
</view>
|
||||
|
||||
<view class="table-container border-shadow">
|
||||
<view class="table-header">
|
||||
@@ -28,11 +29,15 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.admin-maintain-config { padding: 20px; }
|
||||
.admin-maintain-config { padding: 0; }
|
||||
.border-shadow { background-color: #fff; border-radius: 4px; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05); }
|
||||
.page-header { padding: 20px 24px; margin-bottom: 20px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
|
||||
.page-title { font-size: 16px; font-weight: 600; color: #303133; }
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 提示栏 -->
|
||||
<view class="alert-info">
|
||||
<text class="alert-text">温馨提示:检查更新需要授权码,请先授权后再检查更新!</text>
|
||||
</view>
|
||||
|
||||
<!-- 选项卡 -->
|
||||
<view class="admin-tabs">
|
||||
<view
|
||||
v-for="tab in tabs"
|
||||
:key="tab.value"
|
||||
:class="['tab-item', activeTab === tab.value ? 'active' : '']"
|
||||
@click="activeTab = tab.value"
|
||||
>
|
||||
<text class="tab-label">{{ tab.label }}</text>
|
||||
<AdminLayout current-page="maintain_security_upgrade">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 提示栏 -->
|
||||
<view class="alert-info">
|
||||
<text class="alert-text">温馨提示:检查更新需要授权码,请先授权后再检查更新!</text>
|
||||
</view>
|
||||
|
||||
<!-- 选项卡 -->
|
||||
<view class="admin-tabs">
|
||||
<view
|
||||
v-for="tab in tabs"
|
||||
:key="tab.value"
|
||||
:class="['tab-item', activeTab === tab.value ? 'active' : '']"
|
||||
@click="activeTab = tab.value"
|
||||
>
|
||||
<text class="tab-label">{{ tab.label }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 升级内容 -->
|
||||
<view v-if="activeTab === 'upgrade'" class="admin-card">
|
||||
@@ -55,13 +56,14 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import { ref } from 'vue'
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
const activeTab = ref('upgrade')
|
||||
const tabs = [
|
||||
@@ -87,7 +89,9 @@ function checkUpdates() {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<view class="admin-grid-2">
|
||||
<!-- 清除缓存 -->
|
||||
<view class="admin-card cache-card">
|
||||
<view class="cache-header">
|
||||
<text class="cache-title">清除缓存</text>
|
||||
<text class="cache-desc">清除系统的所有缓存</text>
|
||||
<AdminLayout currentPage="maintain-security-refresh-cache">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<view class="admin-grid-2">
|
||||
<!-- 清除缓存 -->
|
||||
<view class="admin-card cache-card">
|
||||
<view class="cache-header">
|
||||
<text class="cache-title">清除缓存</text>
|
||||
<text class="cache-desc">清除系统的所有缓存</text>
|
||||
</view>
|
||||
<button class="btn primary full" @click="onClearCache">立即清除</button>
|
||||
</view>
|
||||
<button class="btn primary full" @click="onClearCache">立即清除</button>
|
||||
</view>
|
||||
|
||||
<!-- 清除日志 -->
|
||||
<view class="admin-card cache-card">
|
||||
@@ -22,9 +23,12 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
|
||||
function onClearCache() {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
@@ -53,7 +57,7 @@ function onClearLog() {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-grid-2 {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<template>
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 商业授权 -->
|
||||
<view class="admin-card info-section">
|
||||
<view class="section-header">
|
||||
<text class="section-title">商业授权</text>
|
||||
</view>
|
||||
<AdminLayout currentPage="maintain-sys-info">
|
||||
<view class="admin-page">
|
||||
<view class="admin-sections">
|
||||
<!-- 商业授权 -->
|
||||
<view class="admin-card info-section">
|
||||
<view class="section-header">
|
||||
<text class="section-title">商业授权</text>
|
||||
</view>
|
||||
<view class="table-container header-table">
|
||||
<view class="table-header">
|
||||
<view class="col col-title"><text>产品证书编号</text></view>
|
||||
@@ -98,9 +99,11 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
|
||||
<script setup lang="uts">
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
function gotoOfficial() {
|
||||
uni.showToast({ title: '正在打开官网...', icon: 'none' })
|
||||
}
|
||||
@@ -113,7 +116,7 @@ function editCopyright() {
|
||||
<style scoped lang="scss">
|
||||
.admin-page {
|
||||
/* 使用 Layout 的背景和内边距 */
|
||||
min-height: 100vh;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.admin-card {
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
|
||||
<script setup lang="uts">
|
||||
import AdminLayout from '@/layouts/admin/AdminLayout.uvue'
|
||||
</script> <style scoped> .page { padding: 16px; } .title { font-size: 18px; font-weight: 600; } .tip { color: #999; margin-top: 8px; display: block; } </style>
|
||||
</script> <style scoped> .page { padding: 0; } .title { font-size: 18px; font-weight: 600; } .tip { color: #999; margin-top: 8px; display: block; } </style>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user