Commit dc8eebf1 authored by wuhao's avatar wuhao 🎯

jkuier

parent a5f936be
...@@ -78,6 +78,21 @@ export default [ ...@@ -78,6 +78,21 @@ export default [
}, },
], ],
}, },
{
path: "/historystore",
name: "出入库明细",
icon: "search",
routes: [
{
path: "/historystore/histore",
name: "出入库明细",
component: "./historystore/Histore",
},
{
component: "./404",
},
],
},
{ {
path: "/system", path: "/system",
name: "系统基础管理", name: "系统基础管理",
......
This diff is collapsed.
...@@ -321,4 +321,17 @@ table { ...@@ -321,4 +321,17 @@ table {
} }
.ant-select-selector{ .ant-select-selector{
overflow: hidden !important; overflow: hidden !important;
}
.ant-breadcrumb{
span{
>span{
max-width: 600px !important;
}
}
}
.ant-tree .ant-tree-treenode{
width: 100%;
>span:last-child{
flex:1
}
} }
\ No newline at end of file
...@@ -6,16 +6,63 @@ import { ...@@ -6,16 +6,63 @@ import {
import { Breadcrumb, Layout, Menu, Input, Tooltip, Tree } from 'antd'; import { Breadcrumb, Layout, Menu, Input, Tooltip, Tree } from 'antd';
import React, { useState } from 'react'; import React, { useState } from 'react';
import styles from './index.less' import styles from './index.less'
import TreeRender from '@/components/TreeRender';
import AutoTable from "@/components/AutoTable";
const { Header, Content, Footer, Sider } = Layout, const { Header, Content, Footer, Sider } = Layout,
{ Search } = Input { Search } = Input
const Storesearch = () => { const Storesearch = (props) => {
const [collapsed, setCollapsed] = useState(false); const [collapsed, setCollapsed] = useState(false);
const [search, setsearch] = useState(); const [search, setsearch] = useState();
const [select, setselect] = useState({}); const [select, setselect] = useState({});
const columns = [
{
"title": "物料编码",
"dataIndex": "materieCode",
"key": "materieCode"
},
{
"title": "物料名称",
"dataIndex": "materieName",
"key": "materieName"
},
{
"title": "物料类型",
"dataIndex": "materieTypeName",
"key": "materieTypeName"
},
{
"title": "库存数量",
"dataIndex": "stockNum",
"key": "stockNum",
"search": false
},
{
"title": "可用库存",
"dataIndex": "usableNum",
"key": "usableNum",
"search": false
},
{
"title": "库存单位",
"dataIndex": "productionUnitName",
"key": "productionUnitName",
"search": false
}
]
const tableprops = {
...props,
pageextra: "none",
columns,
path: "/ngic-workmanship/wmsMaterieStock/queryStockList"
}
return ( return (
<Layout <Layout
style={{ style={{
...@@ -45,25 +92,15 @@ const Storesearch = () => { ...@@ -45,25 +92,15 @@ const Storesearch = () => {
/> />
)} )}
</div> </div>
{
!collapsed && <div style={{ padding: 12, paddingBottom: collapsed ? 12 : 0 }}>
<Search value={search} onChange={e => setsearch(e.target.value)} style={{ marginRight: 10 }}></Search>
</div>
}
{ {
!collapsed ? !collapsed ?
<div style={{ padding: collapsed ? 0 : 12 }}> <div style={{ padding: collapsed ? 0 : 12 }}>
<Tree <TreeRender
treeData={[ url="/ngic-auth/sysStore/queryTreeList"
{ title: '全部仓库', key: '0' }, // 菜单项务必填写 key params={{}}
{ title: '菜单项二', key: 'item-2' }, noaction={true}
{ maxWidth={140}
title: '子菜单', onselected={(selectedKeys, e) => {
key: 'submenu',
children: [{ title: '子菜单项', key: 'submenu-item-1' }],
},
]}
onSelect={(selectedKeys, e) => {
setselect(selectedKeys[0] ? { setselect(selectedKeys[0] ? {
title: e.node.title, title: e.node.title,
selectedKeys: selectedKeys[0] selectedKeys: selectedKeys[0]
...@@ -71,7 +108,9 @@ const Storesearch = () => { ...@@ -71,7 +108,9 @@ const Storesearch = () => {
}) })
}} }}
/> >
</TreeRender>
</div> : </div> :
<div onDoubleClick={() => { <div onDoubleClick={() => {
setCollapsed(false) setCollapsed(false)
...@@ -97,7 +136,7 @@ const Storesearch = () => { ...@@ -97,7 +136,7 @@ const Storesearch = () => {
}} }}
> >
<Breadcrumb.Item>物料库存</Breadcrumb.Item> <Breadcrumb.Item>物料库存</Breadcrumb.Item>
<Breadcrumb.Item>{select.title}</Breadcrumb.Item> <Breadcrumb.Item style={{ maxWidth: 600 }}>{select.title}</Breadcrumb.Item>
</Breadcrumb> </Breadcrumb>
<div <div
className={styles.sitelayoutbackground} className={styles.sitelayoutbackground}
...@@ -107,7 +146,11 @@ const Storesearch = () => { ...@@ -107,7 +146,11 @@ const Storesearch = () => {
flex: 1 flex: 1
}} }}
> >
Bill is a cat. <AutoTable
{
...tableprops
}
></AutoTable>
</div> </div>
</Content> </Content>
</Layout> </Layout>
......
This diff is collapsed.
import React, { useEffect, useMemo, useRef, useState } from "react";
import {
Dropdown,
Menu,
Button,
message,
} from "antd";
import AutoTable from "@/components/AutoTable";
import defaultFields from "./fields";
import { doFetch } from "@/utils/doFetch";
import DrawInitForm from "@/components/DrawInitForm";
import getPrem from '@/utils/getPrem';//权限判断fn
function Instore(props) {
const actionRef = useRef(),
ChildRef = null;
const columns = [
{
"title": "操作时间",
"dataIndex": "operateTime",
"key": "operateTimeList",
"valueType": "dateRange",
"render": (_, row) => {return (<div>{row.operateTime}</div>)},
},
{
"title": "操作人",
"dataIndex": "operateUserName",
"key": "operateUserName"
},
{
"title": "物料编码",
"dataIndex": "materieCode",
"key": "materieCode"
},
{
"title": "物料名称",
"dataIndex": "materieName",
"key": "materieName"
},
{
"title": "批次号/SN号",
"dataIndex": "materieControlNo",
"key": "materieControlNo"
},
{
"title": "当时库存数量",
"dataIndex": "currentNum",
"key": "currentNum",
"search": false
},
{
"title": "操作数量",
"dataIndex": "operateNum",
"key": "operateNum",
"search": false
},
{
"title": "库存单位",
"dataIndex": "productionUnitName",
"key": "productionUnitName",
"search": false
},
{
"title": "操作类型",
"dataIndex": "stockTypeName",
"key": "stockTypeName",
},
{
"title": "仓库名称",
"dataIndex": "storeName",
"key": "storeName"
},
{
"title": "库位",
"dataIndex": "storePositionName",
"key": "storePositionName"
},
{
"title": "相关单号",
"dataIndex": "relatedNo",
"key": "relatedNo"
}
]
const tableprops = {
...props,
pageextra: "none",
columns,
path: "/ngic-workmanship/wmsMaterieStockRecord/queryList"
}
return (
<div>
<AutoTable
{
...tableprops
}
actionRef={actionRef}
onRef={(node) => (ChildRef = node)}
></AutoTable>
</div>
);
}
export default Instore;
\ No newline at end of file
.sitelayout {
min-height: calc(100vh - 98px) !important;
.sitelayoutbackground {
background: #fff;
}
}
.title{
margin: 0px;
}
\ No newline at end of file
...@@ -19,10 +19,10 @@ const keytoval = { ...@@ -19,10 +19,10 @@ const keytoval = {
"four": 4 "four": 4
}, items = [ }, items = [
{ {
key: 'one', key: 'one',
label: ( label: (
<a> <a>
采购出库 生产领料出库
</a> </a>
), ),
}, },
...@@ -30,7 +30,7 @@ const keytoval = { ...@@ -30,7 +30,7 @@ const keytoval = {
key: 'two', key: 'two',
label: ( label: (
<a> <a>
生产出库 销售出库
</a> </a>
), ),
}, },
...@@ -38,7 +38,7 @@ const keytoval = { ...@@ -38,7 +38,7 @@ const keytoval = {
key: 'three', key: 'three',
label: ( label: (
<a> <a>
退料出库 报废出库
</a> </a>
), ),
}, },
...@@ -97,7 +97,7 @@ function Instore(props) { ...@@ -97,7 +97,7 @@ function Instore(props) {
val: "detail", val: "detail",
title: `查看详情`, title: `查看详情`,
...defaultFields?.detail, ...defaultFields?.detail,
totalPath: "/ngic-workmanship/wmsmaterieOutstore/getInStoreInfoById", totalPath: "/ngic-workmanship/wmsMaterieOutstore/getOutStoreInfoById",
totalParams: { id: record.id } totalParams: { id: record.id }
})) }))
}} }}
...@@ -241,7 +241,7 @@ function Instore(props) { ...@@ -241,7 +241,7 @@ function Instore(props) {
val: "detail", val: "detail",
title: `查看详情`, title: `查看详情`,
...defaultFields?.detail, ...defaultFields?.detail,
totalPath: "/ngic-workmanship/wmsmaterieOutstoreHis/getInStoreInfoById", totalPath: "/ngic-workmanship/wmsMaterieOutstoreHis/getOutStoreInfoById",
totalParams: { id: record.id } totalParams: { id: record.id }
})) }))
}} }}
...@@ -255,15 +255,15 @@ function Instore(props) { ...@@ -255,15 +255,15 @@ function Instore(props) {
"valueType": "select", "valueType": "select",
"options": [ "options": [
{ {
"label": "采购出库", "label": "生产领料出库",
"value": "1" "value": "1"
}, },
{ {
"label": "生产出库", "label": "销售出库",
"value": "2" "value": "2"
}, },
{ {
"label": "退料出库", "label": "报废出库",
"value": "3" "value": "3"
}, },
{ {
...@@ -404,6 +404,10 @@ function Instore(props) { ...@@ -404,6 +404,10 @@ function Instore(props) {
{...drawprops} {...drawprops}
submitData={async (value) => { submitData={async (value) => {
if (drawprops.val == "add") { if (drawprops.val == "add") {
value.materialList = value.materialList?.map(it=>{
delete it.usableNum;
return it
})//usableNum
let res = await doFetch({ url: "/ngic-workmanship/wmsMaterieOutstore/saveOutStore", params: { ...value, outstoreType: drawprops.outstoreType } }) let res = await doFetch({ url: "/ngic-workmanship/wmsMaterieOutstore/saveOutStore", params: { ...value, outstoreType: drawprops.outstoreType } })
if (res.code == "0000") { if (res.code == "0000") {
reload(); reload();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment