|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<div class="processApproval" ref="processApprovalDom">
|
|
|
- <div class="left-card">
|
|
|
+ <div class="left-card" :class="{'noRight':!isShowRightDom}">
|
|
|
<div class="top">
|
|
|
<div class="commons-title title">
|
|
|
{{ getFlowName() }}
|
|
@@ -83,77 +83,82 @@
|
|
|
<!-- <CancelClaim ref="makeDom" v-else-if="flowForm.flowKey == 'claim_del_flow'" :queryData="queryData.data"></CancelClaim> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="right-card">
|
|
|
- <el-tabs v-model="activeName" class="demo-tabs">
|
|
|
- <el-tab-pane label="处理意见" name="first" v-if="isShowSubmitDom">
|
|
|
- <div style="overflow: auto; height: calc(100vh - 200px)">
|
|
|
- <div style="padding-bottom:50px" v-if="showChart">
|
|
|
- <div style="margin-bottom:10px;">
|
|
|
- <TitleInfo :content="'利润预算波动'"></TitleInfo>
|
|
|
+ <div class="right-card" :class="{'hiddenBom':!isShowRightDom}">
|
|
|
+ <div class="changeBox" @click="isShowRightDom = !isShowRightDom">
|
|
|
+ <span v-if="isShowRightDom" class="iconfont icon-icomx_rightt1" style="color: #fff; font-size: 20px"></span>
|
|
|
+ <span v-if="!isShowRightDom" class="iconfont icon-iconm_leftt1" style="color: #fff; font-size: 20px"></span>
|
|
|
+ </div>
|
|
|
+ <div v-show="isShowRightDom">
|
|
|
+ <el-tabs v-model="activeName" class="demo-tabs">
|
|
|
+ <el-tab-pane label="处理意见" name="first" v-if="isShowSubmitDom">
|
|
|
+ <div style="overflow: auto; height: calc(100vh - 200px)">
|
|
|
+ <div style="padding-bottom:50px" v-if="showChart">
|
|
|
+ <div style="margin-bottom:10px;">
|
|
|
+ <TitleInfo :content="'利润预算波动'"></TitleInfo>
|
|
|
+ </div>
|
|
|
+ <div ref="chartDom" style="height:150px"></div>
|
|
|
</div>
|
|
|
- <div ref="chartDom" style="height:150px"></div>
|
|
|
- </div>
|
|
|
|
|
|
- <div style="margin-bottom:10px">
|
|
|
- <TitleInfo :content="'办理'"></TitleInfo>
|
|
|
- </div>
|
|
|
- <el-form :model="flowForm" :rules="flowRules" ref="flowFormDom" label-position="top">
|
|
|
- <el-form-item prop="remark" label-width="0px" label="">
|
|
|
- <el-input type="textarea" placeholder="请输入" :rows="3" v-model="flowForm.remark">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="remark" label="">
|
|
|
- <div style="width:100%">
|
|
|
- <el-upload v-model:fileList="flowForm.fileList" drag :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
|
|
|
- :on-success="handleSuccess" :on-preview="onPreviewFile">
|
|
|
- <el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
|
|
- <div class="el-upload__text">
|
|
|
- 点击或拖拽上传附件
|
|
|
- </div>
|
|
|
- </el-upload>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <div style="text-align:center;width:100%">
|
|
|
- <el-button type="primary" v-if="approvalRecordData.buttonInfoList.length == 0" @click="handleSubmit"
|
|
|
- :loading="btnLoading">提交</el-button>
|
|
|
- <el-button type="primary" v-if="
|
|
|
+ <div style="margin-bottom:10px">
|
|
|
+ <TitleInfo :content="'办理'"></TitleInfo>
|
|
|
+ </div>
|
|
|
+ <el-form :model="flowForm" :rules="flowRules" ref="flowFormDom" label-position="top">
|
|
|
+ <el-form-item prop="remark" label-width="0px" label="">
|
|
|
+ <el-input type="textarea" placeholder="请输入" :rows="3" v-model="flowForm.remark">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="remark" label="">
|
|
|
+ <div style="width:100%">
|
|
|
+ <el-upload v-model:fileList="flowForm.fileList" drag :action="uploadUrl" :data="uploadData" multiple :before-upload="uploadFile"
|
|
|
+ :on-success="handleSuccess" :on-preview="onPreviewFile">
|
|
|
+ <el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
|
|
+ <div class="el-upload__text">
|
|
|
+ 点击或拖拽上传附件
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <div style="text-align:center;width:100%">
|
|
|
+ <el-button type="primary" v-if="approvalRecordData.buttonInfoList.length == 0" @click="handleSubmit"
|
|
|
+ :loading="btnLoading">提交</el-button>
|
|
|
+ <el-button type="primary" v-if="
|
|
|
approvalRecordData.buttonInfoList.length == 0 &&
|
|
|
StagFlowKey.includes(flowForm.flowKey)
|
|
|
" @click="handleSubmitStag" :loading="btnLoading">暂存</el-button>
|
|
|
|
|
|
- <div v-else>
|
|
|
- <!-- 按钮长度小于2 -->
|
|
|
- <template v-for="(item,index) in approvalRecordData.buttonInfoList" :key="item.type">
|
|
|
- <el-button type="primary" :loading="btnLoading" @click="handleSubmit(item.type)" style="margin-bottom:10px"
|
|
|
- v-if="index<2">{{ item.name }}</el-button>
|
|
|
- </template>
|
|
|
- <!-- 大于等于2 -->
|
|
|
- <template v-if="approvalRecordData.buttonInfoList.length>2">
|
|
|
- <el-popover placement="bottom-start" title="" :width="120" trigger="hover">
|
|
|
- <div style="text-align:center;width:100%">
|
|
|
- <div v-for="(item,index) in approvalRecordData.buttonInfoList" :key="item.type" style="text-align:center;width:100%">
|
|
|
- <el-button type="primary" :loading="btnLoading" @click="handleSubmit(item.type)" style="margin-bottom:10px"
|
|
|
- v-if="index>=2">
|
|
|
- {{ item.name }}</el-button>
|
|
|
+ <div v-else>
|
|
|
+ <!-- 按钮长度小于2 -->
|
|
|
+ <template v-for="(item,index) in approvalRecordData.buttonInfoList" :key="item.type">
|
|
|
+ <el-button type="primary" :loading="btnLoading" @click="handleSubmit(item.type)" style="margin-bottom:10px"
|
|
|
+ v-if="index<2">{{ item.name }}</el-button>
|
|
|
+ </template>
|
|
|
+ <!-- 大于等于2 -->
|
|
|
+ <template v-if="approvalRecordData.buttonInfoList.length>2">
|
|
|
+ <el-popover placement="bottom-start" title="" :width="120" trigger="hover">
|
|
|
+ <div style="text-align:center;width:100%">
|
|
|
+ <div v-for="(item,index) in approvalRecordData.buttonInfoList" :key="item.type" style="text-align:center;width:100%">
|
|
|
+ <el-button type="primary" :loading="btnLoading" @click="handleSubmit(item.type)" style="margin-bottom:10px"
|
|
|
+ v-if="index>=2">
|
|
|
+ {{ item.name }}</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <template #reference>
|
|
|
- <el-button type="primary" style="margin-bottom:10px;">更多</el-button>
|
|
|
- </template>
|
|
|
- </el-popover>
|
|
|
- </template>
|
|
|
+ <template #reference>
|
|
|
+ <el-button type="primary" style="margin-bottom:10px;">更多</el-button>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="审批记录" name="second">
|
|
|
- <ul class="flow-chart" ref="flowChartDom">
|
|
|
- <li v-for="item in recordList" :key="item.id" :class="
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="审批记录" name="second">
|
|
|
+ <ul class="flow-chart" ref="flowChartDom">
|
|
|
+ <li v-for="item in recordList" :key="item.id" :class="
|
|
|
!route.query.id
|
|
|
? ''
|
|
|
: item.status == 2
|
|
@@ -164,33 +169,34 @@
|
|
|
? 'flow-grey'
|
|
|
: ''
|
|
|
">
|
|
|
- <div class="left-icon">
|
|
|
- <i class="iconfont icon-iconm_daick"></i>
|
|
|
- <i class="iconfont icon-icomx_quertj1 right-btm-status"></i>
|
|
|
- </div>
|
|
|
- <div class="right-conetnt">
|
|
|
- <div class="name">{{ item.nodeName }}</div>
|
|
|
- <div class="remark">
|
|
|
- <div class="label">
|
|
|
- <span v-if="item.status != 3">办理人:</span>{{ item.processedUser
|
|
|
+ <div class="left-icon">
|
|
|
+ <i class="iconfont icon-iconm_daick"></i>
|
|
|
+ <i class="iconfont icon-icomx_quertj1 right-btm-status"></i>
|
|
|
+ </div>
|
|
|
+ <div class="right-conetnt">
|
|
|
+ <div class="name">{{ item.nodeName }}</div>
|
|
|
+ <div class="remark">
|
|
|
+ <div class="label">
|
|
|
+ <span v-if="item.status != 3">办理人:</span>{{ item.processedUser
|
|
|
}}<span class="time">{{ item.processedDate }}</span>
|
|
|
- </div>
|
|
|
- {{ item.remark }}
|
|
|
- <div v-for="j in fileObj[item.flowExampleDetailId]" v-if="fileObj[item.flowExampleDetailId]">
|
|
|
- <a @click="proxy.download(j.fileUrl, j.fileName)" style="color: #409eff; line-height: 30px">{{ j.fileName }}</a>
|
|
|
+ </div>
|
|
|
+ {{ item.remark }}
|
|
|
+ <div v-for="j in fileObj[item.flowExampleDetailId]" v-if="fileObj[item.flowExampleDetailId]">
|
|
|
+ <a @click="proxy.download(j.fileUrl, j.fileName)" style="color: #409eff; line-height: 30px">{{ j.fileName }}</a>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="line"></div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </el-tab-pane>
|
|
|
- <!-- <el-tab-pane label="决策辅助" name="three" v-if="auxiliaryData.length > 0">
|
|
|
+ <div class="line"></div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </el-tab-pane>
|
|
|
+ <!-- <el-tab-pane label="决策辅助" name="three" v-if="auxiliaryData.length > 0">
|
|
|
<div style="overflow: auto; height: calc(100vh - 200px)">
|
|
|
<auxiliary :data="auxiliaryData"></auxiliary>
|
|
|
</div>
|
|
|
</el-tab-pane> -->
|
|
|
- </el-tabs>
|
|
|
+ </el-tabs>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<el-dialog :title="dialogTitle" width="400" v-model="dialogVisible" v-if="dialogVisible" :before-close="handleNextClose" :show-close="true"
|
|
@@ -827,6 +833,8 @@ onMounted(() => {
|
|
|
window.addEventListener("resize", () => {
|
|
|
getTableHeight();
|
|
|
});
|
|
|
+
|
|
|
+const isShowRightDom = ref(true);
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.processApproval {
|
|
@@ -834,6 +842,10 @@ window.addEventListener("resize", () => {
|
|
|
justify-content: space-between;
|
|
|
padding: 10px;
|
|
|
// height: calc(100vh - 100px);
|
|
|
+ .noRight {
|
|
|
+ width: 100% !important;
|
|
|
+ margin-right: 0px !important;
|
|
|
+ }
|
|
|
.left-card {
|
|
|
// background: #fff;
|
|
|
border-radius: 4px;
|
|
@@ -863,6 +875,10 @@ window.addEventListener("resize", () => {
|
|
|
overflow: auto;
|
|
|
}
|
|
|
}
|
|
|
+ .hiddenBom {
|
|
|
+ width: 0px !important;
|
|
|
+ padding: 0px !important;
|
|
|
+ }
|
|
|
.right-card {
|
|
|
background: #fff;
|
|
|
border-radius: 4px;
|
|
@@ -870,6 +886,19 @@ window.addEventListener("resize", () => {
|
|
|
padding: 0 20px 5px;
|
|
|
width: 350px;
|
|
|
box-sizing: border-box;
|
|
|
+ position: relative;
|
|
|
+ .changeBox {
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ position: absolute;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 40px;
|
|
|
+ left: -30px;
|
|
|
+ top: 0px;
|
|
|
+ background: #ff9315;
|
|
|
+ border-radius: 10px 0px 0px 10px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
.flow-chart {
|
|
|
overflow: auto;
|
|
|
height: calc(100vh - 200px);
|