Quellcode durchsuchen

feat(workOrder, productionPlan, produceOrder): 添加搜索表单,支持按计划编号、名称、型号、规格、颜色和批次号查询

xieyong vor 2 Tagen
Ursprung
Commit
d822f56c13

+ 137 - 0
src/views/exceptionManagement/components/produceOrder.vue

@@ -9,6 +9,95 @@
     title="生产工单"
   >
     <div>
+      <el-form
+        class="ele-form-search"
+        @submit.native.prevent
+        @keyup.enter.native="reload"
+      >
+        <el-row :gutter="10" type="flex">
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="计划编号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.code"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="名称:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.name"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="型号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.model"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="规格:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.specification"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="颜色:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.colorKey"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="批次号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.batchNo"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }" class="search-actions-col">
+            <el-form-item label-width="0px" class="search-actions">
+              <el-button
+                size="mini"
+                type="primary"
+                icon="el-icon-search"
+                class="ele-btn-icon"
+                @click="reload"
+              >
+                查询
+              </el-button>
+              <el-button
+                size="mini"
+                @click="reset"
+                icon="el-icon-refresh-left"
+                type="primary"
+              >
+                重置
+              </el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
       <el-row>
         <el-col :span="24" class="table_col" v-if="equipmentdialog">
           <ele-pro-table
