Compare commits
143 Commits
master
...
hi-ucs-dev
Author | SHA1 | Date |
---|---|---|
guoyue | c4ae6d603a | |
guoyue | d6c971ab23 | |
guoyue | b2c2958fdb | |
guoyue | 7d513edafc | |
guoyue | c71784567c | |
guoyue | f727efbdcd | |
guoyue | d549a7f73d | |
guoyue | c183ee883d | |
851673013@qq.com | 1bff4a6f85 | |
851673013@qq.com | cce81f9ece | |
851673013@qq.com | a906b433f2 | |
851673013@qq.com | cba2a5c089 | |
851673013@qq.com | a3c6162592 | |
guoyue | 166e5e119e | |
于秀圆 | 3dcb9b8778 | |
于秀圆 | bcbafaf9f0 | |
guoyue | 057b926183 | |
guoyue | 39547f16e4 | |
guoyue | f0df682cc6 | |
guoyue | 98f0c360d4 | |
guoyue | bafe53bc67 | |
guoyue | 48bfe71c6f | |
851673013@qq.com | e477b3f90e | |
851673013@qq.com | 9e5bd33650 | |
851673013@qq.com | 7918e07b6c | |
guoyue | 3f4e27177c | |
guoyue | a7d7431c75 | |
guoyue | a7da8b013e | |
guoyue | f86d40feda | |
于秀圆 | a4259cf2d9 | |
guoyue | f79b43d261 | |
guoyue | 9c93864e38 | |
guoyue | 9023a44715 | |
guoyue | 787ceeef3f | |
a0049873 | 55da389003 | |
a0049873 | 1066a00154 | |
a0049873 | 7952f20beb | |
a0049873 | a02926006a | |
guoyue | fc8f43b94c | |
guoyue | 2df958d69e | |
guoyue | cf7d85060c | |
a0049873 | 18f911bd16 | |
guoyue | f071abfcf7 | |
guoyue | 0b401f5741 | |
a0049873 | ccbb53093f | |
a0049873 | 8782498104 | |
guoyue | 2f752de364 | |
guoyue | ae5978f408 | |
guoyue | 479c2791f3 | |
guoyue | 653559e727 | |
guoyue | cecba03c6e | |
guoyue | 5c6d90d912 | |
guoyue | 076d84bd0a | |
guoyue | eab0eb374a | |
guoyue | 4e3fa20984 | |
a0049873 | 432ba890f6 | |
unknown | 186184c14f | |
a0049873 | 67e009d110 | |
guoyue | 2688b764e5 | |
guoyue | 5e31517f1d | |
guoyue | 5e2b32f62a | |
guoyue | 4dc1525520 | |
guoyue | f26afc84c7 | |
guoyue | 1d61355bc6 | |
guoyue | 4a28789464 | |
guoyue | 10fdc587a2 | |
guoyue | fe3eb0aa68 | |
guoyue | 05d2ad1a45 | |
guoyue | 7594c9cb51 | |
guoyue | 85b515acf8 | |
guoyue | b1f17ca5bb | |
guoyue | 4296677fcd | |
guoyue | 2d32d735a5 | |
guoyue | 6f6ec109e4 | |
guoyue | c55eedc5b4 | |
guoyue | e906d9adc5 | |
guoyue | e077a04c08 | |
guoyue | a5df439fd0 | |
guoyue | cce7cb3be9 | |
guoyue | 495ed477f8 | |
guoyue | 8f56c1680d | |
guoyue | 14978ef490 | |
guoyue | 44525afeb8 | |
guoyue | f1de06b5ad | |
guoyue | cc330f2b60 | |
guoyue | f6b6c4713d | |
guoyue | b8eda12e43 | |
lizhicheng2 | 83eb319d28 | |
guoyue | bcef134cf9 | |
guoyue | 7ea1bc972b | |
guoyue | b17f4a3056 | |
guoyue | 560e6af900 | |
guoyue | e7a5a21430 | |
guoyue | 11f4c3fe25 | |
yuhan_jiang | 6827b2ebe5 | |
guoyue | b3b35d21b3 | |
guoyue | 21adcb62c8 | |
guoyue | 5387d6a7a3 | |
guoyue | 8b9e11b0a0 | |
guoyue | 8cb2f83fb5 | |
guoyue | 3e6f875728 | |
guoyue | 856cf3e41f | |
guoyue | 7f884528e9 | |
guoyue | 07fff52e43 | |
guoyue | c35398209b | |
guoyue | bff2aa9f97 | |
guoyue | 1455e2e0d7 | |
guoyue | 47871e8a02 | |
guoyue | c6d456055e | |
guoyue | 18578c1a58 | |
guoyue | b2abd5f16e | |
guoyue | 253b9f511a | |
lizhicheng2 | 576790ad9d | |
lizhicheng2 | f3973fe28d | |
a0049873 | 6ef87c3c79 | |
guoyue | de605dd446 | |
guoyue | 1b26210e01 | |
851673013@qq.com | f2e68d0105 | |
guoyue | dfba732000 | |
guoyue | 0661a53d79 | |
guoyue | fb0a5e1f38 | |
guoyue | 31a809f9d9 | |
guoyue | 90a3aa8e37 | |
guoyue | 1cba78f8e1 | |
guoyue | 7996d8a701 | |
guoyue | 1e06abbf11 | |
guoyue | 59abe1614c | |
guoyue | 59cc6d93fc | |
guoyue | 9df17910ee | |
guoyue | 715792aa7d | |
guoyue | 510e72f35e | |
guoyue | 43aec16d92 | |
guoyue | 5eefd4d306 | |
guoyue | 7f3c5c0921 | |
guoyue | 84e3f220dd | |
guoyue | 2e17b5cf80 | |
zhangzhuliang | 205cb756be | |
gaoyuanwei | c3bc043228 | |
a0049873 | 3b09661496 | |
gaoyuanwei | 619fc10627 | |
gaoyuanwei | 2ff89ea6e4 | |
zhangzhuliang | 7ff222761c | |
zhangzhuliang | c1643e3cb0 |
|
@ -7,8 +7,8 @@
|
||||||
*/
|
*/
|
||||||
var _global = {}
|
var _global = {}
|
||||||
var CONFIGITEM = {
|
var CONFIGITEM = {
|
||||||
version: 'qingdao', // 青岛
|
// version: 'qingdao', // 青岛
|
||||||
// version: 'xihaian', // 西海岸
|
version: 'xihaian', // 西海岸
|
||||||
// version: 'test', // 测试
|
// version: 'test', // 测试
|
||||||
// version: 'frp', // 内网穿透
|
// version: 'frp', // 内网穿透
|
||||||
// version: 'dev', // 开发
|
// version: 'dev', // 开发
|
||||||
|
@ -23,7 +23,8 @@ var CONFIGITEM = {
|
||||||
// 西海岸大数据局
|
// 西海岸大数据局
|
||||||
xihaian: {
|
xihaian: {
|
||||||
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', // 李志成
|
||||||
websocketURL: 'ws://10.134.135.9:8888/renren-admin/websocket'
|
websocketURL: 'ws://10.134.135.9:8888/renren-admin/websocket'
|
||||||
},
|
},
|
||||||
// 测试
|
// 测试
|
||||||
|
|
|
@ -715,3 +715,14 @@ img {
|
||||||
.aui-navbar__header {
|
.aui-navbar__header {
|
||||||
width: 268px;
|
width: 268px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 统一更改弹框高度、树形控件高度
|
||||||
|
.el-dialog__body {
|
||||||
|
max-height: 600px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-tree {
|
||||||
|
max-height: 450px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
|
@ -1,12 +1,13 @@
|
||||||
/*
|
/*
|
||||||
* @Author: hisense.liangjunhua
|
* @Author: hisense.liangjunhua
|
||||||
* @Date: 2022-08-23 10:30:11
|
* @Date: 2022-08-23 10:30:11
|
||||||
* @LastEditors: hisense.wuhongjian
|
* @LastEditors: hisense.liangjunhua
|
||||||
* @LastEditTime: 2022-08-25 21:05:18
|
* @LastEditTime: 2022-09-01 16:06:05
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
*/
|
*/
|
||||||
const returnLocationStr = () => {
|
const returnLocationStr = () => {
|
||||||
return 'qingdao1'
|
// return 'qingdao'
|
||||||
|
return 'xihaian'
|
||||||
}
|
}
|
||||||
|
|
||||||
export default returnLocationStr
|
export default returnLocationStr
|
||||||
|
|
|
@ -293,7 +293,7 @@ export default {
|
||||||
})
|
})
|
||||||
this.allData = JSON.parse(JSON.stringify(this.transferData))
|
this.allData = JSON.parse(JSON.stringify(this.transferData))
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
this.$message.error(err)
|
this.$message.error('未搜索到相关数据资源')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -316,6 +316,7 @@ export default {
|
||||||
title: this.type,
|
title: this.type,
|
||||||
list: this.selectedArray
|
list: this.selectedArray
|
||||||
})
|
})
|
||||||
|
console.log(this.selectedArray, this.displayList, 'this.displayList')
|
||||||
},
|
},
|
||||||
getDisplay (displayList) {
|
getDisplay (displayList) {
|
||||||
this.displayList = []
|
this.displayList = []
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class='container'>
|
<div class="container">
|
||||||
<!-- <div class='container-left' v-if='homeIsShow'>
|
<!-- <div class='container-left' v-if='homeIsShow'>
|
||||||
<div class='left-search'>
|
<div class='left-search'>
|
||||||
<div>
|
<div>
|
||||||
|
@ -22,90 +22,166 @@
|
||||||
</span>
|
</span>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</div> -->
|
</div> -->
|
||||||
<el-card shadow="never" class="aui-card--fill" v-if='homeIsShow'>
|
<el-form :inline="true">
|
||||||
|
<!--起始日期 @keyup.enter.native="getDataList()"-->
|
||||||
|
<el-form-item>
|
||||||
|
<el-date-picker
|
||||||
|
v-model="value1"
|
||||||
|
type="datetimerange"
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<!--审核状态-->
|
||||||
|
<el-form-item>
|
||||||
|
<el-select
|
||||||
|
v-model="examineStatus"
|
||||||
|
placeholder="请选审核状态"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option label="审核完成" value="1"></el-option>
|
||||||
|
<el-option label="审核中" value="0"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<!--部门-->
|
||||||
|
<el-form-item>
|
||||||
|
<el-select
|
||||||
|
v-model="abilityDepartment"
|
||||||
|
placeholder="请选择部门"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-option label="全部" value=""></el-option>
|
||||||
|
<el-option
|
||||||
|
v-for="item in departmentSelects"
|
||||||
|
:key="item.label"
|
||||||
|
v-bind="item"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<!--类型-->
|
||||||
|
<el-form-item>
|
||||||
|
<el-select v-model="abilityType" placeholder="请选择类型" clearable>
|
||||||
|
<el-option label="全部" value=""></el-option>
|
||||||
|
<el-option
|
||||||
|
v-for="item in typeOptions"
|
||||||
|
:key="item.name"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.name"
|
||||||
|
v-bind="item"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<!--操作按钮查询-->
|
||||||
|
<el-form-item>
|
||||||
|
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<!--操作按钮重置-->
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="resetDataList()">{{
|
||||||
|
$t('reset')
|
||||||
|
}}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-card shadow="never" class="aui-card--fill" v-if="homeIsShow">
|
||||||
<div class="mod-demand__bsdemand">
|
<div class="mod-demand__bsdemand">
|
||||||
<div class='top-box'>
|
<!-- <div class='top-box'>
|
||||||
<span class='title'>能力统计</span>
|
<span class='title'>能力统计</span>
|
||||||
<div class='title-list-style'>
|
<div class='title-list-style'>
|
||||||
<div v-for="(item,index) in titleList" :key='index' class='title-single' :class="{'choseStyle':choseId=== index}" @click="choseBtn(index)">
|
<div v-for="(item,index) in titleList" :key='index' class='title-single' :class="{'choseStyle':choseId=== index}" @click="choseBtn(index)">
|
||||||
<span class='box-style'>{{item.name}}</span>
|
<span class='box-style'>{{item.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class='second-title'>
|
|
||||||
<span style='margin-right:30px' :class="[departmentId===1?'departmentStyle':'']" @click="handleChose(1)">
|
<div class="second-title">
|
||||||
部门发布情况
|
<span
|
||||||
|
style="margin-right: 30px"
|
||||||
|
:class="[
|
||||||
|
departmentId === 1 || departmentId === 3
|
||||||
|
? 'departmentStyle'
|
||||||
|
: ''
|
||||||
|
]"
|
||||||
|
@click="handleChose(1)"
|
||||||
|
>
|
||||||
|
能力上架统计
|
||||||
</span>
|
</span>
|
||||||
<span v-if='this.choseId===0' :class="[departmentId===2?'departmentStyle':'']" @click="handleChose(2)">
|
<span
|
||||||
部门使用情况
|
:class="[
|
||||||
|
departmentId === 2 || departmentId === 4
|
||||||
|
? 'departmentStyle'
|
||||||
|
: ''
|
||||||
|
]"
|
||||||
|
@click="handleChose(2)"
|
||||||
|
>
|
||||||
|
能力使用统计
|
||||||
</span>
|
</span>
|
||||||
|
<!-- <span v-if='this.choseId===0' :class="[departmentId===3?'departmentStyle':'']" @click="handleChose(3)">
|
||||||
|
能力上架明细
|
||||||
|
</span>
|
||||||
|
<span v-if='this.choseId===0' :class="[departmentId===4?'departmentStyle':'']" @click="handleChose(4)">
|
||||||
|
能力使用明细
|
||||||
|
</span> -->
|
||||||
|
<span v-if="detailFlag" class="detail-button" @click="goToDetail()">
|
||||||
|
明细
|
||||||
|
</span>
|
||||||
|
<span v-else class="detail-button" @click="goToBack()"> 返回 </span>
|
||||||
</div>
|
</div>
|
||||||
<div class='line-style'></div>
|
<div class="line-style"></div>
|
||||||
|
<!--统计表-->
|
||||||
<el-table
|
<el-table
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
|
:header-cell-style="{ textAlign: 'center' }"
|
||||||
|
:cell-style="{ textAlign: 'center' }"
|
||||||
border
|
border
|
||||||
style="width: 100%">
|
style="width: 100%"
|
||||||
<el-table-column
|
v-show="this.departmentId === 1 || this.departmentId === 2"
|
||||||
prop="deptName"
|
>
|
||||||
label="部门名称"
|
<el-table-column prop="name" label="部门名称" min-width="100%">
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if='this.departmentId===1'
|
<el-table-column label="组件">
|
||||||
prop="resourceNum"
|
<el-table-column prop="znsf" label="智能算法" min-width="100%">
|
||||||
label="发布总数"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="this.choseId===0 && this.departmentId===1 "
|
<el-table-column prop="tcfw" label="图层服务" min-width="100%">
|
||||||
prop="resourceCarNum"
|
|
||||||
label="被申请总数"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.departmentId===1"
|
|
||||||
prop="resourceBrowseNum"
|
|
||||||
label="浏览总量"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.departmentId===1"
|
|
||||||
prop="resourceCollectionNum"
|
|
||||||
label="收藏量"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.choseId===0 && this.departmentId===1 "
|
|
||||||
prop="resourceVisits"
|
|
||||||
label="被调用总数"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.choseId===0 && this.departmentId===1 "
|
|
||||||
prop="resourceRelNum"
|
|
||||||
label="被应用总数"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.choseId===0 && this.departmentId===1 "
|
|
||||||
prop="resourceShareNum"
|
|
||||||
label="需申请数量"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.choseId===0 && this.departmentId===1 "
|
|
||||||
prop="resourceShareNonNum"
|
|
||||||
label="免批数量"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.departmentId===2"
|
|
||||||
prop="resourceUseNum"
|
|
||||||
label="使用总数"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column v-if="this.departmentId===2"
|
|
||||||
prop="resourceCallNum"
|
|
||||||
label="申请总数"
|
|
||||||
min-width="100%">
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="操作"
|
prop="kfzj"
|
||||||
min-width="92%">
|
label="通用开发组件"
|
||||||
<template slot-scope="scope">
|
min-width="100%"
|
||||||
<el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>
|
>
|
||||||
</template>
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="ywzj"
|
||||||
|
label="业务能力组件"
|
||||||
|
min-width="100%"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="yyzy" label="应用资源" min-width="100%">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="zj" label="总计" min-width="100%">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--明细表-->
|
||||||
|
|
||||||
|
<el-table
|
||||||
|
:data="tableData"
|
||||||
|
style="width: 100%"
|
||||||
|
v-show="this.departmentId === 3 || this.departmentId === 4"
|
||||||
|
>
|
||||||
|
<el-table-column prop="deptName" label="部门" width="180">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="resourceName" label="资源名称" width="180">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="type" label="类型"> </el-table-column>
|
||||||
|
<el-table-column prop="createDate" label="日期"> </el-table-column>
|
||||||
|
<el-table-column prop="approveStatus" label="状态">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="block">
|
<div class="block">
|
||||||
|
@ -121,15 +197,31 @@
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
<component-used v-if='UsedIsShow' :tableId='tableId' :fatherId='fatherId' @closeChild2='closeChild2'></component-used>
|
<component-used
|
||||||
<component-services v-if='servicesIsShow' :tableId='tableId' :fatherId='fatherId' @closeChild='closeChild'></component-services>
|
v-if="UsedIsShow"
|
||||||
<application-resources v-if='resourcesIsShow' :tableId='tableId' :fatherId='fatherId' @closeApplication='closeApplication'></application-resources>
|
:tableId="tableId"
|
||||||
|
:fatherId="fatherId"
|
||||||
|
@closeChild2="closeChild2"
|
||||||
|
></component-used>
|
||||||
|
<component-services
|
||||||
|
v-if="servicesIsShow"
|
||||||
|
:tableId="tableId"
|
||||||
|
:fatherId="fatherId"
|
||||||
|
@closeChild="closeChild"
|
||||||
|
></component-services>
|
||||||
|
<application-resources
|
||||||
|
v-if="resourcesIsShow"
|
||||||
|
:tableId="tableId"
|
||||||
|
:fatherId="fatherId"
|
||||||
|
@closeApplication="closeApplication"
|
||||||
|
></application-resources>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import componentServices from './componentServices.vue'
|
import componentServices from './componentServices.vue'
|
||||||
import applicationResources from './applicationResources.vue'
|
import applicationResources from './applicationResources.vue'
|
||||||
import ComponentUsed from './componentUsed.vue'
|
import ComponentUsed from './componentUsed.vue'
|
||||||
|
import { mapState } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
components: { componentServices, applicationResources, ComponentUsed },
|
components: { componentServices, applicationResources, ComponentUsed },
|
||||||
data () {
|
data () {
|
||||||
|
@ -137,41 +229,63 @@ export default {
|
||||||
inputTxt: '',
|
inputTxt: '',
|
||||||
tableId: '',
|
tableId: '',
|
||||||
fatherId: '',
|
fatherId: '',
|
||||||
treeData: [{
|
treeData: [
|
||||||
|
{
|
||||||
label: '一级 1',
|
label: '一级 1',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '二级 1-1',
|
label: '二级 1-1',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '三级 1-1-1'
|
label: '三级 1-1-1'
|
||||||
}]
|
}
|
||||||
}]
|
]
|
||||||
}, {
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
label: '一级 2',
|
label: '一级 2',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '二级 2-1',
|
label: '二级 2-1',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '三级 2-1-1'
|
label: '三级 2-1-1'
|
||||||
}]
|
}
|
||||||
}, {
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
label: '二级 2-2',
|
label: '二级 2-2',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '三级 2-2-1'
|
label: '三级 2-2-1'
|
||||||
}]
|
}
|
||||||
}]
|
]
|
||||||
}, {
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
label: '一级 3',
|
label: '一级 3',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '二级 3-1',
|
label: '二级 3-1',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '三级 3-1-1'
|
label: '三级 3-1-1'
|
||||||
}]
|
}
|
||||||
}, {
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
label: '二级 3-2',
|
label: '二级 3-2',
|
||||||
children: [{
|
children: [
|
||||||
|
{
|
||||||
label: '三级 3-2-1'
|
label: '三级 3-2-1'
|
||||||
}]
|
}
|
||||||
}]
|
]
|
||||||
}],
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
total: null,
|
total: null,
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
children: 'children',
|
children: 'children',
|
||||||
|
@ -185,17 +299,60 @@ export default {
|
||||||
resourcesIsShow: false,
|
resourcesIsShow: false,
|
||||||
UsedIsShow: false,
|
UsedIsShow: false,
|
||||||
titleList: [
|
titleList: [
|
||||||
{ name: '组件服务', key: 1 }, { name: '应用资源', key: 2 }, { name: '基础设施', key: 3 }, { name: '数据资源', key: 3 }, { name: '知识库', key: 3 }
|
{ name: '组件服务', key: 1 },
|
||||||
|
{ name: '应用资源', key: 2 },
|
||||||
|
{ name: '基础设施', key: 3 },
|
||||||
|
{ name: '数据资源', key: 3 },
|
||||||
|
{ name: '知识库', key: 3 }
|
||||||
],
|
],
|
||||||
tableData: [{ deptName: '部门', resourceNum: 222 }]
|
tableData: [{ deptName: '部门', resourceNum: 222 }],
|
||||||
|
tableData2: [
|
||||||
|
{
|
||||||
|
approveStatus: '',
|
||||||
|
createDate: '',
|
||||||
|
deptName: '',
|
||||||
|
resourceName: '',
|
||||||
|
type: ''
|
||||||
|
}
|
||||||
|
],
|
||||||
|
examineStatus: '0', // 审核状态
|
||||||
|
value1: [], // 起始时间
|
||||||
|
abilityDepartment: '', // 部门
|
||||||
|
abilityType: '', // 能力
|
||||||
|
beginTime: '', // 开始时间
|
||||||
|
endTime: '', // 结束时间
|
||||||
|
typeOptions: [
|
||||||
|
{ name: '智能算法', value: 1 },
|
||||||
|
{ name: '图层服务', value: 2 },
|
||||||
|
{ name: '通用开发组件', value: 3 },
|
||||||
|
{ name: '页面开发组件', value: 4 },
|
||||||
|
{ name: '应用资源', value: 5 }
|
||||||
|
], // 类型备选列表
|
||||||
|
detailFlag: true, // 明细返回按钮显示标志位
|
||||||
|
startDate: '', // 开始时间
|
||||||
|
endDate: '' // 结束时间
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
|
// 当前设定的日期时间
|
||||||
|
const d = new Date()
|
||||||
|
let year1, month1, day1
|
||||||
|
;[year1, month1, day1] = [d.getFullYear(), d.getMonth(), d.getDate()]
|
||||||
|
const date1 = new Date(year1, month1, day1, 7)
|
||||||
|
this.value1.push(date1)
|
||||||
|
// 前一天设定的日期时间
|
||||||
|
let year2, month2, day2
|
||||||
|
d.setTime(d.getTime() - 24 * 60 * 60 * 1000)
|
||||||
|
;[year2, month2, day2] = [d.getFullYear(), d.getMonth(), d.getDate()]
|
||||||
|
const date2 = new Date(year2, month2, day2, 7)
|
||||||
|
this.value1.unshift(date2)
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getFirstTree()
|
this.getFirstTree()
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(['departmentSelects'])
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 搜索框
|
// 搜索框
|
||||||
// searchBtn(){
|
// searchBtn(){
|
||||||
|
@ -215,14 +372,16 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getTreeName (data) {
|
getTreeName (data) {
|
||||||
this.$http.get('/census/center/v3/treeList/', {
|
this.$http
|
||||||
|
.get('/census/center/v3/treeList/', {
|
||||||
params: {
|
params: {
|
||||||
keywords: data.name,
|
keywords: data.name,
|
||||||
deptId: '1067246875800000066'
|
deptId: '1067246875800000066'
|
||||||
// pageNo: pageNo || 1,
|
// pageNo: pageNo || 1,
|
||||||
// pageSize: 20
|
// pageSize: 20
|
||||||
}
|
}
|
||||||
}).then(res => {
|
})
|
||||||
|
.then((res) => {
|
||||||
this.tableData = res.data.data
|
this.tableData = res.data.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -241,57 +400,196 @@ export default {
|
||||||
// })
|
// })
|
||||||
// },
|
// },
|
||||||
|
|
||||||
// 组件服务部门发布情况
|
// 组件服务部门发布情况--改为能力上架统计
|
||||||
getFirstTree (page) {
|
getFirstTree (page) {
|
||||||
this.$http.get('/census/center/v3/resourceReleaseDetails/', {
|
this.$http
|
||||||
|
.get('/census/center/selectDeptDetailTypeCountList/', {
|
||||||
params: {
|
params: {
|
||||||
page: page || 1,
|
page: page || 1,
|
||||||
limit: 5,
|
limit: 5,
|
||||||
// id:'1067246875800000066',
|
approveStatus: this.examineStatus,
|
||||||
resourceType: '组件服务'
|
deptId: this.abilityDepartment,
|
||||||
|
params: '',
|
||||||
|
startDate: this.startDate,
|
||||||
|
endDate: this.endDate
|
||||||
}
|
}
|
||||||
}).then(res => {
|
})
|
||||||
this.tableData = res.data.data.list
|
.then((res) => {
|
||||||
|
const result = res.data.data
|
||||||
|
for (let i = 0; i < result.length; i++) {
|
||||||
|
if (!result[i].hasOwnProperty('yyzy')) {
|
||||||
|
result[i].yyzy = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('kfzj')) {
|
||||||
|
result[i].kfzj = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('znsf')) {
|
||||||
|
result[i].znsf = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('tcfw')) {
|
||||||
|
result[i].tcfw = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('ywzj')) {
|
||||||
|
result[i].ywzj = 0
|
||||||
|
}
|
||||||
|
result[i].zj =
|
||||||
|
parseInt(result[i].yyzy) +
|
||||||
|
parseInt(result[i].kfzj) +
|
||||||
|
parseInt(result[i].znsf) +
|
||||||
|
parseInt(result[i].ywzj) +
|
||||||
|
parseInt(result[i].tcfw)
|
||||||
|
}
|
||||||
|
this.tableData = res.data.data
|
||||||
this.total = res.data.data.total
|
this.total = res.data.data.total
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 组件服务部门使用情况列表
|
// 组件服务部门使用情况列表-改为能力使用统计
|
||||||
getSecondTree () {
|
getSecondTree () {
|
||||||
this.$http.get('/census/center/v3/resourceUsedDetails/', {
|
this.$http
|
||||||
|
.get('/census/center/selectApplyDeptDetailTypeCountList', {
|
||||||
params: {
|
params: {
|
||||||
limit: 5,
|
// page: page || 1,
|
||||||
page: 1,
|
// limit: 5,
|
||||||
// id:'1067246875800000064',
|
approveStatus: this.examineStatus,
|
||||||
resourceType: '组件服务'
|
deptId: this.abilityDepartment,
|
||||||
|
params: '',
|
||||||
|
startDate: this.startDate,
|
||||||
|
endDate: this.endDate
|
||||||
}
|
}
|
||||||
}).then(res => {
|
})
|
||||||
this.tableData = res.data.data.list
|
.then((res) => {
|
||||||
|
const result = res.data.data
|
||||||
|
for (let i = 0; i < result.length; i++) {
|
||||||
|
if (!result[i].hasOwnProperty('yyzy')) {
|
||||||
|
result[i].yyzy = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('kfzj')) {
|
||||||
|
result[i].kfzj = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('znsf')) {
|
||||||
|
result[i].znsf = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('tcfw')) {
|
||||||
|
result[i].tcfw = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('ywzj')) {
|
||||||
|
result[i].ywzj = 0
|
||||||
|
}
|
||||||
|
result[i].zj =
|
||||||
|
parseInt(result[i].yyzy) +
|
||||||
|
parseInt(result[i].kfzj) +
|
||||||
|
parseInt(result[i].znsf) +
|
||||||
|
parseInt(result[i].ywzj) +
|
||||||
|
parseInt(result[i].tcfw)
|
||||||
|
}
|
||||||
|
this.tableData = res.data.data
|
||||||
|
this.total = res.data.data.total
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 能力上架明细
|
||||||
|
getOneDetail (page) {
|
||||||
|
var passAndReview = '' // 转变"审核完成"字段为通过
|
||||||
|
if (this.examineStatus === '审核完成') {
|
||||||
|
passAndReview = '通过'
|
||||||
|
} else {
|
||||||
|
passAndReview = this.examineStatus
|
||||||
|
}
|
||||||
|
this.$http
|
||||||
|
.get('/census/center/selectCensusResourceTable', {
|
||||||
|
params: {
|
||||||
|
// limit: 5,
|
||||||
|
// page: page || 1,
|
||||||
|
approveStatus: passAndReview,
|
||||||
|
deptId: this.abilityDepartment,
|
||||||
|
type: '',
|
||||||
|
startDate: this.startDate,
|
||||||
|
endDate: this.endDate
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log('111111', this.tableData, res.data.data)
|
||||||
|
this.tableData = res.data.data
|
||||||
|
this.total = res.data.data.total
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 能力使用明细
|
||||||
|
getTwoDetail (page) {
|
||||||
|
var passAndReview = '' // 转变"审核完成"字段为通过
|
||||||
|
if (this.examineStatus === '审核完成') {
|
||||||
|
passAndReview = '通过'
|
||||||
|
} else {
|
||||||
|
passAndReview = this.examineStatus
|
||||||
|
}
|
||||||
|
this.$http
|
||||||
|
.get('/census/center/selectCensusApplyTable', {
|
||||||
|
params: {
|
||||||
|
// limit: 5,
|
||||||
|
// page: page || 1,
|
||||||
|
approveStatus: this.examineStatus,
|
||||||
|
deptId: this.abilityDepartment,
|
||||||
|
type: '',
|
||||||
|
startDate: this.startDate,
|
||||||
|
endDate: this.endDate
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
this.tableData = res.data.data
|
||||||
|
this.total = res.data.data.total
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 应用资源部门发布情况列表
|
|
||||||
getReleaseTree (page) {
|
getReleaseTree (page) {
|
||||||
this.$http.get('/census/center/v3/resourceReleaseDetails/', {
|
this.$http
|
||||||
|
.get('/census/center/selectApplyDeptDetailTypeCountList/', {
|
||||||
params: {
|
params: {
|
||||||
limit: 5,
|
limit: 5,
|
||||||
page: page || 1,
|
// page: page || 1,
|
||||||
// id:'1067246875800000066',
|
approveStatus: '',
|
||||||
resourceType: '应用资源'
|
deptId: '',
|
||||||
|
params: '',
|
||||||
|
startDate: ''
|
||||||
}
|
}
|
||||||
}).then(res => {
|
})
|
||||||
this.tableData = res.data.data.list
|
.then((res) => {
|
||||||
|
const result = res.data.data
|
||||||
|
for (let i = 0; i < result.length; i++) {
|
||||||
|
if (!result[i].hasOwnProperty('yyzy')) {
|
||||||
|
result[i].yyzy = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('kfzj')) {
|
||||||
|
result[i].kfzj = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('znsf')) {
|
||||||
|
result[i].znsf = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('tcfw')) {
|
||||||
|
result[i].tcfw = 0
|
||||||
|
}
|
||||||
|
if (!result[i].hasOwnProperty('ywzj')) {
|
||||||
|
result[i].ywzj = 0
|
||||||
|
}
|
||||||
|
result[i].zj =
|
||||||
|
parseInt(result[i].yyzy) +
|
||||||
|
parseInt(result[i].kfzj) +
|
||||||
|
parseInt(result[i].znsf) +
|
||||||
|
parseInt(result[i].ywzj) +
|
||||||
|
parseInt(result[i].tcfw)
|
||||||
|
}
|
||||||
|
this.tableData = res.data.data
|
||||||
this.total = res.data.data.total
|
this.total = res.data.data.total
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 应用资源部门使用情况列表
|
// 应用资源部门使用情况列表
|
||||||
getUsedTree () {
|
getUsedTree () {
|
||||||
this.$http.get('/census/center/v3/resourceReleaseDetails/', {
|
this.$http
|
||||||
|
.get('/census/center/v3/resourceReleaseDetails/', {
|
||||||
params: {
|
params: {
|
||||||
limit: 5,
|
limit: 5,
|
||||||
page: 1,
|
page: 1,
|
||||||
// id:'1067246875800000066',
|
// id:'1067246875800000066',
|
||||||
resourceType: '应用资源'
|
resourceType: '应用资源'
|
||||||
}
|
}
|
||||||
}).then(res => {
|
})
|
||||||
|
.then((res) => {
|
||||||
this.tableData = res.data.data.list
|
this.tableData = res.data.data.list
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -336,15 +634,33 @@ export default {
|
||||||
this.departmentId = index
|
this.departmentId = index
|
||||||
if (index === 1) {
|
if (index === 1) {
|
||||||
if (this.choseId === 0) {
|
if (this.choseId === 0) {
|
||||||
|
if (!this.detailFlag) {
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
}
|
||||||
this.getFirstTree()
|
this.getFirstTree()
|
||||||
} else if (this.choseId === 1) {
|
} else if (this.choseId === 1) {
|
||||||
this.getReleaseTree()
|
// this.getReleaseTree()
|
||||||
}
|
}
|
||||||
} else if (index === 2) {
|
} else if (index === 2) {
|
||||||
if (this.choseId === 0) {
|
if (this.choseId === 0) {
|
||||||
|
if (!this.detailFlag) {
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
}
|
||||||
this.getSecondTree()
|
this.getSecondTree()
|
||||||
} else {
|
} else {
|
||||||
this.getUsedTree()
|
// this.getUsedTree()
|
||||||
|
}
|
||||||
|
} else if (index === 3) {
|
||||||
|
if (this.choseId === 0) {
|
||||||
|
this.getOneDetail()
|
||||||
|
} else {
|
||||||
|
// this.getUsedTree()
|
||||||
|
}
|
||||||
|
} else if (index === 4) {
|
||||||
|
if (this.choseId === 0) {
|
||||||
|
this.getTwoDetail()
|
||||||
|
} else {
|
||||||
|
// this.getUsedTree()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -366,14 +682,152 @@ export default {
|
||||||
this.homeIsShow = true
|
this.homeIsShow = true
|
||||||
this.resourcesIsShow = false
|
this.resourcesIsShow = false
|
||||||
this.handleCurrentChange(1)
|
this.handleCurrentChange(1)
|
||||||
|
},
|
||||||
|
// 明细按钮函数//明细按钮函数//明细按钮函数//明细按钮函数//明细按钮函数//明细按钮函数
|
||||||
|
goToDetail () {
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
if (this.departmentId === 1) {
|
||||||
|
this.handleChose(3)
|
||||||
|
// this.departmentId = 1;
|
||||||
|
} else if (this.departmentId === 2) {
|
||||||
|
this.handleChose(4)
|
||||||
|
// this.departmentId = 2;
|
||||||
|
} else {
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 返回按钮
|
||||||
|
goToBack () {
|
||||||
|
// departmentId 1,3 2,4 两个值共同判断
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
if (this.departmentId === 3) {
|
||||||
|
this.handleChose(1)
|
||||||
|
// this.departmentId = 1;
|
||||||
|
} else if (this.departmentId === 4) {
|
||||||
|
this.handleChose(2)
|
||||||
|
// this.departmentId = 2;
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 点击查询按钮查询数据
|
||||||
|
getDataList () {
|
||||||
|
if (this.value1.length > 0) {
|
||||||
|
this.startDate = this.handleTime(this.value1[0], 'yyyy-MM-dd HH:mm:ss')
|
||||||
|
this.endDate = this.handleTime(this.value1[1], 'yyyy-MM-dd HH:mm:ss')
|
||||||
|
}
|
||||||
|
if (this.examineStatus == 0) {
|
||||||
|
this.examineStatus = '审核中'
|
||||||
|
} else {
|
||||||
|
this.examineStatus = '审核完成'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.abilityDepartment) {
|
||||||
|
this.abilityDepartment = this.abilityDepartment
|
||||||
|
} else {
|
||||||
|
this.abilityDepartment = ''
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.abilityType) {
|
||||||
|
this.abilityType = this.abilityType
|
||||||
|
} else {
|
||||||
|
this.abilityType = ''
|
||||||
|
}
|
||||||
|
console.log('查询参数开始时间1', this.startDate)
|
||||||
|
console.log('查询参数结束时间2', this.endDate)
|
||||||
|
console.log('查询参数审核状态', this.examineStatus)
|
||||||
|
console.log('查询参数部门', this.abilityDepartment)
|
||||||
|
console.log('查询参数类型', this.abilityType)
|
||||||
|
if (this.departmentId === 1) {
|
||||||
|
if (this.detailFlag) {
|
||||||
|
this.handleChose(3)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
} else {
|
||||||
|
this.handleChose(1)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
}
|
||||||
|
// this.departmentId = 1;
|
||||||
|
} else if (this.departmentId === 2) {
|
||||||
|
if (this.detailFlag) {
|
||||||
|
this.handleChose(4)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
} else {
|
||||||
|
this.handleChose(2)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
}
|
||||||
|
} else if (this.departmentId === 3) {
|
||||||
|
this.handleChose(3)
|
||||||
|
} else {
|
||||||
|
this.handleChose(4)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置按钮查询数据
|
||||||
|
resetDataList () {
|
||||||
|
this.startDate = ''
|
||||||
|
this.endDate = ''
|
||||||
|
this.examineStatus = '审核中'
|
||||||
|
this.abilityDepartment = ''
|
||||||
|
this.abilityType = ''
|
||||||
|
if (this.departmentId === 1) {
|
||||||
|
if (this.detailFlag) {
|
||||||
|
this.handleChose(3)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
} else {
|
||||||
|
this.handleChose(1)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
}
|
||||||
|
// this.departmentId = 1;
|
||||||
|
} else if (this.departmentId === 2) {
|
||||||
|
if (this.detailFlag) {
|
||||||
|
this.handleChose(4)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
} else {
|
||||||
|
this.handleChose(2)
|
||||||
|
this.detailFlag = !this.detailFlag
|
||||||
|
}
|
||||||
|
} else if (this.departmentId === 3) {
|
||||||
|
this.handleChose(3)
|
||||||
|
} else {
|
||||||
|
this.handleChose(4)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 定义格式化函数:
|
||||||
|
handleTime (time, format) {
|
||||||
|
if (time == null || time == undefined || time == '') {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
var t = new Date(time)
|
||||||
|
var tf = function (i) {
|
||||||
|
return (i < 10 ? '0' : '') + i
|
||||||
|
}
|
||||||
|
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
|
||||||
|
switch (a) {
|
||||||
|
case 'yyyy':
|
||||||
|
return tf(t.getFullYear())
|
||||||
|
break
|
||||||
|
case 'MM':
|
||||||
|
return tf(t.getMonth() + 1)
|
||||||
|
break
|
||||||
|
case 'mm':
|
||||||
|
return tf(t.getMinutes())
|
||||||
|
break
|
||||||
|
case 'dd':
|
||||||
|
return tf(t.getDate())
|
||||||
|
break
|
||||||
|
case 'HH':
|
||||||
|
return tf(t.getHours())
|
||||||
|
break
|
||||||
|
case 'ss':
|
||||||
|
return tf(t.getSeconds())
|
||||||
|
break
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.container {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
.container-left {
|
.container-left {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
|
@ -464,6 +918,18 @@ input::placeholder {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #979eb9;
|
color: #979eb9;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
.detail-button {
|
||||||
|
width: 60px;
|
||||||
|
height: 30px;
|
||||||
|
right: 60px;
|
||||||
|
background-color: #0058e1;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 30px;
|
||||||
|
margin-top: -20px;
|
||||||
|
border-radius: 2px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.line-style {
|
.line-style {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<el-card shadow="never" class="roomBox">
|
<el-card shadow="never" class="roomBox">
|
||||||
<div class="roomExamineSearch">
|
<div class="roomExamineSearch">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="roomName"
|
v-model="roomNameA"
|
||||||
style="width: 160px"
|
style="width: 160px"
|
||||||
placeholder="请输入会议室名称"
|
placeholder="请输入会议室名称"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
@ -195,6 +195,17 @@
|
||||||
<el-input type="textarea" v-model="desc"></el-input>
|
<el-input type="textarea" v-model="desc"></el-input>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row style="display: flex; margin-top: 20px">
|
||||||
|
<el-col :span="2">附件:</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-button
|
||||||
|
v-if="file != ''"
|
||||||
|
size="mini"
|
||||||
|
@click="downloadTemplate(file)"
|
||||||
|
>下载</el-button
|
||||||
|
>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button @click="No">取 消</el-button>
|
<el-button @click="No">取 消</el-button>
|
||||||
<el-button type="primary" @click="ok">确 定</el-button>
|
<el-button type="primary" @click="ok">确 定</el-button>
|
||||||
|
@ -232,6 +243,9 @@ export default {
|
||||||
id: '',
|
id: '',
|
||||||
num: '',
|
num: '',
|
||||||
file: '',
|
file: '',
|
||||||
|
name: '',
|
||||||
|
creator: '',
|
||||||
|
roomNameA: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -241,10 +255,9 @@ export default {
|
||||||
getSerach() {
|
getSerach() {
|
||||||
this.$http
|
this.$http
|
||||||
.get(
|
.get(
|
||||||
`/bookMeeting/auditPage?page=${this.page}&limit=${this.limit}&roomName=${this.roomName}&state=${this.value}`
|
`/bookMeeting/auditPage?page=${this.page}&limit=${this.limit}&roomName=${this.roomNameA}&state=${this.value}`
|
||||||
)
|
)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
console.log(res, 7777777)
|
|
||||||
this.tableData = res.data.list
|
this.tableData = res.data.list
|
||||||
this.total = res.data.total
|
this.total = res.data.total
|
||||||
})
|
})
|
||||||
|
@ -268,13 +281,15 @@ export default {
|
||||||
if (num == '1') {
|
if (num == '1') {
|
||||||
this.dialogVisibleChuli = true
|
this.dialogVisibleChuli = true
|
||||||
this.id = item.id
|
this.id = item.id
|
||||||
|
this.name = item.name
|
||||||
|
this.roomName = item.roomName
|
||||||
|
this.creator = item.creator
|
||||||
} else {
|
} else {
|
||||||
this.dialogVisible = true
|
this.dialogVisible = true
|
||||||
|
}
|
||||||
this.$http.get(`bookMeeting/${item.id}`).then(({ data: res }) => {
|
this.$http.get(`bookMeeting/${item.id}`).then(({ data: res }) => {
|
||||||
console.log(55555555)
|
|
||||||
this.file = res.data.file
|
this.file = res.data.file
|
||||||
})
|
})
|
||||||
}
|
|
||||||
this.lookData = item
|
this.lookData = item
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -283,6 +298,9 @@ export default {
|
||||||
auditViem: this.desc,
|
auditViem: this.desc,
|
||||||
state: this.radio,
|
state: this.radio,
|
||||||
id: this.id,
|
id: this.id,
|
||||||
|
name: this.name,
|
||||||
|
roomName: this.roomName,
|
||||||
|
creator: this.creator,
|
||||||
}
|
}
|
||||||
this.$http.put('/bookMeeting', query).then(({ data: res }) => {
|
this.$http.put('/bookMeeting', query).then(({ data: res }) => {
|
||||||
this.dialogVisibleChuli = false
|
this.dialogVisibleChuli = false
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
<!--
|
||||||
|
* @Author: hisense.guoyue
|
||||||
|
* @LastEditors: hisense.guoyue
|
||||||
|
* @LastEditTime: 2022-09-27 14:23:29
|
||||||
|
* @Description: 设备审批
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-card shadow="never" class="aui-card--fill" style="position:relative">
|
||||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||||
|
<el-form-item>
|
||||||
|
<el-input v-model="dataForm.deviceName" :placeholder="$t('process.name')" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-select v-model="dataForm.state" placeholder="请选择" style="margin-right: 10px">
|
||||||
|
<el-option v-for="item in stateOptions" :key="item.value" :label="item.label" :value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="getDataList()">{{
|
||||||
|
$t('query')
|
||||||
|
}}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<div class="mod-activiti__process">
|
||||||
|
<el-table v-loading="dataListLoading" :data="dataList" border style="width: 100%">
|
||||||
|
<el-table-column prop="title" label="申请标题" header-align="center" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="name" label="申请人信息" header-align="center" align="center"></el-table-column>
|
||||||
|
<el-table-column label="设备名称" header-align="center" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span class="demand-text">{{
|
||||||
|
(scope.row && scope.row.tbDeviceDTO && scope.row.tbDeviceDTO.name)
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="state" label="审批状态" header-align="center" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{wrjStateObj[scope.row.state]}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="应用领域" header-align="center" align="center">
|
||||||
|
<template slot-scope="scope" v-if="scope.row.applicationArea">
|
||||||
|
<span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)"
|
||||||
|
:key="i">{{x}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="需求依据" header-align="center" align="center" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip placement="top-start">
|
||||||
|
<div class="tooltip-box" slot="content">{{(scope.row && scope.row.demand)}}</div>
|
||||||
|
<span class="demand-text">{{
|
||||||
|
(scope.row && scope.row.demand)
|
||||||
|
}}</span>
|
||||||
|
</el-tooltip>
|
||||||
|
</template>
|
||||||
|
</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="showDetail(scope.row)">详情</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
|
||||||
|
@current-change="pageCurrentChangeHandle">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog title="审批" :visible.sync="centerDialogVisible" width="30%" center>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="审批意见">
|
||||||
|
<el-input type="textarea" v-model="form.auditViem" placeholder="请输入审批意见"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="through(3)">不通过</el-button>
|
||||||
|
<el-button type="primary" @click="through(2)">通过</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import bus from '@/views/bus.js'
|
||||||
|
import mixinViewModule from '@/mixins/view-module'
|
||||||
|
import processModule from '@/mixins/process-module'
|
||||||
|
import { addDynamicRoute } from '@/router'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [mixinViewModule, processModule],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
mixinViewModuleOptions: {
|
||||||
|
getDataListURL: '/deviceApply/myDonePage',
|
||||||
|
getDataListIsPage: true,
|
||||||
|
activatedIsNeed: true,
|
||||||
|
deleteIsBatch: true,
|
||||||
|
deleteIsBatchKey: 'deploymentId'
|
||||||
|
},
|
||||||
|
centerDialogVisible: false,
|
||||||
|
form: {
|
||||||
|
auditViem: ''
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
state: '',
|
||||||
|
deviceName: null
|
||||||
|
},
|
||||||
|
wrjStateObj: {
|
||||||
|
0: '待审批',
|
||||||
|
1: '未申请',
|
||||||
|
2: '通过',
|
||||||
|
3: '未通过'
|
||||||
|
},
|
||||||
|
// 详情
|
||||||
|
detailInfo: {},
|
||||||
|
// 设备详情
|
||||||
|
deviceDetailInfo: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
stateOptions() {
|
||||||
|
let arr = []
|
||||||
|
Object.keys(this.wrjStateObj).map(v => {
|
||||||
|
arr.push({
|
||||||
|
label: this.wrjStateObj[v],
|
||||||
|
value: v,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
return arr
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showDetail(row) {
|
||||||
|
this.forwardDetail(row)
|
||||||
|
},
|
||||||
|
// 查看流程图
|
||||||
|
forwardDetail(data) {
|
||||||
|
console.log('data------------>', data);
|
||||||
|
console.log('this.$route------------>', this.$route);
|
||||||
|
var routeParams = {
|
||||||
|
routeName: `${this.$route.name}__detail_${data.id}`,
|
||||||
|
menuId: `${this.$route.meta.menuId}`,
|
||||||
|
title: `${this.$route.meta.title} - 详情`,
|
||||||
|
path: 'hasToDoTasks/deviceApprovalDetail',
|
||||||
|
params: {
|
||||||
|
params: data,
|
||||||
|
id: data.id,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('routeParams------------>', routeParams);
|
||||||
|
addDynamicRoute(routeParams, this.$router)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.demand-text {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.area-text {
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-box {
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -0,0 +1,319 @@
|
||||||
|
<!--
|
||||||
|
* @Author: hisense.guoyue
|
||||||
|
* @Date: 2022-06-29 15:59:51
|
||||||
|
* @LastEditors: hisense.guoyue
|
||||||
|
* @LastEditTime: 2022-09-27 18:08:00
|
||||||
|
* @Description: 设备审批详情
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- 设备审批详情 -->
|
||||||
|
<template>
|
||||||
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
|
<!-- 申请人详情 -->
|
||||||
|
<div>
|
||||||
|
<h3>申请人信息</h3>
|
||||||
|
<div class="big-BOX">
|
||||||
|
<p>
|
||||||
|
<span class="text">申请人:<span> {{ detailInfo.name || '--' }}</span></span>
|
||||||
|
<span class="text">电话:<span>{{ detailInfo.phone || '--' }}</span></span>
|
||||||
|
<span class="text">部门:<span>{{ detailInfo.dept || '--' }}</span></span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<span class="text">
|
||||||
|
能力申请标题:<span>
|
||||||
|
{{ detailInfo.title || '--' }}</span></span>
|
||||||
|
<span class="text" v-if="detailInfo.applicationSystem">应用系统:<span>{{
|
||||||
|
detailInfo.applicationSystem || '--'
|
||||||
|
}}</span></span>
|
||||||
|
<span class="text"></span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<span v-if="detailInfo.applicationArea">
|
||||||
|
应用领域:
|
||||||
|
<span class="area-item" v-for="(area, i) in JSON.parse(detailInfo.applicationArea)" :key="i">{{ area || '--'
|
||||||
|
}}</span>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<span>
|
||||||
|
需求依据:<span>
|
||||||
|
{{ detailInfo.demand || '--' }}</span></span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 申请能力 -->
|
||||||
|
<div class="AbilityApply">
|
||||||
|
<h3>申请能力</h3>
|
||||||
|
</div>
|
||||||
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
|
<h4>{{ $t('process.circulation') }}</h4>
|
||||||
|
<el-table :data="dataList" border style="width: 100%;">
|
||||||
|
<!-- 任务名称 -->
|
||||||
|
<el-table-column prop="activityName" :label="$t('process.taskName')" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 处理人 -->
|
||||||
|
<el-table-column prop="assigneeName" :label="$t('process.assignee')" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 流程开始时间 -->
|
||||||
|
<el-table-column prop="startTime" :label="$t('task.startTime')" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 流程结束时间 -->
|
||||||
|
<el-table-column prop="endTime" :label="$t('task.endTime')" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 审核意见 -->
|
||||||
|
<el-table-column prop="comment" :label="$t('process.comment')" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<!-- 任务时长(秒) -->
|
||||||
|
<el-table-column prop="durationInSeconds" :label="$t('task.durationInSeconds')" header-align="center"
|
||||||
|
align="center" width="180"></el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as moment from 'moment';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 详情信息
|
||||||
|
detailInfo: {},
|
||||||
|
dataList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.detailInfo = this.$route.params.params || {};
|
||||||
|
console.log('this.detailInfo------------>', this.detailInfo);
|
||||||
|
// 表格数据
|
||||||
|
let durationInSeconds = ''
|
||||||
|
if (this.detailInfo.auditTime && this.detailInfo.auditTime) {
|
||||||
|
durationInSeconds = moment(this.detailInfo.auditTime).diff(moment(this.detailInfo.createDate), 'seconds')
|
||||||
|
}
|
||||||
|
let _obj = {
|
||||||
|
activityName: this.detailInfo.title || '',
|
||||||
|
assigneeName: this.detailInfo.auditorName || '',
|
||||||
|
startTime: this.detailInfo.createDate || '',
|
||||||
|
endTime: this.detailInfo.auditTime,
|
||||||
|
comment: this.detailInfo.auditViem,
|
||||||
|
durationInSeconds: durationInSeconds,
|
||||||
|
}
|
||||||
|
this.dataList.push(_obj)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
::v-deep .big-BOX {
|
||||||
|
background: rgba(244, 245, 248, 0.8);
|
||||||
|
padding: 24px;
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #212121;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: #212121;
|
||||||
|
font-size: 14px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 8px;
|
||||||
|
line-height: 32px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
width: 500px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.lastP {
|
||||||
|
margin-top: 16px;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
span {
|
||||||
|
padding: 0 12px;
|
||||||
|
height: 32px;
|
||||||
|
background: rgba(232, 234, 239, 1);
|
||||||
|
border-radius: 2px;
|
||||||
|
|
||||||
|
button {
|
||||||
|
background: unset;
|
||||||
|
border: 0;
|
||||||
|
color: #0558e1;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .AbilityApply {
|
||||||
|
margin-top: 32px;
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #212121;
|
||||||
|
border-bottom: 1px solid #dddee1;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding-left: 0px;
|
||||||
|
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
padding: 30px 0;
|
||||||
|
border-bottom: 1px solid #dddee1;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div {
|
||||||
|
margin-left: 16px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #000;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: block;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #ffffff;
|
||||||
|
margin-left: 8px;
|
||||||
|
background: rgba(0, 184, 230, 0.8);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 5px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.clearfix:after {
|
||||||
|
display: block;
|
||||||
|
content: "";
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
color: #0558e1;
|
||||||
|
font-size: 18px;
|
||||||
|
padding-bottom: 0;
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title:before {
|
||||||
|
content: "";
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #0558e1;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .agreeOr>div {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.el-input {
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-left: 32px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .agreeOr>div:last-of-type {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blueAll {
|
||||||
|
::v-deep .el-radio-button__inner {
|
||||||
|
width: 80px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0;
|
||||||
|
border-radius: 2px;
|
||||||
|
background: #ffffff;
|
||||||
|
color: #0558e1;
|
||||||
|
border: 1px solid #0558e1;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner {
|
||||||
|
box-shadow: unset !important;
|
||||||
|
background: #0558e1;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputBule {
|
||||||
|
width: 55px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0;
|
||||||
|
border-radius: 2px;
|
||||||
|
background: #0558e1;
|
||||||
|
color: #ffffff;
|
||||||
|
border: 1px solid #0558e1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.redAll {
|
||||||
|
margin-left: 10px;
|
||||||
|
|
||||||
|
::v-deep .el-radio-button__inner {
|
||||||
|
width: 80px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid #e83a48;
|
||||||
|
background: #ffffff;
|
||||||
|
color: #e83a48;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner {
|
||||||
|
box-shadow: unset !important;
|
||||||
|
color: #ffffff;
|
||||||
|
background: #e83a48;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.blueInput {
|
||||||
|
width: 55px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.area-item {
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -228,10 +228,10 @@ export default {
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
name: '',
|
name: '',
|
||||||
num: '',
|
num: '',
|
||||||
area: '',
|
area: 0,
|
||||||
capacity: '',
|
capacity: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
id: '',
|
id: ''
|
||||||
},
|
},
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
|
@ -242,11 +242,11 @@ export default {
|
||||||
rules: {
|
rules: {
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: '请输入会议室名称', trigger: 'blur' },
|
{ required: true, message: '请输入会议室名称', trigger: 'blur' },
|
||||||
{ min: 1, trigger: 'blur' },
|
{ min: 1, trigger: 'blur' }
|
||||||
],
|
],
|
||||||
area: [
|
area: [
|
||||||
{ required: true, message: '请输入会议室面积', trigger: 'blur' },
|
{ required: true, message: '请输入会议室面积', trigger: 'blur' }
|
||||||
{ min: 1, type: 'number', trigger: 'blur' },
|
// { min: 1, message: '请输入数字', type: 'number', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
description: [
|
description: [
|
||||||
{ required: true, message: '请填写描述内容', trigger: 'blur' },
|
{ required: true, message: '请填写描述内容', trigger: 'blur' },
|
||||||
|
@ -254,14 +254,14 @@ export default {
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 500,
|
max: 500,
|
||||||
message: '长度在 1 到 500 个字符',
|
message: '长度在 1 到 500 个字符',
|
||||||
trigger: 'blur',
|
trigger: 'blur'
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
formLabelWidth: '120px',
|
formLabelWidth: '120px',
|
||||||
checkImgSuccess: true,
|
checkImgSuccess: true,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
flge: '',
|
flge: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
@ -337,9 +337,9 @@ export default {
|
||||||
})
|
})
|
||||||
} else if (i === 'edit') {
|
} else if (i === 'edit') {
|
||||||
this.dialogFormVisible = false
|
this.dialogFormVisible = false
|
||||||
this.$http.put(`/meeting`, this.ruleForm).then(({ data: res }) => {
|
this.$http.put('/meeting', this.ruleForm).then(({ data: res }) => {
|
||||||
this.ruleForm = res.data
|
this.ruleForm = res.data
|
||||||
let imgUrl = { name: res.data.name, url: res.data.pic }
|
const imgUrl = { name: res.data.name, url: res.data.pic }
|
||||||
this.fileList.push(imgUrl)
|
this.fileList.push(imgUrl)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -373,7 +373,7 @@ export default {
|
||||||
this.flge = 'edit'
|
this.flge = 'edit'
|
||||||
this.ruleForm = row
|
this.ruleForm = row
|
||||||
if (row.pic != null) {
|
if (row.pic != null) {
|
||||||
let imgUrl = { name: row.name, url: row.pic }
|
const imgUrl = { name: row.name, url: row.pic }
|
||||||
this.fileList.push(imgUrl)
|
this.fileList.push(imgUrl)
|
||||||
} else {
|
} else {
|
||||||
this.fileList = []
|
this.fileList = []
|
||||||
|
@ -384,27 +384,27 @@ export default {
|
||||||
this.$confirm('此操作将永久删除该会议室, 是否继续?', '提示', {
|
this.$confirm('此操作将永久删除该会议室, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning',
|
type: 'warning'
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.put(`/meeting`, { delFlag: 1, id: row.id }).then(() => {
|
this.$http.put('/meeting', { delFlag: 1, id: row.id }).then(() => {
|
||||||
this.queryData()
|
this.queryData()
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '删除成功!',
|
message: '删除成功!'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'info',
|
type: 'info',
|
||||||
message: '已取消删除',
|
message: '已取消删除'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 监听关闭按钮时间
|
// 监听关闭按钮时间
|
||||||
outDialog() {},
|
outDialog () {}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
@ -0,0 +1,149 @@
|
||||||
|
<!--
|
||||||
|
* @Author: hisense.guoyue
|
||||||
|
* @LastEditors: hisense.guoyue
|
||||||
|
* @LastEditTime: 2022-09-21 10:37:29
|
||||||
|
* @Description: 设备审批
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<!-- @selection-change="dataListSelectionChangeHandle" -->
|
||||||
|
<!-- @sort-change="dataListSortChangeHandle" -->
|
||||||
|
<el-card shadow="never" class="aui-card--fill" style="position:relative">
|
||||||
|
<div class="mod-activiti__process">
|
||||||
|
<el-table v-loading="dataListLoading" :data="dataList" border style="width: 100%">
|
||||||
|
<el-table-column prop="title" label="申请标题" header-align="center" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="name" label="申请人信息" header-align="center" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="state" label="审批状态" header-align="center" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{wrjStateObj[scope.row.state]}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="phone" label="电话" header-align="center" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="dept" label="单位" header-align="center" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="applicationSystem" label="应用系统" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="应用领域" header-align="center" align="center">
|
||||||
|
<template slot-scope="scope" v-if="scope.row.applicationArea">
|
||||||
|
<span class="area-text" v-for="(x,i) in JSON.parse(scope.row.applicationArea)"
|
||||||
|
:key="i">{{x}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="需求依据" header-align="center" align="center" width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tooltip placement="top-start">
|
||||||
|
<div class="tooltip-box" slot="content">{{(scope.row && scope.row.demand)}}</div>
|
||||||
|
<span class="demand-text">{{
|
||||||
|
(scope.row && scope.row.demand)
|
||||||
|
}}</span>
|
||||||
|
</el-tooltip>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</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="taskHandle(scope.row)">审批</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
|
||||||
|
@current-change="pageCurrentChangeHandle">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog title="审批" :visible.sync="centerDialogVisible" width="30%" center>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="审批意见">
|
||||||
|
<el-input type="textarea" v-model="form.auditViem" placeholder="请输入审批意见"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="through(3)">不通过</el-button>
|
||||||
|
<el-button type="primary" @click="through(2)">通过</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import bus from '@/views/bus.js'
|
||||||
|
import mixinViewModule from '@/mixins/view-module'
|
||||||
|
import processModule from '@/mixins/process-module'
|
||||||
|
export default {
|
||||||
|
mixins: [mixinViewModule, processModule],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
mixinViewModuleOptions: {
|
||||||
|
getDataListURL: '/deviceApply/auditPage',
|
||||||
|
getDataListIsPage: true,
|
||||||
|
activatedIsNeed: true,
|
||||||
|
deleteIsBatch: true,
|
||||||
|
deleteIsBatchKey: 'deploymentId'
|
||||||
|
},
|
||||||
|
centerDialogVisible: false,
|
||||||
|
form: {
|
||||||
|
auditViem: ''
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
state: 0
|
||||||
|
},
|
||||||
|
rowData: {},
|
||||||
|
wrjStateObj: {
|
||||||
|
0: '待审批',
|
||||||
|
1: '未申请',
|
||||||
|
2: '通过',
|
||||||
|
3: '未通过'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
taskHandle(row) {
|
||||||
|
this.form.auditViem = '';
|
||||||
|
this.rowData = row;
|
||||||
|
this.centerDialogVisible = true
|
||||||
|
},
|
||||||
|
through(state) {
|
||||||
|
// 2-通过 3-不通过
|
||||||
|
this.handlePut(state)
|
||||||
|
},
|
||||||
|
handlePut(state) {
|
||||||
|
this.$http.put(`/deviceApply`, {
|
||||||
|
...this.rowData,
|
||||||
|
state: state,
|
||||||
|
...this.form
|
||||||
|
}).then(({ data: res }) => {
|
||||||
|
console.log('res------------>', res);
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg)
|
||||||
|
}
|
||||||
|
this.centerDialogVisible = false
|
||||||
|
this.$message({
|
||||||
|
message: this.$t('prompt.success'),
|
||||||
|
type: 'success',
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.query()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log('err------------>', err);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.demand-text {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.area-text {
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-box {
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -38,6 +38,15 @@
|
||||||
@click="videoAndImg(itemsonson.note1)"
|
@click="videoAndImg(itemsonson.note1)"
|
||||||
>
|
>
|
||||||
浏览
|
浏览
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="videoAndImgCss"
|
||||||
|
v-if="
|
||||||
|
itemsonson.name === '上传附件'
|
||||||
|
"
|
||||||
|
@click="videoAndImg(itemsonson.note1)"
|
||||||
|
>
|
||||||
|
下载
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="itemsonson.type === ' multipleAdditions'"
|
v-else-if="itemsonson.type === ' multipleAdditions'"
|
||||||
|
@ -510,7 +519,7 @@ export default {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
background: url('~@/assets/img/sj-jx.png') no-repeat;
|
background: url("~@/assets/img/sj-jx.png") no-repeat;
|
||||||
background-position-x: 15px;
|
background-position-x: 15px;
|
||||||
}
|
}
|
||||||
.multipleAdditionsClass {
|
.multipleAdditionsClass {
|
||||||
|
|
|
@ -36,8 +36,10 @@
|
||||||
tip="支持文件类型,大小不超过100M"></upload>
|
tip="支持文件类型,大小不超过100M"></upload>
|
||||||
<upload @changeInfoList='changeInfoList' :title='item.name' accept='.mp4' :list="item" v-else-if="item.type == 'video'" type="视频" btnName="上传视频" :maxCount="1" :dataList="item"
|
<upload @changeInfoList='changeInfoList' :title='item.name' accept='.mp4' :list="item" v-else-if="item.type == 'video'" type="视频" btnName="上传视频" :maxCount="1" :dataList="item"
|
||||||
tip="支持视频类型,大小不超过100M"></upload>
|
tip="支持视频类型,大小不超过100M"></upload>
|
||||||
<upload @changeInfoList='changeInfoList' :title='item.name' accept='.zip' :list="item" v-else-if="item.type == 'package'" type="安装包" btnName="上传安装包" :maxCount="1" :dataList="item"
|
<upload @changeInfoList='changeInfoList' :title='item.name' accept='.zip' :list="item" v-else-if="item.type == 'package' &&item.name != '上传附件'" type="安装包" btnName="上传安装包" :maxCount="1" :dataList="item"
|
||||||
tip="支持.zip类型,大小不超过100M"></upload>
|
tip="支持.zip类型,大小不超过100M"></upload>
|
||||||
|
<upload @changeInfoList='changeInfoList' :title='item.name' accept='.pdf,.ppt,.xlsx,.doc,.docx,.zip' :list="item" v-else-if="item.name == '上传附件'" type="附件" btnName="上传附件" :maxCount="1" :dataList="item"
|
||||||
|
tip="支持.doc,.docx,.zip,.ppt,.pdf类型,大小不超过100M"></upload>
|
||||||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'AbilityType'" type="disabled" :data="item" :name="item.name" :value="typeInput"></input-select-checkbox>
|
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'AbilityType'" type="disabled" :data="item" :name="item.name" :value="typeInput"></input-select-checkbox>
|
||||||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'ComponentType'" type="disabled" :data="item" :name="item.name" :value="type"></input-select-checkbox>
|
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'ComponentType'" type="disabled" :data="item" :name="item.name" :value="type"></input-select-checkbox>
|
||||||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'input'" type="input" :data="item" :name="item.name"></input-select-checkbox>
|
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'input'" type="input" :data="item" :name="item.name"></input-select-checkbox>
|
||||||
|
|
|
@ -15,16 +15,25 @@
|
||||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:post:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:post:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:post:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
<el-button v-if="$hasPermission('sys:post:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
|
||||||
|
}}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button v-if="$hasPermission('sys:post:reset')" type="primary" @click="resetHandle()">{{ $t('reset') }}
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||||
|
style="width: 100%;">
|
||||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||||
<el-table-column prop="postCode" :label="$t('post.postCode')" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="postCode" :label="$t('post.postCode')" header-align="center" align="center">
|
||||||
<el-table-column prop="postName" :label="$t('post.postName')" header-align="center" align="center"></el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column prop="postName" :label="$t('post.postName')" header-align="center" align="center">
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="sort" :label="$t('post.sort')" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="sort" :label="$t('post.sort')" header-align="center" align="center"></el-table-column>
|
||||||
<el-table-column prop="status" :label="$t('post.status')" header-align="center" align="center">
|
<el-table-column prop="status" :label="$t('post.status')" header-align="center" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
@ -33,18 +42,15 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
|
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button v-if="$hasPermission('sys:post:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
|
<el-button v-if="$hasPermission('sys:post:update')" type="text" size="small"
|
||||||
<el-button v-if="$hasPermission('sys:post:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
|
@click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
|
||||||
|
<el-button v-if="$hasPermission('sys:post:delete')" type="text" size="small"
|
||||||
|
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination
|
<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total"
|
||||||
:current-page="page"
|
layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
|
||||||
:page-sizes="[10, 20, 50, 100]"
|
|
||||||
:page-size="limit"
|
|
||||||
:total="total"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
|
||||||
@size-change="pageSizeChangeHandle"
|
|
||||||
@current-change="pageCurrentChangeHandle">
|
@current-change="pageCurrentChangeHandle">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
@ -77,6 +83,14 @@ export default {
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
AddOrUpdate
|
AddOrUpdate
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
resetHandle() {
|
||||||
|
Object.keys(this.dataForm).map(v => this.dataForm[v] = '')
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.getDataList()
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:role:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
<el-button v-if="$hasPermission('sys:role:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button v-if="$hasPermission('sys:role:reset')" type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="dataListLoading"
|
v-loading="dataListLoading"
|
||||||
|
@ -68,6 +71,14 @@ export default {
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
AddOrUpdate
|
AddOrUpdate
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
resetHandle() {
|
||||||
|
this.dataForm.name = '';
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.getDataList()
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* @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.liangjunhua
|
||||||
* @LastEditTime: 2022-08-27 14:25:54
|
* @LastEditTime: 2022-09-19 09:36:49
|
||||||
* @Description: 系统静态参数配置
|
* @Description: 系统静态参数配置
|
||||||
*/
|
*/
|
||||||
var _global = {}
|
var _global = {}
|
||||||
var CONFIGITEM = {
|
var CONFIGITEM = {
|
||||||
version: 'qingdao', //青岛
|
// version: 'qingdao', //青岛
|
||||||
//version: 'xihaian', // 西海岸
|
version: 'xihaian', // 西海岸
|
||||||
// version: 'dev', // 开发
|
// version: 'dev', // 开发
|
||||||
|
// version: 'zhanTingDev', // 展厅dev (2022-09-13:姜永超让添加)
|
||||||
//version: 'test', // 测试
|
//version: 'test', // 测试
|
||||||
//version: 'frp', // 内网穿透
|
//version: 'frp', // 内网穿透
|
||||||
vNum: 'v0.8.7.2',
|
vNum: 'v0.8.7.2',
|
||||||
|
@ -31,6 +32,25 @@ var CONFIGITEM = {
|
||||||
POI_URL:
|
POI_URL:
|
||||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||||
},
|
},
|
||||||
|
// 研发展厅
|
||||||
|
zhanTingDev: {
|
||||||
|
loginInfo: {
|
||||||
|
// 视频平台登陆信息
|
||||||
|
loginIp: '10.132.191.3',
|
||||||
|
loginPort: '8320',
|
||||||
|
userName: 'ynszdz',
|
||||||
|
userPwd: 'Admin@123',
|
||||||
|
},
|
||||||
|
backUrl: 'http://15.72.183.90:8001',
|
||||||
|
previewUrl: 'http://15.72.183.90:7008/',
|
||||||
|
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
|
||||||
|
//apiURL: 'http://15.72.183.90:8000/renren-admin',
|
||||||
|
// websocketURL: '10.16.5.146:8888/renren-admin', // 姜永超
|
||||||
|
websocketURL: '10.18.1.99:8889/renren-admin',
|
||||||
|
// websocketURL: '10.16.5.35:8888/renren-admin',
|
||||||
|
POI_URL:
|
||||||
|
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||||
|
},
|
||||||
// 西海岸大数据局
|
// 西海岸大数据局
|
||||||
xihaian: {
|
xihaian: {
|
||||||
loginInfo: {
|
loginInfo: {
|
||||||
|
@ -42,7 +62,10 @@ var CONFIGITEM = {
|
||||||
},
|
},
|
||||||
backUrl: 'http://10.134.135.9:9797',
|
backUrl: 'http://10.134.135.9:9797',
|
||||||
previewUrl: 'http://10.134.135.9:9796/',
|
previewUrl: 'http://10.134.135.9:9796/',
|
||||||
websocketURL: '10.134.135.9:8888/renren-admin',
|
// websocketURL: '10.134.135.9:8888/renren-admin', // 正式环境
|
||||||
|
// websocketURL: '10.134.135.92:8888/renren-admin', // 测试环境
|
||||||
|
websocketURL: '192.168.124.254:8888/renren-admin', // 李志成-远雄
|
||||||
|
// websocketURL: '10.18.1.99:8889/renren-admin', // 研发
|
||||||
POI_URL:
|
POI_URL:
|
||||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||||
},
|
},
|
||||||
|
@ -58,6 +81,7 @@ var CONFIGITEM = {
|
||||||
backUrl: 'http://localhost:8001',
|
backUrl: 'http://localhost:8001',
|
||||||
previewUrl: 'http://192.168.124.236:9796/',
|
previewUrl: 'http://192.168.124.236:9796/',
|
||||||
websocketURL: '192.168.124.236:8888/renren-admin',
|
websocketURL: '192.168.124.236:8888/renren-admin',
|
||||||
|
// websocketURL: '10.18.1.99:8889/renren-admin',
|
||||||
POI_URL:
|
POI_URL:
|
||||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||||
},
|
},
|
||||||
|
|
|
@ -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-08-25 18:47:08
|
* @LastEditTime: 2022-08-29 09:55:56
|
||||||
* @Description: 数据资源参数配置
|
* @Description: 数据资源参数配置
|
||||||
*/
|
*/
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
|
@ -34,10 +34,10 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
|
||||||
{ name: '能力云图', key: 'capabilityCloud' },
|
{ name: '能力云图', key: 'capabilityCloud' },
|
||||||
{ name: '能力统计', key: 'abilityStatistics' },
|
{ name: '能力统计', key: 'abilityStatistics' },
|
||||||
// { name: '开发指南', key: 'developmentGuide' },
|
// { name: '开发指南', key: 'developmentGuide' },
|
||||||
{ name: '技术文档', key: 'instructionManual' },
|
{ name: '新手指南', key: 'instructionManual' },
|
||||||
{ name: '需求中心', key: 'demandCenter' },
|
{ name: '需求中心', key: 'demandCenter' },
|
||||||
// { name: '个人中心', key: 'personalCenter' },
|
// { name: '个人中心', key: 'personalCenter' },
|
||||||
{ name: '区市站点', key: 'mapTest' },
|
// { name: '区市站点', key: 'mapTest' },
|
||||||
// { name: '后台管理', key: 'houtaiguanli' },
|
// { name: '后台管理', key: 'houtaiguanli' },
|
||||||
// { name: '典型赋能案例', key: 'assignCase' },
|
// { name: '典型赋能案例', key: 'assignCase' },
|
||||||
{ name: '融合服务', key: 'integrationServices' },
|
{ name: '融合服务', key: 'integrationServices' },
|
||||||
|
|
|
@ -20,14 +20,6 @@
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
// export default {
|
|
||||||
// name: 'App',
|
|
||||||
// data() {
|
|
||||||
// return {
|
|
||||||
// ,
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// }
|
|
||||||
const locale = zhCN
|
const locale = zhCN
|
||||||
const token = Cookies.get('ucsToken')
|
const token = Cookies.get('ucsToken')
|
||||||
console.log('token=================>', token)
|
console.log('token=================>', token)
|
||||||
|
@ -60,6 +52,7 @@
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
@import '~@/vab/styles/vab.less';
|
@import '~@/vab/styles/vab.less';
|
||||||
|
|
||||||
#vue-admin-beautiful {
|
#vue-admin-beautiful {
|
||||||
max-width: 1920px;
|
max-width: 1920px;
|
||||||
// max-height: 1080px;
|
// max-height: 1080px;
|
||||||
|
@ -68,6 +61,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,17 +99,11 @@ export function getHls(params) {
|
||||||
}
|
}
|
||||||
//能力集市基础设施-左侧列表
|
//能力集市基础设施-左侧列表
|
||||||
export function getCameraInfoByAreaId(params) {
|
export function getCameraInfoByAreaId(params) {
|
||||||
return axios.get(
|
return axios.get(`http://10.134.135.92:9537/data_service/getCamera/getCameraInfoByAreaId?areaId=${params.areaId}`,
|
||||||
'http://10.134.135.92:9537/data_service/getCamera/getCameraInfoByAreaId?areaId=' +
|
|
||||||
params.areaId,
|
|
||||||
config2
|
config2
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
//能力集市基础设施-摄像头
|
//能力集市基础设施-摄像头
|
||||||
export function getCameraByCondition(params) {
|
export function getCameraByCondition(params) {
|
||||||
return axios.get(
|
return axios.post('http://10.134.135.92:9537/data_service/getCamera/getCameraByCondition', params, config2)
|
||||||
'http://10.134.135.92:9537/data_service/getCamera/getCameraByCondition?' +
|
|
||||||
params,
|
|
||||||
config2
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,8 @@ export function getHls(params) {
|
||||||
// 加入申购车
|
// 加入申购车
|
||||||
export function sgcInsert(data) {
|
export function sgcInsert(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/resourcecar/insert',
|
// url: '/resourcecar/insert',
|
||||||
|
url: '/resourcecar/batchInsert', // 西海岸-加入购物车相当于收藏功能
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data,
|
data,
|
||||||
})
|
})
|
||||||
|
@ -368,6 +369,16 @@ export function getIntegrationServicesList(params) {
|
||||||
params,
|
params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 融合服务--更新
|
||||||
|
export function updateIntegrationServices(data) {
|
||||||
|
return request({
|
||||||
|
url: '/fuse',
|
||||||
|
method: 'put',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 全局搜索
|
// 全局搜索
|
||||||
export function getCountByFuzzyQuery(params) {
|
export function getCountByFuzzyQuery(params) {
|
||||||
return request({
|
return request({
|
||||||
|
@ -434,3 +445,26 @@ export function selectAppList(params) {
|
||||||
params,
|
params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 西海岸-获取无人机和单兵设备列表
|
||||||
|
export function getSoldierList(params) {
|
||||||
|
return request({
|
||||||
|
url: '/device/page',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 西海岸-无人机和单兵设备提交申请
|
||||||
|
export function soldierApply(data) {
|
||||||
|
return request({
|
||||||
|
url: '/deviceApply',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 西海岸-基础设施-一键申请最大个数
|
||||||
|
export function getMaxApplyNum(number) {
|
||||||
|
return request({
|
||||||
|
url: '/processForm/tabilityapplication/canApply/' + number,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
|
@ -284,3 +284,20 @@ export function endProcess(params) {
|
||||||
params,
|
params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 西海岸:我的申请--设备申请列表
|
||||||
|
export function deviceApplylist(params) {
|
||||||
|
return request({
|
||||||
|
url: '/deviceApply/page',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 西海岸:我的申请--设备申请--查询详情
|
||||||
|
export function getDeviceDetail(deviceId) {
|
||||||
|
return request({
|
||||||
|
url: `/device/${deviceId}`,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 859 B |
After Width: | Height: | Size: 987 B |
After Width: | Height: | Size: 931 B |
|
@ -505,3 +505,7 @@ export const RECOURCE_G_ICON = {
|
||||||
resourceProtection:
|
resourceProtection:
|
||||||
'/src/assets/resourceManageMap/pic/point-resettlement-circle.png',
|
'/src/assets/resourceManageMap/pic/point-resettlement-circle.png',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 能力集市-默认选中tab
|
||||||
|
// 西海岸-默认基础设施
|
||||||
|
export const DETAIL_PAGE_CONTENT_DEFAULT_TAB = whoShow.itShowXiHaiAn ? '基础设施' : '应用资源'
|
||||||
|
|
|
@ -85,7 +85,7 @@ export const constantRoutes = [
|
||||||
{
|
{
|
||||||
path: '/',
|
path: '/',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
redirect: '/home',
|
redirect: whoShow.itShowXiHaiAn ? '/DetailsPageconetent' : '/home',
|
||||||
meta: {
|
meta: {
|
||||||
title: '能力管理平台编目',
|
title: '能力管理平台编目',
|
||||||
icon: 'apps-line',
|
icon: 'apps-line',
|
||||||
|
@ -495,7 +495,7 @@ export const constantRoutes = [
|
||||||
name: 'instructionManual',
|
name: 'instructionManual',
|
||||||
component: () => import('@/views/instructionManual/index'),
|
component: () => import('@/views/instructionManual/index'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '技术文档',
|
title: '新手指南',
|
||||||
icon: 'error-warning-line',
|
icon: 'error-warning-line',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -60,7 +60,7 @@ export function MapFun(mapObj) {
|
||||||
/**
|
/**
|
||||||
* 定义地物编辑服务
|
* 定义地物编辑服务
|
||||||
*/
|
*/
|
||||||
const featureService = L.supermap.featureService(
|
const featureService = L.supermap && L.supermap.featureService && L.supermap.featureService(
|
||||||
_mapConfig.config.EDITORDATA_URL
|
_mapConfig.config.EDITORDATA_URL
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1657,14 +1657,16 @@ export function MapFun(mapObj) {
|
||||||
features,
|
features,
|
||||||
url,
|
url,
|
||||||
layerName,
|
layerName,
|
||||||
createPopupFun
|
createPopupFun,
|
||||||
|
url2
|
||||||
) {
|
) {
|
||||||
console.log(
|
console.log(
|
||||||
'_addResourceOnMapWithoutSuperMapCluster===============>',
|
'_addResourceOnMapWithoutSuperMapCluster===============>',
|
||||||
features,
|
features,
|
||||||
url,
|
url,
|
||||||
layerName,
|
layerName,
|
||||||
createPopupFun
|
createPopupFun,
|
||||||
|
url2
|
||||||
)
|
)
|
||||||
// 如果资源要素数量为0,则说明该种资源没有记录
|
// 如果资源要素数量为0,则说明该种资源没有记录
|
||||||
// if (features.length < 1) {
|
// if (features.length < 1) {
|
||||||
|
@ -1685,14 +1687,19 @@ export function MapFun(mapObj) {
|
||||||
let layers = null
|
let layers = null
|
||||||
// 判断是否是聚合图层
|
// 判断是否是聚合图层
|
||||||
layers = createMarkerClusterLayer()
|
layers = createMarkerClusterLayer()
|
||||||
const icon = createDefaultFeatureStyle({
|
const icon1 = createDefaultFeatureStyle({
|
||||||
img: url,
|
img: url,
|
||||||
iconSize: [36, 36],
|
iconSize: [33, 33],
|
||||||
|
})
|
||||||
|
const icon2 = createDefaultFeatureStyle({
|
||||||
|
img: url2,
|
||||||
|
iconSize: [33, 33],
|
||||||
})
|
})
|
||||||
features.map((feature) => {
|
features.map((feature) => {
|
||||||
var bounds = map.getBounds()
|
var bounds = map.getBounds()
|
||||||
// console.log("看看有没有坐标",feature.latLng);
|
// console.log("看看有没有坐标",feature.latLng);
|
||||||
if ( feature.hasOwnProperty('latLng')) {
|
if ( feature.hasOwnProperty('latLng')) {
|
||||||
|
let icon = feature.active?icon2:icon1
|
||||||
const marker = L.marker(feature.latLng, { icon })
|
const marker = L.marker(feature.latLng, { icon })
|
||||||
if (createPopupFun !== null) {
|
if (createPopupFun !== null) {
|
||||||
marker.uuid = feature.uuid || ''
|
marker.uuid = feature.uuid || ''
|
||||||
|
@ -1728,6 +1735,8 @@ export function MapFun(mapObj) {
|
||||||
}
|
}
|
||||||
marker.on('click', e=>{
|
marker.on('click', e=>{
|
||||||
console.log('点位数据', e)
|
console.log('点位数据', e)
|
||||||
|
|
||||||
|
mybus.emit('pointMarkerClick', feature)
|
||||||
})
|
})
|
||||||
layers.addLayer(marker)
|
layers.addLayer(marker)
|
||||||
}
|
}
|
||||||
|
|
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
|
@ -123,7 +123,7 @@ export function HieimpMap() {
|
||||||
// debugger;
|
// debugger;
|
||||||
|
|
||||||
// 获取图层信息
|
// 获取图层信息
|
||||||
L.supermap
|
L.supermap && L.supermap.layerInfoService && L.supermap
|
||||||
.layerInfoService(_mapConfig.config.QUERY_URL)
|
.layerInfoService(_mapConfig.config.QUERY_URL)
|
||||||
.getLayersInfo(function (result) {
|
.getLayersInfo(function (result) {
|
||||||
// doSomething
|
// doSomething
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
/*
|
/*
|
||||||
* @Author: hisense.liangjunhua
|
* @Author: hisense.liangjunhua
|
||||||
* @Date: 2022-08-22 18:22:16
|
* @Date: 2022-08-22 18:22:16
|
||||||
* @LastEditors: hisense.wuhongjian
|
* @LastEditors: hisense.liangjunhua
|
||||||
* @LastEditTime: 2022-08-25 21:05:32
|
* @LastEditTime: 2022-09-01 16:05:31
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const returnLocationStr = () => {
|
const returnLocationStr = () => {
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
return CONFIGITEM.version === 'xihaian' ? 'xihaian' : 'qingdao1'
|
return CONFIGITEM.version === 'xihaian' ? 'xihaian' : 'qingdao'
|
||||||
}
|
}
|
||||||
|
|
||||||
export default returnLocationStr
|
export default returnLocationStr
|
||||||
|
|
|
@ -11,8 +11,14 @@ import store from '@/store'
|
||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
// import { isArray } from '@/utils/validate'
|
// import { isArray } from '@/utils/validate'
|
||||||
import { message } from 'ant-design-vue'
|
import {
|
||||||
import { getAccessToken, setAccessToken } from '@/utils/accessToken'
|
message
|
||||||
|
} from 'ant-design-vue'
|
||||||
|
import {
|
||||||
|
getAccessToken,
|
||||||
|
setAccessToken
|
||||||
|
} from '@/utils/accessToken'
|
||||||
|
|
||||||
|
|
||||||
let loadingInstance
|
let loadingInstance
|
||||||
|
|
||||||
|
@ -26,14 +32,20 @@ const handleCode = (code, msg, res) => {
|
||||||
// debugger
|
// debugger
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case 401:
|
case 401:
|
||||||
|
debugger
|
||||||
store.dispatch('user/resetAll').catch(() => { })
|
store.dispatch('user/resetAll').catch(() => { })
|
||||||
break
|
break
|
||||||
case 403:
|
case 403:
|
||||||
router.push({ path: '/401' }).catch(() => {})
|
router.push({
|
||||||
|
path: '/401'
|
||||||
|
}).catch(() => { })
|
||||||
break
|
break
|
||||||
case 500:
|
case 500:
|
||||||
message.error(msg || '接口异常')
|
message.error(msg || '接口异常')
|
||||||
break
|
break
|
||||||
|
case 505:
|
||||||
|
message.error(msg || '该时段已被预约')
|
||||||
|
break
|
||||||
case 302:
|
case 302:
|
||||||
// window.location.href = redirect
|
// window.location.href = redirect
|
||||||
break
|
break
|
||||||
|
@ -91,16 +103,22 @@ instance.interceptors.response.use(
|
||||||
console.log('接口返回headers', response.headers)
|
console.log('接口返回headers', response.headers)
|
||||||
console.log('接口返回REDIRECT', response.headers.redirect)
|
console.log('接口返回REDIRECT', response.headers.redirect)
|
||||||
response['Access-Control-Expose-Headers'] = 'redirect'
|
response['Access-Control-Expose-Headers'] = 'redirect'
|
||||||
const { code, message } = response.data
|
const {
|
||||||
|
code,
|
||||||
|
message
|
||||||
|
} = response.data
|
||||||
|
|
||||||
if (response.headers.token) {
|
if (response.headers.token) {
|
||||||
setAccessToken(response.headers.token)
|
setAccessToken(response.headers.token)
|
||||||
}
|
}
|
||||||
if (response.headers.redirect) {
|
if (response.headers.redirect) {
|
||||||
|
const _old_href = window.location.href.split('#')[0];
|
||||||
|
const _new_href = response.headers.redirect.split('#')[0];
|
||||||
window.location.replace(response.headers.redirect)
|
window.location.replace(response.headers.redirect)
|
||||||
// setTimeout(() => {
|
// url 相同,强制刷新
|
||||||
|
if (_old_href === _new_href) {
|
||||||
location.reload()
|
location.reload()
|
||||||
// }, 1000)
|
}
|
||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
if (response.headers.redirect === '/#/login') {
|
if (response.headers.redirect === '/#/login') {
|
||||||
|
@ -126,7 +144,7 @@ instance.interceptors.response.use(
|
||||||
location.reload()
|
location.reload()
|
||||||
}, 1000)
|
}, 1000)
|
||||||
}
|
}
|
||||||
handleCode(code, message, response.headers)
|
handleCode(code, message || response.data.msg, response.headers)
|
||||||
if (loadingInstance) loadingInstance.close()
|
if (loadingInstance) loadingInstance.close()
|
||||||
// const { data, config } = response
|
// const { data, config } = response
|
||||||
// const { code, msg } = data
|
// const { code, msg } = data
|
||||||
|
@ -150,7 +168,10 @@ instance.interceptors.response.use(
|
||||||
console.log('接口error', error)
|
console.log('接口error', error)
|
||||||
if (loadingInstance) loadingInstance.close()
|
if (loadingInstance) loadingInstance.close()
|
||||||
|
|
||||||
const { response, message } = error
|
const {
|
||||||
|
response,
|
||||||
|
message
|
||||||
|
} = error
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
console.log('接口返回', response)
|
console.log('接口返回', response)
|
||||||
console.log('接口返回headers', response.headers)
|
console.log('接口返回headers', response.headers)
|
||||||
|
@ -162,12 +183,17 @@ instance.interceptors.response.use(
|
||||||
window.location.replace(response.headers.redirect)
|
window.location.replace(response.headers.redirect)
|
||||||
return Promise.resolve()
|
return Promise.resolve()
|
||||||
}
|
}
|
||||||
const { status, data } = response
|
const {
|
||||||
|
status,
|
||||||
|
data
|
||||||
|
} = response
|
||||||
|
|
||||||
handleCode(status, data.msg || message, response.headers.redirect)
|
handleCode(status, data.msg || message, response.headers.redirect)
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
} else {
|
} else {
|
||||||
let { message } = error
|
let {
|
||||||
|
message
|
||||||
|
} = error
|
||||||
if (message === 'Network Error') {
|
if (message === 'Network Error') {
|
||||||
message = '后端接口连接异常'
|
message = '后端接口连接异常'
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,28 +11,18 @@
|
||||||
<span class="title">基础设施</span>
|
<span class="title">基础设施</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="infrastructure-content">
|
<div class="infrastructure-content">
|
||||||
<div
|
<div class="infrastructure-content-son" v-for="(item, index) in myDataList" :key="index">
|
||||||
class="infrastructure-content-son"
|
<div class="num-class"
|
||||||
v-for="(item, index) in myDataList"
|
:style="`background:url(${item.img}) no-repeat;background-position:top left;background-size:40%`">
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="num-class"
|
|
||||||
:style="`background:url(${item.img}) no-repeat;background-position:top left;background-size:40%`"
|
|
||||||
>
|
|
||||||
<div>{{ item.title }}</div>
|
<div>{{ item.title }}</div>
|
||||||
<div>{{ item.snum }}</div>
|
<div>{{ item.snum }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="health-degree">
|
<div class="health-degree">
|
||||||
<div class="health-degree-title">健康度</div>
|
<div class="health-degree-title">健康度</div>
|
||||||
<a-progress
|
<a-progress :stroke-color="{
|
||||||
:stroke-color="{
|
|
||||||
'0%': '#108ee9',
|
'0%': '#108ee9',
|
||||||
'100%': '#87d068',
|
'100%': '#87d068',
|
||||||
}"
|
}" :percent="item.percentage" :show-info="false" />
|
||||||
:percent="item.percentage"
|
|
||||||
:show-info="false"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="percentage" :style="fontFormat(item.title)">
|
<div class="percentage" :style="fontFormat(item.title)">
|
||||||
{{ item.percentage }}%
|
{{ item.percentage }}%
|
||||||
|
@ -44,6 +34,8 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { infrastructureInfo } from '@/api/capabilityCloud'
|
import { infrastructureInfo } from '@/api/capabilityCloud'
|
||||||
|
const itShowXiHaiAn = whoShow.itShowXiHaiAn
|
||||||
|
|
||||||
let myDataList = ref([
|
let myDataList = ref([
|
||||||
{
|
{
|
||||||
title: '视频资源数量',
|
title: '视频资源数量',
|
||||||
|
@ -52,15 +44,15 @@
|
||||||
img: require('../../../assets/capabilityCloud/infrastructure_sz.png'),
|
img: require('../../../assets/capabilityCloud/infrastructure_sz.png'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '云资源',
|
title: itShowXiHaiAn ? '单兵设备' : '云资源',
|
||||||
snum: '0',
|
snum: itShowXiHaiAn ? '2' : 0,
|
||||||
percentage: '0',
|
percentage: itShowXiHaiAn ? '100' : '0',
|
||||||
img: require('../../../assets/capabilityCloud/infrastructure_yz.png'),
|
img: require('../../../assets/capabilityCloud/infrastructure_yz.png'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '感知资源',
|
title: itShowXiHaiAn ? '无人机' : '感知资源',
|
||||||
snum: '0',
|
snum: itShowXiHaiAn ? '2' : 0,
|
||||||
percentage: '0',
|
percentage: itShowXiHaiAn ? '100' : '0',
|
||||||
img: require('../../../assets/capabilityCloud/infrastructure_gz.png'),
|
img: require('../../../assets/capabilityCloud/infrastructure_gz.png'),
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
@ -69,10 +61,10 @@
|
||||||
case '视频资源数量':
|
case '视频资源数量':
|
||||||
return 'color: #32ff91;'
|
return 'color: #32ff91;'
|
||||||
break
|
break
|
||||||
case '云资源':
|
case itShowXiHaiAn ? '单兵设备' : '云资源':
|
||||||
return 'color: #f4fd25;'
|
return 'color: #f4fd25;'
|
||||||
break
|
break
|
||||||
case '感知资源':
|
case itShowXiHaiAn ? '无人机' : '感知资源':
|
||||||
return 'color: #ff1d18;'
|
return 'color: #ff1d18;'
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -95,6 +87,8 @@
|
||||||
val.snum = obj.amount
|
val.snum = obj.amount
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
console.log('err------------>', err);
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
@ -112,24 +106,27 @@
|
||||||
-webkit-transition: all 100ms ease-out;
|
-webkit-transition: all 100ms ease-out;
|
||||||
-moz-transition: all 100ms ease-out;
|
-moz-transition: all 100ms ease-out;
|
||||||
transition: all 100ms ease-out;
|
transition: all 100ms ease-out;
|
||||||
|
|
||||||
.infrastructure-top {
|
.infrastructure-top {
|
||||||
width: 4.4rem;
|
width: 4.4rem;
|
||||||
height: 0.44rem;
|
height: 0.44rem;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
background: url('~@/assets/capabilityCloud/infrastructure_title.png')
|
background: url('~@/assets/capabilityCloud/infrastructure_title.png') no-repeat;
|
||||||
no-repeat;
|
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
line-height: 0.44rem;
|
line-height: 0.44rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 0.24rem;
|
font-size: 0.24rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.infrastructure-content {
|
.infrastructure-content {
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
margin-top: 0.62rem;
|
margin-top: 0.62rem;
|
||||||
|
|
||||||
.infrastructure-content-son {
|
.infrastructure-content-son {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
|
@ -139,11 +136,13 @@
|
||||||
margin-bottom: 0.14rem;
|
margin-bottom: 0.14rem;
|
||||||
padding-left: 0.1rem;
|
padding-left: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.num-class {
|
.num-class {
|
||||||
width: 1.5rem;
|
width: 1.5rem;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-right: 0.2rem;
|
margin-right: 0.2rem;
|
||||||
|
|
||||||
&>div:first-child {
|
&>div:first-child {
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
@ -151,32 +150,39 @@
|
||||||
line-height: 0.18rem;
|
line-height: 0.18rem;
|
||||||
margin-top: 0.3rem;
|
margin-top: 0.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
&>div:last-child {
|
&>div:last-child {
|
||||||
font-size: 0.36rem;
|
font-size: 0.36rem;
|
||||||
line-height: 0.36rem;
|
line-height: 0.36rem;
|
||||||
color: #1ce2e5;
|
color: #1ce2e5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.health-degree {
|
.health-degree {
|
||||||
width: 1.35rem;
|
width: 1.35rem;
|
||||||
|
|
||||||
.health-degree-title {
|
.health-degree-title {
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
color: rgba(255, 255, 255, 0.6);
|
color: rgba(255, 255, 255, 0.6);
|
||||||
margin-bottom: 0.08rem;
|
margin-bottom: 0.08rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-progress-outer) {
|
:deep(.ant-progress-outer) {
|
||||||
height: 0.27rem;
|
height: 0.27rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-progress-inner) {
|
:deep(.ant-progress-inner) {
|
||||||
height: 0.27rem;
|
height: 0.27rem;
|
||||||
border-radius: 0.14rem;
|
border-radius: 0.14rem;
|
||||||
border: 0.01rem solid rgba(8, 153, 231, 0.6);
|
border: 0.01rem solid rgba(8, 153, 231, 0.6);
|
||||||
background: rgba(21, 65, 123, 0.6);
|
background: rgba(21, 65, 123, 0.6);
|
||||||
|
|
||||||
div {
|
div {
|
||||||
height: 0.27rem !important;
|
height: 0.27rem !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .health-degree:
|
// .health-degree:
|
||||||
.percentage {
|
.percentage {
|
||||||
height: 0.57rem;
|
height: 0.57rem;
|
||||||
|
@ -189,23 +195,29 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.infrastructure:hover {
|
.infrastructure:hover {
|
||||||
border: 2px solid;
|
border: 2px solid;
|
||||||
animation: turn 5s linear infinite;
|
animation: turn 5s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes turn {
|
@keyframes turn {
|
||||||
0% {
|
0% {
|
||||||
border-image: linear-gradient(to right, #003194, #00ffea) 1;
|
border-image: linear-gradient(to right, #003194, #00ffea) 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
25% {
|
25% {
|
||||||
border-image: linear-gradient(to bottom, #003194, #00ffea) 1;
|
border-image: linear-gradient(to bottom, #003194, #00ffea) 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
border-image: linear-gradient(to left, #003194, #00ffea) 1;
|
border-image: linear-gradient(to left, #003194, #00ffea) 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
75% {
|
75% {
|
||||||
border-image: linear-gradient(to top, #003194, #00ffea) 1;
|
border-image: linear-gradient(to top, #003194, #00ffea) 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
border-image: linear-gradient(to right, #003194, #00ffea) 1;
|
border-image: linear-gradient(to right, #003194, #00ffea) 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
<template>
|
||||||
|
<div class="detail-back" @click="previousPage" :style="{ color: textColor }">
|
||||||
|
<返回
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref, watch, defineProps } from 'vue'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
const router = useRouter()
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
textColor: { type: String, default: '' },
|
||||||
|
})
|
||||||
|
|
||||||
|
const previousPage = () => {
|
||||||
|
window.history.go(-1)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.detail-back {
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0.7;
|
||||||
|
top: 0.5rem;
|
||||||
|
left: 100px;
|
||||||
|
font-size: 0.20rem;
|
||||||
|
cursor: pointer;
|
||||||
|
background: -webkit-linear-gradient(90deg, #99a8d0, #fff);
|
||||||
|
font-weight: 600;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -7,6 +7,7 @@
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="capability-cloud">
|
<div class="capability-cloud">
|
||||||
|
<capability-cloud-back></capability-cloud-back>
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<span class="title" @click="goHome">数字能力超市</span>
|
<span class="title" @click="goHome">数字能力超市</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -29,6 +30,7 @@
|
||||||
import Infrastructure from '@/views/capabilityCloud/components/Infrastructure.vue'
|
import Infrastructure from '@/views/capabilityCloud/components/Infrastructure.vue'
|
||||||
import DataResources from '@/views/capabilityCloud/components/DataResources.vue'
|
import DataResources from '@/views/capabilityCloud/components/DataResources.vue'
|
||||||
import KnowledgeBase from '@/views/capabilityCloud/components/KnowledgeBase.vue'
|
import KnowledgeBase from '@/views/capabilityCloud/components/KnowledgeBase.vue'
|
||||||
|
import capabilityCloudBack from '@/views/capabilityCloud/components/capabilityCloudBack.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const goHome = () => {
|
const goHome = () => {
|
||||||
|
|
|
@ -69,6 +69,7 @@
|
||||||
:dataFrom="dataFrom"
|
:dataFrom="dataFrom"
|
||||||
:fileList="fileList"
|
:fileList="fileList"
|
||||||
:packageList="packageList"
|
:packageList="packageList"
|
||||||
|
:accessoryList="accessoryList"
|
||||||
:imgList="imgList"
|
:imgList="imgList"
|
||||||
:externalField="['接口服务', '接口请求方式']"
|
:externalField="['接口服务', '接口请求方式']"
|
||||||
:configure="bs"
|
:configure="bs"
|
||||||
|
@ -370,6 +371,7 @@
|
||||||
const navList2 = ref([])
|
const navList2 = ref([])
|
||||||
const fileList = ref({})
|
const fileList = ref({})
|
||||||
const packageList = ref({})
|
const packageList = ref({})
|
||||||
|
const accessoryList = ref({})
|
||||||
const imgList = ref({})
|
const imgList = ref({})
|
||||||
const videoList = ref({})
|
const videoList = ref({})
|
||||||
const data = ref({})
|
const data = ref({})
|
||||||
|
@ -787,6 +789,9 @@
|
||||||
mybus.on('chagePackageList', (obj) => {
|
mybus.on('chagePackageList', (obj) => {
|
||||||
packageList.value = obj
|
packageList.value = obj
|
||||||
})
|
})
|
||||||
|
mybus.on('chageAccessory', (obj) => {
|
||||||
|
accessoryList.value = obj
|
||||||
|
})
|
||||||
mybus.on('chageImgList', (obj) => {
|
mybus.on('chageImgList', (obj) => {
|
||||||
imgList.value = obj
|
imgList.value = obj
|
||||||
})
|
})
|
||||||
|
@ -836,6 +841,7 @@
|
||||||
mybus.off('chageDataFromDwon')
|
mybus.off('chageDataFromDwon')
|
||||||
mybus.off('chageVideoList')
|
mybus.off('chageVideoList')
|
||||||
mybus.off('chagePackageList')
|
mybus.off('chagePackageList')
|
||||||
|
mybus.off('chageAccessory')
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -69,6 +69,7 @@
|
||||||
:dataFrom="dataFrom"
|
:dataFrom="dataFrom"
|
||||||
:fileList="fileList"
|
:fileList="fileList"
|
||||||
:fileList2="fileList2"
|
:fileList2="fileList2"
|
||||||
|
:accessoryList="accessoryList"
|
||||||
:imgList="imgList"
|
:imgList="imgList"
|
||||||
:configure="bs"
|
:configure="bs"
|
||||||
@submit="submit()"
|
@submit="submit()"
|
||||||
|
@ -339,6 +340,7 @@
|
||||||
const navList2 = ref([])
|
const navList2 = ref([])
|
||||||
const fileList = ref({})
|
const fileList = ref({})
|
||||||
const fileList2 = ref({})
|
const fileList2 = ref({})
|
||||||
|
const accessoryList = ref({})
|
||||||
const imgList = ref({})
|
const imgList = ref({})
|
||||||
const videoList = ref({})
|
const videoList = ref({})
|
||||||
const data = ref({})
|
const data = ref({})
|
||||||
|
@ -751,6 +753,9 @@
|
||||||
mybus.on('chageVideoList', (obj) => {
|
mybus.on('chageVideoList', (obj) => {
|
||||||
videoList.value = obj
|
videoList.value = obj
|
||||||
})
|
})
|
||||||
|
mybus.on('chageAccessory', (obj) => {
|
||||||
|
accessoryList.value = obj
|
||||||
|
})
|
||||||
//datafrom外面数据
|
//datafrom外面数据
|
||||||
mybus.on('chageDataFromDwon', (obj) => {
|
mybus.on('chageDataFromDwon', (obj) => {
|
||||||
switch (obj.attrType) {
|
switch (obj.attrType) {
|
||||||
|
@ -793,6 +798,7 @@
|
||||||
mybus.off('chageFileList2')
|
mybus.off('chageFileList2')
|
||||||
mybus.off('chageImgList')
|
mybus.off('chageImgList')
|
||||||
mybus.off('chageDataFromDwon')
|
mybus.off('chageDataFromDwon')
|
||||||
|
mybus.off('chageAccessory')
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -69,6 +69,7 @@
|
||||||
:dataFrom="dataFrom"
|
:dataFrom="dataFrom"
|
||||||
:fileList="fileList"
|
:fileList="fileList"
|
||||||
:fileList2="fileList2"
|
:fileList2="fileList2"
|
||||||
|
:accessoryList="accessoryList"
|
||||||
:configure="bs"
|
:configure="bs"
|
||||||
@submit="submit()"
|
@submit="submit()"
|
||||||
@back="back()"
|
@back="back()"
|
||||||
|
@ -338,6 +339,7 @@
|
||||||
const navList2 = ref([])
|
const navList2 = ref([])
|
||||||
const fileList = ref({})
|
const fileList = ref({})
|
||||||
const fileList2 = ref({})
|
const fileList2 = ref({})
|
||||||
|
const accessoryList = ref({})
|
||||||
const imgList = ref({})
|
const imgList = ref({})
|
||||||
const videoList = ref({})
|
const videoList = ref({})
|
||||||
const data = ref({})
|
const data = ref({})
|
||||||
|
@ -748,6 +750,9 @@
|
||||||
mybus.on('chageVideoList', (obj) => {
|
mybus.on('chageVideoList', (obj) => {
|
||||||
videoList.value = obj
|
videoList.value = obj
|
||||||
})
|
})
|
||||||
|
mybus.on('chageAccessory', (obj) => {
|
||||||
|
accessoryList.value = obj
|
||||||
|
})
|
||||||
//datafrom外面数据
|
//datafrom外面数据
|
||||||
mybus.on('chageDataFromDwon', (obj) => {
|
mybus.on('chageDataFromDwon', (obj) => {
|
||||||
switch (obj.attrType) {
|
switch (obj.attrType) {
|
||||||
|
@ -790,6 +795,7 @@
|
||||||
mybus.off('chageFileList2')
|
mybus.off('chageFileList2')
|
||||||
mybus.off('chageImgList')
|
mybus.off('chageImgList')
|
||||||
mybus.off('chageDataFromDwon')
|
mybus.off('chageDataFromDwon')
|
||||||
|
mybus.off('chageAccessory')
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -66,6 +66,7 @@
|
||||||
:dataFrom="dataFrom"
|
:dataFrom="dataFrom"
|
||||||
:fileList="fileList"
|
:fileList="fileList"
|
||||||
:fileList2="fileList2"
|
:fileList2="fileList2"
|
||||||
|
:accessoryList="accessoryList"
|
||||||
:configure="bs"
|
:configure="bs"
|
||||||
@submit="submit()"
|
@submit="submit()"
|
||||||
@back="back()"
|
@back="back()"
|
||||||
|
@ -237,6 +238,7 @@
|
||||||
const navList2 = ref([])
|
const navList2 = ref([])
|
||||||
const fileList = ref({})
|
const fileList = ref({})
|
||||||
const fileList2 = ref({})
|
const fileList2 = ref({})
|
||||||
|
const accessoryList = ref({})
|
||||||
const imgList = ref({})
|
const imgList = ref({})
|
||||||
const videoList = ref({})
|
const videoList = ref({})
|
||||||
const data = ref({})
|
const data = ref({})
|
||||||
|
@ -618,6 +620,9 @@
|
||||||
mybus.on('chageVideoList', (obj) => {
|
mybus.on('chageVideoList', (obj) => {
|
||||||
videoList.value = obj
|
videoList.value = obj
|
||||||
})
|
})
|
||||||
|
mybus.on('chageAccessory', (obj) => {
|
||||||
|
accessoryList.value = obj
|
||||||
|
})
|
||||||
//datafrom外面数据
|
//datafrom外面数据
|
||||||
mybus.on('chageDataFromDwon', (obj) => {
|
mybus.on('chageDataFromDwon', (obj) => {
|
||||||
switch (obj.attrType) {
|
switch (obj.attrType) {
|
||||||
|
@ -660,6 +665,7 @@
|
||||||
mybus.off('chageFileList2')
|
mybus.off('chageFileList2')
|
||||||
mybus.off('chageImgList')
|
mybus.off('chageImgList')
|
||||||
mybus.off('chageDataFromDwon')
|
mybus.off('chageDataFromDwon')
|
||||||
|
mybus.off('chageAccessory')
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -301,6 +301,16 @@
|
||||||
:list="props.fileList2"
|
:list="props.fileList2"
|
||||||
tip="支持文件类型,大小不超过100M"
|
tip="支持文件类型,大小不超过100M"
|
||||||
></upload>
|
></upload>
|
||||||
|
<upload
|
||||||
|
v-else-if="item.type == 'package' && item.name == '上传附件'"
|
||||||
|
type="附件"
|
||||||
|
btnName="上传附件"
|
||||||
|
:maxCount="1"
|
||||||
|
:data="item"
|
||||||
|
:busType="2"
|
||||||
|
:list="props.fileList2"
|
||||||
|
tip="支持.doc,.docx,.zip,.ppt,.pdf类型,大小不超过100M"
|
||||||
|
></upload>
|
||||||
<upload
|
<upload
|
||||||
v-else-if="item.type == 'package'"
|
v-else-if="item.type == 'package'"
|
||||||
type="压缩包"
|
type="压缩包"
|
||||||
|
@ -682,27 +692,29 @@
|
||||||
data.value.list.push(item)
|
data.value.list.push(item)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (item.name === '部门联系人') {
|
|
||||||
if (!item.note1) {
|
|
||||||
getUserInfo().then(({ data: res1 }) => {
|
|
||||||
console.log(res1.data)
|
|
||||||
item.note1 = res1.data.realName || ''
|
|
||||||
})
|
|
||||||
data.value.list.push(item)
|
|
||||||
} else {
|
|
||||||
data.value.list.push(item)
|
|
||||||
}
|
}
|
||||||
} else if (item.name === '部门联系人电话') {
|
// else if (item.name === '部门联系人') {
|
||||||
if (!item.note1) {
|
// if (!item.note1) {
|
||||||
getUserInfo().then(({ data: res1 }) => {
|
// getUserInfo().then(({ data: res1 }) => {
|
||||||
console.log(res1.data)
|
// console.log(res1.data)
|
||||||
item.note1 = res1.data.mobile || ''
|
// item.note1 = res1.data.realName || ''
|
||||||
})
|
// })
|
||||||
data.value.list.push(item)
|
// data.value.list.push(item)
|
||||||
} else {
|
// } else {
|
||||||
data.value.list.push(item)
|
// data.value.list.push(item)
|
||||||
}
|
// }
|
||||||
} else if (item.name === '来源应用') {
|
// } else if (item.name === '部门联系人电话') {
|
||||||
|
// if (!item.note1) {
|
||||||
|
// getUserInfo().then(({ data: res1 }) => {
|
||||||
|
// console.log(res1.data)
|
||||||
|
// item.note1 = res1.data.mobile || ''
|
||||||
|
// })
|
||||||
|
// data.value.list.push(item)
|
||||||
|
// } else {
|
||||||
|
// data.value.list.push(item)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
else if (item.name === '来源应用') {
|
||||||
queryApplicationRelByResourceId({
|
queryApplicationRelByResourceId({
|
||||||
referenceId: 0,
|
referenceId: 0,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
<!-- 智能算法 -->
|
<!-- 智能算法 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="algorithm">
|
<div class="algorithm">
|
||||||
|
<div class="select">
|
||||||
|
<div class="top" @click="selectFlag2 = true">
|
||||||
|
{{ typeName2 }}
|
||||||
|
<div class="light"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom" v-show="selectFlag2">
|
||||||
|
<span class="light"></span>
|
||||||
|
<div v-for="val in dictList" :key="val" @click="getList2(val)">
|
||||||
|
{{ val }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="algorithm-class">
|
<div class="algorithm-class">
|
||||||
<div
|
<div
|
||||||
v-for="(item, index) in dataList"
|
v-for="(item, index) in dataList"
|
||||||
|
@ -27,9 +39,25 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||||
import { pageWithAttrs } from '@/api/abilityStatistics'
|
import { pageWithAttrs } from '@/api/abilityStatistics'
|
||||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||||
|
const typeName2 = ref('全部')
|
||||||
|
const dictList = ref([])
|
||||||
const dataList = ref([])
|
const dataList = ref([])
|
||||||
|
const selectFlag2 = ref(false)
|
||||||
|
getCategoryTreePage({
|
||||||
|
page: 1,
|
||||||
|
limit: 99,
|
||||||
|
dictTypeId: '1513712507692818433',
|
||||||
|
}).then((res) => {
|
||||||
|
dictList.value = ['全部']
|
||||||
|
res.data.data.list.map((val) => {
|
||||||
|
if (val.dictLabel !== '其他') {
|
||||||
|
dictList.value.push(val.dictLabel)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
const params = {
|
const params = {
|
||||||
deptIds: [],
|
deptIds: [],
|
||||||
districtId: '',
|
districtId: '',
|
||||||
|
@ -40,6 +68,19 @@
|
||||||
pageSize: 9,
|
pageSize: 9,
|
||||||
type: '组件服务',
|
type: '组件服务',
|
||||||
}
|
}
|
||||||
|
const getList2 = (val) => {
|
||||||
|
typeName2.value = val
|
||||||
|
if (val == '全部') {
|
||||||
|
params.infoList = [{ attrType: '组件类型', attrValue: '智能算法' }]
|
||||||
|
} else {
|
||||||
|
params.infoList = [
|
||||||
|
{ attrType: '组件类型', attrValue: '智能算法' },
|
||||||
|
{ attrType: '应用领域', attrValue: val },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
selectFlag2.value = false
|
||||||
|
pageWithAttrsFunction()
|
||||||
|
}
|
||||||
let algorithmclass = null
|
let algorithmclass = null
|
||||||
const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo.jpg'))
|
const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo.jpg'))
|
||||||
const dataLength = ref(true)
|
const dataLength = ref(true)
|
||||||
|
@ -109,9 +150,67 @@
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.algorithm {
|
.algorithm {
|
||||||
|
.select {
|
||||||
|
margin: 0.1rem 0 0.1rem 0.2rem;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: webfont;
|
||||||
|
position: relative;
|
||||||
|
.top {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 3.61rem;
|
||||||
|
height: 0.85rem;
|
||||||
|
font-weight: 600;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 0.1rem;
|
||||||
|
background: url('~@/assets/capacitySquare/select-bg.png') no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
position: relative;
|
||||||
|
.light {
|
||||||
|
width: 0.56rem;
|
||||||
|
height: 3px;
|
||||||
|
position: absolute;
|
||||||
|
top: 0.4rem;
|
||||||
|
left: 1.52rem;
|
||||||
|
background: url('~@/assets/capacitySquare/select-light1.png')
|
||||||
|
no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
cursor: pointer;
|
||||||
|
position: absolute;
|
||||||
|
top: 0.5rem;
|
||||||
|
left: 0.9rem;
|
||||||
|
z-index: 1000;
|
||||||
|
background: rgba(57, 134, 239, 0.68);
|
||||||
|
border: 1px solid #aed5ff;
|
||||||
|
.light {
|
||||||
|
display: inline-block;
|
||||||
|
width: 2.39rem;
|
||||||
|
height: 5px;
|
||||||
|
position: absolute;
|
||||||
|
top: -0.08rem;
|
||||||
|
left: -0.3rem;
|
||||||
|
background: url('~@/assets/capacitySquare/select-light2.png')
|
||||||
|
no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
& > div {
|
||||||
|
width: 1.8rem;
|
||||||
|
height: 0.4rem;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 1px solid #aed5ff;
|
||||||
|
}
|
||||||
|
& > div:nth-of-type(1) {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.algorithm-class {
|
.algorithm-class {
|
||||||
margin-top: 0.6rem;
|
// margin-top: 0.6rem;
|
||||||
margin-bottom: 0.59rem;
|
margin-bottom: 0.18rem;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 33%);
|
grid-template-columns: repeat(3, 33%);
|
||||||
height: 8.8rem;
|
height: 8.8rem;
|
||||||
|
|
|
@ -2,11 +2,12 @@
|
||||||
* @Author: hisense.liangjunhua
|
* @Author: hisense.liangjunhua
|
||||||
* @Date: 2022-08-09 09:31:25
|
* @Date: 2022-08-09 09:31:25
|
||||||
* @LastEditors: hisense.liangjunhua
|
* @LastEditors: hisense.liangjunhua
|
||||||
* @LastEditTime: 2022-08-10 14:29:05
|
* @LastEditTime: 2022-09-19 10:19:02
|
||||||
* @Description: 应用资源
|
* @Description: 应用资源
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="application">
|
<div class="application">
|
||||||
|
<div style="display: flex">
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<div class="top" @click="selectFlag = true">
|
<div class="top" @click="selectFlag = true">
|
||||||
{{ typeName }}
|
{{ typeName }}
|
||||||
|
@ -20,6 +21,19 @@
|
||||||
<div @click="getList('企业')">企业</div>
|
<div @click="getList('企业')">企业</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<div class="top" @click="selectFlag2 = true">
|
||||||
|
{{ typeName2 }}
|
||||||
|
<div class="light"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom" v-show="selectFlag2">
|
||||||
|
<span class="light"></span>
|
||||||
|
<div v-for="val in dictList" :key="val" @click="getList2(val)">
|
||||||
|
{{ val }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="item-box">
|
<div class="item-box">
|
||||||
<div class="item" v-for="item in data.list" :key="item.id">
|
<div class="item" v-for="item in data.list" :key="item.id">
|
||||||
<a-image
|
<a-image
|
||||||
|
@ -38,6 +52,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||||
import { onMounted, reactive, onBeforeUnmount, ref, nextTick } from 'vue'
|
import { onMounted, reactive, onBeforeUnmount, ref, nextTick } from 'vue'
|
||||||
import { selectAppList } from '@/api/home'
|
import { selectAppList } from '@/api/home'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
@ -45,9 +60,25 @@
|
||||||
const pageNum = ref(1)
|
const pageNum = ref(1)
|
||||||
const flag = ref(true)
|
const flag = ref(true)
|
||||||
const type = ref(null)
|
const type = ref(null)
|
||||||
|
const area = ref(null)
|
||||||
const typeName = ref('全市')
|
const typeName = ref('全市')
|
||||||
|
const typeName2 = ref('全部')
|
||||||
|
const dictList = ref([])
|
||||||
const data = reactive({ list: [] })
|
const data = reactive({ list: [] })
|
||||||
const selectFlag = ref(false)
|
const selectFlag = ref(false)
|
||||||
|
const selectFlag2 = ref(false)
|
||||||
|
getCategoryTreePage({
|
||||||
|
page: 1,
|
||||||
|
limit: 99,
|
||||||
|
dictTypeId: '1513712507692818433',
|
||||||
|
}).then((res) => {
|
||||||
|
dictList.value = ['全部']
|
||||||
|
res.data.data.list.map((val) => {
|
||||||
|
if (val.dictLabel !== '其他') {
|
||||||
|
dictList.value.push(val.dictLabel)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
let dom = null
|
let dom = null
|
||||||
const goToView = (id) => {
|
const goToView = (id) => {
|
||||||
const newpage = router.resolve({
|
const newpage = router.resolve({
|
||||||
|
@ -82,7 +113,14 @@
|
||||||
pageNum.value = 1
|
pageNum.value = 1
|
||||||
data.list = []
|
data.list = []
|
||||||
}
|
}
|
||||||
selectAppList({ pageNum: pageNum.value, type: type.value }).then((res) => {
|
getData(str)
|
||||||
|
}
|
||||||
|
const getData = (str) => {
|
||||||
|
selectAppList({
|
||||||
|
pageNum: pageNum.value,
|
||||||
|
type: type.value,
|
||||||
|
area: area.value,
|
||||||
|
}).then((res) => {
|
||||||
if (res.data.data.length < 9) {
|
if (res.data.data.length < 9) {
|
||||||
dom.removeEventListener('scroll', viewMonitor, true)
|
dom.removeEventListener('scroll', viewMonitor, true)
|
||||||
}
|
}
|
||||||
|
@ -122,6 +160,20 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const getList2 = (val) => {
|
||||||
|
dom.scrollTop = 0
|
||||||
|
typeName2.value = val
|
||||||
|
pageNum.value = 1
|
||||||
|
data.list = []
|
||||||
|
if (val == '全部') {
|
||||||
|
area.value = null
|
||||||
|
getData()
|
||||||
|
} else {
|
||||||
|
area.value = val
|
||||||
|
getData()
|
||||||
|
}
|
||||||
|
selectFlag2.value = false
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
dom = document.querySelector('.item-box')
|
dom = document.querySelector('.item-box')
|
||||||
console.log('box============', dom)
|
console.log('box============', dom)
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
<!-- 图层服务 -->
|
<!-- 图层服务 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="algorithm">
|
<div class="algorithm">
|
||||||
|
<div class="select">
|
||||||
|
<div class="top" @click="selectFlag2 = true">
|
||||||
|
{{ typeName2 }}
|
||||||
|
<div class="light"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom" v-show="selectFlag2">
|
||||||
|
<span class="light"></span>
|
||||||
|
<div v-for="val in dictList" :key="val" @click="getList2(val)">
|
||||||
|
{{ val }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="algorithm-class">
|
<div class="algorithm-class">
|
||||||
<div
|
<div
|
||||||
v-for="(item, index) in dataList"
|
v-for="(item, index) in dataList"
|
||||||
|
@ -27,10 +39,25 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||||
import { pageWithAttrs } from '@/api/abilityStatistics'
|
import { pageWithAttrs } from '@/api/abilityStatistics'
|
||||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||||
|
const typeName2 = ref('全部')
|
||||||
|
const dictList = ref([])
|
||||||
const dataList = ref([])
|
const dataList = ref([])
|
||||||
let algorithmclass = null
|
const selectFlag2 = ref(false)
|
||||||
|
getCategoryTreePage({
|
||||||
|
page: 1,
|
||||||
|
limit: 99,
|
||||||
|
dictTypeId: '1513712507692818433',
|
||||||
|
}).then((res) => {
|
||||||
|
dictList.value = ['全部']
|
||||||
|
res.data.data.list.map((val) => {
|
||||||
|
if (val.dictLabel !== '其他') {
|
||||||
|
dictList.value.push(val.dictLabel)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
const params = {
|
const params = {
|
||||||
deptIds: [],
|
deptIds: [],
|
||||||
districtId: '',
|
districtId: '',
|
||||||
|
@ -41,6 +68,20 @@
|
||||||
pageSize: 9,
|
pageSize: 9,
|
||||||
type: '组件服务',
|
type: '组件服务',
|
||||||
}
|
}
|
||||||
|
const getList2 = (val) => {
|
||||||
|
typeName2.value = val
|
||||||
|
if (val == '全部') {
|
||||||
|
params.infoList = [{ attrType: '组件类型', attrValue: '图层服务' }]
|
||||||
|
} else {
|
||||||
|
params.infoList = [
|
||||||
|
{ attrType: '组件类型', attrValue: '图层服务' },
|
||||||
|
{ attrType: '应用领域', attrValue: val },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
selectFlag2.value = false
|
||||||
|
pageWithAttrsFunction()
|
||||||
|
}
|
||||||
|
let algorithmclass = null
|
||||||
const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo2.jpg'))
|
const imgSrc = ref(require('@/assets/capacitySquare/algorithm-photo2.jpg'))
|
||||||
const dataLength = ref(true)
|
const dataLength = ref(true)
|
||||||
const isNoMore = ref(false)
|
const isNoMore = ref(false)
|
||||||
|
@ -103,9 +144,67 @@
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.algorithm {
|
.algorithm {
|
||||||
|
.select {
|
||||||
|
margin: 0.1rem 0 0.1rem 0.2rem;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
font-family: webfont;
|
||||||
|
position: relative;
|
||||||
|
.top {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 3.61rem;
|
||||||
|
height: 0.85rem;
|
||||||
|
font-weight: 600;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 0.1rem;
|
||||||
|
background: url('~@/assets/capacitySquare/select-bg.png') no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
position: relative;
|
||||||
|
.light {
|
||||||
|
width: 0.56rem;
|
||||||
|
height: 3px;
|
||||||
|
position: absolute;
|
||||||
|
top: 0.4rem;
|
||||||
|
left: 1.52rem;
|
||||||
|
background: url('~@/assets/capacitySquare/select-light1.png')
|
||||||
|
no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
cursor: pointer;
|
||||||
|
position: absolute;
|
||||||
|
top: 0.5rem;
|
||||||
|
left: 0.9rem;
|
||||||
|
z-index: 1000;
|
||||||
|
background: rgba(57, 134, 239, 0.68);
|
||||||
|
border: 1px solid #aed5ff;
|
||||||
|
.light {
|
||||||
|
display: inline-block;
|
||||||
|
width: 2.39rem;
|
||||||
|
height: 5px;
|
||||||
|
position: absolute;
|
||||||
|
top: -0.08rem;
|
||||||
|
left: -0.3rem;
|
||||||
|
background: url('~@/assets/capacitySquare/select-light2.png')
|
||||||
|
no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
& > div {
|
||||||
|
width: 1.8rem;
|
||||||
|
height: 0.4rem;
|
||||||
|
line-height: 0.4rem;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 1px solid #aed5ff;
|
||||||
|
}
|
||||||
|
& > div:nth-of-type(1) {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.algorithm-class {
|
.algorithm-class {
|
||||||
margin-top: 0.6rem;
|
// margin-top: 0.6rem;
|
||||||
margin-bottom: 0.59rem;
|
margin-bottom: 0.18rem;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 33%);
|
grid-template-columns: repeat(3, 33%);
|
||||||
height: 8.8rem;
|
height: 8.8rem;
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
import layer from './components/layer.vue'
|
import layer from './components/layer.vue'
|
||||||
import application from './components/application.vue'
|
import application from './components/application.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const abilityToType = router.currentRoute.value.query.abilityToType
|
const abilityToType = router.currentRoute.value.query.abilityToType
|
||||||
const show = ref('algorithm')
|
const show = ref('algorithm')
|
||||||
|
@ -47,7 +49,8 @@
|
||||||
const newpage = router.resolve({
|
const newpage = router.resolve({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
// select: '组件服务',
|
||||||
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
window.location.href = newpage.href
|
window.location.href = newpage.href
|
||||||
|
|
|
@ -78,6 +78,13 @@
|
||||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
||||||
} else if (props.type === '压缩包') {
|
} else if (props.type === '压缩包') {
|
||||||
flag = file.type === 'application/x-zip-compressed'
|
flag = file.type === 'application/x-zip-compressed'
|
||||||
|
} else if (props.type === '附件') {
|
||||||
|
flag =
|
||||||
|
file.type === 'application/pdf' ||
|
||||||
|
file.type === 'application/msword' ||
|
||||||
|
file.type ===
|
||||||
|
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' ||
|
||||||
|
file.type === 'application/x-zip-compressed'
|
||||||
}
|
}
|
||||||
console.log(flag)
|
console.log(flag)
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
|
@ -131,6 +138,8 @@
|
||||||
}
|
}
|
||||||
} else if (props.type === '压缩包') {
|
} else if (props.type === '压缩包') {
|
||||||
mybus.emit('chagePackageList', fileList.value)
|
mybus.emit('chagePackageList', fileList.value)
|
||||||
|
} else if (props.type === '附件') {
|
||||||
|
mybus.emit('chageAccessory', fileList.value)
|
||||||
} else if (props.type === '视频') {
|
} else if (props.type === '视频') {
|
||||||
console.log(fileList.value)
|
console.log(fileList.value)
|
||||||
mybus.emit('chageVideoList', fileList.value)
|
mybus.emit('chageVideoList', fileList.value)
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
></DetalsTitle>
|
></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<!-- 青岛市局 -->
|
<!-- 青岛市局 -->
|
||||||
<div
|
<div style="width: 100%; display: flex; justify-content: center"
|
||||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
|
||||||
style="width: 100%; display: flex; justify-content: center"
|
|
||||||
>
|
>
|
||||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||||
<div class="content-left" v-if="item.titleType === '调用接口'">
|
<div class="content-left" v-if="item.titleType === '调用接口'">
|
||||||
|
@ -162,127 +160,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- 其他 -->
|
|
||||||
<div v-else>
|
|
||||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
|
||||||
<div class="content-left" v-if="item.titleType === '调用接口'">
|
|
||||||
<div class="left">
|
|
||||||
<div class="content-left-title">
|
|
||||||
<span>{{ item.title }}:{{ item.titleType }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-left-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.link.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.link.value }}</template>
|
|
||||||
<span>{{ item.link.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.postMethod.name }}</span>
|
|
||||||
<span>{{ item.postMethod.value }}</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div @click="technical()">技术文档</div>
|
|
||||||
<!-- <div @click="technicalNew()">新手指引</div> -->
|
|
||||||
<!-- <div @click="SDKClick()">SDK安装包</div> -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-left" v-else-if="item.titleType === '平台对接'">
|
|
||||||
<div class="left">
|
|
||||||
<div class="content-left-title">
|
|
||||||
<span>{{ item.title }}:{{ item.titleType }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-left-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.linkPlatform.name }}</span>
|
|
||||||
<a-tooltip v-if="approveStatus == '通过'">
|
|
||||||
<template #title>{{ item.linkPlatform.value }}</template>
|
|
||||||
<span>{{ item.linkPlatform.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
<a-tooltip v-else>
|
|
||||||
<template #title>请申请后查看平台地址</template>
|
|
||||||
<span>****************</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div @click="technical()">技术文档</div>
|
|
||||||
<!-- <div @click="technicalNew()">新手指引</div> -->
|
|
||||||
<!-- <div @click="SDKClick()">SDK安装包</div> -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-left" v-else-if="item.titleType === 'SDK'">
|
|
||||||
<div class="left">
|
|
||||||
<div class="content-left-title">
|
|
||||||
<span>{{ item.title }}:{{ item.titleType }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div @click="technical()">技术文档</div>
|
|
||||||
<!-- <div @click="technicalNew()">新手指引</div> -->
|
|
||||||
<div @click="SDKClick()">SDK安装包</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-right">
|
|
||||||
<div class="content-right-left">
|
|
||||||
<div class="content-right-title">{{ item.contact }}</div>
|
|
||||||
<div class="content-right-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.facilitator.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.facilitator.value }}</template>
|
|
||||||
<span>{{ item.facilitator.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.people.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.people.value }}</template>
|
|
||||||
<span>{{ item.people.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.phone.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.phone.value }}</template>
|
|
||||||
<span>{{ item.phone.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-right-right">
|
|
||||||
<div class="content-right-title">{{ item.contact2 }}</div>
|
|
||||||
<div class="content-right-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.facilitator2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.facilitator2.value }}</template>
|
|
||||||
<span>{{ item.facilitator2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.people2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.people2.value }}</template>
|
|
||||||
<span>{{ item.people2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.phone2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.phone2.value }}</template>
|
|
||||||
<span>{{ item.phone2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -11,51 +11,38 @@
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="main-left">
|
<div class="main-left">
|
||||||
<p>{{ dataFrom.linkName }}</p>
|
<p>{{ dataFrom.linkName }}</p>
|
||||||
<a-tooltip v-if="flag">
|
<a-tooltip>
|
||||||
<template #title>{{ dataFrom.link }}</template>
|
|
||||||
<p style="cursor: pointer" @click="clickLink(dataFrom.link)">
|
|
||||||
{{ dataFrom.link || '暂无' }}
|
|
||||||
</p>
|
|
||||||
</a-tooltip>
|
|
||||||
<a-tooltip v-else>
|
|
||||||
<template #title>请申请后查看</template>
|
<template #title>请申请后查看</template>
|
||||||
<p style="cursor: pointer; filter: blur(4px)">
|
<!-- <p style="cursor: pointer; filter: blur(4px)">
|
||||||
|
{{ dataFrom.link }}
|
||||||
|
</p> -->
|
||||||
|
<p style="cursor: pointer;"
|
||||||
|
:class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">
|
||||||
{{ dataFrom.link }}
|
{{ dataFrom.link }}
|
||||||
</p>
|
</p>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="main-center">
|
<div class="main-center">
|
||||||
<p>{{ dataFrom.numberName }}</p>
|
<p>{{ dataFrom.numberName }}</p>
|
||||||
<a-tooltip v-if="flag">
|
<a-tooltip>
|
||||||
<template #title>{{ dataFrom.number }}</template>
|
|
||||||
<p>{{ dataFrom.number || '暂无' }}</p>
|
|
||||||
</a-tooltip>
|
|
||||||
<a-tooltip v-else>
|
|
||||||
<template #title>请申请后查看</template>
|
<template #title>请申请后查看</template>
|
||||||
<p style="filter: blur(4px)">{{ dataFrom.number }}</p>
|
<!-- <p style="filter: blur(4px)">{{ dataFrom.number }}</p> -->
|
||||||
|
<p :class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">{{ dataFrom.number
|
||||||
|
}}</p>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<div
|
<div @click="copyFunction(dataFrom.number, '复制账号')" v-if="dataFrom.number != '' && flag">
|
||||||
@click="copyFunction(dataFrom.number, '复制账号')"
|
|
||||||
v-if="dataFrom.number != '' && flag"
|
|
||||||
>
|
|
||||||
复制账号
|
复制账号
|
||||||
</div>
|
</div>
|
||||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="main-right">
|
<div class="main-right">
|
||||||
<p>{{ dataFrom.passwordName }}</p>
|
<p>{{ dataFrom.passwordName }}</p>
|
||||||
<a-tooltip v-if="flag">
|
<a-tooltip>
|
||||||
<template #title>{{ dataFrom.password }}</template>
|
|
||||||
<p>{{ dataFrom.password || '暂无' }}</p>
|
|
||||||
</a-tooltip>
|
|
||||||
<a-tooltip v-else>
|
|
||||||
<template #title>请申请后查看</template>
|
<template #title>请申请后查看</template>
|
||||||
<p style="filter: blur(4px)">{{ dataFrom.password }}</p>
|
<p style="filter: blur(4px)">{{ dataFrom.password }}</p>
|
||||||
|
<p style="filter: blur(4px)" :class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">{{ dataFrom.password }}</p>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<div
|
<div @click="copyFunction(dataFrom.password2, '复制密码')" v-if="dataFrom.password2 != '' && flag">
|
||||||
@click="copyFunction(dataFrom.password2, '复制密码')"
|
|
||||||
v-if="dataFrom.password2 != '' && flag"
|
|
||||||
>
|
|
||||||
复制密码
|
复制密码
|
||||||
</div>
|
</div>
|
||||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||||
|
@ -82,8 +69,12 @@
|
||||||
password: '**************************',
|
password: '**************************',
|
||||||
password2: '',
|
password2: '',
|
||||||
})
|
})
|
||||||
|
console.log('props.dataList------------>', props.dataList);
|
||||||
|
const approveStatus = ref('')
|
||||||
|
|
||||||
if (props.dataList.infoList) {
|
if (props.dataList.infoList) {
|
||||||
let obj = props.dataList.approveStatus
|
let obj = props.dataList.approveStatus;
|
||||||
|
approveStatus.value = props.dataList.approveStatus
|
||||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||||
flag.value = false
|
flag.value = false
|
||||||
}
|
}
|
||||||
|
@ -134,6 +125,7 @@
|
||||||
(val) => {
|
(val) => {
|
||||||
if (val) {
|
if (val) {
|
||||||
let obj = props.dataList.approveStatus
|
let obj = props.dataList.approveStatus
|
||||||
|
approveStatus.value = props.dataList.approveStatus
|
||||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||||
flag.value = false
|
flag.value = false
|
||||||
}
|
}
|
||||||
|
@ -158,6 +150,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
margin-top: 0.3rem;
|
margin-top: 0.3rem;
|
||||||
width: 13rem;
|
width: 13rem;
|
||||||
|
@ -166,10 +159,12 @@
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.main-left {
|
.main-left {
|
||||||
border-right: 0.01rem #ffffff solid;
|
border-right: 0.01rem #ffffff solid;
|
||||||
padding-left: 0.7rem;
|
padding-left: 0.7rem;
|
||||||
padding-right: 1rem;
|
padding-right: 1rem;
|
||||||
|
|
||||||
&>p {
|
&>p {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -179,28 +174,34 @@
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-center {
|
.main-center {
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
padding-right: 1rem;
|
padding-right: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-right {
|
.main-right {
|
||||||
padding-right: 0.7rem;
|
padding-right: 0.7rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
&>div>p:first-child {
|
&>div>p:first-child {
|
||||||
font-size: 0.26rem;
|
font-size: 0.26rem;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
&>div>p:nth-child(2) {
|
&>div>p:nth-child(2) {
|
||||||
font-size: 0.22rem;
|
font-size: 0.22rem;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
line-height: 0.34rem;
|
line-height: 0.34rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
&>div:first-child>p:last-child {
|
&>div:first-child>p:last-child {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
word-break: normal;
|
word-break: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
&>div>div:last-child {
|
&>div>div:last-child {
|
||||||
height: 0.34rem;
|
height: 0.34rem;
|
||||||
width: 1.1rem;
|
width: 1.1rem;
|
||||||
|
@ -213,6 +214,7 @@
|
||||||
line-height: 0.34rem;
|
line-height: 0.34rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#zanwu {
|
#zanwu {
|
||||||
height: 0.34rem;
|
height: 0.34rem;
|
||||||
width: 1.1rem;
|
width: 1.1rem;
|
||||||
|
@ -221,6 +223,10 @@
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.blur-word {
|
||||||
|
filter: blur(4px);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style>
|
<style>
|
||||||
.custom-class {
|
.custom-class {
|
||||||
|
|
|
@ -41,6 +41,8 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||||
import { ref, defineProps, watch } from 'vue'
|
import { ref, defineProps, watch } from 'vue'
|
||||||
|
const itShowXiHaiAn = whoShow.itShowXiHaiAn
|
||||||
|
console.log('2222', itShowXiHaiAn)
|
||||||
|
|
||||||
let dataFrom = ref({
|
let dataFrom = ref({
|
||||||
title: '部署与安全',
|
title: '部署与安全',
|
||||||
|
@ -62,7 +64,7 @@
|
||||||
dataList: { type: Object, default: null },
|
dataList: { type: Object, default: null },
|
||||||
})
|
})
|
||||||
if (props.dataList.infoList) {
|
if (props.dataList.infoList) {
|
||||||
if (!whoShow1.value.itShowQingDao) {
|
if (!whoShow1.value.itShowQingDao && !whoShow1.value.itShowXiHaiAn) {
|
||||||
let obj = {
|
let obj = {
|
||||||
attrType: '访问地址',
|
attrType: '访问地址',
|
||||||
attrValue: props.dataList.link || '------',
|
attrValue: props.dataList.link || '------',
|
||||||
|
@ -119,7 +121,7 @@
|
||||||
if (val) {
|
if (val) {
|
||||||
dataFrom.value.content[0].childrenContent = []
|
dataFrom.value.content[0].childrenContent = []
|
||||||
dataFrom.value.content[1].childrenContent = []
|
dataFrom.value.content[1].childrenContent = []
|
||||||
if (!whoShow1.value.itShowQingDao) {
|
if (!whoShow1.value.itShowQingDao && !itShowXiHaiAn) {
|
||||||
let obj = {
|
let obj = {
|
||||||
attrType: '访问地址',
|
attrType: '访问地址',
|
||||||
attrValue: props.dataList.link || '------',
|
attrValue: props.dataList.link || '------',
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
></DetalsTitle>
|
></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<!-- 青岛市局 -->
|
<!-- 青岛市局 -->
|
||||||
<div
|
<div style="width: 100%; display: flex; justify-content: center"
|
||||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
|
||||||
style="width: 100%; display: flex; justify-content: center"
|
|
||||||
>
|
>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div
|
<div
|
||||||
|
@ -50,29 +48,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- 其他 -->
|
|
||||||
<div v-else>
|
|
||||||
<div class="content">
|
|
||||||
<div
|
|
||||||
v-for="(item, index) in dataFrom.content"
|
|
||||||
:key="index"
|
|
||||||
class="content-card"
|
|
||||||
>
|
|
||||||
<div class="card-title">{{ item.childrenTitle }}</div>
|
|
||||||
<div class="card-content">
|
|
||||||
<div v-for="carditem in item.childrenContent" :key="carditem">
|
|
||||||
<div style="display: flex">
|
|
||||||
<span>{{ carditem.attrType }}:</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ carditem.attrValue }}</template>
|
|
||||||
<span>{{ carditem.attrValue }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,7 @@
|
||||||
:type="dataFrom.englishTitle"
|
:type="dataFrom.englishTitle"
|
||||||
></DetalsTitle>
|
></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div style="width: 100%; display: flex; justify-content: center"
|
||||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
|
||||||
style="width: 100%; display: flex; justify-content: center"
|
|
||||||
>
|
>
|
||||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||||
<div class="content-left">
|
<div class="content-left">
|
||||||
|
@ -117,84 +115,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
|
||||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
|
||||||
<div class="content-left">
|
|
||||||
<div class="left">
|
|
||||||
<div class="content-left-title">
|
|
||||||
<span>{{ item.title }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="content-left-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.link.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.linkValue }}</template>
|
|
||||||
<span>{{ item.linkValue }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div @click="technical()">技术文档</div>
|
|
||||||
<div @click="technicalNew()">新手指引</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-right">
|
|
||||||
<div class="content-right-left">
|
|
||||||
<div class="content-right-title">{{ item.contact }}</div>
|
|
||||||
<div class="content-right-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.facilitator.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.facilitator.value }}</template>
|
|
||||||
<span>{{ item.facilitator.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.people.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.people.value }}</template>
|
|
||||||
<span>{{ item.people.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.phone.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.phone.value }}</template>
|
|
||||||
<span>{{ item.phone.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-right-right">
|
|
||||||
<div class="content-right-title">{{ item.contact2 }}</div>
|
|
||||||
<div class="content-right-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.facilitator2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.facilitator2.value }}</template>
|
|
||||||
<span>{{ item.facilitator2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.people2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.people2.value }}</template>
|
|
||||||
<span>{{ item.people2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.phone2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.phone2.value }}</template>
|
|
||||||
<span>{{ item.phone2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,7 @@
|
||||||
:type="dataFrom.englishTitle"
|
:type="dataFrom.englishTitle"
|
||||||
></DetalsTitle>
|
></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div style="width: 100%; display: flex; justify-content: center"
|
||||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
|
||||||
style="width: 100%; display: flex; justify-content: center"
|
|
||||||
>
|
>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="content-card">
|
<div class="content-card">
|
||||||
|
@ -73,41 +71,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
|
||||||
<div class="content">
|
|
||||||
<div class="content-card">
|
|
||||||
<div class="left">
|
|
||||||
<p>{{ dataFrom.linkName }}</p>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ dataFrom.link }}</template>
|
|
||||||
<p>{{ dataFrom.link }}</p>
|
|
||||||
</a-tooltip>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div @click="technical()">技术文档</div>
|
|
||||||
<div @click="technicaltow()">新手指引</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-card">
|
|
||||||
<div v-for="(item, index) in dataFrom.content" :key="index">
|
|
||||||
<div class="card-title">
|
|
||||||
{{ item.childrenTitle }}
|
|
||||||
</div>
|
|
||||||
<div class="card-content">
|
|
||||||
<div v-for="carditem in item.childrenContent" :key="carditem">
|
|
||||||
<div>
|
|
||||||
<span>{{ carditem.attrType }}:</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ carditem.attrValue }}</template>
|
|
||||||
<span>{{ carditem.attrValue }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,11 @@
|
||||||
// dataFrom.value.content[0].facilitator.value = props.dataList.deptContacts
|
// dataFrom.value.content[0].facilitator.value = props.dataList.deptContacts
|
||||||
console.log('dataList', props.dataList)
|
console.log('dataList', props.dataList)
|
||||||
props.dataList.infoList.map((item) => {
|
props.dataList.infoList.map((item) => {
|
||||||
|
handleInfoList(item)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const handleInfoList = (item) => {
|
||||||
if (item.attrType === '服务类型') {
|
if (item.attrType === '服务类型') {
|
||||||
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||||
} else if (item.attrType === '覆盖区域') {
|
} else if (item.attrType === '覆盖区域') {
|
||||||
|
@ -133,9 +138,9 @@
|
||||||
} else if (item.attrType === '图层类型') {
|
} else if (item.attrType === '图层类型') {
|
||||||
dataFromRight.value.content[1].values = item.attrValue || '--'
|
dataFromRight.value.content[1].values = item.attrValue || '--'
|
||||||
} else if (item.attrType === '最大级别') {
|
} else if (item.attrType === '最大级别') {
|
||||||
|
if (dataFromRight.value.content && dataFromRight.value.content[2]) {
|
||||||
dataFromRight.value.content[2].values = item.attrValue || '--'
|
dataFromRight.value.content[2].values = item.attrValue || '--'
|
||||||
}
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
watch(
|
watch(
|
||||||
|
@ -157,29 +162,30 @@
|
||||||
if (!obj) {
|
if (!obj) {
|
||||||
flag.value = false
|
flag.value = false
|
||||||
} else {
|
} else {
|
||||||
// dataFrom.value.content[0].link.value = val.apiUrl
|
|
||||||
// dataFrom.value.content[0].facilitator.value = val.deptContacts
|
|
||||||
console.log('dataList', val)
|
console.log('dataList', val)
|
||||||
val.infoList.map((item) => {
|
val.infoList.map((item) => {
|
||||||
if (item.attrType === '服务类型') {
|
handleInfoList(item)
|
||||||
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
// if (item.attrType === '服务类型') {
|
||||||
} else if (item.attrType === '覆盖区域') {
|
// dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||||
dataFromLeft.value.content[1].values = item.attrValue || '--'
|
// } else if (item.attrType === '覆盖区域') {
|
||||||
} else if (item.attrType === '切片策略') {
|
// dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||||
dataFromLeft.value.content[2].values = item.attrValue || '--'
|
// } else if (item.attrType === '切片策略') {
|
||||||
} else if (item.attrType === '坐标系') {
|
// dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||||
dataFromCenter.value.content[0].values = item.attrValue || '--'
|
// } else if (item.attrType === '坐标系') {
|
||||||
} else if (item.attrType === '切片尺寸') {
|
// dataFromCenter.value.content[0].values = item.attrValue || '--'
|
||||||
dataFromCenter.value.content[1].values = item.attrValue || '--'
|
// } else if (item.attrType === '切片尺寸') {
|
||||||
} else if (item.attrType === '最小级别') {
|
// dataFromCenter.value.content[1].values = item.attrValue || '--'
|
||||||
dataFromCenter.value.content[2].values = item.attrValue || '--'
|
// } else if (item.attrType === '最小级别') {
|
||||||
} else if (item.attrType === '数据范围') {
|
// dataFromCenter.value.content[2].values = item.attrValue || '--'
|
||||||
dataFromRight.value.content[0].values = item.attrValue || '--'
|
// } else if (item.attrType === '数据范围') {
|
||||||
} else if (item.attrType === '图层类型') {
|
// dataFromRight.value.content[0].values = item.attrValue || '--'
|
||||||
dataFromRight.value.content[1].values = item.attrValue || '--'
|
// } else if (item.attrType === '图层类型') {
|
||||||
} else if (item.attrType === '最大级别') {
|
// dataFromRight.value.content[1].values = item.attrValue || '--'
|
||||||
dataFromRight.value.content[2].values = item.attrValue || '--'
|
// } else if (item.attrType === '最大级别') {
|
||||||
}
|
// if (dataFromRight.value.content && dataFromRight.value.content[2]) {
|
||||||
|
// dataFromRight.value.content[2].values = item.attrValue || '--'
|
||||||
|
// }
|
||||||
|
// }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -193,9 +199,11 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
margin-top: 0.3rem;
|
margin-top: 0.3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.content-left {
|
.content-left {
|
||||||
height: 2.8rem;
|
height: 2.8rem;
|
||||||
width: 13rem;
|
width: 13rem;
|
||||||
|
@ -216,10 +224,12 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul li {
|
ul li {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -227,11 +237,13 @@
|
||||||
margin-bottom: 0.3rem;
|
margin-bottom: 0.3rem;
|
||||||
line-height: 0.25rem;
|
line-height: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
margin: 0 0.2rem 0 0;
|
margin: 0 0.2rem 0 0;
|
||||||
width: 0.15rem;
|
width: 0.15rem;
|
||||||
height: 0.15rem;
|
height: 0.15rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
font-size: 0.2rem;
|
font-size: 0.2rem;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
|
@ -239,6 +251,7 @@
|
||||||
margin-right: 0.5rem;
|
margin-right: 0.5rem;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
|
@ -7,9 +7,7 @@
|
||||||
:type="dataFrom.englishTitle"
|
:type="dataFrom.englishTitle"
|
||||||
></DetalsTitle>
|
></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div style="width: 100%; display: flex; justify-content: center"
|
||||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
|
||||||
style="width: 100%; display: flex; justify-content: center"
|
|
||||||
>
|
>
|
||||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||||
<div class="content-left">
|
<div class="content-left">
|
||||||
|
@ -128,86 +126,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
|
||||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
|
||||||
<div class="content-left">
|
|
||||||
<div class="left">
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.linkValue }}</template>
|
|
||||||
<p @click="ServiceAddressFunction(item.linkValue)">
|
|
||||||
服务地址:
|
|
||||||
{{ item.linkValue }}
|
|
||||||
</p>
|
|
||||||
</a-tooltip>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.csslinkValue }}</template>
|
|
||||||
<p @click="ServiceAddressFunction(item.csslinkValue)">
|
|
||||||
样式服务地址:
|
|
||||||
{{ item.csslinkValue }}
|
|
||||||
</p>
|
|
||||||
</a-tooltip>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<div @click="technical()">技术文档</div>
|
|
||||||
<div @click="technicalNew()">新手指引</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-right">
|
|
||||||
<div class="content-right-left">
|
|
||||||
<div class="content-right-title">{{ item.contact }}</div>
|
|
||||||
<div class="content-right-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.facilitator.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.facilitator.value }}</template>
|
|
||||||
<span>{{ item.facilitator.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.people.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.people.value }}</template>
|
|
||||||
<span>{{ item.people.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.phone.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.phone.value }}</template>
|
|
||||||
<span>{{ item.phone.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content-right-right">
|
|
||||||
<div class="content-right-title">{{ item.contact2 }}</div>
|
|
||||||
<div class="content-right-content">
|
|
||||||
<p>
|
|
||||||
<span>{{ item.facilitator2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.facilitator2.value }}</template>
|
|
||||||
<span>{{ item.facilitator2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.people2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.people2.value }}</template>
|
|
||||||
<span>{{ item.people2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<span>{{ item.phone2.name }}</span>
|
|
||||||
<a-tooltip>
|
|
||||||
<template #title>{{ item.phone2.value }}</template>
|
|
||||||
<span>{{ item.phone2.value }}</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
@ -89,11 +89,15 @@
|
||||||
</span>
|
</span>
|
||||||
<span>{{ val.type }}</span>
|
<span>{{ val.type }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- (item.note1 && JSON.parse(item.note1) &&
|
||||||
|
JSON.parse(item.note1)[0] &&
|
||||||
|
JSON.parse(item.note1)[0].channelName -->
|
||||||
|
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{
|
{{
|
||||||
val.description ||
|
val.description ||
|
||||||
((val.note1 || '') &&
|
((val.note1 || '') &&
|
||||||
(JSON.parse(val.note1)[0].channelName || '--') +
|
(JSON.parse(val.note1) && JSON.parse(val.note1)[0] && JSON.parse(val.note1)[0].channelName || '--') +
|
||||||
'等' +
|
'等' +
|
||||||
JSON.parse(val.note1).length +
|
JSON.parse(val.note1).length +
|
||||||
'个摄像头') ||
|
'个摄像头') ||
|
||||||
|
|
|
@ -156,8 +156,11 @@
|
||||||
class="modal-box"
|
class="modal-box"
|
||||||
title="请选择"
|
title="请选择"
|
||||||
:visible="showAddModal"
|
:visible="showAddModal"
|
||||||
:onOk="handleOk"
|
ok-text="确认"
|
||||||
:onCancel="handleCancel"
|
cancel-text="取消"
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
|
||||||
>
|
>
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
|
@ -652,7 +655,14 @@
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.ant-modal-footer {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
||||||
.bg {
|
.bg {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
|
|
@ -1,19 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="CanCase">
|
<div class="CanCase">
|
||||||
<div
|
<div class="caseBox" v-for="(item, index) in caseList" :key="index" @click="toView(item)">
|
||||||
class="caseBox"
|
<a-image :preview="false" :src="
|
||||||
v-for="(item, index) in caseList"
|
|
||||||
:key="index"
|
|
||||||
@click="toView(item)"
|
|
||||||
>
|
|
||||||
<a-image
|
|
||||||
:preview="false"
|
|
||||||
:src="
|
|
||||||
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
||||||
.attrValue
|
.attrValue
|
||||||
"
|
" />
|
||||||
/>
|
|
||||||
<h3>{{ item.name }}</h3>
|
<h3>{{ item.name }}</h3>
|
||||||
<p>发布时间 {{ item.updateDate }}</p>
|
<p>发布时间 {{ item.updateDate }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,8 +13,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
import { ref, onMounted, onBeforeUnmount, watch, defineProps, defineEmits } from 'vue'
|
||||||
import { defineProps } from 'vue'
|
|
||||||
|
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
@ -36,14 +27,17 @@
|
||||||
default: '组件服务',
|
default: '组件服务',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
const emits = defineEmits(['saveSearchCodition'])
|
||||||
|
|
||||||
const caseList = ref([])
|
const caseList = ref([])
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
caseList.value = props.resourceList.data
|
caseList.value = props.resourceList.data
|
||||||
console.log(caseList.value, 'caseList.value')
|
console.log('caseList.value------------>', caseList.value);
|
||||||
})
|
})
|
||||||
onBeforeUnmount(() => { })
|
onBeforeUnmount(() => { })
|
||||||
function toView(item) {
|
function toView(item) {
|
||||||
|
emits('saveSearchCodition', 1)
|
||||||
router.push({
|
router.push({
|
||||||
path: '/integrationServicesDetails',
|
path: '/integrationServicesDetails',
|
||||||
query: {
|
query: {
|
||||||
|
@ -51,6 +45,15 @@
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.resourceList.data,
|
||||||
|
(val) => {
|
||||||
|
if (val) {
|
||||||
|
caseList.value = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.box {
|
.box {
|
||||||
|
@ -60,6 +63,7 @@
|
||||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-items: center;
|
justify-items: center;
|
||||||
|
|
||||||
.caseBox {
|
.caseBox {
|
||||||
width: 3.5rem;
|
width: 3.5rem;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
|
@ -69,15 +73,18 @@
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
height: 1.8rem;
|
height: 1.8rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-top: 0.1rem;
|
margin-top: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
font-size: 0.16rem;
|
font-size: 0.16rem;
|
||||||
color: #797979;
|
color: #797979;
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
<template>
|
||||||
|
<div class="tag-box">
|
||||||
|
<div class="tag-item" v-for="(item, index) in tagList" :key="index">
|
||||||
|
{{item}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted, onBeforeUnmount, watch, defineProps, defineEmits } from 'vue'
|
||||||
|
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
const router = useRouter()
|
||||||
|
const props = defineProps({
|
||||||
|
componentServiceTagList: {
|
||||||
|
type: Object,
|
||||||
|
default: () => { },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const tagList = ref([])
|
||||||
|
onMounted(() => {
|
||||||
|
tagList.value = props.componentServiceTagList
|
||||||
|
})
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.componentServiceTagList,
|
||||||
|
(val) => {
|
||||||
|
if (val) {
|
||||||
|
tagList.value = val
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.tag-item {
|
||||||
|
font-family: 'Alibaba PuHuiTi';
|
||||||
|
font-weight: 400;
|
||||||
|
border-radius: 0.12rem;
|
||||||
|
margin: 0 10px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #0087ff;
|
||||||
|
background: rgba(0, 88, 225, 0.1);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
>
|
>
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</div>
|
</div>
|
||||||
<a-badge :count="sgcNum">
|
|
||||||
<!-- 购物车 -->
|
<!-- 购物车 -->
|
||||||
|
<!-- <a-badge :count="sgcNum">
|
||||||
<svg
|
<svg
|
||||||
t="1650455446850"
|
t="1650455446850"
|
||||||
class="icon"
|
class="icon"
|
||||||
|
@ -42,8 +42,7 @@
|
||||||
p-id="2070"
|
p-id="2070"
|
||||||
></path>
|
></path>
|
||||||
</svg>
|
</svg>
|
||||||
<!-- <a-avatar shape="square" size="large" /> -->
|
</a-badge> -->
|
||||||
</a-badge>
|
|
||||||
<a-badge :count="mynoticeNum" style="margin-left: 0.2rem">
|
<a-badge :count="mynoticeNum" style="margin-left: 0.2rem">
|
||||||
<!-- 消息提醒 -->
|
<!-- 消息提醒 -->
|
||||||
<svg
|
<svg
|
||||||
|
@ -131,21 +130,13 @@
|
||||||
import { getSgcTotal } from '@/api/home'
|
import { getSgcTotal } from '@/api/home'
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
|
import { message } from 'ant-design-vue'
|
||||||
|
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
// const navListManagement = ref([
|
|
||||||
// { name: '共享门户', key: 'home' },
|
|
||||||
// { name: '能力集市', key: 'DetailsPageconetent' },
|
|
||||||
// { name: '能力云图', key: 'capabilityCloud' },
|
|
||||||
// { name: '能力统计', key: 'abilityStatistics' },
|
|
||||||
// { name: '开发指南', key: 'developmentGuide' },
|
|
||||||
// { name: '需求中心', key: 'demandCenter' },
|
|
||||||
// // { name: '个人中心', key: 'personalCenter' },
|
|
||||||
// { name: '区市站点', key: 'mapTest' },
|
|
||||||
// // { name: '后台管理', key: 'houtaiguanli' },
|
|
||||||
// { name: '赋能案例', key: 'assignCase' },
|
|
||||||
// ])
|
|
||||||
const whoShow1 = whoShow
|
const whoShow1 = whoShow
|
||||||
const user = ref({
|
const user = ref({
|
||||||
username: store.getters['user/username'],
|
username: store.getters['user/username'],
|
||||||
|
@ -190,6 +181,10 @@
|
||||||
}
|
}
|
||||||
// 跳转页面
|
// 跳转页面
|
||||||
const jumpPage = (item) => {
|
const jumpPage = (item) => {
|
||||||
|
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
|
||||||
|
if(_arr.includes(item.name)) {
|
||||||
|
return message.warn('正在建设中!')
|
||||||
|
}
|
||||||
// console.log(item)
|
// console.log(item)
|
||||||
select.value = item.key
|
select.value = item.key
|
||||||
switch (item.name) {
|
switch (item.name) {
|
||||||
|
@ -208,7 +203,7 @@
|
||||||
router.push({
|
router.push({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
|
@ -222,7 +217,7 @@
|
||||||
// path: '/developmentGuide',
|
// path: '/developmentGuide',
|
||||||
// })
|
// })
|
||||||
// break
|
// break
|
||||||
case '技术文档':
|
case '新手指南':
|
||||||
router.push({
|
router.push({
|
||||||
path: '/instructionManual',
|
path: '/instructionManual',
|
||||||
})
|
})
|
||||||
|
@ -255,10 +250,6 @@
|
||||||
case '融合服务':
|
case '融合服务':
|
||||||
router.push({
|
router.push({
|
||||||
path: '/integrationServices',
|
path: '/integrationServices',
|
||||||
// path: '/DetailsPageconetent',
|
|
||||||
query: {
|
|
||||||
select: '融合服务',
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
case 'CIM专区':
|
case 'CIM专区':
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
<template>
|
||||||
|
<ul class="integrationServiceOrder">
|
||||||
|
<li v-for="(item, i) in integrationOrderList" :key="i" @click="
|
||||||
|
changeOrder(i, item.value, item.orderType == 'DESC' ? 'ASC' : 'DESC')
|
||||||
|
">
|
||||||
|
{{ item.name }}
|
||||||
|
<span class="arrow" :class="
|
||||||
|
integrationOrder.orderType == 'ASC' &&
|
||||||
|
integrationOrder.orderField == item.value
|
||||||
|
? 'down'
|
||||||
|
: ''
|
||||||
|
"></span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import { ref, reactive, nextTick, defineExpose } from 'vue'
|
||||||
|
import mybus from '@/myplugins/mybus'
|
||||||
|
|
||||||
|
const orderList = [
|
||||||
|
{
|
||||||
|
value: 'apply_count',
|
||||||
|
name: '申请量',
|
||||||
|
orderType: 'DESC',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'collectCount',
|
||||||
|
name: '收藏量',
|
||||||
|
orderType: 'DESC',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'create_date',
|
||||||
|
name: '发布时间',
|
||||||
|
orderType: 'DESC',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'update_date',
|
||||||
|
name: '更新时间',
|
||||||
|
orderType: 'DESC',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
const integrationOrderList = ref(JSON.parse(JSON.stringify(orderList)))
|
||||||
|
const integrationOrder = reactive({
|
||||||
|
orderField: '',
|
||||||
|
orderType: '',
|
||||||
|
})
|
||||||
|
|
||||||
|
// 融合服务--排序
|
||||||
|
const changeOrder = (i, val, type) => {
|
||||||
|
console.log('i, val, type------------>', i, val, type);
|
||||||
|
integrationOrder.orderField = val
|
||||||
|
integrationOrder.orderType = type;
|
||||||
|
// 0 apply_count ASC
|
||||||
|
let _index = integrationOrderList.value.findIndex(x => x.value = val)
|
||||||
|
if (_index > -1) {
|
||||||
|
integrationOrderList.value[_index].orderType = type
|
||||||
|
}
|
||||||
|
mybus.emit('changeCondition', {
|
||||||
|
orderField: val,
|
||||||
|
orderType: type,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const reset = () => {
|
||||||
|
integrationOrderList.value = JSON.parse(JSON.stringify(orderList))
|
||||||
|
integrationOrder.orderField = ''
|
||||||
|
integrationOrder.orderType = ''
|
||||||
|
}
|
||||||
|
defineExpose({
|
||||||
|
reset,
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.integrationServiceOrder {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
li {
|
||||||
|
width: 90px;
|
||||||
|
height: 12px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.arrow {
|
||||||
|
display: inline-block;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
background: url('~@/assets/newHome/arrow.png');
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.down {
|
||||||
|
background: url('~@/assets/newHome/down.png');
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -10,89 +10,51 @@
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div class="condition" :key="showKey">
|
<div class="condition" :key="showKey">
|
||||||
<ul
|
<IntegrationServiceOrder ref="integrationServiceOrderDom" v-if="
|
||||||
v-if="
|
|
||||||
selectCardsname === '融合服务' || selectCardsname === '赋能场景'
|
selectCardsname === '融合服务' || selectCardsname === '赋能场景'
|
||||||
"
|
"></IntegrationServiceOrder>
|
||||||
>
|
|
||||||
<li
|
|
||||||
v-for="(item, i) in orderList"
|
|
||||||
:key="item.value"
|
|
||||||
@click="changeOrder(i, item.value, item.orderType)"
|
|
||||||
>
|
|
||||||
{{ item.name }}
|
|
||||||
<span
|
|
||||||
class="arrow"
|
|
||||||
:class="item.orderType == 'ASC' ? 'down' : ''"
|
|
||||||
></span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul v-else>
|
<ul v-else>
|
||||||
<li
|
<li v-for="(item, i) in selList" :key="i" @click="changeCondition(item)" v-show="
|
||||||
v-for="item in selList"
|
|
||||||
:key="item.value"
|
|
||||||
@click="changeCondition(item.value)"
|
|
||||||
v-show="
|
|
||||||
item.show &&
|
item.show &&
|
||||||
item.name !== '评分' &&
|
item.name !== '评分' &&
|
||||||
selectCardsname !== '数据资源'
|
selectCardsname !== '数据资源'
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
<span
|
<span class="arrow" :class="
|
||||||
class="arrow"
|
orderObj.orderType == 'ASC' &&
|
||||||
:class="item.value == selData ? 'down' : ''"
|
orderObj.orderField == item.value
|
||||||
></span>
|
? 'down'
|
||||||
|
: ''
|
||||||
|
"></span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="result-list" v-for="(item, index) in resourceList.data" :key="item.index">
|
||||||
class="result-list"
|
|
||||||
v-for="(item, index) in resourceList.data"
|
|
||||||
:key="item.index"
|
|
||||||
>
|
|
||||||
<div class="item" :key="showKey">
|
<div class="item" :key="showKey">
|
||||||
<div
|
<div class="left" style="display: flex; align-items: center" v-if="
|
||||||
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
|
<div class="left" style="display: flex; align-items: center" v-else-if="
|
||||||
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
|
<div class="left" :class="
|
||||||
class="left"
|
|
||||||
:class="
|
|
||||||
item.type == '应用资源'
|
item.type == '应用资源'
|
||||||
? 'yyzy'
|
? 'yyzy'
|
||||||
: !item.type
|
: !item.type
|
||||||
|
@ -117,55 +79,33 @@
|
||||||
.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
|
<div class="left rhfw" v-else-if="
|
||||||
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
|
<svg t="1652322568870" class="icon" viewBox="0 0 3072 1024" version="1.1"
|
||||||
t="1652322568870"
|
xmlns="http://www.w3.org/2000/svg" p-id="3062" width="40" height="40" v-if="
|
||||||
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"
|
fill="#d81e06" p-id="3063"></path>
|
||||||
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"
|
fill="#d81e06" p-id="3064"></path>
|
||||||
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"
|
fill="#d81e06" p-id="3065"></path>
|
||||||
p-id="3065"
|
|
||||||
></path>
|
|
||||||
</svg>
|
</svg>
|
||||||
<!-- 审核中 -->
|
<!-- 审核中 -->
|
||||||
<!-- <svg
|
<!-- <svg
|
||||||
|
@ -211,28 +151,19 @@
|
||||||
</span> -->
|
</span> -->
|
||||||
</span>
|
</span>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div
|
<div v-if="
|
||||||
v-if="
|
|
||||||
selectCardsname === '融合服务' ||
|
selectCardsname === '融合服务' ||
|
||||||
selectCardsname === '赋能场景'
|
selectCardsname === '赋能场景'
|
||||||
"
|
" class="label-content">
|
||||||
class="label-content"
|
<template v-if="
|
||||||
>
|
|
||||||
<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(';')"
|
.attrValue.split(';')" :key="index">
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
{{ data }}
|
{{ data }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -250,21 +181,15 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dec">
|
<div class="dec">
|
||||||
<div
|
<div v-if="
|
||||||
v-if="
|
|
||||||
selectCardsname !== '融合服务' &&
|
selectCardsname !== '融合服务' &&
|
||||||
selectCardsname !== '赋能场景' &&
|
selectCardsname !== '赋能场景' &&
|
||||||
selectCardsname !== '基础设施'
|
selectCardsname !== '基础设施'
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<span>{{ item.deptName || '--' }}</span>
|
<span>{{ item.deptName || '--' }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div v-if="selectCardsname !== '基础设施'" style="margin-top: 0.1rem" class="description">
|
||||||
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 || '--' }}
|
||||||
|
@ -273,32 +198,26 @@
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<div class="bottom" v-if="selectCardsname !== '基础设施'">
|
<div class="bottom" v-if="selectCardsname !== '基础设施'">
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div v-if="
|
||||||
v-if="
|
|
||||||
selectCardsname !== '数据资源' &&
|
selectCardsname !== '数据资源' &&
|
||||||
selectCardsname !== '融合服务' &&
|
selectCardsname !== '融合服务' &&
|
||||||
selectCardsname !== '赋能场景'
|
selectCardsname !== '赋能场景'
|
||||||
"
|
">
|
||||||
>
|
|
||||||
浏览量:{{ item.visits || 0 }}次
|
浏览量:{{ item.visits || 0 }}次
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div v-if="
|
||||||
v-if="
|
|
||||||
selectCardsname !== '数据资源' &&
|
selectCardsname !== '数据资源' &&
|
||||||
selectCardsname !== '融合服务' &&
|
selectCardsname !== '融合服务' &&
|
||||||
selectCardsname !== '赋能场景' &&
|
selectCardsname !== '赋能场景' &&
|
||||||
(selectCardsname !== '应用资源' || whoShow1.itShowQingDao)
|
(selectCardsname !== '应用资源' || whoShow1.itShowQingDao)
|
||||||
"
|
">
|
||||||
>
|
|
||||||
申请量:{{ item.applyCount || 0 }}次
|
申请量:{{ item.applyCount || 0 }}次
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div v-if="
|
||||||
v-if="
|
|
||||||
selectCardsname === '数据资源' &&
|
selectCardsname === '数据资源' &&
|
||||||
selectCardsname !== '融合服务' &&
|
selectCardsname !== '融合服务' &&
|
||||||
selectCardsname !== '赋能场景'
|
selectCardsname !== '赋能场景'
|
||||||
"
|
">
|
||||||
>
|
|
||||||
数据量:{{ item.sjlCount || 0 }}
|
数据量:{{ item.sjlCount || 0 }}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="selectCardsname !== '数据资源'">
|
<div v-if="selectCardsname !== '数据资源'">
|
||||||
|
@ -308,75 +227,39 @@
|
||||||
</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
|
<template v-if="
|
||||||
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
|
<span class="shopping-on" v-else @click.stop="addShoppingCart(item, index)"></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
|
<span class="sc-down" v-if="item.isCollect == 'false'" @click.stop="addCollect(item)"></span>
|
||||||
class="sc-down"
|
<span class="sc-on" v-if="item.isCollect == 'true'" @click.stop="addCollect(item)"></span>
|
||||||
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
|
<div class="shopping pk" :key="pk" v-show="
|
||||||
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
|
<a-button type="primary" @click.stop="toView('details', item)" v-if="!whoShow1.itShowBaoTou">
|
||||||
type="primary"
|
|
||||||
@click.stop="toView('details', item)"
|
|
||||||
v-if="!whoShow1.itShowBaoTou"
|
|
||||||
>
|
|
||||||
查看详情
|
查看详情
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button
|
<a-button style="margin-left: 10px" v-show="
|
||||||
style="margin-left: 10px"
|
|
||||||
v-show="
|
|
||||||
selectCardsname === '融合服务' ||
|
selectCardsname === '融合服务' ||
|
||||||
selectCardsname === '赋能场景'
|
selectCardsname === '赋能场景'
|
||||||
"
|
" @click.stop="handleAKeyApplication(item)">
|
||||||
@click.stop="handleAKeyApplication(item)"
|
|
||||||
>
|
|
||||||
一键申请
|
一键申请
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button
|
<a-button type="primary" @click.stop="toView('apply', item)" v-show="
|
||||||
type="primary"
|
|
||||||
@click.stop="toView('apply', item)"
|
|
||||||
v-show="
|
|
||||||
cardType == '组件服务' ||
|
cardType == '组件服务' ||
|
||||||
(cardType == '应用资源' && whoShow1.itShowQingDao)
|
(cardType == '应用资源' && whoShow1.itShowQingDao)
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{
|
{{
|
||||||
item.shareCondition == '免批申请' ? '免批申请' : '立即申请'
|
item.shareCondition == '免批申请' ? '免批申请' : '立即申请'
|
||||||
}}
|
}}
|
||||||
|
@ -391,12 +274,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-modal
|
<a-modal v-model:visible="visible" title="视频预览" :width="750" destroyOnClose>
|
||||||
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%">
|
||||||
|
@ -414,9 +292,10 @@
|
||||||
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 ComponentServiceTag from './ComponentServiceTag.vue';
|
||||||
export default {
|
export default {
|
||||||
name: '',
|
name: '',
|
||||||
// props: ['resourceList', 'resourceTotal', 'selectCardsname'],
|
|
||||||
props: {
|
props: {
|
||||||
resourceList: {
|
resourceList: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -428,116 +307,22 @@
|
||||||
},
|
},
|
||||||
selectCardsname: {
|
selectCardsname: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '组件服务',
|
default: '应用资源',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
components: {
|
||||||
dataList() {
|
IntegrationServiceOrder,
|
||||||
const newArr = []
|
ComponentServiceTag,
|
||||||
for (let i = 0; i < this.resourceList.data.length; i++) {
|
|
||||||
let arr = [
|
|
||||||
{
|
|
||||||
name: '应用名称',
|
|
||||||
value: '',
|
|
||||||
},
|
},
|
||||||
{
|
setup(props, context) {
|
||||||
name: '应用ID',
|
|
||||||
value: '',
|
|
||||||
dataResourceId: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '应用领域',
|
|
||||||
value: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '组件类型',
|
|
||||||
value: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '技术领域',
|
|
||||||
value: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '共享类型',
|
|
||||||
value: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '共享条件',
|
|
||||||
value: '',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
arr.map((item) => {
|
|
||||||
if (item.name === '应用名称') {
|
|
||||||
item.value = this.resourceList.data[i].name
|
|
||||||
}
|
|
||||||
if (item.name === '应用ID') {
|
|
||||||
item.value = this.resourceList.data[i].id
|
|
||||||
item.dataResourceId =
|
|
||||||
this.resourceList.data[i].infoList[0].dataResourceId
|
|
||||||
}
|
|
||||||
if (item.name === '应用领域') {
|
|
||||||
this.resourceList.data[i].infoList.map((aa) => {
|
|
||||||
aa.attrType === '应用领域' ? (item.value = aa.attrValue) : ''
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (item.name === '组件类型') {
|
|
||||||
this.resourceList.data[i].infoList.map((aa) => {
|
|
||||||
aa.attrType === '组件类型' ? (item.value = aa.attrValue) : ''
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (item.name === '技术领域') {
|
|
||||||
this.resourceList.data[i].infoList.map((aa) => {
|
|
||||||
aa.attrType === '技术领域' ? (item.value = aa.attrValue) : ''
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (item.name === '共享类型') {
|
|
||||||
this.resourceList.data[i].infoList.map((aa) => {
|
|
||||||
aa.attrType === '共享类型' ? (item.value = aa.attrValue) : ''
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (item.name === '共享条件') {
|
|
||||||
this.resourceList.data[i].infoList.map((aa) => {
|
|
||||||
aa.attrType === '共享条件' ? (item.value = aa.attrValue) : ''
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
newArr.push(arr)
|
|
||||||
}
|
|
||||||
console.log(
|
|
||||||
'dataList======================>',
|
|
||||||
newArr,
|
|
||||||
this.resourceList
|
|
||||||
)
|
|
||||||
return newArr
|
|
||||||
},
|
|
||||||
isShoppingCartOrNot() {
|
|
||||||
return ''
|
|
||||||
},
|
|
||||||
},
|
|
||||||
components: {},
|
|
||||||
setup(props) {
|
|
||||||
// eslint-disable-next-line no-undef
|
|
||||||
const whoShow1 = whoShow
|
const whoShow1 = whoShow
|
||||||
const showKey = ref(0)
|
const showKey = ref(0)
|
||||||
let shoppingKey = ref(1)
|
let shoppingKey = ref(1)
|
||||||
// 融合服务排序
|
let orderObj = reactive({
|
||||||
const orderList = ref([
|
orderField: '',
|
||||||
{
|
orderType: '',
|
||||||
value: 'collectCount',
|
})
|
||||||
name: '收藏量',
|
const integrationServiceOrderDom = ref(null)
|
||||||
orderType: 'DESC',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'create_date',
|
|
||||||
name: '发布时间',
|
|
||||||
orderType: 'DESC',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'update_date',
|
|
||||||
name: '更新时间',
|
|
||||||
orderType: 'DESC',
|
|
||||||
},
|
|
||||||
])
|
|
||||||
// 购物车id列表
|
// 购物车id列表
|
||||||
const selList = ref([
|
const selList = ref([
|
||||||
{ name: '发布时间', value: 'tdr.create_date', show: true },
|
{ name: '发布时间', value: 'tdr.create_date', show: true },
|
||||||
|
@ -546,6 +331,10 @@
|
||||||
{ name: '收藏量', value: 'collectCount', show: true },
|
{ name: '收藏量', value: 'collectCount', show: true },
|
||||||
{ name: '评分', value: 'score', show: true },
|
{ name: '评分', value: 'score', show: true },
|
||||||
])
|
])
|
||||||
|
// 西海岸-去掉浏览量
|
||||||
|
if (whoShow1.itShowXiHaiAn) {
|
||||||
|
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 === '数据资源') {
|
||||||
|
@ -562,6 +351,14 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 西海岸--智能算法--列表增加标签显示
|
||||||
|
const showTagArray = ['已落地', '需要计算支持']
|
||||||
|
const getTagList = (item) => {
|
||||||
|
let _arr = item.infoList.filter((x) => showTagArray.includes(x.attrValue)) || []
|
||||||
|
let tagArray = _arr.map(v => v.attrValue)
|
||||||
|
return tagArray
|
||||||
|
}
|
||||||
console.log('this.resourceList', props.resourceList.data)
|
console.log('this.resourceList', props.resourceList.data)
|
||||||
props.resourceList.data.map((val) => {
|
props.resourceList.data.map((val) => {
|
||||||
if (val.infoList) {
|
if (val.infoList) {
|
||||||
|
@ -604,7 +401,6 @@
|
||||||
console.log('or use this.value', searchValue.value)
|
console.log('or use this.value', searchValue.value)
|
||||||
}
|
}
|
||||||
function toView(type, item) {
|
function toView(type, item) {
|
||||||
debugger
|
|
||||||
if (props.selectCardsname == '数据资源') {
|
if (props.selectCardsname == '数据资源') {
|
||||||
if (whoShow1.itShowQingDao) {
|
if (whoShow1.itShowQingDao) {
|
||||||
window.open(
|
window.open(
|
||||||
|
@ -617,6 +413,7 @@
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else if (props.selectCardsname === '融合服务') {
|
} else if (props.selectCardsname === '融合服务') {
|
||||||
|
context.emit('saveSearchCodition')
|
||||||
// 打包模式
|
// 打包模式
|
||||||
router.push({
|
router.push({
|
||||||
path: '/packagingDetails',
|
path: '/packagingDetails',
|
||||||
|
@ -683,11 +480,7 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(
|
context.emit('saveSearchCodition')
|
||||||
'111111111111111111===========>',
|
|
||||||
router,
|
|
||||||
props.selectCardsname
|
|
||||||
)
|
|
||||||
router.push({
|
router.push({
|
||||||
path: '/details',
|
path: '/details',
|
||||||
query: {
|
query: {
|
||||||
|
@ -749,29 +542,28 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 更换查询条件
|
|
||||||
const changeCondition = (val) => {
|
|
||||||
selData.value = selData.value == val ? 'total' : val
|
|
||||||
const orderType = selData.value == val ? 'ASC' : 'DESC'
|
|
||||||
mybus.emit('changeCondition', {
|
|
||||||
orderField: val,
|
|
||||||
orderType: orderType,
|
|
||||||
})
|
|
||||||
console.log('选择===========》', val, selData.value)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 融合服务--排序
|
/**更换查询条件
|
||||||
const changeOrder = (i, val, type) => {
|
* val: 排序字段值
|
||||||
let newType = type === 'DESC' ? 'ASC' : 'DESC'
|
* isFromFather: 是否来自父组件传值
|
||||||
orderList.value[i].orderType = newType
|
*/
|
||||||
mybus.emit('changeCondition', {
|
const changeCondition = (item, isFromFather = false) => {
|
||||||
orderField: val,
|
console.log('item, isFromFather------------>', item, isFromFather);
|
||||||
orderType: newType,
|
let newType = item.orderType == 'DESC' ? 'ASC' : 'DESC';
|
||||||
})
|
if (isFromFather) {
|
||||||
|
newType = item.orderType;
|
||||||
|
}
|
||||||
|
orderObj.orderField = item.value;
|
||||||
|
orderObj.orderType = newType;
|
||||||
|
let _index = selList.value.findIndex(x => x.value == item.value)
|
||||||
|
if (_index > -1) {
|
||||||
|
selList.value[_index].orderType = newType
|
||||||
|
}
|
||||||
|
selList.value = selList.value.splice(0);
|
||||||
|
mybus.emit('changeCondition', orderObj)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 融合服务--一键申请
|
// 融合服务--一键申请
|
||||||
// 一键申请
|
|
||||||
const handleAKeyApplication = (item) => {
|
const handleAKeyApplication = (item) => {
|
||||||
let _applyList = []
|
let _applyList = []
|
||||||
let fuseResourceList = item.fuseResourceList || []
|
let fuseResourceList = item.fuseResourceList || []
|
||||||
|
@ -802,7 +594,6 @@
|
||||||
}
|
}
|
||||||
otherArray.map((v) => {
|
otherArray.map((v) => {
|
||||||
let resource = v.resource || {}
|
let resource = v.resource || {}
|
||||||
console.log('resource------------>', resource)
|
|
||||||
let obj = {
|
let obj = {
|
||||||
arr: [
|
arr: [
|
||||||
{
|
{
|
||||||
|
@ -823,64 +614,25 @@
|
||||||
localStorage.setItem('applyList', JSON.stringify(_applyList))
|
localStorage.setItem('applyList', JSON.stringify(_applyList))
|
||||||
router.push({
|
router.push({
|
||||||
path: '/apply',
|
path: '/apply',
|
||||||
|
query: {
|
||||||
|
integrationServicesId: item.id,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// const handleAKeyApplication = (item) => {
|
|
||||||
// let _applyList = []
|
|
||||||
// ; (item.fuseResourceList || []).map((v) => {
|
|
||||||
// let resource = v.resource || {}
|
|
||||||
// let obj = {
|
|
||||||
// arr: [
|
|
||||||
// {
|
|
||||||
// delFlag: resource.delFlag,
|
|
||||||
// description: resource.description,
|
|
||||||
// resourceId: resource.id,
|
|
||||||
// resourceName: resource.name,
|
|
||||||
// time: resource.createDate,
|
|
||||||
// type: resource.type,
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// deptId: resource.deptId,
|
|
||||||
// deptName: resource.deptName,
|
|
||||||
// }
|
|
||||||
// _applyList.push(obj)
|
|
||||||
// })
|
|
||||||
|
|
||||||
// localStorage.setItem('applyList', JSON.stringify(_applyList))
|
|
||||||
// router.push({
|
|
||||||
// path: '/apply',
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
|
|
||||||
mybus.on('chongzhi', (typeObj) => {
|
mybus.on('chongzhi', (typeObj) => {
|
||||||
console.log('typeObj------------>', typeObj)
|
|
||||||
if (!typeObj) {
|
if (!typeObj) {
|
||||||
selData.value = 'total'
|
selData.value = 'total'
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
typeObj &&
|
typeObj &&
|
||||||
(typeObj.type === '融合服务' || typeObj.type === '赋能场景')
|
(typeObj.type === '融合服务' || typeObj.type === '打包模式')
|
||||||
) {
|
) {
|
||||||
orderList.value = [
|
integrationServiceOrderDom.value.reset &&
|
||||||
{
|
integrationServiceOrderDom.value.reset()
|
||||||
value: 'collectCount',
|
|
||||||
name: '收藏量',
|
|
||||||
orderType: 'DESC',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'create_date',
|
|
||||||
name: '发布时间',
|
|
||||||
orderType: 'DESC',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'update_date',
|
|
||||||
name: '更新时间',
|
|
||||||
orderType: 'DESC',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
let videoUrl = ref('')
|
let videoUrl = ref('')
|
||||||
const options = reactive({
|
const options = reactive({
|
||||||
width: '700px', //播放器宽度
|
width: '700px', //播放器宽度
|
||||||
|
@ -951,9 +703,10 @@
|
||||||
goComparePk,
|
goComparePk,
|
||||||
whoShow1,
|
whoShow1,
|
||||||
showKey,
|
showKey,
|
||||||
orderList,
|
|
||||||
handleAKeyApplication,
|
handleAKeyApplication,
|
||||||
changeOrder,
|
integrationServiceOrderDom,
|
||||||
|
orderObj,
|
||||||
|
getTagList,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeUnmount() {
|
beforeUnmount() {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
export const titleNameArray = [
|
export const titleNameArray = [
|
||||||
{
|
|
||||||
photo: require('@/assets/newHome/banner-zj.png'),
|
|
||||||
name: '组件服务',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
photo: require('@/assets/newHome/banner-yy.png'),
|
photo: require('@/assets/newHome/banner-yy.png'),
|
||||||
name: '应用资源',
|
name: '应用资源',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
photo: require('@/assets/newHome/banner-zj.png'),
|
||||||
|
name: '组件服务',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
photo: require('@/assets/newHome/banner-jc.png'),
|
photo: require('@/assets/newHome/banner-jc.png'),
|
||||||
name: '基础设施',
|
name: '基础设施',
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
<template>
|
||||||
|
<div class="detail-back" @click="previousPage" :style="{ color: textColor }">
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { reactive, ref, watch, defineProps } from 'vue'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
const router = useRouter()
|
||||||
|
console.log('router------------>', router)
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
textColor: { type: String, default: '' },
|
||||||
|
})
|
||||||
|
|
||||||
|
const previousPage = () => {
|
||||||
|
window.history.go(-1)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.detail-back {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.85rem;
|
||||||
|
left: 100px;
|
||||||
|
font-size: 0.18rem;
|
||||||
|
color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background-image: url('~@/assets/detailsAll/back.png');
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -9,6 +9,7 @@
|
||||||
<div>
|
<div>
|
||||||
<div id="apply-container">
|
<div id="apply-container">
|
||||||
<home-header :showView="showView"></home-header>
|
<home-header :showView="showView"></home-header>
|
||||||
|
<detail-back></detail-back>
|
||||||
<details-view v-if="showView === 'details-view'"></details-view>
|
<details-view v-if="showView === 'details-view'"></details-view>
|
||||||
<algorithm-details
|
<algorithm-details
|
||||||
v-else-if="showView === 'algorithm-details'"
|
v-else-if="showView === 'algorithm-details'"
|
||||||
|
@ -38,6 +39,7 @@
|
||||||
import DeveloperComponents from '@/views/detailsAll/DeveloperComponents'
|
import DeveloperComponents from '@/views/detailsAll/DeveloperComponents'
|
||||||
import BusinessDetails from '@/views/detailsAll/BusinessDetails'
|
import BusinessDetails from '@/views/detailsAll/BusinessDetails'
|
||||||
import LayerService from '@/views/detailsAll/LayerService'
|
import LayerService from '@/views/detailsAll/LayerService'
|
||||||
|
import detailBack from '@/views/home/detailBack.vue'
|
||||||
import { selectOne } from '@/api/home'
|
import { selectOne } from '@/api/home'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
@ -52,6 +54,7 @@
|
||||||
DeveloperComponents,
|
DeveloperComponents,
|
||||||
BusinessDetails,
|
BusinessDetails,
|
||||||
LayerService,
|
LayerService,
|
||||||
|
detailBack
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const formState = reactive({
|
const formState = reactive({
|
||||||
|
@ -163,6 +166,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
init()
|
init()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
formState,
|
formState,
|
||||||
options,
|
options,
|
||||||
|
|
|
@ -100,6 +100,8 @@
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
setup() {
|
setup() {
|
||||||
const selectedKeys = ref([])
|
const selectedKeys = ref([])
|
||||||
|
@ -118,7 +120,7 @@
|
||||||
'router.currentRoute.value.query.select',
|
'router.currentRoute.value.query.select',
|
||||||
router.currentRoute.value.query.select
|
router.currentRoute.value.query.select
|
||||||
)
|
)
|
||||||
let select = router.currentRoute.value.query.select
|
let select = router.currentRoute.value.query.select || DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
if (select === '123') {
|
if (select === '123') {
|
||||||
select = ''
|
select = ''
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,13 +5,8 @@
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="top-title">
|
<div class="top-title">
|
||||||
全部:
|
全部:
|
||||||
<div
|
<div v-for="(item, index) in titleName" :key="index" class="tabAll" @click="changeCards(index)"
|
||||||
v-for="(item, index) in titleName"
|
:class="{ sel: index == number }">
|
||||||
:key="index"
|
|
||||||
class="tabAll"
|
|
||||||
@click="changeCards(index)"
|
|
||||||
:class="{ sel: index == number }"
|
|
||||||
>
|
|
||||||
<span>
|
<span>
|
||||||
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
|
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
|
||||||
</span>
|
</span>
|
||||||
|
@ -20,54 +15,26 @@
|
||||||
<div class="resultListSearchInput-father" v-if="number === 0">
|
<div class="resultListSearchInput-father" v-if="number === 0">
|
||||||
<div class="resultListSearchInput-son">
|
<div class="resultListSearchInput-son">
|
||||||
模糊搜索
|
模糊搜索
|
||||||
<a-input-search
|
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large"
|
||||||
v-model:value="searchValue"
|
@search="getIntegrationList" @change="onSearch" class="resultListSearchInput" />
|
||||||
placeholder="请输入关键词"
|
<button class="button-reset" @click="resetAction()">重置</button>
|
||||||
enter-button="搜索"
|
|
||||||
size="large"
|
|
||||||
@search="getAppResources"
|
|
||||||
@change="onSearch"
|
|
||||||
class="resultListSearchInput"
|
|
||||||
/>
|
|
||||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
|
||||||
<div class="hengxian"></div>
|
<div class="hengxian"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-loading="loadingData">
|
<div v-loading="loadingData">
|
||||||
<searchResultList
|
<searchResultList v-if="number === 0" v-show="resourceList.data && resourceList.data.length > 0"
|
||||||
v-if="number === 0"
|
:resourceList="resourceList" :resourceTotal="resourceTotal" @saveSearchCodition="saveSearchCodition"
|
||||||
v-show="resourceList.data && resourceList.data.length > 0"
|
ref="searchResultListDom" :selectCardsname="number == 0 ? '融合服务' : '赋能场景'" />
|
||||||
:key="listKey2"
|
<CanAssignCase v-else v-show="resourceList.data && resourceList.data.length > 0" :resourceList="resourceList"
|
||||||
:resourceList="resourceList"
|
@saveSearchCodition="saveSearchCodition" :resourceTotal="resourceTotal"
|
||||||
:resourceTotal="resourceTotal"
|
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'" />
|
||||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
|
||||||
/>
|
|
||||||
<CanAssignCase
|
|
||||||
v-else
|
|
||||||
v-show="resourceList.data && resourceList.data.length > 0"
|
|
||||||
:key="listKey2"
|
|
||||||
:resourceList="resourceList"
|
|
||||||
:resourceTotal="resourceTotal"
|
|
||||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
|
||||||
/>
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<a-pagination
|
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage"
|
||||||
v-if="resourceList.data && resourceList.data.length > 0"
|
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper
|
||||||
v-model:current="currentPage"
|
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange"
|
||||||
v-model:pageSize="currentPageSize"
|
@showSizeChange="onShowSizeChange" />
|
||||||
show-size-changer
|
|
||||||
show-less-items
|
|
||||||
show-quick-jumper
|
|
||||||
:total="resourceTotal"
|
|
||||||
:page-size-options="pageSizeOptions"
|
|
||||||
@change="pageChange"
|
|
||||||
@showSizeChange="onShowSizeChange"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem">
|
||||||
v-if="resourceList.data && resourceList.data.length <= 0"
|
|
||||||
style="margin-top: 2rem"
|
|
||||||
>
|
|
||||||
<a-empty />
|
<a-empty />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -78,8 +45,7 @@
|
||||||
<script>
|
<script>
|
||||||
import HomeFooter from '@/views/newHome/components/Footer'
|
import HomeFooter from '@/views/newHome/components/Footer'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import { defineComponent, reactive, ref, toRefs, onMounted, watch } from 'vue'
|
import { defineComponent, reactive, ref, toRefs, onMounted, nextTick } from 'vue'
|
||||||
|
|
||||||
import { getIntegrationServicesList } from '@/api/home.js'
|
import { getIntegrationServicesList } from '@/api/home.js'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import HomeHeader from '@/views/home/components/header'
|
import HomeHeader from '@/views/home/components/header'
|
||||||
|
@ -88,19 +54,27 @@
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
beforeRouteLeave(to, from, next) {
|
||||||
|
console.log('to---integrationServices--beforeRouteLeave------->', to)
|
||||||
|
console.log('from---integrationServices--beforeRouteLeave------->', from)
|
||||||
|
console.log('next---integrationServices--beforeRouteLeave------->', next)
|
||||||
|
if (to.name !== 'packagingDetails' && to.name !== 'integrationServicesDetails') {
|
||||||
|
localStorage.removeItem('integrationServices')
|
||||||
|
}
|
||||||
|
next()
|
||||||
|
},
|
||||||
setup() {
|
setup() {
|
||||||
// 分页
|
// 分页
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const currentPage = ref(1)
|
const currentPage = ref(1)
|
||||||
const currentPageSize = ref(5)
|
const currentPageSize = ref(5)
|
||||||
const pageSizeOptions = ref(['5', '10', '20', '50'])
|
const pageSizeOptions = ref(['2', '5', '10', '20', '50'])
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const select = router.currentRoute.value.query.select
|
const select = router.currentRoute.value.query.select
|
||||||
const searchValue = ref('')
|
const searchValue = ref('')
|
||||||
const Cardsname = ref(select)
|
const Cardsname = ref(select)
|
||||||
const resourceList = reactive({ data: [] })
|
const resourceList = reactive({ data: [] })
|
||||||
const resourceTotal = ref(0)
|
const resourceTotal = ref(0)
|
||||||
const current = ref(1)
|
|
||||||
const loadingData = ref(false)
|
const loadingData = ref(false)
|
||||||
// 选项卡
|
// 选项卡
|
||||||
const titleName = ref([
|
const titleName = ref([
|
||||||
|
@ -111,80 +85,84 @@
|
||||||
name: '赋能场景',
|
name: '赋能场景',
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
const number = ref(0)
|
const number = ref(0)
|
||||||
// 刷新筛选条件组件
|
|
||||||
let listKey = ref(0)
|
|
||||||
// 刷新筛选列表信息组件
|
|
||||||
const listKey2 = ref(0)
|
|
||||||
|
|
||||||
// 查询参数
|
// 查询参数
|
||||||
const paramsGetResources = {
|
const paramsGetResources = {
|
||||||
pageNum: 1,
|
page: currentPage.value,
|
||||||
pageSize: currentPageSize.value,
|
limit: currentPageSize.value,
|
||||||
type: titleName.value[number.value].name,
|
type: titleName.value[number.value].name,
|
||||||
name: '',
|
name: searchValue.value,
|
||||||
orderField: 'create_date', // total 综合 visits 访问量 applyCount 申请量 score 评分 collectCount 收藏量
|
orderField: 'create_date',
|
||||||
orderType: 'DESC', // ASC 升序 DESC 降序
|
orderType: 'DESC', // ASC 升序 DESC 降序
|
||||||
}
|
}
|
||||||
|
const searchResultListDom = ref(null)
|
||||||
|
const storageSearchInfo = JSON.parse(localStorage.getItem('integrationServices'))
|
||||||
|
// 读取本地存储:表单赋值
|
||||||
|
const handleSetSearchData = () => {
|
||||||
|
if (storageSearchInfo) {
|
||||||
|
number.value = storageSearchInfo.type == '打包模式' ? 0 : 1;
|
||||||
|
// 搜索名称
|
||||||
|
searchValue.value = storageSearchInfo.name;
|
||||||
|
currentPage.value = storageSearchInfo.page;
|
||||||
|
currentPageSize.value = storageSearchInfo.limit;
|
||||||
|
paramsGetResources.limit = storageSearchInfo.limit;
|
||||||
|
paramsGetResources.page = storageSearchInfo.page;
|
||||||
|
paramsGetResources.type = storageSearchInfo.type;
|
||||||
|
// 延迟使用,因为还没有返回跟挂载
|
||||||
|
nextTick(() => {
|
||||||
|
searchResultListDom.value && searchResultListDom.value.changeCondition && searchResultListDom.value.changeCondition({
|
||||||
|
value: storageSearchInfo.orderField,
|
||||||
|
orderType: storageSearchInfo.orderType,
|
||||||
|
}, true)
|
||||||
|
})
|
||||||
|
getIntegrationList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const changeCards = (val) => {
|
const changeCards = (val) => {
|
||||||
console.log(val)
|
// 打包模式
|
||||||
number.value = val
|
number.value = val;
|
||||||
chongzhi()
|
paramsGetResources.type = titleName.value[number.value].name;
|
||||||
|
resetAction()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询
|
// 查询
|
||||||
const onSearch = () => {
|
const onSearch = () => {
|
||||||
loading.value = true
|
|
||||||
currentPage.value = 1
|
currentPage.value = 1
|
||||||
|
getIntegrationList()
|
||||||
}
|
}
|
||||||
// 重置数据
|
// 重置数据
|
||||||
const chongzhi = () => {
|
const resetAction = () => {
|
||||||
loading.value = true
|
|
||||||
// 重置模糊查字段
|
// 重置模糊查字段
|
||||||
searchValue.value = ''
|
searchValue.value = ''
|
||||||
// 分页
|
// 分页
|
||||||
currentPage.value = 1
|
currentPage.value = 1
|
||||||
currentPageSize.value = 5
|
currentPageSize.value = 5
|
||||||
// 重置查询条件
|
// 重置查询条件
|
||||||
paramsGetResources.pageNum = 1
|
paramsGetResources.page = 1
|
||||||
paramsGetResources.pageSize = 5
|
paramsGetResources.limit = 5
|
||||||
paramsGetResources.orderField = 'create_date'
|
paramsGetResources.orderField = 'create_date'
|
||||||
paramsGetResources.orderType = 'DESC'
|
paramsGetResources.orderType = 'DESC'
|
||||||
mybus.emit('chongzhi', {
|
|
||||||
|
mybus.emit('resetAction', {
|
||||||
type: titleName.value[number.value].name,
|
type: titleName.value[number.value].name,
|
||||||
})
|
})
|
||||||
getAppResources()
|
|
||||||
}
|
|
||||||
|
|
||||||
const getAppResources = () => {
|
|
||||||
getIntegrationList()
|
getIntegrationList()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取融合服务列表
|
// 获取融合服务列表
|
||||||
const getIntegrationList = () => {
|
const getIntegrationList = () => {
|
||||||
loadingData.value = true
|
loadingData.value = true
|
||||||
console.log('获取融合服务列表------------>')
|
paramsGetResources.name = searchValue.value;
|
||||||
let postData = {
|
console.log('paramsGetResources------参数下发------>', paramsGetResources);
|
||||||
limit: currentPageSize.value,
|
getIntegrationServicesList(paramsGetResources).then(
|
||||||
page: currentPage.value,
|
|
||||||
orderField: paramsGetResources.orderField,
|
|
||||||
orderType: paramsGetResources.orderType,
|
|
||||||
name: searchValue.value,
|
|
||||||
type: titleName.value[number.value].name,
|
|
||||||
}
|
|
||||||
getIntegrationServicesList(postData).then(
|
|
||||||
(res) => {
|
(res) => {
|
||||||
loadingData.value = false
|
loadingData.value = false
|
||||||
if (res.data.code !== 0) {
|
if (res.data.code !== 0) {
|
||||||
return message.error(res.data.msg)
|
return message.error(res.data.msg)
|
||||||
}
|
}
|
||||||
console.log('res.data------------>', res.data)
|
|
||||||
|
|
||||||
resourceList.data = res.data.data.list || []
|
resourceList.data = res.data.data.list || []
|
||||||
resourceTotal.value = res.data.data.total || 0
|
resourceTotal.value = res.data.data.total || 0
|
||||||
listKey2.value++
|
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
loadingData.value = false
|
loadingData.value = false
|
||||||
|
@ -199,75 +177,81 @@
|
||||||
} else {
|
} else {
|
||||||
delete paramsGetResources.deptIds
|
delete paramsGetResources.deptIds
|
||||||
}
|
}
|
||||||
getAppResources()
|
getIntegrationList()
|
||||||
console.log('paramsGetResources', paramsGetResources)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
mybus.on('changePage', (page) => {
|
mybus.on('changePage', (page) => {
|
||||||
paramsGetResources.pageNum = page
|
paramsGetResources.page = page
|
||||||
getAppResources('分页查询')
|
getIntegrationList()
|
||||||
})
|
})
|
||||||
|
|
||||||
mybus.on('changeSelcted', () => {
|
mybus.on('changeSelcted', () => {
|
||||||
getAppResources()
|
getIntegrationList()
|
||||||
})
|
})
|
||||||
|
|
||||||
mybus.on('refresh', () => {
|
mybus.on('refresh', () => {
|
||||||
paramsGetResources.pageNum = 1
|
paramsGetResources.page = 1
|
||||||
currentPage.value = 1
|
currentPage.value = 1
|
||||||
getAppResources()
|
getIntegrationList()
|
||||||
})
|
})
|
||||||
mybus.on('changeCondition', (condition) => {
|
mybus.on('changeCondition', (condition) => {
|
||||||
paramsGetResources.orderField = condition.orderField
|
paramsGetResources.orderField = condition.orderField
|
||||||
paramsGetResources.orderType = condition.orderType
|
paramsGetResources.orderType = condition.orderType
|
||||||
getAppResources()
|
getIntegrationList()
|
||||||
})
|
})
|
||||||
|
|
||||||
const pageChange = (val) => {
|
const pageChange = (val) => {
|
||||||
console.log(val)
|
|
||||||
loading.value = true
|
|
||||||
currentPage.value = val
|
currentPage.value = val
|
||||||
paramsGetResources.pageNum = val
|
paramsGetResources.page = val
|
||||||
let params = '分页查询' //判断是否是点击下面的分页的调用模糊查询方法还是点击搜索调用模糊查询方法
|
getIntegrationList() //判断是否是点击下面的分页的调用模糊查询方法还是点击搜索调用模糊查询方法
|
||||||
getAppResources(params)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
console.log('222----onMounted-------->', 222)
|
|
||||||
listKey2.value++
|
|
||||||
getAppResources()
|
|
||||||
})
|
|
||||||
|
|
||||||
// 分页
|
// 分页
|
||||||
const onShowSizeChange = (current, pageSize) => {
|
const onShowSizeChange = (current, pageSize) => {
|
||||||
currentPage.value = current
|
currentPage.value = current
|
||||||
currentPageSize.value = pageSize
|
currentPageSize.value = pageSize
|
||||||
paramsGetResources.pageNum = current
|
paramsGetResources.page = current
|
||||||
paramsGetResources.pageSize = pageSize
|
paramsGetResources.limit = pageSize
|
||||||
getAppResources()
|
getIntegrationList()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存储查询条件到本地
|
||||||
|
const saveSearchCodition = (n) => {
|
||||||
|
console.log('融合服务-----存储查询条件到本地------->', paramsGetResources);
|
||||||
|
localStorage.setItem(
|
||||||
|
'integrationServices',
|
||||||
|
JSON.stringify(paramsGetResources)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
if (storageSearchInfo) {
|
||||||
|
handleSetSearchData()
|
||||||
|
} else {
|
||||||
|
getIntegrationList()
|
||||||
}
|
}
|
||||||
watch(currentPageSize, () => {
|
|
||||||
console.log('pageSize', currentPageSize.value)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
listKey,
|
|
||||||
searchValue,
|
searchValue,
|
||||||
currentPage,
|
currentPage,
|
||||||
resourceList,
|
resourceList,
|
||||||
resourceTotal,
|
resourceTotal,
|
||||||
pageChange,
|
pageChange,
|
||||||
listKey2,
|
|
||||||
Cardsname,
|
Cardsname,
|
||||||
getAppResources,
|
getIntegrationList,
|
||||||
chongzhi,
|
resetAction,
|
||||||
onSearch,
|
onSearch,
|
||||||
currentPageSize,
|
currentPageSize,
|
||||||
pageSizeOptions,
|
pageSizeOptions,
|
||||||
current,
|
|
||||||
loading,
|
loading,
|
||||||
titleName,
|
titleName,
|
||||||
changeCards,
|
changeCards,
|
||||||
number,
|
number,
|
||||||
loadingData,
|
loadingData,
|
||||||
|
onShowSizeChange,
|
||||||
|
saveSearchCodition,
|
||||||
|
searchResultListDom,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
@ -289,8 +273,6 @@
|
||||||
background: #f3f5f9;
|
background: #f3f5f9;
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
|
|
||||||
// padding-left: 0.2rem;
|
|
||||||
// padding-top: 0.2rem;
|
|
||||||
.resultListSearchInput-son {
|
.resultListSearchInput-son {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
||||||
|
|
|
@ -2,21 +2,15 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
|
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
|
||||||
<home-header></home-header>
|
<home-header></home-header>
|
||||||
|
<detail-back></detail-back>
|
||||||
<!-- 头部基本信息 -->
|
<!-- 头部基本信息 -->
|
||||||
<application-top-details
|
<application-top-details :dataList="detailInfoObj" :navList="navList"></application-top-details>
|
||||||
:dataList="detailInfoObj"
|
|
||||||
:navList="navList"
|
|
||||||
></application-top-details>
|
|
||||||
|
|
||||||
<!-- 导航 -->
|
<!-- 导航 -->
|
||||||
<div :class="{ fixed: scrollTop >= 600 }">
|
<div :class="{ fixed: scrollTop >= 600 }">
|
||||||
<div class="application-navigation">
|
<div class="application-navigation">
|
||||||
<template v-for="nav in navList" :key="nav.key">
|
<template v-for="nav in navList" :key="nav.key">
|
||||||
<div
|
<div class="nav" :class="{ selectNow: nav.key == selectNow }" @click="selectNav(nav.key)">
|
||||||
class="nav"
|
|
||||||
:class="{ selectNow: nav.key == selectNow }"
|
|
||||||
@click="selectNav(nav.key)"
|
|
||||||
>
|
|
||||||
{{ nav.name }}
|
{{ nav.name }}
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,19 +24,16 @@
|
||||||
<DetalsTitle title="场景痛点" type="PAIN POINT"></DetalsTitle>
|
<DetalsTitle title="场景痛点" type="PAIN POINT"></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-center">
|
<div class="flex-row-center">
|
||||||
<div class="bg cjtd"><a-image :preview="false" :src="bgImg" /></div>
|
<div class="bg cjtd">
|
||||||
|
<a-image :preview="false" :src="bgImg" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="content" style="margin-left: 0.5rem">
|
<div class="content" style="margin-left: 0.5rem">
|
||||||
<div
|
<div class="content-item" v-for="(item, i) in painPoint" :key="i" style="
|
||||||
class="content-item"
|
|
||||||
v-for="(item, i) in painPoint"
|
|
||||||
:key="i"
|
|
||||||
style="
|
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
line-height: 0.3rem;
|
line-height: 0.3rem;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{ i + 1 + '、' + item.description }}
|
{{ i + 1 + '、' + item.description }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -50,26 +41,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 解决方案 -->
|
<!-- 解决方案 -->
|
||||||
<div
|
<div id="integration-solution" class="solution scrollBox" style="background: #eee">
|
||||||
id="integration-solution"
|
|
||||||
class="solution scrollBox"
|
|
||||||
style="background: #eee"
|
|
||||||
>
|
|
||||||
<div class="title-1">
|
<div class="title-1">
|
||||||
<DetalsTitle title="解决方案" type="SOLUTION"></DetalsTitle>
|
<DetalsTitle title="解决方案" type="SOLUTION"></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-center">
|
<div class="flex-row-center">
|
||||||
<div class="content" style="background: #fff; margin-top: 0.2rem">
|
<div class="content" style="background: #fff; margin-top: 0.2rem">
|
||||||
<div
|
<div class="content-item" v-for="(item, i) in solution" :key="i" style="
|
||||||
class="content-item"
|
|
||||||
v-for="(item, i) in solution"
|
|
||||||
:key="i"
|
|
||||||
style="
|
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
line-height: 0.3rem;
|
line-height: 0.3rem;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{ i + 1 + '、' + item.description }}
|
{{ i + 1 + '、' + item.description }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -81,48 +63,20 @@
|
||||||
<div class="title-1">
|
<div class="title-1">
|
||||||
<DetalsTitle title="使用能力" type="ABILITY"></DetalsTitle>
|
<DetalsTitle title="使用能力" type="ABILITY"></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="flex-row-center combine-content" v-for="(item, i) in combineList" :key="i" style="display: block">
|
||||||
class="flex-row-center combine-content"
|
<div class="top" style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem">
|
||||||
v-for="(item, i) in combineList"
|
|
||||||
:key="i"
|
|
||||||
style="display: block"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="top"
|
|
||||||
style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem"
|
|
||||||
>
|
|
||||||
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
|
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom" style="display: flex; align-items: flex-start">
|
<div class="bottom" style="display: flex; align-items: flex-start">
|
||||||
<div class="title" :class="'title' + i"></div>
|
<div class="title" :class="'title' + i"></div>
|
||||||
<div>
|
<div class="table-box">
|
||||||
<el-table
|
<el-table class="table" :data="item.list" stripe :header-cell-style="{ 'text-align': 'center' }">
|
||||||
class="table"
|
<el-table-column prop="name" label="数据" align="center" width="200" show-overflow-tooltip="true">
|
||||||
:data="item.list"
|
</el-table-column>
|
||||||
stripe
|
<el-table-column prop="dept" label="能力来源" align="center" width="300" show-overflow-tooltip="true">
|
||||||
:header-cell-style="{ 'text-align': 'center' }"
|
</el-table-column>
|
||||||
>
|
<el-table-column prop="platform" label="申请平台" align="center" width="100" show-overflow-tooltip="true">
|
||||||
<el-table-column
|
</el-table-column>
|
||||||
prop="name"
|
|
||||||
label="数据"
|
|
||||||
align="center"
|
|
||||||
width="200"
|
|
||||||
show-overflow-tooltip="true"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="dept"
|
|
||||||
label="能力来源"
|
|
||||||
align="center"
|
|
||||||
width="300"
|
|
||||||
show-overflow-tooltip="true"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="platform"
|
|
||||||
label="申请平台"
|
|
||||||
align="center"
|
|
||||||
width="100"
|
|
||||||
show-overflow-tooltip="true"
|
|
||||||
></el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -136,12 +90,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-center step-content">
|
<div class="flex-row-center step-content">
|
||||||
<el-steps direction="vertical" :space="150" :active="step.length">
|
<el-steps direction="vertical" :space="150" :active="step.length">
|
||||||
<el-step
|
<el-step v-for="(item, i) in step" :key="i" :title="item.question" :description="item.answer"></el-step>
|
||||||
v-for="(item, i) in step"
|
|
||||||
:key="i"
|
|
||||||
:title="item.question"
|
|
||||||
:description="item.answer"
|
|
||||||
></el-step>
|
|
||||||
</el-steps>
|
</el-steps>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -155,6 +104,7 @@
|
||||||
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
||||||
import HomeFooter from '@/views/newHome/components/Footer'
|
import HomeFooter from '@/views/newHome/components/Footer'
|
||||||
import HomeHeader from '@/views/home/components/header'
|
import HomeHeader from '@/views/home/components/header'
|
||||||
|
import detailBack from '@/views/home/detailBack.vue'
|
||||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { getIntegrationDetail } from '@/api/home'
|
import { getIntegrationDetail } from '@/api/home'
|
||||||
|
@ -265,6 +215,14 @@
|
||||||
mybus.emit('flyToView', selectNow.value)
|
mybus.emit('flyToView', selectNow.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getAttrValue = (fuseAttrList, data, text) => {
|
||||||
|
let _obj = fuseAttrList.find((v) => v.attrType === text) || {};
|
||||||
|
data =
|
||||||
|
JSON.parse(
|
||||||
|
_obj.attrValue || '[]'
|
||||||
|
) || []
|
||||||
|
}
|
||||||
|
|
||||||
// 融合服务--详情
|
// 融合服务--详情
|
||||||
const getIntegrationServicesDeatil = (id) => {
|
const getIntegrationServicesDeatil = (id) => {
|
||||||
getIntegrationDetail(id).then(
|
getIntegrationDetail(id).then(
|
||||||
|
@ -283,18 +241,9 @@
|
||||||
attrType: '常见问题',
|
attrType: '常见问题',
|
||||||
attrValue: questionValue.attrValue || '[]',
|
attrValue: questionValue.attrValue || '[]',
|
||||||
}
|
}
|
||||||
painPoint.value =
|
getAttrValue(fuseAttrList, painPoint.value, '场景痛点');
|
||||||
JSON.parse(
|
getAttrValue(fuseAttrList, solution.value, '解决方案');
|
||||||
fuseAttrList.find((v) => v.attrType === '场景痛点').attrValue
|
getAttrValue(fuseAttrList, step.value, '使用步骤');
|
||||||
) || []
|
|
||||||
solution.value =
|
|
||||||
JSON.parse(
|
|
||||||
fuseAttrList.find((v) => v.attrType === '解决方案').attrValue
|
|
||||||
) || []
|
|
||||||
step.value =
|
|
||||||
JSON.parse(
|
|
||||||
fuseAttrList.find((v) => v.attrType === '使用步骤').attrValue
|
|
||||||
) || []
|
|
||||||
bgImg.value =
|
bgImg.value =
|
||||||
fuseAttrList.find((v) => v.attrType === '服务图片').attrValue || ''
|
fuseAttrList.find((v) => v.attrType === '服务图片').attrValue || ''
|
||||||
let areaObj = {
|
let areaObj = {
|
||||||
|
@ -498,11 +447,9 @@
|
||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
width: 6.2rem;
|
width: 6.2rem;
|
||||||
border-radius: 0.2rem;
|
border-radius: 0.2rem;
|
||||||
background: linear-gradient(
|
background: linear-gradient(to right,
|
||||||
to right,
|
|
||||||
rgba(113, 132, 252, 0.4),
|
rgba(113, 132, 252, 0.4),
|
||||||
rgba(148, 163, 252, 0.4)
|
rgba(148, 163, 252, 0.4));
|
||||||
);
|
|
||||||
padding: 0 0.3rem;
|
padding: 0 0.3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -538,6 +485,7 @@
|
||||||
.pain-point {
|
.pain-point {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
.bg {
|
.bg {
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
|
@ -545,17 +493,20 @@
|
||||||
// background-size: 100%;
|
// background-size: 100%;
|
||||||
margin-top: 0.3rem;
|
margin-top: 0.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cjtd {
|
.cjtd {
|
||||||
width: 5.75rem;
|
width: 5.75rem;
|
||||||
height: 3.4rem;
|
height: 3.4rem;
|
||||||
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
|
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
width: 7rem;
|
width: 7rem;
|
||||||
margin-top: 0.3rem;
|
margin-top: 0.3rem;
|
||||||
|
|
||||||
.content-item {
|
.content-item {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin: 0rem 0rem 0.1rem 0.1rem;
|
margin: 0rem 0rem 0.1rem 0.1rem;
|
||||||
|
@ -566,8 +517,10 @@
|
||||||
.solution {
|
.solution {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
width: 11rem;
|
width: 11rem;
|
||||||
|
|
||||||
.content-item {
|
.content-item {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin: 0.3rem;
|
margin: 0.3rem;
|
||||||
|
@ -578,18 +531,22 @@
|
||||||
.step {
|
.step {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
.step-content {
|
.step-content {
|
||||||
margin: 0.3rem 4.5rem;
|
margin: 0.3rem 4.5rem;
|
||||||
padding: 0.3rem;
|
padding: 0.3rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
|
||||||
:deep(.el-step__description.is-finish) {
|
:deep(.el-step__description.is-finish) {
|
||||||
color: #333;
|
color: #333;
|
||||||
line-height: 0.24rem;
|
line-height: 0.24rem;
|
||||||
margin-top: 0.05rem;
|
margin-top: 0.05rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-step__title {
|
/deep/ .el-step__title {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-step__description {
|
/deep/ .el-step__description {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
@ -608,38 +565,49 @@
|
||||||
margin-top: 0.3rem;
|
margin-top: 0.3rem;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
margin: 0.2rem 4rem 0;
|
margin: 0.2rem 3.5rem 0;
|
||||||
padding: 0.2rem 0;
|
padding: 0.2rem 0;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
margin-right: 0.5rem;
|
margin-right: 0.4rem;
|
||||||
background: url('~@/assets/home/rhfw_square.png') no-repeat;
|
background: url('~@/assets/home/rhfw_square.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title0 {
|
.title0 {
|
||||||
width: 5.6rem;
|
width: 5.6rem;
|
||||||
height: 3.45rem;
|
height: 3.45rem;
|
||||||
background: url('~@/assets/home/fn/jcss.png') no-repeat;
|
background: url('~@/assets/home/fn/jcss.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title1 {
|
.title1 {
|
||||||
width: 5.6rem;
|
width: 5.6rem;
|
||||||
height: 3.45rem;
|
height: 3.45rem;
|
||||||
background: url('~@/assets/home/fn/zjfw.png') no-repeat;
|
background: url('~@/assets/home/fn/zjfw.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title2 {
|
.title2 {
|
||||||
width: 5.6rem;
|
width: 5.6rem;
|
||||||
height: 3.45rem;
|
height: 3.45rem;
|
||||||
background: url('~@/assets/home/fn/sjzy.png') no-repeat;
|
background: url('~@/assets/home/fn/sjzy.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
.table-box {
|
||||||
|
height: 3.45rem;
|
||||||
|
flex: 1;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.name-box {
|
.name-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|
|
@ -35,6 +35,8 @@
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { selectNewest } from '@/api/home'
|
import { selectNewest } from '@/api/home'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'latestAbility',
|
name: 'latestAbility',
|
||||||
components: {},
|
components: {},
|
||||||
|
@ -45,7 +47,8 @@
|
||||||
router.push({
|
router.push({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
// select: '组件服务',
|
||||||
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<!-- 青岛 -->
|
<!-- 青岛 -->
|
||||||
<div class="details-pageconetent">
|
<div class="details-pageconetent">
|
||||||
<home-header></home-header>
|
<home-header></home-header>
|
||||||
|
<detail-back></detail-back>
|
||||||
<div class="content-box" v-loading="loadingPage">
|
<div class="content-box" v-loading="loadingPage">
|
||||||
<div class="package-title">打包模式</div>
|
<div class="package-title">打包模式</div>
|
||||||
<div class="basic-info">
|
<div class="basic-info">
|
||||||
|
@ -70,6 +71,7 @@ import { message } from 'ant-design-vue'
|
||||||
import { getIntegrationDetail } from '@/api/home'
|
import { getIntegrationDetail } from '@/api/home'
|
||||||
import HomeHeader from '@/views/home/components/header'
|
import HomeHeader from '@/views/home/components/header'
|
||||||
import { scInsert, scDel } from '@/api/personalCenter'
|
import { scInsert, scDel } from '@/api/personalCenter'
|
||||||
|
import detailBack from '@/views/home/detailBack.vue'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const id = router.currentRoute.value.query.id
|
const id = router.currentRoute.value.query.id
|
||||||
|
@ -110,7 +112,6 @@ const getIntegrationServicesDeatil = (id) => {
|
||||||
}
|
}
|
||||||
detailInfoObj.value = res.data.data || {}
|
detailInfoObj.value = res.data.data || {}
|
||||||
console.log('detailInfoObj------------>', detailInfoObj);
|
console.log('detailInfoObj------------>', detailInfoObj);
|
||||||
|
|
||||||
let fuseResourceList = detailInfoObj.value.fuseResourceList || []
|
let fuseResourceList = detailInfoObj.value.fuseResourceList || []
|
||||||
abilityList.value.map(v => {
|
abilityList.value.map(v => {
|
||||||
let list = fuseResourceList.filter(x => x.type == v.name) || [];
|
let list = fuseResourceList.filter(x => x.type == v.name) || [];
|
||||||
|
@ -197,7 +198,6 @@ const addCollect = () => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.log('err------------>', err);
|
|
||||||
message.success(err)
|
message.success(err)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -216,16 +216,13 @@ const addCollect = () => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.log('err------------>', err);
|
|
||||||
message.success(err)
|
message.success(err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getIntegrationServicesDeatil(id)
|
getIntegrationServicesDeatil(id)
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.flex-row-start {
|
.flex-row-start {
|
||||||
|
|
|
@ -65,6 +65,8 @@
|
||||||
data-spm-anchor-id="a313x.7781069.0.i0"
|
data-spm-anchor-id="a313x.7781069.0.i0"
|
||||||
></path>
|
></path>
|
||||||
</svg>
|
</svg>
|
||||||
|
<img class="icon-poylon" @click="areaMode()" src="~@/supermap/image/icon-poylon.png">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<video-play
|
<video-play
|
||||||
v-if="openVideo"
|
v-if="openVideo"
|
||||||
|
@ -92,6 +94,7 @@
|
||||||
} from '@/api/videoSurveillance'
|
} from '@/api/videoSurveillance'
|
||||||
import { getCameraByCondition } from '@/api/file'
|
import { getCameraByCondition } from '@/api/file'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
|
import * as turf from '@turf/turf';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -112,6 +115,7 @@
|
||||||
openVideo: false,
|
openVideo: false,
|
||||||
channelCode: [],
|
channelCode: [],
|
||||||
circleModeFlag: false,
|
circleModeFlag: false,
|
||||||
|
areaModeFlag: false,
|
||||||
addressMatchUrl: '',
|
addressMatchUrl: '',
|
||||||
address: '',
|
address: '',
|
||||||
whoShow1: whoShow,
|
whoShow1: whoShow,
|
||||||
|
@ -124,7 +128,10 @@
|
||||||
gpsX: '',
|
gpsX: '',
|
||||||
gpsY: '',
|
gpsY: '',
|
||||||
radius: '',
|
radius: '',
|
||||||
|
borderPolygonList: [],
|
||||||
|
type: 0, //0是无,1画圆,2不规则
|
||||||
},
|
},
|
||||||
|
pointAllData:[],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
@ -158,6 +165,20 @@
|
||||||
this.mapSearchParam.parentId = parentId
|
this.mapSearchParam.parentId = parentId
|
||||||
this.getCameraByParentId()
|
this.getCameraByParentId()
|
||||||
})
|
})
|
||||||
|
//表格勾选
|
||||||
|
mybus.off('selectTablePoint')
|
||||||
|
mybus.on('selectTablePoint', (pointlist) => {
|
||||||
|
console.log("mounted -> pointlist", pointlist);
|
||||||
|
for(let i=0;i<this.pointAllData.length;i++){
|
||||||
|
this.pointAllData[i].active = false
|
||||||
|
for(let j=0;j<pointlist.length;j++){
|
||||||
|
if(this.pointAllData[i].channelCode == pointlist[j].channelCode){
|
||||||
|
this.pointAllData[i].active = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.addResourceTomap('videoMap', this.pointAllData);
|
||||||
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selectedAddress(item, index) {
|
selectedAddress(item, index) {
|
||||||
|
@ -169,6 +190,46 @@
|
||||||
}
|
}
|
||||||
this.hiMapFun.mapFlyTo(latLng)
|
this.hiMapFun.mapFlyTo(latLng)
|
||||||
},
|
},
|
||||||
|
//框选
|
||||||
|
areaSelectResource(){
|
||||||
|
// 修改控件提示
|
||||||
|
L.drawLocal.draw.handlers.polygon.tooltip.start = '单击开始绘制形状'
|
||||||
|
L.drawLocal.draw.handlers.polygon.tooltip.cont = '单击继续绘制形状'
|
||||||
|
L.drawLocal.draw.handlers.polygon.tooltip.end =
|
||||||
|
'单击继续绘制形状,双击结束绘制'
|
||||||
|
|
||||||
|
this.hiMap.mapObj.map.off('draw:created')
|
||||||
|
this.hiMap.mapObj.drawPolygon.enable()
|
||||||
|
this.hiMap.mapObj.map.once('draw:created', (e) => {
|
||||||
|
const type = e.layerType
|
||||||
|
const circleLayer = e.layer
|
||||||
|
console.log('查询图层draw:created', e)
|
||||||
|
if (type === 'polygon') {
|
||||||
|
const polygonLayer = e.layer;
|
||||||
|
this.hiMap.mapObj.featureGroup.addLayer(polygonLayer);
|
||||||
|
this.hiMap.mapObj.layerGroup.set('rectangleSelectLayer', polygonLayer);
|
||||||
|
const arr = [];
|
||||||
|
const latlngs = []; //选择的坐标组
|
||||||
|
polygonLayer._latlngs[0].map(item => {
|
||||||
|
// const bdLonLat = wgs84LL2bdLL();
|
||||||
|
arr.push(turf.point([item.lng, item.lat]));
|
||||||
|
latlngs.push([item.lat,item.lng])
|
||||||
|
});
|
||||||
|
const points = turf.featureCollection(arr);
|
||||||
|
const rect = turf.convex(points);
|
||||||
|
|
||||||
|
this.mapSearchParam.borderPolygonList = latlngs
|
||||||
|
this.mapSearchParam.type = 2
|
||||||
|
const params = {
|
||||||
|
borderPolygonList: latlngs,
|
||||||
|
type: this.mapSearchParam.type,
|
||||||
|
}
|
||||||
|
// mybus.emit('getListByMap', params);
|
||||||
|
this.getCameraByParentId('map');
|
||||||
|
console.log("areaSelectResource -> latlngs", latlngs)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 圈选方法
|
// 圈选方法
|
||||||
circleSelectResource() {
|
circleSelectResource() {
|
||||||
L.drawLocal.draw.handlers.circle.tooltip.start = '请圈选区域'
|
L.drawLocal.draw.handlers.circle.tooltip.start = '请圈选区域'
|
||||||
|
@ -196,18 +257,20 @@
|
||||||
this.mapSearchParam.gpsX = e.layer._latlng.lng
|
this.mapSearchParam.gpsX = e.layer._latlng.lng
|
||||||
this.mapSearchParam.gpsY = e.layer._latlng.lat
|
this.mapSearchParam.gpsY = e.layer._latlng.lat
|
||||||
this.mapSearchParam.radius = radius
|
this.mapSearchParam.radius = radius
|
||||||
|
this.mapSearchParam.type = 1
|
||||||
const params = {
|
const params = {
|
||||||
gpsX: this.mapSearchParam.gpsX,
|
gpsX: this.mapSearchParam.gpsX,
|
||||||
gpsY: this.mapSearchParam.gpsY,
|
gpsY: this.mapSearchParam.gpsY,
|
||||||
radius: radius,
|
radius: radius,
|
||||||
|
type: this.mapSearchParam.type,
|
||||||
}
|
}
|
||||||
mybus.emit('getListByMap', params)
|
// mybus.emit('getListByMap', params)
|
||||||
this.getCameraByParentId()
|
this.getCameraByParentId('map')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getCameraByParentId() {
|
getCameraByParentId(type) {
|
||||||
if (!this.whoShow1.itShowXiHaiAn) {
|
if (!this.whoShow1.itShowXiHaiAn) {
|
||||||
debugger
|
debugger
|
||||||
getCameraByParentId(this.mapSearchParam).then((res) => {
|
getCameraByParentId(this.mapSearchParam).then((res) => {
|
||||||
|
@ -221,12 +284,13 @@
|
||||||
this.mapSearchParam.parentId ||
|
this.mapSearchParam.parentId ||
|
||||||
'70be8c5b664f4bcf869d82f2e8335051',
|
'70be8c5b664f4bcf869d82f2e8335051',
|
||||||
pageNum: this.mapSearchParam.pageNum,
|
pageNum: this.mapSearchParam.pageNum,
|
||||||
pageSize: this.mapSearchParam.pageSize,
|
pageSize: this.mapSearchParam.type!=0?this.mapSearchParam.pageSize:10,
|
||||||
name: this.mapSearchParam.cameraName || '',
|
name: this.mapSearchParam.cameraName || '',
|
||||||
longitude: this.mapSearchParam.gpsX || '',
|
longitude: this.mapSearchParam.gpsX || '',
|
||||||
latitude: this.mapSearchParam.gpsY || '',
|
latitude: this.mapSearchParam.gpsY || '',
|
||||||
radius: this.mapSearchParam.radius || '',
|
radius: this.mapSearchParam.radius || '',
|
||||||
status: 1,
|
type: this.mapSearchParam.type,
|
||||||
|
borderPolygonList: this.mapSearchParam.borderPolygonList || [],
|
||||||
}
|
}
|
||||||
let paramsFather = ''
|
let paramsFather = ''
|
||||||
let i = 1
|
let i = 1
|
||||||
|
@ -243,9 +307,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getCameraByCondition(paramsFather).then((res) => {
|
getCameraByCondition(params).then((res) => {
|
||||||
console.log('根据parent查询摄像头', res.data.data)
|
console.log('根据parent查询摄像头', res.data.data)
|
||||||
|
if(type=='map'){
|
||||||
|
let params = this.mapSearchParam;
|
||||||
|
params.dataSource = res.data.data||0;
|
||||||
|
params.total = res.data.count||0;
|
||||||
|
mybus.emit('getListByMap', params);
|
||||||
|
}
|
||||||
|
this.pointAllData = res.data.data;
|
||||||
|
if(this.mapSearchParam.type!=0)
|
||||||
this.addResourceTomap('videoMap', res.data.data)
|
this.addResourceTomap('videoMap', res.data.data)
|
||||||
|
else
|
||||||
|
this.addResourceTomap('videoMap', []) //查询全部时不打点
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -256,27 +330,65 @@
|
||||||
this.addressMatchUrl
|
this.addressMatchUrl
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
areaMode(){
|
||||||
|
// 转换不规则形状模式
|
||||||
|
if(this.circleModeFlag){
|
||||||
|
this.resetCircle();
|
||||||
|
this.circleModeFlag = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.areaModeFlag = !this.areaModeFlag;
|
||||||
|
|
||||||
|
if (this.areaModeFlag) {
|
||||||
|
// 打开不规则形状模式模式
|
||||||
|
this.areaSelectResource()
|
||||||
|
} else {
|
||||||
|
this.resetArea();
|
||||||
|
}
|
||||||
|
},
|
||||||
circleMode() {
|
circleMode() {
|
||||||
|
if(this.areaModeFlag){
|
||||||
|
this.resetArea();
|
||||||
|
this.areaModeFlag = false;
|
||||||
|
}
|
||||||
// 转换圈选模式
|
// 转换圈选模式
|
||||||
this.circleModeFlag = !this.circleModeFlag
|
this.circleModeFlag = !this.circleModeFlag
|
||||||
if (this.circleModeFlag) {
|
if (this.circleModeFlag) {
|
||||||
// 打开圈选模式
|
// 打开圈选模式
|
||||||
this.circleSelectResource()
|
this.circleSelectResource()
|
||||||
} else {
|
} else {
|
||||||
|
this.resetCircle();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
resetCircle(){
|
||||||
// 关闭圈选模式,清空圈选内容,重新上图
|
// 关闭圈选模式,清空圈选内容,重新上图
|
||||||
this.hiMapFun.removeLayerByLayerName('circlePloygonLayer')
|
this.hiMapFun.removeLayerByLayerName('circlePloygonLayer')
|
||||||
// 重置内容
|
// 重置内容
|
||||||
this.mapSearchParam.gpsX = ''
|
this.mapSearchParam.gpsX = ''
|
||||||
this.mapSearchParam.gpsY = ''
|
this.mapSearchParam.gpsY = ''
|
||||||
this.mapSearchParam.radius = ''
|
this.mapSearchParam.radius = ''
|
||||||
this.getCameraByParentId()
|
this.mapSearchParam.type = 0;
|
||||||
const params = {
|
const params = {
|
||||||
gpsX: this.mapSearchParam.gpsX,
|
gpsX: this.mapSearchParam.gpsX,
|
||||||
gpsY: this.mapSearchParam.gpsY,
|
gpsY: this.mapSearchParam.gpsY,
|
||||||
radius: this.mapSearchParam.radius,
|
radius: this.mapSearchParam.radius,
|
||||||
|
type: this.mapSearchParam.type
|
||||||
}
|
}
|
||||||
mybus.emit('getListByMap', params)
|
this.getCameraByParentId('map')
|
||||||
|
// mybus.emit('getListByMap', params);
|
||||||
|
},
|
||||||
|
resetArea(){
|
||||||
|
// 关闭不规则形状模式模式,清空不规则形状模式内容,重新上图
|
||||||
|
this.hiMapFun.removeLayerByLayerName('rectangleSelectLayer');
|
||||||
|
// 重置内容
|
||||||
|
this.mapSearchParam.borderPolygonList = [];
|
||||||
|
this.mapSearchParam.type = 0;
|
||||||
|
const params = {
|
||||||
|
borderPolygonList: this.mapSearchParam.borderPolygonList,
|
||||||
|
type: this.mapSearchParam.type
|
||||||
}
|
}
|
||||||
|
this.getCameraByParentId('map')
|
||||||
|
// mybus.emit('getListByMap', params);
|
||||||
},
|
},
|
||||||
//查询地址建议匹配
|
//查询地址建议匹配
|
||||||
async searchAddressByKeyWord(queryString, cb, indexX) {
|
async searchAddressByKeyWord(queryString, cb, indexX) {
|
||||||
|
@ -352,18 +464,21 @@
|
||||||
|
|
||||||
addResourceTomap(type, data) {
|
addResourceTomap(type, data) {
|
||||||
const dataEvent = []
|
const dataEvent = []
|
||||||
|
if(data&&data.length>0){
|
||||||
data.forEach((item) => {
|
data.forEach((item) => {
|
||||||
const arr = [0, 0.0, '', '0', '0.0']
|
const arr = [0, 0.0, '', '0', '0.0']
|
||||||
if (arr.indexOf(item.gpsX) == -1) {
|
if (arr.indexOf(item.gpsX) == -1) {
|
||||||
dataEvent.push({
|
dataEvent.push({
|
||||||
latLng: { lat: Number(item.gpsY), lng: Number(item.gpsX) },
|
latLng: { lat: Number(item.gpsY), lng: Number(item.gpsX) },
|
||||||
data: item,
|
data: item,
|
||||||
|
active: item.active,
|
||||||
type: 'videoSurveillance',
|
type: 'videoSurveillance',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
console.log('上图数据', dataEvent)
|
console.log('上图数据', dataEvent)
|
||||||
this.getMapPoint(dataEvent, 'videoSurveillance.png', type)
|
this.getMapPoint(dataEvent, 'icon_camare.png', type)
|
||||||
},
|
},
|
||||||
getMapPoint(data, img, type) {
|
getMapPoint(data, img, type) {
|
||||||
// this.hiMapFun.clearAllLayers();
|
// this.hiMapFun.clearAllLayers();
|
||||||
|
@ -373,7 +488,8 @@
|
||||||
features,
|
features,
|
||||||
img,
|
img,
|
||||||
type,
|
type,
|
||||||
createCameraDetailsPop
|
createCameraDetailsPop,
|
||||||
|
'icon_camare_active.png'
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -543,13 +659,17 @@
|
||||||
.leaflet-control-attribution {
|
.leaflet-control-attribution {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
svg {
|
svg,.icon-poylon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0.1rem;
|
bottom: 0.1rem;
|
||||||
right: 0.1rem;
|
right: 0.1rem;
|
||||||
z-index: 1001;
|
z-index: 988;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
.icon-poylon {
|
||||||
|
width: 0.46rem;
|
||||||
|
bottom: 0.6rem;
|
||||||
|
}
|
||||||
.address-auto-complete-input {
|
.address-auto-complete-input {
|
||||||
width: 2.4rem;
|
width: 2.4rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import {
|
||||||
ref,
|
ref,
|
||||||
watch,
|
watch,
|
||||||
defineProps,
|
defineProps,
|
||||||
nextTick,
|
defineEmits,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
import { getDevelopDocTree } from '@/api/home'
|
import { getDevelopDocTree } from '@/api/home'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
|
|
|
@ -118,6 +118,7 @@
|
||||||
import TheOverallProcess from './TheOverallProcess.vue'
|
import TheOverallProcess from './TheOverallProcess.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const seviceList = ref([
|
const seviceList = ref([
|
||||||
{
|
{
|
||||||
|
@ -255,7 +256,8 @@
|
||||||
const newpage = router.resolve({
|
const newpage = router.resolve({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
// select: '组件服务',
|
||||||
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
window.location.href = newpage.href
|
window.location.href = newpage.href
|
||||||
|
|
|
@ -2,18 +2,19 @@
|
||||||
<home-header></home-header>
|
<home-header></home-header>
|
||||||
<div class="menu-container">
|
<div class="menu-container">
|
||||||
<div id="container" class="content-menu">
|
<div id="container" class="content-menu">
|
||||||
<div class="left">
|
<!-- <div class="left">
|
||||||
<div class="first-title-text doc" :style="{ color: '技术文档' === titleData.name ? '#0058e1' : '' }"
|
<div class="first-title-text doc" :style="{ color: '技术文档' === titleData.name ? '#0058e1' : '' }"
|
||||||
@click="changeName({ name: '技术文档' })">
|
@click="changeName({ name: '技术文档' })">
|
||||||
技术文档
|
技术文档
|
||||||
</div>
|
</div>
|
||||||
<abilityDocTree style="max-height:320px;overflow-y:auto" :dataList="treeArray" @treeClick="treeClick"
|
<abilityDocTree style="max-height:320px;overflow-y:auto" :dataList="treeArray" @treeClick="treeClick"
|
||||||
:clickData="clickData"></abilityDocTree>
|
:clickData="clickData"></abilityDocTree>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div class="first-title-text new-guide-box" :style="{ color: '使用手册' === titleData.name ? '#0058e1' : '' }"
|
<div class="first-title-text new-guide-box" :style="{ color: '使用手册' === titleData.name ? '#0058e1' : '' }"
|
||||||
@click="changeName({ name: '使用手册' })">
|
@click="changeName({ name: '使用手册' })">
|
||||||
<div class="guide-text">使用手册</div>
|
<div class="guide-text">使用手册</div>
|
||||||
|
<img src="@/assets/developmentGuide/download.png" @click="downloadDoc('/static/doc/userbook.docx', '通用能力服务平台USC用户手册')" alt="" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 技术文档 -->
|
<!-- 技术文档 -->
|
||||||
|
@ -133,7 +134,12 @@ const getFirstData = (firstObj = {}) => {
|
||||||
clickData.value = firstObj
|
clickData.value = firstObj
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const downloadDoc = (path, name) => {
|
||||||
|
const a = document.createElement('a')
|
||||||
|
a.href = path
|
||||||
|
a.download =name
|
||||||
|
a.click()
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTreeData()
|
getTreeData()
|
||||||
})
|
})
|
||||||
|
@ -192,7 +198,7 @@ onMounted(() => {
|
||||||
top: 300px;
|
top: 300px;
|
||||||
right: 205px;
|
right: 205px;
|
||||||
width: 74px;
|
width: 74px;
|
||||||
height: 136px;
|
height: 150px;
|
||||||
background: url('~@/assets/menu/new-bg.png') no-repeat;
|
background: url('~@/assets/menu/new-bg.png') no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -15,22 +15,16 @@
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
<a-input
|
<a-input v-model:value="form.password" type="password" placeholder="Password">
|
||||||
v-model:value="form.password"
|
|
||||||
type="password"
|
|
||||||
placeholder="Password"
|
|
||||||
>
|
|
||||||
<template v-slot:prefix>
|
<template v-slot:prefix>
|
||||||
<LockOutlined style="color: rgba(0, 0, 0, 0.25)" />
|
<LockOutlined style="color: rgba(0, 0, 0, 0.25)" />
|
||||||
</template>
|
</template>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
<a-button
|
<!-- IE Chrome || judgeAgent() !== 'Chrome'-->
|
||||||
type="primary"
|
<a-button type="primary" html-type="submit"
|
||||||
html-type="submit"
|
:disabled="form.username === '' || form.password === '' || !canOpen.includes(judgeAgent())">
|
||||||
:disabled="form.username === '' || form.password === ''"
|
|
||||||
>
|
|
||||||
登录
|
登录
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
@ -46,7 +40,10 @@
|
||||||
import { mapActions, mapGetters } from 'vuex'
|
import { mapActions, mapGetters } from 'vuex'
|
||||||
import { Encrypt } from '@/utils/crypto'
|
import { Encrypt } from '@/utils/crypto'
|
||||||
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
||||||
import { message } from 'ant-design-vue'
|
import { message, Modal } from 'ant-design-vue'
|
||||||
|
|
||||||
|
// 是否是西海岸
|
||||||
|
const isXiHaiAn = whoShow.itShowXiHaiAn
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Login',
|
name: 'Login',
|
||||||
|
@ -63,6 +60,9 @@
|
||||||
redirect: undefined,
|
redirect: undefined,
|
||||||
dependencies: dependencies,
|
dependencies: dependencies,
|
||||||
devDependencies: devDependencies,
|
devDependencies: devDependencies,
|
||||||
|
is360: false,
|
||||||
|
isIE: false,
|
||||||
|
canOpen: ['FF', 'Chrome']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -82,14 +82,52 @@
|
||||||
mounted() {
|
mounted() {
|
||||||
this.form.username = ''
|
this.form.username = ''
|
||||||
this.form.password = ''
|
this.form.password = ''
|
||||||
/* setTimeout(() => {
|
|
||||||
this.handleSubmit()
|
if (!this.canOpen.includes(this.judgeAgent())) {
|
||||||
}, 3000) */
|
Modal.warning({
|
||||||
|
title: '提示',
|
||||||
|
content: '请使用谷歌或火狐浏览器!',
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions({
|
...mapActions({
|
||||||
login: 'user/login',
|
login: 'user/login',
|
||||||
}),
|
}),
|
||||||
|
// 判断浏览器
|
||||||
|
judgeAgent() {
|
||||||
|
let userAgent = navigator.userAgent // 取得浏览器的userAgent字符串
|
||||||
|
console.log('userAgent------------>', userAgent);
|
||||||
|
let isOpera = userAgent.indexOf('Opera') > -1
|
||||||
|
//判断是否Opera浏览器
|
||||||
|
if (isOpera) {
|
||||||
|
return 'Opera'
|
||||||
|
}
|
||||||
|
//判断是否Firefox浏览器
|
||||||
|
if (userAgent.indexOf('Firefox') > -1) {
|
||||||
|
return 'FF'
|
||||||
|
}
|
||||||
|
//判断是否chorme浏览器
|
||||||
|
if (userAgent.indexOf('Chrome') > -1) {
|
||||||
|
return 'Chrome'
|
||||||
|
}
|
||||||
|
//判断是否Safari浏览器
|
||||||
|
if (userAgent.indexOf('Safari') > -1) {
|
||||||
|
return 'Safari'
|
||||||
|
}
|
||||||
|
//判断是否IE浏览器
|
||||||
|
if (
|
||||||
|
userAgent.indexOf('compatible') > -1 &&
|
||||||
|
userAgent.indexOf('MSIE') > -1 &&
|
||||||
|
!isOpera
|
||||||
|
) {
|
||||||
|
return 'IE'
|
||||||
|
}
|
||||||
|
//判断是否Edge浏览器
|
||||||
|
if (userAgent.indexOf('Trident') > -1) {
|
||||||
|
return 'Edge'
|
||||||
|
}
|
||||||
|
},
|
||||||
handleRoute() {
|
handleRoute() {
|
||||||
return this.redirect === '/404' || this.redirect === '/403'
|
return this.redirect === '/404' || this.redirect === '/403'
|
||||||
? '/home'
|
? '/home'
|
||||||
|
@ -110,7 +148,19 @@
|
||||||
window.sessionStorage.setItem('visits', JSON.stringify([]))
|
window.sessionStorage.setItem('visits', JSON.stringify([]))
|
||||||
console.log('添加visits========================================>')
|
console.log('添加visits========================================>')
|
||||||
// console.log(this.handleRoute())
|
// console.log(this.handleRoute())
|
||||||
|
// 西海岸特殊处理
|
||||||
|
if (isXiHaiAn) {
|
||||||
|
await this.$router.push({
|
||||||
|
path: '/DetailsPageconetent',
|
||||||
|
query: {
|
||||||
|
select: '基础设施',
|
||||||
|
tecHnosphere: '',
|
||||||
|
appLiCation: ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
await this.$router.push('/home')
|
await this.$router.push('/home')
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
message.error('登陆失败,用户名或密码错误!')
|
message.error('登陆失败,用户名或密码错误!')
|
||||||
}
|
}
|
||||||
|
@ -124,6 +174,7 @@
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background: url('~@/assets/login_images/login_background.png');
|
background: url('~@/assets/login_images/login_background.png');
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
|
|
||||||
&-form {
|
&-form {
|
||||||
width: calc(100% - 40px);
|
width: calc(100% - 40px);
|
||||||
height: 380px;
|
height: 380px;
|
||||||
|
@ -136,15 +187,18 @@
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
box-shadow: 0 2px 8px 0 rgba(7, 17, 27, 0.06);
|
box-shadow: 0 2px 8px 0 rgba(7, 17, 27, 0.06);
|
||||||
}
|
}
|
||||||
|
|
||||||
&-hello {
|
&-hello {
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-title {
|
&-title {
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-tips {
|
&-tips {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: @vab-margin;
|
bottom: @vab-margin;
|
||||||
|
@ -153,13 +207,16 @@
|
||||||
color: rgba(255, 255, 255, 0.856);
|
color: rgba(255, 255, 255, 0.856);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-col {
|
.ant-col {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0 10px 0 10px;
|
padding: 0 10px 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-input {
|
.ant-input {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-btn {
|
.ant-btn {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 45px;
|
height: 45px;
|
||||||
|
|
|
@ -227,7 +227,12 @@
|
||||||
if (item) {
|
if (item) {
|
||||||
mynoticeRead(item.id).then((res) => {
|
mynoticeRead(item.id).then((res) => {
|
||||||
if (res.data.code == 0 ) {
|
if (res.data.code == 0 ) {
|
||||||
message.success('操作成功!')
|
message.success('通知已读!')
|
||||||
|
// if(item.readStatus == 1){
|
||||||
|
// message.success('通知已读!')
|
||||||
|
// } if(item.readStatus == 0){
|
||||||
|
// message.success('通知已设为已读!')
|
||||||
|
// }
|
||||||
mybus.emit('getMynotice')
|
mybus.emit('getMynotice')
|
||||||
init()
|
init()
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="capability-convergence">
|
<div class="capability-convergence">
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
能力汇聚
|
能力分类
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
|
@ -84,7 +84,8 @@
|
||||||
import { ref, reactive } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
import { updateVisits, browsingInsert } from '@/api/home'
|
import { updateVisits, browsingInsert, getSoldierList } from '@/api/home'
|
||||||
|
import { message, Upload } from 'ant-design-vue'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
@ -164,22 +165,47 @@
|
||||||
} else {
|
} else {
|
||||||
let type = paramsGetResources.type
|
let type = paramsGetResources.type
|
||||||
if (type == '基础设施') {
|
if (type == '基础设施') {
|
||||||
|
jcList.value = []
|
||||||
selectInfrastructureList().then((res) => {
|
selectInfrastructureList().then((res) => {
|
||||||
console.log('基础设施==========>', res.data.data)
|
console.log('基础设施==========>', res.data.data)
|
||||||
for (const key in res.data.data) {
|
for (const key in res.data.data) {
|
||||||
|
if (whoShow1.value.itShowXiHaiAn) {
|
||||||
|
if (key === '视频资源') {
|
||||||
jcList.value.push({
|
jcList.value.push({
|
||||||
name: key,
|
name: key,
|
||||||
num: res.data.data[key],
|
num: res.data.data[key],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (uavAndIndividualSoldier.num) {
|
} else {
|
||||||
|
jcList.value.push({
|
||||||
|
name: key,
|
||||||
|
num: res.data.data[key],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 西海岸-单兵设备、无人机 获取数量
|
||||||
|
if (whoShow1.value.itShowXiHaiAn) {
|
||||||
|
getSoldierData('无人机')
|
||||||
|
.then((res) => {
|
||||||
|
let { total = 0 } = res.data.data
|
||||||
jcList.value.push({
|
jcList.value.push({
|
||||||
name: '无人机',
|
name: '无人机',
|
||||||
num: uavAndIndividualSoldier.uavList.length,
|
num: total,
|
||||||
})
|
})
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log('err--无人机---------->', err)
|
||||||
|
})
|
||||||
|
getSoldierData('单兵设备')
|
||||||
|
.then((res) => {
|
||||||
|
let { total = 0 } = res.data.data
|
||||||
jcList.value.push({
|
jcList.value.push({
|
||||||
name: '单兵设备',
|
name: '单兵设备',
|
||||||
num: uavAndIndividualSoldier.individualSoldier.length,
|
num: total,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log('err--单兵设备---------->', err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -206,6 +232,28 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo 获取无人机、单兵设备
|
||||||
|
const getSoldierData = (name) => {
|
||||||
|
let _params = {
|
||||||
|
type: name,
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
}
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
getSoldierList(_params)
|
||||||
|
.then((res) => {
|
||||||
|
resolve(res)
|
||||||
|
console.log('res---获取无人机、单兵设备--------->', res)
|
||||||
|
if (res.data.code !== 0) {
|
||||||
|
return message.error(res.data.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
reject(err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const openHref = (item) => {
|
const openHref = (item) => {
|
||||||
console.log(item.id, 'wowowo')
|
console.log(item.id, 'wowowo')
|
||||||
console.log(item.visits, 'wowowo')
|
console.log(item.visits, 'wowowo')
|
||||||
|
@ -298,12 +346,14 @@
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
width: 13rem;
|
width: 13rem;
|
||||||
margin-top: 1.8rem;
|
margin-top: 1.8rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
font-size: 0.3rem;
|
font-size: 0.3rem;
|
||||||
color: #212121;
|
color: #212121;
|
||||||
|
@ -313,6 +363,7 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.line {
|
.line {
|
||||||
width: 0.34rem;
|
width: 0.34rem;
|
||||||
height: 0.03rem;
|
height: 0.03rem;
|
||||||
|
@ -320,10 +371,12 @@
|
||||||
margin-top: 0.08rem;
|
margin-top: 0.08rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 0.4rem;
|
margin-top: 0.4rem;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
width: 2.44rem;
|
width: 2.44rem;
|
||||||
height: 3.91rem;
|
height: 3.91rem;
|
||||||
|
@ -332,6 +385,7 @@
|
||||||
border-radius: 0.02rem;
|
border-radius: 0.02rem;
|
||||||
box-shadow: 0 0.05rem 0.2rem #ccc;
|
box-shadow: 0 0.05rem 0.2rem #ccc;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
div:nth-of-type(1) {
|
div:nth-of-type(1) {
|
||||||
height: 1.02rem;
|
height: 1.02rem;
|
||||||
line-height: 1.02rem;
|
line-height: 1.02rem;
|
||||||
|
@ -340,21 +394,27 @@
|
||||||
padding-left: 0.15rem;
|
padding-left: 0.15rem;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.jc {
|
.jc {
|
||||||
background: url('~@/assets/newHome/Convergence-jc.png') no-repeat;
|
background: url('~@/assets/newHome/Convergence-jc.png') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sj {
|
.sj {
|
||||||
background: url('~@/assets/newHome/Convergence-sj.png') no-repeat;
|
background: url('~@/assets/newHome/Convergence-sj.png') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zj {
|
.zj {
|
||||||
background: url('~@/assets/newHome/Convergence-zj.png') no-repeat;
|
background: url('~@/assets/newHome/Convergence-zj.png') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.yy {
|
.yy {
|
||||||
background: url('~@/assets/newHome/Convergence-yy.png') no-repeat;
|
background: url('~@/assets/newHome/Convergence-yy.png') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zs {
|
.zs {
|
||||||
background: url('~@/assets/newHome/Convergence-zs.png') no-repeat;
|
background: url('~@/assets/newHome/Convergence-zs.png') no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
height: 0.47rem;
|
height: 0.47rem;
|
||||||
line-height: 0.47rem;
|
line-height: 0.47rem;
|
||||||
|
@ -367,13 +427,16 @@
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name:hover {
|
.name:hover {
|
||||||
color: #0058e1;
|
color: #0058e1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name-last {
|
.name-last {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
|
@ -388,11 +451,13 @@
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0.2rem;
|
bottom: 0.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn:hover {
|
.btn:hover {
|
||||||
background: rgba(0, 88, 225, 0.3);
|
background: rgba(0, 88, 225, 0.3);
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item:hover {
|
.item:hover {
|
||||||
border-radius: 0.02rem;
|
border-radius: 0.02rem;
|
||||||
border: 0.01rem solid #0058e1;
|
border: 0.01rem solid #0058e1;
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const productServiceData = ref([])
|
const productServiceData = ref([])
|
||||||
|
@ -76,7 +77,8 @@
|
||||||
router.push({
|
router.push({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
// select: '组件服务',
|
||||||
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="navigation2">
|
<div class="navigation2">
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>点击进入组件服务</template>
|
||||||
<div class="item" @click="jumpPage('组件服务')">
|
<div class="item" @click="jumpPage('组件服务')">
|
||||||
<div class="img zj"></div>
|
<div class="img zj"></div>
|
||||||
<div class="name">组件服务</div>
|
<div class="name">组件服务</div>
|
||||||
|
@ -8,6 +10,9 @@
|
||||||
个
|
个
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>点击进入应用资源</template>
|
||||||
<div class="item" @click="jumpPage('应用资源')">
|
<div class="item" @click="jumpPage('应用资源')">
|
||||||
<div class="img yy"></div>
|
<div class="img yy"></div>
|
||||||
<div class="name">应用资源</div>
|
<div class="name">应用资源</div>
|
||||||
|
@ -16,6 +21,9 @@
|
||||||
个
|
个
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>点击进入基础设施</template>
|
||||||
<div class="item" @click="jumpPage('基础设施')">
|
<div class="item" @click="jumpPage('基础设施')">
|
||||||
<div class="img jc"></div>
|
<div class="img jc"></div>
|
||||||
<div class="name">基础设施</div>
|
<div class="name">基础设施</div>
|
||||||
|
@ -24,6 +32,9 @@
|
||||||
个
|
个
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>点击进入数据资源</template>
|
||||||
<div class="item" @click="jumpPage('数据资源')">
|
<div class="item" @click="jumpPage('数据资源')">
|
||||||
<div class="img sj"></div>
|
<div class="img sj"></div>
|
||||||
<div class="name">数据资源</div>
|
<div class="name">数据资源</div>
|
||||||
|
@ -32,6 +43,9 @@
|
||||||
项
|
项
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
|
<a-tooltip>
|
||||||
|
<template #title>点击进入知识库</template>
|
||||||
<div class="item" @click="jumpPage('知识库')">
|
<div class="item" @click="jumpPage('知识库')">
|
||||||
<div class="img zs"></div>
|
<div class="img zs"></div>
|
||||||
<div class="name">知识库</div>
|
<div class="name">知识库</div>
|
||||||
|
@ -40,6 +54,7 @@
|
||||||
个
|
个
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
import { pageWithAttrs } from '@/api/home.js'
|
import { pageWithAttrs } from '@/api/home.js'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const select = ref('浏览量')
|
const select = ref('浏览量')
|
||||||
|
@ -134,11 +135,11 @@
|
||||||
'选中===================>',
|
'选中===================>',
|
||||||
store.getters['home/selectCardsnum']
|
store.getters['home/selectCardsnum']
|
||||||
)
|
)
|
||||||
// router.push({ path: '/DetailsPageconetent' })
|
|
||||||
router.push({
|
router.push({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
// select: '组件服务',
|
||||||
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
import { selectRecommend } from '@/api/home.js'
|
import { selectRecommend } from '@/api/home.js'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
|
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
let dataList = ref([])
|
let dataList = ref([])
|
||||||
|
@ -94,7 +95,7 @@
|
||||||
router.push({
|
router.push({
|
||||||
path: '/DetailsPageconetent',
|
path: '/DetailsPageconetent',
|
||||||
query: {
|
query: {
|
||||||
select: '组件服务',
|
select: DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="work-dynamics">
|
<div class="work-dynamics">
|
||||||
<div class="title">
|
<!-- <div class="title">
|
||||||
<div>工作动态</div>
|
<div>工作动态</div>
|
||||||
<div class="title-son"></div>
|
<div class="title-son"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -51,11 +51,15 @@
|
||||||
<div class="bottom" @click="jumpPage()">
|
<div class="bottom" @click="jumpPage()">
|
||||||
查看更多
|
查看更多
|
||||||
<span class="gengduo"></span>
|
<span class="gengduo"></span>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="fixedmount">
|
<div class="fixedmount">
|
||||||
|
<div @click="applyResource()">
|
||||||
|
<p></p>
|
||||||
|
<p>资源申请</p>
|
||||||
|
</div>
|
||||||
<div @click="toView()">
|
<div @click="toView()">
|
||||||
<p></p>
|
<p></p>
|
||||||
<p>需求申请</p>
|
<p>新需求</p>
|
||||||
</div>
|
</div>
|
||||||
<div @click="showModal">
|
<div @click="showModal">
|
||||||
<p></p>
|
<p></p>
|
||||||
|
@ -311,6 +315,15 @@
|
||||||
function handlecancelAbilitySquare() {
|
function handlecancelAbilitySquare() {
|
||||||
abilitySquareFunctionData.value = '智能算法'
|
abilitySquareFunctionData.value = '智能算法'
|
||||||
}
|
}
|
||||||
|
const applyResource = () => {
|
||||||
|
console.log('点击===============》')
|
||||||
|
router.push({
|
||||||
|
path: '/DetailsPageconetent',
|
||||||
|
query: {
|
||||||
|
select: '基础设施',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.shangjia-class {
|
.shangjia-class {
|
||||||
|
@ -419,8 +432,8 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-bottom: 0.8rem;
|
// padding-bottom: 0.8rem;
|
||||||
padding-top: 0.78rem;
|
// padding-top: 0.78rem;
|
||||||
.title {
|
.title {
|
||||||
font-size: 0.3rem;
|
font-size: 0.3rem;
|
||||||
font-family: 'convergence-typeface';
|
font-family: 'convergence-typeface';
|
||||||
|
@ -579,11 +592,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.fixedmount {
|
.fixedmount {
|
||||||
height: 1.5rem;
|
height: 3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 2.56rem;
|
bottom: 1.56rem;
|
||||||
right: 1.9rem;
|
right: 0rem;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
@ -591,49 +604,52 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.fixedmount div {
|
.fixedmount div {
|
||||||
width: 0.7rem;
|
width: 0.96rem;
|
||||||
height: 0.7rem;
|
height: 0.96rem;
|
||||||
border-radius: 0.04rem;
|
// border-radius: 0.04rem;
|
||||||
border: 0.01rem #94aac9 solid;
|
// border: 0.01rem #94aac9 solid;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// justify-content: center;
|
// justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-top: 0.13rem;
|
padding-top: 0.16rem;
|
||||||
|
margin-bottom: 2px;
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: #e3edfc;
|
// background: #e3edfc;
|
||||||
|
background: url('~@/assets/home/bg-right.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
.fixedmount div p:nth-child(2) {
|
.fixedmount div p:nth-child(2) {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0rem;
|
bottom: 0rem;
|
||||||
height: 0.14rem;
|
height: 0.2rem;
|
||||||
font-size: 0.14rem;
|
font-size: 0.2rem;
|
||||||
line-height: 0.14rem;
|
line-height: 0.2rem;
|
||||||
color: #000000;
|
color: #fff;
|
||||||
// margin-top: .08rem;
|
// margin-top: .08rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fixedmount div:nth-child(1) p:nth-child(1) {
|
.fixedmount div:nth-child(1) p:nth-child(1) {
|
||||||
height: 0.24rem;
|
height: 0.32rem;
|
||||||
width: 0.24rem;
|
width: 0.32rem;
|
||||||
background: url('~@/assets/home/shenqing.png') no-repeat;
|
//background: url('~@/assets/home/shenqing.png') no-repeat;
|
||||||
|
background: url('~@/assets/home/sq.png') no-repeat;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fixedmount div:nth-child(2) p:nth-child(1) {
|
.fixedmount div:nth-child(2) p:nth-child(1) {
|
||||||
height: 0.24rem;
|
height: 0.32rem;
|
||||||
width: 0.24rem;
|
width: 0.32rem;
|
||||||
background: url('~@/assets/home/shangjia.png') no-repeat;
|
background: url('~@/assets/home/xq.png') no-repeat;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
.fixedmount div:nth-child(3) p:nth-child(1) {
|
.fixedmount div:nth-child(3) p:nth-child(1) {
|
||||||
height: 0.24rem;
|
height: 0.32rem;
|
||||||
width: 0.24rem;
|
width: 0.32rem;
|
||||||
background: url('~@/assets/home/abilitysquare.png') no-repeat;
|
background: url('~@/assets/home/sj.png') no-repeat;
|
||||||
background-size: 140% 126%;
|
background-size: 140% 126%;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,30 +52,18 @@
|
||||||
<span class="img"></span>
|
<span class="img"></span>
|
||||||
<span>{{ item.name }}</span>
|
<span>{{ item.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div style="
|
||||||
style="
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<div class="oddNumbers">子单号:{{ item.instanceId }}</div>
|
<div class="oddNumbers">子单号:{{ item.instanceId }}</div>
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<a-button
|
<a-button type="primary" @click="modify(props.refObj.id, item)" v-if="item.backToFirst">
|
||||||
type="primary"
|
|
||||||
@click="modify(props.refObj.id, item)"
|
|
||||||
v-if="item.backToFirst"
|
|
||||||
>
|
|
||||||
修改
|
修改
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-popconfirm
|
<a-popconfirm v-if="!item.ended" title="是否终止此流程?" ok-text="是" cancel-text="否"
|
||||||
v-if="!item.ended"
|
@confirm="endThis(item.instanceId)" @cancel="cancel">
|
||||||
title="是否终止此流程?"
|
|
||||||
ok-text="是"
|
|
||||||
cancel-text="否"
|
|
||||||
@confirm="endThis(item.instanceId)"
|
|
||||||
@cancel="cancel"
|
|
||||||
>
|
|
||||||
<a-button type="primary" danger style="margin-left: 10px">
|
<a-button type="primary" danger style="margin-left: 10px">
|
||||||
流程终止
|
流程终止
|
||||||
</a-button>
|
</a-button>
|
||||||
|
@ -84,10 +72,9 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="box" v-if="item.list.length > 0">
|
<div class="box" v-if="item.list.length > 0">
|
||||||
<div class="ability" v-for="val in item.list" :key="val.id">
|
<div class="ability" v-for="val in item.list" :key="val.id"
|
||||||
<div
|
:class="item.approveStatus === '通过' ? 'clickCursor' : ''">
|
||||||
class="left"
|
<div class="left" :class="
|
||||||
:class="
|
|
||||||
val.type == '应用资源'
|
val.type == '应用资源'
|
||||||
? 'yyzy'
|
? 'yyzy'
|
||||||
: val.infoList.filter(
|
: val.infoList.filter(
|
||||||
|
@ -107,8 +94,7 @@
|
||||||
)[0].attrValue == '业务组件'
|
)[0].attrValue == '业务组件'
|
||||||
? 'ywzj'
|
? 'ywzj'
|
||||||
: 'yyzy'
|
: 'yyzy'
|
||||||
"
|
"></div>
|
||||||
></div>
|
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="ability-top">
|
<div class="ability-top">
|
||||||
<div class="name">
|
<div class="name">
|
||||||
|
@ -148,6 +134,17 @@
|
||||||
申请结果:{{
|
申请结果:{{
|
||||||
item.ended ? item.approveStatus || '审核完成' : '审核中'
|
item.ended ? item.approveStatus || '审核完成' : '审核中'
|
||||||
}}
|
}}
|
||||||
|
<a-button v-if="
|
||||||
|
item.approveStatus === '通过' &&
|
||||||
|
val.infoList.filter(
|
||||||
|
(item) => item.attrType == '上传附件'
|
||||||
|
)[0]
|
||||||
|
" @click.stop="downloadFile(item, '附件下载')" class="DownloadAttachment">
|
||||||
|
附件下载
|
||||||
|
</a-button>
|
||||||
|
<a-button v-if="item.approveStatus === '通过'" @click.stop="switchFunction(item)">
|
||||||
|
查看详情
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -162,6 +159,11 @@
|
||||||
<span class="channelName">{{ val.channelName }}</span>
|
<span class="channelName">{{ val.channelName }}</span>
|
||||||
<span class="type">基础设施</span>
|
<span class="type">基础设施</span>
|
||||||
</div>
|
</div>
|
||||||
|
<a-button type="primary" v-if="item.approveStatus == '通过' && whoShow1.itShowXiHaiAn"
|
||||||
|
@click.stop="openVideo(val)">
|
||||||
|
视频预览
|
||||||
|
</a-button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="ability-bottom">
|
<div class="ability-bottom">
|
||||||
<div class="dec2">位置:{{ val.nodeName }}</div>
|
<div class="dec2">位置:{{ val.nodeName }}</div>
|
||||||
|
@ -174,7 +176,7 @@
|
||||||
';' +
|
';' +
|
||||||
'视频流地址:' +
|
'视频流地址:' +
|
||||||
backUrl +
|
backUrl +
|
||||||
'resource/hls/getHls/?channelId=' +
|
'resource/hls/getHls/?key=' +
|
||||||
val.channelId
|
val.channelId
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -184,19 +186,71 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 单个预览弹窗 -->
|
||||||
|
<a-modal wrapClassName="single-preview-modal" v-model:visible="visible" title="视频预览" :width="960" destroyOnClose>
|
||||||
|
<template #footer></template>
|
||||||
|
<div style="width: 100%; display: flex; justify-content: center">
|
||||||
|
<div style="width: 100%; height: 100%;position: relative">
|
||||||
|
<!-- 预览视频--遮罩 -->
|
||||||
|
<div class="waterMark waterMark-left-top">{{userInfo.usernameShow}}</div>
|
||||||
|
<div class="waterMark waterMark-right-top">{{userInfo.realNameShow}}</div>
|
||||||
|
<div class="waterMark waterMark-left-bottom">{{userInfo.usernameShow}}</div>
|
||||||
|
<div class="waterMark waterMark-right-bottom">{{userInfo.realNameShow}}</div>
|
||||||
|
<vue3VideoPlay v-bind="options" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, defineProps, reactive } from 'vue'
|
import { ref, defineProps, reactive, onMounted } from 'vue'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import { endProcess, getApplyForm } from '@/api/personalCenter.js'
|
import { endProcess, getApplyForm } from '@/api/personalCenter.js'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
import {
|
||||||
|
getStreamByChannelCode,
|
||||||
|
} from '@/api/videoSurveillance'
|
||||||
|
import {
|
||||||
|
getUser,
|
||||||
|
} from '@/api/home'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
|
const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
refObj: { type: Object, default: null },
|
refObj: { type: Object, default: null },
|
||||||
})
|
})
|
||||||
|
const whoShow1 = ref(whoShow)
|
||||||
|
let visible = ref(false)
|
||||||
|
const options = reactive({
|
||||||
|
width: '912px', //播放器宽度
|
||||||
|
height: '513px', //播放器高度
|
||||||
|
color: '#409eff', //主题色
|
||||||
|
title: '', //视频名称
|
||||||
|
src: '', //视频源
|
||||||
|
type: 'm3u8', // 视频源类型
|
||||||
|
muted: false, //静音
|
||||||
|
webFullScreen: false,
|
||||||
|
speedRate: ['0.75', '1.0', '1.25', '1.5', '2.0'], //播放倍速
|
||||||
|
autoPlay: true, //自动播放
|
||||||
|
loop: false, //循环播放
|
||||||
|
mirror: false, //镜像画面
|
||||||
|
ligthOff: false, //关灯模式
|
||||||
|
volume: 0.3, //默认音量大小
|
||||||
|
control: true, //是否显示控制
|
||||||
|
controlBtns: [
|
||||||
|
'audioTrack',
|
||||||
|
'quality',
|
||||||
|
'speedRate',
|
||||||
|
'volume',
|
||||||
|
'setting',
|
||||||
|
'pip',
|
||||||
|
'pageFullScreen',
|
||||||
|
'fullScreen',
|
||||||
|
], //显示所有按钮,
|
||||||
|
})
|
||||||
|
|
||||||
const dept = reactive({})
|
const dept = reactive({})
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
if (infrastructure) {
|
if (infrastructure) {
|
||||||
|
@ -313,6 +367,91 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const switchFunction = (data) => {
|
||||||
|
if (data.approveStatus === '通过') {
|
||||||
|
let id = data.list[0].id
|
||||||
|
const applypage = router.resolve({
|
||||||
|
path: '/details', // 跳转的页面路由
|
||||||
|
query: {
|
||||||
|
id: id,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
window.open(applypage.href, '_blank')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const downloadFile = (data, name) => {
|
||||||
|
let path = data.list[0].infoList.filter(
|
||||||
|
(item) => item.attrType === '上传附件'
|
||||||
|
)[0].attrValue
|
||||||
|
console.log(path, 'obj')
|
||||||
|
const xhr = new XMLHttpRequest()
|
||||||
|
xhr.open('get', path)
|
||||||
|
xhr.responseType = 'blob'
|
||||||
|
xhr.send()
|
||||||
|
xhr.onload = function () {
|
||||||
|
if (this.status === 200 || this.status === 304) {
|
||||||
|
// 如果是IE10及以上,不支持download属性,采用msSaveOrOpenBlob方法,但是IE10以下也不支持msSaveOrOpenBlob
|
||||||
|
if ('msSaveOrOpenBlob' in navigator) {
|
||||||
|
navigator.msSaveOrOpenBlob(this.response, name)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// const blob = new Blob([this.response], { type: xhr.getResponseHeader('Content-Type') });
|
||||||
|
// const url = URL.createObjectURL(blob);
|
||||||
|
const url = URL.createObjectURL(this.response)
|
||||||
|
const a = document.createElement('a')
|
||||||
|
a.style.display = 'none'
|
||||||
|
a.href = url
|
||||||
|
a.download = name
|
||||||
|
document.body.appendChild(a)
|
||||||
|
a.click()
|
||||||
|
document.body.removeChild(a)
|
||||||
|
URL.revokeObjectURL(url)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 视频预览
|
||||||
|
const openVideo = (item) => {
|
||||||
|
console.log('打开视频', item)
|
||||||
|
if (item && item.status != 1) {
|
||||||
|
return message.error('当前视频离线不可预览!')
|
||||||
|
}
|
||||||
|
const param = {
|
||||||
|
key: item.cameraId,
|
||||||
|
}
|
||||||
|
getStreamByChannelCode(param).then((res) => {
|
||||||
|
console.log('视频预览------------>', res);
|
||||||
|
console.log(res)
|
||||||
|
visible.value = true
|
||||||
|
options.src = res.data.data || ''
|
||||||
|
}).catch(err => {
|
||||||
|
message.error(err)
|
||||||
|
})
|
||||||
|
// 视频测试--勿删
|
||||||
|
// visible.value = true
|
||||||
|
// options.src = 'http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8'
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
handleUser()
|
||||||
|
})
|
||||||
|
|
||||||
|
// 获取用户信息
|
||||||
|
const userInfo = ref(null)
|
||||||
|
const handleUser = () => {
|
||||||
|
getUser().then(res => {
|
||||||
|
console.log('res-----获取用户信息------->', res);
|
||||||
|
if (res.data.code != 0) {
|
||||||
|
return message.warning(res.data.msg)
|
||||||
|
}
|
||||||
|
userInfo.value = res.data.data || {}
|
||||||
|
userInfo.value.usernameShow = '西海岸能力超市' + (userInfo.value.deptName || '') + (userInfo.value.username || '');
|
||||||
|
userInfo.value.realNameShow = '西海岸能力超市' + (userInfo.value.deptName || '') + (userInfo.value.realName || '');
|
||||||
|
}).catch(err => {
|
||||||
|
message.warning(err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.title {
|
.title {
|
||||||
|
@ -323,17 +462,22 @@
|
||||||
padding-left: 0.1rem;
|
padding-left: 0.1rem;
|
||||||
border-left: 0.06rem #0058e1 solid;
|
border-left: 0.06rem #0058e1 solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
margin-bottom: 0.1rem;
|
margin-bottom: 0.1rem;
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
background: #eee;
|
background: #eee;
|
||||||
padding: 0.2rem 0.2rem 0.1rem;
|
padding: 0.2rem 0.2rem 0.1rem;
|
||||||
|
|
||||||
p {
|
p {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
&>span {
|
&>span {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.enclosure {
|
.enclosure {
|
||||||
width: 95%;
|
width: 95%;
|
||||||
padding: 0.05rem 0.1rem;
|
padding: 0.05rem 0.1rem;
|
||||||
|
@ -342,11 +486,13 @@
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 0.05rem;
|
margin-top: 0.05rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn:hover {
|
.btn:hover {
|
||||||
color: #0058e1;
|
color: #0058e1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
span {
|
span {
|
||||||
width: 2.5rem;
|
width: 2.5rem;
|
||||||
|
@ -354,16 +500,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
.main {
|
.main {
|
||||||
.item {
|
.item {
|
||||||
border-top: 1px #eee solid;
|
border-top: 1px #eee solid;
|
||||||
|
|
||||||
.deptName {
|
.deptName {
|
||||||
color: #0058e1;
|
color: #0058e1;
|
||||||
font-size: 0.16rem;
|
font-size: 0.16rem;
|
||||||
margin-top: 0.1rem;
|
margin-top: 0.1rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 0.05rem;
|
width: 0.05rem;
|
||||||
height: 0.05rem;
|
height: 0.05rem;
|
||||||
|
@ -372,16 +521,20 @@
|
||||||
margin-right: 0.1rem;
|
margin-right: 0.1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.oddNumbers {
|
.oddNumbers {
|
||||||
margin: 0.1rem 0 0 0.15rem;
|
margin: 0.1rem 0 0 0.15rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
margin-left: 0.1rem;
|
margin-left: 0.1rem;
|
||||||
|
|
||||||
.ability {
|
.ability {
|
||||||
height: 1.3rem;
|
height: 1.3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
border-bottom: 1px #eee solid;
|
border-bottom: 1px #eee solid;
|
||||||
padding: 0.1rem 0;
|
padding: 0.1rem 0;
|
||||||
|
|
||||||
.left {
|
.left {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 1.1rem;
|
width: 1.1rem;
|
||||||
|
@ -395,6 +548,7 @@
|
||||||
background: url('~@/assets/home/sxt_square.png') no-repeat;
|
background: url('~@/assets/home/sxt_square.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.yyzy {
|
.yyzy {
|
||||||
background: url('~@/assets/home/yyzy_square.png') no-repeat;
|
background: url('~@/assets/home/yyzy_square.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
|
@ -419,6 +573,7 @@
|
||||||
background: url('~@/assets/home/ywzj_square.png') no-repeat;
|
background: url('~@/assets/home/ywzj_square.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #0087ff;
|
color: #0087ff;
|
||||||
|
@ -427,18 +582,22 @@
|
||||||
border: 1px #0087ff solid;
|
border: 1px #0087ff solid;
|
||||||
border-radius: 0.2rem;
|
border-radius: 0.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 0.15rem;
|
margin-left: 0.15rem;
|
||||||
|
|
||||||
.ability-top {
|
.ability-top {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
width: 6rem;
|
width: 6rem;
|
||||||
height: 0.2rem;
|
height: 0.2rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.channelName {
|
.channelName {
|
||||||
max-width: 5rem;
|
max-width: 5rem;
|
||||||
height: 0.2rem;
|
height: 0.2rem;
|
||||||
|
@ -449,6 +608,7 @@
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
.type {
|
.type {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -459,8 +619,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ability-bottom {
|
.ability-bottom {
|
||||||
margin-top: 0.15rem;
|
margin-top: 0.15rem;
|
||||||
|
|
||||||
// display: flex;
|
// display: flex;
|
||||||
// justify-content: space-between;
|
// justify-content: space-between;
|
||||||
.dec {
|
.dec {
|
||||||
|
@ -473,6 +635,7 @@
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dec2 {
|
.dec2 {
|
||||||
width: 7rem;
|
width: 7rem;
|
||||||
height: 0.22rem;
|
height: 0.22rem;
|
||||||
|
@ -483,15 +646,92 @@
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .result:hover {
|
// .result:hover {
|
||||||
// color: #0058e1;
|
// color: #0058e1;
|
||||||
// cursor: pointer;
|
// cursor: pointer;
|
||||||
// }
|
// }
|
||||||
|
.result {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.DownloadAttachment {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
top: -150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.DownloadAttachment2 {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
top: -110px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.clickCursor {
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.single-preview-modal {
|
||||||
|
.ant-modal-header {
|
||||||
|
background: url(~@/assets/home/video-background.png) no-repeat;
|
||||||
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ant-modal-title {
|
||||||
|
font-size: 0.16rem;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anticon {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 左上
|
||||||
|
.waterMark-left-top {
|
||||||
|
left: 50px;
|
||||||
|
top: 100px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 右上
|
||||||
|
.waterMark-right-top {
|
||||||
|
right: 50px;
|
||||||
|
top: 100px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 左下
|
||||||
|
.waterMark-left-bottom {
|
||||||
|
left: 50px;
|
||||||
|
bottom: 100px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 右下
|
||||||
|
.waterMark-right-bottom {
|
||||||
|
right: 50px;
|
||||||
|
bottom: 100px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.waterMark {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 99999999;
|
||||||
|
color: #0058e1;
|
||||||
|
font-size: 22px;
|
||||||
|
font-weight: bold;
|
||||||
|
opacity: 0.4;
|
||||||
|
transform: rotate(-25deg);
|
||||||
|
width: 470px
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,24 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="form-container">
|
<DeviceApplyDetail v-if="showType === '设备申请'" :refObj="refObj"></DeviceApplyDetail>
|
||||||
<AbilityApplication
|
<div class="form-container" v-else>
|
||||||
:refObj="refObj"
|
<AbilityApplication :refObj="refObj" v-if="showType === '能力申请'"></AbilityApplication>
|
||||||
v-if="showType === '能力申请'"
|
<PutOnTheShelf :refObj="refObj" v-else-if="showType === '能力上架'"></PutOnTheShelf>
|
||||||
></AbilityApplication>
|
<OffTheShelf :refObj="refObj" v-else-if="showType === '能力下架'"></OffTheShelf>
|
||||||
<PutOnTheShelf
|
|
||||||
:refObj="refObj"
|
|
||||||
v-else-if="showType === '能力上架'"
|
|
||||||
></PutOnTheShelf>
|
|
||||||
<OffTheShelf
|
|
||||||
:refObj="refObj"
|
|
||||||
v-else-if="showType === '能力下架'"
|
|
||||||
></OffTheShelf>
|
|
||||||
<Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand>
|
<Demand :refObj="refObj" v-else-if="showType === '能力需求'"></Demand>
|
||||||
<Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment>
|
<Comment :refObj="refObj" v-else-if="showType === '需求评论'"></Comment>
|
||||||
<OtherApplications :refObj="refObj" v-else></OtherApplications>
|
<OtherApplications :refObj="refObj" v-else></OtherApplications>
|
||||||
<!-- <div class="title">流程图</div>
|
|
||||||
<div>
|
|
||||||
<img :src="getResourceURL()" alt="" />
|
|
||||||
</div> -->
|
|
||||||
<div>
|
<div>
|
||||||
<div class="title">审批详情</div>
|
<div class="title">审批详情</div>
|
||||||
<template v-for="item in dataSource.data" :key="item">
|
<template v-for="item in dataSource.data" :key="item">
|
||||||
|
@ -40,6 +28,7 @@
|
||||||
import OffTheShelf from './OffTheShelf.vue'
|
import OffTheShelf from './OffTheShelf.vue'
|
||||||
import Demand from './Demand.vue'
|
import Demand from './Demand.vue'
|
||||||
import Comment from './Comment.vue'
|
import Comment from './Comment.vue'
|
||||||
|
import DeviceApplyDetail from './DeviceApplyDetail.vue'
|
||||||
import OtherApplications from '@/views/personalCenter/components/OtherApplications '
|
import OtherApplications from '@/views/personalCenter/components/OtherApplications '
|
||||||
import { onMounted, reactive, defineProps, ref } from 'vue'
|
import { onMounted, reactive, defineProps, ref } from 'vue'
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
|
@ -69,6 +58,8 @@
|
||||||
showType.value = props.showType
|
showType.value = props.showType
|
||||||
//流转详情
|
//流转详情
|
||||||
const dataSource = reactive({ data: [] })
|
const dataSource = reactive({ data: [] })
|
||||||
|
console.log('refObj------------>', refObj);
|
||||||
|
|
||||||
// console.log(props.refObj, '---------------------------------------')
|
// console.log(props.refObj, '---------------------------------------')
|
||||||
|
|
||||||
const downloadFile = (path, name) => {
|
const downloadFile = (path, name) => {
|
||||||
|
@ -255,6 +246,7 @@
|
||||||
height: 6rem;
|
height: 6rem;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
padding: 20px 20px 30px 20px;
|
padding: 20px 20px 30px 20px;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
@ -265,6 +257,7 @@
|
||||||
border-left: 6px #0058e1 solid;
|
border-left: 6px #0058e1 solid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-table-thead)>tr>.ant-table-cell {
|
:deep(.ant-table-thead)>tr>.ant-table-cell {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -272,6 +265,7 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-table-tbody)>tr>.ant-table-cell:nth-child(5) {
|
:deep(.ant-table-tbody)>tr>.ant-table-cell:nth-child(5) {
|
||||||
// width: 110px;
|
// width: 110px;
|
||||||
// display: inline-block;
|
// display: inline-block;
|
||||||
|
@ -279,6 +273,7 @@
|
||||||
// overflow: hidden;
|
// overflow: hidden;
|
||||||
// text-overflow: ellipsis;
|
// text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.oddNumbers {
|
.oddNumbers {
|
||||||
margin-bottom: 0.05rem;
|
margin-bottom: 0.05rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!--
|
||||||
|
* @Description: 我的申请 设备申请 查看详情
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="device-detail-box">
|
||||||
|
<div v-for="(db, key) in wrjData" :key="key">
|
||||||
|
<template v-if="typeof db == 'object'">
|
||||||
|
<div style="
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin: 10px 0;
|
||||||
|
text-align: center;
|
||||||
|
">
|
||||||
|
{{ db.attrType || '--' }}
|
||||||
|
</div>
|
||||||
|
<template v-if="db.attrValue">
|
||||||
|
<div style="padding: 0 30px" v-for="(value, key2) in JSON.parse(db.attrValue)" :key="value">
|
||||||
|
{{ key2 + ':' + value }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import { ref, defineProps, watch } from 'vue'
|
||||||
|
const props = defineProps({
|
||||||
|
refObj: { type: Object, default: null },
|
||||||
|
})
|
||||||
|
const wrjData = ref([])
|
||||||
|
wrjData.value = props.refObj.deviceAttrDTOList || []
|
||||||
|
|
||||||
|
watch(() => props.refObj, (val) => {
|
||||||
|
wrjData.value = val.deviceAttrDTOList || []
|
||||||
|
}, { immediate: true, deep: true })
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.device-detail-box {
|
||||||
|
height: 6rem;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,23 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="on-the-right-side-of-the-list">
|
<div class="on-the-right-side-of-the-list">
|
||||||
<div class="title" style="margin-bottom: 0.2rem">我的申请</div>
|
<div class="title" style="margin-bottom: 0.2rem">我的申请</div>
|
||||||
<!-- <div class="sousuokuang">
|
|
||||||
<a-input-search
|
|
||||||
v-model:value="name"
|
|
||||||
placeholder="请输入关键词"
|
|
||||||
enter-button="搜索"
|
|
||||||
size="large"
|
|
||||||
@change="onSearch"
|
|
||||||
@search="getApplyList(name)"
|
|
||||||
/>
|
|
||||||
<a-button
|
|
||||||
type="primary"
|
|
||||||
style="width: 90px; height: 36px; margin-left: 10px"
|
|
||||||
@click="replacement"
|
|
||||||
>
|
|
||||||
重置
|
|
||||||
</a-button>
|
|
||||||
</div> -->
|
|
||||||
<div class="tab" style="margin-bottom: 0.1rem">
|
<div class="tab" style="margin-bottom: 0.1rem">
|
||||||
<span>类型</span>
|
<span>类型</span>
|
||||||
<div
|
<div
|
||||||
|
@ -33,7 +16,7 @@
|
||||||
<span>申请状态</span>
|
<span>申请状态</span>
|
||||||
<div
|
<div
|
||||||
:class="tabIndex == index ? 'tabclass' : ' '"
|
:class="tabIndex == index ? 'tabclass' : ' '"
|
||||||
@click="tabqiehuan(item, index)"
|
@click="changeApplyState(item, index)"
|
||||||
v-for="(item, index) in tabList"
|
v-for="(item, index) in tabList"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
>
|
||||||
|
@ -64,140 +47,36 @@
|
||||||
{{ item.cameraList ? item.system : item.title }}
|
{{ item.cameraList ? item.system : item.title }}
|
||||||
</template>
|
</template>
|
||||||
<div class="content-body-title">
|
<div class="content-body-title">
|
||||||
<!-- <span
|
|
||||||
v-if="item.cameraList && item.ended"
|
|
||||||
@click="showVideoList(item)"
|
|
||||||
>
|
|
||||||
名称:{{ item.cameraList ? item.system : item.title }}
|
|
||||||
</span> -->
|
|
||||||
<span>
|
<span>
|
||||||
名称:{{ item.cameraList ? item.system : item.title }}
|
名称:{{ item.cameraList ? item.system : item.title }}
|
||||||
</span>
|
</span>
|
||||||
<div></div>
|
<div></div>
|
||||||
</div>
|
</div>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<!-- <div class="content-body-content">
|
|
||||||
<p class="content-body-content-son">
|
|
||||||
流程类型:{{ item.processDefinitionName }}
|
|
||||||
</p>
|
|
||||||
</div> -->
|
|
||||||
<div class="content-body-content">
|
<div class="content-body-content">
|
||||||
<p class="content-body-content-son">
|
<p class="content-body-content-son" v-if="typeName !== '设备申请'">
|
||||||
审核结果:{{ item.ended ? '审核完成' : '审核中' }}
|
审核结果:{{ item.ended ? '审核完成' : '审核中' }}
|
||||||
</p>
|
</p>
|
||||||
|
<p class="content-body-content-son" v-else>
|
||||||
|
审核结果:{{ item.state === 0 ? '审核中' : '审核完成' }}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="content-body-content" v-if="item.currentTaskList">
|
|
||||||
<p class="content-body-content-son" v-if="!item.backToFirst">
|
|
||||||
当前节点:{{ item.currentTaskList[0].taskName }}
|
|
||||||
</p>
|
|
||||||
</div> -->
|
|
||||||
<!-- <div>
|
|
||||||
<p
|
|
||||||
class="content-body-content-son"
|
|
||||||
v-if="item.name === '申请摄像头列表'"
|
|
||||||
>
|
|
||||||
<span>
|
|
||||||
申请结果:{{
|
|
||||||
'列表地址:' +
|
|
||||||
backUrl +
|
|
||||||
'resource/getApplyCameraList/' +
|
|
||||||
item.processInstanceId +
|
|
||||||
';' +
|
|
||||||
'视频流地址:' +
|
|
||||||
backUrl +
|
|
||||||
'/resource/hls/getHls/?channelId='
|
|
||||||
}}
|
|
||||||
</span>
|
|
||||||
<a-button
|
|
||||||
type="primary"
|
|
||||||
size="small"
|
|
||||||
@click="
|
|
||||||
copyComment(
|
|
||||||
'列表地址:' +
|
|
||||||
backUrl +
|
|
||||||
'resource/getApplyCameraList/' +
|
|
||||||
item.processInstanceId +
|
|
||||||
';' +
|
|
||||||
'视频流地址:' +
|
|
||||||
backUrl +
|
|
||||||
'/resource/hls/getHls/?channelId='
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</a-button>
|
|
||||||
</p>
|
|
||||||
<template v-else>
|
|
||||||
<p
|
|
||||||
class="content-body-content-son"
|
|
||||||
v-if="item.approveStatus == '通过'"
|
|
||||||
>
|
|
||||||
<span>申请结果:{{ item.comment || '暂无' }}</span>
|
|
||||||
<a-button
|
|
||||||
v-if="item.comment"
|
|
||||||
type="primary"
|
|
||||||
size="small"
|
|
||||||
@click="copyComment(item.comment)"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</a-button>
|
|
||||||
</p>
|
|
||||||
</template>
|
|
||||||
</div> -->
|
|
||||||
<!-- <div class="content-body-title"></div>
|
|
||||||
<div class="content-body-content">
|
|
||||||
<p class="content-body-content-son"></p>
|
|
||||||
<div></div>
|
|
||||||
</div> -->
|
|
||||||
<!-- <div class="content-body-bottom" v-if="item.currentTaskList">
|
|
||||||
<div>申请日期:{{ item.currentTaskList[0].createTime }}</div>
|
|
||||||
<div>审批人:{{ item.currentTaskList[0].assigneeName }}</div>
|
|
||||||
</div> -->
|
|
||||||
<div class="content-body-bottom">
|
<div class="content-body-bottom">
|
||||||
<div>申请日期:{{ item.createDate || item.startTime }}</div>
|
<div>申请日期:{{ item.createDate || item.startTime }}</div>
|
||||||
<div></div>
|
<div></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="button-box">
|
<div class="button-box">
|
||||||
|
<div
|
||||||
|
class="button"
|
||||||
|
v-if="typeName == '设备申请' && phoneSate.includes(item.state)"
|
||||||
|
@click="showPhoneModal(item)"
|
||||||
|
>
|
||||||
|
联系方式
|
||||||
|
</div>
|
||||||
<div class="button" @click="showDetail(item)">查看详情</div>
|
<div class="button" @click="showDetail(item)">查看详情</div>
|
||||||
<div class="button" @click="showAdd(item)" v-if="item.backToFirst">
|
<div class="button" @click="showAdd(item)" v-if="item.backToFirst">
|
||||||
修改
|
修改
|
||||||
</div>
|
</div>
|
||||||
<!-- <div
|
|
||||||
v-if="
|
|
||||||
!(
|
|
||||||
(item.processDefinitionName == '能力需求申请' ||
|
|
||||||
item.processDefinitionName == '能力资源上架') &&
|
|
||||||
item.ended == false
|
|
||||||
)
|
|
||||||
"
|
|
||||||
v-show="
|
|
||||||
item.resourceStatusTip == '正常' &&
|
|
||||||
item.ended &&
|
|
||||||
item.processDefinitionName !== '能力申请'
|
|
||||||
"
|
|
||||||
class="button button-details"
|
|
||||||
@click="
|
|
||||||
viewDetail(
|
|
||||||
item.processDefinitionName,
|
|
||||||
item.resourceId,
|
|
||||||
item.ended,
|
|
||||||
item.businessKey
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
|
||||||
查看详情
|
|
||||||
</div> -->
|
|
||||||
<!-- <div
|
|
||||||
class="button button-state"
|
|
||||||
:class="{
|
|
||||||
buttonAgree: item.ended,
|
|
||||||
backToFirst: item.backToFirst,
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
{{
|
|
||||||
item.ended ? '审核完成' : item.backToFirst ? '被驳回' : '审核中'
|
|
||||||
}}
|
|
||||||
</div> -->
|
|
||||||
<svg
|
<svg
|
||||||
t="1652233950228"
|
t="1652233950228"
|
||||||
class="icon"
|
class="icon"
|
||||||
|
@ -300,20 +179,29 @@
|
||||||
</a-table>
|
</a-table>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 联系方式弹框 -->
|
||||||
|
<a-modal
|
||||||
|
v-model:visible="phoneVisible"
|
||||||
|
title="提示"
|
||||||
|
@ok="phoneVisible = false"
|
||||||
|
>
|
||||||
|
<!-- 工业信息化局那个号,电话配这个号:199 6399 0996 -->
|
||||||
|
<p>请联系工业信息化局,电话:199 6399 0996</p>
|
||||||
|
</a-modal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
// import qs from 'qs'
|
import { onMounted, reactive, ref, onBeforeUnmount, h } from 'vue'
|
||||||
import { onMounted, reactive, ref, onBeforeUnmount } from 'vue'
|
|
||||||
import {
|
import {
|
||||||
getMyProcessInstancePage,
|
getMyProcessInstancePage,
|
||||||
// getTaskHandleDetailInfo,
|
|
||||||
getTabilityapplication,
|
getTabilityapplication,
|
||||||
getByApplyFlag,
|
getByApplyFlag,
|
||||||
nengliziyuanshangjiaapply,
|
nengliziyuanshangjiaapply,
|
||||||
getDemandForm,
|
getDemandForm,
|
||||||
demandComment,
|
demandComment,
|
||||||
// getProcDefBizRoute,
|
deviceApplylist,
|
||||||
|
getDeviceDetail,
|
||||||
} from '@/api/personalCenter'
|
} from '@/api/personalCenter'
|
||||||
import {
|
import {
|
||||||
updateRes,
|
updateRes,
|
||||||
|
@ -326,21 +214,36 @@
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import ApplyDetails from '@/views/personalCenter/components/ApplyDetails'
|
import ApplyDetails from '@/views/personalCenter/components/ApplyDetails'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
|
import * as moment from 'moment'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
let typeList = ref([
|
let typeList = ref([
|
||||||
'能力申请',
|
'能力申请',
|
||||||
'能力评价',
|
|
||||||
'能力上架',
|
'能力上架',
|
||||||
'能力下架',
|
'能力下架',
|
||||||
'能力需求',
|
'能力需求',
|
||||||
'需求评论',
|
'需求评论',
|
||||||
|
'能力评价',
|
||||||
])
|
])
|
||||||
|
// 西海岸-设备申请
|
||||||
|
let isXiHaiAn = whoShow.itShowXiHaiAn
|
||||||
|
const phoneSate = ref([2, 3])
|
||||||
|
if (isXiHaiAn) {
|
||||||
|
typeList.value.push('设备申请')
|
||||||
|
}
|
||||||
|
const typeStrObj = {
|
||||||
|
能力上架: 'resourcemountapply',
|
||||||
|
能力下架: 'resourcundercarriageapply',
|
||||||
|
能力需求: 'abilitydemandapply',
|
||||||
|
需求评论: 'comment_review',
|
||||||
|
}
|
||||||
let tabList = ref(['全部', '审核中', '审核完成'])
|
let tabList = ref(['全部', '审核中', '审核完成'])
|
||||||
const contentList = reactive({ data: [] })
|
const contentList = reactive({ data: [] })
|
||||||
// const contentListClone = reactive({ data: [] })
|
|
||||||
// let contentListLength = contentList.length
|
|
||||||
let tabIndex = ref(0)
|
let tabIndex = ref(0)
|
||||||
let typeIndex = ref(0)
|
let typeIndex = ref(0)
|
||||||
|
let typeName = ref(typeList.value[0])
|
||||||
|
|
||||||
const videoVisible = ref(false)
|
const videoVisible = ref(false)
|
||||||
const numFlag = ref(true)
|
const numFlag = ref(true)
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
|
@ -350,8 +253,9 @@
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
const xVideoList = ref([])
|
const xVideoList = ref([])
|
||||||
function tabqiehuan(item, index) {
|
|
||||||
// debugger
|
// 申请状态切换
|
||||||
|
function changeApplyState(item, index) {
|
||||||
tabIndex.value = index
|
tabIndex.value = index
|
||||||
switch (item) {
|
switch (item) {
|
||||||
case '审核中':
|
case '审核中':
|
||||||
|
@ -373,14 +277,15 @@
|
||||||
}
|
}
|
||||||
// 选择类型
|
// 选择类型
|
||||||
const changeType = (item, index) => {
|
const changeType = (item, index) => {
|
||||||
|
console.log('item, index-----选择类型------->', item, index)
|
||||||
numFlag.value = true
|
numFlag.value = true
|
||||||
num.value = []
|
num.value = []
|
||||||
showType.value = ''
|
showType.value = ''
|
||||||
console.log(item, index)
|
|
||||||
tabIndex.value = 0
|
tabIndex.value = 0
|
||||||
ended.value = ''
|
ended.value = ''
|
||||||
page.value = 1
|
page.value = 1
|
||||||
typeIndex.value = index
|
typeIndex.value = index
|
||||||
|
typeName.value = item
|
||||||
getApplyList()
|
getApplyList()
|
||||||
}
|
}
|
||||||
let name = ref('')
|
let name = ref('')
|
||||||
|
@ -396,13 +301,22 @@
|
||||||
const taskId = ref('')
|
const taskId = ref('')
|
||||||
const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
|
const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
|
||||||
const refObj = ref({})
|
const refObj = ref({})
|
||||||
|
|
||||||
const showDetail = (item) => {
|
const showDetail = (item) => {
|
||||||
console.log('showDetail', item)
|
// 西海岸-申请时间过期,提示
|
||||||
// getProcDefBizRoute(item.processDefinitionId)
|
if (isXiHaiAn) {
|
||||||
if (typeIndex.value == 0 && item.applyFlag) {
|
if (item.expireDate) {
|
||||||
|
let diff = moment().diff(moment(item.expireDate), 'seconds')
|
||||||
|
if (diff > 0) {
|
||||||
|
return message.error('当前申请已过期!')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (typeName.value == '能力申请' && item.applyFlag) {
|
||||||
getByApplyFlag(item.applyFlag).then((res) => {
|
getByApplyFlag(item.applyFlag).then((res) => {
|
||||||
if (res.data.code == 0) {
|
if (res.data.code == 0) {
|
||||||
refObj.value = res.data.data
|
refObj.value = res.data.data
|
||||||
|
|
||||||
detailsVisible.value = true
|
detailsVisible.value = true
|
||||||
processDefinitionName.value = item.processDefinitionName
|
processDefinitionName.value = item.processDefinitionName
|
||||||
businessKey.value = item.businessKey
|
businessKey.value = item.businessKey
|
||||||
|
@ -412,7 +326,23 @@
|
||||||
message.error('数据请求失败!')
|
message.error('数据请求失败!')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (typeIndex.value !== 1) {
|
} else if (typeName.value == '设备申请') {
|
||||||
|
getDeviceDetailInfo(item.deviceId)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
refObj.value = res.data.data
|
||||||
|
detailsVisible.value = true
|
||||||
|
processDefinitionName.value = item.processDefinitionName
|
||||||
|
// businessKey.value = item.businessKey
|
||||||
|
// processInstanceId.value = item.processInstanceId
|
||||||
|
// resourceId.value = item.resourceId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {})
|
||||||
|
} else if (
|
||||||
|
Object.keys(typeStrObj).includes(typeName.value) ||
|
||||||
|
typeName.value == '能力评价'
|
||||||
|
) {
|
||||||
refObj.value = item
|
refObj.value = item
|
||||||
detailsVisible.value = true
|
detailsVisible.value = true
|
||||||
processDefinitionName.value = item.processDefinitionName
|
processDefinitionName.value = item.processDefinitionName
|
||||||
|
@ -446,10 +376,6 @@
|
||||||
oInput.remove()
|
oInput.remove()
|
||||||
}
|
}
|
||||||
const showAdd = (item) => {
|
const showAdd = (item) => {
|
||||||
// resourcemountapply 上架申请
|
|
||||||
// resourcundercarriageapply 下架申请
|
|
||||||
// abilitydemandapply 需求申请
|
|
||||||
// abilityprocess 能力申请
|
|
||||||
if (item.processDefinitionKey == 'resourcemountapply') {
|
if (item.processDefinitionKey == 'resourcemountapply') {
|
||||||
const data = {
|
const data = {
|
||||||
id: item.resourceId,
|
id: item.resourceId,
|
||||||
|
@ -582,7 +508,7 @@
|
||||||
if (ended.value === '') {
|
if (ended.value === '') {
|
||||||
delete params.ended
|
delete params.ended
|
||||||
}
|
}
|
||||||
if (typeIndex.value == 0) {
|
if (typeName.value == '能力申请') {
|
||||||
getTabilityapplication(params).then((res) => {
|
getTabilityapplication(params).then((res) => {
|
||||||
contentList.data = []
|
contentList.data = []
|
||||||
console.log('获取我的申请===============>', res.data.data)
|
console.log('获取我的申请===============>', res.data.data)
|
||||||
|
@ -591,25 +517,32 @@
|
||||||
showType.value = '能力申请'
|
showType.value = '能力申请'
|
||||||
initNum2()
|
initNum2()
|
||||||
})
|
})
|
||||||
} else if (typeIndex.value !== 1) {
|
} else if (typeName.value == '能力评价') {
|
||||||
switch (typeIndex.value) {
|
contentList.data = []
|
||||||
case 2:
|
num.value = []
|
||||||
params.processDefinitionKey = 'resourcemountapply'
|
showType.value = ''
|
||||||
processDefinitionKey.value = 'resourcemountapply'
|
} else if (typeName.value == '设备申请') {
|
||||||
break
|
let _state =
|
||||||
case 3:
|
ended.value === ''
|
||||||
params.processDefinitionKey = 'resourcundercarriageapply'
|
? '全部'
|
||||||
processDefinitionKey.value = 'resourcundercarriageapply'
|
: ended.value === true
|
||||||
break
|
? '审核完成'
|
||||||
case 4:
|
: '审核中'
|
||||||
params.processDefinitionKey = 'abilitydemandapply'
|
getDeviceApply(_state)
|
||||||
processDefinitionKey.value = 'abilitydemandapply'
|
.then((res) => {
|
||||||
break
|
if (res.data.code == 0) {
|
||||||
case 5:
|
contentList.data = []
|
||||||
params.processDefinitionKey = 'comment_review'
|
contentList.data = res.data.data.list || []
|
||||||
processDefinitionKey.value = 'comment_review'
|
total.value = res.data.data.total
|
||||||
break
|
showType.value = '设备申请'
|
||||||
|
// 获取审核中,审核完成 数量
|
||||||
|
getDeviceNum()
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {})
|
||||||
|
} else if (Object.keys(typeStrObj).includes(typeName.value)) {
|
||||||
|
processDefinitionKey.value = typeStrObj[typeName.value]
|
||||||
|
params.processDefinitionKey = processDefinitionKey.value
|
||||||
getMyProcessInstancePage(params).then((res) => {
|
getMyProcessInstancePage(params).then((res) => {
|
||||||
contentList.data = []
|
contentList.data = []
|
||||||
// initNum(name.value)
|
// initNum(name.value)
|
||||||
|
@ -637,7 +570,6 @@
|
||||||
showType.value = '能力下架'
|
showType.value = '能力下架'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// params.processDefinitionKey = 'resourcundercarriageapply'
|
|
||||||
break
|
break
|
||||||
case 4:
|
case 4:
|
||||||
contentList.data.map((val) => {
|
contentList.data.map((val) => {
|
||||||
|
@ -649,7 +581,6 @@
|
||||||
showType.value = '能力需求'
|
showType.value = '能力需求'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// params.processDefinitionKey = 'abilitydemandapply'
|
|
||||||
break
|
break
|
||||||
case 5:
|
case 5:
|
||||||
contentList.data.map((val) => {
|
contentList.data.map((val) => {
|
||||||
|
@ -661,31 +592,8 @@
|
||||||
showType.value = '需求评论'
|
showType.value = '需求评论'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// params.processDefinitionKey = 'comment_review'
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// if (contentList.data && contentList.data.length > 0) {
|
|
||||||
// contentList.data.map((item) => {
|
|
||||||
// const param = {
|
|
||||||
// page: 1,
|
|
||||||
// limit: 4,
|
|
||||||
// processInstanceId: item.processInstanceId,
|
|
||||||
// }
|
|
||||||
// getTaskHandleDetailInfo(qs.stringify(param)).then((res) => {
|
|
||||||
// console.log('申请结果', res.data.data, res.data.data[0].comment)
|
|
||||||
// const result = res.data.data
|
|
||||||
// if (result && result.length > 2) {
|
|
||||||
// item.comment =
|
|
||||||
// result[0].comment.length > result[1].comment.length
|
|
||||||
// ? result[0].comment
|
|
||||||
// : result[1].comment
|
|
||||||
// } else {
|
|
||||||
// item.comment = result[0].comment
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// return item
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
contentList.data = []
|
contentList.data = []
|
||||||
|
@ -756,6 +664,67 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 西海岸:设备申请列表 todo
|
||||||
|
const getDeviceApply = (state) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
let _data = {
|
||||||
|
page: page.value,
|
||||||
|
limit: 4,
|
||||||
|
state,
|
||||||
|
}
|
||||||
|
deviceApplylist(_data)
|
||||||
|
.then((res) => {
|
||||||
|
resolve(res)
|
||||||
|
console.log('res----设备申请-------->', res)
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
reject(err)
|
||||||
|
console.log('err------------>', err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 西海岸:设备申请--查询详情
|
||||||
|
const getDeviceDetailInfo = (deviceId) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
getDeviceDetail(deviceId)
|
||||||
|
.then((res) => {
|
||||||
|
resolve(res)
|
||||||
|
console.log('res----查询详情-------->', res)
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
reject(err)
|
||||||
|
console.log('err------------>', err)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 西海岸:设备申请-审核中, 审核完成数量
|
||||||
|
const getDeviceNum = () => {
|
||||||
|
if (!numFlag.value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
num.value = []
|
||||||
|
Promise.all([getDeviceApply('审核中'), getDeviceApply('审核完成')])
|
||||||
|
.then((res) => {
|
||||||
|
console.log('res-----数量------->', res)
|
||||||
|
let unfinished = res[0] && res[0].data && res[0].data.data
|
||||||
|
let finished = res[1] && res[1].data && res[1].data.data
|
||||||
|
num.value.unfinished = unfinished.total || ''
|
||||||
|
num.value.finished = finished.total || ''
|
||||||
|
numFlag.value = false
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log('err------------>', err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const phoneVisible = ref(false)
|
||||||
|
const showPhoneModal = () => {
|
||||||
|
phoneVisible.value = true
|
||||||
|
}
|
||||||
|
|
||||||
mybus.on('closeModal', (obj) => {
|
mybus.on('closeModal', (obj) => {
|
||||||
detailsVisible.value = false
|
detailsVisible.value = false
|
||||||
changeType(obj.type, obj.index)
|
changeType(obj.type, obj.index)
|
||||||
|
@ -781,17 +750,21 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
justify-content: left;
|
justify-content: left;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-family: 'Alibaba PuHuiTi';
|
font-family: 'Alibaba PuHuiTi';
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sousuokuang {
|
.sousuokuang {
|
||||||
margin: 20px 0px 21px 0px;
|
margin: 20px 0px 21px 0px;
|
||||||
|
|
||||||
.ant-input-search {
|
.ant-input-search {
|
||||||
max-width: 490px;
|
max-width: 490px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-input) {
|
:deep(.ant-input) {
|
||||||
width: 400px;
|
width: 400px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
|
@ -799,9 +772,11 @@
|
||||||
color: #b2b2b2;
|
color: #b2b2b2;
|
||||||
background: #f5f5f5;
|
background: #f5f5f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-input-group-addon) {
|
:deep(.ant-input-group-addon) {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
|
||||||
.ant-input-search-button {
|
.ant-input-search-button {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
|
@ -810,10 +785,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab {
|
.tab {
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
// width: 70px;
|
// width: 70px;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
|
@ -826,14 +803,17 @@
|
||||||
color: #666666;
|
color: #666666;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabclass {
|
.tabclass {
|
||||||
border: 1px solid #0087ff;
|
border: 1px solid #0087ff;
|
||||||
color: #0087ff;
|
color: #0087ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
height: 510px;
|
height: 510px;
|
||||||
|
|
||||||
.content-body {
|
.content-body {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
|
@ -841,6 +821,7 @@
|
||||||
height: 150px;
|
height: 150px;
|
||||||
border-bottom: #cccccc 1px solid;
|
border-bottom: #cccccc 1px solid;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.content-body-title {
|
.content-body-title {
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
max-width: 900px;
|
max-width: 900px;
|
||||||
|
@ -853,6 +834,7 @@
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-body-content {
|
.content-body-content {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
@ -860,6 +842,7 @@
|
||||||
/* width: 720px; */
|
/* width: 720px; */
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-body-content-son {
|
.content-body-content-son {
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
@ -872,6 +855,7 @@
|
||||||
// -webkit-box-orient: vertical;
|
// -webkit-box-orient: vertical;
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -883,16 +867,19 @@
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-body-bottom {
|
.content-body-bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #cccccc;
|
color: #cccccc;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|
||||||
div:first-child {
|
div:first-child {
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 30px;
|
bottom: 30px;
|
||||||
|
@ -919,13 +906,16 @@
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttonAgree {
|
.buttonAgree {
|
||||||
background-color: #49c988;
|
background-color: #49c988;
|
||||||
}
|
}
|
||||||
|
|
||||||
.backToFirst {
|
.backToFirst {
|
||||||
background-color: rgb(214, 91, 91);
|
background-color: rgb(214, 91, 91);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-badge-count) {
|
:deep(.ant-badge-count) {
|
||||||
top: -5px;
|
top: -5px;
|
||||||
right: -10px;
|
right: -10px;
|
||||||
|
|
|
@ -2,58 +2,32 @@
|
||||||
<div class="on-the-right-side-of-the-list">
|
<div class="on-the-right-side-of-the-list">
|
||||||
<div class="title">我的发布</div>
|
<div class="title">我的发布</div>
|
||||||
<div class="sousuokuang">
|
<div class="sousuokuang">
|
||||||
<a-input-search
|
<a-input-search v-model:value="name" placeholder="请输入关键词" enter-button="搜索" size="large" @change="onSearch"
|
||||||
v-model:value="name"
|
@search="getApplyList(tabname)" />
|
||||||
placeholder="请输入关键词"
|
<a-button type="primary" style="width: 0.9rem; height: 0.36rem; margin-left: 0.1rem" @click="showModal2">
|
||||||
enter-button="搜索"
|
|
||||||
size="large"
|
|
||||||
@change="onSearch"
|
|
||||||
@search="getApplyList(tabname)"
|
|
||||||
/>
|
|
||||||
<a-button
|
|
||||||
type="primary"
|
|
||||||
style="width: 0.9rem; height: 0.36rem; margin-left: 0.1rem"
|
|
||||||
@click="showModal2"
|
|
||||||
>
|
|
||||||
能力上架
|
能力上架
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button
|
<a-button type="primary" style="width: 0.9rem; height: 0.36rem; margin-left: 0.1rem" @click="replacement">
|
||||||
type="primary"
|
|
||||||
style="width: 0.9rem; height: 0.36rem; margin-left: 0.1rem"
|
|
||||||
@click="replacement"
|
|
||||||
>
|
|
||||||
重置
|
重置
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab">
|
<div class="tab">
|
||||||
<span>能力类型</span>
|
<span>能力类型</span>
|
||||||
<div
|
<div :class="tabIndex == index ? 'tabclass' : ' '" @click="tabqiehuan(item, index)"
|
||||||
:class="tabIndex == index ? 'tabclass' : ' '"
|
v-for="(item, index) in tabList" :key="index">
|
||||||
@click="tabqiehuan(item, index)"
|
|
||||||
v-for="(item, index) in tabList"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab" style="margin-top: 0.1rem">
|
<div class="tab" style="margin-top: 0.1rem">
|
||||||
<span>能力状态</span>
|
<span>能力状态</span>
|
||||||
<div
|
<div :class="tabIndex2 == index ? 'tabclass' : ' '" @click="tabqiehuan2(item, index)"
|
||||||
:class="tabIndex2 == index ? 'tabclass' : ' '"
|
v-for="(item, index) in tabList2" :key="index">
|
||||||
@click="tabqiehuan2(item, index)"
|
|
||||||
v-for="(item, index) in tabList2"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="dataList.data.length > 0">
|
<div v-if="dataList.data.length > 0">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div
|
<div class="content-body" v-for="item in dataList.data" :key="item.index">
|
||||||
class="content-body"
|
|
||||||
v-for="item in dataList.data"
|
|
||||||
:key="item.index"
|
|
||||||
>
|
|
||||||
<div class="content-body-title" v-if="item.currentTaskList">
|
<div class="content-body-title" v-if="item.currentTaskList">
|
||||||
<!-- {{ item.currentTaskList[0].taskName }} -->
|
<!-- {{ item.currentTaskList[0].taskName }} -->
|
||||||
</div>
|
</div>
|
||||||
|
@ -71,57 +45,27 @@
|
||||||
<!-- <div></div> -->
|
<!-- <div></div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="button">
|
<div class="button">
|
||||||
<div
|
<div @click="showModal(item)" v-if="item.delFlag != 2" :class="item.delFlag != 0 ? 'del' : ''">
|
||||||
@click="showModal(item)"
|
|
||||||
v-if="item.delFlag != 2"
|
|
||||||
:class="item.delFlag != 0 ? 'del' : ''"
|
|
||||||
>
|
|
||||||
能力下架
|
能力下架
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div @click="showDetail(item)" v-if="item.delFlag != 2" :class="item.delFlag != 0 ? 'del' : ''">
|
||||||
@click="showDetail(item)"
|
|
||||||
v-if="item.delFlag != 2"
|
|
||||||
:class="item.delFlag != 0 ? 'del' : ''"
|
|
||||||
>
|
|
||||||
查看详情
|
查看详情
|
||||||
</div>
|
</div>
|
||||||
<svg
|
<svg t="1652233950228" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||||
t="1652233950228"
|
p-id="5970" data-spm-anchor-id="a313x.7781069.0.i8" width="80" height="80"
|
||||||
class="icon"
|
v-if="item.delFlag == 4 || item.delFlag == 5" style="position: absolute; top: 0.2rem; left: 0.1rem">
|
||||||
viewBox="0 0 1024 1024"
|
|
||||||
version="1.1"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
p-id="5970"
|
|
||||||
data-spm-anchor-id="a313x.7781069.0.i8"
|
|
||||||
width="80"
|
|
||||||
height="80"
|
|
||||||
v-if="item.delFlag == 4 || item.delFlag == 5"
|
|
||||||
style="position: absolute; top: 0.2rem; left: 0.1rem"
|
|
||||||
>
|
|
||||||
<path
|
<path
|
||||||
d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z"
|
d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z"
|
||||||
fill="#515151"
|
fill="#515151" opacity=".5" p-id="5971"></path>
|
||||||
opacity=".5"
|
|
||||||
p-id="5971"
|
|
||||||
></path>
|
|
||||||
<path
|
<path
|
||||||
d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z"
|
d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z"
|
||||||
fill="#515151"
|
fill="#515151" opacity=".5" p-id="5972"></path>
|
||||||
opacity=".5"
|
|
||||||
p-id="5972"
|
|
||||||
></path>
|
|
||||||
<path
|
<path
|
||||||
d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z"
|
d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z"
|
||||||
fill="#515151"
|
fill="#515151" opacity=".5" p-id="5973"></path>
|
||||||
opacity=".5"
|
|
||||||
p-id="5973"
|
|
||||||
></path>
|
|
||||||
<path
|
<path
|
||||||
d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z"
|
d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z"
|
||||||
fill="#515151"
|
fill="#515151" opacity=".5" p-id="5974"></path>
|
||||||
opacity=".5"
|
|
||||||
p-id="5974"
|
|
||||||
></path>
|
|
||||||
</svg>
|
</svg>
|
||||||
<!-- <div v-if="item.delFlag == 0" class="button-son">审核通过</div>
|
<!-- <div v-if="item.delFlag == 0" class="button-son">审核通过</div>
|
||||||
<div v-if="item.delFlag != 0">未审核</div> -->
|
<div v-if="item.delFlag != 0">未审核</div> -->
|
||||||
|
@ -132,56 +76,24 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<a-pagination
|
<a-pagination size="small" :total="total" show-size-changer show-quick-jumper @change="handleCurrentChange"
|
||||||
size="small"
|
@showSizeChange="handlePageSizeChange" />
|
||||||
:total="total"
|
|
||||||
show-size-changer
|
|
||||||
show-quick-jumper
|
|
||||||
@change="handleCurrentChange"
|
|
||||||
@showSizeChange="handlePageSizeChange"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-empty v-else />
|
<a-empty v-else />
|
||||||
<a-modal
|
<a-modal v-model:visible="detailsVisible" :title="tabname" style="width: 9rem" :footer="null" destroyOnClose="true"
|
||||||
v-model:visible="detailsVisible"
|
:maskClosable="false">
|
||||||
:title="tabname"
|
<publish-details :businessKey="businessKey" :processInstanceId="processInstanceId"></publish-details>
|
||||||
style="width: 9rem"
|
|
||||||
:footer="null"
|
|
||||||
destroyOnClose="true"
|
|
||||||
:maskClosable="false"
|
|
||||||
>
|
|
||||||
<publish-details
|
|
||||||
:businessKey="businessKey"
|
|
||||||
:processInstanceId="processInstanceId"
|
|
||||||
></publish-details>
|
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<a-modal
|
<a-modal v-model:visible="increasedVisible" :title="tabname" style="width: 9rem" :footer="null"
|
||||||
v-model:visible="increasedVisible"
|
destroyOnClose="true" :maskClosable="false">
|
||||||
:title="tabname"
|
|
||||||
style="width: 9rem"
|
|
||||||
:footer="null"
|
|
||||||
destroyOnClose="true"
|
|
||||||
:maskClosable="false"
|
|
||||||
>
|
|
||||||
<the-new-release></the-new-release>
|
<the-new-release></the-new-release>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<a-modal
|
<a-modal v-model:visible="visible" width="12.1rem" @ok="del()" @cancel="reason = ''" footer="">
|
||||||
v-model:visible="visible"
|
|
||||||
width="12.1rem"
|
|
||||||
@ok="del()"
|
|
||||||
@cancel="reason = ''"
|
|
||||||
footer=""
|
|
||||||
>
|
|
||||||
<TheShelvesAbility v-if="visible" :delObj="delObj"></TheShelvesAbility>
|
<TheShelvesAbility v-if="visible" :delObj="delObj"></TheShelvesAbility>
|
||||||
<!-- <a-input v-model:value="reason" placeholder="请输入下架原因" /> -->
|
<!-- <a-input v-model:value="reason" placeholder="请输入下架原因" /> -->
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<a-modal
|
<a-modal v-model:visible="visible2" @ok="handleOk" class="shangjia-class" @cancel="handlecancel">
|
||||||
v-model:visible="visible2"
|
|
||||||
@ok="handleOk"
|
|
||||||
class="shangjia-class"
|
|
||||||
@cancel="handlecancel"
|
|
||||||
>
|
|
||||||
<div class="ant-modal-title" id="vcDialogTitle1">
|
<div class="ant-modal-title" id="vcDialogTitle1">
|
||||||
<div class="showBg"></div>
|
<div class="showBg"></div>
|
||||||
能力上架申请
|
能力上架申请
|
||||||
|
@ -189,22 +101,14 @@
|
||||||
<div class="ability-to-type">
|
<div class="ability-to-type">
|
||||||
<div class="title">能力类型选择</div>
|
<div class="title">能力类型选择</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div
|
<div v-for="item in abilityToType" :key="item" @click="abilityToTypeFunction(item)" :class="
|
||||||
v-for="item in abilityToType"
|
|
||||||
:key="item"
|
|
||||||
@click="abilityToTypeFunction(item)"
|
|
||||||
:class="
|
|
||||||
abilityToTypeFunctionData == item ? 'ability-to-type-down' : ''
|
abilityToTypeFunctionData == item ? 'ability-to-type-down' : ''
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="component-type" v-if="abilityToTypeFunctionData == '组件服务'">
|
||||||
class="component-type"
|
|
||||||
v-if="abilityToTypeFunctionData == '组件服务'"
|
|
||||||
>
|
|
||||||
<div class="title">组件类型选择</div>
|
<div class="title">组件类型选择</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<!-- <a-checkbox-group
|
<!-- <a-checkbox-group
|
||||||
|
@ -213,12 +117,7 @@
|
||||||
:options="componentType"
|
:options="componentType"
|
||||||
/> -->
|
/> -->
|
||||||
<a-radio-group v-model:value="componentTypeValue">
|
<a-radio-group v-model:value="componentTypeValue">
|
||||||
<a-radio
|
<a-radio @click="componentTypeValueFunction(item)" v-for="item in componentType" :key="item" :value="item">
|
||||||
@click="componentTypeValueFunction(item)"
|
|
||||||
v-for="item in componentType"
|
|
||||||
:key="item"
|
|
||||||
:value="item"
|
|
||||||
>
|
|
||||||
{{ item }}
|
{{ item }}
|
||||||
</a-radio>
|
</a-radio>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
|
@ -456,12 +355,13 @@
|
||||||
// 下架能力
|
// 下架能力
|
||||||
const del = () => {
|
const del = () => {
|
||||||
console.log('下架================》', delObj.value)
|
console.log('下架================》', delObj.value)
|
||||||
|
let fileObj = delObj2.value.fileList && delObj2.value.fileList[0] || {}
|
||||||
undercarriage({
|
undercarriage({
|
||||||
reason: delObj2.value.reason,
|
reason: delObj2.value.reason,
|
||||||
title: delObj2.value.title,
|
title: delObj2.value.title,
|
||||||
phone: delObj2.value.phone,
|
phone: delObj2.value.phone,
|
||||||
enclosure: delObj2.value.fileList[0].response.data,
|
enclosure: fileObj.response && fileObj.response.data,
|
||||||
enclosureName: delObj2.value.fileList[0].name,
|
enclosureName: fileObj.name,
|
||||||
resource: [
|
resource: [
|
||||||
{ resourceId: delObj.value.id, resourceName: delObj.value.name },
|
{ resourceId: delObj.value.id, resourceName: delObj.value.name },
|
||||||
],
|
],
|
||||||
|
@ -519,17 +419,21 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
font-size: 0.16rem;
|
font-size: 0.16rem;
|
||||||
justify-content: left;
|
justify-content: left;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 0.2rem;
|
font-size: 0.2rem;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-family: 'Alibaba PuHuiTi';
|
font-family: 'Alibaba PuHuiTi';
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sousuokuang {
|
.sousuokuang {
|
||||||
margin: 0.2rem 0rem 0.21rem 0rem;
|
margin: 0.2rem 0rem 0.21rem 0rem;
|
||||||
|
|
||||||
.ant-input-search {
|
.ant-input-search {
|
||||||
max-width: 4.9rem;
|
max-width: 4.9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-input) {
|
:deep(.ant-input) {
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
height: 0.36rem;
|
height: 0.36rem;
|
||||||
|
@ -537,9 +441,11 @@
|
||||||
color: #b2b2b2;
|
color: #b2b2b2;
|
||||||
background: #f5f5f5;
|
background: #f5f5f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-input-group-addon) {
|
:deep(.ant-input-group-addon) {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-left: 0.1rem;
|
margin-left: 0.1rem;
|
||||||
|
|
||||||
.ant-input-search-button {
|
.ant-input-search-button {
|
||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
height: 0.36rem;
|
height: 0.36rem;
|
||||||
|
@ -548,10 +454,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab {
|
.tab {
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
width: 0.7rem;
|
width: 0.7rem;
|
||||||
height: 0.24rem;
|
height: 0.24rem;
|
||||||
|
@ -562,15 +470,18 @@
|
||||||
color: #666666;
|
color: #666666;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabclass {
|
.tabclass {
|
||||||
border: 0.01rem solid #0087ff;
|
border: 0.01rem solid #0087ff;
|
||||||
color: #0087ff;
|
color: #0087ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding-right: 0.1rem;
|
padding-right: 0.1rem;
|
||||||
height: 5.1rem;
|
height: 5.1rem;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
||||||
.content-body {
|
.content-body {
|
||||||
padding-bottom: 0.2rem;
|
padding-bottom: 0.2rem;
|
||||||
padding-top: 0.2rem;
|
padding-top: 0.2rem;
|
||||||
|
@ -578,16 +489,19 @@
|
||||||
// height: 1.20rem;
|
// height: 1.20rem;
|
||||||
border-bottom: #cccccc 0.01rem solid;
|
border-bottom: #cccccc 0.01rem solid;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.content-body-title {
|
.content-body-title {
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-family: 'Alibaba PuHuiTi';
|
font-family: 'Alibaba PuHuiTi';
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-body-content {
|
.content-body-content {
|
||||||
margin-top: 0.1rem;
|
margin-top: 0.1rem;
|
||||||
margin-bottom: 0.1rem;
|
margin-bottom: 0.1rem;
|
||||||
width: 7.2rem;
|
width: 7.2rem;
|
||||||
|
|
||||||
.content-body-content-son {
|
.content-body-content-son {
|
||||||
line-height: 0.16rem;
|
line-height: 0.16rem;
|
||||||
font-size: 0.12rem;
|
font-size: 0.12rem;
|
||||||
|
@ -602,16 +516,19 @@
|
||||||
color: #999999;
|
color: #999999;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-body-bottom {
|
.content-body-bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #cccccc;
|
color: #cccccc;
|
||||||
font-size: 0.12rem;
|
font-size: 0.12rem;
|
||||||
|
|
||||||
div:first-child {
|
div:first-child {
|
||||||
margin-right: 0.3rem;
|
margin-right: 0.3rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0.3rem;
|
bottom: 0.3rem;
|
||||||
|
@ -625,6 +542,7 @@
|
||||||
width: 0.96rem;
|
width: 0.96rem;
|
||||||
// background: #0087ff;
|
// background: #0087ff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.2rem;
|
||||||
height: 0.3rem;
|
height: 0.3rem;
|
||||||
|
@ -635,16 +553,20 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 0.3rem;
|
line-height: 0.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.del {
|
.del {
|
||||||
background: #ccc;
|
background: #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-son {
|
.button-son {
|
||||||
background: #49c988;
|
background: #49c988;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-state {
|
.button-state {
|
||||||
top: 0.6rem;
|
top: 0.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttonAgree {
|
.buttonAgree {
|
||||||
background-color: #49c988;
|
background-color: #49c988;
|
||||||
}
|
}
|
||||||
|
@ -660,22 +582,27 @@
|
||||||
margin-top: -1.44rem;
|
margin-top: -1.44rem;
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
|
||||||
.ant-radio-inner {
|
.ant-radio-inner {
|
||||||
height: 0.16rem;
|
height: 0.16rem;
|
||||||
width: 0.16rem;
|
width: 0.16rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-radio-inner::after {
|
.ant-radio-inner::after {
|
||||||
background-color: unset;
|
background-color: unset;
|
||||||
background: url('~@/assets/personalCenter/xuanzhong.png') no-repeat;
|
background: url('~@/assets/personalCenter/xuanzhong.png') no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-modal-content {
|
.ant-modal-content {
|
||||||
border-radius: 0.1rem;
|
border-radius: 0.1rem;
|
||||||
|
|
||||||
.ability-to-type,
|
.ability-to-type,
|
||||||
.component-type {
|
.component-type {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.2rem;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
margin-right: 0.2rem;
|
margin-right: 0.2rem;
|
||||||
|
@ -683,8 +610,10 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 0.26rem;
|
height: 0.26rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.ant-radio-group {
|
.ant-radio-group {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
@ -692,10 +621,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ability-to-type {
|
.ability-to-type {
|
||||||
.content {
|
.content {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
margin-right: 0.15rem;
|
margin-right: 0.15rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -711,6 +642,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ability-to-type-down {
|
.ability-to-type-down {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -718,19 +650,23 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-modal-title {
|
.ant-modal-title {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-modal-footer {
|
.ant-modal-footer {
|
||||||
border: 0;
|
border: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-bottom: 0.2rem;
|
padding-bottom: 0.2rem;
|
||||||
|
|
||||||
button {
|
button {
|
||||||
margin-right: 0.2rem;
|
margin-right: 0.2rem;
|
||||||
border-radius: 0.08rem;
|
border-radius: 0.08rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.showBg {
|
.showBg {
|
||||||
height: 0.24rem;
|
height: 0.24rem;
|
||||||
width: 0.24rem;
|
width: 0.24rem;
|
||||||
|
|
|
@ -93,7 +93,10 @@
|
||||||
:checked="val.checked"
|
:checked="val.checked"
|
||||||
@click.stop="checkedDept(val)"
|
@click.stop="checkedDept(val)"
|
||||||
></a-checkbox>
|
></a-checkbox>
|
||||||
<span style="margin-left: 0.2rem">
|
<span style="margin-left: 0.2rem" v-if="itShowXiHaiAn">
|
||||||
|
{{ val.deptName}}
|
||||||
|
</span>
|
||||||
|
<span style="margin-left: 0.2rem" v-else>
|
||||||
{{ val.deptName + '(' + val.count + ')' }}
|
{{ val.deptName + '(' + val.count + ')' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -113,13 +116,13 @@
|
||||||
<a-list-item-meta
|
<a-list-item-meta
|
||||||
:description="
|
:description="
|
||||||
item.description ||
|
item.description ||
|
||||||
(JSON.parse(item.note1) &&
|
(item.note1 && JSON.parse(item.note1) &&
|
||||||
JSON.parse(item.note1)[0] &&
|
JSON.parse(item.note1)[0] &&
|
||||||
JSON.parse(item.note1)[0].channelName +
|
JSON.parse(item.note1)[0].channelName +
|
||||||
'等' +
|
'等' +
|
||||||
JSON.parse(item.note1).length +
|
JSON.parse(item.note1).length +
|
||||||
'个摄像头') ||
|
'个摄像头') ||
|
||||||
'--'
|
''
|
||||||
"
|
"
|
||||||
style="position: relative"
|
style="position: relative"
|
||||||
>
|
>
|
||||||
|
@ -144,8 +147,9 @@
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<span class="type">{{ item.type }}</span>
|
<span class="type">{{ item.type }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- // todo -->
|
||||||
<span class="time">
|
<span class="time">
|
||||||
加购时间:{{ item.time }}
|
<span v-if="!itShowXiHaiAn">加购时间:{{ item.time }}</span>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
title="是否删除该记录?"
|
title="是否删除该记录?"
|
||||||
ok-text="是"
|
ok-text="是"
|
||||||
|
@ -318,6 +322,7 @@
|
||||||
const name = ref('')
|
const name = ref('')
|
||||||
const type = ref('')
|
const type = ref('')
|
||||||
const list = ref([])
|
const list = ref([])
|
||||||
|
const itShowXiHaiAn = whoShow.itShowXiHaiAn;
|
||||||
// 初始化
|
// 初始化
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList('init')
|
getList('init')
|
||||||
|
@ -498,6 +503,8 @@
|
||||||
pageSize: pageSize.value,
|
pageSize: pageSize.value,
|
||||||
name: name.value,
|
name: name.value,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
|
console.log('res---获取信息--------->', res);
|
||||||
|
|
||||||
let statistics = 0
|
let statistics = 0
|
||||||
res.data.data.list.map((val) => {
|
res.data.data.list.map((val) => {
|
||||||
val.initLoading = true
|
val.initLoading = true
|
||||||
|
@ -524,30 +531,13 @@
|
||||||
}
|
}
|
||||||
// console.log('整体页面加载次数===============>', load.value)
|
// console.log('整体页面加载次数===============>', load.value)
|
||||||
// 判断是否有已打开项,如果有重新载入之后自动打开
|
// 判断是否有已打开项,如果有重新载入之后自动打开
|
||||||
debugger
|
|
||||||
list.value = res.data.data.list
|
list.value = res.data.data.list
|
||||||
if (index || index === 0) {
|
if (index || index === 0) {
|
||||||
debugger
|
|
||||||
list.value[index].show = true
|
list.value[index].show = true
|
||||||
// console.log('1111', list.value[index])
|
|
||||||
showNew(list.value[index])
|
showNew(list.value[index])
|
||||||
// showBottom()
|
|
||||||
}
|
}
|
||||||
// list.value = res.data.data.list
|
|
||||||
console.log(
|
|
||||||
'重新请求值',
|
|
||||||
index,
|
|
||||||
// res.data.data.list[index].show,
|
|
||||||
list.value
|
|
||||||
)
|
|
||||||
|
|
||||||
total.value = res.data.data.deptCount
|
total.value = res.data.data.deptCount
|
||||||
console.log(
|
|
||||||
'重新请求值2',
|
|
||||||
index,
|
|
||||||
// res.data.data.list[index].show,
|
|
||||||
list.value
|
|
||||||
)
|
|
||||||
showKey.value++
|
showKey.value++
|
||||||
if (type == 'init' || type == 'changePage') {
|
if (type == 'init' || type == 'changePage') {
|
||||||
getListByDeptId(list.value[0])
|
getListByDeptId(list.value[0])
|
||||||
|
@ -558,12 +548,18 @@
|
||||||
const getListByDeptId = (item) => {
|
const getListByDeptId = (item) => {
|
||||||
console.log(item, 'item')
|
console.log(item, 'item')
|
||||||
if (item.children.length == 0) {
|
if (item.children.length == 0) {
|
||||||
selectResourceListByDept({
|
let _obj = {
|
||||||
pageNum: item.pageNum,
|
pageNum: item.pageNum,
|
||||||
pageSize: item.pageSize,
|
pageSize: item.pageSize,
|
||||||
deptId: item.deptId,
|
deptId: item.deptId || '',
|
||||||
name: name.value,
|
name: name.value,
|
||||||
}).then((res) => {
|
}
|
||||||
|
// 西海岸 todo
|
||||||
|
if(whoShow.itShowXiHaiAn) {
|
||||||
|
_obj.key = item.deptName
|
||||||
|
}
|
||||||
|
selectResourceListByDept(_obj).then((res) => {
|
||||||
|
console.log('res----根据部门查询-------->', res);
|
||||||
// console.log(
|
// console.log(
|
||||||
// '根据部门查询=============>',
|
// '根据部门查询=============>',
|
||||||
// item,
|
// item,
|
||||||
|
@ -641,16 +637,17 @@
|
||||||
}
|
}
|
||||||
// 点击部门多选框
|
// 点击部门多选框
|
||||||
const checkedDept = (item) => {
|
const checkedDept = (item) => {
|
||||||
// console.log(
|
console.log(
|
||||||
// '点击部门多选框==================>',
|
'点击部门多选框==================>',
|
||||||
// item,
|
item,
|
||||||
// checkedList.value,
|
checkedList.value,
|
||||||
// checkAll.value
|
checkAll.value
|
||||||
// )
|
)
|
||||||
item.checked = !item.checked
|
item.checked = !item.checked
|
||||||
if (item.checked) {
|
if (item.checked) {
|
||||||
if (item.children.length > 0) {
|
if (item.children.length > 0) {
|
||||||
item.children.map((val) => {
|
item.children.map((val) => {
|
||||||
|
console.log('val.id------------>', val.id);
|
||||||
if (checkedListAbility.value.indexOf(val.id) == -1) {
|
if (checkedListAbility.value.indexOf(val.id) == -1) {
|
||||||
checkedListAbility.value.push(val.id)
|
checkedListAbility.value.push(val.id)
|
||||||
item.checkedList.push(val.id)
|
item.checkedList.push(val.id)
|
||||||
|
@ -838,8 +835,15 @@
|
||||||
} else {
|
} else {
|
||||||
let arr = []
|
let arr = []
|
||||||
let delArr = []
|
let delArr = []
|
||||||
|
console.log('list.value------------>', list.value);
|
||||||
|
|
||||||
list.value.map((val) => {
|
list.value.map((val) => {
|
||||||
val.arr = val.children.filter((item) => {
|
val.arr = val.children.filter((item) => {
|
||||||
|
if(whoShow.itShowXiHaiAn) {
|
||||||
|
item.type = '基础设施';
|
||||||
|
item.resourceName = '摄像头列表';
|
||||||
|
item.resourceId = '1522550195055828996';
|
||||||
|
}
|
||||||
console.log('选择的数据=============>', item)
|
console.log('选择的数据=============>', item)
|
||||||
if (checkedListAbility.value.indexOf(item.id) > -1) {
|
if (checkedListAbility.value.indexOf(item.id) > -1) {
|
||||||
if (item.delFlag == 0) {
|
if (item.delFlag == 0) {
|
||||||
|
@ -857,6 +861,7 @@
|
||||||
if (arr.length > 0) {
|
if (arr.length > 0) {
|
||||||
console.log('一键申请===================>', arr)
|
console.log('一键申请===================>', arr)
|
||||||
localStorage.setItem('applyList', JSON.stringify(arr))
|
localStorage.setItem('applyList', JSON.stringify(arr))
|
||||||
|
return;
|
||||||
router.push({
|
router.push({
|
||||||
path: '/apply',
|
path: '/apply',
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,45 +1,31 @@
|
||||||
<template>
|
<template>
|
||||||
<div id="aside-menu-container">
|
<div id="aside-menu-container">
|
||||||
<a-menu
|
<a-menu id="aside-menu" v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" mode="inline">
|
||||||
id="aside-menu"
|
<a-menu-item class="aside-menu-item" v-for="item in menuList" :key="item.key" @click="handleClick(item)">
|
||||||
v-model:openKeys="openKeys"
|
<i class="icon" :style="{
|
||||||
v-model:selectedKeys="selectedKeys"
|
|
||||||
mode="inline"
|
|
||||||
>
|
|
||||||
<a-menu-item
|
|
||||||
class="aside-menu-item"
|
|
||||||
v-for="item in menuList"
|
|
||||||
:key="item.key"
|
|
||||||
@click="handleClick(item)"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="icon"
|
|
||||||
:style="{
|
|
||||||
backgroundImage:
|
backgroundImage:
|
||||||
selectedKeys == item.key
|
selectedKeys == item.key
|
||||||
? 'url(' + item.imgActive + ')'
|
? 'url(' + item.imgActive + ')'
|
||||||
: 'url(' + item.img + ')',
|
: 'url(' + item.img + ')',
|
||||||
}"
|
}"></i>
|
||||||
></i>
|
|
||||||
<span>{{ item.title }}</span>
|
<span>{{ item.title }}</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { defineComponent, ref } from 'vue'
|
import { defineComponent, ref, onMounted } from 'vue'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {},
|
components: {},
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
const menuList = [
|
const menuList = [
|
||||||
{
|
// {
|
||||||
title: '申购车',
|
// title: '申购车',
|
||||||
img: require('@/assets/personalCenter/demand.png'),
|
// img: require('@/assets/personalCenter/demand.png'),
|
||||||
imgActive: require('@/assets/personalCenter/demandactive.png'),
|
// imgActive: require('@/assets/personalCenter/demandactive.png'),
|
||||||
key: 'PurchaseVehicle',
|
// key: 'PurchaseVehicle',
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: '我的发布',
|
title: '我的发布',
|
||||||
img: require('@/assets/personalCenter/push.png'),
|
img: require('@/assets/personalCenter/push.png'),
|
||||||
|
@ -52,12 +38,12 @@
|
||||||
imgActive: require('@/assets/personalCenter/applyactive.png'),
|
imgActive: require('@/assets/personalCenter/applyactive.png'),
|
||||||
key: 'apply',
|
key: 'apply',
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: '我的收藏',
|
// title: '我的收藏',
|
||||||
img: require('@/assets/personalCenter/collect.png'),
|
// img: require('@/assets/personalCenter/collect.png'),
|
||||||
imgActive: require('@/assets/personalCenter/collectactive.png'),
|
// imgActive: require('@/assets/personalCenter/collectactive.png'),
|
||||||
key: 'collect',
|
// key: 'collect',
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: '我的浏览',
|
title: '我的浏览',
|
||||||
img: require('@/assets/personalCenter/recent.png'),
|
img: require('@/assets/personalCenter/recent.png'),
|
||||||
|
@ -77,7 +63,12 @@
|
||||||
key: 'remark',
|
key: 'remark',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
const selectedKeys = ref(['PurchaseVehicle'])
|
// 西海岸
|
||||||
|
// if() {
|
||||||
|
|
||||||
|
// }
|
||||||
|
const selectedKeys = ref(['apply'])
|
||||||
|
|
||||||
const type = JSON.parse(window.sessionStorage.getItem('type'))
|
const type = JSON.parse(window.sessionStorage.getItem('type'))
|
||||||
if (type) {
|
if (type) {
|
||||||
selectedKeys.value = [type]
|
selectedKeys.value = [type]
|
||||||
|
@ -87,6 +78,10 @@
|
||||||
mybus.emit('tabsChange', item)
|
mybus.emit('tabsChange', item)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
handleClick(menuList[1])
|
||||||
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
menuList,
|
menuList,
|
||||||
selectedKeys,
|
selectedKeys,
|
||||||
|
@ -106,14 +101,17 @@
|
||||||
height: 60px;
|
height: 60px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #0087ff;
|
color: #0087ff;
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-menu-title-content) {
|
:deep(.ant-menu-title-content) {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
display: block;
|
display: block;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
|
@ -122,14 +120,17 @@
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-menu-item-selected) {
|
:deep(.ant-menu-item-selected) {
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
color: #0087ff;
|
color: #0087ff;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#aside-menu-container::-webkit-scrollbar {
|
#aside-menu-container::-webkit-scrollbar {
|
||||||
width: 0 !important;
|
width: 0 !important;
|
||||||
}
|
}
|
||||||
|
|