fix: 조사매물 조회/제출/저장/삭제 조건 강화
- AdminSub(2차 판매점 super 유저) 조회 조건 강화 - 임시저장 매물 제출 조건 강화 - 미제출 매물 pdf 다운로드 버튼 비활성화
This commit is contained in:
parent
ed36d288c5
commit
f64cc4ea41
@ -124,7 +124,7 @@ export class SurveySalesService {
|
||||
case 'Admin_Sub':
|
||||
where.OR = [
|
||||
{
|
||||
AND: [{ STORE_ID: { equals: this.session?.storeId } }, { CONSTRUCTION_POINT_ID: { equals: this.session?.builderId } }],
|
||||
AND: [{ STORE_ID: { equals: this.session?.storeId } }],
|
||||
},
|
||||
{
|
||||
AND: [
|
||||
@ -440,8 +440,8 @@ export class SurveySalesService {
|
||||
return survey.SUBMISSION_STATUS
|
||||
? survey.SUBMISSION_TARGET_ID === storeId ||
|
||||
survey.SUBMISSION_TARGET_NM === storeNm ||
|
||||
(survey.STORE_ID === storeId && !survey.CONSTRUCTION_POINT_ID)
|
||||
: survey.STORE_ID === storeId && !survey.CONSTRUCTION_POINT_ID
|
||||
survey.STORE_ID === storeId
|
||||
: survey.STORE_ID === storeId
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
|
||||
import type { Mode, SurveyBasicRequest, SurveyDetailInfo, SurveyDetailRequest } from '@/types/Survey'
|
||||
import { CONFIRM_MESSAGE, SUCCESS_MESSAGE, useAlertMsg, WARNING_MESSAGE } from '@/hooks/useAlertMsg'
|
||||
import { ADMIN_SUBMIT_TARGET_NM } from '@/types/Survey'
|
||||
import { useSessionStore } from '@/store/session'
|
||||
import { useParams, useRouter } from 'next/navigation'
|
||||
import { useEffect, useState } from 'react'
|
||||
@ -81,10 +80,10 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) {
|
||||
const calculateSubmitPermission = (session: any, basicData: SurveyBasicRequest): boolean => {
|
||||
switch (session?.role) {
|
||||
case 'T01':
|
||||
return false
|
||||
case 'Admin':
|
||||
return session.storeId === basicData.storeId
|
||||
case 'Admin_Sub':
|
||||
return session.storeNm === basicData.store && session.builderId === basicData.constructionPointId
|
||||
return session.storeId === basicData.storeId && session.builderId === basicData.constructionPointId
|
||||
case 'Builder':
|
||||
case 'Partner':
|
||||
return session.builderId === basicData.constructionPointId
|
||||
@ -201,15 +200,12 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) {
|
||||
|
||||
/** 제출 로직 */
|
||||
const handleSubmit = async () => {
|
||||
if (data.basic.srlNo?.startsWith('一時保存') && Number.isNaN(id)) {
|
||||
showErrorAlert(WARNING_MESSAGE.TEMP_CANNOT_SUBMIT)
|
||||
return
|
||||
}
|
||||
|
||||
if (mode === 'READ') {
|
||||
showConfirm(CONFIRM_MESSAGE.SUBMIT_CONFIRM, async () => {
|
||||
popupController.setSurveySaleSubmitPopup(true)
|
||||
})
|
||||
if (data.basic.srlNo?.includes('一時保存')) {
|
||||
showErrorAlert(WARNING_MESSAGE.TEMP_CANNOT_SUBMIT)
|
||||
return
|
||||
}
|
||||
popupController.setSurveySaleSubmitPopup(true)
|
||||
} else {
|
||||
showConfirm(CONFIRM_MESSAGE.SAVE_AND_SUBMIT_CONFIRM, async () => {
|
||||
handleSave(false, true)
|
||||
@ -220,7 +216,7 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) {
|
||||
/** 로그인 여부 체크 */
|
||||
if (!session?.isLoggedIn) return null
|
||||
|
||||
/** 읽기 모드, 제출 된 데이터, 제출 권한자는 리스트 버튼만 표시 */
|
||||
/** 읽기 모드, 제출 된 데이터, 제출 권한자는 리스트 버튼만 표시, 작성자만 삭제 가능*/
|
||||
if (mode === 'READ' && isSubmit && permissions.isSubmiter) {
|
||||
return (
|
||||
<div className="sale-form-btn-wrap">
|
||||
|
||||
@ -4,7 +4,6 @@ import { SurveyBasicInfo } from '@/types/Survey'
|
||||
import { useSurvey } from '@/hooks/useSurvey'
|
||||
|
||||
export default function DataTable({ surveyDetail }: { surveyDetail: SurveyBasicInfo }) {
|
||||
|
||||
/** 제출 상태 처리 */
|
||||
const submitStatus = () => {
|
||||
const { submissionTargetNm, submissionTargetId } = surveyDetail ?? {}
|
||||
@ -65,9 +64,13 @@ export default function DataTable({ surveyDetail }: { surveyDetail: SurveyBasicI
|
||||
<tr>
|
||||
<th>ダウンロード</th>
|
||||
<td>
|
||||
<button className="data-down" onClick={() => downloadSurveyPdf(surveyDetail.id, `${surveyDetail.srlNo}.pdf`)}>
|
||||
HWJ現地調査票確認<i className="down-icon"></i>
|
||||
</button>
|
||||
{surveyDetail.submissionStatus ? (
|
||||
<button className="data-down" onClick={() => downloadSurveyPdf(surveyDetail.id, `${surveyDetail.srlNo}.pdf`)}>
|
||||
HWJ現地調査票確認<i className="down-icon"></i>
|
||||
</button>
|
||||
) : (
|
||||
'-'
|
||||
)}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user