diff --git a/package.json b/package.json index 81c9add..01588c2 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "preinstall": "npx only-allow pnpm", + "preinstall": "npx only-allow npm", "dev": "vite", "dev:test": "vite --mode testing", "build": "vite build", diff --git a/src/assets/img/login-logo.png b/src/assets/img/login-logo.png index 8feeff5..cc5490d 100644 Binary files a/src/assets/img/login-logo.png and b/src/assets/img/login-logo.png differ diff --git a/src/crud/shop/shopList.js b/src/crud/shop/shopList.js new file mode 100644 index 0000000..3a50acf --- /dev/null +++ b/src/crud/shop/shopList.js @@ -0,0 +1,128 @@ +export const tableOption = { + searchMenuSpan: 6, + columnBtn: false, + border: true, + index: false, + selection: true, + indexLabel: '序号', + stripe: true, + menuAlign: 'center', + menuWidth: 350, + align: 'center', + refreshBtn: true, + searchSize: 'mini', + addBtn: false, + editBtn: false, + viewBtn: false, + delBtn: false, + props: { + label: 'label', + value: 'value' + }, + column: [ + + { + label: '店铺id', + prop: 'shopId', + search: true + }, { + label: '店铺名称', + prop: 'shopName', + search: true + }, { + label: '店长用户id', + prop: 'userId', + search: true + }, { + label: '店铺类型', + prop: 'shopType', + search: true + }, { + label: '店铺简介', + prop: 'intro', + search: true + }, { + label: '店铺公告', + prop: 'shopNotice', + search: true + }, { + label: '店铺行业', + prop: 'shopIndustry', + search: true + }, { + label: '店长', + prop: 'shopOwner', + search: true + }, { + label: '店铺绑定的手机', + prop: 'mobile', + search: true + }, { + label: '店铺联系电话', + prop: 'tel', + search: true + }, { + label: '店铺所在纬度', + prop: 'shopLat', + search: true + }, { + label: '店铺所在经度', + prop: 'shopLng', + search: true + }, { + label: '店铺详细地址', + prop: 'shopAddress', + search: true + }, { + label: '店铺所在省份', + prop: 'province', + search: true + }, { + label: '店铺所在城市', + prop: 'city', + search: true + }, { + label: '店铺所在区域', + prop: 'area', + search: true + }, { + label: '店铺省市区代码', + prop: 'pcaCode', + search: true + }, { + label: '店铺logo', + prop: 'shopLogo', + search: true + }, { + label: '店铺相册', + prop: 'shopPhotos', + search: true + }, { + label: '每天营业时间段', + prop: 'openTime', + search: true + }, { + label: '店铺状态(-1:未开通 0: 停业中 1:营业中)', + prop: 'shopStatus', + search: true + }, { + label: '0:商家承担运费 1:买家承担运费', + prop: 'transportType' + }, { + label: '固定运费', + prop: 'fixedFreight' + }, { + label: '满X包邮', + prop: 'fullFreeShipping' + }, { + label: '创建时间', + prop: 'createTime' + }, { + label: '更新时间', + prop: 'updateTime' + }, { + label: '分销设置(0关闭 1开启)', + prop: 'isDistribution' + } + ] +} diff --git a/src/layout/main-navbar.vue b/src/layout/main-navbar.vue index e5cd724..ae2d190 100644 --- a/src/layout/main-navbar.vue +++ b/src/layout/main-navbar.vue @@ -15,14 +15,15 @@ v-if="!sidebarFold" class="site-navbar-lg" > - mall4j建站后台 + 金桐商户管理平台 + - mall4j + 金桐商户管理平台 diff --git a/src/router/index.js b/src/router/index.js index 013bf38..aa7db37 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -36,6 +36,11 @@ export const mainRoutes = { path: '/prodInfo', name: 'prodInfo', component: () => import('@/views/modules/prod/prodInfo/index.vue') + }, + { + path: '/shopInfo', + name: 'shopInfo', + component: () => import('@/views/modules/shop/shopInfo/index.vue') } ], // eslint-disable-next-line no-unused-vars diff --git a/src/views/common/home/index.vue b/src/views/common/home/index.vue index 025b98b..8a22613 100644 --- a/src/views/common/home/index.vue +++ b/src/views/common/home/index.vue @@ -1,134 +1,9 @@ diff --git a/src/views/modules/shop/pickAddr/add-or-update.vue b/src/views/modules/shop/pickAddr/add-or-update.vue index 48e28b2..763161f 100644 --- a/src/views/modules/shop/pickAddr/add-or-update.vue +++ b/src/views/modules/shop/pickAddr/add-or-update.vue @@ -107,6 +107,7 @@ import { ElMessage } from 'element-plus' import { isMobile } from '@/utils/validate' import { Debounce } from '@/utils/debounce' + const emit = defineEmits(['refreshDataList']) const visible = ref(false) // eslint-disable-next-line no-unused-vars @@ -119,21 +120,56 @@ const validateMobile = (rule, value, callback) => { } const dataRule = { addrName: [ - { required: true, message: '自提点名称不能为空', trigger: 'blur' }, - { pattern: /\s\S+|S+\s|\S/, message: '请输入正确的自提点名称', trigger: 'blur' } + { + required: true, + message: '自提点名称不能为空', + trigger: 'blur' + }, + { + pattern: /\s\S+|S+\s|\S/, + message: '请输入正确的自提点名称', + trigger: 'blur' + } ], addr: [ - { required: true, message: '地址不能为空', trigger: 'blur' }, - { pattern: /\s\S+|S+\s|\S/, message: '请输入正确的地址', trigger: 'blur' } + { + required: true, + message: '地址不能为空', + trigger: 'blur' + }, + { + pattern: /\s\S+|S+\s|\S/, + message: '请输入正确的地址', + trigger: 'blur' + } ], - city: [{ required: true, message: '城市不能为空', trigger: 'blur' }], + city: [{ + required: true, + message: '城市不能为空', + trigger: 'blur' + }], province: [ - { required: true, message: '省份不能为空', trigger: 'blur' } + { + required: true, + message: '省份不能为空', + trigger: 'blur' + } ], - area: [{ required: true, message: '区/县不能为空', trigger: 'blur' }], + area: [{ + required: true, + message: '区/县不能为空', + trigger: 'blur' + }], mobile: [ - { required: true, message: '手机号不能为空', trigger: 'blur' }, - { validator: validateMobile, trigger: 'blur' } + { + required: true, + message: '手机号不能为空', + trigger: 'blur' + }, + { + validator: validateMobile, + trigger: 'blur' + } ] } const provinceList = ref([]) diff --git a/src/views/modules/shop/pickAddr/index.vue b/src/views/modules/shop/pickAddr/index.vue index 6024340..276fb22 100644 --- a/src/views/modules/shop/pickAddr/index.vue +++ b/src/views/modules/shop/pickAddr/index.vue @@ -65,6 +65,7 @@ import { isAuth } from '@/utils' import { ElMessage, ElMessageBox } from 'element-plus' import AddOrUpdate from './add-or-update.vue' import { tableOption } from '@/crud/shop/pickAddr.js' + const permission = { delBtn: isAuth('prod:prod:delete') } @@ -145,7 +146,8 @@ const onDelete = (id) => { }) }) }) - .catch(() => { }) + .catch(() => { + }) } /** diff --git a/src/views/modules/shop/shopInfo/components/prod-transport.vue b/src/views/modules/shop/shopInfo/components/prod-transport.vue new file mode 100644 index 0000000..e21a643 --- /dev/null +++ b/src/views/modules/shop/shopInfo/components/prod-transport.vue @@ -0,0 +1,159 @@ + + + diff --git a/src/views/modules/shop/shopInfo/components/sku-table.vue b/src/views/modules/shop/shopInfo/components/sku-table.vue new file mode 100644 index 0000000..ceeff69 --- /dev/null +++ b/src/views/modules/shop/shopInfo/components/sku-table.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/src/views/modules/shop/shopInfo/components/sku-tag.vue b/src/views/modules/shop/shopInfo/components/sku-tag.vue new file mode 100644 index 0000000..9f3908f --- /dev/null +++ b/src/views/modules/shop/shopInfo/components/sku-tag.vue @@ -0,0 +1,534 @@ + + + + + diff --git a/src/views/modules/shop/shopInfo/index.vue b/src/views/modules/shop/shopInfo/index.vue new file mode 100644 index 0000000..167984c --- /dev/null +++ b/src/views/modules/shop/shopInfo/index.vue @@ -0,0 +1,218 @@ + + + diff --git a/src/views/modules/shop/shopList/index.vue b/src/views/modules/shop/shopList/index.vue new file mode 100644 index 0000000..c350c41 --- /dev/null +++ b/src/views/modules/shop/shopList/index.vue @@ -0,0 +1,184 @@ + + +