From 65cd94b74a6dd5bae9bc2c3a98bc781d97099cb6 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 10 十一月 2023 19:18:10 +0800
Subject: [PATCH] 	modified:   src/views/technology/routing/routing-form.vue

---
 src/views/technology/routing/routing-form.vue |  268 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 143 insertions(+), 125 deletions(-)

diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue
index af7f6b3..6bba25d 100644
--- a/src/views/technology/routing/routing-form.vue
+++ b/src/views/technology/routing/routing-form.vue
@@ -58,13 +58,13 @@
                   style="width: 280px"
                 ></el-input>
               </el-form-item>
-              <el-form-item prop="wireCore" label="绾胯姱">
+              <!-- <el-form-item prop="wireCore" label="绾胯姱">
                 <el-input
                   v-model="dataForm.wireCore"
                   placeholder="绾胯姱"
                   style="width: 60px"
                 ></el-input>
-              </el-form-item>
+              </el-form-item> -->
               <el-form-item label="BOM" prop="bomId">
                 <el-select v-model="dataForm.bomId" placeholder="" filterable>
                   <el-option
@@ -97,7 +97,7 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-              <el-form-item label="閫愭閲囩敤鏃ユ湡" prop="phaseInDate">
+              <!-- <el-form-item label="閫愭閲囩敤鏃ユ湡" prop="phaseInDate">
                 <el-date-picker
                   v-model="dataForm.phaseInDate"
                   style="width: 100%"
@@ -114,8 +114,8 @@
                   value-format="yyyy-MM-dd HH:mm:ss"
                 >
                 </el-date-picker>
-              </el-form-item>
-              <el-form-item prop="alternativeNo" label="鏇夸唬">
+              </el-form-item> -->
+              <!-- <el-form-item prop="alternativeNo" label="鏇夸唬">
                 <el-input
                   v-model="dataForm.alternativeNo"
                   placeholder="鏇夸唬"
@@ -135,7 +135,7 @@
               </el-form-item>
               <el-form-item label="涓诲伐鑹�" prop="master">
                 <el-switch v-model="dataForm.master"> </el-switch>
-              </el-form-item>
+              </el-form-item> -->
             </el-col>
           </el-row>
         </el-form>
@@ -494,119 +494,92 @@
                 ></rich-text>
               </div>
             </el-tab-pane>
-            <el-tab-pane label="宸ュ簭鍙傛暟" style="height: 100%">
-              <el-card class="params-template">
-                <div slot="header">
-                  <span>鍙傛暟闆�</span>
-                  <el-button
-                    style="float: right; padding: 3px 0"
-                    type="text"
-                    size="medium"
-                    v-if="editable && dataForm.operations.length > 0"
-                    @click="openTempalteDialog"
-                    >娣诲姞
-                  </el-button>
-                </div>
-                <el-table
-                  ref="templateTable"
-                  :data="operationTemplateList"
-                  class="l-mes"
-                  height="600"
-                  highlight-current-row
-                  @row-click="templateRowClick"
-                >
-                  <el-table-column
-                    label="鍚嶇О"
-                    prop="operationTemplateName"
-                    align="center"
-                  >
-                  </el-table-column>
-                  <el-table-column
-                    label="绫诲瀷"
-                    prop="operationTemplateType"
-                    align="center"
-                  >
-                  </el-table-column>
-                  <el-table-column label="鎿嶄綔" align="center">
-                    <template slot-scope="scope">
+            <el-tab-pane v-if="dataForm.id!=null" label="宸ュ簭鍙傛暟" style="height: 100%;">
+              <el-row :gutter="10">
+                <el-col :span="9">
+                  <el-card class="params-template">
+                    <div slot="header">
+                      <span>鍙傛暟闆�</span>
                       <el-button
+                        style="float: right; padding: 3px 0"
                         type="text"
-                        size="mini"
+                        size="medium"
                         v-if="editable && dataForm.operations.length > 0"
-                        @click.stop="
-                          handleTemplateDelete(scope.row, scope.$index)
-                        "
-                        >鍒犻櫎
+                        @click="openTempalteDialog"
+                        >娣诲姞
                       </el-button>
