瀏覽代碼

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-aps into dev

ysy 1 年之前
父節點
當前提交
f87f2c20c6

+ 8 - 0
src/api/productionPlan/index.js

@@ -181,3 +181,11 @@ export async function pbomHomogeneityInspect(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+export async function getPlanStatistics(params){
+  const res = await request.get('/aps/productionplan/getPlanStatistics', {params});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 221 - 111
src/views/productionPlan/components/productionPlan-search.vue

@@ -1,54 +1,53 @@
 <!-- 搜索表单 -->
 <template>
   <el-form
-    label-width="80px"
     class="ele-form-search"
     @keyup.enter.native="search"
     @submit.native.prevent
   >
     <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="计划编号:">
-          <el-input
-            size="mini"
-            clearable
-            v-model="where.code"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="产品编码:">
-          <el-input
-            size="mini"
-            clearable
-            v-model="where.productCode"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="牌号:" label-width="80px">
-          <el-input
-            size="mini"
-            clearable
-            v-model="where.brandNo"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="型号:" label-width="80px">
-          <el-input
-            size="mini"
-            clearable
-            v-model="where.model"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item size="mini" label="计划类型:" label-width="80px">
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="计划编号:">-->
+<!--          <el-input-->
+<!--            size="mini"-->
+<!--            clearable-->
+<!--            v-model="where.code"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="产品编码:">-->
+<!--          <el-input-->
+<!--            size="mini"-->
+<!--            clearable-->
+<!--            v-model="where.productCode"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="牌号:" label-width="80px">-->
+<!--          <el-input-->
+<!--            size="mini"-->
+<!--            clearable-->
+<!--            v-model="where.brandNo"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="型号:" label-width="80px">-->
+<!--          <el-input-->
+<!--            size="mini"-->
+<!--            clearable-->
+<!--            v-model="where.model"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
+        <el-form-item label="计划类型:" label-width="80px">
           <el-select
             size="mini"
             clearable
@@ -65,7 +64,7 @@
           </el-select>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
         <el-form-item label="计划状态:" label-width="80px">
           <el-select
             size="mini"
@@ -82,40 +81,41 @@
           </el-select>
         </el-form-item>
       </el-col>
-      <el-col
-        v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }"
-        v-if="activeName == 'second'"
-      >
-        <el-form-item label-width="150px">
-          <template slot="label">
-            <el-select
-              size="mini"
-              v-model="deliveryVal"
-              @change="
-                () => {
-                  where.deliveryTime = [];
-                  where.formingTime = [];
-                }
-              "
-            >
-              <el-option label="预测交货日期" value="deliveryTime"></el-option>
-              <el-option label="实际交货日期" value="formingTime"></el-option>
-            </el-select>
-          </template>
-          <el-date-picker
-            class="w100"
-            v-model="where[deliveryVal]"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']"
-          >
-          </el-date-picker>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }">
+<!--      <el-col-->
+<!--        v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }"-->
+<!--        v-if="activeName == 'second'"-->
+<!--      >-->
+<!--        <el-form-item label-width="150px">-->
+<!--          <template slot="label">-->
+<!--            <el-select-->
+<!--              size="mini"-->
+<!--              v-model="deliveryVal"-->
+<!--              @change="-->
+<!--                () => {-->
+<!--                  where.deliveryTime = [];-->
+<!--                  where.formingTime = [];-->
+<!--                }-->
+<!--              "-->
+<!--            >-->
+<!--              <el-option label="预测交货日期" value="deliveryTime"></el-option>-->
+<!--              <el-option label="实际交货日期" value="formingTime"></el-option>-->
+<!--            </el-select>-->
+<!--          </template>-->
+<!--          <el-date-picker-->
+<!--            size="mini"-->
+<!--            class="w100"-->
+<!--            v-model="where[deliveryVal]"-->
+<!--            type="daterange"-->
+<!--            range-separator="至"-->
+<!--            start-placeholder="开始日期"-->
+<!--            end-placeholder="结束日期"-->
+<!--            value-format="yyyy-MM-dd HH:mm:ss"-->
+<!--            :default-time="['00:00:00', '23:59:59']"-->
+<!--          >-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="" label-width="150px">
           <template slot="label">
             <el-select
@@ -151,38 +151,38 @@
           </el-date-picker>
         </el-form-item>
       </el-col>
