Browse Source

美化日期

master
陈裕财 4 years ago
parent
commit
480508d9a1
  1. 2
      src/components/dateRange/index.vue
  2. 36
      src/views/xm/core/xmMenu/XmMenuEdit.vue
  3. 21
      src/views/xm/core/xmMenuWorkItem/XmSubBugList.vue
  4. 23
      src/views/xm/core/xmMenuWorkItem/XmSubMenuList.vue
  5. 2
      src/views/xm/core/xmMenuWorkItem/XmSubTaskList.vue
  6. 12
      src/views/xm/core/xmTask/XmTaskEdit.vue
  7. 50
      src/views/xm/core/xmTaskWorkItem/XmSubTaskList.vue
  8. 3
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit.vue

2
src/components/dateRange/index.vue

@ -1,6 +1,6 @@
<template> <template>
<el-date-picker :type="type" :style="styleObj" v-model="dateRange" :value-format="valueFormat" :format="format" <el-date-picker :type="type" :style="styleObj" v-model="dateRange" :value-format="valueFormat" :format="format"
unlink-panels
unlink-panels
:range-separator="rangeSepaSrator" :range-separator="rangeSepaSrator"
:start-placeholder="startPlaceholder" :start-placeholder="startPlaceholder"
:end-placeholder="endPlaceholder" :end-placeholder="endPlaceholder"

36
src/views/xm/core/xmMenu/XmMenuEdit.vue

@ -58,16 +58,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="进度" prop="finishRate">
{{editForm.finishRate?editForm.finishRate:0}}%
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="截止时间" prop="startTime" >
<date-range type="daterange" :auto-default="false" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd" v-model="editForm" start-key="startTime" end-key="endTime" @change="editXmMenuSomeFields(editForm,'startTime',editForm)"></date-range>
<el-col :span="16">
<el-form-item label="时间进度" prop="startTime" >
<date-range type="daterange" :auto-default="false" :style-object="{display:'inline'}" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd" v-model="editForm" start-key="startTime" end-key="endTime" @change="editXmMenuSomeFields(editForm,'startTime',editForm)"></date-range>
{{editForm.finishRate?editForm.finishRate:0}}%
</el-form-item>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-tabs v-model="activateTabPaneName" > <el-tabs v-model="activateTabPaneName" >
@ -109,14 +106,14 @@
<el-option v-for="i in this.dicts.demandLvl" :label="i.name" :key="i.id" :value="i.id"></el-option> <el-option v-for="i in this.dicts.demandLvl" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="优先级" prop="priority" >
<el-select v-model="editForm.priority" @change="editXmMenuSomeFields(editForm,'priority',$event)">
<el-option v-for="i in dicts.priority" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
<el-col :span="12">
<el-form-item label="优先级" prop="priority" >
<el-select v-model="editForm.priority" @change="editXmMenuSomeFields(editForm,'priority',$event)">
<el-option v-for="i in dicts.priority" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-tab-pane > </el-tab-pane >
<el-tab-pane label="概述" name="4"> <el-tab-pane label="概述" name="4">
@ -128,10 +125,7 @@
<xm-sub-work-item v-if="this.activateTabPaneName=='6'" :parent-xm-menu="editForm" :link-project-id="selProject?selProject.id:null" @sub-work-item-num="setSubWorkItemNum" @add-sub-menu="onAddSubMenu"></xm-sub-work-item> <xm-sub-work-item v-if="this.activateTabPaneName=='6'" :parent-xm-menu="editForm" :link-project-id="selProject?selProject.id:null" @sub-work-item-num="setSubWorkItemNum" @add-sub-menu="onAddSubMenu"></xm-sub-work-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="'工时('+editForm.actWorkload+' h)'" name="2"> <el-tab-pane :label="'工时('+editForm.actWorkload+' h)'" name="2">
<el-form-item label="工时进度" prop="finishRate" >
<el-progress style="width:60%;" :text-inside="true" :stroke-width="15" :percentage="editForm.finishRate?editForm.finishRate:0"></el-progress>
</el-form-item>
<el-form-item label="预估工期" prop="budgetHours"> <el-form-item label="预估工期" prop="budgetHours">
<el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.budgetHours" :precision="2" :step="8" :min="0" placeholder="预计工期(小时)"></el-input-number> &nbsp;h <el-input-number :disabled="editForm.calcType!=='2' " style="width:200px;" v-model="editForm.budgetHours" :precision="2" :step="8" :min="0" placeholder="预计工期(小时)"></el-input-number> &nbsp;h
</el-form-item> </el-form-item>

21
src/views/xm/core/xmMenuWorkItem/XmSubBugList.vue

@ -9,10 +9,10 @@
<i class="el-icon-warning"></i> <i class="el-icon-warning"></i>
</div> </div>
<span class="cell-text">
<span class="my-cell-text">
{{scope.row.name}} {{scope.row.name}}
</span> </span>
<span class="cell-bar" >
<span class="my-cell-bar" >
<el-input title="名称" placeholder="名称" v-model="scope.row.name" style="width:100%;" @change="editXmQuestionSomeFields(scope.row,'name',$event)"></el-input> <el-input title="名称" placeholder="名称" v-model="scope.row.name" style="width:100%;" @change="editXmQuestionSomeFields(scope.row,'name',$event)"></el-input>
</span> </span>
</template> </template>
@ -407,6 +407,19 @@ export default {
}; };
</script> </script>
<style scoped>
<style lang="less" scoped>
.my-cell-bar{
display: none;
}
.el-table__row td:hover{
.my-cell-bar{
width:90%;
padding-right:1px;
display: inline-block;
}
.my-cell-text{
display:none;
}
}
</style> </style>

23
src/views/xm/core/xmMenuWorkItem/XmSubMenuList.vue

@ -17,11 +17,11 @@
<i class="el-icon-document"></i> <i class="el-icon-document"></i>
</div> </div>
</span> </span>
<span class="cell-text">
<span class="my-cell-text">
{{scope.row.seqNo}}&nbsp;&nbsp;{{scope.row.menuName}} {{scope.row.seqNo}}&nbsp;&nbsp;{{scope.row.menuName}}
</span> </span>
<span class="cell-bar">
<el-input title="序号" style="width:30%;" v-model="scope.row.seqNo" placeholder="序号" @change="editXmMenuSomeFields(scope.row,'seqNo',$event)"></el-input><el-input title="名称" placeholder="名称" v-model="scope.row.menuName" style="width:60%;" @change="editXmMenuSomeFields(scope.row,'menuName',$event)"></el-input>
<span class="my-cell-bar">
<el-input title="序号" style="width:20%;" v-model="scope.row.seqNo" placeholder="序号" @change="editXmMenuSomeFields(scope.row,'seqNo',$event)"></el-input><el-input title="名称" placeholder="名称" v-model="scope.row.menuName" style="width:80%;" @change="editXmMenuSomeFields(scope.row,'menuName',$event)"></el-input>
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
@ -409,6 +409,19 @@ export default {
}; };
</script> </script>
<style scoped>
<style lang="less" scoped>
.my-cell-bar{
display: none;
}
.el-table__row td:hover{
.my-cell-bar{
width:90%;
padding-right:1px;
display: inline-block;
}
.my-cell-text{
display:none;
}
}
</style> </style>

2
src/views/xm/core/xmMenuWorkItem/XmSubTaskList.vue

