ysc 2 лет назад
Родитель
Сommit
9cb6baf166

+ 42 - 11
src/components/DeptUserTree/index.vue

@@ -1,14 +1,27 @@
 <template>
   <div>
-    <el-input v-model="userNames" size="mini" disabled></el-input>
-    <el-tree
-      ref="dut"
-      :data="userList"
-      @check="change"
-      show-checkbox
-      :props="{label:'name'}"
-      node-key="id">
-    </el-tree>
+    <el-input v-model="userNames" size="mini" disabled>
+      <el-button @click="openUserDialog" icon="el-icon-search" slot="append"></el-button>
+    </el-input>
+
+    <el-dialog title="选择人员" :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"
+        node-key="id"
+        show-checkbox
+        :props="{label:'name'}"
+        :default-expand-all="true"
+        :filter-node-method="filterNode">
+      </el-tree>
+      <div 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>
+      </div>
+    </el-dialog>
   </div>
 
 </template>
@@ -22,19 +35,37 @@ export default {
       default: []
     }
   },
+  watch: {
+    filterText(val) {
+      this.$refs.dut.filter(val);
+    }
+  },
   data() {
     return {
-      userNames: undefined
+      userNames: undefined,
+      usersVisible: false,
+      filterText: '',
     }
   },
   methods: {
-    change() {
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.name.indexOf(value) !== -1;
+    },
+    submitUserForm() {
       let checkedNodes = this.$refs.dut.getCheckedNodes(true, false);
       let val = checkedNodes.map(node => node.id);
       let labels = checkedNodes.map(node => node.name);
       this.userNames = labels.join()
       this.$emit('selected', val)
       this.$emit('selectNode', checkedNodes)
+      this.usersVisible = false
+    },
+    openUserDialog() {
+      this.usersVisible = true
+    },
+    closeUserDialog() {
+      this.usersVisible = false
     }
   }
 }

+ 6 - 1
src/views/dashboard/index.vue

@@ -257,7 +257,8 @@
     </el-dialog>
 
 
-    <el-dialog title="选择人员" :visible.sync="usersVisble" width="30%" @click="closeUserDialog" :close-on-click-modal="false">
+    <el-dialog title="选择人员" :visible.sync="usersVisble" width="30%" @click="closeUserDialog"
+               :close-on-click-modal="false">
       <el-tree
         ref="dept"
         :data="userList"
@@ -476,4 +477,8 @@ export default {
   justify-content: center;
   align-items: center;
 }
+
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
 </style>

+ 4 - 0
src/views/document/techparam.vue

@@ -346,4 +346,8 @@ export default {
     padding: 5px;
   }
 }
+
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
 </style>

+ 4 - 2
src/views/enforceflow/enforceflow.vue

