feat: 完成申请审批选择器组件封装

This commit is contained in:
范鹏 2025-01-13 18:42:04 +08:00
parent 871a935ecb
commit b9230bc394
2 changed files with 99 additions and 1 deletions

View File

@ -1,6 +1,6 @@
<template>
<view>
<view class="mx-4 p-2 rounded-2">
<view class="bg-white mx-4 p-2 rounded-2">
<Input
:id="0"
value="单行"
@ -18,6 +18,22 @@
@change="textareaChange"
></Textarea>
<wd-divider color="#bcbfbe"></wd-divider>
<SelectPicker
:value="1"
:id="2"
title="单选框"
placeholder="单选"
:columns="columns"
></SelectPicker>
<wd-divider color="#bcbfbe"></wd-divider>
<SelectPicker
:value="[0]"
:id="3"
title="多选框"
placeholder="多选"
type="checkbox"
:columns="columns"
></SelectPicker>
</view>
</view>
</template>
@ -25,6 +41,22 @@
<script setup lang="ts">
import Input from '@/pages/approval/components/Input.vue'
import Textarea from '@/pages/approval/components/Textarea.vue'
import SelectPicker from '@/pages/approval/components/SelectPicker.vue'
const columns = ref<Record<number, any>>([
{
value: 0,
label: '男装'
},
{
value: 1,
label: '奢侈品'
},
{
value: 2,
label: '女装'
}
])
const inputChange = e => {
console.log('inputChange', e)

View File

@ -0,0 +1,66 @@
<template>
<view class="px-2 text-3.5">
<view class="flex flex-items-center pos-relative">
<view v-if="required" class="color-#f62933 pos-absolute left--2 mt-1">*</view>
<view>{{ title }}</view>
</view>
<view class="pt-2">
<wd-select-picker
:type="type"
:title="placeholder"
:show-confirm="type === 'checkbox'"
v-model="picker"
:columns="columns"
size="large"
/>
</view>
</view>
</template>
<script setup lang="ts">
const picker = ref(-1)
const props = defineProps({
id: {
type: Number,
required: true
},
type: {
type: String,
default: 'radio'
},
required: {
type: Boolean,
default: false
},
title: {
type: String,
required: true
},
placeholder: {
type: String,
default: '请输入'
},
value: {
type: [Number, Array, null],
default: null
},
columns: {
type: Array,
required: true
}
})
onMounted(() => {
if (props.value) {
picker.value = props.value
}
})
</script>
<style scoped lang="scss">
:deep(.wd-select-picker__cell) {
padding: var(--wot-cell-wrapper-padding, 10px) 0;
background-color: transparent;
}
</style>