refactor(components): 组件重构和优化

- 将开发组件从dev目录迁移到advanced目录
- 修复样式变量导入路径问题
- 调整表单验证规则的必需性设置
- 更新组件演示页面的引用路径
- 移除不再需要的组件和相关代码
- 优化组件属性配置和默认值设定
- 删除重复的文件上传演示组件
- 整合并规范组件依赖关系
This commit is contained in:
2026-02-04 15:26:06 +08:00
parent b9b1f8eb8c
commit 3d5b9083d9
34 changed files with 1201 additions and 928 deletions
@@ -0,0 +1,115 @@
<template>
<div>
<h4>何时使用</h4>
<ul class="description">
<li>需要用户上传文件时</li>
<li>当需要与表单组件(如 CuteFormDialog、CuteFormDrawer)集成时</li>
<li>在使用过程中有任何问题,咨询 @Odboy(前端) @Odboy(后端)</li>
</ul>
<h4>基础用法</h4>
<el-form ref="form" :model="form" label-width="100px">
<el-form-item label="活动名称" prop="name">
<el-input v-model="form.name" style="width: 100%" />
</el-form-item>
<el-form-item label="活动区域" prop="region">
<el-select v-model="form.region" placeholder="请选择活动区域" style="width: 100%">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="文件上传" prop="fileUrl">
<cute-file-drag-upload v-model="form" mode="local" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('form')">提 交</el-button>
</el-form-item>
</el-form>
<h4>与CuteFormDialog集成 <el-button type="text" @click="showFormDialog">显示对话框</el-button></h4>
<cute-form-dialog ref="formDialog" title="与CuteFormDialog集成" :model="form">
<el-form-item label="活动名称" prop="name" label-width="80px">
<el-input v-model="form.name" style="width: 100%" />
</el-form-item>
<el-form-item label="活动区域" prop="region" label-width="80px">
<el-select v-model="form.region" placeholder="请选择活动区域" style="width: 100%">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="文件上传" prop="fileUrl" label-width="80px">
<cute-file-drag-upload v-model="form" mode="local" />
</el-form-item>
</cute-form-dialog>
<h4>与CuteFormDrawer集成 <el-button type="text" @click="showFormDrawer">显示抽屉</el-button></h4>
<cute-form-drawer ref="formDrawer" title="与CuteFormDrawer集成" :model="form">
<el-form-item label="活动名称" prop="name" label-width="80px">
<el-input v-model="form.name" style="width: 100%" />
</el-form-item>
<el-form-item label="活动区域" prop="region" label-width="80px">
<el-select v-model="form.region" placeholder="请选择活动区域" style="width: 100%">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="文件上传" prop="fileUrl" label-width="80px">
<cute-file-drag-upload v-model="form" mode="local" />
</el-form-item>
</cute-form-drawer>
<h4>API</h4>
<el-table :data="apiData">
<el-table-column prop="name" label="参数" width="220" />
<el-table-column prop="remark" label="说明" width="450" />
<el-table-column prop="type" label="类型" />
<el-table-column prop="defaultValue" label="默认值" />
<el-table-column prop="required" label="是否必填" />
</el-table>
</div>
</template>
<script>
import CuteFormDialog from '@/views/components/advanced/CuteFormDialog.vue'
import CuteFileDragUpload from '@/views/components/business/CuteFileDragUpload.vue'
import CuteFormDrawer from '@/views/components/advanced/CuteFormDrawer.vue'
export default {
name: 'CuteFileDragUploadDemo',
components: { CuteFormDrawer, CuteFormDialog, CuteFileDragUpload },
data() {
return {
form: {
name: '',
region: '',
fileUrl: ''
},
apiData: [
{ name: 'value', remark: '上传的文件路径', type: 'string', defaultValue: '-', required: '是' },
{ name: 'mode', remark: '上传方式。local本地、oss对象存储', type: 'string', defaultValue: 'local', required: '否' }
]
}
},
methods: {
showFormDialog() {
this.$refs.formDialog.show()
},
showFormDrawer() {
this.$refs.formDrawer.show()
},
submitForm(formName) {
const that = this
that.$refs[formName].validate((valid) => {
if (valid) {
console.log('submitForm:form', that.form)
} else {
return false
}
})
}
}
}
</script>
<style lang="scss" scoped>
ul {
padding-left: 20px;
}
.description > li{
font-size: 12px;
}
</style>