mirror of
https://git.hmsn.ink/kospo/svcm/oa.git
synced 2026-03-20 07:33:32 +09:00
Merge branch 'main' into featrue/0526-update
This commit is contained in:
@@ -28,7 +28,7 @@ const links = ref<NavbarItem[]>([
|
|||||||
{
|
{
|
||||||
id: 'payment',
|
id: 'payment',
|
||||||
type: 'link',
|
type: 'link',
|
||||||
to: '/app/paymentManagement',
|
to: '/app/ApprovalManagement',
|
||||||
label: '결재함',
|
label: '결재함',
|
||||||
icon: '',
|
icon: '',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {conveterNo, getIntegratedApproval, updateIntegratedStatus} from '/src/service/integratedPayment'
|
import { getIntegratedApproval } from '/src/service/integratedApproval'
|
||||||
import type { VFlexTableWrapperSortFunction, VFlexTableWrapperFilterFunction } from '/src/components/app-vuero/ComVFlexTableWrapper.vue'
|
import type { VFlexTableWrapperSortFunction, VFlexTableWrapperFilterFunction } from '/src/components/app-vuero/ComVFlexTableWrapper.vue'
|
||||||
import { users } from '/src/data/layouts/card-grid-v1'
|
import { users } from '/src/data/layouts/card-grid-v1'
|
||||||
import PriceDetail from "/@src/pages/app/priceDetail.vue";
|
import PriceDetail from "/@src/pages/app/priceDetail.vue";
|
||||||
|
import {conveterNo, updateApprovalStatus} from "/@src/service/approvalApi.ts";
|
||||||
|
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
onBeforeMount(async () => {
|
||||||
@@ -70,7 +71,7 @@ async function updateIntegratedPaymentApprovalFunc() {
|
|||||||
apprStatCd: '0200', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
|
apprStatCd: '0200', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
|
||||||
reason: '',
|
reason: '',
|
||||||
}
|
}
|
||||||
const result = await updateIntegratedStatus(paymentUpdateParams)
|
const result = await updateApprovalStatus(paymentUpdateParams)
|
||||||
notyf.primary("결재승인완료")
|
notyf.primary("결재승인완료")
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
}
|
}
|
||||||
@@ -83,7 +84,7 @@ async function updateIntegratedPaymentRejectionFunc() {
|
|||||||
apprStatCd: '0400', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
|
apprStatCd: '0400', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
|
||||||
reason: '',
|
reason: '',
|
||||||
}
|
}
|
||||||
const result = await updateIntegratedStatus(paymentUpdateParams)
|
const result = await updateApprovalStatus(paymentUpdateParams)
|
||||||
notyf.primary("결재반려완료")
|
notyf.primary("결재반려완료")
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import {saveContract} from "/@src/service/contract.ts";
|
import {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";
|
||||||
|
|
||||||
@@ -179,9 +179,9 @@ const fileInputs = ref([
|
|||||||
{ file: null, description: '소액수의계약서' },
|
{ file: null, description: '소액수의계약서' },
|
||||||
{ file: null, description: '수의계약 체결 제한 여부 확인서' },
|
{ file: null, description: '수의계약 체결 제한 여부 확인서' },
|
||||||
{ file: null, description: '퇴직자 재직여부 확인서' },
|
{ file: null, description: '퇴직자 재직여부 확인서' },
|
||||||
{ file: null, description: '인지세 납부확인서' },
|
|
||||||
{ file: null, description: '정부권장정책 이행 구매 검토서' },
|
{ file: null, description: '정부권장정책 이행 구매 검토서' },
|
||||||
{ file: null, description: '기타' }
|
{ file: null, description: '기타' },
|
||||||
|
{ file: null, description: '인지세 납부확인서' },
|
||||||
])
|
])
|
||||||
|
|
||||||
const saveContOne = async () => {
|
const saveContOne = async () => {
|
||||||
@@ -191,7 +191,7 @@ const saveContOne = async () => {
|
|||||||
|
|
||||||
const amt = Number(String(completedPriceDataParams.contAmt).replace(/[^0-9]/g, ''))
|
const amt = Number(String(completedPriceDataParams.contAmt).replace(/[^0-9]/g, ''))
|
||||||
if (amt >= 10000000) {
|
if (amt >= 10000000) {
|
||||||
const injiFile = pbAtts.value[4]
|
const injiFile = pbAtts.value[6]
|
||||||
if (!injiFile || !injiFile.logiFnm) {
|
if (!injiFile || !injiFile.logiFnm) {
|
||||||
notyf.error('계약금액이 1,000만원 이상일 경우 인지세 납부확인서 첨부가 필수입니다.')
|
notyf.error('계약금액이 1,000만원 이상일 경우 인지세 납부확인서 첨부가 필수입니다.')
|
||||||
loading.value = false
|
loading.value = false
|
||||||
@@ -636,7 +636,7 @@ function onBizNoChange() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tr:nth-child(7) > td {
|
tr:nth-child(7) > td {
|
||||||
padding: 0px 12px;
|
padding: 0 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -668,7 +668,7 @@ function onBizNoChange() {
|
|||||||
background-color: silver;
|
background-color: silver;
|
||||||
}
|
}
|
||||||
.field {
|
.field {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file-label {
|
.file-label {
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { getContractDetail, updateContract, saveContract } from "/@src/service/contract.ts";
|
import { getContractDetail, updateContract, saveContract } from "/src/service/contractApi.ts";
|
||||||
import { getDetailPrcs } from "/@src/service/priceApi.ts";
|
|
||||||
|
|
||||||
onBeforeMount(async ()=>{
|
onBeforeMount(async ()=>{
|
||||||
const result = await getContractDetail(history.state.key)
|
const result = await getContractDetail(history.state.key)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {getContractList} from "/src/service/contract";
|
import {getContractList} from "/src/service/contractApi";
|
||||||
import regex, {formatCurrency} from "/@src/utils/common/regex.ts";
|
import regex, {formatCurrency} from "/@src/utils/common/regex.ts";
|
||||||
|
|
||||||
const emits = defineEmits(['on-search', 'on-tr-click'])
|
const emits = defineEmits(['on-search', 'on-tr-click'])
|
||||||
@@ -27,14 +27,14 @@ onBeforeMount(async () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
async function getContractListView() {
|
async function getContractListView() {
|
||||||
const paymentParams = {
|
const approvalParams = {
|
||||||
params:{
|
params:{
|
||||||
title: '',
|
title: '',
|
||||||
page: '1',
|
page: '1',
|
||||||
row: '10'
|
row: '10'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const result = await getContractList(paymentParams)
|
const result = await getContractList(approvalParams)
|
||||||
data.contractData = result
|
data.contractData = result
|
||||||
console.log('result', result)
|
console.log('result', result)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { getContractDetail, updateContract, saveContract } from "/@src/service/contract.ts";
|
import { getContractDetail, updateContract, saveContract } from "/src/service/contractApi.ts";
|
||||||
import { getDetailPrcs } from "/@src/service/priceApi.ts";
|
|
||||||
|
|
||||||
onBeforeMount(async ()=>{
|
onBeforeMount(async ()=>{
|
||||||
const result = await getContractDetail(history.state.key)
|
const result = await getContractDetail(history.state.key)
|
||||||
|
|||||||
@@ -1,38 +1,7 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 통합결재목록(부서) 조회
|
* 가격조사 결재 상태변경
|
||||||
* @param {object} params
|
|
||||||
* @property {string} params.page - 페이지번호
|
|
||||||
* @property {string} params.row - 행 개수
|
|
||||||
* @property {string} params.title - 제목
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
export async function getIntegratedApproval(params = {}) {
|
|
||||||
try {
|
|
||||||
const result = await axios.get(`/api/itg/appr/req`, {
|
|
||||||
params,
|
|
||||||
headers: { sabun: params.sabun },
|
|
||||||
})
|
|
||||||
if (result.status === 200) {
|
|
||||||
return result.data
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
if (e.response) {
|
|
||||||
if (e.response.status >= 500) {
|
|
||||||
throw new Error('서버 오류가 발생했습니다.')
|
|
||||||
} else if (e.response.status >= 400) {
|
|
||||||
throw new Error('잘못된 요청입니다.')
|
|
||||||
} else if (e.response._data && e.response._data.message) {
|
|
||||||
throw new Error(e.response._data.message)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new Error(e.message || '알 수 없는 오류')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 통합결재목록(부서) 조회
|
|
||||||
* @param {object} params
|
* @param {object} params
|
||||||
* @property {string} params.apprNo - 결재번호
|
* @property {string} params.apprNo - 결재번호
|
||||||
* @property {string} params.apprOrd - 결재순서
|
* @property {string} params.apprOrd - 결재순서
|
||||||
@@ -41,7 +10,7 @@ export async function getIntegratedApproval(params = {}) {
|
|||||||
* @property {string} params.reason - 사유 (반려일시 상태코드 0400)
|
* @property {string} params.reason - 사유 (반려일시 상태코드 0400)
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export async function updateIntegratedStatus(params = {}) {
|
export async function updateApprovalStatus(params = {}) {
|
||||||
try {
|
try {
|
||||||
const result = await axios.put(`/api/appr`, params, {
|
const result = await axios.put(`/api/appr`, params, {
|
||||||
headers: { sabun: params.sabun },
|
headers: { sabun: params.sabun },
|
||||||
@@ -62,14 +31,37 @@ export async function updateIntegratedStatus(params = {}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 가격조사 결재 상세 조회
|
||||||
|
* @param {object} params
|
||||||
|
* @property {string} params.prcsNo - 가격조사번호
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export async function getApprovalDetailsRetrieve(params = {}) {
|
||||||
|
try {
|
||||||
|
const result = await axios.get(`/api/appr/conveter/${params.prcsNo}`,{
|
||||||
|
headers: { sabun: params.sabun },
|
||||||
|
})
|
||||||
|
if (result.status === 200) {
|
||||||
|
return result.data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
if (e.response) {
|
||||||
|
if (e.response.status >= 500) {
|
||||||
|
throw new Error('서버 오류가 발생했습니다.')
|
||||||
|
} else if (e.response.status >= 400) {
|
||||||
|
throw new Error('잘못된 요청입니다.')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new Error(e.message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 결재번호를 가격조사 번호로 변경
|
* 결재번호를 가격조사 번호로 변경
|
||||||
* @param {object} params
|
* @param {object} params
|
||||||
* @property {string} params.apprNo - 결재번호
|
* @property {string} params.apprNo - 결재번호
|
||||||
* @property {string} params.apprOrd - 결재순서
|
|
||||||
* @property {string} params.sabun - 사번
|
|
||||||
* @property {string} params.apprStatCd - 결재상태코드
|
|
||||||
* @property {string} params.reason - 사유 (반려일시 상태코드 0400)
|
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export async function conveterNo(params = {}) {
|
export async function conveterNo(params = {}) {
|
||||||
32
src/service/integratedApproval.ts
Normal file
32
src/service/integratedApproval.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import axios from 'axios'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 통합결재목록(부서) 조회
|
||||||
|
* @param {object} params
|
||||||
|
* @property {string} params.page - 페이지번호
|
||||||
|
* @property {string} params.row - 행 개수
|
||||||
|
* @property {string} params.title - 제목
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export async function getIntegratedApproval(params = {}) {
|
||||||
|
try {
|
||||||
|
const result = await axios.get(`/api/itg/appr/req`, {
|
||||||
|
params,
|
||||||
|
headers: { sabun: params.sabun },
|
||||||
|
})
|
||||||
|
if (result.status === 200) {
|
||||||
|
return result.data
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
if (e.response) {
|
||||||
|
if (e.response.status >= 500) {
|
||||||
|
throw new Error('서버 오류가 발생했습니다.')
|
||||||
|
} else if (e.response.status >= 400) {
|
||||||
|
throw new Error('잘못된 요청입니다.')
|
||||||
|
} else if (e.response._data && e.response._data.message) {
|
||||||
|
throw new Error(e.response._data.message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new Error(e.message || '알 수 없는 오류')
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
import axios from 'axios'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 가격조사 상세조회
|
|
||||||
* @param {object} params
|
|
||||||
* @property {string} params.prcsNo - 가격조사번호
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
export async function getIntegratedApproval(params) {
|
|
||||||
try {
|
|
||||||
const result = await axios.get(`/api/itg/appr,${params}`)
|
|
||||||
return result.data
|
|
||||||
} catch (e) {
|
|
||||||
throw new Error(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user