feat: 发布1.4.1版本

This commit is contained in:
2025-10-23 18:01:46 +08:00
parent 13e8b3ab93
commit 1146959052
30 changed files with 664 additions and 1057 deletions
@@ -10,6 +10,7 @@
:disabled="disabled"
:options="deptOptions"
style="width: 100%"
placeholder="请选择产品线"
@change="handleChange"
/>
</template>
@@ -1,81 +1,81 @@
<!--
* 单用户选择组件
* @author odboy
* @email tianjun@odboy.cn
* @created 2025-07-29
-->
<template>
<el-select
v-model="user"
style="width: 100%"
filterable
remote
clearable
reserve-keyword
placeholder="支持用户姓名、手机号、邮箱、用户名查询"
:remote-method="remoteMethod"
:loading="loading"
@change="onChange"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
<script>
import UserService from '@/api/system/user'
export default {
name: 'CuteOneUserSelect',
props: {
value: {
type: String,
required: false,
default: null
}
},
data() {
return {
user: this.value,
loading: false,
options: []
}
},
watch: {
value(newVal) {
this.user = newVal
}
},
methods: {
remoteMethod(query) {
if (query !== '') {
this.loading = true
setTimeout(() => {
this.loading = false
this.queryUserMetaPage(query)
}, 200)
} else {
this.options = []
}
},
queryUserMetaPage(query, options) {
const that = this
UserService.queryUserMetaPage(query).then(res => {
that.options = res
})
},
onChange(value) {
// 绑定change事件
this.$emit('change', value)
// 绑定form value
this.$emit('input', value)
}
}
}
</script>
<!--
* 单用户选择组件
* @author odboy
* @email tianjun@odboy.cn
* @created 2025-07-29
-->
<template>
<el-select
v-model="user"
style="width: 100%"
filterable
remote
clearable
reserve-keyword
placeholder="支持用户姓名、手机号、邮箱、用户名查询"
:remote-method="remoteMethod"
:loading="loading"
@change="onChange"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
<script>
import UserService from '@/api/system/user'
export default {
name: 'CuteSingleUserSelect',
props: {
value: {
type: String,
required: false,
default: null
}
},
data() {
return {
user: this.value,
loading: false,
options: []
}
},
watch: {
value(newVal) {
this.user = newVal
}
},
methods: {
remoteMethod(query) {
if (query !== '') {
this.loading = true
setTimeout(() => {
this.loading = false
this.queryUserMetaPage(query)
}, 200)
} else {
this.options = []
}
},
queryUserMetaPage(query, options) {
const that = this
UserService.queryUserMetaPage(query).then(res => {
that.options = res
})
},
onChange(value) {
// 绑定change事件
this.$emit('change', value)
// 绑定form value
this.$emit('input', value)
}
}
}
</script>
@@ -15,7 +15,7 @@ export default {
props: {
desc: {
type: String,
required: true,
required: false,
default: '暂无匹配数据'
}
}
@@ -17,7 +17,7 @@
截图并下载
</el-button>
</div>
<div id="elementIdSelector">
<div id="elementIdSelector" style="padding: 15px">
<slot />
</div>
</div>
@@ -3,7 +3,7 @@
<!-- @change 编辑区发生变化的回调事件 -->
<!-- @save ctrl + s 的回调事件(保存按键,同样触发该回调) -->
<cute-markdown
:content="markdown.content"
:content="content"
@change="onChange"
@save="onSave"
/>
@@ -18,10 +18,7 @@ export default {
components: { CuteMarkdown },
data() {
return {
markdown: {
height: '200px',
content: '初始化内容'
}
content: '初始化内容'
}
},
methods: {
@@ -0,0 +1,91 @@
<template>
<div style="padding: 50px">
<el-divider>CuteSearchForm</el-divider>
<cute-search-form :model="searchFormModel" @submit="handleSearchFormSubmit" @reset="handleSearchFormReset">
<template v-slot:suffix>
<el-form-item label="模糊查询" prop="blurry">
<el-input v-model="searchFormModel.blurry" clearable />
</el-form-item>
</template>
<template v-slot:operation>
<el-button type="primary">查询后置按钮</el-button>
</template>
</cute-search-form>
<el-divider>CuteHorizontalScrollBar</el-divider>
<cute-horizontal-scroll-bar>
<div style="width: 3000px;min-width: 3000px">模拟超长内容</div>
</cute-horizontal-scroll-bar>
<el-divider>CuteVerticalScrollBar</el-divider>
<cute-vertical-scroll-bar>
<div style="height: 3000px;min-height: 3000px">模拟超高内容</div>
</cute-vertical-scroll-bar>
<el-divider>CuteLink</el-divider>
<cute-link title="百度一下" href="https://www.baidu.com" />
<el-divider>CuteNoData</el-divider>
<cute-no-data desc="自定义提示语" />
<el-divider>CutePreviewDrawer <el-button type="primary" @click="handleCutePreviewDrawerShow">显示</el-button></el-divider>
<cute-preview-drawer ref="cpd" title="预览抽屉">
<p>预览抽屉预览抽屉预览抽屉预览抽屉预览抽屉预览抽屉预览抽屉预览抽屉</p>
</cute-preview-drawer>
<el-divider>截屏:包裹要截屏的组件</el-divider>
<cute-screen-shot>
<cute-search-form :model="searchFormModel" @submit="handleSearchFormSubmit" @reset="handleSearchFormReset">
<template v-slot:suffix>
<el-form-item label="模糊查询" prop="blurry">
<el-input v-model="searchFormModel.blurry" clearable />
</el-form-item>
</template>
<template v-slot:operation>
<el-button type="primary">查询后置按钮</el-button>
</template>
</cute-search-form>
</cute-screen-shot>
<el-divider>CuteSectionTitle</el-divider>
<cute-section-title title="段落标题">
<el-button type="danger">操作按钮</el-button>
</cute-section-title>
</div>
</template>
<script>
import CuteSearchForm from '@/views/components/dev/CuteSearchForm.vue'
import CuteHorizontalScrollBar from '@/views/components/dev/CuteHorizontalScrollBar.vue'
import CuteVerticalScrollBar from '@/views/components/dev/CuteVerticalScrollBar.vue'
import CuteLink from '@/views/components/dev/CuteLink.vue'
import CuteNoData from '@/views/components/dev/CuteNoData.vue'
import CutePreviewDrawer from '@/views/components/dev/CutePreviewDrawer.vue'
import CuteScreenShot from '@/views/components/dev/CuteScreenShot.vue'
import CuteSectionTitle from '@/views/components/dev/CuteSectionTitle.vue'
export default {
name: 'CuteOtherDemo',
components: {
CuteSectionTitle,
CuteScreenShot,
CutePreviewDrawer,
CuteNoData,
CuteLink,
CuteVerticalScrollBar,
CuteHorizontalScrollBar,
CuteSearchForm
},
data() {
return {
searchFormModel: {}
}
},
methods: {
handleSearchFormSubmit(data) {
console.log('handleSearchFormSubmit', data)
},
handleSearchFormReset() {
console.log('handleSearchFormReset')
},
handleCutePreviewDrawerShow() {
this.$refs.cpd.show()
}
}
}
</script>
@@ -1,9 +1,6 @@
<template>
<div class="app-container">
<cute-rich-text-editor
:read-only="false"
@change="onChange"
/>
<cute-rich-text-editor :read-only="false" @change="onChange" />
</div>
</template>
@@ -13,13 +10,6 @@ import CuteRichTextEditor from '@/views/components/dev/CuteRichTextEditor'
export default {
name: 'CuteRichTextEditorDemo',
components: { CuteRichTextEditor },
data() {
return {
html: {
height: '200px'
}
}
},
methods: {
onChange(html, text) {
console.log('onChange:html', html)
@@ -312,6 +312,7 @@ export default {
},
created() {
this.crud.msg.add = '新增成功,默认密码:123456'
console.log('======== this.dict', this.dict)
},
mounted: function() {
const that = this