Compare commits
12 Commits
Author | SHA1 | Date |
---|---|---|
myxiaowei | 8f2f2d8bdf | 1 year ago |
Wangwei | a7143a2684 | 1 year ago |
myxiaowei | e231c445b7 | 1 year ago |
Wangwei | 1f6db98da2 | 1 year ago |
Wangwei | 91f742c2b6 | 1 year ago |
myxiaowei | a51f925485 | 1 year ago |
Suyu.Zhang | c245dbcf9c | 1 year ago |
Suyu.Zhang | 3626842554 | 1 year ago |
Wangwei | 463df93806 | 1 year ago |
Wangwei | d319454cb4 | 1 year ago |
Wangwei | f75384e9ad | 2 years ago |
Wangwei | 9afe22c075 | 2 years ago |
23 changed files with 7759 additions and 7264 deletions
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 75 KiB |
@ -0,0 +1,497 @@
|
||||
<template> |
||||
<el-backtop class="feedback-backtop"> |
||||
<svg viewBox="64 64 896 896" focusable="false" data-icon="up" width="14" height="14" fill="currentColor" aria-hidden="true"> |
||||
<path d="M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"></path> |
||||
</svg> |
||||
</el-backtop> |
||||
|
||||
<footer class="m-dn"> |
||||
<div class="footer"> |
||||
<div class="deanfooter" id="deanfooter" style="margin-top:0"> |
||||
<div class="w1200"> |
||||
<div> |
||||
<div class="flex-1 mb8"> |
||||
<img |
||||
class="foot_logo" |
||||
alt="" |
||||
src="data:image/png;base64,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" |
||||
/> |
||||
<div class="foot_a"> |
||||
<a class="foot_a_item" href="https://www.fanruan.com/privacy" target="_blank">隐私政策</a> |
||||
<a class="foot_a_item" href="https://bbs.fanruan.com/thread-102821-1-1.html" rel="nofollow" target="_blank">帆软用户协议</a> |
||||
<a class="foot_a_item" href="https://bbs.fanruan.com/thread-135379-1-1.html" rel="nofollow" target="_blank">联系管理员</a> |
||||
<a href="https://www.fanruan.com/support" target="_blank">联系帆软</a> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="xs0"> |
||||
<span id="debuginfo"> |
||||
Copyright © <a href="https://www.fanruan.com/" target="_blank">帆软软件有限公司</a> |
||||
<span class="foot_a_item mlf16">版权所有</span> |
||||
<a href="https://beian.miit.gov.cn/#/Integrated/index">苏ICP备18065767号</a> |
||||
</span> |
||||
</div> |
||||
</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</footer> |
||||
|
||||
<div class="m-footr m-db"> |
||||
<div class="footer_row"> |
||||
<span>Copyright © </span> |
||||
<a class="acol808" href="https://www.fanruan.com">帆软软件有限公司</a> |
||||
<span> 版权所有</span> |
||||
</div> |
||||
<a class="acol808" href="https://beian.miit.gov.cn/#/Integrated/index">苏ICP备18065767号</a> |
||||
</div> |
||||
|
||||
<!-- 用户侧 --> |
||||
<div class="service_feddback_box m-dn"> |
||||
<el-popover placement="left" trigger="hover" width="392px" popper-class="new-popper"> |
||||
<div class="tel_txt_box dr-feedback-popover-wrapper"> |
||||
<div class="dr-feedback-popover"> |
||||
<div class="dr-feedback-popover-item-click dr-feedback-popover-item" onclick="window.open('https://service.fanruan.com/support')"> |
||||
<div class="dr-feedback-popover-item-logo"> |
||||
<img src="https://fanruanbbs.obs.cn-east-2.myhuaweicloud.com/ui/digit-fe/feedback/support.png" /> |
||||
</div> |
||||
<div> |
||||
<div class="dr-feedback-popover-item-title-wrapper" style="gap: 8px;"> |
||||
<div class="ant-space-item" style=""> |
||||
<span class="title">在线支持</span> |
||||
</div> |
||||
<div class="ant-space-item"> |
||||
<span role="img" aria-label="arrow-right" class="anticon anticon-arrow-right icon"> |
||||
<svg viewBox="64 64 896 896" focusable="false" data-icon="arrow-right" width="12" height="12" fill="currentColor" aria-hidden="true"> |
||||
<path d="M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"></path> |
||||
</svg> |
||||
</span> |
||||
</div> |
||||
</div> |
||||
<div class="grey-text">工作日9:00-12:00,13:30-17:30在线</div> |
||||
<div class="dr-feedback-popover-item-info-wrapper"> |
||||
<div> |
||||
<div class="grey-text">或拨打热线电话:</div> |
||||
<div> |
||||
<div class="ant-space css-ph9edi ant-space-horizontal ant-space-align-center" style="gap: 8px;"> |
||||
<div class="ant-space-item" style=""> |
||||
<span class="grey-text">大陆</span> |
||||
</div> |
||||
<div class="ant-space-item"> |
||||
<div class="ant-space css-ph9edi ant-space-horizontal ant-space-align-center blue-text" style="gap: 8px;"> |
||||
<div class="ant-space-item">400-811-8890 转2</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div> |
||||
<div> |
||||
<span class="grey-text">海外</span> |
||||
<span class="blue-text">(+86) 0510-66758729</span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="dr-feedback-popover-item-click dr-feedback-popover-item" style="cursor: pointer;" @click="pageFeedbackHanlder(true)"> |
||||
<div class="dr-feedback-item"> |
||||
<div class="dr-feedback-popover-item-logo"> |
||||
<img alt="feedback" src="https://hwobs.fanruan.com/ui/digit-fe/feedback/feedback.png" /> |
||||
</div> |
||||
<div> |
||||
<div class="dr-feedback-popover-item-title-wrapper" style="gap: 8px;"> |
||||
<span class="title">页面反馈</span> |
||||
<span class="anticon anticon-arrow-right icon"> |
||||
<svg viewBox="64 64 896 896" focusable="false" data-icon="arrow-right" width="12" height="12" fill="currentColor" aria-hidden="true"> |
||||
<path d="M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"></path> |
||||
</svg> |
||||
</span> |
||||
</div> |
||||
<div class="grey-text">针对当前网页的建议、问题反馈</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="dr-feedback-popover-item"> |
||||
<div class="dr-feedback-popover-item-logo"> |
||||
<img src="https://hwobs.fanruan.com/ui/digit-fe/feedback/consult.png" /> |
||||
</div> |
||||
<div> |
||||
<div class="ant-space css-ph9edi ant-space-horizontal ant-space-align-center dr-feedback-popover-item-title-wrapper" style="gap: 8px;"> |
||||
<div class="ant-space-item"> |
||||
<span class="title">售前咨询</span> |
||||
</div> |
||||
</div> |
||||
<div class="grey-text">采购需求/获取报价/预约演示</div> |
||||
<div class="dr-feedback-popover-item-info-wrapper"> |
||||
<div class="grey-text">或拨打: <span class="blue-text">400-811-8890 转1</span></div> |
||||
</div> |
||||
</div> |
||||
<div> |
||||
<img alt="qr" src="https://fanruanbbs.obs.cn-east-2.myhuaweicloud.com/ui/digit-fe/feedback/qr.png" width="80" /> |
||||
</div> |
||||
</div> |
||||
<div class="dr-feedback-popover-item" style="margin-bottom: 0"> |
||||
<div class="dr-feedback-popover-item-logo"> |
||||
<img src="https://hwobs.fanruan.com/ui/digit-fe/feedback/tel.png" /> |
||||
</div> |
||||
<div> |
||||
<div class="ant-space css-ph9edi ant-space-horizontal ant-space-align-center dr-feedback-popover-item-title-wrapper" style="gap: 8px;"> |
||||
<div class="ant-space-item"> |
||||
<span class="title">总裁办24H电话</span> |
||||
</div> |
||||
</div> |
||||
<div class="blue-text">173 1278 1526</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<template #reference> |
||||
<div class="dr-feedback"> |
||||
<div class="dr-feedback-inner"> |
||||
<img class="dr-feedback-inner-icon" src="https://hwobs.fanruan.com/ui/digit-fe/feedback/customer.png" /> |
||||
<div>获取帮助</div> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
</el-popover> |
||||
</div> |
||||
|
||||
<el-dialog title="提交页面反馈" v-model="showFeedback" width="800px" custom-class="foot-dialog-feedback"> |
||||
<div class="flex-1 dia-msg-til"> |
||||
<span style="color: #FFA940; margin: 3px 6px 0 0;"> |
||||
<svg viewBox="64 64 896 896" focusable="false" data-icon="info-circle" width="1em" height="1em" fill="currentColor" aria-hidden="true"> |
||||
<path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"></path> |
||||
<path d="M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"></path> |
||||
</svg> |
||||
</span> |
||||
<span> |
||||
仅适用于当前网页的意见收集,帆软产品问题请在 |
||||
<a class="col008" href="https://bbs.fanruan.com/wenda" target="_blank">问答板块提问</a> 或 <a class="col008" href="https://service.fanruan.com/" target="_blank">前往服务平台</a> 获取技术支持 |
||||
</span> |
||||
</div> |
||||
<div id="feedbackIframe" style=" width:800px; height: 500px; overflow: hidden; border-radius: 8px;"></div> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
import { toRefs, reactive, getCurrentInstance } from "vue"; |
||||
import { getTicketToken } from "@/api/user"; |
||||
import { getUid } from "@/utils/cookie"; |
||||
import { onBeforeRouteUpdate, useRoute } from "vue-router"; |
||||
|
||||
export default { |
||||
setup() { |
||||
const { proxy } = getCurrentInstance(); |
||||
const route = useRoute(); |
||||
const state = reactive({ |
||||
showFeedback: false, |
||||
dialogShuzhiniao: false, |
||||
uid: getUid(), |
||||
ticketToken: null, |
||||
curPageUrl: window.location.href, |
||||
isFanruanUser: false, |
||||
mobile: null, |
||||
comLoginUrl: proxy.$root.com_login_url2 + route.path, |
||||
}); |
||||
|
||||
onBeforeRouteUpdate((to) => { |
||||
state.curPageUrl = proxy.$root.com_edu_url + to.fullPath; |
||||
state.comLoginUrl = proxy.$root.com_login_url2 + to.fullPath; |
||||
}); |
||||
|
||||
// 获取token |
||||
const resGetTicketToken = async () => { |
||||
const params = { |
||||
referer: state.curPageUrl, |
||||
}; |
||||
const res = await getTicketToken(params); |
||||
if (res.code === 200) { |
||||
let data = res.data; |
||||
if (data.finer === true) { |
||||
state.isFanruanUser = true; |
||||
state.mobile = data.mobile; |
||||
} else { |
||||
state.isFanruanUser = false; |
||||
state.ticketToken = data.ticketToken; |
||||
} |
||||
} |
||||
}; |
||||
resGetTicketToken(); |
||||
|
||||
// 处理点击页面反馈 |
||||
const pageFeedbackHanlder = (display) => { |
||||
if (state.uid > 0 && state.isFanruanUser === true) { |
||||
// 帆软内部人员 |
||||
if (display === false) { |
||||
const remIframe = document.getElementById("iframe_shuzhiniao"); |
||||
document.querySelector("body").removeChild(remIframe); |
||||
} else { |
||||
const iframe = document.createElement("iframe"); |
||||
iframe.src = `https://pe9qbh7c.shuzhiniao.com/web/#/h5/business/brd?embedded=true&modal=true&hideRootMenu=true&spaceId=11093&类型=37047&反馈人UID=${state.uid}&页面URL=${state.curPageUrl}&反馈人手机号=${state.mobile}&hiddenFields=页面URL,反馈人UID,处理人回复,类型`; |
||||
iframe.style = "width: 100vw; height: 100vh; position: fixed; top: 0px; left: 0px; z-index: 100000; border:none;"; |
||||
iframe.id = "iframe_shuzhiniao"; |
||||
document.querySelector("body").appendChild(iframe); |
||||
} |
||||
} else if (state.uid > 0) { |
||||
// 已登录用户 |
||||
state.showFeedback = true; |
||||
setTimeout(function() { |
||||
const iframe = document.createElement("iframe"); |
||||
iframe.src = `https://pe9qbh7c.shuzhiniao.com/web/#/ticket/a2555f84970f418a98960adb4029aed1/form?embedded=true&hiddenFields=${encodeURIComponent("页面URL,反馈人UID,处理人回复")}&ticketToken=${state.ticketToken}`; |
||||
iframe.style = "width: 100%; height: 100%; border:none;"; |
||||
iframe.id = "iframe_shuzhiniao"; |
||||
let makediv = document.getElementById("feedbackIframe"); |
||||
makediv.appendChild(iframe); |
||||
}, 200); |
||||
} else { |
||||
// 未登录 |
||||
window.location.replace(state.comLoginUrl); |
||||
} |
||||
}; |
||||
|
||||
// 监听iframe中的关闭 |
||||
function receiveMessage(event) { |
||||
const { data } = event; |
||||
if (data && data.type === "closeModal" && data.id === "shuzhiniao-create-issue") { |
||||
// 移除iframe |
||||
pageFeedbackHanlder(false); |
||||
} |
||||
} |
||||
window.addEventListener("message", receiveMessage, false); |
||||
|
||||
return { |
||||
...toRefs(state), |
||||
pageFeedbackHanlder, |
||||
}; |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
.feedback-backtop { |
||||
align-items: center; |
||||
background-color: #fff !important; |
||||
border-radius: 8px !important; |
||||
bottom: 80px !important; |
||||
box-shadow: 0 4px 12px 0 rgba(4, 43, 79, 0.12); |
||||
cursor: pointer; |
||||
display: flex !important; |
||||
height: 36px !important; |
||||
justify-content: center !important; |
||||
position: fixed; |
||||
right: 10px !important; |
||||
width: 36px !important; |
||||
background-image: none !important; |
||||
color: #333; |
||||
} |
||||
.new-popper { |
||||
border-radius: 8px !important; |
||||
} |
||||
.service_feddback_box { |
||||
position: fixed; |
||||
top: 50%; |
||||
transform: translateY(-50%); |
||||
right: 10px; |
||||
} |
||||
|
||||
.dr-feedback { |
||||
background: linear-gradient(144deg, #00b8fe 16%, #0082fc 87%); |
||||
border-radius: 8px; |
||||
box-shadow: 0 4px 12px 0 rgba(4, 43, 79, 0.12); |
||||
height: 84px; |
||||
width: 36px; |
||||
line-height: 1.5714285714285714; |
||||
} |
||||
|
||||
.dr-feedback, |
||||
.dr-feedback-inner { |
||||
align-items: center; |
||||
display: flex; |
||||
flex-direction: column; |
||||
justify-content: center; |
||||
position: relative; |
||||
z-index: 2; |
||||
} |
||||
.dr-feedback-inner { |
||||
color: #fff; |
||||
cursor: pointer; |
||||
font-size: 12px; |
||||
line-height: 14px; |
||||
text-align: center; |
||||
width: 80%; |
||||
} |
||||
.dr-feedback-inner-icon { |
||||
height: 20px; |
||||
margin-bottom: 8px; |
||||
width: 20px; |
||||
} |
||||
.dr-feedback-popover { |
||||
box-sizing: border-box; |
||||
padding: 4px; |
||||
width: 100%; |
||||
} |
||||
.dr-feedback-popover:before { |
||||
content: ""; |
||||
position: absolute; |
||||
right: -20px; |
||||
top: 0; |
||||
width: 20px; |
||||
height: 100%; |
||||
} |
||||
.ant-space { |
||||
display: inline-flex; |
||||
} |
||||
.ant-space-align-center { |
||||
align-items: center; |
||||
} |
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item { |
||||
align-items: flex-start; |
||||
background: linear-gradient(180deg, #f3f6ff, #fff); |
||||
border: 0.5px solid #d6dfe7; |
||||
border-radius: 8px; |
||||
box-sizing: border-box; |
||||
display: flex; |
||||
gap: 12px; |
||||
margin-bottom: 16px; |
||||
padding: 12px; |
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; |
||||
font-size: 14px; |
||||
line-height: 1.5714285714285714; |
||||
} |
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item-logo { |
||||
width: 48px; |
||||
} |
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item-logo img { |
||||
width: 100%; |
||||
border: none; |
||||
} |
||||
.dr-feedback-popover-item-title-wrapper { |
||||
display: inline-flex; |
||||
align-items: center; |
||||
.anticon-arrow-right { |
||||
color: #1f1f1f; |
||||
} |
||||
.title { |
||||
color: #1f1f1f; |
||||
} |
||||
} |
||||
|
||||
.dr-feedback-popover-item-click { |
||||
cursor: pointer; |
||||
&:hover .dr-feedback-popover-item-title-wrapper { |
||||
.anticon-arrow-right { |
||||
color: #0082fc; |
||||
} |
||||
.title { |
||||
color: #0082fc; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item-title-wrapper .title { |
||||
font-family: PingFangSC, PingFangSC-Semibold; |
||||
font-size: 14px; |
||||
font-weight: 600; |
||||
line-height: 24px; |
||||
text-align: left; |
||||
} |
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item .grey-text { |
||||
color: #8a9cb0; |
||||
font-size: 14px; |
||||
} |
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item-info-wrapper { |
||||
margin-top: 10px; |
||||
} |
||||
.dr-feedback-popover-wrapper .dr-feedback-popover-item .blue-text { |
||||
color: #0082fc; |
||||
font-size: 14px; |
||||
} |
||||
.dr-feedback-item { |
||||
display: flex; |
||||
gap: 10px; |
||||
} |
||||
</style> |
||||
|
||||
<style lang="scss"> |
||||
.dia-msg-til { |
||||
background-color: #fefbe6; |
||||
padding: 10px 20px; |
||||
border: 1px solid #ffe58f; |
||||
margin-top: 6px; |
||||
color: #333; |
||||
} |
||||
.foot-dialog-feedback { |
||||
.el-dialog__body { |
||||
padding: 0 !important; |
||||
} |
||||
} |
||||
|
||||
.footer { |
||||
height: 100px; |
||||
color: #8097ad; |
||||
font-size: 14px; |
||||
line-height: 18px; |
||||
background: #fff; |
||||
padding: 24px 0; |
||||
margin-top: 40px; |
||||
border-top: #eaf0f9 solid 1px; |
||||
} |
||||
|
||||
.foot_logo { |
||||
width: 72px; |
||||
margin-right: 24px; |
||||
} |
||||
|
||||
.foot_a { |
||||
margin-top: 2px; |
||||
} |
||||
|
||||
.foot_a_item { |
||||
margin-right: 20px; |
||||
|
||||
&::after { |
||||
content: " "; |
||||
display: inline-block; |
||||
position: relative; |
||||
width: 1px; |
||||
height: 14px; |
||||
background-color: #8097ad; |
||||
right: -10px; |
||||
top: 2px; |
||||
} |
||||
} |
||||
|
||||
.footer a { |
||||
color: #8097ad; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
.footer a:hover { |
||||
color: #0082fc; |
||||
} |
||||
|
||||
.m-footr { |
||||
display: none; |
||||
background-color: #fff; |
||||
border-top: #eaf0f9 solid 1px; |
||||
text-align: center; |
||||
font-size: 14px; |
||||
padding: 14px 0; |
||||
color: #8097ad; |
||||
margin-top: 40px; |
||||
|
||||
.footer_row { |
||||
padding-bottom: 8px; |
||||
} |
||||
} |
||||
|
||||
.acol808 { |
||||
color: #808696; |
||||
|
||||
&:hover { |
||||
color: #0082fc; |
||||
} |
||||
} |
||||
</style> |
@ -1,339 +1,320 @@
|
||||
<template> |
||||
|
||||
<div> |
||||
|
||||
<el-table v-loading="loading" :data="tableData" style="width: 100%" |
||||
@selection-change="handleSelectionChange" row-key="id" default-expand-all lazy |
||||
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
||||
|
||||
<el-table-column prop="title" label="目录大纲"> |
||||
<template #default='scope'> |
||||
<span v-if="scope.row.children" class="f18 fw600 col333">{{scope.row.title}}</span> |
||||
<a v-else :href="'/class/play/'+classid+'/'+scope.row.id" target="_blank" class="item-pl f15"> |
||||
<i class="iconfont icon-bofang2 colb3c f14 mrt10"></i>{{scope.row.title}} |
||||
</a> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column fixed="right" label="发布状态" width="100"> |
||||
<template #default="scope"> |
||||
|
||||
<el-switch v-if="!scope.row.children" v-model="scope.row.display" :active-value="1" |
||||
:inactive-value="0" active-color="#0082fc" inactive-color="#dadde5" |
||||
@click="handleClose(scope.row)"> |
||||
</el-switch> |
||||
|
||||
</template> |
||||
</el-table-column> |
||||
|
||||
</el-table> |
||||
|
||||
</div> |
||||
|
||||
|
||||
|
||||
<div> |
||||
<el-table v-loading="loading" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange" row-key="id" default-expand-all lazy :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> |
||||
<el-table-column prop="title" label="目录大纲"> |
||||
<template #default="scope"> |
||||
<span v-if="scope.row.children" class="f18 fw600 col333">{{ scope.row.title }}</span> |
||||
<a v-else :href="'/class/play/' + classid + '/' + scope.row.id" target="_blank" class="item-pl f15"> <i class="iconfont icon-bofang2 colb3c f14 mrt10"></i>{{ scope.row.title }} </a> |
||||
</template> |
||||
</el-table-column> |
||||
|
||||
<el-table-column fixed="right" label="发布状态" width="100"> |
||||
<template #default="scope"> |
||||
<el-switch v-if="!scope.row.children" v-model="scope.row.display" :active-value="1" :inactive-value="0" active-color="#0082fc" inactive-color="#dadde5" @click="handleClose(scope.row)"> </el-switch> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</div> |
||||
</template> |
||||
|
||||
|
||||
|
||||
<script> |
||||
import { useRoute } from 'vue-router' |
||||
import { scheduleList, noticeAdd, noticeEdit, scheduleUpdate, studyLog } from "@/api/study_admin"; |
||||
import { ref, toRefs, reactive, getCurrentInstance, nextTick } from 'vue'; |
||||
import store from '@/store' |
||||
import { _debounce } from "@/utils/debounce"; |
||||
export default { |
||||
name: 'class_homework', |
||||
setup() { |
||||
const { proxy } = getCurrentInstance() |
||||
const route = useRoute() |
||||
const classid = route.params.classid; |
||||
const state = reactive({ |
||||
headers: { |
||||
'authentication': store.getters.get_authentication |
||||
}, |
||||
loading: true, |
||||
tableData: [], // 数据列表 |
||||
multipleSelection: [], // 选中项 |
||||
total: 0, // 总条数 |
||||
page: 1, // 当前页 |
||||
perpage: 10, // 分页大小 |
||||
id: '', |
||||
kw: '', |
||||
dialogFormVisible: false, |
||||
dialogEdit: false, |
||||
dialogUidLog: false, |
||||
numbereRef: { |
||||
title: '', |
||||
url: '', |
||||
}, |
||||
rules: { |
||||
title: [ |
||||
{ required: true, message: '请输入公告内容', trigger: 'blur' }, |
||||
], |
||||
url: [ |
||||
{ required: true, type: "url", message: '请输入正确的url', trigger: 'blur' }, |
||||
], |
||||
}, |
||||
rowStudent: {}, |
||||
modEdit: { |
||||
id: '', |
||||
xs_name: '', |
||||
gongsi: '', |
||||
gangwei: '', |
||||
shouji: '', |
||||
fenshu: '', |
||||
beizhu: '', |
||||
}, |
||||
uidLog: [], |
||||
alltime: '', |
||||
username: '', |
||||
}) |
||||
|
||||
// 获取学生列表 |
||||
const getnotice = async () => { |
||||
state.loading = true |
||||
const res = await scheduleList(classid); |
||||
if (res.code === 200) { |
||||
state.tableData = res.data |
||||
state.total = res.data.total |
||||
state.page = res.data.current_page |
||||
state.loading = false |
||||
} |
||||
}; |
||||
getnotice(); |
||||
|
||||
// 观看记录 |
||||
const getUserLog = async (uid) => { |
||||
state.loading = true |
||||
const res = await studyLog(classid, uid); |
||||
if (res.code === 200) { |
||||
state.uidLog = res.data.data; |
||||
state.alltime = res.data.alltime; |
||||
state.username = res.data.username; |
||||
state.dialogUidLog = true; |
||||
state.loading = false |
||||
} |
||||
}; |
||||
|
||||
// 设置当前查看的数据item |
||||
const setItem = (item) => { |
||||
state.item = item |
||||
state.isShowItem = true |
||||
} |
||||
|
||||
const handleOption = () => { |
||||
state.page = 1 |
||||
getnotice() |
||||
} |
||||
|
||||
|
||||
// 选择项 |
||||
const handleSelectionChange = (val) => { |
||||
state.multipleSelection = val |
||||
} |
||||
const changePage = (val) => { |
||||
state.page = val |
||||
getnotice() |
||||
} |
||||
// 每页显示条数 |
||||
const handleSizeChange = (val) => { |
||||
state.perpage = val |
||||
getnotice() |
||||
} |
||||
|
||||
// 更新状态 |
||||
const handleClose = async (row) => { |
||||
const params = { |
||||
data: { |
||||
id: row.id, |
||||
display: row.display, |
||||
title: row.title, |
||||
} |
||||
} |
||||
const res = await scheduleUpdate(classid, params); |
||||
if (res.message === 'success') { |
||||
if (res.data.display == 1) { |
||||
proxy.$notify({ |
||||
title: '发布成功', |
||||
type: 'success', |
||||
message: res.data.title + '【发布成功】', |
||||
}); |
||||
} else { |
||||
proxy.$notify.info({ |
||||
title: '取消发布成功', |
||||
message: res.data.title + '【已取消发布】', |
||||
}); |
||||
} |
||||
} else { |
||||
proxy.$message({ |
||||
type: 'error', |
||||
message: '服务器错误', |
||||
center: true |
||||
}); |
||||
} |
||||
import { useRoute } from "vue-router"; |
||||
import { scheduleList, noticeAdd, noticeEdit, scheduleUpdate, studyLog } from "@/api/study_admin"; |
||||
import { ref, toRefs, reactive, getCurrentInstance, nextTick } from "vue"; |
||||
import store from "@/store"; |
||||
import { _debounce } from "@/utils/debounce"; |
||||
export default { |
||||
name: "class_homework", |
||||
setup() { |
||||
const { proxy } = getCurrentInstance(); |
||||
const route = useRoute(); |
||||
const classid = route.params.classid; |
||||
const state = reactive({ |
||||
headers: { |
||||
authentication: store.getters.get_authentication, |
||||
}, |
||||
loading: true, |
||||
tableData: [], // 数据列表 |
||||
multipleSelection: [], // 选中项 |
||||
total: 0, // 总条数 |
||||
page: 1, // 当前页 |
||||
perpage: 10, // 分页大小 |
||||
id: "", |
||||
kw: "", |
||||
dialogFormVisible: false, |
||||
dialogEdit: false, |
||||
dialogUidLog: false, |
||||
numbereRef: { |
||||
title: "", |
||||
url: "", |
||||
}, |
||||
rules: { |
||||
title: [{ required: true, message: "请输入公告内容", trigger: "blur" }], |
||||
url: [{ required: true, type: "url", message: "请输入正确的url", trigger: "blur" }], |
||||
}, |
||||
rowStudent: {}, |
||||
modEdit: { |
||||
id: "", |
||||
xs_name: "", |
||||
gongsi: "", |
||||
gangwei: "", |
||||
shouji: "", |
||||
fenshu: "", |
||||
beizhu: "", |
||||
}, |
||||
uidLog: [], |
||||
alltime: "", |
||||
username: "", |
||||
}); |
||||
|
||||
// 获取学生列表 |
||||
const getnotice = async () => { |
||||
state.loading = true; |
||||
const res = await scheduleList(classid); |
||||
if (res.code === 200) { |
||||
state.tableData = res.data; |
||||
state.total = res.data.total; |
||||
state.page = res.data.current_page; |
||||
state.loading = false; |
||||
} |
||||
}; |
||||
getnotice(); |
||||
|
||||
// 观看记录 |
||||
const getUserLog = async (uid) => { |
||||
state.loading = true; |
||||
const res = await studyLog(classid, uid); |
||||
if (res.code === 200) { |
||||
state.uidLog = res.data.data; |
||||
state.alltime = res.data.alltime; |
||||
state.username = res.data.username; |
||||
state.dialogUidLog = true; |
||||
state.loading = false; |
||||
} |
||||
}; |
||||
|
||||
// 设置当前查看的数据item |
||||
const setItem = (item) => { |
||||
state.item = item; |
||||
state.isShowItem = true; |
||||
}; |
||||
|
||||
const handleOption = () => { |
||||
state.page = 1; |
||||
getnotice(); |
||||
}; |
||||
|
||||
// 选择项 |
||||
const handleSelectionChange = (val) => { |
||||
state.multipleSelection = val; |
||||
}; |
||||
const changePage = (val) => { |
||||
state.page = val; |
||||
getnotice(); |
||||
}; |
||||
// 每页显示条数 |
||||
const handleSizeChange = (val) => { |
||||
state.perpage = val; |
||||
getnotice(); |
||||
}; |
||||
|
||||
// 更新状态 |
||||
const handleClose = async (row) => { |
||||
const params = { |
||||
data: { |
||||
id: row.id, |
||||
display: row.display, |
||||
title: row.title, |
||||
}, |
||||
}; |
||||
const res = await scheduleUpdate(classid, params); |
||||
if (res.message === "success") { |
||||
if (res.data.display == 1) { |
||||
proxy.$notify({ |
||||
title: "发布成功", |
||||
type: "success", |
||||
iconClass: "schedule-success", |
||||
message: res.data.title + "【发布成功】", |
||||
}); |
||||
} else { |
||||
proxy.$notify.info({ |
||||
title: "取消发布成功", |
||||
type: "info", |
||||
iconClass: "schedule-info", |
||||
message: res.data.title + "【已取消发布】", |
||||
}); |
||||
} |
||||
} else { |
||||
proxy.$message({ |
||||
type: "error", |
||||
message: "服务器错误", |
||||
center: true, |
||||
}); |
||||
} |
||||
}; |
||||
|
||||
// 添加公告 |
||||
const submitForm = _debounce(() => { |
||||
_submitForm(); |
||||
}, 300); |
||||
const numberValidateRef = ref(null); |
||||
const _submitForm = () => { |
||||
nextTick(() => { |
||||
numberValidateRef.value.validate(async (valid) => { |
||||
if (valid) { |
||||
const params = { |
||||
title: state.numbereRef.title, |
||||
url: state.numbereRef.url, |
||||
}; |
||||
|
||||
|
||||
|
||||
|
||||
// 添加公告 |
||||
const submitForm = _debounce(() => { |
||||
_submitForm(); |
||||
}, 300) |
||||
const numberValidateRef = ref(null); |
||||
const _submitForm = () => { |
||||
nextTick(() => { |
||||
numberValidateRef.value.validate(async (valid) => { |
||||
if (valid) { |
||||
const params = { |
||||
title: state.numbereRef.title, |
||||
url: state.numbereRef.url, |
||||
} |
||||
const res = await noticeAdd(classid, params) |
||||
if (res.message === 'success') { |
||||
state.dialogFormVisible = false; |
||||
proxy.$message({ |
||||
type: 'success', |
||||
message: '添加成功', |
||||
center: true |
||||
}); |
||||
setTimeout(function () { |
||||
getnotice() |
||||
}, 100); |
||||
} |
||||
} |
||||
}); |
||||
}) |
||||
} |
||||
|
||||
const noticeValidateRef = ref(null); |
||||
const resnoticeEdit = () => { |
||||
noticeValidateRef.value.validate(async (valid) => { |
||||
if (valid) { |
||||
const params = { |
||||
data: state.modEdit, |
||||
} |
||||
const res = await noticeEdit(classid, params); |
||||
if (res.code === 200) { |
||||
state.dialogEdit = false; |
||||
proxy.$message({ |
||||
type: 'success', |
||||
message: '编辑成功', |
||||
center: true |
||||
}); |
||||
getnotice() |
||||
} |
||||
} |
||||
}); |
||||
|
||||
} |
||||
|
||||
const openStudent = (row) => { |
||||
state.modEdit = row; |
||||
state.dialogEdit = true; |
||||
} |
||||
|
||||
const eidtForm = () => { |
||||
resnoticeEdit(); |
||||
} |
||||
|
||||
// const tableRowClassName = ({ row }) => { |
||||
// if (row.children) { |
||||
// return 'title-row'; |
||||
// } |
||||
// return ''; |
||||
// } |
||||
|
||||
return { |
||||
...toRefs(state), |
||||
classid, |
||||
setItem, |
||||
handleSelectionChange, |
||||
getnotice, |
||||
changePage, |
||||
handleOption, |
||||
handleClose, |
||||
handleSizeChange, |
||||
numberValidateRef, |
||||
submitForm, |
||||
openStudent, |
||||
eidtForm, |
||||
getUserLog, |
||||
noticeValidateRef, |
||||
//tableRowClassName |
||||
const res = await noticeAdd(classid, params); |
||||
if (res.message === "success") { |
||||
state.dialogFormVisible = false; |
||||
proxy.$message({ |
||||
type: "success", |
||||
message: "添加成功", |
||||
center: true, |
||||
}); |
||||
setTimeout(function() { |
||||
getnotice(); |
||||
}, 100); |
||||
} |
||||
} |
||||
}); |
||||
}); |
||||
}; |
||||
|
||||
const noticeValidateRef = ref(null); |
||||
const resnoticeEdit = () => { |
||||
noticeValidateRef.value.validate(async (valid) => { |
||||
if (valid) { |
||||
const params = { |
||||
data: state.modEdit, |
||||
}; |
||||
const res = await noticeEdit(classid, params); |
||||
if (res.code === 200) { |
||||
state.dialogEdit = false; |
||||
proxy.$message({ |
||||
type: "success", |
||||
message: "编辑成功", |
||||
center: true, |
||||
}); |
||||
getnotice(); |
||||
} |
||||
} |
||||
} |
||||
}); |
||||
}; |
||||
|
||||
const openStudent = (row) => { |
||||
state.modEdit = row; |
||||
state.dialogEdit = true; |
||||
}; |
||||
|
||||
const eidtForm = () => { |
||||
resnoticeEdit(); |
||||
}; |
||||
|
||||
// const tableRowClassName = ({ row }) => { |
||||
// if (row.children) { |
||||
// return 'title-row'; |
||||
// } |
||||
// return ''; |
||||
// } |
||||
|
||||
return { |
||||
...toRefs(state), |
||||
classid, |
||||
setItem, |
||||
handleSelectionChange, |
||||
getnotice, |
||||
changePage, |
||||
handleOption, |
||||
handleClose, |
||||
handleSizeChange, |
||||
numberValidateRef, |
||||
submitForm, |
||||
openStudent, |
||||
eidtForm, |
||||
getUserLog, |
||||
noticeValidateRef, |
||||
//tableRowClassName |
||||
}; |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.item-pl:hover{ |
||||
.icon-bofang2{ |
||||
color: #0082fc; |
||||
} |
||||
} |
||||
.item_log { |
||||
width: 120px; |
||||
display: inline-block; |
||||
text-align: right; |
||||
} |
||||
|
||||
.tab-header { |
||||
padding: 24px 0 10px 0; |
||||
} |
||||
|
||||
.ptlist { |
||||
padding: 6px 0; |
||||
overflow-y: auto; |
||||
font-size: 14px; |
||||
|
||||
li { |
||||
padding: 2px 0; |
||||
} |
||||
} |
||||
|
||||
.ifprt { |
||||
padding-right: 10px !important; |
||||
} |
||||
|
||||
.infobox { |
||||
line-height: 24px; |
||||
padding: 0 20px; |
||||
} |
||||
|
||||
.scrollbar { |
||||
height: 106px; |
||||
overflow: hidden; |
||||
} |
||||
|
||||
.min-pd { |
||||
padding: 6px 10px; |
||||
} |
||||
|
||||
::v-deep .el-scrollbar__wrap { |
||||
max-height: 300px; |
||||
overflow-x: hidden; |
||||
} |
||||
|
||||
::v-deep .el-icon-close { |
||||
display: none !important; |
||||
} |
||||
|
||||
::v-deep .el-icon-close-tip { |
||||
display: none !important; |
||||
} |
||||
|
||||
::v-deep .el-button i { |
||||
line-height: 0; |
||||
} |
||||
.item-pl:hover { |
||||
.icon-bofang2 { |
||||
color: #0082fc; |
||||
} |
||||
} |
||||
.item_log { |
||||
width: 120px; |
||||
display: inline-block; |
||||
text-align: right; |
||||
} |
||||
|
||||
.tab-header { |
||||
padding: 24px 0 10px 0; |
||||
} |
||||
|
||||
.ptlist { |
||||
padding: 6px 0; |
||||
overflow-y: auto; |
||||
font-size: 14px; |
||||
|
||||
li { |
||||
padding: 2px 0; |
||||
} |
||||
} |
||||
|
||||
.ifprt { |
||||
padding-right: 10px !important; |
||||
} |
||||
|
||||
.infobox { |
||||
line-height: 24px; |
||||
padding: 0 20px; |
||||
} |
||||
|
||||
.scrollbar { |
||||
height: 106px; |
||||
overflow: hidden; |
||||
} |
||||
|
||||
.min-pd { |
||||
padding: 6px 10px; |
||||
} |
||||
|
||||
::v-deep .el-scrollbar__wrap { |
||||
max-height: 300px; |
||||
overflow-x: hidden; |
||||
} |
||||
|
||||
::v-deep .el-icon-close { |
||||
display: none !important; |
||||
} |
||||
|
||||
::v-deep .el-icon-close-tip { |
||||
display: none !important; |
||||
} |
||||
|
||||
::v-deep .el-button i { |
||||
line-height: 0; |
||||
} |
||||
</style> |
||||
|
||||
<style> |
||||
.el-dialog__body { |
||||
padding: 20px 30px 30px 30px; |
||||
} |
||||
/* .title-row td{ |
||||
.el-dialog__body { |
||||
padding: 20px 30px 30px 30px; |
||||
} |
||||
.schedule-success { |
||||
color: #67c23a !important; |
||||
} |
||||
.schedule-info { |
||||
color: #909399 !important; |
||||
} |
||||
/* .title-row td{ |
||||
background-color:#F3F8FF; |
||||
} */ |
||||
</style> |
||||
</style> |
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue