This commit is contained in:
dzc committed 2025-01-11 15:53:45 +08:00
commit e572860a0c
6 files changed
+64 -69

No files matched your search

+4 -4
View File
@@ -8,16 +8,16 @@ VITE_OPEN = true
ENV = 'development'
# ADMIN 服务地址
# VITE_ADMIN_PROXY_PATH = http://123.156.230.15:8089/api/
VITE_ADMIN_PROXY_PATH = http://123.156.230.15:8089/api/ # 线上
# VITE_ADMIN_PROXY_PATH = http://pjcloud.center.takin.cc/
VITE_ADMIN_PROXY_PATH = http://localhost:9999/
# VITE_ADMIN_PROXY_PATH = http://192.168.101.29:9999/ # 邓-本地
#VITE_ADMIN_PROXY_PATH = http://192.168.101.29:9999/ # 邓-本地
# 图片访问基础地址
# VITE_IMAGE_BASE_PATH = http://123.156.230.15:8089/api
VITE_IMAGE_BASE_PATH = http://123.156.230.15:8089/api # 线上
# VITE_IMAGE_BASE_PATH = http://pjcloud.center.takin.cc
VITE_IMAGE_BASE_PATH = http://localhost:9999
# VITE_IMAGE_BASE_PATH = http://192.168.101.29:9999 # 邓-本地
#VITE_IMAGE_BASE_PATH = http://192.168.101.29:9999 # 邓-本地
# 代码生成服务地址
VITE_GEN_PROXY_PATH = http://192.168.110.156:5003
+1 -1
View File
@@ -14,7 +14,7 @@
</template>
<script setup lang="ts" name="dashboard">
import navMmenu from './navMenu/index.vue';
const navMmenu = defineAsyncComponent(() => import('./navMenu/index.vue'));
// const Widgets = defineAsyncComponent(() => import('./widgets/index.vue'));
// const pageLoading = ref(true);
+6 -12
View File
@@ -1,7 +1,7 @@
<template>
<el-card class="card" v-loading="loading">
<el-row>
<el-col :span="4" v-for="(item, index) in navMenuListTop" :key="index">
<el-col :span="4" v-for="(item, index) in navMenuList" :key="index">
<div :class="['nav-menu-item-top', item.id == currentActiveMenuId ? 'nav-menu-item-active' : '']" @click="currentActiveMenuId = item.id">
<el-image class="nav-menu-item-icon" :src="imageBaseUrl + item.menuPic" fit="cover" />
<div class="nav-menu-item-name">{{ $t(item.name) }}</div>
@@ -10,8 +10,8 @@
</el-row>
<br />
<el-row v-if="currentActiveMenuId" style="background-color: #e2eff677; border-radius: 1rem; padding: 2rem 6rem">
<el-col :span="3" v-for="(item, index) in navMenuListBottom" :key="index">
<div class="nav-menu-item-bottom" @click="handleClickBottomMenu(item)">
<el-col v-for="(item, index) in navMenuListBottom" :key="index" :span="!item.meta?.isHide ? 3 : 0">
<div v-if="!item.meta?.isHide" class="nav-menu-item-bottom" @click="handleClickBottomMenu(item)">
<el-image class="nav-menu-item-icon" :src="imageBaseUrl + item.menuPic" fit="cover" />
<div class="nav-menu-item-name">{{ $t(item.name) }}</div>
</div>
@@ -29,7 +29,6 @@ const router = useRouter();
const menuApi = useMenuApi();
const loading = ref(false);
const navMenuList = ref<any>([]);
const navMenuListTop = ref<any>([]);
const currentActiveMenuId = ref('');
const imageBaseUrl = import.meta.env.VITE_IMAGE_BASE_PATH;
@@ -37,16 +36,12 @@ const imageBaseUrl = import.meta.env.VITE_IMAGE_BASE_PATH;
const getNavMenuList = async () => {
loading.value = true;
try {
const res = await menuApi.getAdminMenu().finally(() => {
loading.value = false;
});
const res = await menuApi.getAdminMenu().finally(() => (loading.value = false));
if (res.code == 0 && res.data.length > 0) {
navMenuList.value = res.data;
navMenuListTop.value = res.data.map((item: any) => ({ id: item.id, name: item.name, path: item.path, menuPic: item.menuPic }));
}
} catch (error) {
navMenuList.value = [];
navMenuListTop.value = [];
ElMessage.error('加载错误');
loading.value = false;
}
@@ -55,9 +50,7 @@ const getNavMenuList = async () => {
const navMenuListBottom = computed(() => {
if (navMenuList.value) {
const currentMenuItem = navMenuList.value.find((item: any) => item.id == currentActiveMenuId.value);
if (currentMenuItem && currentMenuItem.children) {
return currentMenuItem.children.map((item: any) => ({ id: item.id, name: item.name, path: item.path, menuPic: item.menuPic }));
}
if (currentMenuItem && currentMenuItem.children) return currentMenuItem.children;
} else {
return [];
}
@@ -67,6 +60,7 @@ const navMenuListBottom = computed(() => {
const handleClickBottomMenu = (item: any) => {
router.push(item.path);
};
onMounted(async () => {
await getNavMenuList();
});
@@ -34,25 +34,23 @@
<el-input-number v-model="form.packageNum" placeholder="请输入内装数量" />
</el-form-item>
</el-col>
<el-col :span="14" class="mb20">
<el-form-item label="零售价" prop="retailPrice">
<el-input-number v-model="form.retailPrice" placeholder="请输入零售价" />
</el-form-item>
</el-col>
<el-col :span="14" class="mb20">
<el-form-item label="促销价" prop="promotionPrice">
<el-input-number v-model="form.promotionPrice" placeholder="请输入促销价" />
</el-form-item>
</el-col>
<el-col :span="14" class="mb20">
<el-form-item label="进价" prop="purchasePrice">
<el-input-number v-model="form.purchasePrice" placeholder="请输入进价" />
</el-form-item>
</el-col>
<el-col :span="14" class="mb20">
<el-form-item label="零售价" prop="retailPrice">
<el-input-number v-model="form.retailPrice" placeholder="请输入零售价" />
</el-form-item>
</el-col>
<el-col :span="14" class="mb20">
<el-form-item label="促销价" prop="promotionPrice">
<el-input-number v-model="form.promotionPrice" placeholder="请输入促销价" />
</el-form-item>
</el-col>
<el-col :span="14" class="mb20">
<el-form-item label="成本价" prop="costPrice">
<el-input-number v-model="form.costPrice" placeholder="请输入成本价" />
@@ -96,12 +94,13 @@ const form = reactive({
// 定义校验规则
const dataRules = ref({
barCode: [{ required: true, message: '条码不能为空', trigger: 'blur' }],
spec: [{ required: true, message: 'spec不能为空', trigger: 'blur' }],
spec: [{ required: true, message: '规格不能为空', trigger: 'blur' }],
unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
packageNum: [{ required: true, message: '内装数量不能为空', trigger: 'blur' }],
purchasePrice: [{ required: true, message: '进价不能为空', trigger: 'blur' }],
// purchasePrice: [{ required: true, message: '进价不能为空', trigger: 'blur' }],
retailPrice: [{ required: true, message: '零售价不能为空', trigger: 'blur' }],
promotionPrice: [{ required: true, message: '促销价不能为空', trigger: 'blur' }],
});
// 打开弹窗
+38 -37
View File
@@ -50,6 +50,13 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="商品性质" prop="productNature">
<el-select v-model="form.productNature" placeholder="请选择商品性质">
<el-option :value="item.value" :label="item.label" v-for="(item, index) in supermarket_nature" :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" class="mb20">
<el-form-item label="商品封面图" prop="picUrl">
<upload-img v-model:imageUrl="form.picUrl"></upload-img>
@@ -72,11 +79,11 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="成本单价" prop="costPrice">
<el-input-number v-model="form.costPrice" placeholder="请输入成本单价,单位:分"></el-input-number>
</el-form-item>
</el-col>
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="成本单价" prop="costPrice">-->
<!-- <el-input-number v-model="form.costPrice" placeholder="请输入成本单价,单位:分"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12" class="mb20">
<el-form-item label="库存" prop="stock">
<el-input-number v-model="form.stock" placeholder="请输入库存"></el-input-number>
@@ -87,31 +94,31 @@
<el-input-number v-model="form.giveIntegral" placeholder="请输入赠送积分"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="规格" prop="specification">
<el-input v-model="form.specification" placeholder="请输入规格" />
</el-form-item>
</el-col>
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="规格" prop="specification">-->
<!-- <el-input v-model="form.specification" placeholder="请输入规格" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12" class="mb20">
<el-form-item label="产地" prop="origin">
<el-input v-model="form.origin" placeholder="请输入产地" />
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="装数" prop="packingQuantity">
<el-input-number :min="0" v-model="form.packingQuantity" placeholder="请输入装数"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="零售价" prop="retailPrice">
<el-input-number v-model="form.retailPrice" placeholder="请输入零售价"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="进价" prop="purchasePrice">
<el-input-number v-model="form.purchasePrice" placeholder="请输入进价"></el-input-number>
</el-form-item>
</el-col>
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="装数" prop="packingQuantity">-->
<!-- <el-input-number :min="0" v-model="form.packingQuantity" placeholder="请输入装数"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="零售价" prop="retailPrice">-->
<!-- <el-input-number v-model="form.retailPrice" placeholder="请输入零售价"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="进价" prop="purchasePrice">-->
<!-- <el-input-number v-model="form.purchasePrice" placeholder="请输入进价"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="会员价1" prop="memberPrice1">-->
<!-- <el-input-number v-model="form.memberPrice1" placeholder="请输入会员价1"></el-input-number>-->
@@ -142,18 +149,11 @@
<!-- <el-input-number v-model="form.wholesalePrice3" placeholder="请输入批发价3"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12" class="mb20">
<el-form-item label="促销价" prop="promotionPrice">
<el-input-number v-model="form.promotionPrice" placeholder="请输入促销价"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item label="商品性质" prop="productNature">
<el-select v-model="form.productNature" placeholder="请选择商品性质">
<el-option :value="item.value" :label="item.label" v-for="(item, index) in supermarket_nature" :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item label="促销价" prop="promotionPrice">-->
<!-- <el-input-number v-model="form.promotionPrice" placeholder="请输入促销价"></el-input-number>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="24" class="mb20">
<el-form-item label="商品简介" prop="introduction">
<el-input type="textarea" v-model="form.introduction" rows="4" placeholder="请输入商品简介" maxlength="400" show-word-limit />
@@ -261,6 +261,7 @@ const form = reactive({
});
// 定义校验规则
const dataRules = {
productNature : [{ required: true, message: '请选择商品性质', trigger: 'blur' }],
merchantId: [{ required: true, message: '商户不能为空', trigger: 'blur' }],
productCode: [{ required: true, message: '货号不能为空', trigger: 'blur' }],
barcode: [{ required: true, message: '自编码/条码不能为空', trigger: 'blur' }],
@@ -125,13 +125,14 @@ const form = reactive({
passwordModifyTime: '',
openName: '',
contractNumber: '',
status: '',
status: '0',
pinyinCod: '',
});
// 定义校验规则
const dataRules = ref({
supplierName: [{ required: true, message: '货商名称不能为空', trigger: 'blur' }],
supplierType: [{ required: true, message: '货商类别不能为空', trigger: 'blur' }],
});
// 打开弹窗