优化项目

This commit is contained in:
陈裕财
2025-04-11 12:30:48 +08:00
parent 90b706a887
commit 3b76c1f3ee

View File

@@ -81,13 +81,16 @@
<MdpSelect v-model="p.status" itemCode="projectStatus" :disabled="true" showStyle="tag" />
{{ p.name }}
</div>
<el-popover :show-after="200" placement="top-start" title="更多操作" width="300" trigger="hover">
<el-popover :show-after="200" placement="top-start" width="400" trigger="hover">
<el-space wrap>
<el-button id="prj-copy-btn" type="primary" title="通过复制快速创建新项目" @click.stop="onCopyToBtnClick(p)"
<el-button icon="Pointer" v-if="filters.queryScope == 'myFocus'" type="primary" @click.stop="focusOrUnfocus(p)">取消关注</el-button>
<el-button icon="Pointer" v-else type="primary" @click.stop="focusOrUnfocus(p)">关注</el-button>
<el-button icon="CopyDocument" id="prj-copy-btn" type="warning" title="通过复制快速创建新项目" @click.stop="onCopyToBtnClick(p)"
v-loading="load.add">复制&nbsp;</el-button>
<el-button v-if="filters.queryScope == 'myFocus'" type="primary" @click.stop="focusOrUnfocus(p)">取消关注</el-button>
<el-button v-else type="primary" @click.stop="focusOrUnfocus(p)">关注</el-button>
<el-button type="danger" title="删除项目" @click.stop="handleDel(p)" v-loading="load.del">删除</el-button>
<el-button type="success" icon="video-play" title="统计项目的工作量、进度、需求、bugs等数据"
@click.stop="loadTasksToXmProjectState(scope.row)">统计进度</el-button>
<el-button icon="Delete" type="danger" title="删除项目" @click.stop="handleDel(p)" v-loading="load.del">删除</el-button>
</el-space>
<template #reference><el-button icon="setting" circle plain /></template>
@@ -176,28 +179,28 @@
<el-table ref="table" v-adaptive="{ bottom: 64 }" v-cloak v-show="showType == 'table'" fit stripe :data="tableDatas"
@sort-change="sortChange" highlight-current-row v-loading="load.list" @selection-change="selsChange"
@row-click="rowClick" style="width: 100%;" :border="true">
<template #empty>
<el-result icon="info" title="信息提示" subTitle="没有查到相关项目,有可能是您暂时还没有项目,有可能是您无权限查询项目。">
<template #extra>
<div>
您可以通过 &nbsp;<el-button @click="showAdd" icon="plus" type="primary" plain>项目</el-button>&nbsp;创建一个新项目
</div>
<div>
通过&nbsp;<el-button @click="templateVisible = true" type="primary" plain
style="margin-bottom:5px;">公共模板</el-button>&nbsp;体验项目的过程<br />
</div>
<div>
通过&nbsp;<el-button @click="templateVisible = true" type="primary" plain
style="margin-bottom:5px;">拷贝模板</el-button>&nbsp;快速创建新项目<br />
</div>
</template>
</el-result>
</template>
@row-click="rowClick" style="width: 100%;" :border="true">
<el-table-column prop="name" label="项目名称" sortable min-width="250">
<template #default="scope">
<el-link type="primary" @click.stop="intoInfo(scope.row)">{{ scope.$index + 1 }} {{ scope.row.name }}</el-link>
</template>
<el-popover placement="right-start" :show-after="200"
>
<template #reference>
<el-link @click.stop="intoInfo(scope.row)">{{ scope.$index + 1 }} {{ scope.row.name }}</el-link>
</template>
<template #default>
<el-space wrap>
<el-button icon="Pointer" v-if="filters.queryScope == 'myFocus'" type="primary" @click.stop="focusOrUnfocus(scope.row)">取消关注</el-button>
<el-button icon="Pointer" v-else type="primary" @click.stop="focusOrUnfocus(scope.row)">关注</el-button>
<el-button icon="CopyDocument" type="warning" title="通过复制快速创建新项目" @click.stop="onCopyToBtnClick(scope.row)"
v-loading="load.add">复制</el-button>
<el-button type="success" icon="video-play" title="统计项目的工作量、进度、需求、bugs等数据"
@click.stop="loadTasksToXmProjectState(scope.row)">统计进度</el-button>
<el-button icon="Delete" type="danger" title="删除项目" @click.stop="handleDel(scope.row)" v-loading="load.del">删除</el-button>
</el-space>
</template>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="xmType" label="项目类型" width="150" sortable itemCode="projectType">
<template #default="scope">
@@ -234,8 +237,6 @@
<div style="width:3em;">
{{ getProgress(scope.row) }} %
</div>
<el-button id="guider-four" type="text" circle plain icon="video-play" title="统计项目的工作量、进度、需求、bugs等数据"
@click.stop="loadTasksToXmProjectState(scope.row)" />
<el-tag v-if="getPlanRealProgress(scope.row) > 0" type="warning" effect="dark">超前{{ getPlanRealProgress(scope.row)
}}%</el-tag>
@@ -286,47 +287,7 @@
<el-table-column prop="actWorkload" label="任务完成工时" width="150" show-overflow-tooltip sortable />
<el-table-column prop="mactWorkload" label="非报工工时" width="150" show-overflow-tooltip sortable />
<el-table-column label="操作" width="150" fixed="right">
<template #default="scope">
<!-- <el-popover
placement="left"
trigger="hover"> -->
<el-button v-if="filters.queryScope == 'myFocus'" type="text" @click.stop="focusOrUnfocus(scope.row)">取消关注</el-button>
<el-button v-else type="text" @click.stop="focusOrUnfocus(scope.row)">关注</el-button>
<el-button type="text" title="通过复制快速创建新项目" @click.stop="onCopyToBtnClick(scope.row)"
v-loading="load.add">复制</el-button>
<el-button type="text" title="删除项目" @click.stop="handleDel(scope.row)" v-loading="load.del">删除</el-button>
<!--
<el-button type="primary" @click.stop="statusChange(scope,'1')" v-if="scope.row.status==0 || scope.row.status == 2">提交审核</el-button>
<el-button type="primary" @click.stop="statusChange(scope,'3')" v-if="scope.row.status==1">批准</el-button>
<el-button type="primary" @click.stop="statusChange(scope,'2')" v-if="scope.row.status==1">退回</el-button>
<el-button type="primary" @click.stop="statusChange(scope,'4')" v-if="scope.row.status==3">结束</el-button>
<el-button type="primary" @click.stop="statusChange(scope,'3')" v-if="scope.row.status==4">重新启动</el-button>
<el-button type="primary" @click.stop="handleDel(scope.row,scope.$index)" v-if="isLeader(scope.row.leader)">删除</el-button>
<el-dropdown @command="handleCommand" :hide-on-click="false">
<span class="el-dropdown-link">
更多<i class="arrow-down -right"></i>
</span>
<el-dropdown-menu #dropdown>
<el-dropdown-item icon="success" :command="{type:'sendToProcessApprova',row:scope.row,bizKey:'xm_project_start_approva'}">立项发审(审核通过后起效)</el-dropdown-item>
<el-dropdown-item icon="success" :command="{type:'sendToProcessApprova',row:scope.row,bizKey:'xm_project_delete_approva'}">删除发审(审核通过后删除)</el-dropdown-item>
<el-dropdown-item icon="success" :command="{type:'showEdit',row:scope.row,bizKey:'xm_project_baseinfo_change_approva'}">基础信息变更发审(审核通过后生效)</el-dropdown-item>
<el-dropdown-item icon="success" :command="{type:'showEdit',row:scope.row,bizKey:'xm_project_budget_change_approva'}">预算变更发审(审核通过后生效)</el-dropdown-item>
<el-dropdown-item icon="success" :command="{type:'sendToProcessApprova',row:scope.row,bizKey:'xm_project_over_approva'}">项目结项发审(审核通过后生效)</el-dropdown-item>
<el-dropdown-item icon="success" :command="{type:'sendToProcessApprova',row:scope.row,bizKey:'xm_project_suspension_approva'}">项目暂停发审(审核通过后生效)</el-dropdown-item>
<el-dropdown-item icon="success" :command="{type:'sendToProcessApprova',row:scope.row,bizKey:'xm_project_restart_approva'}">项目重新启动发审(审核通过后生效)</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
-->
<!-- <template #reference><el-button style="width:100%;" class="see-more" type="text" icon="more"/></template>
</el-popover> -->
</template>
</el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange"