Bläddra i källkod

禅道bug修复

jingshuyong 11 månader sedan
förälder
incheckning
d0e3afe5ce

+ 1 - 1
src/views/aps/presalesorder/index.vue

@@ -767,7 +767,7 @@ export default {
           this.reload();
         });
       } else {
-        this.$message.warning("请选择状态为未提交的数据!");
+        this.$message.warning("请选择订单状态为已预估的数据!");
         return;
       }
 

+ 71 - 87
src/views/aps/presalesorder/search.vue

@@ -1,95 +1,79 @@
 <!-- 搜索表单 -->
-
 <template>
-  <el-form label-width="80px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
-    <el-row :gutter="24">
-      <el-col :span="4">
-        <el-form-item label="销售订单" prop="preSalesOrderNumber">
-          <el-input v-model="where.preSalesOrderNumber" placeholder="请输入销售订单" clearable />
-        </el-form-item>
-      </el-col>
-      <el-col :span="4">
-        <el-form-item label="客户代号" prop="customerCode">
-          <el-input v-model="where.customerCode" placeholder="请输入客户代号" clearable />
-        </el-form-item>
-      </el-col>
-      <el-col :span="4">
-        <el-form-item label="客户名称" prop="customerName">
-          <el-input v-model="where.customerName" placeholder="请输入客户名称" clearable />
-        </el-form-item>
-      </el-col>
-      <el-col :span="4">
-        <el-form-item label="产品编码" prop="productCode">
-          <el-input v-model="where.productCode" placeholder="请输入产品编码" clearable />
-        </el-form-item>
-      </el-col>
-      <el-col :span="4">
-        <el-form-item label="订单状态" prop="status">
-          <el-select v-model="where.status" placeholder="请选择订单状态" clearable @change="search">
-            <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value">
-            </el-option>
-          </el-select>
-
-          <!-- <el-switch v-model="where.status" :active-value="1" :inactive-value="0" @change="search"></el-switch> -->
-        </el-form-item>
-      </el-col>
-      <el-col style="display: flex; justify-content: flex-end" :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>
+  <seekPage :seekList="seekList" :formLength="3" @search="search"></seekPage>
 </template>
-
 <script>
