From d7bb04a5461b7eb8beb422108a21696b21126e71 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 10 十一月 2023 13:26:39 +0800
Subject: [PATCH] 	modified:   src/views/basic/template/index.vue 	modified:   src/views/common/param-mergeTemplate.vue 	modified:   src/views/technology/routing/routing-form.vue

---
 src/views/basic/template/index.vue            |  118 ++++++++++++++++++++++-
 src/views/technology/routing/routing-form.vue |   70 ++-----------
 src/views/common/param-mergeTemplate.vue      |   97 ++++++++++---------
 3 files changed, 174 insertions(+), 111 deletions(-)

diff --git a/src/views/basic/template/index.vue b/src/views/basic/template/index.vue
index a076b9c..14a19ff 100644
--- a/src/views/basic/template/index.vue
+++ b/src/views/basic/template/index.vue
@@ -32,7 +32,22 @@
                 </el-col>
               </el-row>
             </div>
-            <el-table
+            <paramMergeTemplate 
+            :key="isShowTree"
+            :isModel="true"
+            :option="paramTemplateOption"
+            :page="{}"
+            :textEllipsisWidth="60"
+            :handleParamDelete="deleteOperationParam"
+            :handleParamEdit="editSample"
+            :handleParamInsert="insertTechnologyOperationParam"
+            :handleParamSave="saveSample"
+            :tableTreeData="operationParams">
+            </paramMergeTemplate>
+            <!-- <component :is="paramMergeTemplate" 
+            :key="isShowTree"
+            :tableTreeData="operationParams"></component> -->
+            <!-- <el-table
               :data="operationParams"
               id="templateParamTable"
               ref="operationParam"
@@ -137,7 +152,7 @@
                   </el-button>
                 </template>
               </el-table-column>
-            </el-table>
+            </el-table> -->
           </el-card>
         </el-col>
       </el-row>
@@ -172,9 +187,12 @@
   relateOperationParamTemplate
 } from '../../../api/basic/template'
 import { remote } from '@/api/admin/dict'
