Compare commits

..

2 Commits

7 changed files with 1555 additions and 1418 deletions

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-08-25 14:37:49 * @Date: 2022-08-25 14:37:49
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-12 13:40:14 * @LastEditTime: 2022-10-12 15:25:01
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
var _global = {} var _global = {}
@ -11,7 +11,7 @@ var CONFIGITEM = {
// version: 'xihaian', // 西海岸 // version: 'xihaian', // 西海岸
// version: 'test', // 测试 // version: 'test', // 测试
// version: 'frp', // 内网穿透 // version: 'frp', // 内网穿透
version: 'dev', // 开发 version: 'xihaian', // 开发
vNum: 'v0.8.7.2', vNum: 'v0.8.7.2',
configData: { configData: {
// 青岛市大数据局 // 青岛市大数据局
@ -25,7 +25,8 @@ var CONFIGITEM = {
previewUrl: 'http://10.134.135.9:9796/', previewUrl: 'http://10.134.135.9:9796/',
// apiURL: 'http://10.134.135.9:8888/renren-admin', // apiURL: 'http://10.134.135.9:8888/renren-admin',
// apiURL: 'http://10.16.5.35:8888/renren-admin', // 李志成-研发 // apiURL: 'http://10.16.5.35:8888/renren-admin', // 李志成-研发
apiURL: 'http://192.168.124.254:8888/renren-admin', // 李志成-远雄 apiURL: 'http://192.168.124.236:8888/renren-admin',
// apiURL: 'http://192.168.124.254:8888/renren-admin', // 李志成-远雄
websocketURL: 'ws://10.134.135.9:8888/renren-admin/websocket' websocketURL: 'ws://10.134.135.9:8888/renren-admin/websocket'
}, },
// 测试 // 测试

View File

@ -33,9 +33,13 @@
<el-form-item prop="sort" :label="$t('menu.sort')"> <el-form-item prop="sort" :label="$t('menu.sort')">
<el-input-number v-model="dataForm.sort" controls-position="right" :min="0" :label="$t('menu.sort')"></el-input-number> <el-input-number v-model="dataForm.sort" controls-position="right" :min="0" :label="$t('menu.sort')"></el-input-number>
</el-form-item> </el-form-item>
<!-- 授权标识 -->
<el-form-item prop="permissions" :label="$t('menu.permissions')"> <el-form-item prop="permissions" :label="$t('menu.permissions')">
<el-input v-model="dataForm.permissions" :placeholder="$t('menu.permissionsTips')"></el-input> <el-input v-model="dataForm.permissions" :placeholder="$t('menu.permissionsTips')"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="site" label="站点标识">
<el-input v-model="dataForm.site" placeholder="请输入站点标识(1为共享门户,0为后台管理)"></el-input>
</el-form-item>
<el-form-item v-if="dataForm.type === 0" prop="icon" :label="$t('menu.icon')" class="icon-list"> <el-form-item v-if="dataForm.type === 0" prop="icon" :label="$t('menu.icon')" class="icon-list">
<el-popover v-model="iconListVisible" ref="iconListPopover" placement="bottom-start" trigger="click" popper-class="mod-sys__menu-icon-popover"> <el-popover v-model="iconListVisible" ref="iconListPopover" placement="bottom-start" trigger="click" popper-class="mod-sys__menu-icon-popover">
<div class="mod-sys__menu-icon-inner"> <div class="mod-sys__menu-icon-inner">
@ -77,6 +81,7 @@ export default {
name: '', name: '',
pid: '0', pid: '0',
parentName: '', parentName: '',
site: 0,
url: '', url: '',
permissions: '', permissions: '',
sort: 0, sort: 0,
@ -98,14 +103,14 @@ export default {
}, },
watch: { watch: {
'dataForm.type' (val) { 'dataForm.type' (val) {
this.$refs['dataForm'].clearValidate() this.$refs.dataForm.clearValidate()
} }
}, },
methods: { methods: {
init () { init () {
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].resetFields() this.$refs.dataForm.resetFields()
this.iconList = getIconList() this.iconList = getIconList()
console.log('iconList', this.iconList) console.log('iconList', this.iconList)
this.dataForm.parentName = this.$t('menu.parentNameDefault') this.dataForm.parentName = this.$t('menu.parentNameDefault')
@ -159,7 +164,7 @@ export default {
}, },
// //
dataFormSubmitHandle: debounce(function () { dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => { this.$refs.dataForm.validate((valid) => {
if (!valid) { if (!valid) {
return false return false
} }
@ -178,7 +183,7 @@ export default {
}) })
}).catch(() => {}) }).catch(() => {})
}) })
}, 1000, { 'leading': true, 'trailing': false }) }, 1000, { leading: true, trailing: false })
} }
} }
</script> </script>

View File

