Pārlūkot izejas kodu

项目分组增加权限控制,名称更改限制长度

Lijy 2 gadi atpakaļ
vecāks
revīzija
5374985358

+ 26 - 8
fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue

@@ -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 {