ysy 1 год назад
Родитель
Сommit
b5df4fefaa

+ 40 - 4
src/views/workforceManagement/classes/components/edit.vue

@@ -41,6 +41,26 @@
               />
             </el-form-item>
           </el-col>
+
+          <el-col :span="8">
+            <el-form-item label="所属工厂:" prop="factoryId">
+              <el-select
+                style="width: 100%"
+                clearable
+                v-model="form.factoryId"
+                @change="change_factoryId"
+                filterable
+                placeholder="请选择所属工厂"
+              >
+                <el-option
+                  v-for="item in factoryList"
+                  :label="item.name"
+                  :value="item.id"
+                  :key="item.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
 <!--          <el-col :span="8">
             <el-form-item
               label="日工作时长:"
@@ -79,6 +99,7 @@
     updateteamtime
   } from '@/api/workforceManagement/classes';
   import timeTable from './timeTable.vue';
+  import { getFactoryarea } from '@/api/factoryModel';
   export default {
     components: {
       timeTable
@@ -89,7 +110,8 @@
         code: '',
         name: '',
         totalWorkHour: '',
-        details: []
+        details: [],
+        factoryId: ''
       };
       return {
         defaultForm,
@@ -98,7 +120,8 @@
         // 表单验证规则
         rules: {
           code: [{ required: true, message: '请输入', trigger: 'blur' }],
-          name: [{ required: true, message: '请输入', trigger: 'blur' }]
+          name: [{ required: true, message: '请输入', trigger: 'blur' }],
+          factoryId: [{ required: true, message: '请选择所属工厂', trigger: 'change' }]
         },
         visible: false,
         type: '', // add/edit
@@ -108,7 +131,8 @@
           productionLineId: [],
           workStationId: []
         },
-        delDetailIds: []
+        delDetailIds: [],
+        factoryList: []
       };
     },
     computed: {
@@ -125,7 +149,9 @@
         }
       }
     },
-    created () {},
+    created () {
+      this.getFactoryList();
+    },
     methods: {
       open (type, row) {
         this.type = type;
@@ -184,6 +210,16 @@
           });
         });
       },
+
+      async getFactoryList() {
+        const { list } = await getFactoryarea({
+          pageNum: 1,
+          size: 999,
+          type: 1
+        });
+        this.factoryList = list || [];
+      },
+      
       // 重置表单
       restForm () {
         this.$refs.form.clearValidate();

+ 101 - 0
src/views/workforceManagement/classes/components/search.vue

@@ -0,0 +1,101 @@
+<!-- 搜索表单 -->
+<template>
+  <el-form
+    label-width="80px"
+    class="ele-form-search"
+    @keyup.enter.native="search"
+    @submit.native.prevent
+  >
+    <el-row>
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
+        <el-form-item label="名称:">
+          <el-input clearable v-model.trim="where.name" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
+        <el-form-item label="所属工厂:">
+          <el-select
+            style="width: 100%"
+            clearable
+            v-model="where.factoryId"
+            filterable
+            placeholder="请选择所属工厂"
+          >
+            <el-option
+              v-for="item in factoryList"
+              :label="item.name"
+              :value="item.id"
+              :key="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-col>
+
+
+      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
+        <div class="ele-form-actions">
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="ele-btn-icon"
+            @click="search"
+          >
+            查询
+          </el-button>
+          <el-button @click="reset">重置</el-button>
+        </div>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+
+<script>
+  import { getFactoryarea } from '@/api/factoryModel';
+  export default {
+    data() {
+      // 默认表单数据
+      const defaultWhere = {
+        name: '',
+        factoryId: '',
+      };
+      return {
+        // 表单数据
+        where: { ...defaultWhere },
+
+        factoryList: [],
+        workshopPlanList: []
+      };
+    },
+
+    created() {
+      this.getFactoryList();
+    },
+    computed: {
+      // 是否开启响应式布局
+      styleResponsive() {
+        return this.$store.state.theme.styleResponsive;
+      }
+    },
+    methods: {
+      async getFactoryList() {
+        const { list } = await getFactoryarea({
+          pageNum: 1,
+          size: 999,
+          type: 1
+        });
+        this.factoryList = list || [];
+      },
+
+
+      /* 搜索 */
+      search() {
+        this.$emit('search', this.where);
+      },
+      /*  重置 */
+      reset() {
+        this.where = { ...this.defaultWhere };
+        this.search();
+      }
+    }
+  };
+</script>

+ 8 - 1
src/views/workforceManagement/classes/index.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="ele-body">
     <el-card shadow="never">
+      <search @search="reload" />
       <ele-pro-table
         ref="table"
         :columns="columns"
@@ -52,9 +53,11 @@
     getteamtime,
     deleteteamtime
   } from '@/api/workforceManagement/classes';
