集成ai工具集,我的应用增加应用快捷方式

main
qinzhenpen 7 months ago
parent f08a2f5a94
commit 5b47e3f024

@ -8,6 +8,6 @@
name: 'App',
created() {
this.$ls.set('timeNum',60 * 1000 * 1); // 60 * 1000 * 5
}
},
}
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

@ -31,6 +31,12 @@
<span>应用中心</span>
</router-link>
</div>
<div :class="(onIndex == 11?'on':'') + ' classHerad'" @click="jumpPage(11)" v-if="$Base64.decode($ls.get($getKeyInfo('userType'))) == 1">
<router-link :to="{path:'algclargemodel'}">
<el-image class="menu_img" :src="algc"></el-image>
<span>AlGC大模型</span>
</router-link>
</div>
<div :class="(onIndex == 8?'on':'') + ' classHerad'" @click="jumpPage(8)">
<router-link :to="{path:$Base64.decode($ls.get($getKeyInfo('userType'))) == 1?'Coach':'TCoach'}">
<el-image class="menu_img" :src="kaozheng"></el-image>
@ -48,7 +54,7 @@
<el-image class="menu_img" :src="dsfyingyong"></el-image>
<span>第三方应用</span>
</router-link>
</div>
</div>
<template v-for="(item, index) in headList">
<div class="classHerad">
<a :href="item.studentClientLinkContent" target="_blank">
@ -139,6 +145,7 @@ import kaozheng from '@/images/index/kaozheng@2x.png';
import dsfyingyong from '@/images/index/dsfyingyong@2x.png';
import yingyongzx from '@/images/index/yingyongzx@2x.png';
import kecheng2 from '@/images/index/kecheng@2x.png';
import algc from '@/images/index/metaso-ai-search-icon.png';
export default {
name: 'Navbar',
data() {
@ -148,6 +155,7 @@ export default {
zichang:zichang,
jingsai:jingsai,
dsfyingyong:dsfyingyong,
algc:algc,
yonghu:this.$getHeadImg(),
onIndex:0,
userInfo:this.$ls.get(this.$getKeyInfo("userInfo")) || {},

@ -1,111 +1,168 @@
<!-- 任务2 -->
<template>
<div>
<div class="course_Task2">
<el-row style="border: 1px solid #D3D3D3;margin: 0 20px 20px 20px;padding: 0 20px 20px 20px;min-height: calc(100vh - 280px);">
<template v-if="examType == 2">
<p style="background-color: rgb(239, 242, 247);margin: 0 -20px;color: #2789E2;padding: 20px;">任务得分10 学习时长50分钟</p>
</template>
<p class="fontB"><i class="el-icon-document-remove icon_"></i>任务名称</p>
<p style="min-height: 21px;">{{taskInfo.taskTitle}}</p>
<p class="fontB"><i class="el-icon-s-data icon_" style="color: #8a39c2;"></i>任务分值</p>
<p style="min-height: 21px;">{{taskInfo.taskScore}}</p>
<p class="fontB"><i class="el-icon-document-copy icon_"></i>考核内容</p>
<el-row class="aljj">
<p>1至少观看{{taskInfo.assessmentRequirements}}分钟PPT</p>
<p>2每隔{{taskInfo.assessmentTime}}分钟弹出一次验证框</p>
</el-row>
<p class="fontB"><i class="el-icon-edit-outline icon_" style="color: #2eb68e;"></i>考核任务</p>
<el-row>
<el-col :span="10">
<el-table
border
:data="tableData"
style="width: calc(100% - 20px);">
<el-table-column type="index" header-align="center" align="center" width="100" label="序号"></el-table-column>
<el-table-column prop="fileName" header-align="center" align="center" label="PPT名称"></el-table-column>
<el-table-column prop="jd" header-align="center" align="center" label="进度" width="100">
<template slot-scope="scope">
<span style="color: #F83131;">{{scope.row.jd || '-'}}</span>
</template>
</el-table-column>
<el-table-column prop="_" header-align="center" align="center" label="操作" width="120">
<template slot-scope="scope">
<el-link type="primary" :underline="false" @click="seePpt(scope.row)">{{scope.row.jd == 0?"":""}}</el-link>
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="14">
<el-row style="width: 100%;height: 600px;background-color:#E5E5E5;line-height: 300px;text-align: center;">
<iframe v-if="URLInfo" id="InformationURL" :src='URLInfo+"#toolbar=0"' width='100%' height='100%' frameborder='1'></iframe>
<p v-if="!URLInfo">PPT</p>
</el-row>
</el-col>
</el-row>
<div>
<div class="course_Task2">
<el-row
style="border: 1px solid #D3D3D3;margin: 0 20px 20px 20px;padding: 0 20px 20px 20px;min-height: calc(100vh - 280px);"
>
<template v-if="examType == 2">
<p
style="background-color: rgb(239, 242, 247);margin: 0 -20px;color: #2789E2;padding: 20px;"
>
任务得分10 学习时长50分钟
</p>
</template>
<p class="fontB">
<i class="el-icon-document-remove icon_"></i>任务名称
</p>
<p style="min-height: 21px;">{{ taskInfo.taskTitle }}</p>
<p class="fontB">
<i class="el-icon-s-data icon_" style="color: #8a39c2;"></i>任务分值
</p>
<p style="min-height: 21px;">{{ taskInfo.taskScore }}</p>
<p class="fontB">
<i class="el-icon-document-copy icon_"></i>考核内容
</p>
<el-row class="aljj">
<p>1至少观看{{ taskInfo.assessmentRequirements }}分钟PPT</p>
<p>2每隔{{ taskInfo.assessmentTime }}分钟弹出一次验证框</p>
</el-row>
</div>
<p class="fontB">
<i class="el-icon-edit-outline icon_" style="color: #2eb68e;"></i
>考核任务
</p>
<el-row>
<el-col :span="10">
<el-table
border
:data="tableData"
style="width: calc(100% - 20px);"
>
<el-table-column
type="index"
header-align="center"
align="center"
width="100"
label="序号"
></el-table-column>
<el-table-column
prop="fileName"
header-align="center"
align="center"
label="PPT名称"
></el-table-column>
<el-table-column
prop="jd"
header-align="center"
align="center"
label="进度"
width="100"
>
<template slot-scope="scope">
<span style="color: #F83131;">{{ scope.row.jd || "-" }}</span>
</template>
</el-table-column>
<el-table-column
prop="_"
header-align="center"
align="center"
label="操作"
width="120"
>
<template slot-scope="scope">
<el-link
type="primary"
:underline="false"
@click="seePpt(scope.row)"
>{{ scope.row.jd == 0 ? "观看" : "继续观看" }}</el-link
>
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="14">
<el-row
style="width: 100%;height: 600px;background-color:#E5E5E5;line-height: 300px;text-align: center;"
>
<iframe
v-if="URLInfo"
id="InformationURL"
:src="URLInfo + '#toolbar=0'"
width="100%"
height="100%"
frameborder="1"
></iframe>
<p v-if="!URLInfo">PPT</p>
</el-row>
</el-col>
</el-row>
</el-row>
</div>
</div>
</template>
<script>
export default {
name: 'Task2',
name: "Task2",
props: {
examType: { // 1 2
examType: {
// 1 2
type: String,
default: function(){
default: function() {
return 1;
}
},
taskId: { //ID
taskId: {
//ID
type: String,
default: function(){
default: function() {
return "";
}
},
}
},
data() {
return {
tableData: [],
taskInfo:{}, //
URLInfo:""
}
taskInfo: {}, //
URLInfo: ""
};
},
created() {
this.getInfo();
},
mounted() {
},
mounted() {},
methods: {
getInfo(){ //
this.$get("/api/teacherOpenCourseHandsOnSimulationTasks/getInfo.do",{taskId:this.taskId}).then((ret) =>{
if(ret.code == 0){
getInfo() {
//
this.$get("/api/teacherOpenCourseHandsOnSimulationTasks/getInfo.do", {
taskId: this.taskId
}).then(ret => {
if (ret.code == 0) {
this.taskInfo = ret.data;
this.tableData = ret.data.teacherOpenCourseHandsOnSimulationTasksFileList;
}else{
this.$message({message: ret.msg,type: 'error'});
this.tableData =
ret.data.teacherOpenCourseHandsOnSimulationTasksFileList;
} else {
this.$message({ message: ret.msg, type: "error" });
}
});
},
seePpt(item){ //PPT
seePpt(item) {
//PPT
this.URLInfo = this.$isHttp(item.fileUrl);
}
}
};
</script>
<style lang="less">
.course_Task2{
.icon_{
color: #2789E2;margin-right: 10px;
}
.has-gutter{
th{
border-color:#E5E5E5;
background-color: #EFF2F7;
}
<style lang="less">
.course_Task2 {
.icon_ {
color: #2789e2;
margin-right: 10px;
}
.has-gutter {
th {
border-color: #e5e5e5;
background-color: #eff2f7;
}
}
}
</style>

@ -149,12 +149,16 @@
<img src="../../images/apps/30.png">
<h6>大数据技术</h6>
</div>
</div>
</div>
<div class="technology_item">
<a @click="myAppsDetails('大数据可视化')" :class="'layui-btn' + disabledInfo('大数据可视化')"><img src="../../images/apps/31.png"><span>大数据可视化</span></a>
<a @click="myAppsDetails('大数据分析挖掘')" :class="'layui-btn' + disabledInfo('大数据分析挖掘')"><img src="../../images/apps/32.png"><span>大数据分析挖掘</span></a>
<a @click="myAppsDetails('大数据储存')" :class="'layui-btn' + disabledInfo('大数据储存')"><img src="../../images/apps/33.png"><span>大数据储存</span></a>
<a @click="myAppsDetails('大数据采集')" :class="'layui-btn' + disabledInfo('大数据采集')"><img src="../../images/apps/34.png"><span>大数据采集</span></a>
<a @click="myAppsDetails('可视化BI')" :class="'layui-btn' + disabledInfo('可视化BI')"><img src="../../images/apps/31.png"><span>可视化BI</span></a>
<a @click="myAppsDetails('金融大数据')" :class="'layui-btn' + disabledInfo('金融大数据')"><img src="../../images/apps/62.png"><span>金融大数据</span></a>
<a @click="myAppsDetails('分析挖掘')" :class="'layui-btn' + disabledInfo('分析挖掘')"><img src="../../images/apps/63.png"><span>分析挖掘</span></a>
<a @click="myAppsDetails('商务大数据')" :class="'layui-btn' + disabledInfo('商务大数据')"><img src="../../images/apps/indicatorsxq-new.png"><span>商务大数据</span></a>
<a @click="myAppsDetails('大数据ETL')" :class="'layui-btn' + disabledInfo('大数据ETL')"><img src="../../images/apps/64.png"><span>大数据ETL</span></a>
<a @click="myAppsDetails('用户画像')" :class="'layui-btn' + disabledInfo('用户画像')"><img src="../../images/apps/65.png"><span>用户画像</span></a>
<a @click="myAppsDetails('大数据基础')" :class="'layui-btn' + disabledInfo('大数据基础')"><img src="../../images/apps/33.png"><span>大数据基础</span></a>
<a @click="myAppsDetails('文本挖掘')" :class="'layui-btn' + disabledInfo('文本挖掘')"><img src="../../images/apps/34.png"><span>文本挖掘</span></a>
</div>
</li>
<li>
@ -168,12 +172,12 @@
<div class="technology_item">
<a @click="myAppsDetails('智能风控')" :class="'layui-btn' + disabledInfo('智能风控')"><img src="../../images/apps/36.png"><span>智能风控</span></a>
<a @click="myAppsDetails('智能投顾')" :class="'layui-btn' + disabledInfo('智能投顾')"><img src="../../images/apps/37.png"><span>智能投顾</span></a>
<a @click="myAppsDetails('智能投研')" :class="'layui-btn' + disabledInfo('智能投研')"><img src="../../images/apps/38.png"><span>智能投研</span></a>
<a @click="myAppsDetails('智能支付')" :class="'layui-btn' + disabledInfo('智能支付')"><img src="../../images/apps/39.png"><span>智能支付</span></a>
<a @click="myAppsDetails('智能营销')" :class="'layui-btn' + disabledInfo('智能营销')"><img src="../../images/apps/40.png"><span>智能营销</span></a>
<a @click="myAppsDetails('AIGC大模型')" :class="'layui-btn' + disabledInfo('AIGC大模型')"><img src="../../images/apps/38.png"><span>AIGC大模型</span></a>
<a @click="myAppsDetails('数字贸易')" :class="'layui-btn' + disabledInfo('数字贸易')"><img src="../../images/apps/39.png"><span>数字贸易</span></a>
<a @click="myAppsDetails('数字营销')" :class="'layui-btn' + disabledInfo('数字营销')"><img src="../../images/apps/40.png"><span>数字营销</span></a>
<a @click="myAppsDetails('智能交易')" :class="'layui-btn' + disabledInfo('智能交易')"><img src="../../images/apps/41.png"><span>智能交易</span></a>
<a @click="myAppsDetails('人工智能实训')" :class="'layui-btn' + disabledInfo('人工智能实训')"><img src="../../images/apps/42.png"><span>人工智能实训</span></a>
<a @click="myAppsDetails('智能数据')" :class="'layui-btn' + disabledInfo('智能数据')"><span>智能数据</span></a>
<a @click="myAppsDetails('AI基础')" :class="'layui-btn' + disabledInfo('AI基础')"><img src="../../images/apps/42.png"><span>AI基础</span></a>
<a @click="myAppsDetails('机器学习')" :class="'layui-btn' + disabledInfo('机器学习')"><span>机器学习</span></a>
</div>
</li>
<li>
@ -183,7 +187,6 @@
<h6>云计算技术</h6>
</div>
</div>
<div class="technology_item">
<a @click="myAppsDetails('公有云')" :class="'layui-btn' + disabledInfo('公有云')"><img src="../../images/apps/45.png"><span>公有云</span></a>
<a @click="myAppsDetails('私有云')" :class="'layui-btn' + disabledInfo('私有云')"><img src="../../images/apps/46.png"><span>私有云</span></a>
@ -205,8 +208,8 @@
<a @click="myAppsDetails('支付清算')" :class="'layui-btn' + disabledInfo('支付清算')"><img src="../../images/apps/53.png"><span>支付清算</span></a>
<a @click="myAppsDetails('......')" :class="'layui-btn' + disabledInfo('......')"><img src="../../images/apps/54.png"><span>......</span></a>
<a @click="myAppsDetails('数字票据')" :class="'layui-btn' + disabledInfo('数字票据')"><img src="../../images/apps/55.png"><span>数字票据</span></a>
<a @click="myAppsDetails('供应链金融')" :class="'layui-btn' + disabledInfo('供应链金融')"><img src="../../images/apps/56.png"><span>供应链金融</span></a>
<a @click="myAppsDetails('区块链发票')" :class="'layui-btn' + disabledInfo('区块链发票')"><img src="../../images/apps/57.png"><span>区块链发票</span></a>
<a @click="myAppsDetails('数字供应链')" :class="'layui-btn' + disabledInfo('数字供应链')"><img src="../../images/apps/56.png"><span>数字供应链</span></a>
<a @click="myAppsDetails('数字发票')" :class="'layui-btn' + disabledInfo('数字发票')"><img src="../../images/apps/57.png"><span>数字发票</span></a>
<a @click="myAppsDetails('数字资产')" :class="'layui-btn' + disabledInfo('数字资产')"><img src="../../images/apps/58.png"><span>数字资产</span></a>
<a @click="myAppsDetails('数字人民币')" :class="'layui-btn' + disabledInfo('数字人民币')"><img src="../../images/apps/59.png"><span>数字人民币</span></a>
<a @click="myAppsDetails('区块链技术')" :class="'layui-btn' + disabledInfo('区块链技术')"><img src="../../images/apps/60.png"><span>区块链技术</span></a>
@ -234,7 +237,8 @@ export default {
myAppsList:[],
appInfo:{},
timeIn:null,
on_show:1
on_show:1 ,
};
},
created() {
@ -254,15 +258,26 @@ export default {
return ' layui-btn-disabled';
}
},
getInfo(){
this.$post("/api/resourcesApplication/getPageList.do",{page:1,limit:10000}).then((ret) =>{
getInfo(){
let AppsList=['证监会、银保监会、行业协会','大数据基础','区块链技术','可视化BI','文本挖掘','AI基础','数字人民币','数字供应链','机器学习','数字发票','供应链金融']
let Appsitem=[]
this.$post("/api/resourcesApplication/getPageList.do",{page:1,limit:10000}).then((ret) =>{
if(ret.code == 0){
this.myAppsList = ret.data;
for(let item of ret.data){
this.appInfo[item.applicationSecondLevelRelation] = item;
if(AppsList.includes(item.applicationSecondLevelRelation)){
Appsitem.push(item)
}
}
Appsitem.sort((a,b)=>{
return AppsList.indexOf(a.applicationSecondLevelRelation) - AppsList.indexOf(b.applicationSecondLevelRelation
)
})
console.log(Appsitem,"Appsitem");
this.$forceUpdate();
sessionStorage.setItem("Appsitem",JSON.stringify(Appsitem));
}else{
this.$message({message: ret.msg,type: 'error'});
}
@ -709,16 +724,20 @@ export default {
}
.bottom_part .technology li:first-child .technology_item {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.bottom_part .technology li:first-child .technology_item .layui-btn {
width: 154px;
width: 110px;
height: 32px;
}
.bottom_part .technology li:first-child .technology_item .layui-btn img {
width: 23px;
height: 24px;
}
}
}

@ -1,8 +1,7 @@
<template>
<div class="MyAppsDetails">
<el-row class="content_block mb30 p10">
<div style="padding: 20px 0;color: #ffffff;font-size: 20px;font-weight: bold">
{{info.applicationName}} > 应用介绍
<div style="padding: 20px 0;color: #ffffff;font-size: 20px;font-weight: bold"> {{info.applicationName}} > 应用介绍
</div>
<div class="application_wrap">
<div class="application_container">
@ -133,7 +132,17 @@ export default {
*/
openNewWindow() {
if (!this.$isEmpty(this.info.realUrl)) {
window.open(this.info.realUrl)
let userInfo=this.$ls.get(this.$getKeyInfo("userInfo")) || {}
let JT_Sapps=['数字发票','数字供应链','数字人民币']
if(userInfo.jobType1 =='JT_S_02'){
if(JT_Sapps.includes(this.info.applicationSecondLevelRelation)){
window.open(this.info.realUrl.replace(/^(https?:\/\/[^\/]+)(.*)$/, `${'https://qkljr.sztzjy.com:89'}$2`))
}else{
window.open(this.info.realUrl.includes('https://szjj.sztzjy.com:99/') ? this.info.realUrl.replace('https://szjj.sztzjy.com:99/','https://szjj.sztzjy.com:98/') : this.info.realUrl)
}
}else{
window.open(this.info.realUrl)
}
}
},
addSystem(){ //使

@ -1,5 +1,14 @@
<template>
<div class="MyAppsEconomics">
<div class="apps">
<div class="appsitems">
<ul>
<li v-for="item in appsList" :key="item" @click="goApps(item)">
<img :src="`https://zycloud.sztzjy.com/server${item.thumbnailUrl}`" alt="">
<span>{{ item.applicationName }}</span>
</li>
</ul>
</div>
<div class="MyAppsEconomics">
<div class="home-content">
<div class="module">
<div class="module-name"><span>数字化治理</span></div>
@ -111,7 +120,8 @@
<img src="../../images/Economics/logo3.png" alt="" />
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
@ -119,6 +129,7 @@ export default {
name: "",
data() {
return {
appsList:[],
GovernanceList: [
{
name: "碳金融",
@ -323,6 +334,7 @@ export default {
},
created() {
this.getinfo()
this.appsList=sessionStorage.getItem('Appsitem')?JSON.parse(sessionStorage.getItem('Appsitem')):[]
},
computed: {},
methods: {
@ -372,19 +384,72 @@ export default {
item.authorityInfo=res.data[3].moduleInfoDTOList[index].authorityInfo
})
});
},
goApps(itemurl){
let userInfo=this.$ls.get(this.$getKeyInfo("userInfo")) || {}
let JT_Sapps=['数字发票','数字供应链','数字人民币']
if(userInfo.jobType1 =='JT_S_02'){
if(JT_Sapps.includes(itemurl.applicationSecondLevelRelation)){
window.open(itemurl.realUrl.replace(/^(https?:\/\/[^\/]+)(.*)$/, `${'https://qkljr.sztzjy.com:89'}$2`))
}else{
window.open(itemurl.realUrl.includes('https://szjj.sztzjy.com:99/') ?itemurl.realUrl.replace('https://szjj.sztzjy.com:99/','https://szjj.sztzjy.com:98/') : itemurl.realUrl)
}
}else{
window.open(itemurl.realUrl)
}
}
}
},
};
</script>
<style lang="less" scoped>
.apps{
.appsitems{
min-height: 60px;
background: #ffffff;
ul{
display: flex;
align-items: center;
flex-wrap: wrap;
//
white-space: nowrap;
// overflow-x: auto;
gap: 20px 40px;
list-style: none;
li{
display: flex;
align-items: center;
//
cursor: pointer;
min-width: 210px;
img{
width: 40px;
height: 40px ;
border-radius: 4px;
}
span{
margin-left: 5px;
font-size: 13px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #1a2029
}
}
}
}
}
.MyAppsEconomics {
//
// width: 100%;
height: calc(100% - 95px);
background: linear-gradient(0deg, #ffffff 0%, #f4f6fe 100%);
box-shadow: 0px 3px 15px 1px rgba(7, 9, 128, 0.22);
border-radius: 20px;
padding: 10px;
.home-content {
pointer-events: none;
cursor: not-allowed;
.module {
margin-top: 16px;
height: 152px;

@ -0,0 +1,51 @@
<template>
<div
class="el-Aitools"
v-loading="loading"
element-loading-text="Loading..."
:element-loading-spinner="svg"
element-loading-svg-view-box="-10, -10, 50, 50"
element-loading-background="rgba(122, 122, 122, 0.8)"
>
<iframe
id="iframe"
src="https://ai-bot.cn/"
width="100%"
height="100%"
frameborder="1"
></iframe>
</div>
</template>
<script>
export default {
name: "",
data() {
return {
loading: true
};
},
created() {},
mounted() {
setTimeout(() => {
this.loading = false;
}, 2000);
},
computed: {},
methods: {}
};
</script>
<style lang="less" scoped>
.el-Aitools {
position: relative;
padding: 20px 20px 0;
min-height: calc(100vh - 95px);
#iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
}
</style>

@ -81,7 +81,7 @@ import AssetAllocation from '@/pages/asset/AssetAllocation'; //资产配置
import UserCenter from '@/pages/user/UserCenter'; //用户中心(学生端)
import TUserCenter from '@/pages/user/TUserCenter'; //用户中心(教师端)
import ThirdParty from '@/pages/user/ThirdParty'; //第三方应用
import AiTools from '@/pages/user/AiTools'; //竞赛中心
//考证信息
import Coach from '@/pages/certificate/Coach'; //考证辅导
import TCoach from '@/pages/certificate/TCoach'; //教师辅导
@ -242,6 +242,13 @@ const router = new Router({
component: ThirdParty,
meta: { title: '第三方应用',oneLogTitle:"第三方应用", requireAuth: true}
},
// 新增ai工具页面路由
{
path: '/algclargemodel/',
name: 'algclargemodel',
component: AiTools,
meta: { title: 'AlGC大模型',oneLogTitle:"AlGC大模型", requireAuth: true}
},
{
path: '/coach/',
name: 'Coach',

Loading…
Cancel
Save