فهرست منبع

feat: 客户管理-客户详情,合同查看

qiny 1 سال پیش
والد
کامیت
20b448e363
1فایلهای تغییر یافته به همراه35 افزوده شده و 1 حذف شده
  1. 35 1
      client/src/views/OaSystem/marketCenter/khxqPage/CustomerContract.vue

+ 35 - 1
client/src/views/OaSystem/marketCenter/khxqPage/CustomerContract.vue

@@ -49,7 +49,7 @@
         <el-table-column prop="contractBalance" label="合同余额(元)" width="140" align="center" />
         <el-table-column prop="contractBalance" label="合同余额(元)" width="140" align="center" />
         <el-table-column label="操作" fixed="right" width="120px">
         <el-table-column label="操作" fixed="right" width="120px">
           <template #default="scope">
           <template #default="scope">
-            <el-button type="primary" plain round @click="() => console.log(scope.row)"
+            <el-button type="primary" plain round @click="handleCellClick(scope.row)"
               >查看</el-button
               >查看</el-button
             >
             >
           </template>
           </template>
@@ -70,6 +70,8 @@
 </template>
 </template>
 <script lang="ts" setup>
 <script lang="ts" setup>
 import request from '@/config/axios'
 import request from '@/config/axios'
+import { openFlow } from '@/utils/flow'
+
 /**
 /**
  * @description 客户合同
  * @description 客户合同
  */
  */
@@ -107,6 +109,38 @@ const typObj = {
   category: { 1: '采购合同', 2: '技术服务合同', 3: '技贸合同', 4: '协议合同', 5: '其他' },
   category: { 1: '采购合同', 2: '技术服务合同', 3: '技贸合同', 4: '协议合同', 5: '其他' },
   amountStatus: { 1: '未付清', 2: '未付清', 3: '已付清', 4: '手动设置已付清' }
   amountStatus: { 1: '未付清', 2: '未付清', 3: '已付清', 4: '手动设置已付清' }
 }
 }
+// 点击查看详情
+const router = useRouter()
+const handleCellClick = async (row) => {
+  // console.log('row', row)
+  const projectId = row.projectId // 项目id
+  const instanceId = row.instanceId // 流程id
+  const contractNumber = row.contractNumber // 合同编号
+  if (instanceId) {
+    // 跳转到开票相关页面
+    const flowUrl = await getFlowUrl(instanceId)
+    if (flowUrl) {
+      openFlow(router, flowUrl, '开票流程')
+    } else {
+      ElMessage.error('未查询到相关数据')
+    }
+  } else {
+    // 跳转到合同相关页面
+    router.push(`/projectDetail?id=${projectId}&contractId=${contractNumber}`)
+  }
+}
+// 根据流程id获取流程页面url
+const getFlowUrl = async (instanceId) => {
+  const result = await request.get(
+    {
+      url: '/IFlowInstance/getFlowUrl',
+      params: { flowInstanceId: instanceId }
+    },
+    '/workflow'
+  )
+  // console.log('getFlowUrl', result)
+  return result
+}
 </script>
 </script>
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">