import { Row, Col, Input, InputNumber, Select, message, Button, Empty, Checkbox, Divider, } from 'antd'; import React, { useRef, useEffect, useState, useMemo } from 'react'; import { getFetch, formFetch, doFetch } from '@/utils/doFetch'; import { CloseCircleFilled } from '@ant-design/icons'; import { useRequest } from 'ahooks'; import moment from 'moment'; let Diyrule = (props) => { let { onChange } = props; let defval = props?.value ?? {}; console.log(defval); let value = defval?.value || [], other = useMemo(() => { return ( defval?.other || { noRuleCode: '', sort: null, formatType: null, increaseList: [], } ); }, [defval?.other]); useEffect(() => { onChange(defval); }); let { data, loading } = useRequest(() => { return doFetch({ url: '/base/bmNoRule/querySelect', params: {} }); }); useEffect(() => { let noRuleCode = data && data?.data?.dataList .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 (

关联规则

{ console.log(e, other, value); 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, }, }); }} />

放置在第几个之后