+  import search from './components/search.vue';
   export default {
     components: {
-      edit
+      edit,
+      search
     },
     data () {
       return {
@@ -74,6 +77,10 @@
             label: '班次名称',
             prop: 'name'
           },
+          {
+            label: '所属工厂',
+            prop: 'factoryName'
+          },
           {
             label: '创建人',
             prop: 'createUserName'

+ 27 - 27
src/views/workforceManagement/team/components/edit.vue

@@ -156,16 +156,19 @@
             </el-form-item>
           </el-col>
 
-          
           <el-col :span="8" style="margin-bottom: 22px">
             <el-form-item label="状态:" prop="">
               <el-select v-model="form.status" placeholder="" filterable>
-              <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
-              </el-option>
-            </el-select>
+                <el-option
+                  v-for="item in statusList"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
             </el-form-item>
           </el-col>
-
         </el-row>
       </el-card>
       <el-card
@@ -224,12 +227,10 @@
 
         deleteUserIds: [],
 
-        
         statusList: [
-
-                { label: '失效', value: 0 },
-                { label: '生效', value: 1 }
-            ],
+          { label: '失效', value: 0 },
+          { label: '生效', value: 1 }
+        ],
 
         // 表单数据
         form: { ...defaultForm() },
@@ -288,7 +289,7 @@
       async open(type, row) {
         this.type = type;
         this.visible = true;
-        this.deleteUserIds = []
+        this.deleteUserIds = [];
 
         if (type == 'edit') {
           for (const key of Object.keys(this.form)) {
@@ -310,12 +311,11 @@
 
           // 获取下拉列表
           await this.getlistWorkshopByParentId();
-          await this.getlistCf()
+          await this.getlistCf();
           await this.getlistFactoryLineByParentId();
-          await  this.getlistByProductionLineId();
+          await this.getlistByProductionLineId();
         }
         this.getVersionList();
-
       },
       deleteIds(ids) {
         this.deleteUserIds = ids || [];
@@ -328,7 +328,7 @@
           }
           this.loading = true;
           let userIds = this.$refs.userTable.datasource.map((n) => n.id);
-          
+
           if (userIds.length <= 0) {
             this.$message.error('请选择员工');
             this.loading = false;
@@ -383,16 +383,15 @@
 
       // 获取厂房
       change_factoryId() {
-
-        this.form.workshopPlanId = ''
+        this.form.workshopPlanId = '';
         this.workshopPlanList = [];
         this.form.workshopId = '';
         this.options.workshopId = [];
         this.form.productionLineId = '';
         this.options.productionLineId = [];
 
-       this.getlistCf()
-         this.form.workCenterIds = ''
+        this.getlistCf();
+        this.form.workCenterIds = '';
         this.options.workCenterIds = [];
 
         this.getlistWorkshopPlanId();
@@ -407,7 +406,6 @@
         getFactoryarea(par).then((res) => {
           this.workshopPlanList = res.list;
         });
-
       },
 
       // 获取车间
@@ -434,14 +432,16 @@
       },
       // 获取工位
       getlistByProductionLineId() {
-        return work.list({ pageNum: 1, size: -1, factoryId: this.form.factoryId }).then((res) => {
-          this.options.workCenterIds = res.list.map((n) => {
-            return {
-              value: n.id,
-              label: n.name
-            };
+        return work
+          .list({ pageNum: 1, size: -1, factoryId: this.form.factoryId })
+          .then((res) => {
+            this.options.workCenterIds = res.list.map((n) => {
+              return {
+                value: n.id,
+                label: n.name
+              };
+            });
           });
-        });
       },
 
       change_workshopPlanId() {