fix(staff)
This commit is contained in:
parent
7fb88159b8
commit
1262776376
|
@ -3,12 +3,21 @@ import "./layout.less";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Store } from "antd/es/form/interface";
|
import { Store } from "antd/es/form/interface";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { Avatar, Breadcrumb, Layout, Menu, MenuProps, theme } from "antd";
|
import {
|
||||||
|
Avatar,
|
||||||
|
Breadcrumb,
|
||||||
|
Layout,
|
||||||
|
Menu,
|
||||||
|
MenuProps,
|
||||||
|
theme,
|
||||||
|
Image,
|
||||||
|
} from "antd";
|
||||||
import { UserOutlined } from "@ant-design/icons";
|
import { UserOutlined } from "@ant-design/icons";
|
||||||
import Sider from "antd/es/layout/Sider";
|
import Sider from "antd/es/layout/Sider";
|
||||||
import { items } from "./layout_config";
|
import { items } from "./layout_config";
|
||||||
import { Dropdown } from "antd/lib";
|
import { Dropdown } from "antd/lib";
|
||||||
import { Outlet, useNavigate } from "react-router";
|
import { Outlet, useNavigate } from "react-router";
|
||||||
|
import logo from "@/static/favicon.png";
|
||||||
const LayOut = (props: Store) => {
|
const LayOut = (props: Store) => {
|
||||||
const { usrStore } = props;
|
const { usrStore } = props;
|
||||||
const [collapsed, setCollapsed] = useState(false);
|
const [collapsed, setCollapsed] = useState(false);
|
||||||
|
@ -45,7 +54,9 @@ const LayOut = (props: Store) => {
|
||||||
return (
|
return (
|
||||||
<Layout>
|
<Layout>
|
||||||
<Header style={headStyle}>
|
<Header style={headStyle}>
|
||||||
<div style={logoStyle}>logo</div>
|
<div style={logoStyle}>
|
||||||
|
{/* <Image src={logo} /> */}
|
||||||
|
</div>
|
||||||
<Dropdown menu={{ items }}>
|
<Dropdown menu={{ items }}>
|
||||||
<Avatar icon={<UserOutlined />} />
|
<Avatar icon={<UserOutlined />} />
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
|
|
|
@ -34,6 +34,7 @@ export const items: ItemType<MenuItemType>[] = [
|
||||||
{ key: "/sku/cat", label: `商品分类` },
|
{ key: "/sku/cat", label: `商品分类` },
|
||||||
{ key: "/sku/spec", label: `商品规格` },
|
{ key: "/sku/spec", label: `商品规格` },
|
||||||
{ key: "/sku/brand", label: `商品品牌` },
|
{ key: "/sku/brand", label: `商品品牌` },
|
||||||
|
{ key: "/sku/tag", label: `标签管理` },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
import { FormType } from "@/components/form/interface";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { ColumnsType } from "antd/lib/table";
|
||||||
|
export const formConfig = [
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "商品分类名称",
|
||||||
|
name: "name",
|
||||||
|
value: "",
|
||||||
|
rules: [{ required: true, message: "商品分类名称不能为空!" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "描述",
|
||||||
|
name: "remark",
|
||||||
|
value: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.inputNumber,
|
||||||
|
label: "排序",
|
||||||
|
name: "sort",
|
||||||
|
value: "1",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export const columns: ColumnsType<UserDataType> = [
|
||||||
|
{
|
||||||
|
title: "商品分类名称",
|
||||||
|
dataIndex: "name",
|
||||||
|
fixed: "left",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "描述",
|
||||||
|
dataIndex: "remark",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "排序",
|
||||||
|
dataIndex: "sort",
|
||||||
|
},
|
||||||
|
];
|
|
@ -1,9 +1,76 @@
|
||||||
const Cat = () => {
|
import React from "react";
|
||||||
|
import { Button, Space, Modal, FormInstance } from "antd";
|
||||||
|
import { Store } from "antd/lib/form/interface";
|
||||||
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import { columns, formConfig } from "./config";
|
||||||
|
import BTable from "@/components/b_table";
|
||||||
|
import SimpleForm from "@/components/form/simple_form";
|
||||||
|
const SkuCat = (props: Store) => {
|
||||||
|
const { skuCatStore } = props;
|
||||||
|
const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
|
||||||
|
const formRef = React.useRef<FormInstance>(null);
|
||||||
|
const [userId, setId] = useState<Number | null>(null);
|
||||||
|
const [record, setRecord] = useState<any>(null);
|
||||||
|
|
||||||
|
// 获取列表数据
|
||||||
|
useEffect(() => {
|
||||||
|
skuCatStore.getlist();
|
||||||
|
}, [skuCatStore]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="contentBox">
|
||||||
cat
|
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
|
||||||
|
<Button type="default" onClick={() => setIsModalOpen(true)}>
|
||||||
|
添加
|
||||||
|
</Button>
|
||||||
|
<BTable
|
||||||
|
store={skuCatStore}
|
||||||
|
scroll={{ x: "max-content" }}
|
||||||
|
columns={columns}
|
||||||
|
dataSource={skuCatStore.list}
|
||||||
|
deleteCallback={(record) => {
|
||||||
|
skuCatStore.deleteItem(record);
|
||||||
|
}}
|
||||||
|
editCallback={(record) => {
|
||||||
|
setIsModalOpen(true);
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
setRecord(record);
|
||||||
|
setId(record.id);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Modal
|
||||||
|
title={!userId ? "添加" : "编辑"}
|
||||||
|
width={800}
|
||||||
|
open={isModalOpen}
|
||||||
|
afterClose={() => formRef.current?.resetFields()}
|
||||||
|
onOk={() => formRef.current?.submit()}
|
||||||
|
okText="确定"
|
||||||
|
cancelText="取消"
|
||||||
|
onCancel={() => {
|
||||||
|
setId(null);
|
||||||
|
setRecord(null);
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<SimpleForm
|
||||||
|
formName={"tag_form"}
|
||||||
|
formRef={formRef}
|
||||||
|
colProps={25}
|
||||||
|
onFinish={() => {
|
||||||
|
skuCatStore.add(formRef.current?.getFieldsValue())
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
createCallback={() => {
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
}}
|
||||||
|
formDatas={formConfig as any}
|
||||||
|
></SimpleForm>
|
||||||
|
</Modal>
|
||||||
|
</Space>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Cat;
|
export default inject("skuCatStore")(observer(SkuCat));
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
import { FormType } from "@/components/form/interface";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { ColumnsType } from "antd/lib/table";
|
||||||
|
export const formConfig = [
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "商品名称",
|
||||||
|
name: "tag_name",
|
||||||
|
value: "",
|
||||||
|
rules: [{ required: true, message: "标签名称不能为空!" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "标签描述",
|
||||||
|
name: "tag_desc",
|
||||||
|
value: "",
|
||||||
|
rules: [{ required: true, message: "城市编码不能为空" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "标签排序",
|
||||||
|
name: "tag_sort",
|
||||||
|
value: "1",
|
||||||
|
rules: [{ required: true, message: "标签排序不能为空" }],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export const columns: ColumnsType<UserDataType> = [
|
||||||
|
{
|
||||||
|
title: "商品名称",
|
||||||
|
dataIndex: "sku_name",
|
||||||
|
fixed: "left",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "库存",
|
||||||
|
dataIndex: "sku_stock",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "商品分类",
|
||||||
|
dataIndex: "sku_cat_identity",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "品牌",
|
||||||
|
dataIndex: "sku_brand_identity",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "缩略图",
|
||||||
|
dataIndex: "sku_thumb",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "商品介绍",
|
||||||
|
dataIndex: "sku_desc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "所属城市",
|
||||||
|
dataIndex: "city_identity",
|
||||||
|
},
|
||||||
|
];
|
|
@ -0,0 +1,76 @@
|
||||||
|
import React from "react";
|
||||||
|
import { Button, Space, Modal, FormInstance } from "antd";
|
||||||
|
import { Store } from "antd/lib/form/interface";
|
||||||
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import { columns, formConfig } from "./config";
|
||||||
|
import BTable from "@/components/b_table";
|
||||||
|
import SimpleForm from "@/components/form/simple_form";
|
||||||
|
const Sku = (props: Store) => {
|
||||||
|
const { skuStore } = props;
|
||||||
|
const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
|
||||||
|
const formRef = React.useRef<FormInstance>(null);
|
||||||
|
const [userId, setId] = useState<Number | null>(null);
|
||||||
|
const [record, setRecord] = useState<any>(null);
|
||||||
|
|
||||||
|
// 获取列表数据
|
||||||
|
useEffect(() => {
|
||||||
|
skuStore.getlist();
|
||||||
|
}, [skuStore]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="contentBox">
|
||||||
|
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
|
||||||
|
<Button type="default" onClick={() => setIsModalOpen(true)}>
|
||||||
|
添加
|
||||||
|
</Button>
|
||||||
|
<BTable
|
||||||
|
store={skuStore}
|
||||||
|
scroll={{ x: "max-content" }}
|
||||||
|
columns={columns}
|
||||||
|
dataSource={skuStore.list}
|
||||||
|
deleteCallback={(record) => {
|
||||||
|
skuStore.deleteItem(record);
|
||||||
|
}}
|
||||||
|
editCallback={(record) => {
|
||||||
|
setIsModalOpen(true);
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
setRecord(record);
|
||||||
|
setId(record.id);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Modal
|
||||||
|
title={!userId ? "添加" : "编辑"}
|
||||||
|
width={800}
|
||||||
|
open={isModalOpen}
|
||||||
|
afterClose={() => formRef.current?.resetFields()}
|
||||||
|
onOk={() => formRef.current?.submit()}
|
||||||
|
okText="确定"
|
||||||
|
cancelText="取消"
|
||||||
|
onCancel={() => {
|
||||||
|
setId(null);
|
||||||
|
setRecord(null);
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<SimpleForm
|
||||||
|
formName={"tag_form"}
|
||||||
|
formRef={formRef}
|
||||||
|
colProps={25}
|
||||||
|
onFinish={() => {
|
||||||
|
skuStore.add(formRef.current?.getFieldsValue())
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
createCallback={() => {
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
}}
|
||||||
|
formDatas={formConfig as any}
|
||||||
|
></SimpleForm>
|
||||||
|
</Modal>
|
||||||
|
</Space>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default inject("skuStore")(observer(Sku));
|
|
@ -0,0 +1,40 @@
|
||||||
|
import { FormType } from "@/components/form/interface";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { ColumnsType } from "antd/lib/table";
|
||||||
|
export const formConfig = [
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "规格名称",
|
||||||
|
name: "spec_name",
|
||||||
|
value: "",
|
||||||
|
rules: [{ required: true, message: "规格名称不能为空!" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "规格描述",
|
||||||
|
name: "spec_remark",
|
||||||
|
value: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.inputNumber,
|
||||||
|
label: "规格排序",
|
||||||
|
name: "spec_sort",
|
||||||
|
value: "1",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export const columns: ColumnsType<UserDataType> = [
|
||||||
|
{
|
||||||
|
title: "规格名称",
|
||||||
|
dataIndex: "spec_name",
|
||||||
|
fixed: "left",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "规格描述",
|
||||||
|
dataIndex: "spec_remark",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "规格排序",
|
||||||
|
dataIndex: "spec_sort",
|
||||||
|
},
|
||||||
|
];
|
|
@ -1,9 +1,76 @@
|
||||||
const Spec = () => {
|
import React from "react";
|
||||||
|
import { Button, Space, Modal, FormInstance } from "antd";
|
||||||
|
import { Store } from "antd/lib/form/interface";
|
||||||
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import { columns, formConfig } from "./config";
|
||||||
|
import BTable from "@/components/b_table";
|
||||||
|
import SimpleForm from "@/components/form/simple_form";
|
||||||
|
const SkuSpec = (props: Store) => {
|
||||||
|
const { skuSpecStore } = props;
|
||||||
|
const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
|
||||||
|
const formRef = React.useRef<FormInstance>(null);
|
||||||
|
const [userId, setId] = useState<Number | null>(null);
|
||||||
|
const [record, setRecord] = useState<any>(null);
|
||||||
|
|
||||||
|
// 获取列表数据
|
||||||
|
useEffect(() => {
|
||||||
|
skuSpecStore.getlist();
|
||||||
|
}, [skuSpecStore]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="contentBox">
|
||||||
cat
|
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
|
||||||
|
<Button type="default" onClick={() => setIsModalOpen(true)}>
|
||||||
|
添加
|
||||||
|
</Button>
|
||||||
|
<BTable
|
||||||
|
store={skuSpecStore}
|
||||||
|
scroll={{ x: "max-content" }}
|
||||||
|
columns={columns}
|
||||||
|
dataSource={skuSpecStore.list}
|
||||||
|
deleteCallback={(record) => {
|
||||||
|
skuSpecStore.deleteItem(record);
|
||||||
|
}}
|
||||||
|
editCallback={(record) => {
|
||||||
|
setIsModalOpen(true);
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
setRecord(record);
|
||||||
|
setId(record.id);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Modal
|
||||||
|
title={!userId ? "添加" : "编辑"}
|
||||||
|
width={800}
|
||||||
|
open={isModalOpen}
|
||||||
|
afterClose={() => formRef.current?.resetFields()}
|
||||||
|
onOk={() => formRef.current?.submit()}
|
||||||
|
okText="确定"
|
||||||
|
cancelText="取消"
|
||||||
|
onCancel={() => {
|
||||||
|
setId(null);
|
||||||
|
setRecord(null);
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<SimpleForm
|
||||||
|
formName={"tag_form"}
|
||||||
|
formRef={formRef}
|
||||||
|
colProps={25}
|
||||||
|
onFinish={() => {
|
||||||
|
skuSpecStore.add(formRef.current?.getFieldsValue())
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
createCallback={() => {
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
}}
|
||||||
|
formDatas={formConfig as any}
|
||||||
|
></SimpleForm>
|
||||||
|
</Modal>
|
||||||
|
</Space>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Spec;
|
export default inject("skuSpecStore")(observer(SkuSpec));
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
import { FormType } from "@/components/form/interface";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { ColumnsType } from "antd/lib/table";
|
||||||
|
export const formConfig = [
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "标签名称",
|
||||||
|
name: "tag_name",
|
||||||
|
value: "",
|
||||||
|
rules: [{ required: true, message: "标签名称不能为空!" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "标签描述",
|
||||||
|
name: "tag_desc",
|
||||||
|
value: "",
|
||||||
|
rules: [{ required: true, message: "城市编码不能为空" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FormType.input,
|
||||||
|
label: "标签排序",
|
||||||
|
name: "tag_sort",
|
||||||
|
value: "1",
|
||||||
|
rules: [{ required: true, message: "标签排序不能为空" }],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export const columns: ColumnsType<UserDataType> = [
|
||||||
|
{
|
||||||
|
title: "标签名称",
|
||||||
|
dataIndex: "tag_name",
|
||||||
|
fixed: "left",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "标签描述",
|
||||||
|
dataIndex: "tag_desc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "标签排序",
|
||||||
|
dataIndex: "tag_sort",
|
||||||
|
},
|
||||||
|
];
|
|
@ -0,0 +1,76 @@
|
||||||
|
import React from "react";
|
||||||
|
import { Button, Space, Modal, FormInstance } from "antd";
|
||||||
|
import { Store } from "antd/lib/form/interface";
|
||||||
|
import { inject, observer } from "mobx-react";
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
import { columns, formConfig } from "./config";
|
||||||
|
import BTable from "@/components/b_table";
|
||||||
|
import SimpleForm from "@/components/form/simple_form";
|
||||||
|
const Tag = (props: Store) => {
|
||||||
|
const { tagStore } = props;
|
||||||
|
const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
|
||||||
|
const formRef = React.useRef<FormInstance>(null);
|
||||||
|
const [userId, setId] = useState<Number | null>(null);
|
||||||
|
const [record, setRecord] = useState<any>(null);
|
||||||
|
|
||||||
|
// 获取列表数据
|
||||||
|
useEffect(() => {
|
||||||
|
tagStore.getlist();
|
||||||
|
}, [tagStore]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="contentBox">
|
||||||
|
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
|
||||||
|
<Button type="default" onClick={() => setIsModalOpen(true)}>
|
||||||
|
添加
|
||||||
|
</Button>
|
||||||
|
<BTable
|
||||||
|
store={tagStore}
|
||||||
|
scroll={{ x: "max-content" }}
|
||||||
|
columns={columns}
|
||||||
|
dataSource={tagStore.list}
|
||||||
|
deleteCallback={(record) => {
|
||||||
|
tagStore.deleteItem(record);
|
||||||
|
}}
|
||||||
|
editCallback={(record) => {
|
||||||
|
setIsModalOpen(true);
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
setRecord(record);
|
||||||
|
setId(record.id);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Modal
|
||||||
|
title={!userId ? "添加" : "编辑"}
|
||||||
|
width={800}
|
||||||
|
open={isModalOpen}
|
||||||
|
afterClose={() => formRef.current?.resetFields()}
|
||||||
|
onOk={() => formRef.current?.submit()}
|
||||||
|
okText="确定"
|
||||||
|
cancelText="取消"
|
||||||
|
onCancel={() => {
|
||||||
|
setId(null);
|
||||||
|
setRecord(null);
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<SimpleForm
|
||||||
|
formName={"tag_form"}
|
||||||
|
formRef={formRef}
|
||||||
|
colProps={25}
|
||||||
|
onFinish={() => {
|
||||||
|
tagStore.add(formRef.current?.getFieldsValue())
|
||||||
|
setIsModalOpen(false);
|
||||||
|
}}
|
||||||
|
createCallback={() => {
|
||||||
|
formRef.current?.setFieldsValue(record);
|
||||||
|
}}
|
||||||
|
formDatas={formConfig as any}
|
||||||
|
></SimpleForm>
|
||||||
|
</Modal>
|
||||||
|
</Space>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default inject("tagStore")(observer(Tag));
|
|
@ -1,4 +1,3 @@
|
||||||
import Menu from "@/pages/rbac/menu";
|
|
||||||
export const sku = [
|
export const sku = [
|
||||||
{
|
{
|
||||||
path: "/sku",
|
path: "/sku",
|
||||||
|
@ -9,7 +8,9 @@ export const sku = [
|
||||||
{
|
{
|
||||||
path: "/sku/list",
|
path: "/sku/list",
|
||||||
index: true,
|
index: true,
|
||||||
element: <Menu />,
|
lazy: async () => ({
|
||||||
|
Component: (await import("@/pages/sku/sku")).default,
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/sku/cat",
|
path: "/sku/cat",
|
||||||
|
@ -32,6 +33,13 @@ export const sku = [
|
||||||
Component: (await import("@/pages/sku/brand")).default,
|
Component: (await import("@/pages/sku/brand")).default,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/sku/tag",
|
||||||
|
index: true,
|
||||||
|
lazy: async () => ({
|
||||||
|
Component: (await import("@/pages/sku/tag")).default,
|
||||||
|
}),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -15,14 +15,14 @@ class CityConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Skuconfig {
|
class SkuConfig {
|
||||||
static ADD: string = "/sku";
|
static ADD: string = "/sku";
|
||||||
static EDIT: string = "/sku";
|
static EDIT: string = "/sku";
|
||||||
static LIST: string = "/sku/list";
|
static LIST: string = "/sku/list";
|
||||||
static DELETE: string = "/sku";
|
static DELETE: string = "/sku";
|
||||||
}
|
}
|
||||||
|
|
||||||
class SkuCatconfig {
|
class SkuCatConfig {
|
||||||
static ADD: string = "/skuCat";
|
static ADD: string = "/skuCat";
|
||||||
static EDIT: string = "/skuCat";
|
static EDIT: string = "/skuCat";
|
||||||
static LIST: string = "/skuCat/list";
|
static LIST: string = "/skuCat/list";
|
||||||
|
@ -36,4 +36,17 @@ class Orderconfig {
|
||||||
static DELETE: string = "/order";
|
static DELETE: string = "/order";
|
||||||
}
|
}
|
||||||
|
|
||||||
export { UserConfig, CityConfig, SkuCatconfig, Skuconfig, Orderconfig };
|
class TagConfig {
|
||||||
|
static ADD: string = "/tag";
|
||||||
|
static EDIT: string = "/tag";
|
||||||
|
static LIST: string = "/tag/list";
|
||||||
|
static DELETE: string = "/tag";
|
||||||
|
}
|
||||||
|
|
||||||
|
class SpecConfig {
|
||||||
|
static ADD: string = "/skuSpec";
|
||||||
|
static EDIT: string = "/skuSpec";
|
||||||
|
static LIST: string = "/skuSpec/list";
|
||||||
|
static DELETE: string = "/skuSpec";
|
||||||
|
}
|
||||||
|
export { UserConfig, CityConfig, SkuCatConfig, SkuConfig, Orderconfig, TagConfig, SpecConfig };
|
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
|
@ -1,11 +1,19 @@
|
||||||
import usrStore from '@/store/user'
|
import usrStore from '@/store/user'
|
||||||
import cityStore from '@/store/city'
|
import cityStore from '@/store/city'
|
||||||
import orderStore from './order';
|
import orderStore from './order';
|
||||||
|
import tagStore from './tag';
|
||||||
|
import skuStore from './sku';
|
||||||
|
import skuCatStore from './skuCat';
|
||||||
|
import skuSpecStore from './skuSpec';
|
||||||
|
|
||||||
const store = {
|
const store = {
|
||||||
usrStore,
|
usrStore,
|
||||||
cityStore,
|
cityStore,
|
||||||
orderStore
|
orderStore,
|
||||||
|
tagStore,
|
||||||
|
skuStore,
|
||||||
|
skuCatStore,
|
||||||
|
skuSpecStore
|
||||||
};
|
};
|
||||||
|
|
||||||
export default store;
|
export default store;
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { makeObservable } from "mobx";
|
||||||
|
import BaseStore from "./baseStore";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { SkuConfig } from "@/service/config";
|
||||||
|
|
||||||
|
class SkuStore extends BaseStore<UserDataType> {
|
||||||
|
constructor() {
|
||||||
|
super(SkuConfig)
|
||||||
|
makeObservable(this, {})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const skuStore = new SkuStore();
|
||||||
|
export default skuStore;
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { makeObservable } from "mobx";
|
||||||
|
import BaseStore from "./baseStore";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { SkuCatConfig } from "@/service/config";
|
||||||
|
|
||||||
|
class SkuCatStore extends BaseStore<UserDataType> {
|
||||||
|
constructor() {
|
||||||
|
super(SkuCatConfig)
|
||||||
|
makeObservable(this, {})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const skuCatStore = new SkuCatStore();
|
||||||
|
export default skuCatStore;
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { makeObservable } from "mobx";
|
||||||
|
import BaseStore from "./baseStore";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { SpecConfig } from "@/service/config";
|
||||||
|
|
||||||
|
class SkuSpecStore extends BaseStore<UserDataType> {
|
||||||
|
constructor() {
|
||||||
|
super(SpecConfig)
|
||||||
|
makeObservable(this, {})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const skuSpecStore = new SkuSpecStore();
|
||||||
|
export default skuSpecStore;
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { makeObservable } from "mobx";
|
||||||
|
import BaseStore from "./baseStore";
|
||||||
|
import { UserDataType } from "@/model/userModel";
|
||||||
|
import { TagConfig } from "@/service/config";
|
||||||
|
|
||||||
|
class TagStore extends BaseStore<UserDataType> {
|
||||||
|
constructor() {
|
||||||
|
super(TagConfig)
|
||||||
|
makeObservable(this, {})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const tagStore = new TagStore();
|
||||||
|
export default tagStore;
|
Loading…
Reference in New Issue