|
@@ -2,7 +2,9 @@
|
|
|
<div class="box">
|
|
|
<el-calendar id="calendar">
|
|
|
<template slot="dateCell" slot-scope="{ date, data }">
|
|
|
- <div class="calendar-day">{{ data.day.split("-").slice(2).join("-") }}</div>
|
|
|
+ <div class="calendar-day">
|
|
|
+ {{ data.day.split("-").slice(2).join("-") }}
|
|
|
+ </div>
|
|
|
<div @click="chooseDay(data.day)">
|
|
|
<div>
|
|
|
<!-- <p v-for="(item,n) in attendanceDetailsData" :key="item.id" style="color: red">
|
|
@@ -16,16 +18,18 @@
|
|
|
</span>
|
|
|
</p>-->
|
|
|
<div
|
|
|
- v-for="(item,n) in attendanceDetailsData2"
|
|
|
- :key="item.workStartTime+n"
|
|
|
+ v-for="(item, n) in attendanceDetailsData2"
|
|
|
+ :key="item.workStartTime + n"
|
|
|
v-if="item.workStartTime == data.day"
|
|
|
>
|
|
|
<p
|
|
|
- v-for="(a,b) in item.data"
|
|
|
- :key="a.workStartTime+b"
|
|
|
- v-if="b<='2'"
|
|
|
+ v-for="(a, b) in item.data"
|
|
|
+ :key="a.workStartTime + b"
|
|
|
+ v-if="b <= '2'"
|
|
|
style="color: red"
|
|
|
- >{{a.workDetail}}</p>
|
|
|
+ >
|
|
|
+ {{ a.workDetail }}
|
|
|
+ </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -41,7 +45,15 @@
|
|
|
:close-on-click-modal="false"
|
|
|
@close="closes"
|
|
|
>
|
|
|
- <div class="jiben">任务详情</div>
|
|
|
+ <el-button
|
|
|
+ type="warning"
|
|
|
+ plain
|
|
|
+ icon="el-icon-download"
|
|
|
+ size="mini"
|
|
|
+ @click="handleExport"
|
|
|
+ >导出</el-button
|
|
|
+ >
|
|
|
+ <div class="jiben" style="margin-top:30px">任务详情</div>
|
|
|
<el-table
|
|
|
:data="worktaskplanList"
|
|
|
:header-cell-style="{ background: '#2a6b9a', color: 'white' }"
|
|
@@ -51,21 +63,29 @@
|
|
|
<template scope="scope">
|
|
|
<span>
|
|
|
{{
|
|
|
- (queryParams.pageNum - 1) * queryParams.pageSize +
|
|
|
- scope.$index +
|
|
|
- 1
|
|
|
+ (queryParams.pageNum - 1) * queryParams.pageSize +
|
|
|
+ scope.$index +
|
|
|
+ 1
|
|
|
}}
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="任务名称" prop="workName" />
|
|
|
<el-table-column label="任务类型" prop="workType" />
|
|
|
- <el-table-column label="任务描述" prop="workDetail" width="100" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="任务描述"
|
|
|
+ prop="workDetail"
|
|
|
+ width="100"
|
|
|
+ show-overflow-tooltip
|
|
|
+ ></el-table-column>
|
|
|
<el-table-column label="开始时间" prop="workStartTime" />
|
|
|
<el-table-column label="结束时间" prop="workEndTime" />
|
|
|
<el-table-column label="任务优先级" prop="taskStatus">
|
|
|
<template slot-scope="scope">
|
|
|
- <dict-tag :options="dict.type.work_priority" :value="scope.row.workPriority" />
|
|
|
+ <dict-tag
|
|
|
+ :options="dict.type.work_priority"
|
|
|
+ :value="scope.row.workPriority"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="进度" prop="workRate">
|
|
@@ -85,7 +105,8 @@
|
|
|
type="text"
|
|
|
@click="handleUpdateCha(scope.row)"
|
|
|
v-hasPermi="['workingArrangements:worktaskplan:add']"
|
|
|
- >查看</el-button>
|
|
|
+ >查看</el-button
|
|
|
+ >
|
|
|
<el-button
|
|
|
size="btlook"
|
|
|
type="text"
|
|
@@ -111,7 +132,13 @@
|
|
|
class="el-dialog__header"
|
|
|
:close-on-click-modal="false"
|
|
|
>
|
|
|
- <el-form ref="Progress" :model="Progress" :rules="rules1" label-width="100px" :inline="true">
|
|
|
+ <el-form
|
|
|
+ ref="Progress"
|
|
|
+ :model="Progress"
|
|
|
+ :rules="rules1"
|
|
|
+ label-width="100px"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
<div class="jiben">完成进度</div>
|
|
|
<el-form-item prop="workRate">
|
|
|
<div>
|
|
@@ -136,7 +163,11 @@
|
|
|
</el-form-item>
|
|
|
<div class="jiben">备注</div>
|
|
|
<el-form-item prop="workFeedbackRemark">
|
|
|
- <el-input v-model="Progress.workFeedbackRemark" type="textarea" placeholder="请输入内容" />
|
|
|
+ <el-input
|
|
|
+ v-model="Progress.workFeedbackRemark"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
<div class="jiben">完成时间</div>
|
|
|
<el-form-item prop="workFinishTime">
|
|
@@ -196,18 +227,25 @@
|
|
|
margin-bottom: 20px;
|
|
|
color: #fff;
|
|
|
"
|
|
|
- >{{ moreTable.workStartTime }} 至 {{ moreTable.workEndTime }}</div>
|
|
|
+ >
|
|
|
+ {{ moreTable.workStartTime }} 至 {{ moreTable.workEndTime }}
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
<div class="jiben">附件文档</div>
|
|
|
<el-form-item prop="file">
|
|
|
- <el-input label="附件名称" v-model="moreTable.fileName" style="width: 820px" />
|
|
|
+ <el-input
|
|
|
+ label="附件名称"
|
|
|
+ v-model="moreTable.fileName"
|
|
|
+ style="width: 820px"
|
|
|
+ />
|
|
|
<a
|
|
|
:href="url + moreTable.fileName"
|
|
|
:download="moreTable.name"
|
|
|
title="下载"
|
|
|
style="color: white; margin-left: 10px"
|
|
|
class="downloadfile"
|
|
|
- >下载附件</a>
|
|
|
+ >下载附件</a
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
<div class="jiben">任务描述</div>
|
|
|
<div class="thistext">{{ moreTable.workDetail }}</div>
|
|
@@ -220,12 +258,16 @@
|
|
|
style="width: 100%; background: #004d86"
|
|
|
class="tabless"
|
|
|
>
|
|
|
- <el-table-column prop="executorPeople" label="执行人" width="180"></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="executorPeople"
|
|
|
+ label="执行人"
|
|
|
+ width="180"
|
|
|
+ ></el-table-column>
|
|
|
<el-table-column label="任务周期" width="190">
|
|
|
<template slot-scope="scope">
|
|
|
- <div
|
|
|
- v-if="scope.row.workStartTime && scope.row.workEndTime"
|
|
|
- >{{ scope.row.workStartTime }}至{{ scope.row.workEndTime }}</div>
|
|
|
+ <div v-if="scope.row.workStartTime && scope.row.workEndTime">
|
|
|
+ {{ scope.row.workStartTime }}至{{ scope.row.workEndTime }}
|
|
|
+ </div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="workRate" label="进度">
|
|
@@ -239,7 +281,11 @@
|
|
|
></el-progress>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="workFinishTime" label="完成时间" width="180"></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="workFinishTime"
|
|
|
+ label="完成时间"
|
|
|
+ width="180"
|
|
|
+ ></el-table-column>
|
|
|
<el-table-column label="状态" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
<div>{{ scope.row.workRate == 100 ? "完成" : "未完成" }}</div>
|
|
@@ -250,7 +296,8 @@
|
|
|
<a
|
|
|
:href="url + scope.row.workFeedbackFileUrl"
|
|
|
:download="scope.row.workFeedbackFileName"
|
|
|
- >下载附件</a>
|
|
|
+ >下载附件</a
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -265,7 +312,8 @@
|
|
|
import {
|
|
|
peopleList,
|
|
|
progressInput,
|
|
|
- queryTask
|
|
|
+ queryTask,
|
|
|
+ exportCurrentUserTask
|
|
|
} from "@/api/workingArrangements/workCalendar";
|
|
|
export default {
|
|
|
name: "workCalendar",
|
|
@@ -287,7 +335,7 @@ export default {
|
|
|
workFeedbackFileUrl: null,
|
|
|
workId: null,
|
|
|
workFeedbackRemark: null,
|
|
|
- file: [{ name: null, url: null }]
|
|
|
+ file: [{ name: null, url: null }],
|
|
|
},
|
|
|
rules1: {},
|
|
|
form: {},
|
|
@@ -298,12 +346,12 @@ export default {
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
- pageSize: 10
|
|
|
+ pageSize: 10,
|
|
|
},
|
|
|
// 进度录入
|
|
|
jinDu: {
|
|
|
executorPeople: null,
|
|
|
- id: null
|
|
|
+ id: null,
|
|
|
},
|
|
|
// 时间
|
|
|
day: null,
|
|
@@ -314,7 +362,8 @@ export default {
|
|
|
rulesb: {},
|
|
|
url: process.env.VUE_APP_BASE_API,
|
|
|
// 执行人查看进度
|
|
|
- workProgresses: []
|
|
|
+ workProgresses: [],
|
|
|
+ form1:{}
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -322,7 +371,7 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
getList() {
|
|
|
- peopleList().then(res => {
|
|
|
+ peopleList().then((res) => {
|
|
|
this.worktaskplanList = [];
|
|
|
let workStartTimedata = [];
|
|
|
this.attendanceDetailsData2 = [];
|
|
@@ -331,11 +380,11 @@ export default {
|
|
|
if (workStartTimedata.indexOf(item.workStartTime) === -1) {
|
|
|
this.attendanceDetailsData2.push({
|
|
|
workStartTime: item.workStartTime,
|
|
|
- data: [item]
|
|
|
+ data: [item],
|
|
|
});
|
|
|
workStartTimedata.push(item.workStartTime);
|
|
|
} else {
|
|
|
- this.attendanceDetailsData2.forEach(n => {
|
|
|
+ this.attendanceDetailsData2.forEach((n) => {
|
|
|
if (n.workStartTime == item.workStartTime) {
|
|
|
n.data.push(item);
|
|
|
}
|
|
@@ -345,7 +394,6 @@ export default {
|
|
|
this.worktaskplanList.push(item);
|
|
|
}
|
|
|
});
|
|
|
- console.log(this.attendanceDetailsData2);
|
|
|
});
|
|
|
},
|
|
|
submitForm2() {},
|
|
@@ -377,7 +425,7 @@ export default {
|
|
|
// 查看
|
|
|
handleUpdateCha(row) {
|
|
|
this.workProgresses = [];
|
|
|
- queryTask(row.id).then(res => {
|
|
|
+ queryTask(row.id).then((res) => {
|
|
|
this.moreTable = res.data;
|
|
|
this.moreTable.fileName = res.data.workAnnex;
|
|
|
this.moreTable.name = res.data.workAnnexName;
|
|
@@ -399,7 +447,7 @@ export default {
|
|
|
},
|
|
|
// 进度录入
|
|
|
submitForm() {
|
|
|
- this.$refs["Progress"].validate(valid => {
|
|
|
+ this.$refs["Progress"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.Progress.workId = this.jinDu.id;
|
|
|
this.Progress.executorPeople = this.jinDu.executorPeople;
|
|
@@ -407,7 +455,7 @@ export default {
|
|
|
this.Progress.workFeedbackFileName = this.Progress.file[0].name;
|
|
|
this.Progress.workFeedbackFileUrl = this.Progress.file[0].url;
|
|
|
}
|
|
|
- progressInput(this.Progress).then(res => {
|
|
|
+ progressInput(this.Progress).then((res) => {
|
|
|
this.$modal.msgSuccess("上传成功");
|
|
|
this.getList();
|
|
|
this.open = false;
|
|
@@ -423,7 +471,7 @@ export default {
|
|
|
workFeedbackFileName: null,
|
|
|
workFeedbackFileUrl: null,
|
|
|
workId: null,
|
|
|
- workFeedbackRemark: null
|
|
|
+ workFeedbackRemark: null,
|
|
|
};
|
|
|
this.resetForm("Progress");
|
|
|
},
|
|
@@ -440,7 +488,7 @@ export default {
|
|
|
},
|
|
|
handleSelected(day) {
|
|
|
let flag = -1; //默认显示为-1
|
|
|
- this.attendanceDetailsData.forEach(item => {
|
|
|
+ this.attendanceDetailsData.forEach((item) => {
|
|
|
//this.attendanceDetailsData是后台返回的数据
|
|
|
if (item.workStartTime == day) {
|
|
|
//判断显示数据
|
|
@@ -449,8 +497,21 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
return flag;
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ handleExport(){
|
|
|
+ this.form1.nowDate=this.day
|
|
|
+ this.$modal
|
|
|
+ .confirm("是否确认导出数据项?")
|
|
|
+ .then(() => {
|
|
|
+ return exportCurrentUserTask(this.form1);
|
|
|
+ })
|
|
|
+ .then((response) => {
|
|
|
+ this.$download.name(response.msg);
|
|
|
+ this.open = false;
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ }
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|