11wqe1 2 weeks ago
parent
commit
e33f70520d
1 changed files with 111 additions and 123 deletions
  1. 111 123
      src/components/topPage.vue

+ 111 - 123
src/components/topPage.vue

@@ -32,7 +32,25 @@
         </div>
 
         <!-- 平台应用  -->
-        <div class="TabList">
+
+
+
+        <!-- 荔园 -->
+         
+        <div v-if="platform == 'liyuan_'" class="TabListAdmin">
+            <div
+                @mouseenter="setHovered(index, true)"
+                @mouseleave="setHovered(index, false)"
+                class="TabListAll2"
+                @click="openApp2(item)" 
+                v-for="(item,index) in liyuanTab" 
+                :key="index+'1p'">
+                    <img style="position: absolute;top: -40%;left: 50%;transform: translate(-50%,0);" :src="item.icon" alt="">
+                <span class="tabTit">{{ item.name }}</span>
+            </div>
+        </div>
+        <!-- 非荔园  -->
+        <div v-else  class="TabList" >
             <div
                 @mouseenter="setHovered(index, true)"
                 @mouseleave="setHovered(index, false)"
@@ -278,18 +296,21 @@ import { myMixin } from "@/mixins/mixin.js"
         },
         data() {
             return {
+                // 判断链接时liyuan还是admin的
+                platform:'',
+                // 判断链接时beta还是cloud的
+                betaL:'beta',
                 dialogVisible:false, 
                 //常见ai应用列表(添加弹框)
                 usuallyList:[], 
                 loading:false,
-                 //选中应用列表
-                tab:[],
                 // 管理平台添加常见cocoFlow应用
                 admincocoFlow:[],
                 // 用户ai应用数组
                 CocoFlowList:[],
                 // 平台工具 
                 tabList:[],
+                // 后台未设置常用应用后使用默认应用,这些是默认应用的头像
                 appImgList:[
                     require('../assets/img/img7.svg'),
                     require('../assets/img/img8.svg'),
@@ -300,10 +321,17 @@ import { myMixin } from "@/mixins/mixin.js"
                     require('../assets/img/img4.svg'),
                     require('../assets/img/img3.svg'),
                 ],
-                hovList:[],
+                liyuanTab:[
+                    {toolId:'CourseCon',name:'课程建设',icon:require('../assets/toppage/classbuild.svg'),hoverIcon:''},
+                    {toolId:'teacherDevelop',name:'教师发展',icon:require('../assets/toppage/tealep.svg'),hoverIcon:''},
+                    {toolId:'aiOffice',name:'智能教务',icon:require('../assets/toppage/aiwork.svg'),hoverIcon:''},
+                    {toolId:'lyStudentEva',name:'学生评价',icon:require('../assets/toppage/stueva.svg'),hoverIcon:''},
+                    {toolId:'schoolSafe',name:'平安校园',icon:require('../assets/toppage/safesch.svg'),hoverIcon:''},
+                ]
             }
         },
         methods: {
+            // 轮播图跳转链接
             gotoBanner(val){
                 if (val == '') return
                 window.open(val, "_blank");
@@ -314,10 +342,6 @@ import { myMixin } from "@/mixins/mixin.js"
             },
             // 获取cocoFlow2应用
             getData(){
-
-                // if (this.fromL.admin.cocoFlow2 && this.fromL.admin.cocoFlow2.length > 0) {
-                //     this.CocoFlowList = this.fromL.admin.cocoFlow2
-                // }
                 let cocoFlowCopy = []
                 if (this.fromL.admin.cocoFlow2 && this.fromL.admin.cocoFlow2.length) {
                     cocoFlowCopy = this.fromL.admin.cocoFlow2.map(item => item.id);
@@ -374,7 +398,6 @@ import { myMixin } from "@/mixins/mixin.js"
 
                 this.tabList = data
                 // console.log('this.tabList',this.tabList);
-
             },
             // 获取cocoFlow应用
             getAdmincocoFlow(){
@@ -384,8 +407,6 @@ import { myMixin } from "@/mixins/mixin.js"
 
                 if (this.fromL.admin.cocoFlow.length > 0) {
                     appList = this.fromL.admin.cocoFlow.map(item => item.id);
-
-                    // this.admincocoFlow = JSON.parse(JSON.stringify(this.fromL.admin.cocoFlow))
                 } else {
                     appList= [
                         "d1edef14-ef6f-11ef-b508-005056924926",
@@ -428,7 +449,7 @@ import { myMixin } from "@/mixins/mixin.js"
 
             // 打开平台应用
             async openApp(val){
-                // console.log('val',val);
+                console.log('val',val);
 
                 // 点击相同应用不刷新
                 if (this.appSign == val.toolId) return
@@ -471,30 +492,62 @@ import { myMixin } from "@/mixins/mixin.js"
                 let _url = url + queryString
                 console.log('_url',_url);
 
-
-                //   let kpl = ` <iframe 
-                //                 allow= "camera *; microphone *;display-capture;midi;encrypted-media;"
-                //                 frameborder="no" 
-                //                 border="0" 
-                //                 style="border:0;width:100%;height:100%;" 
-                //                 src="${_url}" 
-                //                 ref="pageCon"
-                //                 >
-                //             </iframe>`
-
                 let pl = {json:_url ,stateL :true,toolId :val.toolId}
-
-                // this.$emit('AddAppJson',pl)
                 
                 this.$emit('cutUrl',pl)
 
                 this.addOp3('1', "", { type:this.prefixL + val.toolId + "_open" }, "success")
-        
-                // document.querySelector('#pageCon').innerHTML = '';
                 
+            },
+            async openApp2(val){
+                console.log(val);
+                let url = ''
+                let argumentList = ['userid', 'oid', 'org','role','tType']
+                if (this.betaL == 'beta') {
+                    url = `https://beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/${val.toolId}`
+                }else{
+                    `https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/${val.toolId}`
+                }
+
+
+                // return
+                // 点击相同应用不刷新
+                if (this.appSign == val.toolId) return
+                // 更新标识
+                await store.commit('user/SET_AppSIGN', val.toolId)
+
+
+                let _userinfo = this.roleUser, //登录用户信息
+                { userid: _userid, organizeid: _oid, type: _type, org: _org, role: _role, classid: _classId } = _userinfo; // 解构赋值获取用户信息
+                const _TscreenType = 1, _SscreenType = 3; // 常量定义
+                let queryString = ''
+                if(argumentList && argumentList.length){
+                    const paramsMap = {
+                    userid: _userid,
+                    org: _org,
+                    oid: _oid,
+                    tType: _type,
+                    role: _role,
+                    classId: _classId,
+                    TscreenType: _TscreenType,
+                    SscreenType: _SscreenType
+                    };
+                    
+                    const canshu = argumentList
+                    .filter(param => paramsMap[param] !== undefined || param === 'type')
+                    .map(param => param === 'type' ? `tType=${paramsMap['tType']}` : `${param}=${paramsMap[param]}`);
+
+                    queryString = canshu.length ? (url.includes('?') ? '&' : '?') + canshu.join('&') : ''; // 生成查询字符串
+                }
 
-                // window.topU.U.MD.D.I.openApplicationWai(val.toolId, url, dom,val.argumentList)
+                let _url = url + queryString
+                console.log('_url',_url);
+
+                let pl = {json:_url ,stateL :true,toolId :val.toolId}
                 
+                this.$emit('cutUrl',pl)
+
+                this.addOp3('1', "", { type:this.prefixL + val.toolId + "_open" }, "success")
             },
             // 打开CocoFlow应用
             openNewWindow(val) {
@@ -506,11 +559,8 @@ import { myMixin } from "@/mixins/mixin.js"
             },
              // 打开常见应用弹框
             async lookMore(){
-               
-                let k = window.location.href.includes("/liyuan") ? "liyuan_" : "admin_"
-                
                 let val = ''
-                if (k == 'liyuan_') {
+                if (this.platform == 'liyuan_') {
                     val = {
                         id: "746ce524-0bae-11f0-baea-005056924926",
                         toolId: "appStoreLiYuan",
@@ -537,7 +587,6 @@ import { myMixin } from "@/mixins/mixin.js"
                         status: "0"
                     }
                 }
-               
 
                 val.url = JSON.parse(val.url)
                 val.argumentList = JSON.parse(val.argumentList)
@@ -550,93 +599,11 @@ import { myMixin } from "@/mixins/mixin.js"
                 this.usuallyList= []
                 this.dialogVisible = false
             },
-            //#region 
-
-             // 弹框选择添加应用
-            // addApp(val){
-            //     // let data = this.CocoFlowList.filter(e=>{
-            //     //     return e.id == val 
-            //     // })
-            //     // if (data.length != 0) return this.$message.info('常用列表已添加')
-            //     let kpl = [...this.tab,...this.CocoFlowList]
-            //     // console.log(kpl);
-                
-
-            //     const index = this.tab.indexOf(val);
-            //     if (index !== -1) {
-            //         this.tab.splice(index, 1); // 删除第一个匹配项
-            //     } else {
-            //         if (kpl.length > 3) return this.$message.info('只能添加四个常用应用哦')
-            //         this.tab.push(val);    // 添加元素到末尾
-            //     }
-            // },
-             // // 添加常用确定按钮
-            // async addUsuallyApp(){
-            //     const uploadYn = async files => {
-            //         for (let index = 0; index < files.length; index++) {
-            //             await this.XAdd(files[index]);
-            //             console.log(index);
-            //         }
-            //     }
-            //     await uploadYn(this.tab);
-            //     console.log('完成了');
-            //     this.getData()
-            //     this.handleClose()
-            // },
-            // // 循环添加用户选择常见应用
-            // XAdd(val){
-            //     return new Promise((resolve) => {
-            //         let params = [
-            //             {
-            //                 functionName: API_CONFIG.ajax_add_usuallyApp.functionName,
-            //                 oid:this.roleUser.organizeid,
-            //                 aid: val,
-            //                 uid: this.roleUser.userid,
-            //             },
-            //         ];
-                    
-            //         this.$ajax
-            //             .post(API_CONFIG.baseUrl, params)
-            //             .then(() => {
-            //                 resolve(1)
-            //             })
-            //             .catch((err) => {
-            //                 console.log(err);
-            //             });
-            //         })
-            // },
-             // // 删除应用
-            // delApp(val){
-            //     this.$confirm('确定删除吗', '提示', {
-            //         confirmButtonText: '确定',
-            //         cancelButtonText: '取消',
-            //         type: 'warning'
-            //     }).then(async () => {
-            //         let params = [
-            //                 {
-            //                     functionName: API_CONFIG.ajax_del_usuallyApp.functionName,
-            //                     aid: val, 
-            //                 },
-            //             ];
-                        
-            //         this.$ajax
-            //             .post(API_CONFIG.baseUrl, params)
-            //             .then(() => {
-            //                 this.$message.success('删除成功')
-            //                 this.getData()
-            //             })
-            //             .catch((err) => {
-            //                 console.log(err);
-            //                 this.$message.error("删除失败");
-            //             });
-                   
-            //     }).catch(() => {
-            //         // 取消操作
-            //     });
-            // },
-           
-            //#endregion
         },
+        mounted(){
+            this.platform = window.location.href.includes("liyuan") ? "liyuan_" : "admin_"
+            // this.betaL = window.location.href.includes("beta") ? "beta" : "cloud"
+        }
     }
 </script>
 
@@ -685,6 +652,12 @@ import { myMixin } from "@/mixins/mixin.js"
     gap: 20px; /* 网格间距 */
     margin: 26px 0 40px;
 }
+.TabListAdmin{
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
+    gap: 20px; /* 网格间距 */
+    margin: 56px 0 40px;
+}
 
 .TabListAll{
     position: relative !important;
@@ -692,6 +665,25 @@ import { myMixin } from "@/mixins/mixin.js"
     height: 140px;
     justify-content: flex-end;
 }
+.TabListAll2{
+    position: relative !important;
+    display: flex;
+    height: 140px;
+    justify-content: center;
+    align-items: end;
+    background: #fff;
+    border-radius: 10px;
+    box-sizing: border-box;
+    padding: 20px;
+    box-sizing: border-box;
+    cursor: pointer;
+}
+.tabTit{
+    font-family: PingFang SC;
+    font-weight: 600;
+    font-size: 20px;
+    line-height: 100%;
+}
 .imgApp{
     width: 120px;
     height: 140px;
@@ -756,10 +748,6 @@ import { myMixin } from "@/mixins/mixin.js"
     cursor: pointer;
 }
 
-
-
-
-
 /* 常见应用样式 */
 .footCon{
     display: flex;