Compare commits

..

No commits in common. "72a900723ff86c7d0fda2e6ce8956ef86b3a11ae" and "1d417429429dd3031fa915eea2d6b732b4634c3d" have entirely different histories.

95 changed files with 2977 additions and 7827 deletions

View File

@ -15,27 +15,6 @@
.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>
import Cookies from 'js-cookie' import Cookies from 'js-cookie'

View File

@ -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-15 19:26:30 * @LastEditTime: 2022-11-11 11:07:09
* @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) Cookies.set('ucsToken', response.headers.token, { expires: 'session' })
} }
if (response.headers.redirect) { if (response.headers.redirect) {
window.location.href = response.headers.redirect window.location.href = response.headers.redirect

View File

@ -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 type="primary" @click="searchData">{{ <el-button @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 type="primary" @click="reset">重置</el-button> <el-button @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"

View File

@ -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 type="primary" @click="searchData">{{ <el-button @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 type="primary" @click="reset">重置</el-button> <el-button @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"

View File

@ -15,7 +15,7 @@
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="exportHandle()">{{ <el-button type="info" @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="primary" type="danger"
@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 type="primary" @click="reset">重置</el-button> <el-button @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 === '组件类型'

View File

@ -10,12 +10,12 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList2(dataForm.name)">{{ <el-button @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="primary" @click="exportHandle()">{{ <el-button type="info" @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="primary" type="danger"
@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 type="primary" @click="reset">重置</el-button> <el-button @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

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button> <el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>

View File

@ -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 lang="scss" scoped> <style 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: 300px; width: 50px;
} }
} }
} }
@ -334,8 +334,7 @@ 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;

View File

@ -1,8 +1,27 @@
<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>
@ -52,14 +71,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 style="width:80%;" v-model="resourceName" placeholder="请输入资源名称" clearable></el-input> <el-input v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" style="margin-right: 40px;"> <el-form :inline="true" style="display: flex;justify-content: end;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>
@ -1160,17 +1179,16 @@ input::placeholder {
} }
.export { .export {
margin-top: 6px;
display: inline-block; display: inline-block;
width: 80px; width: 70px;
height: 32px; height: 40px;
line-height: 32px; line-height: 40px;
text-align: center; text-align: center;
border-radius: 2px; border-radius: 5px;
background: #fff; background: #fff;
border: 2px solid #dcdfe6; border: 1px 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;
@ -1179,6 +1197,7 @@ input::placeholder {
.export:hover { .export:hover {
background: #65a5f9; background: #65a5f9;
border-color: #65a5f9; border-color: #65a5f9;
color: #fff; color: #FFF;
} }
</style> </style>

View File

@ -60,25 +60,7 @@
</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">
<button <el-button @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-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>
<!-- 流程综合组件 --> <!-- 流程综合组件 -->
@ -91,16 +73,11 @@
></ren-process-multiple> --> ></ren-process-multiple> -->
<!-- 审批 --> <!-- 审批 -->
<div class="agreeOr" v-if="taskId"> <div class="agreeOr" v-if="taskId">
<div class="approvalOperation"> <div>
<!-- <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>
<!-- 审批弹窗 --> <!-- 审批弹窗 -->
@ -244,14 +221,14 @@ export default {
}, },
// 退 // 退
agreeOrNot: debounce( agreeOrNot: debounce(
function (data, type) { function (data) {
this.dataForm.taskId = this.$route.params.taskId this.dataForm.taskId = this.$route.params.taskId
if (type === '同意') { 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
@ -280,10 +257,10 @@ export default {
}) })
.catch(() => {}) .catch(() => {})
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
// } else { } else {
// this.$message.error('') this.$message.error('请输入审批意见!')
// } }
} else if (type === '驳回') { } else if (this.dialogType === '拒绝') {
if (this.input !== '') { if (this.input !== '') {
const params = qs.stringify({ const params = qs.stringify({
taskId: this.dataForm.taskId, taskId: this.dataForm.taskId,
@ -357,11 +334,6 @@ 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;
@ -369,102 +341,4 @@ 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>

View File

@ -32,16 +32,11 @@
></ren-process-multiple> --> ></ren-process-multiple> -->
<!-- 审批 --> <!-- 审批 -->
<div class="agreeOr" v-if="taskId"> <div class="agreeOr" v-if="taskId">
<div class="approvalOperation"> <div>
<!-- <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>
<!-- 审批弹窗 --> <!-- 审批弹窗 -->
@ -154,14 +149,14 @@ export default {
}, },
// 退 // 退
agreeOrNot: debounce( agreeOrNot: debounce(
function (data, type) { function (data) {
this.dataForm.taskId = this.$route.params.taskId this.dataForm.taskId = this.$route.params.taskId
if (type === '同意') { 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
@ -190,10 +185,10 @@ export default {
}) })
.catch(() => {}) .catch(() => {})
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
// } else { } else {
// this.$message.error('') this.$message.error('请输入审批意见!')
// } }
} else if (type === '拒绝') { } else if (this.dialogType === '拒绝') {
if (this.input !== '') { if (this.input !== '') {
const params = qs.stringify({ const params = qs.stringify({
taskId: this.dataForm.taskId, taskId: this.dataForm.taskId,
@ -296,102 +291,4 @@ 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>

View File

@ -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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('sys:correction:all')" type="danger" @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%;">

View File

@ -234,11 +234,11 @@ 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
@ -267,9 +267,9 @@ export default {
}) })
.catch(() => {}) .catch(() => {})
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
// } else { } else {
// this.$message.error('') 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({

View File

@ -31,7 +31,7 @@
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="deleteHandle()">{{ <el-button type="danger" @click="deleteHandle()">{{
$t("deleteBatch") $t("deleteBatch")
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>

View File

@ -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 type="primary" @click="restTableData">重置</el-button> <el-button @click="restTableData">重置</el-button>
<div style="float: right"> <div style="float: right">
<el-button <el-button
size="mini" size="mini"
@ -521,11 +521,12 @@ export default {
}) })
.then(async () => { .then(async () => {
let ids = [] let ids = []
if(row.id && this.deleteDataArr.length==0){ if (this.deleteDataArr.length > 1) {
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

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button 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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -20,8 +20,8 @@
end-placeholder="结束日期" end-placeholder="结束日期"
:picker-options="pickerOptions"> :picker-options="pickerOptions">
</el-date-picker> </el-date-picker>
<el-button type="primary" @click="flashTableData">查询</el-button> <el-button @click="flashTableData">查询</el-button>
<el-button type="primary" @click="resetTableData">重置</el-button> <el-button @click="resetTableData">重置</el-button>
</div> </div>
</el-row> </el-row>
<div style="display:flex;flex-wrap:wrap"> <div style="display:flex;flex-wrap:wrap">

View File

@ -13,12 +13,12 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList2(dataForm.name)">{{ <el-button @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="primary" @click="exportHandle()">{{ <el-button type="info" @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="primary" type="danger"
@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 type="primary" @click="reset">重置</el-button> <el-button @click="reset">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -11,8 +11,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="flashTableData">查询</el-button> <el-button @click="flashTableData">查询</el-button>
<el-button type="primary" @click="resetTableData">重置</el-button> <el-button @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>

View File

@ -10,12 +10,12 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList2(dataForm.name)">{{ <el-button @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="primary" @click="exportHandle()">{{ <el-button type="info" @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="primary" type="danger"
@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 type="primary" @click="reset">重置</el-button> <el-button @click="reset">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button 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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="importHandle()">{{ $t('excel.import') }}</el-button> <el-button type="warning" @click="importHandle()">{{ $t('excel.import') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button> <el-button type="info" @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%;">

View File

@ -16,13 +16,13 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button 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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button v-if="$hasPermission('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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('demo:product:delete')" type="danger" @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%;">

View File

@ -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 type="primary" @click="getDataList()">查询</el-button> <el-button @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="primary" @click="deleteHandle()">删除</el-button> <el-button type="danger" @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%;">

View File

@ -14,13 +14,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">查询</el-button> <el-button @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="primary" @click="deleteHandle()">删除</el-button> <el-button type="danger" @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%;">

View File

@ -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 type="primary" @click="getDataList()">查询</el-button> <el-button @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="primary" @click="deleteHandle()">删除</el-button> <el-button type="danger" @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%;">

View File

@ -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 type="primary" @click="getDataList()">查询</el-button> <el-button @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="primary" @click="deleteHandle()">删除</el-button> <el-button type="danger" @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%;">

View File

@ -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="primary" @click="enabledHandle()">启用</el-button> <el-button type="success" @click="enabledHandle()">启用</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="disabledHandle()">禁用</el-button> <el-button type="warning" @click="disabledHandle()">禁用</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="deleteHandle()">删除</el-button> <el-button type="danger" @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%;">

View File

@ -6,24 +6,25 @@
<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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button v-if="$hasPermission('sys: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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('sys:schedule:delete')" type="danger" @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="primary" @click="pauseHandle()">{{ $t('schedule.pauseBatch') }}</el-button> <el-button v-if="$hasPermission('sys:schedule:pause')" type="danger" @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="primary" @click="resumeHandle()">{{ $t('schedule.resumeBatch') }}</el-button> <el-button v-if="$hasPermission('sys:schedule:resume')" type="danger" @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="primary" @click="logHandle()">{{ $t('schedule.log') }}</el-button> <el-button v-if="$hasPermission('sys:schedule:log')" type="success" @click="logHandle()">{{ $t('schedule.log') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -15,10 +15,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -12,7 +12,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<template slot="footer"> <template slot="footer">
<el-button type="primary" @click="visible = false">{{ $t('cancel') }}</el-button> <el-button @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>

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button 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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -15,10 +15,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button v-if="$hasPermission('sys:smslog:all')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('sys:smslog:all')" type="danger" @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%;">

View File

@ -9,7 +9,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<template slot="footer"> <template slot="footer">
<el-button type="primary" @click="visible = false">{{ $t('cancel') }}</el-button> <el-button @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>

View File

@ -10,13 +10,13 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button 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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -180,7 +180,7 @@ export default {
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

View File

@ -35,18 +35,12 @@
<!-- 审批 --> <!-- 审批 -->
<div class="agreeOr" v-if="taskId"> <div class="agreeOr" v-if="taskId">
<h3>审批</h3> <h3>审批</h3>
<div class="approvalOperation"> <div>
<div class="contentOperation"> <el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
<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>
@ -155,7 +149,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 && entrust.data.data.allowEntrust === true) { if (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 + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
@ -249,13 +243,13 @@ export default {
}, },
// 退 // 退
agreeOrNot: debounce( agreeOrNot: debounce(
function (data, type) { function (data) {
if (type === '同意') { 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.taskId, taskId: this.taskId,
comment: this.input || '同意' comment: this.input
}) })
console.log(params) console.log(params)
this.$http this.$http
@ -285,10 +279,10 @@ export default {
}) })
.catch(() => {}) .catch(() => {})
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
// } else { } else {
// this.$message.error('') this.$message.error('请输入审批意见!')
// } }
} else if (type === '驳回') { } else if (this.dialogType === '驳回') {
if (this.input !== '') { if (this.input !== '') {
const params = qs.stringify({ const params = qs.stringify({
taskId: this.taskId, taskId: this.taskId,
@ -364,7 +358,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;
@ -422,99 +416,4 @@ 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>

View File

@ -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-17 17:39:31 * @LastEditTime: 2022-11-01 15:00:19
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!-- 流程业务表单 --> <!-- 流程业务表单 -->
@ -89,18 +89,15 @@
<!-- 审批 --> <!-- 审批 -->
<div class="agreeOr" v-if="dataForm.taskId"> <div class="agreeOr" v-if="dataForm.taskId">
<h3>审批</h3> <h3>审批</h3>
<div class="approvalOperation"> <div>
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;"> <!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
<el-radio-button label="同意" class="blueAll" @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> -->
<!-- 委托 --> <!-- 委托 -->
<div class="contentOperation"> <el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
<el-input v-model="input" placeholder="请输入审批意见"></el-input> <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button> <el-button type="danger" plain @click="showDialog('驳回')">驳回</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> -->
@ -110,14 +107,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>
@ -172,7 +169,6 @@ 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
} }
@ -282,7 +278,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 && entrust.data.data.allowEntrust === true) { if (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 + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
@ -414,15 +410,13 @@ export default {
}, },
// 退 // 退
agreeOrNot: debounce( agreeOrNot: debounce(
function (data, type) { function (data) {
// console.log('datadata',data); if (this.dialogType === '同意') {
// console.log('tttttt',type);
// 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
@ -451,10 +445,10 @@ export default {
}) })
.catch(() => { }) .catch(() => { })
this.tabRemoveHandle(data) this.tabRemoveHandle(data)
// } else { } else {
// this.$message.error('') this.$message.error('请输入审批意见!')
// } }
} else if (type === '驳回') { } else if (this.dialogType === '驳回') {
if (this.input !== '') { if (this.input !== '') {
const params = qs.stringify({ const params = qs.stringify({
taskId: this.dataForm.taskId, taskId: this.dataForm.taskId,
@ -676,7 +670,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;
@ -743,99 +737,4 @@ 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>

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @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%;">

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button 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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @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"

View File

@ -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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @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%;">

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> <el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="reset">重置</el-button> <el-button type="primary" @click="reset">重置</el-button>

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button> <el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>

View File

@ -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 type="primary" @click="reset">重置</el-button> <el-button @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%">

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="$hasPermission('sys:dict:save')" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> <el-button v-if="$hasPermission('sys:dict:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="$hasPermission('sys:dict:delete')" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('sys:dict:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -65,10 +65,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="resetFunction()"> 重置 </el-button> <el-button @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()">{{

View File

@ -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="primary" @click="exportHandle()">{{ $t('export') }}</el-button> <el-button type="info" @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%;">

View File

@ -13,10 +13,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button> <el-button type="info" @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%;">

View File

@ -45,10 +45,10 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="resetFunction()"> 重置 </el-button> <el-button @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()">{{

View File

@ -9,15 +9,6 @@
<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>
@ -61,22 +52,11 @@ 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>

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @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%;">

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button v-if="$hasPermission('sys: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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('sys:params:delete')" type="danger" @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%;">

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="$hasPermission('sys:post:save')" @click="addOrUpdateHandle()">{{ $t('add') }} <el-button v-if="$hasPermission('sys:post:save')" type="primary" @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="primary" @click="deleteHandle()">{{ $t('deleteBatch') <el-button v-if="$hasPermission('sys:post:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>

View File

@ -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()" type="primary">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button v-if="$hasPermission('sys: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="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button v-if="$hasPermission('sys:role:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-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>

View File

@ -27,19 +27,19 @@
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="$hasPermission('sys:user:save')" @click="addOrUpdateHandle()">{{ $t('add') }} <el-button v-if="$hasPermission('sys:user:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="$hasPermission('sys:user:delete')" @click="deleteHandle()">{{ $t('deleteBatch') <el-button v-if="$hasPermission('sys:user:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
}}</el-button> }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="$hasPermission('sys:user:export')" @click="exportHandle()">{{ $t('export') }} <el-button v-if="$hasPermission('sys:user:export')" type="info" @click="exportHandle()">{{ $t('export') }}
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="reset()">重置</el-button> <el-button @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"

View File

@ -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 type="primary" @click="getDataList()">{{ $t('query') }}</el-button> <el-button @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> <el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table

View File

@ -32,7 +32,7 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
infrastructure.deptId = '1067246875800000066' infrastructure.deptId = '1067246875800000066'
navListManagement.navList = [ navListManagement.navList = [
{ name: '共享门户', key: 'home' }, { name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent', innerKey: 'algorithmCompare' }, { name: '能力集市', key: 'DetailsPageconetent' },
// { name: '', key: 'capabilityCloud' }, // { name: '', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' }, { name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' }, // { name: '', key: 'developmentGuide' },
@ -50,7 +50,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
left: '青岛市大数据发展管理局', left: '青岛市大数据发展管理局',
right: '政府标识码3702000106', right: '政府标识码3702000106',
}, },
address: [{ address: [
{
name: '邮编: 266071', name: '邮编: 266071',
value: 'Email: QDDSJJ@qingdao.shandong.cn', value: 'Email: QDDSJJ@qingdao.shandong.cn',
}, },
@ -64,7 +65,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
}, },
], ],
} }
mapTestNum.lsNum = [{ mapTestNum.lsNum = [
{
name: '基础设施', name: '基础设施',
key: 'lsjcss', key: 'lsjcss',
num: '20135个', num: '20135个',
@ -80,7 +82,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
num: '28个', num: '28个',
}, },
] ]
mapTestNum.xhaNum = [{ mapTestNum.xhaNum = [
{
name: '基础设施', name: '基础设施',
key: 'xhajcss', key: 'xhajcss',
num: '35282个', num: '35282个',
@ -105,7 +108,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
// baotou // baotou
else if (newLocation === 'baotou') { else if (newLocation === 'baotou') {
whoShow.itShowBaoTou = true whoShow.itShowBaoTou = true
launchedDataNumObject.launchedDataNum = [{ launchedDataNumObject.launchedDataNum = [
{
num: 10372, num: 10372,
}, },
{ {
@ -132,7 +136,8 @@ else if (newLocation === 'baotou') {
left: '包头市工业和信息化局大数据中心建设', left: '包头市工业和信息化局大数据中心建设',
right: '海信网络科技股份有限公司', right: '海信网络科技股份有限公司',
}, },
address: [{ address: [
{
name: '蒙ICP备05003330-1号', name: '蒙ICP备05003330-1号',
value: '政府标识码1502000040', value: '政府标识码1502000040',
}, },
@ -153,32 +158,41 @@ else if (newLocation === 'xihaian') {
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: '飞行器', name: '飞行器',
attribute: { attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××', 尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm', 对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg空机重量含双电池6.3 kg', '重量(含下置单云台支架):空机重量(不含电池)':
'3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g', 单云台减震球最大负重: '930g',
最大起飞重量: '9 kg', 最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 GHz5.725-5.850 GHz', 工作频率: '2.4000-2.4835 GHz5.725-5.850 GHz',
'发射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC', '发射功率EIRP':
'悬停精度P-GPS': '垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)', '2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC',
'RTK 位置精度': '在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直', '悬停精度P-GPS':
'垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)',
'RTK 位置精度':
'在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直',
最大旋转角速度: '俯仰轴300°/s、航向轴100°/s', 最大旋转角速度: '俯仰轴300°/s、航向轴100°/s',
最大俯仰角度: '30° P模式且前视视觉系统启用25°', 最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s', 最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s', '最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s', 最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s', 最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度: '5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg', 最大飞行海拔高度:
'5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s', 最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min', 最大飞行时间: '55 min',
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1', '适配 DJI 云台':
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台', '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式:
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45', 'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo', GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C', 工作环境温度: '-20°C 至 50°C',
@ -188,10 +202,14 @@ else if (newLocation === 'xihaian') {
name: '遥控器', name: '遥控器',
attribute: { attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz', 工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC15 km、CE/MIC8 km、SRRC8 km', '最大信号有效距离(无干扰、无遮挡)':
'等效全向辐射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC', 'NCC/FCC15 km、CE/MIC8 km、SRRC8 km',
外置电池: '名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C', '等效全向辐射功率EIRP':
内置电池: '类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)', '2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC',
外置电池:
'名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C',
内置电池:
'类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)',
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时', 续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A', 'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C', 工作环境温度: '-20° 至 40° C',
@ -202,7 +220,8 @@ else if (newLocation === 'xihaian') {
attribute: { attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m', 障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V', FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境: '表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境', 使用环境:
'表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
}, },
}, },
{ {
@ -238,8 +257,10 @@ else if (newLocation === 'xihaian') {
电池整体重量: '约 1.35 kg', 电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃', 工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃', 理想存放环境温度: '22℃ 至 30℃',
充电环境温度: '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命', 充电环境温度:
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟', '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间:
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
}, },
}, },
{ {
@ -259,29 +280,37 @@ else if (newLocation === 'xihaian') {
{ {
name: '经纬 M300 RTK-2', name: '经纬 M300 RTK-2',
url: '', url: '',
details: [{ details: [
{
name: '飞行器', name: '飞行器',
attribute: { attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××', 尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm', 对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg空机重量含双电池6.3 kg', '重量(含下置单云台支架):空机重量(不含电池)':
'3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g', 单云台减震球最大负重: '930g',
最大起飞重量: '9 kg', 最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 GHz5.725-5.850 GHz', 工作频率: '2.4000-2.4835 GHz5.725-5.850 GHz',
'发射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC', '发射功率EIRP':
'悬停精度P-GPS': '垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)', '2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC',
'RTK 位置精度': '在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直', '悬停精度P-GPS':
'垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)',
'RTK 位置精度':
'在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直',
最大旋转角速度: '俯仰轴300°/s、航向轴100°/s', 最大旋转角速度: '俯仰轴300°/s、航向轴100°/s',
最大俯仰角度: '30° P模式且前视视觉系统启用25°', 最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s', 最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s', '最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s', 最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s', 最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度: '5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg', 最大飞行海拔高度:
'5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s', 最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min', 最大飞行时间: '55 min',
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1', '适配 DJI 云台':
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台', '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式:
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45', 'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo', GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C', 工作环境温度: '-20°C 至 50°C',
@ -291,10 +320,14 @@ else if (newLocation === 'xihaian') {
name: '遥控器', name: '遥控器',
attribute: { attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz', 工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC15 km、CE/MIC8 km、SRRC8 km', '最大信号有效距离(无干扰、无遮挡)':
'等效全向辐射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC', 'NCC/FCC15 km、CE/MIC8 km、SRRC8 km',
外置电池: '名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C', '等效全向辐射功率EIRP':
内置电池: '类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)', '2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC',
外置电池:
'名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C',
内置电池:
'类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)',
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时', 续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A', 'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C', 工作环境温度: '-20° 至 40° C',
@ -305,7 +338,8 @@ else if (newLocation === 'xihaian') {
attribute: { attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m', 障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V', FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境: '表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境', 使用环境:
'表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
}, },
}, },
{ {
@ -341,8 +375,10 @@ else if (newLocation === 'xihaian') {
电池整体重量: '约 1.35 kg', 电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃', 工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃', 理想存放环境温度: '22℃ 至 30℃',
充电环境温度: '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命', 充电环境温度:
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟', '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间:
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
}, },
}, },
{ {
@ -360,7 +396,8 @@ else if (newLocation === 'xihaian') {
], ],
}, },
] ]
uavAndIndividualSoldier.individualSoldier = [{ uavAndIndividualSoldier.individualSoldier = [
{
name: 'T950天通-1', name: 'T950天通-1',
type: '单兵设备', type: '单兵设备',
details: { details: {
@ -370,9 +407,11 @@ else if (newLocation === 'xihaian') {
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510', CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM', 存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)', 显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯', 后置摄像头:
'后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万', 前置摄像头: '1600万',
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器', 传感器相关:
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO', WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充', 电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h', 工作时间: '待机时长180h卫星通话时长16h',
@ -414,9 +453,11 @@ else if (newLocation === 'xihaian') {
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510', CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM', 存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)', 显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯', 后置摄像头:
'后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万', 前置摄像头: '1600万',
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器', 传感器相关:
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO', WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充', 电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h', 工作时间: '待机时长180h卫星通话时长16h',
@ -467,7 +508,8 @@ else if (newLocation === 'xihaian') {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
right: CONFIGITEM.vNum, right: CONFIGITEM.vNum,
}, },
address: [{ address: [
{
name: '鲁IC备00000000号', name: '鲁IC备00000000号',
value: '政府标识码3702000106', value: '政府标识码3702000106',
}, },

View File

@ -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: Light * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-11-16 10:21:49 * @LastEditTime: 2022-08-03 10:13:59
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
@ -13,13 +13,9 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import onWholeWaterMark from '@/utils/waterMark'
import * as moment from 'moment'
import { getUser } from '@/api/home'
import { getCategoryTreePage } from '@/api/personalCenter'
import zhCN from 'ant-design-vue/es/locale/zh_CN' import zhCN from 'ant-design-vue/es/locale/zh_CN'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import { onBeforeUnmount, onMounted, watch, nextTick } from 'vue' import { onBeforeUnmount } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
const router = useRouter() const router = useRouter()
@ -49,84 +45,6 @@
ws.onclose = function (e) { ws.onclose = function (e) {
console.log('WebSocket连接断开============================>', 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(() => { onBeforeUnmount(() => {
// 4., // 4.,
ws.close() ws.close()

View File

@ -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-11-18 14:09:20 * @LastEditTime: 2022-10-31 15:52:57
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
import request from '@/utils/request' import request from '@/utils/request'
@ -526,10 +526,3 @@ export function getGisByArea(data) {
data, data,
}) })
} }
export function getPolicyCloudService(data) {
return request({
url: '/resource/getPolicyCloudService',
method: 'post',
data,
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

View File

@ -1,69 +0,0 @@
/*
* @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

View File

@ -259,7 +259,7 @@
padding-bottom: 0; padding-bottom: 0;
.main { .main {
width: 100%; width: 100%;
margin-top: 60px; margin-top: 10px;
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: -10px; margin-bottom: 26px;
.line { .line {
width: 34px; width: 34px;
height: 3px; height: 3px;
@ -356,8 +356,6 @@
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;

View File

@ -31,11 +31,7 @@
查看更多 查看更多
<span class="gengduo"></span> <span class="gengduo"></span>
</div> </div>
<a-empty <a-empty v-else style="margin-top: 160px; margin-bottom: 60px" />
v-else
style="margin-top: 160px; margin-bottom: 60px"
:imageStyle="{ color: '#0058e1' }"
/>
</div> </div>
</div> </div>
</template> </template>
@ -96,7 +92,6 @@
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)

View File

@ -240,8 +240,8 @@
}, },
legend: { legend: {
icon: 'emptyCircle', icon: 'emptyCircle',
itemGap: 20, height: 3,
padding: 20, itemGap: 40,
// orient: 'horizontal', // orient: 'horizontal',
bottom: 0, bottom: 0,
formatter: function (name) { formatter: function (name) {
@ -261,7 +261,8 @@
{ {
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',
@ -289,6 +290,7 @@
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',
@ -475,7 +477,7 @@
barGap: '-100%', barGap: '-100%',
itemStyle: { itemStyle: {
normal: { normal: {
color: '#ECB53F', color: '#C1232B',
}, },
}, },
// data: [5, 20, 36, 10, 10, 20] // data: [5, 20, 36, 10, 10, 20]
@ -488,7 +490,7 @@
barGap: '-100%', barGap: '-100%',
itemStyle: { itemStyle: {
normal: { normal: {
color: '#FE845E', color: '#B5C334',
}, },
}, },
// data: [5, 20, 36, 10, 10, 20] // data: [5, 20, 36, 10, 10, 20]
@ -501,7 +503,7 @@
barGap: '-100%', barGap: '-100%',
itemStyle: { itemStyle: {
normal: { normal: {
color: '#6CC95A', color: '#FCCE10',
}, },
}, },
// data: [5, 20, 36, 10, 10, 20] // data: [5, 20, 36, 10, 10, 20]
@ -514,7 +516,7 @@
barGap: '-100%', barGap: '-100%',
itemStyle: { itemStyle: {
normal: { normal: {
color: '#02D1B0', color: '#E87C25',
}, },
}, },
// data: [5, 20, 36, 10, 10, 20] // data: [5, 20, 36, 10, 10, 20]
@ -527,7 +529,20 @@
barGap: '-100%', barGap: '-100%',
itemStyle: { itemStyle: {
normal: { normal: {
color: '#1772FF', color: '#27727B',
},
},
// 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]
@ -545,7 +560,6 @@
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)
} }

View File

@ -8,17 +8,9 @@
<div class="SharingSituation-left"> <div class="SharingSituation-left">
<div> <div>
<div class="left-title"> <div class="left-title">
<div> <div>日平均浏览量 {{ browseAvg }}</div>
日平均浏览量
<span>{{ browseAvg }}</span>
</div>
<div></div> <div></div>
<div> <div>日最大浏览量{{ browseMax }}</div>
日最大浏览量
<span>{{ browseMax }}</span>
</div>
</div> </div>
<div class="left-content-title"> <div class="left-content-title">
<div <div
@ -42,7 +34,7 @@
style=" style="
font-size: 14px; font-size: 14px;
float: left; float: left;
margin-left: 505px; margin-left: 420px;
text-align: center; text-align: center;
padding-top: 6px; padding-top: 6px;
" "
@ -50,9 +42,6 @@
单位: 单位:
</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">
@ -72,12 +61,12 @@
backgroundImage: `url(${item.photo}) `, backgroundImage: `url(${item.photo}) `,
}" }"
></div> ></div>
<div class="type">{{ item.type }}</div> <div class="name">{{ item.type }}</div>
<div class="amount">{{ item.amount }}</div> <div class-="type">{{ item.amount }}</div>
</div> </div>
<div class="volume_box-son-bottom" v-else> <div class="volume_box-son-bottom" v-else>
<div class="amount">{{ item.amount }}</div> <div class="type">{{ item.amount }}</div>
<div class="type">{{ item.type }}</div> <div class="name">{{ item.type }}</div>
<div <div
class="photo" class="photo"
:style="{ :style="{
@ -108,20 +97,12 @@
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,
@ -274,22 +255,17 @@
} }
.situation { .situation {
font-size: 30px; font-weight: 600;
color: #000; font-style: normal;
font-size: 24px;
text-align: center; text-align: center;
display: flex; }
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-bottom: 26px;
.line { .line {
width: 34px; width: 34px;
height: 3px; height: 3px;
background-color: #0058e1; background-color: #0058e1;
margin-top: 8px; margin-top: 8px;
} }
}
.SharingSituation { .SharingSituation {
font-size: 18px; font-size: 18px;
@ -298,7 +274,6 @@
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;
@ -307,7 +282,6 @@
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;
@ -316,10 +290,6 @@
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;
@ -351,8 +321,8 @@
.Chart { .Chart {
flex: 1; flex: 1;
width: 638px; width: 598px;
height: 296px; height: 286px;
background: #f7f7f7; background: #f7f7f7;
text-align: center; text-align: center;
margin: auto; margin: auto;
@ -363,16 +333,15 @@
border-radius: 2px; border-radius: 2px;
margin-left: -40px; margin-left: -40px;
.p { .p {
width: 95px; width: 96px;
height: 48px; height: 36px;
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: 48px; line-height: 36px;
margin-left: 570px; margin-left: 500px;
} }
.volume_box { .volume_box {
width: 666px; width: 666px;
@ -404,13 +373,6 @@
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;

View File

@ -7,19 +7,18 @@
--> -->
<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' : 'ff']" :class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
> >
<div class="wai">
<span class="bg-box"> <span class="bg-box">
<span>{{ index + 1 }}</span> <span>{{ index + 1 }}</span>
</span> </span>
<span class="bg-name">{{ nav.name }}</span> <span>{{ 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>
@ -81,10 +80,37 @@
:required="required" :required="required"
:notFilled="notFilled" :notFilled="notFilled"
></put-on-the-shelf> ></put-on-the-shelf>
<!-- <algorithm-essential-information
v-if="showView === '基本信息' && refData.name"
:refData="refData"
:dataFrom="dataFrom"
:videoList="videoList"
></algorithm-essential-information>
<algorithm-advantage
v-else-if="showView === '算法优势'"
:refData="refData"
:dataFrom="dataFrom"
></algorithm-advantage>
<algorithm-scenarios
v-else-if="showView === '应用场景'"
:refData="refData"
:dataFrom="dataFrom"
></algorithm-scenarios> -->
<!-- <algorithm-scenarios
v-else-if="showView === '应用场景'"
:refData="refData"
:dataFrom="dataFrom"
></algorithm-scenarios> -->
<!-- <algorithm-deployment-use
v-else-if="showView === '部署与使用'"
:refData="refData"
:dataFrom="dataFrom"
:fileList="fileList"
:imgList="imgList"
></algorithm-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="
showView == '算法优势' && showView == '算法优势' &&
@ -98,7 +124,7 @@
@confirm="changeSfys('上一步')" @confirm="changeSfys('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -107,7 +133,6 @@
sfys[0].list.length sfys[0].list.length
" "
@click="changeSfys('上一步')" @click="changeSfys('上一步')"
class="buzhou"
> >
上一步 上一步
</button> </button>
@ -124,7 +149,7 @@
@confirm="changeYycj('上一步')" @confirm="changeYycj('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -133,11 +158,10 @@
yycj[0].list.length yycj[0].list.length
" "
@click="changeYycj('上一步')" @click="changeYycj('上一步')"
class="buzhou"
> >
上一步 上一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()"> <button v-else-if="showView !== '基本信息'" @click="back()">
上一步 上一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -154,9 +178,9 @@
@confirm="changeBs('预览')" @confirm="changeBs('预览')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">预览</button> <button>预览</button>
</a-popconfirm> </a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="preview()" class="buzhou"> <button v-else-if="showView === '部署与使用'" @click="preview()">
预览 预览
</button> </button>
<a-popconfirm <a-popconfirm
@ -172,7 +196,7 @@
@confirm="changeSfys('下一步')" @confirm="changeSfys('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -181,7 +205,6 @@
sfys[0].list.length sfys[0].list.length
" "
@click="changeSfys('下一步')" @click="changeSfys('下一步')"
class="buzhou"
> >
下一步 下一步
</button> </button>
@ -198,7 +221,7 @@
@confirm="changeYycj('下一步')" @confirm="changeYycj('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</button>
</a-popconfirm> </a-popconfirm>
<button <button
v-else-if=" v-else-if="
@ -207,11 +230,10 @@
yycj[0].list.length yycj[0].list.length
" "
@click="changeYycj('下一步')" @click="changeYycj('下一步')"
class="buzhou"
> >
下一步 下一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()"> <button v-else-if="showView !== '部署与使用'" @click="next()">
下一步 下一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -228,12 +250,11 @@
@confirm="changeBs('提交')" @confirm="changeBs('提交')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">提交</button> <button>提交</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="服务商联系电话 === '部署与使用'" @click="submit()"> <button v-else-if="showView === '部署与使用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -427,14 +448,18 @@ const next = () => {
notFilled.value.push('部门联系人电话') notFilled.value.push('部门联系人电话')
} }
if ( if (
!dataFrom.value.infoList.filter((val) => val.attrType === '算法类别')[0] || !dataFrom.value.infoList.filter(
(val) => val.attrType === '算法类别'
)[0] ||
!dataFrom.value.infoList.filter((val) => val.attrType === '算法类别')[0] !dataFrom.value.infoList.filter((val) => val.attrType === '算法类别')[0]
.attrValue .attrValue
) { ) {
notFilled.value.push('算法类别') notFilled.value.push('算法类别')
} }
if ( if (
!dataFrom.value.infoList.filter((val) => val.attrType === '应用领域')[0] || !dataFrom.value.infoList.filter(
(val) => val.attrType === '应用领域'
)[0] ||
!dataFrom.value.infoList.filter((val) => val.attrType === '应用领域')[0] !dataFrom.value.infoList.filter((val) => val.attrType === '应用领域')[0]
.attrValue .attrValue
) { ) {
@ -592,7 +617,7 @@ const init = () => {
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 = []
@ -704,7 +729,9 @@ const init = () => {
} }
}) })
data.value = res.data.data.children data.value = res.data.data.children
refData.value = data.value.filter((item) => item.name === showView.value)[0] refData.value = data.value.filter(
(item) => item.name === showView.value
)[0]
console.log('所有编目结构==============>', data.value) console.log('所有编目结构==============>', data.value)
}) })
} }
@ -822,7 +849,7 @@ onBeforeUnmount(() => {
.box { .box {
position: relative; position: relative;
top: 0.64rem; top: 0.64rem;
// margin: 0.15rem 3rem; margin: 0.15rem 4rem;
padding: 0.1rem; padding: 0.1rem;
background: #fff; background: #fff;
.header { .header {
@ -833,87 +860,57 @@ onBeforeUnmount(() => {
padding: 0 1rem; padding: 0 1rem;
} }
.top { .top {
font-size: 16px; margin: 0.1rem 0.2rem 0;
margin: 0.32px 0.4px 0; padding: 0.15rem 0.3rem;
padding: 24px 24pxs; background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 0.18rem;
color: #999;
display: flex; display: flex;
justify-content: center; justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
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: 32px; width: 0.45rem;
height: 32px; height: 0.45rem;
border-radius: 50%; border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214); border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px; margin-right: 0.1rem;
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: 32px; width: 0.3rem;
height: 32px; height: 0.3rem;
border-radius: 50%; border-radius: 50%;
border: 1px solid #d9d9d9; border: 0.01rem solid #999;
}
}
.bg-name {
color: #b3b3b3;
} }
} }
.line { .line {
// margin-left: 16px; margin-left: 0.1rem;
width: 326px; width: 1.3rem;
height: 2px; height: 0.01rem;
background: #d9d9d9; background: #999;
} }
} }
.finish { .finish {
color: #fff; color: #0087ff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; background: #9ccefa;
justify-content: center; color: #fff;
align-items: center; border: 0.01rem solid #9ccefa;
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: #0058e1; background: #0087ff;
display: flex; border: 0.01rem solid #0087ff;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.bg-name {
color: #212121;
font-weight: bold;
} }
} }
.line { .line {
// margin-left: 16px; background: #0087ff;
width: 326px;
height: 2px;
background: #0058e1;
} }
} }
.btn { .btn {
@ -945,55 +942,34 @@ onBeforeUnmount(() => {
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: center; justify-content: space-between;
padding: 0.1rem 3.5rem 0; padding: 0.1rem 3.5rem 0;
// button { 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; cursor: pointer;
width: 90px; font-size: 0.14rem;
height: 32px; width: 0.8rem;
background: #ffffff; height: 0.35rem;
color:#0058e1; text-align: center;
border-radius: 2px; color: #fff;
border: 1px #0058e1 solid; border: none;
border-radius: 0.06rem;
background: #0087ff;
} }
// .quxiao:hover{ button:nth-of-type(1) {
// background: #0058e1; color: #0087ff;
// color:#ffffff; background: #e1edfa;
// } }
.buzhou{ button:nth-of-type(2) {
margin-right:12px; background: #01c5dc;
cursor: pointer;
background: #0058e1;
color:#ffffff;
width: 90px;
height: 32px;
border-radius: 2px;
border: 1px #0058e1 solid;
} }
// .buzhou:hover{
// background: #ffffff;
// color:#0058e1;
// }
} }
.first { .first {
justify-content: center; justify-content: space-around;
} }
} }
</style> </style>

View File

@ -7,19 +7,17 @@
--> -->
<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' : 'ff']" :class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
> >
<div class="wai">
<span class="bg-box"> <span class="bg-box">
<span>{{ index + 1 }}</span> <span>{{ index + 1 }}</span>
</span> </span>
<span class="bg-name">{{ nav.name }}</span> <span>{{ 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>
@ -103,7 +101,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="
@ -118,14 +116,13 @@
@confirm="changeGnjs('上一步')" @confirm="changeGnjs('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView == '功能介绍'" @click="changeGnjs('上一步')"> <button v-else-if="showView == '功能介绍'" @click="changeGnjs('上一步')">
上一步 上一步
</button> </button>
<!-- 分割线 --> <!-- 分割线 -->
<button <button
class="buzhou"
v-show="showView !== '基本信息' && showView === '部署与应用'" v-show="showView !== '基本信息' && showView === '部署与应用'"
@click="back()" @click="back()"
> >
@ -144,12 +141,12 @@
@confirm="changeBs('预览')" @confirm="changeBs('预览')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">预览</button> <button>预览</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与应用'" @click="preview()"> <button v-else-if="showView === '部署与应用'" @click="preview()">
预览 预览
</button> </button>
<button class="buzhou" v-show="showView === '基本信息'" @click="next()">下一步</button> <button v-show="showView === '基本信息'" @click="next()">下一步</button>
<a-popconfirm <a-popconfirm
v-if=" v-if="
showView == '功能介绍' && showView == '功能介绍' &&
@ -163,9 +160,9 @@
@confirm="changeGnjs('下一步')" @confirm="changeGnjs('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView == '功能介绍'" @click="changeGnjs('下一步')"> <button v-else-if="showView == '功能介绍'" @click="changeGnjs('下一步')">
下一步 下一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -181,12 +178,11 @@
@confirm="changeBs('提交')" @confirm="changeBs('提交')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">提交</button> <button>提交</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与应用'" @click="submit()"> <button v-else-if="showView === '部署与应用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -480,7 +476,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 = []
@ -720,119 +716,84 @@
<style lang="less" scoped> <style lang="less" scoped>
.box { .box {
position: relative; position: relative;
top: 0.64rem; top: 64px;
// margin: 0.15rem 3rem; margin: 15px 400px;
padding: 0.1rem; padding: 10px;
background: #fff; background: #fff;
.header { .header {
font-size: 0.28rem; font-size: 28px;
font-weight: 600; font-weight: 600;
} }
.vue-box { .vue-box {
padding: 0 1rem; padding: 0 100px;
} }
.top { .top {
font-size: 16px; margin: 10px 20px 0;
margin: 0.32px 0.4px 0; padding: 15px 30px;
padding: 24px 24pxs; background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex; display: flex;
justify-content: center; justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
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: 32px; width: 45px;
height: 32px; height: 45px;
border-radius: 50%; border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214); border: 1px solid rgb(214, 214, 214);
margin: 0px 16px; margin-right: 10px;
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: 32px; width: 30px;
height: 32px; height: 30px;
border-radius: 50%; border-radius: 50%;
border: 1px solid #d9d9d9; border: 1px solid #999;
}
}
.bg-name {
color: #b3b3b3;
} }
} }
.line { .line {
// margin-left: 16px; margin-left: 10px;
width: 326px; width: 280px;
height: 2px; height: 1px;
background: #d9d9d9; background: #999;
} }
} }
.finish { .finish {
color: #fff; color: #0087ff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; background: #9ccefa;
justify-content: center; color: #fff;
align-items: center; border: 1px solid #9ccefa;
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: #0058e1; background: #0087ff;
display: flex; border: 1px solid #0087ff;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.bg-name {
color: #212121;
font-weight: bold;
} }
} }
.line { .line {
// margin-left: 16px; background: #0087ff;
width: 326px; }
height: 2px;
background: #0058e1;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: space-around; justify-content: space-between;
padding: 0.1rem 3.5rem 0; padding: 10px 350px 0;
button { button {
cursor: pointer; cursor: pointer;
font-size: 0.14rem; width: 80px;
width: 0.8rem; height: 35px;
height: 0.35rem;
text-align: center; text-align: center;
color: #fff; color: #fff;
border: 0.01rem solid #9ccefa; border: none;
span { border-radius: 6px;
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff; background: #0087ff;
} }
button:nth-of-type(1) { button:nth-of-type(1) {
@ -844,55 +805,7 @@
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
}
}
.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>

View File

@ -7,19 +7,17 @@
--> -->
<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' : 'ff']" :class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
> >
<div class="wai">
<span class="bg-box"> <span class="bg-box">
<span>{{ index + 1 }}</span> <span>{{ index + 1 }}</span>
</span> </span>
<span class="bg-name">{{ nav.name }}</span> <span>{{ 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>
@ -82,7 +80,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 == '功能介绍' &&
@ -96,10 +94,9 @@
@confirm="changeGnjs('上一步')" @confirm="changeGnjs('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou" >上一步</button> <button>上一步</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 ==
@ -122,10 +119,9 @@
@confirm="changeYycj('上一步')" @confirm="changeYycj('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou" >上一步</button> <button>上一步</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 ==
@ -135,7 +131,7 @@
> >
上一步 上一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()"> <button v-else-if="showView !== '基本信息'" @click="back()">
上一步 上一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -150,9 +146,9 @@
@confirm="changeBs('预览')" @confirm="changeBs('预览')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou" >预览</button> <button>预览</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()"> <button v-else-if="showView === '部署与使用'" @click="preview()">
预览 预览
</button> </button>
<a-popconfirm <a-popconfirm
@ -168,10 +164,9 @@
@confirm="changeGnjs('下一步')" @confirm="changeGnjs('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou" >下一步</button> <button>下一步</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 ==
@ -194,10 +189,9 @@
@confirm="changeYycj('下一步')" @confirm="changeYycj('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou" >下一步</button> <button>下一步</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 ==
@ -207,7 +201,7 @@
> >
下一步 下一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()"> <button v-else-if="showView !== '部署与使用'" @click="next()">
下一步 下一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -222,12 +216,11 @@
@confirm="changeBs('提交')" @confirm="changeBs('提交')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou" >提交</button> <button>提交</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()"> <button v-else-if="showView === '部署与使用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -579,7 +572,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 = []
@ -811,119 +804,84 @@
<style lang="less" scoped> <style lang="less" scoped>
.box { .box {
position: relative; position: relative;
top: 0.64rem; top: 64px;
// margin: 0.15rem 3rem; margin: 15px 400px;
padding: 0.1rem; padding: 10px;
background: #fff; background: #fff;
.header { .header {
font-size: 0.28rem; font-size: 28px;
font-weight: 600; font-weight: 600;
} }
.vue-box { .vue-box {
padding: 0 1rem; padding: 0 100px;
} }
.top { .top {
font-size: 16px; margin: 10px 20px 0;
margin: 0.32px 0.4px 0; padding: 15px 30px;
padding: 24px 24pxs; background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex; display: flex;
justify-content: center; justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
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: 32px; width: 45px;
height: 32px; height: 45px;
border-radius: 50%; border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214); border: 1px solid rgb(214, 214, 214);
margin: 0px 16px; margin-right: 10px;
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: 32px; width: 30px;
height: 32px; height: 30px;
border-radius: 50%; border-radius: 50%;
border: 1px solid #d9d9d9; border: 1px solid #999;
}
}
.bg-name {
color: #b3b3b3;
} }
} }
.line { .line {
// margin-left: 16px; margin-left: 10px;
width: 326px; width: 130px;
height: 2px; height: 1px;
background: #d9d9d9; background: #999;
} }
} }
.finish { .finish {
color: #fff; color: #0087ff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; background: #9ccefa;
justify-content: center; color: #fff;
align-items: center; border: 1px solid #9ccefa;
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: #0058e1; background: #0087ff;
display: flex; border: 1px solid #0087ff;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.bg-name {
color: #212121;
font-weight: bold;
} }
} }
.line { .line {
// margin-left: 16px; background: #0087ff;
width: 326px; }
height: 2px;
background: #0058e1;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: space-around; justify-content: space-between;
padding: 0.1rem 3.5rem 0; padding: 10px 350px 0;
button { button {
cursor: pointer; cursor: pointer;
font-size: 0.14rem; width: 80px;
width: 0.8rem; height: 35px;
height: 0.35rem;
text-align: center; text-align: center;
color: #fff; color: #fff;
border: 0.01rem solid #9ccefa; border: none;
span { border-radius: 6px;
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff; background: #0087ff;
} }
button:nth-of-type(1) { button:nth-of-type(1) {
@ -935,55 +893,7 @@
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
}
}
.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>

View File

@ -7,19 +7,17 @@
--> -->
<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' : 'ff']" :class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
> >
<div class="wai">
<span class="bg-box"> <span class="bg-box">
<span>{{ index + 1 }}</span> <span>{{ index + 1 }}</span>
</span> </span>
<span class="bg-name">{{ nav.name }}</span> <span>{{ 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>
@ -81,7 +79,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 == '功能介绍' &&
@ -95,10 +93,9 @@
@confirm="changeGnjs('上一步')" @confirm="changeGnjs('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</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 ==
@ -121,10 +118,9 @@
@confirm="changeYycj('上一步')" @confirm="changeYycj('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</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 ==
@ -134,7 +130,7 @@
> >
上一步 上一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()"> <button v-else-if="showView !== '基本信息'" @click="back()">
上一步 上一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -149,9 +145,9 @@
@confirm="changeBs('预览')" @confirm="changeBs('预览')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">预览</button> <button>预览</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()"> <button v-else-if="showView === '部署与使用'" @click="preview()">
预览 预览
</button> </button>
<a-popconfirm <a-popconfirm
@ -167,10 +163,9 @@
@confirm="changeGnjs('下一步')" @confirm="changeGnjs('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</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 ==
@ -193,10 +188,9 @@
@confirm="changeYycj('下一步')" @confirm="changeYycj('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</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 ==
@ -206,7 +200,7 @@
> >
下一步 下一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()"> <button v-else-if="showView !== '部署与使用'" @click="next()">
下一步 下一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -221,12 +215,11 @@
@confirm="changeBs('提交')" @confirm="changeBs('提交')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">提交</button> <button>提交</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()"> <button v-else-if="showView === '部署与使用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -577,7 +570,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 = []
@ -808,119 +801,84 @@
<style lang="less" scoped> <style lang="less" scoped>
.box { .box {
position: relative; position: relative;
top: 0.64rem; top: 64px;
// margin: 0.15rem 3rem; margin: 15px 400px;
padding: 0.1rem; padding: 10px;
background: #fff; background: #fff;
.header { .header {
font-size: 0.28rem; font-size: 28px;
font-weight: 600; font-weight: 600;
} }
.vue-box { .vue-box {
padding: 0 1rem; padding: 0 100px;
} }
.top { .top {
font-size: 16px; margin: 10px 20px 0;
margin: 0.32px 0.4px 0; padding: 15px 30px;
padding: 24px 24pxs; background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex; display: flex;
justify-content: center; justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
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: 32px; width: 45px;
height: 32px; height: 45px;
border-radius: 50%; border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214); border: 1px solid rgb(214, 214, 214);
margin: 0px 16px; margin-right: 10px;
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: 32px; width: 30px;
height: 32px; height: 30px;
border-radius: 50%; border-radius: 50%;
border: 1px solid #d9d9d9; border: 1px solid #999;
}
}
.bg-name {
color: #b3b3b3;
} }
} }
.line { .line {
// margin-left: 16px; margin-left: 10px;
width: 326px; width: 130px;
height: 2px; height: 1px;
background: #d9d9d9; background: #999;
} }
} }
.finish { .finish {
color: #fff; color: #0087ff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; background: #9ccefa;
justify-content: center; color: #fff;
align-items: center; border: 1px solid #9ccefa;
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: #0058e1; background: #0087ff;
display: flex; border: 1px solid #0087ff;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.bg-name {
color: #212121;
font-weight: bold;
} }
} }
.line { .line {
// margin-left: 16px; background: #0087ff;
width: 326px; }
height: 2px;
background: #0058e1;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: space-around; justify-content: space-between;
padding: 0.1rem 3.5rem 0; padding: 10px 350px 0;
button { button {
cursor: pointer; cursor: pointer;
font-size: 0.14rem; width: 80px;
width: 0.8rem; height: 35px;
height: 0.35rem;
text-align: center; text-align: center;
color: #fff; color: #fff;
border: 0.01rem solid #9ccefa; border: none;
span { border-radius: 6px;
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff; background: #0087ff;
} }
button:nth-of-type(1) { button:nth-of-type(1) {
@ -932,55 +890,7 @@
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
}
}
.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>

View File

@ -7,19 +7,17 @@
--> -->
<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' : 'ff']" :class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
> >
<div class="wai">
<span class="bg-box"> <span class="bg-box">
<span>{{ index + 1 }}</span> <span>{{ index + 1 }}</span>
</span> </span>
<span class="bg-name">{{ nav.name }}</span> <span>{{ 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>
@ -78,7 +76,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 == '应用场景' &&
@ -92,10 +90,9 @@
@confirm="changeYycj('上一步')" @confirm="changeYycj('上一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">上一步</button> <button>上一步</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 ==
@ -105,7 +102,7 @@
> >
上一步 上一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()"> <button v-else-if="showView !== '基本信息'" @click="back()">
上一步 上一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -121,9 +118,9 @@
@confirm="changeBs('预览')" @confirm="changeBs('预览')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">预览</button> <button>预览</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()"> <button v-else-if="showView === '部署与使用'" @click="preview()">
预览 预览
</button> </button>
<a-popconfirm <a-popconfirm
@ -139,10 +136,9 @@
@confirm="changeYycj('下一步')" @confirm="changeYycj('下一步')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">下一步</button> <button>下一步</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 ==
@ -152,7 +148,7 @@
> >
下一步 下一步
</button> </button>
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()"> <button v-else-if="showView !== '部署与使用'" @click="next()">
下一步 下一步
</button> </button>
<a-popconfirm <a-popconfirm
@ -168,12 +164,11 @@
@confirm="changeBs('提交')" @confirm="changeBs('提交')"
@cancel="cancel" @cancel="cancel"
> >
<button class="buzhou">提交</button> <button>提交</button>
</a-popconfirm> </a-popconfirm>
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()"> <button v-else-if="showView === '部署与使用'" @click="submit()">
提交 提交
</button> </button>
<button class="quxiao" @click="close()">取消</button>
</div> </div>
</div> </div>
</template> </template>
@ -472,7 +467,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 = []
@ -676,119 +671,84 @@
<style lang="less" scoped> <style lang="less" scoped>
.box { .box {
position: relative; position: relative;
top: 0.64rem; top: 64px;
// margin: 0.15rem 3rem; margin: 15px 400px;
padding: 0.1rem; padding: 10px;
background: #fff; background: #fff;
.header { .header {
font-size: 0.28rem; font-size: 28px;
font-weight: 600; font-weight: 600;
} }
.vue-box { .vue-box {
padding: 0 1rem; padding: 0 100px;
} }
.top { .top {
font-size: 16px; margin: 10px 20px 0;
margin: 0.32px 0.4px 0; padding: 15px 30px;
padding: 24px 24pxs; background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex; display: flex;
justify-content: center; justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
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: 32px; width: 45px;
height: 32px; height: 45px;
border-radius: 50%; border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214); border: 1px solid rgb(214, 214, 214);
margin: 0px 16px; margin-right: 10px;
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: 32px; width: 30px;
height: 32px; height: 30px;
border-radius: 50%; border-radius: 50%;
border: 1px solid #d9d9d9; border: 1px solid #999;
}
}
.bg-name {
color: #b3b3b3;
} }
} }
.line { .line {
// margin-left: 16px; margin-left: 10px;
width: 326px; width: 130px;
height: 2px; height: 1px;
background: #d9d9d9; background: #999;
} }
} }
.finish { .finish {
color: #fff; color: #0087ff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box { .bg-box {
display: flex; background: #9ccefa;
justify-content: center; color: #fff;
align-items: center; border: 1px solid #9ccefa;
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: #0058e1; background: #0087ff;
display: flex; border: 1px solid #0087ff;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.bg-name {
color: #212121;
font-weight: bold;
} }
} }
.line { .line {
// margin-left: 16px; background: #0087ff;
width: 326px; }
height: 2px;
background: #0058e1;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: space-around; justify-content: space-between;
padding: 0.1rem 3.5rem 0; padding: 10px 350px 0;
button { button {
cursor: pointer; cursor: pointer;
font-size: 0.14rem; width: 80px;
width: 0.8rem; height: 35px;
height: 0.35rem;
text-align: center; text-align: center;
color: #fff; color: #fff;
border: 0.01rem solid #9ccefa; border: none;
span { border-radius: 6px;
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff; background: #0087ff;
} }
button:nth-of-type(1) { button:nth-of-type(1) {
@ -800,55 +760,7 @@
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
}
}
.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>

View File

@ -15,11 +15,39 @@
</div> </div>
<template v-if="title.isConfigure"> <template v-if="title.isConfigure">
<div class="bottom"> <div class="bottom">
<!-- <div class="items" v-if="data[title.name].length > 0">
<div
class="item"
v-for="(val, index) in data[title.name]"
:key="'key1' + val.name + index"
>
<p>
<span>{{ title.name }}-{{ index + 1 }}</span>
<span></span>
</p>
<p
v-for="attr in props.configure.filter(
(item, index2) => item.name === title.name
)[0].list"
:key="'key2' + attr.name + index2"
>
<span>{{ attr.name }}</span>
<span v-if="attr.type === 'image'">
<a-image :width="85" :height="60" :src="val.img" />
</span>
<span v-else>{{ val[attr.field] + (attr.company || '') }}</span>
</p>
<div class="del">
<i class="delImg" @click="del(title.name, index)"></i>
<div @click="del(title.name, index)">删除</div>
</div>
</div>
</div> -->
<div <div
v-for="(val, index) in data[title.name]" v-for="(val, index) in data[title.name]"
:key="'key1' + val.name + index" :key="'key1' + val.name + index"
> >
<!-- <div <div
style=" style="
font-size: 0.18rem; font-size: 0.18rem;
font-weight: 600; font-weight: 600;
@ -39,28 +67,6 @@
<div>删除</div> <div>删除</div>
</div> </div>
</a-popconfirm> </a-popconfirm>
</div> -->
<div
style="
font-size: 16px;
display: flex;
float: right;
top:0px;
margin-right: 28px;
"
>
<!-- <span>{{ title.name }}-{{ index + 1 }}</span> -->
<a-popconfirm
:title="'是否删除该条' + title.name + '?'"
ok-text="是"
cancel-text="否"
@confirm="del(title.name, index)"
>
<div class="del">
<i class="delImg"></i>
<div>删除</div>
</div>
</a-popconfirm>
</div> </div>
<div <div
class="form" class="form"
@ -69,10 +75,8 @@
)[0].list" )[0].list"
:key="'key2' + attr.name + index2" :key="'key2' + attr.name + index2"
> >
<span>{{ attr.name }}</span>
<span >{{ attr.name }}:</span>
<a-input <a-input
style="width:280px"
disabled disabled
v-model:value="val[attr.field]" v-model:value="val[attr.field]"
:maxlength="24" :maxlength="24"
@ -81,30 +85,25 @@
/> />
<template v-if="attr.type == 'input2'"> <template v-if="attr.type == 'input2'">
<a-input <a-input
style="width:280px"
disabled disabled
:maxLength="1000" :maxLength="1000"
v-model:value="val[attr.field]" v-model:value="val[attr.field]"
:placeholder="'请填写' + attr.name" :placeholder="'请填写' + attr.name"
/> />
</template> </template>
<template v-else-if="attr.type == 'textArea'"> <a-textarea
<a-input
style="width:1120px"
disabled
v-model:value="val[attr.field]"
:maxlength="1000"
:placeholder="'请填写' + attr.name + ',不超过1000个字符'"
/>
</template>
<!-- <a-textarea
disabled disabled
v-model:value="val[attr.field]" v-model:value="val[attr.field]"
:showCount="true" :showCount="true"
:maxlength="1000" :maxlength="1000"
:placeholder="'请填写' + attr.name" :placeholder="'请填写' + attr.name"
v-else-if="attr.type == 'textArea'" v-else-if="attr.type == 'textArea'"
/>
<!-- <a-radio-group
v-model:value="val[attr.field]"
:options="val.options"
@change="radioChange"
v-else-if="attr.type == 'radio'"
/> --> /> -->
<div v-else-if="attr.type == 'radio'"> <div v-else-if="attr.type == 'radio'">
{{ val[attr.field] + (attr.company || '') }} {{ val[attr.field] + (attr.company || '') }}
@ -112,13 +111,24 @@
<span v-else-if="attr.type === 'image'"> <span v-else-if="attr.type === 'image'">
<a-image :width="85" :height="60" :src="val.img" /> <a-image :width="85" :height="60" :src="val.img" />
</span> </span>
<!-- <upload
:key="showKey"
type="图片"
btnName="上传图片"
:maxCount="1"
:data="val"
:list="[]"
tip="支持图片类型大小不超过100M"
v-else-if="val.type == 'image'"
></upload> -->
</div> </div>
<div style="margin-top:24px;height:1px;border-top: 1px dashed #dddee1; width: 1240px;font-size: 18px;"></div>
</div> </div>
<!-- <div class="add" @click="add(title.name)">
<!-- <div style="font-size: 0.18rem; font-weight: 600border-top: 1px dashed grey; width: 1240px;font-size: 18px;"> 添加更多{{ title.name }}
<span>{{ title.name }}-{{ data[title.name].length + 1 }}</span>
</div> --> </div> -->
<div style="font-size: 0.18rem; font-weight: 600">
<span>{{ title.name }}-{{ data[title.name].length + 1 }}</span>
</div>
<div <div
class="form" class="form"
v-for="(val, index) in props.configure.filter( v-for="(val, index) in props.configure.filter(
@ -126,9 +136,8 @@
)[0].list" )[0].list"
:key="'key3' + val.name + index" :key="'key3' + val.name + index"
> >
<span >{{ val.name }}:</span> <span>{{ val.name }}</span>
<a-input <a-input
style="width:280px"
v-model:value="val.note1" v-model:value="val.note1"
:maxlength="24" :maxlength="24"
:placeholder="'请填写' + val.name + ',不超过24个字符'" :placeholder="'请填写' + val.name + ',不超过24个字符'"
@ -136,7 +145,6 @@
/> />
<template v-if="val.type == 'input2'"> <template v-if="val.type == 'input2'">
<a-input <a-input
style="width:280px"
:maxLength="1000" :maxLength="1000"
v-model:value="val.note1" v-model:value="val.note1"
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
@ -155,23 +163,13 @@
}} }}
</span> </span>
</template> </template>
<template v-else-if="val.type == 'textArea'"> <a-textarea
<a-input
style="width:1120px"
:showCount="true"
v-model:value="val.note1"
:maxlength="1000"
:placeholder="'请填写' + val.name + ',不超过1000个字符'"
/>
</template>
<!-- <a-textarea
v-model:value="val.note1" v-model:value="val.note1"
:showCount="true" :showCount="true"
:maxlength="1000" :maxlength="1000"
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
v-else-if="val.type == 'textArea'" v-else-if="val.type == 'textArea'"
/> --> />
<a-input-number <a-input-number
v-model:value="val.note1" v-model:value="val.note1"
:min="0" :min="0"
@ -181,31 +179,12 @@
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
v-else-if="val.type == 'number'" v-else-if="val.type == 'number'"
/> />
<!-- <a-radio-group <a-radio-group
v-model:value="val.note1" v-model:value="val.note1"
:options="val.options" :options="val.options"
@change="radioChange" @change="radioChange"
v-else-if="val.type == 'radio'" v-else-if="val.type == 'radio'"
/> --> />
<div
v-else-if="val.type == 'radio'"
class="danxuan-Area"
id="danxuan-Area"
>
<div
v-for="itemSelect in val.options"
:key="itemSelect"
class="danxuan-Area-son"
@click="radioChangeNew(val, itemSelect)"
:class="
val.note1 && val.note1=== itemSelect
? 'danxuan-Area-down'
: ''
"
>
{{ itemSelect }}
</div>
</div>
<upload <upload
:key="showKey" :key="showKey"
type="图片" type="图片"
@ -213,19 +192,13 @@
:maxCount="1" :maxCount="1"
:data="val" :data="val"
:list="[]" :list="[]"
tip="支持图片类型大小不超过100M; 注:上传截图如涉及敏感数据请将其模糊化或打码" tip="支持图片类型大小不超过100M"
v-else-if="val.type == 'image'" v-else-if="val.type == 'image'"
></upload> ></upload>
</div> </div>
<div style="margin-top:24px;height:1px;border-top: 1px dashed #dddee1; width: 1240px;font-size: 18px;"></div>
<div class="submit"> <div class="submit">
<a-button type="primary" @click="add(title.name)"> <a-button type="primary" @click="add(title.name)">
<img 添加更多{{ title.name }}
style="height: 12px; width: 12px;margin-top: -2px;"
src="../../../assets/home/zhengjia.png"
alt=""
/>
<span style="margin-left: 4px">添加多个{{ title.name }}</span>
</a-button> </a-button>
</div> </div>
</div> </div>
@ -255,7 +228,7 @@
<b class="required" v-if="required.indexOf(item.name) > -1"> <b class="required" v-if="required.indexOf(item.name) > -1">
* *
</b> </b>
{{ item.name }} : {{ item.name }}
</div> </div>
<a-input <a-input
:maxLength="1000" :maxLength="1000"
@ -273,59 +246,26 @@
:placeholder="'请输入' + item.name + '不超过50个字符'" :placeholder="'请输入' + item.name + '不超过50个字符'"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
/> />
<!-- <a-radio-group <a-radio-group
v-else-if="item.type == 'radio'" v-else-if="item.type == 'radio'"
v-model:value="item.note1" v-model:value="item.note1"
:options="item.options" :options="item.options"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
/> --> />
<!-- 接口请求方式 单选框样式改变 --> <a-input
<!-- <div v-else-if="item.type == 'radio'">ddd </div> -->
<div
v-else-if="item.type == 'radio'"
class="danxuan-Area"
id="danxuan-Area"
>
<div
v-for="itemSelect in item.options"
:key="itemSelect"
class="danxuan-Area-son"
@click="danxuanRadio(item, itemSelect)"
:class="
item.note1 && item.note1 === itemSelect
? 'danxuan-Area-down'
: ''
"
>
{{ itemSelect }}
</div>
</div>
<!-- <a-input
v-else-if="item.type == 'AbilityType'" v-else-if="item.type == 'AbilityType'"
:maxLength="1000" :maxLength="1000"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
:disabled="true" :disabled="true"
/> --> />
<span <a-input
v-else-if="item.type == 'AbilityType'"
style="font-weight: bold; color: #212121"
>
{{ item.note1 }}
</span>
<span
v-else-if="item.type == 'ComponentType'"
style="font-weight:bold;color:#212121}"
>
{{ item.note1 }}
</span>
<!-- <a-input
v-else-if="item.type == 'ComponentType'" v-else-if="item.type == 'ComponentType'"
v-model:value="item.note1" v-model:value="item.note1"
:maxLength="1000" :maxLength="1000"
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
:disabled="true" :disabled="true"
/> --> />
<a-textarea <a-textarea
v-else-if="item.type == 'textArea'" v-else-if="item.type == 'textArea'"
v-model:value="item.note1" v-model:value="item.note1"
@ -334,7 +274,6 @@
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
/> />
<upload <upload
v-else-if="item.type == 'image'" v-else-if="item.type == 'image'"
type="图片" type="图片"
@ -342,7 +281,7 @@
:maxCount="1" :maxCount="1"
:data="item" :data="item"
:list="props.imgList" :list="props.imgList"
tip="支持图片类型大小不超过100M 注:上传截图如涉及敏感数据请将其模糊化或打码" tip="支持图片类型大小不超过100M"
></upload> ></upload>
<upload <upload
v-else-if="item.type == 'file' && item.name !== '使用手册'" v-else-if="item.type == 'file' && item.name !== '使用手册'"
@ -406,18 +345,15 @@
<VueTemplateDemo :dataFrom="props.dataFrom"></VueTemplateDemo> <VueTemplateDemo :dataFrom="props.dataFrom"></VueTemplateDemo>
</div> </div>
</div> </div>
<upload <upload
v-else-if="item.type == 'video'" v-else-if="item.type == 'video'"
type="视频" type="视频"
btnName="上传视频" btnName="上传视频"
:maxCount="1" :maxCount="1"
:data="item" :data="item"
:list="props.videoList" :list="props.videoList"
tip="支持视频类型大小不超过100M" tip="支持视频类型大小不超过100M"
></upload> ></upload>
<!-- <a-button <!-- <a-button
v-else-if="item.type == 'AssociatedApplication'" v-else-if="item.type == 'AssociatedApplication'"
@click="sourceClick" @click="sourceClick"
@ -457,11 +393,11 @@
{{ itemSelect.dictLabel }} {{ itemSelect.dictLabel }}
</a-select-option> </a-select-option>
</a-select> </a-select>
<!-- <a-select <a-select
v-else-if="item.type == 'select' && item.name !== '归属部门'" v-else-if="item.type == 'select' && item.name !== '归属部门'"
style="width: 2.4rem" style="width: 2.4rem"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请选择11' + item.name" :placeholder="'请选择' + item.name"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
> >
<a-select-option <a-select-option
@ -471,27 +407,7 @@
> >
{{ itemSelect.dictLabel }} {{ itemSelect.dictLabel }}
</a-select-option> </a-select-option>
</a-select> --> </a-select>
<div
v-else-if="item.type == 'select' && item.name !== '归属部门'"
class="danxuan-Area"
id="danxuan-Area"
>
<div
v-for="(itemSelect, indexSelect) in item.options"
:key="indexSelect"
:value="itemSelect.dictLabel"
class="danxuan-Area-son"
@click="danxuanArea(item, item.name, itemSelect.dictLabel)"
:class="
item.note1 && item.note1 === itemSelect.dictLabel
? 'danxuan-Area-down'
: ''
"
>
{{ itemSelect.dictLabel }}
</div>
</div>
<a-select <a-select
v-else-if="item.name === '归属部门'" v-else-if="item.name === '归属部门'"
style="width: 2.4rem" style="width: 2.4rem"
@ -522,7 +438,6 @@
" "
> >
{{ itemson.dictLabel }} {{ itemson.dictLabel }}
<div class="application-Area-son-son"></div>
</div> </div>
</div> </div>
</div> </div>
@ -626,8 +541,6 @@ const router = useRouter()
const abilityToType = router.currentRoute.value.query.abilityToType const abilityToType = router.currentRoute.value.query.abilityToType
const componentTypeValue = router.currentRoute.value.query.componentTypeValue const componentTypeValue = router.currentRoute.value.query.componentTypeValue
const changeField = ref([]) const changeField = ref([])
//
const chooseField = ref([])
const props = defineProps({ const props = defineProps({
// //
refData: { type: Object, default: null }, refData: { type: Object, default: null },
@ -692,8 +605,10 @@ const props = defineProps({
// }] // }]
}) })
const emit = defineEmits(['next', 'back', 'submit', 'preview']) const emit = defineEmits(['next', 'back', 'submit', 'preview'])
// console.log('props==========>', props)
const changeAdd = () => {} const changeAdd = () => {
console.log('子组件方法触发~')
}
const data = ref({ const data = ref({
list: [], list: [],
}) })
@ -702,19 +617,6 @@ const numType = ref('一次性买断')
const radioChange = (e) => { const radioChange = (e) => {
numType.value = e.target.value numType.value = e.target.value
} }
const radioChangeNew = (item,itemSelect) => {
if (item.note1) {
if (item.note1 === itemSelect) {
item.note1 = null
} else {
item.note1 = itemSelect
}
} else {
item.note1 = itemSelect
}
numType.value =itemSelect
}
const changeIiem = (name, value) => { const changeIiem = (name, value) => {
if (value && value !== '' && changeField.value.indexOf(name) == -1) { if (value && value !== '' && changeField.value.indexOf(name) == -1) {
changeField.value.push(name) changeField.value.push(name)
@ -724,7 +626,6 @@ const changeIiem = (name, value) => {
} }
} }
} }
props.refData.children.map((item) => { props.refData.children.map((item) => {
if (item.name == '基本信息') { if (item.name == '基本信息') {
item.children.map((val) => { item.children.map((val) => {
@ -790,11 +691,12 @@ arr.forEach((val) => {
item.options = dataList item.options = dataList
if (!item.note1) { if (!item.note1) {
getUserInfo().then(({ data: res1 }) => { getUserInfo().then(({ data: res1 }) => {
console.log(res1.data)
item.note1 = res1.data.deptId item.note1 = res1.data.deptId
item.note2 = item.options.filter( item.note2 = item.options.filter(
(val) => val.value == item.note1 (val) => val.value == item.note1
)[0] )[0]
console.log('默认部门=========>', item, res1.data)
data.value.list.push(item) data.value.list.push(item)
}) })
} else { } else {
@ -841,8 +743,10 @@ arr.forEach((val) => {
data.value.list.push(item) data.value.list.push(item)
} }
}) })
console.log('props.dataFrom', data.value.list)
}) })
if (props.dataFrom) { if (props.dataFrom) {
// console.log(props.dataFrom, data.value.list)
props.dataFrom.infoList.forEach((item) => { props.dataFrom.infoList.forEach((item) => {
if ( if (
props.configure && props.configure &&
@ -856,6 +760,7 @@ if (props.dataFrom) {
// ; // ;
child.note2 = item.attrValue.split(';') child.note2 = item.attrValue.split(';')
showKey.value++ showKey.value++
// console.log('', item, item.attrValue.split(';'), child)
} }
}) })
}) })
@ -866,16 +771,20 @@ if (props.dataFrom) {
// //
let showText = ref(false) let showText = ref(false)
const showTextFunction = () => { const showTextFunction = () => {
console.log('点击富文本=========================>')
showText.value = true showText.value = true
} }
mybus.on('showTextFunctionEmit', (show) => { mybus.on('showTextFunctionEmit', (show) => {
console.log('ssdcsd')
showText.value = show showText.value = show
}) })
mybus.off('func') mybus.off('func')
const add = (title, addFlag, type) => { const add = (title, addFlag, type) => {
console.log(title, 'title')
let list = props.configure.filter((item) => item.name === title)[0].list let list = props.configure.filter((item) => item.name === title)[0].list
let flag = true let flag = true
list.forEach((item) => { list.forEach((item) => {
// console.log(item)
if (item.type !== 'number' && !item.note1.length > 0) { if (item.type !== 'number' && !item.note1.length > 0) {
flag = false flag = false
} else if (item.type === 'number' && !item.note1 > 0) { } else if (item.type === 'number' && !item.note1 > 0) {
@ -912,7 +821,7 @@ const add = (title, addFlag, type) => {
if (!sfFlag) { if (!sfFlag) {
data.value[title].push(obj) data.value[title].push(obj)
} }
// console.log(data.value[title])
mybus.emit('chageDataFrom', { mybus.emit('chageDataFrom', {
attrType: title, attrType: title,
attrValue: JSON.stringify(data.value[title]), attrValue: JSON.stringify(data.value[title]),
@ -962,17 +871,24 @@ const del = (title, index) => {
}) })
} }
const ApplicationArea = (item, itemson) => { const ApplicationArea = (item, itemson) => {
// console.log('=========', item, itemson)
// console.log(item, itemson)
if (item.note2.indexOf(itemson.dictLabel) === -1) { if (item.note2.indexOf(itemson.dictLabel) === -1) {
item.note2.push(itemson.dictLabel) item.note2.push(itemson.dictLabel)
} else { } else {
item.note2.splice(item.note2.indexOf(itemson.dictLabel), 1) item.note2.splice(item.note2.indexOf(itemson.dictLabel), 1)
} }
// //
if (item.note2.length !== 0 && changeField.value.indexOf('应用领域') == -1) { if (
item.note2.length !== 0 &&
changeField.value.indexOf('应用领域') == -1
) {
changeField.value.push('应用领域') changeField.value.push('应用领域')
console.log('点击=========》1', changeField.value, item.note2)
} else if (item.note2.length == 0) { } else if (item.note2.length == 0) {
if (changeField.value.indexOf('应用领域') > -1) { if (changeField.value.indexOf('应用领域') > -1) {
changeField.value.splice(changeField.value.indexOf('应用领域'), 1) changeField.value.splice(changeField.value.indexOf('应用领域'), 1)
console.log('点击=========》2', changeField.value, item.note2)
} }
} }
mybus.emit('chageDataFrom', { mybus.emit('chageDataFrom', {
@ -981,32 +897,6 @@ const ApplicationArea = (item, itemson) => {
delFlag: 0, delFlag: 0,
}) })
} }
const danxuanArea = (item, itemSelect, indexSelect) => {
if (item.note1) {
if (item.note1 === indexSelect) {
item.note1 = null
} else {
item.note1 = indexSelect
}
} else {
item.note1 = indexSelect
}
changeIiem(itemSelect, indexSelect)
}
const danxuanRadio= (item, itemSelect) => {
if (item.note1) {
if (item.note1 === itemSelect) {
item.note1 = null
} else {
item.note1 = itemSelect
}
} else {
item.note1 = itemSelect
}
changeIiem(item.name, item.note1)
}
// //
const visibleAssociatedApplication = ref(false) const visibleAssociatedApplication = ref(false)
const visibleAssociatedApplicationOther = ref(false) const visibleAssociatedApplicationOther = ref(false)
@ -1027,6 +917,7 @@ const sourceClick = () => {
queryApplicationRelByResourceId({ queryApplicationRelByResourceId({
referenceId: 0, referenceId: 0,
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockData.value.push({ mockData.value.push({
key: val.id, key: val.id,
@ -1039,10 +930,13 @@ const sourceClick = () => {
val.attrValue.split(',').forEach((item) => { val.attrValue.split(',').forEach((item) => {
targetKeys.value.push(item) targetKeys.value.push(item)
}) })
console.log(targetKeys.value)
// console.log('wowowo')
} else if (val.attrType === '来源应用' && val.attrValue == '') { } else if (val.attrType === '来源应用' && val.attrValue == '') {
queryApplicationRelByResourceId({ queryApplicationRelByResourceId({
referenceId: 0, referenceId: 0,
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockData.value.push({ mockData.value.push({
key: val.id, key: val.id,
@ -1067,6 +961,7 @@ const componentsClick = () => {
type: '组件服务', type: '组件服务',
referenceName: '', referenceName: '',
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockDataOther.value.push({ mockDataOther.value.push({
key: val.id, key: val.id,
@ -1079,12 +974,15 @@ const componentsClick = () => {
val.attrValue.split(',').forEach((item) => { val.attrValue.split(',').forEach((item) => {
targetKeysOther.value.push(item) targetKeysOther.value.push(item)
}) })
console.log(targetKeysOther.value)
// console.log('wowowo')
} else if (val.attrType === '关联组件信息' && val.attrValue == '') { } else if (val.attrType === '关联组件信息' && val.attrValue == '') {
queryResourceRelByKeyId({ queryResourceRelByKeyId({
keyId: 0, keyId: 0,
type: '组件服务', type: '组件服务',
referenceName: '', referenceName: '',
}).then((res) => { }).then((res) => {
// console.log(res.data.data.notLinked)
res.data.data.notLinked.forEach((val, index) => { res.data.data.notLinked.forEach((val, index) => {
mockDataOther.value.push({ mockDataOther.value.push({
key: val.id, key: val.id,
@ -1100,22 +998,35 @@ const selectedKeys = ref([])
const selectedKeysOther = ref([]) const selectedKeysOther = ref([])
const handleChange = (nextTargetKeys, direction, moveKeys) => { const handleChange = (nextTargetKeys, direction, moveKeys) => {
console.log('targetKeys: ', nextTargetKeys)
console.log('direction: ', direction)
console.log('moveKeys: ', moveKeys)
if (direction === 'right') { if (direction === 'right') {
targetKeys.value = moveKeys.filter((item, index) => index === 0) targetKeys.value = moveKeys.filter((item, index) => index === 0)
} }
} }
const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {} const handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => {
const handleChangeOther = (nextTargetKeys, direction, moveKeys) => {} console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
const handleSelectChangeOther = (sourceSelectedKeys, targetSelectedKeys) => {} }
const handleChangeOther = (nextTargetKeys, direction, moveKeys) => {
console.log('targetKeys: ', nextTargetKeys)
console.log('direction: ', direction)
console.log('moveKeys: ', moveKeys)
}
const handleSelectChangeOther = (sourceSelectedKeys, targetSelectedKeys) => {
console.log('targetSelectedKeys: ', targetSelectedKeys, sourceSelectedKeys)
}
const filterOptionTransfer = (inputValue, option) => { const filterOptionTransfer = (inputValue, option) => {
console.log(option, 'option')
return option.description.indexOf(inputValue) > -1 return option.description.indexOf(inputValue) > -1
} }
const handleOk = (e) => { const handleOk = (e) => {
console.log(e)
visibleAssociatedApplicationOther.value = false visibleAssociatedApplicationOther.value = false
visibleAssociatedApplication.value = false visibleAssociatedApplication.value = false
// console.log('2222222222222', props.refData)
data.value.list.map((item) => { data.value.list.map((item) => {
if (item.name === '来源应用') { if (item.name === '来源应用') {
item.note1 = targetKeys.value + '' item.note1 = targetKeys.value + ''
@ -1125,6 +1036,7 @@ const handleOk = (e) => {
}) })
} }
const handleCancel = (e) => { const handleCancel = (e) => {
console.log(e)
visibleAssociatedApplicationOther.value = false visibleAssociatedApplicationOther.value = false
visibleAssociatedApplication.value = false visibleAssociatedApplication.value = false
} }
@ -1132,11 +1044,14 @@ const handleCancel = (e) => {
const showType = ref('') const showType = ref('')
const showTypeClick = (e) => { const showTypeClick = (e) => {
showType.value = e showType.value = e
console.log(e, 'showType', showType.value)
} }
showTypeClick('调用接口') showTypeClick('调用接口')
watch(data.value.list, (newProps, oldProps) => { watch(data.value.list, (newProps, oldProps) => {
console.log('数据发生改变==========>', newProps, oldProps)
newProps.forEach((val) => { newProps.forEach((val) => {
// console.log('==========>', val)
if ( if (
props.configure && props.configure &&
props.configure.filter((item) => item.name === val.name).length > 0 props.configure.filter((item) => item.name === val.name).length > 0
@ -1154,7 +1069,7 @@ watch(data.value.list, (newProps, oldProps) => {
if (val.options) { if (val.options) {
note2 = val.options.filter((item) => item.value == val.note1)[0] note2 = val.options.filter((item) => item.value == val.note1)[0]
} }
console.log('chageDataFromDwon===================>', val)
mybus.emit('chageDataFromDwon', { mybus.emit('chageDataFromDwon', {
attrType: val.name, attrType: val.name,
attrValue: val.note1, attrValue: val.note1,
@ -1164,6 +1079,7 @@ watch(data.value.list, (newProps, oldProps) => {
} else { } else {
if (val.name !== '应用领域' && val.name !== '发布端') { if (val.name !== '应用领域' && val.name !== '发布端') {
if (val.name == '算法介绍视频') { if (val.name == '算法介绍视频') {
console.log('变更视频==================>', val)
mybus.emit('chageDataFrom', { mybus.emit('chageDataFrom', {
attrType: val.name, attrType: val.name,
attrValue: val.note1, attrValue: val.note1,
@ -1187,13 +1103,22 @@ const applicationsChange = (value) => {
item.note1 = value item.note1 = value
} }
}) })
console.log(`selected ${value}`)
} }
const handleBlur = () => {} const handleBlur = () => {
const applicationsBlur = () => {} console.log('blur')
}
const applicationsBlur = () => {
console.log('blur')
}
const handleFocus = () => {} const handleFocus = () => {
const applicationsFocus = () => {} console.log('focus')
}
const applicationsFocus = () => {
console.log('focus')
}
const filterOption = (input, option) => { const filterOption = (input, option) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
@ -1207,53 +1132,13 @@ const applicationsOption = (input, option) => {
</script> </script>
<style></style> <style></style>
<style lang="less" scoped> <style lang="less" scoped>
:deep(.upload-list-inline .ant-upload .ant-btn) {
height: 150px;
width: 218px;
border: 1px solid rgba(198, 198, 198, 0.5);
border-radius: 2px;
background: rgba(0, 88, 225, 0.05);
color: #0087ff;
font-size: 14px;
}
:deep(.upload-list-inline .ant-upload .ant-btn > span) {
background: url('~@/assets/home/yuanjia.png') no-repeat;
color: #666666;
background-position: center;
text-align: center;
line-height: 120px;
height: 50px;
}
//
:deep(.ant-select-arrow) {
background: url('~@/assets/home/huixia.png') no-repeat;
cursor: pointer;
margin-top: -4px;
margin-right: -4px;
}
//
:deep(.ant-select-arrow .anticon) {
vertical-align: top;
transition: transform 0.3s;
display: none;
}
// :deep(.ant-select-arrow :focus) {
// background:url('~@/assets/home/huishang.png') no-repeat ;
// cursor: pointer;
// margin-top: -4px;
// margin-right: -4px;
// }
.put-on-the-shelf { .put-on-the-shelf {
margin: 0.15rem 2rem; height: 6.8rem;
background: rgb(246, 247, 249, 0.8);
height: 846px;
overflow: scroll; overflow: scroll;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 0.5rem 1rem 0.25rem;
.Technical-text { .Technical-text {
height: 0.3rem; height: 0.3rem;
width: 1rem; width: 1rem;
@ -1270,15 +1155,12 @@ const applicationsOption = (input, option) => {
} }
& > div { & > div {
padding: 0px 0px 24px 24px;
width: 100%; width: 100%;
font-size: 14px; margin-top: 0.6rem;
.top { .top {
color: #333333; color: #333333;
font-size: 24px; font-size: 0.22rem;
font-weight: bold;
margin-top: 22px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -1287,7 +1169,7 @@ const applicationsOption = (input, option) => {
div:first-child, div:first-child,
div:last-child { div:last-child {
width: 2.45rem; width: 2.45rem;
height: 0.02rem; height: 0.01rem;
background: #f0f0f0; background: #f0f0f0;
} }
@ -1297,7 +1179,7 @@ const applicationsOption = (input, option) => {
} }
.bottom { .bottom {
// margin-top: 0.25rem; margin-top: 0.25rem;
.items { .items {
background: #fafafa; background: #fafafa;
@ -1331,18 +1213,17 @@ const applicationsOption = (input, option) => {
} }
.form { .form {
min-height: 32px; margin-top: 0.2rem;
margin-top: 24px;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
span:first-child { span:first-child {
width: 1.0rem; width: 1.2rem;
} }
:deep(.ant-input-textarea) { :deep(.ant-input-textarea) {
width: 1000px; width: 5.2rem;
} }
:deep(.ant-radio-group) { :deep(.ant-radio-group) {
@ -1373,27 +1254,16 @@ const applicationsOption = (input, option) => {
margin-top: 0.4rem; margin-top: 0.4rem;
font-size: 0.14rem; font-size: 0.14rem;
display: flex; display: flex;
justify-content: center; justify-content: flex-end;
.ant-btn { .ant-btn {
width: 260px; width: 1.8rem;
height: 32px; height: 0.3rem;
text-align: center; text-align: center;
background: #fff; background: #d9ebff;
color: #0558e1; color: #0087ff;
border: 1px solid #0558e1; border: 0.01rem solid #0087ff;
border-radius: 2px; border-radius: 0.06rem;
font-size: 14px;
}
.ant-btn:hover{
background: #fff;
color: #0558e1;
opacity: 0.8;
}
.ant-btn:active{
background: #fff;
color: #0558e1;
opacity: 0.8
} }
} }
} }
@ -1403,85 +1273,32 @@ const applicationsOption = (input, option) => {
margin-top: 0; margin-top: 0;
} }
} }
.danxuan-Area {
display: grid;
margin-top: -0.05rem;
grid-template-columns: auto auto auto auto auto auto auto auto ;
border-left: 1px #0558e1 solid;
.danxuan-Area-son {
cursor: pointer;
min-width: 82px;
height: 32px;
border-radius: 2px;
color: #0558e1;
background: #fff;
border-right: 1px #0558e1 solid;
border-bottom: 1px #0558e1 solid;
border-top: 1px #0558e1 solid;
display: flex;
justify-content: center;
align-items: center;
}
.danxuan-Area-son:hover {
color: #fff;
background: #0558e1;
}
.danxuan-Area-down {
background: #0058e1;
color: #fff;
// border: 1px #0558e1 solid;
}
}
.application-Area { .application-Area {
width: 5.2rem;
display: grid; display: grid;
margin-top: -0.05rem; margin-top: -0.05rem;
grid-template-columns: auto auto auto auto auto auto; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
.application-Area-son { .application-Area-son {
cursor: pointer; cursor: pointer;
width: 162px; font-size: 0.14rem;
height: 32px; width: 0.9rem;
border-radius: 2px; height: 0.26rem;
color: #212121; border-radius: 0.13rem;
background: rgba(96, 99, 104, 0.1); color: #333333;
border: 0.01rem rgba(96, 99, 104, 0.1) solid; background: #f5f5f5;
border: 0.01rem #cccccc solid;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
margin-top: 8px; margin-top: 0.1rem;
margin-right: 8px; font-weight: 500;
position: relative;
.application-Area-son-son {
position: absolute;
right: 0px;
top: 0px;
z-index: 100;
width: 16px;
height: 16px;
background: url('~@/assets/home/kong.png') no-repeat;
}
}
.application-Area-son:hover {
opacity: 0.9;
color: #0058e1;
border: 1px #0558e1 solid;
} }
.application-Area-down { .application-Area-down {
opacity: 0.9; background: #0087ff;
color: #0058e1; color: #fff;
border: 1px #0558e1 solid;
.application-Area-son-son {
position: absolute;
right: 0px;
top: 0px;
z-index: 100;
width: 16px;
height: 16px;
background: url('~@/assets/home/duihao.png') no-repeat;
}
} }
} }
@ -1569,7 +1386,6 @@ const applicationsOption = (input, option) => {
background: url(~@/assets/home/sf_del.png) no-repeat; background: url(~@/assets/home/sf_del.png) no-repeat;
margin-right: 0.05rem; margin-right: 0.05rem;
} }
div { div {
cursor: pointer; cursor: pointer;
} }
@ -1582,47 +1398,20 @@ const applicationsOption = (input, option) => {
.box { .box {
display: flex; display: flex;
align-items: center; align-items: center;
min-height: 32px;
// margin: 15px 0; // margin: 15px 0;
& > div:nth-of-type(1) { & > div:nth-of-type(1) {
text-align: right; width: 105px;
width: 110px; display: flex;
margin-right: 16px;
// display: flex;
align-items: center; align-items: center;
} }
.required { .required {
color: #e83e48; color: #f56c6c;
margin-left: -6px; margin-right: 3px;
} }
} }
:deep(.the-new-release .box .first) {
justify-content: center !important;
padding: 10px 350px 0;
button {
cursor: pointer;
width: 80px;
height: 35px;
text-align: center;
color: #fff;
border: none;
border-radius: 6px;
background: yellow;
}
button:nth-of-type(1) {
color: red;
background: #e1edfa;
}
button:nth-of-type(2) {
background: yellow;
}
}
.requiredTips { .requiredTips {
font-size: 14px; font-size: 14px;
color: #e83e48; color: #f56c6c;
position: absolute; position: absolute;
bottom: -20px; bottom: -20px;
left: 110px; left: 110px;

View File

@ -147,7 +147,7 @@
<button <button
style=" style="
width: 100px; width: 100px;
height: 35px; height: 30px;
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);

View File

@ -21,22 +21,21 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<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="chongzhi()" @click="globalSearch()"
> >
重置 全局搜索
</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; width: 135px" style="margin-left: 0.1rem"
> >
申请全部应用资源 全部申请
</button> </button>
<div class="hengxian" style="background: transparent"></div> <div class="hengxian" style="background: transparent"></div>
</div> </div>
@ -169,14 +168,13 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<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="chongzhi()" @click="globalSearch()"
> >
重置 全局搜索
</button> </button>
<div class="hengxian" style="background: transparent"></div> <div class="hengxian" style="background: transparent"></div>
</div> </div>
@ -230,14 +228,13 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<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="chongzhi()" @click="globalSearch()"
> >
重置 全局搜索
</button> </button>
<div class="hengxian" style="background: transparent"></div> <div class="hengxian" style="background: transparent"></div>
</div> </div>
@ -304,8 +301,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" style="left: 0.16rem" v-else> <div class="details-pageconetent-left" v-else>
<detailsPageInfrastructureTreeXha /> <detailsPageInfrastructureTree />
</div> </div>
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'"> <div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
<div class="top-title"> <div class="top-title">
@ -337,14 +334,7 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
@ -435,11 +425,7 @@
<a-empty /> <a-empty />
</div> </div>
</div> </div>
<div <div class="top" v-else-if="Cardsname === '基础设施'">
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"
@ -458,7 +444,7 @@
</div> </div>
</div> </div>
<div class="top-content-father"> <div class="top-content-father">
<infrastructurePageXha <infrastructurePage
ref="camera" ref="camera"
:searchValue="searchValue" :searchValue="searchValue"
:searchType="searchType" :searchType="searchType"
@ -495,14 +481,7 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
</div> </div>
</div> </div>
<KnowledgeBase <KnowledgeBase
@ -510,9 +489,6 @@
: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>
@ -562,14 +538,7 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
<div class="hengxian"></div> <div class="hengxian"></div>
</div> </div>
</div> </div>
@ -734,14 +703,7 @@
@change="onSearch" @change="onSearch"
class="resultListSearchInput" class="resultListSearchInput"
/> />
<i class="searchImg" aria-hidden="true"></i> <button class="button-reset" @click="chongzhi()">重置</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
</div> </div>
</div> </div>
<KnowledgeBase <KnowledgeBase
@ -781,10 +743,7 @@
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'
@ -810,7 +769,7 @@
const handleAdd = (value) => { const handleAdd = (value) => {
flag.value = value flag.value = value
} }
const titleName = ref([]) const titleName = ref(titleNameArray)
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')
} }
@ -910,15 +869,6 @@
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
@ -1756,8 +1706,6 @@
} }
onMounted(() => { onMounted(() => {
// //
//西
setTitle()
handleSetSearchData() handleSetSearchData()
listKey2.value++ listKey2.value++
// //
@ -1895,7 +1843,6 @@
) )
} }
return { return {
setTitle,
listKey, listKey,
ListContent, ListContent,
searchValue, searchValue,
@ -1956,9 +1903,7 @@
KnowledgeBase, KnowledgeBase,
DetailsPageResource, DetailsPageResource,
infrastructurePage, infrastructurePage,
infrastructurePageXha,
detailsPageInfrastructureTree, detailsPageInfrastructureTree,
detailsPageInfrastructureTreeXha,
}, },
beforeUnmount() { beforeUnmount() {
mybus.off('getCameraByParentId') mybus.off('getCameraByParentId')
@ -1985,21 +1930,13 @@
.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;
}
} }
} }
@ -2008,20 +1945,20 @@
:deep(.ant-input) { :deep(.ant-input) {
width: 4rem; width: 4rem;
height: 0.32rem; height: 0.36rem;
background: #fff; background: #fff;
border-radius: 0.02rem; border-radius: 0.04rem;
} }
:deep(.ant-input-search-button) { :deep(.ant-input-search-button) {
width: 0.8rem; width: 0.8rem;
height: 0.32rem; height: 0.36rem;
background: #0558e1; background: #0087ff;
border-radius: 0.02rem !important; border-radius: 0.04rem !important;
font-size: 0.14rem; font-size: 0.14rem;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
line-height: 0.32rem; line-height: 0.34rem;
margin-left: 0.1rem; margin-left: 0.1rem;
} }
@ -2034,15 +1971,13 @@
border: 0; border: 0;
outline: none; outline: none;
width: 0.8rem; width: 0.8rem;
height: 0.32rem; height: 0.36rem;
color: #fff; 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.32rem; line-height: 0.34rem;
margin-left: 2.5rem; margin-left: 2.5rem;
cursor: pointer; cursor: pointer;
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="bg"> <div class="bg">
<home-header :target-flag = "targetFlag"></home-header> <home-header></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 @click="goToDetailsPageconetent" class="bread-crumb-span">能力集市</a-breadcrumb-item> <a-breadcrumb-item>能力集市</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,14 +653,6 @@
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>
@ -727,9 +719,6 @@
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 {

View File

@ -1,125 +0,0 @@
<!--
* @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>

View File

@ -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,'headerClick')" @click="jumpPage(item)"
class="nav" class="nav"
:class="[{'select':item.key == select},{'select-inner':(item.key == 'DetailsPageconetent' && item.innerKey == 'algorithmCompare'&& props.targetFlag)}]" :class="item.key == select ? 'select' : ''"
> >
{{ item.name }} {{ item.name }}
</div> </div>
@ -90,14 +90,14 @@
</template> </template>
<span <span
class="name" class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' },'headerClick')" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
> >
{{ 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' },'headerClick')" @click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
class="iconTo" class="iconTo"
v-show="backFlag" v-show="backFlag"
></i> ></i>
@ -135,7 +135,6 @@
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'){
@ -154,7 +153,6 @@
const props = defineProps({ const props = defineProps({
showView: { type: String, default: '' }, showView: { type: String, default: '' },
targetFlag: { type: Boolean, default: false },
}) })
// 退 // 退
@ -187,8 +185,7 @@
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,type) => { const jumpPage = (item) => {
if(type == 'headerClick'){
// 西 // 西
if (itShowXiHaiAn.value) { if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例'] let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
@ -274,84 +271,6 @@
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 () {
@ -429,20 +348,6 @@
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')
@ -528,10 +433,6 @@
.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;

View File

@ -805,18 +805,12 @@
} }
// //
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,

View File

@ -1,336 +0,0 @@
<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>

View File

@ -1,12 +0,0 @@
<!--
* @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>

View File

@ -560,16 +560,6 @@
@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
@ -781,10 +771,20 @@
</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 } from 'ant-design-vue' import { message, Upload } from 'ant-design-vue'
import { ref, reactive, onMounted, defineProps, defineExpose } from 'vue' import {
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,18 +794,17 @@
} 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'
@ -1124,7 +1123,7 @@
let clickList = ref([]) //tab let clickList = ref([]) //tab
if (!isXiHaiAn) { if (!isXiHaiAn) {
tabList.value.push({ tabList.value.push({
title: '筛选条件', title: '城市云脑会客厅',
content: [], content: [],
}) })
} }
@ -1557,7 +1556,6 @@
} }
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
@ -1582,7 +1580,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 == '感知资源') {
@ -1606,12 +1604,10 @@
} }
selectType.value = '视频会议' selectType.value = '视频会议'
} }
if (indexFather !== 0 && selectType.value !== '政务云资源') {
clickList.value[indexFather].content.splice( clickList.value[indexFather].content.splice(
clickList.value[indexFather].content.indexOf(name), clickList.value[indexFather].content.indexOf(name),
1 1
) )
}
} else { } else {
if (name == '视频资源') { if (name == '视频资源') {
selectType.value = '视频资源' selectType.value = '视频资源'
@ -1665,21 +1661,17 @@
} }
clickList.value[indexFather].content[0] = name clickList.value[indexFather].content[0] = name
if (tabList.value[1]) { if (tabList.value[1]) {
if (!isXiHaiAn) { tabList.value[1].title = '政务云资源分类'
tabList.value[1].title = '服务类别'
tabList.value[1].content = [ 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
@ -1746,53 +1738,11 @@
emits('add', 6) emits('add', 6)
searchData() searchData()
} else { } else {
if ( if (clickList.value[indexFather]) {
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]) {
@ -2156,11 +2106,18 @@
// //
const addShoppingCart = () => { const addShoppingCart = () => {
if (selectedList.value.length > 0) { if (selectedList.value.length > 0) {
sgcInsert({ let _arr = []
selectedList.value.map((v) => {
_arr.push({
delFlag: '0', delFlag: '0',
resourceld: '8888888880000000001', resourceId: v.idtCameraChannel,
note1: selectedList.value, note1: [v],
}).then((res) => { })
})
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')
}) })
@ -2320,19 +2277,7 @@
} 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

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,6 @@
@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>
@ -343,14 +342,6 @@
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;
}
} }
} }
@ -359,20 +350,20 @@
:deep(.ant-input) { :deep(.ant-input) {
width: 4rem; width: 4rem;
height: 0.32rem; height: 0.36rem;
background: #fff; background: #fff;
border-radius: 0.02rem; border-radius: 0.04rem;
} }
:deep(.ant-input-search-button) { :deep(.ant-input-search-button) {
width: 0.8rem; width: 0.8rem;
height: 0.32rem; height: 0.36rem;
background: #0558e1; background: #0087ff;
border-radius: 0.02rem !important; border-radius: 0.04rem !important;
font-size: 0.14rem; font-size: 0.14rem;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
line-height: 0.32rem; line-height: 0.34rem;
margin-left: 0.1rem; margin-left: 0.1rem;
} }
@ -385,15 +376,13 @@
border: 0; border: 0;
outline: none; outline: none;
width: 0.8rem; width: 0.8rem;
height: 0.32rem; height: 0.36rem;
//background: #e1edfa; background: #e1edfa;
background: #0558e1; border-radius: 0.04rem;
border-radius: 0.02rem;
font-size: 0.14rem; font-size: 0.14rem;
font-weight: 400; font-weight: 400;
//color: #0087ff; color: #0087ff;
color: #fff; line-height: 0.34rem;
line-height: 0.32rem;
margin-left: 2.5rem; margin-left: 2.5rem;
cursor: pointer; cursor: pointer;
} }

View File

@ -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"

View File

@ -83,7 +83,6 @@
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) {
@ -125,7 +124,6 @@
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 === '智能算法' ||
@ -154,7 +152,7 @@
visible.value = false visible.value = false
abilityToTypeFunctionData.value = '组件服务' abilityToTypeFunctionData.value = '组件服务'
componentTypeValue.value = '' componentTypeValue.value = ''
visible.value = false console.log(e)
} }
const getList = () => { const getList = () => {
const params = { const params = {

View File

@ -306,13 +306,7 @@
getUserInfo().then((res) => { getUserInfo().then((res) => {
userName.value = res.data.data.username userName.value = res.data.data.username
}) })
const formState = ref({ name: '' }) let typeList = ref([
// 西-
let isXiHaiAn = whoShow.itShowXiHaiAn
let typeList = ref(
isXiHaiAn
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论']
: [
'能力申请', '能力申请',
'能力上架', '能力上架',
'能力下架', '能力下架',
@ -322,8 +316,10 @@
'云资源申请', '云资源申请',
'云视频申请', '云视频申请',
// '', // '',
] ])
) const formState = ref({ name: '' })
// 西-
let isXiHaiAn = whoShow.itShowXiHaiAn
const itShowXiHaiAn = ref(isXiHaiAn) const itShowXiHaiAn = ref(isXiHaiAn)
const phoneSate = ref([2, 3]) const phoneSate = ref([2, 3])
if (isXiHaiAn) { if (isXiHaiAn) {
@ -773,9 +769,8 @@
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 1: case 2:
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)
@ -785,7 +780,7 @@
}) })
}) })
break break
case 2: case 3:
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)
@ -795,7 +790,7 @@
}) })
}) })
break break
case 3: case 4:
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)
@ -806,7 +801,7 @@
}) })
}) })
break break
case 4: case 5:
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)