From 779aaf2c58b4c0c94cbadae29298a37d5534de41 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 28 八月 2024 17:53:04 +0800
Subject: [PATCH] 编写表单定义模块 首页布局 表单布局

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue                 |   95 +++++++-
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue |  498 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 574 insertions(+), 19 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
new file mode 100644
index 0000000..87c22e0
--- /dev/null
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
@@ -0,0 +1,498 @@
+<template>
+  <el-dialog
+    v-dialogDrag
+    v-loading="loading"
+    :visible.sync="visible"
+    append-to-body="true"
+    class="avue-dialog"
+    title=""
+    width="100%"
+    @close="closeDialog"
+  >
+    <el-container>
+      <div style="height: 80vh;display: flex;width: 100%;">
+
+        <el-aside width="15%">
+          <basic-container>
+            <div style="height:650px;">
+              <avue-tree
+                :data="treeData"
+                :option="treeOption"></avue-tree>
+            </div>
+          </basic-container>
+        </el-aside>
+
+        <el-main>
+          <basic-container>
+            <div style="height: 650px">
+              <div style="display: flex;justify-content: center">
+                <span style="display: flex;align-items: center; margin-right: 5px;">
+                 <p class="tableTopLabel">鍚嶇О锛�</p>
+                 <el-input v-model="name" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                </span>
+
+                <span style="display: flex;align-items: center; margin-right: 5px;">
+                 <p class="tableTopLabel">鏌ヨ妯℃澘鍚嶇О锛�</p>
+                 <el-input v-model="name" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                </span>
+
+                <span style="display: flex;align-items: center; margin-right: 5px;">
+                 <p class="tableTopLabel">鏄剧ず鍒楁暟锛�</p>
+                 <el-input v-model="name" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                  <el-button plain size="mini" style="margin-left: 3px" type="success">璁剧疆</el-button>
+                </span>
+
+                <span style="display: flex;align-items: center; margin-right: 5px;">
+                 <p class="tableTopLabel">浣嶇疆锛�</p>
+                 <el-input v-model="name" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                  <el-button plain size="mini" style="margin-left: 3px" type="success">璋冩暣浣嶇疆</el-button>
+                </span>
+              </div>
+              <h3>椤甸潰瀹氫箟</h3>
+              <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+                <el-row>
+                  <el-col :span="columnNumber">
+                    <el-tooltip content="categoryoid.lastmodifytime" placement="top">
+                      <el-form-item class="hiddenLabel" label="categoryoid.lastmodifytime">
+                        <el-input v-model="user" placeholder="瀹℃壒浜�"></el-input>
+                      </el-form-item>
+                    </el-tooltip>
+                  </el-col>
+                </el-row>
+              </el-form>
+            </div>
+            <div style="display: flex;justify-content: center;margin-top: 15px">
+              <el-button icon="el-icon-check" size="small" type="primary">淇濆瓨</el-button>
+              <el-button icon="el-icon-delete" plain size="small" type="danger">娓呯┖</el-button>
+              <el-button icon="el-icon-el-icon-close" plain size="small" type="primary">鍒犻櫎缁勪欢</el-button>
+              <el-button icon="el-icon-plus" plain size="small" type="primary">娣诲姞鑷畾涔夌粍浠�</el-button>
+              <el-button icon="el-icon-zoom-in" plain size="small" type="primary">棰勮</el-button>
+            </div>
+          </basic-container>
+        </el-main>
+
+        <el-aside width="25%">
+          <basic-container>
+            <div style="height: 700px; overflow-y: auto;padding-right: 10px">
+              <h3>璁剧疆</h3>
+              <el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="85px">
+                <el-row style="border-bottom: 1px solid #878585;padding-bottom: 10px">
+                  <el-col :span="24">
+                    <el-form-item label="浣跨敤瀛楁">
+                      <div style="display: flex">
+                        <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                        <el-checkbox v-model="checked" style="margin-left: 5px; margin-right: 5px">鍙</el-checkbox>
+                        <el-checkbox v-model="checked" style="margin-left: 5px;margin-right: 0px">蹇呭~</el-checkbox>
+                      </div>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="12">
+                    <el-form-item label="鏄剧ず鍚嶇О">
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="12">
+                    <el-form-item class="rightLabel" label="鏄剧ず绫诲瀷">
+                      <el-select v-model="form.region" placeholder="璇烽�夋嫨娲诲姩鍖哄煙" size="mini">
+                        <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
+                        <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-tooltip content="榛樿鍊艰〃杈惧紡" placement="top">
+                      <el-form-item label="榛樿鍊艰〃杈惧紡" class="hiddenLabel">
+                        <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                      </el-form-item>
+                    </el-tooltip>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <!--                    <el-tooltip content="鏄剧ず琛ㄨ揪寮�" placement="top">-->
+                    <el-form-item label="鏄剧ず琛ㄨ揪寮�">
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                    <!--                    </el-tooltip>-->
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-tooltip content="鏃ユ湡鏍煎紡鍖栧瓧绗︿覆" placement="top">
+                      <el-form-item label="鏃ユ湡鏍煎紡鍖栧瓧绗︿覆锛�" class="hiddenLabel">
+                        <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                      </el-form-item>
+                    </el-tooltip>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="鍗犱綅鏂瑰紡">
+                      <el-radio v-model="treeRadio" label="0">鏄剧ず</el-radio>
+                      <el-radio v-model="treeRadio" label="1">涓嶆樉绀�</el-radio>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24" style="height: 90px">
+                    <el-form-item label="瀛楁琛ㄨ揪寮�">
+                      <el-input
+                        v-model="textarea2"
+                        :rows="3"
+                        placeholder="璇疯緭鍏ュ唴瀹�"
+                        resize="none"
+                        type="textarea">
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24" style="height: 90px">
+                    <el-tooltip content="鍙閫夋嫨鏉′欢" placement="top">
+                      <el-form-item label="鍙閫夋嫨鏉′欢" class="hiddenLabel">
+                        <el-input
+                          v-model="textarea2"
+                          :rows="3"
+                          placeholder="璇疯緭鍏ュ唴瀹�"
+                          resize="none"
+                          type="textarea">
+                        </el-input>
+                      </el-form-item>
+                    </el-tooltip>
+                  </el-col>
+
+                  <el-col :span="12">
+                    <el-form-item label="鎺у埗鍒�">
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="12">
+                    <el-form-item class="rightLabel" label="鏄剧ず鍒楁潯浠�" label-width="95px">
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="鏉冮檺鎺у埗">
+                      <div style="display: flex;align-items: center">
+                        <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                        <el-button plain size="mini" style="margin-left: 3px" type="success">閫夋嫨</el-button>
+                      </div>
+                    </el-form-item>
+                  </el-col>
+
+                </el-row>
+                <el-row style="margin-top: 10px;border-bottom: 1px solid #878585;padding-bottom: 10px"">
+                  <el-col :span="24" style="height: 90px">
+                    <el-form-item label="鑴氭湰楠岃瘉">
+                      <el-input
+                        v-model="textarea2"
+                        :rows="3"
+                        placeholder="璇疯緭鍏ュ唴瀹�"
+                        resize="none"
+                        type="textarea">
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24" style="height: 90px">
+                    <el-form-item label="鎻愮ず鏂囧瓧">
+                      <el-input
+                        v-model="textarea2"
+                        :rows="3"
+                        placeholder="璇疯緭鍏ュ唴瀹�"
+                        resize="none"
+                        type="textarea">
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="鏌ヨ鍏宠仈鍒�">
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="鑷畾涔夌被">
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-form-item label="瀛樺偍璺緞" >
+                      <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                    </el-form-item>
+                  </el-col>
+
+                  <el-col :span="24">
+                    <el-tooltip content="瀛樺偍璺緞瀛楁" placement="top">
+                    <el-form-item label="瀛樺偍璺緞瀛楁" class="hiddenLabel">
+                      <div style="display: flex">
+                        <el-input v-model="user" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+                        <el-checkbox v-model="checked" style="margin-left: 5px">http瀛樺偍</el-checkbox>
+                      </div>
+                    </el-form-item>
+                    </el-tooltip>
+                  </el-col>
+
+                </el-row>
+
+                <el-row style="margin-top: 10px">
+                  <el-col :span="24" style="height: 90px">
+                    <el-form-item label="闄勫姞灞炴��">
+                      <el-input
+                        v-model="textarea2"
+                        :rows="3"
+                        placeholder="璇疯緭鍏ュ唴瀹�"
+                        resize="none"
+                        type="textarea">
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </el-form>
+            </div>
+          </basic-container>
+        </el-aside>
+
+      </div>
+
+    </el-container>
+  </el-dialog>
+</template>
+
+<script>
+export default {
+  name: "formDialog",
+  data() {
+    return {
+      form: {},
+      rules: {},
+      columnNumber: 12,
+      loading: false,
+      visible: false,
+      treeOption: {
+        menu: false,
+        addBtn: false,
+        // props: {
+        //   label: 'name',
+        //   value: 'id',
+        //   children: 'children',
+        // },
+      },
+      treeData: [
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        },
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        },
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        },
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        },
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        },
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        },
+        {
+          value: 0,
+          label: '涓�绾ч儴闂�',
+          children: [
+            {
+              value: 1,
+              label: '涓�绾ч儴闂�1',
+            }, {
+              value: 2,
+              label: '涓�绾ч儴闂�2',
+            }
+          ]
+        }, {
+          value: 3,
+          label: '浜岀骇閮ㄩ棬',
+          children: [
+            {
+              value: 4,
+              label: '浜岀骇閮ㄩ棬1',
+            }, {
+              value: 5,
+              label: '浜岀骇閮ㄩ棬2',
+            }
+          ]
+        }
+      ]
+    }
+  },
+  methods: {
+    // 鍏抽棴瀵硅瘽妗�
+    closeDialog() {
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+::v-deep {
+  .hiddenLabel{
+    .el-form-item__label {
+      white-space: nowrap; // 闃叉鎹㈣
+      overflow: hidden; //闅愯棌瓒呭嚭閮ㄥ垎
+      text-overflow: ellipsis; //鏄剧ず鐪佺暐鍙�
+    }
+  }
+
+  .el-col {
+    margin-bottom: 0px;
+    height: 40px;
+  }
+
+  .rightLabel {
+    .el-form-item__label {
+      text-align: right !important;
+    }
+  }
+}
+
+.tableTopLabel {
+  display: flex;
+  flex-shrink: 0 !important;
+  font-size: 14px
+}
+
+</style>
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
index 308c333..42ae94d 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
@@ -4,23 +4,12 @@
     <el-aside>
       <basic-container>
         <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
-          <div class="headerCon">
-            <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">鍒涘缓
-            </el-button>
-            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editClickHandler">淇敼
-            </el-button>
-            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">鍒犻櫎
-            </el-button>
-            <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
-            </el-button>
-            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">瀵煎叆
-            </el-button>
-            <el-button class="smallBtn" plain size="small" type="primary"
-                       @click="checkViewClickHandler">鏌ョ湅浣跨敤鑼冨洿
-            </el-button>
-          </div>
           <!-- 宸︿晶鏍�         -->
           <div style="height:  calc(100vh - 280px);">
+            <div style="margin-bottom: 10px;display: flex;justify-content: center">
+              <el-radio v-model="treeRadio" label="0">涓氬姟绫诲瀷鏍�</el-radio>
+              <el-radio v-model="treeRadio" label="1">閾炬帴绫诲瀷鏍�</el-radio>
+            </div>
             <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick">
           <span slot-scope="{ node, data }" class="el-tree-node__label">
            <span style="font-size: 15px">
@@ -36,15 +25,82 @@
 
     <el-main>
       <basic-container>
+        <avue-crud
+          :data="data"
+          :option="option">
+          <template slot="menuLeft">
+            <div style="display: flex; align-items: center;">
+               <span style="display: inline-block; margin-right: 10px;">
+                <el-radio v-model="tableRadio" label="0">琛ㄥ崟</el-radio>
+                <el-radio v-model="tableRadio" label="1">琛ㄦ牸<span style="color: red;">锛堝厛瀵煎叆琛ㄥ崟锛屽啀瀵煎叆琛ㄦ牸锛侊級</span></el-radio>
+               </span>
+              <span style="display: flex;align-items: center; margin-right: 10px;">
+                <p style="display: flex; flex-shrink: 0;font-size: 14px">鍚嶇О锛�</p>
+                <el-input v-model="input" placeholder="璇疯緭鍏ュ唴瀹�" size="mini"></el-input>
+              </span>
+              <span style="display: flex; align-items: center;">
+                <p
+                  style="display: flex; align-items: center; margin: 0 10px 0 0;flex-shrink: 0;font-size: 14px">鍏嬮殕鐩爣锛�</p>
+                <el-input v-model="input" placeholder="璇疯緭鍏ュ唴瀹�" size="mini" style="margin-right: 10px;"></el-input>
+                <el-button plain size="mini" type="success">鍏嬮殕鐩爣</el-button>
+              </span>
+            </div>
+          </template>
+          <template slot="menu" slot-scope="scope">
+            <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
+            </el-button>
+            <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+            </el-button>
+          </template>
+        </avue-crud>
+        <div style="display: flex;justify-content: center;margin-top: 15px">
+          <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞</el-button>
+          <el-button icon="el-icon-delete" plain size="small" type="danger">鍒犻櫎</el-button>
+          <el-button icon="el-icon-document-add" plain size="small" type="primary">鍏嬮殕</el-button>
+          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadHandler">瀵煎叆</el-button>
+          <el-button icon="el-icon-download" plain size="small" type="primary" @click="downLoadHandler">瀵煎嚭</el-button>
+        </div>
       </basic-container>
     </el-main>
-
+    <form-dialog ref="formDialog"></form-dialog>
   </el-container>
 </template>
 
 <script>
+import basicOption from "@/util/basic-option";
+import FormDialog from "@/views/modelingMenu/ui/formDefine/components/formDialog";
+
 export default {
-  name: "index"
+  name: "index",
+  components: {FormDialog},
+  data() {
+    return {
+      option: {
+        ...basicOption,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false
+      },
+      data: [],
+      tableRadio: "",
+      treeRadio: "0",
+      treeData: [],
+      treeOption: {
+        addBtn: false
+      }
+    }
+  },
+  methods: {
+    addClickHandler() {
+      if (!this.tableRadio) {
+        this.$message.error('璇峰湪琛ㄦ牸涓婃柟閫夋嫨鏂板绫诲瀷');
+        return;
+      }
+      if (this.tableRadio === "0") {
+        this.$refs.formDialog.visible = true;
+      }
+    }
+  }
 }
 </script>
 
@@ -53,8 +109,9 @@
   .el-scrollbar__wrap {
     overflow: auto !important;
   }
-  .headerCon{
-    .el-button{
+
+  .headerCon {
+    .el-button {
       width: 82px;
     }
   }

--
Gitblit v1.9.3