Merge branch 'hi-ucs-dev' into release
|
@ -13,7 +13,28 @@
|
|||
|
||||
<style>
|
||||
.el-table th.gutter{
|
||||
display: table-cell!important;
|
||||
display: table-cell !important;
|
||||
}
|
||||
|
||||
.el-button {
|
||||
vertical-align: middle !important;
|
||||
align-items: center !important;
|
||||
display: inline-flex !important;
|
||||
height:32px !important;
|
||||
line-height: 32px !important;
|
||||
justify-content: center !important;
|
||||
min-width: 80px !important;
|
||||
border-radius:2px !important;
|
||||
}
|
||||
.el-button--primary {
|
||||
vertical-align: middle !important;
|
||||
align-items: center !important;
|
||||
display: inline-flex !important;
|
||||
height:32px !important;
|
||||
line-height: 32px !important;
|
||||
justify-content: center !important;
|
||||
min-width: 80px !important;
|
||||
border-radius:2px !important;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-05-11 20:03:41
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-11-11 11:07:09
|
||||
* @LastEditTime: 2022-11-15 19:26:30
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import axios from 'axios'
|
||||
|
@ -102,7 +102,7 @@ http.interceptors.response.use(
|
|||
response['Access-Control-Expose-Headers'] = 'redirect'
|
||||
const { code, message } = response.data
|
||||
if (response.headers.token) {
|
||||
Cookies.set('ucsToken', response.headers.token, { expires: 'session' })
|
||||
Cookies.set('ucsToken', response.headers.token)
|
||||
}
|
||||
if (response.headers.redirect) {
|
||||
window.location.href = response.headers.redirect
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="searchData">{{
|
||||
<el-button type="primary" @click="searchData">{{
|
||||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -16,7 +16,7 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="searchData">{{
|
||||
<el-button type="primary" @click="searchData">{{
|
||||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -16,7 +16,7 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
<el-button type="primary" @click="exportHandle()">{{
|
||||
$t('export')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -35,13 +35,13 @@
|
|||
<el-form-item>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||
type="danger"
|
||||
type="primary"
|
||||
@click="deleteHandle2()"
|
||||
>{{ $t('deleteBatch') }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
@ -636,7 +636,7 @@ export default {
|
|||
this.showPutOnTheShelfFlag = true
|
||||
this.$http.get('/category/getCategoryTree').then((res) => {
|
||||
this.insertList = res.data.data.filter(
|
||||
(item) => item.name === '组件服务一'
|
||||
(item) => item.name === '组件服务'
|
||||
)[0]
|
||||
})
|
||||
},
|
||||
|
@ -887,7 +887,7 @@ export default {
|
|||
UpdateData (item) {
|
||||
this.$http.get('/category/getCategoryTree').then((res) => {
|
||||
this.insertList = res.data.data.filter(
|
||||
(item) => item.name === '组件服务一'
|
||||
(item) => item.name === '组件服务'
|
||||
)[0]
|
||||
this.radio = item.infoList.filter(
|
||||
(val) => val.attrType === '组件类型'
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList2(dataForm.name)">{{
|
||||
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
<el-button type="primary" @click="exportHandle()">{{
|
||||
$t("export")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -37,13 +37,13 @@
|
|||
<el-form-item>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||
type="danger"
|
||||
type="primary"
|
||||
@click="deleteHandle2()"
|
||||
>{{ $t("deleteBatch") }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
@ -577,7 +577,7 @@ export default {
|
|||
showPutOnTheShelf () {
|
||||
this.showPutOnTheShelfFlag2 = true
|
||||
this.$http.get('/category/getCategoryTree').then(res => {
|
||||
this.insertList = res.data.data.filter(item => item.name === '应用资源一')[0]
|
||||
this.insertList = res.data.data.filter(item => item.name === '应用资源')[0]
|
||||
this.putOnTheShelfList = this.insertList.children
|
||||
})
|
||||
},
|
||||
|
@ -747,7 +747,7 @@ export default {
|
|||
// 新修改
|
||||
UpdateData (item) {
|
||||
this.$http.get('/category/getCategoryTree').then(res => {
|
||||
this.insertList = res.data.data.filter(item => item.name === '应用资源一')[0]
|
||||
this.insertList = res.data.data.filter(item => item.name === '应用资源')[0]
|
||||
this.radio = '应用资源'
|
||||
// this.radio = item.infoList.filter(val => val.attrType === '应用资源')[0].attrValue
|
||||
this.putOnTheShelfList = this.insertList.children
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<el-input v-model="dataForm.orderId" :placeholder="$t('infrastructure.resourceName')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>
|
||||
|
|
|
@ -34,9 +34,9 @@
|
|||
<p>
|
||||
<span>应用背景:{{ detailParams.applicationBackground }}</span>
|
||||
</p>
|
||||
<p>
|
||||
<!-- <p>
|
||||
<span>期望效果:{{ detailParams.effectWish }}</span>
|
||||
</p>
|
||||
</p> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -53,13 +53,13 @@
|
|||
<span class="img"></span>
|
||||
<span>{{ item.name }}</span>
|
||||
</div>
|
||||
<div
|
||||
<!-- <div
|
||||
style="
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
"
|
||||
></div>
|
||||
></div> -->
|
||||
<div class="ability" v-for="val in item.list" :key="val.id">
|
||||
<div class="box" v-if="item.list.length > 0">
|
||||
<div class="right">
|
||||
|
@ -280,7 +280,7 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
<style lang="scss" scoped>
|
||||
.title {
|
||||
font-size: 22px;
|
||||
color: #000;
|
||||
|
@ -324,7 +324,7 @@ export default {
|
|||
font-size: 16px;
|
||||
|
||||
span {
|
||||
width: 50px;
|
||||
width: 300px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -334,7 +334,8 @@ export default {
|
|||
.main {
|
||||
.item {
|
||||
border-top: 1px #eee solid;
|
||||
|
||||
line-height: 30px;
|
||||
margin-bottom: 10px;
|
||||
.deptName {
|
||||
color: #0058e1;
|
||||
font-size: 16px;
|
||||
|
|
|
@ -1,27 +1,8 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="container">
|
||||
<!-- <div class='container-left' v-if='homeIsShow'>
|
||||
<div class='left-search'>
|
||||
<div>
|
||||
<input type="text" class='input-style' placeholder="请输入部门关键词" v-model="inputTxt">
|
||||
<div class='input-search' @click='searchBtn'>
|
||||
<img src="@/assets/img/搜索.png" style='margin-top:7px;margin-left:16px' >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-tree
|
||||
class='tree-style'
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
accordion
|
||||
@node-click="handleNodeClick">
|
||||
<span slot-scope="{ node }" class='tree-text-style'>
|
||||
<img src="@/assets/img/一级图标.png" style="width: 16px; height: 16px" />
|
||||
{{ node.label }}
|
||||
</span>
|
||||
</el-tree>
|
||||
</div> -->
|
||||
|
||||
|
||||
<el-form :inline="true">
|
||||
<!--起始日期 @keyup.enter.native="getDataList()"-->
|
||||
<el-form-item>
|
||||
|
@ -71,14 +52,14 @@
|
|||
<!--资源名称 仅明细添加-->
|
||||
|
||||
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
|
||||
<span>名称:</span>
|
||||
<!-- <span v-if="this.departmentId === 2 || this.departmentId === 4">资源名称:</span> -->
|
||||
<el-input v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
|
||||
<el-input style="width:80%;" v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-form :inline="true" style="display: flex;justify-content: end;margin-right: 40px;">
|
||||
<el-form :inline="true" style="margin-right: 40px;">
|
||||
<!--操作按钮查询-->
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<!--操作按钮重置-->
|
||||
<el-form-item>
|
||||
|
@ -1179,16 +1160,17 @@ input::placeholder {
|
|||
}
|
||||
|
||||
.export {
|
||||
margin-top: 6px;
|
||||
display: inline-block;
|
||||
width: 70px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
width: 80px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
text-align: center;
|
||||
border-radius: 5px;
|
||||
border-radius: 2px;
|
||||
background: #fff;
|
||||
border: 1px solid #dcdfe6;
|
||||
border: 2px solid #dcdfe6;
|
||||
color: #000;
|
||||
color: #FFF;
|
||||
color: #fff;
|
||||
background-color: #0058e1;
|
||||
border-color: #0058e1;
|
||||
text-decoration: none;
|
||||
|
@ -1197,7 +1179,6 @@ input::placeholder {
|
|||
.export:hover {
|
||||
background: #65a5f9;
|
||||
border-color: #65a5f9;
|
||||
color: #FFF;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
@ -60,7 +60,25 @@
|
|||
</el-tooltip>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="dataForm.enclosure" label="申请附件" prop="enclosure">
|
||||
<el-button @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-button>
|
||||
<button
|
||||
style="
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
margin-right: 10px;
|
||||
background: rgb(237, 244, 252);
|
||||
color: rgb(0, 135, 255);
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgb(187, 211, 239);
|
||||
padding: 0px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
"
|
||||
@click="downloadFile(dataForm.enclosure, '申请附件')"
|
||||
>
|
||||
附件下载
|
||||
</button>
|
||||
<!-- <el-button class="DownloadAttachment" @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-button> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 流程综合组件 -->
|
||||
|
@ -73,11 +91,16 @@
|
|||
></ren-process-multiple> -->
|
||||
<!-- 审批 -->
|
||||
<div class="agreeOr" v-if="taskId">
|
||||
<div>
|
||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<div class="approvalOperation">
|
||||
<!-- <el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<el-button type="danger" plain @click="showDialog('拒绝')"
|
||||
>驳回</el-button
|
||||
>
|
||||
> -->
|
||||
<div class="contentOperation">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 审批弹窗 -->
|
||||
|
@ -221,46 +244,46 @@ export default {
|
|||
},
|
||||
// 同意与退回
|
||||
agreeOrNot: debounce(
|
||||
function (data) {
|
||||
function (data, type) {
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
if (this.dialogType === '同意') {
|
||||
if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
return
|
||||
if (type === '同意') {
|
||||
// if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input || '同意'
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
} else {
|
||||
this.$message.error('请输入审批意见!')
|
||||
}
|
||||
} else if (this.dialogType === '拒绝') {
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
// } else {
|
||||
// this.$message.error('请输入审批意见!')
|
||||
// }
|
||||
} else if (type === '驳回') {
|
||||
if (this.input !== '') {
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
|
@ -334,6 +357,11 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.DownloadAttachment {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: -150px;
|
||||
}
|
||||
.agreeOr {
|
||||
& > div {
|
||||
// text-align: right;
|
||||
|
@ -341,4 +369,102 @@ export default {
|
|||
margin: 20px 0;
|
||||
}
|
||||
}
|
||||
.approvalOperation{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.contentOperation{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 10px;
|
||||
.el-input{
|
||||
margin-left: 0px;
|
||||
width: 500px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
.el-input__inner{
|
||||
height: 32px;
|
||||
width: 500px;
|
||||
line-height: 32px;
|
||||
}
|
||||
}
|
||||
.agreeButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin-left: 10px;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
background-color: #0058e1;
|
||||
}
|
||||
.agreeButton:hover{
|
||||
background: #65a5f9;
|
||||
border-color: #65a5f9;
|
||||
color: #FFF;
|
||||
}
|
||||
.rejectButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #F56C6C;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #F56C6C;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.rejectButton:hover{
|
||||
background-color: #F56C6C;
|
||||
border-color: #F56C6C;
|
||||
color: #ffffff;
|
||||
}
|
||||
.transferButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #0058e1;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #0058e1;
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -32,11 +32,16 @@
|
|||
></ren-process-multiple> -->
|
||||
<!-- 审批 -->
|
||||
<div class="agreeOr" v-if="taskId">
|
||||
<div>
|
||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<div class="approvalOperation">
|
||||
<!-- <el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<el-button type="danger" plain @click="showDialog('拒绝')"
|
||||
>驳回</el-button
|
||||
>
|
||||
> -->
|
||||
<div class="contentOperation">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'拒绝')">驳回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 审批弹窗 -->
|
||||
|
@ -149,46 +154,46 @@ export default {
|
|||
},
|
||||
// 同意与退回
|
||||
agreeOrNot: debounce(
|
||||
function (data) {
|
||||
function (data, type) {
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
if (this.dialogType === '同意') {
|
||||
if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
return
|
||||
if (type === '同意') {
|
||||
// if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input || '同意'
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
} else {
|
||||
this.$message.error('请输入审批意见!')
|
||||
}
|
||||
} else if (this.dialogType === '拒绝') {
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
// } else {
|
||||
// this.$message.error('请输入审批意见!')
|
||||
// }
|
||||
} else if (type === '拒绝') {
|
||||
if (this.input !== '') {
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
|
@ -291,4 +296,102 @@ export default {
|
|||
height: 100px;
|
||||
resize: none;
|
||||
}
|
||||
.approvalOperation{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.contentOperation{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 10px;
|
||||
.el-input{
|
||||
margin-left: 0px;
|
||||
width: 500px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
.el-input__inner{
|
||||
height: 32px;
|
||||
width: 500px;
|
||||
line-height: 32px;
|
||||
}
|
||||
}
|
||||
.agreeButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin-left: 10px;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
background-color: #0058e1;
|
||||
}
|
||||
.agreeButton:hover{
|
||||
background: #65a5f9;
|
||||
border-color: #65a5f9;
|
||||
color: #FFF;
|
||||
}
|
||||
.rejectButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #F56C6C;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #F56C6C;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.rejectButton:hover{
|
||||
background-color: #F56C6C;
|
||||
border-color: #F56C6C;
|
||||
color: #ffffff;
|
||||
}
|
||||
.transferButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #0058e1;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #0058e1;
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-button v-if="$hasPermission('sys:correction:all')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:correction:all')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:correction:all')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -234,42 +234,42 @@ export default {
|
|||
function (data) {
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
if (this.dialogType === '同意') {
|
||||
if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
return
|
||||
// if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input || '同意'
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
} else {
|
||||
this.$message.error('请输入审批意见!')
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
// } else {
|
||||
// this.$message.error('请输入审批意见!')
|
||||
// }
|
||||
} else if (this.dialogType === '拒绝') {
|
||||
if (this.input !== '') {
|
||||
const params = qs.stringify({
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{
|
||||
<el-button type="primary" @click="deleteHandle()">{{
|
||||
$t("deleteBatch")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<el-button type="primary" class="button-new" @click="flashTableData"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button @click="restTableData">重置</el-button>
|
||||
<el-button type="primary" @click="restTableData">重置</el-button>
|
||||
<div style="float: right">
|
||||
<el-button
|
||||
size="mini"
|
||||
|
@ -521,12 +521,11 @@ export default {
|
|||
})
|
||||
.then(async () => {
|
||||
let ids = []
|
||||
if (this.deleteDataArr.length > 1) {
|
||||
if(row.id && this.deleteDataArr.length==0){
|
||||
ids = [row.id]
|
||||
}else{
|
||||
ids = this.deleteDataArr
|
||||
} else {
|
||||
ids = [row.id]
|
||||
}
|
||||
console.log(ids)
|
||||
this.$http
|
||||
.delete('/workdynamics/delete', {
|
||||
data: ids
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="deployHandle()">{{ $t('process.deployFile') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<el-input v-model="dataForm.definitionKey" :placeholder="$t('running.definitionKey')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
end-placeholder="结束日期"
|
||||
:picker-options="pickerOptions">
|
||||
</el-date-picker>
|
||||
<el-button @click="flashTableData">查询</el-button>
|
||||
<el-button @click="resetTableData">重置</el-button>
|
||||
<el-button type="primary" @click="flashTableData">查询</el-button>
|
||||
<el-button type="primary" @click="resetTableData">重置</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<div style="display:flex;flex-wrap:wrap">
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList2(dataForm.name)">{{
|
||||
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
<el-button type="primary" @click="exportHandle()">{{
|
||||
$t("export")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -33,13 +33,13 @@
|
|||
<el-form-item>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||
type="danger"
|
||||
type="primary"
|
||||
@click="deleteHandle2()"
|
||||
>{{ $t("deleteBatch") }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="flashTableData">查询</el-button>
|
||||
<el-button @click="resetTableData">重置</el-button>
|
||||
<el-button type="primary" @click="flashTableData">查询</el-button>
|
||||
<el-button type="primary" @click="resetTableData">重置</el-button>
|
||||
<el-button type="primary" @click="addTask">任务新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList2(dataForm.name)">{{
|
||||
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
<el-button type="primary" @click="exportHandle()">{{
|
||||
$t("export")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -30,13 +30,13 @@
|
|||
<el-form-item>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||
type="danger"
|
||||
type="primary"
|
||||
@click="deleteHandle2()"
|
||||
>{{ $t("deleteBatch") }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -9,19 +9,19 @@
|
|||
<el-input v-model="dataForm.identity" :placeholder="$t('excel.identity')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="warning" @click="importHandle()">{{ $t('excel.import') }}</el-button>
|
||||
<el-button type="primary" @click="importHandle()">{{ $t('excel.import') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('demo:product:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('demo:product:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('demo:product:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
<el-input v-model="dataForm.code" placeholder="基类编码" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
<el-button type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">删除</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
<el-button type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">删除</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<el-input v-model="dataForm.attrType" placeholder="属性类型" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
<el-button type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">删除</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
<el-input v-model="dataForm.tableName" placeholder="表名"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
<el-button type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="importHandle()">导入数据库表</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">删除</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="success" @click="enabledHandle()">启用</el-button>
|
||||
<el-button type="primary" @click="enabledHandle()">启用</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="warning" @click="disabledHandle()">禁用</el-button>
|
||||
<el-button type="primary" @click="disabledHandle()">禁用</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">删除</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -6,25 +6,24 @@
|
|||
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanName')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:schedule:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:schedule:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:schedule:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:schedule:pause')" type="danger" @click="pauseHandle()">{{ $t('schedule.pauseBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:schedule:pause')" type="primary" @click="pauseHandle()">{{ $t('schedule.pauseBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:schedule:resume')" type="danger" @click="resumeHandle()">{{ $t('schedule.resumeBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:schedule:resume')" type="primary" @click="resumeHandle()">{{ $t('schedule.resumeBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:schedule:run')" type="danger" @click="runHandle()">{{ $t('schedule.runBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:schedule:log')" type="success" @click="logHandle()">{{ $t('schedule.log') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:schedule:log')" type="primary" @click="logHandle()">{{ $t('schedule.log') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<template slot="footer">
|
||||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-input v-model="dataForm.name" :placeholder="$t('mail.name')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
|
@ -15,7 +15,7 @@
|
|||
<el-button type="primary" @click="configHandle()">{{ $t('mail.config') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:smslog:all')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:smslog:all')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<template slot="footer">
|
||||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -156,7 +156,7 @@ export default {
|
|||
type: Array
|
||||
}
|
||||
},
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
dataList: [],
|
||||
dataView: [],
|
||||
|
@ -171,16 +171,16 @@ export default {
|
|||
}
|
||||
},
|
||||
watch: {
|
||||
dataList(item) {
|
||||
dataList (item) {
|
||||
if (item) {
|
||||
this.dataList = item
|
||||
}
|
||||
},
|
||||
insertList(val) {
|
||||
insertList (val) {
|
||||
if (val) {
|
||||
if (this.dataForm.type === '应用资源') {
|
||||
this.dataView = val.filter(
|
||||
(item) => item.name === this.dataForm.type + '一'
|
||||
(item) => item.name === this.dataForm.type
|
||||
)[0]
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
this.dataView.children.map((itemView, indexView) => {
|
||||
|
@ -253,7 +253,7 @@ export default {
|
|||
(item) => item.attrType === '组件类型'
|
||||
)
|
||||
this.dataView = val.filter(
|
||||
(item) => item.name === this.dataForm.type + '一'
|
||||
(item) => item.name === this.dataForm.type
|
||||
)[0]
|
||||
this.dataView = this.dataView.children.filter(
|
||||
(item) => item.name === componentType[0].attrValue
|
||||
|
@ -366,7 +366,7 @@ export default {
|
|||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
videoAndImg(link) {
|
||||
videoAndImg (link) {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
|
@ -376,7 +376,7 @@ export default {
|
|||
})
|
||||
}
|
||||
},
|
||||
deptName() {
|
||||
deptName () {
|
||||
console.log(this.dataForm.deptId)
|
||||
this.$http
|
||||
.get(`/sys/dept/${this.dataForm.deptId}`)
|
||||
|
@ -385,7 +385,7 @@ export default {
|
|||
this.unit = res.data.name
|
||||
})
|
||||
},
|
||||
queryPartAppByKeyIdFunction(index, indexSon, indexSonSon) {
|
||||
queryPartAppByKeyIdFunction (index, indexSon, indexSonSon) {
|
||||
if (this.dataForm.type === '组件服务') {
|
||||
this.$http
|
||||
.get(
|
||||
|
@ -424,8 +424,8 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
created() { },
|
||||
mounted() {
|
||||
created () { },
|
||||
mounted () {
|
||||
this.deptName()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,12 +35,18 @@
|
|||
<!-- 审批 -->
|
||||
<div class="agreeOr" v-if="taskId">
|
||||
<h3>审批</h3>
|
||||
<div>
|
||||
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
<div class="approvalOperation">
|
||||
<div class="contentOperation">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
|
||||
<el-button class="transferButton" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
</div>
|
||||
<!-- <el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<el-button type="danger" plain @click="showDialog('驳回')"
|
||||
>驳回</el-button
|
||||
>
|
||||
> -->
|
||||
<!-- <el-radio-group v-model="agreeOrList" style="width: 230px">
|
||||
<el-radio-button label="同意" class="blueAll">同意</el-radio-button>
|
||||
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
|
||||
|
@ -149,7 +155,7 @@ export default {
|
|||
'/act/task/getTaskVariables?taskId=' + this.$route.params.taskId + '&variableName=allowEntrust'
|
||||
).then(entrust => {
|
||||
console.log('11111111111111', entrust, this.dataForm)
|
||||
if (entrust.data.data.allowEntrust === true) {
|
||||
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
|
||||
this.taskEntrustFlag2 = true
|
||||
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
||||
this.$alert('当前审核部门为' + this.dataForm.deptName + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
|
||||
|
@ -243,46 +249,46 @@ export default {
|
|||
},
|
||||
// 同意与退回
|
||||
agreeOrNot: debounce(
|
||||
function (data) {
|
||||
if (this.dialogType === '同意') {
|
||||
if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.taskId,
|
||||
comment: this.input
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
return
|
||||
function (data, type) {
|
||||
if (type === '同意') {
|
||||
// if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.taskId,
|
||||
comment: this.input || '同意'
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
bus.$emit('abilityResourceShelfInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
this.input = ''
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('abilityResourceShelfInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
this.input = ''
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
} else {
|
||||
this.$message.error('请输入审批意见!')
|
||||
}
|
||||
} else if (this.dialogType === '驳回') {
|
||||
})
|
||||
.catch(() => {})
|
||||
this.tabRemoveHandle(data)
|
||||
// } else {
|
||||
// this.$message.error('请输入审批意见!')
|
||||
// }
|
||||
} else if (type === '驳回') {
|
||||
if (this.input !== '') {
|
||||
const params = qs.stringify({
|
||||
taskId: this.taskId,
|
||||
|
@ -358,7 +364,7 @@ export default {
|
|||
}
|
||||
::v-deep .agreeOr > div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
//align-items: center;
|
||||
.el-input {
|
||||
margin-right: 10px;
|
||||
margin-left: 32px;
|
||||
|
@ -416,4 +422,99 @@ export default {
|
|||
.blueInput {
|
||||
width: 55px;
|
||||
}
|
||||
.approvalOperation{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.contentOperation{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 10px;
|
||||
.el-input{
|
||||
margin-left: 0px;
|
||||
width: 500px;
|
||||
height: 32px;
|
||||
::v-deep.el-input__inner{
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
.agreeButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
background-color: #0058e1;
|
||||
}
|
||||
.agreeButton:hover{
|
||||
background: #65a5f9;
|
||||
border-color: #65a5f9;
|
||||
color: #FFF;
|
||||
}
|
||||
.rejectButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #F56C6C;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #F56C6C;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.rejectButton:hover{
|
||||
background-color: #F56C6C;
|
||||
border-color: #F56C6C;
|
||||
color: #ffffff;
|
||||
}
|
||||
.transferButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #0058e1;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #0058e1;
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-29 15:59:51
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-01 15:00:19
|
||||
* @LastEditTime: 2022-11-17 17:39:31
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!-- 流程业务表单 -->
|
||||
|
@ -89,15 +89,18 @@
|
|||
<!-- 审批 -->
|
||||
<div class="agreeOr" v-if="dataForm.taskId">
|
||||
<h3>审批</h3>
|
||||
<div>
|
||||
<div class="approvalOperation">
|
||||
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
|
||||
<el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button>
|
||||
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
|
||||
</el-radio-group> -->
|
||||
<!-- 委托 -->
|
||||
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
|
||||
<div class="contentOperation">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
|
||||
<el-button class="transferButton" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
</div>
|
||||
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
|
||||
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
|
||||
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
|
||||
|
@ -107,14 +110,14 @@
|
|||
<ren-task-entrust v-if="renTaskEntrustVisible" ref="renTaskEntrust"></ren-task-entrust>
|
||||
<!-- 流程详情 -->
|
||||
<ren-process-detail ref="renProcessMultiple"></ren-process-detail>
|
||||
<el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
|
||||
<!-- <el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
|
||||
:before-close="handleClose">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose2">取 消</el-button>
|
||||
<el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-dialog> -->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
|
@ -169,6 +172,7 @@ export default {
|
|||
this.$http.get('/sys/user/info').then(({ data: res }) => {
|
||||
res.data.roleIdList.map(val => {
|
||||
this.$http.get('/sys/role/' + val).then(role => {
|
||||
console.log('role', role)
|
||||
if (role.data.data.name === '流程管理员') {
|
||||
this.taskEntrustFlag = true
|
||||
}
|
||||
|
@ -278,7 +282,7 @@ export default {
|
|||
.get(
|
||||
`/act/task/getTaskVariables?${params}&variableName=allowEntrust`
|
||||
).then(entrust => {
|
||||
if (entrust.data.data.allowEntrust === true) {
|
||||
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
|
||||
this.taskEntrustFlag2 = true
|
||||
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
||||
this.$alert('当前审核部门为' + res.data.tAbilityApplicationDTOList[0].resourceOwnerDept.name + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
|
||||
|
@ -410,45 +414,47 @@ export default {
|
|||
},
|
||||
// 同意与退回
|
||||
agreeOrNot: debounce(
|
||||
function (data) {
|
||||
if (this.dialogType === '同意') {
|
||||
if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
return
|
||||
function (data, type) {
|
||||
// console.log('datadata',data);
|
||||
// console.log('tttttt',type);
|
||||
// if (type === '同意') {
|
||||
if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
comment: this.input || '同意'
|
||||
})
|
||||
console.log(params)
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(res.msg)
|
||||
if (this.callbacks.taskHandleErrorCallback) {
|
||||
this.callbacks.taskHandleErrorCallback(res)
|
||||
}
|
||||
bus.$emit('competencyApplicationInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('competencyApplicationInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.dialogVisible = false
|
||||
if (this.callbacks.taskHandleSuccessCallback) {
|
||||
this.callbacks.taskHandleSuccessCallback(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => { })
|
||||
this.tabRemoveHandle(data)
|
||||
} else {
|
||||
this.$message.error('请输入审批意见!')
|
||||
}
|
||||
} else if (this.dialogType === '驳回') {
|
||||
})
|
||||
.catch(() => { })
|
||||
this.tabRemoveHandle(data)
|
||||
// } else {
|
||||
// this.$message.error('请输入审批意见!')
|
||||
// }
|
||||
} else if (type === '驳回') {
|
||||
if (this.input !== '') {
|
||||
const params = qs.stringify({
|
||||
taskId: this.dataForm.taskId,
|
||||
|
@ -670,7 +676,7 @@ export default {
|
|||
|
||||
::v-deep .agreeOr > div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
//align-items: center;
|
||||
|
||||
.el-input {
|
||||
margin-right: 10px;
|
||||
|
@ -737,4 +743,99 @@ export default {
|
|||
.blueInput {
|
||||
width: 55px;
|
||||
}
|
||||
.approvalOperation{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.contentOperation{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 10px;
|
||||
.el-input{
|
||||
margin-left: 0px;
|
||||
width: 500px;
|
||||
height: 32px;
|
||||
::v-deep.el-input__inner{
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
.agreeButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
background-color: #0058e1;
|
||||
}
|
||||
.agreeButton:hover{
|
||||
background: #65a5f9;
|
||||
border-color: #65a5f9;
|
||||
color: #FFF;
|
||||
}
|
||||
.rejectButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #F56C6C;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #F56C6C;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.rejectButton:hover{
|
||||
background-color: #F56C6C;
|
||||
border-color: #F56C6C;
|
||||
color: #ffffff;
|
||||
}
|
||||
.transferButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #0058e1;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #0058e1;
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<el-button type="primary" @click="uploadHandle()">{{ $t('oss.upload') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<el-input v-model="dataForm.tradeStatus" :placeholder="$t('order.tradeStatus')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<ren-select v-model="dataForm.status" dict-type="order_status" :placeholder="$t('order.status')"></ren-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<el-input v-model="dataForm.resourceName" placeholder="应用名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<el-date-picker v-model="dataForm.applyTime" value-format="yyyy-MM-dd" type="date" :placeholder="$t('projectList.applydate')" clearable></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getDataList()">查询</el-button>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
<el-button type="primary" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table row-key="id" :data="dataList" border style="width: 100%">
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<el-input v-model="dataForm.dictType" :placeholder="$t('dict.dictType')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:dict:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
<el-button type="primary" v-if="$hasPermission('sys:dict:save')" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:dict:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" v-if="$hasPermission('sys:dict:delete')" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -65,10 +65,10 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="resetFunction()"> 重置 </el-button>
|
||||
<el-button type="primary" @click="resetFunction()"> 重置 </el-button>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="mod-sys__log-error">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -45,10 +45,10 @@
|
|||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="resetFunction()"> 重置 </el-button>
|
||||
<el-button type="primary" @click="resetFunction()"> 重置 </el-button>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
|
|
|
@ -9,6 +9,15 @@
|
|||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__menu">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('process.name')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:menu:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
|
@ -52,11 +61,22 @@ export default {
|
|||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/sys/menu/list',
|
||||
deleteURL: '/sys/menu'
|
||||
}
|
||||
},
|
||||
dataForm: {
|
||||
name: null
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
methods: {
|
||||
resetHandle() {
|
||||
this.dataForm.name = '';
|
||||
this.$nextTick(() => {
|
||||
this.getDataList()
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<el-input v-model="dataForm.username" :placeholder="$t('online.username')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
<el-input v-model="dataForm.paramCode" :placeholder="$t('params.paramCode')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:params:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:params:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button v-if="$hasPermission('sys:params:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
<ren-select v-model="dataForm.status" dict-type="post_status" :placeholder="$t('post.status')"></ren-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:post:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
|
||||
<el-button type="primary" v-if="$hasPermission('sys:post:save')" @click="addOrUpdateHandle()">{{ $t('add') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:post:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
|
||||
<el-button v-if="$hasPermission('sys:post:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
<el-input v-model="dataForm.name" :placeholder="$t('role.name')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button @click="getDataList()" type="primary">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:role:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||
</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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:role:reset')" type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
|
||||
|
|
|
@ -27,19 +27,19 @@
|
|||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:user:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
|
||||
<el-button type="primary" v-if="$hasPermission('sys:user:save')" @click="addOrUpdateHandle()">{{ $t('add') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:user:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
|
||||
<el-button type="primary" v-if="$hasPermission('sys:user:delete')" @click="deleteHandle()">{{ $t('deleteBatch')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('sys:user:export')" type="info" @click="exportHandle()">{{ $t('export') }}
|
||||
<el-button type="primary" v-if="$hasPermission('sys:user:export')" @click="exportHandle()">{{ $t('export') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset()">重置</el-button>
|
||||
<el-button type="primary" @click="reset()">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
<el-input v-model="dataForm.fileName" :placeholder="$t('fileName')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
|
|
|
@ -7,527 +7,485 @@
|
|||
*/
|
||||
// eslint-disable-next-line no-undef
|
||||
const newLocation = CONFIGITEM.version
|
||||
// const newLocation = 'baotou'
|
||||
// const newLocation = 'xihaian'
|
||||
// const newLocation = 'baotou'
|
||||
// const newLocation = 'xihaian'
|
||||
|
||||
// 数据资源数据
|
||||
const whoShow = {}
|
||||
const launchedDataNumObject = {}
|
||||
// 导航数据
|
||||
// 导航数据
|
||||
const navListManagement = {}
|
||||
// 无人机单兵数据
|
||||
// 无人机单兵数据
|
||||
const uavAndIndividualSoldier = {}
|
||||
// 基础设施
|
||||
// 基础设施
|
||||
const infrastructure = {}
|
||||
// 区市站点数据
|
||||
// 区市站点数据
|
||||
const mapTestNum = {}
|
||||
// 底部数据
|
||||
// 底部数据
|
||||
const footerDataList = {}
|
||||
// 西海岸--特殊用户
|
||||
// 西海岸--特殊用户
|
||||
const xhaHasPermissionUser = {}
|
||||
// qingdao
|
||||
// qingdao
|
||||
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
|
||||
whoShow.itShowQingDao = true
|
||||
infrastructure.deptName = '青岛市大数据发展管理局'
|
||||
infrastructure.deptId = '1067246875800000066'
|
||||
navListManagement.navList = [
|
||||
{ name: '共享门户', key: 'home' },
|
||||
{ name: '能力集市', key: 'DetailsPageconetent' },
|
||||
// { name: '能力云图', key: 'capabilityCloud' },
|
||||
{ name: '能力统计', key: 'abilityStatistics' },
|
||||
// { name: '开发指南', key: 'developmentGuide' },
|
||||
{ name: '新手指南', key: 'instructionManual' },
|
||||
{ name: '需求中心', key: 'demandCenter' },
|
||||
// { name: '个人中心', key: 'personalCenter' },
|
||||
// { name: '区市站点', key: 'mapTest' },
|
||||
// { name: '后台管理', key: 'houtaiguanli' },
|
||||
// { name: '典型赋能案例', key: 'assignCase' },
|
||||
{ name: '融合服务', key: 'integrationServices' },
|
||||
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '青岛市大数据发展管理局',
|
||||
right: '政府标识码3702000106',
|
||||
},
|
||||
address: [
|
||||
{
|
||||
name: '邮编: 266071',
|
||||
value: 'Email: QDDSJJ@qingdao.shandong.cn',
|
||||
},
|
||||
{
|
||||
name: '版权所有:青岛市大数据发展管理局',
|
||||
value: '地址:山东省青岛市香港中路17号市级机关三号办公楼',
|
||||
},
|
||||
{
|
||||
name: '电话:0532-85912587',
|
||||
value: '传真:0532-85912181',
|
||||
},
|
||||
],
|
||||
}
|
||||
mapTestNum.lsNum = [
|
||||
{
|
||||
name: '基础设施',
|
||||
key: 'lsjcss',
|
||||
num: '20135个',
|
||||
},
|
||||
{
|
||||
name: '数据资源',
|
||||
key: 'lsjcss',
|
||||
num: '857项',
|
||||
},
|
||||
{
|
||||
name: '应用资源',
|
||||
key: 'lsjcss',
|
||||
num: '28个',
|
||||
},
|
||||
]
|
||||
mapTestNum.xhaNum = [
|
||||
{
|
||||
name: '基础设施',
|
||||
key: 'xhajcss',
|
||||
num: '35282个',
|
||||
},
|
||||
{
|
||||
name: '数据资源',
|
||||
key: 'xhajcss',
|
||||
num: '11项',
|
||||
},
|
||||
{
|
||||
name: '应用资源',
|
||||
key: 'xhajcss',
|
||||
num: '23个',
|
||||
},
|
||||
{
|
||||
name: '组件服务',
|
||||
key: 'xhazjfw',
|
||||
num: '8个',
|
||||
},
|
||||
]
|
||||
whoShow.itShowQingDao = true
|
||||
infrastructure.deptName = '青岛市大数据发展管理局'
|
||||
infrastructure.deptId = '1067246875800000066'
|
||||
navListManagement.navList = [
|
||||
{ name: '共享门户', key: 'home' },
|
||||
{ name: '能力集市', key: 'DetailsPageconetent', innerKey: 'algorithmCompare' },
|
||||
// { name: '能力云图', key: 'capabilityCloud' },
|
||||
{ name: '能力统计', key: 'abilityStatistics' },
|
||||
// { name: '开发指南', key: 'developmentGuide' },
|
||||
{ name: '新手指南', key: 'instructionManual' },
|
||||
{ name: '需求中心', key: 'demandCenter' },
|
||||
// { name: '个人中心', key: 'personalCenter' },
|
||||
// { name: '区市站点', key: 'mapTest' },
|
||||
// { name: '后台管理', key: 'houtaiguanli' },
|
||||
// { name: '典型赋能案例', key: 'assignCase' },
|
||||
{ name: '融合服务', key: 'integrationServices' },
|
||||
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '青岛市大数据发展管理局',
|
||||
right: '政府标识码3702000106',
|
||||
},
|
||||
address: [{
|
||||
name: '邮编: 266071',
|
||||
value: 'Email: QDDSJJ@qingdao.shandong.cn',
|
||||
},
|
||||
{
|
||||
name: '版权所有:青岛市大数据发展管理局',
|
||||
value: '地址:山东省青岛市香港中路17号市级机关三号办公楼',
|
||||
},
|
||||
{
|
||||
name: '电话:0532-85912587',
|
||||
value: '传真:0532-85912181',
|
||||
},
|
||||
],
|
||||
}
|
||||
mapTestNum.lsNum = [{
|
||||
name: '基础设施',
|
||||
key: 'lsjcss',
|
||||
num: '20135个',
|
||||
},
|
||||
{
|
||||
name: '数据资源',
|
||||
key: 'lsjcss',
|
||||
num: '857项',
|
||||
},
|
||||
{
|
||||
name: '应用资源',
|
||||
key: 'lsjcss',
|
||||
num: '28个',
|
||||
},
|
||||
]
|
||||
mapTestNum.xhaNum = [{
|
||||
name: '基础设施',
|
||||
key: 'xhajcss',
|
||||
num: '35282个',
|
||||
},
|
||||
{
|
||||
name: '数据资源',
|
||||
key: 'xhajcss',
|
||||
num: '11项',
|
||||
},
|
||||
{
|
||||
name: '应用资源',
|
||||
key: 'xhajcss',
|
||||
num: '23个',
|
||||
},
|
||||
{
|
||||
name: '组件服务',
|
||||
key: 'xhazjfw',
|
||||
num: '8个',
|
||||
},
|
||||
]
|
||||
}
|
||||
// baotou
|
||||
else if (newLocation === 'baotou') {
|
||||
whoShow.itShowBaoTou = true
|
||||
launchedDataNumObject.launchedDataNum = [
|
||||
{
|
||||
num: 10372,
|
||||
},
|
||||
{
|
||||
num: 1080,
|
||||
},
|
||||
{
|
||||
num: 976,
|
||||
},
|
||||
]
|
||||
navListManagement.navList = [
|
||||
{ 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' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '包头市工业和信息化局大数据中心建设',
|
||||
right: '海信网络科技股份有限公司',
|
||||
},
|
||||
address: [
|
||||
{
|
||||
name: '蒙ICP备05003330-1号',
|
||||
value: '政府标识码1502000040',
|
||||
},
|
||||
{
|
||||
name: '版权所有:包头市工业和信息化局大数据中心',
|
||||
value: '地址:内蒙古自治区包头市九原区开元大街1号',
|
||||
},
|
||||
{
|
||||
name: '电话:0472-5618235',
|
||||
value: '传真:0472-5618235',
|
||||
},
|
||||
],
|
||||
}
|
||||
whoShow.itShowBaoTou = true
|
||||
launchedDataNumObject.launchedDataNum = [{
|
||||
num: 10372,
|
||||
},
|
||||
{
|
||||
num: 1080,
|
||||
},
|
||||
{
|
||||
num: 976,
|
||||
},
|
||||
]
|
||||
navListManagement.navList = [
|
||||
{ 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' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '包头市工业和信息化局大数据中心建设',
|
||||
right: '海信网络科技股份有限公司',
|
||||
},
|
||||
address: [{
|
||||
name: '蒙ICP备05003330-1号',
|
||||
value: '政府标识码1502000040',
|
||||
},
|
||||
{
|
||||
name: '版权所有:包头市工业和信息化局大数据中心',
|
||||
value: '地址:内蒙古自治区包头市九原区开元大街1号',
|
||||
},
|
||||
{
|
||||
name: '电话:0472-5618235',
|
||||
value: '传真:0472-5618235',
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
// xihaian
|
||||
else if (newLocation === 'xihaian') {
|
||||
whoShow.itShowXiHaiAn = true
|
||||
infrastructure.deptName = '西海岸新区大数据发展'
|
||||
// infrastructure.deptId = '1067246875800000066'
|
||||
uavAndIndividualSoldier.num = 4
|
||||
uavAndIndividualSoldier.uavList = [
|
||||
{
|
||||
name: '经纬 M300 RTK-1',
|
||||
url: '',
|
||||
details: [
|
||||
{
|
||||
name: '飞行器',
|
||||
attribute: {
|
||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||
对称电机轴距: '895 mm',
|
||||
'重量(含下置单云台支架):空机重量(不含电池)':
|
||||
'3.6 kg;空机重量(含双电池):6.3 kg',
|
||||
单云台减震球最大负重: '930g',
|
||||
最大起飞重量: '9 kg',
|
||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||
'发射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC)、18.5dBm(CE)、18.5 dBm(SRRC)、18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC)、12.5dBm(CE)、28.5 dBm(SRRC)',
|
||||
'悬停精度(P-GPS)':
|
||||
'垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||
'RTK 位置精度':
|
||||
'在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||
最大飞行海拔高度:
|
||||
'5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||
最大飞行时间: '55 min',
|
||||
'适配 DJI 云台':
|
||||
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||
支持云台安装方式:
|
||||
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||
'IP 防护等级': 'IP45',
|
||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||
工作环境温度: '-20°C 至 50°C',
|
||||
},
|
||||
whoShow.itShowXiHaiAn = true
|
||||
infrastructure.deptName = '西海岸新区大数据发展'
|
||||
// infrastructure.deptId = '1067246875800000066'
|
||||
uavAndIndividualSoldier.num = 4
|
||||
uavAndIndividualSoldier.uavList = [{
|
||||
name: '经纬 M300 RTK-1',
|
||||
url: '',
|
||||
details: [{
|
||||
name: '飞行器',
|
||||
attribute: {
|
||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||
对称电机轴距: '895 mm',
|
||||
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg;空机重量(含双电池):6.3 kg',
|
||||
单云台减震球最大负重: '930g',
|
||||
最大起飞重量: '9 kg',
|
||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||
'发射功率(EIRP)': '2.4000-2.4835 GHz:29.5 dBm(FCC)、18.5dBm(CE)、18.5 dBm(SRRC)、18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC)、12.5dBm(CE)、28.5 dBm(SRRC)',
|
||||
'悬停精度(P-GPS)': '垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||
'RTK 位置精度': '在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||
最大飞行海拔高度: '5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||
最大飞行时间: '55 min',
|
||||
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||
'IP 防护等级': 'IP45',
|
||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||
工作环境温度: '-20°C 至 50°C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '遥控器',
|
||||
attribute: {
|
||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||
'等效全向辐射功率(EIRP)': '2.4000-2.4835 GHz:29.5 dBm(FCC);18.5dBm(CE)、18.5 dBm(SRRC);18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC);12.5dBm(CE)、20.5 dBm(SRRC)',
|
||||
外置电池: '名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
||||
内置电池: '类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
||||
工作环境温度: '-20° 至 40° C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '视觉系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
||||
使用环境: '表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '红外感知系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '0.1-8 m',
|
||||
FOV: '30°(±15°)',
|
||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '上下补光灯',
|
||||
attribute: {
|
||||
有效照明距离: '5 m',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'FPV摄像头',
|
||||
attribute: {
|
||||
分辨率: '960p',
|
||||
FOV: '145°',
|
||||
帧率: '30 fps',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能飞行电池',
|
||||
attribute: {
|
||||
型号: 'TB60',
|
||||
容量: '5935 mAh',
|
||||
电压: '52.8 V',
|
||||
电池类型: 'LiPo 12S',
|
||||
能量: '274 Wh',
|
||||
电池整体重量: '约 1.35 kg',
|
||||
工作环境温度: '-20℃ 至 50℃',
|
||||
理想存放环境温度: '22℃ 至 30℃',
|
||||
充电环境温度: '-20°C 至 40°C(当环境温度低于 5°C时,电池会启动自加热功能,在低温环境下充电有可能会降低电池使用寿命)',
|
||||
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'BS60智能电池箱',
|
||||
attribute: {
|
||||
外形尺寸: '501×403×252 mm',
|
||||
空箱重量: '8.37 kg',
|
||||
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
|
||||
输入电压: '100-120 VAC,50-60 Hz / 220-240 VAC,50-60 Hz',
|
||||
最大输入功率: '1070 W',
|
||||
输出功率: '100-120 V:750 W、220-240 V:992 W',
|
||||
工作环境温度: '-20℃ 至 40℃',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: '遥控器',
|
||||
attribute: {
|
||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||
'最大信号有效距离(无干扰、无遮挡)':
|
||||
'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||
'等效全向辐射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC);18.5dBm(CE)、18.5 dBm(SRRC);18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC);12.5dBm(CE)、20.5 dBm(SRRC)',
|
||||
外置电池:
|
||||
'名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
||||
内置电池:
|
||||
'类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
||||
工作环境温度: '-20° 至 40° C',
|
||||
},
|
||||
name: '经纬 M300 RTK-2',
|
||||
url: '',
|
||||
details: [{
|
||||
name: '飞行器',
|
||||
attribute: {
|
||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||
对称电机轴距: '895 mm',
|
||||
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg;空机重量(含双电池):6.3 kg',
|
||||
单云台减震球最大负重: '930g',
|
||||
最大起飞重量: '9 kg',
|
||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||
'发射功率(EIRP)': '2.4000-2.4835 GHz:29.5 dBm(FCC)、18.5dBm(CE)、18.5 dBm(SRRC)、18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC)、12.5dBm(CE)、28.5 dBm(SRRC)',
|
||||
'悬停精度(P-GPS)': '垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||
'RTK 位置精度': '在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||
最大飞行海拔高度: '5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||
最大飞行时间: '55 min',
|
||||
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||
'IP 防护等级': 'IP45',
|
||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||
工作环境温度: '-20°C 至 50°C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '遥控器',
|
||||
attribute: {
|
||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||
'等效全向辐射功率(EIRP)': '2.4000-2.4835 GHz:29.5 dBm(FCC);18.5dBm(CE)、18.5 dBm(SRRC);18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC);12.5dBm(CE)、20.5 dBm(SRRC)',
|
||||
外置电池: '名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
||||
内置电池: '类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
||||
工作环境温度: '-20° 至 40° C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '视觉系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
||||
使用环境: '表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '红外感知系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '0.1-8 m',
|
||||
FOV: '30°(±15°)',
|
||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '上下补光灯',
|
||||
attribute: {
|
||||
有效照明距离: '5 m',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'FPV摄像头',
|
||||
attribute: {
|
||||
分辨率: '960p',
|
||||
FOV: '145°',
|
||||
帧率: '30 fps',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能飞行电池',
|
||||
attribute: {
|
||||
型号: 'TB60',
|
||||
容量: '5935 mAh',
|
||||
电压: '52.8 V',
|
||||
电池类型: 'LiPo 12S',
|
||||
能量: '274 Wh',
|
||||
电池整体重量: '约 1.35 kg',
|
||||
工作环境温度: '-20℃ 至 50℃',
|
||||
理想存放环境温度: '22℃ 至 30℃',
|
||||
充电环境温度: '-20°C 至 40°C(当环境温度低于 5°C时,电池会启动自加热功能,在低温环境下充电有可能会降低电池使用寿命)',
|
||||
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'BS60智能电池箱',
|
||||
attribute: {
|
||||
外形尺寸: '501×403×252 mm',
|
||||
空箱重量: '8.37 kg',
|
||||
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
|
||||
输入电压: '100-120 VAC,50-60 Hz / 220-240 VAC,50-60 Hz',
|
||||
最大输入功率: '1070 W',
|
||||
输出功率: '100-120 V:750 W、220-240 V:992 W',
|
||||
工作环境温度: '-20℃ 至 40℃',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
uavAndIndividualSoldier.individualSoldier = [{
|
||||
name: 'T950天通-1',
|
||||
type: '单兵设备',
|
||||
details: {
|
||||
基本信息: {
|
||||
外观设计: '172X81X15.7(不含天线),336g',
|
||||
操作系统: 'Android P',
|
||||
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
|
||||
存储: '标配:6GB ROM +128G RAM',
|
||||
显示屏: '6.52吋水滴屏;HD+,1600*720(20:9)',
|
||||
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合,支持闪光灯',
|
||||
前置摄像头: '1600万',
|
||||
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
|
||||
WLAN: '802.11a/b/g/n/AC 支持MIMO',
|
||||
电池: '6000mAh@3.8V,内置不可拆卸,支持18W快充',
|
||||
工作时间: '待机时长180h,卫星通话时长16h',
|
||||
},
|
||||
制式频段: {
|
||||
卫星频段: '天通一号卫星',
|
||||
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1,N28,N41, N78,N79',
|
||||
双卡: '双nano卡(卫星卡+运营商全网通卡)',
|
||||
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
|
||||
VOLTE: '支持',
|
||||
},
|
||||
IO接口: {
|
||||
USB接口类型: 'TYPE-C USB3.0,支持OTG功能',
|
||||
耳机接口: '3.5mm,美标',
|
||||
存储卡: '支持TF卡扩展',
|
||||
},
|
||||
其它功能: {
|
||||
蓝牙: 'V5.0',
|
||||
定位: 'GPS、北斗混合定位、单北斗模式',
|
||||
NFC: '支持',
|
||||
充电方式: '三种充电方式(线充、座充、磁吸充电)',
|
||||
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
|
||||
},
|
||||
环境适应性: {
|
||||
工作温度: '-20°~ 60°',
|
||||
存储温度: '-40°~ 80°',
|
||||
高温高湿: '(95±3)%(≧40°),24小时',
|
||||
防护等级: 'IP68',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '视觉系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
||||
使用环境:
|
||||
'表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
||||
},
|
||||
name: 'T950天通-2',
|
||||
type: '单兵设备',
|
||||
details: {
|
||||
基本信息: {
|
||||
外观设计: '172X81X15.7(不含天线),336g',
|
||||
操作系统: 'Android P',
|
||||
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
|
||||
存储: '标配:6GB ROM +128G RAM',
|
||||
显示屏: '6.52吋水滴屏;HD+,1600*720(20:9)',
|
||||
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合,支持闪光灯',
|
||||
前置摄像头: '1600万',
|
||||
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
|
||||
WLAN: '802.11a/b/g/n/AC 支持MIMO',
|
||||
电池: '6000mAh@3.8V,内置不可拆卸,支持18W快充',
|
||||
工作时间: '待机时长180h,卫星通话时长16h',
|
||||
},
|
||||
制式频段: {
|
||||
卫星频段: '天通一号卫星',
|
||||
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1,N28,N41, N78,N79',
|
||||
双卡: '双nano卡(卫星卡+运营商全网通卡)',
|
||||
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
|
||||
VOLTE: '支持',
|
||||
},
|
||||
IO接口: {
|
||||
USB接口类型: 'TYPE-C USB3.0,支持OTG功能',
|
||||
耳机接口: '3.5mm,美标',
|
||||
存储卡: '支持TF卡扩展',
|
||||
},
|
||||
其它功能: {
|
||||
蓝牙: 'V5.0',
|
||||
定位: 'GPS、北斗混合定位、单北斗模式',
|
||||
NFC: '支持',
|
||||
充电方式: '三种充电方式(线充、座充、磁吸充电)',
|
||||
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
|
||||
},
|
||||
环境适应性: {
|
||||
工作温度: '-20°~ 60°',
|
||||
存储温度: '-40°~ 80°',
|
||||
高温高湿: '(95±3)%(≧40°),24小时',
|
||||
防护等级: 'IP68',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '红外感知系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '0.1-8 m',
|
||||
FOV: '30°(±15°)',
|
||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
||||
},
|
||||
]
|
||||
navListManagement.navList = [
|
||||
{ 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' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '青岛西海岸新区大数据发展促进局建设',
|
||||
// eslint-disable-next-line no-undef
|
||||
right: CONFIGITEM.vNum,
|
||||
},
|
||||
{
|
||||
name: '上下补光灯',
|
||||
attribute: {
|
||||
有效照明距离: '5 m',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'FPV摄像头',
|
||||
attribute: {
|
||||
分辨率: '960p',
|
||||
FOV: '145°',
|
||||
帧率: '30 fps',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能飞行电池',
|
||||
attribute: {
|
||||
型号: 'TB60',
|
||||
容量: '5935 mAh',
|
||||
电压: '52.8 V',
|
||||
电池类型: 'LiPo 12S',
|
||||
能量: '274 Wh',
|
||||
电池整体重量: '约 1.35 kg',
|
||||
工作环境温度: '-20℃ 至 50℃',
|
||||
理想存放环境温度: '22℃ 至 30℃',
|
||||
充电环境温度:
|
||||
'-20°C 至 40°C(当环境温度低于 5°C时,电池会启动自加热功能,在低温环境下充电有可能会降低电池使用寿命)',
|
||||
充电时间:
|
||||
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'BS60智能电池箱',
|
||||
attribute: {
|
||||
外形尺寸: '501×403×252 mm',
|
||||
空箱重量: '8.37 kg',
|
||||
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
|
||||
输入电压: '100-120 VAC,50-60 Hz / 220-240 VAC,50-60 Hz',
|
||||
最大输入功率: '1070 W',
|
||||
输出功率: '100-120 V:750 W、220-240 V:992 W',
|
||||
工作环境温度: '-20℃ 至 40℃',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: '经纬 M300 RTK-2',
|
||||
url: '',
|
||||
details: [
|
||||
{
|
||||
name: '飞行器',
|
||||
attribute: {
|
||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||
对称电机轴距: '895 mm',
|
||||
'重量(含下置单云台支架):空机重量(不含电池)':
|
||||
'3.6 kg;空机重量(含双电池):6.3 kg',
|
||||
单云台减震球最大负重: '930g',
|
||||
最大起飞重量: '9 kg',
|
||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||
'发射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC)、18.5dBm(CE)、18.5 dBm(SRRC)、18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC)、12.5dBm(CE)、28.5 dBm(SRRC)',
|
||||
'悬停精度(P-GPS)':
|
||||
'垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||
'RTK 位置精度':
|
||||
'在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||
最大飞行海拔高度:
|
||||
'5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||
最大飞行时间: '55 min',
|
||||
'适配 DJI 云台':
|
||||
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||
支持云台安装方式:
|
||||
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||
'IP 防护等级': 'IP45',
|
||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||
工作环境温度: '-20°C 至 50°C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '遥控器',
|
||||
attribute: {
|
||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||
'最大信号有效距离(无干扰、无遮挡)':
|
||||
'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||
'等效全向辐射功率(EIRP)':
|
||||
'2.4000-2.4835 GHz:29.5 dBm(FCC);18.5dBm(CE)、18.5 dBm(SRRC);18.5dBm(MIC);5.725-5.850 GHz:28.5 dBm(FCC);12.5dBm(CE)、20.5 dBm(SRRC)',
|
||||
外置电池:
|
||||
'名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
||||
内置电池:
|
||||
'类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
||||
工作环境温度: '-20° 至 40° C',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '视觉系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
||||
使用环境:
|
||||
'表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '红外感知系统',
|
||||
attribute: {
|
||||
障碍物感知范围: '0.1-8 m',
|
||||
FOV: '30°(±15°)',
|
||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '上下补光灯',
|
||||
attribute: {
|
||||
有效照明距离: '5 m',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'FPV摄像头',
|
||||
attribute: {
|
||||
分辨率: '960p',
|
||||
FOV: '145°',
|
||||
帧率: '30 fps',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '智能飞行电池',
|
||||
attribute: {
|
||||
型号: 'TB60',
|
||||
容量: '5935 mAh',
|
||||
电压: '52.8 V',
|
||||
电池类型: 'LiPo 12S',
|
||||
能量: '274 Wh',
|
||||
电池整体重量: '约 1.35 kg',
|
||||
工作环境温度: '-20℃ 至 50℃',
|
||||
理想存放环境温度: '22℃ 至 30℃',
|
||||
充电环境温度:
|
||||
'-20°C 至 40°C(当环境温度低于 5°C时,电池会启动自加热功能,在低温环境下充电有可能会降低电池使用寿命)',
|
||||
充电时间:
|
||||
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'BS60智能电池箱',
|
||||
attribute: {
|
||||
外形尺寸: '501×403×252 mm',
|
||||
空箱重量: '8.37 kg',
|
||||
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
|
||||
输入电压: '100-120 VAC,50-60 Hz / 220-240 VAC,50-60 Hz',
|
||||
最大输入功率: '1070 W',
|
||||
输出功率: '100-120 V:750 W、220-240 V:992 W',
|
||||
工作环境温度: '-20℃ 至 40℃',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
uavAndIndividualSoldier.individualSoldier = [
|
||||
{
|
||||
name: 'T950天通-1',
|
||||
type: '单兵设备',
|
||||
details: {
|
||||
基本信息: {
|
||||
外观设计: '172X81X15.7(不含天线),336g',
|
||||
操作系统: 'Android P',
|
||||
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
|
||||
存储: '标配:6GB ROM +128G RAM',
|
||||
显示屏: '6.52吋水滴屏;HD+,1600*720(20:9)',
|
||||
后置摄像头:
|
||||
'后置为4800万主摄+200万微距+200万红外三摄组合,支持闪光灯',
|
||||
前置摄像头: '1600万',
|
||||
传感器相关:
|
||||
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
|
||||
WLAN: '802.11a/b/g/n/AC 支持MIMO',
|
||||
电池: '6000mAh@3.8V,内置不可拆卸,支持18W快充',
|
||||
工作时间: '待机时长180h,卫星通话时长16h',
|
||||
},
|
||||
制式频段: {
|
||||
卫星频段: '天通一号卫星',
|
||||
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1,N28,N41, N78,N79',
|
||||
双卡: '双nano卡(卫星卡+运营商全网通卡)',
|
||||
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
|
||||
VOLTE: '支持',
|
||||
},
|
||||
IO接口: {
|
||||
USB接口类型: 'TYPE-C USB3.0,支持OTG功能',
|
||||
耳机接口: '3.5mm,美标',
|
||||
存储卡: '支持TF卡扩展',
|
||||
},
|
||||
其它功能: {
|
||||
蓝牙: 'V5.0',
|
||||
定位: 'GPS、北斗混合定位、单北斗模式',
|
||||
NFC: '支持',
|
||||
充电方式: '三种充电方式(线充、座充、磁吸充电)',
|
||||
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
|
||||
},
|
||||
环境适应性: {
|
||||
工作温度: '-20°~ 60°',
|
||||
存储温度: '-40°~ 80°',
|
||||
高温高湿: '(95±3)%(≧40°),24小时',
|
||||
防护等级: 'IP68',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'T950天通-2',
|
||||
type: '单兵设备',
|
||||
details: {
|
||||
基本信息: {
|
||||
外观设计: '172X81X15.7(不含天线),336g',
|
||||
操作系统: 'Android P',
|
||||
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
|
||||
存储: '标配:6GB ROM +128G RAM',
|
||||
显示屏: '6.52吋水滴屏;HD+,1600*720(20:9)',
|
||||
后置摄像头:
|
||||
'后置为4800万主摄+200万微距+200万红外三摄组合,支持闪光灯',
|
||||
前置摄像头: '1600万',
|
||||
传感器相关:
|
||||
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
|
||||
WLAN: '802.11a/b/g/n/AC 支持MIMO',
|
||||
电池: '6000mAh@3.8V,内置不可拆卸,支持18W快充',
|
||||
工作时间: '待机时长180h,卫星通话时长16h',
|
||||
},
|
||||
制式频段: {
|
||||
卫星频段: '天通一号卫星',
|
||||
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1,N28,N41, N78,N79',
|
||||
双卡: '双nano卡(卫星卡+运营商全网通卡)',
|
||||
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
|
||||
VOLTE: '支持',
|
||||
},
|
||||
IO接口: {
|
||||
USB接口类型: 'TYPE-C USB3.0,支持OTG功能',
|
||||
耳机接口: '3.5mm,美标',
|
||||
存储卡: '支持TF卡扩展',
|
||||
},
|
||||
其它功能: {
|
||||
蓝牙: 'V5.0',
|
||||
定位: 'GPS、北斗混合定位、单北斗模式',
|
||||
NFC: '支持',
|
||||
充电方式: '三种充电方式(线充、座充、磁吸充电)',
|
||||
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
|
||||
},
|
||||
环境适应性: {
|
||||
工作温度: '-20°~ 60°',
|
||||
存储温度: '-40°~ 80°',
|
||||
高温高湿: '(95±3)%(≧40°),24小时',
|
||||
防护等级: 'IP68',
|
||||
},
|
||||
},
|
||||
},
|
||||
]
|
||||
navListManagement.navList = [
|
||||
{ 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' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '青岛西海岸新区大数据发展促进局建设',
|
||||
// eslint-disable-next-line no-undef
|
||||
right: CONFIGITEM.vNum,
|
||||
},
|
||||
address: [
|
||||
{
|
||||
name: '鲁IC备00000000号',
|
||||
value: '政府标识码3702000106',
|
||||
},
|
||||
{
|
||||
name: '版权所有:青岛西海岸新区大数据发展促进局',
|
||||
value: '地址:青岛市西海岸新区长江中路369号',
|
||||
},
|
||||
{
|
||||
name: '电话:0532-86986596',
|
||||
value: '传真:0532-86986596',
|
||||
},
|
||||
],
|
||||
}
|
||||
xhaHasPermissionUser.list = [
|
||||
'xihaian01',
|
||||
'xihaian02',
|
||||
'xihaian03',
|
||||
'xihaian04',
|
||||
'admin',
|
||||
]
|
||||
}
|
||||
address: [{
|
||||
name: '鲁IC备00000000号',
|
||||
value: '政府标识码3702000106',
|
||||
},
|
||||
{
|
||||
name: '版权所有:青岛西海岸新区大数据发展促进局',
|
||||
value: '地址:青岛市西海岸新区长江中路369号',
|
||||
},
|
||||
{
|
||||
name: '电话:0532-86986596',
|
||||
value: '传真:0532-86986596',
|
||||
},
|
||||
],
|
||||
}
|
||||
xhaHasPermissionUser.list = [
|
||||
'xihaian01',
|
||||
'xihaian02',
|
||||
'xihaian03',
|
||||
'xihaian04',
|
||||
'admin',
|
||||
]
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-05-06 11:12:00
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-03 10:13:59
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-16 10:21:49
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -13,56 +13,138 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import zhCN from 'ant-design-vue/es/locale/zh_CN'
|
||||
import Cookies from 'js-cookie'
|
||||
import { onBeforeUnmount } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
import onWholeWaterMark from '@/utils/waterMark'
|
||||
import * as moment from 'moment'
|
||||
import { getUser } from '@/api/home'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
import zhCN from 'ant-design-vue/es/locale/zh_CN'
|
||||
import Cookies from 'js-cookie'
|
||||
import { onBeforeUnmount, onMounted, watch, nextTick } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
|
||||
const locale = zhCN
|
||||
const token = Cookies.get('ucsToken')
|
||||
console.log('token=================>', token)
|
||||
let ws = new WebSocket(
|
||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||
)
|
||||
// ws.send()给服务器发送信息
|
||||
// 服务器每次返回信息都会执行一次onmessage方法
|
||||
ws.onmessage = function (e) {
|
||||
console.log('WebSocket服务器返回的信息: ' + e.data)
|
||||
mybus.emit('getMynotice')
|
||||
// 判断当前路由是否是消息中心
|
||||
if (router.currentRoute.value.name === 'mynoticeView') {
|
||||
mybus.emit('noticeListInit')
|
||||
}
|
||||
}
|
||||
ws.onerror = function (e) {
|
||||
console.log('WebSocket连接异常============================>', e)
|
||||
ws = new WebSocket(
|
||||
const locale = zhCN
|
||||
const token = Cookies.get('ucsToken')
|
||||
console.log('token=================>', token)
|
||||
let ws = new WebSocket(
|
||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||
)
|
||||
}
|
||||
ws.onclose = function (e) {
|
||||
console.log('WebSocket连接断开============================>', e)
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
// 4.卸载前, 关闭链接
|
||||
ws.close()
|
||||
})
|
||||
// ws.send()给服务器发送信息
|
||||
// 服务器每次返回信息都会执行一次onmessage方法
|
||||
ws.onmessage = function (e) {
|
||||
console.log('WebSocket服务器返回的信息: ' + e.data)
|
||||
mybus.emit('getMynotice')
|
||||
// 判断当前路由是否是消息中心
|
||||
if (router.currentRoute.value.name === 'mynoticeView') {
|
||||
mybus.emit('noticeListInit')
|
||||
}
|
||||
}
|
||||
ws.onerror = function (e) {
|
||||
console.log('WebSocket连接异常============================>', e)
|
||||
ws = new WebSocket(
|
||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||
)
|
||||
}
|
||||
ws.onclose = function (e) {
|
||||
console.log('WebSocket连接断开============================>', e)
|
||||
}
|
||||
let realName = '默认水印'
|
||||
const arr = []
|
||||
const changeWaterMark = (newValue) => {
|
||||
console.log('监听', newValue, arr)
|
||||
if (document.getElementById(realName.charCodeAt())) {
|
||||
if (arr.indexOf(newValue) > -1) {
|
||||
document.getElementById(realName.charCodeAt()).style.opacity = 1
|
||||
document.getElementById(
|
||||
moment().format('YYYY-MM-DD').charCodeAt()
|
||||
).style.opacity = 1
|
||||
} else {
|
||||
document.getElementById(realName.charCodeAt()).style.opacity = 0
|
||||
document.getElementById(
|
||||
moment().format('YYYY-MM-DD').charCodeAt()
|
||||
).style.opacity = 0
|
||||
}
|
||||
} else if (document.getElementById('默认水印'.charCodeAt())) {
|
||||
if (arr.indexOf(newValue) > -1) {
|
||||
document.getElementById('默认水印'.charCodeAt()).style.opacity = 1
|
||||
document.getElementById(
|
||||
moment().format('YYYY-MM-DD').charCodeAt()
|
||||
).style.opacity = 1
|
||||
} else {
|
||||
document.getElementById('默认水印'.charCodeAt()).style.opacity = 0
|
||||
document.getElementById(
|
||||
moment().format('YYYY-MM-DD').charCodeAt()
|
||||
).style.opacity = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
const waterMarkInit = (newValue) => {
|
||||
getUser().then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
realName = res.data.data.realName
|
||||
}
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
600,
|
||||
300,
|
||||
30,
|
||||
50
|
||||
)
|
||||
getCategoryTreePage({
|
||||
page: 1,
|
||||
limit: 999,
|
||||
dictTypeId: '1592357067014803457',
|
||||
}).then((res) => {
|
||||
arr.length = 0
|
||||
res.data.data.list.map((val) => {
|
||||
arr.push(val.dictValue)
|
||||
})
|
||||
if (newValue) {
|
||||
changeWaterMark(newValue)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
watch(
|
||||
() => router.currentRoute.value.path,
|
||||
(newValue, oldValue) => {
|
||||
console.log(
|
||||
'路由变化',
|
||||
newValue,
|
||||
oldValue,
|
||||
realName,
|
||||
realName.charCodeAt()
|
||||
)
|
||||
// 如果刚登陆 初始化水印
|
||||
if (oldValue == '/login' || oldValue == '/') {
|
||||
waterMarkInit(newValue)
|
||||
}
|
||||
changeWaterMark(newValue)
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
onMounted(() => {
|
||||
waterMarkInit()
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
// 4.卸载前, 关闭链接
|
||||
ws.close()
|
||||
})
|
||||
</script>
|
||||
<style lang="less">
|
||||
@import '~@/vab/styles/vab.less';
|
||||
@import '~@/vab/styles/vab.less';
|
||||
|
||||
#vue-admin-beautiful {
|
||||
max-width: 1920px;
|
||||
// max-height: 1080px;
|
||||
margin: auto;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
}
|
||||
#vue-admin-beautiful {
|
||||
max-width: 1920px;
|
||||
// max-height: 1080px;
|
||||
margin: auto;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
body {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-01 19:19:40
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-10-31 15:52:57
|
||||
* @LastEditTime: 2022-11-18 14:09:20
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
@ -526,3 +526,10 @@ export function getGisByArea(data) {
|
|||
data,
|
||||
})
|
||||
}
|
||||
export function getPolicyCloudService(data) {
|
||||
return request({
|
||||
url: '/resource/getPolicyCloudService',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 398 B |
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-14 15:01:54
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-16 09:57:28
|
||||
* @Description: 水印
|
||||
*/
|
||||
const watermark = {
|
||||
timer: null,
|
||||
set: () => {},
|
||||
}
|
||||
const setWatermark = (str, width, height, size, top, index) => {
|
||||
console.log('生成水印')
|
||||
const id = str.charCodeAt()
|
||||
if (document.getElementById(id) !== null) {
|
||||
document.body.removeChild(document.getElementById(id))
|
||||
}
|
||||
const can = document.createElement('canvas')
|
||||
can.width = width
|
||||
can.height = height
|
||||
|
||||
const cans = can.getContext('2d')
|
||||
cans.rotate((-20 * Math.PI) / 180)
|
||||
cans.font = size + 'px Microsoft YaHei'
|
||||
cans.fillStyle = 'rgba(200, 200, 200, 0.4)'
|
||||
cans.textAlign = 'left'
|
||||
cans.textBaseline = 'middle'
|
||||
cans.fillText(str, can.width / 3, can.height / 2)
|
||||
|
||||
const WATER_MARK = document.createElement('div')
|
||||
const ALL_WIDTH = document.documentElement.clientWidth + 'px'
|
||||
const ALL_HEIGHT = document.documentElement.clientHeight + 'px'
|
||||
|
||||
WATER_MARK.id = id
|
||||
WATER_MARK.style.cssText = `
|
||||
position: fixed;
|
||||
top: ${index * top}px;
|
||||
left: 0;
|
||||
zIndex: 99999999;
|
||||
pointer-events: none;
|
||||
width: ${ALL_WIDTH};
|
||||
height: ${ALL_HEIGHT};
|
||||
background: url(${can.toDataURL('image/png')}) left top repeat;
|
||||
opacity: 0;
|
||||
`
|
||||
document.body.appendChild(WATER_MARK)
|
||||
return id
|
||||
}
|
||||
|
||||
// 该方法只允许调用一次
|
||||
watermark.set = (str, width, height, size, top, index) => {
|
||||
let id = setWatermark(str, width, height, size, top, index)
|
||||
watermark.timer && clearTimeout(watermark.timer)
|
||||
watermark.timer = setTimeout(() => {
|
||||
if (document.getElementById(id) === null) {
|
||||
id = setWatermark(str, width, height, size, top, index)
|
||||
}
|
||||
}, 300)
|
||||
window.onresize = () => {
|
||||
setWatermark(str, width, height, size, top, index)
|
||||
}
|
||||
}
|
||||
|
||||
const onWholeWaterMark = (arr, width, height, size, top) => {
|
||||
arr.map((str, index) => {
|
||||
watermark.set(str, width, height, size, top, index)
|
||||
})
|
||||
}
|
||||
export default onWholeWaterMark
|
|
@ -259,7 +259,7 @@
|
|||
padding-bottom: 0;
|
||||
.main {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
margin-top: 60px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
@ -273,7 +273,7 @@
|
|||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 26px;
|
||||
margin-bottom: -10px;
|
||||
.line {
|
||||
width: 34px;
|
||||
height: 3px;
|
||||
|
@ -356,6 +356,8 @@
|
|||
color: #734204;
|
||||
}
|
||||
.content-neirong {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
width: 215px;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
|
|
|
@ -31,7 +31,11 @@
|
|||
查看更多
|
||||
<span class="gengduo"></span>
|
||||
</div>
|
||||
<a-empty v-else style="margin-top: 160px; margin-bottom: 60px" />
|
||||
<a-empty
|
||||
v-else
|
||||
style="margin-top: 160px; margin-bottom: 60px"
|
||||
:imageStyle="{ color: '#0058e1' }"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -92,6 +96,7 @@
|
|||
dataList.value[index].photo = photo.value[4]
|
||||
break
|
||||
}
|
||||
dataList.value = []
|
||||
})
|
||||
|
||||
console.log('123123123qwee', dataList.value)
|
||||
|
|
|
@ -240,8 +240,8 @@
|
|||
},
|
||||
legend: {
|
||||
icon: 'emptyCircle',
|
||||
height: 3,
|
||||
itemGap: 40,
|
||||
itemGap: 20,
|
||||
padding: 20,
|
||||
// orient: 'horizontal',
|
||||
bottom: 0,
|
||||
formatter: function (name) {
|
||||
|
@ -261,8 +261,7 @@
|
|||
{
|
||||
center: ['50%', '40%'],
|
||||
type: 'pie',
|
||||
selectedMode: 'single',
|
||||
silent: true,
|
||||
// selectedMode: 'single',
|
||||
radius: ['50%', '30%'],
|
||||
color: ['#fe845e', '#6cc95a', '#02d1b0', '#1772ff', '#FAC858'],
|
||||
top: '0',
|
||||
|
@ -290,7 +289,6 @@
|
|||
type: 'pie',
|
||||
center: ['50%', '40%'],
|
||||
radius: ['58%', '50%'],
|
||||
silent: true,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#c2c7d6',
|
||||
|
@ -477,7 +475,7 @@
|
|||
barGap: '-100%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#C1232B',
|
||||
color: '#ECB53F',
|
||||
},
|
||||
},
|
||||
// data: [5, 20, 36, 10, 10, 20]
|
||||
|
@ -490,7 +488,7 @@
|
|||
barGap: '-100%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#B5C334',
|
||||
color: '#FE845E',
|
||||
},
|
||||
},
|
||||
// data: [5, 20, 36, 10, 10, 20]
|
||||
|
@ -503,7 +501,7 @@
|
|||
barGap: '-100%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#FCCE10',
|
||||
color: '#6CC95A',
|
||||
},
|
||||
},
|
||||
// data: [5, 20, 36, 10, 10, 20]
|
||||
|
@ -516,7 +514,7 @@
|
|||
barGap: '-100%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#E87C25',
|
||||
color: '#02D1B0',
|
||||
},
|
||||
},
|
||||
// data: [5, 20, 36, 10, 10, 20]
|
||||
|
@ -529,20 +527,7 @@
|
|||
barGap: '-100%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#27727B',
|
||||
},
|
||||
},
|
||||
// data: [5, 20, 36, 10, 10, 20]
|
||||
data: [],
|
||||
},
|
||||
{
|
||||
name: '',
|
||||
type: 'bar',
|
||||
barWidth: 35,
|
||||
barGap: '-100%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#FE8463',
|
||||
color: '#1772FF',
|
||||
},
|
||||
},
|
||||
// data: [5, 20, 36, 10, 10, 20]
|
||||
|
@ -560,6 +545,7 @@
|
|||
for (let i = 0; i < 5; i++) {
|
||||
if (i == index) {
|
||||
arr.push(val.value)
|
||||
// arr.push(10) // 方便更改样式
|
||||
} else {
|
||||
arr.push(0)
|
||||
}
|
||||
|
|
|
@ -8,9 +8,17 @@
|
|||
<div class="SharingSituation-left">
|
||||
<div>
|
||||
<div class="left-title">
|
||||
<div>日平均浏览量 {{ browseAvg }}次</div>
|
||||
<div>
|
||||
日平均浏览量
|
||||
<span>{{ browseAvg }}</span>
|
||||
次
|
||||
</div>
|
||||
<div></div>
|
||||
<div>日最大浏览量{{ browseMax }}次</div>
|
||||
<div>
|
||||
日最大浏览量
|
||||
<span>{{ browseMax }}</span>
|
||||
次
|
||||
</div>
|
||||
</div>
|
||||
<div class="left-content-title">
|
||||
<div
|
||||
|
@ -34,7 +42,7 @@
|
|||
style="
|
||||
font-size: 14px;
|
||||
float: left;
|
||||
margin-left: 420px;
|
||||
margin-left: 505px;
|
||||
text-align: center;
|
||||
padding-top: 6px;
|
||||
"
|
||||
|
@ -42,6 +50,9 @@
|
|||
单位: 次
|
||||
</span>
|
||||
<p class="p">申请量</p>
|
||||
<p class="p" style="position: absolute; top: 420px; left: -564px">
|
||||
浏览量
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="volume_box">
|
||||
|
@ -61,12 +72,12 @@
|
|||
backgroundImage: `url(${item.photo}) `,
|
||||
}"
|
||||
></div>
|
||||
<div class="name">{{ item.type }}</div>
|
||||
<div class-="type">{{ item.amount }}</div>
|
||||
<div class="type">{{ item.type }}</div>
|
||||
<div class="amount">{{ item.amount }}</div>
|
||||
</div>
|
||||
<div class="volume_box-son-bottom" v-else>
|
||||
<div class="type">{{ item.amount }}</div>
|
||||
<div class="name">{{ item.type }}</div>
|
||||
<div class="amount">{{ item.amount }}</div>
|
||||
<div class="type">{{ item.type }}</div>
|
||||
<div
|
||||
class="photo"
|
||||
:style="{
|
||||
|
@ -97,12 +108,20 @@
|
|||
let myChart = echarts.init(chartDom)
|
||||
let option
|
||||
option = {
|
||||
grid: {
|
||||
top: '10%',
|
||||
right: '5%',
|
||||
bottom: '10%',
|
||||
left: '5%',
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: datas.time,
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: '单位:次',
|
||||
// minInterval: 1,
|
||||
},
|
||||
tooltip: {
|
||||
show: true,
|
||||
|
@ -255,16 +274,21 @@
|
|||
}
|
||||
|
||||
.situation {
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
font-size: 30px;
|
||||
color: #000;
|
||||
text-align: center;
|
||||
}
|
||||
.line {
|
||||
width: 34px;
|
||||
height: 3px;
|
||||
background-color: #0058e1;
|
||||
margin-top: 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 26px;
|
||||
.line {
|
||||
width: 34px;
|
||||
height: 3px;
|
||||
background-color: #0058e1;
|
||||
margin-top: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.SharingSituation {
|
||||
|
@ -274,6 +298,7 @@
|
|||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 40px;
|
||||
position: relative;
|
||||
|
||||
.SharingSituation-left {
|
||||
width: 666px;
|
||||
|
@ -282,6 +307,7 @@
|
|||
z-index: 2;
|
||||
.left-title {
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
width: 100%;
|
||||
background: #0058e1;
|
||||
color: #ffffff;
|
||||
|
@ -290,6 +316,10 @@
|
|||
align-items: center;
|
||||
border-radius: 2px;
|
||||
padding: 0 80px;
|
||||
span {
|
||||
font-size: 26px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.left-content-title {
|
||||
display: flex;
|
||||
|
@ -321,8 +351,8 @@
|
|||
|
||||
.Chart {
|
||||
flex: 1;
|
||||
width: 598px;
|
||||
height: 286px;
|
||||
width: 638px;
|
||||
height: 296px;
|
||||
background: #f7f7f7;
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
|
@ -333,15 +363,16 @@
|
|||
border-radius: 2px;
|
||||
margin-left: -40px;
|
||||
.p {
|
||||
width: 96px;
|
||||
height: 36px;
|
||||
width: 95px;
|
||||
height: 48px;
|
||||
color: #0058e1;
|
||||
font-size: 18px;
|
||||
background: url('../../../assets/abilityStatistics/gongxiangqingkuangliulanl.png')
|
||||
no-repeat;
|
||||
background-size: 100%;
|
||||
text-align: center;
|
||||
line-height: 36px;
|
||||
margin-left: 500px;
|
||||
line-height: 48px;
|
||||
margin-left: 570px;
|
||||
}
|
||||
.volume_box {
|
||||
width: 666px;
|
||||
|
@ -373,6 +404,13 @@
|
|||
height: 46px;
|
||||
width: 46px;
|
||||
}
|
||||
.amount {
|
||||
font-size: 30px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.type {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
.volume_box-son-bottom {
|
||||
position: absolute;
|
||||
|
|
|
@ -7,17 +7,19 @@
|
|||
-->
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="header">能力上架申请</div>
|
||||
<!-- <div class="header">能力上架申请</div> -->
|
||||
<div class="top">
|
||||
<div
|
||||
v-for="(nav, index) in navList"
|
||||
:key="nav"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||
>
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span>{{ nav.name }}</span>
|
||||
<div class="wai">
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span class="bg-name">{{ nav.name }}</span>
|
||||
</div>
|
||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -101,7 +103,7 @@
|
|||
></application-deployment-use> -->
|
||||
</div>
|
||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||
<button @click="close()">取消</button>
|
||||
|
||||
|
||||
<a-popconfirm
|
||||
v-if="
|
||||
|
@ -116,13 +118,14 @@
|
|||
@confirm="changeGnjs('上一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>上一步</button>
|
||||
<button class="buzhou">上一步</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView == '功能介绍'" @click="changeGnjs('上一步')">
|
||||
<button class="buzhou" v-else-if="showView == '功能介绍'" @click="changeGnjs('上一步')">
|
||||
上一步
|
||||
</button>
|
||||
<!-- 分割线 -->
|
||||
<button
|
||||
class="buzhou"
|
||||
v-show="showView !== '基本信息' && showView === '部署与应用'"
|
||||
@click="back()"
|
||||
>
|
||||
|
@ -141,12 +144,12 @@
|
|||
@confirm="changeBs('预览')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>预览</button>
|
||||
<button class="buzhou">预览</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与应用'" @click="preview()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与应用'" @click="preview()">
|
||||
预览
|
||||
</button>
|
||||
<button v-show="showView === '基本信息'" @click="next()">下一步</button>
|
||||
<button class="buzhou" v-show="showView === '基本信息'" @click="next()">下一步</button>
|
||||
<a-popconfirm
|
||||
v-if="
|
||||
showView == '功能介绍' &&
|
||||
|
@ -160,9 +163,9 @@
|
|||
@confirm="changeGnjs('下一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>下一步</button>
|
||||
<button class="buzhou">下一步</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView == '功能介绍'" @click="changeGnjs('下一步')">
|
||||
<button class="buzhou" v-else-if="showView == '功能介绍'" @click="changeGnjs('下一步')">
|
||||
下一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -178,11 +181,12 @@
|
|||
@confirm="changeBs('提交')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>提交</button>
|
||||
<button class="buzhou">提交</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与应用'" @click="submit()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与应用'" @click="submit()">
|
||||
提交
|
||||
</button>
|
||||
<button class="quxiao" @click="close()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -374,7 +378,7 @@
|
|||
// ) {
|
||||
// notFilled.value.push('共享条件')
|
||||
// }
|
||||
|
||||
|
||||
if (notFilled.value.length > 0) {
|
||||
message.warning('请填写必填字段')
|
||||
console.log(notFilled.value)
|
||||
|
@ -476,7 +480,7 @@
|
|||
getCategoryTree().then((res) => {
|
||||
// console.clear()
|
||||
res.data.data = res.data.data.filter(
|
||||
(item) => item.name === '应用资源一'
|
||||
(item) => item.name === '应用资源'
|
||||
)[0]
|
||||
navList.value = []
|
||||
navList2.value = []
|
||||
|
@ -715,85 +719,120 @@
|
|||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
position: relative;
|
||||
top: 64px;
|
||||
margin: 15px 400px;
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 100px;
|
||||
}
|
||||
.top {
|
||||
margin: 10px 20px 0;
|
||||
padding: 15px 30px;
|
||||
background: #edf4fc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
div {
|
||||
font-size: 18px;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
top: 0.64rem;
|
||||
// margin: 0.15rem 3rem;
|
||||
padding: 0.1rem;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 0.28rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
.top {
|
||||
font-size: 16px;
|
||||
margin: 0.32px 0.4px 0;
|
||||
padding: 24px 24pxs;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.ff {
|
||||
color: #b3b3b3;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid rgb(214, 214, 214);
|
||||
margin-right: 10px;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-left: 10px;
|
||||
width: 280px;
|
||||
height: 1px;
|
||||
background: #999;
|
||||
.bg-name {
|
||||
color: #b3b3b3;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #0087ff;
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #d9d9d9;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #fff;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
background: #9ccefa;
|
||||
color: #fff;
|
||||
border: 1px solid #9ccefa;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
background: #0058e1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid solid #0058e1;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
.bg-name {
|
||||
color: #212121;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #0058e1;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 350px 0;
|
||||
justify-content: space-around;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
button {
|
||||
cursor: pointer;
|
||||
width: 80px;
|
||||
height: 35px;
|
||||
font-size: 0.14rem;
|
||||
width: 0.8rem;
|
||||
height: 0.35rem;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border: 0.01rem solid #9ccefa;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 0.01rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
}
|
||||
button:nth-of-type(1) {
|
||||
|
@ -805,7 +844,55 @@
|
|||
}
|
||||
}
|
||||
.first {
|
||||
justify-content: space-around;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
// button {
|
||||
// cursor: pointer;
|
||||
// font-size: 14px;
|
||||
// text-align: center;
|
||||
// color: #fff;
|
||||
// border: none;
|
||||
// border-radius: 0.06rem;
|
||||
// background: #0087ff;
|
||||
// margin-right:12px;
|
||||
// margin-right:12px;
|
||||
.quxiao{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
background: #ffffff;
|
||||
color:#0058e1;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .quxiao:hover{
|
||||
// background: #0058e1;
|
||||
// color:#ffffff;
|
||||
// }
|
||||
.buzhou{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
background: #0058e1;
|
||||
color:#ffffff;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .buzhou:hover{
|
||||
// background: #ffffff;
|
||||
// color:#0058e1;
|
||||
// }
|
||||
|
||||
}
|
||||
.first {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,17 +7,19 @@
|
|||
-->
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="header">能力上架申请</div>
|
||||
<!-- <div class="header">能力上架申请</div> -->
|
||||
<div class="top">
|
||||
<div
|
||||
v-for="(nav, index) in navList"
|
||||
:key="nav"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||
>
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span>{{ nav.name }}</span>
|
||||
<div class="wai">
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span class="bg-name">{{ nav.name }}</span>
|
||||
</div>
|
||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -80,7 +82,7 @@
|
|||
></put-on-the-shelf>
|
||||
</div>
|
||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||
<button @click="close()">取消</button>
|
||||
|
||||
<a-popconfirm
|
||||
v-if="
|
||||
showView == '功能介绍' &&
|
||||
|
@ -94,9 +96,10 @@
|
|||
@confirm="changeGnjs('上一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>上一步</button>
|
||||
<button class="buzhou" >上一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '功能介绍' &&
|
||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -119,9 +122,10 @@
|
|||
@confirm="changeYycj('上一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>上一步</button>
|
||||
<button class="buzhou" >上一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '应用场景' &&
|
||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -131,7 +135,7 @@
|
|||
>
|
||||
上一步
|
||||
</button>
|
||||
<button v-else-if="showView !== '基本信息'" @click="back()">
|
||||
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
|
||||
上一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -146,9 +150,9 @@
|
|||
@confirm="changeBs('预览')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>预览</button>
|
||||
<button class="buzhou" >预览</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与使用'" @click="preview()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
|
||||
预览
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -164,9 +168,10 @@
|
|||
@confirm="changeGnjs('下一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>下一步</button>
|
||||
<button class="buzhou" >下一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '功能介绍' &&
|
||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -189,9 +194,10 @@
|
|||
@confirm="changeYycj('下一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>下一步</button>
|
||||
<button class="buzhou" >下一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '应用场景' &&
|
||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -201,7 +207,7 @@
|
|||
>
|
||||
下一步
|
||||
</button>
|
||||
<button v-else-if="showView !== '部署与使用'" @click="next()">
|
||||
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
|
||||
下一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -216,11 +222,12 @@
|
|||
@confirm="changeBs('提交')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>提交</button>
|
||||
<button class="buzhou" >提交</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与使用'" @click="submit()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
|
||||
提交
|
||||
</button>
|
||||
<button class="quxiao" @click="close()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -572,7 +579,7 @@
|
|||
getCategoryTree().then((res) => {
|
||||
// console.clear()
|
||||
res.data.data = res.data.data
|
||||
.filter((item) => item.name === '组件服务一')[0]
|
||||
.filter((item) => item.name === '组件服务')[0]
|
||||
.children.filter((item) => item.name === '业务组件')[0]
|
||||
navList.value = []
|
||||
navList2.value = []
|
||||
|
@ -802,86 +809,121 @@
|
|||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
position: relative;
|
||||
top: 64px;
|
||||
margin: 15px 400px;
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 100px;
|
||||
}
|
||||
.top {
|
||||
margin: 10px 20px 0;
|
||||
padding: 15px 30px;
|
||||
background: #edf4fc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
div {
|
||||
font-size: 18px;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.box {
|
||||
position: relative;
|
||||
top: 0.64rem;
|
||||
// margin: 0.15rem 3rem;
|
||||
padding: 0.1rem;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 0.28rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
.top {
|
||||
font-size: 16px;
|
||||
margin: 0.32px 0.4px 0;
|
||||
padding: 24px 24pxs;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.ff {
|
||||
color: #b3b3b3;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid rgb(214, 214, 214);
|
||||
margin-right: 10px;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-left: 10px;
|
||||
width: 130px;
|
||||
height: 1px;
|
||||
background: #999;
|
||||
.bg-name {
|
||||
color: #b3b3b3;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #0087ff;
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #d9d9d9;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #fff;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
background: #9ccefa;
|
||||
color: #fff;
|
||||
border: 1px solid #9ccefa;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
background: #0058e1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid solid #0058e1;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
.bg-name {
|
||||
color: #212121;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #0058e1;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 350px 0;
|
||||
justify-content: space-around;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
button {
|
||||
cursor: pointer;
|
||||
width: 80px;
|
||||
height: 35px;
|
||||
font-size: 0.14rem;
|
||||
width: 0.8rem;
|
||||
height: 0.35rem;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border: 0.01rem solid #9ccefa;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 0.01rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
}
|
||||
button:nth-of-type(1) {
|
||||
|
@ -893,7 +935,55 @@
|
|||
}
|
||||
}
|
||||
.first {
|
||||
justify-content: space-around;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
// button {
|
||||
// cursor: pointer;
|
||||
// font-size: 14px;
|
||||
// text-align: center;
|
||||
// color: #fff;
|
||||
// border: none;
|
||||
// border-radius: 0.06rem;
|
||||
// background: #0087ff;
|
||||
// margin-right:12px;
|
||||
// margin-right:12px;
|
||||
.quxiao{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
background: #ffffff;
|
||||
color:#0058e1;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .quxiao:hover{
|
||||
// background: #0058e1;
|
||||
// color:#ffffff;
|
||||
// }
|
||||
.buzhou{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
background: #0058e1;
|
||||
color:#ffffff;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .buzhou:hover{
|
||||
// background: #ffffff;
|
||||
// color:#0058e1;
|
||||
// }
|
||||
|
||||
}
|
||||
.first {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,17 +7,19 @@
|
|||
-->
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="header">能力上架申请</div>
|
||||
<!-- <div class="header">能力上架申请</div> -->
|
||||
<div class="top">
|
||||
<div
|
||||
v-for="(nav, index) in navList"
|
||||
:key="nav"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||
>
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span>{{ nav.name }}</span>
|
||||
<div class="wai">
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span class="bg-name">{{ nav.name }}</span>
|
||||
</div>
|
||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -79,7 +81,7 @@
|
|||
></put-on-the-shelf>
|
||||
</div>
|
||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||
<button @click="close()">取消</button>
|
||||
|
||||
<a-popconfirm
|
||||
v-if="
|
||||
showView == '功能介绍' &&
|
||||
|
@ -93,9 +95,10 @@
|
|||
@confirm="changeGnjs('上一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>上一步</button>
|
||||
<button class="buzhou">上一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '功能介绍' &&
|
||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -118,9 +121,10 @@
|
|||
@confirm="changeYycj('上一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>上一步</button>
|
||||
<button class="buzhou">上一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '应用场景' &&
|
||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -130,7 +134,7 @@
|
|||
>
|
||||
上一步
|
||||
</button>
|
||||
<button v-else-if="showView !== '基本信息'" @click="back()">
|
||||
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
|
||||
上一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -145,9 +149,9 @@
|
|||
@confirm="changeBs('预览')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>预览</button>
|
||||
<button class="buzhou">预览</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与使用'" @click="preview()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
|
||||
预览
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -163,9 +167,10 @@
|
|||
@confirm="changeGnjs('下一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>下一步</button>
|
||||
<button class="buzhou">下一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '功能介绍' &&
|
||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -188,9 +193,10 @@
|
|||
@confirm="changeYycj('下一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>下一步</button>
|
||||
<button class="buzhou">下一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '应用场景' &&
|
||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -200,7 +206,7 @@
|
|||
>
|
||||
下一步
|
||||
</button>
|
||||
<button v-else-if="showView !== '部署与使用'" @click="next()">
|
||||
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
|
||||
下一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -215,11 +221,12 @@
|
|||
@confirm="changeBs('提交')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>提交</button>
|
||||
<button class="buzhou">提交</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与使用'" @click="submit()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
|
||||
提交
|
||||
</button>
|
||||
<button class="quxiao" @click="close()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -570,7 +577,7 @@
|
|||
getCategoryTree().then((res) => {
|
||||
// console.clear()
|
||||
res.data.data = res.data.data
|
||||
.filter((item) => item.name === '组件服务一')[0]
|
||||
.filter((item) => item.name === '组件服务')[0]
|
||||
.children.filter((item) => item.name === '开发组件')[0]
|
||||
navList.value = []
|
||||
navList2.value = []
|
||||
|
@ -800,85 +807,120 @@
|
|||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
position: relative;
|
||||
top: 64px;
|
||||
margin: 15px 400px;
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 100px;
|
||||
}
|
||||
.top {
|
||||
margin: 10px 20px 0;
|
||||
padding: 15px 30px;
|
||||
background: #edf4fc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
div {
|
||||
font-size: 18px;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
top: 0.64rem;
|
||||
// margin: 0.15rem 3rem;
|
||||
padding: 0.1rem;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 0.28rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
.top {
|
||||
font-size: 16px;
|
||||
margin: 0.32px 0.4px 0;
|
||||
padding: 24px 24pxs;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.ff {
|
||||
color: #b3b3b3;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid rgb(214, 214, 214);
|
||||
margin-right: 10px;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-left: 10px;
|
||||
width: 130px;
|
||||
height: 1px;
|
||||
background: #999;
|
||||
.bg-name {
|
||||
color: #b3b3b3;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #0087ff;
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #d9d9d9;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #fff;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
background: #9ccefa;
|
||||
color: #fff;
|
||||
border: 1px solid #9ccefa;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
background: #0058e1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid solid #0058e1;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
.bg-name {
|
||||
color: #212121;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #0058e1;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 350px 0;
|
||||
justify-content: space-around;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
button {
|
||||
cursor: pointer;
|
||||
width: 80px;
|
||||
height: 35px;
|
||||
font-size: 0.14rem;
|
||||
width: 0.8rem;
|
||||
height: 0.35rem;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border: 0.01rem solid #9ccefa;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 0.01rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
}
|
||||
button:nth-of-type(1) {
|
||||
|
@ -890,7 +932,55 @@
|
|||
}
|
||||
}
|
||||
.first {
|
||||
justify-content: space-around;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
// button {
|
||||
// cursor: pointer;
|
||||
// font-size: 14px;
|
||||
// text-align: center;
|
||||
// color: #fff;
|
||||
// border: none;
|
||||
// border-radius: 0.06rem;
|
||||
// background: #0087ff;
|
||||
// margin-right:12px;
|
||||
// margin-right:12px;
|
||||
.quxiao{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
background: #ffffff;
|
||||
color:#0058e1;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .quxiao:hover{
|
||||
// background: #0058e1;
|
||||
// color:#ffffff;
|
||||
// }
|
||||
.buzhou{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
background: #0058e1;
|
||||
color:#ffffff;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .buzhou:hover{
|
||||
// background: #ffffff;
|
||||
// color:#0058e1;
|
||||
// }
|
||||
|
||||
}
|
||||
.first {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,17 +7,19 @@
|
|||
-->
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="header">能力上架申请</div>
|
||||
<!-- <div class="header">能力上架申请</div> -->
|
||||
<div class="top">
|
||||
<div
|
||||
v-for="(nav, index) in navList"
|
||||
:key="nav"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||
>
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span>{{ nav.name }}</span>
|
||||
<div class="wai">
|
||||
<span class="bg-box">
|
||||
<span>{{ index + 1 }}</span>
|
||||
</span>
|
||||
<span class="bg-name">{{ nav.name }}</span>
|
||||
</div>
|
||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -76,7 +78,7 @@
|
|||
></put-on-the-shelf>
|
||||
</div>
|
||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||
<button @click="close()">取消</button>
|
||||
|
||||
<a-popconfirm
|
||||
v-if="
|
||||
showView == '应用场景' &&
|
||||
|
@ -90,9 +92,10 @@
|
|||
@confirm="changeYycj('上一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>上一步</button>
|
||||
<button class="buzhou">上一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '应用场景' &&
|
||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -102,7 +105,7 @@
|
|||
>
|
||||
上一步
|
||||
</button>
|
||||
<button v-else-if="showView !== '基本信息'" @click="back()">
|
||||
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
|
||||
上一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -118,9 +121,9 @@
|
|||
@confirm="changeBs('预览')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>预览</button>
|
||||
<button class="buzhou">预览</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与使用'" @click="preview()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
|
||||
预览
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -136,9 +139,10 @@
|
|||
@confirm="changeYycj('下一步')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>下一步</button>
|
||||
<button class="buzhou">下一步</button>
|
||||
</a-popconfirm>
|
||||
<button
|
||||
class="buzhou"
|
||||
v-else-if="
|
||||
showView == '应用场景' &&
|
||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||
|
@ -148,7 +152,7 @@
|
|||
>
|
||||
下一步
|
||||
</button>
|
||||
<button v-else-if="showView !== '部署与使用'" @click="next()">
|
||||
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
|
||||
下一步
|
||||
</button>
|
||||
<a-popconfirm
|
||||
|
@ -164,11 +168,12 @@
|
|||
@confirm="changeBs('提交')"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<button>提交</button>
|
||||
<button class="buzhou">提交</button>
|
||||
</a-popconfirm>
|
||||
<button v-else-if="showView === '部署与使用'" @click="submit()">
|
||||
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
|
||||
提交
|
||||
</button>
|
||||
<button class="quxiao" @click="close()">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -467,7 +472,7 @@
|
|||
getCategoryTree().then((res) => {
|
||||
// console.clear()
|
||||
res.data.data = res.data.data
|
||||
.filter((item) => item.name === '组件服务一')[0]
|
||||
.filter((item) => item.name === '组件服务')[0]
|
||||
.children.filter((item) => item.name === '图层服务')[0]
|
||||
navList.value = []
|
||||
navList2.value = []
|
||||
|
@ -670,85 +675,120 @@
|
|||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
position: relative;
|
||||
top: 64px;
|
||||
margin: 15px 400px;
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 100px;
|
||||
}
|
||||
.top {
|
||||
margin: 10px 20px 0;
|
||||
padding: 15px 30px;
|
||||
background: #edf4fc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
div {
|
||||
font-size: 18px;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
top: 0.64rem;
|
||||
// margin: 0.15rem 3rem;
|
||||
padding: 0.1rem;
|
||||
background: #fff;
|
||||
.header {
|
||||
font-size: 0.28rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
.vue-box {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
.top {
|
||||
font-size: 16px;
|
||||
margin: 0.32px 0.4px 0;
|
||||
padding: 24px 24pxs;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.ff {
|
||||
color: #b3b3b3;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid rgb(214, 214, 214);
|
||||
margin-right: 10px;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
margin-left: 10px;
|
||||
width: 130px;
|
||||
height: 1px;
|
||||
background: #999;
|
||||
.bg-name {
|
||||
color: #b3b3b3;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #0087ff;
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #d9d9d9;
|
||||
}
|
||||
}
|
||||
.finish {
|
||||
color: #fff;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.wai {
|
||||
margin-top: 14px;
|
||||
.bg-box {
|
||||
background: #9ccefa;
|
||||
color: #fff;
|
||||
border: 1px solid #9ccefa;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
// border: 0.01rem solid rgb(214, 214, 214);
|
||||
margin: 0px 16px;
|
||||
transition: all 0.3s ease;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
background: #0058e1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid solid #0058e1;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
.bg-name {
|
||||
color: #212121;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
// margin-left: 16px;
|
||||
width: 326px;
|
||||
height: 2px;
|
||||
background: #0058e1;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 350px 0;
|
||||
justify-content: space-around;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
button {
|
||||
cursor: pointer;
|
||||
width: 80px;
|
||||
height: 35px;
|
||||
font-size: 0.14rem;
|
||||
width: 0.8rem;
|
||||
height: 0.35rem;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
border: 0.01rem solid #9ccefa;
|
||||
span {
|
||||
background: #0087ff;
|
||||
border: 0.01rem solid #0087ff;
|
||||
}
|
||||
}
|
||||
.line {
|
||||
background: #0087ff;
|
||||
}
|
||||
button:nth-of-type(1) {
|
||||
|
@ -760,7 +800,55 @@
|
|||
}
|
||||
}
|
||||
.first {
|
||||
justify-content: space-around;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 0.1rem 3.5rem 0;
|
||||
// button {
|
||||
// cursor: pointer;
|
||||
// font-size: 14px;
|
||||
// text-align: center;
|
||||
// color: #fff;
|
||||
// border: none;
|
||||
// border-radius: 0.06rem;
|
||||
// background: #0087ff;
|
||||
// margin-right:12px;
|
||||
// margin-right:12px;
|
||||
.quxiao{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
background: #ffffff;
|
||||
color:#0058e1;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .quxiao:hover{
|
||||
// background: #0058e1;
|
||||
// color:#ffffff;
|
||||
// }
|
||||
.buzhou{
|
||||
margin-right:12px;
|
||||
cursor: pointer;
|
||||
background: #0058e1;
|
||||
color:#ffffff;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
// .buzhou:hover{
|
||||
// background: #ffffff;
|
||||
// color:#0058e1;
|
||||
// }
|
||||
|
||||
}
|
||||
.first {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -147,7 +147,7 @@
|
|||
<button
|
||||
style="
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
height: 35px;
|
||||
margin-right: 10px;
|
||||
background: rgb(237, 244, 252);
|
||||
color: rgb(0, 135, 255);
|
||||
|
|
|
@ -21,21 +21,22 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button class="button-reset" @click="globalSearch()">全局搜索</button>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="globalSearch()"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
全局搜索
|
||||
重置
|
||||
</button>
|
||||
<button
|
||||
v-if="Cardsname == '应用资源'"
|
||||
class="button-reset"
|
||||
@click="applyAll()"
|
||||
style="margin-left: 0.1rem"
|
||||
style="margin-left: 0.1rem; width: 135px"
|
||||
>
|
||||
全部申请
|
||||
申请全部应用资源
|
||||
</button>
|
||||
<div class="hengxian" style="background: transparent"></div>
|
||||
</div>
|
||||
|
@ -168,13 +169,14 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button class="button-reset" @click="globalSearch()">全局搜索</button>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="globalSearch()"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
全局搜索
|
||||
重置
|
||||
</button>
|
||||
<div class="hengxian" style="background: transparent"></div>
|
||||
</div>
|
||||
|
@ -228,13 +230,14 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button class="button-reset" @click="globalSearch()">全局搜索</button>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="globalSearch()"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
全局搜索
|
||||
重置
|
||||
</button>
|
||||
<div class="hengxian" style="background: transparent"></div>
|
||||
</div>
|
||||
|
@ -301,8 +304,8 @@
|
|||
<div class="details-pageconetent-left" v-if="Cardsname != '基础设施'">
|
||||
<detailsPageconetentTree />
|
||||
</div>
|
||||
<div class="details-pageconetent-left" v-else>
|
||||
<detailsPageInfrastructureTree />
|
||||
<div class="details-pageconetent-left" style="left: 0.16rem" v-else>
|
||||
<detailsPageInfrastructureTreeXha />
|
||||
</div>
|
||||
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
|
||||
<div class="top-title">
|
||||
|
@ -334,7 +337,14 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
重置
|
||||
</button>
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -425,7 +435,11 @@
|
|||
<a-empty />
|
||||
</div>
|
||||
</div>
|
||||
<div class="top" v-else-if="Cardsname === '基础设施'">
|
||||
<div
|
||||
class="top"
|
||||
style="width: 13.5rem; margin-left: 0"
|
||||
v-else-if="Cardsname === '基础设施'"
|
||||
>
|
||||
<div class="top-title">
|
||||
<div
|
||||
v-for="item in titleName"
|
||||
|
@ -444,7 +458,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="top-content-father">
|
||||
<infrastructurePage
|
||||
<infrastructurePageXha
|
||||
ref="camera"
|
||||
:searchValue="searchValue"
|
||||
:searchType="searchType"
|
||||
|
@ -481,7 +495,14 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<KnowledgeBase
|
||||
|
@ -489,6 +510,9 @@
|
|||
:resourceTotal="resourceTotal"
|
||||
></KnowledgeBase>
|
||||
</div>
|
||||
<div v-if="Cardsname == '基础设施'">
|
||||
<infrastructureApplication></infrastructureApplication>
|
||||
</div>
|
||||
<div class="talk-monitor" @click="openMonitor">
|
||||
<a-tooltip>
|
||||
<template #title>问答机器人</template>
|
||||
|
@ -538,7 +562,14 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
重置
|
||||
</button>
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -703,7 +734,14 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button
|
||||
class="button-reset"
|
||||
style="margin-left: 0.1rem"
|
||||
@click="chongzhi()"
|
||||
>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<KnowledgeBase
|
||||
|
@ -743,7 +781,10 @@
|
|||
import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue'
|
||||
// 基础设施引用
|
||||
import infrastructurePage from '@/views/home/infrastructurePage.vue'
|
||||
import infrastructurePageXha from '@/views/home/infrastructurePageXha.vue'
|
||||
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
|
||||
import detailsPageInfrastructureTreeXha from '@/views/home/detailsPageInfrastructureTreeXha.vue'
|
||||
import infrastructureApplication from '@/views/home/infrastructureApplication.vue'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
import { useStore } from 'vuex'
|
||||
import { message } from 'ant-design-vue'
|
||||
|
@ -769,7 +810,7 @@
|
|||
const handleAdd = (value) => {
|
||||
flag.value = value
|
||||
}
|
||||
const titleName = ref(titleNameArray)
|
||||
const titleName = ref([])
|
||||
const openMonitor = () => {
|
||||
window.open('http://www.qingdao.gov.cn:8083/ghwd/znwdqd/index.html')
|
||||
}
|
||||
|
@ -869,6 +910,15 @@
|
|||
pageSize: currentPageSize.value,
|
||||
name: '',
|
||||
})
|
||||
//调整标题顺序 西海岸基础设施放在最前面
|
||||
const setTitle = () => {
|
||||
let title = titleNameArray
|
||||
let whoShow1 = ref(whoShow)
|
||||
if (whoShow1 && whoShow1.value.itShowXiHaiAn) {
|
||||
title[0] = title.splice(2, 1, title[0])[0]
|
||||
}
|
||||
titleName.value = title
|
||||
}
|
||||
// 查询
|
||||
const onSearch = () => {
|
||||
loading.value = true
|
||||
|
@ -1706,6 +1756,8 @@
|
|||
}
|
||||
onMounted(() => {
|
||||
// 从本地读取查询条件,赋值
|
||||
//西海岸基础设施放在最前面
|
||||
setTitle()
|
||||
handleSetSearchData()
|
||||
listKey2.value++
|
||||
// 获取筛选条件
|
||||
|
@ -1843,6 +1895,7 @@
|
|||
)
|
||||
}
|
||||
return {
|
||||
setTitle,
|
||||
listKey,
|
||||
ListContent,
|
||||
searchValue,
|
||||
|
@ -1903,7 +1956,9 @@
|
|||
KnowledgeBase,
|
||||
DetailsPageResource,
|
||||
infrastructurePage,
|
||||
infrastructurePageXha,
|
||||
detailsPageInfrastructureTree,
|
||||
detailsPageInfrastructureTreeXha,
|
||||
},
|
||||
beforeUnmount() {
|
||||
mybus.off('getCameraByParentId')
|
||||
|
@ -1930,13 +1985,21 @@
|
|||
.resultListSearchInput-son {
|
||||
background: #fff;
|
||||
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
||||
|
||||
position: relative;
|
||||
.hengxian {
|
||||
width: 100%;
|
||||
height: 0.01rem;
|
||||
background: rgba(150, 144, 144, 0.3);
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
.searchImg {
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
background: url('~@/assets/home/searchInner.png');
|
||||
position: absolute;
|
||||
top: 29px;
|
||||
left: 480px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1945,20 +2008,20 @@
|
|||
|
||||
:deep(.ant-input) {
|
||||
width: 4rem;
|
||||
height: 0.36rem;
|
||||
height: 0.32rem;
|
||||
background: #fff;
|
||||
border-radius: 0.04rem;
|
||||
border-radius: 0.02rem;
|
||||
}
|
||||
|
||||
:deep(.ant-input-search-button) {
|
||||
width: 0.8rem;
|
||||
height: 0.36rem;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
height: 0.32rem;
|
||||
background: #0558e1;
|
||||
border-radius: 0.02rem !important;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 400;
|
||||
color: #fff;
|
||||
line-height: 0.34rem;
|
||||
line-height: 0.32rem;
|
||||
margin-left: 0.1rem;
|
||||
}
|
||||
|
||||
|
@ -1971,13 +2034,15 @@
|
|||
border: 0;
|
||||
outline: none;
|
||||
width: 0.8rem;
|
||||
height: 0.36rem;
|
||||
background: #e1edfa;
|
||||
border-radius: 0.04rem;
|
||||
height: 0.32rem;
|
||||
color: #fff;
|
||||
//background: #e1edfa;
|
||||
background: #0558e1;
|
||||
border-radius: 0.02rem;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 400;
|
||||
color: #0087ff;
|
||||
line-height: 0.34rem;
|
||||
//color: #0087ff;
|
||||
line-height: 0.32rem;
|
||||
margin-left: 2.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="bg">
|
||||
<home-header></home-header>
|
||||
<home-header :target-flag = "targetFlag"></home-header>
|
||||
<div class="box-container">
|
||||
<a-spin
|
||||
size="large"
|
||||
|
@ -10,7 +10,7 @@
|
|||
/>
|
||||
<div class="nav-box">
|
||||
<a-breadcrumb>
|
||||
<a-breadcrumb-item>能力集市</a-breadcrumb-item>
|
||||
<a-breadcrumb-item @click="goToDetailsPageconetent" class="bread-crumb-span">能力集市</a-breadcrumb-item>
|
||||
<a-breadcrumb-item>算法对比</a-breadcrumb-item>
|
||||
</a-breadcrumb>
|
||||
</div>
|
||||
|
@ -194,11 +194,11 @@
|
|||
import { selectOne } from '@/api/home'
|
||||
import { message, Tooltip, Table, Spin } from 'ant-design-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
let queryId = router.currentRoute.value.query.id
|
||||
const ctx = getCurrentInstance()
|
||||
|
||||
const targetFlag= ref(true)
|
||||
// 最大4列
|
||||
const pagination = ref([])
|
||||
// 表格列名
|
||||
|
@ -653,6 +653,14 @@
|
|||
let _obj = Object.assign({}, obj, _newObj)
|
||||
return _obj
|
||||
}
|
||||
|
||||
//点击头部面包屑进入对应的页面goToDetailsPageconetent
|
||||
const goToDetailsPageconetent = () => {
|
||||
let pathData = {
|
||||
path: '/DetailsPageconetent',
|
||||
};
|
||||
mybus.emit('changeMenuStyle',pathData);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
@ -719,6 +727,9 @@
|
|||
align-items: center;
|
||||
background: rgba(244, 245, 248, 0.8);
|
||||
padding-left: 10px;
|
||||
.bread-crumb-span{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.left {
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-16 16:46:16
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-18 15:35:25
|
||||
* @Description: 政务云资源列表
|
||||
-->
|
||||
<template>
|
||||
<div class="top">
|
||||
<div>检索结果:{{ props.governmentCloud.total }}项</div>
|
||||
<div>
|
||||
使用声明:
|
||||
附加增值服务,委办局单位可以根据自身需求,按需采购,由采购单位付费。
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="bottom"
|
||||
v-for="(item, index) in props.governmentCloud.data"
|
||||
:key="item.service_item_tier1 + index"
|
||||
>
|
||||
<div class="left"></div>
|
||||
<div class="right">
|
||||
<div class="title">
|
||||
<div>
|
||||
<div class="name">{{ item.service_item_tier1 }}</div>
|
||||
<div class="type">{{ item.service_type }}</div>
|
||||
</div>
|
||||
<div>年份:{{ item.year }}</div>
|
||||
</div>
|
||||
<div class="text">{{ item.service_description }}</div>
|
||||
<div class="info">
|
||||
<div>一级条目:{{ item.service_item_tier2 }}</div>
|
||||
<div>规格:{{ item.specification }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-pagination
|
||||
v-model:current="current"
|
||||
:pageSize="5"
|
||||
:total="props.governmentCloud.total"
|
||||
:showSizeChanger="false"
|
||||
@change="changeCurrent"
|
||||
show-less-items
|
||||
/>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps, defineEmits } from 'vue'
|
||||
const props = defineProps({
|
||||
governmentCloud: { type: Object, default: null },
|
||||
})
|
||||
const emit = defineEmits(['getGovernmentCloud'])
|
||||
const current = ref(props.governmentCloud.current)
|
||||
const changeCurrent = (current) => {
|
||||
console.log(current)
|
||||
emit('getGovernmentCloud', current)
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #333;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px #ccc solid;
|
||||
}
|
||||
.bottom {
|
||||
margin-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
border-bottom: 1px #ccc solid;
|
||||
.left {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
background: url('~@/assets/home/znsf_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.right {
|
||||
flex: 1;
|
||||
margin-left: 20px;
|
||||
.title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
div:nth-of-type(1) {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
.name {
|
||||
max-width: 400px;
|
||||
height: 22px;
|
||||
line-height: 24px;
|
||||
overflow: hidden; //超出的文本隐藏
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1; // 超出多少行
|
||||
-webkit-box-orient: vertical;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.type {
|
||||
margin-left: 10px;
|
||||
padding: 1px 5px;
|
||||
color: rgba(0, 88, 225, 0.8);
|
||||
background-color: rgba(0, 135, 225, 0.1);
|
||||
border-radius: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.text {
|
||||
height: 50px;
|
||||
overflow: hidden; //超出的文本隐藏
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2; // 超出多少行
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
.info {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
div:nth-of-type(1) {
|
||||
margin-right: 50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -17,9 +17,9 @@
|
|||
<div
|
||||
v-for="item in navList"
|
||||
:key="item.key"
|
||||
@click="jumpPage(item)"
|
||||
@click="jumpPage(item,'headerClick')"
|
||||
class="nav"
|
||||
:class="item.key == select ? 'select' : ''"
|
||||
:class="[{'select':item.key == select},{'select-inner':(item.key == 'DetailsPageconetent' && item.innerKey == 'algorithmCompare'&& props.targetFlag)}]"
|
||||
>
|
||||
{{ item.name }}
|
||||
</div>
|
||||
|
@ -90,14 +90,14 @@
|
|||
</template>
|
||||
<span
|
||||
class="name"
|
||||
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
|
||||
@click="jumpPage({ name: '个人中心', key: 'personalCenter' },'headerClick')"
|
||||
>
|
||||
{{ user.realName }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
<span @click="logout" class="out">退出</span>
|
||||
<i
|
||||
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
|
||||
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' },'headerClick')"
|
||||
class="iconTo"
|
||||
v-show="backFlag"
|
||||
></i>
|
||||
|
@ -135,6 +135,7 @@
|
|||
const mynoticeFlag = ref(false)
|
||||
const mynoticeData = ref([])
|
||||
const navList = ref(navListManagement.navList)
|
||||
const targetRouter= ref('')
|
||||
const backFlag = ref(false)
|
||||
getUserInfo().then((res) => {
|
||||
if(res.data.data.superAdmin =='1'){
|
||||
|
@ -153,6 +154,7 @@
|
|||
|
||||
const props = defineProps({
|
||||
showView: { type: String, default: '' },
|
||||
targetFlag: { type: Boolean, default: false },
|
||||
})
|
||||
|
||||
// 退出登录
|
||||
|
@ -185,8 +187,9 @@
|
|||
window.open('http://15.72.177.175:18460/analystrunner/tonglan', '_blank')
|
||||
}
|
||||
// 跳转页面
|
||||
const jumpPage = (item) => {
|
||||
// 西海岸
|
||||
const jumpPage = (item,type) => {
|
||||
if(type == 'headerClick'){
|
||||
// 西海岸
|
||||
if (itShowXiHaiAn.value) {
|
||||
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
|
||||
if (
|
||||
|
@ -271,6 +274,84 @@
|
|||
router.push('/home')
|
||||
break
|
||||
}
|
||||
}else if(type == 'innerClick'){
|
||||
//select.value = item.key
|
||||
switch (item.name) {
|
||||
case '个人中心':
|
||||
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
|
||||
router.push({
|
||||
path: '/personalCenter',
|
||||
})
|
||||
break
|
||||
case '能力统计':
|
||||
router.push({
|
||||
path: '/abilityStatistics',
|
||||
})
|
||||
break
|
||||
case '能力集市':
|
||||
router.push({
|
||||
path: '/algorithmCompare',
|
||||
query: {
|
||||
id: targetRouter.value.id,
|
||||
},
|
||||
});
|
||||
break
|
||||
case '能力云图':
|
||||
router.push({
|
||||
path: '/capabilityCloud',
|
||||
})
|
||||
break
|
||||
// case '技术文档':
|
||||
// router.push({
|
||||
// path: '/developmentGuide',
|
||||
// })
|
||||
// break
|
||||
case '新手指南':
|
||||
router.push({
|
||||
path: '/instructionManual',
|
||||
})
|
||||
break
|
||||
case '需求中心':
|
||||
router.push({
|
||||
path: '/demandCenter',
|
||||
})
|
||||
break
|
||||
case '区市站点':
|
||||
router.push({
|
||||
path: '/mapTest',
|
||||
})
|
||||
break
|
||||
case '后台管理':
|
||||
Cookies.remove('JSESSIONID')
|
||||
window.open(window.SITE_CONFIG.backUrl + '/#/workBench-workBench')
|
||||
// window.reload('http://15.2.21.238:9797')
|
||||
break
|
||||
case '赋能案例':
|
||||
router.push({
|
||||
path: '/assignCase',
|
||||
})
|
||||
break
|
||||
case '典型赋能案例':
|
||||
router.push({
|
||||
path: '/assignCase',
|
||||
})
|
||||
break
|
||||
case '融合服务':
|
||||
router.push({
|
||||
path: '/integrationServices',
|
||||
})
|
||||
break
|
||||
case 'CIM专区':
|
||||
router.push({
|
||||
path: '/cimSpecialArea',
|
||||
})
|
||||
break
|
||||
default:
|
||||
router.push('/home')
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
const scrollTop = ref(0)
|
||||
window.onscroll = function () {
|
||||
|
@ -348,6 +429,20 @@
|
|||
mybus.on('getMynotice', () => {
|
||||
getMynotice()
|
||||
})
|
||||
|
||||
mybus.on('changeMenuStyle', (data) => {
|
||||
if(data.path=='/algorithmCompare'){
|
||||
targetRouter.value = data;
|
||||
jumpPage({
|
||||
"name": "能力集市",
|
||||
"key": "DetailsPageconetent",
|
||||
"innerKey":"algorithmCompare"
|
||||
},'innerClick');
|
||||
} else if(data.path =='/DetailsPageconetent'){
|
||||
jumpPage({ name: '能力集市', key: 'DetailsPageconetent' },'headerClick')
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
mybus.off('getSgcNum')
|
||||
|
@ -433,6 +528,10 @@
|
|||
.select {
|
||||
background: #0058e1;
|
||||
color: #fff !important;
|
||||
}
|
||||
.select-inner {
|
||||
background: #0058e1;
|
||||
color: #fff !important;
|
||||
}
|
||||
.info1 {
|
||||
margin-left: 0.1rem;
|
||||
|
|
|
@ -805,12 +805,18 @@
|
|||
}
|
||||
// 算法对比跳转
|
||||
const goComparePk = (item) => {
|
||||
router.push({
|
||||
// router.push({
|
||||
// path: '/algorithmCompare',
|
||||
// query: {
|
||||
// id: item.id,
|
||||
// },
|
||||
// });
|
||||
//修改顶部菜单的样式
|
||||
let pathData = {
|
||||
path: '/algorithmCompare',
|
||||
query: {
|
||||
id: item.id,
|
||||
},
|
||||
})
|
||||
id: item.id,
|
||||
};
|
||||
mybus.emit('changeMenuStyle',pathData);
|
||||
}
|
||||
return {
|
||||
onSearch,
|
||||
|
|
|
@ -0,0 +1,336 @@
|
|||
<template>
|
||||
<div class="wrapper">
|
||||
<div class="wrapper-title-left-tree" :key="showKey">
|
||||
<div v-for="item in treeData" :key="item.id" class="primaryNode">
|
||||
<div class="top" @click="showBottom(item)" :class="item.show ? 'topSelect' : ''">
|
||||
{{ item.name }}
|
||||
({{ item.channelCount }})
|
||||
<DownOutlined v-show="!item.show" />
|
||||
<UpOutlined v-show="item.show" />
|
||||
</div>
|
||||
<div class="bottom" v-show="item.show">
|
||||
<div v-for="val in item.children" :key="val.id" class="item">
|
||||
<div class="up" :class="selectId == val.id ? 'select' : ''"
|
||||
@click="showDown(item, val), onSelect(item, val)">
|
||||
<div>
|
||||
<svg t="1654068878091" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="2156" width="0.25rem" height="0.25rem"
|
||||
v-show="selectId == val.id">
|
||||
<path d="M512 624a112 112 0 1 0 0-224 112 112 0 0 0 0 224z" p-id="2157" fill="#0058e1"></path>
|
||||
</svg>
|
||||
<span class="name">{{ val.name }}({{ val.channelCount }})</span>
|
||||
</div>
|
||||
<span v-if="item.children.length < 0">{{ val.total }}</span>
|
||||
<span v-else>
|
||||
<down-outlined v-show="!val.show" />
|
||||
<up-outlined v-show="val.show" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="down" v-show="val.show">
|
||||
<div v-for="child in val.children" :key="child.id" class="child"
|
||||
:class="selectId == child.id ? 'select2' : ''" @click="onSelect(item, child, child)">
|
||||
<div>
|
||||
<svg t="1654068878091" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="2156" width="0.25rem" height="0.25rem"
|
||||
v-show="selectId == child.id">
|
||||
<path d="M512 624a112 112 0 1 0 0-224 112 112 0 0 0 0 224z" p-id="2157" fill="#0058e1"></path>
|
||||
</svg>
|
||||
<span class="name">
|
||||
{{ child.name }}
|
||||
</span>
|
||||
</div>
|
||||
<span>{{ child.channelCount }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { defineComponent, ref, watch } from 'vue'
|
||||
import { getCameraAllOrgan } from '@/api/videoSurveillance'
|
||||
import { getCameraInfoByAreaId } from '@/api/file'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
||||
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||
|
||||
export default defineComponent({
|
||||
setup() {
|
||||
const router = useRouter()
|
||||
const whoShow1 = ref(whoShow)
|
||||
const showKey = ref(0)
|
||||
const treeData = ref([])
|
||||
const selectId = ref('')
|
||||
|
||||
// 初始化
|
||||
const init = async () => {
|
||||
treeData.value = []
|
||||
console.log(
|
||||
'router.currentRoute.value.query.select',
|
||||
router.currentRoute.value.query.select
|
||||
)
|
||||
let select = router.currentRoute.value.query.select || DETAIL_PAGE_CONTENT_DEFAULT_TAB
|
||||
if (select === '123') {
|
||||
select = ''
|
||||
}
|
||||
console.log(
|
||||
'获取url中的select=====================>',
|
||||
router.currentRoute.value.query.select
|
||||
)
|
||||
if (select == '基础设施') {
|
||||
let res = {};
|
||||
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
||||
res = await getCameraAllOrgan({ parentId: 'S4NbecfYB1DBH8HNULGS34' })
|
||||
} else {
|
||||
// 西海岸
|
||||
res = await getCameraInfoByAreaId({
|
||||
areaId: '70be8c5b664f4bcf869d82f2e8335051',
|
||||
})
|
||||
}
|
||||
treeData.value = res.data && res.data.data || []
|
||||
// 只有一个,默认展开到二级菜单
|
||||
if(res.data && res.data.data.length == 1) {
|
||||
showBottom(treeData.value[0])
|
||||
}
|
||||
}
|
||||
}
|
||||
mybus.on('getDeptList', () => {
|
||||
init()
|
||||
})
|
||||
|
||||
const onSelect = async (item, val, child) => {
|
||||
console.log('item--------onSelect---->', item);
|
||||
console.log('val------onSelect------>', val);
|
||||
console.log('child-----onSelect------->', child);
|
||||
mybus.emit('getCameraByParentId', val.id)
|
||||
mybus.emit('getListByParentId', val.id)
|
||||
let res = {}
|
||||
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
||||
res = await getCameraAllOrgan({ parentId: val.id })
|
||||
} else {
|
||||
// 西海岸
|
||||
res = await getCameraInfoByAreaId({ areaId: val.id })
|
||||
}
|
||||
treeData.value.map((treeDataItem, index) => {
|
||||
if (item.id == treeDataItem.id) {
|
||||
treeData.value[index].children.map((childItem, childIndex) => {
|
||||
if (childItem.id == val.id) {
|
||||
treeData.value[index].children[childIndex].children =
|
||||
res.data.data
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
if (child) {
|
||||
selectId.value = child.id
|
||||
}
|
||||
}
|
||||
|
||||
watch(selectId, (newVal) => {
|
||||
if (newVal == '') {
|
||||
mybus.emit('getCameraByParentId', '')
|
||||
mybus.emit('getListByParentId', '')
|
||||
}
|
||||
})
|
||||
|
||||
const showBottom = async (item) => {
|
||||
item.show = !item.show;
|
||||
let res = {};
|
||||
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
|
||||
res = await getCameraAllOrgan({ parentId: item.id })
|
||||
} else {
|
||||
// 西海岸
|
||||
res = await getCameraInfoByAreaId({ areaId: item.id })
|
||||
}
|
||||
|
||||
treeData.value.map((treeDataItem, index) => {
|
||||
if (item.id == treeDataItem.id) {
|
||||
treeData.value[index].children = res.data && res.data.data || []
|
||||
console.log('treeData.value.[index]', treeData.value[index])
|
||||
}
|
||||
})
|
||||
}
|
||||
const showDown = (item, val) => {
|
||||
selectId.value = val.id
|
||||
console.log('item---showDown--------->', item);
|
||||
console.log('val----showDown-------->', val);
|
||||
if (item.children) {
|
||||
val.show = !val.show;
|
||||
// 取消选中
|
||||
if (!val.show) {
|
||||
selectId.value = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
treeData,
|
||||
showKey,
|
||||
onSelect,
|
||||
showBottom,
|
||||
showDown,
|
||||
selectId,
|
||||
}
|
||||
},
|
||||
beforeUnmount() {
|
||||
mybus.off('getDeptList')
|
||||
console.log('getDeptList销毁~~~~~~~~~~~~~~~~~~~')
|
||||
},
|
||||
components: {
|
||||
UpOutlined,
|
||||
DownOutlined,
|
||||
},
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.primaryNode {
|
||||
.top {
|
||||
width: 100%;
|
||||
height: 0.4rem;
|
||||
background: rgba(0, 135, 225, 0.1);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 0.1rem;
|
||||
margin-top: 0.08rem;
|
||||
}
|
||||
|
||||
.top:hover {
|
||||
cursor: pointer;
|
||||
// 0058e1 透明度 0.5
|
||||
background: rgba(0, 88, 225, 0.8);
|
||||
color: white;
|
||||
|
||||
:deep(.anticon) {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
.topSelect {
|
||||
background: #0058e1;
|
||||
color: white;
|
||||
|
||||
:deep(.anticon) {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
width: 100%;
|
||||
background: rgba(244, 245, 248, 0.8);
|
||||
padding: 0 0.1rem;
|
||||
|
||||
// margin-bottom: .08rem;
|
||||
.up {
|
||||
cursor: pointer;
|
||||
height: 0.4rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-top: 0.01rem solid #ccc;
|
||||
padding: 0 0.1rem;
|
||||
|
||||
&>div {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.name {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
.up:hover {
|
||||
.name {
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.select {
|
||||
padding: 0 0.1rem 0 0;
|
||||
|
||||
.name {
|
||||
width: 1.7rem;
|
||||
color: #0058e1 !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.item:nth-of-type(1) .up {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.down {
|
||||
width: 100%;
|
||||
|
||||
.child {
|
||||
cursor: pointer;
|
||||
height: 0.4rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 0.1rem;
|
||||
|
||||
&>div {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.name {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
.child:hover {
|
||||
.name {
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.select2 {
|
||||
.name {
|
||||
width: 1.7rem;
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #0058e1;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
padding: 0 0.1rem 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,12 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-18 11:53:43
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-18 11:54:11
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div>基础设施申请</div>
|
||||
</template>
|
||||
<script setup></script>
|
||||
<style lang="less" scoped></style>
|
|
@ -560,6 +560,16 @@
|
|||
@change="handleMeeting"
|
||||
></a-table>
|
||||
</div>
|
||||
<div
|
||||
class="infrastructrue-table"
|
||||
:key="showKey"
|
||||
v-if="!wrjFlag && selectType == '政务云资源'"
|
||||
>
|
||||
<GovernmentCloudResources
|
||||
:governmentCloud="governmentCloud"
|
||||
@getGovernmentCloud="getGovernmentCloud"
|
||||
></GovernmentCloudResources>
|
||||
</div>
|
||||
<!-- 西海岸-无人机、单兵设备 -->
|
||||
<div class="infrastructrue-table" v-else-if="isXiHaiAn && wrjFlag">
|
||||
<a-table
|
||||
|
@ -771,20 +781,10 @@
|
|||
</template>
|
||||
<script setup>
|
||||
import VideoSurveillance from '@/views/home/videoSurveillance'
|
||||
import GovernmentCloudResources from './components/GovernmentCloudResources'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message, Upload } from 'ant-design-vue'
|
||||
import {
|
||||
ref,
|
||||
reactive,
|
||||
onMounted,
|
||||
defineProps,
|
||||
watch,
|
||||
defineComponent,
|
||||
nextTick,
|
||||
defineExpose,
|
||||
computed,
|
||||
} from 'vue'
|
||||
import { getUser, getEnkeUsers } from '@/api/home'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { ref, reactive, onMounted, defineProps, defineExpose } from 'vue'
|
||||
import { initiateMeet } from '@/api/file'
|
||||
import {
|
||||
getCameraByParentId,
|
||||
|
@ -794,17 +794,18 @@
|
|||
} from '@/api/videoSurveillance'
|
||||
import { getCameraByCondition } from '@/api/file'
|
||||
import {
|
||||
getUser,
|
||||
getEnkeUsers,
|
||||
sgcInsert,
|
||||
xhaAddCart,
|
||||
getRoomSearch,
|
||||
getDate,
|
||||
setSubmit,
|
||||
getYuyue,
|
||||
getSoldierList,
|
||||
getMaxApplyNum,
|
||||
getPolicyCloudService,
|
||||
} from '@/api/home'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import dayjs from 'dayjs'
|
||||
import { Form } from 'ant-design-vue'
|
||||
import moment from 'moment'
|
||||
import { useStore } from 'vuex'
|
||||
|
@ -1123,7 +1124,7 @@
|
|||
let clickList = ref([]) //存储点击的tab
|
||||
if (!isXiHaiAn) {
|
||||
tabList.value.push({
|
||||
title: '城市云脑会客厅',
|
||||
title: '筛选条件',
|
||||
content: [],
|
||||
})
|
||||
}
|
||||
|
@ -1556,6 +1557,7 @@
|
|||
}
|
||||
const emits = defineEmits(['add'])
|
||||
const selectType = ref('政务云资源')
|
||||
const showKey = ref(0)
|
||||
//表格的高度
|
||||
let tableHeight = ref('600')
|
||||
//tab切换点击事件
|
||||
|
@ -1580,7 +1582,7 @@
|
|||
dataSource2.value = []
|
||||
pagination.value.total = 0
|
||||
if (tabList.value[1]) {
|
||||
tabList.value[1].title = '政务云资源分类'
|
||||
tabList.value[1].title = '服务类别'
|
||||
}
|
||||
selectType.value = '政务云资源'
|
||||
} else if (name == '感知资源') {
|
||||
|
@ -1604,10 +1606,12 @@
|
|||
}
|
||||
selectType.value = '视频会议'
|
||||
}
|
||||
clickList.value[indexFather].content.splice(
|
||||
clickList.value[indexFather].content.indexOf(name),
|
||||
1
|
||||
)
|
||||
if (indexFather !== 0 && selectType.value !== '政务云资源') {
|
||||
clickList.value[indexFather].content.splice(
|
||||
clickList.value[indexFather].content.indexOf(name),
|
||||
1
|
||||
)
|
||||
}
|
||||
} else {
|
||||
if (name == '视频资源') {
|
||||
selectType.value = '视频资源'
|
||||
|
@ -1661,17 +1665,21 @@
|
|||
}
|
||||
clickList.value[indexFather].content[0] = name
|
||||
if (tabList.value[1]) {
|
||||
tabList.value[1].title = '政务云资源分类'
|
||||
tabList.value[1].content = [
|
||||
'云主机',
|
||||
'算力主机',
|
||||
'对象存储',
|
||||
'堡垒机',
|
||||
'防火墙',
|
||||
'网闸',
|
||||
'负载均衡',
|
||||
'公网IP',
|
||||
]
|
||||
if (!isXiHaiAn) {
|
||||
tabList.value[1].title = '服务类别'
|
||||
tabList.value[1].content = [
|
||||
'基础服务',
|
||||
'PaaS服务',
|
||||
'安全服务',
|
||||
'大数据服务',
|
||||
'附加增值服务',
|
||||
]
|
||||
} else {
|
||||
if (tabList.value[1]) {
|
||||
tabList.value[1].title = ''
|
||||
tabList.value[1].content = []
|
||||
}
|
||||
}
|
||||
}
|
||||
room.value = true
|
||||
wrjFlag.value = false
|
||||
|
@ -1738,11 +1746,53 @@
|
|||
emits('add', 6)
|
||||
searchData()
|
||||
} else {
|
||||
if (clickList.value[indexFather]) {
|
||||
if (
|
||||
clickList.value[indexFather] &&
|
||||
(clickList.value[0].content[0] !== '政务云资源' || indexFather !== 1)
|
||||
) {
|
||||
clickList.value[indexFather].content.push(name)
|
||||
}
|
||||
}
|
||||
}
|
||||
// 市局添加政务云资源
|
||||
console.log(
|
||||
'点击==========>',
|
||||
indexFather,
|
||||
name,
|
||||
clickList.value,
|
||||
clickList.value[0].content[0],
|
||||
clickList.value[indexFather].content.indexOf(name)
|
||||
)
|
||||
if (!isXiHaiAn && indexFather == 0 && name == '政务云资源') {
|
||||
getGovernmentCloud()
|
||||
}
|
||||
if (
|
||||
clickList.value[0].content[0] === '政务云资源' &&
|
||||
name !== '政务云资源'
|
||||
) {
|
||||
console.log(
|
||||
'点击政务云资源',
|
||||
clickList.value[1].content[0],
|
||||
clickList.value[indexFather].content.indexOf(name) !== -1
|
||||
)
|
||||
if (clickList.value[indexFather].content.indexOf(name) !== -1) {
|
||||
console.log(
|
||||
'点击政务云资源点击过',
|
||||
clickList.value[indexFather].content[0]
|
||||
)
|
||||
clickList.value[indexFather].content.splice(
|
||||
clickList.value[indexFather].content.indexOf(name),
|
||||
1
|
||||
)
|
||||
} else {
|
||||
clickList.value[indexFather].content = [name]
|
||||
}
|
||||
if (!isXiHaiAn) {
|
||||
getGovernmentCloud(1)
|
||||
governmentCloud.current = 1
|
||||
showKey.value++
|
||||
}
|
||||
}
|
||||
// 改变查询摄像头接口的labelCode数组
|
||||
mapSearchParam.value.labelCodes = []
|
||||
if (clickList.value[1]) {
|
||||
|
@ -2106,18 +2156,11 @@
|
|||
//加入申购车
|
||||
const addShoppingCart = () => {
|
||||
if (selectedList.value.length > 0) {
|
||||
let _arr = []
|
||||
selectedList.value.map((v) => {
|
||||
_arr.push({
|
||||
delFlag: '0',
|
||||
resourceId: v.idtCameraChannel,
|
||||
note1: [v],
|
||||
})
|
||||
})
|
||||
xhaAddCart(_arr).then((res) => {
|
||||
if (res.data.code !== 0) {
|
||||
return message.error(res.data.msg)
|
||||
}
|
||||
sgcInsert({
|
||||
delFlag: '0',
|
||||
resourceld: '8888888880000000001',
|
||||
note1: selectedList.value,
|
||||
}).then((res) => {
|
||||
message.success('添加申购车成功!')
|
||||
mybus.emit('getSgcNum')
|
||||
})
|
||||
|
@ -2277,7 +2320,19 @@
|
|||
} else {
|
||||
}
|
||||
}
|
||||
|
||||
const governmentCloud = reactive({ data: [], total: 0, current: 1 })
|
||||
const getGovernmentCloud = (page) => {
|
||||
getPolicyCloudService({
|
||||
limit: 5,
|
||||
page: page || 1,
|
||||
name: '',
|
||||
type: clickList.value[1].content[0],
|
||||
}).then((res) => {
|
||||
console.log('获取政务云资源======》', res.data.data)
|
||||
governmentCloud.data = res.data.data.list
|
||||
governmentCloud.total = res.data.data.total
|
||||
})
|
||||
}
|
||||
// 切换tab
|
||||
const handleTableChange = (val) => {
|
||||
pagination.value.current = val.current
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button class="button-reset" @click="resetAction()">重置</button>
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
|
@ -342,6 +343,14 @@
|
|||
background: rgba(150, 144, 144, 0.3);
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
.searchImg{
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
background: url('~@/assets/home/searchInner.png');
|
||||
position: absolute;
|
||||
top: 139px;
|
||||
left: 500px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -350,20 +359,20 @@
|
|||
|
||||
:deep(.ant-input) {
|
||||
width: 4rem;
|
||||
height: 0.36rem;
|
||||
height: 0.32rem;
|
||||
background: #fff;
|
||||
border-radius: 0.04rem;
|
||||
border-radius: 0.02rem;
|
||||
}
|
||||
|
||||
:deep(.ant-input-search-button) {
|
||||
width: 0.8rem;
|
||||
height: 0.36rem;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
height: 0.32rem;
|
||||
background: #0558e1;
|
||||
border-radius: 0.02rem !important;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 400;
|
||||
color: #fff;
|
||||
line-height: 0.34rem;
|
||||
line-height: 0.32rem;
|
||||
margin-left: 0.1rem;
|
||||
}
|
||||
|
||||
|
@ -376,13 +385,15 @@
|
|||
border: 0;
|
||||
outline: none;
|
||||
width: 0.8rem;
|
||||
height: 0.36rem;
|
||||
background: #e1edfa;
|
||||
border-radius: 0.04rem;
|
||||
height: 0.32rem;
|
||||
//background: #e1edfa;
|
||||
background: #0558e1;
|
||||
border-radius: 0.02rem;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 400;
|
||||
color: #0087ff;
|
||||
line-height: 0.34rem;
|
||||
//color: #0087ff;
|
||||
color: #fff;
|
||||
line-height: 0.32rem;
|
||||
margin-left: 2.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 联系我们 -->
|
||||
<div class="img-bg callus-box">
|
||||
<!-- <div class="title" style="margin-bottom: 20px">
|
||||
<!--<div class="img-bg callus-box">
|
||||
<div class="title" style="margin-bottom: 20px">
|
||||
<div class="text text-white">联系我们</div>
|
||||
<div class="line line-white"></div>
|
||||
</div>
|
||||
|
@ -61,8 +61,8 @@
|
|||
手机号:
|
||||
<span>0530-0000000</span>
|
||||
</p>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- 能力上架弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="visible"
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
function handlecancel() {
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
visible.value = false
|
||||
}
|
||||
let abilityToTypeFunctionData = ref('组件服务')
|
||||
function abilityToTypeFunction(item) {
|
||||
|
@ -124,6 +125,7 @@
|
|||
if (abilityToTypeFunctionData.value == '组件服务') {
|
||||
if (!componentTypeValue.value || componentTypeValue.value == '') {
|
||||
message.error('请选择组件类型!')
|
||||
componentTypeValueOld.value=''
|
||||
return
|
||||
} else if (
|
||||
componentTypeValue.value === '智能算法' ||
|
||||
|
@ -152,7 +154,7 @@
|
|||
visible.value = false
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
console.log(e)
|
||||
visible.value = false
|
||||
}
|
||||
const getList = () => {
|
||||
const params = {
|
||||
|
|
|
@ -306,20 +306,24 @@
|
|||
getUserInfo().then((res) => {
|
||||
userName.value = res.data.data.username
|
||||
})
|
||||
let typeList = ref([
|
||||
'能力申请',
|
||||
'能力上架',
|
||||
'能力下架',
|
||||
'能力需求',
|
||||
'需求评论',
|
||||
'数据资源申请',
|
||||
'云资源申请',
|
||||
'云视频申请',
|
||||
// '能力评价',
|
||||
])
|
||||
const formState = ref({ name: '' })
|
||||
// 西海岸-设备申请
|
||||
let isXiHaiAn = whoShow.itShowXiHaiAn
|
||||
let typeList = ref(
|
||||
isXiHaiAn
|
||||
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论']
|
||||
: [
|
||||
'能力申请',
|
||||
'能力上架',
|
||||
'能力下架',
|
||||
'能力需求',
|
||||
'需求评论',
|
||||
'数据资源申请',
|
||||
'云资源申请',
|
||||
'云视频申请',
|
||||
// '能力评价',
|
||||
]
|
||||
)
|
||||
const itShowXiHaiAn = ref(isXiHaiAn)
|
||||
const phoneSate = ref([2, 3])
|
||||
if (isXiHaiAn) {
|
||||
|
@ -769,8 +773,9 @@
|
|||
contentList.data = res.data.data.list
|
||||
total.value = res.data.data.total
|
||||
initNum()
|
||||
console.log('typeIndex', typeIndex.value)
|
||||
switch (typeIndex.value) {
|
||||
case 2:
|
||||
case 1:
|
||||
contentList.data.map((val) => {
|
||||
nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
|
||||
console.log('上架===========>', res1.data.data)
|
||||
|
@ -780,7 +785,7 @@
|
|||
})
|
||||
})
|
||||
break
|
||||
case 3:
|
||||
case 2:
|
||||
contentList.data.map((val) => {
|
||||
selectOneDel(val.businessKey).then((res1) => {
|
||||
console.log('下架===========>', res1.data.data)
|
||||
|
@ -790,7 +795,7 @@
|
|||
})
|
||||
})
|
||||
break
|
||||
case 4:
|
||||
case 3:
|
||||
contentList.data.map((val) => {
|
||||
getDemandForm(val.businessKey).then((res1) => {
|
||||
console.log('需求===========>', res1.data.data)
|
||||
|
@ -801,7 +806,7 @@
|
|||
})
|
||||
})
|
||||
break
|
||||
case 5:
|
||||
case 4:
|
||||
contentList.data.map((val) => {
|
||||
demandComment(val.businessKey).then((res1) => {
|
||||
console.log('评论===========>', res1.data.data)
|
||||
|
|