|
@@ -17,17 +17,22 @@
|
|
|
<li v-show="currentIndex === 0" @click="editorProject"
|
|
|
>{{ !isEditorProject ? '编辑' : '保存' }}
|
|
|
</li>
|
|
|
- <template v-if="projectDetail?.['isSign'] !== 0 && contractData?.flowStatus !== 90">
|
|
|
+ <template v-if="projectDetail?.['isSign'] === 1">
|
|
|
+ <li
|
|
|
+ v-if="!contractData || contractData?.flowStatus === 0"
|
|
|
+ @click="handleStartContractSign"
|
|
|
+ >
|
|
|
+ 合同签订
|
|
|
+ </li>
|
|
|
<el-popconfirm
|
|
|
title="当前存在进行中的合同,是否重复发起?"
|
|
|
- v-if="!projectDetail?.contractAmount"
|
|
|
+ v-else-if="contractData?.flowStatus === 1"
|
|
|
@confirm="handleStartContractSign"
|
|
|
>
|
|
|
<template #reference>
|
|
|
<li>合同签订</li>
|
|
|
</template>
|
|
|
</el-popconfirm>
|
|
|
- <li v-else @click="handleStartContractSign">合同签订</li>
|
|
|
</template>
|
|
|
<li v-show="currentIndex === 0" @click="addSubProject">添加子项目</li>
|
|
|
<li @click="handleStartSubcontract">分包申请</li>
|
|
@@ -59,23 +64,36 @@
|
|
|
</li>
|
|
|
</ul>
|
|
|
<div class="projectInfo">
|
|
|
- <p>
|
|
|
- <span class="title">合同额(元):</span>
|
|
|
- <span class="value">{{ projectDetail?.['contractAmount'] ?? '' }}</span>
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- <span class="title">应收款(元):</span>
|
|
|
- <span class="value">{{ projectDetail?.['receivableAmount'] ?? '' }}</span>
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- <span class="title">合同余额(元):</span>
|
|
|
- <span class="value">{{ projectDetail?.['contractBalance'] ?? '' }}</span>
|
|
|
- </p>
|
|
|
+ <template v-if="projectDetail?.['isSign'] === 0">
|
|
|
+ <p style="margin-right: 0px">该项目不签合同</p>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="!contractData || contractData?.flowStatus === 0">
|
|
|
+ <p style="margin-right: 0px">该项目待签合同</p>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <p>
|
|
|
+ <span class="title">合同额(元):</span>
|
|
|
+ <span class="value">{{ projectDetail?.['contractAmount'] ?? '' }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span class="title">应收款(元):</span>
|
|
|
+ <span class="value">{{ projectDetail?.['receivableAmount'] ?? '' }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span class="title">合同余额(元):</span>
|
|
|
+ <span class="value">{{ projectDetail?.['contractBalance'] ?? '' }}</span>
|
|
|
+ </p>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="detailContent">
|
|
|
- <component :is="currentComponent" ref="dynamicRef" :editor="isEditorProject" />
|
|
|
+ <component
|
|
|
+ :is="currentComponent"
|
|
|
+ ref="dynamicRef"
|
|
|
+ :editor="isEditorProject"
|
|
|
+ :contractType="contractData?.flowStatus"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -86,8 +104,8 @@ import { useRoute } from 'vue-router'
|
|
|
import {
|
|
|
getContractsByProject,
|
|
|
startContractSign,
|
|
|
- startOutsourcing,
|
|
|
- startSubcontract
|
|
|
+ startOutsourcingApply,
|
|
|
+ startSubcontractApply
|
|
|
} from '@/service/contract'
|
|
|
import { openFlow } from '@/utils/flow'
|
|
|
import { useMutation } from '@tanstack/vue-query'
|
|
@@ -123,13 +141,6 @@ const switchComponent: (c: Component, i: number) => void = (c: Component, i: num
|
|
|
/***
|
|
|
* 查询项目详情
|
|
|
* **/
|
|
|
-// const { data: projectDetail } = useQuery(
|
|
|
-// [getProjectWithChildrenById.name, projectId],
|
|
|
-// async () => await getProjectWithChildrenById(projectId as string),
|
|
|
-// {
|
|
|
-// enabled: (query?.id ?? '') !== ''
|
|
|
-// }
|
|
|
-// )
|
|
|
const projectDetail = ref()
|
|
|
const queryProjectByDetail = async (projectId: string) => {
|
|
|
const result = await getProjectWithChildrenById(projectId)
|
|
@@ -193,21 +204,22 @@ const { mutate: startContractSignMutate } = useMutation(startContractSign, {
|
|
|
onSuccess: (data) => openFlow(router, data, '合同签订')
|
|
|
})
|
|
|
const handleStartContractSign = () => startContractSignMutate(projectId as ProjectId)
|
|
|
+
|
|
|
/**
|
|
|
* 发起分包合同申请
|
|
|
*/
|
|
|
-const { mutate: startSubcontractMutate } = useMutation(startSubcontract, {
|
|
|
+const { mutate: startSubcontractMutate } = useMutation(startSubcontractApply, {
|
|
|
onSuccess: (data) => openFlow(router, data, '分包申请')
|
|
|
})
|
|
|
-const handleStartSubcontract = () => startSubcontractMutate(contractData.value.id)
|
|
|
+const handleStartSubcontract = () => startSubcontractMutate(projectId as ProjectId)
|
|
|
|
|
|
/**
|
|
|
* 发起外包合同申请
|
|
|
*/
|
|
|
-const { mutate: startOutsourcingMutate } = useMutation(startOutsourcing, {
|
|
|
+const { mutate: startOutsourcingMutate } = useMutation(startOutsourcingApply, {
|
|
|
onSuccess: (data) => openFlow(router, data, '外包申请')
|
|
|
})
|
|
|
-const handleStartOutsourcing = () => startOutsourcingMutate(contractData.value.id)
|
|
|
+const handleStartOutsourcing = () => startOutsourcingMutate(projectId as ProjectId)
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
@import './projectDetail.scss';
|