提交 3c8079d9 authored 作者: matian's avatar matian

updates

上级 da6e909b
......@@ -53,8 +53,8 @@ export function checkCode(params: any) {
/**
* 提交留咨信息
*/
export function postNes(data: any) {
return httpRequest.post('/api/enrollment/v1.0/applications', data, {
export function postNes(data: any) {
return httpRequest.post('https://project-api.ezijing.com/api/enrollment/v1.0/applications', data, {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
......
<script setup lang="ts">
const props = defineProps({
item: {
type: Object,
require: true
}
})
const isShowType: any = ref(1)
// 判断用什么标签展示内容
if (
props.item?.url?.indexOf('.pdf') !== -1 ||
props.item?.url?.indexOf('.txt') !== -1
) {
isShowType.value = 2
} else if (props.item?.url?.indexOf('.mp4') !== -1) {
isShowType.value = 3
} else if (props.item?.url?.indexOf('.mp3') !== -1) {
isShowType.value = 4
} else if (
props.item?.url?.indexOf('.png') !== -1 ||
props.item?.url?.indexOf('.jpg') !== -1 ||
props.item?.url?.indexOf('.jpeg') !== -1
) {
isShowType.value = 5
} else if (
props.item?.url?.indexOf('.rar') !== -1 ||
props.item?.url?.indexOf('.zip') !== -1
) {
isShowType.value = 6
}
</script>
<template>
<el-card>
<div class="max-w-h">
<iframe
v-if="isShowType === 1"
:src="`https://view.officeapps.live.com/op/view.aspx?src=${props.item?.url}`"
></iframe>
<embed :src="props.item?.url" v-else-if="isShowType === 2" />
<video v-else-if="isShowType === 3" controls id="video">
<source :src="props.item?.url" />
</video>
<audio
v-else-if="isShowType === 4"
:src="props.item?.url"
controls
></audio>
<img v-else-if="isShowType === 5" :src="props.item?.url" />
<div v-else-if="isShowType === 6" class="zip_con">
<a :href="props.item?.url" style="color: #aa1941">
<img
v-if="props.item?.url?.indexOf('.rar') !== -1"
src="https://webapp-pub.ezijing.com/center_resource/rar.png"
class="img_zip"
/>
<img
v-else-if="props.item?.url?.indexOf('.zip') !== -1"
src="https://webapp-pub.ezijing.com/center_resource/zip.png"
class="img_zip"
/>
{{ props.item?.name }}
</a>
<div class="zip_tips">
* 该文件格式暂不支持预览,可点击上方文件名下载
</div>
</div>
</div>
</el-card>
</template>
<style lang="scss" scoped>
.max-w-h {
// max-width: 1200px;
width: 100%;
height: 600px;
margin: 0 auto;
display: flex;
justify-content: center;
iframe,
embed,
video {
width: 100%;
height: 100%;
}
.zip_con {
border: 1px solid #ccc;
width: 100%;
display: block;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.img_zip {
width: 100px;
height: 100px;
margin: auto;
}
.zip_tips {
font-size: 14px;
margin-top: 10px;
}
img {
width: 100%;
display: block;
}
}
</style>
......@@ -7,7 +7,6 @@ export default {
return {
tabBtnActive: false,
tabBtnTarget: '',
projectName: '金融硕士保研项目',
sendCode: '',
isBtnDisabled: false,
formInfo: {
......@@ -267,7 +266,7 @@ export default {
}
.tab_cont {
position: absolute;
left: -360px;
left: -346px;
top: -120px;
width: 346px;
height: 390px;
......
<script setup lang="ts">
import PreviewFiles from '@/components/base/PreviewFiles.vue'
import { ElMessage } from 'element-plus'
import { Check } from '@element-plus/icons-vue'
import { useUserStore } from '@/stores/user'
......@@ -14,6 +15,10 @@ const props = defineProps({
type: Object
}
})
const dialogVisible = ref(false)
const item = ref({
url: 'https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/%E7%B4%AB%E8%8D%86%E6%95%99%E8%82%B2%E7%94%A8%E6%88%B7%E5%85%A5%E9%A9%BB%E5%8F%8A%E7%BD%91%E7%BB%9C%E6%95%99%E5%AD%A6%E8%B5%84%E6%BA%90%E5%8D%8F%E8%AE%AE(1).docx'
})
const orderInfo: any = ref([])
const orderInfoDetail: any = ref([])
const payMode = ref(1)
......@@ -126,6 +131,9 @@ const handlePrev = () => {
}
})
}
const changeProtocol = () => {
dialogVisible.value = false
}
</script>
<template>
......@@ -179,7 +187,9 @@ const handlePrev = () => {
<el-checkbox v-model="isAgree"
><span style="color: #666666; font-size: 16px; font-weight: 400"
>同意</span
><a style="color: #e3a232; font-size: 16px; font-weight: 400"
><a
style="color: #e3a232; font-size: 16px; font-weight: 400"
@click="dialogVisible = true"
>紫荆金保服务协议</a
></el-checkbox
>
......@@ -277,6 +287,14 @@ const handlePrev = () => {
</div>
</div>
</div>
<el-dialog v-model="dialogVisible" title="提示" width="850px">
<PreviewFiles :item="item"></PreviewFiles>
<template #footer>
<el-button type="primary" @click="changeProtocol"
>我已阅读并同意</el-button
>
</template>
</el-dialog>
</div>
</template>
......
<script setup lang="ts">
import { useDevice } from '@/composables/useDevice'
const { mobile } = useDevice()
defineProps({
// 是否弹框
buyDialogVisible: {
......@@ -17,9 +19,18 @@ const handleCancel = () => {
<template>
<div>
<el-dialog :model-value="buyDialogVisible" width="25%" top="16%" :modal="false" :before-close="handleCancel">
<el-dialog
:model-value="buyDialogVisible"
:width="!mobile ? '20%' : '70%'"
:top="!mobile ? '16%' : '50%'"
:modal="false"
:before-close="handleCancel"
>
<div class="buy_alert">
<img src="https://webapp-pub.ezijing.com/project_online/fi/icon_contact.png" alt="" />
<img
src="https://webapp-pub.ezijing.com/project_online/fi/icon_contact.png"
alt=""
/>
<div class="alert_con">
<div class="con_tit">请联系我们</div>
<div class="con_desc">PAA秘书处:13263110169(同微信)</div>
......@@ -30,7 +41,8 @@ const handleCancel = () => {
</template>
<style lang="scss" scoped>
.buy_alert {
.is-pc {
.buy_alert {
display: flex;
align-items: center;
.alert_con {
......@@ -48,8 +60,8 @@ const handleCancel = () => {
color: #666666;
}
}
}
:deep(.el-dialog) {
}
:deep(.el-dialog) {
width: 315px;
box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.16);
border-radius: 10px;
......@@ -58,5 +70,39 @@ const handleCancel = () => {
.el-dialog__header {
padding-bottom: 0;
}
}
}
.is-h5 {
.buy_alert {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.alert_con {
text-align: center;
.con_tit {
font-size: 0.24rem;
font-weight: 400;
color: #333333;
margin-top: 0.25rem;
}
.con_desc {
font-size: 0.24rem;
font-weight: 400;
color: #666666;
margin-top: 0.51rem;
}
}
}
:deep(.el-dialog) {
box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.16);
border-radius: 0.12rem;
margin-left: 50%;
padding: 0 1.35rem 0.85rem 1.35rem;
.el-dialog__header {
padding-bottom: 0;
}
}
}
</style>
<script lang="ts" setup>
import ContactDialog from '../components/ContactDialog.vue'
import { useDevice } from '@/composables/useDevice'
import { useUserStore } from '@/stores/user'
const user = useUserStore()
......@@ -77,6 +78,7 @@ const handleBuyCourse = () => {
<div class="btn_buy">立即购买</div>
</div>
</div>
<ContactDialog v-model:buyDialogVisible="buyDialogVisible" />
</div>
</template>
......
......@@ -57,13 +57,17 @@ const handleCurrentChange = (val: number) => {
</script>
<template>
<div class="course_list" v-for="(item, index) in courseListAllNew" :key="index">
<div
class="course_list"
v-for="(item, index) in courseListAllNew"
:key="index"
>
<CourseListItem :courseItem="item" :key="type"></CourseListItem>
</div>
<el-pagination
class="pagination"
layout="total, sizes, prev, pager, next, jumper"
:page-sizes="[3, 5, 10, 15, 20]"
:page-sizes="[10, 15, 20, 30, 50]"
:page-size="page.size"
:total="courseListAll.length"
v-model:currentPage="page.currentPage"
......
......@@ -367,6 +367,7 @@ const handleBuyCourse = () => {
font-weight: 400;
line-height: 30px;
color: #898989;
white-space: nowrap;
}
.left_con {
.con_num {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论