Przeglądaj źródła

分包申请和外包申请移到主合同

songxy 11 miesięcy temu
rodzic
commit
cf2a73c979

+ 3 - 0
client/src/views/OaSystem/officeCenter/mainOfficeCenter/index.scss

@@ -35,6 +35,9 @@
   :deep(.el-table .cell, .el-table td.el-table__cell div){
     font-size: 15px !important;
   }
+  :deep(.hover-row>td) {
+    background: #e5f0fb !important;
+  }
   > .header {
     display: flex;
     position: relative;

+ 47 - 1
client/src/views/OaSystem/projectCenter/projectDetail/components/xmht/index.vue

@@ -48,6 +48,30 @@
             <li v-if="roles.indexOf('contract_edit') !== -1" @click="handleEditor">
               {{ editor ? '保存' : '编辑' }}合同
             </li>
+            <li
+              v-if="
+                projectPermis.projectPermisState.all ||
+                projectPermis.projectPermisState.xsLeader ||
+                projectPermis.projectPermisState.xmLeader ||
+                projectPermis.projectPermisState.projectMember
+              "
+              v-show="![2, 3].includes(projectDetail?.['xmzt'])"
+              @click="handleStartSubcontract"
+            >
+              分包申请
+            </li>
+            <li
+              v-if="
+                projectPermis.projectPermisState.all ||
+                projectPermis.projectPermisState.xsLeader ||
+                projectPermis.projectPermisState.xmLeader ||
+                projectPermis.projectPermisState.projectMember
+              "
+              v-show="![2, 3].includes(projectDetail?.['xmzt'])"
+              @click="handleStartOutsourcing"
+            >
+              外包申请
+            </li>
             <li
               @click="
                 startUseMoneyMuate({
@@ -721,8 +745,11 @@ import {
   startContractInvoice,
   queryCustomerTree,
   queryCompanyTree,
-  productSoftpatent
+  productSoftpatent,
+  startOutsourcingApply,
+  startSubcontractApply
 } from '@/service/contract'
+import { ProjectId } from '@/interface/project'
 import { getSupplierTree } from '@/service/system'
 import { useQuery, useMutation } from '@tanstack/vue-query'
 import { Contract } from '@/interface/contract'
@@ -749,6 +776,7 @@ const mContractDetail = ref<Contract>({} as Contract)
 const cContractDetail = ref<any>()
 const mContractDetails = ref<any[]>([])
 const childrenContracts = ref<any[]>([])
+const projectDetail = inject<any>('projectDetail')
 /**
  * 供应商列表
  */
@@ -930,6 +958,24 @@ const { mutate: startContractInvoiceMuate } = useMutation(startContractInvoice,
 const { mutate: startUseMoneyMuate } = useMutation(startUseMoney, {
   onSuccess: (data) => openFlow(router, data, '用款申请')
 })
+
+/**
+ * 发起分包合同申请
+ */
+const { mutate: startSubcontractMutate } = useMutation(startSubcontractApply, {
+  onSuccess: (data) => openFlow(router, data, '分包申请')
+})
+const handleStartSubcontract = () => {
+  startSubcontractMutate(projectDetail.value.id as ProjectId)
+}
+
+/**
+ * 发起外包合同申请
+ */
+const { mutate: startOutsourcingMutate } = useMutation(startOutsourcingApply, {
+  onSuccess: (data) => openFlow(router, data, '外包申请')
+})
+const handleStartOutsourcing = () => startOutsourcingMutate(projectDetail.value.id as ProjectId)
 </script>
 <style lang="scss" scoped>
 @import './index.scss';

+ 2 - 45
client/src/views/OaSystem/projectCenter/projectDetail/projectDetail.vue

@@ -55,30 +55,6 @@
           >
             添加子项目
           </li>
-          <li
-            v-if="
-              projectPermis.projectPermisState.all ||
-              projectPermis.projectPermisState.xsLeader ||
-              projectPermis.projectPermisState.xmLeader ||
-              projectPermis.projectPermisState.projectMember
-            "
-            v-show="![2, 3].includes(projectDetail?.['xmzt'])"
-            @click="handleStartSubcontract"
-          >
-            分包申请
-          </li>
-          <li
-            v-if="
-              projectPermis.projectPermisState.all ||
-              projectPermis.projectPermisState.xsLeader ||
-              projectPermis.projectPermisState.xmLeader ||
-              projectPermis.projectPermisState.projectMember
-            "
-            v-show="![2, 3].includes(projectDetail?.['xmzt'])"
-            @click="handleStartOutsourcing"
-          >
-            外包申请
-          </li>
           <li
             v-if="projectPermis.projectPermisState.all || projectPermis.projectPermisState.xmLeader"
             v-show="projectDetail?.['xmzt'] === 1"
@@ -189,9 +165,7 @@ import { useProjectPermis } from '@/store/modules/projectPermis'
 import {
   isProjectContractExist,
   getContractsByProject,
-  startContractSign,
-  startOutsourcingApply,
-  startSubcontractApply
+  startContractSign
 } from '@/service/contract'
 import subscribe from '@/utils/Subscribe'
 import { openFlow, openProcessFlow } from '@/utils/flow'
@@ -251,6 +225,7 @@ queryProjectContractExist(query?.id as string)
  * 查询项目详情
  * **/
 const projectDetail = ref()
+provide('projectDetail', projectDetail)
 const queryProjectByDetail = async (projectId: string) => {
   const result = await getProjectWithChildrenById(projectId)
   if (result) {
@@ -363,24 +338,6 @@ const handleStartContractSign = () => {
   isShowSign.value = false
   startContractSignMutate(projectId as ProjectId)
 }
-
-/**
- * 发起分包合同申请
- */
-const { mutate: startSubcontractMutate } = useMutation(startSubcontractApply, {
-  onSuccess: (data) => openFlow(router, data, '分包申请')
-})
-const handleStartSubcontract = () => {
-  startSubcontractMutate(projectDetail.value.id as ProjectId)
-}
-
-/**
- * 发起外包合同申请
- */
-const { mutate: startOutsourcingMutate } = useMutation(startOutsourcingApply, {
-  onSuccess: (data) => openFlow(router, data, '外包申请')
-})
-const handleStartOutsourcing = () => startOutsourcingMutate(projectDetail.value.id as ProjectId)
 </script>
 <style lang="scss" scoped>
 @import url('./projectDetail.scss');