From 08a7fef6fbfc0a959ffa7e928bdae819079db2de Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 26 一月 2026 17:09:31 +0800
Subject: [PATCH] lsh#
---
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx | 6 +
rsf-admin/src/page/components/OrderCodeGetTypeField.jsx | 60 ++++++++++++++++++++
rsf-admin/src/i18n/zh.js | 2
rsf-admin/src/i18n/en.js | 2
rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx | 60 ++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java | 30 ++++++++++
6 files changed, 158 insertions(+), 2 deletions(-)
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 829f844..53cb5d2 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -972,6 +972,8 @@
},
waitPakinItem: {
pakinId: "pakinId",
+ type: "type",
+ wkType: "wkType",
maktx: "maktx",
matnrId: "matnrId",
matnrCode: "matnrCode",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 930e634..1fff9bb 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1020,6 +1020,8 @@
},
waitPakinItem: {
pakinId: "缁勬墭Id",
+ type: "鍗曟嵁绫诲瀷",
+ wkType: "涓氬姟绫诲瀷",
maktx: "鐗╂枡鍚嶇О",
matnrId: "鐗╂枡id",
matnrCode: "鐗╂枡缂栫爜",
diff --git a/rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx b/rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx
new file mode 100644
index 0000000..800f339
--- /dev/null
+++ b/rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx
@@ -0,0 +1,60 @@
+// 鍒涘缓 OrderCodeGetTypeField.jsx
+import React, { useState, useEffect } from 'react';
+import { TextField, useRecordContext, useNotify } from 'react-admin';
+import request from '@/utils/request';
+
+const OrderCodeGetTypeField = (props) => {
+ const { source, label, ...rest } = props;
+ const record = useRecordContext();
+ const [orderCode, setOrderCode] = useState('');
+ const [loading, setLoading] = useState(false);
+ const notify = useNotify();
+
+ const orderId = record?.[source];
+
+ useEffect(() => {
+ if (orderId) {
+ fetchOrderCode(orderId);
+ }
+ }, [orderId]);
+
+ const fetchOrderCode = async (id) => {
+ if (!id) return;
+
+ setLoading(true);
+ try {
+ const { data: { code, data, msg } } = await request.get(`/asnOrder/orderType/${id}`);
+ if (code === 200 && data) {
+ setOrderCode(data.label || `璁㈠崟 ${id}`);
+ } else {
+ setOrderCode(`璁㈠崟 ${id}`);
+ if (code !== 200) {
+ notify(msg || '鑾峰彇璁㈠崟淇℃伅澶辫触', { type: 'warning' });
+ }
+ }
+ } catch (error) {
+ console.error('鑾峰彇璁㈠崟淇℃伅澶辫触:', error);
+ setOrderCode(`璁㈠崟 ${id}`);
+ notify('缃戠粶閿欒锛岃幏鍙栬鍗曚俊鎭け璐�', { type: 'error' });
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ if (!orderId) return null;
+
+ return (
+ <TextField
+ {...rest}
+ record={{ ...record, [source]: loading ? '鍔犺浇涓�...' : orderCode }}
+ source={source}
+ label={label}
+ />
+ );
+};
+
+OrderCodeGetTypeField.defaultProps = {
+ addLabel: true,
+};
+
+export default OrderCodeGetTypeField;
\ No newline at end of file
diff --git a/rsf-admin/src/page/components/OrderCodeGetTypeField.jsx b/rsf-admin/src/page/components/OrderCodeGetTypeField.jsx
new file mode 100644
index 0000000..884d0b0
--- /dev/null
+++ b/rsf-admin/src/page/components/OrderCodeGetTypeField.jsx
@@ -0,0 +1,60 @@
+// 鍒涘缓 OrderCodeGetTypeField.jsx
+import React, { useState, useEffect } from 'react';
+import { TextField, useRecordContext, useNotify } from 'react-admin';
+import request from '@/utils/request';
+
+const OrderCodeGetTypeField = (props) => {
+ const { source, label, ...rest } = props;
+ const record = useRecordContext();
+ const [orderCode, setOrderCode] = useState('');
+ const [loading, setLoading] = useState(false);
+ const notify = useNotify();
+
+ const orderId = record?.[source];
+
+ useEffect(() => {
+ if (orderId) {
+ fetchOrderCode(orderId);
+ }
+ }, [orderId]);
+
+ const fetchOrderCode = async (id) => {
+ if (!id) return;
+
+ setLoading(true);
+ try {
+ const { data: { code, data, msg } } = await request.get(`/asnOrder/wrkType/${id}`);
+ if (code === 200 && data) {
+ setOrderCode(data.label || `璁㈠崟 ${id}`);
+ } else {
+ setOrderCode(`璁㈠崟 ${id}`);
+ if (code !== 200) {
+ notify(msg || '鑾峰彇璁㈠崟淇℃伅澶辫触', { type: 'warning' });
+ }
+ }
+ } catch (error) {
+ console.error('鑾峰彇璁㈠崟淇℃伅澶辫触:', error);
+ setOrderCode(`璁㈠崟 ${id}`);
+ notify('缃戠粶閿欒锛岃幏鍙栬鍗曚俊鎭け璐�', { type: 'error' });
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ if (!orderId) return null;
+
+ return (
+ <TextField
+ {...rest}
+ record={{ ...record, [source]: loading ? '鍔犺浇涓�...' : orderCode }}
+ source={source}
+ label={label}
+ />
+ );
+};
+
+OrderCodeGetTypeField.defaultProps = {
+ addLabel: true,
+};
+
+export default OrderCodeGetTypeField;
\ No newline at end of file
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
index fafe8ff..5785689 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -45,6 +45,8 @@
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
import request from '@/utils/request';
+import OrderCodeGetTypeField from "@/page/components/OrderCodeGetTypeField";
+import OrderCodeGetOrderTypeField from "@/page/components/OrderCodeGetOrderTypeField";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -157,8 +159,8 @@
const arr = [
<NumberField source="id" />,
<NumberField source="pakinId" label="table.field.waitPakinItem.pakinId" />,
- <TextField source="type$" label="table.field.locItem.type" />,
- <NumberField source="wkType$" label="table.field.locItem.wkType" />,
+ <OrderCodeGetOrderTypeField source="type" label="table.field.waitPakinItem.type" />,
+ <OrderCodeGetTypeField source="wkType" label="table.field.waitPakinItem.wkType" />,
<TextField source="asnCode" label="table.field.waitPakinItem.asnCode" />,
// <OrderCodeField source="orderId" label="table.field.locItem.orderId" />,
<TextField source="platWorkCode" label="table.field.asnOrderItem.platWorkCode" />,
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
index 70e7a28..a10147c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
@@ -23,8 +23,11 @@
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.vincent.rsf.server.manager.service.impl.PurchaseItemServiceImpl;
import com.vincent.rsf.server.manager.service.impl.PurchaseServiceImpl;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.controller.BaseController;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.impl.DictDataServiceImpl;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -48,6 +51,8 @@
private PurchaseServiceImpl purchaseService;
@Autowired
private PurchaseItemServiceImpl purchaseItemService;
+ @Autowired
+ private DictDataServiceImpl dictDataService;
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
@PostMapping("/asnOrder/page")
@@ -94,6 +99,31 @@
return R.ok().add(asnOrderService.getById(id));
}
+ @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+ @OperationLog("琛ㄥ崟鏌ヨ")
+ @GetMapping("/asnOrder/wrkType/{id}")
+ public R getWrkType(@PathVariable("id") String value) {
+// WkOrder byId = asnOrderService.getById(id);
+// if (Cools.isEmpty(byId)) {
+// return R.ok().add(new DictData());
+// }
+ DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE).eq(DictData::getValue, value));
+ return R.ok().add(dictData);
+ }
+
+ @PreAuthorize("hasAuthority('manager:asnOrder:list')")
+ @OperationLog("琛ㄥ崟鏌ヨ")
+ @GetMapping("/asnOrder/orderType/{id}")
+ public R getOrderType(@PathVariable("id") String value) {
+// WkOrder byId = asnOrderService.getById(id);
+// if (Cools.isEmpty(byId)) {
+// return R.ok().add(new DictData());
+// }
+ DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_ORDER_TYPE).eq(DictData::getValue, value));
+ return R.ok().add(dictData);
+ }
+
+
@PreAuthorize("hasAuthority('manager:asnOrder:save')")
@OperationLog("Create ASN鍗曟嵁")
@PostMapping("/asnOrder/save")
--
Gitblit v1.9.1