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

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/486
This commit is contained in:
2024-07-06 07:46:48 +00:00
6 changed files with 69 additions and 56 deletions

View File

@@ -2,46 +2,45 @@
<el-button color="#DED0B2" style="float: right;margin: 0 10px 10px 0" @click="exportTable">导出</el-button> <el-button color="#DED0B2" style="float: right;margin: 0 10px 10px 0" @click="exportTable">导出</el-button>
<el-table ref="reportTable" :data="tableData" style="width: 100%;height: 479px" <el-table ref="reportTable" :data="tableData" style="width: 100%;height: 479px"
:span-method="objectSpanMethod" v-loading="loading"> :span-method="objectSpanMethod" v-loading="loading">
<!-- <el-table-column label="四川省国有资产经营投资管理有限责任公司--> <el-table-column label="四川省国有资产经营投资管理有限责任公司科技创新项目人工成本分摊明细表" align="center">
<!-- 科技创新项目人工成本分摊明细表" align="center">--> <el-table-column v-for="column in columnInfo" :prop="column.prop" :label="column.label" align="center"
<el-table-column v-for="column in columnInfo" :prop="column.prop" :label="column.label" align="center" :fixed="(!column.children) ? ((column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost') ? 'right' : 'left') : false"
:fixed="(!column.children) ? ((column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost') ? 'right' : 'left') : false" :width="(column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost') ? 160:130">
:width="(column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost') ? 160:130"> <template #default="scope">
<template #default="scope"> <template v-if="column.children">
<template v-if="column.children"> <el-table-column v-for="childColumn in column.children"
<el-table-column v-for="childColumn in column.children" :prop="column.prop + '.'+ childColumn.prop"
:prop="column.prop + '.'+ childColumn.prop" :label="childColumn.label"
:label="childColumn.label" :width="childColumn.prop === 'subtotal' ? 160 : 130">
:width="childColumn.prop === 'subtotal' ? 160 : 130"> <template #default="columnScope">
<template #default="columnScope"> <template v-if="(tableData.length -1) !== columnScope.$index">
<template v-if="(tableData.length -1) !== columnScope.$index"> {{
{{ columnScope.row[column.prop][childColumn.prop] ? columnScope.row[column.prop][childColumn.prop] : '/'
columnScope.row[column.prop][childColumn.prop] ? columnScope.row[column.prop][childColumn.prop] : '/' }}
}} </template>
<template v-else>
{{ columnScope.row[column.prop][childColumn.prop] }}
</template>
</template> </template>
<template v-else> </el-table-column>
{{ columnScope.row[column.prop][childColumn.prop] }}
</template>
</template>
</el-table-column>
</template>
<template v-else>
<!--分摊金额合计与分摊金额总计计算-->
<template
v-if="(column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost') && (tableData.length -1) !== scope.$index">
{{ getTotalSeparation(scope.row, column.prop) }}
</template>
<template
v-else-if="(tableData.length -1) === scope.$index && (column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost')">
{{ getTotalSummary(scope.row, column.prop) }}
</template> </template>
<template v-else> <template v-else>
{{ scope.row[column.prop] }} <!--分摊金额合计与分摊金额总计计算-->
<template
v-if="(column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost') && (tableData.length -1) !== scope.$index">
{{ getTotalSeparation(scope.row, column.prop) }}
</template>
<template
v-else-if="(tableData.length -1) === scope.$index && (column.prop === 'totalSeparation' || column.prop === 'totalSeparationCost')">
{{ getTotalSummary(scope.row, column.prop) }}
</template>
<template v-else>
{{ scope.row[column.prop] }}
</template>
</template> </template>
</template> </template>
</template> </el-table-column>
</el-table-column> </el-table-column>
<!-- </el-table-column>-->
</el-table> </el-table>
</template> </template>
@@ -160,7 +159,7 @@ const concatColumn = (columnIndex, length, rowIndex) => {
const init = () => { const init = () => {
loading.value = true loading.value = true
getAllocationDetails(route.query.id).then(res => { getAllocationDetails(route.query.id).then(res => {
if(res.code!==1000){ if (res.code !== 1000) {
ElNotification({ ElNotification({
title: '提示', title: '提示',
message: res.msg, message: res.msg,

View File

@@ -37,6 +37,7 @@
<div v-else>--</div> <div v-else>--</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="departmentName" label="承办部门" align="center"/>
<el-table-column prop="investmentType" label="出资类型" align="center"> <el-table-column prop="investmentType" label="出资类型" align="center">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.investmentType !== null"> <div v-if="scope.row.investmentType !== null">

View File

@@ -12,11 +12,18 @@
当前节点: {{ operation.operationName }} 当前节点: {{ operation.operationName }}
</div> </div>
<div class="card"> <div class="card">
<div v-for="(user,index) in operation.userInfo" :key="index" class="avatar_name" :style="{'flex-direction': isColumn?'column':'row'}"> <div v-for="(user,index) in operation.userInfo" :key="index" class="avatar_name"
:style="{'flex-direction': isColumn?'column':'row'}">
<div class="avatar-block" :style="{'margin-bottom': isColumn?'10px':'0'}"> <div class="avatar-block" :style="{'margin-bottom': isColumn?'10px':'0'}">
<name-circle :user="user"/> <name-circle :user="user"/>
<div class="name"> <div class="name">
<span>{{ user.name }}</span> <div style="display: flex;align-items: center">
<el-icon :color="user.accountType==='0'?'#95d475':user.accountType==null?'#95d475':'#409eff'"
style="margin-right: 5px;">
<UserFilled/>
</el-icon>
<span class="name-style">{{ user.name }}</span>
</div>
<span>{{ user.jobActivityDesc }}</span> <span>{{ user.jobActivityDesc }}</span>
</div> </div>
</div> </div>
@@ -67,7 +74,7 @@ const props = defineProps({
}, },
isColumn: { isColumn: {
type: Boolean, type: Boolean,
default:false default: false
} }
}) })
@@ -295,20 +302,21 @@ init()
border-bottom: none; border-bottom: none;
} }
.avatar-block { .avatar-block {
display: flex; display: flex;
.name { .name {
width:130px; width: 130px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-left: 10px; margin-left: 10px;
margin-right: 20px; margin-right: 20px;
> span:first-child { .name-style{
color: #2a99ff; color: #2a99ff;
} }
>span:last-child{
> span:last-child {
margin-top: 5px; margin-top: 5px;
color: #909399; color: #909399;
} }

View File

@@ -9,6 +9,7 @@ export const APPROVAL_PROPS = {
assignedUser: [] //审批人列表 assignedUser: [] //审批人列表
}, },
matrixApproval: true, matrixApproval: true,
skipSelf: true,
timeLimit: { //边界事件 timeLimit: { //边界事件
timeout: { //超时提醒时间 timeout: { //超时提醒时间
unit: "H", unit: "H",

View File

@@ -7,12 +7,12 @@
</el-icon> </el-icon>
<span>审批人</span> <span>审批人</span>
</div> </div>
<div @click="addCcNode"> <!-- <div @click="addCcNode">-->
<el-icon style="color:rgb(50, 150, 250);"> <!-- <el-icon style="color:rgb(50, 150, 250);">-->
<Promotion/> <!-- <Promotion/>-->
</el-icon> <!-- </el-icon>-->
<span>抄送人</span> <!-- <span>抄送人</span>-->
</div> <!-- </div>-->
<div @click="addConditionsNode"> <div @click="addConditionsNode">
<el-icon style="color:rgb(21, 188, 131);"> <el-icon style="color:rgb(21, 188, 131);">
<Share/> <Share/>
@@ -25,12 +25,12 @@
</el-icon> </el-icon>
<span>并行分支</span> <span>并行分支</span>
</div> </div>
<div @click="addDelayNode"> <!-- <div @click="addDelayNode">-->
<el-icon style="color:#f25643;"> <!-- <el-icon style="color:#f25643;">-->
<Clock/> <!-- <Clock/>-->
</el-icon> <!-- </el-icon>-->
<span>延迟等待</span> <!-- <span>延迟等待</span>-->
</div> <!-- </div>-->
<!-- <div @click="addTriggerNode">--> <!-- <div @click="addTriggerNode">-->
<!-- <el-icon style="color:#15BC83;">--> <!-- <el-icon style="color:#15BC83;">-->
<!-- <SetUp/>--> <!-- <SetUp/>-->

View File

@@ -102,6 +102,10 @@
<el-form-item label="是否使用矩阵审批" prop="text"> <el-form-item label="是否使用矩阵审批" prop="text">
<el-switch inactive-text="不用" active-text="使用" v-model="nodeProps.matrixApproval"></el-switch> <el-switch inactive-text="不用" active-text="使用" v-model="nodeProps.matrixApproval"></el-switch>
</el-form-item> </el-form-item>
<el-form-item v-if="nodeProps.matrixApproval && nodeProps.assignedType === 'SELF'" label="是否跳过自己" prop="text">
<!-- {{nodeProps.skipSelf}}-->
<el-switch inactive-text="不跳过" active-text="跳过" v-model="nodeProps.skipSelf"></el-switch>
</el-form-item>
<!-- <el-form-item label="审批期限(为 0 则不生效)" prop="timeLimit">--> <!-- <el-form-item label="审批期限(为 0 则不生效)" prop="timeLimit">-->
<!-- <el-input style="width: 180px;" placeholder="时长" type="number"--> <!-- <el-input style="width: 180px;" placeholder="时长" type="number"-->
<!-- v-model="nodeProps.timeLimit.timeout.value">--> <!-- v-model="nodeProps.timeLimit.timeout.value">-->