From 8a166a60cfd1a2e593ffa103d10c0dc224fc8628 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期四, 09 一月 2025 11:14:50 +0800
Subject: [PATCH] 表格定义显示字段设置拖拽排序

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue |   55 +++++++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
index 3e8a6f5..b5efc09 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
@@ -9,30 +9,31 @@
     width="60%"
     @close="closeDialog"
   >
-    <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
+    <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px"
+             size="small">
       <el-row>
         <el-col :span="12">
           <el-form-item label="鍚嶇О" prop="viName">
-            <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�" size="mini"></el-input>
+            <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�"></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
           <el-form-item label="姣忛〉琛屾暟">
-            <el-input v-model="form.itemPageSize" placeholder="璇疯緭鍏ユ瘡椤佃鏁�" size="mini" type="number"></el-input>
+            <el-input v-model="form.itemPageSize" placeholder="璇疯緭鍏ユ瘡椤佃鏁�" type="number"></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="24">
           <el-form-item label="闄勫姞鏌ヨ鏉′欢">
-            <el-input v-model="form.itemAddFilter" placeholder="璇疯緭鍏ユ煡璇㈡潯浠�" size="mini"></el-input>
+            <el-input v-model="form.itemAddFilter" placeholder="璇疯緭鍏ユ煡璇㈡潯浠�"></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="12">
           <el-form-item label="缁戝畾琛ㄥ崟" prop="itemInObj">
             <div style="display: flex;align-items: center;">
-              <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini"
+              <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟"
                          @change="formSelectChange">
                 <el-option v-for="(item,index) in selectList" :key="index" :label="item.viName"
                            :value="item.id"></el-option>
@@ -45,7 +46,7 @@
         <el-col :span="12">
           <el-form-item label="鐖跺悕绉�">
             <div style="display: flex;align-items: center;">
-              <el-input v-model="form.itemParentFolderName" placeholder="璇疯緭鍏ョ埗鍚嶇О" size="mini"></el-input>
+              <el-input v-model="form.itemParentFolderName" placeholder="璇疯緭鍏ョ埗鍚嶇О"></el-input>
               <el-checkbox v-model="form.itemIsNavigatorExpand" style="margin-left: 5px; margin-right: 5px">鏄剧ず鏌ヨ鍖哄煙
               </el-checkbox>
               <el-checkbox v-model="form.itemIsShowFolder" style="margin-left: 5px;margin-right: 0px">鏄剧ず鏂囦欢澶�
@@ -56,15 +57,10 @@
 
         <el-col :span="24">
           <el-form-item label="鏄剧ず瀛楁" prop="showLabel">
-            <el-select v-model="form.itemOutFieldList" multiple placeholder="璇烽�夋嫨" style="width: 100%"
-                       @change="outFileChange">
-              <el-option
-                v-for="(item,index) in form.itemSelectOutFieldList"
-                :key="index"
-                :label="item.id"
-                :value="item.id">
-              </el-option>
-            </el-select>
+            <el-drag-select v-model="form.itemOutFieldList" multiple placeholder="璇烽�夋嫨" style="width:100%;" @outFileChange="outFileChange">
+              <el-option v-for="(item,index) in form.itemSelectOutFieldList" :key="index" :label="item.id"
+                         :value="item.id"/>
+            </el-drag-select>
           </el-form-item>
         </el-col>
 
@@ -158,7 +154,7 @@
 
       <el-col :span="24">
         <el-form-item label="鍙屽嚮鎿嶄綔">
-          <el-select v-model="form.itemDbl" placeholder="璇烽�夋嫨鍙屽嚮鎿嶄綔" size="mini">
+          <el-select v-model="form.itemDbl" placeholder="璇烽�夋嫨鍙屽嚮鎿嶄綔">
             <el-option v-for="(item,index) in itemDblList" :key="index" :label="item.value"
                        :value="item.key"></el-option>
           </el-select>
@@ -170,11 +166,11 @@
           <div style="display: flex;align-items: center">
             <div style="display: flex;align-items: center;width: 100%;">
               <span>闀匡細</span>
-              <el-input v-model="itemImgHeight" placeholder="璇疯緭鍏ラ暱搴�" size="mini"></el-input>
+              <el-input v-model="itemImgHeight" placeholder="璇疯緭鍏ラ暱搴�"></el-input>
             </div>
             <div style="display: flex;align-items: center;width: 100%;margin-left: 30px">
               <span>瀹斤細</span>
-              <el-input v-model="itemImgWidth" placeholder="璇疯緭鍏ュ搴�" size="mini"></el-input>
+              <el-input v-model="itemImgWidth" placeholder="璇疯緭鍏ュ搴�"></el-input>
             </div>
           </div>
         </el-form-item>
@@ -194,7 +190,7 @@
 
       <el-col :span="24">
         <el-form-item label="鏌ヨ妯℃澘">
-          <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini">
+          <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘">
             <el-option v-for="(item,index) in searchQtNameList" :key="index" :label="item.qtName"
                        :value="item.qtName"></el-option>
           </el-select>
@@ -214,9 +210,11 @@
 import basicOption from "@/util/basic-option";
 import {gridPortalVIDatas, getPortalVIById, getItemDblList, savePortalVI, getObjTypeQTs} from "@/api/UI/formDefine/api";
 import func from "@/util/func";
+import ElDragSelect from './DragSelect'
 
 export default {
   name: "tableDialog",
+  components: {ElDragSelect},
   props: {
     TreeNodeRow: {
       type: Object,
@@ -304,11 +302,11 @@
           message: '璇烽�夋嫨缁戝畾琛ㄥ崟',
           trigger: 'change'
         }],
-        showLabel: [{
-          required: true,
-          message: '璇烽�夋嫨鏄剧ず瀛楁',
-          trigger: 'submit'
-        }],
+        // showLabel: [{
+        //   required: true,
+        //   message: '璇烽�夋嫨鏄剧ず瀛楁',
+        //   trigger: 'submit'
+        // }],
       },
       form: {
         viName: '', // 鍚嶇О
@@ -438,7 +436,6 @@
 
     // 琛ㄥ崟閫夋嫨change浜嬩欢
     formSelectChange(val) {
-      // console.log(val);
       this.form.itemOutFieldList = [];
       this.form.itemKeyFieldList = [];
       this.form.itemFieldWidthList = [];
@@ -471,7 +468,6 @@
           $cellEdit: true,
           key: item,
           value: '250',
-
         }
       })
     },
@@ -525,6 +521,10 @@
     dialogSaveClickHandler() {
       this.$refs.form.validate((valid) => {
         if (valid) {
+          if (this.form.itemOutFieldList.length <= 0) {
+            this.$message.error('璇烽�夋嫨鏄剧ず瀛楁');
+            return;
+          }
           const paramsForm = {...this.form};
           paramsForm.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈�
           paramsForm.itemOutFieldList = this.form.itemOutFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈�
@@ -534,7 +534,7 @@
           const params = {
             id: this.form.editNodeId,
             prm: {
-              formQtName: '',
+              formQtName: this.form.itemQtName,
               prmItemList: [
                 paramsForm
               ],
@@ -547,7 +547,6 @@
             viTypeText: "琛ㄦ牸"
           }
           savePortalVI(params).then(res => {
-            // console.log(params);
             if (res.data.code === 200) {
               this.$message.success(res.data.obj);
               // this.closeDialog();

--
Gitblit v1.9.3