chencc 1 год назад
Родитель
Сommit
c1c85f43ea
2 измененных файлов с 93 добавлено и 47 удалено
  1. 52 36
      src/views/produce/index.vue
  2. 41 11
      src/views/produceOrder/components/unpackDialog.vue

+ 52 - 36
src/views/produce/index.vue

@@ -4,11 +4,19 @@
 
       <!-- 工序名称 -->
       <Search></Search>
-
+      <!-- <div>
+        111
+      </div> -->
       <ele-split-layout space="0px" width="45%" :resizable="true" :min-size="200" :max-size="-200" :left-style="{
         overflow: 'hidden',
         width: '100%'
       }" :right-style="{ overflow: 'hidden' }" :responsive="false" style="height: calc(100vh - 70px - 50px - 80px)">
+
+
+
+
+
+        <!-- 左侧 工单列表 -->
         <div class="left_main">
           <div class="top">
             <!-- /工单列表 -->
@@ -19,7 +27,7 @@
             <productionResource :BomObj="BomObj"></productionResource>
           </div> -->
         </div>
-
+        <!-- 右侧 详情 -->
         <template v-slot:content>
 
 
@@ -51,17 +59,19 @@
             </div>
 
             <!-- 委外 -->
-            <div v-if="operationType == 'Outsourcing'&& isType=='3'" class="right_main_box">
-         
+            <div v-if="operationType == 'Outsourcing' && isType == '3'" class="right_main_box">
+
               <outsourcing :outsourceFormVal="outsourceForm" @changePlugIn="changePlugIn" v-if="isStep"></outsourcing>
-        
+
               <!--   -->
-              <outsourceList :outsourceFormVal="outObj"  @closeForm="closeForm" v-else></outsourceList>
+              <outsourceList :outsourceFormVal="outObj" @closeForm="closeForm" v-else></outsourceList>
 
             </div>
 
           </div>
         </template>
+
+
       </ele-split-layout>
 
       <footBtn @footBtn="footBtn"></footBtn>
@@ -70,7 +80,7 @@
     <!--领料弹框 -->
     <picking v-if="pickingShow" @close="pickingClose" :workListIds="workListIds"></picking>
 
-    
+
   </div>
 </template>
 
@@ -90,7 +100,7 @@ import warehousing from './components/warehousing/index.vue';
 import outsourceList from './components/outsourcing/outsourceList.vue';
 
 
