liuQiang 1 年間 前
コミット
a335a70acc
2 ファイル変更110 行追加1 行削除
  1. 36 1
      src/layout/indexCommon.vue
  2. 74 0
      vite.config.js

+ 36 - 1
src/layout/indexCommon.vue

@@ -589,6 +589,7 @@ const filePaneClick = (item) => {
       const inIframe =
         outIframe.contentDocument.getElementsByTagName("iframe")[0];
       setTimeout(() => {
+        console.log('outIframe',outIframe.parentElement);
         console.error(outIframe.parentElement);
         inIframe.style.height = outIframe.style.height =
           outIframe.parentElement.offsetHeight + "px";
@@ -619,11 +620,12 @@ const addFileTab = (data) => {
   const hasThis = oldIFrameData.find((par) => par.docId == data.docId);//是否已存在
   if (hasThis){
     const thisPane = toRaw(hasThis)
-    console.log('hasThis',thisPane);
+    // console.log('hasThis',thisPane);
     const arr = oldIFrameData.map((par) => {
     if (par.id == thisPane.id) {
       par.show = true
       editableTabsValue.value = par.id// 标签跳转
+      // iframeSize(par.id)
     }else{
 		par.show = false
 	}
@@ -643,6 +645,7 @@ const addFileTab = (data) => {
         par.show = true
         thisData.docId = "";
         editableTabsValue.value = par.id// 新建时标签跳转
+        // iframeSize(par.id)
       }
     }else{
 		par.show = false
@@ -651,6 +654,20 @@ const addFileTab = (data) => {
   });
   iFrameData.value = arr;
   isAlive.value = false;
+  //  const outIframe = document.getElementById("iframe" + par.id);
+  // const inIframe =
+  //   outIframe.contentDocument.getElementsByTagName("iframe")[0];
+  // setTimeout(() => {
+  //   console.log('outIframe',outIframe.parentElement);
+  //   console.error(outIframe.parentElement);
+  //   inIframe.style.height = outIframe.style.height =
+  //     outIframe.parentElement.offsetHeight + "px";
+  //   inIframe.style.width = outIframe.style.width =
+  //     outIframe.parentElement.offsetWidth + "px";
+
+  //   // console.log('dom',outIframe.parentElement.offsetWidth);
+  //   // console.log('inIframe',inIframe);
+  // }, 500);
   console.log("addFileTab", arr);
 };
 //创建tab标签事件
@@ -748,6 +765,24 @@ const closeFileTab = (item, index, e) => {
   // console.log("index", index);
   console.log("iFrameData", iFrameData.value);
 };
+// 控制iframe大小
+const iframeSize = (id)=>{
+   const outIframe = document.getElementById("iframe" + id);
+  const inIframe =
+    outIframe.contentDocument.getElementsByTagName("iframe")[0];
+  setTimeout(() => {
+    console.log('outIframe',outIframe.parentElement);
+    console.error(outIframe.parentElement);
+    inIframe.style.height = outIframe.style.height =
+      outIframe.parentElement.offsetHeight + "px";
+    inIframe.style.width = outIframe.style.width =
+      outIframe.parentElement.offsetWidth + "px";
+
+    // console.log('dom',outIframe.parentElement.offsetWidth);
+    // console.log('inIframe',inIframe);
+  }, 500);
+}
+// 监听和保存标签信息
 const setTabLocal = (data)=>{
   // console.log('setTabLocal',data);
   sessionStorage.setItem('tabData', JSON.stringify(data))

+ 74 - 0
vite.config.js

@@ -0,0 +1,74 @@
+import {
+	defineConfig,
+	loadEnv
+} from 'vite'
+import path from 'path'
+import createVitePlugins from './vite/plugins'
+
+// https://vitejs.dev/config/
+export default defineConfig(({
+								 mode,
+								 command
+							 }) => {
+	const env = loadEnv(mode, process.cwd())
+	const {
+		VITE_APP_ENV
+	} = env
+	return {
+		// 部署生产环境和开发环境下的URL。
+		// 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
+		// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
+		base: VITE_APP_ENV === 'production' ? '/' : '/',
+		plugins: createVitePlugins(env, command === 'build'),
+		resolve: {
+			// https://cn.vitejs.dev/config/#resolve-alias
+			alias: {
+				// 设置路径
+				'~': path.resolve(__dirname, './'),
+				// 设置别名
+				'@': path.resolve(__dirname, './src')
+			},
+			// https://cn.vitejs.dev/config/#resolve-extensions
+			extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
+		},
+		// vite 相关配置
+		server: {
+			port: 80,
+			host: true,
+			open: true,
+			proxy: {
+				// https://cn.vitejs.dev/config/#server-proxy
+				'/dev-api': {
+					target: 'http://192.168.1.28:8080/',
+					// target: 'http://8.142.173.95:19527/',
+					// target:'http://192.168.1.28:8080/',
+					changeOrigin: true,
+					rewrite: (p) => p.replace(/^\/dev-api/, '')
+				},
+				//websocket代理
+				'/websocket': {
+					// target:'ws://8.142.173.95:19527/websocket',
+					target:'ws://192.168.1.28:8080/websocket',
+					// target:'ws://192.168.1.11:8080/websocket',
+					changeOrigin: true,
+					rewrite: (p) => p.replace(/^\/websocket/, '')
+				}
+			}
+		},
+		//fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file
+		css: {
+			postcss: {
+				plugins: [{
+					postcssPlugin: 'internal:charset-removal',
+					AtRule: {
+						charset: (atRule) => {
+							if (atRule.name === 'charset') {
+								atRule.remove();
+							}
+						}
+					}
+				}]
+			}
+		}
+	}
+})