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