From 238595017057e4bc67393915140507785f45b195 Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期三, 31 一月 2024 14:24:47 +0800
Subject: [PATCH] add 追溯报表

---
 jcdm-ui/src/views/main/om/productionOrde/index.vue |  485 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 311 insertions(+), 174 deletions(-)

diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue
index 5c5df66..50e3228 100644
--- a/jcdm-ui/src/views/main/om/productionOrde/index.vue
+++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -2,30 +2,22 @@
   <div class="app-container">
     <el-card class="box-card">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label-width="80" label="鐢熶骇宸ュ崟鍙�" prop="workOrderNo">
-        <el-input
-          v-model="queryParams.workOrderNo"
-          placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label-width="100" label="鐢熶骇閫氱煡鍗�" prop="productName">
+        <el-input v-model="queryParams.productionNotice" placeholder="璇疯緭鍏ョ敓浜ч�氱煡鍗�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
-      <el-form-item label="浜у搧鍚嶇О" prop="productName">
-        <el-input
-          v-model="queryParams.productName"
-          placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label-width="80" label="鐢熶骇璁㈠崟" prop="workOrderNo">
+        <el-input v-model="queryParams.workOrderNo" placeholder="璇疯緭鍏ョ敓浜ц鍗�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
+<!--      <el-form-item label="浜у搧鍚嶇О" prop="productName">-->
+<!--        <el-input v-model="queryParams.productName" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" clearable @keyup.enter.native="handleQuery"/>-->
+<!--      </el-form-item>-->
       <el-form-item label="宸ュ崟鐘舵��" prop="orderStatus">
         <el-select v-model="queryParams.orderStatus" placeholder="璇烽�夋嫨宸ュ崟鐘舵��" clearable>
           <el-option
             v-for="dict in dict.type.order_state"
             :key="dict.value"
             :label="dict.label"
-            :value="dict.value"
-          />
+            :value="dict.value"/>
         </el-select>
       </el-form-item>
       <el-form-item style="float: right">
@@ -36,61 +28,22 @@
     </el-form>
     <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px">
       <el-form-item style="margin-left: 14px" label="浜у搧缂栧彿" prop="productCode">
-        <el-input
-          v-model="queryParams.productCode"
-          placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鍙�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
-      <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode">
-        <el-input
-          v-model="queryParams.salesOrderCode"
-          placeholder="璇疯緭鍏ヨ鍗曠紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="鏈哄瀷" prop="typeZ">
+        <el-input v-model="queryParams.typeZ" placeholder="璇疯緭鍏ユ満鍨�" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
-      <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode">
-        <el-input
-          v-model="queryParams.workshopCode"
-          placeholder="璇疯緭鍏ヨ溅闂寸紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="浜х嚎缂栧彿" prop="lineCode">
-        <el-input
-          v-model="queryParams.lineCode"
-          placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item style="margin-left: 7px" label-width="80" label="浜у搧BOM" prop="bomCode">
-        <el-input
-          v-model="queryParams.bomCode"
-          placeholder="璇疯緭鍏ヤ骇鍝丅OM"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="宸ヨ壓娴佺▼" prop="routeCode">
-        <el-input
-          v-model="queryParams.routeCode"
-          placeholder="璇疯緭鍏ュ伐鑹烘祦绋�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-
-      <el-form-item label="宸ヨ壓閰嶆柟" prop="recipeCode">
-        <el-input
-          v-model="queryParams.recipeCode"
-          placeholder="璇疯緭鍏ュ伐鑹洪厤鏂�"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label-width="130" label="閫氱煡鍗曠敓鎴愭棩鏈�" prop="dateConditions">
+        <el-date-picker
+          v-model="queryParams.dateConditions"
+          type="datetimerange"
+          :picker-options="pickerOptions"
+          value-format="yyyy-MM-dd HH:mm:ss"
+          range-separator="鑷�"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          align="right">
+        </el-date-picker>
       </el-form-item>
     </el-form>
     </el-card>
@@ -139,118 +92,66 @@
           v-hasPermi="['om:productionOrde:export']"
         >瀵煎嚭</el-button>
       </el-col>
