mirror of
https://gitee.com/likeadmin/likeadmin_java.git
synced 2026-06-11 08:45:29 +08:00
Compare commits
157 Commits
1.3.2
...
wjx2022123
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22bebdf804 | ||
|
|
6f8e8442c0 | ||
|
|
7419ceb502 | ||
|
|
84c4b305d1 | ||
|
|
56de8a32f1 | ||
|
|
dbdeed946e | ||
|
|
42892bcb8b | ||
|
|
a7d6b7ce61 | ||
|
|
d9f6b66c56 | ||
|
|
373bd551d7 | ||
|
|
e5f1ac1231 | ||
|
|
c3e0a81b31 | ||
|
|
df513e47ec | ||
|
|
62a3606169 | ||
|
|
97202201a2 | ||
|
|
088fffe836 | ||
|
|
d59c9de38a | ||
|
|
d63947856b | ||
|
|
36b6540a60 | ||
|
|
49fd6d3639 | ||
|
|
3fd832d9e6 | ||
|
|
aabc6205fb | ||
|
|
4a7fd71da7 | ||
|
|
d7b6dc992f | ||
|
|
2998041bde | ||
|
|
2304922b8a | ||
|
|
049209bfca | ||
|
|
dc5ed4b14b | ||
|
|
9beff48e28 | ||
|
|
173640af07 | ||
|
|
919cdc243c | ||
|
|
670ac0208c | ||
|
|
869c444fa5 | ||
|
|
8b6b0e5257 | ||
|
|
8fed83cd15 | ||
|
|
864b54951a | ||
|
|
9e89783add | ||
|
|
3b8e501a0b | ||
|
|
3e97c2201b | ||
|
|
3b5a8ae197 | ||
|
|
43983deb48 | ||
|
|
2022859769 | ||
|
|
bdf79ccb84 | ||
|
|
2a1d803c5f | ||
|
|
444ea6b4cb | ||
|
|
f76a83b918 | ||
|
|
6e7292b97c | ||
|
|
4281a0f5bc | ||
|
|
933ea5a3dd | ||
|
|
75c8b03969 | ||
|
|
a22fe53275 | ||
|
|
85ba64cd2f | ||
|
|
1d83523405 | ||
|
|
1ab2ca6b4e | ||
|
|
5c043df578 | ||
|
|
f7a1b14500 | ||
|
|
a1a70346c9 | ||
|
|
edfbe6ab4c | ||
|
|
d593391f62 | ||
|
|
5f5026d40c | ||
|
|
2453b0fc3b | ||
|
|
0077e75e85 | ||
|
|
327f0df6a9 | ||
|
|
03d09ca7d7 | ||
|
|
621e7916dc | ||
|
|
c2a64e30f5 | ||
|
|
698d44696e | ||
|
|
ef350201ca | ||
|
|
06bc994b42 | ||
|
|
2c5310ca21 | ||
|
|
0c5d7641b0 | ||
|
|
af92e6209c | ||
|
|
cab7c3af39 | ||
|
|
c38c46c09f | ||
|
|
1805cb1515 | ||
|
|
0d086f6198 | ||
|
|
4d43d7cdcc | ||
|
|
8105c877af | ||
|
|
ff5b649969 | ||
|
|
c64d0151b3 | ||
|
|
98328e1bb1 | ||
|
|
402321fe3c | ||
|
|
830c10ea73 | ||
|
|
728a0f6ec5 | ||
|
|
40df111da7 | ||
|
|
1d7c2383c1 | ||
|
|
3137a59566 | ||
|
|
339f63c0c0 | ||
|
|
edc5357b8c | ||
|
|
e22508240d | ||
|
|
8480f98f28 | ||
|
|
45b11402ce | ||
|
|
ef53643368 | ||
|
|
41d372da5f | ||
|
|
aa4ba06be0 | ||
|
|
aa92623d7c | ||
|
|
b13523ca5e | ||
|
|
522c698f6c | ||
|
|
b1fe1d9d47 | ||
|
|
25a85adf9e | ||
|
|
54c58d6ee1 | ||
|
|
52615d1646 | ||
|
|
2cd73748bb | ||
|
|
e23cb64f32 | ||
|
|
c639499fbc | ||
|
|
bd97df6f7b | ||
|
|
e211426c1a | ||
|
|
dafaf09011 | ||
|
|
97b8f7016d | ||
|
|
3247a5f7d0 | ||
|
|
57c88cf773 | ||
|
|
329734b332 | ||
|
|
c622781003 | ||
|
|
e89f22cd8c | ||
|
|
6db7255ed3 | ||
|
|
7a37ac18ac | ||
|
|
ca9a251176 | ||
|
|
798d12c16f | ||
|
|
124b1ff5dd | ||
|
|
a5d63d6c96 | ||
|
|
956bf841b3 | ||
|
|
e685304616 | ||
|
|
abbd23e332 | ||
|
|
37d39503bd | ||
|
|
8055572f19 | ||
|
|
7383a145b4 | ||
|
|
1ab009544f | ||
|
|
fb9e5c3d49 | ||
|
|
32232cb604 | ||
|
|
bd5f7bcad0 | ||
|
|
8e5d515e4c | ||
|
|
abf98ee5e7 | ||
|
|
61a9a453f4 | ||
|
|
3dd371161b | ||
|
|
88af20071b | ||
|
|
514b0108a5 | ||
|
|
8c2729493d | ||
|
|
47e968ddf9 | ||
|
|
4d5615f90d | ||
|
|
8283695735 | ||
|
|
8432eef4cf | ||
|
|
e0407759d4 | ||
|
|
2eae8d9e94 | ||
|
|
6efc39f902 | ||
|
|
0a708b79f0 | ||
|
|
36e4725565 | ||
|
|
5029618235 | ||
|
|
1595d987ed | ||
|
|
35cec2a64c | ||
|
|
6ee54646a8 | ||
|
|
3deaa814a4 | ||
|
|
4c458aeeac | ||
|
|
a99227d2ef | ||
|
|
10c95a0dee | ||
|
|
3094503b17 | ||
|
|
0e7944bd37 | ||
|
|
e16fc88e81 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -7,4 +7,6 @@ application-dev.yml
|
||||
application-pro.yml
|
||||
application-dem.yml
|
||||
application-prod.yml
|
||||
application-test.yml
|
||||
application-test.yml
|
||||
/public/uploads/*
|
||||
!/public/uploads/index.html
|
||||
@@ -14,7 +14,8 @@
|
||||
账号:admin 密码:123456
|
||||
### 手机端uniapp前台
|
||||
<img width="40%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=260c0869d9ba7e692b2db1e216078241" /><br>
|
||||
|
||||
### 开发文档
|
||||
地址:[https://www.likeadmin.cn](https://www.likeadmin.cn "https://www.likeadmin.cn")
|
||||
|
||||
|
||||
## 👨💻简介
|
||||
@@ -52,6 +53,3 @@
|
||||
<div class="half">
|
||||
<img width="30%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=2dbac190afadfb6650a04c8af44980e1" /> <img width="30%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=73adbdb91ff5c43ca3e694a99effae7a" /> <img width="30%" src="https://md.likeshop.cn/server/index.php?s=/api/attachment/visitFile&sign=55b51eaebd7d696f96ccbf60d4694368" />
|
||||
</div><br>
|
||||
|
||||
### 🪐接口文档
|
||||
[点击这里进入更多更详细文档。](https://www.likeadmin.cn "点击这里进入更多更详细文档。")
|
||||
@@ -4,7 +4,7 @@ import fsExtra from 'fs-extra'
|
||||
const { existsSync, remove, copy } = fsExtra
|
||||
const cwd = process.cwd()
|
||||
//打包发布路径,谨慎改动
|
||||
const releaseRelativePath = '../frontend'
|
||||
const releaseRelativePath = '../public/admin'
|
||||
const distPath = path.resolve(cwd, 'dist')
|
||||
const releasePath = path.resolve(cwd, releaseRelativePath)
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ import request from '@/utils/request'
|
||||
|
||||
// 配置
|
||||
export function getConfig() {
|
||||
return request.get({ url: '/common/index/config' })
|
||||
return request.get({ url: '/index/config' })
|
||||
}
|
||||
|
||||
// 工作台主页
|
||||
export function getWorkbench() {
|
||||
return request.get({ url: '/common/index/console' })
|
||||
return request.get({ url: '/index/console' })
|
||||
}
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function fileCateAdd(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/cateAdd', params })
|
||||
return request.post({ url: '/albums/cateAdd', params })
|
||||
}
|
||||
|
||||
export function fileCateEdit(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/cateRename', params })
|
||||
return request.post({ url: '/albums/cateRename', params })
|
||||
}
|
||||
|
||||
// 文件分类删除
|
||||
export function fileCateDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/cateDel', params })
|
||||
return request.post({ url: '/albums/cateDel', params })
|
||||
}
|
||||
|
||||
// 文件分类列表
|
||||
export function fileCateLists(params: Record<string, any>) {
|
||||
return request.get({ url: '/common/album/cateList', params })
|
||||
return request.get({ url: '/albums/cateList', params })
|
||||
}
|
||||
|
||||
// 文件列表
|
||||
export function fileList(params: Record<string, any>) {
|
||||
return request.get({ url: '/common/album/albumList', params })
|
||||
return request.get({ url: '/albums/albumList', params })
|
||||
}
|
||||
|
||||
// 文件删除
|
||||
export function fileDelete(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/albumDel', params })
|
||||
return request.post({ url: '/albums/albumDel', params })
|
||||
}
|
||||
|
||||
// 文件移动
|
||||
export function fileMove(params: Record<string, any>) {
|
||||
return request.post({ url: '/common/album/albumMove', params })
|
||||
return request.post({ url: '/albums/albumMove', params })
|
||||
}
|
||||
|
||||
// 文件重命名
|
||||
export function fileRename(params: { id: number; name: string }) {
|
||||
return request.post({ url: '/common/album/albumRename', params })
|
||||
return request.post({ url: '/albums/albumRename', params })
|
||||
}
|
||||
|
||||
@@ -14,3 +14,28 @@ export function systemLogLists(params: any) {
|
||||
export function systemCache() {
|
||||
return request.get({ url: '/monitor/cache' })
|
||||
}
|
||||
|
||||
// 定时任务列表
|
||||
export function crontabLists(params: any) {
|
||||
return request.get({ url: '/crontab/list', params })
|
||||
}
|
||||
|
||||
// 添加定时任务
|
||||
export function crontabAdd(params: any) {
|
||||
return request.post({ url: '/crontab/add', params })
|
||||
}
|
||||
|
||||
// 定时任务详情
|
||||
export function crontabDetail(params: any) {
|
||||
return request.get({ url: '/crontab/detail', params })
|
||||
}
|
||||
|
||||
// 编辑定时任务
|
||||
export function crontabEdit(params: any) {
|
||||
return request.post({ url: '/crontab/edit', params })
|
||||
}
|
||||
|
||||
// 删除定时任务
|
||||
export function crontabDel(params: any) {
|
||||
return request.post({ url: '/crontab/del', params })
|
||||
}
|
||||
|
||||
@@ -10,6 +10,11 @@ export function dataTable(params: any) {
|
||||
return request.get({ url: '/gen/db', params })
|
||||
}
|
||||
|
||||
// 数据表列表接口
|
||||
export function dataTableAll() {
|
||||
return request.get({ url: '/gen/dbAll' })
|
||||
}
|
||||
|
||||
//选择要生成代码的数据表
|
||||
export function selectTable(params: any) {
|
||||
return request.post(
|
||||
|
||||
@@ -6,10 +6,15 @@
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
const props = defineProps<{
|
||||
options: any[]
|
||||
value: any
|
||||
}>()
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
options: any[]
|
||||
value: any
|
||||
}>(),
|
||||
{
|
||||
options: () => []
|
||||
}
|
||||
)
|
||||
|
||||
const values = computed(() => {
|
||||
if (props.value !== null && typeof props.value !== 'undefined') {
|
||||
|
||||
@@ -110,7 +110,7 @@ const handleCreated = (editor: any) => {
|
||||
|
||||
<style lang="scss">
|
||||
.w-e-full-screen-container {
|
||||
z-index: 999999;
|
||||
z-index: 999;
|
||||
}
|
||||
.w-e-text-container [data-slate-editor] ul {
|
||||
list-style: disc;
|
||||
|
||||
@@ -24,10 +24,7 @@
|
||||
<overflow-tooltip :content="data.name" />
|
||||
</span>
|
||||
<el-dropdown
|
||||
v-perms="[
|
||||
'common:album:cateRename',
|
||||
'common:album:cateDel'
|
||||
]"
|
||||
v-perms="['albums:cateRename', 'albums:cateDel']"
|
||||
v-if="data.id > 0"
|
||||
:hide-on-click="false"
|
||||
>
|
||||
@@ -35,7 +32,7 @@
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<popover-input
|
||||
v-perms="['common:album:cateRename']"
|
||||
v-perms="['albums:cateRename']"
|
||||
@confirm="handleEditCate($event, data.id)"
|
||||
size="default"
|
||||
:value="data.name"
|
||||
@@ -51,7 +48,7 @@
|
||||
</div>
|
||||
</popover-input>
|
||||
<div
|
||||
v-perms="['common:album:cateDel']"
|
||||
v-perms="['albums:cateDel']"
|
||||
@click="handleDeleteCate(data.id)"
|
||||
>
|
||||
<el-dropdown-item>删除分组</el-dropdown-item>
|
||||
@@ -68,7 +65,7 @@
|
||||
|
||||
<div class="flex justify-center p-2 border-t border-br">
|
||||
<popover-input
|
||||
v-perms="['common:album:cateAdd']"
|
||||
v-perms="['albums:cateAdd']"
|
||||
@confirm="handleAddCate"
|
||||
size="default"
|
||||
width="400px"
|
||||
@@ -85,7 +82,7 @@
|
||||
<div class="flex-1 flex">
|
||||
<upload
|
||||
v-if="type == 'image'"
|
||||
v-perms="['common:upload:image']"
|
||||
v-perms="['upload:image']"
|
||||
class="mr-3"
|
||||
:data="{ cid: cateId }"
|
||||
:type="type"
|
||||
@@ -96,7 +93,7 @@
|
||||
</upload>
|
||||
<upload
|
||||
v-if="type == 'video'"
|
||||
v-perms="['common:upload:video']"
|
||||
v-perms="['upload:video']"
|
||||
class="mr-3"
|
||||
:data="{ cid: cateId }"
|
||||
:type="type"
|
||||
@@ -106,7 +103,7 @@
|
||||
<el-button type="primary">本地上传</el-button>
|
||||
</upload>
|
||||
<el-button
|
||||
v-perms="['common:album:albumDel']"
|
||||
v-perms="['albums:albumDel']"
|
||||
v-if="mode == 'page'"
|
||||
:disabled="!select.length"
|
||||
@click.stop="batchFileDelete()"
|
||||
@@ -115,7 +112,7 @@
|
||||
</el-button>
|
||||
|
||||
<popup
|
||||
v-perms="['common:album:albumMove']"
|
||||
v-perms="['albums:albumMove']"
|
||||
v-if="mode == 'page'"
|
||||
class="ml-3"
|
||||
@confirm="batchFileMove"
|
||||
@@ -214,7 +211,7 @@
|
||||
<overflow-tooltip class="mt-1" :content="item.name" />
|
||||
<div class="operation-btns flex items-center">
|
||||
<popover-input
|
||||
v-perms="['common:album:albumRename']"
|
||||
v-perms="['albums:albumRename']"
|
||||
@confirm="handleFileRename($event, item.id)"
|
||||
size="default"
|
||||
:value="item.name"
|
||||
@@ -263,7 +260,7 @@
|
||||
<el-table-column prop="createTime" label="上传时间" min-width="100" />
|
||||
<el-table-column label="操作" width="150" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<div class="inline-block" v-perms="['common:album:albumRename']">
|
||||
<div class="inline-block" v-perms="['albums:albumRename']">
|
||||
<popover-input
|
||||
@confirm="handleFileRename($event, row.id)"
|
||||
size="default"
|
||||
@@ -281,7 +278,7 @@
|
||||
查看
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="inline-block" v-perms="['common:album:albumDel']">
|
||||
<div class="inline-block" v-perms="['albums:albumDel']">
|
||||
<el-button
|
||||
type="primary"
|
||||
link
|
||||
@@ -315,14 +312,14 @@
|
||||
</el-checkbox>
|
||||
</span>
|
||||
<el-button
|
||||
v-perms="['common:album:albumDel']"
|
||||
v-perms="['albums:albumDel']"
|
||||
:disabled="!select.length"
|
||||
@click="batchFileDelete()"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
<popup
|
||||
v-perms="['common:album:albumMove']"
|
||||
v-perms="['albums:albumMove']"
|
||||
class="ml-3 inline"
|
||||
@confirm="batchFileMove"
|
||||
:disabled="!select.length"
|
||||
|
||||
@@ -83,6 +83,7 @@ import FileItem from './file.vue'
|
||||
import Material from './index.vue'
|
||||
import Preview from './preview.vue'
|
||||
import useAppStore from '@/stores/modules/app'
|
||||
import { useThrottleFn } from '@vueuse/shared'
|
||||
export default defineComponent({
|
||||
components: {
|
||||
Popup,
|
||||
@@ -170,17 +171,21 @@ export default defineComponent({
|
||||
if (limit.value == -1) return null
|
||||
return limit.value - fileList.value.length
|
||||
})
|
||||
const handleConfirm = () => {
|
||||
const selectUri = select.value.map((item) =>
|
||||
props.excludeDomain ? item.path : item.uri
|
||||
)
|
||||
if (!isAdd.value) {
|
||||
fileList.value.splice(currentIndex.value, 1, selectUri.shift())
|
||||
} else {
|
||||
fileList.value = [...fileList.value, ...selectUri]
|
||||
}
|
||||
handleChange()
|
||||
}
|
||||
const handleConfirm = useThrottleFn(
|
||||
() => {
|
||||
const selectUri = select.value.map((item) =>
|
||||
props.excludeDomain ? item.path : item.uri
|
||||
)
|
||||
if (!isAdd.value) {
|
||||
fileList.value.splice(currentIndex.value, 1, selectUri.shift())
|
||||
} else {
|
||||
fileList.value = [...fileList.value, ...selectUri]
|
||||
}
|
||||
handleChange()
|
||||
},
|
||||
1000,
|
||||
false
|
||||
)
|
||||
const showPopup = (index: number) => {
|
||||
if (disabled.value) return
|
||||
if (index >= 0) {
|
||||
|
||||
@@ -79,9 +79,9 @@ export default defineComponent({
|
||||
setup(props, { emit }) {
|
||||
const userStore = useUserStore()
|
||||
const uploadRefs = shallowRef<InstanceType<typeof ElUpload>>()
|
||||
const action = ref(`${config.baseUrl}${config.urlPrefix}/common/upload/${props.type}`)
|
||||
const action = ref(`${config.baseUrl}${config.urlPrefix}/upload/${props.type}`)
|
||||
const headers = computed(() => ({
|
||||
token: userStore.token,
|
||||
['like-admin']: userStore.token,
|
||||
version: config.version
|
||||
}))
|
||||
const visible = ref(false)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const config = {
|
||||
terminal: 1, //终端
|
||||
title: '后台管理系统', //网站默认标题
|
||||
version: '1.2.0', //版本号
|
||||
version: '1.3.3', //版本号
|
||||
baseUrl: `${import.meta.env.VITE_APP_BASE_URL || ''}/`, //请求接口域名
|
||||
urlPrefix: 'api', //请求默认前缀
|
||||
timeout: 10 * 1000 //请求超时时长
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
const defaultSetting = {
|
||||
showCrumb: true, // 是否显示面包屑
|
||||
showLogo: true, // 是否显示logo
|
||||
isUniqueOpened: false, //只展开一个一级菜单
|
||||
sideWidth: 200, //侧边栏宽度
|
||||
sideTheme: 'light', //侧边栏主题
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div class="navbar-item">
|
||||
<refresh />
|
||||
</div>
|
||||
<div class="flex items-center px-2" v-if="!isMobile">
|
||||
<div class="flex items-center px-2" v-if="!isMobile && settingStore.showCrumb">
|
||||
<breadcrumb />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -57,9 +57,23 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting-item mb-5">
|
||||
<div class="text-tx-secondary mb-4">菜单栏宽度</div>
|
||||
<div><el-input-number v-model="sideWidth" :min="180" :max="250" /></div>
|
||||
<div class="setting-item mb-5 flex justify-between items-center">
|
||||
<div class="text-tx-secondary flex-none mr-3">菜单栏宽度</div>
|
||||
<div>
|
||||
<el-input-number v-model="sideWidth" :min="180" :max="250" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting-item mb-5 flex justify-between items-center">
|
||||
<div class="text-tx-secondary flex-none mr-3">显示LOGO</div>
|
||||
<div>
|
||||
<el-switch v-model="showLogo" :active-value="true" :inactive-value="false" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting-item mb-5 flex justify-between items-center">
|
||||
<div class="text-tx-secondary flex-none mr-3">显示面包屑</div>
|
||||
<div>
|
||||
<el-switch v-model="showCrumb" :active-value="true" :inactive-value="false" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting-item mb-5 flex justify-between items-center">
|
||||
<el-button @click="resetTheme">重置主题</el-button>
|
||||
@@ -158,6 +172,30 @@ const theme = computed({
|
||||
}
|
||||
})
|
||||
|
||||
const showLogo = computed({
|
||||
get() {
|
||||
return settingStore.showLogo
|
||||
},
|
||||
set(value) {
|
||||
settingStore.setSetting({
|
||||
key: 'showLogo',
|
||||
value
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
const showCrumb = computed({
|
||||
get() {
|
||||
return settingStore.showCrumb
|
||||
},
|
||||
set(value) {
|
||||
settingStore.setSetting({
|
||||
key: 'showCrumb',
|
||||
value
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
const isDark = useDark()
|
||||
const themeChange = () => {
|
||||
settingStore.setTheme(isDark.value)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="side" :style="sideStyle">
|
||||
<side-logo :show-title="!isCollapsed" :theme="sideTheme" />
|
||||
<side-logo v-if="settingStore.showLogo" :show-title="!isCollapsed" :theme="sideTheme" />
|
||||
<side-menu
|
||||
:routes="routes"
|
||||
:isCollapsed="isCollapsed"
|
||||
|
||||
@@ -26,7 +26,10 @@ router.beforeEach(async (to, from, next) => {
|
||||
document.title = to.meta.title ?? config.title
|
||||
const userStore = useUserStore()
|
||||
const tabsStore = useTabsStore()
|
||||
if (userStore.token) {
|
||||
if (whiteList.includes(to.path)) {
|
||||
// 在免登录白名单,直接进入
|
||||
next()
|
||||
} else if (userStore.token) {
|
||||
// 获取用户信息
|
||||
const hasGetUserInfo = Object.keys(userStore.userInfo).length !== 0
|
||||
if (hasGetUserInfo) {
|
||||
@@ -71,9 +74,6 @@ router.beforeEach(async (to, from, next) => {
|
||||
next({ path: loginPath, query: { redirect: to.fullPath } })
|
||||
}
|
||||
}
|
||||
} else if (whiteList.includes(to.path)) {
|
||||
// 在免登录白名单,直接进入
|
||||
next()
|
||||
} else {
|
||||
next({ path: loginPath, query: { redirect: to.fullPath } })
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ const axiosHooks: AxiosHooks = {
|
||||
// 添加token
|
||||
if (withToken) {
|
||||
const token = getToken()
|
||||
headers.token = token
|
||||
headers['like-admin'] = token
|
||||
}
|
||||
// POST请求下如果无data,则将params视为data
|
||||
if (
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
@keyup.enter="handleEnter"
|
||||
>
|
||||
<template #prepend>
|
||||
<icon name="el-icon-Avatar" />
|
||||
<icon name="el-icon-User" />
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
@@ -99,7 +99,7 @@ const handleLogin = async () => {
|
||||
// 记住账号,缓存
|
||||
cache.set(ACCOUNT_KEY, {
|
||||
remember: remAccount.value,
|
||||
account: formData.account
|
||||
account: remAccount.value ? formData.account : ''
|
||||
})
|
||||
await userStore.login(formData)
|
||||
const {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<div>
|
||||
<el-input-number v-model="formData.sort" :min="0" />
|
||||
<el-input-number v-model="formData.sort" :min="0" :max="9999" />
|
||||
<div class="form-tips">默认为0, 数值越大越排前</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<div>
|
||||
<el-input-number v-model="formData.sort" :min="0" />
|
||||
<el-input-number v-model="formData.sort" :min="0" :max="9999" />
|
||||
<div class="form-tips">默认为0, 数值越大越排前</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -44,6 +44,12 @@ export const rules = reactive<FormRules>({
|
||||
required: true,
|
||||
message: '必填项不能为空',
|
||||
trigger: ['blur', 'change']
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/,
|
||||
message: '请输入合法的网址链接',
|
||||
trigger: ['blur', 'change']
|
||||
}
|
||||
],
|
||||
appId: [
|
||||
@@ -121,7 +127,6 @@ export const useMenuOa = (ref: any) => {
|
||||
await refs[i].menuFormRef.validate()
|
||||
} catch (error) {
|
||||
menuIndex.value = i
|
||||
feedback.msgError(`菜单${i + 1}必填项不能为空~`)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -137,7 +142,6 @@ export const useMenuOa = (ref: any) => {
|
||||
await refs[i].menuFormRef.validate()
|
||||
} catch (error) {
|
||||
menuIndex.value = i
|
||||
feedback.msgError(`菜单${i + 1}必填项不能为空~`)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
:title="popupTitle"
|
||||
:async="true"
|
||||
width="500px"
|
||||
:clickModalClose="true"
|
||||
@confirm="handleSubmit"
|
||||
@close="handleClose"
|
||||
>
|
||||
@@ -72,7 +71,7 @@
|
||||
</el-form-item> -->
|
||||
<el-form-item label="排序">
|
||||
<div class="flex-1">
|
||||
<el-input-number v-model="formData.sort" :min="0"/>
|
||||
<el-input-number v-model="formData.sort" :min="0" :max="9999" />
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="启用状态">
|
||||
|
||||
@@ -15,7 +15,11 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="账号:">
|
||||
{{ formData.username }}
|
||||
<popover-input class="ml-[10px]" @confirm="handleEdit($event, 'username')">
|
||||
<popover-input
|
||||
class="ml-[10px]"
|
||||
:limit="32"
|
||||
@confirm="handleEdit($event, 'username')"
|
||||
>
|
||||
<el-button type="primary" link v-perms="['user:edit']">
|
||||
<icon name="el-icon-EditPen" />
|
||||
</el-button>
|
||||
@@ -23,7 +27,11 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="真实姓名:">
|
||||
{{ formData.realName || '-' }}
|
||||
<popover-input class="ml-[10px]" @confirm="handleEdit($event, 'realName')">
|
||||
<popover-input
|
||||
class="ml-[10px]"
|
||||
:limit="32"
|
||||
@confirm="handleEdit($event, 'realName')"
|
||||
>
|
||||
<el-button type="primary" link v-perms="['user:edit']">
|
||||
<icon name="el-icon-EditPen" />
|
||||
</el-button>
|
||||
|
||||
@@ -1,37 +1,36 @@
|
||||
<template>
|
||||
<div>
|
||||
<div>
|
||||
<del-wrap
|
||||
class="max-w-[400px]"
|
||||
v-for="(item, index) in modelValue"
|
||||
:key="index"
|
||||
@close="handleDelete(index)"
|
||||
>
|
||||
<div class="bg-fill-light flex items-center w-full p-4 mb-4">
|
||||
<material-picker
|
||||
v-model="item.image"
|
||||
upload-class="bg-body"
|
||||
size="60px"
|
||||
exclude-domain
|
||||
>
|
||||
<template #upload>
|
||||
<div class="upload-btn w-[60px] h-[60px]">
|
||||
<icon name="el-icon-Plus" :size="20" />
|
||||
<draggable class="draggable" v-model="navLists" animation="300">
|
||||
<template v-slot:item="{ element: item, index }">
|
||||
<del-wrap class="max-w-[400px]" :key="index" @close="handleDelete(index)">
|
||||
<div class="bg-fill-light flex items-center w-full p-4 mb-4 cursor-move">
|
||||
<material-picker
|
||||
v-model="item.image"
|
||||
upload-class="bg-body"
|
||||
size="60px"
|
||||
exclude-domain
|
||||
>
|
||||
<template #upload>
|
||||
<div class="upload-btn w-[60px] h-[60px]">
|
||||
<icon name="el-icon-Plus" :size="20" />
|
||||
</div>
|
||||
</template>
|
||||
</material-picker>
|
||||
<div class="ml-3 flex-1">
|
||||
<div class="flex">
|
||||
<span class="text-tx-regular flex-none mr-3">名称</span>
|
||||
<el-input v-model="item.name" placeholder="请输入名称" />
|
||||
</div>
|
||||
<div class="flex mt-[18px]">
|
||||
<span class="text-tx-regular flex-none mr-3">链接</span>
|
||||
<link-picker v-model="item.link" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</material-picker>
|
||||
<div class="ml-3 flex-1">
|
||||
<div class="flex">
|
||||
<span class="text-tx-regular flex-none mr-3">名称</span>
|
||||
<el-input v-model="item.name" placeholder="请输入名称" />
|
||||
</div>
|
||||
<div class="flex mt-[18px]">
|
||||
<span class="text-tx-regular flex-none mr-3">链接</span>
|
||||
<link-picker v-model="item.link" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</del-wrap>
|
||||
</del-wrap>
|
||||
</template>
|
||||
</draggable>
|
||||
</div>
|
||||
<div>
|
||||
<el-button type="primary" @click="handleAdd">添加</el-button>
|
||||
@@ -41,7 +40,7 @@
|
||||
<script lang="ts" setup>
|
||||
import feedback from '@/utils/feedback'
|
||||
import type { PropType } from 'vue'
|
||||
|
||||
import Draggable from 'vuedraggable'
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
type: Array as PropType<any[]>,
|
||||
@@ -57,9 +56,19 @@ const props = defineProps({
|
||||
}
|
||||
})
|
||||
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
const navLists = computed({
|
||||
get() {
|
||||
return props.modelValue
|
||||
},
|
||||
set(value) {
|
||||
emit('update:modelValue', value)
|
||||
}
|
||||
})
|
||||
|
||||
const handleAdd = () => {
|
||||
if (props.modelValue?.length < props.max) {
|
||||
props.modelValue.push({
|
||||
navLists.value.push({
|
||||
image: '',
|
||||
name: '导航名称',
|
||||
link: {}
|
||||
@@ -72,7 +81,7 @@ const handleDelete = (index: number) => {
|
||||
if (props.modelValue?.length <= props.min) {
|
||||
return feedback.msgError(`最少保留${props.min}个`)
|
||||
}
|
||||
props.modelValue.splice(index, 1)
|
||||
navLists.value.splice(index, 1)
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form label-width="70px">
|
||||
<el-form-item label="是否启用">
|
||||
<el-form-item label="是否启用" v-if="type == 'mobile'">
|
||||
<el-radio-group v-model="content.enabled">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-radio :label="0">停用</el-radio>
|
||||
@@ -10,28 +10,36 @@
|
||||
<el-form-item label="图片设置">
|
||||
<div class="flex-1">
|
||||
<div class="form-tips">最多添加5张,建议图片尺寸:750px*340px</div>
|
||||
<del-wrap
|
||||
v-for="(item, index) in content.data"
|
||||
:key="index"
|
||||
@close="handleDelete(index)"
|
||||
class="max-w-[400px]"
|
||||
>
|
||||
<div class="bg-fill-light flex items-center w-full p-4 mt-4">
|
||||
<material-picker
|
||||
v-model="item.image"
|
||||
upload-class="bg-body"
|
||||
exclude-domain
|
||||
/>
|
||||
<div class="ml-3 flex-1">
|
||||
<el-form-item label="图片名称">
|
||||
<el-input v-model="item.name" placeholder="请输入名称" />
|
||||
</el-form-item>
|
||||
<el-form-item class="mt-[18px]" label="图片链接">
|
||||
<link-picker v-model="item.link" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
</del-wrap>
|
||||
<draggable class="draggable" v-model="content.data" animation="300">
|
||||
<template v-slot:item="{ element: item, index }">
|
||||
<del-wrap
|
||||
:key="index"
|
||||
@close="handleDelete(index)"
|
||||
class="max-w-[400px]"
|
||||
>
|
||||
<div
|
||||
class="bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"
|
||||
>
|
||||
<material-picker
|
||||
v-model="item.image"
|
||||
upload-class="bg-body"
|
||||
exclude-domain
|
||||
/>
|
||||
<div class="ml-3 flex-1">
|
||||
<el-form-item label="图片名称">
|
||||
<el-input
|
||||
v-model="item.name"
|
||||
placeholder="请输入名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item class="mt-[18px]" label="图片链接">
|
||||
<link-picker v-model="item.link" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
</del-wrap>
|
||||
</template>
|
||||
</draggable>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="content.data?.length < limit">
|
||||
@@ -44,6 +52,7 @@
|
||||
import feedback from '@/utils/feedback'
|
||||
import type { PropType } from 'vue'
|
||||
import type options from './options'
|
||||
import Draggable from 'vuedraggable'
|
||||
const limit = 5
|
||||
type OptionsType = ReturnType<typeof options>
|
||||
const props = defineProps({
|
||||
|
||||
@@ -10,28 +10,36 @@
|
||||
<el-form-item label="图片设置">
|
||||
<div class="flex-1">
|
||||
<div class="form-tips">最多添加5张,建议图片尺寸:750px*200px</div>
|
||||
<del-wrap
|
||||
v-for="(item, index) in content.data"
|
||||
:key="index"
|
||||
@close="handleDelete(index)"
|
||||
class="max-w-[400px]"
|
||||
>
|
||||
<div class="bg-fill-light flex items-center w-full p-4 mt-4">
|
||||
<material-picker
|
||||
v-model="item.image"
|
||||
upload-class="bg-body"
|
||||
exclude-domain
|
||||
/>
|
||||
<div class="ml-3 flex-1">
|
||||
<el-form-item label="图片名称">
|
||||
<el-input v-model="item.name" placeholder="请输入名称" />
|
||||
</el-form-item>
|
||||
<el-form-item class="mt-[18px]" label="图片链接">
|
||||
<link-picker v-model="item.link" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
</del-wrap>
|
||||
<draggable class="draggable" v-model="content.data" animation="300">
|
||||
<template v-slot:item="{ element: item, index }">
|
||||
<del-wrap
|
||||
:key="index"
|
||||
@close="handleDelete(index)"
|
||||
class="max-w-[400px]"
|
||||
>
|
||||
<div
|
||||
class="bg-fill-light flex items-center w-full p-4 mt-4 cursor-move"
|
||||
>
|
||||
<material-picker
|
||||
v-model="item.image"
|
||||
upload-class="bg-body"
|
||||
exclude-domain
|
||||
/>
|
||||
<div class="ml-3 flex-1">
|
||||
<el-form-item label="图片名称">
|
||||
<el-input
|
||||
v-model="item.name"
|
||||
placeholder="请输入名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item class="mt-[18px]" label="图片链接">
|
||||
<link-picker v-model="item.link" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</div>
|
||||
</del-wrap>
|
||||
</template>
|
||||
</draggable>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="content.data?.length < limit">
|
||||
@@ -44,6 +52,7 @@
|
||||
import feedback from '@/utils/feedback'
|
||||
import type { PropType } from 'vue'
|
||||
import type options from './options'
|
||||
import Draggable from 'vuedraggable'
|
||||
const limit = 5
|
||||
type OptionsType = ReturnType<typeof options>
|
||||
const props = defineProps({
|
||||
|
||||
@@ -47,7 +47,7 @@ const menus: Record<
|
||||
[pagesTypeEnum.HOME]: {
|
||||
id: 1,
|
||||
pageType: 1,
|
||||
name: '商城首页',
|
||||
name: '首页装修',
|
||||
pageData: generatePageData(['search', 'banner', 'nav', 'news'])
|
||||
},
|
||||
[pagesTypeEnum.USER]: {
|
||||
|
||||
@@ -188,7 +188,7 @@ const onMove = (e: any) => {
|
||||
|
||||
const getData = async () => {
|
||||
const data = await getDecorateTabbar()
|
||||
tabbar.list = data.list.map((item: any) => ({ ...item, link: JSON.parse(item.link) }))
|
||||
tabbar.list = data.list
|
||||
tabbar.style = data.style
|
||||
}
|
||||
const setData = async () => {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
ref="formRef"
|
||||
class="ls-form"
|
||||
:model="formData"
|
||||
label-width="100px"
|
||||
label-width="130px"
|
||||
:rules="rules"
|
||||
>
|
||||
<el-tabs v-model="activeName">
|
||||
@@ -273,6 +273,37 @@
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="关联配置" name="relation">
|
||||
<el-form-item label="关联子表的表名" prop="gen.subTableName">
|
||||
<el-select class="w-80" v-model="formData.gen.subTableName" clearable>
|
||||
<el-option
|
||||
v-for="item in optionsData.dataTable"
|
||||
:key="item.tableName"
|
||||
:value="item.tableName"
|
||||
:label="`${item.tableName}:${item.tableComment}`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="子表关联的外键名 " prop="gen.subTableFk">
|
||||
<el-select class="w-80" v-model="formData.gen.subTableFk" clearable>
|
||||
<el-option
|
||||
v-for="item in formData.column"
|
||||
:key="item.id"
|
||||
:value="item.columnName"
|
||||
:label="`${item.columnName}:${item.columnComment}`"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联表主键 " prop="gen.subTableFr">
|
||||
<div class="w-80">
|
||||
<el-input
|
||||
v-model="formData.gen.subTableFr"
|
||||
placeholder="请输入关联表主键"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-form>
|
||||
</el-card>
|
||||
@@ -283,7 +314,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="tableEdit">
|
||||
import { generateEdit, tableDetail } from '@/api/tools/code'
|
||||
import { dataTableAll, generateEdit, tableDetail } from '@/api/tools/code'
|
||||
import { dictTypeAll } from '@/api/setting/dict'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import feedback from '@/utils/feedback'
|
||||
@@ -322,6 +353,7 @@ const formData = reactive({
|
||||
moduleName: '',
|
||||
subTableFk: '',
|
||||
subTableName: '',
|
||||
subTableFr: '',
|
||||
treeParent: '',
|
||||
treePrimary: '',
|
||||
treeName: ''
|
||||
@@ -354,6 +386,7 @@ const getDetails = async () => {
|
||||
const { optionsData } = useDictOptions<{
|
||||
dictType: any[]
|
||||
menu: any[]
|
||||
dataTable: any[]
|
||||
}>({
|
||||
dictType: {
|
||||
api: dictTypeAll
|
||||
@@ -365,6 +398,9 @@ const { optionsData } = useDictOptions<{
|
||||
menu.children = data
|
||||
return menu
|
||||
}
|
||||
},
|
||||
dataTable: {
|
||||
api: dataTableAll
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -26,17 +26,27 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="部门名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入部门名称" clearable />
|
||||
<el-input
|
||||
v-model="formData.name"
|
||||
placeholder="请输入部门名称"
|
||||
clearable
|
||||
:maxlength="100"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="duty">
|
||||
<el-input v-model="formData.duty" placeholder="请输入负责人姓名" clearable />
|
||||
<el-input
|
||||
v-model="formData.duty"
|
||||
placeholder="请输入负责人姓名"
|
||||
clearable
|
||||
:maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="mobile">
|
||||
<el-input v-model="formData.mobile" placeholder="请输入联系电话" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<div>
|
||||
<el-input-number v-model="formData.sort" :min="0" />
|
||||
<el-input-number v-model="formData.sort" :min="0" :max="9999" />
|
||||
<div class="form-tips">默认为0, 数值越大越排前</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -10,14 +10,19 @@
|
||||
>
|
||||
<el-form ref="formRef" :model="formData" label-width="84px" :rules="formRules">
|
||||
<el-form-item label="岗位名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入岗位名称" clearable />
|
||||
<el-input
|
||||
v-model="formData.name"
|
||||
placeholder="请输入岗位名称"
|
||||
clearable
|
||||
:maxlength="100"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入岗位编码" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<div>
|
||||
<el-input-number v-model="formData.sort" :min="0" />
|
||||
<el-input-number v-model="formData.sort" :min="0" :max="9999" />
|
||||
<div class="form-tips">默认为0, 数值越大越排前</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -28,18 +28,19 @@
|
||||
<el-form-item label="名称" prop="nickname">
|
||||
<el-input v-model="formData.nickname" placeholder="请输入名称" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="归属部门" prop="deptId">
|
||||
<el-form-item label="归属部门" prop="deptIds">
|
||||
<el-tree-select
|
||||
class="flex-1"
|
||||
v-model="formData.deptId"
|
||||
v-model="formData.deptIds"
|
||||
:data="optionsData.dept"
|
||||
clearable
|
||||
node-key="id"
|
||||
multiple
|
||||
:props="{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
disabled(data: any) {
|
||||
return data.isStop
|
||||
return !!data.isStop
|
||||
}
|
||||
}"
|
||||
check-strictly
|
||||
@@ -47,11 +48,12 @@
|
||||
placeholder="请选择上级部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位" prop="deptId">
|
||||
<el-form-item label="岗位" prop="postIds">
|
||||
<el-select
|
||||
class="flex-1"
|
||||
clearable
|
||||
v-model="formData.postId"
|
||||
multiple
|
||||
v-model="formData.postIds"
|
||||
placeholder="请选择岗位"
|
||||
>
|
||||
<el-option
|
||||
@@ -63,10 +65,11 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="角色" prop="role">
|
||||
<el-form-item label="角色" prop="roleIds">
|
||||
<el-select
|
||||
v-model="formData.role"
|
||||
v-model="formData.roleIds"
|
||||
:disabled="isRoot"
|
||||
multiple
|
||||
class="flex-1"
|
||||
clearable
|
||||
placeholder="请选择角色"
|
||||
@@ -76,7 +79,7 @@
|
||||
v-for="(item, index) in optionsData.role"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="String(item.id)"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -135,12 +138,12 @@ const popupTitle = computed(() => {
|
||||
})
|
||||
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
id: 0,
|
||||
username: '',
|
||||
nickname: '',
|
||||
deptId: '',
|
||||
postId: '',
|
||||
role: '',
|
||||
deptIds: [],
|
||||
postIds: [],
|
||||
roleIds: [],
|
||||
avatar: '',
|
||||
password: '',
|
||||
passwordConfirm: '',
|
||||
@@ -149,7 +152,7 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
const isRoot = computed(() => {
|
||||
return formData.role == '0'
|
||||
return formData.id == 1
|
||||
})
|
||||
|
||||
const passwordConfirmValidator = (rule: object, value: string, callback: any) => {
|
||||
@@ -174,8 +177,9 @@ const formRules = reactive({
|
||||
trigger: ['blur']
|
||||
}
|
||||
],
|
||||
role: [
|
||||
roleIds: [
|
||||
{
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: '请选择角色',
|
||||
trigger: ['blur']
|
||||
@@ -231,6 +235,13 @@ const open = (type = 'add') => {
|
||||
}
|
||||
|
||||
const setFormData = async (row: any) => {
|
||||
formRules.password = []
|
||||
formRules.passwordConfirm = [
|
||||
{
|
||||
validator: passwordConfirmValidator,
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
const data = await adminDetail({
|
||||
id: row.id
|
||||
})
|
||||
@@ -239,16 +250,7 @@ const setFormData = async (row: any) => {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
}
|
||||
Number(formData.deptId) == 0 && (formData.deptId = '')
|
||||
Number(formData.postId) == 0 && (formData.postId = '')
|
||||
}
|
||||
formRules.password = []
|
||||
formRules.passwordConfirm = [
|
||||
{
|
||||
validator: passwordConfirmValidator,
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
const handleClose = () => {
|
||||
|
||||
@@ -52,8 +52,18 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="账号" prop="username" min-width="100" />
|
||||
<el-table-column label="名称" prop="nickname" min-width="100" />
|
||||
<el-table-column label="角色" prop="role" min-width="100" />
|
||||
<el-table-column label="部门" prop="dept" min-width="100" />
|
||||
<el-table-column
|
||||
label="角色"
|
||||
prop="role"
|
||||
show-tooltip-when-overflow
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
label="部门"
|
||||
prop="dept"
|
||||
show-tooltip-when-overflow
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column label="创建时间" prop="createTime" min-width="180" />
|
||||
<el-table-column label="最近登录时间" prop="lastLoginTime" min-width="180" />
|
||||
<el-table-column label="最近登录IP" prop="lastLoginIp" min-width="120" />
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单排序" prop="menuSort">
|
||||
<div>
|
||||
<el-input-number v-model="formData.menuSort" />
|
||||
<el-input-number v-model="formData.menuSort" :max="9999" />
|
||||
<div class="form-tips">数值越大越排前</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@@ -224,7 +224,7 @@ const formData = reactive({
|
||||
//路由参数
|
||||
params: '',
|
||||
//是否缓存 0=否, 1=是
|
||||
isCache: 1,
|
||||
isCache: 0,
|
||||
//是否显示 0=否, 1=是
|
||||
isShow: 1,
|
||||
//是否禁用 0=否, 1=是
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<div>
|
||||
<el-input-number v-model="formData.sort" :min="0" />
|
||||
<el-input-number v-model="formData.sort" :min="0" :max="9999" />
|
||||
<div class="form-tips">数值越大越排前</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
142
admin/src/views/setting/system/scheduled_task/edit.vue
Normal file
142
admin/src/views/setting/system/scheduled_task/edit.vue
Normal file
@@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<div class="article-edit">
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<el-page-header :content="$route.meta.title" @back="$router.back()" />
|
||||
</el-card>
|
||||
<el-card class="mt-4 !border-none" shadow="never">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
class="ls-form"
|
||||
:model="formData"
|
||||
label-width="96px"
|
||||
:rules="rules"
|
||||
>
|
||||
<el-form-item label="任务名称" prop="name">
|
||||
<div class="w-80">
|
||||
<el-input
|
||||
v-model="formData.name"
|
||||
placeholder="请输入任务名称"
|
||||
maxlength="30"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务分组" prop="groups">
|
||||
<el-select
|
||||
class="w-80"
|
||||
v-model="formData.groups"
|
||||
clearable
|
||||
placeholder="请选择任务分组"
|
||||
>
|
||||
<el-option label="默认" value="default" />
|
||||
<el-option label="系统" value="system" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调用方法" prop="command">
|
||||
<div class="w-80">
|
||||
<el-input
|
||||
v-model="formData.command"
|
||||
placeholder="请输入调用目标字符串"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="cron表达式" prop="rules">
|
||||
<div class="w-80">
|
||||
<el-input v-model="formData.rules" placeholder="请输入cron执行表达式" />
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<div class="w-80">
|
||||
<el-input
|
||||
v-model="formData.remark"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 3, maxRows: 6 }"
|
||||
:maxlength="200"
|
||||
show-word-limit
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="执行策略" prop="groups">
|
||||
<el-radio-group v-model="formData.strategy">
|
||||
<el-radio :label="1"> 立即执行 </el-radio>
|
||||
<el-radio :label="2"> 执行一次 </el-radio>
|
||||
<el-radio :label="3"> 放弃执行 </el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否并发" prop="concurrent">
|
||||
<el-radio-group v-model="formData.concurrent">
|
||||
<el-radio :label="1"> 允许 </el-radio>
|
||||
<el-radio :label="0"> 禁止 </el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-switch v-model="formData.status" :active-value="1" :inactive-value="2" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<footer-btns>
|
||||
<el-button type="primary" @click="handleSave">保存</el-button>
|
||||
</footer-btns>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="scheduledTaskEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import { crontabAdd, crontabEdit, crontabDetail } from '@/api/setting/system'
|
||||
import useMultipleTabs from '@/hooks/useMultipleTabs'
|
||||
import feedback from '@/utils/feedback'
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
name: '',
|
||||
groups: '',
|
||||
command: '',
|
||||
rules: '',
|
||||
status: 1,
|
||||
strategy: 1,
|
||||
concurrent: 0,
|
||||
remark: ''
|
||||
})
|
||||
|
||||
const { removeTab } = useMultipleTabs()
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const rules = reactive({
|
||||
name: [{ required: true, message: '请输入任务名称' }],
|
||||
command: [{ required: true, message: '请输入调用目标字符串' }],
|
||||
rules: [{ required: true, message: '请输入cron执行表达式' }]
|
||||
})
|
||||
|
||||
const getDetails = async () => {
|
||||
const data = await crontabDetail({
|
||||
id: route.query.id
|
||||
})
|
||||
Object.keys(formData).forEach((key) => {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
})
|
||||
}
|
||||
|
||||
const handleSave = async () => {
|
||||
await formRef.value?.validate()
|
||||
if (route.query.id) {
|
||||
await crontabEdit(formData)
|
||||
} else {
|
||||
await crontabAdd(formData)
|
||||
}
|
||||
feedback.msgSuccess('操作成功')
|
||||
removeTab()
|
||||
router.back()
|
||||
}
|
||||
onMounted(async () => {
|
||||
if (!route.query.id) {
|
||||
return
|
||||
}
|
||||
await getDetails()
|
||||
})
|
||||
</script>
|
||||
111
admin/src/views/setting/system/scheduled_task/index.vue
Normal file
111
admin/src/views/setting/system/scheduled_task/index.vue
Normal file
@@ -0,0 +1,111 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card shadow="never" class="!border-none">
|
||||
<router-link
|
||||
v-perms="['crontab/add', 'crontab/add:edit']"
|
||||
:to="getRoutePath('crontab/add:edit')"
|
||||
>
|
||||
<el-button type="primary" class="mb-[16px]">
|
||||
<template #icon>
|
||||
<icon name="el-icon-Plus" />
|
||||
</template>
|
||||
新增
|
||||
</el-button>
|
||||
</router-link>
|
||||
|
||||
<el-table
|
||||
ref="paneTable"
|
||||
class="m-t-24"
|
||||
:data="pager.lists"
|
||||
v-loading="pager.loading"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column prop="name" label="名称" min-width="120" />
|
||||
<el-table-column prop="groups" label="分组" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<dict-value
|
||||
:value="row.groups"
|
||||
:options="[
|
||||
{
|
||||
name: '默认',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
name: '系统',
|
||||
value: 'system'
|
||||
}
|
||||
]"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="command" label="调用目标字符串" min-width="100" />
|
||||
<el-table-column prop="rules" label="cron表达式" min-width="100" />
|
||||
<el-table-column prop="status" label="状态" min-width="100">
|
||||
<template #default="{ row }">
|
||||
<el-tag v-if="row.status == 1" type="success">运行中</el-tag>
|
||||
<el-tag v-if="row.status == 2" type="info">已停止</el-tag>
|
||||
<el-tag v-if="row.status == 3" type="danger">错误</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="error" label="错误信息" min-width="120" />
|
||||
<el-table-column label="最后执行时间" prop="endTime" min-width="180" />
|
||||
<el-table-column prop="taskTime" label="执行耗时(ms)" min-width="100" />
|
||||
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<div class="flex">
|
||||
<el-button type="primary" link>
|
||||
<router-link
|
||||
v-perms="['crontab/edit', 'crontab/add:edit']"
|
||||
:to="{
|
||||
path: getRoutePath('crontab/add:edit'),
|
||||
query: {
|
||||
id: row.id
|
||||
}
|
||||
}"
|
||||
>
|
||||
<el-button type="primary" link> 编辑 </el-button>
|
||||
</router-link>
|
||||
</el-button>
|
||||
<el-button
|
||||
v-perms="['crontab/delete']"
|
||||
type="danger"
|
||||
link
|
||||
@click="handleDelete(row.id)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<div class="flex justify-end mt-4">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="scheduledTask">
|
||||
import { crontabLists, crontabDel } from '@/api/setting/system'
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { getRoutePath } from '@/router'
|
||||
import feedback from '@/utils/feedback'
|
||||
|
||||
const { pager, getLists } = usePaging({
|
||||
fetchFun: crontabLists,
|
||||
params: {}
|
||||
})
|
||||
|
||||
const handleDelete = async (id: number) => {
|
||||
await feedback.confirm('确定要删除?')
|
||||
await crontabDel({ id })
|
||||
feedback.msgSuccess('删除成功')
|
||||
getLists()
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
<style lang="scss"></style>
|
||||
@@ -84,7 +84,9 @@ const handleDelete = (index: number) => {
|
||||
|
||||
// 设置备案信息
|
||||
const handleSubmit = async () => {
|
||||
await setCopyright(formData.value)
|
||||
await setCopyright({
|
||||
list: formData.value
|
||||
})
|
||||
feedback.msgSuccess('操作成功')
|
||||
getData()
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
<el-card shadow="never" class="!border-none mt-4">
|
||||
<div class="text-xl font-medium mb-[20px]">商城设置</div>
|
||||
<div class="text-xl font-medium mb-[20px]">前台设置</div>
|
||||
<el-form-item label="商城名称" prop="shopName">
|
||||
<div class="w-80">
|
||||
<el-input
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 84 KiB |
BIN
admin/src/views/workbench/image/oa_code.png
Normal file
BIN
admin/src/views/workbench/image/oa_code.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 33 KiB |
BIN
admin/src/views/workbench/image/service_code.png
Normal file
BIN
admin/src/views/workbench/image/service_code.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 486 KiB |
@@ -141,8 +141,8 @@ import menu_generator from './image/menu_generator.png'
|
||||
import menu_file from './image/menu_file.png'
|
||||
import menu_auth from './image/menu_auth.png'
|
||||
import menu_web from './image/menu_web.png'
|
||||
import qq_group from './image/qq_group.png'
|
||||
import customer_service from './image/customer_service.png'
|
||||
import oa_code from './image/oa_code.png'
|
||||
import service_code from './image/service_code.png'
|
||||
// 表单数据
|
||||
const workbenchData: any = reactive({
|
||||
version: {
|
||||
@@ -156,12 +156,12 @@ const workbenchData: any = reactive({
|
||||
},
|
||||
support: [
|
||||
{
|
||||
image: qq_group,
|
||||
title: '扫码进入QQ交流群',
|
||||
desc: '疑难疑点 进入QQ群'
|
||||
image: oa_code,
|
||||
title: '官方公众号',
|
||||
desc: '关注官方公众号'
|
||||
},
|
||||
{
|
||||
image: customer_service,
|
||||
image: service_code,
|
||||
title: '添加企业客服微信',
|
||||
desc: '想了解更多请添加客服'
|
||||
}
|
||||
@@ -186,7 +186,7 @@ const workbenchData: any = reactive({
|
||||
{
|
||||
name: '字典管理',
|
||||
image: menu_dict,
|
||||
url: '/setting/dict'
|
||||
url: '/dev_tools/dict'
|
||||
},
|
||||
{
|
||||
name: '代码生成器',
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
import o from"./error.2b025df1.js";import{d as r,o as t,c as m,V as p}from"./@vue.cab01781.js";import"./element-plus.8115766e.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./vue-router.5046cc50.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const i={class:"error404"},L=r({__name:"404",setup(e){return(u,c)=>(t(),m("div",i,[p(o,{code:"404",title:"\u54CE\u5440\uFF0C\u51FA\u9519\u4E86\uFF01\u60A8\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728\u2026"})]))}});export{L as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import{_ as S}from"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.2e76481a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{S as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{C as F,w as b}from"./element-plus.8115766e.js";import{_ as v}from"./index.2e76481a.js";import{_ as A}from"./picker.45f93d74.js";import{_ as B}from"./picker.6a412a5d.js";import{f as _,b as y}from"./index.53063276.js";import{d as C,o as u,c as r,a as e,W as D,a8 as E,L as w,M as m,V as t,T as U}from"./@vue.cab01781.js";const N={class:"bg-fill-light flex items-center w-full p-4 mb-4"},$={class:"upload-btn w-[60px] h-[60px]"},z={class:"ml-3 flex-1"},L={class:"flex"},T=e("span",{class:"text-tx-regular flex-none mr-3"},"\u540D\u79F0",-1),I={class:"flex mt-[18px]"},M=e("span",{class:"text-tx-regular flex-none mr-3"},"\u94FE\u63A5",-1),P=U("\u6DFB\u52A0"),K=C({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:10},min:{type:Number,default:1}},setup(d){const l=d,p=()=>{var a;((a=l.modelValue)==null?void 0:a.length)<l.max?l.modelValue.push({image:"",name:"\u5BFC\u822A\u540D\u79F0",link:{}}):_.msgError(`\u6700\u591A\u6DFB\u52A0${l.max}\u4E2A`)},i=a=>{var s;if(((s=l.modelValue)==null?void 0:s.length)<=l.min)return _.msgError(`\u6700\u5C11\u4FDD\u7559${l.min}\u4E2A`);l.modelValue.splice(a,1)};return(a,s)=>{const f=y,x=B,V=F,h=A,g=v,k=b;return u(),r("div",null,[e("div",null,[(u(!0),r(D,null,E(d.modelValue,(o,c)=>(u(),w(g,{class:"max-w-[400px]",key:c,onClose:n=>i(c)},{default:m(()=>[e("div",N,[t(x,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:m(()=>[e("div",$,[t(f,{name:"el-icon-Plus",size:20})])]),_:2},1032,["modelValue","onUpdate:modelValue"]),e("div",z,[e("div",L,[T,t(V,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",I,[M,t(h,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])])])])]),_:2},1032,["onClose"]))),128))]),e("div",null,[t(k,{type:"primary",onClick:p},{default:m(()=>[P]),_:1})])])}}});export{K as _};
|
||||
@@ -1 +0,0 @@
|
||||
import"./attr-setting.vue_vue_type_script_setup_true_lang.173991cf.js";import{_ as cm}from"./attr-setting.vue_vue_type_script_setup_true_lang.173991cf.js";import"./index.8b3d114e.js";import"./attr.vue_vue_type_script_setup_true_lang.22676784.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.2e76481a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./content.vue_vue_type_script_setup_true_lang.c187246b.js";import"./decoration-img.e07a9eab.js";import"./attr.vue_vue_type_script_setup_true_lang.7393e332.js";import"./content.cbf0d4cf.js";import"./attr.vue_vue_type_script_setup_true_lang.dd81a142.js";import"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import"./content.1302931d.js";import"./attr.vue_vue_type_script_setup_true_lang.bec38aae.js";import"./content.vue_vue_type_script_setup_true_lang.e5408794.js";import"./attr.vue_vue_type_script_setup_true_lang.06a2fa18.js";import"./content.250698bc.js";import"./decoration.a3e48437.js";import"./attr.vue_vue_type_script_setup_true_lang.0b87e513.js";import"./content.d99d9dd5.js";import"./attr.vue_vue_type_script_setup_true_lang.4d4e4b9a.js";import"./content.vue_vue_type_script_setup_true_lang.f8910cfe.js";import"./attr.vue_vue_type_script_setup_true_lang.0583d8bc.js";import"./content.90ee9825.js";export{cm as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./attr.vue_vue_type_script_setup_true_lang.dd81a142.js";import{_ as T}from"./attr.vue_vue_type_script_setup_true_lang.dd81a142.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import"./index.2e76481a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{T as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./attr.vue_vue_type_script_setup_true_lang.7393e332.js";import{_ as R}from"./attr.vue_vue_type_script_setup_true_lang.7393e332.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./picker.6a412a5d.js";import"./index.15556fef.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.2e76481a.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{R as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./attr.vue_vue_type_script_setup_true_lang.22676784.js";import{_ as S}from"./attr.vue_vue_type_script_setup_true_lang.22676784.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.2e76481a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{S as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./attr.vue_vue_type_script_setup_true_lang.bec38aae.js";import{_ as T}from"./attr.vue_vue_type_script_setup_true_lang.bec38aae.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import"./index.2e76481a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{T as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./attr.vue_vue_type_script_setup_true_lang.4d4e4b9a.js";import{_ as S}from"./attr.vue_vue_type_script_setup_true_lang.4d4e4b9a.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.2e76481a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";export{S as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{O as y,P as U,D as v,C as w,w as N,F as O}from"./element-plus.8115766e.js";import{_ as $}from"./index.2e76481a.js";import{_ as j}from"./picker.45f93d74.js";import{_ as I}from"./picker.6a412a5d.js";import{f}from"./index.53063276.js";import{d as L,o as c,c as E,V as e,M as t,a as _,W as R,a8 as T,L as V,S as G,T as r}from"./@vue.cab01781.js";const M=r("\u5F00\u542F"),P=r("\u505C\u7528"),S={class:"flex-1"},W=_("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*340px",-1),q={class:"bg-fill-light flex items-center w-full p-4 mt-4"},z={class:"ml-3 flex-1"},H=r("\u6DFB\u52A0\u56FE\u7247"),ee=L({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(a){const d=a,m=5,b=()=>{var n;((n=d.content.data)==null?void 0:n.length)<m?d.content.data.push({image:"",name:"",link:{}}):f.msgError(`\u6700\u591A\u6DFB\u52A0${m}\u5F20\u56FE\u7247`)},g=n=>{var u;if(((u=d.content.data)==null?void 0:u.length)<=1)return f.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");d.content.data.splice(n,1)};return(n,u)=>{const p=y,h=U,s=v,k=I,x=w,B=j,A=$,C=N,D=O;return c(),E("div",null,[e(D,{"label-width":"70px"},{default:t(()=>{var i;return[e(s,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(h,{modelValue:a.content.enabled,"onUpdate:modelValue":u[0]||(u[0]=o=>a.content.enabled=o)},{default:t(()=>[e(p,{label:1},{default:t(()=>[M]),_:1}),e(p,{label:0},{default:t(()=>[P]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:t(()=>[_("div",S,[W,(c(!0),E(R,null,T(a.content.data,(o,F)=>(c(),V(A,{key:F,onClose:l=>g(F),class:"max-w-[400px]"},{default:t(()=>[_("div",q,[e(k,{modelValue:o.image,"onUpdate:modelValue":l=>o.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),_("div",z,[e(s,{label:"\u56FE\u7247\u540D\u79F0"},{default:t(()=>[e(x,{modelValue:o.name,"onUpdate:modelValue":l=>o.name=l,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(s,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:t(()=>[e(B,{modelValue:o.link,"onUpdate:modelValue":l=>o.link=l},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)])])]),_:2},1032,["onClose"]))),128))])]),_:1}),((i=a.content.data)==null?void 0:i.length)<m?(c(),V(s,{key:0},{default:t(()=>[e(C,{type:"primary",onClick:b},{default:t(()=>[H]),_:1})]),_:1})):G("",!0)]}),_:1})])}}});export{ee as _};
|
||||
@@ -1 +0,0 @@
|
||||
import{O as y,P as U,D as v,C as w,w as N,F as O}from"./element-plus.8115766e.js";import{_ as $}from"./index.2e76481a.js";import{_ as j}from"./picker.45f93d74.js";import{_ as I}from"./picker.6a412a5d.js";import{f}from"./index.53063276.js";import{d as L,o as c,c as E,V as e,M as t,a as _,W as R,a8 as T,L as V,S as G,T as r}from"./@vue.cab01781.js";const M=r("\u5F00\u542F"),P=r("\u505C\u7528"),S={class:"flex-1"},W=_("div",{class:"form-tips"},"\u6700\u591A\u6DFB\u52A05\u5F20\uFF0C\u5EFA\u8BAE\u56FE\u7247\u5C3A\u5BF8\uFF1A750px*200px",-1),q={class:"bg-fill-light flex items-center w-full p-4 mt-4"},z={class:"ml-3 flex-1"},H=r("\u6DFB\u52A0\u56FE\u7247"),ee=L({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(a){const d=a,m=5,b=()=>{var n;((n=d.content.data)==null?void 0:n.length)<m?d.content.data.push({image:"",name:"",link:{}}):f.msgError(`\u6700\u591A\u6DFB\u52A0${m}\u5F20\u56FE\u7247`)},g=n=>{var u;if(((u=d.content.data)==null?void 0:u.length)<=1)return f.msgError("\u6700\u5C11\u4FDD\u7559\u4E00\u5F20\u56FE\u7247");d.content.data.splice(n,1)};return(n,u)=>{const p=y,h=U,s=v,k=I,x=w,B=j,A=$,C=N,D=O;return c(),E("div",null,[e(D,{"label-width":"70px"},{default:t(()=>{var i;return[e(s,{label:"\u662F\u5426\u542F\u7528"},{default:t(()=>[e(h,{modelValue:a.content.enabled,"onUpdate:modelValue":u[0]||(u[0]=o=>a.content.enabled=o)},{default:t(()=>[e(p,{label:1},{default:t(()=>[M]),_:1}),e(p,{label:0},{default:t(()=>[P]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"\u56FE\u7247\u8BBE\u7F6E"},{default:t(()=>[_("div",S,[W,(c(!0),E(R,null,T(a.content.data,(o,F)=>(c(),V(A,{key:F,onClose:l=>g(F),class:"max-w-[400px]"},{default:t(()=>[_("div",q,[e(k,{modelValue:o.image,"onUpdate:modelValue":l=>o.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),_("div",z,[e(s,{label:"\u56FE\u7247\u540D\u79F0"},{default:t(()=>[e(x,{modelValue:o.name,"onUpdate:modelValue":l=>o.name=l,placeholder:"\u8BF7\u8F93\u5165\u540D\u79F0"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(s,{class:"mt-[18px]",label:"\u56FE\u7247\u94FE\u63A5"},{default:t(()=>[e(B,{modelValue:o.link,"onUpdate:modelValue":l=>o.link=l},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)])])]),_:2},1032,["onClose"]))),128))])]),_:1}),((i=a.content.data)==null?void 0:i.length)<m?(c(),V(s,{key:0},{default:t(()=>[e(C,{type:"primary",onClick:b},{default:t(()=>[H]),_:1})]),_:1})):G("",!0)]}),_:1})])}}});export{ee as _};
|
||||
@@ -1 +0,0 @@
|
||||
import"./auth.vue_vue_type_script_setup_true_lang.fd1472cb.js";import{_ as K}from"./auth.vue_vue_type_script_setup_true_lang.fd1472cb.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.c2f1c968.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./menu.1fa1a49d.js";import"./index.15556fef.js";export{K as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./code-preview.vue_vue_type_script_setup_true_lang.06019e12.js";import{_ as H}from"./code-preview.vue_vue_type_script_setup_true_lang.06019e12.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{H as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{r as n}from"./index.53063276.js";function r(e){return n.get({url:"/gen/list",params:e})}function a(e){return n.get({url:"/gen/db",params:e})}function o(e){return n.post({url:"/gen/importTable",params:e},{isParamsToData:!1})}function s(e){return n.get({url:"/gen/detail",params:e})}function u(e){return n.post({url:"/gen/syncTable",params:e},{isParamsToData:!1})}function l(e){return n.post({url:"/gen/delTable",params:e})}function g(e){return n.post({url:"/gen/editTable",params:e})}function i(e){return n.get({url:"/gen/previewCode",params:e})}function d(e){return n.get({url:"/gen/genCode",params:e})}function f(e){return n.get({responseType:"blob",url:"/gen/downloadCode",params:e},{isTransformResponse:!1})}export{l as a,i as b,d as c,f as d,r as e,o as f,g,a as h,u as s,s as t};
|
||||
@@ -1 +0,0 @@
|
||||
import"./content.vue_vue_type_script_setup_true_lang.e5408794.js";import{_ as I}from"./content.vue_vue_type_script_setup_true_lang.e5408794.js";import"./decoration-img.e07a9eab.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{I as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./content.vue_vue_type_script_setup_true_lang.c187246b.js";import{_ as I}from"./content.vue_vue_type_script_setup_true_lang.c187246b.js";import"./decoration-img.e07a9eab.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{I as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./content.vue_vue_type_script_setup_true_lang.f8910cfe.js";import{_ as I}from"./content.vue_vue_type_script_setup_true_lang.f8910cfe.js";import"./decoration-img.e07a9eab.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";export{I as default};
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 84 KiB |
@@ -1 +0,0 @@
|
||||
import"./data-table.vue_vue_type_script_setup_true_lang.f8226619.js";import{_ as K}from"./data-table.vue_vue_type_script_setup_true_lang.f8226619.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.15556fef.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./usePaging.52ce9b34.js";import"./code.b9c692cc.js";export{K as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{N as A,I as B,o as w,D as N,w as T,F as h}from"./element-plus.8115766e.js";import{_ as P}from"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import{m as L,f as R,b as V}from"./index.53063276.js";import{u as $}from"./vue-router.5046cc50.js";import{g as I,u as q}from"./consumer.79e96512.js";import{d as y,a0 as O,s as S,ag as U,o as i,c as j,V as e,M as t,a as C,T as l,U as u,O as f,L as F}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const z={class:"bg-page py-5 pl-20 mb-10"},H=C("div",{class:"mb-3 text-tx-regular"},"\u7528\u6237\u5934\u50CF",-1),M=y({name:"consumerDetail"}),xe=y({...M,setup(G){const b=$(),o=O({avatar:"",channel:"",createTime:"",lastLoginIp:"",lastLoginTime:"",mobile:"",nickname:"",realName:0,sex:0,sn:"",username:""}),D=S(),E=async()=>{const n=await I({id:b.query.id});Object.keys(o).forEach(a=>{o[a]=n[a]})},m=async(n,a)=>{L(n)||(await q({id:b.query.id,field:a,value:n}),R.msgSuccess("\u7F16\u8F91\u6210\u529F"),E())};return E(),(n,a)=>{const g=A,v=B,k=w,r=N,p=V,d=T,c=P,x=h,_=U("perms");return i(),j("div",null,[e(v,{class:"!border-none",shadow:"never"},{default:t(()=>[e(g,{content:"\u7528\u6237\u8BE6\u60C5",onBack:a[0]||(a[0]=s=>n.$router.back())})]),_:1}),e(v,{class:"mt-4 !border-none",header:"\u57FA\u672C\u8D44\u6599",shadow:"never"},{default:t(()=>[e(x,{ref_key:"formRef",ref:D,class:"ls-form",model:o,"label-width":"120px"},{default:t(()=>[C("div",z,[H,e(k,{src:o.avatar,size:58},null,8,["src"])]),e(r,{label:"\u7528\u6237\u7F16\u53F7\uFF1A"},{default:t(()=>[l(u(o.sn),1)]),_:1}),e(r,{label:"\u7528\u6237\u6635\u79F0\uFF1A"},{default:t(()=>[l(u(o.nickname),1)]),_:1}),e(r,{label:"\u8D26\u53F7\uFF1A"},{default:t(()=>[l(u(o.username)+" ",1),e(c,{class:"ml-[10px]",onConfirm:a[1]||(a[1]=s=>m(s,"username"))},{default:t(()=>[f((i(),F(d,{type:"primary",link:""},{default:t(()=>[e(p,{name:"el-icon-EditPen"})]),_:1})),[[_,["user:edit"]]])]),_:1})]),_:1}),e(r,{label:"\u771F\u5B9E\u59D3\u540D\uFF1A"},{default:t(()=>[l(u(o.realName||"-")+" ",1),e(c,{class:"ml-[10px]",onConfirm:a[2]||(a[2]=s=>m(s,"realName"))},{default:t(()=>[f((i(),F(d,{type:"primary",link:""},{default:t(()=>[e(p,{name:"el-icon-EditPen"})]),_:1})),[[_,["user:edit"]]])]),_:1})]),_:1}),e(r,{label:"\u6027\u522B\uFF1A"},{default:t(()=>[l(u(o.sex)+" ",1),e(c,{class:"ml-[10px]",type:"select",options:[{label:"\u672A\u77E5",value:0},{label:"\u7537",value:1},{label:"\u5973",value:2}],onConfirm:a[3]||(a[3]=s=>m(s,"sex"))},{default:t(()=>[f((i(),F(d,{type:"primary",link:""},{default:t(()=>[e(p,{name:"el-icon-EditPen"})]),_:1})),[[_,["user:edit"]]])]),_:1})]),_:1}),e(r,{label:"\u8054\u7CFB\u7535\u8BDD\uFF1A"},{default:t(()=>[l(u(o.mobile||"-")+" ",1),e(c,{class:"ml-[10px]",type:"number",onConfirm:a[4]||(a[4]=s=>m(s,"mobile"))},{default:t(()=>[f((i(),F(d,{type:"primary",link:""},{default:t(()=>[e(p,{name:"el-icon-EditPen"})]),_:1})),[[_,["user:edit"]]])]),_:1})]),_:1}),e(r,{label:"\u6CE8\u518C\u6765\u6E90\uFF1A"},{default:t(()=>[l(u(o.channel),1)]),_:1}),e(r,{label:"\u6CE8\u518C\u65F6\u95F4\uFF1A"},{default:t(()=>[l(u(o.createTime),1)]),_:1}),e(r,{label:"\u6700\u8FD1\u767B\u5F55\u65F6\u95F4\uFF1A"},{default:t(()=>[l(u(o.lastLoginTime),1)]),_:1})]),_:1},8,["model"])]),_:1})])}}});export{xe as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.e90a4447.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.e90a4447.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./message.64de6ab3.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.cf5a43ab.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.cf5a43ab.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.15556fef.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./dict.3012ac4c.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.e99120b3.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang.e99120b3.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./department.8edce8dc.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";import"./useDictOptions.311ad035.js";export{K as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.5e78bb2a.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.5e78bb2a.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./role.c2f1c968.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.2aee2dbe.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.2aee2dbe.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./menu.1fa1a49d.js";import"./index.15556fef.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.7b9a68ad.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang.7b9a68ad.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";export{I as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.777802bf.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.777802bf.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./article.7422eecc.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.ab8ef30c.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.ab8ef30c.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./wx_oa.0c8a7653.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.ae578893.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.ae578893.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.15556fef.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./dict.3012ac4c.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.87566b90.js";import{_ as V}from"./edit.vue_vue_type_script_setup_true_lang.87566b90.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./picker.6a412a5d.js";import"./index.15556fef.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.2e76481a.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./useDictOptions.311ad035.js";import"./role.c2f1c968.js";import"./post.540b0707.js";import"./department.8edce8dc.js";export{V as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./edit.vue_vue_type_script_setup_true_lang.e6c5b1bf.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang.e6c5b1bf.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./post.540b0707.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./index.15556fef.js";export{J as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{O as T,P as A,C as U,D as q,v as N,t as S,F as I}from"./element-plus.8115766e.js";import{f as P,h as M,i as O}from"./wx_oa.0c8a7653.js";import{P as z}from"./index.15556fef.js";import{f as G}from"./index.53063276.js";import{d as L,s as y,r as j,e as H,a0 as J,o as p,c as K,V as t,M as o,a as s,L as D,S as E,u as Q,T as c}from"./@vue.cab01781.js";const W={class:"edit-popup"},X={class:"flex-1"},Y=s("div",{class:"form-tips"},"\u65B9\u4FBF\u901A\u8FC7\u540D\u79F0\u7BA1\u7406\u5173\u6CE8\u56DE\u590D\u5185\u5BB9",-1),Z={class:"flex-1"},$=s("div",{class:"form-tips"},"\u65B9\u4FBF\u901A\u8FC7\u540D\u79F0\u7BA1\u7406\u5173\u6CE8\u56DE\u590D\u5185\u5BB9",-1),ee={class:"flex-1"},ue=c("\u5168\u5339\u914D"),te=c("\u6A21\u7CCA\u5339\u914D"),oe=s("div",{class:"form-tips"},"\u6A21\u7CCA\u5339\u914D\u65F6\uFF0C\u5173\u952E\u8BCD\u90E8\u5206\u5339\u914D\u7528\u6237\u8F93\u5165\u7684\u5185\u5BB9\u5373\u53EF",-1),le={class:"flex-1"},ae=c("\u6587\u672C"),se=s("div",{class:"form-tips"},"\u6682\u65F6\u53EA\u652F\u6301\u6587\u672C\u7C7B\u578B",-1),ne={class:"flex-1"},de={class:"flex-1"},fe=L({__name:"edit",emits:["success","close"],setup(re,{expose:C,emit:_}){const f=y(),r=y(),i=j("add"),V=H(()=>i.value=="edit"?"\u7F16\u8F91\u680F\u76EE":"\u65B0\u589E\u680F\u76EE"),u=J({id:"",name:"",type:"",contentType:1,keyword:"",content:"",matchingType:1,status:1,sort:0}),g={name:[{required:!0,message:"\u8BF7\u8F93\u5165\u89C4\u5219\u540D\u79F0",trigger:["blur"]}],keyword:[{required:!0,message:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD",trigger:["blur"]}],matchingType:[{required:!0,message:"\u8BF7\u9009\u62E9\u5339\u914D\u65B9\u5F0F",trigger:["blur"]}],contentType:[{required:!0,message:"\u8BF7\u9009\u62E9\u56DE\u590D\u7C7B\u578B",trigger:["blur"]}],content:[{required:!0,message:"\u8BF7\u8F93\u5165\u56DE\u590D\u5185\u5BB9",trigger:["blur"]}]},v=async()=>{var a,e;await((a=f.value)==null?void 0:a.validate()),i.value=="edit"?await P(u):await M(u),G.msgSuccess("\u64CD\u4F5C\u6210\u529F"),(e=r.value)==null||e.close(),_("success")},w=(a="add",e="")=>{var d;i.value=a,u.type=e,(d=r.value)==null||d.open()},F=a=>{for(const e in u)a[e]!=null&&a[e]!=null&&(u[e]=a[e])},b=async a=>{const e=await O({id:a.id,type:u.type});F(e)},h=()=>{_("close")};return C({open:w,setFormData:F,getDetail:b}),(a,e)=>{const d=U,n=q,m=T,B=A,k=N,x=S,R=I;return p(),K("div",W,[t(z,{ref_key:"popupRef",ref:r,title:Q(V),async:!0,width:"500px",clickModalClose:!0,onConfirm:v,onClose:h},{default:o(()=>[t(R,{ref_key:"formRef",ref:f,model:u,"label-width":"84px",rules:g,class:"pr-10"},{default:o(()=>[t(n,{label:"\u89C4\u5219\u540D\u79F0",prop:"name"},{default:o(()=>[s("div",X,[t(d,{modelValue:u.name,"onUpdate:modelValue":e[0]||(e[0]=l=>u.name=l),placeholder:"\u8BF7\u8F93\u5165\u89C4\u5219\u540D\u79F0"},null,8,["modelValue"]),Y])]),_:1}),u.type=="keyword"?(p(),D(n,{key:0,label:"\u5173\u952E\u8BCD",prop:"keyword"},{default:o(()=>[s("div",Z,[t(d,{modelValue:u.keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>u.keyword=l),placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD"},null,8,["modelValue"]),$])]),_:1})):E("",!0),u.type=="keyword"?(p(),D(n,{key:1,label:"\u5339\u914D\u65B9\u5F0F",prop:"matchingType",min:0},{default:o(()=>[s("div",ee,[t(B,{modelValue:u.matchingType,"onUpdate:modelValue":e[2]||(e[2]=l=>u.matchingType=l)},{default:o(()=>[t(m,{label:1},{default:o(()=>[ue]),_:1}),t(m,{label:2},{default:o(()=>[te]),_:1})]),_:1},8,["modelValue"]),oe])]),_:1})):E("",!0),t(n,{label:"\u56DE\u590D\u7C7B\u578B",prop:"contentType",min:0},{default:o(()=>[s("div",le,[t(B,{modelValue:u.contentType,"onUpdate:modelValue":e[3]||(e[3]=l=>u.contentType=l)},{default:o(()=>[t(m,{label:1},{default:o(()=>[ae]),_:1})]),_:1},8,["modelValue"]),se])]),_:1}),t(n,{label:"\u56DE\u590D\u5185\u5BB9",prop:"content"},{default:o(()=>[s("div",ne,[t(d,{modelValue:u.content,"onUpdate:modelValue":e[4]||(e[4]=l=>u.content=l),autosize:{minRows:4,maxRows:4},type:"textarea",maxlength:"200","show-word-limit":"",placeholder:"\u8BF7\u8F93\u5165\u56DE\u590D\u5185\u5BB9"},null,8,["modelValue"])])]),_:1}),t(n,{label:"\u6392\u5E8F"},{default:o(()=>[s("div",de,[t(k,{modelValue:u.sort,"onUpdate:modelValue":e[5]||(e[5]=l=>u.sort=l),min:0},null,8,["modelValue"])])]),_:1}),t(n,{label:"\u542F\u7528\u72B6\u6001"},{default:o(()=>[t(x,{modelValue:u.status,"onUpdate:modelValue":e[6]||(e[6]=l=>u.status=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{fe as _};
|
||||
@@ -1 +0,0 @@
|
||||
import{C as k,D as g,v as x,t as R,F as y}from"./element-plus.8115766e.js";import{p as S,a as h,b as A}from"./post.540b0707.js";import{P as U}from"./index.15556fef.js";import{f as I}from"./index.53063276.js";import{d as N,s as c,r as q,e as P,a0 as z,o as M,c as T,V as o,M as a,a as f,u as j}from"./@vue.cab01781.js";const G={class:"edit-popup"},H=f("div",{class:"form-tips"},"\u9ED8\u8BA4\u4E3A0\uFF0C \u6570\u503C\u8D8A\u5927\u8D8A\u6392\u524D",-1),X=N({__name:"edit",emits:["success","close"],setup(J,{expose:F,emit:m}){const p=c(),r=c(),n=q("add"),_=P(()=>n.value=="edit"?"\u7F16\u8F91\u5C97\u4F4D":"\u65B0\u589E\u5C97\u4F4D"),u=z({id:"",name:"",code:"",sort:0,remarks:"",isStop:0}),D={code:[{required:!0,message:"\u8BF7\u8F93\u5165\u5C97\u4F4D\u7F16\u7801",trigger:["blur"]}],name:[{required:!0,message:"\u8BF7\u8F93\u5165\u5C97\u4F4D\u540D\u79F0",trigger:["blur"]}]},C=async()=>{var l,e;await((l=p.value)==null?void 0:l.validate()),n.value=="edit"?await S(u):await h(u),I.msgSuccess("\u64CD\u4F5C\u6210\u529F"),(e=r.value)==null||e.close(),m("success")},V=(l="add")=>{var e;n.value=l,(e=r.value)==null||e.open()},i=l=>{for(const e in u)l[e]!=null&&l[e]!=null&&(u[e]=l[e])},v=async l=>{const e=await A({id:l.id});i(e)},b=()=>{m("close")};return F({open:V,setFormData:i,getDetail:v}),(l,e)=>{const d=k,s=g,w=x,E=R,B=y;return M(),T("div",G,[o(U,{ref_key:"popupRef",ref:r,title:j(_),async:!0,width:"550px",onConfirm:C,onClose:b},{default:a(()=>[o(B,{ref_key:"formRef",ref:p,model:u,"label-width":"84px",rules:D},{default:a(()=>[o(s,{label:"\u5C97\u4F4D\u540D\u79F0",prop:"name"},{default:a(()=>[o(d,{modelValue:u.name,"onUpdate:modelValue":e[0]||(e[0]=t=>u.name=t),placeholder:"\u8BF7\u8F93\u5165\u5C97\u4F4D\u540D\u79F0",clearable:""},null,8,["modelValue"])]),_:1}),o(s,{label:"\u5C97\u4F4D\u7F16\u7801",prop:"code"},{default:a(()=>[o(d,{modelValue:u.code,"onUpdate:modelValue":e[1]||(e[1]=t=>u.code=t),placeholder:"\u8BF7\u8F93\u5165\u5C97\u4F4D\u7F16\u7801",clearable:""},null,8,["modelValue"])]),_:1}),o(s,{label:"\u6392\u5E8F",prop:"sort"},{default:a(()=>[f("div",null,[o(w,{modelValue:u.sort,"onUpdate:modelValue":e[2]||(e[2]=t=>u.sort=t),min:0},null,8,["modelValue"]),H])]),_:1}),o(s,{label:"\u5907\u6CE8",prop:"remarks"},{default:a(()=>[o(d,{modelValue:u.remarks,"onUpdate:modelValue":e[3]||(e[3]=t=>u.remarks=t),placeholder:"\u8BF7\u8F93\u5165\u5907\u6CE8",type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),o(s,{label:"\u5C97\u4F4D\u72B6\u6001",prop:"isStop"},{default:a(()=>[o(E,{modelValue:u.isStop,"onUpdate:modelValue":e[4]||(e[4]=t=>u.isStop=t),"active-value":0,"inactive-value":1},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{X as _};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as V}from"./index.9b8a80fe.js";import{C as y,D as A,w as x,F as I,I as U}from"./element-plus.8115766e.js";import{f as _,b as N}from"./index.53063276.js";import{_ as L}from"./index.2e76481a.js";import{g as P,s as S}from"./website.f4e28a26.js";import{d as f,r as T,ag as $,o as s,c as d,V as e,M as o,W as M,a8 as O,L as F,a as t,O as W,T as h}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const j={class:"website-filing"},q=t("div",{class:"mb-5"},"\u7AD9\u70B9\u5E95\u90E8\u7248\u6743\u5907\u6848\u4FE1\u606F\u8BBE\u7F6E",-1),z={class:"bg-fill-lighter py-4"},G={class:"w-80"},H={class:"w-80"},J=t("div",{class:"form-tips"},"\u8DF3\u8F6C\u94FE\u63A5\u4E0D\u8BBE\u7F6E\uFF0C\u5219\u4E0D\u8DF3\u8F6C",-1),K=h(" \u6DFB\u52A0 "),Q=h("\u4FDD\u5B58"),R=f({name:"webFilling"}),Ue=f({...R,setup(X){const u=T([{name:"",link:""}]),r=async()=>{const n=await P();!n.length||(u.value=n)},v=()=>{u.value.push({name:"",link:""})},E=n=>{if(u.value.length<=1)return _.msgError("\u81F3\u5C11\u4FDD\u7559\u4E00\u4E2A");u.value.splice(n,1)},g=async()=>{await S(u.value),_.msgSuccess("\u64CD\u4F5C\u6210\u529F"),r()};return r(),(n,Y)=>{const i=y,m=A,B=L,C=N,p=x,D=I,w=U,b=V,k=$("perms");return s(),d("div",j,[e(w,{shadow:"never",class:"!border-none"},{default:o(()=>[q,e(D,{ref:"form",class:"ls-form","label-width":"100px"},{default:o(()=>[(s(!0),d(M,null,O(u.value,(a,c)=>(s(),F(B,{class:"mb-4",key:c,"show-close":u.value.length>1,onClose:l=>E(c)},{default:o(()=>[t("div",z,[e(m,{label:"\u663E\u793A\u5185\u5BB9",prop:"name"},{default:o(()=>[t("div",G,[t("div",null,[e(i,{modelValue:a.name,"onUpdate:modelValue":l=>a.name=l,placeholder:"\u8BF7\u8F93\u5165\u5185\u5BB9 \uFF0C\u4F8B\u5982\uFF1A ICP\u5907\u6848\u53F7"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),e(m,{label:"\u8DF3\u8F6C\u94FE\u63A5",prop:"link"},{default:o(()=>[t("div",H,[t("div",null,[e(i,{modelValue:a.link,"onUpdate:modelValue":l=>a.link=l,placeholder:"\u8BF7\u8F93\u5165\u94FE\u63A5\uFF0C\u4F8B\u5982\uFF1Ahttp://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),J])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),t("div",null,[e(p,{type:"primary",onClick:v},{default:o(()=>[e(C,{name:"el-icon-Plus"}),K]),_:1})])]),_:1},512)]),_:1}),W((s(),F(b,null,{default:o(()=>[e(p,{type:"primary",onClick:g},{default:o(()=>[Q]),_:1})]),_:1})),[[k,["setting:copyright:save"]]])])}}});export{Ue as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{_ as B}from"./index.9b8a80fe.js";import{I as V,w as E}from"./element-plus.8115766e.js";import b from"./menu.35e6a0fc.js";import h from"./preview.2af8a45c.js";import{_ as C}from"./attr-setting.vue_vue_type_script_setup_true_lang.173991cf.js";import{w as N}from"./index.8b3d114e.js";import{s as P,a as k}from"./decoration.a3e48437.js";import{n as F,f as I,d as S}from"./index.53063276.js";import{d as v,a0 as T,r as d,e as _,w as A,ag as M,o as g,c as O,V as r,M as n,a as J,u as f,O as U,L as W,T as L}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./attr.vue_vue_type_script_setup_true_lang.22676784.js";import"./index.2e76481a.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./content.vue_vue_type_script_setup_true_lang.c187246b.js";import"./decoration-img.e07a9eab.js";import"./attr.vue_vue_type_script_setup_true_lang.7393e332.js";import"./content.cbf0d4cf.js";import"./attr.vue_vue_type_script_setup_true_lang.dd81a142.js";import"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import"./content.1302931d.js";import"./attr.vue_vue_type_script_setup_true_lang.bec38aae.js";import"./content.vue_vue_type_script_setup_true_lang.e5408794.js";import"./attr.vue_vue_type_script_setup_true_lang.06a2fa18.js";import"./content.250698bc.js";import"./attr.vue_vue_type_script_setup_true_lang.0b87e513.js";import"./content.d99d9dd5.js";import"./attr.vue_vue_type_script_setup_true_lang.4d4e4b9a.js";import"./content.vue_vue_type_script_setup_true_lang.f8910cfe.js";import"./attr.vue_vue_type_script_setup_true_lang.0583d8bc.js";import"./content.90ee9825.js";const $={class:"decoration-pages min-w-[1100px]"},j={class:"flex h-full items-start"},q=L("\u4FDD\u5B58"),z=v({name:"decorationPages"}),G=v({...z,setup(H){const s=e=>e.map(t=>{var p;return{id:F(),...((p=N[t])==null?void 0:p.options())||{}}}),o=T({[1]:{id:1,pageType:1,name:"\u5546\u57CE\u9996\u9875",pageData:s(["search","banner","nav","news"])},[2]:{id:2,pageType:2,name:"\u4E2A\u4EBA\u4E2D\u5FC3",pageData:s(["user-info","my-service","user-banner"])},[3]:{id:3,pageType:3,name:"\u5BA2\u670D\u8BBE\u7F6E",pageData:s(["customer-service"])}}),a=d("1"),i=d(-1),u=_(()=>{var e,t;return(t=(e=o[a.value])==null?void 0:e.pageData)!=null?t:[]}),D=_(()=>{var e,t;return(t=(e=o[a.value])==null?void 0:e.pageData[i.value])!=null?t:""}),c=async()=>{const e=await k({id:a.value});o[String(e.id)].pageData=JSON.parse(e.pageData)},x=async()=>{await P({...o[a.value],pageData:JSON.stringify(o[a.value].pageData)}),c(),I.msgSuccess("\u4FDD\u5B58\u6210\u529F")};return A(a,()=>{i.value=u.value.findIndex(e=>!e.disabled),c()},{immediate:!0}),(e,t)=>{const l=V,p=E,w=B,y=M("perms");return g(),O("div",$,[r(l,{shadow:"never",class:"!border-none flex-1 flex","body-style":{flex:1}},{default:n(()=>[J("div",j,[r(b,{modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=m=>a.value=m),menus:o},null,8,["modelValue","menus"]),r(h,{modelValue:i.value,"onUpdate:modelValue":t[1]||(t[1]=m=>i.value=m),pageData:f(u)},null,8,["modelValue","pageData"]),r(C,{class:"flex-1",widget:f(D)},null,8,["widget"])])]),_:1}),U((g(),W(w,{class:"mt-4",fixed:!1},{default:n(()=>[r(p,{type:"primary",onClick:x},{default:n(()=>[q]),_:1})]),_:1})),[[y,["decorate:pages:save"]]])])}}});const it=S(G,[["__scopeId","data-v-592cd549"]]);export{it as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
.decoration-pages[data-v-592cd549]{min-height:calc(100vh - var(--navbar-height) - 80px);display:flex;flex-direction:column}
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
.w-e-full-screen-container{z-index:999999}.w-e-text-container [data-slate-editor] ul{list-style:disc}.w-e-text-container [data-slate-editor] ol{list-style:decimal}h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.17em}h4{font-size:1em}h5{font-size:.83em}h1,h2,h3,h4,h5{font-weight:700}
|
||||
@@ -1 +0,0 @@
|
||||
import{B as q,C as M,D as T,F as z,w as P}from"./element-plus.8115766e.js";import{u as C,a as O,c as k,A as b,_ as W,b as X,P as Y,d as G}from"./index.53063276.js";import{u as H,a as J}from"./vue-router.5046cc50.js";import{d as E,e as D,o as f,c as g,a as r,W as Q,a8 as Z,u as p,U as L,r as R,s as B,a0 as ee,j as oe,V as o,M as c,aa as V,T as te}from"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./lodash.b68d77aa.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";const se={class:"layout-footer"},ne={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},re=["href"],ae=E({__name:"footer",setup(x){const t=C(),l=D(()=>t.config.copyright||[]);return(m,a)=>(f(),g("footer",se,[r("div",ne,[(f(!0),g(Q,null,Z(p(l),u=>(f(),g("a",{class:"mx-1 hover:underline",href:u.link,target:"_blank",key:u.name},L(u.name),9,re))),128))])]))}});function ce(x){const t=R(!1);return{isLock:t,lockFn:async(...m)=>{if(!t.value){t.value=!0;try{const a=await x(...m);return t.value=!1,a}catch(a){throw t.value=!1,a}}}}}const le={class:"login flex flex-col"},ue={class:"flex-1 flex items-center justify-center"},ie={class:"login-card flex rounded-md"},pe={class:"flex-1 h-full hidden md:inline-block"},me={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[400px] w-[375px] flex-none mx-auto"},de={class:"text-center text-3xl font-medium mb-8"},_e={class:"mb-5"},fe=te(" \u767B\u5F55 "),ge=E({__name:"login",setup(x){const t=B(),l=B(),m=C(),a=O(),u=H(),K=J(),d=R(!1),y=D(()=>m.config),s=ee({account:"",password:""}),N={account:[{required:!0,message:"\u8BF7\u8F93\u5165\u8D26\u53F7",trigger:["blur"]}],password:[{required:!0,message:"\u8BF7\u8F93\u5165\u5BC6\u7801",trigger:["blur"]}]},S=()=>{var e;if(!s.password)return(e=t.value)==null?void 0:e.focus();h()},h=async()=>{var _;await((_=l.value)==null?void 0:_.validate()),k.set(b,{remember:d.value,account:s.account}),await a.login(s);const{query:{redirect:e}}=u,n=typeof e=="string"?e:Y.INDEX;K.push(n)},{isLock:U,lockFn:A}=ce(h);return oe(()=>{const e=k.get(b);e!=null&&e.remember&&(d.value=e.remember,s.account=e.account)}),(e,n)=>{const _=W,v=X,w=M,F=T,$=z,I=q,j=P;return f(),g("div",le,[r("div",ue,[r("div",ie,[r("div",pe,[o(_,{src:p(y).webBackdrop,width:400,height:"100%"},null,8,["src"])]),r("div",me,[r("div",de,L(p(y).webName),1),o($,{ref_key:"formRef",ref:l,model:s,size:"large",rules:N},{default:c(()=>[o(F,{prop:"account"},{default:c(()=>[o(w,{modelValue:s.account,"onUpdate:modelValue":n[0]||(n[0]=i=>s.account=i),modelModifiers:{trim:!0},placeholder:"\u8BF7\u8F93\u5165\u8D26\u53F7",onKeyup:V(S,["enter"])},{prepend:c(()=>[o(v,{name:"el-icon-Avatar"})]),_:1},8,["modelValue","onKeyup"])]),_:1}),o(F,{prop:"password"},{default:c(()=>[o(w,{ref_key:"passwordRef",ref:t,modelValue:s.password,"onUpdate:modelValue":n[1]||(n[1]=i=>s.password=i),"show-password":"",placeholder:"\u8BF7\u8F93\u5165\u5BC6\u7801",onKeyup:V(h,["enter"])},{prepend:c(()=>[o(v,{name:"el-icon-Lock"})]),_:1},8,["modelValue","onKeyup"])]),_:1})]),_:1},8,["model"]),r("div",_e,[o(I,{modelValue:d.value,"onUpdate:modelValue":n[2]||(n[2]=i=>d.value=i),label:"\u8BB0\u4F4F\u8D26\u53F7"},null,8,["modelValue"])]),o(j,{type:"primary",size:"large",loading:p(U),onClick:p(A)},{default:c(()=>[fe]),_:1},8,["loading","onClick"])])])]),o(ae)])}}});const Xe=G(ge,[["__scopeId","data-v-fcc29b65"]]);export{Xe as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang.0668dbb5.js";import{_ as L}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang.0668dbb5.js";import"./index.15556fef.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang.8770b5f9.js";import"./useMenuOa.117d1d8a.js";import"./wx_oa.0c8a7653.js";export{L as default};
|
||||
@@ -1 +0,0 @@
|
||||
import"./oa-menu-form.vue_vue_type_script_setup_true_lang.8770b5f9.js";import{_ as J}from"./oa-menu-form.vue_vue_type_script_setup_true_lang.8770b5f9.js";import"./element-plus.8115766e.js";import"./@vue.cab01781.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./useMenuOa.117d1d8a.js";import"./index.53063276.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./wx_oa.0c8a7653.js";export{J as default};
|
||||
@@ -1 +0,0 @@
|
||||
import{P as k}from"./index.15556fef.js";import{E as T}from"./element-plus.8115766e.js";import{F as N,_ as B,a as M}from"./index.3647ec2c.js";import{u as O,d as Q,b as j}from"./index.53063276.js";import{_ as q}from"./index.2e76481a.js";import{D as G}from"./vuedraggable.a5db575d.js";import{d as H,r as i,a4 as J,e as S,w as K,D as z,n as W,a5 as U,o as X,c as Y,V as n,a9 as Z,M as p,a as s,Q as P,_ as I,O as x,P as ee,I as le,$ as ae,T as te,b9 as oe,b8 as se}from"./@vue.cab01781.js";const ie=H({components:{Popup:k,Draggable:G,FileItem:N,Material:B,Preview:M},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1}},emits:["change","update:modelValue"],setup(e,{emit:t}){const h=i(),_=i(),g=i(""),w=i(!1),a=i([]),m=i([]),r=i(!0),c=i(-1),{disabled:y,limit:u,modelValue:C}=J(e),{getImageUrl:b}=O(),o=S(()=>{switch(e.type){case"image":return"\u56FE\u7247";case"video":return"\u89C6\u9891";default:return""}}),f=S(()=>e.limit-a.value.length>0),v=S(()=>r.value?u.value==-1?null:u.value-a.value.length:1),E=()=>{const l=m.value.map(d=>e.excludeDomain?d.path:d.uri);r.value?a.value=[...a.value,...l]:a.value.splice(c.value,1,l.shift()),V()},A=l=>{var d;y.value||(l>=0?(r.value=!1,c.value=l):r.value=!0,(d=h.value)==null||d.open())},F=l=>{m.value=l},V=()=>{const l=u.value!=1?a.value:a.value[0]||"";t("update:modelValue",l),t("change",l),$()},L=l=>{a.value.splice(l,1),V()},R=l=>{g.value=l,w.value=!0},$=()=>{W(()=>{var l;e.hiddenUpload&&(a.value=[]),(l=_.value)==null||l.clearSelect()})};return K(C,l=>{a.value=Array.isArray(l)?l:l==""?[]:[l]},{immediate:!0}),z("limit",e.limit),z("hiddenUpload",e.hiddenUpload),{popupRef:h,materialRef:_,fileList:a,tipsText:o,handleConfirm:E,meterialLimit:v,showUpload:f,showPopup:A,selectChange:F,deleteImg:L,previewUrl:g,showPreview:w,handlePreview:R,handleClose:$,getImageUrl:b}}});const D=e=>(oe("data-v-e1b4c3c5"),e=e(),se(),e),ne={class:"material-select"},re=["onClick"],ue={class:"operation-btns text-xs text-center"},de=D(()=>s("span",null,"\u4FEE\u6539",-1)),pe=te(" | "),me=["onClick"],ce=D(()=>s("span",null,"\u6DFB\u52A0",-1)),fe={class:"material-wrap"};function ve(e,t,h,_,g,w){const a=U("file-item"),m=q,r=U("draggable"),c=j,y=B,u=T,C=k,b=U("preview");return X(),Y("div",ne,[n(C,{ref:"popupRef",width:"830px","custom-class":"body-padding",title:`\u9009\u62E9${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Z({default:p(()=>[n(u,null,{default:p(()=>[s("div",fe,[n(y,{ref:"materialRef",type:e.type,"file-size":e.fileSize,limit:e.meterialLimit,onChange:e.selectChange},null,8,["type","file-size","limit","onChange"])])]),_:1})]),_:2},[e.hiddenUpload?void 0:{name:"trigger",fn:p(()=>[s("div",{class:"material-select__trigger clearfix",onClick:t[2]||(t[2]=I(()=>{},["stop"]))},[n(r,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":t[0]||(t[0]=o=>e.fileList=o),animation:"300","item-key":"id"},{item:p(({element:o,index:f})=>[s("div",{class:P(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:v=>e.showPopup(f)},[n(m,{onClose:v=>e.deleteImg(f)},{default:p(()=>[n(a,{uri:e.excludeDomain?e.getImageUrl(o):o,"file-size":e.size,type:e.type},null,8,["uri","file-size","type"])]),_:2},1032,["onClose"]),s("div",ue,[de,pe,s("span",{onClick:I(v=>e.handlePreview(o),["stop"])},"\u67E5\u770B",8,me)])],10,re)]),_:1},8,["modelValue"]),x(s("div",{class:P(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:t[1]||(t[1]=o=>e.showPopup(-1))},[le(e.$slots,"upload",{},()=>[s("div",{class:"upload-btn",style:ae({width:e.size,height:e.size})},[n(c,{size:25,name:"el-icon-Plus"}),ce],4)],!0)],2),[[ee,e.showUpload]])])])}]),1032,["title","onConfirm","onClose"]),n(b,{modelValue:e.showPreview,"onUpdate:modelValue":t[3]||(t[3]=o=>e.showPreview=o),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const Se=Q(ie,[["render",ve],["__scopeId","data-v-e1b4c3c5"]]);export{Se as _};
|
||||
@@ -1 +0,0 @@
|
||||
.material-select .material-upload[data-v-e1b4c3c5],.material-select .material-preview[data-v-e1b4c3c5]{position:relative;border-radius:4px;cursor:pointer;margin-right:8px;margin-bottom:8px;box-sizing:border-box;float:left}.material-select .material-upload.is-disabled[data-v-e1b4c3c5],.material-select .material-preview.is-disabled[data-v-e1b4c3c5]{cursor:not-allowed}.material-select .material-upload.is-one[data-v-e1b4c3c5],.material-select .material-preview.is-one[data-v-e1b4c3c5]{margin-bottom:0}.material-select .material-upload:hover .operation-btns[data-v-e1b4c3c5],.material-select .material-preview:hover .operation-btns[data-v-e1b4c3c5]{display:block}.material-select .material-upload .operation-btns[data-v-e1b4c3c5],.material-select .material-preview .operation-btns[data-v-e1b4c3c5]{display:none;position:absolute;bottom:0;border-radius:4px;width:100%;line-height:2;color:#fff;background-color:#0000004d}.material-select .material-upload[data-v-e1b4c3c5] .upload-btn{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.25rem;border-width:1px;border-style:dashed;border-color:var(--el-border-color);color:var(--el-text-color-secondary)}.material-wrap[data-v-e1b4c3c5]{min-width:720px;height:430px;border-top-width:1px;border-bottom-width:1px;border-color:var(--el-border-color)}
|
||||
@@ -1 +0,0 @@
|
||||
import{E as u}from"./element-plus.8115766e.js";import{w as d}from"./index.8b3d114e.js";import{d as _,o as r,c as p,V as f,M as v,W as y,a8 as b,Q as s,a as h,I as k,L as C,R as V,u as x}from"./@vue.cab01781.js";import{d as B}from"./index.53063276.js";import"./@vueuse.724ed0af.js";import"./@element-plus.92b4185f.js";import"./lodash-es.29c53eac.js";import"./dayjs.66926594.js";import"./axios.2d915936.js";import"./async-validator.fb49d0f5.js";import"./@ctrl.82a509e0.js";import"./@popperjs.36402333.js";import"./escape-html.e5dfadb9.js";import"./normalize-wheel-es.8aeb3683.js";import"./attr.vue_vue_type_script_setup_true_lang.22676784.js";import"./index.2e76481a.js";import"./picker.45f93d74.js";import"./index.15556fef.js";import"./picker.6a412a5d.js";import"./index.3647ec2c.js";import"./usePaging.52ce9b34.js";import"./index.vue_vue_type_script_setup_true_lang.23d9d5f1.js";import"./vue3-video-play.05975c53.js";import"./vuedraggable.a5db575d.js";import"./vue.de4be77f.js";import"./sortablejs.cd7e2c7e.js";import"./content.vue_vue_type_script_setup_true_lang.c187246b.js";import"./decoration-img.e07a9eab.js";import"./lodash.b68d77aa.js";import"./vue-router.5046cc50.js";import"./pinia.e85e8286.js";import"./vue-demi.bfae2336.js";import"./css-color-function.a8f9466d.js";import"./color.903ca10f.js";import"./clone.9d64bb7a.js";import"./color-convert.69e17089.js";import"./color-string.e356f5de.js";import"./color-name.e7a4e1d3.js";import"./nprogress.a96d99f2.js";import"./vue-clipboard3.91d4fd5f.js";import"./clipboard.c0a70c0c.js";import"./echarts.6ad8c478.js";import"./zrender.f91f2f01.js";import"./highlight.js.4ebdf9a4.js";import"./@highlightjs.0ab41b7b.js";import"./attr.vue_vue_type_script_setup_true_lang.7393e332.js";import"./content.cbf0d4cf.js";import"./attr.vue_vue_type_script_setup_true_lang.dd81a142.js";import"./add-nav.vue_vue_type_script_setup_true_lang.4d0f9da8.js";import"./content.1302931d.js";import"./attr.vue_vue_type_script_setup_true_lang.bec38aae.js";import"./content.vue_vue_type_script_setup_true_lang.e5408794.js";import"./attr.vue_vue_type_script_setup_true_lang.06a2fa18.js";import"./content.250698bc.js";import"./decoration.a3e48437.js";import"./attr.vue_vue_type_script_setup_true_lang.0b87e513.js";import"./content.d99d9dd5.js";import"./attr.vue_vue_type_script_setup_true_lang.4d4e4b9a.js";import"./content.vue_vue_type_script_setup_true_lang.f8910cfe.js";import"./attr.vue_vue_type_script_setup_true_lang.0583d8bc.js";import"./content.90ee9825.js";const D={class:"shadow mx-[30px] pages-preview"},E=["onClick"],N=_({__name:"preview",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(m,{emit:l}){const n=(t,i)=>{t.disabled||l("update:modelValue",i)};return(t,i)=>{const c=u;return r(),p("div",D,[f(c,null,{default:v(()=>[(r(!0),p(y,null,b(m.pageData,(o,a)=>(r(),p("div",{key:o.id,class:s(["relative",{"cursor-pointer":!(o!=null&&o.disabled)}]),onClick:e=>n(o,a)},[h("div",{class:s(["absolute w-full h-full z-[100] border-dashed",{select:a==m.modelValue,"border-[#dcdfe6] border-2":!(o!=null&&o.disabled)}])},null,2),k(t.$slots,"default",{},()=>{var e;return[(r(),C(V((e=x(d)[o==null?void 0:o.name])==null?void 0:e.content),{content:o.content,styles:o.styles,key:o.id},null,8,["content","styles"]))]},!0)],10,E))),128))]),_:3})])}}});const Po=B(N,[["__scopeId","data-v-d63d893f"]]);export{Po as default};
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 33 KiB |
@@ -1 +0,0 @@
|
||||
import{r as t}from"./index.53063276.js";function s(){return t.get({url:"/monitor/server"})}function o(e){return t.get({url:"/system/log/operate",params:e})}function n(){return t.get({url:"/monitor/cache"})}export{s as a,o as b,n as s};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{f as r}from"./index.53063276.js";import{a as i,b as o,c as g}from"./wx_oa.0c8a7653.js";import{s as d,r as c,a0 as h}from"./@vue.cab01781.js";const t=d(),a=c([]),n=c(0),C=h({name:[{required:!0,message:"\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A",trigger:["blur","change"]},{min:1,max:12,message:"\u957F\u5EA6\u9650\u523612\u4E2A\u5B57\u7B26",trigger:["blur","change"]}],menuType:[{required:!0,message:"\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A",trigger:["blur","change"]}],visitType:[{required:!0,message:"\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A",trigger:["blur","change"]}],url:[{required:!0,message:"\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A",trigger:["blur","change"]}],appId:[{required:!0,message:"\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A",trigger:["blur","change"]}],pagePath:[{required:!0,message:"\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A",trigger:["blur","change"]}]}),S=l=>(l&&(t.value=l),{menuList:a,menuIndex:n,handleAddMenu:()=>{a.value.push({name:"\u83DC\u5355\u540D\u79F0",menuType:1,visitType:"view",url:"",appId:"",pagePath:"",subButtons:[]})},handleAddSubMenu:e=>{const u=n.value;if(a.value[u].subButtons.length>=5){r.msgError("\u5DF2\u6DFB\u52A0\u4E0A\u9650\uFF5E");return}a.value[u].subButtons.push(e)},handleEditSubMenu:(e,u)=>{const s=n.value;a.value[s].subButtons[u]=e},handleDelMenu:e=>{a.value.splice(e,1)},handleDelSubMenu:(e,u)=>{a.value[e].subButtons.splice(u,1)},getOaMenuFunc:async()=>{try{a.value=await i()}catch(e){console.log("\u83B7\u53D6\u83DC\u5355=>",e)}},handleSave:async()=>{const e=t.value.value;for(let u=0;u<e.length;u++)try{await e[u].menuFormRef.validate()}catch{n.value=u,r.msgError(`\u83DC\u5355${u+1}\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A\uFF5E`);return}await o(a.value),r.msgSuccess("\u4FDD\u5B58\u6210\u529F")},handlePublish:async()=>{const e=t.value.value;for(let u=0;u<e.length;u++)try{await e[u].menuFormRef.validate()}catch{n.value=u,r.msgError(`\u83DC\u5355${u+1}\u5FC5\u586B\u9879\u4E0D\u80FD\u4E3A\u7A7A\uFF5E`);return}await g(a.value),r.msgSuccess("\u53D1\u5E03\u6210\u529F")}});export{C as r,S as u};
|
||||
@@ -1 +0,0 @@
|
||||
var i="/static/images/icon/icon_visit.png";export{i as _};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user