|
@@ -49,7 +49,7 @@
|
|
|
<el-table-column prop="contractBalance" label="合同余额(元)" width="140" align="center" />
|
|
|
<el-table-column label="操作" fixed="right" width="120px">
|
|
|
<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
|
|
|
>
|
|
|
</template>
|
|
@@ -70,6 +70,8 @@
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
import request from '@/config/axios'
|
|
|
+import { openFlow } from '@/utils/flow'
|
|
|
+
|
|
|
/**
|
|
|
* @description 客户合同
|
|
|
*/
|
|
@@ -107,6 +109,38 @@ const typObj = {
|
|
|
category: { 1: '采购合同', 2: '技术服务合同', 3: '技贸合同', 4: '协议合同', 5: '其他' },
|
|
|
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>
|
|
|
|
|
|
<style scoped lang="scss">
|