+
       <el-col :span="1.5">
         <el-button
-          type="warning"
+          type="success"
           plain
-          icon="el-icon-upload2"
-          :disabled="move"
+          icon="el-icon-wind-power"
           size="mini"
-          @click="moveUp(val => val, 'up')"
-        >涓婄Щ</el-button>
+          @click="getProductionNotice"
+          v-hasPermi="['om:productionOrde:receive']"
+        >鎺ユ敹</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-          type="warning"
+          type="primary"
           plain
-          icon="el-icon-download"
+          icon="el-icon-edit"
           size="mini"
-          :disabled="move"
-          @click="moveUp(val => val, 'down')"
-        >涓嬬Щ</el-button>
+          :disabled="single"
+          @click="CreatehandleUpdate"
+          v-hasPermi="['om:productionOrde:createUpdate']"
+        >鐢熸垚</el-button>
       </el-col>
+
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
       <el-table border v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="鐢熶骇宸ュ崟鍙�" width="160" align="center">
+        <el-table-column label="鐢熶骇閫氱煡鍗曞彿" width="160" align="center" prop="productionNotice">
+        </el-table-column>
+        <el-table-column label="鐢熶骇璁㈠崟" width="160" align="center">
           <template slot-scope="scope">
-            <router-link :to="{path: '/main/workReport-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">
+            <router-link :to="{path: '/main/orderScheduling-data/index/', query: {workOrderNo: scope.row.workOrderNo} }" class="link-type">
               <span>{{ scope.row.workOrderNo }}</span>
             </router-link>
           </template>
         </el-table-column>
-        <el-table-column label="璁㈠崟缂栧彿" width="140" align="center" prop="salesOrderCode">
+        <el-table-column label="鏈哄瀷" width="160" align="center" prop="typeZ">
         </el-table-column>
-        <el-table-column label="浜у搧缂栧彿" width="140" align="center" prop="productCode">
+
+        <el-table-column label="闇�姹傛暟閲�" align="center" prop="planQty">
         </el-table-column>
-        <el-table-column label="浜у搧鍚嶇О" width="160" align="center" prop="productName">
+
+        <el-table-column label="浜у搧缂栧彿" width="150" align="center" prop="productCode">
         </el-table-column>
+
         <el-table-column label="宸ュ崟鐘舵��" align="center" prop="orderStatus">
           <template slot-scope="scope">
             <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>
           </template>
         </el-table-column>
-        <el-table-column label="杞﹂棿缂栧彿" align="center" prop="workshopCode">
+
+        <el-table-column label="浜х嚎" align="center" prop="lineCode">
         </el-table-column>
-        <el-table-column label="浜х嚎缂栧彿" align="center" prop="lineCode">
+
+        <el-table-column label="閫氱煡鍗曞埗鍗曚汉" width="80" align="center" prop="createUser">
         </el-table-column>
-        <el-table-column label="宸ヨ壓娴佺▼" width="140" align="center" prop="routeCode">
+        <el-table-column width="160" label="閫氱煡鐢熸垚鏃ユ湡" align="center" prop="createTime">
         </el-table-column>
-        <el-table-column label="浜у搧BOM" width="140" align="center" prop="bomCode">
-        </el-table-column>
-        <el-table-column label="宸ヨ壓閰嶆柟" width="140" align="center" prop="recipeCode">
-        </el-table-column>
-        <el-table-column label="璁″垝鏁伴噺" align="center" prop="planQty">
-        </el-table-column>
-        <el-table-column label="瀹為檯鏁伴噺" align="center" prop="actualQty">
-        </el-table-column>
-        <el-table-column label="瀹為檯涓婄嚎鏁伴噺" width="100" align="center" prop="actualOnlineQty">
-        </el-table-column>
-        <el-table-column label="闇�姹傛棩鏈�" align="center" prop="demandDate" width="180">
-        </el-table-column>
-        <el-table-column label="璁″垝寮�濮嬫椂闂�" width="160" align="center" prop="planStartTime">
-        </el-table-column>
-        <el-table-column label="璁″垝缁撴潫鏃堕棿" width="160" align="center" prop="planEndTime">
-        </el-table-column>
-        <el-table-column label="瀹為檯寮�濮嬫椂闂�" width="160" align="center" prop="actualStartTime">
-        </el-table-column>
-        <el-table-column label="瀹為檯缁撴潫鏃堕棿" width="160" align="center" prop="actualEndTime">
-        </el-table-column>
-        <el-table-column width="160" label="鍒涘缓鏃堕棿" align="center" prop="createTime">
-        </el-table-column>
-        <el-table-column width="160" label="鏇存柊鏃堕棿" align="center" prop="updateTime">
-        </el-table-column>
-        <el-table-column label="鍒涘缓浜�" width="80" align="center" prop="createUser">
-        </el-table-column>
-        <el-table-column label="淇敼浜�" width="80" align="center" prop="updateUser">
-        </el-table-column>
-        <el-table-column label="澶囨敞" width="100" align="center" prop="remarks">
-        </el-table-column>
-        <el-table-column label="娴佹按鍙�" align="center" prop="streamNumber">
-        </el-table-column>
-        <el-table-column label="瀹㈡埛" width="80" align="center" prop="custom">
-        </el-table-column>
-        <el-table-column fixed="right" width="350" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <!--  宸ュ崟鐘舵�侊紙1鍒涘缓銆�2宸插彂甯冦��3鐢熶骇涓��4宸插喕缁撱��5宸插畬宸ャ��6宸插叧闂級 -->
-            <el-button type="success" :disabled="scope.row.orderStatus !== '1'"  style="width: 72px" plain @click="handleCommand('3',scope.row.id)" size="mini">寮�濮�</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '2' && scope.row.orderStatus !== '3'" v-if="scope.row.orderStatus !== '2'&&  scope.row.orderStatus !== '4'" plain @click="handleCommand('4',scope.row.id)" type="warning" size="mini">鍐荤粨</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '4'" v-if="scope.row.orderStatus === '4'" plain @click="handleCommand('3',scope.row.id)" type="warning" size="mini">瑙e喕</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '1'" plain @click="handleCommand('6',scope.row.id)" v-if="scope.row.orderStatus === '1'||scope.row.orderStatus === '3'||scope.row.orderStatus === '4'||scope.row.orderStatus === '5'" type="danger" size="mini">鍏抽棴</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">鍚敤</el-button>
-<!--            <el-button-->
-<!--              :disabled="scope.row.orderStatus !== '1'"-->
-<!--              size="mini"-->
-<!--              type="success"-->
-<!--              style="width: 72px"-->
-<!--              icon="el-icon-edit"-->
-<!--              @click="handleUpdate(scope.row)"-->
-<!--              v-hasPermi="['om:productionOrde:edit']"-->
-<!--            >淇敼</el-button>-->
-<!--            <el-button-->
-<!--              :disabled="scope.row.orderStatus !== '1'"-->
-<!--              size="mini"-->
-<!--              type="warning"-->
-<!--              style="width: 72px"-->
-<!--              icon="el-icon-delete"-->
-<!--              @click="handleDelete(scope.row)"-->
-<!--              v-hasPermi="['om:productionOrde:remove']"-->
-<!--            >鍒犻櫎</el-button>-->
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '4'||scope.row.orderStatus === '6'" v-if="scope.row.orderStatus !== '5'" @click="handleCommand('5',scope.row.id)" type="success" size="mini">瀹屾垚</el-button>
-            <el-button style="width: 72px" :disabled="scope.row.orderStatus === '5'" v-if="scope.row.orderStatus === '5'" type="success" size="mini">宸插畬宸�</el-button>            <el-button style="width: 72px" :disabled="scope.row.orderStatus !== '6'" plain @click="handleCommand('1',scope.row.id)" v-if="scope.row.orderStatus === '6' " type="success" size="mini">鍚敤</el-button>
-          </template>
+        <el-table-column label="鎴愬搧鎻忚堪" width="320" align="center" prop="productName">
         </el-table-column>
       </el-table>
     </el-card>
