商户二级信息表单

This commit is contained in:
weiwei committed 2025-03-28 19:53:31 +08:00
1 parent c478f6067b
commit 4d637a6b2b
2 files changed
+73 -2

No files matched your search

+72 -1
View File
@@ -31,6 +31,42 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-if="form.merchantType == '2'" :span="24" class="mb20">
<el-form-item label="商户分店" prop="merchantBranch">
<el-radio-group v-model="form.merchantBranch" @change="(value:number) => form.merchantBranch = value">
<el-radio :label="1">总店</el-radio>
<el-radio :label="2">分店</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col v-if="form.merchantType == '2' && form.merchantBranch == 2" :span="24" class="mb20">
<el-form-item label="合作状态" prop="cooperationStatus">
<el-switch v-model="form.cooperationStatus" />
</el-form-item>
</el-col>
<el-col v-if="form.merchantType == '2' && form.merchantBranch == 2" :span="24" class="mb20">
<el-form-item label="总店" prop="parentId">
<el-tree-select
v-model="form.parentId"
:data="merchantTree"
:props="{ value: 'id', label: 'name', children: 'children', disabled: 'isLock' }"
check-strictly
class="w100"
clearable
filterable
placeholder="请选择主店"
/>
</el-form-item>
</el-col>
<el-col v-if="form.merchantType == '2' && form.merchantBranch == 2" :span="12" class="mb20">
<el-form-item label="优惠价格" prop="discountsPrice">
<el-input-number v-model="form.discountsPrice" :min="0" :max="1000" :precision="0" />
</el-form-item>
</el-col>
<el-col :span="24" class="mb20"> <el-col :span="24" class="mb20">
<el-form-item label="商户logo" prop="logoPic"> <el-form-item label="商户logo" prop="logoPic">
<upload-img v-model:imageUrl="form.logoPic" /> <upload-img v-model:imageUrl="form.logoPic" />
@@ -116,13 +152,15 @@
<script setup lang="ts" name="MerchantInfoDialog"> <script setup lang="ts" name="MerchantInfoDialog">
import { useDict } from "/@/hooks/dict" import { useDict } from "/@/hooks/dict"
import { useMessage } from "/@/hooks/message" import { useMessage } from "/@/hooks/message"
import { getObj, addObj, putObj } from "/@/api/wallet/mch-manage" import { pageJoin, getObj, addObj, putObj } from "/@/api/wallet/mch-manage"
const emit = defineEmits(["refresh"]) const emit = defineEmits(["refresh"])
// 定义变量内容 // 定义变量内容
const dataFormRef = ref() const dataFormRef = ref()
const visible = ref(false) const visible = ref(false)
const loading = ref(false) const loading = ref(false)
const merchantTree = ref<any[]>([])
// 定义字典 // 定义字典
const { merchant_type } = useDict("merchant_type") const { merchant_type } = useDict("merchant_type")
@@ -142,6 +180,10 @@ const form = reactive({
businessTime: "", businessTime: "",
addressDes: "", addressDes: "",
sort: 0, sort: 0,
merchantBranch: 1,
cooperationStatus: "0",
parentId: "",
discountsPrice: null,
}) })
const jobTime = reactive<{ const jobTime = reactive<{
[key: string]: string[] [key: string]: string[]
@@ -163,6 +205,9 @@ const dataRules = ref({
merchantType: [{ required: true, message: "请选择商户类型", trigger: "blur" }], merchantType: [{ required: true, message: "请选择商户类型", trigger: "blur" }],
sort: [{ required: true, message: "请输入排序", trigger: "blur" }], sort: [{ required: true, message: "请输入排序", trigger: "blur" }],
// jobTime: [{ required: true, message: "请选择营业时间", trigger: "blur" }], // jobTime: [{ required: true, message: "请选择营业时间", trigger: "blur" }],
cooperationStatus:
form.merchantType == "2" && form.merchantBranch == 2 ? [{ required: true, message: "请选择合作状态", trigger: "blur" }] : [],
parentId: form.merchantType == "2" && form.merchantBranch == 2 ? [{ required: true, message: "请选择主店", trigger: "blur" }] : [],
}) })
// 打开弹窗 // 打开弹窗
@@ -181,10 +226,36 @@ const openDialog = async (id: string) => {
form.id = id form.id = id
await getmerchantInfoData(id) await getmerchantInfoData(id)
} }
await getMerchantTreeData()
} }
// 获取商户树数据
const getMerchantTreeData = async () => {
const res = await pageJoin({ current: 1, size: 9999 })
if (res.code == 0) {
merchantTree.value = res.data.records
} else {
merchantTree.value = []
}
}
watch(
() => form.merchantType,
(newVal) => {
if (newVal != "2") {
form.merchantBranch = 1
form.cooperationStatus = "0"
form.parentId = ""
}
},
)
// 提交 // 提交
const onSubmit = async () => { const onSubmit = async () => {
console.log(form)
return
const valid = await dataFormRef.value.validate().catch(() => {}) const valid = await dataFormRef.value.validate().catch(() => {})
if (!valid) return false if (!valid) return false
const _pa = { const _pa = {
+1 -1
View File
@@ -1,7 +1,7 @@
<template> <template>
<div class="layout-padding"> <div class="layout-padding">
<div class="layout-padding-auto layout-padding-view"> <div class="layout-padding-auto layout-padding-view">
<el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList"> <el-form ref="queryRef" :inline="true" :model="state.queryForm" @keyup.enter="getDataList" row-key="id" lazy>
<el-row> <el-row>
<el-form-item style="width: 300px" label="商户名" prop="name"> <el-form-item style="width: 300px" label="商户名" prop="name">
<el-input v-model="state.queryForm.name" placeholder="商户名" /> <el-input v-model="state.queryForm.name" placeholder="商户名" />