Explorar el Código

新增拆分弹窗

LAPTOP-16IUEB3P\Lenovo hace 2 años
padre
commit
cd8718d699

+ 2 - 2
src/views/produceOrder/components/produceOrder-search.vue

@@ -125,6 +125,7 @@
 </template>
 
 <script>
+import { number } from 'echarts/core';
   export default {
     props: ['activeName', 'statusOpt', 'planType'],
     data () {
@@ -178,8 +179,7 @@
         }
         delete where.createTime;
 
-        // where.status = where.status.split(',');
-
+        where.statusList = where.status.split(',');
         this.$emit('search', where);
       },
       /*  重置 */

+ 187 - 0
src/views/produceOrder/components/unpackDialog.vue

@@ -0,0 +1,187 @@
+<template>
+  <ele-modal
+    width="60vw"
+    :visible.sync="visible"
+    :close-on-click-modal="true"
+    custom-class="ele-dialog-form"
+    :title="'拆分工单'"
+  >
+    <div class="form-wrapper">
+      <el-form
+        :model="formData"
+        label-width="0"
+        :show-message="false"
+        ref="formRef"
+      >
+        <el-descriptions title="" :column="2" border>
+          <el-descriptions-item label="工单号">
+            {{ formData.code }}</el-descriptions-item
+          >
+          <el-descriptions-item label="产品编码">
+            {{ formData.productCode }}</el-descriptions-item
+          >
+          <el-descriptions-item label="产品名称">{{
+            formData.productName
+          }}</el-descriptions-item>
+          <el-descriptions-item label="牌号|型号">
+            {{ formData.brandNo }}|{{ formData.model }}</el-descriptions-item
+          >
+          <el-descriptions-item label="要求成型数量">{{
+            formData.requiredFormingNum
+          }}</el-descriptions-item>
+		  <el-descriptions-item label="计划开始时间">{{
+		    formData.productNum
+		  }}</el-descriptions-item>
+          <el-descriptions-item
+            label="成型数量"
+            label-class-name="produce-create-bg"
+            content-class-name="produce-create-bg"
+          >
+            <span slot="label" class="label-required">成型数量</span>
+            <el-form-item prop="formingNum" required>
+              <el-input v-model="formData.formingNum"></el-input>
+            </el-form-item>
+          </el-descriptions-item>
+          <el-descriptions-item
+            label="计划开始时间"
+            label-class-name="produce-create-bg"
+            content-class-name="produce-create-bg"
+          >
+            <span slot="label" class="label-required">计划开始时间</span>
+
+            <el-form-item prop="planStartTime" required class="w100">
+              <el-date-picker
+                class="w100"
+                v-model="formData.planStartTime"
+                type="date"
+                value-format="yyyy-MM-dd"
+              ></el-date-picker> </el-form-item
+          ></el-descriptions-item>
+          <el-descriptions-item
+            label="设备编码/名称"
+            label-class-name="produce-create-bg"
+            content-class-name="produce-create-bg"
+          >
+            <span slot="label" class="label-required">设备编码/名称</span>
+            <el-form-item prop="deviceName" required
+              ><el-input
+                @click.native="getEquip"
+                :value="
+                  formData.deviceName &&
+                  `${formData.deviceName}(${formData.deviceCode})`
+                "
+              ></el-input> </el-form-item
+          ></el-descriptions-item>
+        </el-descriptions>
+      </el-form>
+    </div>
+    <div slot="footer">
+      <el-button plain @click="cancel">取消</el-button>
+      <el-button type="primary" @click="confirm">确定</el-button>
+    </div>
+    <equipmentDailog
+      ref="equipmentDailogRef"
+      :produceVersionId="produceVersionId"
+    />
+  </ele-modal>
+</template>
+
+<script>
+  import { save, update } from '@/api/produceOrder/index.js';
+  import equipmentDailog from '@/components/EquipmentDailog/equipment-dailog';
+  export default {
+    components: { equipmentDailog },
+    data () {
+      return {
+        visible: false,
+        produceVersionId: '',
+        formData: {
+          productionPlanCode: '',
+          deviceCode: '',
+          deviceName: '',
+          productCode: '',
+          productName: '',
+          formingNum: '',
+          brandNo: '',
+          model: '',
+          requiredFormingNum: '',
+          planStartTime: '',
+          productNum: ''
+        }
+      };
+    },
+    methods: {
+      open (row) {
+        this.visible = true;
+      },
+      // codeChoose () {
+      //   this.$refs.apsPlanOrderRef.open(this.formData.productCode, (res) => {
+      //     if (this.formData.productCode != res.productCode) {
+      //       this.formData.deviceCode = '';
+      //       this.formData.deviceName = '';
+      //       this.formData.deviceId = '';
+      //     }
+      //     this.formData.productionPlanCode = res.code;
+      //     this.formData.productionPlanId = res.id;
+      //     this.formData.productCode = res.productCode;
+      //     this.formData.productName = res.productName;
+      //     this.formData.brandNo = res.brandNo;
+      //     this.formData.model = res.model;
+      //     this.formData.productNum = res.productNum;
+      //     this.formData.requiredFormingNum = res.requiredFormingNum;
+      //     this.produceVersionId = res.produceVersionId;
+      //   });
+      // },
+      getEquip () {
+        if (!this.produceVersionId) {
+          return this.$message.error('请先选择计划');
+        }
+        this.$refs.equipmentDailogRef.openSingle(
+          [this.formData.deviceCode],
+          (res) => {
+            this.formData.deviceCode = res.code;
+            this.formData.deviceName = res.name;
+            this.formData.deviceId = res.id;
+          }
+        );
+      },
+      cancel () {
+        this.formData = {};
+        this.visible = false;
+      },
+      confirm () {
+        this.$refs.formRef.validate(async (value) => {
+          if (value) {
+            const res = await save(this.formData);
+            this.$message.success('操作成功!');
+            this.$emit('success');
+            this.cancel();
+          }
+        });
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped>
+  .label-required {
+    &::after {
+      content: '*';
+      color: var(--color-danger);
+      font-size: 1.2em;
+    }
+  }
+  .form-wrapper {
+    :deep(.el-form) {
+      .el-form-item {
+        margin-bottom: 0 !important;
+      }
+    }
+  }
+</style>
+<style lang="scss">
+  .produce-create-bg {
+    background-color: var(--color-primary) !important;
+    color: #fff !important;
+  }
+</style>

+ 13 - 5
src/views/produceOrder/index.vue

@@ -48,7 +48,7 @@
               type="primary"
               :underline="false"
               icon="el-icon-truck"
-              v-if="row.status == 2"
+              v-if="row.status == 6"
               @click="handleOrderPublish(1, row)"
             >
               取消完结
@@ -66,10 +66,10 @@
             </el-link>
             <el-link
               type="primary"
-              v-if="row.status == 3"
+              v-if="row.status == 4"
               :underline="false"
               icon="el-icon-truck"
-              @click="handleOrderPublish(2, row)"
+              @click="toUnpack(row)"
             >
               拆分
             </el-link>
@@ -86,6 +86,7 @@
       </ele-pro-table>
     </el-card>
     <createDialog ref="createRef" @success="createSuccess" />
+	<unpackDialog ref="unpackRef" @success="createSuccess" />
     <pickingDialog ref="PickingRef" />
   </div>
 </template>
@@ -94,12 +95,14 @@
   import { getPage } from '@/api/produceOrder/index.js';
   import produceOrderSearch from './components/produceOrder-search.vue';
   import createDialog from './components/createDialog.vue';
+  import unpackDialog from './components/unpackDialog.vue';
   import pickingDialog from './components/pickingDialog.vue';
   export default {
     components: {
       produceOrderSearch,
       pickingDialog,
-      createDialog
+      createDialog,
+	  unpackDialog
     },
     data () {
       return {
@@ -315,7 +318,7 @@
           }
         });
       },
-      // 修改计划
+      // 完结与批量完结
       toEnd ( row ) {
         if(row){
 			this.$confirm(`是否要完结工单【${row.code}】?`, '提醒', {
@@ -338,6 +341,11 @@
 			});
 		}
       },
+	  
+	  // 拆分
+	  toUnpack(row){		  
+		  this.$refs.unpackRef.open(row);
+	  },
       handleTabChange () {
         this.$refs.searchRef.reset();
       },