Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev
This commit is contained in:
commit
073713cf95
|
@ -0,0 +1,197 @@
|
|||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-demo__sysnotice">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getData()">
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.content" dict-type="notice_type" :placeholder="$t('notice.type')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getData()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="dialogVisible = true">添加公告</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="dialogVisible2 = true">公告周期设置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border
|
||||
style="width: 100%;">
|
||||
<el-table-column prop="content" label="内容" header-align="center" align="center" width="950">
|
||||
</el-table-column>
|
||||
<el-table-column prop="publishTime" label="发布时间" header-align="center" align="center" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="viewHandle(scope.row)">
|
||||
详情
|
||||
</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row)">{{ $t('delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination :current-page="dataForm.page" :page-size="dataForm.limit" :total="total"
|
||||
layout="total, prev, pager, next"
|
||||
@current-change="currentChange">
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="添加公告"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:close-on-click-modal="false">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
:maxlength="200"
|
||||
show-word-limit
|
||||
placeholder="请输入公告内容(6-200字)"
|
||||
v-model="submitData.content">
|
||||
</el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
title="设置公告周期"
|
||||
:visible.sync="dialogVisible2"
|
||||
width="30%"
|
||||
:close-on-click-modal="false">
|
||||
<el-input
|
||||
placeholder="请输入公告周期(天)"
|
||||
v-model="cycle">
|
||||
</el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose">取 消</el-button>
|
||||
<el-button type="primary" @click="submitCycle">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import qs from 'qs'
|
||||
import AddOrUpdate from './notice-add-or-update'
|
||||
import { addDynamicRoute } from '@/router'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
cycle: 0,
|
||||
total: 0,
|
||||
dataListLoading: false,
|
||||
dialogVisible: false,
|
||||
dialogVisible2: false,
|
||||
dataList: [],
|
||||
dataForm: {
|
||||
page: 1,
|
||||
limit: 5,
|
||||
content: ''
|
||||
},
|
||||
submitData: {
|
||||
content: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
methods: {
|
||||
currentChange (current) {
|
||||
this.dataForm.page = current
|
||||
this.getData()
|
||||
},
|
||||
getData () {
|
||||
this.$http.get('/sysnoticemanagement/page?' + qs.stringify(this.dataForm)).then(res => {
|
||||
console.log('获取通知数据', res.data.data)
|
||||
this.dataList = res.data.data.list
|
||||
this.total = res.data.data.total
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
getCycle () {
|
||||
this.$http.get('/sys/dict/data/page?dictTypeId=1598237460358852610&page=1&limit=9999').then(res => {
|
||||
console.log('字典', res.data.data)
|
||||
this.cycle = res.data.data.list[0].dictLabel
|
||||
})
|
||||
},
|
||||
handleClose () {
|
||||
this.dialogVisible = false
|
||||
this.dialogVisible2 = false
|
||||
this.submitData.content = ''
|
||||
this.getCycle()
|
||||
},
|
||||
submit () {
|
||||
console.log(this.submitData)
|
||||
if (this.submitData.content.length < 6) {
|
||||
this.$message({
|
||||
message: '最少发布6个字的公告!',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.$http.post('/sysnoticemanagement', this.submitData).then(res => {
|
||||
console.log('获取通知数据', res.data.data)
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
submitCycle () {
|
||||
this.$http.put('/sys/dict/data', {
|
||||
dictLabel: this.cycle,
|
||||
dictTypeId: '1598237460358852610',
|
||||
id: '1598237627208265730'
|
||||
}).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
clear () {
|
||||
this.dialogVisible = false
|
||||
this.dialogVisible2 = false
|
||||
this.submitData.content = ''
|
||||
this.dataForm.content = ''
|
||||
this.dataForm.page = 1
|
||||
this.getData()
|
||||
this.getCycle()
|
||||
},
|
||||
deleteHandle (item) {
|
||||
console.log(item)
|
||||
this.$http.post('/sysnoticemanagement/delete', [item.id]).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
viewHandle (row) {
|
||||
// 路由参数
|
||||
const routeParams = {
|
||||
routeName: `${this.$route.name}__${row.id}`,
|
||||
title: this.$t('notice.view1'),
|
||||
path: 'notice/notice-view',
|
||||
params: {
|
||||
id: row.id
|
||||
}
|
||||
}
|
||||
// 动态路由
|
||||
addDynamicRoute(routeParams, this.$router)
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getData()
|
||||
this.getCycle()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.text-ellipsis {
|
||||
/*1. 先强制一行内显示文本*/
|
||||
white-space: nowrap;
|
||||
/*2. 超出的部分隐藏*/
|
||||
overflow: hidden;
|
||||
/*3. 文字用省略号替代超出的部分*/
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
::v-deep .el-textarea__inner {
|
||||
resize: none;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,32 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-12-02 11:44:20
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-02 11:44:36
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>滚动文字</title>
|
||||
<style>
|
||||
body {
|
||||
background: black;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
marquee {
|
||||
font-weight: bolder;
|
||||
font-size: 40px;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="background: black;padding: 20px;">
|
||||
<marquee direction="up">嗨</marquee>
|
||||
<marquee direction="down">你好</marquee>
|
||||
<marquee direction="left">山月剧</marquee>
|
||||
<marquee direction="right">明哥</marquee>
|
||||
</body>
|
||||
</html>
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-05-06 11:12:00
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-29 17:28:20
|
||||
* @LastEditTime: 2022-12-01 15:46:55
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -92,13 +92,31 @@
|
|||
if (res.data.code == 0) {
|
||||
realName = res.data.data.realName
|
||||
}
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
800,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
if (realName.length > 13) {
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
800,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
} else if (realName.length > 8) {
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
600,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
} else {
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
450,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
}
|
||||
getCategoryTreePage({
|
||||
page: 1,
|
||||
limit: 999,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-01 19:19:40
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-21 16:35:03
|
||||
* @LastEditTime: 2022-12-01 17:53:16
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
@ -572,3 +572,11 @@ export function delApplyCamera(data) {
|
|||
data,
|
||||
})
|
||||
}
|
||||
// 公告通知
|
||||
export function sysnoticemanagement(params) {
|
||||
return request({
|
||||
url: '/sysnoticemanagement/page',
|
||||
method: 'get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-09 09:29:29
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-27 15:43:57
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-02 15:08:26
|
||||
* @Description: 应用详情
|
||||
-->
|
||||
<template>
|
||||
|
@ -16,8 +16,14 @@
|
|||
<!-- <p style="cursor: pointer; filter: blur(4px)">
|
||||
{{ dataFrom.link }}
|
||||
</p> -->
|
||||
<p style="cursor: pointer;"
|
||||
:class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">
|
||||
<p
|
||||
style="cursor: pointer"
|
||||
:class="{
|
||||
'blur-word': !(approveStatus == '通过' && whoShow1.itShowXiHaiAn
|
||||
? false
|
||||
: true),
|
||||
}"
|
||||
>
|
||||
{{ dataFrom.link }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
|
@ -27,10 +33,20 @@
|
|||
<a-tooltip>
|
||||
<template #title>请申请后查看</template>
|
||||
<!-- <p style="filter: blur(4px)">{{ dataFrom.number }}</p> -->
|
||||
<p :class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">{{ dataFrom.number
|
||||
}}</p>
|
||||
<p
|
||||
:class="{
|
||||
'blur-word': !(approveStatus == '通过' && whoShow1.itShowXiHaiAn
|
||||
? false
|
||||
: true),
|
||||
}"
|
||||
>
|
||||
{{ dataFrom.number }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<div @click="copyFunction(dataFrom.number, '复制账号')" v-if="dataFrom.number != '' && flag">
|
||||
<div
|
||||
@click="copyFunction(dataFrom.number, '复制账号')"
|
||||
v-if="dataFrom.number != '' && flag"
|
||||
>
|
||||
复制账号
|
||||
</div>
|
||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||
|
@ -40,9 +56,21 @@
|
|||
<a-tooltip>
|
||||
<template #title>请申请后查看</template>
|
||||
<p style="filter: blur(4px)">{{ dataFrom.password }}</p>
|
||||
<p style="filter: blur(4px)" :class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">{{ dataFrom.password }}</p>
|
||||
<p
|
||||
style="filter: blur(4px)"
|
||||
:class="{
|
||||
'blur-word': !(approveStatus == '通过' && whoShow1.itShowXiHaiAn
|
||||
? false
|
||||
: true),
|
||||
}"
|
||||
>
|
||||
{{ dataFrom.password }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<div @click="copyFunction(dataFrom.password2, '复制密码')" v-if="dataFrom.password2 != '' && flag">
|
||||
<div
|
||||
@click="copyFunction(dataFrom.password2, '复制密码')"
|
||||
v-if="dataFrom.password2 != '' && flag"
|
||||
>
|
||||
复制密码
|
||||
</div>
|
||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||
|
@ -51,185 +79,185 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
let flag = ref(true)
|
||||
const whoShow1 = ref(whoShow)
|
||||
console.log('whoShow1', whoShow1.value.itShowQingDao)
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const dataFrom = ref({
|
||||
linkName: '访问地址',
|
||||
link: '',
|
||||
numberName: '试用账号',
|
||||
number: '',
|
||||
passwordName: '试用密码',
|
||||
password: '**************************',
|
||||
password2: '',
|
||||
})
|
||||
console.log('props.dataList------------>', props.dataList);
|
||||
const approveStatus = ref('')
|
||||
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.approveStatus;
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
let flag = ref(true)
|
||||
const whoShow1 = ref(whoShow)
|
||||
console.log('whoShow1', whoShow1.value.itShowQingDao)
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
// }
|
||||
}
|
||||
const clickLink = (link) => {
|
||||
window.open(link)
|
||||
}
|
||||
//复制方法
|
||||
const copyFunction = (data, name) => {
|
||||
if (data !== '') {
|
||||
let url = data
|
||||
let oInput = document.createElement('input')
|
||||
oInput.value = url
|
||||
document.body.appendChild(oInput)
|
||||
oInput.select() // 选择对象;
|
||||
console.log(oInput.value)
|
||||
document.execCommand('Copy') // 执行浏览器复制命令
|
||||
oInput.remove() // 执行浏览器复制命令
|
||||
message.success(name + '成功')
|
||||
} else {
|
||||
message.error('复制为空')
|
||||
}
|
||||
}
|
||||
message.config({
|
||||
top: '100px', // 距离顶部的位置
|
||||
})
|
||||
// const success = () => {
|
||||
// message.success({
|
||||
// // content: 'This is a prompt message with custom className and style',
|
||||
// className: 'custom-class',
|
||||
// style: {},
|
||||
// })
|
||||
// }
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = props.dataList.approveStatus
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
const dataFrom = ref({
|
||||
linkName: '访问地址',
|
||||
link: '',
|
||||
numberName: '试用账号',
|
||||
number: '',
|
||||
passwordName: '试用密码',
|
||||
password: '**************************',
|
||||
password2: '',
|
||||
})
|
||||
console.log('props.dataList------------>', props.dataList)
|
||||
const approveStatus = ref('')
|
||||
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.approveStatus
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
// }
|
||||
}
|
||||
const clickLink = (link) => {
|
||||
window.open(link)
|
||||
}
|
||||
//复制方法
|
||||
const copyFunction = (data, name) => {
|
||||
if (data !== '') {
|
||||
let url = data
|
||||
let oInput = document.createElement('input')
|
||||
oInput.value = url
|
||||
document.body.appendChild(oInput)
|
||||
oInput.select() // 选择对象;
|
||||
console.log(oInput.value)
|
||||
document.execCommand('Copy') // 执行浏览器复制命令
|
||||
oInput.remove() // 执行浏览器复制命令
|
||||
message.success(name + '成功')
|
||||
} else {
|
||||
message.error('复制为空')
|
||||
}
|
||||
}
|
||||
)
|
||||
message.config({
|
||||
top: '100px', // 距离顶部的位置
|
||||
})
|
||||
// const success = () => {
|
||||
// message.success({
|
||||
// // content: 'This is a prompt message with custom className and style',
|
||||
// className: 'custom-class',
|
||||
// style: {},
|
||||
// })
|
||||
// }
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = props.dataList.approveStatus
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.algorithm-on-trial {
|
||||
padding: 0.8rem 0px 0.8rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.main {
|
||||
margin-top: 0.3rem;
|
||||
width: 13rem;
|
||||
height: 2.5rem;
|
||||
background: url('~@/assets/detailsAll/kfzj_sybg.png') no-repeat;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
.algorithm-on-trial {
|
||||
padding: 0.8rem 0px 0.8rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.main-left {
|
||||
border-right: 0.01rem #ffffff solid;
|
||||
padding-left: 0.7rem;
|
||||
padding-right: 1rem;
|
||||
.main {
|
||||
margin-top: 0.3rem;
|
||||
width: 13rem;
|
||||
height: 2.5rem;
|
||||
background: url('~@/assets/detailsAll/kfzj_sybg.png') no-repeat;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
align-items: center;
|
||||
|
||||
&>p {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
word-break: break-all;
|
||||
-webkit-box-orient: vertical;
|
||||
.main-left {
|
||||
border-right: 0.01rem #ffffff solid;
|
||||
padding-left: 0.7rem;
|
||||
padding-right: 1rem;
|
||||
|
||||
& > p {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
word-break: break-all;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
}
|
||||
|
||||
.main-center {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.main-right {
|
||||
padding-right: 0.7rem;
|
||||
}
|
||||
|
||||
& > div > p:first-child {
|
||||
font-size: 0.26rem;
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
& > div > p:nth-child(2) {
|
||||
font-size: 0.22rem;
|
||||
color: #ffffff;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
|
||||
& > div:first-child > p:last-child {
|
||||
text-decoration: underline;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
& > div > div:last-child {
|
||||
height: 0.34rem;
|
||||
width: 1.1rem;
|
||||
border: 0.01rem solid #ffffff;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.18rem;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
}
|
||||
|
||||
.main-center {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.main-right {
|
||||
padding-right: 0.7rem;
|
||||
}
|
||||
|
||||
&>div>p:first-child {
|
||||
font-size: 0.26rem;
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&>div>p:nth-child(2) {
|
||||
font-size: 0.22rem;
|
||||
color: #ffffff;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
|
||||
&>div:first-child>p:last-child {
|
||||
text-decoration: underline;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
&>div>div:last-child {
|
||||
#zanwu {
|
||||
height: 0.34rem;
|
||||
width: 1.1rem;
|
||||
border: 0.01rem solid #ffffff;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.18rem;
|
||||
font-size: 0.24rem;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
line-height: 0.34rem;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#zanwu {
|
||||
height: 0.34rem;
|
||||
width: 1.1rem;
|
||||
font-size: 0.24rem;
|
||||
color: #ffffff;
|
||||
border: 0;
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
}
|
||||
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.custom-class {
|
||||
/* top: 100px; */
|
||||
}
|
||||
.custom-class {
|
||||
/* top: 100px; */
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-30 17:43:43
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-02 16:02:26
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div class="carousel" v-if="dataSource.noticeList.length > 0">
|
||||
<div class="notice">
|
||||
<!-- <div class="item" id="notice-item1" v-html="dataSource.str"></div>
|
||||
<div class="item" id="notice-item2" v-html="dataSource.str"></div> -->
|
||||
<div class="notice-item">
|
||||
<svg
|
||||
t="1669889820945"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="1382"
|
||||
width="20"
|
||||
height="20"
|
||||
>
|
||||
<path
|
||||
d="M553.141571 59.499589a43.664726 43.664726 0 0 0-47.54116 6.253491l-255.990857 218.616193-204.061284-0.841113h-0.07314a43.884147 43.884147 0 0 0-31.377165 13.274954 46.041784 46.041784 0 0 0-13.128674 32.291418L0.018468 694.283776a46.370915 46.370915 0 0 0 12.982393 32.364558 43.884147 43.884147 0 0 0 31.523446 13.421235h206.511482l254.747473 217.81165a43.664726 43.664726 0 0 0 47.541159 6.21692 45.749223 45.749223 0 0 0 25.599086-41.360808V100.823828a45.785793 45.785793 0 0 0-25.599086-41.324239z m172.610978 228.343845a43.884147 43.884147 0 0 0-58.695047 21.466662 46.553766 46.553766 0 0 0 20.332988 60.925824 150.668905 150.668905 0 0 1 69.483233 138.271633c0 108.174422-62.352059 144.013142-64.436556 145.183387a46.261205 46.261205 0 0 0-19.930717 61.291525 44.432699 44.432699 0 0 0 39.898004 25.269955 43.481876 43.481876 0 0 0 19.857577-4.790686c4.644406-2.413628 113.623371-60.267562 113.62337-226.954181a239.607443 239.607443 0 0 0-120.169422-220.664119z m138.600764-134.139209a43.884147 43.884147 0 0 0-61.181815 13.677226 46.553766 46.553766 0 0 0 12.909253 63.120031c4.827256 3.254741 118.889468 82.977608 118.889469 281.370523s-109.417807 278.664333-113.769651 281.589943a46.370915 46.370915 0 0 0-12.360702 63.339452 43.884147 43.884147 0 0 0 61.766937 12.653262c6.253491-4.278704 153.375094-107.735581 153.375094-357.728938S870.862795 157.873219 864.353313 153.594514z m0 0"
|
||||
p-id="1383"
|
||||
fill="#d81e06"
|
||||
></path>
|
||||
</svg>
|
||||
<!-- {{ item.content }} -->
|
||||
<marquee
|
||||
direction="left"
|
||||
behavior="scroll"
|
||||
onmouseover="this.stop()"
|
||||
onmouseout="this.start()"
|
||||
>
|
||||
{{ dataSource.str }}
|
||||
</marquee>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { reactive, onMounted, onBeforeUnmount, nextTick } from 'vue'
|
||||
import { sysnoticemanagement } from '@/api/home'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
const dataSource = reactive({
|
||||
noticeList: [],
|
||||
total: 0,
|
||||
str: '',
|
||||
})
|
||||
getCategoryTreePage({
|
||||
dictTypeId: '1598237460358852610',
|
||||
page: 1,
|
||||
limit: 9999,
|
||||
}).then((res) => {
|
||||
sysnoticemanagement({
|
||||
page: 1,
|
||||
limit: 9999,
|
||||
content: '',
|
||||
days: res.data.data.list[0].dictLabel,
|
||||
}).then((res1) => {
|
||||
dataSource.noticeList = res1.data.data.list
|
||||
dataSource.total = res1.data.data.total
|
||||
dataSource.noticeList.map((val, index) => {
|
||||
dataSource.str +=
|
||||
'通知' + (index + 1) + ':' + val.content + ' '
|
||||
})
|
||||
})
|
||||
})
|
||||
// let time = null
|
||||
onMounted(() => {
|
||||
// nextTick(() => {
|
||||
// const domArr = document.getElementsByClassName('notice-item')
|
||||
// let num = 0
|
||||
// // 移动方法
|
||||
// const move = () => {
|
||||
// num++
|
||||
// for (let i = 0; i < domArr.length; i++) {
|
||||
// let offsetWidth = 0
|
||||
// for (let j = 0; j < i; j++) {
|
||||
// offsetWidth += domArr[j].offsetWidth + 30
|
||||
// }
|
||||
// domArr[i].style.left = -num + offsetWidth + 'px'
|
||||
// }
|
||||
// }
|
||||
// // 设置transition
|
||||
// const setTransition = (str) => {
|
||||
// for (let i = 0; i < domArr.length; i++) {
|
||||
// domArr[i].style.transition = str
|
||||
// }
|
||||
// }
|
||||
// move()
|
||||
// time = window.setInterval(() => {
|
||||
// move()
|
||||
// let str = domArr[dataSource.total].style.left
|
||||
// if (str.substring(0, str.length - 2) < 0) {
|
||||
// num = 0
|
||||
// setTransition('unset')
|
||||
// move()
|
||||
// } else if (domArr[0].style.transition == 'unset') {
|
||||
// setTransition('all 0.05s linear')
|
||||
// }
|
||||
// }, 50)
|
||||
// })
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
// window.clearInterval(time)
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.carousel {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
// background: #364d79;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
.notice {
|
||||
width: 740px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
.notice-item {
|
||||
font-size: 16px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
white-space: nowrap;
|
||||
transition: all 0.05s linear;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.icon {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
marquee {
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
|
@ -2,12 +2,13 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-23 16:41:49
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-10-13 16:40:15
|
||||
* @LastEditTime: 2022-11-30 17:55:43
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div class="newHome">
|
||||
<new-home-header></new-home-header>
|
||||
<Carousel></Carousel>
|
||||
<navigation></navigation>
|
||||
<navigation2></navigation2>
|
||||
<capability-convergence></capability-convergence>
|
||||
|
@ -21,6 +22,7 @@
|
|||
</template>
|
||||
<script setup>
|
||||
import NewHomeHeader from '@/views/home/components/header'
|
||||
import Carousel from '@/views/newHome/components/Carousel'
|
||||
import Navigation from '@/views/newHome/components/Navigation'
|
||||
import Navigation2 from '@/views/newHome/components/Navigation2'
|
||||
import CapabilityConvergence from '@/views/newHome/components/CapabilityConvergence'
|
||||
|
@ -32,21 +34,21 @@
|
|||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@font-face {
|
||||
font-family: 'text-typeface';
|
||||
src: url('~@/assets/newHome/font/text-typeface.otf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'num-typeface';
|
||||
src: url('~@/assets/newHome/font/num-typeface.otf');
|
||||
}
|
||||
.newHome {
|
||||
font-family: text-typeface;
|
||||
.num {
|
||||
font-family: num-typeface;
|
||||
@font-face {
|
||||
font-family: 'text-typeface';
|
||||
src: url('~@/assets/newHome/font/text-typeface.otf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'num-typeface';
|
||||
src: url('~@/assets/newHome/font/num-typeface.otf');
|
||||
}
|
||||
.newHome {
|
||||
font-family: text-typeface;
|
||||
.num {
|
||||
font-family: num-typeface;
|
||||
}
|
||||
}
|
||||
.resource-aggregation {
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
.resource-aggregation {
|
||||
background: #fff;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
item.ended
|
||||
? '审核完成'
|
||||
: item.backToFirst
|
||||
? '审核中(被驳回,请修改申请或终止流程)'
|
||||
? '审核中(请修改被驳回内容)'
|
||||
: '审核中'
|
||||
}}
|
||||
</p>
|
||||
|
|
|
@ -272,6 +272,7 @@
|
|||
function handlecancel() {
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
visible2.value = false
|
||||
}
|
||||
function abilityToTypeFunction(item) {
|
||||
abilityToTypeFunctionData.value = item
|
||||
|
@ -291,6 +292,7 @@
|
|||
if (abilityToTypeFunctionData.value == '组件服务') {
|
||||
if (!componentTypeValue.value || componentTypeValue.value == '') {
|
||||
message.error('请选择组件类型!')
|
||||
componentTypeValueOld.value = ''
|
||||
return
|
||||
} else if (
|
||||
componentTypeValue.value === '智能算法' ||
|
||||
|
@ -316,10 +318,10 @@
|
|||
query: snum.value,
|
||||
})
|
||||
window.open(applypage.href, '_blank')
|
||||
visible.value = false
|
||||
visible2.value = false
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
console.log(e)
|
||||
visible2.value = false
|
||||
}
|
||||
let abilityToType = ref(['组件服务', '应用资源'])
|
||||
let componentType = ref([
|
||||
|
@ -687,61 +689,95 @@
|
|||
margin-top: -1.44rem;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 500;
|
||||
.ant-modal-footer {
|
||||
border: 0;
|
||||
text-align: center;
|
||||
margin-top: 24px;
|
||||
padding-bottom: 24px;
|
||||
|
||||
.shenqing {
|
||||
background: #0058e1;
|
||||
color: #ffffff;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
.quxiao {
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
background: #ffffff;
|
||||
color: #0058e1;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
}
|
||||
.ant-modal-body {
|
||||
padding: 0px !important;
|
||||
}
|
||||
.ant-radio-inner {
|
||||
height: 0.16rem;
|
||||
width: 0.16rem;
|
||||
}
|
||||
|
||||
.ant-radio-inner::after {
|
||||
background-color: unset;
|
||||
background: url('~@/assets/personalCenter/xuanzhong.png') no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.ant-modal-content {
|
||||
border-radius: 0.1rem;
|
||||
|
||||
border-radius: 2px;
|
||||
border: 1px #e6e9ed solid;
|
||||
width: 690px;
|
||||
box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
|
||||
.ability-to-type,
|
||||
.component-type {
|
||||
display: flex;
|
||||
margin-top: 0.2rem;
|
||||
|
||||
margin-top: 24px;
|
||||
margin-left: 24px;
|
||||
.title {
|
||||
white-space: nowrap;
|
||||
margin-right: 0.2rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 0.26rem;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.content {
|
||||
.component-type-content {
|
||||
width: 100%;
|
||||
|
||||
height: unset;
|
||||
border: unset;
|
||||
background: unset;
|
||||
.ant-radio-group {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
grid-template-columns: auto auto auto auto;
|
||||
grid-gap: 0.15rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ability-to-type {
|
||||
.content {
|
||||
.ability-to-type-content {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
|
||||
grid-template-columns: auto auto auto auto;
|
||||
height: unset;
|
||||
border: unset;
|
||||
background: unset;
|
||||
margin-left: 20px;
|
||||
div {
|
||||
margin-right: 0.15rem;
|
||||
&:hover {
|
||||
background: #0058e1;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
}
|
||||
margin-right: 16px;
|
||||
cursor: pointer;
|
||||
font-size: 0.14rem;
|
||||
width: 0.9rem;
|
||||
height: 0.26rem;
|
||||
border-radius: 0.13rem;
|
||||
color: #333333;
|
||||
background: #f5f5f5;
|
||||
border: 0.01rem #cccccc solid;
|
||||
font-size: 16px;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
color: #0058e1;
|
||||
background: #ffffff;
|
||||
border: 1px #0058e1 solid;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
@ -749,7 +785,7 @@
|
|||
}
|
||||
|
||||
.ability-to-type-down {
|
||||
background: #0087ff;
|
||||
background: #0058e1;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
@ -759,16 +795,25 @@
|
|||
.ant-modal-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0px 24px;
|
||||
padding-top: 24px;
|
||||
padding-bottom: 22px;
|
||||
color: #212121;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
border-bottom: 2px solid #ebeced;
|
||||
}
|
||||
|
||||
.ant-modal-footer {
|
||||
border: 0;
|
||||
text-align: center;
|
||||
padding-bottom: 0.2rem;
|
||||
|
||||
margin-top: 50px;
|
||||
button {
|
||||
margin-right: 0.2rem;
|
||||
border-radius: 0.08rem;
|
||||
margin-right: 12px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue