|
@@ -3,9 +3,9 @@
|
|
<a-space direction="vertical">
|
|
<a-space direction="vertical">
|
|
<!-- 任务步骤 -->
|
|
<!-- 任务步骤 -->
|
|
<a-card type="inner">
|
|
<a-card type="inner">
|
|
- <a-row>
|
|
|
|
- <div v-if="taskInfo.endDate != ''" style="margin-top:5px;">
|
|
|
|
- <a-col :span="2">
|
|
|
|
|
|
+ <a-row class="row-custom">
|
|
|
|
+ <div v-if="taskInfo.endDate != ''">
|
|
|
|
+ <a-col :span="2" style="margin-top:5px;">
|
|
<a-tooltip>
|
|
<a-tooltip>
|
|
<template slot="title">
|
|
<template slot="title">
|
|
标记为未完成
|
|
标记为未完成
|
|
@@ -14,31 +14,7 @@
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :span="20" style="margin-left:5px;">
|
|
<a-col :span="20" style="margin-left:5px;">
|
|
- <a-checkable-tag>
|
|
|
|
- <del> <span style="font-size:15px">{{ taskInfo.title }}</span></del>
|
|
|
|
- </a-checkable-tag>
|
|
|
|
- </a-col>
|
|
|
|
- <a-col :span="1" style="margin-left:5px;">
|
|
|
|
- <div v-if="taskInfo.starLevel == false">
|
|
|
|
- <a-tooltip>
|
|
|
|
- <template slot="title">
|
|
|
|
- 将任务标记为重要
|
|
|
|
- </template>
|
|
|
|
- <a-popconfirm :visible="false" @visibleChange="signImportance">
|
|
|
|
- <a-icon type="star" />
|
|
|
|
- </a-popconfirm>
|
|
|
|
- </a-tooltip>
|
|
|
|
- </div>
|
|
|
|
- <div v-else>
|
|
|
|
- <a-tooltip>
|
|
|
|
- <template slot="title">
|
|
|
|
- 删除重要性
|
|
|
|
- </template>
|
|
|
|
- <a-popconfirm :visible="false" @visibleChange="signImportance">
|
|
|
|
- <a-icon style="color:#4169E1" type="star" theme="filled" />
|
|
|
|
- </a-popconfirm>
|
|
|
|
- </a-tooltip>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <a-input class="input-custom-del" v-model="taskInfo.title" />
|
|
</a-col>
|
|
</a-col>
|
|
</div>
|
|
</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
@@ -51,31 +27,31 @@
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :span="20" style="margin-left:5px;">
|
|
<a-col :span="20" style="margin-left:5px;">
|
|
- <a-input v-model="taskInfo.title" @pressEnter="updateTask" />
|
|
|
|
- </a-col>
|
|
|
|
- <a-col :span="1" style="margin-top:5px;margin-left:5px;">
|
|
|
|
- <div v-if="taskInfo.starLevel == false">
|
|
|
|
- <a-tooltip>
|
|
|
|
- <template slot="title">
|
|
|
|
- 将任务标记为重要
|
|
|
|
- </template>
|
|
|
|
- <a-popconfirm :visible="false" @visibleChange="signImportance">
|
|
|
|
- <a-icon type="star" />
|
|
|
|
- </a-popconfirm>
|
|
|
|
- </a-tooltip>
|
|
|
|
- </div>
|
|
|
|
- <div v-else>
|
|
|
|
- <a-tooltip>
|
|
|
|
- <template slot="title">
|
|
|
|
- 删除重要性
|
|
|
|
- </template>
|
|
|
|
- <a-popconfirm :visible="false" @visibleChange="signImportance">
|
|
|
|
- <a-icon style="color:#4169E1" type="star" theme="filled" />
|
|
|
|
- </a-popconfirm>
|
|
|
|
- </a-tooltip>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <a-input class="input-custom" v-model="taskInfo.title" @pressEnter="updateTask" />
|
|
</a-col>
|
|
</a-col>
|
|
</div>
|
|
</div>
|
|
|
|
+ <a-col :span="1" style="margin-top:5px;margin-left:5px;">
|
|
|
|
+ <div v-if="taskInfo.starLevel == false">
|
|
|
|
+ <a-tooltip>
|
|
|
|
+ <template slot="title">
|
|
|
|
+ 将任务标记为重要
|
|
|
|
+ </template>
|
|
|
|
+ <a-popconfirm :visible="false" @visibleChange="signImportance">
|
|
|
|
+ <a-icon type="star" />
|
|
|
|
+ </a-popconfirm>
|
|
|
|
+ </a-tooltip>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else>
|
|
|
|
+ <a-tooltip>
|
|
|
|
+ <template slot="title">
|
|
|
|
+ 删除重要性
|
|
|
|
+ </template>
|
|
|
|
+ <a-popconfirm :visible="false" @visibleChange="signImportance">
|
|
|
|
+ <a-icon style="color:#4169E1" type="star" theme="filled" />
|
|
|
|
+ </a-popconfirm>
|
|
|
|
+ </a-tooltip>
|
|
|
|
+ </div>
|
|
|
|
+ </a-col>
|
|
</a-row>
|
|
</a-row>
|
|
<a-row style="margin-top:15px">
|
|
<a-row style="margin-top:15px">
|
|
<a-col>
|
|
<a-col>
|
|
@@ -84,12 +60,12 @@
|
|
<div v-if="item.isStepComplete == true">
|
|
<div v-if="item.isStepComplete == true">
|
|
<a-list-item-meta>
|
|
<a-list-item-meta>
|
|
<a slot="title"><del>{{ item.title }}</del></a>
|
|
<a slot="title"><del>{{ item.title }}</del></a>
|
|
- <div slot="avatar">
|
|
|
|
|
|
+ <div slot="avatar" style="margin-top:3px">
|
|
<a-tooltip>
|
|
<a-tooltip>
|
|
<template slot="title">
|
|
<template slot="title">
|
|
标记为未完成
|
|
标记为未完成
|
|
</template>
|
|
</template>
|
|
- <a-button shape="circle" type="primary" icon="check" size="small" @click="completeStep(index)" />
|
|
|
|
|
|
+ <a-button class="mybtn-circle-mini-primary" shape="circle" type="primary" icon="check" size="small" @click="completeStep(index)" />
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</div>
|
|
</div>
|
|
</a-list-item-meta>
|
|
</a-list-item-meta>
|
|
@@ -97,12 +73,12 @@
|
|
<div v-else>
|
|
<div v-else>
|
|
<a-list-item-meta>
|
|
<a-list-item-meta>
|
|
<a slot="title">{{ item.title }}</a>
|
|
<a slot="title">{{ item.title }}</a>
|
|
- <div slot="avatar">
|
|
|
|
|
|
+ <div slot="avatar" style="margin-top:3px">
|
|
<a-tooltip>
|
|
<a-tooltip>
|
|
<template slot="title">
|
|
<template slot="title">
|
|
标记为已完成
|
|
标记为已完成
|
|
</template>
|
|
</template>
|
|
- <a-button shape="circle" size="small" @click="completeStep(index)" />
|
|
|
|
|
|
+ <a-button class="mybtn-circle-mini" shape="circle" size="small" @click="completeStep(index)" />
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</div>
|
|
</div>
|
|
</a-list-item-meta>
|
|
</a-list-item-meta>
|
|
@@ -121,7 +97,7 @@
|
|
</a-row>
|
|
</a-row>
|
|
<a-row>
|
|
<a-row>
|
|
<a-col>
|
|
<a-col>
|
|
- <a-input v-model="stepContent" :placeholder="isShowStepList?' 下一步 ':' 添加步骤 '" @pressEnter="addStep">
|
|
|
|
|
|
+ <a-input class="input-custom-add" v-model="stepContent" :placeholder="isShowStepList?' 下一步 ':' 添加步骤 '" @pressEnter="addStep">
|
|
<a-icon slot="prefix" type="plus" />
|
|
<a-icon slot="prefix" type="plus" />
|
|
</a-input>
|
|
</a-input>
|
|
</a-col>
|
|
</a-col>
|
|
@@ -247,7 +223,8 @@
|
|
</a-popconfirm>
|
|
</a-popconfirm>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :span="22" style="text-align:center;">
|
|
<a-col :span="22" style="text-align:center;">
|
|
- 创建于 9 月 6 日 周一
|
|
|
|
|
|
+ {{ createDate }}
|
|
|
|
+ <!-- 创建于 9 月 26 日 星期一 -->
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :span="1">
|
|
<a-col :span="1">
|
|
<a-popconfirm title="是否确认删除任务?" ok-text="是" cancel-text="否" @confirm="deleteTask">
|
|
<a-popconfirm title="是否确认删除任务?" ok-text="是" cancel-text="否" @confirm="deleteTask">
|
|
@@ -270,18 +247,14 @@ export default {
|
|
components: {
|
|
components: {
|
|
TaskReport
|
|
TaskReport
|
|
},
|
|
},
|
|
- props: {
|
|
|
|
- taskInfo: {
|
|
|
|
- type: Object,
|
|
|
|
- required: true
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ taskInfo: {},
|
|
taskStepData: [], // 任务步骤数据
|
|
taskStepData: [], // 任务步骤数据
|
|
stepContent: '',
|
|
stepContent: '',
|
|
isAddedMyDay: false,
|
|
isAddedMyDay: false,
|
|
- manhours: 0
|
|
|
|
|
|
+ manhours: 0,
|
|
|
|
+ createDate: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -290,11 +263,21 @@ export default {
|
|
return this.taskStepData.length > 0
|
|
return this.taskStepData.length > 0
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- created() {
|
|
|
|
- console.log("任务步骤")
|
|
|
|
- this.getTaskStep(this.taskInfo)
|
|
|
|
- },
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
+ init(record) {
|
|
|
|
+ this.taskInfo = record
|
|
|
|
+ this.formatDate(this.taskInfo.createTime)
|
|
|
|
+ // todo 获取任务步骤数据
|
|
|
|
+ this.getTaskStep(this.taskInfo)
|
|
|
|
+ },
|
|
|
|
+ formatDate(param) {
|
|
|
|
+ const date = new Date(param);
|
|
|
|
+ const month = date.getMonth() + 1; // 月
|
|
|
|
+ const day = date.getDate(); // 日
|
|
|
|
+ const week = date.getDay(); // 星期
|
|
|
|
+ const weekArr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
|
|
|
|
+ this.createDate = `创建于 ${month} 月 ${day} 日 ${weekArr[week]}`;
|
|
|
|
+ },
|
|
getTaskStep(param) {
|
|
getTaskStep(param) {
|
|
// todo:获取任务步骤数据
|
|
// todo:获取任务步骤数据
|
|
this.taskStepData = [{
|
|
this.taskStepData = [{
|
|
@@ -369,3 +352,98 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
+
|
|
|
|
+<style scoped>
|
|
|
|
+.row-custom {
|
|
|
|
+ position: relative;
|
|
|
|
+ height: auto;
|
|
|
|
+ margin-right: 0;
|
|
|
|
+ margin-left: -3px;
|
|
|
|
+ zoom: 0;
|
|
|
|
+ display: block;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+}
|
|
|
|
+.mybtn-circle-mini {
|
|
|
|
+ min-width: 17px;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ height: 17px;
|
|
|
|
+ padding: 0;
|
|
|
|
+ font-size: 10px;
|
|
|
|
+ text-align: center;
|
|
|
|
+ line-height: 1.499;
|
|
|
|
+ position: relative;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ background-image: none;
|
|
|
|
+ border: 1px solid transparent;
|
|
|
|
+ box-shadow: 0 2px 0 rgb(0 0 0 / 2%);
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
|
|
+ user-select: none;
|
|
|
|
+ touch-action: manipulation;
|
|
|
|
+ color: rgba(0, 0, 0, 0.65);
|
|
|
|
+ background-color: #fff;
|
|
|
|
+ border-color: #d9d9d9;
|
|
|
|
+}
|
|
|
|
+.mybtn-circle-mini-primary {
|
|
|
|
+ min-width: 17px;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ width: 17px;
|
|
|
|
+ height: 17px;
|
|
|
|
+ padding: 0;
|
|
|
|
+ font-size: 10px;
|
|
|
|
+ text-align: center;
|
|
|
|
+ background-color: #5882fa;
|
|
|
|
+ border-color: #5882fa;
|
|
|
|
+ color: #fff;
|
|
|
|
+ text-shadow: 0 -1px 0 rgb(0 0 0 / 12%);
|
|
|
|
+ box-shadow: 0 2px 0 rgb(0 0 0 / 5%);
|
|
|
|
+ line-height: 0.5;
|
|
|
|
+ position: relative;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ background-image: none;
|
|
|
|
+ border: 1px solid transparent;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
|
|
+ user-select: none;
|
|
|
|
+ touch-action: manipulation;
|
|
|
|
+}
|
|
|
|
+.input-custom {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ padding: 0 8px;
|
|
|
|
+ border: 0;
|
|
|
|
+}
|
|
|
|
+.input-custom-del {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ padding: 0 8px;
|
|
|
|
+ border: 0;
|
|
|
|
+ text-decoration: line-through;
|
|
|
|
+}
|
|
|
|
+.input-custom-add >>> .ant-input-prefix {
|
|
|
|
+ left: 0;
|
|
|
|
+}
|
|
|
|
+.input-custom-add >>> .ant-input {
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ margin: 0;
|
|
|
|
+ font-variant: tabular-nums;
|
|
|
|
+ list-style: none;
|
|
|
|
+ font-feature-settings: 'tnum';
|
|
|
|
+ display: inline-block;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 32px;
|
|
|
|
+ padding: 4px 22px;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ line-height: 1.5;
|
|
|
|
+ background-color: #fff;
|
|
|
|
+ background-image: none;
|
|
|
|
+ border: none;
|
|
|
|
+ border-bottom: 1px solid rgba(131, 130, 130, 0.65);
|
|
|
|
+ border-radius: 2px;
|
|
|
|
+ transition: all 0.3s;
|
|
|
|
+}
|
|
|
|
+</style>
|