ysc hace 2 años
padre
commit
2d932444e4

+ 18 - 15
src/components/DeptUserTree/index.vue

@@ -4,26 +4,27 @@
       <el-button @click="openUserDialog" icon="el-icon-search" slot="append"></el-button>
     </el-input>
 
-    <el-dialog title="选择人员" :visible.sync="usersVisible" width="30%" @click="closeUserDialog"
+    <el-dialog title="选择人员" class="dut" :visible.sync="usersVisible" width="30%" @click="closeUserDialog"
                append-to-body :close-on-click-modal="false">
       <el-input v-model="filterText" size="mini" placeholder="输入名字进行过滤"
                 style="margin-bottom: 10px"></el-input>
-      <el-tree
-        ref="dut"
-        :data="userList"
-        :default-checked-keys="checkedKeys"
-        node-key="id"
-        :show-checkbox="multiple"
-        default-expand-all
-        @check-change="checkChange"
-        @node-click="checkChange"
-        :filter-node-method="filterNode">
+      <div style="height:calc(100vh - 280px);overflow: auto">
+        <el-tree
+          ref="dut"
+          :data="userList"
+          :default-checked-keys="checkedKeys"
+          node-key="id"
+          :show-checkbox="multiple"
+          default-expand-all
+          @check-change="checkChange"
+          @node-click="checkChange"
+          :filter-node-method="filterNode">
         <span class="custom-tree-node" slot-scope="{ node, data }">
           <span>{{ data.name }}</span>
           <span v-if="data.type==='d'" style="font-size: 12px;color: #1c84c6">(部门)</span>
         </span>
-      </el-tree>
-
+        </el-tree>
+      </div>
       <div v-if="multiple" slot="footer" class="dialog-footer">
         <el-button size="mini" @click="closeUserDialog">取消</el-button>
         <el-button size="mini" type="primary" class="title" @click="submitUserForm">确定</el-button>
@@ -116,11 +117,13 @@ export default {
 </script>
 
 <style scoped lang="scss">
-//dut {
 
 .el-input.is-disabled .el-input__inner {
   background-color: #ffffff;
 }
 
-//}
+.dut ::v-deep .el-dialog__body {
+  padding: 0 20px 10px 20px;
+}
+
 </style>

+ 6 - 6
src/views/material/asset.vue

@@ -140,7 +140,7 @@
     </el-row>
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body >
+    <el-dialog :title="title" :visible.sync="open" class="asset-dialog" width="800px" append-to-body >
       <el-row :gutter="20">
         <el-col :span="10">
           <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
@@ -258,7 +258,7 @@
     </el-dialog>
 
     <!-- 物品流转对话框 -->
-    <el-dialog title="物品流转" :visible.sync="transferOpen" width="800px" append-to-body>
+    <el-dialog title="物品流转" :visible.sync="transferOpen" class="asset-dialog" width="800px" append-to-body>
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form ref="transferForm" :model="transferForm" :rules="transferRules" size="mini" label-width="100px">
@@ -349,7 +349,7 @@
     </el-dialog>
 
     <!-- 资产详情对话框 -->
-    <el-dialog title="资产详情" :visible.sync="detailOpen" width="800px" append-to-body>
+    <el-dialog title="资产详情" :visible.sync="detailOpen" class="asset-dialog" width="800px" append-to-body>
       <asset-detail :form="form"></asset-detail>
     </el-dialog>
 
@@ -637,9 +637,9 @@ export default {
   margin-bottom: 10px;
 }
 
-//.el-dialog::v-deep.el-dialog__body {
-//  padding: 10px 20px 30px 20px;
-//}
+.asset-dialog ::v-deep .el-dialog__body {
+  padding: 0 20px 10px 20px;
+}
 
 .accessory-header {
   display: flex;

+ 16 - 1
src/views/task/projectView.vue

@@ -9,6 +9,10 @@
           collapse-tags
           :show-all-levels="false" clearable></el-cascader>
       </el-form-item>
+      <el-form-item label="执行(负责)人" prop="executors">
+        <dept-user-tree ref="dut" :userList="userList" :multiple="true"
+                        @selected="selectExecutors"></dept-user-tree>
+      </el-form-item>
       <el-form-item label="日期" prop="month">
         <el-date-picker
           v-model="queryParams.rangeDate"
@@ -149,6 +153,8 @@ import {getProjectList, getProjectTree} from "@/api/task/project";
 import DateUtil from "@/utils/date"
 import TaskDetail from "./components/taskDetail"
 import FileUpload from "@/components/FileUpload"
+import DeptUserTree from "@/components/DeptUserTree"
+import {getDeptUserTree} from "@/api/system/user";
 
 const statusMap = {
   '0': {name: '待查看', type: 'info'},
@@ -160,7 +166,7 @@ const statusMap = {
 }
 
 export default {
-  components: {TaskDetail, FileUpload},
+  components: {TaskDetail, FileUpload, DeptUserTree},
   dicts: ['task_status',],
   data() {
     return {
@@ -170,6 +176,7 @@ export default {
         status: '0'
       },
       projectTree: [],
+      userList: [],
       tableHeaders: [],
       tableData: [],
       statusMap: statusMap,
@@ -204,11 +211,19 @@ export default {
       getProjectTree().then(res => {
         this.projectTree = res.data
       })
+      getDeptUserTree('').then(res => {
+        this.userList = res.data
+      })
     },
+    //项目选择事件
     selectProjectChange(val) {
       this.queryParams.projectId = val[val.length - 1]
       this.getList()
     },
+    selectExecutors(val) {
+      this.queryParams.executors = val
+      this.getList()
+    },
     getList() {
       if (this.queryParams.rangeDate && this.queryParams.rangeDate.length === 2) {
         this.queryParams.startDate = this.queryParams.rangeDate[0]

+ 1 - 3
src/views/task/task.vue

@@ -276,16 +276,14 @@ import {
   auditTask,
   splitTask, childrenTask
 } from "@/api/task/task";
-import {getProjectList, listProject} from "@/api/task/project";
+import {listProject} from "@/api/task/project";
 import {getDeptUserTree} from "@/api/system/user";
-import DateUtil from "@/utils/date"
 import TaskDetail from "./components/taskDetail"
 import DeptUserTree from "@/components/DeptUserTree"
 import FileUpload from "@/components/FileUpload"
 import Project from "@/views/task/components/project";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-import {getDictData} from "@/api/system/dict";
 
 const statusMap = {
   '0': {name: '待查看', type: 'info'},

+ 3 - 3
src/views/task/view.vue

@@ -248,9 +248,9 @@ export default {
       let today = new Date();
       this.queryParams.month = [DateUtil.beforeDay(today, 13), DateUtil.afterDay(today, 15)]
       this.getList()
-      getProjectTree().then(res => {
-        this.projectTree = res.data
-      })
+      // getProjectTree().then(res => {
+      //   this.projectTree = res.data
+      // })
     },
     selectProjectChange(val) {
       this.queryParams.projectId = val[val.length - 1]