明树Git Lab

Commit 355db9e2 authored by zhanghan's avatar zhanghan

状态处理

parent 330f85bb
Pipeline #111286 passed with stage
in 20 seconds
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
v-for="(node, index) in activeNodes" v-for="(node, index) in activeNodes"
:key="index" :key="index"
class="flow-node-wrap" class="flow-node-wrap"
:ref="el => nodeEls[index] = el" :ref="(el) => (nodeEls[index] = el)"
> >
<div <div
class="flow-node" class="flow-node"
...@@ -15,7 +15,9 @@ ...@@ -15,7 +15,9 @@
> >
<span class="node-label">{{ node.label }}</span> <span class="node-label">{{ node.label }}</span>
</div> </div>
<div v-if="node.annotation" class="flow-annotation">{{ node.annotation }}</div> <div v-if="node.annotation" class="flow-annotation">
{{ node.annotation }}
</div>
<div v-if="index < activeNodes.length - 1" class="flow-arrow"> <div v-if="index < activeNodes.length - 1" class="flow-arrow">
<div class="arrow-line"></div> <div class="arrow-line"></div>
<div class="arrow-head"></div> <div class="arrow-head"></div>
...@@ -29,7 +31,14 @@ ...@@ -29,7 +31,14 @@
:height="svgHeight" :height="svgHeight"
> >
<defs> <defs>
<marker id="arrowMarker" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> <marker
id="arrowMarker"
markerWidth="8"
markerHeight="6"
refX="8"
refY="3"
orient="auto"
>
<path d="M0,0 L8,3 L0,6 Z" fill="#909399" /> <path d="M0,0 L8,3 L0,6 Z" fill="#909399" />
</marker> </marker>
</defs> </defs>
...@@ -50,7 +59,9 @@ ...@@ -50,7 +59,9 @@
text-anchor="middle" text-anchor="middle"
dominant-baseline="middle" dominant-baseline="middle"
:transform="`rotate(-90, ${path.textX}, ${path.textY})`" :transform="`rotate(-90, ${path.textX}, ${path.textY})`"
>退回修改</text> >
退回修改
</text>
</g> </g>
</svg> </svg>
</div> </div>
...@@ -89,15 +100,24 @@ const simpleNodes = [ ...@@ -89,15 +100,24 @@ const simpleNodes = [
]; ];
const complexLevelMap = { const complexLevelMap = {
1: 2, 2: 2, 7: 2, 1: 2,
2: 2,
7: 2,
3: 4, 3: 4,
4: 6, 8: 6, 4: 6,
5: 7, 9: 7, 13: 7, 14: 7, 15: 7, 8: 6,
5: 7,
9: 7,
13: 7,
14: 7,
15: 7,
}; };
const simpleLevelMap = { const simpleLevelMap = {
1: 2, 2: 2, 1: 2,
3: 3, 4: 3, 2: 2,
3: 3,
4: 3,
5: 4, 5: 4,
}; };
...@@ -179,7 +199,7 @@ watch( ...@@ -179,7 +199,7 @@ watch(
() => [props.flowType, props.currentState], () => [props.flowType, props.currentState],
() => { () => {
nextTick(() => nextTick(calcReturnPaths)); nextTick(() => nextTick(calcReturnPaths));
} },
); );
</script> </script>
...@@ -215,7 +235,7 @@ watch( ...@@ -215,7 +235,7 @@ watch(
.return-svg { .return-svg {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: -20px;
pointer-events: none; pointer-events: none;
overflow: visible; overflow: visible;
} }
......
...@@ -71,7 +71,11 @@ ...@@ -71,7 +71,11 @@
<el-table-column label="操作人" min-width="100"> <el-table-column label="操作人" min-width="100">
<template #default="{ row }">{{ row.creator?.name }}</template> <template #default="{ row }">{{ row.creator?.name }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="actionName" label="项目步骤" min-width="120" /> <el-table-column
prop="actionName"
label="项目步骤"
min-width="120"
/>
<el-table-column <el-table-column
prop="approvalMessage" prop="approvalMessage"
label="审核意见" label="审核意见"
...@@ -81,7 +85,10 @@ ...@@ -81,7 +85,10 @@
</el-table> </el-table>
</div> </div>
<div class="process-right"> <div class="process-right">
<ProcessFlowChart :flow-type="flowType" :current-state="currentState" /> <ProcessFlowChart
:flow-type="flowType"
:current-state="currentState"
/>
</div> </div>
</div> </div>
<template #footer> <template #footer>
...@@ -213,7 +220,8 @@ const handleProcess = () => { ...@@ -213,7 +220,8 @@ const handleProcess = () => {
} }
.process-right { .process-right {
width: 420px; // width: 360px;
max-width: 420px;
flex-shrink: 0; flex-shrink: 0;
border-left: 1px solid #ebeef5; border-left: 1px solid #ebeef5;
display: flex; display: flex;
......
...@@ -72,7 +72,10 @@ ...@@ -72,7 +72,10 @@
> >
<el-button <el-button
type="primary" type="primary"
v-if="formData.projectLzType == '1'" v-if="
formData.projectLzType == '1' &&
formData.projectCreator == userInfo?.id
"
@click="saveClick('submit')" @click="saveClick('submit')"
>发起立项填报</el-button >发起立项填报</el-button
> >
...@@ -94,7 +97,7 @@ ...@@ -94,7 +97,7 @@
" "
type="primary" type="primary"
@click="auditDialogVisible = true" @click="auditDialogVisible = true"
>{{ formData.projectLzType == '3' ? '初审' : '审核' }}</el-button >{{ formData.projectLzType == "3" ? "初审" : "审核" }}</el-button
> >
<el-button <el-button
v-if=" v-if="
...@@ -180,12 +183,18 @@ ...@@ -180,12 +183,18 @@
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script setup> <script setup>
import { reactive, ref, computed, onMounted, getCurrentInstance, provide } from "vue"; import {
reactive,
ref,
computed,
onMounted,
getCurrentInstance,
provide,
} from "vue";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import { useUserStore } from "@/stores/user.js"; import { useUserStore } from "@/stores/user.js";
...@@ -214,6 +223,8 @@ const userInfo = ...@@ -214,6 +223,8 @@ const userInfo =
(sessionStorage.getItem("userInfo") && (sessionStorage.getItem("userInfo") &&
JSON.parse(sessionStorage.getItem("userInfo"))) || JSON.parse(sessionStorage.getItem("userInfo"))) ||
{}; {};
console.log(userInfo, "userInfo");
let canAudit = ref(false); let canAudit = ref(false);
userInfo.roles.map((item) => { userInfo.roles.map((item) => {
if (["xmlx_sp", "xmjc_sp"].includes(item.key)) { if (["xmlx_sp", "xmjc_sp"].includes(item.key)) {
...@@ -221,15 +232,16 @@ userInfo.roles.map((item) => { ...@@ -221,15 +232,16 @@ userInfo.roles.map((item) => {
} }
}); });
const isTouGuanBu = userInfo.departs?.some(d => d.name === '投资管理部门'); const isTouGuanBu = userInfo.departs?.some((d) => d.name === "投资管理部门");
const currentFlowState = computed(() => { const currentFlowState = computed(() => {
const lxState = Number(formData.projectLzType) || 0; const lxState = Number(formData.projectLzType) || 0;
const jcState = Number(jcFormData.projectLzType) || 0; const jcState = Number(jcFormData.projectLzType) || 0;
return jcState >= 7 ? jcState : lxState; return jcState >= 7 ? jcState : lxState;
}); });
const flowType = computed(() => { const flowType = computed(() => {
if (isTouGuanBu && currentFlowState.value >= 1 && currentFlowState.value <= 6) return 'simple'; if (isTouGuanBu && currentFlowState.value >= 1 && currentFlowState.value <= 6)
return 'complex'; return "simple";
return "complex";
}); });
// tab相关 // tab相关
......
...@@ -96,19 +96,14 @@ let tableColumns = ref([ ...@@ -96,19 +96,14 @@ let tableColumns = ref([
width: 120, width: 120,
align: "center", align: "center",
formatter: (data) => { formatter: (data) => {
return data.projectLzType === "1" const type = data.projectLzType;
? "待立项" if (type === "1") return "待立项";
: data.projectLzType === "3" if (type === "2" || type === "3" || type === "4") return "立项审批中";
? "立项审批中" if (type === "5") return "已立项";
: data.projectLzType === "5" if (type === "7") return "决策填报中";
? "已立项" if (type === "8") return "决策审批中";
: data.projectLzType === "7" if (type === "9") return "已决策";
? "决策填报中" return "待立项";
: data.projectLzType === "8"
? "决策审批中"
: data.projectLzType === "9"
? "已决策"
: "待立项";
}, },
}, },
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment