提交 c0fca1ab authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 ae428794
VITE_LOGIN_URL=https://login.segcdc.cn/auth/login/index VITE_LOGIN_URL=https://login.segcdc.cn/auth/login/index
VITE_QA_CENTER_URL=https://qa-center.segcdc.cn
VITE_BI_URL=https://bi.segcdc.cn
-----BEGIN RSA PRIVATE KEY----- -----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY----- -----END RSA PRIVATE KEY-----
\ No newline at end of file
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIGtjCCBZ6gAwIBAgIQDjUArTRdZ4P5wtQVmCqJGjANBgkqhkiG9w0BAQsFADBj MIIGtDCCBZygAwIBAgIQJtN62MbxMBaLhLadTXD/LzANBgkqhkiG9w0BAQsFADBj
MQswCQYDVQQGEwJDTjE2MDQGA1UECgwtQmVpamluZyBYaW5jaGFjaGEgQ3JlZGl0 MQswCQYDVQQGEwJDTjE2MDQGA1UECgwtQmVpamluZyBYaW5jaGFjaGEgQ3JlZGl0
IE1hbmFnZW1lbnQgQ28uLCBMdGQuMRwwGgYDVQQDDBNYY2MgVHJ1c3QgT1YgU1NM IE1hbmFnZW1lbnQgQ28uLCBMdGQuMRwwGgYDVQQDDBNYY2MgVHJ1c3QgT1YgU1NM
IENBMB4XDTIyMDgxODE0MDAzMVoXDTIzMDkxNzE0MDAzMFowgY4xCzAJBgNVBAYT IENBMB4XDTIzMDkwNzA1NTM0MVoXDTI0MDkwNjA1NTM0MFowgY4xCzAJBgNVBAYT
AkNOMRIwEAYDVQQIDAnljJfkuqzluIIxEjAQBgNVBAcMCeWMl+S6rOW4gjE/MD0G AkNOMRIwEAYDVQQIDAnljJfkuqzluIIxEjAQBgNVBAcMCeWMl+S6rOW4gjE/MD0G
A1UECgw25riF5o6n57Sr6I2G77yI5YyX5Lqs77yJ5pWZ6IKy56eR5oqA6IKh5Lu9 A1UECgw25riF5o6n57Sr6I2G77yI5YyX5Lqs77yJ5pWZ6IKy56eR5oqA6IKh5Lu9
5pyJ6ZmQ5YWs5Y+4MRYwFAYDVQQDDA0qLmV6aWppbmcuY29tMIIBIjANBgkqhkiG 5pyJ6ZmQ5YWs5Y+4MRYwFAYDVQQDDA0qLmV6aWppbmcuY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAucCbdPPyAp6vmnr5XObuPsctUhVLyXwqbIpg 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwZGHX8Zg+EP5uwnEBWkQazq8DMnKz3QfcNRU
I5jWzjG7wmk8V6z8WJKPO9KZM6D9ejtN/bbbd3j1cRiw7NSl8AUykiVHJWz9TXAf jFsxsZjM/98roYYp+K6/i/b8JXAVMqjC9+X/ZajgbDPLTrgDJ4TQ70ajdusqG3sw
lET2EpILLeraI1B2XAcBsc8dZBGGJD/LT97ZvNLYzuQOr7R1wytWH1uisAK5Clzg NqG0qLUogNgUPcgVRKr2Pk+m79GD/nnxFgeaG6eBfLsb73G2cQUwsgi3bjf6mX6b
nSptMenXFyhw5Xw0Lm3zoeeqYF/KMQ1McAYMGxgu6s6dxXKiA0BcgWQ31yZey0c4 9bjxjqzwX0PWes27yyqdS9uQFzV5KLTA2FJJjGGbg54ZLxVc01aVXx2gG0eLnOFc
HhCt7T7sA/UNahUsxtCcSNSvdgXay5Pu/l3N88TwW2QzaCzrueILHWRFwkREhpqy DSmgXUN4hBmNgYF4FYHhOVXdMl2+yGGp6IvtIIrt+cp2/TQePnxB2QYwrlDMajHr
rwjN3gkaa+1TjLxzCsk/pTnPccxlFwc3YQ3hYLMl36NJ/OIpHwIDAQABo4IDODCC Kp0x7LsqWwZTjepPgGWWDssiSgTCYVaPx28ESbotpzR7D+LlHQIDAQABo4IDNjCC
AzQwDAYDVR0TAQH/BAIwADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8veGluY2hh AzIwDAYDVR0TAQH/BAIwADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8veGluY2hh
Y2hhMm92LmNybC5jZXJ0dW0ucGwveGluY2hhY2hhMm92LmNybDB5BggrBgEFBQcB Y2hhMm92LmNybC5jZXJ0dW0ucGwveGluY2hhY2hhMm92LmNybDB5BggrBgEFBQcB
AQRtMGswLwYIKwYBBQUHMAGGI2h0dHA6Ly94aW5jaGFjaGEyb3Yub2NzcC1jZXJ0 AQRtMGswLwYIKwYBBQUHMAGGI2h0dHA6Ly94aW5jaGFjaGEyb3Yub2NzcC1jZXJ0
dW0uY29tMDgGCCsGAQUFBzAChixodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwv dW0uY29tMDgGCCsGAQUFBzAChixodHRwOi8vcmVwb3NpdG9yeS5jZXJ0dW0ucGwv
eGluY2hhY2hhMm92LmNlcjAfBgNVHSMEGDAWgBT6oMvCx12BtSCSByALtjtwOwkO eGluY2hhY2hhMm92LmNlcjAfBgNVHSMEGDAWgBT6oMvCx12BtSCSByALtjtwOwkO
VTAdBgNVHQ4EFgQUEJufsd5nLNR+wqR2GsFWDn7qTn0wTAYDVR0gBEUwQzAIBgZn VTAdBgNVHQ4EFgQUXm2TAFqEePvMkmcMN+bVXSvLTH8wTAYDVR0gBEUwQzAIBgZn
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
-----END CERTIFICATE----- -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIEzzCCA7egAwIBAgIRAPJECC2rqQ2ljHLp8pqTQK4wDQYJKoZIhvcNAQELBQAw MIIEzzCCA7egAwIBAgIRAPJECC2rqQ2ljHLp8pqTQK4wDQYJKoZIhvcNAQELBQAw
...@@ -111,3 +111,4 @@ CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x ...@@ -111,3 +111,4 @@ CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
6GAqm4VKQPNriiTsBhYscw== 6GAqm4VKQPNriiTsBhYscw==
-----END CERTIFICATE----- -----END CERTIFICATE-----
...@@ -55,12 +55,12 @@ export const menus: IMenuItem[] = [ ...@@ -55,12 +55,12 @@ export const menus: IMenuItem[] = [
{ {
icon: Collection, icon: Collection,
name: '题库管理', name: '题库管理',
path: 'https://qa-center.ezijing.com/question/list' path: import.meta.env.VITE_QA_CENTER_URL + '/question/list'
}, },
{ {
icon: ToiletPaper, icon: ToiletPaper,
name: '试卷管理', name: '试卷管理',
path: 'https://qa-center.ezijing.com/paper/list' path: import.meta.env.VITE_QA_CENTER_URL + '/paper/list'
} }
] ]
}, },
...@@ -190,19 +190,25 @@ export const menus: IMenuItem[] = [ ...@@ -190,19 +190,25 @@ export const menus: IMenuItem[] = [
tag: '', tag: '',
icon: DataAnalysis, icon: DataAnalysis,
name: '课程资源数据画像', name: '课程资源数据画像',
path: 'http://114.242.229.132:18080/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!8d44!!6e90!!6570!!636e!!753b!!50cf!.db&platform=PC&browserType=chrome' path:
import.meta.env.VITE_BI_URL +
'/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!8d44!!6e90!!6570!!636e!!753b!!50cf!.db&platform=PC&browserType=chrome'
}, },
{ {
tag: '', tag: '',
icon: DataAnalysis, icon: DataAnalysis,
name: '在线学习数据画像', name: '在线学习数据画像',
path: 'http://114.242.229.132:18080/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!5b66!!4e60!!884c!!4e3a!!753b!!50cf!.db&platform=PC&browserType=chrome' path:
import.meta.env.VITE_BI_URL +
'/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!5b66!!4e60!!884c!!4e3a!!753b!!50cf!.db&platform=PC&browserType=chrome'
}, },
{ {
tag: '', tag: '',
icon: DataAnalysis, icon: DataAnalysis,
name: '生源地分布', name: '生源地分布',
path: 'http://114.242.229.132:18080/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!751f!!6e90!!5730!!5206!!5e03!.db&platform=PC&browserType=chrome' path:
import.meta.env.VITE_BI_URL +
'/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!751f!!6e90!!5730!!5206!!5e03!.db&platform=PC&browserType=chrome'
} }
] ]
} }
......
...@@ -13,14 +13,14 @@ interface Emits { ...@@ -13,14 +13,14 @@ interface Emits {
const handleCancel = () => { const handleCancel = () => {
emit('update:isShowAnalysisDialog', false) emit('update:isShowAnalysisDialog', false)
} }
const biURL = import.meta.env.VITE_BI_URL
</script> </script>
<template> <template>
<el-dialog :model-value="isShowAnalysisDialog" draggable :before-close="handleCancel" width="30%"> <el-dialog :model-value="isShowAnalysisDialog" draggable :before-close="handleCancel" width="30%">
<div class="main_content"> <div class="main_content">
<iframe <iframe
src="http://114.242.229.132:18080/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!751f!!6e90!!5730!!5206!!5e03!.db&platform=PC&browserType=chrome" :src="`${biURL}/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!751f!!6e90!!5730!!5206!!5e03!.db&platform=PC&browserType=chrome`"
frameborder="0" frameborder="0"></iframe>
></iframe>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -107,30 +107,18 @@ const handleSelectionChange = (val: any) => { ...@@ -107,30 +107,18 @@ const handleSelectionChange = (val: any) => {
const handleAnalysis = () => { const handleAnalysis = () => {
// isShowAnalysisDialog.value = true // isShowAnalysisDialog.value = true
window.open( window.open(
'http://114.242.229.132:18080/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!751f!!6e90!!5730!!5206!!5e03!.db&platform=PC&browserType=chrome' import.meta.env.VITE_BI_URL +
'/bi/?proc=1&action=viewer&hback=true&isInPreview=true&db=!7d2b!!8346!!6559!!80b2!e-SaaS!2f!!751f!!6e90!!5730!!5206!!5e03!.db&platform=PC&browserType=chrome'
) )
} }
</script> </script>
<template> <template>
<AppCard title="学生管理"> <AppCard title="学生管理">
<AppList <AppList v-bind="listOptions" ref="appList" @selection-change="handleSelectionChange" border stripe style="margin-top: 30px">
v-bind="listOptions" <el-button type="primary" round @click="handleAddStudent" v-permission="'v1-learning-student-create'">新增学生</el-button>
ref="appList" <el-button type="primary" round @click="handleImport" v-permission="'v1-learning-student-import'">批量导入</el-button>
@selection-change="handleSelectionChange" <el-button type="primary" round @click="handleExport" v-permission="'v1-learning-student-download'">导出</el-button>
border
stripe
style="margin-top: 30px"
>
<el-button type="primary" round @click="handleAddStudent" v-permission="'v1-learning-student-create'"
>新增学生</el-button
>
<el-button type="primary" round @click="handleImport" v-permission="'v1-learning-student-import'"
>批量导入</el-button
>
<el-button type="primary" round @click="handleExport" v-permission="'v1-learning-student-download'"
>导出</el-button
>
<el-button type="primary" round @click="handleAnalysis">生源地分析</el-button> <el-button type="primary" round @click="handleAnalysis">生源地分析</el-button>
<template v-if="isAdmin" #filter-department="{ params }"> <template v-if="isAdmin" #filter-department="{ params }">
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属部门/学校:</div> <div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属部门/学校:</div>
...@@ -147,30 +135,18 @@ const handleAnalysis = () => { ...@@ -147,30 +135,18 @@ const handleAnalysis = () => {
inline-prompt inline-prompt
style="--el-switch-on-color: #aa1941" style="--el-switch-on-color: #aa1941"
@change="handleChangeStatus(row)" @change="handleChangeStatus(row)"
:disabled="!isAdmin" :disabled="!isAdmin"></el-switch>
></el-switch>
</template> </template>
<template #table-operate="{ row }"> <template #table-operate="{ row }">
<el-space> <el-space>
<el-link type="primary" plain @click="handleDetail(row)" v-permission="'v1-learning-student-view'" <el-link type="primary" plain @click="handleDetail(row)" v-permission="'v1-learning-student-view'">查看</el-link>
>查看</el-link <el-link type="primary" plain @click="handleEdit(row)" v-permission="'v1-learning-student-update'">编辑</el-link>
>
<el-link type="primary" plain @click="handleEdit(row)" v-permission="'v1-learning-student-update'"
>编辑</el-link
>
</el-space> </el-space>
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
<!-- 新增学生 --> <!-- 新增学生 -->
<AddStudent <AddStudent v-if="isShowAddDialog === true" v-model:isShowAddDialog="isShowAddDialog" :id="id" :title="title" :isEdit="isEdit" @create="handleRefresh" />
v-if="isShowAddDialog === true"
v-model:isShowAddDialog="isShowAddDialog"
:id="id"
:title="title"
:isEdit="isEdit"
@create="handleRefresh"
/>
<!-- 导入学生 --> <!-- 导入学生 -->
<ImportStudent v-if="isShowImportDialog" v-model:isShowImportDialog="isShowImportDialog" @create="handleRefresh" /> <ImportStudent v-if="isShowImportDialog" v-model:isShowImportDialog="isShowImportDialog" @create="handleRefresh" />
<!-- 生源地分析 --> <!-- 生源地分析 -->
......
...@@ -86,7 +86,7 @@ const listOptions = $computed(() => { ...@@ -86,7 +86,7 @@ const listOptions = $computed(() => {
], ],
columns: [ columns: [
{ label: '序号', type: 'index', align: 'center', width: 80 }, { label: '序号', type: 'index', align: 'center', width: 80 },
{ label: '帖子标题', prop: 'title', align: 'center', width: 100 }, { label: '帖子标题', prop: 'title', align: 'center', minWidth: 100 },
{ label: '帖子类型', prop: 'type_name', align: 'center', width: 100 }, { label: '帖子类型', prop: 'type_name', align: 'center', width: 100 },
{ label: '发帖人', prop: 'sso_name', align: 'center', width: 100 }, { label: '发帖人', prop: 'sso_name', align: 'center', width: 100 },
{ label: '所属课程', prop: 'course_name', align: 'center', width: 200 }, { label: '所属课程', prop: 'course_name', align: 'center', width: 200 },
...@@ -253,14 +253,7 @@ const handleReply = (row: any) => { ...@@ -253,14 +253,7 @@ const handleReply = (row: any) => {
<template> <template>
<AppCard title="帖子管理"> <AppCard title="帖子管理">
<AppList v-bind="listOptions" ref="appList" border stripe> <AppList v-bind="listOptions" ref="appList" border stripe>
<el-button <el-button type="primary" round @click="handleAddPosts" style="margin-bottom: 20px" v-permission="'v1-teaching-discussion-create'">新建帖子</el-button>
type="primary"
round
@click="handleAddPosts"
style="margin-bottom: 20px"
v-permission="'v1-teaching-discussion-create'"
>新建帖子</el-button
>
<template #filter-department> <template #filter-department>
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属部门/学校:</div> <div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属部门/学校:</div>
<el-select @change="handleChangeOrgan" clearable v-model="organ_id" placeholder="请选择所属部门/学校"> <el-select @change="handleChangeOrgan" clearable v-model="organ_id" placeholder="请选择所属部门/学校">
...@@ -269,67 +262,34 @@ const handleReply = (row: any) => { ...@@ -269,67 +262,34 @@ const handleReply = (row: any) => {
</template> </template>
<template #filter-semester> <template #filter-semester>
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属学期:</div> <div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属学期:</div>
<el-select <el-select @change="handleChangeSemester" clearable v-model="semester_id" placeholder="请选择所属学期" no-data-text="请先选择所属部门/学校">
@change="handleChangeSemester"
clearable
v-model="semester_id"
placeholder="请选择所属学期"
no-data-text="请先选择所属部门/学校"
>
<el-option v-for="item in semesterList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in semesterList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</template> </template>
<template #filter-class> <template #filter-class>
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属班级:</div> <div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属班级:</div>
<el-select <el-select @change="handleChangeClass" clearable v-model="class_id" placeholder="请选择所属班级" no-data-text="请先选择所属学期">
@change="handleChangeClass"
clearable
v-model="class_id"
placeholder="请选择所属班级"
no-data-text="请先选择所属学期"
>
<el-option v-for="item in classList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in classList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</template> </template>
<template #filter-course> <template #filter-course>
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属课程:</div> <div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属课程:</div>
<el-select <el-select @change="handleChangeCourse" clearable v-model="course_id" placeholder="请选择所属课程" no-data-text="请先选择所属班级">
@change="handleChangeCourse"
clearable
v-model="course_id"
placeholder="请选择所属课程"
no-data-text="请先选择所属班级"
>
<el-option v-for="item in courseList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in courseList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</template> </template>
<template #filter-chapter> <template #filter-chapter>
<div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属章节:</div> <div class="name" style="font-size: 14px; color: #606266; padding-right: 12px">所属章节:</div>
<el-select <el-select @change="handleRefresh" clearable v-model="chapter_id" placeholder="请选择所属章节" no-data-text="请先选择所属课程">
@change="handleRefresh"
clearable
v-model="chapter_id"
placeholder="请选择所属章节"
no-data-text="请先选择所属课程"
>
<el-option v-for="item in chapterList" :key="item.id" :label="item.name" :value="item.id" /> <el-option v-for="item in chapterList" :key="item.id" :label="item.name" :value="item.id" />
</el-select> </el-select>
</template> </template>
<template #table-operate="{ row }"> <template #table-operate="{ row }">
<el-link type="primary" plain @click="handleReply(row)" v-permission="'v1-teaching-discussion-list'" <el-link type="primary" plain @click="handleReply(row)" v-permission="'v1-teaching-discussion-list'">添加回复</el-link>
>添加回复</el-link <el-link type="primary" plain style="margin: 0 10px" @click="handleSetTop(row)" v-permission="'v1-teaching-discussion-set-top'">{{
> row.is_top === '1' ? '取消置顶' : '置顶'
<el-link }}</el-link>
type="primary" <el-link type="primary" plain @click="handleDel(row)" v-permission="'v1-teaching-discussion-delete'">删除</el-link>
plain
style="margin: 0 10px"
@click="handleSetTop(row)"
v-permission="'v1-teaching-discussion-set-top'"
>{{ row.is_top === '1' ? '取消置顶' : '置顶' }}</el-link
>
<el-link type="primary" plain @click="handleDel(row)" v-permission="'v1-teaching-discussion-delete'"
>删除</el-link
>
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
......
...@@ -4,7 +4,7 @@ import { fileURLToPath, URL } from 'url' ...@@ -4,7 +4,7 @@ import { fileURLToPath, URL } from 'url'
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
import checker from 'vite-plugin-checker' // import checker from 'vite-plugin-checker'
import AutoImport from 'unplugin-auto-import/vite' import AutoImport from 'unplugin-auto-import/vite'
export default defineConfig(({ mode }) => ({ export default defineConfig(({ mode }) => ({
...@@ -15,8 +15,8 @@ export default defineConfig(({ mode }) => ({ ...@@ -15,8 +15,8 @@ export default defineConfig(({ mode }) => ({
imports: ['vue', 'vue/macros', 'vue-router', '@vueuse/core'], imports: ['vue', 'vue/macros', 'vue-router', '@vueuse/core'],
dts: true, dts: true,
eslintrc: { enabled: true } eslintrc: { enabled: true }
}), })
checker({ vueTsc: true, eslint: { lintCommand: 'eslint "./src/**/*.{vue,js,jsx,ts,tsx}"' } }) // checker({ vueTsc: true, eslint: { lintCommand: 'eslint "./src/**/*.{vue,js,jsx,ts,tsx}"' } })
], ],
server: { server: {
open: true, open: true,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论