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