From 38af70d99001abaf47e29ed3e08c8582853fc456 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期五, 23 八月 2024 11:48:20 +0800
Subject: [PATCH] 1、配置文件上传
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 258 insertions(+), 3 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
index c5677bc..5d18cfc 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
@@ -1,13 +1,268 @@
<template>
- <p>閾炬帴绫诲瀷鏌ヨ</p>
+ <el-container>
+
+ <el-aside>
+ <basic-container>
+ <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
+ <!-- 宸︿晶鏍� -->
+ <div style="height: calc(100vh - 190px);">
+ <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick">
+ <span slot-scope="{ node, data }" class="el-tree-node__label">
+ <span style="font-size: 15px">
+ <i class="el-icon-s-promotion"></i>
+ {{ (node || {}).label }}
+ </span>
+ </span>
+ </avue-tree>
+ </div>
+ </div>
+ </basic-container>
+ </el-aside>
+
+ <el-main>
+ <basic-container>
+ <avue-crud ref="crud"
+ :data="crudData" :option="crudOption" :table-loading="tableLoading" style="margin-top: 10px">
+ <template slot="menuLeft" slot-scope="scope">
+ <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
+ <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
+ <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</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>
+ </template>
+ </avue-crud>
+ </basic-container>
+ </el-main>
+
+ </el-container>
</template>
<script>
+import {gridLink} from "@/api/modeling/linkType/api";
+import { gridTemplate, saveTemplate, updateTemplate} from "@/api/queryTemplate/queryDefine";
+import {deleteLinkTemplate} from "@/api/queryTemplate/linkTypeQuery";
+import func from "@/util/func";
+import {dateFormat} from "@/util/date";
+import basicOption from "@/util/basic-option";
+
export default {
- name: "index"
+ name: "index",
+ data() {
+ return {
+ treeOption: {
+ height: 'auto',
+ defaultExpandedKeys: ['topNode'],
+ menu: false,
+ addBtn: false,
+ props: {
+ label: 'label',
+ value: 'oid',
+ children: 'children'
+ }
+ },
+ nodeRow: {},
+ treeData: [{
+ label: '閾炬帴绫诲瀷',
+ oid: 'topNode',
+ children: []
+ }],
+ templateForm: '',
+ templateData: [],
+ form: {
+ name: ''
+ },
+ rules: {
+ name: [
+ {required: true, message: '璇疯緭鍏ユ煡璇㈡ā鏉垮悕绉�', trigger: 'blur'}
+ ]
+ },
+ title: '',
+ visible: false,
+ tableLoading: false,
+ crudData: [],
+ crudOption: {
+ ...basicOption,
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ selection: true,
+ menu: false,
+ height: "auto",
+ calcHeight: -40,
+ tip: false,
+ column: [{
+ label: '鏌ヨ妯℃澘鍚嶇О',
+ prop: 'name'
+ }, {
+ label: '鍒涘缓浜�',
+ prop: 'creator'
+ }, {
+ label: '鍒涘缓鏃堕棿',
+ prop: 'createTime',
+ formatter:function (row, value) {
+ return dateFormat(new Date(value))
+ }
+ }]
+ },
+ selectionRow: [],
+ }
+ },
+ created() {
+ this.getTreeList();
+ },
+ methods: {
+ //鏍戣〃鏌ヨ
+ getTreeList() {
+ const loading = this.$loading({});
+ gridLink().then(res => {
+ const data = res.data.data.map(item => {
+ item.label=item.name;
+ return item;
+ });
+ this.treeData[0].children = data;
+ loading.close();
+ })
+ },
+
+ // 鏍戠偣鍑�
+ nodeClick(row) {
+ this.nodeRow = row;
+ this.tableLoading = true;
+ this.getTemp();
+ },
+ getTemp() {
+ gridTemplate({btmName: this.nodeRow.label, linkFlag: true}).then(res => {
+ this.crudData = res.data.data;
+ this.tableLoading = false;
+ })
+ },
+ selectHandler(selection, row) {
+
+ },
+ changeTemp(data) {
+ this.$refs.queryCrud.clearSelection();
+ if (data.value != '') {
+ let abNames = data.item.abNames.join(',').toLowerCase().split(',')
+
+ }
+ },
+ //鍒涘缓
+ addHandler() {
+ if (func.isEmptyObject(this.nodeRow)) {
+ this.$message.error('璇烽�夋嫨瑕佹坊鍔犵殑鑺傜偣');
+ return;
+ }
+ this.title = 'add';
+ this.visible = true;
+ this.$nextTick(() => {
+ });
+ },
+ //淇敼
+ editHandler() {
+ if (func.isEmptyObject(this.nodeRow)) {
+ this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
+ return;
+ }
+ this.form.name = this.templateForm;
+ this.title = 'edit';
+ this.visible = true;
+ this.$nextTick(() => {
+ });
+ },
+ // 鏂板缂栬緫淇濆瓨
+ addDialogSavaHandler() {
+ this.$refs.form.validate((valid) => {
+ const saveFunction = this.title === 'add' ? saveTemplate : updateTemplate;
+ if (valid) {
+ saveFunction(this.form).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ this.addDialogClose();
+ }
+ })
+ } else {
+ return false;
+ }
+ });
+ },
+ // 鏂板缂栬緫瀵硅瘽妗嗗彇娑�
+ addDialogClose() {
+ this.form = {
+ name: ''
+ };
+ this.$refs.form.clearValidate();
+ this.visible = false;
+ },
+ //鍒犻櫎
+ delHandler() {
+ if (func.isEmptyObject(this.nodeRow)) {
+ this.$message.error('璇烽�夋嫨鏁版嵁');
+ return;
+ }
+ this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deleteLinkTemplate({
+ name: this.templateForm,
+ btmName: this.nodeRow.label,
+ linkFlag: false
+ }).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.obj);
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ }
+ }
}
</script>
-<style scoped>
+<style lang="scss" scoped>
+::v-deep {
+ .el-scrollbar__wrap {
+ overflow: auto !important;
+ }
+ .headerCon{
+ .el-button{
+ width: 82px;
+ }
+ }
+}
+
+.headerCon {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 5px;
+
+ .el-button + .el-button {
+ margin-left: 5px;
+ }
+
+ .el-button {
+ margin-top: 5px;
+ }
+}
+
+.headerCon > .el-button:nth-child(4) {
+ margin-left: 0;
+}
+
+.headerCon > .el-button:nth-child(7) {
+ margin-left: 0;
+}
+
+
+.smallBtn {
+ width: 82px;
+ text-align: center;
+ padding-left: 4.5px;
+}
</style>
--
Gitblit v1.9.3