mirror of
https://git.hmsn.ink/kospo/svcm/oa.git
synced 2026-03-20 15:53:44 +09:00
error : 수정화면 데이터 불러오는 부분 없어서 오류 , 계약체결일 매핑, 전자 결재 api 수정 및 적용
This commit is contained in:
@@ -47,6 +47,7 @@ const completedPriceDataParams = reactive({
|
|||||||
content:'',
|
content:'',
|
||||||
contSdat:'',
|
contSdat:'',
|
||||||
contEdat:'',
|
contEdat:'',
|
||||||
|
signDt: '',
|
||||||
regSabun:'',
|
regSabun:'',
|
||||||
regNm:'',
|
regNm:'',
|
||||||
regDt:'',
|
regDt:'',
|
||||||
@@ -149,6 +150,7 @@ function handlePriceRowClick(row) {
|
|||||||
completedPriceDataParams.content = row.content || ''
|
completedPriceDataParams.content = row.content || ''
|
||||||
completedPriceDataParams.contSdat = row.regSdat || ''
|
completedPriceDataParams.contSdat = row.regSdat || ''
|
||||||
completedPriceDataParams.contEdat = row.regEdat || ''
|
completedPriceDataParams.contEdat = row.regEdat || ''
|
||||||
|
completedPriceDataParams.signDt = row.signDt || ''
|
||||||
completedPriceDataParams.regSabun = row.regSabun || ''
|
completedPriceDataParams.regSabun = row.regSabun || ''
|
||||||
completedPriceDataParams.regNm = row.regNm || ''
|
completedPriceDataParams.regNm = row.regNm || ''
|
||||||
completedPriceDataParams.regDt = row.regDt || ''
|
completedPriceDataParams.regDt = row.regDt || ''
|
||||||
@@ -219,7 +221,7 @@ console.log(selectedContractCompCode)
|
|||||||
contSdat: formatMonthDate(completedPriceDataParams.contSdat),
|
contSdat: formatMonthDate(completedPriceDataParams.contSdat),
|
||||||
contEdat: formatMonthDate(completedPriceDataParams.contEdat),
|
contEdat: formatMonthDate(completedPriceDataParams.contEdat),
|
||||||
contAmt: completedPriceDataParams.contAmt,
|
contAmt: completedPriceDataParams.contAmt,
|
||||||
signDt: formatMonthDate(completedPriceDataParams.contSdat),
|
signDt: formatMonthDate(completedPriceDataParams.signDt),
|
||||||
reason: completedPriceDataParams.reason,
|
reason: completedPriceDataParams.reason,
|
||||||
excYn: priceSearchCheckBoxStatus.value, // 가격조사 예외여부 확인필요
|
excYn: priceSearchCheckBoxStatus.value, // 가격조사 예외여부 확인필요
|
||||||
contAtts: params.contAtts,
|
contAtts: params.contAtts,
|
||||||
@@ -245,6 +247,7 @@ function resetForm() {
|
|||||||
completedPriceDataParams.title = ''
|
completedPriceDataParams.title = ''
|
||||||
completedPriceDataParams.contSdat = ''
|
completedPriceDataParams.contSdat = ''
|
||||||
completedPriceDataParams.contEdat = ''
|
completedPriceDataParams.contEdat = ''
|
||||||
|
completedPriceDataParams.signDt = ''
|
||||||
completedPriceDataParams.contAmt = ''
|
completedPriceDataParams.contAmt = ''
|
||||||
completedPriceDataParams.reason = ''
|
completedPriceDataParams.reason = ''
|
||||||
selectedCode.value = ''
|
selectedCode.value = ''
|
||||||
@@ -264,6 +267,7 @@ const onFileChange = (e, idx) => {
|
|||||||
logiFnm: file.name,
|
logiFnm: file.name,
|
||||||
size: file.size,
|
size: file.size,
|
||||||
data: result.split(',')[1],
|
data: result.split(',')[1],
|
||||||
|
fileOrd: idx + 1,
|
||||||
}
|
}
|
||||||
// 인덱스별로 파일 저장
|
// 인덱스별로 파일 저장
|
||||||
pbAtts.value[idx] = pbAtt
|
pbAtts.value[idx] = pbAtt
|
||||||
@@ -476,7 +480,7 @@ function onBizNoChange() {
|
|||||||
<VField>
|
<VField>
|
||||||
<VControl>
|
<VControl>
|
||||||
<input
|
<input
|
||||||
:value="formatMonthDate(completedPriceDataParams.contSdat)"
|
:value="formatMonthDate(completedPriceDataParams.signDt)"
|
||||||
class="input custom-text-filter"
|
class="input custom-text-filter"
|
||||||
placeholder="계약체결일"
|
placeholder="계약체결일"
|
||||||
:disabled="!priceSearchCheckBoxStatus"
|
:disabled="!priceSearchCheckBoxStatus"
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import axios from 'axios'
|
|||||||
import {getContractDetail, saveContract} from "/src/service/contractApi.ts";
|
import {getContractDetail, saveContract} from "/src/service/contractApi.ts";
|
||||||
import type {iPbAtt} from "/@src/utils/types.ts";
|
import type {iPbAtt} from "/@src/utils/types.ts";
|
||||||
import {useRouter} from "vue-router";
|
import {useRouter} from "vue-router";
|
||||||
|
import {signStart} from "/@src/service/signDocApi.ts";
|
||||||
|
|
||||||
|
|
||||||
const registerFormOpen = ref(false)
|
const registerFormOpen = ref(false)
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
@@ -52,6 +54,7 @@ const completedPriceDataParams = reactive({
|
|||||||
content:'',
|
content:'',
|
||||||
contSdat:'',
|
contSdat:'',
|
||||||
contEdat:'',
|
contEdat:'',
|
||||||
|
signDt: '',
|
||||||
regSabun:'',
|
regSabun:'',
|
||||||
regNm:'',
|
regNm:'',
|
||||||
regDt:'',
|
regDt:'',
|
||||||
@@ -100,6 +103,25 @@ watch(registerFormOpen, async (isOpen) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
function getDetailList(arg){
|
||||||
|
console.log("arg",arg)
|
||||||
|
completedPriceDataParams.prcsNo = arg.prcsNo
|
||||||
|
selectedCode.value = arg.cateCd
|
||||||
|
completedPriceDataParams.bizNo = arg.bizNo
|
||||||
|
completedPriceDataParams.compNm = arg.compNm
|
||||||
|
completedPriceDataParams.title = arg.title
|
||||||
|
completedPriceDataParams.contSdat = arg.contSdat // 계약기간
|
||||||
|
completedPriceDataParams.contEdat = arg.contEdat
|
||||||
|
completedPriceDataParams.contAmt = arg.contAmt
|
||||||
|
priceSearchCheckBoxStatus.value = arg.excYn
|
||||||
|
//completedPriceDataParams.svyDt = arg.signDt //계약체결일 todo
|
||||||
|
completedPriceDataParams.reason = arg.reason
|
||||||
|
completedPriceDataParams.signDt = arg.signDt
|
||||||
|
params.contStatCd = arg.contStatCd
|
||||||
|
params.contNo = arg.contNo
|
||||||
|
console.log("params.contNo",params.contNo)
|
||||||
|
}
|
||||||
|
|
||||||
function formatMonthDate(dateStr) {
|
function formatMonthDate(dateStr) {
|
||||||
if (!dateStr) return ''
|
if (!dateStr) return ''
|
||||||
const date = new Date(dateStr)
|
const date = new Date(dateStr)
|
||||||
@@ -150,6 +172,7 @@ function handlePriceRowClick(row) {
|
|||||||
completedPriceDataParams.content = row.content || ''
|
completedPriceDataParams.content = row.content || ''
|
||||||
completedPriceDataParams.contSdat = row.regSdat || ''
|
completedPriceDataParams.contSdat = row.regSdat || ''
|
||||||
completedPriceDataParams.contEdat = row.regEdat || ''
|
completedPriceDataParams.contEdat = row.regEdat || ''
|
||||||
|
completedPriceDataParams.signDt = row.signDt || ''
|
||||||
completedPriceDataParams.regSabun = row.regSabun || ''
|
completedPriceDataParams.regSabun = row.regSabun || ''
|
||||||
completedPriceDataParams.regNm = row.regNm || ''
|
completedPriceDataParams.regNm = row.regNm || ''
|
||||||
completedPriceDataParams.regDt = row.regDt || ''
|
completedPriceDataParams.regDt = row.regDt || ''
|
||||||
@@ -214,7 +237,7 @@ const saveContOne = async () => {
|
|||||||
contSdat: formatMonthDate(completedPriceDataParams.contSdat),
|
contSdat: formatMonthDate(completedPriceDataParams.contSdat),
|
||||||
contEdat: formatMonthDate(completedPriceDataParams.contEdat),
|
contEdat: formatMonthDate(completedPriceDataParams.contEdat),
|
||||||
contAmt: completedPriceDataParams.contAmt,
|
contAmt: completedPriceDataParams.contAmt,
|
||||||
signDt: formatMonthDate(completedPriceDataParams.contSdat),
|
signDt: formatMonthDate(completedPriceDataParams.signDt),
|
||||||
reason: completedPriceDataParams.reason,
|
reason: completedPriceDataParams.reason,
|
||||||
excYn: priceSearchCheckBoxStatus.value, // 가격조사 예외여부 확인필요
|
excYn: priceSearchCheckBoxStatus.value, // 가격조사 예외여부 확인필요
|
||||||
contAtts: params.contAtts,
|
contAtts: params.contAtts,
|
||||||
@@ -262,6 +285,7 @@ function resetForm() {
|
|||||||
completedPriceDataParams.title = ''
|
completedPriceDataParams.title = ''
|
||||||
completedPriceDataParams.contSdat = ''
|
completedPriceDataParams.contSdat = ''
|
||||||
completedPriceDataParams.contEdat = ''
|
completedPriceDataParams.contEdat = ''
|
||||||
|
completedPriceDataParams.signDt = ''
|
||||||
completedPriceDataParams.contAmt = ''
|
completedPriceDataParams.contAmt = ''
|
||||||
completedPriceDataParams.reason = ''
|
completedPriceDataParams.reason = ''
|
||||||
selectedCode.value = ''
|
selectedCode.value = ''
|
||||||
@@ -304,6 +328,22 @@ function onBizNoChange() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onChangeSign = async() => {
|
||||||
|
let res = null //todo 전자결재url 태워야 한다.
|
||||||
|
try{
|
||||||
|
loading.value = true
|
||||||
|
res = await signStart(params.contNo)
|
||||||
|
if(res.request.status == '200'){
|
||||||
|
notyf.primary('전자결재 등록 되었습니다.')
|
||||||
|
router.push({path: '/app/contractManagement'})
|
||||||
|
}
|
||||||
|
}catch(e){
|
||||||
|
notyf.error(e.message)
|
||||||
|
}finally {
|
||||||
|
loading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -408,6 +448,7 @@ function onBizNoChange() {
|
|||||||
<VField>
|
<VField>
|
||||||
<VControl>
|
<VControl>
|
||||||
<VSelect
|
<VSelect
|
||||||
|
v-if="!priceSearchCheckBoxStatus"
|
||||||
v-model="completedPriceDataParams.bizNo"
|
v-model="completedPriceDataParams.bizNo"
|
||||||
class="input custom-text-filter"
|
class="input custom-text-filter"
|
||||||
@change="onBizNoChange"
|
@change="onBizNoChange"
|
||||||
@@ -464,7 +505,7 @@ function onBizNoChange() {
|
|||||||
<VField>
|
<VField>
|
||||||
<VControl>
|
<VControl>
|
||||||
<input
|
<input
|
||||||
:value="formatMonthDate(completedPriceDataParams.contSdat)"
|
:value="formatMonthDate(completedPriceDataParams.signDt)"
|
||||||
class="input custom-text-filter"
|
class="input custom-text-filter"
|
||||||
placeholder="계약체결일"
|
placeholder="계약체결일"
|
||||||
:disabled="!priceSearchCheckBoxStatus"
|
:disabled="!priceSearchCheckBoxStatus"
|
||||||
@@ -604,7 +645,9 @@ function onBizNoChange() {
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-button">
|
<div class="bottom-button">
|
||||||
<VButton @click="saveContOne">저 장</VButton>
|
<VButton @click="saveContOne">수 정</VButton>
|
||||||
|
<VButton v-if="params.contStatCd == '0000'" @click="onChangeSign">전자 결재(등록)</VButton>
|
||||||
|
<!-- todo 전자결재 url 태우기-->
|
||||||
<VButton @click="routerMove">취 소</VButton>
|
<VButton @click="routerMove">취 소</VButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* (임시) 전자결재 저장(테스트용) 결재중 상태 저장
|
* fake 전자결재 결재완료 상태 변경
|
||||||
* @param {object} params
|
|
||||||
* @property {string} params.contNo - 계약번호
|
* @property {string} params.contNo - 계약번호
|
||||||
* @returns
|
* @returns
|
||||||
|
* @param contNo
|
||||||
*/
|
*/
|
||||||
export async function signStart(params = {}) {
|
export async function changeConfirm(contNo: string) {
|
||||||
console.log(params)
|
|
||||||
try {
|
try {
|
||||||
const result = await axios.post(`/api/sign/start/`,params)
|
const result = await axios.post(`/api/sign/confirm/${contNo}`)
|
||||||
return result
|
return result
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const serverError = e.response?.data;
|
const serverError = e.response?.data;
|
||||||
@@ -26,15 +25,14 @@ export async function signStart(params = {}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 전자결재 반려 상태변경
|
* fake 전자결재 회수 상태 변경
|
||||||
* @param {object} params
|
|
||||||
* @property {string} params.contNo - 계약번호
|
* @property {string} params.contNo - 계약번호
|
||||||
* @returns
|
* @returns
|
||||||
|
* @param contNo
|
||||||
*/
|
*/
|
||||||
export async function signReturn(params = {}) {
|
export async function changeRecovery(contNo: string) {
|
||||||
console.log(params)
|
|
||||||
try {
|
try {
|
||||||
const result = await axios.post(`/api/sign/return/`,params)
|
const result = await axios.post(`/api/sign/recovery/${contNo}`)
|
||||||
return result
|
return result
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const serverError = e.response?.data;
|
const serverError = e.response?.data;
|
||||||
@@ -51,15 +49,14 @@ export async function signReturn(params = {}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 전자결재 회수 상태 변경
|
* fake 전자결재 반려 상태 변경
|
||||||
* @param {object} params
|
|
||||||
* @property {string} params.contNo - 계약번호
|
* @property {string} params.contNo - 계약번호
|
||||||
* @returns
|
* @returns
|
||||||
|
* @returns
|
||||||
*/
|
*/
|
||||||
export async function signStart(params = {}) {
|
export async function changeReturn(contNo: string) {
|
||||||
console.log(params)
|
|
||||||
try {
|
try {
|
||||||
const result = await axios.post(`/api/sign/recovery/`,params)
|
const result = await axios.post(`/api/sign/recovery/${contNo}`)
|
||||||
return result
|
return result
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const serverError = e.response?.data;
|
const serverError = e.response?.data;
|
||||||
@@ -81,10 +78,9 @@ export async function signStart(params = {}) {
|
|||||||
* @property {string} params.contNo - 계약번호
|
* @property {string} params.contNo - 계약번호
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export async function signStart(params = {}) {
|
export async function signStart(contNo) {
|
||||||
console.log(params)
|
|
||||||
try {
|
try {
|
||||||
const result = await axios.post(`/api/sign/confirm/`,params)
|
const result = await axios.post(`/api/sign/start/${contNo}`)
|
||||||
return result
|
return result
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const serverError = e.response?.data;
|
const serverError = e.response?.data;
|
||||||
|
|||||||
Reference in New Issue
Block a user