Compare commits

...

2 Commits

Author SHA1 Message Date
03a629b9c8 오브젝트 저장: 계산기 추가 2025-12-18 13:40:08 +09:00
5e93c4d0e8 qna_고객명노출 2025-12-17 16:07:51 +09:00
2 changed files with 84 additions and 30 deletions

View File

@ -349,7 +349,7 @@ let fileCheck = false;
<tbody>
<tr>
<th>{getMessage('qna.list.header.regNm')}</th>
<td><input type="text" className="input-light" value={sessionState?.custNm || ''} readOnly /></td>
<td><input type="text" className="input-light" value={sessionState?.userNm || ''} readOnly /></td>
<th>E-Mail<span className="red">*</span></th>
<td ><input type="text" className="input-light" required
ref={qstMail}
@ -362,6 +362,8 @@ let fileCheck = false;
<td>{dayjs(new Date()).format('YYYY-MM-DD')}</td>
</tr>
<tr>
<th>Customer</th>
<td><input type="text" className="input-light" value={sessionState?.custNm || ''} readOnly /></td>
<th>{getMessage('qna.reg.header.regUserNm')}<span className="red">*</span></th>
<td ><input type="text" className="input-light" required
ref={regUserNmRef}
@ -369,7 +371,7 @@ let fileCheck = false;
onChange={(e) => setQnaData({...qnaData, regUserNm: e.target.value })}
onBlur={(e) => setQnaData({ ...qnaData, regUserNm: e.target.value })} /> </td>
<th>{getMessage('qna.reg.header.regUserTelNo')}</th>
<td colSpan={3}><input type="text" className="input-light"
<td ><input type="text" className="input-light"
ref={regUserTelNoRef}
maxLength={13}
value={qnaData?.regUserTelNo || '' }

View File

