From 3533b11c19b628e45f26d25bedd7c82e0aa2037a Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Fri, 14 Mar 2025 17:24:24 +0800
Subject: [PATCH] 接口对接
---
src/views/signProject/index.vue | 143 +++++++++++++++++++++++++++++------------------
1 files changed, 87 insertions(+), 56 deletions(-)
diff --git a/src/views/signProject/index.vue b/src/views/signProject/index.vue
index 5b30136..c3a7b6e 100644
--- a/src/views/signProject/index.vue
+++ b/src/views/signProject/index.vue
@@ -2,9 +2,9 @@
<div class="app-container">
<div style="display: flex;justify-content: space-between;margin-bottom: 20px">
<el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
- <el-radio-group v-model="queryParams.type">
+ <el-radio-group v-model="queryParams.status" @change="getList">
<el-radio-button label="" >全部</el-radio-button>
- <el-radio-button label="1">签署中</el-radio-button>
+ <el-radio-button label="0">签署中</el-radio-button>
<el-radio-button label="2" >已归档</el-radio-button>
</el-radio-group>
<!-- <el-form-item label="仓库名称:" >-->
@@ -26,22 +26,26 @@
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true">
<el-table-column label="序号" type="index" align="center" width="80" />
- <el-table-column label="项目名称" prop="name" align="center" />
- <el-table-column label="模板ID" prop="remark" align="center" />
- <el-table-column label="发起部门" prop="remark" align="center" />
- <el-table-column label="发起时间" prop="remark" align="center" />
- <el-table-column label="最初签署人" prop="remark" align="center" />
+ <el-table-column label="项目名称" prop="itemName" align="center" />
+ <el-table-column label="模板ID" prop="templateId" align="center" />
+ <el-table-column label="发起部门" prop="deptName" align="center" />
+ <el-table-column label="发起时间" prop="originateTime" align="center" />
+ <el-table-column label="最初签署人" prop="initiaiUserName" align="center" />
<el-table-column label="流转记录" prop="count" align="center" >
<template #default="scope">
- <span style="color: #1890ff;cursor: pointer" @click="record(scope.row)">{{scope.row.count}}</span>
+ <span style="color: #1890ff;cursor: pointer" @click="record(scope.row)">{{scope.row.flowCount}}</span>
</template>
</el-table-column>
- <el-table-column label="签署状态" prop="remark" align="center" />
+ <el-table-column label="签署状态" prop="itemStatus" align="center" >
+ <template #default="scope">
+ <span>{{scope.row.itemStatus == 0 ? '签署中' : scope.row.itemStatus == 1 ? '已签署' :scope.row.itemStatus == 2 ? '已归档' : '' }}</span>
+ </template>
+ </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="250" >
<template #default="scope">
- <el-button link type="primary" >预览</el-button>
- <el-button link type="primary" @click="circulationBtn(scope.row)" >流转</el-button>
- <el-button link type="primary" >确认归档</el-button>
+ <el-button link type="primary" @click="view(scope.row)">预览</el-button>
+ <el-button link type="primary" v-if="scope.row.itemStatus !=2 && (data.userRole.includes('admin') || data.userRole.includes('suprice') ) " @click="circulationBtn(scope.row)" >流转</el-button>
+ <el-button link type="primary" v-if="scope.row.itemStatus !=2 &&(data.userRole.includes('admin') || data.userRole.includes('suprice')) && scope.row.isAbleArchive " @click="archiveBtn(scope.row)">确认归档</el-button>
<el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
@@ -55,6 +59,7 @@
/>
<circulation ref="circulationRef" @getList="getList"></circulation>
<timeRecord ref="timeRecordRef" @getList="getList"></timeRecord>
+<!-- <view-p ref="viewPRef" @getList="getList"></view-p>-->
</div>
</template>
@@ -63,18 +68,23 @@
import {ElMessage, ElMessageBox} from "element-plus";
import circulation from './components/circulation'
import timeRecord from './components/record.vue'
+import viewP from './components/viewPdf.vue'
+import {delSignProject, getSignProject, signArchive} from "@/api/signAgreement/signProject";
+import Cookies from "js-cookie";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
const circulationRef = ref();
-const cupDialogRef = ref();
+const viewPRef = ref();
const timeRecordRef = ref()
const data = reactive({
queryParams: {
pageNum: 1,
pageSize: 10,
- type: ''
+ status: ''
},
+ userRole:[],
+ user: {},
total: 0,
dataList: []
});
@@ -83,6 +93,8 @@
const classHourRef = ref();
onMounted(()=>{
getList()
+ data.userRole = JSON.parse(Cookies.get('userRole'))
+ data.user = JSON.parse(Cookies.get('userInfo'))
})
onUnmounted(()=>{
@@ -91,20 +103,28 @@
const getList = async () => {
loading.value = true
- // const res = await getWarehouse(data.queryParams)
- // if(res.code == 200){
- // data.dataList = res.data.list
- // data.total = res.data.total
- // }else{
- // ElMessage.warning(res.message)
- // }
- data.dataList = [
- {
- id: 1,
- name: 'xxx',
- count: 2
- }
- ]
+ const res = await getSignProject(data.queryParams)
+ if(res.code == 200){
+ data.dataList = res.rows.map(item => {
+ return {
+ ...item,
+ flowCount: item.signatureFlows && item.signatureFlows.length >0 ? item.signatureFlows.length : 0
+ }
+ })
+ data.dataList.forEach(item => {
+ let isAble = true
+ item.signatureFlows.forEach(i => {
+ if(i.signStatus !=1){
+ isAble = false
+ }
+ })
+ item.isAbleArchive = isAble
+ })
+ console.log('1',data.dataList)
+ data.total = res.total
+ }else{
+ ElMessage.warning(res.message)
+ }
loading.value = false
}
@@ -112,18 +132,53 @@
dialogRef.value.openDialog(type, value);
}
const record = (val) => {
- timeRecordRef.value.openDialog(val)
+ if(val.flowCount > 0){
+ timeRecordRef.value.openDialog(val)
+ }else {
+ ElMessage.warning('暂无流转记录')
+ }
+
}
const circulationBtn = (value) => {
circulationRef.value.openDialog(value)
+}
+const view = (val) => {
+ const url =import.meta.env.VITE_APP_BASE_API +val.itemFile
+ window.open(url)
+}
+const archiveBtn = (val) => {
+ ElMessageBox.confirm(
+ '确定项目归档?',
+ '提示',
+ {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+
+ .then( async() => {
+ console.log('1111',val)
+ const param = {
+ itemId: val.id,
+ filePath: val.itemFile,
+ userId: data.user.userId
+ }
+ const res = await signArchive(param)
+ if(res.code == 200){
+ ElMessage.success('项目归档成功')
+ await getList()
+ }else{
+ ElMessage.warning(res.message)
+ }
+ })
}
/** 重置新增的表单以及其他数据 */
function reset() {
data.queryParams = {
pageNum: 1,
pageSize: 10,
- name: ''
+ status: ''
}
getList()
}
@@ -137,7 +192,7 @@
type: 'warning',
})
.then( async() => {
- const res = await delWarehouse(val.id)
+ const res = await delSignProject(val.id)
if(res.code == 200){
ElMessage.success('数据删除成功')
await getList()
@@ -145,31 +200,7 @@
ElMessage.warning(res.message)
}
})
-}
-const delCup = (val) => {
- ElMessageBox.confirm(
- '确定删除此条数据?',
- '提示',
- {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning',
- })
- .then( async() => {
- const res = await delCupboard(val.id)
- if(res.code == 200){
- ElMessage.success('数据删除成功')
- await getList()
- }else{
- ElMessage.warning(res.message)
- }
- })
-}
-const addCupboard = (type,value) => {
- cupDialogRef.value.openDialog(type, value);
}
-const getRowKeys = (row) => {
- return row.name
-}
+
</script>
--
Gitblit v1.9.2