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

This commit is contained in:
gaoyuanwei 2022-07-18 14:02:33 +08:00
commit 569d2340ee
13 changed files with 680 additions and 499 deletions

View File

@ -1,22 +0,0 @@
<template>
<div class="wrapper"></div>
</template>
<script>
export default {
components: {},
props: {},
data () {
return {}
},
watch: {},
computed: {},
methods: {},
created () {},
mounted () {}
}
</script>
<style lang="scss" scoped>
.wrapper {
}
</style>

View File

@ -168,20 +168,6 @@ export default {
this.dataView = val.filter( this.dataView = val.filter(
(item) => item.name === this.dataForm.type + '一' (item) => item.name === this.dataForm.type + '一'
)[0] )[0]
console.log(this.dataView)
console.log(this.dataForm)
//
// this.dataView.children[0].children[0].children[4].note1 =
// this.dataForm.description
//
// this.dataView.children[0].children[0].children[0].note1 =
// this.dataForm.name
//
this.dataView.children[2].children[1].children[0].note1 =
this.dataForm.shareCondition
//
this.dataView.children[2].children[1].children[1].note1 =
this.dataForm.shareType
this.dataForm.infoList.map((item, index) => { this.dataForm.infoList.map((item, index) => {
this.dataView.children.map((itemView, indexView) => { this.dataView.children.map((itemView, indexView) => {
// console.log('itemView', itemView) // console.log('itemView', itemView)
@ -236,6 +222,7 @@ export default {
}) })
}) })
}) })
if (item.attrType === '功能介绍') { if (item.attrType === '功能介绍') {
this.dataForm.infoList[index].attrValue = JSON.parse( this.dataForm.infoList[index].attrValue = JSON.parse(
item.attrValue item.attrValue
@ -318,7 +305,11 @@ export default {
}) })
}) })
}) })
if (item.attrType === '算法优势' || item.attrType === '应用场景') { if (
item.attrType === '算法优势' ||
item.attrType === '应用场景' ||
item.attrType === '功能介绍'
) {
this.dataForm.infoList[index].attrValue = JSON.parse( this.dataForm.infoList[index].attrValue = JSON.parse(
item.attrValue item.attrValue
) )

View File

@ -7,9 +7,6 @@
@keyup.enter.native="dataFormSubmitHandle()" @keyup.enter.native="dataFormSubmitHandle()"
:label-width="$i18n.locale === 'en-US' ? '120px' : 'auto'" :label-width="$i18n.locale === 'en-US' ? '120px' : 'auto'"
> >
<div v-if="shifoushizujian">
<Applicationresources></Applicationresources>
</div>
<div v-if="flagShow"> <div v-if="flagShow">
<ResourcesAndServices <ResourcesAndServices
:dataForm="dataForm" :dataForm="dataForm"
@ -39,21 +36,31 @@
<div class="agreeOr"> <div class="agreeOr">
<h3>审批</h3> <h3>审批</h3>
<div> <div>
<el-radio-group v-model="agreeOrList" style="width:230px;"> <el-radio-group v-model="agreeOrList" style="width: 230px">
<el-radio-button label="同意" class="blueAll">同意</el-radio-button> <el-radio-button label="同意" class="blueAll">同意</el-radio-button>
<el-radio-button label="退回" class="redAll">退回</el-radio-button> <el-radio-button label="退回" class="redAll">退回</el-radio-button>
</el-radio-group> </el-radio-group>
<el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input> <el-input
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input> v-if="agreeOrList === '同意'"
<el-button class="inputBule" @click.native="agreeOrNot($store.state.contentTabsActiveName)">提交</el-button> v-model="inputAgree"
placeholder="请输入同意意见"
></el-input>
<el-input
v-if="agreeOrList === '退回'"
v-model="inputNo"
placeholder="请输入退回意见"
></el-input>
<el-button
class="inputBule"
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
>提交</el-button
>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import processModule from '@/mixins/process-module'
import Applicationresources from './Application-resources.vue'
import ResourcesAndServices from './ResourcesAndServices.vue' import ResourcesAndServices from './ResourcesAndServices.vue'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
import qs from 'qs' import qs from 'qs'
@ -62,7 +69,6 @@ export default {
// //
// mixins: [processModule], // mixins: [processModule],
components: { components: {
Applicationresources,
ResourcesAndServices ResourcesAndServices
}, },
props: { props: {
@ -146,64 +152,73 @@ export default {
// } // }
}) })
}, },
agreeOrNot: debounce(function (data) { agreeOrNot: debounce(
console.log(data) function (data) {
if (this.agreeOrList === '同意') { console.log(data)
console.log('this.dataForm.taskId', this.taskId) if (this.agreeOrList === '同意') {
const params = qs.stringify({ console.log('this.dataForm.taskId', this.taskId)
taskId: this.taskId, const params = qs.stringify({
comment: this.inputAgree taskId: this.taskId,
}) comment: this.inputAgree
console.log(params)
this.$http.post('/act/task/complete?' + params).then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
}) })
}).catch(() => {}) console.log(params)
} else if (this.agreeOrList === '退回') { this.$http
console.log('this.dataForm.taskId', this.taskId) .post('/act/task/complete?' + params)
const params = qs.stringify({ .then(({ data: res }) => {
taskId: this.taskId, if (res.code !== 0) {
comment: this.inputNo this.$message.error(res.msg)
}) if (this.callbacks.taskHandleErrorCallback) {
this.$http.post('/act/task/backToFirst?', params).then(({ data: res }) => { this.callbacks.taskHandleErrorCallback(res)
if (res.code !== 0) { }
this.$message.error(res.msg) return
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
} }
} this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
.catch(() => {})
} else if (this.agreeOrList === '退回') {
console.log('this.dataForm.taskId', this.taskId)
const params = qs.stringify({
taskId: this.taskId,
comment: this.inputNo
}) })
}) this.$http
} .post('/act/task/backToFirst?', params)
this.tabRemoveHandle(data) .then(({ data: res }) => {
}, 1000, { leading: true, trailing: false }), if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
}
this.tabRemoveHandle(data)
},
1000,
{ leading: true, trailing: false }
),
tabRemoveHandle (tabName) { tabRemoveHandle (tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') { if (tabName === 'home') {
@ -231,7 +246,6 @@ export default {
} }
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -2,12 +2,12 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23 * @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-14 10:01:08 * @LastEditTime: 2022-07-18 11:34:38
* @Description: 数据资源参数配置 * @Description: 数据资源参数配置
*/ */
const newLocation = 'qingdao' //const newLocation = 'qingdao'
// const newLocation = 'baotou' // const newLocation = 'baotou'
// const newLocation = 'xihaian' const newLocation = 'xihaian'
// //
const whoShow = {} const whoShow = {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

View File

@ -2,60 +2,59 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-04-01 17:23:11 * @Date: 2022-04-01 17:23:11
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-16 10:57:59 * @LastEditTime: 2022-07-18 11:25:28
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
/** /**
* @author chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 路由守卫目前两种模式all模式与intelligence模式 * @description 路由守卫目前两种模式all模式与intelligence模式
*/ */
import router from '@/router' import router from '@/router'
import store from '@/store' import store from '@/store'
import getPageTitle from '@/utils/pageTitle' import getPageTitle from '@/utils/pageTitle'
import { getUserInfo } from '@/api/user' import { getUserInfo } from '@/api/user'
import { import {
// authentication, // authentication,
loginInterception, loginInterception,
// recordRoute, // recordRoute,
routesWhiteList, routesWhiteList,
} from '@/config' } from '@/config'
import { setAccessToken, getAccessToken } from '@/utils/accessToken' import { setAccessToken, getAccessToken } from '@/utils/accessToken'
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
// debugger // debugger
// const SSOTOKEN = to.query.SSOToken // const SSOTOKEN = to.query.SSOToken
// if (SSOTOKEN) { // if (SSOTOKEN) {
// setAccessToken(SSOTOKEN) // setAccessToken(SSOTOKEN)
// } // }
const token = getAccessToken() const token = getAccessToken()
console.log('token', token) console.log('token', token)
let hasToken = token let hasToken = token
// debugger // debugger
if (!loginInterception) hasToken = true if (!loginInterception) hasToken = true
console.log('hasToken存在巨大问题', hasToken) console.log('hasToken存在巨大问题', hasToken)
if (hasToken) { if (hasToken) {
// setAccessToken(hasToken) // setAccessToken(hasToken)
await store.dispatch('user/getUserInfo') await store.dispatch('user/getUserInfo')
// debugger // debugger
next() next()
} else { } else {
let accessRoutes = [] let accessRoutes = []
accessRoutes = await store.dispatch('routes/setRoutes') accessRoutes = await store.dispatch('routes/setRoutes')
accessRoutes.forEach((item) => { accessRoutes.forEach((item) => {
router.addRoute(item) router.addRoute(item)
}) })
if (routesWhiteList.indexOf(to.path) !== -1) { if (routesWhiteList.indexOf(to.path) !== -1) {
next() next()
} else { } else {
// //
if (to.query.redict) if (to.query.redict) getUserInfo(to.query.redict)
getUserInfo(to.query.redict) else {
else { getUserInfo()
getUserInfo() }
} }
} }
} })
}) router.afterEach((to) => {
router.afterEach((to) => { document.title = getPageTitle(to.meta.title)
document.title = getPageTitle(to.meta.title) })
})

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-17 14:11:08 * @Date: 2022-06-17 14:11:08
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-16 15:05:16 * @LastEditTime: 2022-07-18 11:23:39
* @Description: 上架 * @Description: 上架
--> -->
<template> <template>
@ -695,7 +695,7 @@
console.log('targetKeys: ', nextTargetKeys) console.log('targetKeys: ', nextTargetKeys)
console.log('direction: ', direction) console.log('direction: ', direction)
console.log('moveKeys: ', moveKeys) console.log('moveKeys: ', moveKeys)
targetKeys.value = moveKeys targetKeys.value = moveKeys.filter((item, index) => index === 0)
} }
const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => { const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
@ -775,259 +775,259 @@
</script> </script>
<style></style> <style></style>
<style lang="less" scoped> <style lang="less" scoped>
.put-on-the-shelf { .put-on-the-shelf {
height: 680px; height: 680px;
overflow: scroll; overflow: scroll;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 50px 100px 25px; padding: 50px 100px 25px;
.Technical-text { .Technical-text {
height: 30px; height: 30px;
width: 100px; width: 100px;
border: 1px solid #bbd3ef; border: 1px solid #bbd3ef;
border-radius: 6px; border-radius: 6px;
background: #edf4fc; background: #edf4fc;
color: #0087ff; color: #0087ff;
font-size: 14px; font-size: 14px;
text-align: center; text-align: center;
line-height: 30px; line-height: 30px;
} }
.Technical-text:hover { .Technical-text:hover {
cursor: pointer; cursor: pointer;
}
& > div {
width: 100%;
margin-top: 60px;
.top {
color: #333333;
font-size: 22px;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 25px;
div:first-child,
div:last-child {
width: 245px;
height: 1px;
background: #f0f0f0;
}
div:nth-child(2) {
margin: 0 30px;
}
} }
.bottom { & > div {
margin-top: 25px; width: 100%;
margin-top: 60px;
.items { .top {
background: #fafafa; color: #333333;
padding: 10px; font-size: 22px;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 25px;
p { div:first-child,
div:last-child {
width: 245px;
height: 1px;
background: #f0f0f0;
}
div:nth-child(2) {
margin: 0 30px;
}
}
.bottom {
margin-top: 25px;
.items {
background: #fafafa;
padding: 10px;
p {
display: flex;
justify-content: space-between;
span:nth-of-type(1) {
width: 200px;
}
span:nth-of-type(2) {
width: 100%;
font-weight: 600;
}
}
p:nth-of-type(1) > span:nth-of-type(1) {
font-size: 18px;
font-weight: 600;
}
.del {
display: flex;
justify-content: flex-end;
align-items: center;
.delImg {
cursor: pointer;
display: inline-block;
width: 16px;
height: 18px;
background: url(~@/assets/home/sf_del.png) no-repeat;
margin-right: 5px;
}
div {
cursor: pointer;
}
}
}
.add {
margin-top: 10px;
font-size: 16px;
color: #007efb;
}
.form {
margin-top: 20px;
display: flex; display: flex;
justify-content: space-between; justify-content: flex-start;
align-items: center;
span:nth-of-type(1) { span:first-child {
width: 120px;
}
:deep(.ant-input-textarea) {
width: 520px;
}
:deep(.ant-radio-group) {
width: 520px;
}
:deep(.ant-input-number) {
width: 200px; width: 200px;
} }
span:nth-of-type(2) { :deep(.ant-input) {
width: 100%; resize: none;
font-weight: 600; width: 520px;
}
.ant-btn {
width: 160px;
height: 32px;
text-align: center;
background: #edf4fc;
color: #0087ff;
border: 1px solid #bbd3ef;
border-radius: 6px;
} }
} }
p:nth-of-type(1) > span:nth-of-type(1) { .submit {
font-size: 18px; margin-top: 40px;
font-weight: 600;
}
.del {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center;
.delImg { .ant-btn {
cursor: pointer; width: 80px;
display: inline-block; height: 28px;
width: 16px; text-align: center;
height: 18px; background: #d9ebff;
background: url(~@/assets/home/sf_del.png) no-repeat; color: #0087ff;
margin-right: 5px; border: 1px solid #0087ff;
border-radius: 6px;
} }
div {
cursor: pointer;
}
}
}
.add {
margin-top: 10px;
font-size: 16px;
color: #007efb;
}
.form {
margin-top: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
span:first-child {
width: 120px;
}
:deep(.ant-input-textarea) {
width: 520px;
}
:deep(.ant-radio-group) {
width: 520px;
}
:deep(.ant-input-number) {
width: 200px;
}
:deep(.ant-input) {
resize: none;
width: 520px;
}
.ant-btn {
width: 160px;
height: 32px;
text-align: center;
background: #edf4fc;
color: #0087ff;
border: 1px solid #bbd3ef;
border-radius: 6px;
}
}
.submit {
margin-top: 40px;
display: flex;
justify-content: flex-end;
.ant-btn {
width: 80px;
height: 28px;
text-align: center;
background: #d9ebff;
color: #0087ff;
border: 1px solid #0087ff;
border-radius: 6px;
} }
} }
} }
& > div:nth-of-type(1) {
margin-top: 0;
}
} }
& > div:nth-of-type(1) { .application-Area {
margin-top: 0; width: 520px;
display: grid;
margin-top: -5px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
.application-Area-son {
cursor: pointer;
font-size: 14px;
width: 90px;
height: 26px;
border-radius: 13px;
color: #333333;
background: #f5f5f5;
border: 1px #cccccc solid;
display: flex;
justify-content: center;
align-items: center;
margin-top: 10px;
font-weight: 500;
}
.application-Area-down {
background: #0087ff;
color: #fff;
}
} }
}
.application-Area { :deep(.ant-image-img) {
width: 520px; width: 100%;
display: grid; height: 100%;
margin-top: -5px; object-fit: contain;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
.application-Area-son { :deep(.ant-modal) {
cursor: pointer; width: 960px;
font-size: 14px; }
width: 90px;
height: 26px; :deep(.ant-transfer-list) {
border-radius: 13px; width: 39.5%;
color: #333333; height: 520px;
background: #f5f5f5; }
border: 1px #cccccc solid;
:deep(.ant-transfer-operation) {
flex-direction: row-reverse;
margin: 0 30px;
}
:deep(.ant-btn) {
width: 56px;
height: 40px;
border-radius: 4px;
}
:deep(.ant-btn:first-child) {
margin-left: 4px;
}
:deep(.ant-modal-footer) {
border: 0;
}
:deep(.ant-modal-header) {
border: 0;
}
:deep(.ant-modal-title) {
line-height: 24px;
font-size: 18px;
color: #303133;
}
:deep(.ant-transfer-list-header) {
background: #f5f7fa;
}
:deep(.ant-transfer-list-header-selected) {
display: flex; display: flex;
justify-content: center; width: 90%;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center; align-items: center;
margin-top: 10px;
font-weight: 500;
} }
.application-Area-down { :deep(.ant-transfer-list-header-title) {
background: #0087ff; font-size: 16px;
color: #fff; color: #303133;
font-weight: 400;
text-align: left;
}
:deep(.ant-transfer-list-header .ant-checkbox-wrapper) {
display: none !important;
}
:deep(.ant-upload-list-item-name) {
width: 100px;
} }
}
:deep(.ant-image-img) {
width: 100%;
height: 100%;
object-fit: contain;
}
:deep(.ant-modal) {
width: 960px;
}
:deep(.ant-transfer-list) {
width: 39.5%;
height: 520px;
}
:deep(.ant-transfer-operation) {
flex-direction: row-reverse;
margin: 0 30px;
}
:deep(.ant-btn) {
width: 56px;
height: 40px;
border-radius: 4px;
}
:deep(.ant-btn:first-child) {
margin-left: 4px;
}
:deep(.ant-modal-footer) {
border: 0;
}
:deep(.ant-modal-header) {
border: 0;
}
:deep(.ant-modal-title) {
line-height: 24px;
font-size: 18px;
color: #303133;
}
:deep(.ant-transfer-list-header) {
background: #f5f7fa;
}
:deep(.ant-transfer-list-header-selected) {
display: flex;
width: 90%;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center;
}
:deep(.ant-transfer-list-header-title) {
font-size: 16px;
color: #303133;
font-weight: 400;
text-align: left;
}
:deep(.ant-transfer-list-header .ant-checkbox-wrapper) {
display: none !important;
}
:deep(.ant-upload-list-item-name) {
width: 100px;
}
</style> </style>

View File

@ -17,14 +17,7 @@
</a-layout-sider> </a-layout-sider>
</div> </div>
<div class="right"> <div class="right">
<div <!-- <div class="title">数据需求</div> -->
class="title"
v-if="
!(whoShow1 && whoShow1.itShowXiHaiAn && detailsType === '应用资源')
"
>
数据需求
</div>
<a-list <a-list
class="demo-loadmore-list" class="demo-loadmore-list"
:loading="initLoading" :loading="initLoading"
@ -187,80 +180,93 @@
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.main-cont { .main-cont {
margin-top: 64px; margin-top: 64px;
width: 100%; width: 100%;
height: calc(100%-90px); height: calc(100%-90px);
background: url('~@/assets/demandCenter/bj.png') no-repeat; background: url('~@/assets/demandCenter/bj.png') no-repeat;
background-position-x: center; background-position-x: center;
display: flex;
justify-content: center;
.main {
width: 1200px;
height: 100%;
padding-top: 30px;
display: flex; display: flex;
.left { justify-content: center;
width: 15%; .main {
.ant-card { width: 1200px;
background: transparent; height: 100%;
border: none; padding-top: 30px;
.ant-card-grid { display: flex;
height: 50px; .left {
display: flex; width: 15%;
align-items: center; .ant-card {
justify-content: center; background: transparent;
margin-bottom: 10px; border: none;
border: 1px solid #fff; .ant-card-grid {
background-color: #fff; height: 50px;
cursor: pointer; display: flex;
} align-items: center;
} justify-content: center;
.ant-layout-sider { margin-bottom: 10px;
background-color: transparent; border: 1px solid #fff;
:deep(.ant-menu-item) { background-color: #fff;
height: 100px; cursor: pointer;
font-size: 18px;
color: #333333;
border: 1px solid #dee8f5;
margin: 0;
&::after {
margin-top: 30px;
height: 40px;
width: 4px;
background-color: #0087ff;
} }
} }
:deep(.ant-menu-item-selected) { .ant-layout-sider {
background-color: #e9f4ff; background-color: transparent;
:deep(.ant-menu-item) {
height: 100px;
font-size: 18px;
color: #333333;
border: 1px solid #dee8f5;
margin: 0;
&::after {
margin-top: 30px;
height: 40px;
width: 4px;
background-color: #0087ff;
}
}
:deep(.ant-menu-item-selected) {
background-color: #e9f4ff;
}
} }
} }
} .right {
.right { flex: 1;
flex: 1; margin-left: 30px;
margin-left: 30px; height: 850px;
height: 850px; background-color: #ffffff;
background-color: #ffffff; box-shadow: 10px 8px 10px 3px #9dc6ea;
box-shadow: 10px 8px 10px 3px #9dc6ea; padding: 20px;
padding: 20px; .title {
.title { font-size: 22px;
font-size: 22px; font-weight: 500;
font-weight: 500; color: #1492ff;
color: #1492ff; }
} .ant-list {
.ant-list { height: 730px;
height: 730px; overflow-y: scroll;
overflow-y: scroll; :deep(.ant-list-item-meta-title) {
:deep(.ant-list-item-meta-title) { display: flex;
display: flex; justify-content: space-between;
justify-content: space-between; .name {
.name { width: 800px;
width: 800px; font-size: 18px;
font-size: 18px; color: #1492ff;
color: #1492ff; display: -webkit-box;
/*设置为弹性盒子*/
-webkit-line-clamp: 1;
/*最多显示2行*/
overflow: hidden;
/*超出隐藏*/
text-overflow: ellipsis;
/*超出显示为省略号*/
-webkit-box-orient: vertical;
word-break: break-all;
}
}
:deep(.ant-list-item-meta-description) {
display: -webkit-box; display: -webkit-box;
/*设置为弹性盒子*/ /*设置为弹性盒子*/
-webkit-line-clamp: 1; -webkit-line-clamp: 2;
/*最多显示2行*/ /*最多显示2行*/
overflow: hidden; overflow: hidden;
/*超出隐藏*/ /*超出隐藏*/
@ -270,33 +276,20 @@
word-break: break-all; word-break: break-all;
} }
} }
:deep(.ant-list-item-meta-description) { //
display: -webkit-box; .ant-list::-webkit-scrollbar {
/*设置为弹性盒子*/ display: none;
-webkit-line-clamp: 2; }
/*最多显示2行*/ .ant-pagination {
overflow: hidden; margin-top: 10px;
/*超出隐藏*/
text-overflow: ellipsis;
/*超出显示为省略号*/
-webkit-box-orient: vertical;
word-break: break-all;
} }
}
//
.ant-list::-webkit-scrollbar {
display: none;
}
.ant-pagination {
margin-top: 10px;
} }
} }
} }
}
</style> </style>
<style> <style>
body, body,
html { html {
height: unset; height: unset;
} }
</style> </style>

View File

@ -45,6 +45,12 @@
id="function-introduction" id="function-introduction"
class="scrollBox" class="scrollBox"
></application-function-intorduction> ></application-function-intorduction>
<!--应用详情-->
<application-ability-trial
:dataList="dataList.data"
id="application-ability-trial"
class="scrollBox"
></application-ability-trial>
<!-- 使用能力 --> <!-- 使用能力 -->
<application-ability-toise <application-ability-toise
:dataList="dataList.data" :dataList="dataList.data"
@ -81,6 +87,7 @@
import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue' import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue'
import ApplicationNavigation from '@/views/detailsAll/components/Application/ApplicationNavigation.vue' import ApplicationNavigation from '@/views/detailsAll/components/Application/ApplicationNavigation.vue'
import ApplicationPresentation from '@/views/detailsAll/components/Application/ApplicationPresentation.vue' import ApplicationPresentation from '@/views/detailsAll/components/Application/ApplicationPresentation.vue'
import ApplicationAbilityTrial from '@/views/detailsAll/components/Application/ApplicationAbilityTrial.vue'
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' // import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue' import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'

View File

@ -0,0 +1,179 @@
<!--
* @Author: hisense.liangjunhua
* @Date: 2022-06-09 09:29:29
* @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-13 15:21:26
* @Description: 应用详情
-->
<template>
<div class="algorithm-on-trial" v-if="true">
<detals-title title="应用详情" type="PROBATION"></detals-title>
<div class="main">
<div class="main-left">
<p>{{ dataFrom.linkName }}</p>
<p style="cursor: pointer" @click="clickLink(dataFrom.link)">
{{ dataFrom.link }}
</p>
</div>
<div class="main-center">
<p>{{ dataFrom.numberName }}</p>
<p>{{ dataFrom.number }}</p>
<div @click="copyFunction(dataFrom.number, '复制账号')">复制账号</div>
</div>
<div class="main-right">
<p>{{ dataFrom.passwordName }}</p>
<p>{{ dataFrom.password }}</p>
<div @click="copyFunction(dataFrom.password2, '复制密码')">
复制密码
</div>
</div>
</div>
</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 props = defineProps({
dataList: { type: Object, default: null },
})
const dataFrom = ref({
linkName: '访问地址',
link: 'http://localhost:8080/#/detailsfdddffffffffffffffdfgdfgdfdgdfgdfg',
numberName: '试用账号',
number: 'zhangfeihu',
passwordName: '试用密码',
password: '**************************',
password2: '',
})
if (props.dataList.infoList) {
let obj = props.dataList.applyState
if (obj !== '已申请') {
flag.value = false
} else {
props.dataList.infoList.map((item) => {
if (item.attrType == '访问地址') {
dataFrom.value.link = item.attrValue
} else if (item.attrType == '试用用户名') {
dataFrom.value.number = item.attrValue
} else if (item.attrType == '试用密码') {
dataFrom.value.password2 = item.attrValue
}
})
}
}
const clickLink = (link) => {
window.open(link)
}
//
const copyFunction = (data, name) => {
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 + '成功')
}
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.applyState
if (obj !== '已申请') {
flag.value = false
} else {
props.dataList.infoList.map((item) => {
if (item.attrType == '访问地址') {
dataFrom.value.link = item.attrValue
} else if (item.attrType == '试用用户名') {
dataFrom.value.number = item.attrValue
} else if (item.attrType == '试用密码') {
dataFrom.value.password2 = item.attrValue
}
})
}
}
}
)
</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%;
align-items: center;
.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;
-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;
}
}
}
</style>
<style>
.custom-class {
/* top: 100px; */
}
</style>