@ -23,6 +23,7 @@ import { QcastContext } from '@/app/QcastProvider'
import { useCanvasMenu } from '@/hooks/common/useCanvasMenu'
import { useSwal } from '@/hooks/useSwal'
import { sanitizeIntegerInputEvent } from '@/util/input-utils'
import { CalculatorInput } from '@/components/common/input/CalcInput'
export default function StuffDetail() {
const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState)
@ -1204,8 +1205,10 @@ export default function StuffDetail() {
}
//
const onValid = async () => {
const formData = form.getValues()
const onValid = async (actionType) => {
const formData = form.getValues();
if(actionType !== 'save') return false
console.log('Action type:', actionType); // 'save' 'tempSave'
let errors = {}
let fieldNm
@ -1715,7 +1718,7 @@ export default function StuffDetail() {
<button type="button" className="btn-origin grey mr5" onClick={onTempSave} style={{ display: showButton }}>
{getMessage('stuff.detail.btn.tempSave')}
</button>
<button type="submit" className="btn-origin navy mr5" style={{ display: showButton }}>
<button type="button" onClick={() => onValid('save')} className="btn-origin navy mr5" style={{ display: showButton }}>
{getMessage('stuff.detail.btn.save')}
</button>
<button
@ -2113,13 +2116,25 @@ export default function StuffDetail() {
<td>
<div className="flx-box">
<div className="input-wrap mr10" style={{ width: '200px' }}>
<input
type="text"
{/*<input*/}
{/* type="text"*/}
{/* className="input-light"*/}
{/* onInput={handleKeyUp}*/}
{/* onBlur={handleBlur}*/}
{/* value={form.watch('verticalSnowCover') || ''}*/}
{/* {...register('verticalSnowCover')}*/}
{/*/>*/}
<CalculatorInput
id=""
name=""
label=""
className="input-light"
onInput={handleKeyUp}
onBlur={handleBlur}
value={form.watch('verticalSnowCover') || ''}
{...register('verticalSnowCover')}
onChange={()=>{}}
options={{
allowNegative: false,
allowDecimal: false
}}
/>
</div>
<span className="mr10">cm</span>
@ -2173,13 +2188,25 @@ export default function StuffDetail() {
<td>
<div className="flx-box">
<div className="input-wrap mr10" style={{ width: '200px' }}>
<input
type="text"
{/*<input*/}
{/* type="text"*/}
{/* className="input-light"*/}
{/* onInput={handleKeyUp}*/}
{/* onBlur={handleBlur}*/}
{/* value={form.watch('installHeight') || ''}*/}
{/* {...register('installHeight')}*/}
{/*/>*/}
<CalculatorInput
id=""
name=""
label=""
className="input-light"
onInput={handleKeyUp}
onBlur={handleBlur}
value={form.watch('installHeight') || ''}
{...register('installHeight')}
onChange={()=>{}}
options={{
allowNegative: false,
allowDecimal: false
}}
/>
</div>
<span>m</span>
@ -2216,7 +2243,7 @@ export default function StuffDetail() {
<button type="button" className="btn-origin grey mr5" onClick={onTempSave} style={{ display: showButton }}>
{getMessage('stuff.detail.btn.tempSave')}
</button>
<button type="submit" className="btn-origin navy mr5" style={{ display: showButton }}>
<button type="button" onClick={() => onValid('save')} className="btn-origin navy mr5" style={{ display: showButton }}>
{getMessage('stuff.detail.btn.save')}
</button>
<button
@ -2253,7 +2280,7 @@ export default function StuffDetail() {
>
{getMessage('stuff.detail.btn.moveList')}
</button>
<button type="submit" className="btn-origin navy mr5" style={{ display: showButton }}>
<button type="button" onClick={() => onValid('save')} className="btn-origin navy mr5" style={{ display: showButton }}>
{getMessage('stuff.detail.btn.save')}
</button>
<button type="button" className="btn-origin grey" onClick={onDelete} style={{ display: showButton }}>
@ -2267,7 +2294,7 @@ export default function StuffDetail() {
<button type="button" className="btn-origin grey mr5" onClick={onTempSave} style={{ display: showButton }}>
{getMessage('stuff.detail.btn.tempSave')}
</button>
<button type="submit" className="btn-origin navy mr5" style={{ display: showButton }}>
<button type="button" onClick={() => onValid('save')} className="btn-origin navy mr5" style={{ display: showButton }}>
{getMessage('stuff.detail.btn.save')}
</button>
<button
@ -2685,13 +2712,25 @@ export default function StuffDetail() {
<td>
<div className="flx-box">
<div className="input-wrap mr10" style={{ width: '200px' }}>
<input
type="text"
{/*<input*/}
{/* type="text"*/}
{/* className="input-light"*/}
{/* onInput={handleKeyUp}*/}
{/* onBlur={handleBlur}*/}
{/* value={form.watch('verticalSnowCover') || ''}*/}
{/* {...register('verticalSnowCover')}*/}
{/*/>*/}
<CalculatorInput
id=""
name=""
label=""
className="input-light"
onInput={handleKeyUp}
onBlur={handleBlur}
value={form.watch('verticalSnowCover') || ''}
{...register('verticalSnowCover')}
onChange={()=>{}}
options={{
allowNegative: false,
allowDecimal: false
}}
/>
</div>
<span className="mr10">cm</span>
@ -2748,13 +2787,26 @@ export default function StuffDetail() {
<td>
<div className="flx-box">
<div className="input-wrap mr10" style={{ width: '200px' }}>
<input
type="text"
{/*<input*/}
{/* type="text"*/}
{/* className="input-light"*/}
{/* onInput={handleKeyUp}*/}
{/* onBlur={handleBlur}*/}
{/* value={form.watch('installHeight') || ''}*/}
{/* {...register('installHeight')}*/}
{/*/>*/}
<CalculatorInput
id=""
name=""
label=""
className="input-light"
onInput={handleKeyUp}
onBlur={handleBlur}
value={form.watch('installHeight') || ''}
{...register('installHeight')}
onChange={()=>{}}
options={{
allowNegative: false,
allowDecimal: false
}}
/>
</div>
<span>m</span>
@ -2835,7 +2887,7 @@ export default function StuffDetail() {
>
{getMessage('stuff.detail.btn.moveList')}
</button>
<button type="submit" className="btn-origin navy mr5" style={{ display: showButton }}>
<button type="button" onClick={() => onValid('save')} className="btn-origin navy mr5" style={{ display: showButton }}>
{getMessage('stuff.detail.btn.save')}
</button>
<button type="button" className="btn-origin grey" onClick={onDelete} style={{ display: showButton }}>
@ -2849,7 +2901,7 @@ export default function StuffDetail() {
<button type="button" className="btn-origin grey mr5" onClick={onTempSave} style={{ display: showButton }}>
{getMessage('stuff.detail.btn.tempSave')}
</button>
<button type="submit" className="btn-origin navy mr5" style={{ display: showButton }}>
<button type="button" onClick={() => onValid('save')} className="btn-origin navy mr5" style={{ display: showButton }}>
{getMessage('stuff.detail.btn.save')}
</button>
<button