Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
@@ -5,26 +5,28 @@ :visible.sync="visible" append-to-body="true" class="avue-dialog" title="" title="表å" width="100%" @close="closeDialog" > <el-container> <div style="height: 80vh;display: flex;width: 100%;"> <div style="height: 79vh;display: flex;width: 100%;"> <el-aside width="15%"> <basic-container> <div style="height:650px;"> <avue-tree :data="treeData" :option="treeOption"></avue-tree> :option="treeOption" @node-drag-start="handleDragStart"> </avue-tree> </div> </basic-container> </el-aside> <el-main> <el-main > <basic-container> <div style="height: 650px"> <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> @@ -52,9 +54,9 @@ <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-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> @@ -104,7 +106,7 @@ <el-col :span="24"> <el-tooltip content="é»è®¤å¼è¡¨è¾¾å¼" placement="top"> <el-form-item label="é»è®¤å¼è¡¨è¾¾å¼" class="hiddenLabel"> <el-form-item class="hiddenLabel" label="é»è®¤å¼è¡¨è¾¾å¼"> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini"></el-input> </el-form-item> </el-tooltip> @@ -120,7 +122,7 @@ <el-col :span="24"> <el-tooltip content="æ¥ææ ¼å¼åå符串" placement="top"> <el-form-item label="æ¥ææ ¼å¼åå符串ï¼" class="hiddenLabel"> <el-form-item class="hiddenLabel" label="æ¥ææ ¼å¼åå符串ï¼"> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini"></el-input> </el-form-item> </el-tooltip> @@ -147,7 +149,7 @@ <el-col :span="24" style="height: 90px"> <el-tooltip content="åªè¯»éæ©æ¡ä»¶" placement="top"> <el-form-item label="åªè¯»éæ©æ¡ä»¶" class="hiddenLabel"> <el-form-item class="hiddenLabel" label="åªè¯»éæ©æ¡ä»¶"> <el-input v-model="textarea2" :rows="3" @@ -181,7 +183,7 @@ </el-col> </el-row> <el-row style="margin-top: 10px;border-bottom: 1px solid #878585;padding-bottom: 10px""> <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 @@ -219,22 +221,90 @@ </el-col> <el-col :span="24"> <el-form-item label="åå¨è·¯å¾" > <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-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"> @@ -250,6 +320,7 @@ </el-form-item> </el-col> </el-row> </el-form> </div> </basic-container> @@ -262,10 +333,18 @@ </template> <script> export default { name: "formDialog", data() { return { formList:[], optionRightData: [ { name: 'test', value: 'test' } ], form: {}, rules: {}, columnNumber: 12, @@ -274,6 +353,13 @@ treeOption: { menu: false, addBtn: false, draggable: true, allowDrop: () => { return false; }, allowDrag: () => { return true; }, // props: { // label: 'name', // value: 'id', @@ -462,6 +548,25 @@ 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) } } } @@ -469,7 +574,7 @@ <style lang="scss" scoped> ::v-deep { .hiddenLabel{ .hiddenLabel { .el-form-item__label { white-space: nowrap; // 鲿¢æ¢è¡ overflow: hidden; //éèè¶ åºé¨å Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,344 @@ <template> <el-dialog v-dialogDrag v-loading="loading" :visible.sync="visible" append-to-body="true" class="avue-dialog" title="è¡¨æ ¼" width="60%" @close="closeDialog" > <el-form :model="form" :rules="rules" label-position="right" label-width="100px"> <el-row> <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 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="12"> <el-form-item label="ç»å®è¡¨å"> <div style="display: flex;align-items: center;"> <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-button plain size="mini" style="margin-left: 3px" type="success">éæ©</el-button> </div> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="ç¶åç§°"> <div style="display: flex;align-items: center;"> <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="æ¾ç¤ºå段"> <div style="display: flex; align-items: center"> <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table :data="showLifeTable" style="width: 100%"> <el-table-column align="center" label="å¯ä½¿ç¨å段" prop="id"> </el-table-column> </el-table> </div> <div style="margin-left: 10px; margin-right: 10px"> <el-button circle icon="el-icon-back" style="margin-right: 10px"></el-button> <el-button circle icon="el-icon-right"></el-button> </div> <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table :data="showRightTable" style="width: 100%"> <el-table-column align="center" label="éè¦ä½¿ç¨å段" prop="id"> </el-table-column> </el-table> </div> </div> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="æç´¢å段"> <div style="display: flex; align-items: center"> <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table :data="searchLifeTable" style="width: 100%"> <el-table-column align="center" label="å¯ä¾æç´¢å段" prop="id"> </el-table-column> </el-table> </div> <div style="margin-left: 10px; margin-right: 10px"> <el-button circle icon="el-icon-back" style="margin-right: 10px"></el-button> <el-button circle icon="el-icon-right"></el-button> </div> <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table :data="searchRightTable" style="width: 100%"> <el-table-column align="center" label="éæç´¢å段" prop="id"> </el-table-column> </el-table> </div> </div> </el-form-item> </el-col> <el-col :span="12"> <el-form-item 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="12"> <el-form-item label="宽度"> <div style="display: flex;align-items: center;"> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini" style="width: 193px"></el-input> <el-button plain size="mini" style="margin-left: 3px" type="success">设置</el-button> </div> </el-form-item> </el-col> </el-row> <el-col :span="24"> <el-form-item label="设置å宽"> <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table :data="columnWidthData" :highlight-current-row="true" border stripe style="width: 100%"> <el-table-column align="center" label="åå" prop="id"> <template slot-scope="scope"> <el-tag size="medium">{{ scope.row.id }}</el-tag> </template> </el-table-column> <el-table-column align="center" label="å宽" prop="width"> <template slot-scope="scope"> <el-tag size="medium">{{ scope.row.width }}</el-tag> </template> </el-table-column> </el-table> </div> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="æ¥è¯¢å段"> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="æ¥è¯¢æ¬¡æ°"> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="æ¥è¯¢sql"> <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> <el-button plain size="mini" style="margin-left: 3px" type="danger">å é¤</el-button> </div> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="æ¥è¯¢å段"> <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto"> <el-table :data="columnSearchData" :highlight-current-row="true" border stripe style="width: 100%"> <el-table-column align="center" label="æ¥è¯¢å段" prop="id"> <template slot-scope="scope"> <el-tag size="medium">{{ scope.row.id }}</el-tag> </template> </el-table-column> <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="æ¥è¯¢sql" prop="sql"> <template slot-scope="scope"> <el-tag size="medium">{{ scope.row.sql }}</el-tag> </template> </el-table-column> </el-table> </div> </el-form-item> </el-col> <el-col :span="24"> <el-form-item 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-form-item label="å¾çæ¾ç¤º"> <div style="display: flex;align-items: center"> <div style="display: flex;align-items: center;width: 100%;"> <span>é¿ï¼</span> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini"></el-input> </div> <div style="display: flex;align-items: center;width: 100%;margin-left: 30px"> <span>宽ï¼</span> <el-input v-model="user" placeholder="请è¾å ¥å 容" size="mini"></el-input> </div> </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="8"> <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-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-form> <span slot="footer" class="dialog-footer"> <el-button>å æ¶</el-button> <el-button type="primary">ç¡® å®</el-button> </span> </el-dialog> </template> <script> export default { name: "tableDialog", data() { return { columnSearchData: [ { id: 'test', name: '3', sql: 'xxxxx' } ], columnWidthData: [ { id: 'test', width: '250' } ], searchLifeTable: [], searchRightTable: [], showRightTable: [], showLifeTable: [ { id: 'test1' }, { id: 'test2' }, { id: 'test1' }, { id: 'test2' }, { id: 'test1' }, { id: 'test2' } ], rules: {}, form: {}, loading: false, visible: false } }, methods: { closeDialog() { } } } </script> <style lang="scss" scoped> ::v-deep { .el-form-item .el-select { //width: 100%; } } </style> Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
@@ -63,16 +63,18 @@ </basic-container> </el-main> <form-dialog ref="formDialog"></form-dialog> <table-dialog ref="tableDialog"></table-dialog> </el-container> </template> <script> import basicOption from "@/util/basic-option"; import FormDialog from "@/views/modelingMenu/ui/formDefine/components/formDialog"; import TableDialog from "@/views/modelingMenu/ui/formDefine/components/tableDialog" export default { name: "index", components: {FormDialog}, components: {FormDialog, TableDialog}, data() { return { option: { @@ -96,9 +98,8 @@ this.$message.error('请å¨è¡¨æ ¼ä¸æ¹éæ©æ°å¢ç±»å'); return; } if (this.tableRadio === "0") { this.$refs.formDialog.visible = true; } this.tableRadio === "0" ? this.$refs.formDialog.visible = true : this.$refs.tableDialog.visible = true; } } }