@@ -45,6 +134,14 @@ export default {
     }
   },
   data() {
+    const defaultWhere = {
+      code: '',
+      name: '',
+      model: '',
+      specification: '',
+      colorKey: '',
+      batchNo: ''
+    };
     return {
       planType: [
         { label: '所有计划类型', value: null },
@@ -54,6 +151,8 @@ export default {
       ],
       equipmentdialog: false,
       current: null,
+      defaultWhere,
+      where: { ...defaultWhere },
       columns: [
         {
           width: 45,
@@ -111,6 +210,11 @@ export default {
           label: '规格',
           align: 'center'
         },
+        {
+          prop: 'colorKey',
+          label: '颜色',
+          align: 'center'
+        },
         {
           prop: 'model',
           label: '型号',
@@ -205,6 +309,12 @@ export default {
   },
 
   watch: {},
+  computed: {
+    // 是否开启响应式布局
+    styleResponsive() {
+      return this.$store.state.theme.styleResponsive;
+    }
+  },
   methods: {
     datasource({ page, where, limit }) {
       return produceOrder({
@@ -225,6 +335,17 @@ export default {
       this.equipmentdialog = false;
       this.$refs.equiTable.clearSelection();
     },
+    /* 刷新表格 */
+    reload() {
+      this.$nextTick(() => {
+        this.$refs.equiTable.reload({ page: 1, where: { ...this.where } });
+      });
+    },
+    /* 重置 */
+    reset() {
+      this.where = { ...this.defaultWhere };
+      this.reload();
+    },
     // 选择
     selected() {
       let data =
@@ -239,6 +360,22 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+::v-deep .search-actions-col {
+  height: 100%;
+  display: flex;
+  align-items: flex-end;
+}
+::v-deep .search-actions {
+  flex: 1;
+  margin-bottom: 0;
+  .el-form-item__content {
+    display: flex;
+    align-items: flex-end;
+  }
+}
+::v-deep .ele-form-search {
+  display: flex;
+}
 .tree_col {
   border: 1px solid #eee;
   padding: 10px 0;

+ 145 - 1
src/views/exceptionManagement/components/productionPlan.vue

@@ -9,6 +9,95 @@
     title="生产计划"
   >
     <div>
+      <el-form
+        class="ele-form-search"
+        @submit.native.prevent
+        @keyup.enter.native="reload"
+      >
+        <el-row :gutter="10" type="flex">
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="计划编号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.code"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="名称:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.name"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="型号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.model"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="规格:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.specification"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="颜色:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.colorKey"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="批次号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.batchNo"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }" class="search-actions-col">
+            <el-form-item label-width="0px" class="search-actions">
+              <el-button
+                size="mini"
+                type="primary"
+                icon="el-icon-search"
+                class="ele-btn-icon"
+                @click="reload"
+              >
+                查询
+              </el-button>
+              <el-button
+                size="mini"
+                @click="reset"
+                icon="el-icon-refresh-left"
+                type="primary"
+              >
+                重置
+              </el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
       <el-row>
         <el-col :span="24" class="table_col" v-if="equipmentdialog">
           <ele-pro-table
@@ -45,9 +134,19 @@ export default {
     }
   },
   data() {
+    const defaultWhere = {
+      code: '',
+      name: '',
+      model: '',
+      specification: '',
+      colorKey: '',
+      batchNo: ''
+    };
     return {
       equipmentdialog: false,
       current: null,
+      defaultWhere,
+      where: { ...defaultWhere },
       planType: [
         { label: '所有计划类型', value: null },
         { label: '内销计划', value: '1' },
@@ -113,6 +212,18 @@ export default {
           align: 'center',
           showOverflowTooltip: true
         },
+        {
+          prop: 'specification',
+          label: '规格',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'colorKey',
+          label: '颜色',
+          align: 'center',
+          showOverflowTooltip: true
+        },
 
         {
           prop: 'priority',
@@ -182,6 +293,12 @@ export default {
   },
 
   watch: {},
+  computed: {
+    // 是否开启响应式布局
+    styleResponsive() {
+      return this.$store.state.theme.styleResponsive;
+    }
+  },
   methods: {
     datasource({ page, where, limit }) {
       return getList({
@@ -202,10 +319,21 @@ export default {
       this.equipmentdialog = false;
       this.$refs.equiTable.clearSelection();
     },
+    /* 刷新表格 */
+    reload() {
+      this.$nextTick(() => {
+        this.$refs.equiTable.reload({ page: 1, where: { ...this.where } });
+      });
+    },
+    /* 重置 */
+    reset() {
+      this.where = { ...this.defaultWhere };
+      this.reload();
+    },
     // 选择
     async selected() {
       let data = await getUpdateInfoById(this.current.id);
-      
+
       this.$emit('choose', data);
       this.handleClose();
     }
@@ -214,6 +342,22 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+::v-deep .search-actions-col {
+  height: 100%;
+  display: flex;
+  align-items: flex-end;
+}
+::v-deep .search-actions {
+  flex: 1;
+  margin-bottom: 0;
+  .el-form-item__content {
+    display: flex;
+    align-items: flex-end;
+  }
+}
+::v-deep .ele-form-search {
+  display: flex;
+}
 .tree_col {
   border: 1px solid #eee;
   padding: 10px 0;

+ 142 - 0
src/views/exceptionManagement/components/workOrder.vue

@@ -9,6 +9,95 @@
     title="生产订单"
   >
     <div>
+      <el-form
+        class="ele-form-search"
+        @submit.native.prevent
+        @keyup.enter.native="reload"
+      >
+        <el-row :gutter="10" type="flex">
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="计划编号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.code"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="名称:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.name"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="型号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.model"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="规格:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.specification"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="颜色:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.colorKey"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
+            <el-form-item label="批次号:">
+              <el-input
+                clearable
+                size="mini"
+                v-model.trim="where.batchNo"
+                placeholder="请输入"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }" class="search-actions-col">
+            <el-form-item label-width="0px" class="search-actions">
+              <el-button
+                size="mini"
+                type="primary"
+                icon="el-icon-search"
+                class="ele-btn-icon"
+                @click="reload"
+              >
+                查询
+              </el-button>
+              <el-button
+                size="mini"
+                @click="reset"
+                icon="el-icon-refresh-left"
+                type="primary"
+              >
+                重置
+              </el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
       <el-row>
         <el-col :span="24" class="table_col" v-if="equipmentdialog">
           <ele-pro-table
@@ -47,9 +136,19 @@ export default {
     }
   },
   data() {
+    const defaultWhere = {
+      code: '',
+      name: '',
+      model: '',
+      specification: '',
+      colorKey: '',
+      batchNo: ''
+    };
     return {
       equipmentdialog: false,
       current: null,
+      defaultWhere,
+      where: { ...defaultWhere },
       planType: [
         { label: '所有计划类型', value: null },
         { label: '内销计划', value: '1' },
@@ -119,6 +218,16 @@ export default {
             label: '型号',
             align: 'center'
           },
+          {
+            prop: 'specification',
+            label: '规格',
+            align: 'center'
+          },
+          {
+            prop: 'colorKey',
+            label: '颜色',
+            align: 'center'
+          },
 
 
           {
@@ -191,6 +300,12 @@ export default {
   },
 
   watch: {},
+  computed: {
+    // 是否开启响应式布局
+    styleResponsive() {
+      return this.$store.state.theme.styleResponsive;
+    }
+  },
   methods: {
     datasource({ page, where, limit }) {
       return workOrder({
@@ -214,6 +329,17 @@ export default {
       this.equipmentdialog = false;
       this.$refs.equiTable.clearSelection();
     },
+    /* 刷新表格 */
+    reload() {
+      this.$nextTick(() => {
+        this.$refs.equiTable.reload({ page: 1, where: { ...this.where } });
+      });
+    },
+    /* 重置 */
+    reset() {
+      this.where = { ...this.defaultWhere };
+      this.reload();
+    },
     // 选择
     selected() {
       let data=this.type==1?JSON.parse(JSON.stringify(this.selection)):JSON.parse(JSON.stringify(this.current))
@@ -227,6 +353,22 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+::v-deep .search-actions-col {
+  height: 100%;
+  display: flex;
+  align-items: flex-end;
+}
+::v-deep .search-actions {
+  flex: 1;
+  margin-bottom: 0;
+  .el-form-item__content {
+    display: flex;
+    align-items: flex-end;
+  }
+}
+::v-deep .ele-form-search {
+  display: flex;
+}
 .tree_col {
   border: 1px solid #eee;
   padding: 10px 0;