+  export default {
+    data() {
+      return {
+        statusOptions: [
+          {
+            value: '0',
+            label: '未预估'
+          },
+          {
+            value: '1',
+            label: '已预估'
+          }
+          // {
+          //   value: '2',
+          //   label: '已转销售单'
+          // }
+        ]
+      };
+    },
+    computed: {
+      // 表格列配置
+      seekList() {
+        return [
+          {
+            label: '销售订单:',
+            value: 'preSalesOrderNumber',
+            type: 'input',
+            placeholder: '请输入销售订单'
+          },
+          {
+            label: '客户代号:',
+            value: 'customerCode',
+            type: 'input',
+            placeholder: '请输入客户代号'
+          },
+          {
+            label: '客户名称:',
+            value: 'customerName',
+            type: 'input',
+            placeholder: '请输入客户名称'
+          },
 
-export default {
-  data() {
-    // 默认表单数据
-    const defaultWhere = {
-      preSalesOrderNumber: '',
-      customerCode: '',
-      customerName: '',
-      productCode: '',
-      status: null,
-    };
-    return {
-      defaultWhere,
-      // 表单数据
-      where: { ...defaultWhere },
-      statusOptions: [
-        {
-          value: '0',
-          label: '未预估'
-        },
-        {
-          value: '1',
-          label: '已预估'
-        },
-        // {
-        //   value: '2',
-        //   label: '已转销售单'
-        // }
-      ]
-    };
-  },
-  computed: {
-
-  },
-  methods: {
-    /* 搜索 */
-    search() {
-      this.$emit('search', this.where);
+          {
+            label: '生产编号:',
+            value: 'productionCodes',
+            type: 'input',
+            placeholder: '请输入生产编号'
+          },
+          {
+            label: '产品编码:',
+            value: 'productCode',
+            type: 'input',
+            placeholder: '请输入产品编码'
+          },
+          {
+            label: '订单状态:',
+            value: 'status',
+            type: 'select',
+            planList: this.statusOptions,
+            placeholder: '请选择订单状态'
+          }
+        ];
+      }
     },
-    /*  重置 */
-    reset() {
-      this.where = { ...this.defaultWhere };
-      this.search();
+    methods: {
+      /* 搜索 */
+      search(e) {
+        this.$emit('search', {
+          ...e
+        });
+      }
     }
-  }
-};
+  };
 </script>

+ 60 - 10
src/views/productionPlan/components/disassemblePlanPop.vue

@@ -116,7 +116,26 @@
               ></el-option>
             </el-select>
           </template>
-
+          <!-- <template v-slot:startTime="{ row }">
+            <el-date-picker
+              class="w100"
+              v-model="row.startTime"
+              type="datetime"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              placeholder="开始时间"
+              @change="handleStartTimeChange(row)"
+            ></el-date-picker>
+          </template>
+          <template v-slot:endTime="{ row }">
+            <el-date-picker
+              class="w100"
+              v-model="row.endTime"
+              type="datetime"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              @change="handleEndTimeChange(row)"
+              placeholder="完成时间"
+            ></el-date-picker>
+          </template> -->
           <template v-slot:requiredFormingNum="{ row }">
             <el-input
               v-if="row.resourceType"
@@ -287,14 +306,12 @@
             align: 'center',
             minWidth: 140
           },
-
           {
             prop: 'brandNo',
             label: '牌号',
             align: 'center',
             showOverflowTooltip: true
           },
-
           {
             prop: 'specification',
             label: '规格',
@@ -308,7 +325,20 @@
             align: 'center',
             showOverflowTooltip: true
           },
-
+          // {
+          //   slot: 'startTime',
+          //   prop: 'startTime',
+          //   label: '计划开始时间',
+          //   align: 'center',
+          //   minWidth: 180
+          // },
+          // {
+          //   slot: 'endTime',
+          //   prop: 'endTime',
+          //   label: '计划完成时间',
+          //   align: 'center',
+          //   minWidth: 180
+          // },
           {
             prop: 'produceRoutingId',
             slot: 'produceRoutingId',
@@ -316,17 +346,19 @@
             align: 'center',
             minWidth: 120
           },
-
           {
             prop: 'requiredFormingNum',
             label: '要求生产数量',
             align: 'center',
-            slot: 'requiredFormingNum'
+            slot: 'requiredFormingNum',
+            width: 130
           },
           {
             prop: 'unit',
             label: '计量单位',
-            showOverflowTooltip: true
+            showOverflowTooltip: true,
+            align: 'center',
+            width: 100
           },
           {
             columnKey: 'action',
@@ -463,7 +495,25 @@
         }
         this.jhList.splice(index, 1);
       },
-
+      // 【结束时间变化时】触发
+      handleEndTimeChange(row) {
+        this.checkEndTimeValid(row);
+      },
+      // 【开始时间变化时】触发
+      handleStartTimeChange(row) {
+        this.checkEndTimeValid(row);
+      },
+      // 时间校验
+      checkEndTimeValid(row) {
+        const { startTime: start, endTime: end } = row;
+        // if (!start || !end) return; // 开始/结束时间未填,跳过
+        const startTime = new Date(start); // 开始时间
+        const endTime = new Date(end); // 结束时间
+        if (endTime < startTime) {
+          row.endTime = new Date(startTime); // 修正为开始时间
+          this.$message.info('结束时间不能早于开始时间,已自动设为开始时间');
+        }
+      },
       getBomList() {
         let params = {
           id: this.formData.id,
@@ -613,11 +663,11 @@
     }
   }
 
-  ::v-deep .is-bordered-label{
+  ::v-deep .is-bordered-label {
     background-color: #fff;
   }
 
-  .produceType{
+  .produceType {
     // background: #e3fbdd;
     // color: #000;
   }

+ 30 - 6
src/views/productionPlan/components/factoryAdd/index.vue

@@ -65,14 +65,15 @@
                 style="width: 100%"
                 size="mini"
                 v-model="form.startTime"
+                @change="handleStartTimeChange(form)"
+                type="date"
+                placeholder="选择日期"
+                value-format="yyyy-MM-dd"
                 :pickerOptions="{
                   disabledDate: (time) =>
                     time.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>
@@ -90,14 +91,15 @@
                 style="width: 100%"
                 size="mini"
                 v-model="form.endTime"
+                @change="handleEndTimeChange(form)"
+                type="date"
+                placeholder="选择日期"
+                value-format="yyyy-MM-dd"
                 :pickerOptions="{
                   disabledDate: (time) =>
                     time.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>
@@ -1356,6 +1358,28 @@
         this.visible = false;
         this.initForm();
         this.$emit('close');
+      },
+
+      // 【开始时间变化时】触发
+      handleStartTimeChange(row) {
+        // 校验 是否 大于结束时间  wda
+        this.checkEndTimeValid(row);
+      },
+      // 【结束时间变化时】触发
+      handleEndTimeChange(row) {
+        // 校验 是否 大于结束时间  wda
+        this.checkEndTimeValid(row);
+      },
+      // 时间校验
+      checkEndTimeValid(row) {
+        const { startTime: start, endTime: end } = row;
+        // if (!start || !end) return; // 开始/结束时间未填,跳过
+        const startTime = new Date(start); // 开始时间
+        const endTime = new Date(end); // 结束时间
+        if (endTime < startTime) {
+          row.endTime = new Date(startTime); // 修正为开始时间
+          this.$message.info('结束时间不能早于开始时间,已自动设为开始时间');
+        }
       }
     }
   };