@@ -272,7 +173,7 @@
       </span>
       <el-form ref="form" inline :model="form" :rules="rules" label-width="80px">
         <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
-          <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ョ敓浜у伐鍗曞彿" />
+          <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ョ敓浜ц鍗�" />
         </el-form-item>
         <el-form-item label="璁㈠崟缂栧彿" prop="salesOrderCode">
           <el-input v-model="form.salesOrderCode" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" />
@@ -285,6 +186,12 @@
         </el-form-item>
         <el-form-item label="浜у搧鍚嶇О" prop="productName">
           <el-input v-model="form.productName" disabled placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" />
+        </el-form-item>
+        <el-form-item label="绉嶇被" prop="productName">
+          <el-input v-model="form.typeZ" disabled placeholder="璇疯緭鍏ョ绫�" />
+        </el-form-item>
+        <el-form-item label="瀹為檯鏁伴噺" prop="actualQty">
+          <el-input v-model="form.actualQty"  placeholder="璇疯緭鍏ュ疄闄呮暟閲�" />
         </el-form-item>
         <el-form-item label="杞﹂棿缂栧彿" prop="workshopCode">
           <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="璇烽�夋嫨杞﹂棿缂栧彿">
@@ -359,6 +266,39 @@
       </div>
     </el-dialog>
 
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="400px" append-to-body>
+       <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" inline  :model="form" :rules="CreateRules" label-width="100px">
+        <el-form-item   label="鏈哄瀷" prop="typeZ">
+          <el-input disabled v-model="form.typeZ"  placeholder="璇疯緭鍏ユ満鍨�" />
+        </el-form-item>
+        <el-form-item  label="鏃ユ湡" prop="dateTime">
+          <el-date-picker clearable
+                          v-model="form.dateTime"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="璇烽�夋嫨鏃ユ湡" @input="handleCodeChange">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item class="hidden-form-item" label="鏃ユ湡瑙勫垯" prop="dateTimeRule">
+          <el-input v-model="form.dateTimeRule"/>
+        </el-form-item>
+        <el-form-item   label="璧峰缂栧彿" prop="startCode">
+          <el-input type="number"   :maxlength="3"  :pattern="'[0-9]{3}'" v-model="form.startCode"  placeholder="璇疯緭鍏ヨ捣濮嬬紪鍙�" @input="handleCodeChange"/>
+        </el-form-item>
+        <el-form-item   label="璧锋缂栧彿" prop="startEndCode">
+          <el-input type="textarea" disabled v-model="form.startEndCode"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormForBoxCode">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -368,11 +308,21 @@
 import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom";
 import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute";
 import ItemSelect  from "@/components/itemSelect/single.vue";
