¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |