|
@@ -16,7 +16,7 @@
|
|
|
</el-steps>
|
|
</el-steps>
|
|
|
<el-card class="box-card">
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">
|
|
<div slot="header" class="clearfix">
|
|
|
- <span>阶段任务</span>
|
|
|
|
|
|
|
+ <span style="font-weight:bold">阶段任务</span>
|
|
|
<el-button
|
|
<el-button
|
|
|
style="border:1px solid #3874F6;color:#3874F6"
|
|
style="border:1px solid #3874F6;color:#3874F6"
|
|
|
:disabled="currentData.active != 0"
|
|
:disabled="currentData.active != 0"
|
|
@@ -27,12 +27,20 @@
|
|
|
<div class="task" v-for="(item,index) in currentData.work" :key="index">
|
|
<div class="task" v-for="(item,index) in currentData.work" :key="index">
|
|
|
<div class="task-header">
|
|
<div class="task-header">
|
|
|
<span class="task-header-title">任务{{index+1}}</span>
|
|
<span class="task-header-title">任务{{index+1}}</span>
|
|
|
- <span class="task-header-status">未开始</span>
|
|
|
|
|
|
|
+ <span class="task-header-status" v-if="item.finished" style="color:#3874F6">已完成</span>
|
|
|
|
|
+ <span class="task-header-status" style="color:#52C41A" v-else-if="item.isfollow">跟进中</span>
|
|
|
|
|
+ <span class="task-header-status" v-else>未开始</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="content">
|
|
<div class="content">
|
|
|
- <p>任务名称:{{item.workname}}</p>
|
|
|
|
|
- <p>任务分值:{{item.score}}</p>
|
|
|
|
|
- <p>任务描述:{{item.remarks}}</p>
|
|
|
|
|
|
|
+ <el-descriptions :column="2">
|
|
|
|
|
+ <el-descriptions-item label="任务名称">{{ item.workname ? item.workname:'' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="任务分值">{{ item.score ? item.score:'' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="任务描述">{{ item.remarks ? item.remarks:'' }}</el-descriptions-item>
|
|
|
|
|
+ <el-descriptions-item label="用户提交内容">{{ item.notes ? item.notes:'' }}</el-descriptions-item>
|
|
|
|
|
+ </el-descriptions>
|
|
|
|
|
+ <div class="file">
|
|
|
|
|
+ <file-item :isDownLoad="true" :isDelete="false" :itemStyle="itemDrawerStyle" :fileData="fileType.fileList(item.attinfos)"></file-item>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="task-footer">
|
|
<div class="task-footer">
|
|
|
<div class="btn">
|
|
<div class="btn">
|
|
@@ -60,14 +68,15 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="container">
|
|
<div class="container">
|
|
|
- <el-descriptions title="任务信息">
|
|
|
|
|
|
|
+ <el-descriptions title="任务信息" :column="1">
|
|
|
<el-descriptions-item label="任务名称">{{ editData.workname }}</el-descriptions-item>
|
|
<el-descriptions-item label="任务名称">{{ editData.workname }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="任务分值">{{ editData.score }}</el-descriptions-item>
|
|
<el-descriptions-item label="任务分值">{{ editData.score }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="任务描述">{{ editData.remarks }}</el-descriptions-item>
|
|
<el-descriptions-item label="任务描述">{{ editData.remarks }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
|
- <el-descriptions title="完成描述" />
|
|
|
|
|
|
|
+ <el-divider></el-divider>
|
|
|
|
|
+ <el-descriptions title="提交内容" />
|
|
|
<el-input type="textarea" v-model="param.content.notes" placeholder="请填写完成的具体情况"></el-input>
|
|
<el-input type="textarea" v-model="param.content.notes" placeholder="请填写完成的具体情况"></el-input>
|
|
|
- <Editor :data="editData" @onSuccess="upLoad"/>
|
|
|
|
|
|
|
+ <Editor :data="editData" @deleteSuccess="deleteSuccess" @onSuccess="upLoad"/>
|
|
|
</div>
|
|
</div>
|
|
|
</el-drawer>
|
|
</el-drawer>
|
|
|
</div>
|
|
</div>
|
|
@@ -75,8 +84,10 @@
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import Editor from './components/Editor'
|
|
import Editor from './components/Editor'
|
|
|
|
|
+import { log } from '@antv/g2plot/lib/utils';
|
|
|
|
|
+import FileItem from '@/components/file-block/index'
|
|
|
export default {
|
|
export default {
|
|
|
- components:{Editor},
|
|
|
|
|
|
|
+ components:{Editor,FileItem},
|
|
|
props:['rowData'],
|
|
props:['rowData'],
|
|
|
name: '',
|
|
name: '',
|
|
|
data() {
|
|
data() {
|
|
@@ -92,7 +103,17 @@ export default {
|
|
|
"sa_project_stageworkid": "",
|
|
"sa_project_stageworkid": "",
|
|
|
"notes":""
|
|
"notes":""
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+ itemDrawerStyle: {
|
|
|
|
|
+ itemWidth:300,
|
|
|
|
|
+ margin:10,
|
|
|
|
|
+ img: {
|
|
|
|
|
+ width: 40,
|
|
|
|
|
+ height: 40
|
|
|
|
|
+ },
|
|
|
|
|
+ title: 12,
|
|
|
|
|
+ descript: 10
|
|
|
|
|
+ },
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
computed:{
|
|
computed:{
|
|
@@ -120,8 +141,12 @@ export default {
|
|
|
this.getStageList(true)
|
|
this.getStageList(true)
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
- upLoad () {
|
|
|
|
|
-
|
|
|
|
|
|
|
+ deleteSuccess (data) {
|
|
|
|
|
+ let num = this.editData.attinfos.find( item => item.attachmentid == data.attachmentid)
|
|
|
|
|
+ this.editData.attinfos.splice(this.editData.attinfos.indexOf(num),1)
|
|
|
|
|
+ },
|
|
|
|
|
+ upLoad (data) {
|
|
|
|
|
+ this.editData.attinfos.push(data)
|
|
|
},
|
|
},
|
|
|
editBtn (data) {
|
|
editBtn (data) {
|
|
|
this.dialogFormVisible = true
|
|
this.dialogFormVisible = true
|
|
@@ -147,12 +172,14 @@ export default {
|
|
|
})
|
|
})
|
|
|
this.stageList = res.data
|
|
this.stageList = res.data
|
|
|
/* 如果已有阶段 默认id释放 */
|
|
/* 如果已有阶段 默认id释放 */
|
|
|
- if(this.calcIndex) this.clickCurrent = null
|
|
|
|
|
- if (no) {
|
|
|
|
|
|
|
+ if(this.calcIndex) {
|
|
|
|
|
+ this.clickCurrent = null
|
|
|
|
|
+ this.currentData = this.stageList[this.calcIndex]
|
|
|
|
|
+ console.log(this.currentData);
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
this.currentData = this.stageList[0]
|
|
this.currentData = this.stageList[0]
|
|
|
}
|
|
}
|
|
|
- console.log(this.stageList);
|
|
|
|
|
-
|
|
|
|
|
},
|
|
},
|
|
|
/* 单击阶段 */
|
|
/* 单击阶段 */
|
|
|
stageClick (val,item) {
|
|
stageClick (val,item) {
|
|
@@ -218,9 +245,9 @@ export default {
|
|
|
transform: skew(-20deg);
|
|
transform: skew(-20deg);
|
|
|
padding: 5px 10px;
|
|
padding: 5px 10px;
|
|
|
background: #EEEEEE;
|
|
background: #EEEEEE;
|
|
|
|
|
+ color: #000000;
|
|
|
}
|
|
}
|
|
|
.item .content span:first-child {
|
|
.item .content span:first-child {
|
|
|
- color: #000000;
|
|
|
|
|
transform: skew(20deg);
|
|
transform: skew(20deg);
|
|
|
}
|
|
}
|
|
|
.item .content span:last-child {
|
|
.item .content span:last-child {
|
|
@@ -230,7 +257,6 @@ export default {
|
|
|
border-radius: 30%;
|
|
border-radius: 30%;
|
|
|
color: #000000;
|
|
color: #000000;
|
|
|
transform: skew(20deg);
|
|
transform: skew(20deg);
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
.enterStatus {
|
|
.enterStatus {
|
|
|
background: #3874F6 !important;
|
|
background: #3874F6 !important;
|
|
@@ -269,6 +295,9 @@ export default {
|
|
|
.box-card .task:last-child {
|
|
.box-card .task:last-child {
|
|
|
border-bottom: none;
|
|
border-bottom: none;
|
|
|
}
|
|
}
|
|
|
|
|
+ .box-card .task:first-child {
|
|
|
|
|
+ border-top: 15px solid #F5F5F5;
|
|
|
|
|
+ }
|
|
|
.box-card .task .task-header {
|
|
.box-card .task .task-header {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
@@ -287,4 +316,7 @@ export default {
|
|
|
.box-card .task .task-footer .btn {
|
|
.box-card .task .task-footer .btn {
|
|
|
margin:0 10px 10px 0;
|
|
margin:0 10px 10px 0;
|
|
|
}
|
|
}
|
|
|
|
|
+ .box-card .task .content p {
|
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|