1.代码优化

sws 2024-09-02
v1.0.0
sws 2024-09-02 14:02:05 +08:00
parent ead30f62a8
commit 56996efdec
9 changed files with 38 additions and 29 deletions

View File

@ -13,6 +13,7 @@
},
"dependencies": {
"@types/dompurify": "^3.0.5",
"@types/qrcode": "^1.5.5",
"@vueuse/core": "^10.2.1",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
@ -20,7 +21,7 @@
"dompurify": "^3.1.6",
"element-plus": "^2.3.7",
"pinia": "^2.1.3",
"qrcode": "^1.5.3",
"qrcode": "^1.5.4",
"swiper": "^11.1.5",
"terser": "^5.31.5",
"tsparticles": "^2.11.0",

View File

@ -1,6 +1,6 @@
<!-- 上传组件 -->
<template>
<el-dialog v-model="dialog_visible" fullscreen @close="close_event">
<el-dialog v-model="dialog_visible" fullscreen :close-on-click-modal="false" @close="close_event">
<template #header>
<div class="title re">
<div class="tc size-16 fw">编辑热区</div>
@ -57,7 +57,7 @@
</span>
</template>
</el-dialog>
<el-dialog v-model="hot_dialog_visible" width="560" append-to-body draggable @close="hot_close_event">
<el-dialog v-model="hot_dialog_visible" width="560" append-to-body draggable :close-on-click-modal="false" @close="hot_close_event">
<template #header>
<div class="title re">
<div class="tc size-16 fw">设置热区</div>

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="dialog_visible" class="radius-lg" width="1168" draggable append-to-body @close="close_event">
<el-dialog v-model="dialog_visible" class="radius-lg" width="1168" draggable append-to-body :close-on-click-modal="false" @close="close_event">
<template #header>
<div class="title center re">
<div class="tc size-16 fw">主题选择</div>

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="dialog_visible_category_operate" class="radius-lg" width="500" draggable append-to-body>
<el-dialog v-model="dialog_visible_category_operate" class="radius-lg" width="500" :close-on-click-modal="false" draggable append-to-body>
<template #header>
<div class="title center re">
<div class="tc size-16 fw">{{ type == 'add' ? '添加' : '编辑' }}附件分类</div>

View File

@ -1,6 +1,6 @@
<!-- 上传组件 -->
<template>
<el-dialog v-model="dialog_visible" class="radius-lg" width="1168" draggable append-to-body>
<el-dialog v-model="dialog_visible" class="radius-lg" width="1168" draggable :close-on-click-modal="false" append-to-body>
<template #header>
<div class="title re">
<el-radio-group v-model="upload_type" is-button @change="upload_type_change">
@ -70,7 +70,7 @@
<el-scrollbar v-loading="img_loading" height="440px">
<div v-if="upload_list.length > 0" class="flex-row flex-wrap align-c gap-y-15 gap-x-10 pa-10">
<div v-for="(item, index) in upload_list" :key="index" class="item" @click="check_img_event(item)">
<el-badge :value="view_list_value.findIndex((i) => i.id === item.id) == -1 ? '' : view_list_value.findIndex((i) => i.id === item.id) + 1" class="badge flex-col gap-5 w" :hidden="view_list_value.findIndex((i) => i.id === item.id) == -1">
<el-badge :value="view_list_value.findIndex((i) => i.id === item.id) == -1 ? '' : view_list_value.findIndex((i) => i.id === item.id) + 1" class="badge flex-col gap-5 w" :hidden="view_list_value.findIndex((i) => i.id === item.id) == -1 || limit == 1">
<div class="item-content re br-f5 radius">
<template v-if="upload_type == 'video'">
<video :src="item.url" class="w h" @error="handle_error(index)"></video>

View File

@ -1,6 +1,6 @@
<!-- 上传组件 -->
<template>
<el-dialog v-model="dialogVisible" class="radius-lg" width="1168" draggable append-to-body @close="close_dialog">
<el-dialog v-model="dialogVisible" class="radius-lg" width="1168" draggable append-to-body :close-on-click-modal="false" @close="close_dialog">
<template #header>
<div class="title center re">
<div class="tc size-16 fw">{{ upload_type_name }}上传</div>
@ -17,7 +17,7 @@
</el-form-item>
<el-form-item label="上传至分组" prop="category_id">
<div class="form-item-width">
<el-cascader v-model="form.category_id" class="w" :options="cascader_data" placeholder="请选择" :show-all-levels="false" filterable clearable change="category_id_change"></el-cascader>
<el-cascader v-model="form.category_id" class="w" :options="cascader_data" placeholder="请选择" :show-all-levels="false" filterable clearable @change="category_id_change"></el-cascader>
</div>
</el-form-item>
<template v-if="form.type == 'loc'">
@ -101,8 +101,8 @@
<div class="table-cell-operate">操作</div>
</div>
</div>
<div v-if="scan_file_list.length > 0">
<el-scrollbar height="224px">
<el-scrollbar height="224px">
<div v-if="scan_file_list.length > 0">
<div class="table-body">
<div v-for="(item, index) in scan_file_list" :key="index" class="table-row">
<div class="table-cell">
@ -133,17 +133,17 @@
<div class="table-cell-operate" @click="del_already_upload(item.id, index)">删除</div>
</div>
</div>
</el-scrollbar>
</div>
<div v-else>
<no-data height="280px"></no-data>
</div>
</div>
<div v-else>
<no-data height="280px"></no-data>
</div>
</el-scrollbar>
</div>
</template>
<template v-else-if="form.type == 'web'">
<el-form-item label="网络图片">
<div class="flex-row align-c gap-10">
<el-input v-model="form.web_image" class="form-item-width" placeholder="请输入网络图片地址" />
<el-input v-model="form.web_image" class="form-item-width" placeholder="请输入网络图片地址" clearable />
<div class="c-pointer cr-primary size-12" @click="extract_images(ruleFormRef)"></div>
</div>
</el-form-item>
@ -224,7 +224,8 @@ const rules = reactive<FormRules>({
});
//
const is_mask = ref(true);
const timer = ref<number | null>(null);
const timer = ref<any>(null);
const scan_uuid = ref('');
//
const upload_type_change = (type: any) => {
//
@ -235,20 +236,19 @@ const upload_type_change = (type: any) => {
}
if (type == 'scan') {
timer.value = setInterval(async () => {
if (scan_uuid.value.toString().length > 0) {
if (scan_uuid.value.length > 0) {
const { data } = await UploadAPI.uploadQrcode({ key: scan_uuid.value });
scan_file_list.value = data;
scan_file_list.value = data || [];
}
}, 3000);
}
};
const scan_uuid = ref('');
//
const category_id_change = (val: any) => {
if (val && val.length > 0) {
scan_file_list.value = [];
is_mask.value = false;
scan_uuid.value = get_math();
scan_uuid.value = get_math() + '';
let new_url = '';
if (import.meta.env.VITE_APP_BASE_API == '/dev-api') {
new_url = get_before_string(import.meta.env.VITE_APP_BASE_API_URL);

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="dialogVisible" class="radius-lg" width="1168" draggable append-to-body @close="close_event">
<el-dialog v-model="dialogVisible" class="radius-lg" width="1168" draggable append-to-body :close-on-click-modal="false" @close="close_event">
<template #header>
<div class="title center re">
<div class="tc size-16 fw">{{ dialog_title }}</div>

View File

@ -20,7 +20,7 @@
<el-button class="btn-white" @click="save_close_event"></el-button>
</div>
</div>
<el-dialog v-model="dialog_visible" class="radius-lg" width="650" draggable append-to-body>
<el-dialog v-model="dialog_visible" class="radius-lg" width="650" draggable :close-on-click-modal="false" append-to-body>
<template #header>
<div class="title re">
<div class="middle size-16 fw">附件管理</div>
@ -148,17 +148,18 @@ const confirm_event = async (formEl: FormInstance | undefined) => {
border-color: #fff;
color: #fff;
&:hover {
background-color: #666;
background-color: #fff;
border-color: #fff;
color: $cr-primary;
}
}
.btn-white {
background-color: #fff;
border-color: #fff;
// color: #{$cr-primary};
color: $cr-primary;
&:hover {
background-color: $cr-primary;
border-color: $cr-primary;
background-color: #1e7ede;
border-color: #1e7ede;
color: #fff;
}
}

View File

@ -413,6 +413,13 @@
dependencies:
undici-types "~6.13.0"
"@types/qrcode@^1.5.5":
version "1.5.5"
resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.5.tgz#993ff7c6b584277eee7aac0a20861eab682f9dac"
integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==
dependencies:
"@types/node" "*"
"@types/semver@^7.3.12":
version "7.5.8"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
@ -3761,7 +3768,7 @@ punycode@^2.1.0:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
qrcode@^1.5.3:
qrcode@^1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.4.tgz#5cb81d86eb57c675febb08cf007fff963405da88"
integrity sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==