1.代码优化

v1.0.0
sws 2024-10-16 15:36:51 +08:00
parent 2c1fe210e0
commit 7b8574b970
5 changed files with 18 additions and 15 deletions

View File

@ -4,10 +4,14 @@
<li v-for="(item, index) in from" :key="index" :class="className" class="flex gap-y-16 re" @click="on_click(item, index)">
<icon name="drag" size="16" class="cursor-move" />
<slot :row="item" :index="index" />
<icon v-if="type == 'card'" name="close-fillup" class="abs c-pointer cr-c top-de-5 right-de-5" size="18" color="6" @click="remove(index)" />
<icon v-if="type == 'line'" name="delete-o" class="c-pointer do-not-trigger" size="18" color="6" @click="remove(index)" />
<div class="abs c-pointer top-de-5 right-de-5" @click.stop="remove(index)">
<icon v-if="type == 'card'" name="close-fillup" size="18" color="c" />
</div>
<div class="c-pointer do-not-trigger" @click.stop="remove(index)">
<icon v-if="type == 'line'" name="delete-o" size="18" color="6" />
</div>
<el-dropdown v-if="isShowEdit" placement="bottom">
<icon name="more-o" size="18" class="icon-edit-o" color="primary"></icon>
<icon name="more-o" size="18" color="primary"></icon>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click.stop="edit(index)">编辑</el-dropdown-item>
@ -86,13 +90,7 @@ const on_sort = () => {
padding-left: 1.6rem;
padding-right: 2rem;
}
.size-16 {
font-size: 1.6rem !important;
}
.icon-del-o,
.icon-edit-o {
cursor: pointer;
}
.cursor-move {
color: #ddd;
cursor: move;

View File

@ -1,5 +1,5 @@
<template>
<i class="iconfont" :class="className" :style="'font-size:' + size + 'px;' + (props.color && (props.color.indexOf('#') != -1 || props.color.indexOf('rgba') != -1) ? 'color:' + props.color + ';' : '') + styles" @click.stop="onClick">
<i class="iconfont" :class="className" :style="'font-size:' + size + 'px;' + (props.color && (props.color.indexOf('#') != -1 || props.color.indexOf('rgba') != -1) ? 'color:' + props.color + ';' : '') + styles" @click="onClick">
<slot></slot>
</i>
</template>

View File

@ -25,7 +25,7 @@
<el-input v-model="form.shop_button_text" placeholder="请输入按钮文字" clearable></el-input>
</template>
<template v-else>
<upload v-model:icon-value="form.shop_button_icon_class" is-icon type="icon" :limit="1" size="50"></upload>
<upload v-model:icon-value="form.shop_button_icon_class" :is-delete="false" is-icon type="icon" :limit="1" size="50"></upload>
</template>
</div>
</el-form-item>

View File

@ -206,7 +206,7 @@
</div>
<template v-else>
<div :class="'upload-btn upload-btn-style-' + styles" :style="'height:' + upload_size + ';width:' + upload_size + ';'" @click="dialog_visible = true">
<div v-if="!isEmpty(icon_value)" class="upload-del-icon" @click.stop="del_icon_event">
<div v-if="isDelete && !isEmpty(icon_value)" class="upload-del-icon" @click.stop="del_icon_event">
<icon name="close-fillup" color="c" size="14"></icon>
</div>
<div class="flex-col gap-10 align-c">
@ -244,6 +244,7 @@ const app = getCurrentInstance();
* @param tipsText{String} 提示文字
* @param size{Number|String} 上传图片大小
* @param style{Number} 样式 0.默认样式 1.自定义样式1 2.自定义样式2
* @param isDelete{Boolean} 是否可以删除
* @return {*} update:model_value_upload
*/
const props = defineProps({
@ -287,6 +288,10 @@ const props = defineProps({
type: Number,
default: 0,
},
isDelete: {
type: Boolean,
default: true,
},
});
const model_value_upload = defineModel({ type: Array as PropType<uploadList[]>, default: [] });

View File

@ -12,7 +12,7 @@ const message_error = (info: string) => {
messageInstance = ElMessage.error({
type: 'error',
message: info,
duration: 60000,
duration: 30000,
showClose: true,
});
};
@ -25,7 +25,7 @@ const index = window.location.href.lastIndexOf('?s=');
const pro_url = window.location.href.substring(0, index);
const service = axios.create({
baseURL: import.meta.env.VITE_APP_BASE_API == '/dev-api' ? import.meta.env.VITE_APP_BASE_API : pro_url + '?s=',
timeout: 3000,
timeout: 60000,
headers: { 'Content-Type': 'application/json;charset=utf-8' },
});
/** @ts-ignore */