| | |
| | | }, |
| | | waitPakinItem: { |
| | | pakinId: "pakinId", |
| | | type: "type", |
| | | wkType: "wkType", |
| | | maktx: "maktx", |
| | | matnrId: "matnrId", |
| | | matnrCode: "matnrCode", |
| | |
| | | }, |
| | | waitPakinItem: { |
| | | pakinId: "组托Id", |
| | | type: "单据类型", |
| | | wkType: "业务类型", |
| | | maktx: "物料名称", |
| | | matnrId: "物料id", |
| | | matnrCode: "物料编码", |
| New file |
| | |
| | | // 创建 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; |
| New file |
| | |
| | | // 创建 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; |
| | |
| | | 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 }) => ({ |
| | |
| | | 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" />, |
| | |
| | | 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; |
| | |
| | | private PurchaseServiceImpl purchaseService; |
| | | @Autowired |
| | | private PurchaseItemServiceImpl purchaseItemService; |
| | | @Autowired |
| | | private DictDataServiceImpl dictDataService; |
| | | |
| | | @PreAuthorize("hasAuthority('manager:asnOrder:list')") |
| | | @PostMapping("/asnOrder/page") |
| | |
| | | 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") |