|
@@ -34,7 +34,13 @@
|
|
|
<el-menu :default-active="defaultGroupId" ref="defaultMenu" class="el-menu-vertical-demo" @select="groupChange" style="border-right:none;">
|
|
|
<el-menu-item :index="item.id" v-for="item in groupList" :key="item.id" class="group_style">
|
|
|
<div slot="title">
|
|
|
- <span >{{item.name}}</span>
|
|
|
+ <!-- <span class="taskGroupClass">{{item.name}}</span> -->
|
|
|
+ <div style="display: inline-block;">
|
|
|
+ <el-tooltip effect="dark" :content="item.name" placement="top" v-if="item.name.length > 12">
|
|
|
+ <span class="taskGroupClass">{{item.name}}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ <span class="taskGroupClass" v-else>{{item.name}}</span>
|
|
|
+ </div>
|
|
|
<!-- <el-button size="mini" @click="test(item)">test</el-button> -->
|
|
|
<el-dropdown trigger="click" style="float:right;margin-right:-10px;" :disabled="!(user.id == item.inchargerId || user.id == projectCreatorId || user.id == projectInchargerId || permissions.projectManagement)">
|
|
|
<i class="iconfont firerock-iconcaidan" ></i>
|
|
@@ -143,13 +149,13 @@
|
|
|
</div>
|
|
|
|
|
|
<draggable class="taskListin" :style="'max-height:' + taskListinH + 'px;'" @start="drag=true" @end="drag=false" draggable=".taskCard" ghostClass="ghost" @update="onChange" @add="onChange" group="task1" :id="stage.id">
|
|
|
- <div v-for="element in stage.taskList" :id="element.id" :key="element.id" class="taskCard" ref="tasks" @click="editTask(element)" :style="element.taskStatus==0?'':'background:#eFeFeF;'">
|
|
|
+ <div v-for="element in stage.taskList" :id="element.id" :key="element.id" class="taskCard" ref="tasks" @click="canAddTask ? editTask(element) : ''" :style="element.taskStatus==0?'':'background:#eFeFeF;'">
|
|
|
<!--任务卡片内容显示 -->
|
|
|
<div>
|
|
|
<div v-if="element.taskLevel == 2" class="taskImg hong"><img src="../../assets/image/hong.png" alt=""></div>
|
|
|
<div v-if="element.taskLevel == 1" class="taskImg huang"><img src="../../assets/image/huang.png" alt=""></div>
|
|
|
<div v-if="element.taskLevel == 0" class="taskImg hui"><img src="../../assets/image/hui.png" alt=""></div>
|
|
|
- <el-checkbox :disabled="element.taskStatus==2 || element.subTaskList.length > element.subTaskFinishNum" :checked="element.taskStatus==1?true:false" size="large" class="cb"
|
|
|
+ <el-checkbox v-if="canAddTask" :disabled="element.taskStatus==2 || element.subTaskList.length > element.subTaskFinishNum" :checked="element.taskStatus==1?true:false" size="large" class="cb"
|
|
|
@change="finishTask(element)"
|
|
|
@click.stop.native=""
|
|
|
></el-checkbox>
|
|
@@ -164,7 +170,7 @@
|
|
|
<span v-if="element.executorName">
|
|
|
<span v-for="(exeItem, exeIndex) in element.executorName.split(',')" :key="exeIndex" :style="element.executorColor ? 'background:' + element.executorColor.split(',')[exeIndex] : ''" class="user_name_icon">{{exeItem.length>2?exeItem.substring(exeItem.length-2, exeItem.length):exeItem}}</span>
|
|
|
</span>
|
|
|
- <el-button v-if="!element.executorName" type="primary" @click.stop.native="addAsMyTask(element)" size="mini" style="float:right;width:38px;padding:5px;position: absolute;z-index: 5;right: 5px;">认领</el-button>
|
|
|
+ <el-button v-if="!element.executorName && canAddTask" type="primary" @click.stop.native="addAsMyTask(element)" size="mini" style="float:right;width:38px;padding:5px;position: absolute;z-index: 5;right: 5px;">认领</el-button>
|
|
|
</div>
|
|
|
<!--子任务 -->
|
|
|
<div v-if="element.subTaskList.length > 0" class="taskCardCircleBox">
|
|
@@ -181,7 +187,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</draggable>
|
|
|
- <el-button slot="footer" role="people" @click="addTask(stage)" style="width:300px;" size="small" icon="el-icon-plus"></el-button>
|
|
|
+ <el-button v-if="canAddTask" slot="footer" role="people" @click="addTask(stage)" style="width:300px;" size="small" icon="el-icon-plus"></el-button>
|
|
|
</div>
|
|
|
</v-flex>
|
|
|
<!-- </transition-group > -->
|
|
@@ -606,7 +612,7 @@
|
|
|
|
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button v-if="user.id == addForm.createrId || currentProject.inchargerId == user.id || currentProject.creatorId == user.id || permissions.projectManagement" @click.native="deleteTask()" style="float:left;">删除</el-button>
|
|
|
+ <el-button v-if="(user.id == addForm.createrId || currentProject.inchargerId == user.id || currentProject.creatorId == user.id || permissions.projectManagement) && canAddTask" @click.native="deleteTask()" style="float:left;">删除</el-button>
|
|
|
<el-button @click.native="addFormVisible = false">取消</el-button>
|
|
|
<el-button type="primary" @click="submitInsert" :loading="addLoading">提交</el-button>
|
|
|
</div>
|
|
@@ -764,7 +770,7 @@
|
|
|
<el-dialog title="修改任务分组" v-if="modGroupDialog" :visible.sync="modGroupDialog" :close-on-click-modal="false" customClass="customWidth" width="400px">
|
|
|
<el-form ref="form2" :model="groupForm" :rules="rules" style="margin-top:10px;">
|
|
|
<el-form-item prop="name">
|
|
|
- <el-input v-model="groupForm.name" placeholder="请输入分组名称" maxlength="12"
|
|
|
+ <el-input type="textarea" :rows="3" v-model="groupForm.name" placeholder="请输入分组名称" maxlength="50"
|
|
|
show-word-limit clearable></el-input>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="编号">
|
|
@@ -1059,7 +1065,9 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
alreadyPartArray: [],
|
|
|
|
|
|
projectCreatorId: null,
|
|
|
- projectInchargerId: null
|
|
|
+ projectInchargerId: null,
|
|
|
+
|
|
|
+ canAddTask: false, // 分组创建任务的判断
|
|
|
};
|
|
|
|
|
|
},
|
|
@@ -2091,6 +2099,8 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
}
|
|
|
},
|
|
|
finishTask(task) {
|
|
|
+ console.log(123)
|
|
|
+
|
|
|
this.http.post('/task/finish',{id: task.id, taskStatus: task.taskStatus},
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
@@ -2336,6 +2346,7 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
|
|
|
res => {
|
|
|
if (res.code == "ok") {
|
|
|
this.stageList = res.data.list;
|
|
|
+ this.canAddTask = res.data.canAddTask
|
|
|
this.timess() // 处理时间的方法
|
|
|
} else {
|
|
|
this.$message({
|
|
@@ -3001,6 +3012,13 @@ float:left;
|
|
|
width:260px;
|
|
|
overflow: auto;
|
|
|
}
|
|
|
+.taskGroupClass {
|
|
|
+ width: 180px;
|
|
|
+ display: inline-block;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
|
|
|
|
|
|
.taskCard {
|