-import { upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde";
+import {  addOrderSchedulingForBoxCode,getProductionNotice, upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde";
+import {
+  listOrderScheduling,
+  getOrderScheduling,
+  delOrderScheduling,
+  addOrderScheduling,
+  updateOrderScheduling,
+  generateNumbers
+} from "@/api/main/bs/orderScheduling/orderScheduling";
+import {listMaterial} from "@/api/main/bs/material/material";
+import {listModelNumber} from "@/api/main/bs/modelNumber/modelNumber";
 
 export default {
   name: "ProductionOrde",
-  dicts: ['order_state'],
+  dicts: ['order_state','year','month','day','subscription_type', 'sys_yes_no', 'data_type','sys_normal_disable'],
   components: {
     ItemSelect ,
   },
@@ -381,6 +331,7 @@
       titleName: '',
       options: [],
       lineOptions: [],
+      outputArray: [],
       showFlag:false,
       advancedShowSearch: false,
       workOrder: {
@@ -406,6 +357,7 @@
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
+      Createopen: false,
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -426,9 +378,18 @@
         productCompanyCode: null,
         frontEndId: 0,
         idNums: null,
+        typeZ: null,
         flag: null,
-
+        adds:null,
+        productionNotice: null,
+        dateConditions: [],
       },
+      materialQueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        materialCode: null,
+      },
+
       // 琛ㄥ崟鍙傛暟
       form: {},
       updateStatusParameter: {
@@ -440,7 +401,57 @@
         id: [
           { required: true, message: "ID涓嶈兘涓虹┖", trigger: "blur" }
         ],
-      }
+      },
+      CreateRules: {
+        day: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        month: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        year: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        dateTime: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        startCode: [
+          { required: true, message: "涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      },
+      change: {
+        day: '',
+        month: '',
+        year: '',
+      },
+      markNo: '',
+      pickerOptions: {
+        shortcuts: [{
+          text: '鏈�杩戜竴鍛�',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜竴涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜笁涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
     };
   },
   created() {
@@ -448,6 +459,70 @@
     this.initWorkshop();
   },
   methods: {
+    //鏃ユ湡鎴栧紑濮嬬紪鍙疯緭鍏ユ椂
+    handleCodeChange(data){
+      let dateTime = this.form.dateTime;
+      let planQty = this.form.planQty;
+      let startCode = this.form.startCode
+      if(dateTime !== null && dateTime !== undefined
+        && startCode !== null && startCode !== undefined) {
+        let dateTimes = dateTime.split("-");
+        let year = dateTimes[0];
+        let month = dateTimes[1];
+        let day = dateTimes[2];
+        let dictYear = this.dict.type.year;
+        let dictMonth = this.dict.type.month;
+        let startCode = this.form.startCode
+        let dateTimeRule = "";
+
+        //骞�
+        for (let i = 0; i < dictYear.length; i++) {
+          if (year === dictYear[i].label) {
+            dateTimeRule = dictYear[i].value
+            // this.form.startEndCode = startEndCode;
+          }
+        }
+        //鏈�
+        for (let i = 0; i < dictMonth.length; i++) {
+          if (month === dictMonth[i].label) {
+            dateTimeRule = dateTimeRule + dictMonth[i].value;
+          }
+        }
+        //鏃�
+        dateTimeRule = dateTimeRule + day;
+        dateTimeRule = dateTimeRule + this.markNo;
+        this.form.dateTimeRule = dateTimeRule;//姝ゅ璧嬪�间笉鍔犳満鍨�
+        dateTimeRule = dateTimeRule + this.form.typeZ;//姝ゅ鍔犳満鍨嬶紝椤哄簭涓嶈兘棰犲��
+
+        //璧嬪�艰捣濮嬬紪鐮�
+        this.form.startEndCode = dateTimeRule +  String(parseInt(startCode)).padStart(3, '0') + "         " + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ;
+      }
+    },
+
+    getProductionNotice(){
+      getProductionNotice(this.queryParams).then(response => {
+
+        this.$modal.msgSuccess(response.msg);
+        this.queryParams = {}
+        this.getList();
+      });
+    },
+    //鏁扮粍鐢熸垚
+    changeDay(day){
+      this.change.day = day;
+      let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
+      this.form.adds = adds
+    },
+    changeMonth(day){
+      this.change.month = day;
+      let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
+      this.form.adds = adds
+    },
+    changeYear(day){
+      this.change.year = day;
+      let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
+      this.form.adds = adds
+    },
     moveUp(row, val){
       console.log(val)
       const ids = row.id || this.ids
@@ -467,22 +542,18 @@
       });
     },
     // 鍦ㄨ繖閲岀紪鍐欏鐞嗛�変腑浜嬩欢鐨勯�昏緫
-    handleSelectChange(selectedOption) {
-      this.form.lineCode = null;
-      let params = {
-        workshopCode: selectedOption
-      };
-      listLineInfo(params).then(response => {
-        this.lineOptions = response.rows;
-      });
-    },
+
+
     //鐗╂枡閫夋嫨寮瑰嚭妗�
     onItemSelected(obj){
       if(obj !== undefined && obj !== null){
         let productCode = obj.materialCode;
         this.form.productCode = productCode;
         this.form.productName = obj.materialName;
-        this.queryParams.productCode = productCode
+        this.form.typeZ = obj.typeZ;
+        this.typeL = obj.typeZ;
+        this.queryParams.productCode = productCode;
+        this.queryParams.typeZ = typeZ
         listTechnologyRoute(this.queryParams).then(response => {
           this.form.routeCode = response.rows[0].routeCode;
         });
@@ -519,6 +590,7 @@
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
+      this.Createopen = false;
       this.reset();
     },
     // 琛ㄥ崟閲嶇疆
@@ -561,7 +633,9 @@
         spareField1: null,
         spareField2: null,
         spareField3: null,
-        spareField4: null
+        typeZ: null,
+        spareField4: null,
+        adds:null
       };
       this.resetForm("form");
     },
@@ -590,12 +664,32 @@
       }
 
     },
+
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.initWorkshop();
       this.reset();
       this.open = true;
-      this.titleName = "娣诲姞鐢熶骇宸ュ崟";
+      this.titleName = "娣诲姞鐢熶骇璁㈠崟";
+    },
+    /** 鍚屾鎸夐挳鎿嶄綔 */
+    CreatehandleUpdate(Row) {
+      this.initWorkshop();
+      this.reset();
+      const id = Row.id || this.ids
+      getProductionOrde(id).then(response => {
+        console.log(response.data)
+        console.log(response.data.productCode)
+        this.materialQueryParams.materialCode = response.data.productCode;
+        listMaterial(this.materialQueryParams).then(response => {
+          this.markNo = response.rows[0].mark
+          this.form.typeL = response.rows[0].typeL;
+        });
+        this.form = response.data;
+        this.Createopen = true;
+        this.titleName = "鐢熸垚绠变綋鏉$爜";
+        // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1);
+      });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -606,7 +700,7 @@
         console.log(response.data)
         this.form = response.data;
         this.open = true;
-        this.titleName = "淇敼鐢熶骇宸ュ崟";
+        this.titleName = "淇敼鐢熶骇璁㈠崟";
       });
     },
     /** 鎻愪氦鎸夐挳 */