+ 154 - 151
src/views/saleOrder/components/order-search.vue

@@ -7,91 +7,91 @@
     @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-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
@@ -108,6 +108,15 @@
               :value="item.value"
             >
             </el-option>
+            <el-option
+              v-if="activeName == 'three'"
+              v-for="item in treatProcuct"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+
             <el-option
               v-if="activeName == 'second'"
               v-for="item in alreadyProcuct"
@@ -137,25 +146,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.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.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="交货日期:">
@@ -173,16 +182,16 @@
           </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"-->
-<!--            size="mini"-->
-<!--            v-model="where.deptIds"-->
-<!--            style="width: 100%"-->
-<!--          ></auth-selection>-->
-<!--        </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"-->
+      <!--            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
@@ -201,7 +210,6 @@
             </span>
             <el-dropdown-menu>
               <div class="searchExpend">
-
                 <el-row>
                   <el-form-item label="关键字:" label-width="80px">
                     <el-input
@@ -315,7 +323,6 @@
                     </el-select>
                   </el-form-item>
                 </el-row>
-
               </div>
             </el-dropdown-menu>
           </el-dropdown>
@@ -348,11 +355,7 @@
             >
               交期预估</el-button
             > -->
-            <el-button
-              @click="homogeneityInspect"
-              size="mini"
-              type="success"
-            >
+            <el-button @click="homogeneityInspect" size="mini" type="success">
               齐套性检查</el-button
             >
             <el-button
@@ -389,9 +392,7 @@
             >
               <el-button type="warning" size="mini">批量导入</el-button>
             </el-upload>
-            <el-button type="info" size="mini">
-              下载模板
-            </el-button>
+            <el-button type="info" size="mini"> 下载模板 </el-button>
             <el-button
               type="danger"
               size="mini"
@@ -460,13 +461,13 @@
         productName: ''
       };
       return {
-      
         // 表单数据
         defaultWhere,
         where: { ...defaultWhere },
         time: [],
         fileList: [],
         awaitProcuct: [{ value: 1, label: '待排产' }],
+        treatProcuct: [{ value: 0, label: '未排完' }],
         alreadyProcuct: [
           { value: 0, label: '所有状态' },
           { value: 2, label: '待发布' },
@@ -481,19 +482,25 @@
           { value: 1, label: '按单' },
           { value: 2, label: '按库' }
         ],
-         
-        orderList: [{
-          value: 0, label: '库存性订单'
-        },
-        {
-          value: 1, label: '生产性订单'
-        },
-        {
-          value: 2, label: '无客户生产性订单'
-        },
-        {
-          value: 4, label: '不定向订单'
-        },],
+
+        orderList: [
+          {
+            value: 0,
+            label: '库存性订单'
+          },
+          {
+            value: 1,
+            label: '生产性订单'
+          },
+          {
+            value: 2,
+            label: '无客户生产性订单'
+          },
+          {
+            value: 4,
+            label: '不定向订单'
+          }
+        ],
         loading: false
       };
     },
@@ -503,11 +510,9 @@
         return this.$store.state.theme.styleResponsive;
       },
 
-
       clientEnvironmentId() {
         return this.$store.state.user.info.clientEnvironmentId;
-      },
-
+      }
     },
     watch: {
       activeName: {
@@ -562,9 +567,9 @@
         const produceRoutingId = this.selection[0].produceRoutingId;
         const measuringUnit = this.selection[0].measuringUnit;
         const factoriesId = this.selection[0].factoriesId;
-        const bomCategoryId = this.selection[0].bomCategoryId
+        const bomCategoryId = this.selection[0].bomCategoryId;
         const saleType = this.selection[0].saleType;
-        const produceType=this.selection[0].produceType[0];
+        const produceType = this.selection[0].produceType[0];
 
         // if(!factoriesId){
         //   this.$message.warning('工厂未选择!');
@@ -603,7 +608,7 @@
             produceRoutingName: this.selection[0].produceRoutingName,
             factoriesId: factoriesId,
             bomCategoryId: bomCategoryId,
-            produceType:produceType
+            produceType: produceType
           }
         });
       },
