Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
wuhongjian 2022-12-02 17:31:54 +08:00
commit cf1f925192
23 changed files with 1073 additions and 520 deletions

View File

@ -248,7 +248,6 @@ export default {
this.dataForm.taskId = this.$route.params.taskId
if (type === '同意') {
debugger
// if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
@ -267,6 +266,7 @@ export default {
return
}
bus.$emit('applicationforRequirementsInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
@ -302,6 +302,7 @@ export default {
return
}
bus.$emit('applicationforRequirementsInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',

View File

@ -174,7 +174,8 @@ export default {
}
return
}
bus.$emit('AbilityResourcesRemovedInit')
bus.$emit('commentInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
@ -209,7 +210,8 @@ export default {
}
return
}
bus.$emit('AbilityResourcesRemovedInit')
bus.$emit('commentInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
@ -259,20 +261,7 @@ export default {
}
},
created () {
// this.dataForm = this.$router.currentRoute.params.id
this.init()
console.log('fromList', this.$router.currentRoute.params.businessKey)
// this.dataForm = this.$router.currentRoute.params.params.params.resourceDTO
var callbacks = {
startProcessSuccessCallback: this.closeCurrentTab,
startProcessErrorCallback: this.startProcessErrorCallback,
taskHandleSuccessCallback: this.closeCurrentTab,
taskHandleErrorCallback: this.taskHandleErrorCallback,
formSaveSuccessCallback: null,
formSaveErrorCallback: null
}
//
this.initProcessMultiple(callbacks)
this.taskId = this.$route.params.taskId
this.dataForm.taskId = this.$route.params.taskId
},

View File

@ -252,6 +252,7 @@ export default {
return
}
bus.$emit('AbilityResourcesRemovedInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
@ -287,6 +288,7 @@ export default {
return
}
bus.$emit('AbilityResourcesRemovedInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',

View File

@ -128,6 +128,7 @@
</template>
<script>
import bus from '@/views/bus.js'
import mixinViewModule from '@/mixins/view-module'
import processModule from '@/mixins/process-module'
export default {
@ -150,6 +151,14 @@ export default {
}
},
components: {},
created () {
bus.$off('commentInit')
bus.$on('commentInit', () => {
debugger
this.getDataList()
bus.$emit('updateTaskNum')
})
},
methods: {
//
taskHandle (row) {

View File

@ -269,6 +269,7 @@ export default {
return
}
bus.$emit('abilityResourceShelfInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
@ -306,6 +307,7 @@ export default {
return
}
bus.$emit('abilityResourceShelfInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',

View File

@ -443,6 +443,7 @@ export default {
return
}
bus.$emit('competencyApplicationInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
@ -478,6 +479,7 @@ export default {
return
}
bus.$emit('competencyApplicationInit')
bus.$emit('workInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',

View File

@ -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>

View File

@ -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>

View File

@ -35,7 +35,7 @@ import CenterView from '../workBench/components/center-view.vue'
import DeptChartView from '../workBench/components/dept-chart-view.vue'
import deptTodoView from '../workBench/components/dept-todo-view.vue'
import * as Apis from './api.js'
import bus from '@/views/bus.js'
export default {
components: {
deptTodoView,
@ -87,6 +87,14 @@ export default {
loadingRequire: false
}
},
created () {
bus.$off('workInit')
bus.$on('workInit', () => {
console.log("刷新工作台===================")
this.getToDo()
this.getHasToDo()
})
},
mounted () {
//
this.getToDo()

View File

@ -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,6 +92,7 @@
if (res.data.code == 0) {
realName = res.data.data.realName
}
if (realName.length > 13) {
onWholeWaterMark(
[realName, moment().format('YYYY-MM-DD')],
800,
@ -99,6 +100,23 @@
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,

View File

@ -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,
})
}

View File

@ -44,7 +44,7 @@
<div class="left-list1">排行</div>
<div class="left-list2">部门名称</div>
<div class="left-list1">应用数</div>
<div class="left-list1" style="color: #1ffefd">贡献金额</div>
<div class="left-list1" style="color: #1ffefd">节省金额</div>
</div>
<div style=" height: 1.7rem; overflow-y: auto;overflow-x: hidden;width: 100%;">
<div class="left-list" v-for="(item, index) in top5DeptFundList">
@ -105,7 +105,7 @@
<div class="left-list1">序号</div>
<div class="left-list2">部门名称</div>
<div class="left-list1">应用数</div>
<div class="left-list1" style="color: #1ffefd">贡献金额</div>
<div class="left-list1" style="color: #1ffefd">节省金额</div>
</div>
<div style="height: 200px; overfolw-y: auto">
<div

View File

@ -160,7 +160,7 @@
height: 1.8rem;
}
.header1 {
top: 78px;
top: 70px;
position: absolute;
left: 795px;
align-items: center;

View File

@ -28,7 +28,7 @@
<template #renderItem="{ item }">
<a-list-item>
<div class="toptitle">
<a-tooltip placement="topLeft">
<a-tooltip placement="topLeft" v-if="item.demandSubject.length>20">
<template #title>{{ item.demandSubject}}</template>
<span
@click="showDetail(item)"
@ -38,15 +38,19 @@
{{ item.demandSubject }}
</span>
</a-tooltip>
<span v-else>
{{ item.demandSubject }}
</span>
<span class="time">{{ item.createDate }}</span>
</div>
<a-tooltip placement="topLeft">
<template #title>描述 {{ item.demandDetails }}</template>
<div class="bottomdesc">
<div class="bottomdesc" v-if="item.demandDetails.length<100">
描述 {{ item.demandDetails || '--' }}
</div>
</a-tooltip>
<div class="bottomdesc" v-else>
描述 {{ item.demandDetails.slice(0,100) }}...<span style="cursor:pointer;color:#1492ff" @click="showDetail(item)">查看更多>></span>
</div>
</a-list-item>
</template>
</a-list>
@ -194,6 +198,7 @@ onMounted(() => {
})
</script>
<style lang="less" scoped>
.main-cont {
margin-top: 64px;
width: 100%;
@ -260,6 +265,7 @@ onMounted(() => {
box-shadow: 10px 8px 10px 3px #9dc6ea;
padding: 20px;
.toptitle {
cursor: pointer;
margin-bottom: 10px;
& > span:first-child {
display: -webkit-box;
@ -287,7 +293,7 @@ onMounted(() => {
.bottomdesc {
display: -webkit-box;
/*设置为弹性盒子*/
-webkit-line-clamp: 1;
-webkit-line-clamp: 2;
/*最多显示2行*/
overflow: hidden;
/*超出隐藏*/

View File

@ -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> -->
@ -69,11 +97,11 @@ const dataFrom = ref({
password: '**************************',
password2: '',
})
console.log('props.dataList------------>', props.dataList);
console.log('props.dataList------------>', props.dataList)
const approveStatus = ref('')
if (props.dataList.infoList) {
let obj = props.dataList.approveStatus;
let obj = props.dataList.approveStatus
approveStatus.value = props.dataList.approveStatus
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
flag.value = false

View File

@ -9,13 +9,13 @@
<div class="algorithm-top-details">
<div class="left">
<div class="top">
<a-tooltip placement="top">
<a-tooltip placement="top" v-if="(props.dataList.name.length>20)">
<template #title>{{ props.dataList.name }}</template>
<span class="name">
{{ props.dataList.name }}
</span>
</a-tooltip>
<!-- <span class="name">{{ props.dataList.name }}</span> -->
<span class="name" v-else>{{ props.dataList.name }}</span>
<div class="label-content">
<p class="lable-father">
<span class="label" v-if="props.dataList.type">
@ -27,28 +27,54 @@
<span class="label" v-if="props.dataList.shareCondition">
{{ props.dataList.shareCondition }}
</span>
</p>
</div>
<!-- <span class="label">免费</span> -->
</div>
<div class="main">
<!-- <a-tooltip placement="top">
<template #title>应用领域{{ applicationArea }}</template>
<div>应用领域{{ applicationArea }}</div>
</a-tooltip> -->
<a-tooltip placement="top">
<!-- <a-tooltip placement="top">
<template #title>{{ props.dataList.description }}</template>
<div>
{{ props.dataList.description }}
</div>
</a-tooltip>
</a-tooltip> -->
<div class="bottomdesc" v-if="(props.dataList.description.length < 183)">
场景描述 {{ props.dataList.description || '--' }}
</div>
<div class="bottomdesc" v-else-if="dowmOrUp === '展开>>'">
场景描述 {{ props.dataList.description.slice(0, 183) }}...
<span
style="cursor: pointer; color: rgb(241 211 112)"
@click="showDetail(dowmOrUp)"
>
{{ dowmOrUp }}
</span>
</div>
<div class="bottomdesc1" v-else>
场景描述 {{ props.dataList.description }}
<span
style="cursor: pointer; color: rgb(241 211 112)"
@click="showDetail(dowmOrUp)"
>
{{ dowmOrUp }}
</span>
</div>
<div style="padding-top: 20px">
<span>场景入口:</span>
<span style="margin-left:10px;cursor: pointer; text-decoration: underline;"
@click="openScene(props.dataList.sceneUrl)">{{(props.dataList.sceneUrl)}}</span>
<span
style="
margin-left: 10px;
cursor: pointer;
text-decoration: underline;
"
@click="openScene(props.dataList.sceneUrl)"
>
{{ props.dataList.sceneUrl }}
</span>
</div>
</div>
<div class="bottom" v-if="props.dataList.id">
@ -80,9 +106,7 @@
</a-button> -->
</div>
</div>
<div class="right">
</div>
<div class="right"></div>
</div>
</template>
<script setup>
@ -96,6 +120,16 @@
//
const router = useRouter()
let dowmOrUp = ref('展开>>') // down ; up
//
const showDetail = (val) => {
if (val === '展开>>') {
dowmOrUp.value = '收起<<'
} else {
dowmOrUp.value = '展开>>'
}
}
const props = defineProps({
dataList: { type: Object, default: null },
})
@ -126,7 +160,7 @@
}
//
const openScene = (val) => {
window.open(val, "_blank");
window.open(val, '_blank')
}
// //
function toView() {
@ -305,25 +339,29 @@
}
.main {
.bottomdesc {
display: -webkit-box;
/*设置为弹性盒子*/
-webkit-line-clamp: 4;
/*最多显示2行*/
overflow: hidden;
/*超出隐藏*/
text-overflow: ellipsis;
/*超出显示为省略号*/
-webkit-box-orient: vertical;
word-break: break-all;
width: 800px;
font-size: 16px;
}
.bottomdesc1 {
overflow: auto;
width: 800px;
font-size: 16px;
height: 200px;
}
margin-top: 0.2rem;
font-size: 0.18rem;
line-height: 0.34rem;
// & > div:nth-of-type(1) {
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
// }
& > div:nth-of-type(1) {
max-height: 1rem;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
word-break: break-all;
}
}
.bottom {

View File

@ -420,7 +420,7 @@
})
mybus.on('changeMenuStyle', (data) => {
debugger
targetRouter.value = data
if (data.path == '/algorithmCompare') {
jumpPage(

View File

@ -31,9 +31,11 @@
/>
<i class="searchImg" aria-hidden="true"></i>
<button class="button-reset" @click="resetAction()">重置</button>
<div class="hengxian"></div>
</div>
</div>
<div v-if="number === 0" class="checkResult">检测结果: <span>{{resourceTotal}}</span></div>
<div v-loading="loadingData">
<searchResultList
v-if="number === 1"
@ -52,7 +54,9 @@
:resourceTotal="resourceTotal"
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
/>
<div class="pagination">
<a-pagination
v-if="resourceList.data && resourceList.data.length > 0"
v-model:current="currentPage"
@ -330,9 +334,22 @@
})
</script>
<style lang="less" scoped>
.checkResult{
margin-left: 0.2rem;
font-size: 14px;
font-weight: 500;
color: #212121;
margin-top: 10px;
span {
font-size: 18px;
color: #0087ff;
}
}
.resultListSearchInput-father {
background: #f3f5f9;
padding: 0.2rem;
padding: 0rem 0.2rem;
.resultListSearchInput-son {
background: #fff;

View File

@ -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>

View File

@ -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'

View File

@ -117,7 +117,7 @@
item.ended
? '审核完成'
: item.backToFirst
? '审核中(被驳回,请修改申请或终止流程'
? '审核中(请修改被驳回内容'
: '审核中'
}}
</p>

View File

@ -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;
font-size: 0.14rem;
width: 0.9rem;
height: 0.26rem;
border-radius: 0.13rem;
color: #333333;
background: #f5f5f5;
border: 0.01rem #cccccc solid;
color: #ffffff;
}
margin-right: 16px;
cursor: pointer;
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;
}
}

View File

@ -347,6 +347,8 @@
message.success(`${info.file.name} 文件上传成功`)
formName.enclosure = info.file.response.data
} else if (info.file.status === 'error') {
formName.enclosure = ''
fileList.value=[]
message.error(`${info.file.name} 文件上传失败`)
}
}