|
@@ -3,12 +3,17 @@
|
|
|
<div class="frame-editor-wrap">
|
|
|
<div class="option-wrap">
|
|
|
<el-input style="width:240px;" placeholder="请输入框架名称"></el-input>
|
|
|
- <el-button type="primary" style="margin-left:auto;" @click="handleEditNode">添加节点</el-button>
|
|
|
+ <el-button type="primary" style="margin-left:auto;" @click="handleEditNode({})">添加节点</el-button>
|
|
|
<el-button type="primary" style="margin-left:20px;">保存</el-button>
|
|
|
</div>
|
|
|
<div class="editor-wrap">
|
|
|
<div class="tool-wrap">工具栏</div>
|
|
|
- <div class="frame-wrap"></div>
|
|
|
+ <div class="frame-wrap">
|
|
|
+ <!-- 沙盘图组件 -->
|
|
|
+ <FrameContainer ref="container"
|
|
|
+ @editNode="handleEditNode"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<!-- 添加/编辑节点弹窗 -->
|
|
|
<el-dialog
|
|
@@ -22,13 +27,31 @@
|
|
|
center
|
|
|
>
|
|
|
<div class="dialog-container">
|
|
|
- <el-form>
|
|
|
-
|
|
|
+ <el-form
|
|
|
+ ref="refForm"
|
|
|
+ :model="modifyNode"
|
|
|
+ :rules="rules"
|
|
|
+ >
|
|
|
+ <el-form-item label="节点名称" prop="nodeName">
|
|
|
+ <el-input v-model="modifyNode.nodeName" placeholder="请输入节点名称" style="width:217px;"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="节点链接" prop="nodeLink">
|
|
|
+ <el-select v-model="modifyNode.nodeLink" placeholder="请选择节点链接" style="width:217px;">
|
|
|
+ <el-option v-for="item in mockMyList"
|
|
|
+ :key="item.classifyId"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.classifyId">
|
|
|
+ <span style="float:left;">{{item.name}}</span>
|
|
|
+ <span style="float:right;color: #8492a6; font-size: 13px"
|
|
|
+ @click="goToList(item)"><i class="el-icon-view"></i></span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="dialog-footer">
|
|
|
<el-button>取消</el-button>
|
|
|
- <el-button type="primary">确定</el-button>
|
|
|
+ <el-button type="primary" @click="editNode">确定</el-button>
|
|
|
</div>
|
|
|
|
|
|
</el-dialog>
|
|
@@ -36,23 +59,46 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import FrameContainer from './components/frameContainer.vue';
|
|
|
+
|
|
|
export default {
|
|
|
+ components: { FrameContainer },
|
|
|
data() {
|
|
|
return {
|
|
|
- modifyNode:{},
|
|
|
- isModifyNodeDialogShow:false,
|
|
|
- rules:{
|
|
|
- nodeName:[{required: true,message: "请输入节点名称",trigger: "blur"}],
|
|
|
- nodeLink:[{required: true,message: "请选择节点链接",trigger: "blur"}]
|
|
|
- }
|
|
|
+ modifyNode: {},
|
|
|
+ isModifyNodeDialogShow: false,
|
|
|
+ rules: {
|
|
|
+ nodeName: [{ required: true, message: "请输入节点名称", trigger: "blur" }],
|
|
|
+ nodeLink: [{ required: true, message: "请选择节点链接", trigger: "blur" }]
|
|
|
+ },
|
|
|
+ mockMyList: [
|
|
|
+ {
|
|
|
+ classifyId: 652,
|
|
|
+ name: '框架1'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ classifyId: 651,
|
|
|
+ name: '框架2'
|
|
|
+ }
|
|
|
+ ]
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
- handleEditNode(node={}){
|
|
|
- this.modifyNode = node
|
|
|
- this.isModifyNodeDialogShow = true
|
|
|
+ handleEditNode(node = {}) {
|
|
|
+ this.$refs.refForm && this.$refs.refForm.resetFields();
|
|
|
+ this.modifyNode = _.cloneDeep(node);
|
|
|
+ this.isModifyNodeDialogShow = true;
|
|
|
+ },
|
|
|
+ async editNode() {
|
|
|
+ await this.$refs.refForm.validate();
|
|
|
+ if(!this.$refs.container) return
|
|
|
+ this.$refs.container.editNode(this.modifyNode)
|
|
|
+ this.$message.success(`${this.modifyNode.nodeId ? '编辑' : '添加'}成功`);
|
|
|
+ this.isModifyNodeDialogShow = false;
|
|
|
},
|
|
|
- addNode(){},
|
|
|
+ goToList(item) {
|
|
|
+ window.open(`/mychart?frameId=${item.classifyId}`);
|
|
|
+ }
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
@@ -79,6 +125,21 @@ export default {
|
|
|
}
|
|
|
.frame-wrap{
|
|
|
flex:1;
|
|
|
+ background-color: #F2F6FA;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-dialog{
|
|
|
+ .dialog-container{
|
|
|
+ .el-form{
|
|
|
+ .el-form-item{
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .dialog-footer{
|
|
|
+ text-align: center;
|
|
|
+ padding-bottom:25px;
|
|
|
}
|
|
|
}
|
|
|
}
|