@@ -681,15 +686,13 @@
       synchronous() {
         synchronousDataByJDY().then((res) => {
           this.$message.success('同步成功!');
-          this.reset()
+          this.reset();
         });
       },
-      payBudget(){
-
-      },
-      homogeneityInspect(){
+      payBudget() {},
+      homogeneityInspect() {
         this.$emit('check');
-      },
+      }
     }
   };
 </script>
@@ -716,7 +719,7 @@
   .button-link {
     color: #fff;
   }
-  .searchExpend{
+  .searchExpend {
     padding: 20px 50px 0 30px;
   }
 </style>

+ 58 - 46
src/views/saleOrder/index.vue

@@ -9,9 +9,9 @@
         @check="check"
       >
       </order-search>
-      
+
       <!-- <plan-statistics></plan-statistics> -->
-      
+
       <el-tabs v-model="activeName" type="card" @tab-click="changeTab">
         <el-tab-pane label="待排产" name="first"></el-tab-pane>
         <el-tab-pane label="未排完" name="three"></el-tab-pane>
@@ -25,7 +25,7 @@
         :datasource="datasource"
         :selection.sync="selection"
         cache-key="systemRoleTable1"
-        height="calc(100vh - 335px)"
+        height="calc(100vh - 390px)"
         row-key="id"
         @sort-change="onSortChange"
         @columns-change="handleColumnChange"
@@ -104,8 +104,12 @@
     <!-- 创建订单 -->
     <create-order ref="createDialog" @refresh="reload"> </create-order>
 
-    <orderHomogeneityInspectDialog ref="orderHomogeneityInspectDialog"></orderHomogeneityInspectDialog>
-    <orderHomogeneityInspectInstallDialog ref="orderHomogeneityInspectInstallDialog"></orderHomogeneityInspectInstallDialog>
+    <orderHomogeneityInspectDialog
+      ref="orderHomogeneityInspectDialog"
+    ></orderHomogeneityInspectDialog>
+    <orderHomogeneityInspectInstallDialog
+      ref="orderHomogeneityInspectInstallDialog"
+    ></orderHomogeneityInspectInstallDialog>
   </div>
 </template>
 
@@ -115,7 +119,7 @@
   import CreateOrder from './components/create-order.vue';
   import orderHomogeneityInspectDialog from './components/orderHomogeneityInspectDialog';
   import orderHomogeneityInspectInstallDialog from './components/orderHomogeneityInspectInstallDialog';
-  import PlanStatistics from '@/components/statistics/PlanStatistics.vue'
+  import PlanStatistics from '@/components/statistics/PlanStatistics.vue';
 
   import {
     getPageList,
@@ -131,7 +135,7 @@
 
   export default {
     name: 'saleOrder',
-    mixins: [dictMixins,tabMixins],
+    mixins: [dictMixins, tabMixins],
     components: {
       OrderSearch,
       OrderDetail,
@@ -151,20 +155,24 @@
         cacheKeyUrl: 'c32a9c7d-aps-saleOrder',
         columnsVersion: 1,
         // 订单类型
-        orderTypeList: [ 
+        orderTypeList: [
           {
-            id: 0, label: '库存性订单'
+            id: 0,
+            label: '库存性订单'
           },
           {
-            id: 1, label: '生产性订单'
+            id: 1,
+            label: '生产性订单'
           },
           {
-            id: 2, label: '无客户生产性订单'
+            id: 2,
+            label: '无客户生产性订单'
           },
           {
-            id: 4, label: '不定向订单'
-          },
-        ],
+            id: 4,
+            label: '不定向订单'
+          }
+        ]
       };
     },
 
@@ -221,7 +229,7 @@
             prop: 'batchNo',
             label: '批次号',
             align: 'center',
-            showOverflowTooltip: true,
+            showOverflowTooltip: true
           },
           {
             prop: 'productName',
@@ -255,7 +263,7 @@
             label: '牌号',
             align: 'center'
           },
-          
+
           {
             prop: 'model',
             label: '型号',
@@ -270,7 +278,7 @@
             slot: 'priority',
             sortable: 'custom'
           },
