docs(components): 添加业务组件文档演示
- 修改CuteDeptTree组件布局属性从响应式栅格到固定span - 调整CuteDeptTree组件中search事件触发时机优化 - 新增CuteDeptTreeDemo组件演示页面及API文档 - 新增CuteProductLineSelectDemo组件演示页面及API文档 - 新增CuteProductLineSelectProDemo组件演示页面及API文档 - 新增CuteSingleUserSelectDemo组件演示页面及API文档 - 新增CuteUserSelectDemo组件演示页面及API文档 - 删除旧的CuteBusinessDemo组件页面 - 在组件演示首页添加业务组件折叠面板展示 - 更新组件导入引用名称确保一致性 - 移除CuteOtherDemo中的CuteSectionTitle演示代码 - 重命名CuteSearchProForm为CuteSearchFormPro并更新引用 - 重命名CuteFormProDialog为CuteFormDialogPro并更新引用
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
* @created 2025-07-29
|
* @created 2025-07-29
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-col :xs="9" :sm="6" :md="5" :lg="4" :xl="4">
|
<el-col :span="6">
|
||||||
<div class="head-container">
|
<div class="head-container">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="deptName"
|
v-model="deptName"
|
||||||
@@ -51,11 +51,11 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getDeptData(node, resolve) {
|
getDeptData(node, resolve) {
|
||||||
|
this.$emit('search', node)
|
||||||
const params = {}
|
const params = {}
|
||||||
if (typeof node !== 'object') {
|
if (typeof node !== 'object') {
|
||||||
if (node) {
|
if (node) {
|
||||||
params['name'] = node
|
params['name'] = node
|
||||||
this.$emit('search', node)
|
|
||||||
}
|
}
|
||||||
} else if (node.level !== 0) {
|
} else if (node.level !== 0) {
|
||||||
params['pid'] = node.data.id
|
params['pid'] = node.data.id
|
||||||
|
|||||||
@@ -1,112 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div style="padding: 50px">
|
|
||||||
<el-card class="box-card">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>表单值绑定</span>
|
|
||||||
</div>
|
|
||||||
<el-form ref="form" :model="form" label-width="80px">
|
|
||||||
<el-form-item label="用户" prop="user">
|
|
||||||
<!-- v-model 本质上是 :value 和 @input 事件的语法糖 -->
|
|
||||||
<cute-user-select v-model="form.user" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="部门" prop="dept">
|
|
||||||
<cute-dept-tree v-model="form.dept" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="产品线" prop="productLine">
|
|
||||||
<cute-product-line-select v-model="form.productLine" @detail="onProductLineDetailChange" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="产品线Pro" prop="productLinePro">
|
|
||||||
<cute-product-line-select-pro v-model="form.productLinePro" @detail="onProductLineDetailProChange" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
|
|
||||||
<el-button type="danger" @click="onReset('form')">重 置</el-button>
|
|
||||||
<el-button>取 消</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</el-card>
|
|
||||||
<el-card style="margin-top: 10px">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>用户选择框</span>
|
|
||||||
</div>
|
|
||||||
<cute-user-select @change="onUserSelectChange" />
|
|
||||||
</el-card>
|
|
||||||
<el-card style="margin-top: 10px">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>部门树</span>
|
|
||||||
</div>
|
|
||||||
<cute-dept-tree @node-click="onDeptTreeNodeClick" @search="onDeptTreeSearch" />
|
|
||||||
</el-card>
|
|
||||||
<el-card style="margin-top: 10px">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>产品线选择框</span>
|
|
||||||
</div>
|
|
||||||
<cute-product-line-select @change="onProductLineChange" @detail="onProductLineDetailChange" />
|
|
||||||
</el-card>
|
|
||||||
<el-card style="margin-top: 10px">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<span>产品线选择框Pro</span>
|
|
||||||
</div>
|
|
||||||
<cute-product-line-select-pro @change="onProductLineDetailProChange" />
|
|
||||||
</el-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
import CuteUserSelect from '@/views/components/business/CuteUserSelect.vue'
|
|
||||||
import CuteDeptTree from '@/views/components/business/CuteDeptTree.vue'
|
|
||||||
import CuteProductLineSelect from '@/views/components/business/CuteProductLineSelect.vue'
|
|
||||||
import CuteProductLineSelectPro from '@/views/components/business/CuteProductLineSelectPro.vue'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'CuteBusinessDemo',
|
|
||||||
components: { CuteProductLineSelectPro, CuteProductLineSelect, CuteDeptTree, CuteUserSelect },
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
form: {
|
|
||||||
user: [],
|
|
||||||
dept: null,
|
|
||||||
productLine: null,
|
|
||||||
productLinePro: null
|
|
||||||
},
|
|
||||||
searchFormModel: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
onUserSelectChange(data) {
|
|
||||||
console.log('onUserSelectChange=', data)
|
|
||||||
},
|
|
||||||
onDeptTreeNodeClick(data) {
|
|
||||||
console.log('onDeptTreeNodeClick=', data)
|
|
||||||
},
|
|
||||||
onSubmit(formName) {
|
|
||||||
this.$refs[formName].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
console.log('this.form=', this.form)
|
|
||||||
} else {
|
|
||||||
console.error('error submit!!')
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onReset(formName) {
|
|
||||||
this.$refs[formName].resetFields()
|
|
||||||
},
|
|
||||||
onDeptTreeSearch(key) {
|
|
||||||
console.log('onDeptTreeSearch:key', key)
|
|
||||||
console.log('onDeptTreeSearch:form.dept', this.form.dept)
|
|
||||||
},
|
|
||||||
onProductLineChange(data) {
|
|
||||||
console.log('onProductLineChange', data)
|
|
||||||
},
|
|
||||||
onProductLineDetailChange(data) {
|
|
||||||
console.log('onProductLineDetailChange', data)
|
|
||||||
},
|
|
||||||
onProductLineDetailProChange(data) {
|
|
||||||
console.log('onProductLineDetailProChange', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
@@ -39,12 +39,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</cute-search-form>
|
</cute-search-form>
|
||||||
</cute-screen-shot>
|
</cute-screen-shot>
|
||||||
<cute-section-title title="段落标题 CuteSectionTitle" />
|
|
||||||
<cute-section-title title="主标题" sub-title="副标题" third-title="三级标题">
|
|
||||||
<cute-button type="danger">操作按钮1</cute-button>
|
|
||||||
<cute-button type="danger">操作按钮2</cute-button>
|
|
||||||
<cute-button type="danger">操作按钮3</cute-button>
|
|
||||||
</cute-section-title>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -56,12 +50,12 @@ import CuteScreenShot from '@/views/components/dev/CuteScreenShot.vue'
|
|||||||
import CuteSectionTitle from '@/views/components/dev/CuteSectionTitle.vue'
|
import CuteSectionTitle from '@/views/components/dev/CuteSectionTitle.vue'
|
||||||
import CuteButton from '@/views/components/dev/CuteButton.vue'
|
import CuteButton from '@/views/components/dev/CuteButton.vue'
|
||||||
import CuteTransfer from '@/views/components/dev/CuteTransfer.vue'
|
import CuteTransfer from '@/views/components/dev/CuteTransfer.vue'
|
||||||
import CuteSearchProForm from '@/views/components/dev/CuteSearchProForm.vue'
|
import CuteSearchFormPro from '@/views/components/dev/CuteSearchFormPro.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CuteOtherDemo',
|
name: 'CuteOtherDemo',
|
||||||
components: {
|
components: {
|
||||||
CuteSearchProForm,
|
CuteSearchProForm: CuteSearchFormPro,
|
||||||
CuteTransfer,
|
CuteTransfer,
|
||||||
CuteButton,
|
CuteButton,
|
||||||
CuteSectionTitle,
|
CuteSectionTitle,
|
||||||
|
|||||||
@@ -123,11 +123,11 @@ import { FormatRowDateTimeStr } from '@/utils/KitUtil'
|
|||||||
import CuteButton from '@/views/components/dev/CuteButton.vue'
|
import CuteButton from '@/views/components/dev/CuteButton.vue'
|
||||||
import CuteTransfer from '@/views/components/dev/CuteTransfer.vue'
|
import CuteTransfer from '@/views/components/dev/CuteTransfer.vue'
|
||||||
import CuteEditTable from '@/views/components/dev/CuteEditTable.vue'
|
import CuteEditTable from '@/views/components/dev/CuteEditTable.vue'
|
||||||
import CuteFormProDialog from '@/views/components/dev/CuteFormProDialog.vue'
|
import CuteFormDialogPro from '@/views/components/dev/CuteFormDialogPro.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CuteSimpleTableDemo',
|
name: 'CuteSimpleTableDemo',
|
||||||
components: { CuteFormProDialog, CuteEditTable, CuteTransfer, CuteButton, CuteFormDrawer, CuteFormDialog, CuteSimpleTable },
|
components: { CuteFormProDialog: CuteFormDialogPro, CuteEditTable, CuteTransfer, CuteButton, CuteFormDrawer, CuteFormDialog, CuteSimpleTable },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
modeDataSource: [
|
modeDataSource: [
|
||||||
@@ -214,7 +214,7 @@ export default {
|
|||||||
{ required: true, message: '请选择活动区域', trigger: 'change' }
|
{ required: true, message: '请选择活动区域', trigger: 'change' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// CuteFormProDialog
|
// CuteFormDialogPro
|
||||||
createFormProModel: {},
|
createFormProModel: {},
|
||||||
createFormProSchema: [
|
createFormProSchema: [
|
||||||
{ name: 'name', title: '姓名', type: 'input', required: true },
|
{ name: 'name', title: '姓名', type: 'input', required: true },
|
||||||
|
|||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h4>何时使用</h4>
|
||||||
|
<ul class="description">
|
||||||
|
<li>选择、绑定部门信息时</li>
|
||||||
|
<li>统一部门数据来源</li>
|
||||||
|
<li>在使用过程中有任何问题,咨询 @Odboy(前端) @Odboy(设计)@Odboy(后端)</li>
|
||||||
|
</ul>
|
||||||
|
<h4>基础用法</h4>
|
||||||
|
<el-row>
|
||||||
|
<cute-dept-tree @node-click="onDeptTreeNodeClick" @search="onDeptTreeSearch" />
|
||||||
|
</el-row>
|
||||||
|
<h4>绑定表单</h4>
|
||||||
|
<el-row>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="部门" prop="dept">
|
||||||
|
<cute-dept-tree v-model="form.dept" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
|
||||||
|
<el-button type="danger" @click="onReset('form')">重 置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<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 CuteDeptTree from '@/views/components/business/CuteDeptTree.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CuteDeptTreeDemo',
|
||||||
|
components: { CuteDeptTree },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
dept: null
|
||||||
|
},
|
||||||
|
apiData: [
|
||||||
|
{ name: 'value', remark: '绑定的值', type: 'string', defaultValue: '-', required: '否' },
|
||||||
|
{ name: 'node-click', remark: '部门节点发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' },
|
||||||
|
{ name: 'search', remark: '搜索部门回调事件', type: '(value) => {}', defaultValue: '-', required: '否' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onDeptTreeNodeClick(data) {
|
||||||
|
console.log('onDeptTreeNodeClick', data)
|
||||||
|
},
|
||||||
|
onDeptTreeSearch(key) {
|
||||||
|
console.log('onDeptTreeSearch:key', key)
|
||||||
|
console.log('onDeptTreeSearch:form.dept', this.form.dept)
|
||||||
|
},
|
||||||
|
onSubmit(formName) {
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
console.log('onSubmit:form', this.form)
|
||||||
|
} else {
|
||||||
|
console.error('onSubmit:error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onReset(formName) {
|
||||||
|
this.$refs[formName].resetFields()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
ul {
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.description > li{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h4>何时使用</h4>
|
||||||
|
<ul class="description">
|
||||||
|
<li>选择、绑定部门明细信息,需要根部门和子部门以及路径的信息等</li>
|
||||||
|
<li>统一部门数据来源</li>
|
||||||
|
<li>在使用过程中有任何问题,咨询 @Odboy(前端) @Odboy(设计)@Odboy(后端)</li>
|
||||||
|
</ul>
|
||||||
|
<h4>基础用法</h4>
|
||||||
|
<cute-product-line-select @change="onProductLineChange" @detail="onProductLineDetailChange" />
|
||||||
|
<h4>绑定表单</h4>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="产品线" prop="productLine">
|
||||||
|
<cute-product-line-select v-model="form.productLine" @detail="onProductLineDetailChange" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
|
||||||
|
<el-button type="danger" @click="onReset('form')">重 置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<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 CuteProductLineSelect from '@/views/components/business/CuteProductLineSelect.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CuteProductLineSelectDemo',
|
||||||
|
components: { CuteProductLineSelect },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
productLine: null
|
||||||
|
},
|
||||||
|
apiData: [
|
||||||
|
{ name: 'value', remark: '绑定的值', type: 'string', defaultValue: '-', required: '否' },
|
||||||
|
{ name: 'disabled', remark: '是否禁用', type: 'boolean', defaultValue: 'false', required: '否' },
|
||||||
|
{ name: 'change', remark: '产品线发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' },
|
||||||
|
{ name: 'detail', remark: '产品线明细发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onProductLineChange(data) {
|
||||||
|
console.log('onProductLineChange', data)
|
||||||
|
},
|
||||||
|
onProductLineDetailChange(data) {
|
||||||
|
console.log('onProductLineDetailChange', data)
|
||||||
|
},
|
||||||
|
onSubmit(formName) {
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
console.log('onSubmit:form', this.form)
|
||||||
|
} else {
|
||||||
|
console.error('onSubmit:error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onReset(formName) {
|
||||||
|
this.$refs[formName].resetFields()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
ul {
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.description > li{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h4>何时使用</h4>
|
||||||
|
<ul class="description">
|
||||||
|
<li>选择、绑定部门明细信息,需要根部门和子部门以及路径的信息等</li>
|
||||||
|
<li>统一部门数据来源</li>
|
||||||
|
<li>在使用过程中有任何问题,咨询 @Odboy(前端) @Odboy(设计)@Odboy(后端)</li>
|
||||||
|
</ul>
|
||||||
|
<h4>基础用法</h4>
|
||||||
|
<cute-product-line-select-pro @change="onProductLineDetailProChange" />
|
||||||
|
<h4>绑定表单</h4>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="产品线Pro" prop="productLine">
|
||||||
|
<cute-product-line-select v-model="form.productLine" @detail="onProductLineDetailProChange" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
|
||||||
|
<el-button type="danger" @click="onReset('form')">重 置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<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 CuteProductLineSelect from '@/views/components/business/CuteProductLineSelect.vue'
|
||||||
|
import CuteProductLineSelectPro from '@/views/components/business/CuteProductLineSelectPro.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CuteProductLineSelectProDemo',
|
||||||
|
components: { CuteProductLineSelectPro, CuteProductLineSelect },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
productLine: null
|
||||||
|
},
|
||||||
|
apiData: [
|
||||||
|
{ name: 'value', remark: '绑定的值', type: 'string', defaultValue: '-', required: '否' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onProductLineDetailProChange(data) {
|
||||||
|
console.log('onProductLineDetailProChange', data)
|
||||||
|
},
|
||||||
|
onSubmit(formName) {
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
console.log('onSubmit:form', this.form)
|
||||||
|
} else {
|
||||||
|
console.error('onSubmit:error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onReset(formName) {
|
||||||
|
this.$refs[formName].resetFields()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
ul {
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.description > li{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h4>何时使用</h4>
|
||||||
|
<ul class="description">
|
||||||
|
<li>选择单个用户信息</li>
|
||||||
|
<li>支持用户姓名、手机号、邮箱、用户名查询</li>
|
||||||
|
<li>在使用过程中有任何问题,咨询 @Odboy(前端) @Odboy(设计)</li>
|
||||||
|
</ul>
|
||||||
|
<h4>基础用法</h4>
|
||||||
|
<cute-single-user-select v-model="user" @change="onUserSelectChange" />
|
||||||
|
<h4>绑定表单</h4>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="用户" prop="user">
|
||||||
|
<cute-single-user-select v-model="form.user" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
|
||||||
|
<el-button type="danger" @click="onReset('form')">重 置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<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 CuteSingleUserSelect from '@/views/components/business/CuteSingleUserSelect.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CuteSingleUserSelectDemo',
|
||||||
|
components: { CuteSingleUserSelect },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
user: '',
|
||||||
|
form: {
|
||||||
|
user: ''
|
||||||
|
},
|
||||||
|
apiData: [
|
||||||
|
{ name: 'value', remark: '绑定的值', type: 'string', defaultValue: '-', required: '否' },
|
||||||
|
{ name: 'change', remark: '选中用户发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onUserSelectChange(data) {
|
||||||
|
console.log('onUserSelectChange', data)
|
||||||
|
},
|
||||||
|
onSubmit(formName) {
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
console.log('onSubmit:form', this.form)
|
||||||
|
} else {
|
||||||
|
console.error('onSubmit:error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onReset(formName) {
|
||||||
|
this.$refs[formName].resetFields()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
ul {
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.description > li{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<h4>何时使用</h4>
|
||||||
|
<ul class="description">
|
||||||
|
<li>选择多个用户信息</li>
|
||||||
|
<li>支持用户姓名、手机号、邮箱、用户名查询</li>
|
||||||
|
<li>在使用过程中有任何问题,咨询 @Odboy(前端) @Odboy(设计)</li>
|
||||||
|
</ul>
|
||||||
|
<h4>基础用法</h4>
|
||||||
|
<cute-user-select v-model="user" @change="onUserSelectChange" />
|
||||||
|
<h4>绑定表单</h4>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="用户" prop="user">
|
||||||
|
<!-- v-model 本质上是 :value 和 @input 事件的语法糖 -->
|
||||||
|
<cute-user-select v-model="form.user" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="onSubmit('form')">提 交</el-button>
|
||||||
|
<el-button type="danger" @click="onReset('form')">重 置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<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 CuteUserSelect from '@/views/components/business/CuteUserSelect.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CuteUserSelectDemo',
|
||||||
|
components: { CuteUserSelect },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
user: [],
|
||||||
|
form: {
|
||||||
|
user: []
|
||||||
|
},
|
||||||
|
apiData: [
|
||||||
|
{ name: 'value', remark: '绑定的值', type: 'array', defaultValue: '[]', required: '否' },
|
||||||
|
{ name: 'change', remark: '选中用户发生改变的时候触发的回调', type: '(value) => {}', defaultValue: '-', required: '否' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onUserSelectChange(data) {
|
||||||
|
console.log('onUserSelectChange', data)
|
||||||
|
},
|
||||||
|
onSubmit(formName) {
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
console.log('onSubmit:form', this.form)
|
||||||
|
} else {
|
||||||
|
console.error('onSubmit:error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onReset(formName) {
|
||||||
|
this.$refs[formName].resetFields()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
ul {
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.description > li{
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -57,7 +57,25 @@
|
|||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="业务组件" name="business" />
|
<el-tab-pane label="业务组件" name="business">
|
||||||
|
<el-collapse accordion>
|
||||||
|
<el-collapse-item title="用户单选框 CuteSingleUserSelect" name="CuteSingleUserSelect">
|
||||||
|
<CuteSingleUserSelectDemo />
|
||||||
|
</el-collapse-item>
|
||||||
|
<el-collapse-item title="用户多选框 CuteUserSelect" name="CuteUserSelect">
|
||||||
|
<CuteUserSelectDemo />
|
||||||
|
</el-collapse-item>
|
||||||
|
<el-collapse-item title="部门树 CuteDeptTree" name="CuteDeptTree">
|
||||||
|
<CuteDeptTreeDemo />
|
||||||
|
</el-collapse-item>
|
||||||
|
<el-collapse-item title="产品线选择框 CuteProductLineSelect" name="CuteProductLineSelect">
|
||||||
|
<CuteProductLineSelectDemo />
|
||||||
|
</el-collapse-item>
|
||||||
|
<el-collapse-item title="产品线选择框Pro CuteProductLineSelectPro" name="CuteProductLineSelectPro">
|
||||||
|
<CuteProductLineSelectProDemo />
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
</el-tab-pane>
|
||||||
<el-tab-pane label="高级组件" name="advanced" />
|
<el-tab-pane label="高级组件" name="advanced" />
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</cute-page>
|
</cute-page>
|
||||||
@@ -81,10 +99,22 @@ import CuteCodeEditorDemo from '@/views/componentsDemo/dev/CuteCodeEditorDemo.vu
|
|||||||
import CuteRichTextEditorDemo from '@/views/componentsDemo/dev/CuteRichTextEditorDemo.vue'
|
import CuteRichTextEditorDemo from '@/views/componentsDemo/dev/CuteRichTextEditorDemo.vue'
|
||||||
import CuteHorizontalScrollBarDemo from '@/views/componentsDemo/dev/CuteHorizontalScrollBarDemo.vue'
|
import CuteHorizontalScrollBarDemo from '@/views/componentsDemo/dev/CuteHorizontalScrollBarDemo.vue'
|
||||||
import CuteTextAreaInputDemo from '@/views/componentsDemo/dev/CuteTextAreaInputDemo.vue'
|
import CuteTextAreaInputDemo from '@/views/componentsDemo/dev/CuteTextAreaInputDemo.vue'
|
||||||
|
import CuteUserSelectDemo from '@/views/componentsDemo/business/CuteUserSelectDemo.vue'
|
||||||
|
import CuteSingleUserSelectDemo from '@/views/componentsDemo/business/CuteSingleUserSelectDemo.vue'
|
||||||
|
import CuteProductLineSelectDemo from '@/views/componentsDemo/business/CuteProductLineSelectDemo.vue'
|
||||||
|
import CuteProductLineSelectProDemo from '@/views/componentsDemo/business/CuteProductLineSelectProDemo.vue'
|
||||||
|
import CuteDeptTree from '@/views/components/business/CuteDeptTree.vue'
|
||||||
|
import CuteDeptTreeDemo from '@/views/componentsDemo/business/CuteDeptTreeDemo.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SystemComponents',
|
name: 'SystemComponents',
|
||||||
components: {
|
components: {
|
||||||
|
CuteDeptTreeDemo,
|
||||||
|
CuteDeptTree,
|
||||||
|
CuteProductLineSelectProDemo,
|
||||||
|
CuteProductLineSelectDemo,
|
||||||
|
CuteSingleUserSelectDemo,
|
||||||
|
CuteUserSelectDemo,
|
||||||
CuteTextAreaInputDemo,
|
CuteTextAreaInputDemo,
|
||||||
CuteHorizontalScrollBarDemo,
|
CuteHorizontalScrollBarDemo,
|
||||||
CuteRichTextEditorDemo,
|
CuteRichTextEditorDemo,
|
||||||
|
|||||||
Reference in New Issue
Block a user