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

+ 118 - 0
src/views/productionPlan/components/disassemblePlanPop.vue

@@ -0,0 +1,118 @@
+<template>
+    <ele-modal
+      width="80vw"
+      :visible.sync="visible"
+      :close-on-click-modal="false"
+      row-key="code"
+      custom-class="ele-dialog-form"
+      :title="'计划分解'"
+    >
+      <div class="form-wrapper">
+        <el-form :model="requestData" label-width="0" :show-message="false">
+          <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.batchNo
+            }}</el-descriptions-item>
+  
+            <el-descriptions-item label="工艺路线">{{
+              formData.produceRoutingName
+            }}</el-descriptions-item>
+  
+            <el-descriptions-item label="要求生产数量">{{
+              formData.requiredFormingNum
+            }}</el-descriptions-item>
+            <el-descriptions-item label="要求完成日期">{{
+              formData.reqMoldTime
+            }}</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>
+    </ele-modal>
+  </template>
+  
+  <script>
+    import { deepClone } from '@/utils';
+
+    export default {
+      components: {},
+      data() {
+        return {
+          visible: false,
+  
+          formData: {},
+          requestData: {
+            deviceCode: '',
+            deviceName: '',
+            deviceId: ''
+          },
+       
+  
+
+  
+          rules: {},
+  
+
+  
+
+  
+  
+        };
+      },
+      methods: {
+        open(row) {
+          this.visible = true;
+          this.formData = deepClone(row);
+
+        },
+  
+  
+
+  
+        cancel() {
+          this.formData = {};
+          this.visible = false;
+          this.$refs.form.resetFields();
+        },
+  
+        confirm() {
+          this.$refs.form.validate(async (value) => {
+ 
+          });
+        }
+      }
+    };
+  </script>
+  
+  <style lang="scss" scoped>
+    .mt20 {
+      margin-top: 20px;
+    }
+  
+    .el-form-item {
+      margin-bottom: 0 !important;
+    }
+  </style>
+  

+ 44 - 19
src/views/productionPlan/index.vue

@@ -11,7 +11,9 @@
       </productionPlan-search>
       <div class="btn_box">
         <el-button type="success" size="mini">齐套性检查</el-button>
-        <el-button type="primary" size="mini" @click="disassemblePlan">计划分解</el-button>
+        <el-button type="primary" size="mini" @click="disassemblePlan"
+          >计划分解</el-button
+        >
         <el-button type="primary" size="mini">补单计划</el-button>
         <el-button type="info" size="mini">计划行事历</el-button>
         <el-button type="warning" size="mini">预警设置</el-button>
@@ -48,12 +50,8 @@
       >
         <template v-slot:batchNo="{ row }">
           <el-link type="primary" :underline="false">
-            <el-tag
-              type="success"
-              size="mini"
-              v-if="row.joinPlanCode"
-              @click.stop="splitDetails(1, row)"
-            >
+            <!-- @click.stop="splitDetails(1, row)" -->
+            <el-tag type="success" size="mini" v-if="row.joinPlanCode">
               拆</el-tag
             >
 
@@ -144,7 +142,7 @@
             v-if="row.status == 2 && row.splitBatch != 1"
             @click="handleOrderPublish(1, row)"
           >
-            发布 {{ row.splitResidue }}
+            发布
           </el-link>
           <el-link
             type="primary"
@@ -154,19 +152,30 @@
           >
             重新发布
           </el-link>
+
           <el-link
             v-if="
               row.splitBatch != 2 &&
               row.splitBatch != 1 &&
+              !row.joinPlanCode &&
               activeName == 'first'
             "
             type="primary"
             :underline="false"
             @click="planEdit(row)"
           >
-            修改 
+            修改
           </el-link>
-            
+
+          <el-link
+            v-if="row.joinPlanCode && activeName == 'first' && row.status != 4"
+            type="danger"
+            :underline="false"
+            @click="handleDel(row)"
+          >
+            删除
+          </el-link>
+
           <el-link
             v-if="
               clientEnvironmentId != 4 &&
@@ -189,6 +198,9 @@
     <mergeDialog ref="mergeRef" @success="reload"></mergeDialog>
 
     <unpackDetails ref="DetailsRef"></unpackDetails>
+
+    <disassemblePlanPop ref="disassemblePlanRef"></disassemblePlanPop>
+     
   </div>
 </template>
 
@@ -198,19 +210,18 @@
   import unpackDialog from './components/unpackDialog.vue';
   import mergeDialog from './components/mergeDialog.vue';
   import unpackDetails from './components/unpackDetails.vue';
+  import disassemblePlanPop from './components/disassemblePlanPop.vue';
   import { release } from '@/api/productionPlan/order.js';
-
   import { getCode } from '@/api/codeManagement';
-
   import { fieldModel } from '@/api/saleOrder';
-
   import { debounce } from 'lodash';
   export default {
     components: {
       productionPlanSearch,
       unpackDialog,
       mergeDialog,
-      unpackDetails
+      unpackDetails,
+      disassemblePlanPop
     },
     props: {
       timeDimensionPlanType: { type: Number, default: 1 }
@@ -228,7 +239,8 @@
           first: [
             { label: '所有状态', value: '3,2' },
             { label: '待发布', value: '2' },
-            { label: '发布失败', value: '3' }
+            { label: '发布失败', value: '3' },
+            { label: '已发布', value: '4' }
           ],
           second: [
             { label: '所有状态', value: '7,4,5,6' },
@@ -656,6 +668,17 @@
           })
         };
       },
+
+      handleDel(row) {
+        this.$confirm('确定删除当前数据?', '提示')
+          .then(() => {
+            del(row.id).then((res) => {
+              this.reload();
+              this.$message.success('删除成功');
+            });
+          })
+          .catch(() => {});
+      },
       handleSelectionChange(list) {
         if (list.length > 1) {
           let _list = [];
@@ -691,12 +714,14 @@
         });
       },
 
-     //  计划分解
-     disassemblePlan() {
-      if (this.selection.length != 1) {
+      //  计划分解
+      disassemblePlan() {
+        if (this.selection.length != 1) {
           return this.$message.warning('计划分解只能选择一个计划!');
         }
-     },
+
+        this.$refs.disassemblePlanRef.open(this.selection[0]);
+      },
 
       // 拆批
       toUnpack(row) {