From f7090a3271fafbf5c3b0435697a985055aaa94a7 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 30 八月 2024 12:13:05 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue | 603 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 603 insertions(+), 0 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..d93d6cd --- /dev/null +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue @@ -0,0 +1,603 @@ +<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: 79vh;display: flex;width: 100%;"> + + <el-aside width="15%"> + <basic-container> + <div style="height:650px;"> + <avue-tree + :data="treeData" + :option="treeOption" + @node-drag-start="handleDragStart"> + </avue-tree> + </div> + </basic-container> + </el-aside> + + <el-main > + <basic-container> + <div style="height: 645px" @drop="drop" @dragover.prevent> + <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 v-for="(item,index) in formList" :key="index" :content="item.name" placement="top"> + <el-form-item class="hiddenLabel" :label="item.name + '锛�'"> + <el-input v-model="item.value" :splaceholder="item.name" size="mini"></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 class="hiddenLabel" 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="鏄剧ず琛ㄨ揪寮�"> + <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 class="hiddenLabel" label="鏃ユ湡鏍煎紡鍖栧瓧绗︿覆锛�"> + <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 class="hiddenLabel" label="鍙閫夋嫨鏉′欢"> + <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 class="hiddenLabel" label="瀛樺偍璺緞瀛楁"> + <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;border-bottom: 1px solid #878585;padding-bottom: 10px"> + <h4>閫夐」鍒楄〃</h4> + <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" style="height: 190px"> + <el-form-item> + <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> + <el-table + :data="optionRightData" + :highlight-current-row="true" + :show-header="false" + border + stripe + style="width: 100%"> + <el-table-column + align="center" + label="鍚嶇О" + prop="name"> + <template slot-scope="scope"> + <el-tag size="medium">{{ scope.row.name }}</el-tag> + </template> + </el-table-column> + <el-table-column + align="center" + label="鍊�" + prop="value"> + <template slot-scope="scope"> + <el-tag size="medium">{{ scope.row.value }}</el-tag> + </template> + </el-table-column> + </el-table> + </div> + <div style="display: flex;align-items: center;justify-content: center;margin-top: 5px"> + <el-button plain size="mini" style="margin-right: 5px" type="success">娣诲姞</el-button> + <el-button plain size="mini" style="margin-left: 5px" type="danger">鍒犻櫎</el-button> + </div> + </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-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 { + formList:[], + optionRightData: [ + { + name: 'test', + value: 'test' + } + ], + form: {}, + rules: {}, + columnNumber: 12, + loading: false, + visible: false, + treeOption: { + menu: false, + addBtn: false, + draggable: true, + allowDrop: () => { + return false; + }, + allowDrag: () => { + return true; + }, + // 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() { + }, + + // 寮�濮嬫嫋鎷芥爲鑺傜偣浜嬩欢 + handleDragStart(node, ev) { + // 浣跨敤 setData 鏂规硶璁剧疆鏁版嵁 + ev.dataTransfer.setData('item', JSON.stringify(node.data)); + }, + + // 鎷栨嫿鍒拌〃鍗曟椂 + drop(event) { + // 浣跨敤 getData 鏂规硶鑾峰彇鏁版嵁 + const data = JSON.parse(event.dataTransfer.getData('item')); + console.log('data', data); + const params = { + name:data.label, + value:'', + type:'' + } + this.formList.push(params) + } + } +} +</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> -- Gitblit v1.9.3