Browse Source

优化

master
陈裕财 4 years ago
parent
commit
6fbff9f5b0
  1. 2
      src/views/xm/core/xmTask/XmTaskAdd.vue
  2. 120
      src/views/xm/core/xmTask/XmTaskMng.vue
  3. 5
      src/views/xm/core/xmTaskWorkItem/XmSubTaskList.vue
  4. 2
      src/views/xm/core/xmTaskWorkItem/XmSubWorkItem.vue
  5. 6
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadRecord.vue

2
src/views/xm/core/xmTask/XmTaskAdd.vue

@ -207,7 +207,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="实际工作量" prop="actWorkload"> <el-form-item label="实际工作量" prop="actWorkload">
<el-input type="number" style="width:150px;" v-model="addForm.actWorkload" @change="onActWorkloadChange" :precision="2" :step="8" :min="0" placeholder="实际总工作量(人时,不包括下一级)"></el-input type="number"> <el-tag>h</el-tag>
<el-input type="number" style="width:150px;" v-model="addForm.actWorkload" :precision="2" :step="8" :min="0" placeholder="实际总工作量(人时,不包括下一级)"></el-input type="number"> <el-tag>h</el-tag>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>

120
src/views/xm/core/xmTask/XmTaskMng.vue

@ -477,10 +477,10 @@
<el-table-column <el-table-column
sortable sortable
prop="budgetWorkload" prop="budgetWorkload"
label="预计工时"
label="工时"
width="150" width="150"
> >
<template slot-scope="scope"> {{
<template slot-scope="scope"> {{scope.row.actWorkload}}&nbsp;/&nbsp;{{
scope.row.budgetWorkload scope.row.budgetWorkload
}}&nbsp;h }}&nbsp;h
</template> </template>
@ -490,7 +490,7 @@
<el-link :disabled="scope.row.ntype=='1'" <el-link :disabled="scope.row.ntype=='1'"
style="border-radius: 30px" style="border-radius: 30px"
:type="scope.row.rate >= 100 ? 'success' : 'warning'" :type="scope.row.rate >= 100 ? 'success' : 'warning'"
@click="drawerVisible = true"
@click="showWorkload(scope.row)"
> >
{{ (scope.row.rate != null ? scope.row.rate : 0) + "%" }} {{ (scope.row.rate != null ? scope.row.rate : 0) + "%" }}
</el-link> </el-link>
@ -558,7 +558,7 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-link @click="drawerVisible = true" :disabled="scope.row.ntype=='1'"
<el-link @click="timeVisible = true" :disabled="scope.row.ntype=='1'"
>{{ getDateString(scope.row.startTime) }}&nbsp;~&nbsp;{{ >{{ getDateString(scope.row.startTime) }}&nbsp;~&nbsp;{{
getDateString(scope.row.endTime) getDateString(scope.row.endTime)
}} }}
@ -608,9 +608,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-drawer <el-drawer
v-if="drawerVisible == true"
v-if="timeVisible == true"
:size="600" :size="600"
:visible.sync="drawerVisible"
:visible.sync="timeVisible"
append-to-body append-to-body
> >
<el-row class="padding"> <el-row class="padding">
@ -693,72 +693,13 @@
:picker-options="pickerOptions" :picker-options="pickerOptions"
></el-date-picker> ></el-date-picker>
<el-button @click="editTime(editForm)">保存时间</el-button> <el-button @click="editTime(editForm)">保存时间</el-button>
</div>
<div class="progress extra">
<div class="field-label"></div>
<el-row>
<el-slider v-model="editForm.rate" show-input> </el-slider>
</el-row>
<el-row>
<el-button @click="editProgress(editForm.rate)"
>完成{{ editForm.rate }}%</el-button
>
<el-button style="font-size: 12px" @click="editProgress(40)"
>完成40%</el-button
>
<el-button style="font-size: 12px" @click="editProgress(80)"
>完成80%</el-button
>
<el-button style="font-size: 12px" @click="editProgress(100)"
>完成100%</el-button
>
</el-row>
</div>
<div class="exector extra">
<div class="field-label">负责人</div>
<el-tag
v-if="editForm.createUserid"
style="margin-left: 10px; border-radius: 30px"
>{{ editForm.createUsername }}</el-tag
>
<el-tag
v-else
style="margin-left: 10px; border-radius: 30px"
icon="el-icon-right"
>未设置</el-tag
>
<el-button
@click="showGroupUserSelect(editForm)"
icon="el-icon-setting"
>设置负责人</el-button
>
</div>
<div class="exector extra">
<div class="field-label">执行人</div>
<el-tag style="margin-left: 10px; border-radius: 30px">{{
editForm.exeUsernames
}}</el-tag>
<el-button @click="showExecusers(editForm)" icon="el-icon-s-data"
>查看队员情况</el-button
>
<el-button type="primary" @click="toJoin" icon="el-icon-plus"
>我要加入</el-button
>
</div>
<div class="skill extra">
<div class="field-label">技能要求</div>
<el-tag style="margin-left: 10px; border-radius: 30px">{{
editForm.taskSkillNames ? editForm.taskSkillNames : "无"
}}</el-tag>
</div>
</div>
</el-row> </el-row>
<div <div
v-if="drawerkey == '1' && drawerVisible == true"
v-if="drawerkey == '1' && timeVisible == true"
style="overflow-x: hidden" style="overflow-x: hidden"
>
<xm-exchange-mng :xm-task="editForm"></xm-exchange-mng>
>
</div> </div>
</el-row> </el-row>
</el-drawer> </el-drawer>
@ -781,6 +722,24 @@
@submit="afterEditSubmit" @submit="afterEditSubmit"
></xm-task-edit> ></xm-task-edit>
</el-dialog> </el-dialog>
<!--编辑 XmTask xm_task界面-->
<el-dialog
:title="'【'+editForm.name+'】登记工时'"
:visible.sync="taskWorkloadVisible"
width="60%"
top="20px"
append-to-body
:close-on-click-modal="false"
>
<xm-task-workload-edit
:xm-task="editForm"
:visible="taskWorkloadVisible"
op-type="add"
@cancel="taskWorkloadVisible=false"
@submit="onTaskWorkloadSubmit"
></xm-task-workload-edit>
</el-dialog>
<!-- 新增 XmTask xm_task界面--> <!-- 新增 XmTask xm_task界面-->
<el-dialog <el-dialog
@ -993,9 +952,9 @@ import xmMenuSelect from "../xmMenu/XmMenuSelect";
import { addXmMyFocus, delXmMyFocus } from "@/api/xm/core/xmMyFocus"; import { addXmMyFocus, delXmMyFocus } from "@/api/xm/core/xmMyFocus";
import XmProjectSelect from "@/views/xm/core/components/XmProjectSelect"; import XmProjectSelect from "@/views/xm/core/components/XmProjectSelect";
import XmProductSelect from "@/views/xm/core/components/XmProductSelect";
import XmMenuRichDetail from "../xmMenu/XmMenuRichDetail";
import XmProductSelect from "@/views/xm/core/components/XmProductSelect"; //
import XmMenuRichDetail from "../xmMenu/XmMenuRichDetail";
import TagMng from "@/views/mdp/arc/tag/TagMng"; import TagMng from "@/views/mdp/arc/tag/TagMng";
import XmGantt from "../components/xm-gantt"; import XmGantt from "../components/xm-gantt";
@ -1006,6 +965,7 @@ import XmGroupSelect from "../xmGroup/XmGroupSelect.vue";
import XmGroupDialog from '@/views/xm/core/xmGroup/XmGroupDialog';// import XmGroupDialog from '@/views/xm/core/xmGroup/XmGroupDialog';//
import TagDialog from "@/views/mdp/arc/tag/TagDialog"; import TagDialog from "@/views/mdp/arc/tag/TagDialog";
import XmTaskWorkloadEdit from "@/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit";
export default { export default {
computed: { computed: {
@ -1079,8 +1039,8 @@ export default {
menuId: function (menuId) { menuId: function (menuId) {
this.getXmTasks(); this.getXmTasks();
}, },
drawerVisible: function (drawerVisible) {
if (drawerVisible == false) {
timeVisible: function (timeVisible) {
if (timeVisible == false) {
this.drawerkey = ""; this.drawerkey = "";
} }
}, },
@ -1206,7 +1166,7 @@ export default {
taskStateList: ["待领取", "已领取执行中", "已完工", "已结算"], taskStateList: ["待领取", "已领取执行中", "已完工", "已结算"],
selkey: "", selkey: "",
drawerVisible: false,
timeVisible: false,
progress_show: true, progress_show: true,
isChild: false, isChild: false,
oldrate: "", oldrate: "",
@ -1237,6 +1197,7 @@ export default {
batchRelTasksWithMenuVisible:false, batchRelTasksWithMenuVisible:false,
selectParentTaskVisible:false, selectParentTaskVisible:false,
execUserVisible:false, execUserVisible:false,
taskWorkloadVisible:false,
maps:new Map(), maps:new Map(),
}; };
}, //end data }, //end data
@ -1510,7 +1471,7 @@ export default {
.catch((err) => { .catch((err) => {
this.load.edit = false; this.load.edit = false;
this.editForm.rate = this.oldrate; this.editForm.rate = this.oldrate;
this.drawerVisible = false;
this.timeVisible = false;
}); });
}, },
// XmTask xm_task // XmTask xm_task
@ -2238,7 +2199,7 @@ export default {
.catch((err) => { .catch((err) => {
this.load.edit = false; this.load.edit = false;
this.editForm.rate = this.oldrate; this.editForm.rate = this.oldrate;
this.drawerVisible = false;
this.timeVisible = false;
}); });
}, },
clearFiltersTag(tag){ clearFiltersTag(tag){
@ -2529,6 +2490,14 @@ export default {
onProductClearSelect(){ onProductClearSelect(){
this.filters.xmProduct=null; this.filters.xmProduct=null;
this.searchXmTasks(); this.searchXmTasks();
},
onTaskWorkloadSubmit(){
this.searchXmTasks();
treeTool.reloadAllChildren(this.$refs.table,this.maps,[this.editForm],'parentTaskid',this.loadXmTaskLazy)
},
showWorkload(row){
this.editForm=row
this.taskWorkloadVisible=true;
} }
/**end 自定义函数请在上面加**/ /**end 自定义函数请在上面加**/
}, //end methods }, //end methods
@ -2555,6 +2524,7 @@ export default {
TagDialog, TagDialog,
XmGroupDialog, XmGroupDialog,
XmTableConfig, XmTableConfig,
XmTaskWorkloadEdit,
// //
}, },
mounted() { mounted() {

5
src/views/xm/core/xmTaskWorkItem/XmSubTaskList.vue

@ -165,13 +165,10 @@ export default {
}, },
initData(){ initData(){
this.xmTasks=[] this.xmTasks=[]
if(!this.parentXmTask || !this.parentXmTask.menuId){
if(!this.parentXmTask || !this.parentXmTask.id){
return; return;
} }
var dclass=this.parentXmTask.dclass;
if(dclass==='3'){
this.getXmTasks(); this.getXmTasks();
}
}, },
addXmTask(name){ addXmTask(name){
var task={...this.parentXmTask,name:name,id:null,parentTaskid:this.parentXmTask.id,parentTaskname:this.parentXmTask.name} var task={...this.parentXmTask,name:name,id:null,parentTaskid:this.parentXmTask.id,parentTaskname:this.parentXmTask.name}

2
src/views/xm/core/xmTaskWorkItem/XmSubWorkItem.vue

@ -17,7 +17,7 @@
添加任务</el-button> 添加任务</el-button>
</span> </span>
</el-row> </el-row>
<xm-sub-task-list ref="taskList" :parentXmTask="parentXmTask" @tasks-change="onTasksChange" @workload-submit="onWorkloadSubmit"></xm-sub-task-list>
<xm-sub-task-list ref="taskList" :parent-xm-task="parentXmTask" @tasks-change="onTasksChange" @workload-submit="onWorkloadSubmit"></xm-sub-task-list>
</section> </section>
</template> </template>

6
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadRecord.vue

@ -30,7 +30,7 @@
<el-row v-else> <el-row v-else>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="预估工时" prop="budgetWorkload"> <el-form-item label="预估工时" prop="budgetWorkload">
{{scope.row.budgetWorkload}} &nbsp;小时
{{editForm.budgetWorkload}} &nbsp;小时
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -44,8 +44,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="工时进度" prop="rate">
<el-progress :percentage="editForm.rate>0?editForm.rate:0" placeholder="工时进度"></el-progress>
<el-form-item label="工时进度" prop="rate">
{{scope.row.rate}}&nbsp;&nbsp;%
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>

Loading…
Cancel
Save