Compare commits
32 Commits
1d41742942
...
72a900723f
Author | SHA1 | Date |
---|---|---|
a0049873 | 72a900723f | |
a0049873 | 84ea475d64 | |
a0049873 | 8a02cc43b4 | |
unknown | 938ad4cd9b | |
unknown | 74925cc9e0 | |
gongjiale | 8f04b9403e | |
a0049873 | cf1e1452c3 | |
a0049873 | 23fd66cd98 | |
a0049873 | 8939f054df | |
a0049873 | 51271131b6 | |
gongjiale | b3899dbfaf | |
gongjiale | 177d0cc95d | |
unknown | 9796982337 | |
gongjiale | 11994b6120 | |
unknown | 8d15818d1b | |
a0049873 | 904c7cbbb5 | |
a0049873 | b5f18ecedc | |
a0049873 | f8bb9c9223 | |
a0049873 | 65894066b5 | |
unknown | 2c69d3829b | |
gongjiale | 2f55fca391 | |
wuhongjian | 1ee871886f | |
unknown | ac544cee15 | |
unknown | 6d806547ef | |
unknown | db469bd53d | |
a0049873 | e60f697325 | |
a0049873 | f094da8cd5 | |
a0049873 | dbdaa313ff | |
gongjiale | 6a5139f8b3 | |
gongjiale | 3eab1e693f | |
a0049873 | e03c1455ec | |
a0049873 | a320b46ade |
|
@ -13,7 +13,28 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.el-table th.gutter{
|
.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>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: hisense.wuhongjian
|
* @Author: hisense.wuhongjian
|
||||||
* @Date: 2022-05-11 20:03:41
|
* @Date: 2022-05-11 20:03:41
|
||||||
* @LastEditors: hisense.wuhongjian
|
* @LastEditors: hisense.wuhongjian
|
||||||
* @LastEditTime: 2022-11-11 11:07:09
|
* @LastEditTime: 2022-11-15 19:26:30
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
*/
|
*/
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
@ -102,7 +102,7 @@ http.interceptors.response.use(
|
||||||
response['Access-Control-Expose-Headers'] = 'redirect'
|
response['Access-Control-Expose-Headers'] = 'redirect'
|
||||||
const { code, message } = response.data
|
const { code, message } = response.data
|
||||||
if (response.headers.token) {
|
if (response.headers.token) {
|
||||||
Cookies.set('ucsToken', response.headers.token, { expires: 'session' })
|
Cookies.set('ucsToken', response.headers.token)
|
||||||
}
|
}
|
||||||
if (response.headers.redirect) {
|
if (response.headers.redirect) {
|
||||||
window.location.href = response.headers.redirect
|
window.location.href = response.headers.redirect
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
|
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="searchData">{{
|
<el-button type="primary" @click="searchData">{{
|
||||||
$t("query")
|
$t("query")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
<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-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="searchData">{{
|
<el-button type="primary" @click="searchData">{{
|
||||||
$t("query")
|
$t("query")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="info" @click="exportHandle()">{{
|
<el-button type="primary" @click="exportHandle()">{{
|
||||||
$t('export')
|
$t('export')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -35,13 +35,13 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||||
type="danger"
|
type="primary"
|
||||||
@click="deleteHandle2()"
|
@click="deleteHandle2()"
|
||||||
>{{ $t('deleteBatch') }}</el-button
|
>{{ $t('deleteBatch') }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
@ -636,7 +636,7 @@ export default {
|
||||||
this.showPutOnTheShelfFlag = true
|
this.showPutOnTheShelfFlag = true
|
||||||
this.$http.get('/category/getCategoryTree').then((res) => {
|
this.$http.get('/category/getCategoryTree').then((res) => {
|
||||||
this.insertList = res.data.data.filter(
|
this.insertList = res.data.data.filter(
|
||||||
(item) => item.name === '组件服务一'
|
(item) => item.name === '组件服务'
|
||||||
)[0]
|
)[0]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -887,7 +887,7 @@ export default {
|
||||||
UpdateData (item) {
|
UpdateData (item) {
|
||||||
this.$http.get('/category/getCategoryTree').then((res) => {
|
this.$http.get('/category/getCategoryTree').then((res) => {
|
||||||
this.insertList = res.data.data.filter(
|
this.insertList = res.data.data.filter(
|
||||||
(item) => item.name === '组件服务一'
|
(item) => item.name === '组件服务'
|
||||||
)[0]
|
)[0]
|
||||||
this.radio = item.infoList.filter(
|
this.radio = item.infoList.filter(
|
||||||
(val) => val.attrType === '组件类型'
|
(val) => val.attrType === '组件类型'
|
||||||
|
|
|
@ -10,12 +10,12 @@
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="getDataList2(dataForm.name)">{{
|
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||||
$t("query")
|
$t("query")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="info" @click="exportHandle()">{{
|
<el-button type="primary" @click="exportHandle()">{{
|
||||||
$t("export")
|
$t("export")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -37,13 +37,13 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||||
type="danger"
|
type="primary"
|
||||||
@click="deleteHandle2()"
|
@click="deleteHandle2()"
|
||||||
>{{ $t("deleteBatch") }}</el-button
|
>{{ $t("deleteBatch") }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
@ -577,7 +577,7 @@ export default {
|
||||||
showPutOnTheShelf () {
|
showPutOnTheShelf () {
|
||||||
this.showPutOnTheShelfFlag2 = true
|
this.showPutOnTheShelfFlag2 = true
|
||||||
this.$http.get('/category/getCategoryTree').then(res => {
|
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
|
this.putOnTheShelfList = this.insertList.children
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -747,7 +747,7 @@ export default {
|
||||||
// 新修改
|
// 新修改
|
||||||
UpdateData (item) {
|
UpdateData (item) {
|
||||||
this.$http.get('/category/getCategoryTree').then(res => {
|
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 = '应用资源'
|
||||||
// this.radio = item.infoList.filter(val => val.attrType === '应用资源')[0].attrValue
|
// this.radio = item.infoList.filter(val => val.attrType === '应用资源')[0].attrValue
|
||||||
this.putOnTheShelfList = this.insertList.children
|
this.putOnTheShelfList = this.insertList.children
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<el-input v-model="dataForm.orderId" :placeholder="$t('infrastructure.resourceName')" clearable></el-input>
|
<el-input v-model="dataForm.orderId" :placeholder="$t('infrastructure.resourceName')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>
|
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>
|
||||||
|
|
|
@ -34,9 +34,9 @@
|
||||||
<p>
|
<p>
|
||||||
<span>应用背景:{{ detailParams.applicationBackground }}</span>
|
<span>应用背景:{{ detailParams.applicationBackground }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<!-- <p>
|
||||||
<span>期望效果:{{ detailParams.effectWish }}</span>
|
<span>期望效果:{{ detailParams.effectWish }}</span>
|
||||||
</p>
|
</p> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -53,13 +53,13 @@
|
||||||
<span class="img"></span>
|
<span class="img"></span>
|
||||||
<span>{{ item.name }}</span>
|
<span>{{ item.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<!-- <div
|
||||||
style="
|
style="
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
"
|
"
|
||||||
></div>
|
></div> -->
|
||||||
<div class="ability" v-for="val in item.list" :key="val.id">
|
<div class="ability" v-for="val in item.list" :key="val.id">
|
||||||
<div class="box" v-if="item.list.length > 0">
|
<div class="box" v-if="item.list.length > 0">
|
||||||
<div class="right">
|
<div class="right">
|
||||||
|
@ -280,7 +280,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style lang="scss" scoped>
|
||||||
.title {
|
.title {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
@ -324,7 +324,7 @@ export default {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
width: 50px;
|
width: 300px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -334,7 +334,8 @@ export default {
|
||||||
.main {
|
.main {
|
||||||
.item {
|
.item {
|
||||||
border-top: 1px #eee solid;
|
border-top: 1px #eee solid;
|
||||||
|
line-height: 30px;
|
||||||
|
margin-bottom: 10px;
|
||||||
.deptName {
|
.deptName {
|
||||||
color: #0058e1;
|
color: #0058e1;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
|
@ -1,27 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="container">
|
<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">
|
<el-form :inline="true">
|
||||||
<!--起始日期 @keyup.enter.native="getDataList()"-->
|
<!--起始日期 @keyup.enter.native="getDataList()"-->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
@ -71,14 +52,14 @@
|
||||||
<!--资源名称 仅明细添加-->
|
<!--资源名称 仅明细添加-->
|
||||||
|
|
||||||
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
|
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
|
||||||
|
<span>名称:</span>
|
||||||
<!-- <span v-if="this.departmentId === 2 || this.departmentId === 4">资源名称:</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-item>
|
||||||
</el-form>
|
</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-form-item>
|
||||||
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--操作按钮重置-->
|
<!--操作按钮重置-->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
@ -1179,16 +1160,17 @@ input::placeholder {
|
||||||
}
|
}
|
||||||
|
|
||||||
.export {
|
.export {
|
||||||
|
margin-top: 6px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 70px;
|
width: 80px;
|
||||||
height: 40px;
|
height: 32px;
|
||||||
line-height: 40px;
|
line-height: 32px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 5px;
|
border-radius: 2px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border: 1px solid #dcdfe6;
|
border: 2px solid #dcdfe6;
|
||||||
color: #000;
|
color: #000;
|
||||||
color: #FFF;
|
color: #fff;
|
||||||
background-color: #0058e1;
|
background-color: #0058e1;
|
||||||
border-color: #0058e1;
|
border-color: #0058e1;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
@ -1197,7 +1179,6 @@ input::placeholder {
|
||||||
.export:hover {
|
.export:hover {
|
||||||
background: #65a5f9;
|
background: #65a5f9;
|
||||||
border-color: #65a5f9;
|
border-color: #65a5f9;
|
||||||
color: #FFF;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -60,7 +60,25 @@
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="dataForm.enclosure" label="申请附件" prop="enclosure">
|
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- 流程综合组件 -->
|
<!-- 流程综合组件 -->
|
||||||
|
@ -73,11 +91,16 @@
|
||||||
></ren-process-multiple> -->
|
></ren-process-multiple> -->
|
||||||
<!-- 审批 -->
|
<!-- 审批 -->
|
||||||
<div class="agreeOr" v-if="taskId">
|
<div class="agreeOr" v-if="taskId">
|
||||||
<div>
|
<div class="approvalOperation">
|
||||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
<!-- <el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||||
<el-button type="danger" plain @click="showDialog('拒绝')"
|
<el-button type="danger" plain @click="showDialog('拒绝')"
|
||||||
>驳回</el-button
|
>驳回</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>
|
||||||
</div>
|
</div>
|
||||||
<!-- 审批弹窗 -->
|
<!-- 审批弹窗 -->
|
||||||
|
@ -221,46 +244,46 @@ export default {
|
||||||
},
|
},
|
||||||
// 同意与退回
|
// 同意与退回
|
||||||
agreeOrNot: debounce(
|
agreeOrNot: debounce(
|
||||||
function (data) {
|
function (data, type) {
|
||||||
this.dataForm.taskId = this.$route.params.taskId
|
this.dataForm.taskId = this.$route.params.taskId
|
||||||
if (this.dialogType === '同意') {
|
if (type === '同意') {
|
||||||
if (this.input !== '') {
|
// if (this.input !== '') {
|
||||||
console.log('this.dataForm', this.dataForm)
|
console.log('this.dataForm', this.dataForm)
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.dataForm.taskId,
|
taskId: this.dataForm.taskId,
|
||||||
comment: this.input
|
comment: this.input || '同意'
|
||||||
})
|
})
|
||||||
console.log(params)
|
console.log(params)
|
||||||
this.$http
|
this.$http
|
||||||
.post('/act/task/complete?' + params)
|
.post('/act/task/complete?' + params)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg)
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
bus.$emit('AbilityResourcesRemovedInit')
|
return
|
||||||
this.$message({
|
}
|
||||||
message: this.$t('prompt.success'),
|
bus.$emit('AbilityResourcesRemovedInit')
|
||||||
type: 'success',
|
this.$message({
|
||||||
duration: 500,
|
message: this.$t('prompt.success'),
|
||||||
onClose: () => {
|
type: 'success',
|
||||||
this.visible = false
|
duration: 500,
|
||||||
this.dialogVisible = false
|
onClose: () => {
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
this.visible = false
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
this.dialogVisible = false
|
||||||
}
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
})
|
||||||
this.tabRemoveHandle(data)
|
.catch(() => {})
|
||||||
} else {
|
this.tabRemoveHandle(data)
|
||||||
this.$message.error('请输入审批意见!')
|
// } else {
|
||||||
}
|
// this.$message.error('请输入审批意见!')
|
||||||
} else if (this.dialogType === '拒绝') {
|
// }
|
||||||
|
} else if (type === '驳回') {
|
||||||
if (this.input !== '') {
|
if (this.input !== '') {
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.dataForm.taskId,
|
taskId: this.dataForm.taskId,
|
||||||
|
@ -334,6 +357,11 @@ export default {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.DownloadAttachment {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
top: -150px;
|
||||||
|
}
|
||||||
.agreeOr {
|
.agreeOr {
|
||||||
& > div {
|
& > div {
|
||||||
// text-align: right;
|
// text-align: right;
|
||||||
|
@ -341,4 +369,102 @@ export default {
|
||||||
margin: 20px 0;
|
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>
|
</style>
|
||||||
|
|
|
@ -32,11 +32,16 @@
|
||||||
></ren-process-multiple> -->
|
></ren-process-multiple> -->
|
||||||
<!-- 审批 -->
|
<!-- 审批 -->
|
||||||
<div class="agreeOr" v-if="taskId">
|
<div class="agreeOr" v-if="taskId">
|
||||||
<div>
|
<div class="approvalOperation">
|
||||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
<!-- <el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||||
<el-button type="danger" plain @click="showDialog('拒绝')"
|
<el-button type="danger" plain @click="showDialog('拒绝')"
|
||||||
>驳回</el-button
|
>驳回</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>
|
||||||
</div>
|
</div>
|
||||||
<!-- 审批弹窗 -->
|
<!-- 审批弹窗 -->
|
||||||
|
@ -149,46 +154,46 @@ export default {
|
||||||
},
|
},
|
||||||
// 同意与退回
|
// 同意与退回
|
||||||
agreeOrNot: debounce(
|
agreeOrNot: debounce(
|
||||||
function (data) {
|
function (data, type) {
|
||||||
this.dataForm.taskId = this.$route.params.taskId
|
this.dataForm.taskId = this.$route.params.taskId
|
||||||
if (this.dialogType === '同意') {
|
if (type === '同意') {
|
||||||
if (this.input !== '') {
|
// if (this.input !== '') {
|
||||||
console.log('this.dataForm', this.dataForm)
|
console.log('this.dataForm', this.dataForm)
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.dataForm.taskId,
|
taskId: this.dataForm.taskId,
|
||||||
comment: this.input
|
comment: this.input || '同意'
|
||||||
})
|
})
|
||||||
console.log(params)
|
console.log(params)
|
||||||
this.$http
|
this.$http
|
||||||
.post('/act/task/complete?' + params)
|
.post('/act/task/complete?' + params)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg)
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
bus.$emit('AbilityResourcesRemovedInit')
|
return
|
||||||
this.$message({
|
}
|
||||||
message: this.$t('prompt.success'),
|
bus.$emit('AbilityResourcesRemovedInit')
|
||||||
type: 'success',
|
this.$message({
|
||||||
duration: 500,
|
message: this.$t('prompt.success'),
|
||||||
onClose: () => {
|
type: 'success',
|
||||||
this.visible = false
|
duration: 500,
|
||||||
this.dialogVisible = false
|
onClose: () => {
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
this.visible = false
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
this.dialogVisible = false
|
||||||
}
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
})
|
||||||
this.tabRemoveHandle(data)
|
.catch(() => {})
|
||||||
} else {
|
this.tabRemoveHandle(data)
|
||||||
this.$message.error('请输入审批意见!')
|
// } else {
|
||||||
}
|
// this.$message.error('请输入审批意见!')
|
||||||
} else if (this.dialogType === '拒绝') {
|
// }
|
||||||
|
} else if (type === '拒绝') {
|
||||||
if (this.input !== '') {
|
if (this.input !== '') {
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.dataForm.taskId,
|
taskId: this.dataForm.taskId,
|
||||||
|
@ -291,4 +296,102 @@ export default {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
resize: none;
|
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>
|
</style>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<el-button v-if="$hasPermission('sys:correction:all')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:correction:all')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys: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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -234,42 +234,42 @@ export default {
|
||||||
function (data) {
|
function (data) {
|
||||||
this.dataForm.taskId = this.$route.params.taskId
|
this.dataForm.taskId = this.$route.params.taskId
|
||||||
if (this.dialogType === '同意') {
|
if (this.dialogType === '同意') {
|
||||||
if (this.input !== '') {
|
// if (this.input !== '') {
|
||||||
console.log('this.dataForm', this.dataForm)
|
console.log('this.dataForm', this.dataForm)
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.dataForm.taskId,
|
taskId: this.dataForm.taskId,
|
||||||
comment: this.input
|
comment: this.input || '同意'
|
||||||
})
|
})
|
||||||
console.log(params)
|
console.log(params)
|
||||||
this.$http
|
this.$http
|
||||||
.post('/act/task/complete?' + params)
|
.post('/act/task/complete?' + params)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg)
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
bus.$emit('AbilityResourcesRemovedInit')
|
return
|
||||||
this.$message({
|
}
|
||||||
message: this.$t('prompt.success'),
|
bus.$emit('AbilityResourcesRemovedInit')
|
||||||
type: 'success',
|
this.$message({
|
||||||
duration: 500,
|
message: this.$t('prompt.success'),
|
||||||
onClose: () => {
|
type: 'success',
|
||||||
this.visible = false
|
duration: 500,
|
||||||
this.dialogVisible = false
|
onClose: () => {
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
this.visible = false
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
this.dialogVisible = false
|
||||||
}
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
})
|
||||||
this.tabRemoveHandle(data)
|
.catch(() => {})
|
||||||
} else {
|
this.tabRemoveHandle(data)
|
||||||
this.$message.error('请输入审批意见!')
|
// } else {
|
||||||
}
|
// this.$message.error('请输入审批意见!')
|
||||||
|
// }
|
||||||
} else if (this.dialogType === '拒绝') {
|
} else if (this.dialogType === '拒绝') {
|
||||||
if (this.input !== '') {
|
if (this.input !== '') {
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="danger" @click="deleteHandle()">{{
|
<el-button type="primary" @click="deleteHandle()">{{
|
||||||
$t("deleteBatch")
|
$t("deleteBatch")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<el-button type="primary" class="button-new" @click="flashTableData"
|
<el-button type="primary" class="button-new" @click="flashTableData"
|
||||||
>查询</el-button
|
>查询</el-button
|
||||||
>
|
>
|
||||||
<el-button @click="restTableData">重置</el-button>
|
<el-button type="primary" @click="restTableData">重置</el-button>
|
||||||
<div style="float: right">
|
<div style="float: right">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
|
@ -521,12 +521,11 @@ export default {
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
let ids = []
|
let ids = []
|
||||||
if (this.deleteDataArr.length > 1) {
|
if(row.id && this.deleteDataArr.length==0){
|
||||||
|
ids = [row.id]
|
||||||
|
}else{
|
||||||
ids = this.deleteDataArr
|
ids = this.deleteDataArr
|
||||||
} else {
|
|
||||||
ids = [row.id]
|
|
||||||
}
|
}
|
||||||
console.log(ids)
|
|
||||||
this.$http
|
this.$http
|
||||||
.delete('/workdynamics/delete', {
|
.delete('/workdynamics/delete', {
|
||||||
data: ids
|
data: ids
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="deployHandle()">{{ $t('process.deployFile') }}</el-button>
|
<el-button type="primary" @click="deployHandle()">{{ $t('process.deployFile') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<el-input v-model="dataForm.definitionKey" :placeholder="$t('running.definitionKey')" clearable></el-input>
|
<el-input v-model="dataForm.definitionKey" :placeholder="$t('running.definitionKey')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -20,8 +20,8 @@
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
:picker-options="pickerOptions">
|
:picker-options="pickerOptions">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
<el-button @click="flashTableData">查询</el-button>
|
<el-button type="primary" @click="flashTableData">查询</el-button>
|
||||||
<el-button @click="resetTableData">重置</el-button>
|
<el-button type="primary" @click="resetTableData">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div style="display:flex;flex-wrap:wrap">
|
<div style="display:flex;flex-wrap:wrap">
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="getDataList2(dataForm.name)">{{
|
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||||
$t("query")
|
$t("query")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="info" @click="exportHandle()">{{
|
<el-button type="primary" @click="exportHandle()">{{
|
||||||
$t("export")
|
$t("export")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -33,13 +33,13 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||||
type="danger"
|
type="primary"
|
||||||
@click="deleteHandle2()"
|
@click="deleteHandle2()"
|
||||||
>{{ $t("deleteBatch") }}</el-button
|
>{{ $t("deleteBatch") }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="flashTableData">查询</el-button>
|
<el-button type="primary" @click="flashTableData">查询</el-button>
|
||||||
<el-button @click="resetTableData">重置</el-button>
|
<el-button type="primary" @click="resetTableData">重置</el-button>
|
||||||
<el-button type="primary" @click="addTask">任务新增</el-button>
|
<el-button type="primary" @click="addTask">任务新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
|
@ -10,12 +10,12 @@
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="getDataList2(dataForm.name)">{{
|
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||||
$t("query")
|
$t("query")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="info" @click="exportHandle()">{{
|
<el-button type="primary" @click="exportHandle()">{{
|
||||||
$t("export")
|
$t("export")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -30,13 +30,13 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||||
type="danger"
|
type="primary"
|
||||||
@click="deleteHandle2()"
|
@click="deleteHandle2()"
|
||||||
>{{ $t("deleteBatch") }}</el-button
|
>{{ $t("deleteBatch") }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -9,19 +9,19 @@
|
||||||
<el-input v-model="dataForm.identity" :placeholder="$t('excel.identity')" clearable></el-input>
|
<el-input v-model="dataForm.identity" :placeholder="$t('excel.identity')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
|
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('demo:product:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('demo:product:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<el-input v-model="dataForm.code" placeholder="基类编码" clearable></el-input>
|
<el-input v-model="dataForm.code" placeholder="基类编码" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
<el-input v-model="dataForm.attrType" placeholder="属性类型" clearable></el-input>
|
<el-input v-model="dataForm.attrType" placeholder="属性类型" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<el-input v-model="dataForm.tableName" placeholder="表名"></el-input>
|
<el-input v-model="dataForm.tableName" placeholder="表名"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="importHandle()">导入数据库表</el-button>
|
<el-button type="primary" @click="importHandle()">导入数据库表</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -6,25 +6,24 @@
|
||||||
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanName')" clearable></el-input>
|
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanName')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:schedule:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:schedule:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys: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-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-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-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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -15,10 +15,10 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template slot="footer">
|
<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>
|
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<el-input v-model="dataForm.name" :placeholder="$t('mail.name')" clearable></el-input>
|
<el-input v-model="dataForm.name" :placeholder="$t('mail.name')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<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-button type="primary" @click="configHandle()">{{ $t('mail.config') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -15,10 +15,10 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template slot="footer">
|
<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>
|
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -156,7 +156,7 @@ export default {
|
||||||
type: Array
|
type: Array
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data () {
|
||||||
return {
|
return {
|
||||||
dataList: [],
|
dataList: [],
|
||||||
dataView: [],
|
dataView: [],
|
||||||
|
@ -171,16 +171,16 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
dataList(item) {
|
dataList (item) {
|
||||||
if (item) {
|
if (item) {
|
||||||
this.dataList = item
|
this.dataList = item
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insertList(val) {
|
insertList (val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
if (this.dataForm.type === '应用资源') {
|
if (this.dataForm.type === '应用资源') {
|
||||||
this.dataView = val.filter(
|
this.dataView = val.filter(
|
||||||
(item) => item.name === this.dataForm.type + '一'
|
(item) => item.name === this.dataForm.type
|
||||||
)[0]
|
)[0]
|
||||||
this.dataForm.infoList.map((item, index) => {
|
this.dataForm.infoList.map((item, index) => {
|
||||||
this.dataView.children.map((itemView, indexView) => {
|
this.dataView.children.map((itemView, indexView) => {
|
||||||
|
@ -253,7 +253,7 @@ export default {
|
||||||
(item) => item.attrType === '组件类型'
|
(item) => item.attrType === '组件类型'
|
||||||
)
|
)
|
||||||
this.dataView = val.filter(
|
this.dataView = val.filter(
|
||||||
(item) => item.name === this.dataForm.type + '一'
|
(item) => item.name === this.dataForm.type
|
||||||
)[0]
|
)[0]
|
||||||
this.dataView = this.dataView.children.filter(
|
this.dataView = this.dataView.children.filter(
|
||||||
(item) => item.name === componentType[0].attrValue
|
(item) => item.name === componentType[0].attrValue
|
||||||
|
@ -366,7 +366,7 @@ export default {
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
videoAndImg(link) {
|
videoAndImg (link) {
|
||||||
if (link) {
|
if (link) {
|
||||||
window.open(link)
|
window.open(link)
|
||||||
} else {
|
} else {
|
||||||
|
@ -376,7 +376,7 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deptName() {
|
deptName () {
|
||||||
console.log(this.dataForm.deptId)
|
console.log(this.dataForm.deptId)
|
||||||
this.$http
|
this.$http
|
||||||
.get(`/sys/dept/${this.dataForm.deptId}`)
|
.get(`/sys/dept/${this.dataForm.deptId}`)
|
||||||
|
@ -385,7 +385,7 @@ export default {
|
||||||
this.unit = res.data.name
|
this.unit = res.data.name
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
queryPartAppByKeyIdFunction(index, indexSon, indexSonSon) {
|
queryPartAppByKeyIdFunction (index, indexSon, indexSonSon) {
|
||||||
if (this.dataForm.type === '组件服务') {
|
if (this.dataForm.type === '组件服务') {
|
||||||
this.$http
|
this.$http
|
||||||
.get(
|
.get(
|
||||||
|
@ -424,8 +424,8 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() { },
|
created () { },
|
||||||
mounted() {
|
mounted () {
|
||||||
this.deptName()
|
this.deptName()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,12 +35,18 @@
|
||||||
<!-- 审批 -->
|
<!-- 审批 -->
|
||||||
<div class="agreeOr" v-if="taskId">
|
<div class="agreeOr" v-if="taskId">
|
||||||
<h3>审批</h3>
|
<h3>审批</h3>
|
||||||
<div>
|
<div class="approvalOperation">
|
||||||
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</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-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||||
<el-button type="danger" plain @click="showDialog('驳回')"
|
<el-button type="danger" plain @click="showDialog('驳回')"
|
||||||
>驳回</el-button
|
>驳回</el-button
|
||||||
>
|
> -->
|
||||||
<!-- <el-radio-group v-model="agreeOrList" style="width: 230px">
|
<!-- <el-radio-group v-model="agreeOrList" style="width: 230px">
|
||||||
<el-radio-button label="同意" class="blueAll">同意</el-radio-button>
|
<el-radio-button label="同意" class="blueAll">同意</el-radio-button>
|
||||||
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
|
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
|
||||||
|
@ -149,7 +155,7 @@ export default {
|
||||||
'/act/task/getTaskVariables?taskId=' + this.$route.params.taskId + '&variableName=allowEntrust'
|
'/act/task/getTaskVariables?taskId=' + this.$route.params.taskId + '&variableName=allowEntrust'
|
||||||
).then(entrust => {
|
).then(entrust => {
|
||||||
console.log('11111111111111', entrust, this.dataForm)
|
console.log('11111111111111', entrust, this.dataForm)
|
||||||
if (entrust.data.data.allowEntrust === true) {
|
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
|
||||||
this.taskEntrustFlag2 = true
|
this.taskEntrustFlag2 = true
|
||||||
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
||||||
this.$alert('当前审核部门为' + this.dataForm.deptName + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
|
this.$alert('当前审核部门为' + this.dataForm.deptName + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
|
||||||
|
@ -243,46 +249,46 @@ export default {
|
||||||
},
|
},
|
||||||
// 同意与退回
|
// 同意与退回
|
||||||
agreeOrNot: debounce(
|
agreeOrNot: debounce(
|
||||||
function (data) {
|
function (data, type) {
|
||||||
if (this.dialogType === '同意') {
|
if (type === '同意') {
|
||||||
if (this.input !== '') {
|
// if (this.input !== '') {
|
||||||
console.log('this.dataForm', this.dataForm)
|
console.log('this.dataForm', this.dataForm)
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.taskId,
|
taskId: this.taskId,
|
||||||
comment: this.input
|
comment: this.input || '同意'
|
||||||
})
|
})
|
||||||
console.log(params)
|
console.log(params)
|
||||||
this.$http
|
this.$http
|
||||||
.post('/act/task/complete?' + params)
|
.post('/act/task/complete?' + params)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
this.$message.error(res.msg)
|
this.$message.error(res.msg)
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
bus.$emit('abilityResourceShelfInit')
|
return
|
||||||
this.$message({
|
}
|
||||||
message: this.$t('prompt.success'),
|
bus.$emit('abilityResourceShelfInit')
|
||||||
type: 'success',
|
this.$message({
|
||||||
duration: 500,
|
message: this.$t('prompt.success'),
|
||||||
onClose: () => {
|
type: 'success',
|
||||||
this.visible = false
|
duration: 500,
|
||||||
this.dialogVisible = false
|
onClose: () => {
|
||||||
this.input = ''
|
this.visible = false
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
this.dialogVisible = false
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
this.input = ''
|
||||||
}
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
})
|
||||||
this.tabRemoveHandle(data)
|
.catch(() => {})
|
||||||
} else {
|
this.tabRemoveHandle(data)
|
||||||
this.$message.error('请输入审批意见!')
|
// } else {
|
||||||
}
|
// this.$message.error('请输入审批意见!')
|
||||||
} else if (this.dialogType === '驳回') {
|
// }
|
||||||
|
} else if (type === '驳回') {
|
||||||
if (this.input !== '') {
|
if (this.input !== '') {
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.taskId,
|
taskId: this.taskId,
|
||||||
|
@ -358,7 +364,7 @@ export default {
|
||||||
}
|
}
|
||||||
::v-deep .agreeOr > div {
|
::v-deep .agreeOr > div {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
//align-items: center;
|
||||||
.el-input {
|
.el-input {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
margin-left: 32px;
|
margin-left: 32px;
|
||||||
|
@ -416,4 +422,99 @@ export default {
|
||||||
.blueInput {
|
.blueInput {
|
||||||
width: 55px;
|
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>
|
</style>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: hisense.liangjunhua
|
* @Author: hisense.liangjunhua
|
||||||
* @Date: 2022-06-29 15:59:51
|
* @Date: 2022-06-29 15:59:51
|
||||||
* @LastEditors: Light
|
* @LastEditors: Light
|
||||||
* @LastEditTime: 2022-11-01 15:00:19
|
* @LastEditTime: 2022-11-17 17:39:31
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
-->
|
-->
|
||||||
<!-- 流程业务表单 -->
|
<!-- 流程业务表单 -->
|
||||||
|
@ -89,15 +89,18 @@
|
||||||
<!-- 审批 -->
|
<!-- 审批 -->
|
||||||
<div class="agreeOr" v-if="dataForm.taskId">
|
<div class="agreeOr" v-if="dataForm.taskId">
|
||||||
<h3>审批</h3>
|
<h3>审批</h3>
|
||||||
<div>
|
<div class="approvalOperation">
|
||||||
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
|
<!-- <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="blueAll" @click="showDialog('同意')">同意</el-radio-button>
|
||||||
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
|
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
|
||||||
</el-radio-group> -->
|
</el-radio-group> -->
|
||||||
<!-- 委托 -->
|
<!-- 委托 -->
|
||||||
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
<div class="contentOperation">
|
||||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||||
<el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
|
<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="inputAgree" placeholder="请输入同意意见"></el-input>
|
||||||
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
|
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
|
||||||
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
|
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
|
||||||
|
@ -107,14 +110,14 @@
|
||||||
<ren-task-entrust v-if="renTaskEntrustVisible" ref="renTaskEntrust"></ren-task-entrust>
|
<ren-task-entrust v-if="renTaskEntrustVisible" ref="renTaskEntrust"></ren-task-entrust>
|
||||||
<!-- 流程详情 -->
|
<!-- 流程详情 -->
|
||||||
<ren-process-detail ref="renProcessMultiple"></ren-process-detail>
|
<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">
|
:before-close="handleClose">
|
||||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleClose2">取 消</el-button>
|
<el-button @click="handleClose2">取 消</el-button>
|
||||||
<el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)">确 定</el-button>
|
<el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog> -->
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -169,6 +172,7 @@ export default {
|
||||||
this.$http.get('/sys/user/info').then(({ data: res }) => {
|
this.$http.get('/sys/user/info').then(({ data: res }) => {
|
||||||
res.data.roleIdList.map(val => {
|
res.data.roleIdList.map(val => {
|
||||||
this.$http.get('/sys/role/' + val).then(role => {
|
this.$http.get('/sys/role/' + val).then(role => {
|
||||||
|
console.log('role', role)
|
||||||
if (role.data.data.name === '流程管理员') {
|
if (role.data.data.name === '流程管理员') {
|
||||||
this.taskEntrustFlag = true
|
this.taskEntrustFlag = true
|
||||||
}
|
}
|
||||||
|
@ -278,7 +282,7 @@ export default {
|
||||||
.get(
|
.get(
|
||||||
`/act/task/getTaskVariables?${params}&variableName=allowEntrust`
|
`/act/task/getTaskVariables?${params}&variableName=allowEntrust`
|
||||||
).then(entrust => {
|
).then(entrust => {
|
||||||
if (entrust.data.data.allowEntrust === true) {
|
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
|
||||||
this.taskEntrustFlag2 = true
|
this.taskEntrustFlag2 = true
|
||||||
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
||||||
this.$alert('当前审核部门为' + res.data.tAbilityApplicationDTOList[0].resourceOwnerDept.name + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
|
this.$alert('当前审核部门为' + res.data.tAbilityApplicationDTOList[0].resourceOwnerDept.name + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
|
||||||
|
@ -410,45 +414,47 @@ export default {
|
||||||
},
|
},
|
||||||
// 同意与退回
|
// 同意与退回
|
||||||
agreeOrNot: debounce(
|
agreeOrNot: debounce(
|
||||||
function (data) {
|
function (data, type) {
|
||||||
if (this.dialogType === '同意') {
|
// console.log('datadata',data);
|
||||||
if (this.input !== '') {
|
// console.log('tttttt',type);
|
||||||
console.log('this.dataForm', this.dataForm)
|
// if (type === '同意') {
|
||||||
const params = qs.stringify({
|
if (this.input !== '') {
|
||||||
taskId: this.dataForm.taskId,
|
console.log('this.dataForm', this.dataForm)
|
||||||
comment: this.input
|
const params = qs.stringify({
|
||||||
})
|
taskId: this.dataForm.taskId,
|
||||||
console.log(params)
|
comment: this.input || '同意'
|
||||||
this.$http
|
})
|
||||||
.post('/act/task/complete?' + params)
|
console.log(params)
|
||||||
.then(({ data: res }) => {
|
this.$http
|
||||||
if (res.code !== 0) {
|
.post('/act/task/complete?' + params)
|
||||||
this.$message.error(res.msg)
|
.then(({ data: res }) => {
|
||||||
if (this.callbacks.taskHandleErrorCallback) {
|
if (res.code !== 0) {
|
||||||
this.callbacks.taskHandleErrorCallback(res)
|
this.$message.error(res.msg)
|
||||||
}
|
if (this.callbacks.taskHandleErrorCallback) {
|
||||||
return
|
this.callbacks.taskHandleErrorCallback(res)
|
||||||
}
|
}
|
||||||
bus.$emit('competencyApplicationInit')
|
return
|
||||||
this.$message({
|
}
|
||||||
message: this.$t('prompt.success'),
|
bus.$emit('competencyApplicationInit')
|
||||||
type: 'success',
|
this.$message({
|
||||||
duration: 500,
|
message: this.$t('prompt.success'),
|
||||||
onClose: () => {
|
type: 'success',
|
||||||
this.visible = false
|
duration: 500,
|
||||||
this.dialogVisible = false
|
onClose: () => {
|
||||||
if (this.callbacks.taskHandleSuccessCallback) {
|
this.visible = false
|
||||||
this.callbacks.taskHandleSuccessCallback(res)
|
this.dialogVisible = false
|
||||||
}
|
if (this.callbacks.taskHandleSuccessCallback) {
|
||||||
|
this.callbacks.taskHandleSuccessCallback(res)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
.catch(() => { })
|
})
|
||||||
this.tabRemoveHandle(data)
|
.catch(() => { })
|
||||||
} else {
|
this.tabRemoveHandle(data)
|
||||||
this.$message.error('请输入审批意见!')
|
// } else {
|
||||||
}
|
// this.$message.error('请输入审批意见!')
|
||||||
} else if (this.dialogType === '驳回') {
|
// }
|
||||||
|
} else if (type === '驳回') {
|
||||||
if (this.input !== '') {
|
if (this.input !== '') {
|
||||||
const params = qs.stringify({
|
const params = qs.stringify({
|
||||||
taskId: this.dataForm.taskId,
|
taskId: this.dataForm.taskId,
|
||||||
|
@ -670,7 +676,7 @@ export default {
|
||||||
|
|
||||||
::v-deep .agreeOr > div {
|
::v-deep .agreeOr > div {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
//align-items: center;
|
||||||
|
|
||||||
.el-input {
|
.el-input {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
|
@ -737,4 +743,99 @@ export default {
|
||||||
.blueInput {
|
.blueInput {
|
||||||
width: 55px;
|
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>
|
</style>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
|
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
|
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
<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-button type="primary" @click="uploadHandle()">{{ $t('oss.upload') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<el-input v-model="dataForm.tradeStatus" :placeholder="$t('order.tradeStatus')" clearable></el-input>
|
<el-input v-model="dataForm.tradeStatus" :placeholder="$t('order.tradeStatus')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<ren-select v-model="dataForm.status" dict-type="order_status" :placeholder="$t('order.status')"></ren-select>
|
<ren-select v-model="dataForm.status" dict-type="order_status" :placeholder="$t('order.status')"></ren-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<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-input v-model="dataForm.resourceName" placeholder="应用名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="reset">重置</el-button>
|
<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-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-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-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>
|
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="getDataList()">查询</el-button>
|
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table row-key="id" :data="dataList" border style="width: 100%">
|
<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-input v-model="dataForm.dictType" :placeholder="$t('dict.dictType')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -65,10 +65,10 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-form-item>
|
<!-- <el-form-item>
|
||||||
<el-button type="info" @click="exportHandle()">{{
|
<el-button type="info" @click="exportHandle()">{{
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="mod-sys__log-error">
|
<div class="mod-sys__log-error">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -45,10 +45,10 @@
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-form-item>
|
<!-- <el-form-item>
|
||||||
<el-button type="info" @click="exportHandle()">{{
|
<el-button type="info" @click="exportHandle()">{{
|
||||||
|
|
|
@ -9,6 +9,15 @@
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div class="mod-sys__menu">
|
<div class="mod-sys__menu">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
<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-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:menu:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:menu:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -52,11 +61,22 @@ export default {
|
||||||
mixinViewModuleOptions: {
|
mixinViewModuleOptions: {
|
||||||
getDataListURL: '/sys/menu/list',
|
getDataListURL: '/sys/menu/list',
|
||||||
deleteURL: '/sys/menu'
|
deleteURL: '/sys/menu'
|
||||||
}
|
},
|
||||||
|
dataForm: {
|
||||||
|
name: null
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
AddOrUpdate
|
AddOrUpdate
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
resetHandle() {
|
||||||
|
this.dataForm.name = '';
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.getDataList()
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<el-input v-model="dataForm.username" :placeholder="$t('online.username')" clearable></el-input>
|
<el-input v-model="dataForm.username" :placeholder="$t('online.username')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<el-input v-model="dataForm.paramCode" :placeholder="$t('params.paramCode')" clearable></el-input>
|
<el-input v-model="dataForm.paramCode" :placeholder="$t('params.paramCode')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:params:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:params:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys: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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
<ren-select v-model="dataForm.status" dict-type="post_status" :placeholder="$t('post.status')"></ren-select>
|
<ren-select v-model="dataForm.status" dict-type="post_status" :placeholder="$t('post.status')"></ren-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:post:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
|
<el-button v-if="$hasPermission('sys:post:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<el-input v-model="dataForm.name" :placeholder="$t('role.name')" clearable></el-input>
|
<el-input v-model="dataForm.name" :placeholder="$t('role.name')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:role:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:role:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys: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-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:role:reset')" type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
|
<el-button v-if="$hasPermission('sys:role:reset')" type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
|
||||||
|
|
|
@ -27,19 +27,19 @@
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
<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-input v-model="dataForm.fileName" :placeholder="$t('fileName')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<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-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-form>
|
</el-form>
|
||||||
<el-table
|
<el-table
|
||||||
|
|
|
@ -7,527 +7,485 @@
|
||||||
*/
|
*/
|
||||||
// eslint-disable-next-line no-undef
|
// eslint-disable-next-line no-undef
|
||||||
const newLocation = CONFIGITEM.version
|
const newLocation = CONFIGITEM.version
|
||||||
// const newLocation = 'baotou'
|
// const newLocation = 'baotou'
|
||||||
// const newLocation = 'xihaian'
|
// const newLocation = 'xihaian'
|
||||||
|
|
||||||
// 数据资源数据
|
// 数据资源数据
|
||||||
const whoShow = {}
|
const whoShow = {}
|
||||||
const launchedDataNumObject = {}
|
const launchedDataNumObject = {}
|
||||||
// 导航数据
|
// 导航数据
|
||||||
const navListManagement = {}
|
const navListManagement = {}
|
||||||
// 无人机单兵数据
|
// 无人机单兵数据
|
||||||
const uavAndIndividualSoldier = {}
|
const uavAndIndividualSoldier = {}
|
||||||
// 基础设施
|
// 基础设施
|
||||||
const infrastructure = {}
|
const infrastructure = {}
|
||||||
// 区市站点数据
|
// 区市站点数据
|
||||||
const mapTestNum = {}
|
const mapTestNum = {}
|
||||||
// 底部数据
|
// 底部数据
|
||||||
const footerDataList = {}
|
const footerDataList = {}
|
||||||
// 西海岸--特殊用户
|
// 西海岸--特殊用户
|
||||||
const xhaHasPermissionUser = {}
|
const xhaHasPermissionUser = {}
|
||||||
// qingdao
|
// qingdao
|
||||||
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
|
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
|
||||||
whoShow.itShowQingDao = true
|
whoShow.itShowQingDao = true
|
||||||
infrastructure.deptName = '青岛市大数据发展管理局'
|
infrastructure.deptName = '青岛市大数据发展管理局'
|
||||||
infrastructure.deptId = '1067246875800000066'
|
infrastructure.deptId = '1067246875800000066'
|
||||||
navListManagement.navList = [
|
navListManagement.navList = [
|
||||||
{ name: '共享门户', key: 'home' },
|
{ name: '共享门户', key: 'home' },
|
||||||
{ name: '能力集市', key: 'DetailsPageconetent' },
|
{ name: '能力集市', key: 'DetailsPageconetent', innerKey: 'algorithmCompare' },
|
||||||
// { name: '能力云图', key: 'capabilityCloud' },
|
// { name: '能力云图', key: 'capabilityCloud' },
|
||||||
{ name: '能力统计', key: 'abilityStatistics' },
|
{ name: '能力统计', key: 'abilityStatistics' },
|
||||||
// { name: '开发指南', key: 'developmentGuide' },
|
// { name: '开发指南', key: 'developmentGuide' },
|
||||||
{ name: '新手指南', key: 'instructionManual' },
|
{ name: '新手指南', key: 'instructionManual' },
|
||||||
{ name: '需求中心', key: 'demandCenter' },
|
{ name: '需求中心', key: 'demandCenter' },
|
||||||
// { name: '个人中心', key: 'personalCenter' },
|
// { name: '个人中心', key: 'personalCenter' },
|
||||||
// { name: '区市站点', key: 'mapTest' },
|
// { name: '区市站点', key: 'mapTest' },
|
||||||
// { name: '后台管理', key: 'houtaiguanli' },
|
// { name: '后台管理', key: 'houtaiguanli' },
|
||||||
// { name: '典型赋能案例', key: 'assignCase' },
|
// { name: '典型赋能案例', key: 'assignCase' },
|
||||||
{ name: '融合服务', key: 'integrationServices' },
|
{ name: '融合服务', key: 'integrationServices' },
|
||||||
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
||||||
]
|
]
|
||||||
footerDataList.footerList = {
|
footerDataList.footerList = {
|
||||||
company: {
|
company: {
|
||||||
left: '青岛市大数据发展管理局',
|
left: '青岛市大数据发展管理局',
|
||||||
right: '政府标识码3702000106',
|
right: '政府标识码3702000106',
|
||||||
},
|
},
|
||||||
address: [
|
address: [{
|
||||||
{
|
name: '邮编: 266071',
|
||||||
name: '邮编: 266071',
|
value: 'Email: QDDSJJ@qingdao.shandong.cn',
|
||||||
value: 'Email: QDDSJJ@qingdao.shandong.cn',
|
},
|
||||||
},
|
{
|
||||||
{
|
name: '版权所有:青岛市大数据发展管理局',
|
||||||
name: '版权所有:青岛市大数据发展管理局',
|
value: '地址:山东省青岛市香港中路17号市级机关三号办公楼',
|
||||||
value: '地址:山东省青岛市香港中路17号市级机关三号办公楼',
|
},
|
||||||
},
|
{
|
||||||
{
|
name: '电话:0532-85912587',
|
||||||
name: '电话:0532-85912587',
|
value: '传真:0532-85912181',
|
||||||
value: '传真:0532-85912181',
|
},
|
||||||
},
|
],
|
||||||
],
|
}
|
||||||
}
|
mapTestNum.lsNum = [{
|
||||||
mapTestNum.lsNum = [
|
name: '基础设施',
|
||||||
{
|
key: 'lsjcss',
|
||||||
name: '基础设施',
|
num: '20135个',
|
||||||
key: 'lsjcss',
|
},
|
||||||
num: '20135个',
|
{
|
||||||
},
|
name: '数据资源',
|
||||||
{
|
key: 'lsjcss',
|
||||||
name: '数据资源',
|
num: '857项',
|
||||||
key: 'lsjcss',
|
},
|
||||||
num: '857项',
|
{
|
||||||
},
|
name: '应用资源',
|
||||||
{
|
key: 'lsjcss',
|
||||||
name: '应用资源',
|
num: '28个',
|
||||||
key: 'lsjcss',
|
},
|
||||||
num: '28个',
|
]
|
||||||
},
|
mapTestNum.xhaNum = [{
|
||||||
]
|
name: '基础设施',
|
||||||
mapTestNum.xhaNum = [
|
key: 'xhajcss',
|
||||||
{
|
num: '35282个',
|
||||||
name: '基础设施',
|
},
|
||||||
key: 'xhajcss',
|
{
|
||||||
num: '35282个',
|
name: '数据资源',
|
||||||
},
|
key: 'xhajcss',
|
||||||
{
|
num: '11项',
|
||||||
name: '数据资源',
|
},
|
||||||
key: 'xhajcss',
|
{
|
||||||
num: '11项',
|
name: '应用资源',
|
||||||
},
|
key: 'xhajcss',
|
||||||
{
|
num: '23个',
|
||||||
name: '应用资源',
|
},
|
||||||
key: 'xhajcss',
|
{
|
||||||
num: '23个',
|
name: '组件服务',
|
||||||
},
|
key: 'xhazjfw',
|
||||||
{
|
num: '8个',
|
||||||
name: '组件服务',
|
},
|
||||||
key: 'xhazjfw',
|
]
|
||||||
num: '8个',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
// baotou
|
// baotou
|
||||||
else if (newLocation === 'baotou') {
|
else if (newLocation === 'baotou') {
|
||||||
whoShow.itShowBaoTou = true
|
whoShow.itShowBaoTou = true
|
||||||
launchedDataNumObject.launchedDataNum = [
|
launchedDataNumObject.launchedDataNum = [{
|
||||||
{
|
num: 10372,
|
||||||
num: 10372,
|
},
|
||||||
},
|
{
|
||||||
{
|
num: 1080,
|
||||||
num: 1080,
|
},
|
||||||
},
|
{
|
||||||
{
|
num: 976,
|
||||||
num: 976,
|
},
|
||||||
},
|
]
|
||||||
]
|
navListManagement.navList = [
|
||||||
navListManagement.navList = [
|
{ name: '共享门户', key: 'home' },
|
||||||
{ name: '共享门户', key: 'home' },
|
{ name: '能力集市', key: 'DetailsPageconetent' },
|
||||||
{ name: '能力集市', key: 'DetailsPageconetent' },
|
{ name: '能力云图', key: 'capabilityCloud' },
|
||||||
{ name: '能力云图', key: 'capabilityCloud' },
|
{ name: '能力统计', key: 'abilityStatistics' },
|
||||||
{ name: '能力统计', key: 'abilityStatistics' },
|
// { name: '开发指南', key: 'developmentGuide' },
|
||||||
// { name: '开发指南', key: 'developmentGuide' },
|
{ name: '需求中心', key: 'demandCenter' },
|
||||||
{ name: '需求中心', key: 'demandCenter' },
|
// { name: '个人中心', key: 'personalCenter' },
|
||||||
// { name: '个人中心', key: 'personalCenter' },
|
// { name: '区市站点', key: 'mapTest' },
|
||||||
// { name: '区市站点', key: 'mapTest' },
|
// { name: '后台管理', key: 'houtaiguanli' },
|
||||||
// { name: '后台管理', key: 'houtaiguanli' },
|
{ name: '赋能案例', key: 'assignCase' },
|
||||||
{ name: '赋能案例', key: 'assignCase' },
|
]
|
||||||
]
|
footerDataList.footerList = {
|
||||||
footerDataList.footerList = {
|
company: {
|
||||||
company: {
|
left: '包头市工业和信息化局大数据中心建设',
|
||||||
left: '包头市工业和信息化局大数据中心建设',
|
right: '海信网络科技股份有限公司',
|
||||||
right: '海信网络科技股份有限公司',
|
},
|
||||||
},
|
address: [{
|
||||||
address: [
|
name: '蒙ICP备05003330-1号',
|
||||||
{
|
value: '政府标识码1502000040',
|
||||||
name: '蒙ICP备05003330-1号',
|
},
|
||||||
value: '政府标识码1502000040',
|
{
|
||||||
},
|
name: '版权所有:包头市工业和信息化局大数据中心',
|
||||||
{
|
value: '地址:内蒙古自治区包头市九原区开元大街1号',
|
||||||
name: '版权所有:包头市工业和信息化局大数据中心',
|
},
|
||||||
value: '地址:内蒙古自治区包头市九原区开元大街1号',
|
{
|
||||||
},
|
name: '电话:0472-5618235',
|
||||||
{
|
value: '传真:0472-5618235',
|
||||||
name: '电话:0472-5618235',
|
},
|
||||||
value: '传真:0472-5618235',
|
],
|
||||||
},
|
}
|
||||||
],
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// xihaian
|
// xihaian
|
||||||
else if (newLocation === 'xihaian') {
|
else if (newLocation === 'xihaian') {
|
||||||
whoShow.itShowXiHaiAn = true
|
whoShow.itShowXiHaiAn = true
|
||||||
infrastructure.deptName = '西海岸新区大数据发展'
|
infrastructure.deptName = '西海岸新区大数据发展'
|
||||||
// infrastructure.deptId = '1067246875800000066'
|
// infrastructure.deptId = '1067246875800000066'
|
||||||
uavAndIndividualSoldier.num = 4
|
uavAndIndividualSoldier.num = 4
|
||||||
uavAndIndividualSoldier.uavList = [
|
uavAndIndividualSoldier.uavList = [{
|
||||||
{
|
name: '经纬 M300 RTK-1',
|
||||||
name: '经纬 M300 RTK-1',
|
url: '',
|
||||||
url: '',
|
details: [{
|
||||||
details: [
|
name: '飞行器',
|
||||||
{
|
attribute: {
|
||||||
name: '飞行器',
|
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||||
attribute: {
|
对称电机轴距: '895 mm',
|
||||||
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg;空机重量(含双电池):6.3 kg',
|
||||||
对称电机轴距: '895 mm',
|
单云台减震球最大负重: '930g',
|
||||||
'重量(含下置单云台支架):空机重量(不含电池)':
|
最大起飞重量: '9 kg',
|
||||||
'3.6 kg;空机重量(含双电池):6.3 kg',
|
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||||
单云台减震球最大负重: '930g',
|
'发射功率(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)',
|
||||||
最大起飞重量: '9 kg',
|
'悬停精度(P-GPS)': '垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||||
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
'RTK 位置精度': '在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
||||||
'发射功率(EIRP)':
|
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
||||||
'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)',
|
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
||||||
'悬停精度(P-GPS)':
|
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
||||||
'垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
||||||
'RTK 位置精度':
|
最大倾斜下降速度: 'S 模式:7 m/s',
|
||||||
'在 RTK FIX 时:1 cm+1 ppm(水平)、1.5 cm + 1 ppm(垂直)',
|
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
||||||
最大旋转角速度: '俯仰轴:300°/s、航向轴:100°/s',
|
最大飞行海拔高度: '5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
||||||
最大俯仰角度: '30° (P模式且前视视觉系统启用:25°)',
|
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
||||||
最大上升速度: 'S 模式:6 m/s、P 模式:5 m/s',
|
最大飞行时间: '55 min',
|
||||||
'最大下降速度(垂直)': 'S 模式:5 m/s、P 模式:4 m/s',
|
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
||||||
最大倾斜下降速度: 'S 模式:7 m/s',
|
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
||||||
最大水平飞行速度: 'S 模式:23 m/s、P 模式:17 m/s',
|
'IP 防护等级': 'IP45',
|
||||||
最大飞行海拔高度:
|
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
||||||
'5000 m(2110 桨叶,起飞重量≤7 kg)/ 7000 m(2195 高原静音桨叶,起飞重量≤7 kg)',
|
工作环境温度: '-20°C 至 50°C',
|
||||||
最大可承受风速: '15m/s(起飞及降落阶段为12m/s)',
|
},
|
||||||
最大飞行时间: '55 min',
|
},
|
||||||
'适配 DJI 云台':
|
{
|
||||||
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
|
name: '遥控器',
|
||||||
支持云台安装方式:
|
attribute: {
|
||||||
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
|
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
||||||
'IP 防护等级': 'IP45',
|
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
||||||
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
|
'等效全向辐射功率(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)',
|
||||||
工作环境温度: '-20°C 至 50°C',
|
外置电池: '名称: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: '遥控器',
|
name: '经纬 M300 RTK-2',
|
||||||
attribute: {
|
url: '',
|
||||||
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
|
details: [{
|
||||||
'最大信号有效距离(无干扰、无遮挡)':
|
name: '飞行器',
|
||||||
'NCC/FCC:15 km、CE/MIC:8 km、SRRC:8 km',
|
attribute: {
|
||||||
'等效全向辐射功率(EIRP)':
|
尺寸: '尺寸(展开,不包含桨叶):810×670×430 mm(长×宽×高);尺寸(折叠,包含桨叶):430×420×430 mm(长×宽×高)',
|
||||||
'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)',
|
对称电机轴距: '895 mm',
|
||||||
外置电池:
|
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg;空机重量(含双电池):6.3 kg',
|
||||||
'名称:WB37 智能电池;容量:4920 mAh;电压:7.6 V;电池类型:LiPo;能量:37.39 Wh;充电时间(使用 BS60 智能电池箱):70 分钟(15°C 至 45°C);130 分钟(0°C 至 15°C)',
|
单云台减震球最大负重: '930g',
|
||||||
内置电池:
|
最大起飞重量: '9 kg',
|
||||||
'类型:18650 锂离子电池 (5000 mAh @ 7.2 V);充电方式:使用规格为 12V/2A 的 USB 充电器;额定功率:17 W;充电时间:2 小时 15 分钟(使用规格为12V/2A 的 USB 充电器)',
|
工作频率: '2.4000-2.4835 GHz;5.725-5.850 GHz',
|
||||||
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
|
'发射功率(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)',
|
||||||
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
|
'悬停精度(P-GPS)': '垂直:±0.1 m(视觉定位正常工作时)、±0.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时);水平:±0.3 m(视觉定位正常工作时)、±1.5 m(GPS 正常工作时)、±0.1 m(RTK 定位正常工作时)',
|
||||||
工作环境温度: '-20° 至 40° C',
|
'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: '视觉系统',
|
name: 'T950天通-2',
|
||||||
attribute: {
|
type: '单兵设备',
|
||||||
障碍物感知范围: '前后左右:0.7-40 m、上下:0.6-30 m',
|
details: {
|
||||||
FOV: '前后下:65°(H),50°(V)、左右上:75°(H),60°(V)',
|
基本信息: {
|
||||||
使用环境:
|
外观设计: '172X81X15.7(不含天线),336g',
|
||||||
'表面有丰富纹理,光照条件充足(>15 lux,室内日光灯正常照射环境)',
|
操作系统: '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: '红外感知系统',
|
navListManagement.navList = [
|
||||||
attribute: {
|
{ name: '共享门户', key: 'home' },
|
||||||
障碍物感知范围: '0.1-8 m',
|
{ name: '能力集市', key: 'DetailsPageconetent' },
|
||||||
FOV: '30°(±15°)',
|
{ name: '能力云图', key: 'capabilityCloud' },
|
||||||
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
|
{ 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: '上下补光灯',
|
name: '鲁IC备00000000号',
|
||||||
attribute: {
|
value: '政府标识码3702000106',
|
||||||
有效照明距离: '5 m',
|
},
|
||||||
},
|
{
|
||||||
},
|
name: '版权所有:青岛西海岸新区大数据发展促进局',
|
||||||
{
|
value: '地址:青岛市西海岸新区长江中路369号',
|
||||||
name: 'FPV摄像头',
|
},
|
||||||
attribute: {
|
{
|
||||||
分辨率: '960p',
|
name: '电话:0532-86986596',
|
||||||
FOV: '145°',
|
value: '传真:0532-86986596',
|
||||||
帧率: '30 fps',
|
},
|
||||||
},
|
],
|
||||||
},
|
}
|
||||||
{
|
xhaHasPermissionUser.list = [
|
||||||
name: '智能飞行电池',
|
'xihaian01',
|
||||||
attribute: {
|
'xihaian02',
|
||||||
型号: 'TB60',
|
'xihaian03',
|
||||||
容量: '5935 mAh',
|
'xihaian04',
|
||||||
电压: '52.8 V',
|
'admin',
|
||||||
电池类型: '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',
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,8 +1,8 @@
|
||||||
<!--
|
<!--
|
||||||
* @Author: hisense.wuhongjian
|
* @Author: hisense.wuhongjian
|
||||||
* @Date: 2022-05-06 11:12:00
|
* @Date: 2022-05-06 11:12:00
|
||||||
* @LastEditors: hisense.wuhongjian
|
* @LastEditors: Light
|
||||||
* @LastEditTime: 2022-08-03 10:13:59
|
* @LastEditTime: 2022-11-16 10:21:49
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
|
@ -13,56 +13,138 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import zhCN from 'ant-design-vue/es/locale/zh_CN'
|
import onWholeWaterMark from '@/utils/waterMark'
|
||||||
import Cookies from 'js-cookie'
|
import * as moment from 'moment'
|
||||||
import { onBeforeUnmount } from 'vue'
|
import { getUser } from '@/api/home'
|
||||||
import { useRouter } from 'vue-router'
|
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||||
import mybus from '@/myplugins/mybus'
|
import zhCN from 'ant-design-vue/es/locale/zh_CN'
|
||||||
const router = useRouter()
|
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 locale = zhCN
|
||||||
const token = Cookies.get('ucsToken')
|
const token = Cookies.get('ucsToken')
|
||||||
console.log('token=================>', token)
|
console.log('token=================>', token)
|
||||||
let ws = new WebSocket(
|
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(
|
|
||||||
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
|
||||||
)
|
)
|
||||||
}
|
// ws.send()给服务器发送信息
|
||||||
ws.onclose = function (e) {
|
// 服务器每次返回信息都会执行一次onmessage方法
|
||||||
console.log('WebSocket连接断开============================>', e)
|
ws.onmessage = function (e) {
|
||||||
}
|
console.log('WebSocket服务器返回的信息: ' + e.data)
|
||||||
onBeforeUnmount(() => {
|
mybus.emit('getMynotice')
|
||||||
// 4.卸载前, 关闭链接
|
// 判断当前路由是否是消息中心
|
||||||
ws.close()
|
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>
|
</script>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
@import '~@/vab/styles/vab.less';
|
@import '~@/vab/styles/vab.less';
|
||||||
|
|
||||||
#vue-admin-beautiful {
|
#vue-admin-beautiful {
|
||||||
max-width: 1920px;
|
max-width: 1920px;
|
||||||
// max-height: 1080px;
|
// max-height: 1080px;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: hisense.wuhongjian
|
* @Author: hisense.wuhongjian
|
||||||
* @Date: 2022-04-01 19:19:40
|
* @Date: 2022-04-01 19:19:40
|
||||||
* @LastEditors: Light
|
* @LastEditors: Light
|
||||||
* @LastEditTime: 2022-10-31 15:52:57
|
* @LastEditTime: 2022-11-18 14:09:20
|
||||||
* @Description: 告诉大家这是什么
|
* @Description: 告诉大家这是什么
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
@ -526,3 +526,10 @@ export function getGisByArea(data) {
|
||||||
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;
|
padding-bottom: 0;
|
||||||
.main {
|
.main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 10px;
|
margin-top: 60px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -273,7 +273,7 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 26px;
|
margin-bottom: -10px;
|
||||||
.line {
|
.line {
|
||||||
width: 34px;
|
width: 34px;
|
||||||
height: 3px;
|
height: 3px;
|
||||||
|
@ -356,6 +356,8 @@
|
||||||
color: #734204;
|
color: #734204;
|
||||||
}
|
}
|
||||||
.content-neirong {
|
.content-neirong {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 600;
|
||||||
width: 215px;
|
width: 215px;
|
||||||
text-overflow: -o-ellipsis-lastline;
|
text-overflow: -o-ellipsis-lastline;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
|
@ -31,7 +31,11 @@
|
||||||
查看更多
|
查看更多
|
||||||
<span class="gengduo"></span>
|
<span class="gengduo"></span>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -92,6 +96,7 @@
|
||||||
dataList.value[index].photo = photo.value[4]
|
dataList.value[index].photo = photo.value[4]
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
dataList.value = []
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('123123123qwee', dataList.value)
|
console.log('123123123qwee', dataList.value)
|
||||||
|
|
|
@ -240,8 +240,8 @@
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
icon: 'emptyCircle',
|
icon: 'emptyCircle',
|
||||||
height: 3,
|
itemGap: 20,
|
||||||
itemGap: 40,
|
padding: 20,
|
||||||
// orient: 'horizontal',
|
// orient: 'horizontal',
|
||||||
bottom: 0,
|
bottom: 0,
|
||||||
formatter: function (name) {
|
formatter: function (name) {
|
||||||
|
@ -261,8 +261,7 @@
|
||||||
{
|
{
|
||||||
center: ['50%', '40%'],
|
center: ['50%', '40%'],
|
||||||
type: 'pie',
|
type: 'pie',
|
||||||
selectedMode: 'single',
|
// selectedMode: 'single',
|
||||||
silent: true,
|
|
||||||
radius: ['50%', '30%'],
|
radius: ['50%', '30%'],
|
||||||
color: ['#fe845e', '#6cc95a', '#02d1b0', '#1772ff', '#FAC858'],
|
color: ['#fe845e', '#6cc95a', '#02d1b0', '#1772ff', '#FAC858'],
|
||||||
top: '0',
|
top: '0',
|
||||||
|
@ -290,7 +289,6 @@
|
||||||
type: 'pie',
|
type: 'pie',
|
||||||
center: ['50%', '40%'],
|
center: ['50%', '40%'],
|
||||||
radius: ['58%', '50%'],
|
radius: ['58%', '50%'],
|
||||||
silent: true,
|
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: '#c2c7d6',
|
color: '#c2c7d6',
|
||||||
|
@ -477,7 +475,7 @@
|
||||||
barGap: '-100%',
|
barGap: '-100%',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: '#C1232B',
|
color: '#ECB53F',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// data: [5, 20, 36, 10, 10, 20]
|
// data: [5, 20, 36, 10, 10, 20]
|
||||||
|
@ -490,7 +488,7 @@
|
||||||
barGap: '-100%',
|
barGap: '-100%',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: '#B5C334',
|
color: '#FE845E',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// data: [5, 20, 36, 10, 10, 20]
|
// data: [5, 20, 36, 10, 10, 20]
|
||||||
|
@ -503,7 +501,7 @@
|
||||||
barGap: '-100%',
|
barGap: '-100%',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: '#FCCE10',
|
color: '#6CC95A',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// data: [5, 20, 36, 10, 10, 20]
|
// data: [5, 20, 36, 10, 10, 20]
|
||||||
|
@ -516,7 +514,7 @@
|
||||||
barGap: '-100%',
|
barGap: '-100%',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: '#E87C25',
|
color: '#02D1B0',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// data: [5, 20, 36, 10, 10, 20]
|
// data: [5, 20, 36, 10, 10, 20]
|
||||||
|
@ -529,20 +527,7 @@
|
||||||
barGap: '-100%',
|
barGap: '-100%',
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: '#27727B',
|
color: '#1772FF',
|
||||||
},
|
|
||||||
},
|
|
||||||
// data: [5, 20, 36, 10, 10, 20]
|
|
||||||
data: [],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '',
|
|
||||||
type: 'bar',
|
|
||||||
barWidth: 35,
|
|
||||||
barGap: '-100%',
|
|
||||||
itemStyle: {
|
|
||||||
normal: {
|
|
||||||
color: '#FE8463',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// data: [5, 20, 36, 10, 10, 20]
|
// data: [5, 20, 36, 10, 10, 20]
|
||||||
|
@ -560,6 +545,7 @@
|
||||||
for (let i = 0; i < 5; i++) {
|
for (let i = 0; i < 5; i++) {
|
||||||
if (i == index) {
|
if (i == index) {
|
||||||
arr.push(val.value)
|
arr.push(val.value)
|
||||||
|
// arr.push(10) // 方便更改样式
|
||||||
} else {
|
} else {
|
||||||
arr.push(0)
|
arr.push(0)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,9 +8,17 @@
|
||||||
<div class="SharingSituation-left">
|
<div class="SharingSituation-left">
|
||||||
<div>
|
<div>
|
||||||
<div class="left-title">
|
<div class="left-title">
|
||||||
<div>日平均浏览量 {{ browseAvg }}次</div>
|
<div>
|
||||||
|
日平均浏览量
|
||||||
|
<span>{{ browseAvg }}</span>
|
||||||
|
次
|
||||||
|
</div>
|
||||||
<div></div>
|
<div></div>
|
||||||
<div>日最大浏览量{{ browseMax }}次</div>
|
<div>
|
||||||
|
日最大浏览量
|
||||||
|
<span>{{ browseMax }}</span>
|
||||||
|
次
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="left-content-title">
|
<div class="left-content-title">
|
||||||
<div
|
<div
|
||||||
|
@ -34,7 +42,7 @@
|
||||||
style="
|
style="
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
float: left;
|
float: left;
|
||||||
margin-left: 420px;
|
margin-left: 505px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-top: 6px;
|
padding-top: 6px;
|
||||||
"
|
"
|
||||||
|
@ -42,6 +50,9 @@
|
||||||
单位: 次
|
单位: 次
|
||||||
</span>
|
</span>
|
||||||
<p class="p">申请量</p>
|
<p class="p">申请量</p>
|
||||||
|
<p class="p" style="position: absolute; top: 420px; left: -564px">
|
||||||
|
浏览量
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="volume_box">
|
<div class="volume_box">
|
||||||
|
@ -61,12 +72,12 @@
|
||||||
backgroundImage: `url(${item.photo}) `,
|
backgroundImage: `url(${item.photo}) `,
|
||||||
}"
|
}"
|
||||||
></div>
|
></div>
|
||||||
<div class="name">{{ item.type }}</div>
|
<div class="type">{{ item.type }}</div>
|
||||||
<div class-="type">{{ item.amount }}</div>
|
<div class="amount">{{ item.amount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="volume_box-son-bottom" v-else>
|
<div class="volume_box-son-bottom" v-else>
|
||||||
<div class="type">{{ item.amount }}</div>
|
<div class="amount">{{ item.amount }}</div>
|
||||||
<div class="name">{{ item.type }}</div>
|
<div class="type">{{ item.type }}</div>
|
||||||
<div
|
<div
|
||||||
class="photo"
|
class="photo"
|
||||||
:style="{
|
:style="{
|
||||||
|
@ -97,12 +108,20 @@
|
||||||
let myChart = echarts.init(chartDom)
|
let myChart = echarts.init(chartDom)
|
||||||
let option
|
let option
|
||||||
option = {
|
option = {
|
||||||
|
grid: {
|
||||||
|
top: '10%',
|
||||||
|
right: '5%',
|
||||||
|
bottom: '10%',
|
||||||
|
left: '5%',
|
||||||
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
type: 'category',
|
type: 'category',
|
||||||
data: datas.time,
|
data: datas.time,
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
type: 'value',
|
type: 'value',
|
||||||
|
name: '单位:次',
|
||||||
|
// minInterval: 1,
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
show: true,
|
show: true,
|
||||||
|
@ -255,16 +274,21 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.situation {
|
.situation {
|
||||||
font-weight: 600;
|
font-size: 30px;
|
||||||
font-style: normal;
|
color: #000;
|
||||||
font-size: 24px;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
display: flex;
|
||||||
.line {
|
flex-direction: column;
|
||||||
width: 34px;
|
flex-wrap: wrap;
|
||||||
height: 3px;
|
justify-content: center;
|
||||||
background-color: #0058e1;
|
align-items: center;
|
||||||
margin-top: 8px;
|
margin-bottom: 26px;
|
||||||
|
.line {
|
||||||
|
width: 34px;
|
||||||
|
height: 3px;
|
||||||
|
background-color: #0058e1;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.SharingSituation {
|
.SharingSituation {
|
||||||
|
@ -274,6 +298,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-top: 40px;
|
margin-top: 40px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.SharingSituation-left {
|
.SharingSituation-left {
|
||||||
width: 666px;
|
width: 666px;
|
||||||
|
@ -282,6 +307,7 @@
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
.left-title {
|
.left-title {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
line-height: 50px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #0058e1;
|
background: #0058e1;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
@ -290,6 +316,10 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
padding: 0 80px;
|
padding: 0 80px;
|
||||||
|
span {
|
||||||
|
font-size: 26px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.left-content-title {
|
.left-content-title {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -321,8 +351,8 @@
|
||||||
|
|
||||||
.Chart {
|
.Chart {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
width: 598px;
|
width: 638px;
|
||||||
height: 286px;
|
height: 296px;
|
||||||
background: #f7f7f7;
|
background: #f7f7f7;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
@ -333,15 +363,16 @@
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
margin-left: -40px;
|
margin-left: -40px;
|
||||||
.p {
|
.p {
|
||||||
width: 96px;
|
width: 95px;
|
||||||
height: 36px;
|
height: 48px;
|
||||||
color: #0058e1;
|
color: #0058e1;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
background: url('../../../assets/abilityStatistics/gongxiangqingkuangliulanl.png')
|
background: url('../../../assets/abilityStatistics/gongxiangqingkuangliulanl.png')
|
||||||
no-repeat;
|
no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 36px;
|
line-height: 48px;
|
||||||
margin-left: 500px;
|
margin-left: 570px;
|
||||||
}
|
}
|
||||||
.volume_box {
|
.volume_box {
|
||||||
width: 666px;
|
width: 666px;
|
||||||
|
@ -373,6 +404,13 @@
|
||||||
height: 46px;
|
height: 46px;
|
||||||
width: 46px;
|
width: 46px;
|
||||||
}
|
}
|
||||||
|
.amount {
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.type {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.volume_box-son-bottom {
|
.volume_box-son-bottom {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -7,17 +7,19 @@
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="header">能力上架申请</div>
|
<!-- <div class="header">能力上架申请</div> -->
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div
|
<div
|
||||||
v-for="(nav, index) in navList"
|
v-for="(nav, index) in navList"
|
||||||
:key="nav"
|
:key="nav"
|
||||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||||
>
|
>
|
||||||
<span class="bg-box">
|
<div class="wai">
|
||||||
<span>{{ index + 1 }}</span>
|
<span class="bg-box">
|
||||||
</span>
|
<span>{{ index + 1 }}</span>
|
||||||
<span>{{ nav.name }}</span>
|
</span>
|
||||||
|
<span class="bg-name">{{ nav.name }}</span>
|
||||||
|
</div>
|
||||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -101,7 +103,7 @@
|
||||||
></application-deployment-use> -->
|
></application-deployment-use> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||||
<button @click="close()">取消</button>
|
|
||||||
|
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="
|
v-if="
|
||||||
|
@ -116,13 +118,14 @@
|
||||||
@confirm="changeGnjs('上一步')"
|
@confirm="changeGnjs('上一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>上一步</button>
|
<button class="buzhou">上一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView == '功能介绍'" @click="changeGnjs('上一步')">
|
<button class="buzhou" v-else-if="showView == '功能介绍'" @click="changeGnjs('上一步')">
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<!-- 分割线 -->
|
<!-- 分割线 -->
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-show="showView !== '基本信息' && showView === '部署与应用'"
|
v-show="showView !== '基本信息' && showView === '部署与应用'"
|
||||||
@click="back()"
|
@click="back()"
|
||||||
>
|
>
|
||||||
|
@ -141,12 +144,12 @@
|
||||||
@confirm="changeBs('预览')"
|
@confirm="changeBs('预览')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>预览</button>
|
<button class="buzhou">预览</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与应用'" @click="preview()">
|
<button class="buzhou" v-else-if="showView === '部署与应用'" @click="preview()">
|
||||||
预览
|
预览
|
||||||
</button>
|
</button>
|
||||||
<button v-show="showView === '基本信息'" @click="next()">下一步</button>
|
<button class="buzhou" v-show="showView === '基本信息'" @click="next()">下一步</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="
|
v-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
|
@ -160,9 +163,9 @@
|
||||||
@confirm="changeGnjs('下一步')"
|
@confirm="changeGnjs('下一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>下一步</button>
|
<button class="buzhou">下一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView == '功能介绍'" @click="changeGnjs('下一步')">
|
<button class="buzhou" v-else-if="showView == '功能介绍'" @click="changeGnjs('下一步')">
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -178,11 +181,12 @@
|
||||||
@confirm="changeBs('提交')"
|
@confirm="changeBs('提交')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>提交</button>
|
<button class="buzhou">提交</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与应用'" @click="submit()">
|
<button class="buzhou" v-else-if="showView === '部署与应用'" @click="submit()">
|
||||||
提交
|
提交
|
||||||
</button>
|
</button>
|
||||||
|
<button class="quxiao" @click="close()">取消</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -374,7 +378,7 @@
|
||||||
// ) {
|
// ) {
|
||||||
// notFilled.value.push('共享条件')
|
// notFilled.value.push('共享条件')
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (notFilled.value.length > 0) {
|
if (notFilled.value.length > 0) {
|
||||||
message.warning('请填写必填字段')
|
message.warning('请填写必填字段')
|
||||||
console.log(notFilled.value)
|
console.log(notFilled.value)
|
||||||
|
@ -476,7 +480,7 @@
|
||||||
getCategoryTree().then((res) => {
|
getCategoryTree().then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
res.data.data = res.data.data.filter(
|
res.data.data = res.data.data.filter(
|
||||||
(item) => item.name === '应用资源一'
|
(item) => item.name === '应用资源'
|
||||||
)[0]
|
)[0]
|
||||||
navList.value = []
|
navList.value = []
|
||||||
navList2.value = []
|
navList2.value = []
|
||||||
|
@ -715,85 +719,120 @@
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.box {
|
.box {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 64px;
|
top: 0.64rem;
|
||||||
margin: 15px 400px;
|
// margin: 0.15rem 3rem;
|
||||||
padding: 10px;
|
padding: 0.1rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
.header {
|
.header {
|
||||||
font-size: 28px;
|
font-size: 0.28rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.vue-box {
|
.vue-box {
|
||||||
padding: 0 100px;
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
.top {
|
.top {
|
||||||
margin: 10px 20px 0;
|
font-size: 16px;
|
||||||
padding: 15px 30px;
|
margin: 0.32px 0.4px 0;
|
||||||
background: #edf4fc;
|
padding: 24px 24pxs;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: center;
|
||||||
div {
|
.ff {
|
||||||
font-size: 18px;
|
color: #b3b3b3;
|
||||||
color: #999;
|
display: inline-flex;
|
||||||
display: flex;
|
justify-content: center;
|
||||||
justify-content: center;
|
align-items: center;
|
||||||
align-items: center;
|
.wai {
|
||||||
|
margin-top: 14px;
|
||||||
.bg-box {
|
.bg-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 45px;
|
width: 32px;
|
||||||
height: 45px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid rgb(214, 214, 214);
|
// border: 0.01rem solid rgb(214, 214, 214);
|
||||||
margin-right: 10px;
|
margin: 0px 16px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
span {
|
span {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 30px;
|
width: 32px;
|
||||||
height: 30px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid #999;
|
border: 1px solid #d9d9d9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
margin-left: 10px;
|
color: #b3b3b3;
|
||||||
width: 280px;
|
|
||||||
height: 1px;
|
|
||||||
background: #999;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.finish {
|
.line {
|
||||||
color: #0087ff;
|
// 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 {
|
.bg-box {
|
||||||
background: #9ccefa;
|
display: flex;
|
||||||
color: #fff;
|
justify-content: center;
|
||||||
border: 1px solid #9ccefa;
|
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 {
|
span {
|
||||||
background: #0087ff;
|
background: #0058e1;
|
||||||
border: 1px solid #0087ff;
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid solid #0058e1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
background: #0087ff;
|
color: #212121;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.line {
|
||||||
|
// margin-left: 16px;
|
||||||
|
width: 326px;
|
||||||
|
height: 2px;
|
||||||
|
background: #0058e1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.btn {
|
.btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-around;
|
||||||
padding: 10px 350px 0;
|
padding: 0.1rem 3.5rem 0;
|
||||||
button {
|
button {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 80px;
|
font-size: 0.14rem;
|
||||||
height: 35px;
|
width: 0.8rem;
|
||||||
|
height: 0.35rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border: none;
|
border: 0.01rem solid #9ccefa;
|
||||||
border-radius: 6px;
|
span {
|
||||||
|
background: #0087ff;
|
||||||
|
border: 0.01rem solid #0087ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.line {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
}
|
}
|
||||||
button:nth-of-type(1) {
|
button:nth-of-type(1) {
|
||||||
|
@ -805,7 +844,55 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.first {
|
.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>
|
</style>
|
||||||
|
|
|
@ -7,17 +7,19 @@
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="header">能力上架申请</div>
|
<!-- <div class="header">能力上架申请</div> -->
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div
|
<div
|
||||||
v-for="(nav, index) in navList"
|
v-for="(nav, index) in navList"
|
||||||
:key="nav"
|
:key="nav"
|
||||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||||
>
|
>
|
||||||
<span class="bg-box">
|
<div class="wai">
|
||||||
<span>{{ index + 1 }}</span>
|
<span class="bg-box">
|
||||||
</span>
|
<span>{{ index + 1 }}</span>
|
||||||
<span>{{ nav.name }}</span>
|
</span>
|
||||||
|
<span class="bg-name">{{ nav.name }}</span>
|
||||||
|
</div>
|
||||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -80,7 +82,7 @@
|
||||||
></put-on-the-shelf>
|
></put-on-the-shelf>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||||
<button @click="close()">取消</button>
|
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="
|
v-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
|
@ -94,9 +96,10 @@
|
||||||
@confirm="changeGnjs('上一步')"
|
@confirm="changeGnjs('上一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>上一步</button>
|
<button class="buzhou" >上一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -119,9 +122,10 @@
|
||||||
@confirm="changeYycj('上一步')"
|
@confirm="changeYycj('上一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>上一步</button>
|
<button class="buzhou" >上一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -131,7 +135,7 @@
|
||||||
>
|
>
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="showView !== '基本信息'" @click="back()">
|
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -146,9 +150,9 @@
|
||||||
@confirm="changeBs('预览')"
|
@confirm="changeBs('预览')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>预览</button>
|
<button class="buzhou" >预览</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与使用'" @click="preview()">
|
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
|
||||||
预览
|
预览
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -164,9 +168,10 @@
|
||||||
@confirm="changeGnjs('下一步')"
|
@confirm="changeGnjs('下一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>下一步</button>
|
<button class="buzhou" >下一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -189,9 +194,10 @@
|
||||||
@confirm="changeYycj('下一步')"
|
@confirm="changeYycj('下一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>下一步</button>
|
<button class="buzhou" >下一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -201,7 +207,7 @@
|
||||||
>
|
>
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="showView !== '部署与使用'" @click="next()">
|
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -216,11 +222,12 @@
|
||||||
@confirm="changeBs('提交')"
|
@confirm="changeBs('提交')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>提交</button>
|
<button class="buzhou" >提交</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与使用'" @click="submit()">
|
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
|
||||||
提交
|
提交
|
||||||
</button>
|
</button>
|
||||||
|
<button class="quxiao" @click="close()">取消</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -572,7 +579,7 @@
|
||||||
getCategoryTree().then((res) => {
|
getCategoryTree().then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
res.data.data = res.data.data
|
res.data.data = res.data.data
|
||||||
.filter((item) => item.name === '组件服务一')[0]
|
.filter((item) => item.name === '组件服务')[0]
|
||||||
.children.filter((item) => item.name === '业务组件')[0]
|
.children.filter((item) => item.name === '业务组件')[0]
|
||||||
navList.value = []
|
navList.value = []
|
||||||
navList2.value = []
|
navList2.value = []
|
||||||
|
@ -802,86 +809,121 @@
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.box {
|
.box {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 64px;
|
top: 0.64rem;
|
||||||
margin: 15px 400px;
|
// margin: 0.15rem 3rem;
|
||||||
padding: 10px;
|
padding: 0.1rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
.header {
|
.header {
|
||||||
font-size: 28px;
|
font-size: 0.28rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.vue-box {
|
.vue-box {
|
||||||
padding: 0 100px;
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
.top {
|
.top {
|
||||||
margin: 10px 20px 0;
|
font-size: 16px;
|
||||||
padding: 15px 30px;
|
margin: 0.32px 0.4px 0;
|
||||||
background: #edf4fc;
|
padding: 24px 24pxs;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: center;
|
||||||
div {
|
.ff {
|
||||||
font-size: 18px;
|
color: #b3b3b3;
|
||||||
color: #999;
|
display: inline-flex;
|
||||||
display: flex;
|
justify-content: center;
|
||||||
justify-content: center;
|
align-items: center;
|
||||||
align-items: center;
|
.wai {
|
||||||
|
margin-top: 14px;
|
||||||
.bg-box {
|
.bg-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 45px;
|
width: 32px;
|
||||||
height: 45px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid rgb(214, 214, 214);
|
// border: 0.01rem solid rgb(214, 214, 214);
|
||||||
margin-right: 10px;
|
margin: 0px 16px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
span {
|
span {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 30px;
|
width: 32px;
|
||||||
height: 30px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid #999;
|
border: 1px solid #d9d9d9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
margin-left: 10px;
|
color: #b3b3b3;
|
||||||
width: 130px;
|
|
||||||
height: 1px;
|
|
||||||
background: #999;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.finish {
|
.line {
|
||||||
color: #0087ff;
|
// 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 {
|
.bg-box {
|
||||||
background: #9ccefa;
|
display: flex;
|
||||||
color: #fff;
|
justify-content: center;
|
||||||
border: 1px solid #9ccefa;
|
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 {
|
span {
|
||||||
background: #0087ff;
|
background: #0058e1;
|
||||||
border: 1px solid #0087ff;
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid solid #0058e1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
background: #0087ff;
|
color: #212121;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.line {
|
||||||
|
// margin-left: 16px;
|
||||||
|
width: 326px;
|
||||||
|
height: 2px;
|
||||||
|
background: #0058e1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.btn {
|
.btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-around;
|
||||||
padding: 10px 350px 0;
|
padding: 0.1rem 3.5rem 0;
|
||||||
button {
|
button {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 80px;
|
font-size: 0.14rem;
|
||||||
height: 35px;
|
width: 0.8rem;
|
||||||
|
height: 0.35rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border: none;
|
border: 0.01rem solid #9ccefa;
|
||||||
border-radius: 6px;
|
span {
|
||||||
|
background: #0087ff;
|
||||||
|
border: 0.01rem solid #0087ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.line {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
}
|
}
|
||||||
button:nth-of-type(1) {
|
button:nth-of-type(1) {
|
||||||
|
@ -893,7 +935,55 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.first {
|
.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>
|
</style>
|
||||||
|
|
|
@ -7,17 +7,19 @@
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="header">能力上架申请</div>
|
<!-- <div class="header">能力上架申请</div> -->
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div
|
<div
|
||||||
v-for="(nav, index) in navList"
|
v-for="(nav, index) in navList"
|
||||||
:key="nav"
|
:key="nav"
|
||||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||||
>
|
>
|
||||||
<span class="bg-box">
|
<div class="wai">
|
||||||
<span>{{ index + 1 }}</span>
|
<span class="bg-box">
|
||||||
</span>
|
<span>{{ index + 1 }}</span>
|
||||||
<span>{{ nav.name }}</span>
|
</span>
|
||||||
|
<span class="bg-name">{{ nav.name }}</span>
|
||||||
|
</div>
|
||||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -79,7 +81,7 @@
|
||||||
></put-on-the-shelf>
|
></put-on-the-shelf>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||||
<button @click="close()">取消</button>
|
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="
|
v-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
|
@ -93,9 +95,10 @@
|
||||||
@confirm="changeGnjs('上一步')"
|
@confirm="changeGnjs('上一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>上一步</button>
|
<button class="buzhou">上一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -118,9 +121,10 @@
|
||||||
@confirm="changeYycj('上一步')"
|
@confirm="changeYycj('上一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>上一步</button>
|
<button class="buzhou">上一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -130,7 +134,7 @@
|
||||||
>
|
>
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="showView !== '基本信息'" @click="back()">
|
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -145,9 +149,9 @@
|
||||||
@confirm="changeBs('预览')"
|
@confirm="changeBs('预览')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>预览</button>
|
<button class="buzhou">预览</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与使用'" @click="preview()">
|
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
|
||||||
预览
|
预览
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -163,9 +167,10 @@
|
||||||
@confirm="changeGnjs('下一步')"
|
@confirm="changeGnjs('下一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>下一步</button>
|
<button class="buzhou">下一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '功能介绍' &&
|
showView == '功能介绍' &&
|
||||||
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
gnjs[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -188,9 +193,10 @@
|
||||||
@confirm="changeYycj('下一步')"
|
@confirm="changeYycj('下一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>下一步</button>
|
<button class="buzhou">下一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -200,7 +206,7 @@
|
||||||
>
|
>
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="showView !== '部署与使用'" @click="next()">
|
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -215,11 +221,12 @@
|
||||||
@confirm="changeBs('提交')"
|
@confirm="changeBs('提交')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>提交</button>
|
<button class="buzhou">提交</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与使用'" @click="submit()">
|
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
|
||||||
提交
|
提交
|
||||||
</button>
|
</button>
|
||||||
|
<button class="quxiao" @click="close()">取消</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -570,7 +577,7 @@
|
||||||
getCategoryTree().then((res) => {
|
getCategoryTree().then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
res.data.data = res.data.data
|
res.data.data = res.data.data
|
||||||
.filter((item) => item.name === '组件服务一')[0]
|
.filter((item) => item.name === '组件服务')[0]
|
||||||
.children.filter((item) => item.name === '开发组件')[0]
|
.children.filter((item) => item.name === '开发组件')[0]
|
||||||
navList.value = []
|
navList.value = []
|
||||||
navList2.value = []
|
navList2.value = []
|
||||||
|
@ -800,85 +807,120 @@
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.box {
|
.box {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 64px;
|
top: 0.64rem;
|
||||||
margin: 15px 400px;
|
// margin: 0.15rem 3rem;
|
||||||
padding: 10px;
|
padding: 0.1rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
.header {
|
.header {
|
||||||
font-size: 28px;
|
font-size: 0.28rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.vue-box {
|
.vue-box {
|
||||||
padding: 0 100px;
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
.top {
|
.top {
|
||||||
margin: 10px 20px 0;
|
font-size: 16px;
|
||||||
padding: 15px 30px;
|
margin: 0.32px 0.4px 0;
|
||||||
background: #edf4fc;
|
padding: 24px 24pxs;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: center;
|
||||||
div {
|
.ff {
|
||||||
font-size: 18px;
|
color: #b3b3b3;
|
||||||
color: #999;
|
display: inline-flex;
|
||||||
display: flex;
|
justify-content: center;
|
||||||
justify-content: center;
|
align-items: center;
|
||||||
align-items: center;
|
.wai {
|
||||||
|
margin-top: 14px;
|
||||||
.bg-box {
|
.bg-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 45px;
|
width: 32px;
|
||||||
height: 45px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid rgb(214, 214, 214);
|
// border: 0.01rem solid rgb(214, 214, 214);
|
||||||
margin-right: 10px;
|
margin: 0px 16px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
span {
|
span {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 30px;
|
width: 32px;
|
||||||
height: 30px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid #999;
|
border: 1px solid #d9d9d9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
margin-left: 10px;
|
color: #b3b3b3;
|
||||||
width: 130px;
|
|
||||||
height: 1px;
|
|
||||||
background: #999;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.finish {
|
.line {
|
||||||
color: #0087ff;
|
// 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 {
|
.bg-box {
|
||||||
background: #9ccefa;
|
display: flex;
|
||||||
color: #fff;
|
justify-content: center;
|
||||||
border: 1px solid #9ccefa;
|
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 {
|
span {
|
||||||
background: #0087ff;
|
background: #0058e1;
|
||||||
border: 1px solid #0087ff;
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid solid #0058e1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
background: #0087ff;
|
color: #212121;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.line {
|
||||||
|
// margin-left: 16px;
|
||||||
|
width: 326px;
|
||||||
|
height: 2px;
|
||||||
|
background: #0058e1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.btn {
|
.btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-around;
|
||||||
padding: 10px 350px 0;
|
padding: 0.1rem 3.5rem 0;
|
||||||
button {
|
button {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 80px;
|
font-size: 0.14rem;
|
||||||
height: 35px;
|
width: 0.8rem;
|
||||||
|
height: 0.35rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border: none;
|
border: 0.01rem solid #9ccefa;
|
||||||
border-radius: 6px;
|
span {
|
||||||
|
background: #0087ff;
|
||||||
|
border: 0.01rem solid #0087ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.line {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
}
|
}
|
||||||
button:nth-of-type(1) {
|
button:nth-of-type(1) {
|
||||||
|
@ -890,7 +932,55 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.first {
|
.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>
|
</style>
|
||||||
|
|
|
@ -7,17 +7,19 @@
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="header">能力上架申请</div>
|
<!-- <div class="header">能力上架申请</div> -->
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div
|
<div
|
||||||
v-for="(nav, index) in navList"
|
v-for="(nav, index) in navList"
|
||||||
:key="nav"
|
:key="nav"
|
||||||
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
|
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
|
||||||
>
|
>
|
||||||
<span class="bg-box">
|
<div class="wai">
|
||||||
<span>{{ index + 1 }}</span>
|
<span class="bg-box">
|
||||||
</span>
|
<span>{{ index + 1 }}</span>
|
||||||
<span>{{ nav.name }}</span>
|
</span>
|
||||||
|
<span class="bg-name">{{ nav.name }}</span>
|
||||||
|
</div>
|
||||||
<div class="line" v-if="index !== navList.length - 1"></div>
|
<div class="line" v-if="index !== navList.length - 1"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -76,7 +78,7 @@
|
||||||
></put-on-the-shelf>
|
></put-on-the-shelf>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
|
||||||
<button @click="close()">取消</button>
|
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="
|
v-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
|
@ -90,9 +92,10 @@
|
||||||
@confirm="changeYycj('上一步')"
|
@confirm="changeYycj('上一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>上一步</button>
|
<button class="buzhou">上一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -102,7 +105,7 @@
|
||||||
>
|
>
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="showView !== '基本信息'" @click="back()">
|
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
|
||||||
上一步
|
上一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -118,9 +121,9 @@
|
||||||
@confirm="changeBs('预览')"
|
@confirm="changeBs('预览')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>预览</button>
|
<button class="buzhou">预览</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与使用'" @click="preview()">
|
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
|
||||||
预览
|
预览
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -136,9 +139,10 @@
|
||||||
@confirm="changeYycj('下一步')"
|
@confirm="changeYycj('下一步')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>下一步</button>
|
<button class="buzhou">下一步</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button
|
<button
|
||||||
|
class="buzhou"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
showView == '应用场景' &&
|
showView == '应用场景' &&
|
||||||
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
yycj[0].list.filter((val) => val.note1 !== '').length ==
|
||||||
|
@ -148,7 +152,7 @@
|
||||||
>
|
>
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<button v-else-if="showView !== '部署与使用'" @click="next()">
|
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
|
||||||
下一步
|
下一步
|
||||||
</button>
|
</button>
|
||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
|
@ -164,11 +168,12 @@
|
||||||
@confirm="changeBs('提交')"
|
@confirm="changeBs('提交')"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
>
|
>
|
||||||
<button>提交</button>
|
<button class="buzhou">提交</button>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
<button v-else-if="showView === '部署与使用'" @click="submit()">
|
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
|
||||||
提交
|
提交
|
||||||
</button>
|
</button>
|
||||||
|
<button class="quxiao" @click="close()">取消</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -467,7 +472,7 @@
|
||||||
getCategoryTree().then((res) => {
|
getCategoryTree().then((res) => {
|
||||||
// console.clear()
|
// console.clear()
|
||||||
res.data.data = res.data.data
|
res.data.data = res.data.data
|
||||||
.filter((item) => item.name === '组件服务一')[0]
|
.filter((item) => item.name === '组件服务')[0]
|
||||||
.children.filter((item) => item.name === '图层服务')[0]
|
.children.filter((item) => item.name === '图层服务')[0]
|
||||||
navList.value = []
|
navList.value = []
|
||||||
navList2.value = []
|
navList2.value = []
|
||||||
|
@ -670,85 +675,120 @@
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.box {
|
.box {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 64px;
|
top: 0.64rem;
|
||||||
margin: 15px 400px;
|
// margin: 0.15rem 3rem;
|
||||||
padding: 10px;
|
padding: 0.1rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
.header {
|
.header {
|
||||||
font-size: 28px;
|
font-size: 0.28rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.vue-box {
|
.vue-box {
|
||||||
padding: 0 100px;
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
.top {
|
.top {
|
||||||
margin: 10px 20px 0;
|
font-size: 16px;
|
||||||
padding: 15px 30px;
|
margin: 0.32px 0.4px 0;
|
||||||
background: #edf4fc;
|
padding: 24px 24pxs;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: center;
|
||||||
div {
|
.ff {
|
||||||
font-size: 18px;
|
color: #b3b3b3;
|
||||||
color: #999;
|
display: inline-flex;
|
||||||
display: flex;
|
justify-content: center;
|
||||||
justify-content: center;
|
align-items: center;
|
||||||
align-items: center;
|
.wai {
|
||||||
|
margin-top: 14px;
|
||||||
.bg-box {
|
.bg-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 45px;
|
width: 32px;
|
||||||
height: 45px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid rgb(214, 214, 214);
|
// border: 0.01rem solid rgb(214, 214, 214);
|
||||||
margin-right: 10px;
|
margin: 0px 16px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
span {
|
span {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 30px;
|
width: 32px;
|
||||||
height: 30px;
|
height: 32px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid #999;
|
border: 1px solid #d9d9d9;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
margin-left: 10px;
|
color: #b3b3b3;
|
||||||
width: 130px;
|
|
||||||
height: 1px;
|
|
||||||
background: #999;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.finish {
|
.line {
|
||||||
color: #0087ff;
|
// 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 {
|
.bg-box {
|
||||||
background: #9ccefa;
|
display: flex;
|
||||||
color: #fff;
|
justify-content: center;
|
||||||
border: 1px solid #9ccefa;
|
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 {
|
span {
|
||||||
background: #0087ff;
|
background: #0058e1;
|
||||||
border: 1px solid #0087ff;
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 1px solid solid #0058e1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.line {
|
.bg-name {
|
||||||
background: #0087ff;
|
color: #212121;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.line {
|
||||||
|
// margin-left: 16px;
|
||||||
|
width: 326px;
|
||||||
|
height: 2px;
|
||||||
|
background: #0058e1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.btn {
|
.btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-around;
|
||||||
padding: 10px 350px 0;
|
padding: 0.1rem 3.5rem 0;
|
||||||
button {
|
button {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 80px;
|
font-size: 0.14rem;
|
||||||
height: 35px;
|
width: 0.8rem;
|
||||||
|
height: 0.35rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border: none;
|
border: 0.01rem solid #9ccefa;
|
||||||
border-radius: 6px;
|
span {
|
||||||
|
background: #0087ff;
|
||||||
|
border: 0.01rem solid #0087ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.line {
|
||||||
background: #0087ff;
|
background: #0087ff;
|
||||||
}
|
}
|
||||||
button:nth-of-type(1) {
|
button:nth-of-type(1) {
|
||||||
|
@ -760,7 +800,55 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.first {
|
.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>
|
</style>
|
||||||
|
|
|
@ -147,7 +147,7 @@
|
||||||
<button
|
<button
|
||||||
style="
|
style="
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 30px;
|
height: 35px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
background: rgb(237, 244, 252);
|
background: rgb(237, 244, 252);
|
||||||
color: rgb(0, 135, 255);
|
color: rgb(0, 135, 255);
|
||||||
|
|
|
@ -21,21 +21,22 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
class="resultListSearchInput"
|
||||||
/>
|
/>
|
||||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
<i class="searchImg" aria-hidden="true"></i>
|
||||||
|
<button class="button-reset" @click="globalSearch()">全局搜索</button>
|
||||||
<button
|
<button
|
||||||
class="button-reset"
|
class="button-reset"
|
||||||
style="margin-left: 0.1rem"
|
style="margin-left: 0.1rem"
|
||||||
@click="globalSearch()"
|
@click="chongzhi()"
|
||||||
>
|
>
|
||||||
全局搜索
|
重置
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="Cardsname == '应用资源'"
|
v-if="Cardsname == '应用资源'"
|
||||||
class="button-reset"
|
class="button-reset"
|
||||||
@click="applyAll()"
|
@click="applyAll()"
|
||||||
style="margin-left: 0.1rem"
|
style="margin-left: 0.1rem; width: 135px"
|
||||||
>
|
>
|
||||||
全部申请
|
申请全部应用资源
|
||||||
</button>
|
</button>
|
||||||
<div class="hengxian" style="background: transparent"></div>
|
<div class="hengxian" style="background: transparent"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -168,13 +169,14 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
class="resultListSearchInput"
|
||||||
/>
|
/>
|
||||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
<i class="searchImg" aria-hidden="true"></i>
|
||||||
|
<button class="button-reset" @click="globalSearch()">全局搜索</button>
|
||||||
<button
|
<button
|
||||||
class="button-reset"
|
class="button-reset"
|
||||||
style="margin-left: 0.1rem"
|
style="margin-left: 0.1rem"
|
||||||
@click="globalSearch()"
|
@click="chongzhi()"
|
||||||
>
|
>
|
||||||
全局搜索
|
重置
|
||||||
</button>
|
</button>
|
||||||
<div class="hengxian" style="background: transparent"></div>
|
<div class="hengxian" style="background: transparent"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -228,13 +230,14 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
class="resultListSearchInput"
|
||||||
/>
|
/>
|
||||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
<i class="searchImg" aria-hidden="true"></i>
|
||||||
|
<button class="button-reset" @click="globalSearch()">全局搜索</button>
|
||||||
<button
|
<button
|
||||||
class="button-reset"
|
class="button-reset"
|
||||||
style="margin-left: 0.1rem"
|
style="margin-left: 0.1rem"
|
||||||
@click="globalSearch()"
|
@click="chongzhi()"
|
||||||
>
|
>
|
||||||
全局搜索
|
重置
|
||||||
</button>
|
</button>
|
||||||
<div class="hengxian" style="background: transparent"></div>
|
<div class="hengxian" style="background: transparent"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -301,8 +304,8 @@
|
||||||
<div class="details-pageconetent-left" v-if="Cardsname != '基础设施'">
|
<div class="details-pageconetent-left" v-if="Cardsname != '基础设施'">
|
||||||
<detailsPageconetentTree />
|
<detailsPageconetentTree />
|
||||||
</div>
|
</div>
|
||||||
<div class="details-pageconetent-left" v-else>
|
<div class="details-pageconetent-left" style="left: 0.16rem" v-else>
|
||||||
<detailsPageInfrastructureTree />
|
<detailsPageInfrastructureTreeXha />
|
||||||
</div>
|
</div>
|
||||||
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
|
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
|
||||||
<div class="top-title">
|
<div class="top-title">
|
||||||
|
@ -334,7 +337,14 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
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 class="hengxian"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -425,7 +435,11 @@
|
||||||
<a-empty />
|
<a-empty />
|
||||||
</div>
|
</div>
|
||||||
</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 class="top-title">
|
||||||
<div
|
<div
|
||||||
v-for="item in titleName"
|
v-for="item in titleName"
|
||||||
|
@ -444,7 +458,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="top-content-father">
|
<div class="top-content-father">
|
||||||
<infrastructurePage
|
<infrastructurePageXha
|
||||||
ref="camera"
|
ref="camera"
|
||||||
:searchValue="searchValue"
|
:searchValue="searchValue"
|
||||||
:searchType="searchType"
|
:searchType="searchType"
|
||||||
|
@ -481,7 +495,14 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
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>
|
||||||
</div>
|
</div>
|
||||||
<KnowledgeBase
|
<KnowledgeBase
|
||||||
|
@ -489,6 +510,9 @@
|
||||||
:resourceTotal="resourceTotal"
|
:resourceTotal="resourceTotal"
|
||||||
></KnowledgeBase>
|
></KnowledgeBase>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="Cardsname == '基础设施'">
|
||||||
|
<infrastructureApplication></infrastructureApplication>
|
||||||
|
</div>
|
||||||
<div class="talk-monitor" @click="openMonitor">
|
<div class="talk-monitor" @click="openMonitor">
|
||||||
<a-tooltip>
|
<a-tooltip>
|
||||||
<template #title>问答机器人</template>
|
<template #title>问答机器人</template>
|
||||||
|
@ -538,7 +562,14 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
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 class="hengxian"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -703,7 +734,14 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
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>
|
||||||
</div>
|
</div>
|
||||||
<KnowledgeBase
|
<KnowledgeBase
|
||||||
|
@ -743,7 +781,10 @@
|
||||||
import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue'
|
import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue'
|
||||||
// 基础设施引用
|
// 基础设施引用
|
||||||
import infrastructurePage from '@/views/home/infrastructurePage.vue'
|
import infrastructurePage from '@/views/home/infrastructurePage.vue'
|
||||||
|
import infrastructurePageXha from '@/views/home/infrastructurePageXha.vue'
|
||||||
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.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 { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
|
@ -769,7 +810,7 @@
|
||||||
const handleAdd = (value) => {
|
const handleAdd = (value) => {
|
||||||
flag.value = value
|
flag.value = value
|
||||||
}
|
}
|
||||||
const titleName = ref(titleNameArray)
|
const titleName = ref([])
|
||||||
const openMonitor = () => {
|
const openMonitor = () => {
|
||||||
window.open('http://www.qingdao.gov.cn:8083/ghwd/znwdqd/index.html')
|
window.open('http://www.qingdao.gov.cn:8083/ghwd/znwdqd/index.html')
|
||||||
}
|
}
|
||||||
|
@ -869,6 +910,15 @@
|
||||||
pageSize: currentPageSize.value,
|
pageSize: currentPageSize.value,
|
||||||
name: '',
|
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 = () => {
|
const onSearch = () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
|
@ -1706,6 +1756,8 @@
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 从本地读取查询条件,赋值
|
// 从本地读取查询条件,赋值
|
||||||
|
//西海岸基础设施放在最前面
|
||||||
|
setTitle()
|
||||||
handleSetSearchData()
|
handleSetSearchData()
|
||||||
listKey2.value++
|
listKey2.value++
|
||||||
// 获取筛选条件
|
// 获取筛选条件
|
||||||
|
@ -1843,6 +1895,7 @@
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
setTitle,
|
||||||
listKey,
|
listKey,
|
||||||
ListContent,
|
ListContent,
|
||||||
searchValue,
|
searchValue,
|
||||||
|
@ -1903,7 +1956,9 @@
|
||||||
KnowledgeBase,
|
KnowledgeBase,
|
||||||
DetailsPageResource,
|
DetailsPageResource,
|
||||||
infrastructurePage,
|
infrastructurePage,
|
||||||
|
infrastructurePageXha,
|
||||||
detailsPageInfrastructureTree,
|
detailsPageInfrastructureTree,
|
||||||
|
detailsPageInfrastructureTreeXha,
|
||||||
},
|
},
|
||||||
beforeUnmount() {
|
beforeUnmount() {
|
||||||
mybus.off('getCameraByParentId')
|
mybus.off('getCameraByParentId')
|
||||||
|
@ -1930,13 +1985,21 @@
|
||||||
.resultListSearchInput-son {
|
.resultListSearchInput-son {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
padding: 0.2rem 0.2rem 0rem 0.3rem;
|
||||||
|
position: relative;
|
||||||
.hengxian {
|
.hengxian {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 0.01rem;
|
height: 0.01rem;
|
||||||
background: rgba(150, 144, 144, 0.3);
|
background: rgba(150, 144, 144, 0.3);
|
||||||
margin-top: 0.2rem;
|
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) {
|
:deep(.ant-input) {
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
height: 0.36rem;
|
height: 0.32rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0.04rem;
|
border-radius: 0.02rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-input-search-button) {
|
:deep(.ant-input-search-button) {
|
||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
height: 0.36rem;
|
height: 0.32rem;
|
||||||
background: #0087ff;
|
background: #0558e1;
|
||||||
border-radius: 0.04rem !important;
|
border-radius: 0.02rem !important;
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 0.34rem;
|
line-height: 0.32rem;
|
||||||
margin-left: 0.1rem;
|
margin-left: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1971,13 +2034,15 @@
|
||||||
border: 0;
|
border: 0;
|
||||||
outline: none;
|
outline: none;
|
||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
height: 0.36rem;
|
height: 0.32rem;
|
||||||
background: #e1edfa;
|
color: #fff;
|
||||||
border-radius: 0.04rem;
|
//background: #e1edfa;
|
||||||
|
background: #0558e1;
|
||||||
|
border-radius: 0.02rem;
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #0087ff;
|
//color: #0087ff;
|
||||||
line-height: 0.34rem;
|
line-height: 0.32rem;
|
||||||
margin-left: 2.5rem;
|
margin-left: 2.5rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="bg">
|
<div class="bg">
|
||||||
<home-header></home-header>
|
<home-header :target-flag = "targetFlag"></home-header>
|
||||||
<div class="box-container">
|
<div class="box-container">
|
||||||
<a-spin
|
<a-spin
|
||||||
size="large"
|
size="large"
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
/>
|
/>
|
||||||
<div class="nav-box">
|
<div class="nav-box">
|
||||||
<a-breadcrumb>
|
<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-item>算法对比</a-breadcrumb-item>
|
||||||
</a-breadcrumb>
|
</a-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
|
@ -194,11 +194,11 @@
|
||||||
import { selectOne } from '@/api/home'
|
import { selectOne } from '@/api/home'
|
||||||
import { message, Tooltip, Table, Spin } from 'ant-design-vue'
|
import { message, Tooltip, Table, Spin } from 'ant-design-vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
import mybus from '@/myplugins/mybus'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
let queryId = router.currentRoute.value.query.id
|
let queryId = router.currentRoute.value.query.id
|
||||||
const ctx = getCurrentInstance()
|
const ctx = getCurrentInstance()
|
||||||
|
const targetFlag= ref(true)
|
||||||
// 最大4列
|
// 最大4列
|
||||||
const pagination = ref([])
|
const pagination = ref([])
|
||||||
// 表格列名
|
// 表格列名
|
||||||
|
@ -653,6 +653,14 @@
|
||||||
let _obj = Object.assign({}, obj, _newObj)
|
let _obj = Object.assign({}, obj, _newObj)
|
||||||
return _obj
|
return _obj
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//点击头部面包屑进入对应的页面goToDetailsPageconetent
|
||||||
|
const goToDetailsPageconetent = () => {
|
||||||
|
let pathData = {
|
||||||
|
path: '/DetailsPageconetent',
|
||||||
|
};
|
||||||
|
mybus.emit('changeMenuStyle',pathData);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
@ -719,6 +727,9 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background: rgba(244, 245, 248, 0.8);
|
background: rgba(244, 245, 248, 0.8);
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
|
.bread-crumb-span{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.left {
|
.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
|
<div
|
||||||
v-for="item in navList"
|
v-for="item in navList"
|
||||||
:key="item.key"
|
:key="item.key"
|
||||||
@click="jumpPage(item)"
|
@click="jumpPage(item,'headerClick')"
|
||||||
class="nav"
|
class="nav"
|
||||||
:class="item.key == select ? 'select' : ''"
|
:class="[{'select':item.key == select},{'select-inner':(item.key == 'DetailsPageconetent' && item.innerKey == 'algorithmCompare'&& props.targetFlag)}]"
|
||||||
>
|
>
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -90,14 +90,14 @@
|
||||||
</template>
|
</template>
|
||||||
<span
|
<span
|
||||||
class="name"
|
class="name"
|
||||||
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
|
@click="jumpPage({ name: '个人中心', key: 'personalCenter' },'headerClick')"
|
||||||
>
|
>
|
||||||
{{ user.realName }}
|
{{ user.realName }}
|
||||||
</span>
|
</span>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<span @click="logout" class="out">退出</span>
|
<span @click="logout" class="out">退出</span>
|
||||||
<i
|
<i
|
||||||
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
|
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' },'headerClick')"
|
||||||
class="iconTo"
|
class="iconTo"
|
||||||
v-show="backFlag"
|
v-show="backFlag"
|
||||||
></i>
|
></i>
|
||||||
|
@ -135,6 +135,7 @@
|
||||||
const mynoticeFlag = ref(false)
|
const mynoticeFlag = ref(false)
|
||||||
const mynoticeData = ref([])
|
const mynoticeData = ref([])
|
||||||
const navList = ref(navListManagement.navList)
|
const navList = ref(navListManagement.navList)
|
||||||
|
const targetRouter= ref('')
|
||||||
const backFlag = ref(false)
|
const backFlag = ref(false)
|
||||||
getUserInfo().then((res) => {
|
getUserInfo().then((res) => {
|
||||||
if(res.data.data.superAdmin =='1'){
|
if(res.data.data.superAdmin =='1'){
|
||||||
|
@ -153,6 +154,7 @@
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
showView: { type: String, default: '' },
|
showView: { type: String, default: '' },
|
||||||
|
targetFlag: { type: Boolean, default: false },
|
||||||
})
|
})
|
||||||
|
|
||||||
// 退出登录
|
// 退出登录
|
||||||
|
@ -185,8 +187,9 @@
|
||||||
window.open('http://15.72.177.175:18460/analystrunner/tonglan', '_blank')
|
window.open('http://15.72.177.175:18460/analystrunner/tonglan', '_blank')
|
||||||
}
|
}
|
||||||
// 跳转页面
|
// 跳转页面
|
||||||
const jumpPage = (item) => {
|
const jumpPage = (item,type) => {
|
||||||
// 西海岸
|
if(type == 'headerClick'){
|
||||||
|
// 西海岸
|
||||||
if (itShowXiHaiAn.value) {
|
if (itShowXiHaiAn.value) {
|
||||||
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
|
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
|
||||||
if (
|
if (
|
||||||
|
@ -271,6 +274,84 @@
|
||||||
router.push('/home')
|
router.push('/home')
|
||||||
break
|
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)
|
const scrollTop = ref(0)
|
||||||
window.onscroll = function () {
|
window.onscroll = function () {
|
||||||
|
@ -348,6 +429,20 @@
|
||||||
mybus.on('getMynotice', () => {
|
mybus.on('getMynotice', () => {
|
||||||
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(() => {
|
onBeforeUnmount(() => {
|
||||||
mybus.off('getSgcNum')
|
mybus.off('getSgcNum')
|
||||||
|
@ -433,6 +528,10 @@
|
||||||
.select {
|
.select {
|
||||||
background: #0058e1;
|
background: #0058e1;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
.select-inner {
|
||||||
|
background: #0058e1;
|
||||||
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
.info1 {
|
.info1 {
|
||||||
margin-left: 0.1rem;
|
margin-left: 0.1rem;
|
||||||
|
|
|
@ -805,12 +805,18 @@
|
||||||
}
|
}
|
||||||
// 算法对比跳转
|
// 算法对比跳转
|
||||||
const goComparePk = (item) => {
|
const goComparePk = (item) => {
|
||||||
router.push({
|
// router.push({
|
||||||
|
// path: '/algorithmCompare',
|
||||||
|
// query: {
|
||||||
|
// id: item.id,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
//修改顶部菜单的样式
|
||||||
|
let pathData = {
|
||||||
path: '/algorithmCompare',
|
path: '/algorithmCompare',
|
||||||
query: {
|
id: item.id,
|
||||||
id: item.id,
|
};
|
||||||
},
|
mybus.emit('changeMenuStyle',pathData);
|
||||||
})
|
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
onSearch,
|
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"
|
@change="handleMeeting"
|
||||||
></a-table>
|
></a-table>
|
||||||
</div>
|
</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">
|
<div class="infrastructrue-table" v-else-if="isXiHaiAn && wrjFlag">
|
||||||
<a-table
|
<a-table
|
||||||
|
@ -771,20 +781,10 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import VideoSurveillance from '@/views/home/videoSurveillance'
|
import VideoSurveillance from '@/views/home/videoSurveillance'
|
||||||
|
import GovernmentCloudResources from './components/GovernmentCloudResources'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { message, Upload } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import {
|
import { ref, reactive, onMounted, defineProps, defineExpose } from 'vue'
|
||||||
ref,
|
|
||||||
reactive,
|
|
||||||
onMounted,
|
|
||||||
defineProps,
|
|
||||||
watch,
|
|
||||||
defineComponent,
|
|
||||||
nextTick,
|
|
||||||
defineExpose,
|
|
||||||
computed,
|
|
||||||
} from 'vue'
|
|
||||||
import { getUser, getEnkeUsers } from '@/api/home'
|
|
||||||
import { initiateMeet } from '@/api/file'
|
import { initiateMeet } from '@/api/file'
|
||||||
import {
|
import {
|
||||||
getCameraByParentId,
|
getCameraByParentId,
|
||||||
|
@ -794,17 +794,18 @@
|
||||||
} from '@/api/videoSurveillance'
|
} from '@/api/videoSurveillance'
|
||||||
import { getCameraByCondition } from '@/api/file'
|
import { getCameraByCondition } from '@/api/file'
|
||||||
import {
|
import {
|
||||||
|
getUser,
|
||||||
|
getEnkeUsers,
|
||||||
sgcInsert,
|
sgcInsert,
|
||||||
xhaAddCart,
|
|
||||||
getRoomSearch,
|
getRoomSearch,
|
||||||
getDate,
|
getDate,
|
||||||
setSubmit,
|
setSubmit,
|
||||||
getYuyue,
|
getYuyue,
|
||||||
getSoldierList,
|
getSoldierList,
|
||||||
getMaxApplyNum,
|
getMaxApplyNum,
|
||||||
|
getPolicyCloudService,
|
||||||
} from '@/api/home'
|
} from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import dayjs from 'dayjs'
|
|
||||||
import { Form } from 'ant-design-vue'
|
import { Form } from 'ant-design-vue'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import { useStore } from 'vuex'
|
import { useStore } from 'vuex'
|
||||||
|
@ -1123,7 +1124,7 @@
|
||||||
let clickList = ref([]) //存储点击的tab
|
let clickList = ref([]) //存储点击的tab
|
||||||
if (!isXiHaiAn) {
|
if (!isXiHaiAn) {
|
||||||
tabList.value.push({
|
tabList.value.push({
|
||||||
title: '城市云脑会客厅',
|
title: '筛选条件',
|
||||||
content: [],
|
content: [],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1556,6 +1557,7 @@
|
||||||
}
|
}
|
||||||
const emits = defineEmits(['add'])
|
const emits = defineEmits(['add'])
|
||||||
const selectType = ref('政务云资源')
|
const selectType = ref('政务云资源')
|
||||||
|
const showKey = ref(0)
|
||||||
//表格的高度
|
//表格的高度
|
||||||
let tableHeight = ref('600')
|
let tableHeight = ref('600')
|
||||||
//tab切换点击事件
|
//tab切换点击事件
|
||||||
|
@ -1580,7 +1582,7 @@
|
||||||
dataSource2.value = []
|
dataSource2.value = []
|
||||||
pagination.value.total = 0
|
pagination.value.total = 0
|
||||||
if (tabList.value[1]) {
|
if (tabList.value[1]) {
|
||||||
tabList.value[1].title = '政务云资源分类'
|
tabList.value[1].title = '服务类别'
|
||||||
}
|
}
|
||||||
selectType.value = '政务云资源'
|
selectType.value = '政务云资源'
|
||||||
} else if (name == '感知资源') {
|
} else if (name == '感知资源') {
|
||||||
|
@ -1604,10 +1606,12 @@
|
||||||
}
|
}
|
||||||
selectType.value = '视频会议'
|
selectType.value = '视频会议'
|
||||||
}
|
}
|
||||||
clickList.value[indexFather].content.splice(
|
if (indexFather !== 0 && selectType.value !== '政务云资源') {
|
||||||
clickList.value[indexFather].content.indexOf(name),
|
clickList.value[indexFather].content.splice(
|
||||||
1
|
clickList.value[indexFather].content.indexOf(name),
|
||||||
)
|
1
|
||||||
|
)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (name == '视频资源') {
|
if (name == '视频资源') {
|
||||||
selectType.value = '视频资源'
|
selectType.value = '视频资源'
|
||||||
|
@ -1661,17 +1665,21 @@
|
||||||
}
|
}
|
||||||
clickList.value[indexFather].content[0] = name
|
clickList.value[indexFather].content[0] = name
|
||||||
if (tabList.value[1]) {
|
if (tabList.value[1]) {
|
||||||
tabList.value[1].title = '政务云资源分类'
|
if (!isXiHaiAn) {
|
||||||
tabList.value[1].content = [
|
tabList.value[1].title = '服务类别'
|
||||||
'云主机',
|
tabList.value[1].content = [
|
||||||
'算力主机',
|
'基础服务',
|
||||||
'对象存储',
|
'PaaS服务',
|
||||||
'堡垒机',
|
'安全服务',
|
||||||
'防火墙',
|
'大数据服务',
|
||||||
'网闸',
|
'附加增值服务',
|
||||||
'负载均衡',
|
]
|
||||||
'公网IP',
|
} else {
|
||||||
]
|
if (tabList.value[1]) {
|
||||||
|
tabList.value[1].title = ''
|
||||||
|
tabList.value[1].content = []
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
room.value = true
|
room.value = true
|
||||||
wrjFlag.value = false
|
wrjFlag.value = false
|
||||||
|
@ -1738,11 +1746,53 @@
|
||||||
emits('add', 6)
|
emits('add', 6)
|
||||||
searchData()
|
searchData()
|
||||||
} else {
|
} else {
|
||||||
if (clickList.value[indexFather]) {
|
if (
|
||||||
|
clickList.value[indexFather] &&
|
||||||
|
(clickList.value[0].content[0] !== '政务云资源' || indexFather !== 1)
|
||||||
|
) {
|
||||||
clickList.value[indexFather].content.push(name)
|
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数组
|
// 改变查询摄像头接口的labelCode数组
|
||||||
mapSearchParam.value.labelCodes = []
|
mapSearchParam.value.labelCodes = []
|
||||||
if (clickList.value[1]) {
|
if (clickList.value[1]) {
|
||||||
|
@ -2106,18 +2156,11 @@
|
||||||
//加入申购车
|
//加入申购车
|
||||||
const addShoppingCart = () => {
|
const addShoppingCart = () => {
|
||||||
if (selectedList.value.length > 0) {
|
if (selectedList.value.length > 0) {
|
||||||
let _arr = []
|
sgcInsert({
|
||||||
selectedList.value.map((v) => {
|
delFlag: '0',
|
||||||
_arr.push({
|
resourceld: '8888888880000000001',
|
||||||
delFlag: '0',
|
note1: selectedList.value,
|
||||||
resourceId: v.idtCameraChannel,
|
}).then((res) => {
|
||||||
note1: [v],
|
|
||||||
})
|
|
||||||
})
|
|
||||||
xhaAddCart(_arr).then((res) => {
|
|
||||||
if (res.data.code !== 0) {
|
|
||||||
return message.error(res.data.msg)
|
|
||||||
}
|
|
||||||
message.success('添加申购车成功!')
|
message.success('添加申购车成功!')
|
||||||
mybus.emit('getSgcNum')
|
mybus.emit('getSgcNum')
|
||||||
})
|
})
|
||||||
|
@ -2277,7 +2320,19 @@
|
||||||
} else {
|
} 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
|
// 切换tab
|
||||||
const handleTableChange = (val) => {
|
const handleTableChange = (val) => {
|
||||||
pagination.value.current = val.current
|
pagination.value.current = val.current
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
@change="onSearch"
|
@change="onSearch"
|
||||||
class="resultListSearchInput"
|
class="resultListSearchInput"
|
||||||
/>
|
/>
|
||||||
|
<i class="searchImg" aria-hidden="true"></i>
|
||||||
<button class="button-reset" @click="resetAction()">重置</button>
|
<button class="button-reset" @click="resetAction()">重置</button>
|
||||||
<div class="hengxian"></div>
|
<div class="hengxian"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -342,6 +343,14 @@
|
||||||
background: rgba(150, 144, 144, 0.3);
|
background: rgba(150, 144, 144, 0.3);
|
||||||
margin-top: 0.2rem;
|
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) {
|
:deep(.ant-input) {
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
height: 0.36rem;
|
height: 0.32rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 0.04rem;
|
border-radius: 0.02rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ant-input-search-button) {
|
:deep(.ant-input-search-button) {
|
||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
height: 0.36rem;
|
height: 0.32rem;
|
||||||
background: #0087ff;
|
background: #0558e1;
|
||||||
border-radius: 0.04rem !important;
|
border-radius: 0.02rem !important;
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 0.34rem;
|
line-height: 0.32rem;
|
||||||
margin-left: 0.1rem;
|
margin-left: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -376,13 +385,15 @@
|
||||||
border: 0;
|
border: 0;
|
||||||
outline: none;
|
outline: none;
|
||||||
width: 0.8rem;
|
width: 0.8rem;
|
||||||
height: 0.36rem;
|
height: 0.32rem;
|
||||||
background: #e1edfa;
|
//background: #e1edfa;
|
||||||
border-radius: 0.04rem;
|
background: #0558e1;
|
||||||
|
border-radius: 0.02rem;
|
||||||
font-size: 0.14rem;
|
font-size: 0.14rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #0087ff;
|
//color: #0087ff;
|
||||||
line-height: 0.34rem;
|
color: #fff;
|
||||||
|
line-height: 0.32rem;
|
||||||
margin-left: 2.5rem;
|
margin-left: 2.5rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,8 +47,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 联系我们 -->
|
<!-- 联系我们 -->
|
||||||
<div class="img-bg callus-box">
|
<!--<div class="img-bg callus-box">
|
||||||
<!-- <div class="title" style="margin-bottom: 20px">
|
<div class="title" style="margin-bottom: 20px">
|
||||||
<div class="text text-white">联系我们</div>
|
<div class="text text-white">联系我们</div>
|
||||||
<div class="line line-white"></div>
|
<div class="line line-white"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -61,8 +61,8 @@
|
||||||
手机号:
|
手机号:
|
||||||
<span>0530-0000000</span>
|
<span>0530-0000000</span>
|
||||||
</p>
|
</p>
|
||||||
</div> -->
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<!-- 能力上架弹窗 -->
|
<!-- 能力上架弹窗 -->
|
||||||
<a-modal
|
<a-modal
|
||||||
v-model:visible="visible"
|
v-model:visible="visible"
|
||||||
|
|
|
@ -83,6 +83,7 @@
|
||||||
function handlecancel() {
|
function handlecancel() {
|
||||||
abilityToTypeFunctionData.value = '组件服务'
|
abilityToTypeFunctionData.value = '组件服务'
|
||||||
componentTypeValue.value = ''
|
componentTypeValue.value = ''
|
||||||
|
visible.value = false
|
||||||
}
|
}
|
||||||
let abilityToTypeFunctionData = ref('组件服务')
|
let abilityToTypeFunctionData = ref('组件服务')
|
||||||
function abilityToTypeFunction(item) {
|
function abilityToTypeFunction(item) {
|
||||||
|
@ -124,6 +125,7 @@
|
||||||
if (abilityToTypeFunctionData.value == '组件服务') {
|
if (abilityToTypeFunctionData.value == '组件服务') {
|
||||||
if (!componentTypeValue.value || componentTypeValue.value == '') {
|
if (!componentTypeValue.value || componentTypeValue.value == '') {
|
||||||
message.error('请选择组件类型!')
|
message.error('请选择组件类型!')
|
||||||
|
componentTypeValueOld.value=''
|
||||||
return
|
return
|
||||||
} else if (
|
} else if (
|
||||||
componentTypeValue.value === '智能算法' ||
|
componentTypeValue.value === '智能算法' ||
|
||||||
|
@ -152,7 +154,7 @@
|
||||||
visible.value = false
|
visible.value = false
|
||||||
abilityToTypeFunctionData.value = '组件服务'
|
abilityToTypeFunctionData.value = '组件服务'
|
||||||
componentTypeValue.value = ''
|
componentTypeValue.value = ''
|
||||||
console.log(e)
|
visible.value = false
|
||||||
}
|
}
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
const params = {
|
const params = {
|
||||||
|
|
|
@ -306,20 +306,24 @@
|
||||||
getUserInfo().then((res) => {
|
getUserInfo().then((res) => {
|
||||||
userName.value = res.data.data.username
|
userName.value = res.data.data.username
|
||||||
})
|
})
|
||||||
let typeList = ref([
|
|
||||||
'能力申请',
|
|
||||||
'能力上架',
|
|
||||||
'能力下架',
|
|
||||||
'能力需求',
|
|
||||||
'需求评论',
|
|
||||||
'数据资源申请',
|
|
||||||
'云资源申请',
|
|
||||||
'云视频申请',
|
|
||||||
// '能力评价',
|
|
||||||
])
|
|
||||||
const formState = ref({ name: '' })
|
const formState = ref({ name: '' })
|
||||||
// 西海岸-设备申请
|
// 西海岸-设备申请
|
||||||
let isXiHaiAn = whoShow.itShowXiHaiAn
|
let isXiHaiAn = whoShow.itShowXiHaiAn
|
||||||
|
let typeList = ref(
|
||||||
|
isXiHaiAn
|
||||||
|
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论']
|
||||||
|
: [
|
||||||
|
'能力申请',
|
||||||
|
'能力上架',
|
||||||
|
'能力下架',
|
||||||
|
'能力需求',
|
||||||
|
'需求评论',
|
||||||
|
'数据资源申请',
|
||||||
|
'云资源申请',
|
||||||
|
'云视频申请',
|
||||||
|
// '能力评价',
|
||||||
|
]
|
||||||
|
)
|
||||||
const itShowXiHaiAn = ref(isXiHaiAn)
|
const itShowXiHaiAn = ref(isXiHaiAn)
|
||||||
const phoneSate = ref([2, 3])
|
const phoneSate = ref([2, 3])
|
||||||
if (isXiHaiAn) {
|
if (isXiHaiAn) {
|
||||||
|
@ -769,8 +773,9 @@
|
||||||
contentList.data = res.data.data.list
|
contentList.data = res.data.data.list
|
||||||
total.value = res.data.data.total
|
total.value = res.data.data.total
|
||||||
initNum()
|
initNum()
|
||||||
|
console.log('typeIndex', typeIndex.value)
|
||||||
switch (typeIndex.value) {
|
switch (typeIndex.value) {
|
||||||
case 2:
|
case 1:
|
||||||
contentList.data.map((val) => {
|
contentList.data.map((val) => {
|
||||||
nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
|
nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
|
||||||
console.log('上架===========>', res1.data.data)
|
console.log('上架===========>', res1.data.data)
|
||||||
|
@ -780,7 +785,7 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
case 3:
|
case 2:
|
||||||
contentList.data.map((val) => {
|
contentList.data.map((val) => {
|
||||||
selectOneDel(val.businessKey).then((res1) => {
|
selectOneDel(val.businessKey).then((res1) => {
|
||||||
console.log('下架===========>', res1.data.data)
|
console.log('下架===========>', res1.data.data)
|
||||||
|
@ -790,7 +795,7 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
case 4:
|
case 3:
|
||||||
contentList.data.map((val) => {
|
contentList.data.map((val) => {
|
||||||
getDemandForm(val.businessKey).then((res1) => {
|
getDemandForm(val.businessKey).then((res1) => {
|
||||||
console.log('需求===========>', res1.data.data)
|
console.log('需求===========>', res1.data.data)
|
||||||
|
@ -801,7 +806,7 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
case 5:
|
case 4:
|
||||||
contentList.data.map((val) => {
|
contentList.data.map((val) => {
|
||||||
demandComment(val.businessKey).then((res1) => {
|
demandComment(val.businessKey).then((res1) => {
|
||||||
console.log('评论===========>', res1.data.data)
|
console.log('评论===========>', res1.data.data)
|
||||||
|
|