@@ -473,6 +473,8 @@ export default {
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
 </style>

+ 39 - 28
src/views/material/receive.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
+    <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
       <el-form-item label="物料名称" prop="materialName">
         <el-input
           v-model="queryParams.materialName"
@@ -10,33 +10,35 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="只看自己" prop="self">
+        <el-switch v-model="queryParams.self"></el-switch>
+      </el-form-item>
       <el-form-item label="月/周数据" prop="monthOrWeek">
         <el-radio-group v-model="queryParams.monthOrWeek">
           <el-radio-button label="1">月</el-radio-button>
           <el-radio-button label="2">周</el-radio-button>
         </el-radio-group>
       </el-form-item>
-      <el-form-item label="周期" prop="recordDate">
-        <div v-if="queryParams.monthOrWeek==='1'">
-          <el-date-picker
-            v-model="queryParams.recordDate"
-            type="month"
-            value-format="yyyy-MM"
-            placeholder="选择月份"
-            @change="handleQuery"
-            clearable>
-          </el-date-picker>
-        </div>
-        <div v-if="queryParams.monthOrWeek==='2'">
-          <el-date-picker
-            v-model="queryParams.recordDate"
-            type="week"
-            format="yyyy 第 WW 周"
-            placeholder="选择周"
-            @change="handleQuery"
-            clearable>
-          </el-date-picker>
-        </div>
+
+      <el-form-item label="周期" prop="recordDate" v-if="queryParams.monthOrWeek==='1'">
+        <el-date-picker
+          v-model="queryParams.recordDate"
+          type="month"
+          value-format="yyyy-MM"
+          placeholder="选择月份"
+          @change="handleQuery"
+          clearable>
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="周期" prop="recordDate" v-if="queryParams.monthOrWeek==='2'">
+        <el-date-picker
+          v-model="queryParams.recordDate"
+          type="week"
+          format="yyyy 第 WW 周"
+          placeholder="选择周"
+          @change="handleQuery"
+          clearable>
+        </el-date-picker>
       </el-form-item>
 
       <el-form-item>
@@ -134,9 +136,10 @@
     </div>
 
     <!-- 添加或修改物料配置对话框 -->
-    <el-dialog :title="title" :visible.sync="open" @close="dialogClose" width="500px" append-to-body :close-on-click-modal="false">
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-form-item label="数据周期">
+    <el-dialog :title="title" :visible.sync="open" @close="dialogClose" 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="recordDate">
           <div v-if="form.monthOrWeek==='1'">
             <el-date-picker
               v-model="form.recordDate"
@@ -224,6 +227,7 @@ export default {
         pageSize: 10,
         materialName: undefined,
         factory: undefined,
+        self: false,
         monthOrWeek: undefined,
         recordDate: undefined
       },
@@ -232,6 +236,9 @@ export default {
 
       // 表单校验
       rules: {
+        recordDate: [
+          {required: true, message: "数据周期不能为空", trigger: "change"}
+        ],
         materialName: [
           {required: true, message: "物料名称不能为空", trigger: "blur"}
         ],
@@ -252,9 +259,6 @@ export default {
         ],
         materialType: [
           {required: true, message: "物料类型不能为空", trigger: "change"}
-        ],
-        monthOrWeek: [
-          {required: true, message: "月/周数据不能为空", trigger: "change"}
         ]
       }
     };
@@ -361,6 +365,7 @@ export default {
       this.form = _.cloneDeep(row);
       this.form.parentId = row.id;
       this.form.id = undefined;
+      this.form.recordDate = DateUtil.day(row.recordDate);
       this.form.num = undefined;
       this.form.monthOrWeek = '2'
       this.title = "添加周物料计划";
@@ -413,3 +418,9 @@ export default {
   }
 };
 </script>
+
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+</style>

+ 22 - 14
src/views/meeting/meeting.vue

@@ -77,7 +77,7 @@
       </el-table-column>
       <el-table-column prop="createTime" label="创建时间" width="130">
         <template slot-scope="scope">
-          <span>{{parseTime(scope.row.createTime)}}</span>
+          <span>{{ parseTime(scope.row.createTime) }}</span>
         </template>
       </el-table-column>
       <el-table-column label="操作" prop="op" width="180">
@@ -96,10 +96,11 @@
 
     <!--编辑会议窗体-->
     <!-- 编辑界面 -->
-    <el-dialog :title="title" :visible.sync="editFormVisible" width="950px" @click="closeDialog" :close-on-click-modal="false">
-      <el-form label-width="120px" ref="form" :model="editForm">
+    <el-dialog :title="title" :visible.sync="editFormVisible" width="950px" @click="closeDialog"
+               :close-on-click-modal="false">
+      <el-form label-width="120px" ref="form" size="mini" :model="editForm">
         <el-form-item label="会议主题:">
-          <el-input size="mini" v-model="editForm.meetingName"></el-input>
+          <el-input v-model="editForm.meetingName"></el-input>
         </el-form-item>
         <el-form-item label="会议类别:">
           <el-radio-group v-model="editForm.external">
@@ -191,7 +192,8 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="选择人员" :visible.sync="usersVisble" width="30%" @click="closeUserDialog" :close-on-click-modal="false">
+    <el-dialog title="选择人员" :visible.sync="usersVisble" width="30%" @click="closeUserDialog"
+               :close-on-click-modal="false">
       <el-tree
         ref="dept"
         :data="userList"
@@ -205,7 +207,8 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="选择人员" :visible.sync="users1Visble" width="30%" @click="closeUser1Dialog" :close-on-click-modal="false">
+    <el-dialog title="选择人员" :visible.sync="users1Visble" width="30%" @click="closeUser1Dialog"
+               :close-on-click-modal="false">
       <el-tree
         ref="dept1"
         :data="userList"
@@ -218,7 +221,8 @@
       </div>
     </el-dialog>
 
-    <el-dialog :visible.sync="projectMeetingDetailVisble" width="95%" @click="closeProjectMeetingDailog" :close-on-click-modal="false">
+    <el-dialog :visible.sync="projectMeetingDetailVisble" width="95%" @click="closeProjectMeetingDailog"
+               :close-on-click-modal="false">
       <el-descriptions title="会议记录详情" border :column="2">
         <el-descriptions-item label="会议主题">
           {{ pro.meetingName }}
@@ -254,12 +258,12 @@
         <el-table-column label="会议内容" prop="content"></el-table-column>
         <el-table-column label="会议问题" prop="question">
           <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.question"></el-input>
+            <el-input size="mini" v-model="scope.row.question" type="textarea" autosize></el-input>
           </template>
         </el-table-column>
         <el-table-column label="会议方案" prop="optionss">
           <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.optionss"></el-input>
+            <el-input size="mini" v-model="scope.row.optionss" type="textarea" autosize></el-input>
           </template>
 
         </el-table-column>
@@ -271,13 +275,14 @@
             </el-input>
           </template>
         </el-table-column>
-        <el-table-column label="周期时间" width="420">
+        <el-table-column label="周期时间" width="300">
           <template slot-scope="scope">
             <el-date-picker size="mini"
                             v-model="scope.row.times"
                             value-format="yyyy-MM-dd"
                             format="yyyy-MM-dd"
-                            type="datetimerange"
+                            type="daterange"
+                            style="width: 100%"
                             range-separator="至"
                             start-placeholder="开始日期"
                             end-placeholder="结束日期">
@@ -293,7 +298,8 @@
       </div>
     </el-dialog>
 
-    <el-dialog :visible.sync="otherMeetingDetailVisble" width="95%" @click="closeotherMeetingDailog" :close-on-click-modal="false">
+    <el-dialog :visible.sync="otherMeetingDetailVisble" width="95%" @click="closeotherMeetingDailog"
+               :close-on-click-modal="false">
       <el-descriptions title="会议记录详情" border :column="2">
         <el-descriptions-item label="会议主题">
           {{ pro.meetingName }}
@@ -739,6 +745,8 @@ export default {
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
 </style>

+ 4 - 2
src/views/meeting/weekly.vue

@@ -210,6 +210,8 @@ export default {
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
 </style>

+ 5 - 0
src/views/system/dept.vue

@@ -331,3 +331,8 @@ export default {
   }
 };
 </script>
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+</style>

+ 4 - 2
src/views/system/menu.vue

@@ -377,6 +377,8 @@ export default {
 }
 </script>
 
-<style scoped>
-
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
 </style>

+ 6 - 0
src/views/system/role.vue

@@ -517,3 +517,9 @@ export default {
   }
 };
 </script>
+
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+</style>

+ 6 - 0
src/views/system/user.vue

@@ -503,3 +503,9 @@ export default {
   }
 };
 </script>
