diff --git a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js index 7061c18..aa555cc 100644 --- a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js +++ b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js @@ -76,7 +76,6 @@ const PublicNoticeApplyForm = ({loadedData}) => { var selection = []; for (var i = 0; i < formData?.gazetteIssueList?.length; i++) { let data = formData.gazetteIssueList[i]; - "2023 Vol 027, No. 36, 8 Sep 2023 (Fri)" let label = data.year +" Vol. "+zeroPad(data.volume,3) +", No. "+zeroPad(data.issueNo,2) @@ -92,7 +91,7 @@ const PublicNoticeApplyForm = ({loadedData}) => { } return ( - + 申請公共啟事 @@ -129,11 +128,11 @@ const PublicNoticeApplyForm = ({loadedData}) => { - 目標期數: - + { })} - +
; + return ; }, } ]; return ( -
+
); diff --git a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js index 02ac6aa..07909d8 100644 --- a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js +++ b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js @@ -3,14 +3,20 @@ import * as React from 'react'; import { DataGrid, } from "@mui/x-data-grid"; -import { - Button +import { + Stack, + Typography, + Button, + Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material'; import * as DateUtils from "utils/DateUtils" + // ==============================|| EVENT TABLE ||============================== // -export default function SubmittedTab({rows}) { - const [rowModesModel] = React.useState({}); +export default function SubmittedTab({ rows }) { + const [selectedRowItems, setSelectedRowItems] = React.useState([]); + const [isPopUp, setIsPopUp] = React.useState(false); + const columns = [ { @@ -24,7 +30,7 @@ export default function SubmittedTab({rows}) { field: 'created', headerName: '提交日期', flex: 1, - valueGetter:(params)=>{ + valueGetter: (params) => { return DateUtils.datetimeStr(params.value); } }, @@ -33,18 +39,13 @@ export default function SubmittedTab({rows}) { field: 'remarks', headerName: '我的備註', flex: 1, - valueGetter:(params)=>{ - return DateUtils.datetimeStr(params.value); - } + }, { id: 'status', field: 'status', headerName: '狀態', flex: 1, - valueGetter:(params)=>{ - return DateUtils.datetimeStr(params.value); - } }, { field: 'actions', @@ -53,31 +54,68 @@ export default function SubmittedTab({rows}) { width: 50, cellClassName: 'actions', renderCell: () => { - return ; + return ; }, } ]; - const onPaymentClick=()=>{ - + const getWindowContent = () => { + var content = []; + const datas = rows?.filter((row) => + selectedRowItems.includes(row.id) + ); + for (var i = 0; i < datas?.length; i++) { + content.push(<> + 申請編號: {datas[i].appNo}({DateUtils.datetimeStr(datas[i].created)}) + 備註: {datas[i].remarks} +

+ ); + } + return content; } return ( -
- - -
+ <> +
+ { + setSelectedRowItems(newSelection); + }} + /> + +
+ +
+ setIsPopUp(false)} > + + 確認付款 + + + {getWindowContent()} + + + + + + + +
+ ); + + + } diff --git a/src/utils/FieldUtils.js b/src/utils/FieldUtils.js index a57f9a8..be060fc 100644 --- a/src/utils/FieldUtils.js +++ b/src/utils/FieldUtils.js @@ -5,152 +5,152 @@ import { import Combo from "./Combo"; -export const getDateField=({label, valueName, form, disabled})=>{ +export const getDateField = ({ label, valueName, form, disabled }) => { return - + {label} - - {initField({ - type:"date", - valueName:valueName, - form:form, - disabled:disabled - })} + + {initField({ + type: "date", + valueName: valueName, + form: form, + disabled: disabled + })} ; } -export const getTextField=({label, valueName, form, disabled})=>{ - return +export const getTextField = ({ label, valueName, form, disabled }) => { + return - + {label} - - {initField({ - type:"text", - valueName:valueName, - form:form, - disabled:disabled - })} + + {initField({ + type: "text", + valueName: valueName, + form: form, + disabled: disabled + })} ; } -export const getTextArea=({label, valueName, form, disabled, ...props})=>{ - return +export const getTextArea = ({ label, valueName, form, disabled, ...props }) => { + return - + {label} - - {initField({ - type:"text", - valueName:valueName, - form:form, - disabled:disabled, + + {initField({ + type: "text", + valueName: valueName, + form: form, + disabled: disabled, multiline: true, - row:10, + row: 10, minRows: 4, maxRows: 4, props - })} + })} ; } -export const getPhoneField=({label, valueName, form, disabled})=>{ +export const getPhoneField = ({ label, valueName, form, disabled }) => { return - - - {label} - - - {initField({ - type:"tel", - valueName:valueName.code, - form:form, - disabled:disabled - })} - - - {initField({ - type:"tel", - valueName:valueName.num, - form:form, - disabled:disabled - })} + + + {label} + + + {initField({ + type: "tel", + valueName: valueName.code, + form: form, + disabled: disabled + })} + + + {initField({ + type: "tel", + valueName: valueName.num, + form: form, + disabled: disabled + })} + - -; + ; } -export const getAddressField=({label, valueName, form, disabled})=>{ +export const getAddressField = ({ label, valueName, form, disabled }) => { return - - - {label} - - - - {initField({ - type:"text", - valueName:valueName[0], - form:form, - disabled:disabled - })} + + + {label} - - {initField({ - type:"text", - valueName:valueName[1], - form:form, - disabled:disabled + + + {initField({ + type: "text", + valueName: valueName[0], + form: form, + disabled: disabled })} - - - {initField({ - type:"text", - valueName:valueName[2], - form:form, - disabled:disabled + + + {initField({ + type: "text", + valueName: valueName[1], + form: form, + disabled: disabled + })} + + + {initField({ + type: "text", + valueName: valueName[2], + form: form, + disabled: disabled })} + - -; + ; } -export const getComboField=({label,dataList, valueName, form, disabled, getOptionLabel, onInputChange, onChange, filterOptions, ...props})=>{ +export const getComboField = ({ label, dataList, valueName, form, disabled, getOptionLabel, onInputChange, onChange, filterOptions, ...props }) => { return - - - {label} - - - + + + {label} + + + {/* )} /> */} - - ; + + ; } -export const initField=({type, valueName, form, disabled, multiline, placeholder, inputProps, ...props})=>{ +export const initField = ({ type, valueName, form, disabled, multiline, placeholder, inputProps, ...props }) => { let err = Boolean(form.errors[valueName]); return }