-import { getByTaskId, pcCheckOutsource,getTaskInstanceById,checkOutsourceMaterial } from '@/api/produce/index';
+import { getByTaskId, pcCheckOutsource, getTaskInstanceById, checkOutsourceMaterial } from '@/api/produce/index';
 
 export default {
   components: {
@@ -113,9 +123,9 @@ export default {
       operationType: null,
       workListIds: [],
       isType: '',
-      isStep:true,
-      outsourceForm:{},
-      outObj:{},
+      isStep: true,
+      outsourceForm: {},
+      outObj: {},
       pickingShow: false,
       BomObj: {}
     };
@@ -132,34 +142,34 @@ export default {
     this.workListIds = [];
   },
   methods: {
-    closeForm(){
+    closeForm() {
       this.isStep = true;
     },
 
     // 切换组件
-    async changePlugIn(e){
+    async changePlugIn(e) {
       this.outObj = e;
 
       let req = {
-        taskId:e.taskId,
-        taskIds:e.taskIds,
-        workOrderId:e.workOrderId
+        taskId: e.taskId,
+        taskIds: e.taskIds,
+        workOrderId: e.workOrderId
       }
-     const res =await checkOutsourceMaterial(req);
-    
+      const res = await checkOutsourceMaterial(req);
+
 
-     this.outObj = {...this.outObj,...res.data,...this.outsourceForm};
+      this.outObj = { ...this.outObj, ...res.data, ...this.outsourceForm };
+
+      console.log(this.outObj, 'this.outObj');
 
-     console.log(this.outObj,'this.outObj');
-  
       this.isStep = false;
 
     },
 
     workSelect(data) {
-      console.log(data,'data1111111111');
+      console.log(data, 'data1111111111');
 
-      this.isStep = true; 
+      this.isStep = true;
       this.operationType = null;
       this.workListIds = data;
     },
@@ -210,7 +220,7 @@ export default {
     },
 
     handOutsource(workOrderId) {
-      console.log(this.taskObj,workOrderId);
+      console.log(this.taskObj, workOrderId);
       // return 
       let param = {
         taskId: this.taskObj.id,
@@ -222,7 +232,7 @@ export default {
         }
         this.outsourceForm.name = this.taskObj.name + '委外'
 
-        console.log(res,'res');
+        console.log(res, 'res');
         if (res.data.outsource) {
           this.isType = '3';
           this.getTaskInstanceByIdFn(workOrderId)
@@ -234,19 +244,19 @@ export default {
     },
 
     //获取工单列表
-    getTaskInstanceByIdFn(workOrderId){
+    getTaskInstanceByIdFn(workOrderId) {
 
       getTaskInstanceById(workOrderId).then((res) => {
-       console.log(res,'res');
-       let {data} = res;
-        if(data.length){
-          data = data.filter(item=>item.type == 1);
-          let arr = data.findIndex(item=>item.sourceTaskId == this.taskObj.id)
+        console.log(res, 'res');
+        let { data } = res;
+        if (data.length) {
+          data = data.filter(item => item.type == 1);
+          let arr = data.findIndex(item => item.sourceTaskId == this.taskObj.id)
           console.log(arr);
-          if(arr != -1){
-            data.splice(0,arr+1)
-          } 
-          this.$set(this.outsourceForm,'newStepsList',data)
+          if (arr != -1) {
+            data.splice(0, arr + 1)
+          }
+          this.$set(this.outsourceForm, 'newStepsList', data)
         }
 
       })
@@ -311,6 +321,11 @@ export default {
 </script>
 
 <style>
+
+.content_box{
+  /* display: flex; */
+}
+
 .new-ele-admin-tabs {
   display: none !important;
 }
@@ -369,11 +384,12 @@ export default {
 }
 </style>
 <style lang="scss" scoped>
-.right_main_box{
+.right_main_box {
   background-color: #fff;
   height: 100%;
   box-sizing: border-box;
 }
+
 .index_box {
   padding: 8px;
   padding-bottom: 0px;

+ 41 - 11
src/views/produceOrder/components/unpackDialog.vue

@@ -19,6 +19,9 @@
           <el-descriptions-item label="计划开始时间">{{
             formData.planStartTime
           }}</el-descriptions-item>
+          <el-descriptions-item label="计划完成日期">{{
+            formData.planCompleteTime
+          }}</el-descriptions-item>
         </el-descriptions>
       </el-form>
 
@@ -61,7 +64,7 @@
               message: '请选择开始计划时间',
               trigger: 'change'
             }">
-              <el-date-picker class="w100" v-model="scope.row.planStartTime" type="date"
+              <el-date-picker class="w100" v-model="scope.row.planStartTime" type="date" disabled
                 value-format="yyyy-MM-dd"></el-date-picker>
 
             </el-form-item>
@@ -75,7 +78,7 @@
               trigger: 'change'
             }">
 
-              <el-input readonly v-model="scope.row.classeName"
+              <el-input readonly v-model="scope.row.classeName" disabled
                 @click.native="openClasse(scope.row, 1, scope.$index)"></el-input>
             </el-form-item>
           </template>
@@ -98,8 +101,11 @@
               message: '请输入要求生产数量',
               trigger: 'change'
             }">
-              <el-input-number type="number" @change="changeNum(scope.$index)" :min="0" v-model="scope.row.formingNum"
-                placeholder="请输入"></el-input-number>
+              <!-- <el-input-number type="number" @change="changeNum(scope.$index)" :min="0" v-model="scope.row.formingNum"
+                placeholder="请输入"></el-input-number> -->
+              <el-input v-model="scope.row.formingNum" type="number" @input="changeNum(scope.$index)" :min="0"
+                placeholder="请输入内容"></el-input>
+
             </el-form-item>
           </template>
 
@@ -110,8 +116,8 @@
               message: '请选择开始计划时间',
               trigger: 'change'
             }">
-              <el-date-picker class="w100" v-model="scope.row.planStartTime" type="date"
-                value-format="yyyy-MM-dd"></el-date-picker>
+              <el-date-picker class="w100" v-model="scope.row.planStartTime" type="date" value-format="yyyy-MM-dd"
+                :picker-options="pickerOptions"></el-date-picker>
 
             </el-form-item>
           </template>
@@ -124,8 +130,8 @@
               trigger: 'change'
             }]">
 
-              <el-input readonly v-model="scope.row.classeName"
-                @click.native="openClasse(scope.row, 2, scope.$index)"></el-input>
+              <el-input readonly v-model="scope.row.classeName" @click.native="openClasse(scope.row, 2, scope.$index)"
+                ></el-input>
 
             </el-form-item>
           </template>
@@ -187,7 +193,31 @@ export default {
         unpackList: []
       },
 
+      pickerOptions: {
+        disabledDate: (time) => {
+          // 根据某个条件动态设置最大日期
+          if (this.formData.planStartTime) {
+            const maxDate = new Date(this.formData.planStartTime); // 您的逻辑方法
+            return time.getTime() <= maxDate.getTime();
+          } else {
+            return false;
+          }
 
+        }
+      },
+
+      pickerOptionsEnd: {
+        disabledDate: (time) => {
+          // 根据某个条件动态设置最大日期
+          if (this.formData.planCompleteTime) {
+            const maxDate = new Date(this.formData.planCompleteTime); // 您的逻辑方法
+            return time.getTime() >= maxDate.getTime();
+          } else {
+            return false;
+          }
+
+        }
+      },
 
       rules: {
 
@@ -285,7 +315,8 @@ export default {
     },
 
     setSurplus() {
-      this.form.surplusUnpack.push({ originalCode: this.formData.code, formingNum: this.formData.formingNum, planStartTime: '', classeId: '', isCopy:1  })
+      // this.form.surplusUnpack.push({ originalCode: this.formData.code, formingNum: this.formData.formingNum, planStartTime: '', classeId: '', isCopy:1  })
+      this.form.surplusUnpack.push({ originalCode: this.formData.code, formingNum: this.formData.formingNum, planStartTime: this.formData.planStartTime, planCompleteTime: this.formData.planCompleteTime, isCopy: 1 })
     },
 
     openUnpack() {
@@ -371,7 +402,7 @@ export default {
             params = this.form.unpackList
           }
 
-          
+
           const res = await splitWork(params);
           if (res) {
             this.$message.success('拆分成功!');
@@ -395,4 +426,3 @@ export default {
   margin-bottom: 0 !important;
 }
 </style>
-