From 4240f70d29d85367f8294013f4f528042e243f40 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 08 四月 2024 15:09:19 +0800
Subject: [PATCH] 切换真实数据接口
---
Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue | 7 +
Source/ProjectWeb/src/page/index/index.vue | 230 +++++++++++++++++++-------------------
Source/ProjectWeb/src/api/base/region.js | 9 +
Source/ProjectWeb/src/views/base/UIContentViewer.vue | 63 ++++++----
4 files changed, 167 insertions(+), 142 deletions(-)
diff --git a/Source/ProjectWeb/src/api/base/region.js b/Source/ProjectWeb/src/api/base/region.js
index 2b555f9..9651b04 100644
--- a/Source/ProjectWeb/src/api/base/region.js
+++ b/Source/ProjectWeb/src/api/base/region.js
@@ -51,3 +51,12 @@
})
}
+export const getUIContent = (query) => {
+ return request({
+ url: '/api/webUIController/getUIContentByBtmTypeAndId',
+ method: 'get',
+ params: query,
+ });
+}
+
+
diff --git a/Source/ProjectWeb/src/page/index/index.vue b/Source/ProjectWeb/src/page/index/index.vue
index 733a9ba..1fdad95 100644
--- a/Source/ProjectWeb/src/page/index/index.vue
+++ b/Source/ProjectWeb/src/page/index/index.vue
@@ -29,129 +29,129 @@
</template>
<script>
-import {mapGetters} from "vuex";
-import tags from "./tags";
-import search from "./search";
-import top from "./top/";
-import sidebar from "./sidebar/";
-import admin from "@/util/admin";
-import {validatenull} from "@/util/validate";
-import {calcDate} from "@/util/date.js";
-import {getStore} from "@/util/store.js";
+ import {mapGetters} from "vuex";
+ import tags from "./tags";
+ import search from "./search";
+ import top from "./top/";
+ import sidebar from "./sidebar/";
+ import admin from "@/util/admin";
+ import {validatenull} from "@/util/validate";
+ import {calcDate} from "@/util/date.js";
+ import {getStore} from "@/util/store.js";
-export default {
- components: {
- top,
- tags,
- search,
- sidebar
- },
- name: "index",
- provide() {
- return {
- index: this
- };
- },
- data() {
- return {
- //鎼滅储鎺у埗
- isSearch: false,
- //鍒锋柊token閿�
- refreshLock: false,
- //鍒锋柊token鐨勬椂闂�
- refreshTime: "",
- loading:true
- };
- },
-
- created() {
- //瀹炴椂妫�娴嬪埛鏂皌oken
- this.refreshToken();
-
- },
- mounted() {
- this.init();
- // 宸︿晶鑿滃崟鍔犺浇
- setTimeout(()=>{
- this.loading=false
- },600)
- },
- computed: mapGetters(["isMenu", "isLock", "isCollapse", "website", "menu"]),
- props: [],
- methods: {
- showCollapse() {
- this.$store.commit("SET_COLLAPSE");
+ export default {
+ components: {
+ top,
+ tags,
+ search,
+ sidebar
},
- // 鍒濆鍖�
- init() {
- this.$store.commit("SET_SCREEN", admin.getScreen());
- window.onresize = () => {
- setTimeout(() => {
- this.$store.commit("SET_SCREEN", admin.getScreen());
- }, 0);
-
+ name: "index",
+ provide() {
+ return {
+ index: this
};
- this.$store.dispatch("FlowRoutes").then(() => {
- });
},
- //鎵撳紑鑿滃崟
- openMenu(item = {}) {
- this.$store.dispatch("GetMenu", item.id).then(data => {
- if (data.length !== 0) {
- this.$router.$avueRouter.formatRoutes(data, true);
- }
- //褰撶偣鍑婚《閮ㄨ彍鍗曞悗榛樿鎵撳紑绗竴涓彍鍗�
- /*if (!this.validatenull(item)) {
- let itemActive = {},
- childItemActive = 0;
- if (item.path) {
- itemActive = item;
- } else {
- if (this.menu[childItemActive].length === 0) {
- itemActive = this.menu[childItemActive];
- } else {
- itemActive = this.menu[childItemActive].children[childItemActive];
- }
- }
- this.$store.commit('SET_MENU_ID', item);
- this.$router.push({
- path: this.$router.$avueRouter.getPath({
- name: (itemActive.label || itemActive.name),
- src: itemActive.path
- }, itemActive.meta)
- });
- }*/
+ data() {
+ return {
+ //鎼滅储鎺у埗
+ isSearch: false,
+ //鍒锋柊token閿�
+ refreshLock: false,
+ //鍒锋柊token鐨勬椂闂�
+ refreshTime: "",
+ loading:true
+ };
+ },
- });
+ created() {
+ //瀹炴椂妫�娴嬪埛鏂皌oken
+ this.refreshToken();
+
},
- // 瀹氭椂妫�娴媡oken
- refreshToken() {
- this.refreshTime = setInterval(() => {
- const token = getStore({
- name: "token",
- debug: true
- }) || {};
- const date = calcDate(token.datetime, new Date().getTime());
- if (validatenull(date)) return;
- if (date.seconds >= this.website.tokenTime && !this.refreshLock) {
- this.refreshLock = true;
- this.$store
- .dispatch("refreshToken")
- .then(() => {
- this.refreshLock = false;
- })
- .catch(() => {
- this.refreshLock = false;
+ mounted() {
+ this.init();
+ // 宸︿晶鑿滃崟鍔犺浇
+ setTimeout(()=>{
+ this.loading=false
+ },600)
+ },
+ computed: mapGetters(["isMenu", "isLock", "isCollapse", "website", "menu"]),
+ props: [],
+ methods: {
+ showCollapse() {
+ this.$store.commit("SET_COLLAPSE");
+ },
+ // 鍒濆鍖�
+ init() {
+ this.$store.commit("SET_SCREEN", admin.getScreen());
+ window.onresize = () => {
+ setTimeout(() => {
+ this.$store.commit("SET_SCREEN", admin.getScreen());
+ }, 0);
+
+ };
+ this.$store.dispatch("FlowRoutes").then(() => {
+ });
+ },
+ //鎵撳紑鑿滃崟
+ openMenu(item = {}) {
+ this.$store.dispatch("GetMenu", item.id).then(data => {
+ if (data.length !== 0) {
+ this.$router.$avueRouter.formatRoutes(data, true);
+ }
+ //褰撶偣鍑婚《閮ㄨ彍鍗曞悗榛樿鎵撳紑绗竴涓彍鍗�
+ /*if (!this.validatenull(item)) {
+ let itemActive = {},
+ childItemActive = 0;
+ if (item.path) {
+ itemActive = item;
+ } else {
+ if (this.menu[childItemActive].length === 0) {
+ itemActive = this.menu[childItemActive];
+ } else {
+ itemActive = this.menu[childItemActive].children[childItemActive];
+ }
+ }
+ this.$store.commit('SET_MENU_ID', item);
+ this.$router.push({
+ path: this.$router.$avueRouter.getPath({
+ name: (itemActive.label || itemActive.name),
+ src: itemActive.path
+ }, itemActive.meta)
});
- }
- }, 10000);
+ }*/
+
+ });
+ },
+ // 瀹氭椂妫�娴媡oken
+ refreshToken() {
+ this.refreshTime = setInterval(() => {
+ const token = getStore({
+ name: "token",
+ debug: true
+ }) || {};
+ const date = calcDate(token.datetime, new Date().getTime());
+ if (validatenull(date)) return;
+ if (date.seconds >= this.website.tokenTime && !this.refreshLock) {
+ this.refreshLock = true;
+ this.$store
+ .dispatch("refreshToken")
+ .then(() => {
+ this.refreshLock = false;
+ })
+ .catch(() => {
+ this.refreshLock = false;
+ });
+ }
+ }, 10000);
+ }
}
- }
-};
+ };
</script>
<style lang="scss">
-#avue-view > .avue-view{
- height: 100%;
- padding: 0 6px !important;
-}
+ #avue-view .avue-view{
+ height: 100%;
+ padding: 0 6px !important;
+ }
</style>
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewer.vue b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
index 60f6004..8b2cd6b 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -2,43 +2,47 @@
<!--UI涓婁笅鏂囩殑灞曠ず鍣�-->
<div style="height:calc(100% - 4px);min-width:1200px">
<el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
- <UIContentArea :key="'northArea-'+uiDefineVO.oid" areas-name="northArea"
- :areasData="uiDefineVO.northAreas"
+ <UIContentArea :key="'northArea-'+uiDefineVO.oid" :areasData="uiDefineVO.northAreas"
+ :dataStore="checkedData.northArea"
:inDialog="inDialog"
:sourceData="sourceData"
- :dataStore="checkedData.northArea"
+ areas-name="northArea"
@setDataStore="setDataStore">
</UIContentArea>
</el-header>
- <el-container :style="'height: '+(uiDefineVO.northAreas && uiDefineVO.northAreas.length>0?'calc(100% - 70px)':'100%')">
- <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'" height="100%">
- <UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea"
- cradStyle=""
- :areasData="uiDefineVO.westAreas"
+ <el-container
+ :style="'height: '+(uiDefineVO.northAreas && uiDefineVO.northAreas.length>0?'calc(100% - 70px)':'100%')">
+ <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0"
+ :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'"
+ height="100%">
+ <UIContentArea :key="'westArea-'+uiDefineVO.oid" :areasData="uiDefineVO.westAreas"
+ :dataStore="checkedData.westArea"
:inDialog="inDialog"
:sourceData="sourceData"
- :dataStore="checkedData.westArea"
+ areas-name="westArea"
+ cradStyle=""
@setDataStore="setDataStore">
</UIContentArea>
</el-aside>
<el-container style="height: 100%">
<el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'height: '+centerHeight">
- <UIContentArea :key="'centerArea-'+uiDefineVO.oid" areas-name="centerArea"
- cradStyle=""
- :areasData="uiDefineVO.centerAreas"
+ <UIContentArea :key="'centerArea-'+uiDefineVO.oid" :areasData="uiDefineVO.centerAreas"
+ :dataStore="checkedData.centerArea"
:inDialog="inDialog"
:sourceData="checkedData.westArea[checkedData.westArea.length-1]"
- :dataStore="checkedData.centerArea"
+ areas-name="centerArea"
+ cradStyle=""
@setDataStore="setDataStore">
</UIContentArea>
</el-main>
- <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%" style="max-height: 300px">
- <UIContentArea :key="'southArea-'+uiDefineVO.oid" areas-name="southArea"
- cradStyle=""
- :areasData="uiDefineVO.southAreas"
+ <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%"
+ style="max-height: 300px">
+ <UIContentArea :key="'southArea-'+uiDefineVO.oid" :areasData="uiDefineVO.southAreas"
+ :dataStore="checkedData.southArea"
:inDialog="inDialog"
:sourceData="checkedData.centerArea[checkedData.centerArea.length-1]"
- :dataStore="checkedData.southArea"
+ areas-name="southArea"
+ cradStyle=""
@setDataStore="setDataStore">
</UIContentArea>
</el-footer>
@@ -48,9 +52,10 @@
</template>
<script>
-import { verifyNull } from "@/util/validate";
+import {verifyNull} from "@/util/validate";
import UIContentArea from "@/views/base/UIContentArea"
import {uiDefineVOData} from "@/views/base/uiDefineVO"
+import {getUIContent} from '@/api/base/region'
export default {
name: "UIContentViewer",
@@ -80,15 +85,19 @@
this.$message.error("閰嶇疆鐨勪俊鎭敊璇紝璇峰弬鑰僢s=缁勪欢name?type=xxx&context=yyy¶m=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
return false;
}
- this.btmType=this.$route.query.type;
- this.content=this.$route.query.context ||this.$route.query.content;
- this.sourceData=this.$route.query;
+ this.btmType = this.$route.query.type;
+ this.content = this.$route.query.context || this.$route.query.content;
+ this.sourceData = this.$route.query;
this.initUI();
this.initContent();
},
methods: {
initUI() {
- this.uiDefineVO = uiDefineVOData;
+ const query = {btmType: 'folder', id: 'cardtemplatemanager'}
+ getUIContent(query).then(res => {
+ console.log(res.data.obj)
+ this.uiDefineVO = res.data.obj;
+ })
},
initContent() {
if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
@@ -105,13 +114,15 @@
</script>
<style scoped>
-.el-container{
+.el-container {
padding: 0 !important;
}
-.el-header,.el-aside,.el-main,.el-footer{
+
+.el-header, .el-aside, .el-main, .el-footer {
padding: 0;
}
-.el-header{
+
+.el-header {
margin-bottom: 10px;
}
</style>
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index e561d73..120ac2f 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -55,6 +55,7 @@
import UIContentArea from "@/views/base/UIContentArea"
import {uiDefineVOData} from "@/views/base/uiDefineVOInDialog"
import {verifyNull} from "@/util/validate";
+import {getUIContent} from '@/api/base/region'
export default {
name: "UIContentViewerInDialog",
@@ -114,7 +115,11 @@
},
methods: {
initUI() {
- this.uiDefineVO = uiDefineVOData;
+ const query = {btmType: 'folder', id: 'cardtemplatemanager'}
+ getUIContent(query).then(res => {
+ console.log(res.data.obj)
+ this.uiDefineVO = res.data.obj;
+ })
},
initContent() {
if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
--
Gitblit v1.9.3