master
parent
0b80fceef8
commit
d4b59555d6
|
|
@ -81,7 +81,6 @@
|
|||
"integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.28.6",
|
||||
"@babel/generator": "^7.28.6",
|
||||
|
|
@ -1064,7 +1063,6 @@
|
|||
"integrity": "sha512-cD/0UU9RQmlnTbmyJTDyzN8f6CzpziDLv3tFQCnwl0Aoxt3KmFu4k/XA4Sogxqj7jJ/3cdX1kL+Lnsh34sxcQQ==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"c12": "^3.3.3",
|
||||
"consola": "^3.4.2",
|
||||
|
|
@ -1818,7 +1816,6 @@
|
|||
"resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz",
|
||||
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/lodash": "*"
|
||||
}
|
||||
|
|
@ -1836,7 +1833,6 @@
|
|||
"integrity": "sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
|
|
@ -2489,7 +2485,6 @@
|
|||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.9.0",
|
||||
"caniuse-lite": "^1.0.30001759",
|
||||
|
|
@ -3833,15 +3828,13 @@
|
|||
"version": "4.17.23",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
|
||||
"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash-es": {
|
||||
"version": "4.17.23",
|
||||
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz",
|
||||
"integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash-unified": {
|
||||
"version": "1.0.3",
|
||||
|
|
@ -4328,7 +4321,6 @@
|
|||
"resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz",
|
||||
"integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/devtools-api": "^7.7.7"
|
||||
},
|
||||
|
|
@ -4401,7 +4393,6 @@
|
|||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.11",
|
||||
"picocolors": "^1.1.1",
|
||||
|
|
@ -5042,7 +5033,6 @@
|
|||
"integrity": "sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@adobe/css-tools": "~4.3.3",
|
||||
"debug": "^4.3.2",
|
||||
|
|
@ -5149,7 +5139,6 @@
|
|||
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
||||
"devOptional": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
|
|
@ -5573,7 +5562,6 @@
|
|||
"integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.27.0",
|
||||
"fdir": "^6.5.0",
|
||||
|
|
@ -5852,7 +5840,6 @@
|
|||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.5.27.tgz",
|
||||
"integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.5.27",
|
||||
"@vue/compiler-sfc": "3.5.27",
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ export type EnhancedEnum<T> = T & {
|
|||
[key in `${T[number]['val']}Txt`]: T[number]['txt']
|
||||
} & {
|
||||
// @ts-ignore
|
||||
of: (val: string) => T[number] | undefined
|
||||
of: (val?: string) => T[number] | undefined
|
||||
// @ts-ignore
|
||||
txt: (val: T[number]['val']) => T[number]['txt']
|
||||
txt: (val?: string) => T[number]['txt'] | undefined
|
||||
}
|
||||
|
||||
export function createEnum<T>(enums: T): EnhancedEnum<T> {
|
||||
|
|
@ -25,6 +25,8 @@ export function createEnum<T>(enums: T): EnhancedEnum<T> {
|
|||
e[enumItem.val + 'Txt'] = enumItem.txt
|
||||
}
|
||||
// @ts-ignore
|
||||
e.of = (val: string) => ((enums as EnumItem[]).find((item) => item.val === val))
|
||||
e.of = (val?: string) => ((enums as EnumItem[]).find((item) => item.val === val))
|
||||
// @ts-ignore
|
||||
e.txt = (val?: string) => ((enums as EnumItem[]).find((item) => item.val === val)?.txt)
|
||||
return e
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,14 @@ const props = withDefaults(defineProps<{
|
|||
show: boolean
|
||||
title: string
|
||||
width?: string
|
||||
modal?: boolean
|
||||
appendToBody?: boolean
|
||||
closed?: () => void
|
||||
}>(), {
|
||||
width: 'fit-content',
|
||||
closeOnSuccess: true,
|
||||
modal: false,
|
||||
appendToBody: false,
|
||||
closeBtnText: '关闭',
|
||||
submitBtnText: '提交',
|
||||
closed() {
|
||||
|
|
@ -66,7 +70,8 @@ onUnmounted(() => {
|
|||
<template>
|
||||
<ElDialog
|
||||
:close-on-click-modal="false"
|
||||
:modal="false"
|
||||
:append-to-body="appendToBody"
|
||||
:modal="modal"
|
||||
:modal-class="modalClass"
|
||||
:model-value="showDialog"
|
||||
:title="title"
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ const displayData = computed(() => {
|
|||
trigger="click"
|
||||
@visible-change="visibleChangeHandler">
|
||||
<ElInput :model-value="displayData" :placeholder="placeholder" readonly>
|
||||
<template #append>
|
||||
<template #suffix>
|
||||
<ElIcon class="clear-btn" @click.stop="onClear">
|
||||
<ElIconCircleClose/>
|
||||
</ElIcon>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ const props = withDefaults(
|
|||
rules?: Partial<Record<string, Arrayable<FormItemRule>>>
|
||||
labelWidth?: string
|
||||
width?: string
|
||||
modal?: boolean
|
||||
appendToBody?: boolean
|
||||
}>(),
|
||||
{
|
||||
rules: () => ({} as Partial<Record<string, Arrayable<FormItemRule>>>),
|
||||
|
|
@ -71,6 +73,8 @@ defineExpose({
|
|||
:submit-handler="submitHandler"
|
||||
:title="title"
|
||||
:width="width"
|
||||
:append-to-body="appendToBody"
|
||||
:modal="modal"
|
||||
>
|
||||
<ElForm
|
||||
ref="formRef"
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
// ------
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
import { GlobalComponents } from 'vue'
|
||||
|
||||
export {}
|
||||
|
||||
|
|
@ -109,4 +110,4 @@ declare global {
|
|||
const ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||
const RouterLink: typeof import('vue-router')['RouterLink']
|
||||
const RouterView: typeof import('vue-router')['RouterView']
|
||||
}
|
||||
}
|
||||
|
|
@ -41,11 +41,11 @@
|
|||
:value="item.val"/>
|
||||
</ElSelect>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="税率" prop="taxRate">
|
||||
<ElInputNumber v-model="formData.taxRate" :max="100" :min="0" :precision="2" :step="0.01" controls-position="right"/>
|
||||
</ElFormItem>
|
||||
|
||||
<ElFormItem v-if="formData.expenseStrategy === expenseStrategy.TanXing" label="起步价" prop="initialPrice">
|
||||
<ElInputNumber v-model="formData.initialPrice" :min="0" :precision="2" :step="1" controls-position="right"/>
|
||||
<ElInputNumber v-model="formData.initialPrice" :min="0" :precision="2" :step="1" controls-position="right">
|
||||
<template #suffix>元/{{ unit.txt(formData.unit) }}</template>
|
||||
</ElInputNumber>
|
||||
</ElFormItem>
|
||||
<ElFormItem v-if="formData.expenseStrategy === expenseStrategy.TanXing" label="起步量" prop="initialQuantity">
|
||||
<ElInputNumber v-model="formData.initialQuantity" :min="0" :step="1" controls-position="right"/>
|
||||
|
|
@ -54,11 +54,18 @@
|
|||
v-if="formData.expenseStrategy !== expenseStrategy.MianFei"
|
||||
:label="formData.expenseStrategy === expenseStrategy.TanXing?'每档单价':(formData.expenseStrategy === expenseStrategy.DanJia?'单价':'价格')"
|
||||
prop="unitPrice">
|
||||
<ElInputNumber v-model="formData.unitPrice" :min="0" :precision="2" :step="1" controls-position="right"/>
|
||||
<ElInputNumber v-model="formData.unitPrice" :min="0" :precision="2" :step="1" controls-position="right">
|
||||
<template #suffix>元/{{ unit.txt(formData.unit) }}</template>
|
||||
</ElInputNumber>
|
||||
</ElFormItem>
|
||||
<ElFormItem v-if="formData.expenseStrategy === expenseStrategy.TanXing" label="每档的量" prop="everyQuantity">
|
||||
<ElInputNumber v-model="formData.everyQuantity" :min="0" :step="1" controls-position="right"/>
|
||||
</ElFormItem>
|
||||
<ElFormItem v-if="formData.expenseStrategy !== expenseStrategy.MianFei" label="税率" prop="taxRate">
|
||||
<ElInputNumber v-model="formData.taxRate" :max="100" :min="0" :precision="2" :step="0.01" controls-position="right">
|
||||
<template #suffix>%</template>
|
||||
</ElInputNumber>
|
||||
</ElFormItem>
|
||||
<ElFormItem label="排序" prop="sort">
|
||||
<ElInputNumber v-model="formData.sort" controls-position="right" placeholder="请输入排序"/>
|
||||
</ElFormItem>
|
||||
|
|
@ -104,12 +111,17 @@ const rules = reactive<FormRules<GoodsTypes.SearchGoodsResult>>({
|
|||
picture: [ {required: true, message: '请填写图片', trigger: 'blur'} ],
|
||||
unit: [ {required: true, message: '请填写计量单位', trigger: 'blur'} ],
|
||||
sort: [ {required: true, message: '请填写排序', trigger: 'blur'} ],
|
||||
initialPrice: [ {required: true, message: '请填写排序', trigger: 'blur'} ],
|
||||
})
|
||||
|
||||
function detailsLoader(id?: string) {
|
||||
if (Strings.isBlank(id)) {
|
||||
status.value = 'add'
|
||||
return Promise.resolve()
|
||||
return Promise.resolve({
|
||||
expenseStrategy: expenseStrategy.MianFei,
|
||||
unit: unit.Dun,
|
||||
canuse: true,
|
||||
})
|
||||
} else {
|
||||
|
||||
status.value = 'modify'
|
||||
|
|
|
|||
|
|
@ -41,6 +41,18 @@ declare global {
|
|||
canuse?: boolean
|
||||
// 备注
|
||||
memo?: string
|
||||
// 计费策略
|
||||
expenseStrategy?: string
|
||||
// 税率
|
||||
taxRate?: number
|
||||
// 单价
|
||||
unitPrice?: number
|
||||
// 起步价
|
||||
initialPrice?: number
|
||||
// 起步量
|
||||
initialQuantity?: number
|
||||
// 每档的量
|
||||
everyQuantity?: number
|
||||
// 创建人 Id;sys_user.id
|
||||
creatorId?: string
|
||||
// 修改人 Id;sys_user.id
|
||||
|
|
|
|||
Loading…
Reference in New Issue