Commit 8c356db4 authored by 左玲玲's avatar 左玲玲 😬

1416

parent bd0f0279
...@@ -174,7 +174,7 @@ export default [ ...@@ -174,7 +174,7 @@ export default [
}, },
{ {
path: "/platform/rule", path: "/platform/norule",
name: "编号规则", name: "编号规则",
component: "./platform/Rule", component: "./platform/Rule",
}, },
......
...@@ -557,9 +557,6 @@ let InitForm = ({ ...@@ -557,9 +557,6 @@ let InitForm = ({
// formartSubmit(values); // formartSubmit(values);
}} }}
onValuesChange={(changedValues, values) => { onValuesChange={(changedValues, values) => {
console.log('====================================')
console.log(changedValues)
console.log('====================================')
let newvalue = {}; let newvalue = {};
let linkkey = Object.keys(changedValues)[0]; let linkkey = Object.keys(changedValues)[0];
//联动逻辑 //联动逻辑
......
...@@ -79,20 +79,17 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max ...@@ -79,20 +79,17 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max
</span> </span>
</Tooltip> </Tooltip>
) : ( ) : (
<Tooltip title={item.title} placement="bottom"> <Tooltip title={item.title} placement="bottom">
<span style={{ display: "inline-block", maxWidth: maxWidth ?? 88, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>{item.title}</span> <span style={{ display: "inline-block", maxWidth: maxWidth ?? 88, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>{item.title}</span>
</Tooltip> </Tooltip>
); );
const actiontitle = ( const actiontitle = (
<div style={{ display: "flex", alignItems: "center", justifyContent: "space-between" }}> <div style={{ display: "flex", alignItems: "center", justifyContent: "space-between" }}>
{title} {title}
<div> <div>
{ {
item.key != "0" && <Divider type='vertical' style={{ margin: "0 6px" }}></Divider> item.key && item.key != "0" && <Tooltip title="编辑" onClick={(e) => {
}
{
item.key != "0" && <Tooltip title="编辑" onClick={(e) => {
e.stopPropagation(); e.stopPropagation();
setsavetitle(null) setsavetitle(null)
if (getPrem("enElectricityMeterType_save", "ifs")) { if (getPrem("enElectricityMeterType_save", "ifs")) {
...@@ -110,8 +107,9 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max ...@@ -110,8 +107,9 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max
<FormOutlined style={{ color: "#1890ff" }} /> <FormOutlined style={{ color: "#1890ff" }} />
</Tooltip> </Tooltip>
} }
{
<Divider type='vertical' style={{ margin: "0 6px" }}></Divider> item.key && <Divider type='vertical' style={{ margin: "0 6px" }}></Divider>
}
<Tooltip title="新增"> <Tooltip title="新增">
<PlusSquareOutlined <PlusSquareOutlined
disabled={!getPrem("enElectricityMeterType_save", "ifs")} disabled={!getPrem("enElectricityMeterType_save", "ifs")}
...@@ -158,10 +156,10 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max ...@@ -158,10 +156,10 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max
</Tooltip> </Tooltip>
</Popconfirm> </Popconfirm>
} }
{ {/* {
item.key === "" && <Divider type='vertical' style={{ margin: "0 6px" }}></Divider> item.key === "" && <Divider type='vertical' style={{ margin: "0 6px" }}></Divider>
} } */}
{ {/* {
item.key === "" && <Tooltip title={expandall ? "收起" : "展开"} onClick={(e) => { item.key === "" && <Tooltip title={expandall ? "收起" : "展开"} onClick={(e) => {
e.stopPropagation(); e.stopPropagation();
setexpandall(!expandall) setexpandall(!expandall)
...@@ -169,7 +167,7 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max ...@@ -169,7 +167,7 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max
}}> }}>
{expandall ? <ArrowDownOutlined /> : <ArrowRightOutlined />} {expandall ? <ArrowDownOutlined /> : <ArrowRightOutlined />}
</Tooltip> </Tooltip>
} } */}
</div> </div>
</div> </div>
...@@ -221,7 +219,6 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max ...@@ -221,7 +219,6 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max
if (modal.okText == "修改") { if (modal.okText == "修改") {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (savetitle) { if (savetitle) {
console.log(ref1.current);
doFetch({ doFetch({
url: saveurl, url: saveurl,
params: { params: {
...@@ -299,7 +296,6 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max ...@@ -299,7 +296,6 @@ function TreeRender({ url, deleteurl, saveurl, onselected, params, noaction, max
defaultExpandAll={true} defaultExpandAll={true}
expandedKeys={expandedKeys} expandedKeys={expandedKeys}
onExpand={(expandedKeys) => { onExpand={(expandedKeys) => {
console.log(expandedKeys);
onExpand(expandedKeys) onExpand(expandedKeys)
}} }}
> >
......
import { bmNoType } from "@/services/platform"; import { bmNoTypeadd } from "@/services/system"
export default { export default {
noTypeId: { "noTypeId": {
value: null, "value": null,
type: "select", "type": "select",
title: "单号类型", "title": "单号类型",
name: ["noTypeId"], "name": [
required: true, "noTypeId"
options: { ],
database: bmNoType, "required": true,
params: {}, "options": {
}, database: bmNoTypeadd,
col: { span: 12 }, params: {}
}, },
noSunName: { "col": { span: 24 },
value: null, },
type: "input", "nrList": {
title: "编号子类", "value": { value: [], other: {} },
name: ["noSunName"], "type": "diyrule",
required: true, "title": "规则配置",
col: { span: 12 }, "name": [
}, "nrList"
nrList: { ],
value: { value: [], other: {} }, "col": { span: 24 },
type: "diyrule", "required": true
title: "规则配置", }
name: ["nrList"], }
col: { span: 24 }, \ No newline at end of file
required: true,
},
};
import React, { useEffect, useRef, useState, useReducer } from "react"; import React, { useEffect, useRef, useState } from 'react';
import { Card, Modal, Button, Divider, message, Form } from "antd"; import { Card, Modal, Button, Divider, message } from 'antd';
import { useRequest } from "umi"; import { connect, useRequest } from "umi";
import AutoTable from "@/components/AutoTable"; import AutoTable from '@/components/AutoTable';
import getPrem from "@/utils/getPrem"; //权限判断fn import getPrem from '@/utils/getPrem';//权限判断fn
import defaultFields from "./fields"; import InitForm from '@/components/InitForm';
import { doFetch } from "@/utils/doFetch"; import defaultFields from './fields'
import { bmNoTypeAll, bmNoType } from "@/services/platform"; import { doFetch } from '@/utils/doFetch';
import DrawInitForm from "@/components/DrawInitForm"; import { bmNoType } from '@/services/system';
const initState = {
vs: false,
fields: {},
iftype: {},
curitem: {},
bmNoTypeData: [],
};
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 "changeFields":
newState = {
...state,
fields: action.fields,
};
break;
case "changeBmNoType":
newState = {
...state,
bmNoTypeData: action.bmNoTypeData,
};
break;
case "close":
newState = {
...state,
vs: false,
fields: {},
iftype: {},
curitem: {},
};
break;
}
return newState;
}
let Rule = (props) => { let Rule = (props) => {
let actionRef = useRef(), const actionRef = useRef();
[formRef] = Form.useForm(); const [vs, cvs] = useState(false),//表单显/隐
function reload() { [fields, cf] = useState(defaultFields),
actionRef?.current?.reload(); [iftype, ciftype] = useState({});
}
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, bmNoTypeData } = state,
columns = [
{
title: "编号大类",
dataIndex: "noTypeName",
key: "noTypeName",
},
{
title: "编号子类",
dataIndex: "noSunName",
key: "noSunName",
},
{
title: "预览",
dataIndex: "ruleNames",
key: "ruleNames",
search: false,
},
{
title: "操作",
valueType: "option",
dataIndex: "option_dataindex",
key: "option_dataindex",
width: 135,
render: (text, row, _, action) => extraAction(text, row, _, action),
},
];
useEffect(() => { const { run, loading } = useRequest(doFetch, {
doFetch({ url: "/ngic-base-business/bmNoType/querySelectAll" }).then( manual: true,
(res) => { formatResult: (res) => res,
if (res.code == "0000") { onSuccess: (result, params) => {
let dataList = res?.data?.dataList ?? []; if (result.code == "0000") {
dispatch({ type: "changeBmNoType", bmNoTypeData: dataList }); actionRef.current.reload();
} cvs(false);
} }
); }
}, [props.route]); })
const columns = [
{
"title": "单号类型",
"dataIndex": "noTypeName",
"key": "noTypeId",
"options": {
"database": bmNoType,
"params": {}
},
valueType: "select"
},
{
"title": "预览",
"dataIndex": "ruleNames",
"key": "ruleNames",
"search": false
},
{
title: '操作',
valueType: 'option',
width: 155,
render: (text, row, s, action) => extraAction(text, row, s, action)
},
];
function extraAction(text, record, _, action) { function extraAction(text, record, s, action) {
return [ return [
getPrem("bmNumberRule_save", action, "修改", () => { getPrem("bmNumberRule_save", action, "修改", () => {
doFetch({ doFetch({ url: "/ngic-base-business/bmNumberRule/queryByNoTypeId", params: { noTypeId: record.id } }).then(res => {
url: "/ngic-base-business/bmMainNumberRule/queryDetails",
params: { id: record.id },
}).then((res) => {
let row = res?.data?.data; let row = res?.data?.data;
for (let i in defaultFields) { ciftype({
defaultFields[i].value = row[i]; val: "edit",
if (i == "noTypeId") { id: record.id,
defaultFields[i].disabled = true; title: "修改编号规则"
defaultFields[i].options.database = bmNoTypeAll; })
} cf((fields) => {
if (i == "nrList") { for (let i in fields) {
let reshow = { fields[i].value = row[i];
value: row[i].filter( fields.noTypeId.options.database = bmNoType;
(it) => it.noRuleCode != "increasing_order" fields.noTypeId.disabled = true;
), if (i == "nrList") {
other: let reshow = {
row[i].filter( value: row[i].filter(it => it.noRuleCode != "increasing_order"),
(it) => it.noRuleCode == "increasing_order" other: row[i].filter(it => it.noRuleCode == "increasing_order")[0] || {}
)[0] || {},
};
reshow.other.increaseList = reshow.other.increaseList.map(
(it) => {
return reshow.value.filter((item) => item.sort == it)[0].id;
} }
); reshow.other.increaseList = reshow.other.increaseList.map(it => {
reshow.other.sort = return reshow.value.filter(item => item.sort == it)[0].id
reshow.other.sort == 1 })
? reshow.other.sort reshow.other.sort = reshow.other.sort == 1 ? reshow.other.sort : reshow.other.sort - 1;
: reshow.other.sort - 1;
defaultFields[i].value = reshow; fields[i].value = reshow
defaultFields[i].extraparams = { noTypeId: record.noTypeId };
}
if (i == "noSunName") {
let filterData = bmNoTypeData.filter(
(it) => it.value == row["noTypeId"]
);
if (filterData.length > 0) {
defaultFields[i].hides =
filterData[0].isSun == 1 ? false : true;
} else {
defaultFields[i].hides = false;
} }
} }
} return { ...fields }
dispatch({ type: "edit", fields: defaultFields, curitem: row }); });
}); cvs(true);
})
}), }),
getPrem("bmNumberRule_deleteByNoTypeId", action, "删除", null, { getPrem('bmNumberRule_deleteByNoTypeId', action, "删除", null, {
title: "确认删除该编号规则?", title: "确认删除该编号规则?",
onConfirm: () => { onConfirm: () => {
run({ run({ url: "/ngic-base-business/bmNumberRule/deleteByNoTypeId", params: { noTypeId: record.id } });
url: "/ngic-base-business/bmMainNumberRule/deleteById", }
params: { id: record.id }, })
}); ]
},
}),
];
} }
let saveData = (values, fn) => { let saveData = (values, fn) => {
...@@ -199,60 +105,54 @@ let Rule = (props) => { ...@@ -199,60 +105,54 @@ let Rule = (props) => {
submitnolist.push(other); submitnolist.push(other);
} }
submitnolist = submitnolist.map((it, i) => { submitnolist = submitnolist.map((it, i) => {
return { return {
...it, ...it,
sort: i + 1, sort: i + 1
}; }
}); })
submitnolist = submitnolist.map((it, i) => { submitnolist = submitnolist.map((it, i) => {
if (it.noRuleCode == "increasing_order") { if (it.noRuleCode == "increasing_order") {
it.increaseList = it.increaseList.map((item) => { it.increaseList = it.increaseList.map(item => {
return submitnolist.filter((itemz) => itemz.id == item)[0].sort; return submitnolist.filter(itemz => itemz.id == item)[0].sort
}); })
} }
return { return {
...it, ...it
}; }
}); })
let newfields = { let newfields = {
...newvalues, ...newvalues,
nrList: submitnolist, nrList: submitnolist
}; }
let difrid = iftype.val == "edit" ? { id: iftype.id } : {};
run({ url: "/ngic-base-business/bmNumberRule/save", params: { ...newfields, ...difrid } });
}
let difrid = iftype.val == "edit" ? { id: curitem.id } : {};
run({ let extra = (<Button disabled={!getPrem("bmNumberRule_save", "ifs")} type="primary" onClick={() => {
url: "/ngic-base-business/bmMainNumberRule/save", cvs(true);
params: { ...newfields, ...difrid }, cf(fields => {
for (let i in fields) {
fields[i].value = null;
fields[i].disabled = false;
}
return { ...fields }
}); });
}; ciftype({
val: "add",
title: "新增编号规则"
})
}}>新增</Button>)
let extra = (
<Button
disabled={!getPrem("bmNumberRule_save", "ifs")}
type="primary"
onClick={() => {
for (let i in defaultFields) {
defaultFields[i].value = null;
defaultFields[i].disabled = false;
if (i == "nrList") {
defaultFields[i].extraparams = { noTypeId: "" };
}
if (i == "noTypeId") {
defaultFields[i].options = {
database: bmNoType,
params: {},
};
}
}
dispatch({ type: "add", fields: defaultFields });
}}
>
新增
</Button>
);
return ( return (
<div> <div>
<AutoTable <AutoTable
...@@ -260,61 +160,35 @@ let Rule = (props) => { ...@@ -260,61 +160,35 @@ let Rule = (props) => {
actionRef={actionRef} actionRef={actionRef}
pagetitle={props.route.name} pagetitle={props.route.name}
pageextra={extra} pageextra={extra}
refreshDep={[bmNoTypeData]} path="/ngic-base-business/bmNumberRule/queryList"
path="/ngic-base-business/bmMainNumberRule/queryList" pagination="false"
></AutoTable> ></AutoTable>
<DrawInitForm
<Modal
maskClosable={false}
title={iftype.title} title={iftype.title}
visible={vs} visible={vs}
onClose={() => dispatch({ type: "close" })} onCancel={() => cvs(false)}
footer={false} footer={false}
destroyOnClose={true} destroyOnClose={true}
fields={fields} width={1200}
submitData={(values) => { >
saveData(values); <InitForm
}} fields={fields}
onChange={(changedValues, allValues) => { submitData={(values, fn) => {
//联动操作 saveData(values, fn)
for (let i in changedValues) { }}
if (i == "noTypeId") { onChange={(changedValues, allValues) => {
for (let j in fields) { }}
if (j == "nrList") { submitting={
fields[j].extraparams = { noTypeId: changedValues[i] }; loading || !vs
fields[j].value = {
value: allValues.nrList?.value.map((it) => ({
...it,
noRuleCode: "",
})),
other: {
...allValues.nrList?.other,
noRuleCode: "",
},
};
}
if (j == "noSunName") {
let filterData = bmNoTypeData.filter(
(it) => it.value == changedValues[i]
);
if (filterData.length > 0) {
defaultFields[j].hides =
filterData[0].isSun == 1 ? false : true;
} else {
fields[j].hides = false;
}
}
}
formRef.setFieldsValue({ nrList: fields["nrList"].value });
dispatch({ type: "changeFields", fields });
}
} }
}} >
submitting={loading || !vs} </InitForm>
width={"100%"} </Modal>
formRef={formRef}
></DrawInitForm>
</div> </div>
); )
}; }
export default Rule; export default Rule;
\ No newline at end of file
...@@ -33,7 +33,7 @@ let SendList = (props) => { ...@@ -33,7 +33,7 @@ let SendList = (props) => {
"title": "推送方式", "title": "推送方式",
"dataIndex": "sendMethodName", "dataIndex": "sendMethodName",
"key": "sendMethodName", "key": "sendMethodName",
search:false search: false
}, },
{ {
"title": "推送内容", "title": "推送内容",
...@@ -127,23 +127,16 @@ let SendList = (props) => { ...@@ -127,23 +127,16 @@ let SendList = (props) => {
actionRef={actionRef} actionRef={actionRef}
path="/ngic-base-business/paMsgSendRecord/queryList" path="/ngic-base-business/paMsgSendRecord/queryList"
></AutoTable> ></AutoTable>
<Drawer <Details
title={details.totalTitle} title={details.totalTitle}
closable={true} closable={true}
visible={details.visible} visible={details.visible}
onClose={() => { cdetails({ ...details, visible: false }) }} onClose={() => { cdetails({ ...details, visible: false }) }}
destroyOnClose={true}
afterVisibleChange={(v) => {
cdetails({
...details,
shown: v
})
}}
width="100%" width="100%"
className="drawerDetails" className="drawerDetails"
{...details}
> >
{details.shown && <Details {...details}></Details>} </Details>
</Drawer>
</div> </div>
) )
} }
......
...@@ -7,7 +7,7 @@ import InitForm from '@/components/InitForm'; ...@@ -7,7 +7,7 @@ import InitForm from '@/components/InitForm';
import { doFetch } from '@/utils/doFetch'; import { doFetch } from '@/utils/doFetch';
import { tableField } from "./fields"; import { tableField } from "./fields";
import moment from "moment"; import moment from "moment";
import { factory, allDepartment, allShop, depart, selectionBoxAll,roleList, currentUserList } from "@/services/system"; import { factorySelect,factory, allDepartment, allShop, depart, selectionBoxAll,roleList, currentUserList } from "@/services/system";
const { TextArea } = Input, const { TextArea } = Input,
{ Paragraph } = Typography; { Paragraph } = Typography;
...@@ -513,10 +513,10 @@ const Formpage = (props) => { ...@@ -513,10 +513,10 @@ const Formpage = (props) => {
let database; let database;
switch (val) { switch (val) {
case 2: case 2:
database = factory database = factorySelect
break; break;
case 3: case 3:
database = depart database = factory
break; break;
case 4: case 4:
database = selectionBoxAll database = selectionBoxAll
......
...@@ -25,11 +25,12 @@ export default { ...@@ -25,11 +25,12 @@ export default {
}, },
"description": { "description": {
"value": null, "value": null,
"type": "input", "type": "textarea",
"title": "描述", "title": "描述",
"name": [ "name": [
"description" "description"
], ],
"required": true "required": false,
col:{span:24}
} }
}; };
...@@ -228,4 +228,20 @@ export async function allSection(params) { ...@@ -228,4 +228,20 @@ export async function allSection(params) {
method: 'POST', method: 'POST',
data: params, data: params,
}); });
}
//查询全部编号类型下拉框(登录人公司)
export async function bmNoTypeadd(params) {
return request(`/wms/ngic-base-business/bmNoType/querySelect`, {
method: 'POST',
data: params,
});
}
//查询全部编号类型下拉框(登录人公司)
export async function bmNoType(params) {
return request(`/wms/ngic-base-business/bmNoType/queryAllSelect`, {
method: 'POST',
data: params,
});
} }
\ No newline at end of file
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