-                    </template>
-                  </el-table-column>
-                </el-table>
-              </el-card>
-              <el-card class="template-param">
-                <div slot="header">
-                  <span>鍙傛暟</span>
-                  <div style="float: right;">
-                    <el-button
-                      style="padding: 3px 0"
-                      type="text"
-                      size="medium"
-                      v-if="editable && routingTemplateId != null"
-                      @click="saveAllParamChange"
-                      >淇濆瓨
-                    </el-button>
-                    <el-button
-                      style="padding: 3px 0"
-                      type="text"
-                      size="medium"
-                      v-if="editable && routingTemplateId != null"
-                      @click="openTempalteParamDialog"
-                      >娣诲姞
-                    </el-button>
-                  </div>
-                </div>
-                <el-table :data="paramData" class="l-mes" height="600">
-                  <el-table-column
-                    label="鍙傛暟椤�"
-                    prop="parameterItem"
-                    align="center"
-                  >
-                    <template slot-scope="scope">
-                      <span
-                        >{{ scope.row.parameterItem }}({{
-                          scope.row.unit
-                        }})</span
+                    </div>
+                    <el-table
+                      ref="templateTable"
+                      :data="operationTemplateList"
+                      class="l-mes"
+                      height="600"
+                      highlight-current-row
+                      @row-click="templateRowClick"
+                    >
+                      <el-table-column
+                        label="鍚嶇О"
+                        prop="operationTemplateName"
+                        align="center"
                       >
-                    </template>
-                  </el-table-column>
-                  <el-table-column
-                    label="鍙傛暟绫诲瀷"
-                    prop="type"
-                    align="center"
-                    :formatter="getParam"
-                  >
-                  </el-table-column>
-                  <el-table-column label="鍊�" prop="paramValue" align="center">
-                    <template slot-scope="scope">
-                      <el-input
-                        v-model="scope.row.paramValue"
-                        placeholder="鍊�"
-                        :disabled="!editable"
-                      ></el-input>
-                    </template>
-                  </el-table-column>
-                  <el-table-column label="鎿嶄綔" align="center">
-                    <template slot-scope="scope">
-                      <el-button
-                        type="text"
-                        size="mini"
-                        v-if="editable && routingTemplateId != null"
-                        @click.stop="handleParamDelete(scope.row, scope.$index)"
-                        >鍒犻櫎
-                      </el-button>
-                    </template>
-                  </el-table-column>
-                </el-table>
-              </el-card>
+                      </el-table-column>
+                      <el-table-column
+                        label="绫诲瀷"
+                        prop="operationTemplateType"
+                        align="center"
+                      >
+                      </el-table-column>
+                      <el-table-column label="鎿嶄綔" align="center">
+                        <template slot-scope="scope">
+                          <el-button
+                            type="text"
+                            size="mini"
+                            v-if="editable && dataForm.operations.length > 0"
+                            @click.stop="
+                              handleTemplateDelete(scope.row, scope.$index)
+                            "
+                            >鍒犻櫎
+                          </el-button>
+                        </template>
+                      </el-table-column>
+                    </el-table>
+                  </el-card>
+                </el-col>
+                <el-col :span="15">
+                  <el-card class="template-param">
+                    <div slot="header">
+                      <span>鍙傛暟</span>
+                      <div style="float: right;">
+                        <el-button
+                          style="padding: 3px 0"
+                          type="text"
+                          size="medium"
+                          v-if="editable && routingTemplateId != null"
+                          @click="saveAllParamChange"
+                          >淇濆瓨
+                        </el-button>
+                        <el-button
+                          style="padding: 3px 0"
+                          type="text"
+                          size="medium"
+                          v-if="editable && routingTemplateId != null"
+                          @click="openTempalteParamDialog"
+                          >娣诲姞
+                        </el-button>
+                      </div>
+                    </div>
+                    <div>
+                    <component
+                    :is="paramMergeTemplate" 
+                    :key="isShowTree"
+                    :tableTreeData="paramData"
+                    :routingTemplateId="routingTemplateId"
+                    :handleParamDelete="handleParamDelete"
+                    ></component> 
+                    </div>
+                  </el-card>
+                </el-col>
+              </el-row>
             </el-tab-pane>
           </el-tabs>
         </div>
@@ -659,6 +632,7 @@
 } from '@/api/technology/routing'
 import { fetchList as getBomList } from '@/api/technology/completeproductstructure'
 import { getByOperation } from '@/api/aps/capability'
+import { fetchListByFather} from '@/api/basic/param'
 import { remote } from '@/api/admin/dict'
 import diagram from './diagram'
 import operationDialog from '@/views/common/operation.vue'
@@ -671,6 +645,7 @@
 import ElRow from 'element-ui/packages/row/src/row'
 import ElCol from 'element-ui/packages/col/src/col'
 import { getOperationParam } from '../../../api/basic/template'