+
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+</style>

+ 5 - 0
src/views/task/category.vue

@@ -261,3 +261,8 @@ export default {
   }
 };
 </script>
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+</style>

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

@@ -84,8 +84,8 @@ export default {
 }
 </script>
 
-<style scoped>
-.el-form-item {
-  margin-bottom: 0;
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
 }
 </style>

+ 5 - 0
src/views/task/project.vue

@@ -285,3 +285,8 @@ export default {
   }
 };
 </script>
+<style scoped lang="scss">
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+</style>

+ 6 - 0
src/views/task/task.vue

@@ -255,6 +255,7 @@
               <el-cascader
                 v-model="child.executor"
                 :options="userList"
+                filterable
                 @change="(val)=>selectExecutor(val,'splitForm',index)"
                 :props="{ expandTrigger: 'hover',value:'id',label:'name' }"
                 :show-all-levels="false"></el-cascader>
@@ -594,4 +595,9 @@ export default {
     padding: 5px;
   }
 }
+
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
+}
+
 </style>

+ 22 - 6
src/views/task/view.vue

@@ -33,9 +33,11 @@
     </el-form>
 
     <el-table
-      ref="view-table"
+      class="view-table"
       :data="tableData"
       size="mini"
+      @cell-mouse-enter="cellMouseEnter"
+      @cell-mouse-leave="cellMouseLeave"
       :cell-style="cellStyle"
       @cell-click="cellClick"
       @cell-dblclick="cellDbClick"
@@ -227,6 +229,20 @@ export default {
         this.tableData = res.data
       })
     },
+    cellMouseEnter(row, column, cell, event) {
+      if (column.property != 'taskName') {
+        return
+      }
+      cell.style.color = '#306FB1';
+      cell.style.textDecoration= 'underline';
+    },
+    cellMouseLeave(row, column, cell, event) {
+      if (column.property != 'taskName') {
+        return
+      }
+      cell.style.color = '#606266';
+      cell.style.textDecoration= 'none';
+    },
     cellStyle({row, column, rowIndex, columnIndex}) {
       let style = {
         fontSize: '12px',
@@ -235,9 +251,9 @@ export default {
       if (row[column.property]) {
         style.background = this.cellColorMap[row[column.property].color]
       }
-      if (columnIndex === 1) {
-        style.color = '#306FB1'
-      }
+      // if (columnIndex === 1) {
+      //   style.color = '#306FB1'
+      // }
       return style
     },
 
@@ -363,7 +379,7 @@ export default {
   padding-right: 5px;
 }
 
-::v-deep.task-name-cell:hover {
-  text-decoration: underline;
+.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+  margin-bottom: 10px;
 }
 </style>