-      <el-col
-        v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }"
-        v-if="activeName == 'second'"
-      >
-        <el-form-item label="工单发布时间:" label-width="150px">
-          <el-date-picker
-            class="w100"
-            size="mini"
-            v-model="where.releaseTime"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']"
-          >
-          </el-date-picker>
-        </el-form-item>
-      </el-col>
+<!--      <el-col-->
+<!--        v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }"-->
+<!--        v-if="activeName == 'second'"-->
+<!--      >-->
+<!--        <el-form-item label="工单发布时间:" label-width="150px">-->
+<!--          <el-date-picker-->
+<!--            class="w100"-->
+<!--            size="mini"-->
+<!--            v-model="where.releaseTime"-->
+<!--            type="daterange"-->
+<!--            range-separator="至"-->
+<!--            start-placeholder="开始日期"-->
+<!--            end-placeholder="结束日期"-->
+<!--            value-format="yyyy-MM-dd HH:mm:ss"-->
+<!--            :default-time="['00:00:00', '23:59:59']"-->
+<!--          >-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
-        <el-form-item label="组织机构:">
-          <auth-selection
-            size="mini"
-            data-type="Array"
-            v-model="where.deptIds"
-          ></auth-selection>
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">-->
+<!--        <el-form-item label="组织机构:">-->
+<!--          <auth-selection-->
+<!--            size="mini"-->
+<!--            data-type="Array"-->
+<!--            v-model="where.deptIds"-->
+<!--          ></auth-selection>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
-        <el-form-item label="加工方式:">
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 6 } : { span: 3 }">
+        <el-form-item label-width="80px" label="加工方式:">
           <el-select
                   size="mini"
                   clearable
@@ -199,7 +199,16 @@
           </el-select>
         </el-form-item>
       </el-col>
-
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
+        <el-form-item>
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.searchInfo"
+            placeholder="请输入查询信息"
+          />
+        </el-form-item>
+      </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
         <div class="ele-form-actions">
           <el-button
@@ -217,6 +226,102 @@
             type="primary"
             >重置</el-button
           >
+          <el-dropdown trigger="click">
+            <span class="el-dropdown-link">
+              展开<i class="el-icon-arrow-down el-icon--right"></i>
+            </span>
+            <el-dropdown-menu>
+              <div class="searchExpend">
+                <el-row>
+                  <el-form-item label="计划编号:" label-width="80px">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.code"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+                <el-row>
+                  <el-form-item label="产品编码:" label-width="80px">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.productCode"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+                <el-row>
+                  <el-form-item label="牌号:" label-width="80px">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.brandNo"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+                <el-row>
+                  <el-form-item label="型号:" label-width="80px">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.model"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+                <el-row v-if="activeName == 'second'">
+                  <el-form-item label-width="150px">
+                    <template slot="label">
+                      <el-select
+                        size="mini"
+                        v-model="deliveryVal"
+                        @change="
+              () => {
+                where.deliveryTime = [];
+                where.formingTime = [];
+              }
+            "
+                      >
+                        <el-option label="预测交货日期" value="deliveryTime"></el-option>
+                        <el-option label="实际交货日期" value="formingTime"></el-option>
+                      </el-select>
+                    </template>
+                    <el-date-picker
+                      size="mini"
+                      class="w100"
+                      v-model="where[deliveryVal]"
+                      type="daterange"
+                      range-separator="至"
+                      start-placeholder="开始日期"
+                      end-placeholder="结束日期"
+                      value-format="yyyy-MM-dd HH:mm:ss"
+                      :default-time="['00:00:00', '23:59:59']"
+                    >
+                    </el-date-picker>
+                  </el-form-item>
+                </el-row>
+                <el-row v-if="activeName == 'second'">
+                  <el-form-item label="工单发布时间:" label-width="150px">
+                    <el-date-picker
+                      class="w100"
+                      size="mini"
+                      v-model="where.releaseTime"
+                      type="daterange"
+                      range-separator="至"
+                      start-placeholder="开始日期"
+                      end-placeholder="结束日期"
+                      value-format="yyyy-MM-dd HH:mm:ss"
+                      :default-time="['00:00:00', '23:59:59']"
+                    >
+                    </el-date-picker>
+                  </el-form-item>
+                </el-row>
+              </div>
+            </el-dropdown-menu>
+          </el-dropdown>
         </div>
       </el-col>
     </el-row>
