import { Row, Col, Input, InputNumber, Select, message, Button, Empty, Checkbox, Divider, } from "antd"; import React, { useRef, useEffect, useState, useMemo } from "react"; import { bmNoRule } from "@/services/platform"; import { useRequest } from "umi"; import moment from "moment"; import Login from "@/pages/user/Login"; let Diyrule = (props) => { let { onChange, extraparams } = props; let other = useMemo(() => { return ( props?.value?.other || { noRuleCode: "", sort: null, formatType: 3, increaseList: [], } ); }, [props?.value?.other]), value = props?.value?.value ?? []; let { data, loading } = useRequest( () => { return bmNoRule(extraparams); }, { formatResult: (res) => res?.data?.dataList, refreshDeps: [extraparams], } ); useEffect(() => { let noRuleCode = data && data .map((it) => ({ ...it, label: it.name })) .filter((it) => it.value == "increasing_order")[0]?.value; //获取默认值 顺序递增 if (!other.noRuleCode) { onChange({ value: value, other: { ...other, noRuleCode: noRuleCode, }, }); } }, [data]); function renderDom(row, type) { if (type == "middle") { let dom = <>; switch (row.noRuleCode) { case "text_input": dom = ( <>

编号内容

{ let val = e.target.value; let newvalue = JSON.parse(JSON.stringify(value)) || []; newvalue = newvalue.map((item) => { if (item.id == row.id) { item.noContent = val; } return item; }); onChange({ value: newvalue, other: other, }); }} /> ); break; case "year_code": dom = ( <>

年份代码

{ let newvalue = JSON.parse(JSON.stringify(value)) || []; newvalue = newvalue.map((item) => { if (item.id == row.id) { item.formatType = val; if (val == 1) { item.paramList = Object.keys( Array.apply(null, { length: 12 }) ).map((it, i) => { return { key: (i + 1).toString(), value: "", }; }); } else { delete item.paramList; } } return item; }); onChange({ value: newvalue, other: other, }); }} /> ); break; case "day_code": dom = ( <>

日期类型

{ //修改list数据 let val = e.target.value; let newparamList = JSON.parse(JSON.stringify(row.paramList)) || []; newparamList = newparamList.map((item) => { if (item.key == it.key) { item.value = val; } return item; }); //修改整体数据 let newvalue = JSON.parse(JSON.stringify(value)) || []; newvalue = newvalue.map((item) => { if (item.id == row.id) { item.paramList = newparamList; } return item; }); onChange({ value: newvalue, other: other, }); }} > ); })} ); } break; case "day_code": if (row.formatType == 1) { dom = ( <> {row.paramList && row.paramList.map((it) => { return (
{it.key}号
{ //修改list数据 let val = e.target.value; let newparamList = JSON.parse(JSON.stringify(row.paramList)) || []; newparamList = newparamList.map((item) => { if (item.key == it.key) { item.value = val; } return item; }); //修改整体数据 let newvalue = JSON.parse(JSON.stringify(value)) || []; newvalue = newvalue.map((item) => { if (item.id == row.id) { item.paramList = newparamList; } return item; }); onChange({ value: newvalue, other: other, }); }} >
); })}
); } break; } return dom; } } return (
{value && value.length > 0 && value.map((it, i) => { return (

关联规则

{ let checked = e.target.checked; if (checked) { let newlist = [...other.increaseList]; newlist.push(it.id); onChange({ value: value, other: { ...other, increaseList: newlist, }, }); } else { onChange({ value: value, other: { ...other, increaseList: other.increaseList.filter((item) => { return item != it.id; }), }, }); } }} > 选择

编号规则

({ ...it, label: it.name }))} value={other.noRuleCode} disabled={true} />

递增位数 ( {other?.formatType && other?.formatType > 0 ? Object.keys( Array.apply("0", { length: other?.formatType }) ).reduce((prev, current) => { return prev + "0"; }) : "-"} )

{ onChange({ value: value, other: { ...other, formatType: val, }, }); }} >

放置在第几个之后

); }; export default Diyrule;