+import paramMergeTemplate from '../../common/param-mergeTemplate.vue'
 import zttdraggable from 'vuedraggable'
 
 const capabilityArray = [
@@ -686,7 +661,9 @@
 export default {
   data() {
     return {
+      paramMergeTemplate: '',
       itemKey: '',
+      isShowTree: false,
       typeOptions: [],
       paramTemplateSelArr: [],
       paramTemplateSelCol: 'operationTemplateNo',
@@ -771,7 +748,8 @@
     operationPartDialog,
     RichText,
     editRoutingOperation,
-    zttdraggable
+    zttdraggable,
+    paramMergeTemplate
   },
   mounted() {
     window.addEventListener(
@@ -1059,6 +1037,12 @@
     },
     // 鍙傛暟闆嗘ā鏉跨偣鍑讳簨浠�
     templateRowClick(row) {
+      if(this.isShowTree){
+        this.isShowTree=false
+      }else{
+        this.isShowTree=true
+      }
+      this.paramData=[]
       this.getRoutingTemplateParam(row.id)
     },
     // 鏍规嵁宸ヨ壓銆佸伐搴廼d銆佹ā鏉縤d鍘昏幏鍙栨ā鏉夸笅鐨勫弬鏁�
@@ -1071,7 +1055,9 @@
         })
       ).then((response) => {
         if (response.data.data.length > 0) {
+          this.paramData = []
           this.paramData = response.data.data
+          this.paramMergeTemplate = 'paramMergeTemplate'
         } else {
           this.paramData = []
         }
@@ -1376,6 +1362,17 @@
 
     // 妯℃澘鍙傛暟鐨勯�変腑缁撴灉杩斿洖
     selectTemplateParam(param) {
+      // console.log(param);
+      // let idList=[]
+      // param.forEach(item=>{
+      //   idList.push(item.id)
+      // })
+      // console.log(idList);
+      // let formData=new FormData()
+      // formData.append("idList",idList)
+      // fetchListByFather(formData).then((res) => {
+      //   console.log(res);
+      // })
       if (param.length > 0) {
         const paramrrs = {
           id: this.dataForm.id,
@@ -1387,9 +1384,7 @@
           const data = response.data
           if (data.code == 0) {
             const newParams = response.data.data
-            for (let i = 0; i < newParams.length; i++) {
-              this.paramData.push(newParams[i])
-            }
+            console.log(newParams);
             this.$message.success('娣诲姞鎴愬姛')
           } else {
             this.$message.error('娣诲姞澶辫触')
@@ -1400,13 +1395,23 @@
 
     // 鍒犻櫎鍙傛暟
     handleParamDelete(row, index) {
-      this.$confirm('鏄惁纭鍒犻櫎鍙傛暟椤逛负' + row.parameterItem, '鎻愮ず', {
+      this.$confirm('鏄惁纭鍒犻櫎鍙傛暟椤逛负銆�' + row.paramItem +'銆戠殑鏁版嵁?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       })
         .then(function() {
-          return deleteRoutingTemplateParam(row.id)
+          let id = null
+          if(row.treeId && row.treeId!='null'){
+            id = row.treeId
+          }else{
+            if(row.twoId && row.twoId!='null'){
+              id = row.twoId
+            }else{
+              id = row.oneId
+            }
+          }
+          return deleteRoutingTemplateParam(id)
         })
         .then((response) => {
           const data = response.data
@@ -1434,7 +1439,24 @@
     },
     // 淇濆瓨鎵�鏈夊弬鏁扮殑淇敼
     saveAllParamChange() {
-      const paramJson = { routingOperationParam: this.paramData }
+      let data = []
+      this.paramData.forEach(ele=>{
+        let o = {
+          id: null,
+          paramValue: ele.paramValue
+        }
+        if(ele.threeId && ele.threeId != 'null'){
+          o.id = ele.threeId
+        }else{
+          if(ele.twoId && ele.twoId != 'null'){
+            o.id = ele.twoId
+          }else{
+            o.id = ele.oneId
+          }
+        }
+        data.push(o)
+      })
+      const paramJson = { routingOperationParam: data }
       putRoutingTemplateParam(paramJson).then((response) => {
         const data = response.data
         if (data.code == 0) {
@@ -1583,18 +1605,14 @@
 }
 
 .params-template {
-  float: left;
   background-color: #fff;
-  width: 40%;
   height: 687px;
   padding: 10px 0px;
   border: 1px solid #ddd;
 }
 
 .template-param {
-  float: right;
   background-color: #fff;
-  width: calc(60% - 10px);
   height: 687px;
   padding: 10px 0px;
   border: 1px solid #ddd;

--
Gitblit v1.9.3