Commit 2fadafaa authored by krysent's avatar krysent

重置表格设置

parent 9de05491
...@@ -217,9 +217,14 @@ export default [ ...@@ -217,9 +217,14 @@ export default [
component: './platform/Custom', component: './platform/Custom',
}, },
{ {
path: '/store/reservoir', path: '/store/location',
name: '库区库位', name: '库位管理',
component: './platform/Reservoir', component: './system/Reservoir',
},
{
path: '/store/area',
name: '库区管理',
component: './system/Area',
}, },
{ {
component: "./404", component: "./404",
......
...@@ -350,6 +350,43 @@ class Mtable extends PureComponent { ...@@ -350,6 +350,43 @@ class Mtable extends PureComponent {
columnsState={{ columnsState={{
value: this.state.valueColumns, value: this.state.valueColumns,
onChange: (val, state) => { onChange: (val, state) => {
if (Object.keys(val).length === 0) {
console.log(val, valueColumns);
let submitdata = {
...s,
...this.state.valueColumns,
};
let controList = Object.keys(submitdata).map((it, i) => {
return {
fieldKey: it,
fieldWidth: submitdata[it].width,
fieldOrder: i,
fieldFixed: submitdata[it].fixed,
fieldShow: true,
};
});
this.setState(
{
valueColumns: controList,
},
(s) => {
if (!this.props.path) return;
doFetch({
url: "/ngic-base-business/paFieldScene/save",
params: {
sceneMark: extraparams
? path + bodyParse(extraparams)
: activeTabKey
? path + activeTabKey
: path,
controList: controList,
},
});
}
);
} else {
let submitdata = { let submitdata = {
...this.state.valueColumns, ...this.state.valueColumns,
...val, ...val,
...@@ -381,6 +418,7 @@ class Mtable extends PureComponent { ...@@ -381,6 +418,7 @@ class Mtable extends PureComponent {
}); });
} }
); );
}
}, },
}} }}
scroll={{ scroll={{
......
...@@ -263,6 +263,38 @@ const Mtable = (props) => { ...@@ -263,6 +263,38 @@ const Mtable = (props) => {
columnsState={{ columnsState={{
value: valueColumns, value: valueColumns,
onChange: (val, state) => { onChange: (val, state) => {
console.log(val);
if (Object.keys(val).length === 0) {
console.log(val, valueColumns);
setvalueColumns((s) => {
let submitdata = {
...s,
...valueColumns,
};
let controList = Object.keys(submitdata).map((it, i) => {
return {
fieldKey: it,
fieldWidth: submitdata[it].width,
fieldOrder: i,
fieldFixed: submitdata[it].fixed,
fieldShow: true,
};
});
doFetch({
url: "/ngic-base-business/paFieldScene/save",
params: {
sceneMark: extraparams
? path + bodyParse(extraparams)
: activeTabKey
? path + activeTabKey
: path,
controList: controList,
},
});
return controList;
});
} else {
setvalueColumns((s) => { setvalueColumns((s) => {
let submitdata = { let submitdata = {
...s, ...s,
...@@ -289,6 +321,7 @@ const Mtable = (props) => { ...@@ -289,6 +321,7 @@ const Mtable = (props) => {
}); });
return submitdata; return submitdata;
}); });
}
}, },
}} }}
pagination={ pagination={
......
import { factorySelect } from "@/services/system";
import { doFetch } from "@/utils/doFetch";
export default {
"storeCode": {
"value": null,
"type": "input",
"title": "仓库编号",
"name": [
"storeCode"
],
"required": false
},
"storeName": {
"value": null,
"type": "input",
"title": "仓库名称",
"name": [
"storeName"
],
"required": true
},
"storeType": {
"value": null,
"type": "select",
"title": "仓库类型",
"name": [
"storeType"
],
"required": true,
"options": {
database:()=>doFetch({url:"/ngic-base-business/sysDic/queryStoreTypeSelect",params:{}}),
params:{}
}
},
"factoryId": {
"value": null,
"type": "select",
"title": "所属工厂",
"name": ["factoryId"],
"required": true,
"options": {
"database": factorySelect,
"params": {},
},
}
};
import { doFetch } from "@/utils/doFetch";
export default {
"storePositionName": {
"value": null,
"type": "input",
"title": "库位名称",
"name": [
"storePositionName"
],
"required": true
},
"storeAreaCode": {
"value": null,
"type": "select",
"title": "所属库区",
"name": [
"storeAreaCode"
],
"required": true,
"options": {
"database":()=> doFetch({url:"/ngic-base-business/sysDic/queryStorePositionSelect"}),
"params": {}
}
},
"description": {
"value": null,
"type": "textarea",
"title": "描述",
"name": [
"description"
],
"required": false,
col:{span:24}
}
};
import React, { useEffect, useRef, useReducer } from "react";
import { Button, Tooltip, Row, Divider, Drawer } from "antd";
import AutoTable from "@/components/AutoTable";
import getPrem from "@/utils/getPrem"; //权限判断fn
import { useRequest } from "umi";
import defaultFields from "./fields";
import { doFetch } from "@/utils/doFetch";
import DrawInitForm from "@/components/DrawInitForm";
import StoreApp from './store'
const initState = {
vs: false,
fields: {},
iftype: {},
curitem: {},
detail: {
dataSource: {},
totalCard: [],
},
visible: false,
},
otherBasic = {
productionLineName: "产线(加工中心)",
sectionName: "工段",
processLineName: "工艺路线",
groupName: "班组",
shiftName: "班次",
};
function reducer(state, action) {
let { type } = action,
newState = {};
switch (type) {
case "add":
newState = {
...state,
vs: true,
iftype: {
title: "新增仓库",
val: type,
},
fields: { ...action.fields },
};
break;
case "edit":
newState = {
...state,
vs: true,
iftype: {
title: "编辑仓库",
val: type,
},
fields: { ...action.fields },
curitem: action.curitem,
};
break;
case "see":
newState = {
...state,
curitem: action.curitem,
visible: true,
};
break;
case "close":
newState = {
...state,
curitem: {},
vs: false,
visible: false,
};
break;
}
return newState;
}
const Store = (props) => {
let actionRef = useRef(),
ChildRef = null;
function reload() {
actionRef?.current?.reload();
ChildRef?.onRefresh();
}
const { run, loading } = useRequest(doFetch, {
manual: true,
formatResult: (res) => res,
onSuccess: (result, params) => {
if (result.code == "0000") {
reload();
dispatch({ type: "close" });
}
},
}),
[state, dispatch] = useReducer(reducer, initState),
{ vs, fields, iftype, curitem, detail, visible } = state,
columns = [
{
"title": "仓库编号",
"dataIndex": "storeCode",
"key": "storeCode"
},
{
"title": "仓库名称",
"dataIndex": "storeName",
"key": "storeName"
},
{
"title": "仓库类型",
"dataIndex": "storeTypeName",
"key": "storeType",
"valueType": "select",
"options": {
database: () => doFetch({ url: "/ngic-base-business/sysDic/queryStoreTypeSelect", params: {} }),
params: {}
}
},
{
"title": "工厂名",
"dataIndex": "factoryName",
"key": "factoryName"
},
{
title: "操作",
dataIndex: "option_dataindex",
key: "option_dataindex",
valueType: "option",
width: 135,
render: (text, row, _, action) => extraAction(text, row, _, action),
},
];
function extraAction(text, record, _, action) {
return [
getPrem("sysDepartment_save", action, "库位管理", () => {
dispatch({ type: "see", curitem: record });
}),
getPrem("sysDepartment_save", action, "修改", () => {
for (let i in defaultFields) {
defaultFields[i].value = record[i];
}
dispatch({ type: "edit", fields: defaultFields, curitem: record });
}),
getPrem("sysDepartment_deleteById", action, "删除", null, {
title: "确认删除该仓库?",
onConfirm: () => {
run({
url: "/ngic-auth/sysStore/deleteById",
params: { id: record.id },
});
},
}),
];
}
let saveData = (values, fn) => {
let newfields = JSON.parse(JSON.stringify(values));
//新增&修改
let difrid = iftype.val == "edit" ? { id: curitem.id } : {};
run({
url: "/ngic-auth/sysStore/save",
params: { ...newfields, ...difrid },
});
};
let extrarender = [
<Button
disabled={!getPrem("sysDepartment_save", "ifs")}
type="primary"
onClick={() => {
for (let i in defaultFields) {
defaultFields[i].value = null;
defaultFields[i].disabled = false;
}
dispatch({ type: "add", fields: defaultFields });
}}
>
新增
</Button>,
];
return (
<div>
<AutoTable
pagetitle={props.route.name} //页面标题
pageextra={extrarender} //页面操作 新增or批量删除
columns={columns}
path="/ngic-auth/sysStore/queryList"
actionRef={actionRef}
onRef={(node) => (ChildRef = node)}
></AutoTable>
<DrawInitForm
title={iftype.title}
visible={vs}
onClose={() => dispatch({ type: "close" })}
footer={false}
destroyOnClose={true}
fields={fields}
submitData={(values) => {
saveData(values);
}}
onChange={(changedValues, allValues) => {
//联动操作
}}
submitting={loading || !vs}
width={"60%"}
>
</DrawInitForm>
<Drawer
visible={visible}
onClose={() => dispatch({ type: "close" })}
title="库位列表"
footer={false}
destroyOnClose={true}
width={"100%"}
getContainer={false}
style={{ position: "absolute" }}
>
<StoreApp curitem={curitem}></StoreApp>
</Drawer>
</div>
);
};
export default Store;
import React, { useState, useRef, useReducer } from "react";
import { Button, Tooltip, Row, Divider } from "antd";
import AutoTable from "@/components/Tableform";
import getPrem from "@/utils/getPrem"; //权限判断fn
import { useRequest } from "umi";
import defaultFields from "./fieldstore";
import { doFetch } from "@/utils/doFetch";
import DrawInitForm from "@/components/DrawInitForm";
import { ProDescriptions } from '@ant-design/pro-components';
import JsBarcode from 'jsbarcode'
import { useReactToPrint } from 'react-to-print';
import PrintProvider, { Print, NoPrint } from 'react-easy-print';
const pageStyle = `
@media all {
.page-break {
display: none;
}
}
@media print {
html, body {
height: initial !important;
overflow: initial !important;
-webkit-print-color-adjust: exact;
}
}
@media print {
.page-break {
margin-top:0;
display: block;
page-break-before: auto;
}
}
@media print {
.page-noprint {
display: none !important;
}
}
@page {
size: auto;
margin: 0px;
}
`;
const initState = {
vs: false,
fields: {},
iftype: {},
curitem: {},
detail: {
dataSource: {},
totalCard: [],
},
vs: false,
};
function reducer(state, action) {
let { type } = action,
newState = {};
switch (type) {
case "add":
newState = {
...state,
vs: true,
iftype: {
title: "新增库位",
val: type,
},
fields: { ...action.fields },
};
break;
case "only":
newState = {
...state,
vs: true,
iftype: {
title: "打印预览",
val: type,
},
};
break;
case "edit":
newState = {
...state,
vs: true,
iftype: {
title: "编辑库位",
val: type,
},
fields: { ...action.fields },
curitem: action.curitem,
};
break;
case "see":
newState = {
...state,
curitem: action.curitem,
vs: true,
};
break;
case "close":
newState = {
...state,
curitem: {},
vs: false,
};
break;
}
return newState;
}
const StoreApp = (props) => {
let actionRef = useRef(),
ChildRef = null,
printRef = useRef();
const [selectedRowKeys, setselectedRowKeys] = useState([]);
function reload() {
actionRef?.current?.reload();
ChildRef?.onRefresh();
}
const { run, loading } = useRequest(doFetch, {
manual: true,
formatResult: (res) => res,
onSuccess: (result, params) => {
if (result.code == "0000") {
reload();
dispatch({ type: "close" });
}
},
}),
[state, dispatch] = useReducer(reducer, initState),
{ vs, fields, iftype, curitem } = state,
columns = [
{
"title": "库位名称",
"dataIndex": "storePositionName",
"key": "storePositionName"
},
{
"title": "所属库区",
"dataIndex": "storeAreaName",
"key": "storeAreaName",
"valueType": "select",
"options": {
database: () => doFetch({ url: "/ngic-base-business/sysDic/queryStorePositionSelect" }),
params: {}
}
},
{
"title": "描述",
"dataIndex": "description",
"key": "description",
"search": false
},
{
title: "操作",
dataIndex: "option_dataindex",
key: "option_dataindex",
valueType: "option",
width: 135,
render: (text, row, _, action) => extraAction(text, row, _, action),
},
];
function extraAction(text, record, _, action) {
return [
getPrem("sysDepartment_save", action, "修改", () => {
for (let i in defaultFields) {
defaultFields[i].value = record[i];
}
dispatch({ type: "edit", fields: defaultFields, curitem: record });
}),
getPrem("sysDepartment_deleteById", action, "删除", null, {
title: "确认删除该库位?",
onConfirm: () => {
run({
url: "/ngic-auth/sysStorePosition/deleteById",
params: { id: record.id },
});
},
}),
];
}
let saveData = (values, fn) => {
let newfields = JSON.parse(JSON.stringify(values));
//新增&修改
let difrid = iftype.val == "edit" ? { id: curitem.id, storeId: props?.curitem?.id } : { storeId: props?.curitem?.id };
run({
url: "/ngic-auth/sysStorePosition/save",
params: { ...newfields, ...difrid },
});
};
let print = selectedRowKeys.length > 0 ? [
<Button
disabled={!getPrem("sysDepartment_save", "ifs")}
type="danger"
style={{ marginLeft: 12 }}
onClick={async () => {
await dispatch({ type: "only" });
setTimeout(async () => {
await Promise.all(selectedRowKeys.map(async (it) => {
await JsBarcode("#s" + it.id, it.id, {
width: 4,
height: 200,
fontSize: 36,
});
}))
}, 600)
}}
>
打印
</Button>
] : []
const handlePrint = useReactToPrint({
content: () => printRef.current,
});
let extrarender = [
<Button
disabled={!getPrem("sysDepartment_save", "ifs")}
type="primary"
onClick={() => {
for (let i in defaultFields) {
defaultFields[i].value = null;
defaultFields[i].disabled = false;
}
dispatch({ type: "add", fields: defaultFields });
}}
>
新增
</Button>,
...print
];
return (
<div>
<ProDescriptions
columns={[
{
"title": "仓库编号",
"dataIndex": "storeCode",
"key": "storeCode"
},
{
"title": "仓库名称",
"dataIndex": "storeName",
"key": "storeName"
},
{
"title": "仓库类型",
"dataIndex": "storeTypeName",
"key": "storeTypeName",
},
{
"title": "工厂名",
"dataIndex": "factoryName",
"key": "factoryName"
}]}
dataSource={props.curitem}
column={4}
/>
<AutoTable
pagetitle={"库位管理"} //页面标题
pageextra={extrarender} //页面操作 新增or批量删除
columns={columns}
path="/ngic-auth/sysStorePosition/queryList"
actionRef={actionRef}
onRef={(node) => (ChildRef = node)}
extraparams={{ storeId: props?.curitem?.id ?? "0" }}
rowSelection={{
onChange: (selectedRowKeys, selectedRows) => {
setselectedRowKeys(selectedRows)
},
}}
></AutoTable>
<DrawInitForm
visible={false}
title={iftype?.title}
visible={vs}
onClose={() => dispatch({ type: "close" })}
footer={false}
destroyOnClose={true}
fields={fields}
submitData={(values) => {
saveData(values);
}}
onChange={(changedValues, allValues) => {
//联动操作
}}
submitting={loading || !vs}
width={"60%"}
val={iftype.val}
width={iftype.val == "only" ? 690 : 600}
extra={iftype.val == "only" ? <Button
onClick={handlePrint}
>打印</Button> : null}
>
<PrintProvider>
<style type="text/css" media="print">
{pageStyle}
</style>
<div ref={printRef}>
{
selectedRowKeys.map((it, i) => {
return <div key={i}>
<NoPrint>
<span className="page-noprint">{it.storePositionName}</span>
</NoPrint>
<svg id={"s" + it.id} />
<span className="page-break"></span>
</div>
})
}
</div>
</PrintProvider>
</DrawInitForm>
</div>
);
};
export default StoreApp;
...@@ -253,7 +253,7 @@ const userDetails = [ ...@@ -253,7 +253,7 @@ const userDetails = [
}, },
{ {
title: "备注", title: "备注",
key: "remarks", key: "remark",
col: { span: 24 }, col: { span: 24 },
}, },
], ],
......
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