+import paramMergeTemplate from '../../common/param-mergeTemplate.vue'
 export default {
   data() {
     return {
+      isShowTree: false,
+      paramMergeTemplate: '',
       paramSelArr: [],
       paramSelCol: 'code',
       templateIndex: null,
@@ -283,13 +301,76 @@
           minWidth: 100
         }
       },
-      addOrUpdateVisible: false
+      addOrUpdateVisible: false,
+      paramTemplateOption: {
+        height: 300,
+        columnBtn: false,
+        index: true,
+        indexLabel: '搴忓彿',
+        indexWidth: 50,
+        menu: true,
+        menuWidth: 130,
+        menuAlign: 'center',
+        editBtn: false,
+        delBtn: false,
+        addBtn: false,
+        border: true,
+        size: 'small',
+        refreshBtn: false,
+        align: 'center',
+        column: [
+            {
+                label: '鍙傛暟缂栧彿',
+                prop: 'code',
+                width:80,
+                slot: true
+            },
+            {
+                label: '鍙傛暟椤�',
+                prop: 'paramItem',
+            },
+            {
+                label: '浜岀骇鍙傛暟',
+                prop: 'paramItemTwo',
+            },
+            {
+                label: '涓夌骇鍙傛暟',
+                prop: 'paramItemThree',
+            },
+            {
+                label: '鍙傛暟绫诲瀷',
+                prop: 'paramType',
+                formslot: true,
+                rules: [{
+                    required: true,
+                    message: "璇烽�夋嫨鍙傛暟绫诲瀷",
+                    trigger: "change"
+                }]
+            },
+            {
+                label: '鍊�',
+                prop: 'paramValue',
+                minWidth: 100,
+                slot: true,
+                formslot: true,
+                labelslot: true
+            }, {
+                label: '鍗曚綅',
+                prop: 'unit',
+                rules: [{
+                    required: true,
+                    message: "鍗曚綅涓嶈兘涓虹┖",
+                    trigger: "blur"
+                }]
+        },]
+      }
     }
   },
   components: {
     ttable,
     TableForm,
-    ParamDialog
+    ParamDialog,
+    paramMergeTemplate
   },
   computed: {
     ...mapGetters(['permissions'])
@@ -312,6 +393,11 @@
     },
     handleCurrentChange(val) {
       this.templateId = val.id
+      if(this.isShowTree){
+        this.isShowTree=false
+      }else{
+        this.isShowTree=true
+      }
       if (val != null) {
         this.operationParams = []
         this.getJoinParamTemplateData()
@@ -343,7 +429,12 @@
           technologyOperationTemplateId: this.templateId
         })
       ).then((response) => {
-        this.operationParams = response.data.data.records
+        let data = response.data.data
+        data.forEach(obj=>{
+          obj.templateId = this.templateId
+        })
+        this.operationParams = data
+        
       })
     },
     rowDrop() {
@@ -607,9 +698,20 @@
     saveSample(index, row) {
       console.log('row', row)
       var obj = {}
-      obj.technologyOperationParamId = row.id
-      obj.technologyOperationTemplateId = row.technologyOperationTemplateId
-      obj.defaultValue = row.defaultValue
+      let id = null
+      if(row.threeId && row.threeId!='null'){
+        id = row.threeId
+      }else{
+        if(row.twoId && row.twoId!='null'){
+          id = row.twoId
+        }else{
+          id = row.oneId
+        }
+      }
+      obj.technologyOperationParamId = id
+      obj.technologyOperationTemplateId = row.templateId
+      obj.defaultValue = row.paramValue
+      console.log(obj);
       putRelateOperationParamTemplate(obj).then((response) => {
         this.$message.success('鍙傛暟淇濆瓨鎴愬姛')
         this.$set(row, 'isUpdate', false)
diff --git a/src/views/common/param-mergeTemplate.vue b/src/views/common/param-mergeTemplate.vue
index 63c4c4c..209593c 100644
--- a/src/views/common/param-mergeTemplate.vue
+++ b/src/views/common/param-mergeTemplate.vue
@@ -3,58 +3,59 @@
         <avue-crud ref="crud" class="l-mes" rowKey="oneId" :data="tableData" :option="option" :span-method="spanMethod"
             :page="page" :table-loading="loading">
             <template slot="code" slot-scope="scope">
-                <avue-text-ellipsis use-tooltip :text="scope.row.code" :height="40" :width="100">
+                <avue-text-ellipsis use-tooltip :text="scope.row.code" :height="textEllipsisHeight" :width="textEllipsisWidth">
                     <small slot="more">...</small>
                 </avue-text-ellipsis>
             </template>
             <template slot="paramValue" slot-scope="scope">
-                <el-input @blur="checkType(scope.row)" :disabled="routingTemplateId!=null" :placeholder="'璇疯緭鍏�'+scope.row.paramType" v-model="scope.row.paramValue"/>
+                <el-input @blur="checkType(scope.row)" :disabled="routingTemplateId!=null || !scope.row.isUpdate" :placeholder="'璇疯緭鍏�'+scope.row.paramType" v-model="scope.row.paramValue"/>
+            </template>
+            <template slot="menu" slot-scope="scope">
+                <el-button type="text" v-if="scope.row.isUpdate && isModel" size="mini" 
+                @click="handleParamSave(scope.$index, scope.row)">淇濆瓨</el-button>
+                <el-button type="text" v-if="!scope.row.isUpdate && isModel" size="mini"
+                @click="handleParamEdit(scope.$index, scope.row)">缂栬緫</el-button>
+                <el-button type="text" size="mini" v-if="isModel"
+                @click.stop="handleParamInsert(scope.row)">鎻掑叆</el-button>
+                <el-button type='text' :disabled="routingTemplateId!=null"
+                @click.stop="handleParamDelete(scope.row, scope.index)">鍒犻櫎</el-button>
             </template>
         </avue-crud>
-        <!-- <el-table :data="tableData" ref="commonTree" :span-method="objectSpanMethod" border row-key="id" style="width: 100%">
-            <el-table-column prop="code" label="缂栫爜"></el-table-column>
-            <el-table-column prop="paramItem" label="涓�绾�"></el-table-column>
-            <el-table-column prop="paramItemTwo" label="浜岀骇"></el-table-column>
-            <el-table-column prop="paramItemThree" label="涓夌骇"></el-table-column>
-            <el-table-column prop="paramType" label="绫诲瀷"></el-table-column>
-            <el-table-column prop="paramValue" label="鍊�"></el-table-column>
-            <el-table-column prop="unit" label="鍗曚綅"></el-table-column>
-        </el-table> -->
     </div>
 </template>
 
 <script>
 export default {
-    // props: ["tableTreeData"],
-    data() {
-        return {
-            checkType(row) {
-                if (row.paramType == '鏁板�兼牸寮�') {
-                    let val = row.paramValue
-                    const reg = /^[0-9]*$/
-                    if (!reg.test(val)) {
-                        row.paramValue = ''
-                        this.$message.warning("璇疯緭鍏ユ暟鍊兼牸寮忕殑鏁版嵁锛�")
-                    }
-                }
-            },
-            mergeObj: {},
-            mergeArr: ['code','paramItem', 'paramItemTwo',],
-            tableData: [],
-            // routingTemplateId: null
-        }
-    },
     props: {
+        //鏄惁涓哄弬鏁版ā鏉�
+        isModel:{
+            type: Boolean,
+            default:()=>{
+                return false
+            }
+        },
+        textEllipsisWidth:{
+            type: Number,
+            default:()=>{
+                return 100
+            }
+        },
+        textEllipsisHeight:{
+            type: Number,
+            default:()=>{
+                return 40
+            }
+        },
         option: {
             type: Object,
             default: () => {
                 return {
                     height: 600,
-                    loadingText: "鍔犺浇涓�...",
                     columnBtn: false,
                     index: true,
                     indexLabel: '搴忓彿',
-                    menu: false,
+                    menu: true,
+                    menuWidth: 100,
                     menuAlign: 'center',
                     editBtn: false,
                     delBtn: false,
@@ -148,36 +149,40 @@
         routingTemplateId: {
             type: String,
             default: () => {
-                return ''
+                return null
             }
-        }
+        },
+        handleParamDelete:{
+            type: Function
+        },
+        handleParamEdit:{
+            type: Function
+        },
+        handleParamInsert:{
+            type: Function
+        },
+        handleParamSave:{
+            type: Function
+        },
     },
     watch:{
         tableTreeData:{
             handler(old,newval){
-            console.log(this.tableTreeData);    
-            this.tableData=JSON.parse(JSON.stringify(this.tableTreeData))
-            // this.getSpanArr(this.tableData);
-            this.rowSort()
-            this.rowCalc()
+                this.tableData=JSON.parse(JSON.stringify(this.tableTreeData))
+                this.rowSort()
+                this.rowCalc()
             },
             deep: true
         }
     },
     created() {
-        // this.$nextTick(() => {
-        //     this.$refs.crud.doLayout()
-        // })
         this.tableData=JSON.parse(JSON.stringify(this.tableTreeData))
         this.rowSort()
         this.rowCalc()
     },
-    beforeDestroy(){
-        console.log("閿�姣佸墠");
-    },
     data(){
         return {
-            
+            tableData: [],
         }
     },
     methods:{
diff --git a/src/views/technology/routing/routing-form.vue b/src/views/technology/routing/routing-form.vue
index e4d0294..aaab516 100644
--- a/src/views/technology/routing/routing-form.vue
+++ b/src/views/technology/routing/routing-form.vue
@@ -565,67 +565,14 @@
                   </div>
                 </div>
                 <div>
-                    <!-- <paramMergeTemplate :key="isShowTree" :tableTreeData="paramData" :routingTemplateId="routingTemplateId"/> -->
                 <component
                 :is="paramMergeTemplate" 
                 :key="isShowTree"
                 :tableTreeData="paramData"
                 :routingTemplateId="routingTemplateId"
+                :handleParamDelete="handleParamDelete"
                 ></component> 
                 </div>
-                <!-- <paramMergeTemplate 
-                :tableData="paramData"
-                :page="{}"
-                >
-                </paramMergeTemplate> -->
-                <!-- <component
-                :is="paramMergeTemplate" 
-                :key="isShowTree"
-                :tableData="paramData"
-                :routingTemplateId="routingTemplateId"
-                ></component> -->
-                <!-- <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
-                      >
-                    </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-tab-pane>
           </el-tabs>
@@ -1089,7 +1036,6 @@
       }else{
         this.isShowTree=true
       }
-      console.log(this.isShowTree);
       this.paramData=[]
       this.getRoutingTemplateParam(row.id)
     },
@@ -1443,13 +1389,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

--
Gitblit v1.9.3