-          
+
           {
             prop: 'productSumWeight',
             label: '订单重量',
@@ -301,7 +309,7 @@
             align: 'center',
             formatter: (_row, _column, cellValue) => {
               return _row.contractNum - _row.planedNum;
-            },
+            }
           },
 
           {
@@ -343,7 +351,10 @@
             align: 'center',
             showOverflowTooltip: true,
             formatter: (_row, _column, cellValue) => {
-              return this.getDictValue('订单类型', _row.orderType);
+              let obj = this.orderTypeList.find(
+                (el) => el.id == _row.orderType
+              );
+              return obj ? obj.label : '';
             }
           },
           {
@@ -403,14 +414,14 @@
           },
           {
             prop: 'hostCode',
-            label:'主机编码',
+            label: '主机编码',
             showOverflowTooltip: true
           },
           {
             prop: 'hostDescription',
-            label:'主机描述',
+            label: '主机描述',
             showOverflowTooltip: true
-          },
+          }
         ];
       }
     },
@@ -424,18 +435,17 @@
       this.requestDict('生产状态');
     },
     methods: {
-      async check(){
-
+      async check() {
         console.log(111111333333);
 
-        if(this.selection.length > 0){
+        if (this.selection.length > 0) {
           let codeList = [];
-          this.selection.map(ele => {
-            if(ele.code){
+          this.selection.map((ele) => {
+            if (ele.code) {
               codeList.push(ele.code);
             }
-          })
-          let res = await getByCodeList(codeList)
+          });
+          let res = await getByCodeList(codeList);
           console.log(res);
           let flag = true;
           let type = 0;
@@ -443,29 +453,33 @@
           let data2 = [];
           let first = null;
           let firstFlag = true;
-          if(res){
-            for(let ele of res){
+          if (res) {
+            for (let ele of res) {
               let list = ele.productInfoList;
-              if(firstFlag){
+              if (firstFlag) {
                 first = ele;
                 firstFlag = false;
               }
-              if(list){
+              if (list) {
                 let pre = null;
-                for(let item of list){
-                  if(!item.productType){
+                for (let item of list) {
+                  if (!item.productType) {
                     flag = false;
-                    this.$message.warning('产品(' + item.productCode + ')未选择生产类型');
+                    this.$message.warning(
+                      '产品(' + item.productCode + ')未选择生产类型'
+                    );
                     return;
                   }
                   type = item.productType;
-                  if(!item.bomCategoryId){
+                  if (!item.bomCategoryId) {
                     flag = false;
-                    this.$message.warning('产品(' + item.productCode + ')未选择BOM版本');
+                    this.$message.warning(
+                      '产品(' + item.productCode + ')未选择BOM版本'
+                    );
                     return;
                   }
-                  if(pre){
-                    if(pre.productType != item.productType){
+                  if (pre) {
+                    if (pre.productType != item.productType) {
                       flag = false;
                       this.$message.warning('请选择生产类型相同的订单');
                       return;
@@ -477,14 +491,13 @@
                   data2.push(item);
                 }
               }
-
             }
           }
-          if(flag){
+          if (flag) {
             // 齐料
-            if(type == 2){
+            if (type == 2) {
               this.$refs.orderHomogeneityInspectDialog.open(data2, first);
-            } else if(type == 3){
+            } else if (type == 3) {
               this.$refs.orderHomogeneityInspectInstallDialog.open(data);
             } else {
               this.$message.warning('请确认生产类型!');
@@ -493,7 +506,6 @@
         } else {
           this.$message.warning('请至少选择一条计划!');
         }
-
       },
       getFieldModel() {
         fieldModel({ fieldModel: 't_main_category' }).then((res) => {
@@ -578,7 +590,7 @@
       },
 
       onSortChange(e) {
-        console.log(111111111,e);
+        console.log(111111111, e);
 
         let sort = {
           orderBy: e.order,

+ 5 - 1
src/views/workOrder/mixins/release.js

@@ -320,7 +320,11 @@ export default {
           flag = false;
           return;
         }
-
+        if (item.quantity == 0) {
+          this.$message.warning('请检查所选数据的数量不能为0');
+          digit = false;
+          return;
+        }
         let Aobj = {
           assigneeId: item.id,
           quantity: item.quantity,

+ 1 - 1
vue.config.js

@@ -38,7 +38,7 @@ module.exports = {
         // target: 'http://192.168.1.251:18086',
         // target: 'http://192.168.1.144:18086',
         // target: 'http://192.168.1.125:18086',
-        target: 'http://192.168.1.251:18186',
+        target: 'http://192.168.1.116:18086',
 
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {