feat : 前置流程组件

This commit is contained in:
2024-07-24 19:42:20 +08:00
parent 6cc409d744
commit b9de011871
4 changed files with 226 additions and 13 deletions

View File

@@ -84,6 +84,8 @@
</el-form>
<opinion v-if="data.taskId" :formData="data.formData" :taskId="data.taskId"
v-model:value="formData.auditOpinion"></opinion>
<file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
:fileType="filePreviewParam.fileType"/>
</div>
</template>
@@ -132,6 +134,7 @@ const projectTable = reactive({
prop: 'projectName',
label: '项目名称',
align: 'center',
width: 400
},
{
prop: 'specialFundAmount',
@@ -171,6 +174,9 @@ const fileTable = reactive({
prop: 'originalFileName',
label: '文件名',
align: 'center',
width: 400,
showOverflowTooltip: false,
currentRender: ({row, index}) => (<div style="color: #2a99ff;cursor: pointer;" onClick={()=>clickToPreview(row)}>{row.originalFileName}</div>)
},
{
prop: 'tag',
@@ -195,6 +201,23 @@ const fileTable = reactive({
}
]
})
const filePreviewParam = ref({
fileUrl: '',
fileName: '',
fileType: 'pdf'
})
const filePreviewShow = ref(false)
const clickToPreview=(row)=>{
filePreviewShow.value = false
filePreviewParam.value = {
fileUrl: row.url,
fileName: row.originalFileName,
fileType: row.fileType
}
nextTick(()=>{
filePreviewShow.value = true
})
}
const handleView=(row)=>{
router.push({
name: 'Implementation/detail',

View File

@@ -164,20 +164,20 @@
/>
</el-form-item>
</div>
<div v-if="data.state==='5'" style="margin-bottom: 15px">
<baseTitle title="前置流程"></baseTitle>
<div style="display: flex;align-items: center;flex-wrap: wrap;margin-bottom: 10px">
<div v-for="(item,index) in localFormData.preProcess" :key="item.requestId">
<a :href="item.baseUrl" target="_blank"
style="color: #2a99ff;cursor: pointer">{{ item.requestName }}<span
v-if="index != localFormData.preProcess.length -1"></span>
</a>
</div>
</div>
</div>
<div v-perm="['annual:plan:approve']" v-if="data.state==='4'">
<baseTitle title="前置流程"></baseTitle>
<div>
<el-button color="#DED0B2" style="margin-right: 10px">
选择
</el-button>
<!-- <div v-for="item in getRequestName(localFormData.preProcess)" :key="item.requestId">-->
<!-- <a :href="item.baseUrl" target="_blank"-->
<!-- style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ item.requestName }}-->
<!-- </a>-->
<!-- </div>-->
</div>
<select-pre-process :formData="localFormData"/>
<baseTitle title="审核意见"></baseTitle>
<el-form-item prop="_value">
<el-input
@@ -229,6 +229,7 @@ import {getSubCompOpt} from "@/api/user/user";
import FileComponent from "./FileComponent.vue";
import {ElNotification} from "element-plus";
import {approvePlan} from "@/api/project-demand/summary";
import SelectPreProcess from "@/components/SelectPreProcess.vue";
const emit = defineEmits(['update:value'])
const tagsViewStore = useTagsView()
@@ -311,9 +312,11 @@ const handleAgreePlan = async () => {
const params = {
auditOpinion: _value.value,
projectId: parseInt(route.query.projectId),
preProcess: JSON.stringify(localFormData.value.preProcess),
state: true
}
// console.log('params', params)
console.log('params', params)
const res = await approvePlan(params)
ElNotification({
title: '提示',