From 17f0e644be8c98b547f6994a7e827d328e7b532e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 11 一月 2024 17:28:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/equipment/equipment/index.vue                     |    4 
 src/views/quality/packageinspect/packageInspect-form.vue    |   74 ++
 vue.config.js                                               |    6 
 src/api/quality/packageInspectTemp.js                       |   68 +++
 src/views/technology/routing/routing-form.vue               |   12 
 src/views/common/processinspect-part.vue                    |  258 ++++++++++++
 src/views/plan/manufacturingorder/productorder-form.vue     |  118 +++++
 src/views/quality/Packaging_ledger/index.vue                |  150 +++---
 src/views/quality/processInspect/processInspect-form.vue    |   19 
 src/views/plan/productionschedul/index.vue                  |   62 +-
 src/views/quality/packageInspectTemplate/inspect-detail.vue |  256 ++++++++++++
 src/api/plan/manufacturingorder.js                          |    9 
 src/views/quality/packageInspectTemplate/index.vue          |  211 ++++++++++
 13 files changed, 1,104 insertions(+), 143 deletions(-)

diff --git a/src/api/plan/manufacturingorder.js b/src/api/plan/manufacturingorder.js
index e9b8d5d..ffa8ee1 100644
--- a/src/api/plan/manufacturingorder.js
+++ b/src/api/plan/manufacturingorder.js
@@ -24,6 +24,15 @@
     data: obj
   })
 }