@@ -241,7 +346,8 @@
         formingTime: [],
         reqMoldTime: [],
         planFormingTime: [],
-        executeUserName: ''
+        executeUserName: '',
+        searchInfo: '',
       };
       return {
         // 表单数据
@@ -301,6 +407,10 @@
   .ele-form-actions {
     display: flex;
     align-items: center;
-    justify-content: flex-end;
+    justify-content: flex-start;
+    padding-top: 4.5px;
+  }
+  .searchExpend{
+    padding: 20px 50px 0 30px;
   }
 </style>

+ 102 - 1
src/views/productionPlan/index.vue

@@ -9,6 +9,74 @@
         :activeName="activeName"
       >
       </productionPlan-search>
+      <div class="statistics">
+        <el-row :gutter="15">
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">待排产计划数量</div>
+                <div class="cardNum">{{planStatistics.waitPlanNum}}</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">计划生产数量</div>
+                <div class="cardNum">{{planStatistics.planNum}}</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">已下发生产数量</div>
+                <div class="cardNum">{{planStatistics.issueNum}}</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">待派工数量</div>
+                <div class="cardNum">0</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">待完工生产数量</div>
+                <div class="cardNum">{{planStatistics.waitFinishNum}}</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">待领料数量</div>
+                <div class="cardNum">0</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">已完工数量</div>
+                <div class="cardNum">{{planStatistics.finishNum}}</div>
+              </div>
+            </el-card>
+          </el-col>
+          <el-col :span="cardSpan">
+            <el-card shadow="hover" class="cardItem">
+              <div>
+                <div class="cardText">已入库数量</div>
+                <div class="cardNum">{{planStatistics.stockNum}}</div>
+              </div>
+            </el-card>
+          </el-col>
+        </el-row>
+      </div>
       <div class="btn_box">
         <el-button type="success" size="mini" @click="homogeneityInspect">齐套性检查</el-button>
         <el-button type="primary" size="mini" @click="disassemblePlan"
@@ -221,7 +289,7 @@
 </template>
 
 <script>
-  import { getList, del, updatePriority } from '@/api/productionPlan/index.js';
+  import { getList, del, updatePriority, getPlanStatistics } from '@/api/productionPlan/index.js';
   import productionPlanSearch from './components/productionPlan-search.vue';
   import unpackDialog from './components/unpackDialog.vue';
   import mergeDialog from './components/mergeDialog.vue';
@@ -250,6 +318,14 @@
     },
     data() {
       return {
+        planStatistics: {
+          waitPlanNum: 0,
+          planNum: 0,
+          issueNum: 0,
+          waitFinishNum: 0,
+          finishNum: 0,
+          stockNum: 0,
+        },
         activeName: 'first',
 
         // 加载状态
@@ -286,6 +362,7 @@
         factoryShow: false,
         factoryType: 1,
         factoryObj: {},
+        cardSpan: 3,
       };
     },
     computed: {
@@ -606,7 +683,15 @@
     created() {
       this.getFieldModel();
     },
+    mounted() {
+      this.getPlanStatistics();
+    },
     methods: {
+      async getPlanStatistics(){
+        let res = await getPlanStatistics();
+        console.log(res);
+        this.planStatistics = res;
+      },
       homogeneityInspect(){
         if(this.selection.length == 0){
           this.$message.warning('请至少选择一条计划!');
@@ -945,4 +1030,20 @@
       font-size: 10px;
     }
   }
+  .statistics {
+    padding: 10px 10px 20px;
+  }
+  .cardItem {
+    border: 1px solid rgb(225, 225, 225);
+    text-align: center;
+    color: white;
+    background-color: rgba(24, 144, 255, 0.8);
+  }
+  .cardText {
+    font-size: 16px;
+  }
+  .cardNum {
+    font-size: 32px;
+    font-style: italic;
+  }
 </style>

+ 28 - 1
src/views/saleOrder/components/create-order.vue

@@ -243,7 +243,24 @@
           </template>
         </el-table-column>
 
+        <el-table-column label="所属工厂" width="140" align="center" prop="factoriesId">
+          <template slot-scope="scope">
+            <el-form-item
+              label-width="0px"
+            >
 
+              <el-select v-model="scope.row.factoriesId" :key="scope.row.factoriesId" >
+                <el-option
+                  v-for="item of factoryList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                ></el-option>
+              </el-select>
+
+            </el-form-item>
+          </template>
+        </el-table-column>
 
 
 
@@ -358,7 +375,7 @@
 import { getCode } from '@/api/codeManagement';
 import EquipmentDialog from '../components/EquipmentDialog.vue';
 import orderHomogeneityInspectDialog from "./orderHomogeneityInspectDialog";
-import { createOrUpdate, getOrderDetail , bomListByPlan, bomRoutingList} from '@/api/saleOrder';
+import { createOrUpdate, getOrderDetail , bomListByPlan, bomRoutingList, getFactoryList} from '@/api/saleOrder';
 
 import dayjs from 'dayjs';
 import { multiply } from '@/utils/math';
@@ -380,6 +397,7 @@ export default {
         productType: 2,
         bomCategoryId: '',
         produceRoutingId: '',
+        factoriesId: '',
         deliveryTime: dayjs(
           new Date().getTime() + 3600 * 1000 * 24 * 10
         ).format('YYYY-MM-DD')
@@ -408,6 +426,7 @@ export default {
 
 
       routingList: [],
+      factoryList: [],
 
 
       title: '创建订单',
@@ -436,9 +455,16 @@ export default {
     }
   },
   created() {},
+  mounted() {
+    this.getFactoryList();
+  },
   methods: {
+    async getFactoryList(){
+      this.factoryList = await getFactoryList();
+    },
     open(row) {
       this.visible = true;
+      console.log('entry,,,,,,,,,,,,,', row);
       if (row) {
         this.title = '修改订单';
         this.getDetail(row.code);
@@ -584,6 +610,7 @@ export default {
           return this.$message.warning('产品列表不能为空!');
         }
         this.loading = true;
+        console.log(this.form);
         createOrUpdate(this.form)
           .then((res) => {
             this.loading = false;

+ 245 - 116
src/views/saleOrder/components/order-search.vue

@@ -7,92 +7,92 @@
     @submit.native.prevent
   >
     <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="关键字:">
-          <el-input
-            v-model="where.keyWord"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="销售订单号:">
-          <el-input
-            v-model="where.code"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="产品编码:">
-          <el-input
-            v-model="where.productCode"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="行号:">
-          <el-input
-            v-model="where.lineNumber"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="牌号:">
-          <el-input
-            v-model="where.brandNo"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="型号:">
-          <el-input
-            v-model="where.model"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="订单来源:">
-          <DictSelection
-            dictName="订单来源"
-            size="mini"
-            clearable
-            v-model="where.orderSource"
-          >
-          </DictSelection>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="客户名称:">
-          <el-input
-            v-model="where.customerName"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="订单类型:">
-          <DictSelection
-            dictName="订单类型"
-            clearable
-            size="mini"
-            v-model="where.orderType"
-          >
-          </DictSelection>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="关键字:">-->
+<!--          <el-input-->
+<!--            v-model="where.keyWord"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="销售订单号:">-->
+<!--          <el-input-->
+<!--            v-model="where.code"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="产品编码:">-->
+<!--          <el-input-->
+<!--            v-model="where.productCode"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="行号:">-->
+<!--          <el-input-->
+<!--            v-model="where.lineNumber"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="牌号:">-->
+<!--          <el-input-->
+<!--            v-model="where.brandNo"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="型号:">-->
+<!--          <el-input-->
+<!--            v-model="where.model"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="订单来源:">-->
+<!--          <DictSelection-->
+<!--            dictName="订单来源"-->
+<!--            size="mini"-->
+<!--            clearable-->
+<!--            v-model="where.orderSource"-->
+<!--          >-->
+<!--          </DictSelection>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="客户名称:">-->
+<!--          <el-input-->
+<!--            v-model="where.customerName"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="订单类型:">-->
+<!--          <DictSelection-->
+<!--            dictName="订单类型"-->
+<!--            clearable-->
+<!--            size="mini"-->
+<!--            v-model="where.orderType"-->
+<!--          >-->
+<!--          </DictSelection>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
         <el-form-item label="生产状态:">
           <el-select
             v-model="where.proStu"
@@ -119,7 +119,7 @@
           </el-select>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
         <el-form-item label="按单按库:">
           <el-select
             v-model="where.orderLibraryType"
@@ -137,25 +137,25 @@
           </el-select>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="业务员:">
-          <el-input
-            v-model="where.salesman"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="业务员:">-->
+<!--          <el-input-->
+<!--            v-model="where.salesman"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="产品名称:">
-          <el-input
-            v-model="where.productName"
-            size="mini"
-            placeholder="请输入"
-          ></el-input>
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="产品名称:">-->
+<!--          <el-input-->
+<!--            v-model="where.productName"-->
+<!--            size="mini"-->
+<!--            placeholder="请输入"-->
+<!--          ></el-input>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="交货日期:">
@@ -173,18 +173,27 @@
           </el-date-picker>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
-        <el-form-item label="组织机构:">
-          <auth-selection
-            data-type="Array"
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">-->
+<!--        <el-form-item label="组织机构:">-->
+<!--          <auth-selection-->
+<!--            data-type="Array"-->
+<!--            size="mini"-->
+<!--            v-model="where.deptIds"-->
+<!--            style="width: 100%"-->
+<!--          ></auth-selection>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
+        <el-form-item label-width="0">
+          <el-input
             size="mini"
-            v-model="where.deptIds"
-            style="width: 100%"
-          ></auth-selection>
+            clearable
+            v-model="where.searchInfo"
+            placeholder="请输入查询信息"
+          />
         </el-form-item>
       </el-col>
-
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
+      <el-col v-bind="styleResponsive ? { lg: 4, md: 6 } : { span: 4 }">
         <div class="ele-form-actions">
           <el-button
             type="primary"
@@ -202,6 +211,112 @@
             type="primary"
             >重置</el-button
           >
+
+          <el-dropdown trigger="click">
+            <span class="el-dropdown-link">
+              展开<i class="el-icon-arrow-down el-icon--right"></i>
+            </span>
+            <el-dropdown-menu>
+              <div class="searchExpend">
+
+                <el-row>
+                  <el-form-item label="关键字:" label-width="80px">
+                    <el-input
+                      v-model="where.keyWord"
+                      size="mini"
+                      placeholder="请输入"
+                    ></el-input>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="销售订单号:">
+                    <el-input
+                      v-model="where.code"
+                      size="mini"
+                      placeholder="请输入"
+                    ></el-input>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="产品编码:">
+                    <el-input
+                      v-model="where.productCode"
+                      size="mini"
+                      placeholder="请输入"
+                    ></el-input>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="订单来源:">
+                    <DictSelection
+                      dictName="订单来源"
+                      size="mini"
+                      clearable
+                      v-model="where.orderSource"
+                    >
+                    </DictSelection>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="客户名称:">
+                    <el-input
+                      v-model="where.customerName"
+                      size="mini"
+                      placeholder="请输入"
+                    ></el-input>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="订单类型:">
+                    <DictSelection
+                      dictName="订单类型"
+                      clearable
+                      size="mini"
+                      v-model="where.orderType"
+                    >
+                    </DictSelection>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="业务员:">
+                    <el-input
+                      v-model="where.salesman"
+                      size="mini"
+                      placeholder="请输入"
+                    ></el-input>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="产品名称:">
+                    <el-input
+                      v-model="where.productName"
+                      size="mini"
+                      placeholder="请输入"
+                    ></el-input>
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="组织机构:">
+                    <auth-selection
+                      data-type="Array"
+                      size="mini"
+                      v-model="where.deptIds"
+                      style="width: 100%"
+                    ></auth-selection>
+                  </el-form-item>
+                </el-row>
+
+              </div>
+            </el-dropdown-menu>
+          </el-dropdown>
         </div>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 24, md: 24 } : { span: 24 }">
@@ -419,6 +534,12 @@
         const orderType = this.selection[0].orderType;
         const produceRoutingId = this.selection[0].produceRoutingId;
         const measuringUnit = this.selection[0].measuringUnit;
+        const factoriesId = this.selection[0].factoriesId;
+
+        if(!factoriesId){
+          this.$message.warning('工厂未选择!');
+          return;
+        }
 
         for (var i = 0; i < this.selection.length; i++) {
           if (productCode != this.selection[i].productCode) {
@@ -433,6 +554,9 @@
           if (measuringUnit != this.selection[i].measuringUnit) {
             return this.$message.warning('计量单位不一致!');
           }
+          if (factoriesId != this.selection[i].factoriesId) {
+            return this.$message.warning('所属工厂不一致!');
+          }
         }
         const list = [];
         this.selection.map((item) => {
@@ -443,7 +567,8 @@
           query: {
             selection: JSON.stringify(list),
             produceRoutingId: produceRoutingId,
-            produceRoutingName: this.selection[0].produceRoutingName
+            produceRoutingName: this.selection[0].produceRoutingName,
+            factoriesId: factoriesId,
           }
         });
       },
@@ -537,7 +662,8 @@
   .ele-form-actions {
     display: flex;
     align-items: center;
-    justify-content: flex-end;
+    justify-content: flex-start;
+    padding-top: 4.5px;
   }
 
   .btn-wrapper {
@@ -555,4 +681,7 @@
   .button-link {
     color: #fff;
   }
+  .searchExpend{
+    padding: 20px 50px 0 30px;
+  }
 </style>

+ 74 - 46
src/views/saleOrder/salesToProduction.vue

@@ -88,7 +88,7 @@
           </el-col> -->
 
 
-   
+
 
         </el-row>
         <el-row :gutter="24">
@@ -140,7 +140,7 @@
             </el-form-item>
           </el-col>
 
-          
+
           <el-col v-bind="styleResponsive ?  { lg: 5, md: 10 } : { span: 5 }">
             <el-form-item label="计划结束日期:" prop="endTime">
               <el-date-picker
@@ -160,12 +160,30 @@
             </el-form-item>
           </el-col>
 
+          <el-col v-bind="styleResponsive ? { lg: 5, md: 10 } : { span: 5 }">
+            <el-form-item label="所属工厂:" prop="factoriesId">
+              <el-select v-model="form.factoriesId" style="width: 100%" >
+                <el-option
+                  v-for="item of factoryList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
 
 
 
 
 
+
+        </el-row>
+
+        <el-row>
+
         </el-row>
+
         <el-row :gutter="24" class="row-intro">
           <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
             <el-form-item label="销售单数量:">{{ form.codeNum }}</el-form-item>
@@ -195,7 +213,7 @@
           <el-col v-bind="styleResponsive ?  { lg: 4, md: 12 } : { span: 3 }">
             <el-form-item label="规格:">{{ form.specification }}</el-form-item>
           </el-col>
-<!-- 
+<!--
           <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
             <el-form-item label="库存数量:">{{
               form.stockCountBase
@@ -466,22 +484,22 @@
                   :pickerOptions="{
                     disabledDate: (time) =>
                       time.getTime() <
-                      new Date(new Date().setHours(0, 0, 0, 0)).getTime() 
-              
+                      new Date(new Date().setHours(0, 0, 0, 0)).getTime()
+
                   }"
                   type="date"
                   placeholder="选择日期"
                   value-format="yyyy-MM-dd"
                 >
                 </el-date-picker>
-   
+
               </el-form-item>
             </template>
           </el-table-column>
 
 
 
- 
+
           <el-table-column label="客户名称" align="center" prop="customerName">
           </el-table-column>
           <el-table-column label="业务员" align="center" prop="salesman">
@@ -584,7 +602,8 @@ import {
   getInventory,
   getUpdateInfoById,
   bomRoutingList,
-  bomListByPlan
+  bomListByPlan,
+  getFactoryList,
 } from '@/api/saleOrder';
 
 import { getByCode } from '@/api/system/dictionary-data';
@@ -633,12 +652,14 @@ export default {
         batchNo: null,
         produceType: 2,
         bomCategoryId: '',
+        factoriesId: '',
       },
 
       marginList: [],
 
       bomVersionList: [],
       routingList: [],
+      factoryList: [],
 
       // 表单验证规则
       rules: {
@@ -653,7 +674,9 @@ export default {
         bomCategoryId: [
           { required: true, message: '请选择BOM版本', trigger: 'blur' }
         ],
-
+        factoriesId: [
+          { required: true, message: '请选择所属工厂', trigger: 'blur' }
+        ],
       },
       // selection: [],
       loading: false
@@ -674,6 +697,7 @@ export default {
     this.requestDict('订单类型');
     this.requestDict('交付要求');
     this.getByCodeFn();
+    this.getFactoryList();
     if (this.type == 'edit') {
       this.getPlanInfo(this.$route.query.id);
 
@@ -683,8 +707,9 @@ export default {
     }
   },
   methods: {
-
-
+    async getFactoryList(){
+      this.factoryList = await getFactoryList();
+    },
     async getPlanInfo(id) {
       const data = await getUpdateInfoById(id);
       this.form = data;
@@ -693,7 +718,7 @@ export default {
         this.bomListVersion()
         this.getPlanRouting()
       }
-     
+
 
 
     },
@@ -716,7 +741,7 @@ export default {
       });
     },
 
- 
+
     getPlanRouting() {
       bomRoutingList(this.form.bomCategoryId).then((res) => {
         this.routingList = res || []
@@ -795,6 +820,9 @@ export default {
           res.produceRoutingName || this.$route.query.produceRoutingName;
         this.form.produceRoutingId =
           res.produceRoutingId || this.$route.query.produceRoutingId;
+        this.form.factoriesId =
+          res.factoriesId || this.$route.query.factoriesId;
+        console.log(this.form.factoriesId)
         if (this.clientEnvironmentId == '4') {
           if (this.form.salesOrders[0].productName.includes('板材')) {
             this.changeProduct({
@@ -1042,7 +1070,7 @@ export default {
       }
 
       row.requiredFormingNum =Number(row.planProductNum *  (this.form.marginCoefficient || 1)).toFixed(5);
- 
+
     },
     confirmChoose(list) {
       // 取出在弹窗中选中并且不在表格中的数据
@@ -1131,38 +1159,38 @@ export default {
               if (this.$route.query.type == 'edit') {
                 data.workOrder.productionPlanId = params.id;
               }
-
-              await releaseSave(data)
-                .then((res) => {
-                  if (res === 1) {
-                    this.$message.success('工单已发布!');
-                    this.$router.push({
-                      path: '/productionPlan'
-                    });
-                  } else {
-                    this.$confirm(
-                      '生产计划创建成功,但工单发布失败。请前往【生产计划】列表【重新发布】工单',
-                      '提示',
-                      {
-                        confirmButtonText: '返回',
-                        cancelButtonText: '立即前往',
-                        type: 'warning'
-                      }
-                    )
-                      .then(() => {
-                        this.$router.push({
-                          path: '/productionPlan'
-                        });
-                      })
-                      .catch(() => {
-                        this.$router.go(-1);
-                      });
-                  }
-                  removePageTab({ key });
-                })
-                .catch(() => {
-                  this.$message.error('发布失败,请重新发布!');
-                });
+              console.log(data);
+              // await releaseSave(data)
+              //   .then((res) => {
+              //     if (res === 1) {
+              //       this.$message.success('工单已发布!');
+              //       this.$router.push({
+              //         path: '/productionPlan'
+              //       });
+              //     } else {
+              //       this.$confirm(
+              //         '生产计划创建成功,但工单发布失败。请前往【生产计划】列表【重新发布】工单',
+              //         '提示',
+              //         {
+              //           confirmButtonText: '返回',
+              //           cancelButtonText: '立即前往',
+              //           type: 'warning'
+              //         }
+              //       )
+              //         .then(() => {
+              //           this.$router.push({
+              //             path: '/productionPlan'
+              //           });
+              //         })
+              //         .catch(() => {
+              //           this.$router.go(-1);
+              //         });
+              //     }
+              //     removePageTab({ key });
+              //   })
+              //   .catch(() => {
+              //     this.$message.error('发布失败,请重新发布!');
+              //   });
             } catch (error) {}
 
             loading.close();

+ 166 - 67
src/views/workOrder/components/order-search.vue

@@ -7,63 +7,64 @@
     @submit.native.prevent
   >
     <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="关键字:">
-          <el-input clearable v-model="where.keyWord" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="关键字:">-->
+<!--          <el-input clearable v-model="where.keyWord" placeholder="请输入" />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="生产工单号:">
-          <el-input clearable v-model="where.code" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="计划编号:">
-          <el-input
-            clearable
-            v-model="where.productionPlanCode"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="工艺路线:">
-          <el-input
-            clearable
-            v-model="where.produceRoutingName"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="产品编码:">
-          <el-input
-            clearable
-            v-model="where.productCode"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="产品名称:">
-          <el-input
-            clearable
-            v-model="where.productName"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="生产工单号:">-->
+<!--          <el-input clearable v-model="where.code" placeholder="请输入" />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="计划编号:">-->
+<!--          <el-input-->
+<!--            clearable-->
+<!--            v-model="where.productionPlanCode"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="工艺路线:">-->
+<!--          <el-input-->
+<!--            clearable-->
+<!--            v-model="where.produceRoutingName"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="产品编码:">-->
+<!--          <el-input-->
+<!--            clearable-->
+<!--            v-model="where.productCode"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="产品名称:">-->
+<!--          <el-input-->
+<!--            clearable-->
+<!--            v-model="where.productName"-->
+<!--            placeholder="请输入"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="牌号:">
-          <el-input clearable v-model="where.brandNo" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="牌号:">-->
+<!--          <el-input clearable v-model="where.brandNo" placeholder="请输入" />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
         <el-form-item label="状态:">
           <el-select
+            size="mini"
             v-model="where.status"
             placeholder="请选择"
             clearable
@@ -80,14 +81,15 @@
         </el-form-item>
       </el-col>
 
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="型号:">
-          <el-input clearable v-model="where.model" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">-->
+<!--        <el-form-item label="型号:">-->
+<!--          <el-input clearable v-model="where.model" placeholder="请输入" />-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
       <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
         <el-form-item label="创建时间:">
           <el-date-picker
+            size="mini"
             class="w100"
             v-model="where.createTime"
             type="daterange"
@@ -100,17 +102,27 @@
           </el-date-picker>
         </el-form-item>
       </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
-        <el-form-item label="组织机构:">
-          <auth-selection
-            data-type="Array"
-            v-model="where.deptIds"
-            style="width: 100%"
-          ></auth-selection>
+<!--      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">-->
+<!--        <el-form-item label="组织机构:">-->
+<!--          <auth-selection-->
+<!--            data-type="Array"-->
+<!--            v-model="where.deptIds"-->
+<!--            style="width: 100%"-->
+<!--          ></auth-selection>-->
+<!--        </el-form-item>-->
+<!--      </el-col>-->
+      <el-col v-bind="styleResponsive ? { lg: 3, md: 12 } : { span: 3 }">
+        <el-form-item label-width="0">
+          <el-input
+            size="mini"
+            clearable
+            v-model="where.searchInfo"
+            placeholder="请输入查询信息"
+          />
         </el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label-width="0px">
+        <div class="ele-form-actions">
           <el-button
             type="primary"
             icon="el-icon-search"
@@ -122,7 +134,90 @@
           <el-button @click="reset" icon="el-icon-refresh-left" type="primary"
             >重置</el-button
           >
-        </el-form-item>
+          <el-dropdown trigger="click">
+            <span class="el-dropdown-link">
+              展开<i class="el-icon-arrow-down el-icon--right"></i>
+            </span>
+            <el-dropdown-menu>
+              <div class="searchExpend">
+
+                <el-row>
+                  <el-form-item label="关键字:">
+                    <el-input size="mini" clearable v-model="where.keyWord" placeholder="请输入" />
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="生产工单号:">
+                    <el-input size="mini" clearable v-model="where.code" placeholder="请输入" />
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="计划编号:">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.productionPlanCode"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="工艺路线:">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.produceRoutingName"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="产品编码:">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.productCode"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="产品名称:">
+                    <el-input
+                      size="mini"
+                      clearable
+                      v-model="where.productName"
+                      placeholder="请输入"
+                    />
+                  </el-form-item>
+                </el-row>
+
+                <el-row>
+                  <el-form-item label="型号:">
+                    <el-input size="mini" clearable v-model="where.model" placeholder="请输入" />
+                  </el-form-item>
+                </el-row>
+
+
+                <el-row>
+                  <el-form-item label="组织机构:">
+                    <auth-selection
+                      size="mini"
+                      data-type="Array"
+                      v-model="where.deptIds"
+                      style="width: 100%"
+                    ></auth-selection>
+                  </el-form-item>
+                </el-row>
+              </div>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </div>
       </el-col>
     </el-row>
   </el-form>
@@ -188,6 +283,10 @@
   .ele-form-actions {
     display: flex;
     align-items: center;
-    justify-content: flex-end;
+    justify-content: flex-start;
+    padding-top: 4.5px;
+  }
+  .searchExpend{
+    padding: 20px 50px 0 30px;
   }
 </style>