Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

humingbo před 2 roky
rodič
revize
b3971ec018

+ 9 - 0
src/api/task/task.js

@@ -106,3 +106,12 @@ export function childrenTask(parmas) {
     params: parmas
   })
 }
+
+
+//查询工作台待办任务
+export function toDoTaskList() {
+  return request({
+    url: '/task/task/todo',
+    method: 'get'
+  })
+}

+ 23 - 0
src/components/DeptUserTree/index.vue

@@ -11,6 +11,7 @@
       <el-tree
         ref="dut"
         :data="userList"
+        :default-checked-keys="checkedKeys"
         node-key="id"
         :show-checkbox="multiple"
         default-expand-all
@@ -55,6 +56,7 @@ export default {
       userNames: undefined,
       usersVisible: false,
       filterText: '',
+      checkedKeys: []
     }
   },
   methods: {
@@ -87,7 +89,28 @@ export default {
     },
     clearText() {
       this.userNames = undefined
+      this.checkedKeys = []
+    },
+    setCheckedNode(data) {
+      if (!data) {
+        return
+      }
+      this.checkedKeys = data.split(',');
+      let labelArr = []
+      this.getNodeLabel(this.userList, this.checkedKeys, labelArr)
+      this.userNames = labelArr.join(',')
+    },
+    getNodeLabel(list, idArr, labelArr) {
+      list.forEach(item => {
+        if (item.type === 'u' && idArr.indexOf(item.id) > -1) {
+          labelArr.push(item.name)
+        }
+        if (item.children && item.children.length > 0) {
+          this.getNodeLabel(item.children, idArr, labelArr)
+        }
+      })
     }
+
   }
 }
 </script>

+ 3 - 3
src/views/system/menu.vue

@@ -104,7 +104,7 @@
 
     <!-- 添加或修改菜单对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="680px" append-to-body :close-on-click-modal="false">
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+      <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
         <el-row>
           <el-col :span="24">
             <el-form-item label="上级菜单" prop="parentId">
@@ -197,8 +197,8 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
+        <el-button type="primary" size="mini" @click="submitForm">确 定</el-button>
+        <el-button size="mini" @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
   </div>

+ 4 - 0
src/views/system/permission.vue

@@ -1,5 +1,9 @@
 <template>
   <div class="app-container">
+    <div style="font-size:13px;color:#A8A8A8;text-align: center;margin-bottom: 10px">
+      <i class="el-icon-info"/>单击左边列表某一行选中角色,中部展示角色对应的菜单按钮权限,右边展示具有此角色的用户,可以对菜单按钮和用户进行增删
+    </div>
+
     <el-row :gutter="20">
       <el-col :span="8">
         <el-card style="height:calc(100vh - 90px)">

+ 18 - 9
src/views/task/components/project.vue

@@ -29,7 +29,8 @@
               <div v-if="data.type!='模块'" style="font-size: 12px;color: #1c84c6">({{ data.type }})</div>
               <el-popover
                 placement="right"
-                trigger="hover">
+                trigger="hover"
+              >
                 <el-button size="mini" type="primary" @click="handleAdd(data)"
                            v-hasPermi="['task:project:add']">新增</el-button>
                 <el-button size="mini" @click="handleUpdate(data)" v-hasPermi="['task:project:edit']">修改</el-button>
@@ -37,14 +38,16 @@
                            v-hasPermi="['task:project:delete']">删除</el-button>
                 <el-button size="mini" @click="handleDetail(data)" v-if="data.type==='项目'"
                            v-hasPermi="['task:project:query']">详情</el-button>
-                <i class="el-icon-share" slot="reference"></i>
+                <i class="el-icon-share" slot="reference"
+                   v-hasPermi="['task:project:add','task:project:edit','task:project:delete','task:project:query']"></i>
                </el-popover>
             </span>
       </el-tree>
     </div>
 
     <!-- 添加或修改项目配置对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
+    <el-dialog :title="title" :visible.sync="open" @close="cancel" width="500px" append-to-body
+               :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
         <el-form-item label="名称" prop="projectName">
           <el-input v-model="form.projectName" placeholder="请输入名称"/>
@@ -222,20 +225,26 @@ export default {
       this.form.viewable = val.join();
     },
     /** 修改按钮操作 */
-    handleUpdate(row) {
+    async handleUpdate(row) {
       this.reset();
-      listProject().then(response => {
+      let arr = []
+      arr.push(listProject().then(response => {
         this.projectOptions = this.handleTree(response.data, "id");
-      });
-      getProject(row.id).then(res => {
+      }))
+
+      arr.push(getDeptUserTree('').then(res => {
+        this.userList = res.data
+      }))
+      arr.push(getProject(row.id).then(res => {
         this.form = res.data;
         this.open = true;
         this.title = "修改项目";
         this.typeDisable = true
-      });
+      }))
+      await Promise.all(arr)
+      this.$refs.dut.setCheckedNode(this.form.viewable)
     },
 
-
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {

+ 1 - 1
src/views/task/components/taskDetail.vue

@@ -21,7 +21,7 @@
       </el-form-item>
       <el-form-item label="共同执行人:">
         <template v-for="item in form.coExecutorNames">
-          <el-tag size="mini">{{ item }}</el-tag>
+          <el-tag size="mini" style="margin-right: 5px">{{ item }}</el-tag>
         </template>
       </el-form-item>
       <el-form-item label="附件:">

+ 8 - 7
src/views/task/task.vue

@@ -10,9 +10,9 @@
             <dept-user-tree ref="dut" :userList="userList" :multiple="true"
                             @selected="(val)=>queryParams.executors=val"></dept-user-tree>
           </el-form-item>
-          <el-form-item label="月份选择" prop="month">
+          <el-form-item label="日期选择" prop="rangeDate">
             <el-date-picker
-              v-model="queryParams.month"
+              v-model="queryParams.rangeDate"
               type="daterange"
               value-format="yyyy-MM-dd"
               range-separator="至"
@@ -318,7 +318,7 @@ export default {
         pageSize: 10,
         executors: [],
         projectId: undefined,
-        month: DateUtil.month(),
+        rangeDate: [],
         status: '0'
       },
       // 表单参数
@@ -365,11 +365,12 @@ export default {
     },
     /** 查询项目列表 */
     getList() {
-      if (this.queryParams.month && this.queryParams.month.length === 2) {
-        this.queryParams.startDate = this.queryParams.month[0]
-        this.queryParams.endDate = this.queryParams.month[1]
+      let data = _.cloneDeep(this.queryParams)
+      if (data.rangeDate && data.rangeDate.length === 2) {
+        data.startDate = data.rangeDate[0]
+        data.endDate = data.rangeDate[1]
       }
-      listTask(this.queryParams).then(res => {
+      listTask(data).then(res => {
           this.taskList = res.data.records;
           this.total = res.data.total;
         }

+ 2 - 1
src/views/task/view.vue

@@ -106,7 +106,7 @@
                     <span
                       v-if="scope.row.feedbackType === '4'&&scope.row.executor===userId&&scope.row.commentConfirm!='1'"
                       style="position: absolute;right: 2px">
-                    <el-button type="text" icon="el-icon-circle-check" size="mini"
+                    <el-button type="text" icon="el-icon-thumb" size="mini"
                                @click="confirmComment(scope.row)">确认</el-button>
                     </span>
                   </div>
@@ -407,6 +407,7 @@ export default {
     confirmComment(row) {
       confirmComment({feedbackId: row.id}).then(res => {
         if (res.code === '2000') {
+          this.$message.success("操作成功")
           this.getList()
         }
       })