@@ -629,10 +723,53 @@
         }
       });
     },
+
+    /** 鐢熸垚绠变綋鏉$爜鎻愪氦鎸夐挳 */
+    submitFormForBoxCode() {
+      let startCode = parseInt(this.form.startCode);
+      let queryParams = {
+        model: this.form.typeZ,
+        modelDate: this.form.dateTimeRule,
+      }
+      if(startCode>999){
+        this.$message.error('璧峰缂栧彿瓒呭嚭鏈�澶ц寖鍥达紝璇疯緭鍏�1-999鐨勬暟瀛楋紒');
+        return;
+      }else if(startCode<1){
+        this.$message.error('璧峰缂栧彿瓒呭嚭鏈�灏忚寖鍥达紝璇疯緭鍏�1-999鐨勬暟瀛楋紒');
+        return;
+      }
+      listModelNumber(queryParams).then(response => {
+        if(response.rows.length === 0){
+          this.saveBoxCode()
+        }else {
+          let maxNumValue = response.rows[0].maxnumValue;
+          if(startCode<=maxNumValue){
+            this.$message.error('绠变綋鏉$爜閲嶅锛岃閲嶆柊杈撳叆璧峰缂栧彿锛�');
+          }else {
+            this.saveBoxCode()
+          }
+        }
+      });
+    },
+
+    saveBoxCode(){
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            addOrderSchedulingForBoxCode(this.form).then(response => {
+              this.$modal.msgSuccess("淇濆瓨鎴愬姛");
+              this.Createopen = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎鐢熶骇宸ュ崟缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+      this.$modal.confirm('鏄惁纭鍒犻櫎鐢熶骇璁㈠崟缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
         return delProductionOrde(ids);
       }).then(() => {
         this.getList();
@@ -644,13 +781,13 @@
       this.download('om/productionOrde/export', {
         ...this.queryParams
       }, `productionOrde_${new Date().getTime()}.xlsx`)
-    }
+    },
+
   }
 };
 </script>
 <style lang="scss" scoped>
-//::v-deep .el-dialog__header{
-//  /*background-color: #f8f8f8;*/
-//  background-color: #f8f8f9;
-//}
+.hidden-form-item {
+  display: none;
+}
 </style>

--
Gitblit v1.9.3