+
+export function changeOrder(obj) {
+  return request({
+    url: '/mes/plan/manufacturingOrder/changeOrder',
+    method: 'post',
+    data: obj
+  })
+}
+
 export function refreshIfsOrderNo(obj) {
   return request({
     url: '/mes/plan/manufacturingOrder/refreshIfsOrderNo',
diff --git a/src/api/quality/packageInspectTemp.js b/src/api/quality/packageInspectTemp.js
new file mode 100644
index 0000000..ebed63a
--- /dev/null
+++ b/src/api/quality/packageInspectTemp.js
@@ -0,0 +1,68 @@
+import request from '@/router/axios'
+
+export function getList(query){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/page',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getInspectList(id){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/pageInspect/'+id,
+        method: 'get',
+    })
+}
+
+export function getAllTemplateByEnable(){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/getAllTemplateByEnable',
+        method: 'get',
+    })
+}
+
+export function addTemplate(data){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/addTemplate',
+        method: 'post',
+        params: data
+    })
+}
+
+export function updateTemplate(data){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/updateTemplate',
+        method: 'post',
+        params: data
+    })
+}
+export function addInspect(data){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/addInspect',
+        method: 'post',
+        params: data
+    })
+}
+
+export function updateInspect(data){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/updateInspect',
+        method: 'post',
+        params: data
+    })
+}
+
+export function delTemplate(id){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/deleteTemplate/'+id,
+        method: 'post',
+    })
+}
+
+export function deleteInspect(id){
+    return request({
+        url: '/mes/qualityPackageInspectTemp/deleteInspect/'+id,
+        method: 'post',
+    })
+}
diff --git a/src/views/common/processinspect-part.vue b/src/views/common/processinspect-part.vue
new file mode 100644
index 0000000..f7f7ade
--- /dev/null
+++ b/src/views/common/processinspect-part.vue
@@ -0,0 +1,258 @@
+<template>
+    <div class="body">
+      <el-dialog
+        v-diadrag
+        width="60%"
+        title="鎶ユ淇℃伅"
+        top="5vh"
+        :visible.sync="innerVisible"
+        append-to-body
+        @close="$emit('update:currshowlist', false)"
+        :show="currshowlist"
+        class="part-dialog"
+        id="rawMaterial-part-dialog"
+      >
+        <ttable
+          :table="table"
+          @handleSelectionChange="handleSelectionChange"
+          @currentChange="handleCurrentChange"
+          :uploadInfo="uploadInfo"
+          :prelang="prelang"
+          :options="options"
+          :bottomOffset="150"
+          :ajaxFun="ajaxFun"
+          :paramObj="paramObj"
+          :isShowPagination="false"
+          ref="rawPartTable"
+        >
+          <template #toolbar></template>
+        </ttable>
+    
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="innerVisible = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="saveSelectRow">纭� 瀹�</el-button>
+        </div>
+      </el-dialog>
+    </div>
+    </template>
+    <script>
+    import ttable from '@/views/common/ztt-table'
+    import { chooseIFS } from '@/api/quality/rawMaterial'
+    export default {
+      props: {
+        currshowlist: {
+          type: Boolean,
+          default: false
+        },
+        paramObj: {
+          type: Object,
+          default: () => {
+            return {}
+          }
+        },
+        multiSelect: {
+          type: Boolean,
+          default: false
+        },
+        parentSelectedObj: {
+          type: Object,
+          default: null
+        },
+        parentSelectedIndex: {
+          type: Number,
+          default: null
+        }
+      },
+      data() {
+        return {
+          ajaxFun: chooseIFS,
+          innerVisible: false,
+          currentRow: null,
+          multipleSelection: [],
+          uploadInfo: {
+            // 鏄惁灞曠ず涓婁紶EXCEL浠ュ強瀵瑰簲鐨剈rl
+            isShow: false,
+            url: ''
+          },
+          prelang: 'operation',
+          options: {
+            height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾
+            stripe: true, // 鏄惁涓烘枒椹汗 table
+            highlightCurrentRow: false, // 鏄惁瑕侀珮浜綋鍓嶈
+            border: true, // 鏄惁鏈夌旱鍚戣竟妗�
+            lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
+            fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
+            multiSelect: false, //
+            seqNo: true,
+            isGeneralSearch: false,
+            isRefresh: false, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
+            isShowHide: false, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
+            isSearch: false, // 楂樼骇鏌ヨ鎸夐挳
+            defaultOrderBy: { column: 'formTime', direction: 'desc' }
+          },
+          table: {
+            total: 0,
+            currentPage: 1,
+            pageSize: 20,
+            data: [],
+            // 鏍囬
+            column: [
+              {
+                minWidth: '100',
+                prop: 'message',
+                label: 'message',
+                isTrue: false,
+              },
+              {
+                minWidth: '100',
+                prop: 'code',
+                label: '闆朵欢鍙�',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+              {
+                minWidth: '120',
+                prop: 'projectName',
+                label: '椤圭洰鍚嶇О',
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+             },
+              {
+                minWidth: '100',
+                prop: 'name',
+                label: '鍘熸潗鏂欏悕绉�',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+              {
+                minWidth: '100',
+                prop: 'formTime',
+                label: '鏉ユ枡鏃ユ湡',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+              {
+                minWidth: '100',
+                prop: 'specs',
+                label: '瑙勬牸鍨嬪彿',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+              {
+                minWidth: '100',
+                prop: 'unit',
+                label: '鍗曚綅',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+              {
+                minWidth: '100',
+                prop: 'supplier',
+                label: '渚涘簲鍟�',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+              {
+                minWidth: '100',
+                prop: 'number',
+                label: '鏁伴噺',
+                sort: true,
+                isTrue: true,
+                isSearch: true,
+                searchInfoType: 'text'
+              },
+            ],
+          },
+        }
+      },
+      components: {
+        ttable
+      },
+      created(){
+        
+      },
+      mounted() {
+        console.log(this.currshowlist,"寮�");
+      },
+      // props:['currentRow'],
+      methods: {
+        getData() {
+          if (this.$refs.rawPartTable !== undefined) {
+            this.$refs.rawPartTable.getDataList()
+          }
+        },
+        saveSelectRow() {
+          if (this.multiSelect) {
+            this.$emit('handleSelectionChange', this.multipleSelection)
+          } else {
+            this.$emit(
+              'listenToPartEvent',
+              this.currentRow,
+              this.parentSelectedObj,
+              this.parentSelectedIndex
+            )
+          }
+          this.innerVisible = false
+          this.$parent.costPlannedAmountChange(this.currentRow)
+        },
+        handleCurrentChange(row) {
+          this.currentRow = row
+        },
+        handleSelectionChange(val) {
+          // 澶氳閫変腑
+          this.multipleSelection = val
+        },
+      },
+      watch: {
+        currshowlist() {
+            console.log(this.currshowlist,"寮�锛�");
+          this.innerVisible = this.currshowlist
+          if (this.currshowlist) {
+            this.$nextTick(() => {
+              // this.table.data=[]
+              this.getData()
+            })
+          }
+        }
+      },
+    }
+    </script>
+    <style>
+    .part-dialog .el-dialog__header {
+      padding: 10px 20px 10px;
+    }
+    .part-dialog .el-dialog__header .el-dialog__headerbtn {
+      top: 10px;
+    }
+    .part-dialog .el-dialog__body {
+      padding: 5px 20px;
+    }
+    
+    .part-dialog .el-dialog__footer {
+      padding: 5px 20px 10px;
+    }
+    
+    .part-dialog .el-dialog__body .avue-crud__pagination {
+      margin-top: 0px;
+      margin-bottom: 5px;
+    }
+    /* @media screen and (max-width: 800px) {
+      .el-dialog {
+        height: 600px !important;
+      }
+    } */
+    </style>
+    
\ No newline at end of file
diff --git a/src/views/equipment/equipment/index.vue b/src/views/equipment/equipment/index.vue
index 20afc4b..f795fdf 100644
--- a/src/views/equipment/equipment/index.vue
+++ b/src/views/equipment/equipment/index.vue
@@ -306,7 +306,7 @@
                 printable: 'printRaw',//椤甸潰
                 type: "html",//鏂囨。绫诲瀷
                   maxWidth:450,
-                  targetStyles:['*'],                 
+                  targetStyles:['*'],
                   style: `@page {
                     margin:0;
                     padding: 0;
@@ -329,7 +329,7 @@
     pullEquipFun(){
       this.table.toolbar.find((e) => e.text === '鍚屾').loading = true
       pullEquip().then(res=>{
-        this.$message.success(res.data.data.msg)
+        this.$message.success(res.data.msg)
         this.table.toolbar.find((e) => e.text === '鍚屾').loading = false
       }).catch(error=>{
         this.$message.error("鍚屾澶辫触",error)
diff --git a/src/views/plan/manufacturingorder/productorder-form.vue b/src/views/plan/manufacturingorder/productorder-form.vue
index 081be95..0fb9e74 100644
--- a/src/views/plan/manufacturingorder/productorder-form.vue
+++ b/src/views/plan/manufacturingorder/productorder-form.vue
@@ -265,11 +265,22 @@
                         </el-form-item>
                       </el-col>
                     </el-row>
-
                     <el-row>
                       <el-col :span="24" class="productorder-operates-col">
-                        <el-card class="productorder-operates">
-                          <el-table
+                        <el-card class="productorder-operates" >
+                          <el-row>
+                            <el-col :span="2" class="frame1">搴忓彿
+                            </el-col>
+                            <el-col :span="4" class="frame1">宸ュ簭鍙�
+                            </el-col>
+                            <el-col :span="5" class="frame1">宸ュ簭鎻忚堪
+                            </el-col>
+                            <el-col :span="9" class="frame1">闆朵欢
+                            </el-col>
+                            <el-col :span="3" class="frame1">鎿嶄綔
+                            </el-col>
+                          </el-row>
+                          <!-- <el-table
                             ref="operationTable"
                             :data="operations"
                             style="width: 100%;"
@@ -317,10 +328,56 @@
                                 </el-button>
                               </template>
                             </el-table-column>
-                          </el-table>
+                          </el-table> -->
+                          <zttdraggable
+                            :forceFallback="true"
+                            :list="operations"
+                            :animation="200"
+                            fallbackClass="fallbackStyle"
+                            ghostClass="item_ghost"
+                            @end="dragEnd"
+                          >
+                            <div
+                              :class="{ dragItem: true, active: x.active }"
+                              v-for="(x, i) in operations"
+                              :key="i"
+                            >
+                              <!-- <div class="dragBody">
+                                <div class="info">{{ x.operationNo }}</div>
+                                <div class="info">{{ x.operationName }}</div>
+                                <div class="info">{{ x.partName }}</div>
+                              </div> -->
+                              <el-row>
+                                <el-col :span="2" class="frame">{{ i+1 }}
+                                </el-col>
+                                <el-col :span="4" class="frame">{{ x.operationNo  }}
+                                </el-col>
+                                <el-col :span="5" class="frame">{{ x.operationName }}
+                                </el-col>
+                                <el-col :span="9" class="frame">{{ x.partName }}
+                                </el-col>
+                                <el-col :span="3" class="frame">
+                                    <el-button
+                                      type="text"
+                                      size="mini"
+                                      @click="openOrderOperation(x)"
+                                      >缂栬緫
+                                    </el-button>
+                                </el-col>
+                              </el-row>
+                            </div>
+                          </zttdraggable>
                         </el-card>
                       </el-col>
                     </el-row>
+                  
+                  
+                  
+                  
+                  
+                  
+                  
+                  
                   </el-col>
                   <el-col :span="16">
                     <el-tabs type="card" ref="paramTabs">
@@ -926,7 +983,27 @@
     />
   </div>
 </template>
-<style>
+<style lang="scss">
+.frame{
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 100px;
+    // border-width: 1px;
+    // border-color: rgb(129, 129, 129);
+    // border-style: solid;
+    font-size: 15px;
+}
+.frame1{
+  display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 50px;
+    // border-width: 1px;
+    // border-color: rgb(129, 129, 129);
+    // border-style: solid;
+    font-size: 15px;
+}
 .productorder-basic {
   background-color: #fff;
   height: 150px;
@@ -965,6 +1042,7 @@
 .productorder-operates {
   height: 605px;
   border: 1px solid #ddd;
+  overflow: auto;
 }
 
 .productorder-params-template {
@@ -1016,7 +1094,8 @@
   addRoutingTemplateParamLedForOrder,
   updateMoBom,
   delMoBom,
-  bomSelectChange
+  bomSelectChange,
+  changeOrder,
 } from '@/api/plan/manufacturingorder'
 import { qryMoSamplingRule, delMoSamplingRule } from '@/api/plan/mosamplingrule'
 import {
@@ -1046,7 +1125,7 @@
 import spotCheckRule from './orderSpotCheckRule'
 import spotCheckRuleEdit from './orderSpotCheckRuleEdit'
 import { mapGetters } from 'vuex'
-
+import zttdraggable from 'vuedraggable'
 export default {
   components: {
     CustomerOrder,
@@ -1062,7 +1141,8 @@
     operationDialog,
     insertOperationDialog,
     spotCheckRule,
-    spotCheckRuleEdit
+    spotCheckRuleEdit,
+    zttdraggable
   },
 
   data() {
@@ -1332,6 +1412,28 @@
     }
   },
   methods: {
+    dragEnd(e){
+      this.operations.forEach((e, i) => {
+        e.index = i + 1
+        e.operationOrder = i+1
+      })
+      console.log(this.operations,"鎷栨嫿缁撴潫kk");
+      this.dragEndstart()
+    },
+    dragEndstart(){
+        let data = this.operations.map(el =>{
+            return {
+              id:el.id,
+              operationOrder:el.operationOrder,
+            }
+        })
+      console.log(data,"id");
+        changeOrder(data).then((res) =>{
+            console.log(res,"鍥炶皟");
+        }).catch(error => {
+					console.error(error)
+				});
+    },
     getSysParam(paramKey) {
       getSysParam(paramKey).then((response) => {
         var paramVal = response.data.data
diff --git a/src/views/plan/productionschedul/index.vue b/src/views/plan/productionschedul/index.vue
index e762066..4f05a4f 100644
--- a/src/views/plan/productionschedul/index.vue
+++ b/src/views/plan/productionschedul/index.vue
@@ -10,37 +10,37 @@
                 <div>
                   <el-button @click="tagFinished" size="mini" round type="success">鏍囪宸插畬鎴�</el-button>
                   <el-button size="mini" round type="primary"
-                  v-if="permissions.plan_productionschedul_edit_line" 
+                  v-if="permissions.plan_productionschedul_edit_line"
                   @click="openEditDialog">缂栬緫鏃堕棿绾�</el-button>
                   <el-tooltip content="鍒锋柊">
                     <el-button circle icon="el-icon-refresh" @click="getDataList"></el-button>
                   </el-tooltip>
                 </div>
               </div>
-              <avue-crud 
+              <avue-crud
               class="unfinished-crud"
-              :data="tableData" 
-              ref="crud" 
-              :option="option" 
-              :span-method="spanMethod" 
+              :data="tableData"
+              ref="crud"
+              :option="option"
+              :span-method="spanMethod"
               @refresh-change="getDataList"
               @current-change="handleCurrentChange"
               @size-change="handleSizeChange"
-              :page="page" 
+              :page="page"
               @selection-change="selectionRow"
               :table-loading="loading">
               <template #menu="{ row, index }">
-                <el-button 
-                v-if="permissions.plan_productionschedul_edit" 
-                type="text" 
-                icon="el-icon-edit" 
-                size="small" 
+                <el-button
+                v-if="permissions.plan_productionschedul_edit"
+                type="text"
+                icon="el-icon-edit"
+                size="small"
                 @click="editHandle(row, index)">缂栬緫</el-button>
-                <el-button 
-                v-if="permissions.plan_productionschedul_del" 
-                type="text" 
-                icon="el-icon-delete" 
-                size="small" 
+                <el-button
+                v-if="permissions.plan_productionschedul_del"
+                type="text"
+                icon="el-icon-delete"
+                size="small"
                 @click="deleteHandle(row, index)">鍒犻櫎</el-button>
               </template>
               </avue-crud>
@@ -51,23 +51,23 @@
               <div style="display:flex;height:36px;justify-content: space-between;align-items:center;">
                 <div><span style="color:#34BD66;font-weight: bold;">宸插畬鎴�</span></div>
               </div>
-              <avue-crud 
+              <avue-crud
               class="finished-crud"
-              :data="finishedTableData" 
-              ref="finished" 
-              :option="finishedOption" 
-              :span-method="spanMethod" 
+              :data="finishedTableData"
+              ref="finished"
+              :option="finishedOption"
+              :span-method="spanMethod"
               @refresh-change="getFinishedData"
               @current-change="handleCurrentChange"
               @size-change="handleSizeChange"
-              :page="finishedPage" 
+              :page="finishedPage"
               @selection-change="selectionFinishedRow">
               <!-- <template #menu="{ row, index }">
-                <el-button 
-                v-if="permissions.plan_productionschedul_del" 
-                type="text" 
-                icon="el-icon-delete" 
-                size="small" 
+                <el-button
+                v-if="permissions.plan_productionschedul_del"
+                type="text"
+                icon="el-icon-delete"
+                size="small"
                 @click="deleteHandle(row, index)">鍒犻櫎</el-button>
               </template> -->
               </avue-crud>
@@ -129,7 +129,7 @@
                       style="width:100%"
                       v-model="item.planTime"
                       value-format="yyyy-MM-dd HH:mm:ss"
-                      type="datetime" 
+                      type="datetime"
                       placeholder="閫夋嫨鏃ユ湡鏃堕棿">
                     </el-date-picker>
                   </el-col>
@@ -143,7 +143,7 @@
                       style="width:100%"
                       v-model="item.actualTime"
                       value-format="yyyy-MM-dd HH:mm:ss"
-                      type="datetime" 
+                      type="datetime"
                       placeholder="閫夋嫨鏃ユ湡鏃堕棿">
                     </el-date-picker>
                   </el-col>
@@ -454,7 +454,7 @@
       }, {
         prop: 'contractNo',
         span: []
-      }, 
+      },
       {
         prop: 'orderTime',
         span: []
diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue
index 2230d2d..9427849 100644
--- a/src/views/quality/Packaging_ledger/index.vue
+++ b/src/views/quality/Packaging_ledger/index.vue
@@ -33,7 +33,7 @@
                     </el-col>
                     <el-col :span="2">
                     <el-button
-                        v-if="permissions.quality_packaging_ledger_info_save"
+                        v-if="!isCheck && permissions.quality_packaging_ledger_info_add"
                         style="float: right; padding: 3px 0"
                         type="text"
                         @click="addpreserve"
@@ -52,75 +52,75 @@
                 </el-row>
                 </div>
                 <el-table
-              :data="testStandardParams"
-              id="testStandardParamTable"
-              ref="testStandardParam"
+                    :data="testStandardParams"
+                    id="testStandardParamTable"
+                    ref="testStandardParam"
 
-              highlight-current-row
-              height="700"
-              style="width: 100%"
-              class="l-mes-table"
-              border
-              stripe
-            >
-              <el-table-column
-                type ="index"
-                label="搴忓彿"
-                align="center"
-                width="50"
-              />
-              <el-table-column
-                label="浜у搧"
-                prop="product"
-                show-overflow-tooltip
-                align="center"
-              />
-              <el-table-column
-                label="浜у搧缂栧彿"
-                prop="productNo"
-                show-overflow-tooltip
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鎵规鍙�"
-                prop="outBatchNo"
-                show-overflow-tooltip
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="瑙勬牸鍨嬪彿"
-                prop="specs"
-                show-overflow-tooltip
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鍗曚綅"
-                prop="unit"
-                show-overflow-tooltip
-                align="center"
-              >
-              </el-table-column>
-              <el-table-column
-                label="鏁伴噺"
-                prop="number"
-                align="center"
-                show-overflow-tooltip
-                width="80"
-              ></el-table-column>
-              <el-table-column
-                v-if="permissions.quality_packaging_ledger_info_operate"
-                fixed="right"
-                label="鎿嶄綔"
-                align="center"
-                width="80">
-                <template slot-scope="scope">
-                  <el-button type="text" @click="deleteadd(scope.row)" icon="el-icon-delete"  size="small">鍒犻櫎</el-button>
-                </template>
-              </el-table-column>
-            </el-table>
+                    highlight-current-row
+                    height="700"
+                    style="width: 100%"
+                    class="l-mes-table"
+                    border
+                    stripe
+                  >
+                    <el-table-column
+                      type ="index"
+                      label="搴忓彿"
+                      align="center"
+                      width="50"
+                    />
+                    <el-table-column
+                      label="浜у搧"
+                      prop="product"
+                      show-overflow-tooltip
+                      align="center"
+                    />
+                    <el-table-column
+                      label="浜у搧缂栧彿"
+                      prop="productNo"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="鎵规鍙�"
+                      prop="outBatchNo"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="瑙勬牸鍨嬪彿"
+                      prop="specs"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="鍗曚綅"
+                      prop="unit"
+                      show-overflow-tooltip
+                      align="center"
+                    >
+                    </el-table-column>
+                    <el-table-column
+                      label="鏁伴噺"
+                      prop="number"
+                      align="center"
+                      show-overflow-tooltip
+                      width="80"
+                    ></el-table-column>
+                    <el-table-column
+                      v-if="permissions.quality_packaging_ledger_info_operate"
+                      fixed="right"
+                      label="鎿嶄綔"
+                      align="center"
+                      width="80">
+                      <template slot-scope="scope">
+                        <el-button type="text" @click="deleteadd(scope.row)" icon="el-icon-delete"  size="small">鍒犻櫎</el-button>
+                      </template>
+                    </el-table-column>
+                  </el-table>
                 </el-card>
             </el-col>
         </el-row>
@@ -184,6 +184,7 @@
           isCheck: false,
           dataway:{},
           goid:'',
+          datalist:[],
           testStandardParams: [],
           packageBoxId:{},
             prelang: 'operation',
@@ -435,18 +436,21 @@
         }
       },
       preserve(datalist){
-        this.testStandardParams = datalist
+       this.testStandardParams = this.testStandardParams.concat(datalist);
+       console.log(this.testStandardParams,"---------start");
+       this.datalist = datalist
       },
       //鍙宠竟淇濆瓨
       addpreserve(){
-         this.testStandardParams.forEach(el => {
+         this.datalist.forEach(el => {
               el.packageBoxId =this.goid
          });
-         console.log(this.testStandardParams);
+         console.log(this.datalist);
   //       return
-        saveList(this.testStandardParams).then((res) =>{
+        saveList(this.datalist).then((res) =>{
           if(res.status===200){
             this.$message.success('淇濆瓨鎴愬姛')
+            this.datalist = null
             this.rightquery()
           }
         }).catch(error=>{
diff --git a/src/views/quality/packageInspectTemplate/index.vue b/src/views/quality/packageInspectTemplate/index.vue
new file mode 100644
index 0000000..b562360
--- /dev/null
+++ b/src/views/quality/packageInspectTemplate/index.vue
@@ -0,0 +1,211 @@
+<template>
+  <div>
+    <basic-container>
+        <avue-crud
+        :data="list"
+        style="width:98%"
+        :option="option"
+        :page="page"
+        @row-save="saveTemplate"
+        @current-change="currentChange"
+        @size-change="sizeChange">
+            <template slot="state" slot-scope="scope">
+                <el-tag :type="scope.row.state ? 'success':'danger'">{{scope.row.state ? '鍚敤':'绂佺敤'}}</el-tag>
+            </template>
+            <template slot="stateForm" slot-scope="scope">
+                <el-switch
+                    v-model="scope.row.state"
+                    active-color="#13ce66"
+                    :active-value="true"
+                    :inactive-value="false">
+                </el-switch>
+            </template>
+            <template #menu="{size,row,index}">
+                <el-button class="menu-button" :size="size" @click="showInspectDialog(size,row,index)" type="text" icon="el-icon-set-up">妫�楠岄」</el-button>
+                <el-button class="menu-button" :size="size" @click="updateTemplate(size,row,index)" type="text" icon="el-icon-edit">缂栬緫</el-button>
+                <el-button class="menu-button" :size="size" @click="deleteTemplate(size,row,index)" type="text" icon="el-icon-delete">鍒犻櫎</el-button>
+            </template>
+        </avue-crud>
+    </basic-container>
+    <el-dialog
+    title="缂栬緫妯℃澘淇℃伅"
+    :visible.sync="updateDialog"
+    width="40%">
+        <el-form :model="updateData" label-width="100px" :inline="true"
+            label-position="right" ref="updateTemplate" :rules="updateRules">
+            <el-form-item label="妯℃澘鍚嶇О" prop="templateName">
+                <el-input v-model="updateData.templateName" placeholder="璇疯緭鍏ユā鏉垮悕绉�"></el-input>
+            </el-form-item>
+            <el-form-item label="鏄惁鍚敤" prop="state">
+                <el-switch
+                    v-model="updateData.state"
+                    active-color="#13ce66"
+                    :active-value="true"
+                    :inactive-value="false">
+                </el-switch>
+            </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+            <el-button type="primary" icon="el-icon-circle-plus-outline" @click="confirmUpdate">淇� 瀛�</el-button>
+            <el-button icon="el-icon-remove-outline" @click="updateDialog = false">鍙� 娑�</el-button>
+        </span>
+    </el-dialog>
+    <inspectDetail v-if="isShow" :paramObj="paramObj" :currshowlist.sync="showDetail"></inspectDetail>
+  </div>
+</template>
+<script>
+import inspectDetail from './inspect-detail'
+import {getList,addTemplate,updateTemplate,delTemplate} from '@/api/quality/packageInspectTemp'
+export default {
+    data(){
+        return {
+            isShow: false,
+            paramObj:{
+                id: null,
+            },
+            showDetail: false,
+            updateData:{
+                templateName: null,
+                state: null,
+            },
+            updateRules:{
+                templateName:[{required:true,message:'璇疯緭鍏ユā鏉垮悕绉�',trigger:'blur'}]
+            },
+            updateDialog: false,
+            list: [],
+            page:{
+                currentPage: 1,
+                pageSize: 20,
+                total: 0
+            },
+            option: {
+                dialogWidth: '40%',
+                menu: true,
+                addBtn: true,
+                editBtn: false,
+                delBtn: false,
+                border: true,
+                index: true,
+                height: 400,
+                indexLabel: '搴忓彿',
+                align: 'center',
+                refreshBtn: false,
+                columnBtn: false, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
+                headerAlign: 'center',
+                column: [{
+                    label: '妯℃澘鍚嶇О',
+                    prop: 'templateName',
+                    overHidden: true,
+                    rules:[{required:true,message:'妯℃澘鍚嶇О涓嶈兘涓虹┖',trigger:'blur'}]
+                }, {
+                    label: '鏄惁鍚敤',
+                    prop: 'state',
+                    overHidden: true,
+                    slot: true,
+                    formslot: true,
+                    value: true,
+                }]
+            }
+        }
+    },
+    created(){
+        this.getDataList()
+    },
+    components:{
+        inspectDetail
+    },
+    methods:{
+        deleteTemplate(size,row,index){
+            const _than = this
+            this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユā鏉�, 鏄惁缁х画?', '鎻愮ず', {
+                confirmButtonText: '纭畾',
+                cancelButtonText: '鍙栨秷',
+            type: 'warning'
+            }).then(() => {
+                delTemplate(row.id).then(res=>{
+                    if(res.status===200){
+                        _than.$message.success("鍒犻櫎鎴愬姛")
+                        _than.getDataList()
+                    }
+                }).catch(error=>{
+                    console.error(error)
+                })
+            }).catch(() => {});
+        },
+        showInspectDialog(size,row,index){
+            this.paramObj.id = row.id
+            this.isShow = true
+            this.$nextTick(()=>{
+                this.showDetail = true
+            })
+        },
+        updateTemplate(size,row,index){
+            console.log(row);
+            this.updateData = JSON.parse(JSON.stringify(row))
+            this.updateDialog  =true
+        },
+        confirmUpdate(){
+            const _than = this
+            this.$refs.updateTemplate.validate(valid=>{
+                if(valid){
+                    let data = {
+                        id:this.updateData.id,
+                        templateName:this.updateData.templateName,
+                        state:this.updateData.state
+                    }
+                    updateTemplate(data).then(res=>{
+                        if(res.status===200){
+                            _than.$message.success("鏇存柊鎴愬姛")
+                            _than.getDataList()
+                            _than.updateDialog = false
+                        }
+                    }).catch(error=>{
+                        console.error(error)
+                    })
+                }
+            })
+        },
+        saveTemplate(row, done, loading){
+            addTemplate(row).then(res=>{
+                if(res.status===200){
+                    this.$message.success("娣诲姞鎴愬姛")
+                    this.getDataList()
+                }
+            }).catch(error=>{
+                console.error(error)
+            })
+            setTimeout(()=>{
+                done()
+            },1000)
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+            this.getList();
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+            this.getList();
+        },
+        getDataList() {
+            getList({
+                current: this.page.currentPage,
+                size: this.page.pageSize,
+                templateType: '0'
+            }).then(res=>{
+                if(res.status===200){
+                    this.list = res.data.data.records
+                    this.page.total = res.data.data.total
+                }
+            }).catch(error=>{
+                console.error(error)
+            })
+        },
+    }
+}
+</script>
+
+<style scoped>
+.menu-button{
+    margin: 0px 5px;
+}
+</style>
diff --git a/src/views/quality/packageInspectTemplate/inspect-detail.vue b/src/views/quality/packageInspectTemplate/inspect-detail.vue
new file mode 100644
index 0000000..1e9988a
--- /dev/null
+++ b/src/views/quality/packageInspectTemplate/inspect-detail.vue
@@ -0,0 +1,256 @@
+<template>
+    <div>
+    <el-dialog
+    title="妫�楠岄」绠$悊"
+    top="5vh"
+    :visible.sync="inspectDialog"
+    @close="$emit('update:currshowlist', false)"
+    :show="currshowlist"
+    width="80%">
+        <avue-crud
+        ref="inspectDetail"
+        :data="dataList"
+        :option="option"
+        @row-save="addInspectHandler"
+        @row-del="delInspectHandler"
+        :page="page">
+            <template #menu="{size,row,index}">
+                <el-button v-if="row.children!=null" class="menu-button" :size="size" @click="addChildren(size,row,index)" type="text" icon="el-icon-circle-plus-outline">娣诲姞瀛愰」鐩�</el-button>
+                <el-button v-if="row.children==null" class="menu-button" :size="size" @click="showUpdateDialog(size,row,index)" type="text" icon="el-icon-edit">缂栬緫</el-button>
+                <el-button v-if="row.children==null" class="menu-button" :size="size" @click="delInspectHandler(size,row,index)" type="text" icon="el-icon-delete">鍒犻櫎</el-button>
+            </template>
+        </avue-crud>
+    </el-dialog>
+    <el-dialog
+    title="缂栬緫"
+    :visible.sync="updateVisible"
+    width="50%">
+        <el-form :model="editForm" label-position="right" label-width="100px" ref="editForm">
+            <el-form-item label="妫�楠岄」" prop="inspectName" :rules="{required:true,message:'妫�楠岄」涓嶈兘涓虹┖',trigger:'blur'}">
+                <el-input
+                disabled
+                placeholder="璇疯緭鍏ユ楠岄」鐩悕绉�"
+                type="textarea"
+                v-model="editForm.inspectName"
+                :rows="2" />
+            </el-form-item>
+            <el-form-item label="妫�楠屾爣鍑�" prop="inspectRequired" :rules="{required:true,message:'妫�楠屾爣鍑嗕笉鑳戒负绌�',trigger:'blur'}">
+                <el-input
+                placeholder="璇疯緭鍏ユ楠屾爣鍑�"
+                type="textarea"
+                v-model="editForm.inspectRequired"
+                :rows="2" />
+            </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="updateVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="updateInspectHandler">纭� 瀹�</el-button>
+        </span>
+    </el-dialog>
+    <el-dialog
+    title="娣诲姞瀛愰」鐩�"
+    :visible.sync="addChildrenVisible"
+    width="50%">
+        <el-form :model="addChildrenForm" label-position="right"
+        label-width="100px" ref="addChildrenForm">
+            <el-form-item label="妫�楠岄」" prop="inspectName">
+                <el-input
+                placeholder="璇疯緭鍏ユ楠岄」鐩悕绉�"
+                type="textarea"
+                disabled
+                v-model="addChildrenForm.inspectName"
+                :rows="2" />
+            </el-form-item>
+            <el-form-item label="妫�楠屾爣鍑�" prop="inspectRequired" :rules="{required:true,message:'妫�楠屾爣鍑嗕笉鑳戒负绌�',trigger:'blur'}">
+                <el-input
+                placeholder="璇疯緭鍏ユ楠屾爣鍑�"
+                type="textarea"
+                v-model="addChildrenForm.inspectRequired"
+                :rows="2" />
+            </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+            <el-button @click="addChildrenVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="addInspectHandler">纭� 瀹�</el-button>
+        </span>
+    </el-dialog>
+</div>
+</template>
+
+<script>
+import {getInspectList,addInspect,updateInspect,deleteInspect} from '@/api/quality/packageInspectTemp'
+export default {
+    props: {
+        currshowlist: {
+            type: Boolean,
+            default: false
+        },
+        paramObj: {
+            type: Object,
+            default: ()=>{
+                return null
+            }
+        }
+    },
+    watch: {
+        updateVisible(newVal){
+            if(!newVal){
+                this.$refs.editForm.resetFields()
+            }
+        },
+        addChildrenVisible(newVal){
+            if(!newVal){
+                this.$refs.addChildrenForm.resetFields()
+            }
+        },
+        currshowlist() {
+            this.inspectDialog = this.currshowlist
+            if (this.currshowlist) {
+                this.$nextTick(() => {
+                    this.getData()
+                })
+            }
+        }
+    },
+    data(){
+        return {
+            addChildrenVisible: false,
+            addChildrenForm: {
+                inspectName: null,
+                inspectRequired: null,
+            },
+            editForm: {
+                inspectName: null,
+                inspectRequired: null,
+            },
+            updateVisible: false,
+            inspectDialog: false,
+            dataList: [],
+            page:{
+                currentPage: 1,
+                pageSize: 20,
+                total: 0
+            },
+            option: {
+                rowKey: 'id',
+                rowParentKey: 'id',
+                defaultExpandAll: true,
+                dialogWidth: '60%',
+                menu: true,
+                addBtn: true,
+                editBtn: false,
+                delBtn: false,
+                border: true,
+                index: true,
+                height: 350,
+                indexLabel: '搴忓彿',
+                align: 'center',
+                refreshBtn: false,
+                columnBtn: false, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
+                headerAlign: 'center',
+                column: [{
+                    label: '妫�楠岄」',
+                    prop: 'inspectName',
+                    overHidden: true,
+                    formslot: true,
+                }, {
+                    label: '妫�楠屾爣鍑�',
+                    prop: 'inspectRequired',
+                    overHidden: true,
+                    formslot: true,
+                }]
+            },
+        }
+    },
+    methods:{
+        addChildren(size,row,index){
+            console.log(row);
+            this.addChildrenForm.inspectName = row.inspectName
+            this.addChildrenVisible = true
+        },
+        delInspectHandler(size,row,index){
+            const _than = this
+            this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ楠岄」, 鏄惁缁х画?', '鎻愮ず', {
+                confirmButtonText: '纭畾',
+                cancelButtonText: '鍙栨秷',
+                type: 'warning'
+            }).then(() => {
+                deleteInspect(row.id).then(res=>{
+                    if(res.status===200){
+                        _than.$message.success("鍒犻櫎鎴愬姛")
+                        _than.getData()
+                    }
+                }).catch(error=>{
+                    console.error(error)
+                })
+            }).catch(() => {});
+        },
+        showUpdateDialog(size,row,index){
+            this.editForm = {
+                id: row.id,
+                inspectName: row.templateName,
+                inspectRequired: row.inspectRequired
+            }
+            this.updateVisible = true
+        },
+        updateInspectHandler(){
+            this.$refs.editForm.validate(valid=>{
+                if(valid){
+                    updateInspect(this.editForm).then(res=>{
+                        if(res.status===200){
+                            this.$message.success("淇敼鎴愬姛")
+                            this.getData()
+                            this.updateVisible = false
+                        }
+                    }).catch(error=>{
+                        console.error(error)
+                    })
+                }
+            })
+        },
+        addInspectHandler(){
+            const _than = this
+            this.$refs.addChildrenForm.validate(valid=>{
+                if(valid){
+                    let obj = {
+                        parentId: this.paramObj.id,
+                        ...this.addChildrenForm
+                    }
+                    addInspect(obj).then(res=>{
+                        if(res.status===200){
+                            _than.getData()
+                            _than.$message.success("娣诲姞鎴愬姛")
+                            _than.addChildrenVisible = false
+                        }
+                    }).catch(error=>{
+                        console.error(error)
+                    })
+                }
+            })
+        },
+        getData(){
+            getInspectList(this.paramObj.id).then(res=>{
+                if(res.status===200){
+                    let dataList = res.data.data.records
+                    dataList.forEach(ele=>{
+                        ele.id = Math.random()
+                    })
+                    this.dataList = dataList
+                    this.page.total = res.data.data.total
+                }
+            }).catch(error=>{
+                console.error(error)
+            })
+        },
+    }
+}
+</script>
+
+<style scope>
+.avue-crud__pagination {
+    position: relative;
+    padding: 0px 0 0px 20px;
+    text-align: right;
+    z-index: 10;
+}
+</style>
diff --git a/src/views/quality/packageinspect/packageInspect-form.vue b/src/views/quality/packageinspect/packageInspect-form.vue
index 5e46efd..5d87540 100644
--- a/src/views/quality/packageinspect/packageInspect-form.vue
+++ b/src/views/quality/packageinspect/packageInspect-form.vue
@@ -68,11 +68,10 @@
             <el-col :span="12" style="text-align: right;">
                 <el-dropdown @command="handleCommand" v-if="!isShow && resultVal==null">
                     <el-button size="mini" style="margin-right: 10px;" type="primary" >
-                        鍒囨崲榛樿妫�楠岄」<i class="el-icon-arrow-down el-icon--right"></i>
+                        鍒囨崲妫�楠岄」妯℃澘<i class="el-icon-arrow-down el-icon--right"></i>
                     </el-button>
                     <el-dropdown-menu slot="dropdown">
-                        <el-dropdown-item command="1">妫�楠岄」鐩�1</el-dropdown-item>
-                        <el-dropdown-item divided command="2">妫�楠岄」鐩�2</el-dropdown-item>
+                        <el-dropdown-item :key="index" v-for="(item,index) in inspectMoulds" :command="item.father">{{item.father}}</el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>
               <el-button v-if="resultVal=='' || resultVal==null" size="mini" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button>
@@ -124,6 +123,7 @@
                         <el-select style="width:100%" :disabled="resultVal!=null" @change="changeResult" v-model="scope.row.result" v-if="!scope.row.children">
                             <el-option label="鍚堟牸" value="鍚堟牸"></el-option>
                             <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�"></el-option>
+                            <el-option label="涓嶉�傜敤" value="涓嶉�傜敤"></el-option>
                         </el-select>
                     </template>
                   </el-table-column>
@@ -194,6 +194,7 @@
   updatePackageInspectById,
   getCustomer,
 } from '@/api/quality/packageInspect'
+import {getAllTemplateByEnable} from '@/api/quality/packageInspectTemp'
 import {inspect1,inspect2} from '@/const/defaultPackageInspect'
 export default {
     computed:{
@@ -202,6 +203,7 @@
     },
     data(){
         return{
+            inspectMoulds: [],
             isShow: false,
             submitData: {
               id:null,
@@ -253,7 +255,10 @@
           this.resultVal=val
         }
       }
+      this.getAllInspect()
       this.init()
+      this.checkShowState()
+
     },
     watch:{
       dialogVisible(newVal){
@@ -263,15 +268,34 @@
       }
     },
     methods:{
+      checkShowState(){
+        let num = 0
+        this.list.forEach(ele=>{
+            if(ele.children){
+                ele.children.forEach(c=>{
+                    if(c.pid){
+                        num++
+                    }
+                })
+            }
+        })
+        this.isShow = num==0
+      },
+      getAllInspect(){
+        getAllTemplateByEnable().then(res=>{
+            if(res.status===200){
+                this.inspectMoulds = res.data.data
+            }
+        }).catch(error=>{
+            console.error(error)
+        })
+      },
       handleCommand(command) {
-        switch(command){
-            case "1":
-                this.init(inspect1)
-            break;
-            case "2":
-                this.init(inspect2)
-            break;
-        }
+        this.inspectMoulds.forEach(ele=>{
+            if(ele.father==command){
+                this.init(ele.children)
+            }
+        })
       },
       changeResult(){
         let result = ''
@@ -433,7 +457,27 @@
             _than.list = []
             let userNameList = []
             if(dataList){
-                _than.list = JSON.parse(JSON.stringify(dataList))
+                let tempList = []
+                dataList.forEach(ele=>{
+                    let obj = {
+                        randomId: Math.random(),
+                        name: ele.inspectName,
+                        children: []
+                    }
+                    if(ele.children){
+                        ele.children.forEach(e=>{
+                            obj.children.push({
+                                required: e.inspectRequired,
+                                randomId: Math.random(),
+                                isEdit: false,
+                                note: '',
+                                result: ''
+                            })
+                        })
+                    }
+                    tempList.push(obj)
+                })
+                _than.list = tempList
             }
             data.packageInsProductS.forEach(item => {
               if (item.children) {
@@ -462,9 +506,9 @@
                     _than.list.push(ele)
                 }
               })
-              let find1 = this.list.find(ele=>ele.name===inspect1[0].name&&ele.isEdit) !=undefined;
-              let find2 = this.list.find(ele=>ele.name===inspect2[0].name&&ele.isEdit) !=undefined;
-              this.isShow = find1||find2
+            //   let find1 = this.list.find(ele=>ele.name===inspect1[0].name&&ele.isEdit) !=undefined;
+            //   let find2 = this.list.find(ele=>ele.name===inspect2[0].name&&ele.isEdit) !=undefined;
+            //   this.isShow = find1||find2
               _than.conclusionTable = [{
                 packageNo: data.packageNo,
                 userName: Array.from(new Set(userNameList)).join(','),
diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue
index 7695830..d0d066d 100644
--- a/src/views/quality/processInspect/processInspect-form.vue
+++ b/src/views/quality/processInspect/processInspect-form.vue
@@ -27,6 +27,11 @@
                                 <el-form-item label="杞﹂棿璁㈠崟鍙�" prop="moNo">
                                     <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
                                         v-model="processInspectVo.moNo" placeholder="璇疯緭鍏ヨ溅闂磋鍗曞彿" autocomplete="off" >
+                                        <!-- <el-button
+                                            slot="append"
+                                            icon="el-icon-search"
+                                            :disabled="resultVal!=null"
+                                            @click="queryCode"></el-button> -->
                                         <el-button
                                             slot="append"
                                             icon="el-icon-full-screen"
@@ -251,6 +256,7 @@
             <el-button type="primary" @click="deviceCode = false">纭� 瀹�</el-button>
         </span>
         </el-dialog>
+    <processPart :paramObj="paramObj" :currshowlist.sync="workshop" />
     </div>
 </template>
 
@@ -263,15 +269,17 @@
     updateProcessInsProduct,
     updateProcessInspectsById,
 } from '@/api/quality/processInspect'
+import processPart from '@/views/common/processinspect-part'
 import { selectDevice } from '@/api/quality/processInspect'
 import qrCodeApp from '@/views/common/qrCodeApp'
 import { validatePositiveInteger } from '@/util/validate'
 export default {
     components:{
-        qrCodeApp
+        qrCodeApp,processPart
     },
     data() {
         return {
+            paramObj:{},
             qrcode: false,
             row: null,
             proIndex: 0,
@@ -291,6 +299,7 @@
             resultVal: null,
             technologyList: [],
             deviceList: [],
+            workshop:false,//杞﹂棿寮圭獥
             hasChildren: true,
             optionsSamplename: [],
             // 娣诲姞鍒�
@@ -335,6 +344,14 @@
         this.init()
     },
     methods: {
+      queryCode(){
+        console.log("llll");
+        this.workshop = true
+        console.log(this.workshop);
+        // this.paramObj = {
+        //   code: this.dataForm.code
+        // }
+      },
       cancelCodeDialog(){
         this.qrcode = false
       },
diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue
index 2f5c33a..f467d9f 100644
--- a/src/views/technology/routing/routing-form.vue
+++ b/src/views/technology/routing/routing-form.vue
@@ -136,16 +136,8 @@
               '--dragitemwidth': '250px'
             }"
           >
-            <div
-              :style="{
-                width: 265 * dataForm.operations.length - 15 + 'px'
-              }"
-            >
-              <div
-                class="dragHead"
-                v-for="x in dataForm.operations.length"
-                :key="x"
-              >
+            <div :style="{ width: 265 * dataForm.operations.length - 15 + 'px' }">
+              <div class="dragHead" v-for="x in dataForm.operations.length"  :key="x" >
                 <div class="idx">{{ x }}</div>
               </div>
               <zttdraggable
diff --git a/vue.config.js b/vue.config.js
index b3ee465..bdb8870 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -4,10 +4,10 @@
  */
 
 
-// const url = 'http://192.168.2.7:9999'
-//const url = 'https://ztms-mes.chinaztt.cn/'
+const url = 'http://192.168.2.7:9999'
+// const url = 'https://ztms-mes.chinaztt.cn/'
 
- const url = 'http://localhost:9999'
+//  const url = 'http://localhost:9999'
 
 
 const localUrl = 'http://localhost:8089'

--
Gitblit v1.9.3