@ -423,6 +423,8 @@ export default {
.el-table__row td:hover{ .el-table__row td:hover{
.my-cell-bar{ .my-cell-bar{
width:80%;
padding-right:0px;
display: inline-block; display: inline-block;
} }
.my-cell-text{ .my-cell-text{

12
src/views/xm/core/xmTask/XmTaskEdit.vue

@ -62,14 +62,9 @@
<el-option v-for="i in dicts.taskState" :label="i.name" :key="i.id" :value="i.id"></el-option> <el-option v-for="i in dicts.taskState" :label="i.name" :key="i.id" :value="i.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="当前进度" prop="rate">
{{editForm.rate?editForm.rate:0}}%
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="预计时间">
</el-col>
<el-col :span="16">
<el-form-item label="时间进度">
<date-range <date-range
v-model="editForm" v-model="editForm"
start-key="startTime" start-key="startTime"
@ -85,6 +80,7 @@
:default-time="['00:00:00','23:59:59']" :default-time="['00:00:00','23:59:59']"
:picker-options="pickerOptions" :picker-options="pickerOptions"
></date-range> ></date-range>
{{editForm.rate?editForm.rate:0}}%
</el-form-item> </el-form-item>
</el-col> </el-col>

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

@ -1,21 +1,32 @@
<template> <template>
<el-row v-show="xmTasks.length>0"> <el-row v-show="xmTasks.length>0">
<el-row> <el-row>
<el-table :data="xmTasks" :max-height="400" v-loading="load.list" @selection-change="selsChange" @row-click="rowClick">
<el-table :data="xmTasks" :row-style="{height:'60px'}" :max-height="400" v-loading="load.list" @selection-change="selsChange" @row-click="rowClick">
<el-table-column type="selection" label="全选"></el-table-column> <el-table-column type="selection" label="全选"></el-table-column>
<el-table-column prop="name" label="名称"> <el-table-column prop="name" label="名称">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="icon" :style="{backgroundColor: scope.row.ntype==='1'?'#E6A23C':'#1CC7EA'}">
<i :class="scope.row.ntype==='1'?'el-icon-odometer':'el-icon-s-operation'" ></i>
</div>
<span class="my-cell-text">
<span class="my-cell-text">
<div class="icon" :style="{backgroundColor: scope.row.ntype==='1'?'#E6A23C':'#1CC7EA'}">
<i :class="scope.row.ntype==='1'?'el-icon-odometer':'el-icon-s-operation'" ></i>
</div>
{{scope.row.sortLevel}}&nbsp;{{scope.row.name}} {{scope.row.sortLevel}}&nbsp;{{scope.row.name}}
</span>
<span class="my-cell-bar">
<el-input title="序号" style="width:20%;" v-model="scope.row.sortLevel" placeholder="序号" @change="editXmTaskSomeFields(scope.row,'sortLevel',$event)"></el-input><el-input title="名称" style="width:78%;" placeholder="名称" v-model="scope.row.name" @change="editXmTaskSomeFields(scope.row,'name',$event)"></el-input>
</span> </span>
<el-row class="my-cell-bar">
<el-col :span="1">
<div class="icon" :style="{backgroundColor: scope.row.ntype==='1'?'#E6A23C':'#1CC7EA'}">
<i :class="scope.row.ntype==='1'?'el-icon-odometer':'el-icon-s-operation'" ></i>
</div>
</el-col>
<el-col :span="5">
<el-input title="序号" v-model="scope.row.sortLevel" placeholder="序号" @change="editXmTaskSomeFields(scope.row,'sortLevel',$event)"></el-input>
</el-col>
<el-col :span="18">
<el-input title="名称" placeholder="名称" v-model="scope.row.name" @change="editXmTaskSomeFields(scope.row,'name',$event)"></el-input>
</el-col>
</el-row>
</template> </template>
</el-table-column>
</el-table-column>
<el-table-column <el-table-column
label="状态" label="状态"
type="taskState" type="taskState"
@ -80,8 +91,8 @@
</el-table> </el-table>
</el-row> </el-row>
<el-dialog :title="ntype==='0'?'新增任务':'新增计划'" :visible.sync="addFormVisible" append-to-body modal-append-to-body> <el-dialog :title="ntype==='0'?'新增任务':'新增计划'" :visible.sync="addFormVisible" append-to-body modal-append-to-body>
<el-form :model="editForm" :rules="addFormRules">
<el-form-item label="任务名称">
<el-form :model="addForm" :rules="addFormRules" ref="addForm">
<el-form-item label="任务名称" prop="name">
<template slot="label"> <template slot="label">
<div class="icon" :style="{backgroundColor: ntype==='1'?'#E6A23C':'#409EFF'}"> <div class="icon" :style="{backgroundColor: ntype==='1'?'#E6A23C':'#409EFF'}">
@ -145,11 +156,12 @@ export default {
return{ return{
load:{edit:false,list:false,add:false,del:false,}, load:{edit:false,list:false,add:false,del:false,},
xmTasks:[], xmTasks:[],
editForm:{},
editForm:{name:''},
addForm:{name:''}, addForm:{name:''},
addFormRules:{ addFormRules:{
name: [ name: [
{ required: true, message: '任务名称不能为空', trigger: 'change' }
{ required: true, message: '名称不能为空', trigger: 'change' },
{ min: 2, max: 150, message: '名称长度在 0 到 150 个字符', trigger: 'change' },//
], ],
}, },
sels:[], sels:[],
@ -199,7 +211,8 @@ export default {
this.getXmTasks(); this.getXmTasks();
}, },
addXmTask(){ addXmTask(){
var task={...this.parentXmTask,name:this.addForm.name,id:null,parentTaskid:this.parentXmTask.id,parentTaskname:this.parentXmTask.name}
this.$refs.addForm.validate().then(res=>{
var task={...this.parentXmTask,name:this.addForm.name,id:null,parentTaskid:this.parentXmTask.id,parentTaskname:this.parentXmTask.name}
task.priority='3' task.priority='3'
task.verNum=this.parentXmTask.sinceVersion; task.verNum=this.parentXmTask.sinceVersion;
task.pverNum=this.parentXmTask.sinceVersion; task.pverNum=this.parentXmTask.sinceVersion;
@ -219,9 +232,12 @@ export default {
} }
this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({position:'bottom-left',showClose:true,message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.edit=false); }).catch( err => this.load.edit=false);
})
}, },
showAdd(ntype) { showAdd(ntype) {
this.ntype=ntype; this.ntype=ntype;
this.addForm.name=this.parentXmTask.name+"-请修改"
this.addFormVisible=true; this.addFormVisible=true;
}, },
@ -416,11 +432,13 @@ export default {
} }
.el-table__row td:hover{ .el-table__row td:hover{
.my-cell-bar{
.my-cell-bar{
width:100%;
padding-right: 0px;
display: inline-block; display: inline-block;
} }
.my-cell-text{ .my-cell-text{
display:none; display:none;
} }
}
}
</style> </style>

3
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit.vue

@ -170,6 +170,9 @@
], ],
workload:[ workload:[
{ required: true, message: '上班时长不能为空', trigger: 'change' } { required: true, message: '上班时长不能为空', trigger: 'change' }
],
remark:[
{ min: 0, max: 250, message: '工作描述长度在 0 到 250 个字符', trigger: 'change' },//
] ]
}, },
editForm: { editForm: {

Loading…
Cancel
Save