fetch(modify):账号管理

This commit is contained in:
sexygoat
2026-02-02 11:51:59 +08:00
parent 78bd9fba85
commit 4d2f38c75b
13 changed files with 489 additions and 1036 deletions

View File

@@ -180,6 +180,9 @@
</div>
</template>
</ElDialog>
<!-- 客户账号列表弹窗 -->
<CustomerAccountDialog v-model="customerAccountDialogVisible" :shop-id="currentShopId" />
</ElCard>
</div>
</ArtTableFullScreen>
@@ -199,6 +202,7 @@
import type { FormRules } from 'element-plus'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import ArtButtonTable from '@/components/core/forms/ArtButtonTable.vue'
import CustomerAccountDialog from '@/components/business/CustomerAccountDialog.vue'
import { ShopService } from '@/api/modules'
import type { SearchFormItem } from '@/types'
import type { ShopResponse } from '@/types/api'
@@ -209,9 +213,11 @@
const dialogType = ref('add')
const dialogVisible = ref(false)
const customerAccountDialogVisible = ref(false)
const loading = ref(false)
const submitLoading = ref(false)
const parentShopLoading = ref(false)
const currentShopId = ref<number>(0)
const parentShopList = ref<ShopResponse[]>([])
const searchParentShopList = ref<ShopResponse[]>([])
@@ -405,12 +411,13 @@
{
prop: 'shop_name',
label: '店铺名称',
minWidth: 150
minWidth: 120
},
{
prop: 'shop_code',
label: '店铺编号',
width: 120
width: 150,
showOverflowTooltip: true
},
{
prop: 'level',
@@ -423,7 +430,7 @@
{
prop: 'region',
label: '所在地区',
minWidth: 180,
minWidth: 170,
formatter: (row: ShopResponse) => {
const parts: string[] = []
if (row.province) parts.push(row.province)
@@ -446,7 +453,7 @@
{
prop: 'status',
label: '状态',
width: 100,
width: 80,
formatter: (row: ShopResponse) => {
return h(ElSwitch, {
modelValue: row.status,
@@ -469,10 +476,14 @@
{
prop: 'operation',
label: '操作',
width: 150,
width: 220,
fixed: 'right',
formatter: (row: ShopResponse) => {
return h('div', { style: 'display: flex; gap: 8px;' }, [
h(ArtButtonTable, {
text: '查看客户',
onClick: () => viewCustomerAccounts(row)
}),
h(ArtButtonTable, {
type: 'edit',
onClick: () => showDialog('edit', row)
@@ -733,6 +744,12 @@
getShopList()
}
// 查看客户账号
const viewCustomerAccounts = (row: ShopResponse) => {
currentShopId.value = row.id
customerAccountDialogVisible.value = true
}
// 状态切换
const handleStatusChange = async (row: ShopResponse, newStatus: number) => {
const oldStatus = row.status