View File

@ -75,13 +75,14 @@
attrValue: '是', attrValue: '是',
} }
dataFrom.value.content[1].childrenContent.push(isAndNo) dataFrom.value.content[1].childrenContent.push(isAndNo)
} else if (item.attrType === '访问地址') {
let obj = {
attrType: '访问地址',
attrValue: item.attrValue || '------',
}
dataFrom.value.content[0].childrenContent.push(obj)
} }
// } else if (item.attrType === '访') {
// let obj = {
// attrType: '访',
// attrValue: item.attrValue || '------',
// }
// dataFrom.value.content[0].childrenContent.push(obj)
// }
}) })
if (dataFrom.value.content[1].childrenContent.length <= 0) { if (dataFrom.value.content[1].childrenContent.length <= 0) {
let data = [ let data = [
@ -99,12 +100,12 @@
}) })
} }
} }
//访 // //访
const addressFunction = (name, itemValue) => { // const addressFunction = (name, itemValue) => {
if (name == '访问地址') { // if (name == '访') {
window.open(itemValue) // window.open(itemValue)
} // }
} // }
watch( watch(
() => props.dataList, () => props.dataList,
(val) => { (val) => {
@ -125,13 +126,14 @@
attrValue: '是', attrValue: '是',
} }
dataFrom.value.content[1].childrenContent.push(isAndNo) dataFrom.value.content[1].childrenContent.push(isAndNo)
} else if (item.attrType === '访问地址') {
let obj = {
attrType: '访问地址',
attrValue: item.attrValue || '------',
}
dataFrom.value.content[0].childrenContent.push(obj)
} }
// } else if (item.attrType === '访') {
// let obj = {
// attrType: '访',
// attrValue: item.attrValue || '------',
// }
// dataFrom.value.content[0].childrenContent.push(obj)
// }
}) })
if (dataFrom.value.content[1].childrenContent.length <= 0) { if (dataFrom.value.content[1].childrenContent.length <= 0) {
debugger debugger

View File

@ -41,6 +41,10 @@
name: '使用能力', name: '使用能力',
key: 'ability-to-use', key: 'ability-to-use',
}, },
{
name: '应用详情',
key: 'application-ability-trial',
},
{ {
name: '部署与安全', name: '部署与安全',
key: 'deployment-and-security', key: 'deployment-and-security',
@ -96,6 +100,8 @@
list.value.push(item.attrType) list.value.push(item.attrType)
} else if (item.attrType === '应用展示视频') { } else if (item.attrType === '应用展示视频') {
list.value.push('应用展示') list.value.push('应用展示')
} else if (item.attrType === '访问地址') {
list.value.push('应用详情')
} }
}) })
list.value.unshift('关联组件') list.value.unshift('关联组件')
@ -137,6 +143,8 @@
list.value.push(item.attrType) list.value.push(item.attrType)
} else if (item.attrType === '应用展示视频') { } else if (item.attrType === '应用展示视频') {
list.value.push('应用展示') list.value.push('应用展示')
} else if (item.attrType === '访问地址') {
list.value.push('应用详情')
} }
}) })
list.value.unshift('关联组件') list.value.unshift('关联组件')

View File

@ -7,7 +7,8 @@
]" ]"
> >
<div class="name"> <div class="name">
<div class="name-bg"></div> <div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div>
城市云脑通用能力服务平台 城市云脑通用能力服务平台
</div> </div>
<div <div
@ -137,6 +138,7 @@
// // { name: '', key: 'houtaiguanli' }, // // { name: '', key: 'houtaiguanli' },
// { name: '', key: 'assignCase' }, // { name: '', key: 'assignCase' },
// ]) // ])
const whoShow1 = whoShow
const user = ref({ const user = ref({
username: store.getters['user/username'], username: store.getters['user/username'],
}) })
@ -353,6 +355,14 @@
background-size: 100%; background-size: 100%;
margin-right: 0.15rem; margin-right: 0.15rem;
} }
.name-bg-xihaian {
height: 0.6rem;
width: 0.6rem;
background: url('~@/assets/newHome/newHome-title-bg-xihaian.png')
no-repeat;
background-size: 100%;
margin-right: 0.15rem;
}
} }
.nav { .nav {
width: 1.2rem; width: 1.2rem;