From 692ff7d810d3fbd8cf478d03e9f9038365cae1e7 Mon Sep 17 00:00:00 2001 From: luojunhui <2807466517@qq.com> Date: Mon, 7 Jul 2025 16:24:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=BE=97=E5=AE=9E=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/executor/index.tsx | 1 + .../open/form/detail/rfidprint/dasprint.tsx | 17 +++++- src/executor/open/form/index.tsx | 58 ++++++++++++++++--- 3 files changed, 65 insertions(+), 11 deletions(-) diff --git a/src/executor/index.tsx b/src/executor/index.tsx index 550e1e77f..be7aa6708 100644 --- a/src/executor/index.tsx +++ b/src/executor/index.tsx @@ -87,6 +87,7 @@ const Executor: React.FC = () => { setPreview(<>)} />, ); diff --git a/src/executor/open/form/detail/rfidprint/dasprint.tsx b/src/executor/open/form/detail/rfidprint/dasprint.tsx index f87fe16d1..2f9db9f38 100644 --- a/src/executor/open/form/detail/rfidprint/dasprint.tsx +++ b/src/executor/open/form/detail/rfidprint/dasprint.tsx @@ -1,9 +1,11 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { schema } from '@/ts/base'; import FullScreenModal from '@/components/Common/fullScreen'; import { Button, Form as FormAntd, InputNumber, Radio, message } from 'antd'; +import { IForm } from '@/ts/core'; interface Iprops { things: schema.XThing[]; + form: IForm; configData: { itemKey: string; itemName: string; @@ -28,7 +30,13 @@ let printForm = { }; let dsChoose: string = 'yes'; let port; -export const DasPrint: React.FC = ({ things, configData, finished }) => { +export const DasPrint: React.FC = ({form, things, configData, finished }) => { + // 读取配置 + useEffect(()=>{ + if(form.metadata.DSRFIDConfig){ + printForm = form.metadata.DSRFIDConfig + } + },[]) // 得实打印 // 启动打印服务 const getDSInitService = () => { @@ -204,6 +212,11 @@ export const DasPrint: React.FC = ({ things, configData, finished }) => 已安装得实打印助手并启动 未安装得实打印助手并启动 + = ({ form, finished }) => { const [service, setService] = useState(null!); const [fieldModalVisible, setFieldModalVisible] = useState(false); const [selectedFields, setSelectedFields] = useState( - // 字段选择状态 - configData.map((configData) => configData.itemKey), + form.metadata?.DSRFIDFields?.length > 0 + ? form.metadata.DSRFIDFields + : configData.map((configData) => configData.itemKey) ); async function showDocumentConfig(row: schema.XThing, config: WorkDocumentConfig) { let data = { ...row }; @@ -393,16 +394,31 @@ const FormView: React.FC = ({ form, finished }) => { case 'Das': console.log(form.fields); fieldData = []; - fieldData.push(...configData); + if(form.metadata.DSRFIDFields && form.metadata.DSRFIDFields.length > 0){ + for(const item of form.metadata.DSRFIDFields){ + let target = form.fields.find(part => part.propId == item) + if(target){ + fieldData.push({itemKey: target.propId,itemName: target.name}) + } else { + if (item == 'id') { + fieldData.push({ itemKey: item, itemName: '资产唯一标识' }); + } else if (item == 'belongId') { + fieldData.push({ itemKey: item, itemName: '归属' }); + } + } + } + } else { + fieldData.push(...configData); + } for (const item of form.fields) { - let isExists = configData.find( - (part) => part.itemKey == item.id, + let isExists = fieldData.find( + (part) => part.itemKey == item.propId, ); if (isExists) { continue; } else { fieldData.push({ - itemKey: item.id, + itemKey: item.propId, itemName: item.name, }); } @@ -575,6 +591,7 @@ const FormView: React.FC = ({ form, finished }) => { console.log(selectedFields); const formattedData = await Promise.all( editData.rows.map(async (row) => { + console.log(row); const formattedRow: FormattedRow = {}; for (const item of selectedFields) { if (item === 'belongId') { @@ -582,6 +599,8 @@ const FormView: React.FC = ({ form, finished }) => { id: row[item], }); formattedRow[item] = result.data.name; + } else if(item == 'id') { + formattedRow[item] = row[item]; } else { formattedRow[item] = row[item]; } @@ -592,9 +611,17 @@ const FormView: React.FC = ({ form, finished }) => { console.log(formattedData); let printFields = []; for (const item of selectedFields) { - let target = form.fields.find((part) => part.id == item); + let target = form.fields.find((part) => part.propId == item); if (target) { - printFields.push({ itemKey: target.id, itemName: target.name }); + printFields.push({ itemKey: target.propId, itemName: target.name }); + if(target.lookups && target.lookups.length > 0){ + for(const item of formattedData){ + let findres = target.lookups.find(part => part.value == item[target.propId]) + if(findres){ + item[target.propId] = findres.text; + } + } + } } else { if (item == 'id') { printFields.push({ itemKey: item, itemName: '资产唯一标识' }); @@ -607,6 +634,7 @@ const FormView: React.FC = ({ form, finished }) => { printData: formattedData, printField: printFields, }; + console.log(datas); command.emitter('executor', 'RFIDPrint', form, 'Das', datas); setFieldModalVisible(false); }; @@ -629,7 +657,19 @@ const FormView: React.FC = ({ form, finished }) => { cancelText="取消" onOk={handleDasPrint} onCancel={() => setFieldModalVisible(false)}> -

请勾选需要打印的字段(可拖动调整顺序):

+

请勾选需要打印的字段:

+ ({ key: config.itemKey, -- Gitee From 1c7a5e24ef5c5e9a35285b74f2a48b2b86d0bc62 Mon Sep 17 00:00:00 2001 From: luojunhui <2807466517@qq.com> Date: Tue, 8 Jul 2025 11:09:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=BE=97=E5=AE=9E=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=A8=A1=E6=9D=BF=E9=81=97=E6=BC=8F=E9=83=A8?= =?UTF-8?q?=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../open/form/detail/rfidprint/dasprint.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/executor/open/form/detail/rfidprint/dasprint.tsx b/src/executor/open/form/detail/rfidprint/dasprint.tsx index 2f9db9f38..d5160e8a4 100644 --- a/src/executor/open/form/detail/rfidprint/dasprint.tsx +++ b/src/executor/open/form/detail/rfidprint/dasprint.tsx @@ -35,6 +35,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } useEffect(()=>{ if(form.metadata.DSRFIDConfig){ printForm = form.metadata.DSRFIDConfig + console.log(printForm); } },[]) // 得实打印 @@ -220,7 +221,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -231,7 +232,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -242,7 +243,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -253,7 +254,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -264,7 +265,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -275,7 +276,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -286,7 +287,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { @@ -297,7 +298,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } { const value = e; if (value) { -- Gitee From 2dac5e8c80e5b45baefa06e1667aaa3a1edbbb32 Mon Sep 17 00:00:00 2001 From: luojunhui <2807466517@qq.com> Date: Tue, 8 Jul 2025 16:51:45 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E9=98=B2=E6=AD=A2=E8=A1=A8=E5=8D=95?= =?UTF-8?q?id=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/executor/open/form/detail/rfidprint/dasprint.tsx | 2 +- src/executor/open/form/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/executor/open/form/detail/rfidprint/dasprint.tsx b/src/executor/open/form/detail/rfidprint/dasprint.tsx index d5160e8a4..850533c0e 100644 --- a/src/executor/open/form/detail/rfidprint/dasprint.tsx +++ b/src/executor/open/form/detail/rfidprint/dasprint.tsx @@ -215,7 +215,7 @@ export const DasPrint: React.FC = ({form, things, configData, finished } diff --git a/src/executor/open/form/index.tsx b/src/executor/open/form/index.tsx index 90705d8ca..de752b34e 100644 --- a/src/executor/open/form/index.tsx +++ b/src/executor/open/form/index.tsx @@ -662,7 +662,7 @@ const FormView: React.FC = ({ form, finished }) => { onClick={async ()=>{ if(selectedFields.includes('id') && selectedFields.includes('belongId')){ form.metadata.DSRFIDFields = selectedFields; - await form.save(); + await form.update(form.metadata) message.success('保存成功'); } else { message.warning('必须包含资产唯一标识,归属这两个字段') -- Gitee