diff --git a/src/components/Common/FlowDesign/Config/Components/PrintNode/Template/Template1.tsx b/src/components/Common/FlowDesign/Config/Components/PrintNode/Template/Template1.tsx index 8fcab666de919994a87db838aa08877cd239aec1..745a718a08d7c6157c62a97fa4459e169e578f05 100644 --- a/src/components/Common/FlowDesign/Config/Components/PrintNode/Template/Template1.tsx +++ b/src/components/Common/FlowDesign/Config/Components/PrintNode/Template/Template1.tsx @@ -1,7 +1,7 @@ import React, { FC, useEffect, useState } from 'react'; import './index.less'; import css from './designer.module.less'; -import { IPrint } from '@/ts/core'; +import { IPrint, IWork, IWorkTask } from '@/ts/core'; import { Input, Button, @@ -14,13 +14,15 @@ import { Tree, message, Checkbox, + Select } from 'antd'; import type { RadioChangeEvent } from 'antd'; import type { CheckboxValueType } from 'antd/es/checkbox/Group'; import { SelectBox } from 'devextreme-react'; import { schema } from '@/ts/base'; -import { itemsTable } from '@/ts/base/model'; +import { itemsTable, qrcodeType } from '@/ts/base/model'; import QrCode from 'qrcode.react'; +const { TextArea } = Input; const CheckboxGroup = Checkbox.Group; interface IProps { printType: string; @@ -29,7 +31,12 @@ interface IProps { print: IPrint; resource: any; } -const Template1: FC = ({ fields, forms, printType, print, resource }) => { + +const Template1: FC = ({fields, forms, printType, print, resource }) => { + const [qrCodeConfigShow, setQrCodeConfigShow] = useState(false); + const [currentQrCode, setCurrentQrCode] = useState(); + const [qrContentType, setQrContentType] = useState('default'); + const [qrContent, setQrContent] = useState(''); const [attrShow, setAttrShow] = useState(false); const [sumShow, setSumShow] = useState(false); const [sumShowKey, setSumShowKey] = useState(false); @@ -308,14 +315,33 @@ const Template1: FC = ({ fields, forms, printType, print, resource }) => {item.qrcode && item.qrcode!.map((qcitem, qcindex) => { return ( -
+ }} + onClick={() => { + const newItem = {...item, tableInx: index, qcInx: qcindex } + setCurrentQrCode(newItem); + if(resource.printData.qrcodeData && Object.keys(resource.printData.qrcodeData).length > 0){ + const targetItem = resource.printData.qrcodeData[String(index)]; + if(targetItem){ + const targetQrcodeInfo = targetItem[String(qcindex)]; + if(targetQrcodeInfo){ + setQrContentType(targetQrcodeInfo.qrContentType); + setQrContent(targetQrcodeInfo.qrContent); + } else { + setQrContentType('default'); + setQrContent(''); + } + } + } + setQrCodeConfigShow(true); + }} + > = ({ fields, forms, printType, print, resource }) => value={''} data-index={-888} /> -
+ ); })} {item.title.flag && ( @@ -1465,6 +1491,49 @@ const Template1: FC = ({ fields, forms, printType, print, resource }) => )} + { + const qrcodeInfo = { qrContentType: qrContentType, qrContent: qrContent, qcInx: currentQrCode?.qcInx }; + let qccodeData = resource.printData.qrcodeData ?? {}; + qccodeData[String(currentQrCode.tableInx)] = { [String(currentQrCode.qcInx)]: qrcodeInfo}; + resource.printData.qrcodeData = qccodeData; + setQrCodeConfigShow(false); + }} + onCancel={() => { + setCurrentQrCode(undefined); + setQrCodeConfigShow(false) + }}> +
+
+
+ 内容生成方式 +
+