@ -2,7 +2,7 @@
* @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-10-11 10:46:03 * @LastEditTime: 2022-10-12 15:29:29
* @Description: 系统静态参数配置 * @Description: 系统静态参数配置
*/ */
var _global = {} var _global = {}

View File

@ -11,9 +11,12 @@
<div v-for="item in dataList.dataList" :key="item.name"> <div v-for="item in dataList.dataList" :key="item.name">
<div v-if="item.type !== '资源汇聚总量'" class="content-left"> <div v-if="item.type !== '资源汇聚总量'" class="content-left">
<div class="name"> <div class="name">
<span class="name-photo" :style="{ <span
class="name-photo"
:style="{
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
}"></span> }"
></span>
<span class="name-text">{{ item.type }}</span> <span class="name-text">{{ item.type }}</span>
</div> </div>
<div class="organization-value"> <div class="organization-value">
@ -90,7 +93,7 @@ let dataList = ref({
// // if (dataList.value.dataList[index].type === '') { // // if (dataList.value.dataList[index].type === '') {
// // dataList.value.dataList[index].amount = dataSourceNum.value || 0 // // dataList.value.dataList[index].amount = dataSourceNum.value || 0
// // } // // }
// dataList.value.dataList[index].organization = '' // dataList.value.dataList[index].organization = ''
// dataList.value.dataList[index].photo = photo.value[index] // dataList.value.dataList[index].photo = photo.value[index]
// }) // })
// }) // })
@ -101,15 +104,15 @@ selectTotal().then((res) => {
return message.error(res.data.msg) return message.error(res.data.msg)
} }
let imgObj = { let imgObj = {
'组件服务': require('../../../assets/abilityStatistics/banner-zj.png'), 组件服务: require('../../../assets/abilityStatistics/banner-zj.png'),
'应用资源': require('../../../assets/abilityStatistics/banner-yy.png'), 应用资源: require('../../../assets/abilityStatistics/banner-yy.png'),
'基础设施': require('../../../assets/abilityStatistics/banner-jc.png'), 基础设施: require('../../../assets/abilityStatistics/banner-jc.png'),
'数据资源': require('../../../assets/abilityStatistics/banner-sj.png'), 数据资源: require('../../../assets/abilityStatistics/banner-sj.png'),
'知识库': require('../../../assets/abilityStatistics/banner-zs.png'), 知识库: require('../../../assets/abilityStatistics/banner-zs.png'),
} }
res.data.data.total.forEach((val) => { res.data.data.total.forEach((val) => {
let _obj = { let _obj = {
organization: '个', organization: '项',
type: val.type, type: val.type,
photo: val.type && imgObj[val.type], photo: val.type && imgObj[val.type],
amount: val.count, amount: val.count,
@ -119,11 +122,14 @@ selectTotal().then((res) => {
_obj.amount = val.count - 0 + uavAndIndividualSoldier.num _obj.amount = val.count - 0 + uavAndIndividualSoldier.num
} }
} }
if (val.type == '知识库') {
_obj.organization = '条'
}
dataList.value.dataList.push(_obj) dataList.value.dataList.push(_obj)
// switch (val.type) { // switch (val.type) {
// case '': // case '':
// dataList.value.dataList.push({ // dataList.value.dataList.push({
// organization: '', // organization: '',
// type: '', // type: '',
// photo: require('../../../assets/abilityStatistics/banner-zj.png'), // photo: require('../../../assets/abilityStatistics/banner-zj.png'),
// amount: val.count, // amount: val.count,
@ -131,7 +137,7 @@ selectTotal().then((res) => {
// break // break
// case '': // case '':
// dataList.value.dataList.push({ // dataList.value.dataList.push({
// organization: '', // organization: '',
// type: '', // type: '',
// photo: require('../../../assets/abilityStatistics/banner-yy.png'), // photo: require('../../../assets/abilityStatistics/banner-yy.png'),
// amount: val.count, // amount: val.count,
@ -142,7 +148,7 @@ selectTotal().then((res) => {
// val.count = val.count - 0 + uavAndIndividualSoldier.num // val.count = val.count - 0 + uavAndIndividualSoldier.num
// } // }
// dataList.value.dataList.push({ // dataList.value.dataList.push({
// organization: '', // organization: '',
// type: '', // type: '',
// photo: require('../../../assets/abilityStatistics/banner-jc.png'), // photo: require('../../../assets/abilityStatistics/banner-jc.png'),
// amount: val.count, // amount: val.count,
@ -150,7 +156,7 @@ selectTotal().then((res) => {
// break // break
// case '': // case '':
// dataList.value.dataList.push({ // dataList.value.dataList.push({
// organization: '', // organization: '',
// type: '', // type: '',
// photo: require('../../../assets/abilityStatistics/banner-sj.png'), // photo: require('../../../assets/abilityStatistics/banner-sj.png'),
// amount: val.count, // amount: val.count,
@ -158,7 +164,7 @@ selectTotal().then((res) => {
// break // break
// case '': // case '':
// dataList.value.dataList.push({ // dataList.value.dataList.push({
// organization: '', // organization: '',
// type: '', // type: '',
// photo: require('../../../assets/abilityStatistics/banner-zs.png'), // photo: require('../../../assets/abilityStatistics/banner-zs.png'),
// amount: val.count, // amount: val.count,
@ -317,7 +323,7 @@ const funnelPlot = (dataList) => {
return Number(a.value) - Number(b.value) return Number(a.value) - Number(b.value)
}) })
let _arr = dataList.map(v => v.fanwei) || arrCopy; let _arr = dataList.map((v) => v.fanwei) || arrCopy
// //
let chartData = _arr.map((v, i) => { let chartData = _arr.map((v, i) => {
return { return {
@ -326,12 +332,12 @@ const funnelPlot = (dataList) => {
} }
}) })
let newArr = []; let newArr = []
dataList.map(v => { dataList.map((v) => {
if (v.value && Number(v.value > 0)) { if (v.value && Number(v.value > 0)) {
newArr.push({ newArr.push({
name: v.fanwei, name: v.fanwei,
value: v.value value: v.value,
}) })
} }
}) })
@ -343,10 +349,14 @@ const funnelPlot = (dataList) => {
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
formatter: function (info) { formatter: function (info) {
let _obj = dataList.find(v => v.fanwei == info.data.name) || {} let _obj = dataList.find((v) => v.fanwei == info.data.name) || {}
let dom = ref() let dom = ref()
dom.value = dom.value =
'部门数<br/>' + (_obj.fanwei || '--') + ' : ' + (_obj.value || _obj.value === 0 ? _obj.value : '--') + '个' '部门数<br/>' +
(_obj.fanwei || '--') +
' : ' +
(_obj.value || _obj.value === 0 ? _obj.value : '--') +
'项'
console.log('name', info.data) console.log('name', info.data)
return dom.value return dom.value
}, },
@ -382,24 +392,28 @@ const funnelPlot = (dataList) => {
label: { label: {
show: true, show: true,
formatter: function (info) { formatter: function (info) {
let _obj = dataList.find(v => v.fanwei == info.data.name) || {} let _obj = dataList.find((v) => v.fanwei == info.data.name) || {}
let dom = ref() let dom = ref()
dom.value = (_obj.fanwei || '--') + ' : ' + (_obj.value || _obj.value === 0 ? _obj.value : '--') + '个'; dom.value =
(_obj.fanwei || '--') +
' : ' +
(_obj.value || _obj.value === 0 ? _obj.value : '--') +
'项'
console.log('name', info.data) console.log('name', info.data)
return dom.value return dom.value
}, },
rich: { rich: {
b: { b: {
fontSize: 14 fontSize: 14,
} },
} },
}, },
labelLine: { labelLine: {
length: 40, length: 40,
lineStyle: { lineStyle: {
width: 1, width: 1,
type: 'solid' type: 'solid',
} },
}, },
itemStyle: { itemStyle: {
borderColor: '#fff', borderColor: '#fff',
@ -411,7 +425,7 @@ const funnelPlot = (dataList) => {
}, },
}, },
data: chartData, data: chartData,
} },
], ],
} }
@ -571,7 +585,8 @@ watch(
.bumensnum-photo { .bumensnum-photo {
height: 50px; height: 50px;
width: 50px; width: 50px;
background: url('~@/assets/abilityStatistics/bumenzongshu.png') no-repeat; background: url('~@/assets/abilityStatistics/bumenzongshu.png')
no-repeat;
margin-bottom: 30px; margin-bottom: 30px;
} }

View File

@ -10,51 +10,82 @@
}} }}
</div> </div>
<div class="condition" :key="showKey"> <div class="condition" :key="showKey">
<IntegrationServiceOrder ref="integrationServiceOrderDom" v-if=" <IntegrationServiceOrder
ref="integrationServiceOrderDom"
v-if="
selectCardsname === '融合服务' || selectCardsname === '赋能场景' selectCardsname === '融合服务' || selectCardsname === '赋能场景'
"></IntegrationServiceOrder> "
></IntegrationServiceOrder>
<ul v-else> <ul v-else>
<li v-for="(item, i) in selList" :key="i" @click="changeCondition(item)" v-show=" <li
v-for="(item, i) in selList"
:key="i"
@click="changeCondition(item)"
v-show="
item.show && item.show &&
item.name !== '评分' && item.name !== '评分' &&
selectCardsname !== '数据资源' selectCardsname !== '数据资源'
"> "
>
{{ item.name }} {{ item.name }}
<span class="arrow" :class=" <span
orderObj.orderType == 'ASC' && class="arrow"
orderObj.orderField == item.value :class="
orderObj.orderType == 'ASC' && orderObj.orderField == item.value
? 'down' ? 'down'
: '' : ''
"></span> "
></span>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div class="result-list" v-for="(item, index) in resourceList.data" :key="item.index"> <div
class="result-list"
v-for="(item, index) in resourceList.data"
:key="item.index"
>
<div class="item" :key="showKey"> <div class="item" :key="showKey">
<div class="left" style="display: flex; align-items: center" v-if=" <div
class="left"
style="display: flex; align-items: center"
v-if="
item.type === '应用资源' && item.type === '应用资源' &&
item.infoList && item.infoList &&
item.infoList.filter((val) => val.attrType == '应用图片')[0] item.infoList.filter((val) => val.attrType == '应用图片')[0]
"> "
<a-image :width="106" :preview="false" :src=" >
<a-image
:width="106"
:preview="false"
:src="
item.infoList.filter((val) => val.attrType == '应用图片')[0] item.infoList.filter((val) => val.attrType == '应用图片')[0]
.attrValue .attrValue
" /> "
/>
</div> </div>
<div class="left" style="display: flex; align-items: center" v-else-if=" <div
class="left"
style="display: flex; align-items: center"
v-else-if="
(selectCardsname === '融合服务' || (selectCardsname === '融合服务' ||
selectCardsname === '赋能场景') && selectCardsname === '赋能场景') &&
item.fuseAttrList && item.fuseAttrList &&
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0] item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
"> "
<a-image :width="106" :preview="false" :src=" >
<a-image
:width="106"
:preview="false"
:src="
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0] item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
.attrValue .attrValue
" /> "
/>
</div> </div>
<div class="left" :class=" <div
class="left"
:class="
item.type == '应用资源' item.type == '应用资源'
? 'yyzy' ? 'yyzy'
: !item.type : !item.type
@ -79,33 +110,55 @@
.attrValue == '业务组件' .attrValue == '业务组件'
? 'ywzj' ? 'ywzj'
: '' : ''
" @click="toView('details', item)" v-else-if=" "
@click="toView('details', item)"
v-else-if="
selectCardsname !== '基础设施' && selectCardsname !== '基础设施' &&
selectCardsname !== '融合服务' && selectCardsname !== '融合服务' &&
selectCardsname !== '赋能场景' selectCardsname !== '赋能场景'
"></div> "
></div>
<div class="left jcss" v-else-if="selectCardsname === '基础设施'"></div> <div class="left jcss" v-else-if="selectCardsname === '基础设施'"></div>
<div class="left rhfw" v-else-if=" <div
class="left rhfw"
v-else-if="
selectCardsname === '融合服务' || selectCardsname === '赋能场景' selectCardsname === '融合服务' || selectCardsname === '赋能场景'
"></div> "
></div>
<div class="right" @click="toView('details', item)"> <div class="right" @click="toView('details', item)">
<div class="header"> <div class="header">
<span style="display: flex; align-items: center; width: 680px"> <span style="display: flex; align-items: center; width: 680px">
{{ item.name }} {{ item.name }}
<!-- 已申请--通过 --> <!-- 已申请--通过 -->
<svg t="1652322568870" class="icon" viewBox="0 0 3072 1024" version="1.1" <svg
xmlns="http://www.w3.org/2000/svg" p-id="3062" width="40" height="40" v-if=" t="1652322568870"
class="icon"
viewBox="0 0 3072 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="3062"
width="40"
height="40"
v-if="
item.applyState == '已申请' && item.approveStatus == '通过' item.applyState == '已申请' && item.approveStatus == '通过'
" style="margin-left: 10px; min-width: 40px"> "
style="margin-left: 10px; min-width: 40px"
>
<path <path
d="M2958.222222 0a113.777778 113.777778 0 0 1 113.777778 113.777778v796.444444a113.777778 113.777778 0 0 1-113.777778 113.777778H500.053333a113.777778 113.777778 0 0 1-85.617777-38.798222L32.824889 549.432889a56.888889 56.888889 0 0 1 0-74.922667L414.435556 38.798222A113.777778 113.777778 0 0 1 499.996444 0H2958.222222z m0 56.888889H500.053333a56.888889 56.888889 0 0 0-42.837333 19.399111L75.605333 512l381.610667 435.712a56.888889 56.888889 0 0 0 42.780444 19.399111H2958.222222a56.888889 56.888889 0 0 0 56.888889-56.888889V113.777778a56.888889 56.888889 0 0 0-56.888889-56.888889z" d="M2958.222222 0a113.777778 113.777778 0 0 1 113.777778 113.777778v796.444444a113.777778 113.777778 0 0 1-113.777778 113.777778H500.053333a113.777778 113.777778 0 0 1-85.617777-38.798222L32.824889 549.432889a56.888889 56.888889 0 0 1 0-74.922667L414.435556 38.798222A113.777778 113.777778 0 0 1 499.996444 0H2958.222222z m0 56.888889H500.053333a56.888889 56.888889 0 0 0-42.837333 19.399111L75.605333 512l381.610667 435.712a56.888889 56.888889 0 0 0 42.780444 19.399111H2958.222222a56.888889 56.888889 0 0 0 56.888889-56.888889V113.777778a56.888889 56.888889 0 0 0-56.888889-56.888889z"
fill="#d81e06" p-id="3063"></path> fill="#d81e06"
p-id="3063"
></path>
<path <path
d="M398.222222 398.222222a113.777778 113.777778 0 1 1 0 227.555556 113.777778 113.777778 0 0 1 0-227.555556z m0 56.888889a56.888889 56.888889 0 1 0 0 113.777778 56.888889 56.888889 0 0 0 0-113.777778z" d="M398.222222 398.222222a113.777778 113.777778 0 1 1 0 227.555556 113.777778 113.777778 0 0 1 0-227.555556z m0 56.888889a56.888889 56.888889 0 1 0 0 113.777778 56.888889 56.888889 0 0 0 0-113.777778z"
fill="#d81e06" p-id="3064"></path> fill="#d81e06"
p-id="3064"
></path>
<path <path
d="M1309.582222 491.064889v-273.066667h-505.173333v47.786667h455.338667v178.176h-378.88V342.926222h-49.152v358.4c0 55.978667 27.306667 84.650667 82.602666 84.650667h370.005334c28.672-1.365333 51.2-8.874667 66.218666-23.210667 16.384-17.749333 27.989333-68.266667 34.816-152.917333l-47.786666-15.018667-1.706667 26.737778c-4.664889 58.766222-12.970667 93.582222-24.917333 104.334222-10.24 8.192-23.893333 12.288-40.277334 12.288h-342.698666c-31.402667 0-47.104-15.701333-47.104-45.738666v-201.386667h428.714666z m430.08-307.2v102.4h-219.136v386.389333h48.469334v-46.421333h170.666666v178.858667h50.517334v-178.858667h167.936v41.642667h48.469333V286.264889h-216.405333v-102.4h-50.517334z m-170.666666 395.946667v-102.4h170.666666v102.4h-170.666666z m221.184 0v-102.4h167.936v102.4h-167.936z m-221.184-146.773334V332.003556h170.666666v101.034666h-170.666666z m221.184 0V332.003556h167.936v101.034666h-167.936z m733.866666-251.221333v44.373333h-165.205333v40.277334h165.205333v45.738666h-137.898666v39.594667h137.898666V398.222222h-184.32v40.96h417.792V398.222222h-186.368v-46.421333h144.725334v-39.594667h-144.725334v-45.738666h169.301334v-40.277334h-169.301334v-44.373333h-47.104z m-85.333333 429.397333h220.501333v49.834667h-220.501333v-49.834667z m220.501333-38.229333h-220.501333v-50.517333h220.501333v50.517333z m-220.501333 126.293333h220.501333v38.912c0 15.701333-8.874667 23.893333-25.258666 23.893334l-54.613334-2.048 11.605334 43.690666h57.344c38.229333 0 58.026667-18.432 58.026666-55.296v-266.24H2391.608889V807.822222h47.104v-108.544z m-222.549333-509.952l-34.816 33.450667c49.152 36.864 88.064 71.68 116.736 104.448l33.450666-34.133333a795.079111 795.079111 0 0 0-115.370666-103.765334z m-82.602667 201.386667h144.725333v299.690667c20.48-19.114667 41.642667-40.277333 64.853334-64.170667l12.970666 51.882667a923.932444 923.932444 0 0 1-121.514666 105.813333l-19.114667-43.690667c10.24-9.557333 15.701333-19.797333 15.701333-31.402666V437.816889h-97.621333v-47.104z" d="M1309.582222 491.064889v-273.066667h-505.173333v47.786667h455.338667v178.176h-378.88V342.926222h-49.152v358.4c0 55.978667 27.306667 84.650667 82.602666 84.650667h370.005334c28.672-1.365333 51.2-8.874667 66.218666-23.210667 16.384-17.749333 27.989333-68.266667 34.816-152.917333l-47.786666-15.018667-1.706667 26.737778c-4.664889 58.766222-12.970667 93.582222-24.917333 104.334222-10.24 8.192-23.893333 12.288-40.277334 12.288h-342.698666c-31.402667 0-47.104-15.701333-47.104-45.738666v-201.386667h428.714666z m430.08-307.2v102.4h-219.136v386.389333h48.469334v-46.421333h170.666666v178.858667h50.517334v-178.858667h167.936v41.642667h48.469333V286.264889h-216.405333v-102.4h-50.517334z m-170.666666 395.946667v-102.4h170.666666v102.4h-170.666666z m221.184 0v-102.4h167.936v102.4h-167.936z m-221.184-146.773334V332.003556h170.666666v101.034666h-170.666666z m221.184 0V332.003556h167.936v101.034666h-167.936z m733.866666-251.221333v44.373333h-165.205333v40.277334h165.205333v45.738666h-137.898666v39.594667h137.898666V398.222222h-184.32v40.96h417.792V398.222222h-186.368v-46.421333h144.725334v-39.594667h-144.725334v-45.738666h169.301334v-40.277334h-169.301334v-44.373333h-47.104z m-85.333333 429.397333h220.501333v49.834667h-220.501333v-49.834667z m220.501333-38.229333h-220.501333v-50.517333h220.501333v50.517333z m-220.501333 126.293333h220.501333v38.912c0 15.701333-8.874667 23.893333-25.258666 23.893334l-54.613334-2.048 11.605334 43.690666h57.344c38.229333 0 58.026667-18.432 58.026666-55.296v-266.24H2391.608889V807.822222h47.104v-108.544z m-222.549333-509.952l-34.816 33.450667c49.152 36.864 88.064 71.68 116.736 104.448l33.450666-34.133333a795.079111 795.079111 0 0 0-115.370666-103.765334z m-82.602667 201.386667h144.725333v299.690667c20.48-19.114667 41.642667-40.277333 64.853334-64.170667l12.970666 51.882667a923.932444 923.932444 0 0 1-121.514666 105.813333l-19.114667-43.690667c10.24-9.557333 15.701333-19.797333 15.701333-31.402666V437.816889h-97.621333v-47.104z"
fill="#d81e06" p-id="3065"></path> fill="#d81e06"
p-id="3065"
></path>
</svg> </svg>
<!-- 审核中 --> <!-- 审核中 -->
<!-- <svg <!-- <svg
@ -151,19 +204,28 @@
</span> --> </span> -->
</span> </span>
<div class="header-right"> <div class="header-right">
<div v-if=" <div
v-if="
selectCardsname === '融合服务' || selectCardsname === '融合服务' ||
selectCardsname === '赋能场景' selectCardsname === '赋能场景'
" class="label-content"> "
<template v-if=" class="label-content"
>
<template
v-if="
item.fuseAttrList && item.fuseAttrList &&
item.fuseAttrList.filter( item.fuseAttrList.filter(
(val) => val.attrType == '应用领域' (val) => val.attrType == '应用领域'
)[0] )[0]
"> "
<span class="label" v-for="(data, index) in item.fuseAttrList >
<span
class="label"
v-for="(data, index) in item.fuseAttrList
.filter((val) => val.attrType == '应用领域')[0] .filter((val) => val.attrType == '应用领域')[0]
.attrValue.split(';')" :key="index"> .attrValue.split(';')"
:key="index"
>
{{ data }} {{ data }}
</span> </span>
</template> </template>
@ -181,15 +243,21 @@
</div> </div>
</div> </div>
<div class="dec"> <div class="dec">
<div v-if=" <div
v-if="
selectCardsname !== '融合服务' && selectCardsname !== '融合服务' &&
selectCardsname !== '赋能场景' && selectCardsname !== '赋能场景' &&
selectCardsname !== '基础设施' selectCardsname !== '基础设施'
"> "
>
<span>{{ item.deptName || '--' }}</span> <span>{{ item.deptName || '--' }}</span>
</div> </div>
</div> </div>
<div v-if="selectCardsname !== '基础设施'" style="margin-top: 0.1rem" class="description"> <div
v-if="selectCardsname !== '基础设施'"
style="margin-top: 0.1rem"
class="description"
>
<a-tooltip> <a-tooltip>
<template #title>{{ item.description }}</template> <template #title>{{ item.description }}</template>
{{ item.description || '--' }} {{ item.description || '--' }}
@ -198,26 +266,32 @@
<div class="btn"> <div class="btn">
<div class="bottom" v-if="selectCardsname !== '基础设施'"> <div class="bottom" v-if="selectCardsname !== '基础设施'">
<div> <div>
<div v-if=" <!-- <div
v-if="
selectCardsname !== '数据资源' && selectCardsname !== '数据资源' &&
selectCardsname !== '融合服务' && selectCardsname !== '融合服务' &&
selectCardsname !== '赋能场景' selectCardsname !== '赋能场景'
"> "
>
浏览量{{ item.visits || 0 }} 浏览量{{ item.visits || 0 }}
</div> </div> -->
<div v-if=" <div
v-if="
selectCardsname !== '数据资源' && selectCardsname !== '数据资源' &&
selectCardsname !== '融合服务' && selectCardsname !== '融合服务' &&
selectCardsname !== '赋能场景' && selectCardsname !== '赋能场景' &&
(selectCardsname !== '应用资源' || whoShow1.itShowQingDao) (selectCardsname !== '应用资源' || whoShow1.itShowQingDao)
"> "
>
申请量{{ item.applyCount || 0 }} 申请量{{ item.applyCount || 0 }}
</div> </div>
<div v-if=" <div
v-if="
selectCardsname === '数据资源' && selectCardsname === '数据资源' &&
selectCardsname !== '融合服务' && selectCardsname !== '融合服务' &&
selectCardsname !== '赋能场景' selectCardsname !== '赋能场景'
"> "
>
数据量{{ item.sjlCount || 0 }} 数据量{{ item.sjlCount || 0 }}
</div> </div>
<div v-if="selectCardsname !== '数据资源'"> <div v-if="selectCardsname !== '数据资源'">
@ -227,39 +301,75 @@
</div> </div>
<div class="right" v-if="selectCardsname !== '基础设施'"> <div class="right" v-if="selectCardsname !== '基础设施'">
<div class="shopping" :key="shoppingKey"> <div class="shopping" :key="shoppingKey">
<template v-if=" <template
v-if="
(selectCardsname == '组件服务' && (selectCardsname == '组件服务' &&
item.infoList.filter( item.infoList.filter(
(val) => val.attrType == '外部服务地址' (val) => val.attrType == '外部服务地址'
).length === 0) || ).length === 0) ||
(selectCardsname == '应用资源' && whoShow1.itShowQingDao) (selectCardsname == '应用资源' && whoShow1.itShowQingDao)
"> "
<span class="shopping-down" v-if="item.isInShoppingCart"></span> >
<span class="shopping-on" v-else @click.stop="addShoppingCart(item, index)"></span> <span
class="shopping-down"
v-if="item.isInShoppingCart"
></span>
<span
class="shopping-on"
v-else
@click.stop="addShoppingCart(item, index)"
></span>
</template> </template>
</div> </div>
<div class="sc"> <div class="sc">
<span class="sc-down" v-if="item.isCollect == 'false'" @click.stop="addCollect(item)"></span> <span
<span class="sc-on" v-if="item.isCollect == 'true'" @click.stop="addCollect(item)"></span> class="sc-down"
v-if="item.isCollect == 'false'"
@click.stop="addCollect(item)"
></span>
<span
class="sc-on"
v-if="item.isCollect == 'true'"
@click.stop="addCollect(item)"
></span>
</div> </div>
<div class="shopping pk" :key="pk" v-show=" <div
class="shopping pk"
:key="pk"
v-show="
cardType == '组件服务' && findComponentName(item, '智能算法') cardType == '组件服务' && findComponentName(item, '智能算法')
"> "
<span class="pk-on" @click.stop="goComparePk(item, index)"></span> >
<span
class="pk-on"
@click.stop="goComparePk(item, index)"
></span>
</div> </div>
<a-button type="primary" @click.stop="toView('details', item)" v-if="!whoShow1.itShowBaoTou"> <a-button
type="primary"
@click.stop="toView('details', item)"
v-if="!whoShow1.itShowBaoTou"
>
查看详情 查看详情
</a-button> </a-button>
<a-button style="margin-left: 10px" v-show=" <a-button
style="margin-left: 10px"
v-show="
selectCardsname === '融合服务' || selectCardsname === '融合服务' ||
selectCardsname === '赋能场景' selectCardsname === '赋能场景'
" @click.stop="handleAKeyApplication(item)"> "
@click.stop="handleAKeyApplication(item)"
>
一键申请 一键申请
</a-button> </a-button>
<a-button type="primary" @click.stop="toView('apply', item)" v-show=" <a-button
type="primary"
@click.stop="toView('apply', item)"
v-show="
cardType == '组件服务' || cardType == '组件服务' ||
(cardType == '应用资源' && whoShow1.itShowQingDao) (cardType == '应用资源' && whoShow1.itShowQingDao)
"> "
>
{{ {{
item.shareCondition == '免批申请' ? '免批申请' : '立即申请' item.shareCondition == '免批申请' ? '免批申请' : '立即申请'
}} }}
@ -274,7 +384,12 @@
</div> </div>
</div> </div>
</div> </div>
<a-modal v-model:visible="visible" title="视频预览" :width="750" destroyOnClose> <a-modal
v-model:visible="visible"
title="视频预览"
:width="750"
destroyOnClose
>
<template #footer></template> <template #footer></template>
<div style="width: 100%; display: flex; justify-content: center"> <div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%"> <div style="width: 100%; height: 100%">
@ -292,8 +407,8 @@ import { getUser, sgcInsert } from '@/api/home'
import { scInsert, scDel } from '@/api/personalCenter' import { scInsert, scDel } from '@/api/personalCenter'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { getHls } from '@/api/home.js' import { getHls } from '@/api/home.js'
import IntegrationServiceOrder from './integrationServiceOrder.vue'; import IntegrationServiceOrder from './integrationServiceOrder.vue'
import ComponentServiceTag from './ComponentServiceTag.vue'; import ComponentServiceTag from './ComponentServiceTag.vue'
export default { export default {
name: '', name: '',
props: { props: {
@ -332,9 +447,9 @@ export default {
{ name: '评分', value: 'score', show: true }, { name: '评分', value: 'score', show: true },
]) ])
// 西- // 西-
if (whoShow1.itShowXiHaiAn) { // if (whoShow1.itShowXiHaiAn) {
selList.value = selList.value.filter(v => v.name !== '浏览量') selList.value = selList.value.filter((v) => v.name !== '浏览量')
} // }
if (props.selectCardsname === '基础设施') { if (props.selectCardsname === '基础设施') {
selList.value.map((val) => (val.show = false)) selList.value.map((val) => (val.show = false))
} else if (props.selectCardsname === '数据资源') { } else if (props.selectCardsname === '数据资源') {
@ -355,8 +470,9 @@ export default {
// 西---- // 西----
const showTagArray = ['已落地', '需要计算支持'] const showTagArray = ['已落地', '需要计算支持']
const getTagList = (item) => { const getTagList = (item) => {
let _arr = item.infoList.filter((x) => showTagArray.includes(x.attrValue)) || [] let _arr =
let tagArray = _arr.map(v => v.attrValue) item.infoList.filter((x) => showTagArray.includes(x.attrValue)) || []
let tagArray = _arr.map((v) => v.attrValue)
return tagArray return tagArray
} }
console.log('this.resourceList', props.resourceList.data) console.log('this.resourceList', props.resourceList.data)
@ -548,18 +664,18 @@ export default {
* isFromFather: 是否来自父组件传值 * isFromFather: 是否来自父组件传值
*/ */
const changeCondition = (item, isFromFather = false) => { const changeCondition = (item, isFromFather = false) => {
console.log('item, isFromFather------------>', item, isFromFather); console.log('item, isFromFather------------>', item, isFromFather)
let newType = item.orderType == 'DESC' ? 'ASC' : 'DESC'; let newType = item.orderType == 'DESC' ? 'ASC' : 'DESC'
if (isFromFather) { if (isFromFather) {
newType = item.orderType; newType = item.orderType
} }
orderObj.orderField = item.value; orderObj.orderField = item.value
orderObj.orderType = newType; orderObj.orderType = newType
let _index = selList.value.findIndex(x => x.value == item.value) let _index = selList.value.findIndex((x) => x.value == item.value)
if (_index > -1) { if (_index > -1) {
selList.value[_index].orderType = newType selList.value[_index].orderType = newType
} }
selList.value = selList.value.splice(0); selList.value = selList.value.splice(0)
mybus.emit('changeCondition', orderObj) mybus.emit('changeCondition', orderObj)
} }

View File

@ -7,7 +7,7 @@
<div class="name">组件服务</div> <div class="name">组件服务</div>
<div class="sl"> <div class="sl">
<span class="num">{{ zjNum || 0 }}</span> <span class="num">{{ zjNum || 0 }}</span>
</div> </div>
</div> </div>
</a-tooltip> </a-tooltip>
@ -18,7 +18,7 @@
<div class="name">应用资源</div> <div class="name">应用资源</div>
<div class="sl"> <div class="sl">
<span class="num">{{ yyNum || 0 }}</span> <span class="num">{{ yyNum || 0 }}</span>
</div> </div>
</div> </div>
</a-tooltip> </a-tooltip>
@ -29,7 +29,7 @@
<div class="name">基础设施</div> <div class="name">基础设施</div>
<div class="sl"> <div class="sl">
<span class="num">{{ jcNum || 0 }}</span> <span class="num">{{ jcNum || 0 }}</span>
</div> </div>
</div> </div>
</a-tooltip> </a-tooltip>
@ -51,7 +51,7 @@
<div class="name">知识库</div> <div class="name">知识库</div>
<div class="sl"> <div class="sl">
<span class="num">{{ zsNum || 0 }}</span> <span class="num">{{ zsNum || 0 }}</span>
</div> </div>
</div> </div>
</a-tooltip> </a-tooltip>

View File

@ -32,9 +32,9 @@
<div class="img" :class="item.imgType"></div> <div class="img" :class="item.imgType"></div>
</div> </div>
<div class="item-right"> <div class="item-right">
<div class="fw" v-if="select == '浏览量'"> <!-- <div class="fw" v-if="select == '浏览量'">
{{ select }}:{{ item.visits }} {{ select }}:{{ item.visits }}
</div> </div> -->
<div class="fw" v-if="select == '申请量'"> <div class="fw" v-if="select == '申请量'">
{{ select }}:{{ item.applyCount }} {{ select }}:{{ item.applyCount }}
</div> </div>
@ -139,7 +139,7 @@
path: '/DetailsPageconetent', path: '/DetailsPageconetent',
query: { query: {
// select: '', // select: '',
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
}, },
}) })
} }