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

1416

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