Initial commit: One Pipe System

完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
sexygoat
2026-01-22 16:35:33 +08:00
commit 222e5bb11a
495 changed files with 145440 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
<template>
<el-select
v-model="selectedValue"
:placeholder="placeholder"
:clearable="clearable"
:disabled="disabled"
:multiple="multiple"
:filterable="filterable"
:size="size"
@change="handleChange"
>
<el-option
v-for="item in operatorOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
<span :style="{ color: item.color }">{{ item.label }}</span>
</el-option>
</el-select>
</template>
<script setup lang="ts">
import { computed } from 'vue'
import { OPERATOR_OPTIONS } from '@/config/constants'
import type { Operator } from '@/types/api'
interface Props {
modelValue?: Operator | Operator[]
placeholder?: string
clearable?: boolean
disabled?: boolean
multiple?: boolean
filterable?: boolean
size?: 'large' | 'default' | 'small'
}
interface Emits {
(e: 'update:modelValue', value: Operator | Operator[] | undefined): void
(e: 'change', value: Operator | Operator[] | undefined): void
}
const props = withDefaults(defineProps<Props>(), {
placeholder: '请选择运营商',
clearable: true,
disabled: false,
multiple: false,
filterable: true,
size: 'default'
})
const emit = defineEmits<Emits>()
const operatorOptions = OPERATOR_OPTIONS
const selectedValue = computed({
get: () => props.modelValue,
set: (val) => {
emit('update:modelValue', val)
}
})
const handleChange = (value: Operator | Operator[] | undefined) => {
emit('change', value)
}
</script>