Merge pull request 'master' (#650) from master into prod

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/650
This commit is contained in:
2024-08-03 05:22:06 +00:00
7 changed files with 121 additions and 68 deletions

View File

@@ -95,8 +95,9 @@
<div> <div>
<div class="approval-record"> <div class="approval-record">
<div class="approval-title"> <div class="approval-title">
<baseTitle title="审批记录" v-if="mode === 'resubmit'"></baseTitle> <!-- <baseTitle title="审批记录" v-if="mode === 'resubmit'"></baseTitle>-->
<div v-else></div> <!-- <div v-else></div>-->
<baseTitle title="审批记录"></baseTitle>
<div class="diagram"> <div class="diagram">
<div class="base-title">流程图</div> <div class="base-title">流程图</div>
<el-switch <el-switch
@@ -105,8 +106,9 @@
/> />
</div> </div>
</div> </div>
<el-empty :image-size="100" description="暂无审批记录" v-if="!data?.operationList&&!changeDiagram"/>
<div class="process"> <div class="process">
<operation-render v-if="mode === 'resubmit'&&!changeDiagram" :operation-list="data.operationList" <operation-render v-if="mode === 'resubmit'&&processDiagramViewer&& data?.operationList && data?.operationList.length > 0&&!changeDiagram" :operation-list="data.operationList"
:state="data.state"/> :state="data.state"/>
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/> <process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>
</div> </div>

View File

@@ -33,11 +33,7 @@
<span>{{ filterDict(cacheStore.getDict('invest_type'), localFormData.investmentType) }}</span> <span>{{ filterDict(cacheStore.getDict('invest_type'), localFormData.investmentType) }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="项目影响" prop="projectImpact">-->
<!-- <span>{{ filterDict(cacheStore.getDict('project_impact'), localFormData.projectImpact) }}</span>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="6"> <el-col :span="6">
<el-form-item label="所属业务板块" prop="businessSegment"> <el-form-item label="所属业务板块" prop="businessSegment">
<span>{{ filterDict(cacheStore.getDict('business_segment'), localFormData.businessSegment) }}</span> <span>{{ filterDict(cacheStore.getDict('business_segment'), localFormData.businessSegment) }}</span>
@@ -48,6 +44,11 @@
<span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span> <span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="项目影响" prop="projectImpact">
<span>{{ filterDict(cacheStore.getDict('project_impact'), localFormData.projectImpact) }}</span>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="经济预算(元)" prop="economicEstimate"> <el-form-item label="经济预算(元)" prop="economicEstimate">
<span>{{ toThousands(localFormData.economicEstimate) }}</span> <span>{{ toThousands(localFormData.economicEstimate) }}</span>
@@ -67,11 +68,6 @@
}}</span> }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="部门分管领导" prop="optionalChargeLeadership">
<span>{{ localFormData.optionalChargeLeadership?.map(item=>item.name).join() }}</span>
</el-form-item>
</el-col>
<el-col :span="6" v-if="localFormData.isSpecialFund"> <el-col :span="6" v-if="localFormData.isSpecialFund">
<el-form-item label="专项资金名称" prop="specialFund"> <el-form-item label="专项资金名称" prop="specialFund">
<span>{{ <span>{{
@@ -85,7 +81,11 @@
<span>{{ toThousands(localFormData.specialFundAmount) }}</span> <span>{{ toThousands(localFormData.specialFundAmount) }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="部门分管领导" prop="optionalChargeLeadership">
<span>{{ localFormData.optionalChargeLeadership?.map(item=>item.name).join() }}</span>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row gutter="14" style="margin-bottom: -25px"> <el-row gutter="14" style="margin-bottom: -25px">
<el-col :span="24"> <el-col :span="24">

View File

@@ -40,7 +40,8 @@
<template #default="scope"> <template #default="scope">
<el-form-item prop="researchPersonnelId"> <el-form-item prop="researchPersonnelId">
{{ scope.row.researchPersonnel }} {{ scope.row.researchPersonnel }}
<el-button color="#DED0B2" @click="showPersonnelPicker(scope.row,scope.$index)" style="margin-left: 10px"> <el-button color="#DED0B2" @click="showPersonnelPicker(scope.row,scope.$index)"
style="margin-left: 10px">
{{ scope.row.researchPersonnel ? '更改' : '请选择研发人员' }} {{ scope.row.researchPersonnel ? '更改' : '请选择研发人员' }}
</el-button> </el-button>
</el-form-item> </el-form-item>
@@ -112,16 +113,18 @@
</div> </div>
<div class="approval-record"> <div class="approval-record">
<div class="approval-title"> <div class="approval-title">
<baseTitle title="审批记录" v-if="processDiagramViewer&& opentionData?.operationList"></baseTitle> <!-- <baseTitle title="审批记录" v-if="processDiagramViewer&& opentionData?.operationList"></baseTitle>-->
<div v-else></div> <!-- <div v-else></div>-->
<div style="display: flex;align-items: center;justify-content: flex-start;"> <baseTitle title="审批记录"></baseTitle>
<div class="base-title" style="margin-left: 10px;margin-right: 10px">流程图</div> <div class="diagram">
<div class="base-title">流程图</div>
<el-switch <el-switch
v-model="changeDiagram" v-model="changeDiagram"
style="--el-switch-on-color:#BEA266 ; --el-switch-off-color:#cecdcd" style="--el-switch-on-color:#BEA266 ; --el-switch-off-color:#cecdcd"
/> />
</div> </div>
</div> </div>
<el-empty :image-size="100" description="暂无审批记录" v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<div class="process"> <div class="process">
<operation-render <operation-render
v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram" v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram"
@@ -171,7 +174,7 @@ const rules = reactive({
researchDuration: [{required: true, message: '请输入研发时长', trigger: ['blur', 'change']}], researchDuration: [{required: true, message: '请输入研发时长', trigger: ['blur', 'change']}],
}) })
const processStore = useProcessStore() const processStore = useProcessStore()
const opentionData = ref() const opentionData = ref({})
const processInstanceData = ref() const processInstanceData = ref()
const processDiagramViewer = ref(false) const processDiagramViewer = ref(false)
const loading = ref(false) const loading = ref(false)
@@ -206,16 +209,16 @@ const researchOptions = ref([])
const showPersonnelPicker = (row, index) => { const showPersonnelPicker = (row, index) => {
currentRow.value = row currentRow.value = row
currentIndex.value = index currentIndex.value = index
if(row.companyName){ if (row.companyName) {
let userObj = { let userObj = {
id: row.researchPersonnelId, id: row.researchPersonnelId,
name: row.researchPersonnel, name: row.researchPersonnel,
companyName: row.companyName, companyName: row.companyName,
accountType: row.accountType, accountType: row.accountType,
} }
userList.value=[userObj] userList.value = [userObj]
}else if(!row.researchPersonnel){ } else if (!row.researchPersonnel) {
userList.value=[] userList.value = []
} }
nextTick(() => { nextTick(() => {
userPicker.value.showUserPicker() userPicker.value.showUserPicker()
@@ -233,7 +236,7 @@ const selected = (select) => {
item.accountType = select[0].accountType item.accountType = select[0].accountType
} }
}) })
userList.value=select userList.value = select
} }
const getResearchOptions = async () => { const getResearchOptions = async () => {
const res = await getResearchUser() const res = await getResearchUser()
@@ -370,7 +373,7 @@ const handleResubmit = (instance) => {
allocationId: formData.value.allocationId, allocationId: formData.value.allocationId,
shareName: formData.value.shareName, shareName: formData.value.shareName,
apportionmentMonth: formData.value.apportionmentMonth, apportionmentMonth: formData.value.apportionmentMonth,
usrAllocations:formData.value.tableData, usrAllocations: formData.value.tableData,
deploymentId: processInstanceData.value.deploymentId, deploymentId: processInstanceData.value.deploymentId,
} }
// console.log('params', params, formData.value.tableData) // console.log('params', params, formData.value.tableData)

View File

@@ -99,7 +99,15 @@
/> />
</div> </div>
</div> </div>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/> <el-empty :image-size="100" description="暂无审批记录" v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<!-- <process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>-->
<div class="process">
<operation-render
v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram"
:operation-list="opentionData?.operationList"
:state="opentionData.state"/>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>
</div>
</div> </div>
<div style="width: 100%;height: 30px"></div> <div style="width: 100%;height: 30px"></div>
<div class="oper-page-btn"> <div class="oper-page-btn">
@@ -107,7 +115,6 @@
<el-button color="#DED0B2" v-else @click="handleResubmit(demandForm)">重新提交</el-button> <el-button color="#DED0B2" v-else @click="handleResubmit(demandForm)">重新提交</el-button>
<el-button @click="handleBack">返回</el-button> <el-button @click="handleBack">返回</el-button>
</div> </div>
<company-picker :multiple="true" ref="companyRef" title="请选择征集公司" @ok="selected" <company-picker :multiple="true" ref="companyRef" title="请选择征集公司" @ok="selected"
v-model:value="selectedCompanyList"/> v-model:value="selectedCompanyList"/>
<file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl" <file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
@@ -121,20 +128,19 @@ import {useProcessStore} from '@/stores/processStore.js';
import { import {
getWorkflowInfo, getWorkflowInfo,
addRequirement, addRequirement,
getFormInfo, getInfo,
resubmit, resubmit,
deleteFile, deleteFile,
downloadFile downloadFile
} from "@/api/project-demand/index.js"; } from "@/api/project-demand/index.js";
import FileUpload from "@/components/FileUpload.vue"; import FileUpload from "@/components/FileUpload.vue";
import OperationRender from '@/views/workflow/common/OperationRender.vue'
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'; import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue';
import {ElNotification} from "element-plus"; import {ElNotification} from "element-plus";
import {useRoute, useRouter} from 'vue-router'
import {getSubCompOpt} from '@/api/user/user.js' import {getSubCompOpt} from '@/api/user/user.js'
import {useTagsView} from '@/stores/tagsview.js' import {useTagsView} from '@/stores/tagsview.js'
import {getFundOption} from "@/api/special-fund"; import {getFundOption} from "@/api/special-fund";
import CompanyPicker from "@/components/DetailComponent/CompanyPicker.vue"; import CompanyPicker from "@/components/DetailComponent/CompanyPicker.vue";
import {useCacheStore} from '@/stores/cache.js' import {useCacheStore} from '@/stores/cache.js'
const filePreviewParam = ref({ const filePreviewParam = ref({
fileUrl: '', fileUrl: '',
@@ -144,6 +150,7 @@ const filePreviewParam = ref({
const filePreviewShow = ref(false) const filePreviewShow = ref(false)
const cacheStore = useCacheStore() const cacheStore = useCacheStore()
const companyRef = ref() const companyRef = ref()
const opentionData = ref({})
const showExpendText = ref('') const showExpendText = ref('')
const showMoreCompany = ref(false) const showMoreCompany = ref(false)
const selectedCompanyList = ref([]) const selectedCompanyList = ref([])
@@ -481,9 +488,9 @@ const getCompanyOptionItem = (val) => {
return companyNameArray.value; return companyNameArray.value;
} }
const getDetailInfo = async () => { const getDetailInfo = async () => {
getFormInfo(route.query.id).then(res => { getInfo(route.query.id).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
if (res.data.companyIds[0] == -1) { if (res.data.formData.companyIds[0] == -1) {
selectedCompanyList.value = [ selectedCompanyList.value = [
{ {
value:-1, value:-1,
@@ -491,10 +498,11 @@ const getDetailInfo = async () => {
} }
] ]
} else { } else {
selectedCompanyList.value = getCompanyOptionItem(res.data.companyIds) selectedCompanyList.value = getCompanyOptionItem(res.data.formData.companyIds)
} }
formData.value = res.data formData.value = res.data.formData
if (res.data.fileList.length !== 0) { opentionData.value = res.data
if (res.data.formData.fileList.length !== 0) {
showTable.value = false showTable.value = false
nextTick(() => { nextTick(() => {
showTable.value = true showTable.value = true

View File

@@ -3,17 +3,17 @@
<baseTitle title="项目基本信息"></baseTitle> <baseTitle title="项目基本信息"></baseTitle>
<el-form :model="formData" ref="summaryForm" :rules="rules" label-width="120" :scroll-to-error="true"> <el-form :model="formData" ref="summaryForm" :rules="rules" label-width="120" :scroll-to-error="true">
<el-row gutter="40" style="margin-bottom: -18px"> <el-row gutter="40" style="margin-bottom: -18px">
<el-col :span="6">
<el-form-item label="项目名称" prop="projectName" >
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="承办单位" :label-width="route.query.id && formData.isSpecialFund?135:120"> <el-form-item label="承办单位" :label-width="route.query.id && formData.isSpecialFund?135:120">
<Tooltip :content="authStore.userinfo?.subCompanyName" placement="bottom-start" width="240" textAlign="left"> <Tooltip :content="authStore.userinfo?.subCompanyName" placement="bottom-start" width="240" textAlign="left">
</Tooltip> </Tooltip>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="项目名称" prop="projectName" >
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="开始时间" prop="startTime" label-width="135"> <el-form-item label="开始时间" prop="startTime" label-width="135">
<el-config-provider> <el-config-provider>
@@ -291,7 +291,15 @@
/> />
</div> </div>
</div> </div>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/> <el-empty :image-size="100" description="暂无审批记录" v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<!-- <process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>-->
<div class="process">
<operation-render
v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram"
:operation-list="opentionData?.operationList"
:state="opentionData.state"/>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>
</div>
</div> </div>
<div class="oper-page-btn"> <div class="oper-page-btn">
<!-- <el-button type="info" @click="staging">存为草稿</el-button>--> <!-- <el-button type="info" @click="staging">存为草稿</el-button>-->
@@ -303,6 +311,7 @@
</template> </template>
<script setup lang="jsx"> <script setup lang="jsx">
import OperationRender from '@/views/workflow/common/OperationRender.vue'
import {debounce} from 'lodash' import {debounce} from 'lodash'
import {getDetail, getProcessInfo, requirementReported, resubmitReported} from "@/api/project-demand/summary"; import {getDetail, getProcessInfo, requirementReported, resubmitReported} from "@/api/project-demand/summary";
import {ElNotification} from "element-plus"; import {ElNotification} from "element-plus";
@@ -318,6 +327,7 @@ import UserPicker from "@/views/workflow/process/common/UserPicker.vue";
const authStore = useAuthStore() const authStore = useAuthStore()
const changeDiagram = ref(false) const changeDiagram = ref(false)
const opentionData = ref({})
const cacheStore = useCacheStore() const cacheStore = useCacheStore()
const processStore = useProcessStore() const processStore = useProcessStore()
const router = useRouter() const router = useRouter()
@@ -585,6 +595,7 @@ const getDetailInfo = async () => {
if (res.code === 1000) { if (res.code === 1000) {
res.data.formData.specialFundId = res.data.formData.specialFundId === 0 ? null : res.data.formData.specialFundId res.data.formData.specialFundId = res.data.formData.specialFundId === 0 ? null : res.data.formData.specialFundId
formData.value = res.data.formData formData.value = res.data.formData
opentionData.value = res.data
optionalChargeLeadershipList.value=formData.value.optionalChargeLeadership optionalChargeLeadershipList.value=formData.value.optionalChargeLeadership
loading.value = false loading.value = false
} }
@@ -640,7 +651,7 @@ const staging = async () => {
<style lang="scss" scoped> <style lang="scss" scoped>
.detail-block { .detail-block {
overflow: hidden; overflow: hidden;
padding-bottom: 30px; padding: 0 30px 30px 15px;
:deep(.el-input-number) { :deep(.el-input-number) {
width: 100%; width: 100%;

View File

@@ -1,9 +1,10 @@
<template> <template>
<div class="apply-block" v-loading="loading"> <div class="apply-block" v-loading="loading">
<baseTitle title="基础信息"></baseTitle> <baseTitle title="项目基本信息"></baseTitle>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" style="margin-left: 56px"></fvForm> <fvForm :schema="schema" @getInstance="(e)=>baseForm = e" ></fvForm>
<baseTitle title="阶段变更信息"></baseTitle>
<el-form :model="formData" label-width="auto"> <el-form :model="formData" label-width="auto">
<el-form-item label="抄送人员" label-width="125"> <el-form-item label="抄送人员" label-width="105">
<Ttsup :modelValue="chooseUserInfo()" @clickCopyUser="chooseUser"/> <Ttsup :modelValue="chooseUserInfo()" @clickCopyUser="chooseUser"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
@@ -12,15 +13,26 @@
@getAttachment="getAttachment" v-model:singleList="singleList" :showSingleTable="showSingleTable" @getAttachment="getAttachment" v-model:singleList="singleList" :showSingleTable="showSingleTable"
@getOtherFile="getOtherFile" :showFileList="true" :formData="formData" tag="阶段变更" @getOtherFile="getOtherFile" :showFileList="true" :formData="formData" tag="阶段变更"
:preview="name === 'Phase/edit'"/> :preview="name === 'Phase/edit'"/>
<div class="approval-record" style="margin-left: 68px"> <div class="approval-record" >
<div style="display: flex;align-items: center;justify-content: flex-start;"> <div class="approval-title" >
<div class="base-title">流程图</div> <baseTitle title="审批记录"></baseTitle>
<el-switch <div class="diagram">
v-model="changeDiagram" <div class="base-title">流程图</div>
style="--el-switch-on-color:#BEA266; --el-switch-off-color:#cecdcd;margin-left: 10px" <el-switch
/> v-model="changeDiagram"
style="--el-switch-on-color:#BEA266; --el-switch-off-color:#cecdcd;"
/>
</div>
</div>
<el-empty :image-size="100" description="暂无审批记录" v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<!-- <process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>-->
<div class="process">
<operation-render
v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram"
:operation-list="opentionData?.operationList"
:state="opentionData.state"/>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>
</div> </div>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>
</div> </div>
<div class="oper-page-btn"> <div class="oper-page-btn">
<el-button color="#DED0B2" v-if="name==='Phase/change'" @click="handleSubmit">提交</el-button> <el-button color="#DED0B2" v-if="name==='Phase/change'" @click="handleSubmit">提交</el-button>
@@ -30,10 +42,11 @@
</template> </template>
<script setup lang="jsx"> <script setup lang="jsx">
import OperationRender from '@/views/workflow/common/OperationRender.vue'
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'; import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue';
import UserPicker from "@/views/workflow/process/common/UserPicker.vue"; import UserPicker from "@/views/workflow/process/common/UserPicker.vue";
import Ttsup from './components/ToolToShowUserPicker.vue' import Ttsup from './components/ToolToShowUserPicker.vue'
import {getPhaseProcess, submitPhaseChange, getPhaseForm, resubmitPhaseForm} from "@/api/project-manage"; import {getPhaseProcess, submitPhaseChange, getPhaseDetail, resubmitPhaseForm} from "@/api/project-manage";
import {ElNotification} from "element-plus"; import {ElNotification} from "element-plus";
import {useProcessStore} from '@/stores/processStore.js'; import {useProcessStore} from '@/stores/processStore.js';
import {useTagsView} from '@/stores/tagsview.js' import {useTagsView} from '@/stores/tagsview.js'
@@ -46,6 +59,7 @@ const router = useRouter()
const route = useRoute() const route = useRoute()
const attachment = ref() const attachment = ref()
const userPicker = ref() const userPicker = ref()
const opentionData = ref({})
const showSingleTable = ref(false) const showSingleTable = ref(false)
const singleList = ref([]) const singleList = ref([])
const name = ref(router.currentRoute.value.name) const name = ref(router.currentRoute.value.name)
@@ -290,15 +304,16 @@ const init = async () => {
} }
} }
const getDetailInfo = async () => { const getDetailInfo = async () => {
getPhaseForm(route.query.projectId).then(res => { getPhaseDetail(route.query.projectId).then(res => {
ElNotification({ ElNotification({
title: '提示', title: '提示',
message: res.msg, message: res.msg,
type: res.code === 1000 ? 'success' : 'error' type: res.code === 1000 ? 'success' : 'error'
}) })
if (res.code === 1000) { if (res.code === 1000) {
userList.value=res.data.userInfoList?res.data.userInfoList:[] userList.value=res.data.formData.userInfoList?res.data.formData.userInfoList:[]
formData.value = res.data formData.value = res.data.formData
opentionData.value = res.data
loading.value = false loading.value = false
} }
}) })

View File

@@ -29,14 +29,25 @@
</template> </template>
</fvTable> </fvTable>
<div class="approval-record"> <div class="approval-record">
<div style="display: flex;align-items: center;justify-content: flex-start;"> <div class="approval-title" >
<div class="base-title">流程图</div> <baseTitle title="审批记录"></baseTitle>
<el-switch <div class="diagram">
v-model="changeDiagram" <div class="base-title">流程图</div>
style="--el-switch-on-color:#BEA266 ; --el-switch-off-color:#cecdcd;margin-left: 10px" <el-switch
/> v-model="changeDiagram"
style="--el-switch-on-color:#BEA266; --el-switch-off-color:#cecdcd;"
/>
</div>
</div>
<el-empty :image-size="100" description="暂无审批记录" v-if="processDiagramViewer&& !opentionData?.operationList&&!changeDiagram"/>
<!-- <process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>-->
<div class="process">
<operation-render
v-if="processDiagramViewer&& opentionData?.operationList && opentionData?.operationList.length > 0&&!changeDiagram"
:operation-list="opentionData?.operationList"
:state="opentionData.state"/>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>
</div> </div>
<process-diagram-viewer mode="view" v-if="processDiagramViewer&&changeDiagram"/>
</div> </div>
<div class="oper-page-btn"> <div class="oper-page-btn">
<el-button color="#DED0B2" v-if="routerName === 'Fund/add'" @click="handleSubmit(fundForm)">提交</el-button> <el-button color="#DED0B2" v-if="routerName === 'Fund/add'" @click="handleSubmit(fundForm)">提交</el-button>
@@ -49,9 +60,10 @@
</template> </template>
<script setup lang="jsx"> <script setup lang="jsx">
import OperationRender from '@/views/workflow/common/OperationRender.vue'
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue'; import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue';
import {ElNotification} from "element-plus"; import {ElNotification} from "element-plus";
import {addFund, resubmitFund, getFundDetail, getFundProcess} from "@/api/special-fund"; import {addFund, resubmitFund, getFundDetail,getFundDetailProcess, getFundProcess} from "@/api/special-fund";
import {useRouter} from "vue-router"; import {useRouter} from "vue-router";
import {useTagsView} from '@/stores/tagsview.js' import {useTagsView} from '@/stores/tagsview.js'
import {useProcessStore} from '@/stores/processStore.js'; import {useProcessStore} from '@/stores/processStore.js';
@@ -62,6 +74,7 @@ const tagsViewStore = useTagsView()
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
const processStore = useProcessStore() const processStore = useProcessStore()
const opentionData = ref({})
const loading = ref(false) const loading = ref(false)
const showTable = ref(true) const showTable = ref(true)
const processInstanceData = ref() const processInstanceData = ref()
@@ -279,14 +292,15 @@ const init = async () => {
}) })
} }
const getDetailInfo = async () => { const getDetailInfo = async () => {
getFundDetail(route.query.id).then(res => { getFundDetailProcess(route.query.id).then(res => {
ElNotification({ ElNotification({
title: '提示', title: '提示',
message: res.msg, message: res.msg,
type: res.code === 1000 ? 'success' : 'error' type: res.code === 1000 ? 'success' : 'error'
}) })
if (res.code === 1000) { if (res.code === 1000) {
formData.value = res.data formData.value = res.data.formData
opentionData.value = res.data
showTable.value = false showTable.value = false
nextTick(() => { nextTick(() => {
showTable.value = true showTable.value = true