Compare commits

..

32 Commits

Author SHA1 Message Date
a0049873 72a900723f Merge branch 'hi-ucs-dev' into release 2022-11-18 15:43:18 +08:00
a0049873 84ea475d64 西海岸版本 基础设施开发 2022-11-18 15:38:56 +08:00
a0049873 8a02cc43b4 政务云资源对接 2022-11-18 15:37:00 +08:00
unknown 938ad4cd9b Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-18 11:19:23 +08:00
unknown 74925cc9e0 西海岸基础设施修改 2022-11-18 11:18:56 +08:00
gongjiale 8f04b9403e 修改 2022-11-18 10:56:19 +08:00
a0049873 cf1e1452c3 分离西海岸基础设施 2022-11-18 10:30:24 +08:00
a0049873 23fd66cd98 点同意按钮 默认添加同意 2022-11-17 17:42:56 +08:00
a0049873 8939f054df 编目问题BUG修改 以及转办判断完善 2022-11-17 17:14:44 +08:00
a0049873 51271131b6 UI修改 2022-11-17 16:52:16 +08:00
gongjiale b3899dbfaf Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-17 15:38:09 +08:00
gongjiale 177d0cc95d Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-17 15:37:35 +08:00
unknown 9796982337 Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-17 15:37:22 +08:00
gongjiale 11994b6120 修改按钮统一样式 2022-11-17 15:37:09 +08:00
unknown 8d15818d1b 新手指南删除底部蓝色图片 2022-11-17 15:35:42 +08:00
a0049873 904c7cbbb5 UI样式修改 2022-11-17 15:35:00 +08:00
a0049873 b5f18ecedc 能力统计echarts修改 2022-11-17 15:13:30 +08:00
a0049873 f8bb9c9223 编目修改 组件服务 应用资源合并 2022-11-17 10:15:29 +08:00
a0049873 65894066b5 水印相关功能 2022-11-16 16:25:56 +08:00
unknown 2c69d3829b 头部菜单修改 2022-11-16 16:20:41 +08:00
gongjiale 2f55fca391 修改UI 2022-11-16 15:10:45 +08:00
wuhongjian 1ee871886f 后台管理登录bug修复 2022-11-15 19:27:22 +08:00
unknown ac544cee15 Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-15 18:23:46 +08:00
unknown 6d806547ef 模糊搜索ui修改 2022-11-15 18:23:26 +08:00
unknown db469bd53d 新需求,能力申请新UI 2022-11-15 17:06:32 +08:00
a0049873 e60f697325 BUG修改 2022-11-15 16:17:25 +08:00
a0049873 f094da8cd5 西海岸屏蔽我的申请新增的三个类型 2022-11-15 16:13:56 +08:00
a0049873 dbdaa313ff 样式修改 2022-11-15 15:23:13 +08:00
gongjiale 6a5139f8b3 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-15 14:57:32 +08:00
gongjiale 3eab1e693f UI样式修改 2022-11-15 14:57:22 +08:00
a0049873 e03c1455ec 隐藏期望效果 2022-11-15 14:36:22 +08:00
a0049873 a320b46ade 样式修改 2022-11-15 14:25:42 +08:00
95 changed files with 7821 additions and 2971 deletions

View File

@ -13,7 +13,28 @@
<style>
.el-table th.gutter{
display: table-cell!important;
display: table-cell !important;
}
.el-button {
vertical-align: middle !important;
align-items: center !important;
display: inline-flex !important;
height:32px !important;
line-height: 32px !important;
justify-content: center !important;
min-width: 80px !important;
border-radius:2px !important;
}
.el-button--primary {
vertical-align: middle !important;
align-items: center !important;
display: inline-flex !important;
height:32px !important;
line-height: 32px !important;
justify-content: center !important;
min-width: 80px !important;
border-radius:2px !important;
}
</style>
<script>

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-05-11 20:03:41
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-11-11 11:07:09
* @LastEditTime: 2022-11-15 19:26:30
* @Description: 告诉大家这是什么
*/
import axios from 'axios'
@ -102,7 +102,7 @@ http.interceptors.response.use(
response['Access-Control-Expose-Headers'] = 'redirect'
const { code, message } = response.data
if (response.headers.token) {
Cookies.set('ucsToken', response.headers.token, { expires: 'session' })
Cookies.set('ucsToken', response.headers.token)
}
if (response.headers.redirect) {
window.location.href = response.headers.redirect

View File

@ -6,7 +6,7 @@
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="searchData">{{
<el-button type="primary" @click="searchData">{{
$t("query")
}}</el-button>
</el-form-item>
@ -16,7 +16,7 @@
</el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"

View File

@ -6,7 +6,7 @@
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="searchData">{{
<el-button type="primary" @click="searchData">{{
$t("query")
}}</el-button>
</el-form-item>
@ -16,7 +16,7 @@
</el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"

View File

@ -15,7 +15,7 @@
}}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{
<el-button type="primary" @click="exportHandle()">{{
$t('export')
}}</el-button>
</el-form-item>
@ -35,13 +35,13 @@
<el-form-item>
<el-button
v-if="$hasPermission('ability:bsabilityai:delete')"
type="danger"
type="primary"
@click="deleteHandle2()"
>{{ $t('deleteBatch') }}</el-button
>
</el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table
@ -636,7 +636,7 @@ export default {
this.showPutOnTheShelfFlag = true
this.$http.get('/category/getCategoryTree').then((res) => {
this.insertList = res.data.data.filter(
(item) => item.name === '组件服务'
(item) => item.name === '组件服务'
)[0]
})
},
@ -887,7 +887,7 @@ export default {
UpdateData (item) {
this.$http.get('/category/getCategoryTree').then((res) => {
this.insertList = res.data.data.filter(
(item) => item.name === '组件服务'
(item) => item.name === '组件服务'
)[0]
this.radio = item.infoList.filter(
(val) => val.attrType === '组件类型'

View File

@ -10,12 +10,12 @@
></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList2(dataForm.name)">{{
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
$t("query")
}}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{
<el-button type="primary" @click="exportHandle()">{{
$t("export")
}}</el-button>
</el-form-item>
@ -37,13 +37,13 @@
<el-form-item>
<el-button
v-if="$hasPermission('ability:bsabilityai:delete')"
type="danger"
type="primary"
@click="deleteHandle2()"
>{{ $t("deleteBatch") }}</el-button
>
</el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table
@ -577,7 +577,7 @@ export default {
showPutOnTheShelf () {
this.showPutOnTheShelfFlag2 = true
this.$http.get('/category/getCategoryTree').then(res => {
this.insertList = res.data.data.filter(item => item.name === '应用资源')[0]
this.insertList = res.data.data.filter(item => item.name === '应用资源')[0]
this.putOnTheShelfList = this.insertList.children
})
},
@ -747,7 +747,7 @@ export default {
//
UpdateData (item) {
this.$http.get('/category/getCategoryTree').then(res => {
this.insertList = res.data.data.filter(item => item.name === '应用资源')[0]
this.insertList = res.data.data.filter(item => item.name === '应用资源')[0]
this.radio = '应用资源'
// this.radio = item.infoList.filter(val => val.attrType === '')[0].attrValue
this.putOnTheShelfList = this.insertList.children

View File

@ -10,7 +10,7 @@
<el-input v-model="dataForm.orderId" :placeholder="$t('infrastructure.resourceName')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>

View File

@ -34,9 +34,9 @@
<p>
<span>应用背景{{ detailParams.applicationBackground }}</span>
</p>
<p>
<!-- <p>
<span>期望效果{{ detailParams.effectWish }}</span>
</p>
</p> -->
</div>
</div>
</div>
@ -53,13 +53,13 @@
<span class="img"></span>
<span>{{ item.name }}</span>
</div>
<div
<!-- <div
style="
display: flex;
justify-content: space-between;
align-items: center;
"
></div>
></div> -->
<div class="ability" v-for="val in item.list" :key="val.id">
<div class="box" v-if="item.list.length > 0">
<div class="right">
@ -280,7 +280,7 @@ export default {
}
}
</script>
<style scoped>
<style lang="scss" scoped>
.title {
font-size: 22px;
color: #000;
@ -324,7 +324,7 @@ export default {
font-size: 16px;
span {
width: 50px;
width: 300px;
}
}
}
@ -334,7 +334,8 @@ export default {
.main {
.item {
border-top: 1px #eee solid;
line-height: 30px;
margin-bottom: 10px;
.deptName {
color: #0058e1;
font-size: 16px;

View File

@ -1,27 +1,8 @@
<template>
<div>
<div class="container">
<!-- <div class='container-left' v-if='homeIsShow'>
<div class='left-search'>
<div>
<input type="text" class='input-style' placeholder="请输入部门关键词" v-model="inputTxt">
<div class='input-search' @click='searchBtn'>
<img src="@/assets/img/搜索.png" style='margin-top:7px;margin-left:16px' >
</div>
</div>
</div>
<el-tree
class='tree-style'
:data="treeData"
:props="defaultProps"
accordion
@node-click="handleNodeClick">
<span slot-scope="{ node }" class='tree-text-style'>
<img src="@/assets/img/一级图标.png" style="width: 16px; height: 16px" />
{{ node.label }}
</span>
</el-tree>
</div> -->
<el-form :inline="true">
<!--起始日期 @keyup.enter.native="getDataList()"-->
<el-form-item>
@ -71,14 +52,14 @@
<!--资源名称 仅明细添加-->
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
<span>名称</span>
<!-- <span v-if="this.departmentId === 2 || this.departmentId === 4">资源名称</span> -->
<el-input v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
<el-input style="width:80%;" v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" style="display: flex;justify-content: end;margin-right: 40px;">
<el-form :inline="true" style="margin-right: 40px;">
<!--操作按钮查询-->
<el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<!--操作按钮重置-->
<el-form-item>
@ -1179,16 +1160,17 @@ input::placeholder {
}
.export {
margin-top: 6px;
display: inline-block;
width: 70px;
height: 40px;
line-height: 40px;
width: 80px;
height: 32px;
line-height: 32px;
text-align: center;
border-radius: 5px;
border-radius: 2px;
background: #fff;
border: 1px solid #dcdfe6;
border: 2px solid #dcdfe6;
color: #000;
color: #FFF;
color: #fff;
background-color: #0058e1;
border-color: #0058e1;
text-decoration: none;
@ -1197,7 +1179,6 @@ input::placeholder {
.export:hover {
background: #65a5f9;
border-color: #65a5f9;
color: #FFF;
color: #fff;
}
</style>

View File

@ -60,7 +60,25 @@
</el-tooltip>
</el-form-item>
<el-form-item v-if="dataForm.enclosure" label="申请附件" prop="enclosure">
<el-button @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-button>
<button
style="
width: 100px;
height: 30px;
margin-right: 10px;
background: rgb(237, 244, 252);
color: rgb(0, 135, 255);
font-size: 14px;
border-radius: 6px;
border: 1px solid rgb(187, 211, 239);
padding: 0px;
text-align: center;
cursor: pointer;
"
@click="downloadFile(dataForm.enclosure, '申请附件')"
>
附件下载
</button>
<!-- <el-button class="DownloadAttachment" @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-button> -->
</el-form-item>
</el-form>
<!-- 流程综合组件 -->
@ -73,11 +91,16 @@
></ren-process-multiple> -->
<!-- 审批 -->
<div class="agreeOr" v-if="taskId">
<div>
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
<div class="approvalOperation">
<!-- <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('拒绝')"
>驳回</el-button
>
> -->
<div class="contentOperation">
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
</div>
</div>
</div>
<!-- 审批弹窗 -->
@ -221,46 +244,46 @@ export default {
},
// 退
agreeOrNot: debounce(
function (data) {
function (data, type) {
this.dataForm.taskId = this.$route.params.taskId
if (this.dialogType === '同意') {
if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
if (type === '同意') {
// if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input || '同意'
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
bus.$emit('AbilityResourcesRemovedInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
return
}
bus.$emit('AbilityResourcesRemovedInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
})
}
})
.catch(() => {})
this.tabRemoveHandle(data)
} else {
this.$message.error('请输入审批意见!')
}
} else if (this.dialogType === '拒绝') {
})
.catch(() => {})
this.tabRemoveHandle(data)
// } else {
// this.$message.error('')
// }
} else if (type === '驳回') {
if (this.input !== '') {
const params = qs.stringify({
taskId: this.dataForm.taskId,
@ -334,6 +357,11 @@ export default {
}
</script>
<style lang="scss">
.DownloadAttachment {
position: absolute;
right: 10px;
top: -150px;
}
.agreeOr {
& > div {
// text-align: right;
@ -341,4 +369,102 @@ export default {
margin: 20px 0;
}
}
.approvalOperation{
display: flex;
flex-direction: column;
.contentOperation{
display: flex;
flex-direction: row;
margin-bottom: 10px;
.el-input{
margin-left: 0px;
width: 500px;
height: 32px;
line-height: 32px;
.el-input__inner{
height: 32px;
width: 500px;
line-height: 32px;
}
}
.agreeButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #ffffff;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin-left: 10px;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
background-color: #0058e1;
}
.agreeButton:hover{
background: #65a5f9;
border-color: #65a5f9;
color: #FFF;
}
.rejectButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #F56C6C;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #F56C6C;
margin-left: 12px;
}
.rejectButton:hover{
background-color: #F56C6C;
border-color: #F56C6C;
color: #ffffff;
}
.transferButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #0058e1;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #0058e1;
margin-left: 12px;
}
}
}
</style>

View File

@ -32,11 +32,16 @@
></ren-process-multiple> -->
<!-- 审批 -->
<div class="agreeOr" v-if="taskId">
<div>
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
<div class="approvalOperation">
<!-- <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('拒绝')"
>驳回</el-button
>
> -->
<div class="contentOperation">
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'拒绝')">驳回</el-button>
</div>
</div>
</div>
<!-- 审批弹窗 -->
@ -149,46 +154,46 @@ export default {
},
// 退
agreeOrNot: debounce(
function (data) {
function (data, type) {
this.dataForm.taskId = this.$route.params.taskId
if (this.dialogType === '同意') {
if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
if (type === '同意') {
// if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input || '同意'
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
bus.$emit('AbilityResourcesRemovedInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
return
}
bus.$emit('AbilityResourcesRemovedInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
})
}
})
.catch(() => {})
this.tabRemoveHandle(data)
} else {
this.$message.error('请输入审批意见!')
}
} else if (this.dialogType === '拒绝') {
})
.catch(() => {})
this.tabRemoveHandle(data)
// } else {
// this.$message.error('')
// }
} else if (type === '拒绝') {
if (this.input !== '') {
const params = qs.stringify({
taskId: this.dataForm.taskId,
@ -291,4 +296,102 @@ export default {
height: 100px;
resize: none;
}
.approvalOperation{
display: flex;
flex-direction: column;
.contentOperation{
display: flex;
flex-direction: row;
margin-bottom: 10px;
.el-input{
margin-left: 0px;
width: 500px;
height: 32px;
line-height: 32px;
.el-input__inner{
height: 32px;
width: 500px;
line-height: 32px;
}
}
.agreeButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #ffffff;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin-left: 10px;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
background-color: #0058e1;
}
.agreeButton:hover{
background: #65a5f9;
border-color: #65a5f9;
color: #FFF;
}
.rejectButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #F56C6C;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #F56C6C;
margin-left: 12px;
}
.rejectButton:hover{
background-color: #F56C6C;
border-color: #F56C6C;
color: #ffffff;
}
.transferButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #0058e1;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #0058e1;
margin-left: 12px;
}
}
}
</style>

View File

@ -6,7 +6,7 @@
<el-button v-if="$hasPermission('sys:correction:all')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:correction:all')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:correction:all')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -234,42 +234,42 @@ export default {
function (data) {
this.dataForm.taskId = this.$route.params.taskId
if (this.dialogType === '同意') {
if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
// if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input || '同意'
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
bus.$emit('AbilityResourcesRemovedInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
return
}
bus.$emit('AbilityResourcesRemovedInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
})
}
})
.catch(() => {})
this.tabRemoveHandle(data)
} else {
this.$message.error('请输入审批意见!')
}
})
.catch(() => {})
this.tabRemoveHandle(data)
// } else {
// this.$message.error('')
// }
} else if (this.dialogType === '拒绝') {
if (this.input !== '') {
const params = qs.stringify({

View File

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

View File

@ -11,7 +11,7 @@
<el-button type="primary" class="button-new" @click="flashTableData"
>查询</el-button
>
<el-button @click="restTableData">重置</el-button>
<el-button type="primary" @click="restTableData">重置</el-button>
<div style="float: right">
<el-button
size="mini"
@ -521,12 +521,11 @@ export default {
})
.then(async () => {
let ids = []
if (this.deleteDataArr.length > 1) {
if(row.id && this.deleteDataArr.length==0){
ids = [row.id]
}else{
ids = this.deleteDataArr
} else {
ids = [row.id]
}
console.log(ids)
this.$http
.delete('/workdynamics/delete', {
data: ids

View File

@ -9,7 +9,7 @@
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -9,13 +9,13 @@
<el-input v-model="dataForm.key" :placeholder="$t('process.key')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="deployHandle()">{{ $t('process.deployFile') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -9,7 +9,7 @@
<el-input v-model="dataForm.definitionKey" :placeholder="$t('running.definitionKey')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

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

View File

@ -13,12 +13,12 @@
></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList2(dataForm.name)">{{
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
$t("query")
}}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{
<el-button type="primary" @click="exportHandle()">{{
$t("export")
}}</el-button>
</el-form-item>
@ -33,13 +33,13 @@
<el-form-item>
<el-button
v-if="$hasPermission('ability:bsabilityai:delete')"
type="danger"
type="primary"
@click="deleteHandle2()"
>{{ $t("deleteBatch") }}</el-button
>
</el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -11,8 +11,8 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="flashTableData">查询</el-button>
<el-button @click="resetTableData">重置</el-button>
<el-button type="primary" @click="flashTableData">查询</el-button>
<el-button type="primary" @click="resetTableData">重置</el-button>
<el-button type="primary" @click="addTask">任务新增</el-button>
</el-form-item>
</el-form>

View File

@ -10,12 +10,12 @@
></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList2(dataForm.name)">{{
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
$t("query")
}}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{
<el-button type="primary" @click="exportHandle()">{{
$t("export")
}}</el-button>
</el-form-item>
@ -30,13 +30,13 @@
<el-form-item>
<el-button
v-if="$hasPermission('ability:bsabilityai:delete')"
type="danger"
type="primary"
@click="deleteHandle2()"
>{{ $t("deleteBatch") }}</el-button
>
</el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -9,19 +9,19 @@
<el-input v-model="dataForm.identity" :placeholder="$t('excel.identity')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="warning" @click="importHandle()">{{ $t('excel.import') }}</el-button>
<el-button type="primary" @click="importHandle()">{{ $t('excel.import') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

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

View File

@ -6,13 +6,13 @@
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('demo:product:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('demo:product:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('demo:product:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -6,13 +6,13 @@
<el-input v-model="dataForm.code" placeholder="基类编码" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button type="primary" @click="getDataList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">删除</el-button>
<el-button type="primary" @click="deleteHandle()">删除</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -14,13 +14,13 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button type="primary" @click="getDataList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">删除</el-button>
<el-button type="primary" @click="deleteHandle()">删除</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -9,13 +9,13 @@
<el-input v-model="dataForm.attrType" placeholder="属性类型" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button type="primary" @click="getDataList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">删除</el-button>
<el-button type="primary" @click="deleteHandle()">删除</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -6,13 +6,13 @@
<el-input v-model="dataForm.tableName" placeholder="表名"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button type="primary" @click="getDataList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="importHandle()">导入数据库表</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">删除</el-button>
<el-button type="primary" @click="deleteHandle()">删除</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -12,13 +12,13 @@
<el-button type="primary" @click="addOrUpdateHandle()">新增</el-button>
</el-form-item>
<el-form-item>
<el-button type="success" @click="enabledHandle()">启用</el-button>
<el-button type="primary" @click="enabledHandle()">启用</el-button>
</el-form-item>
<el-form-item>
<el-button type="warning" @click="disabledHandle()">禁用</el-button>
<el-button type="primary" @click="disabledHandle()">禁用</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">删除</el-button>
<el-button type="primary" @click="deleteHandle()">删除</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -6,25 +6,24 @@
<el-input v-model="dataForm.beanName" :placeholder="$t('schedule.beanName')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:schedule:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:schedule:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:schedule:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:schedule:pause')" type="danger" @click="pauseHandle()">{{ $t('schedule.pauseBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:schedule:pause')" type="primary" @click="pauseHandle()">{{ $t('schedule.pauseBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:schedule:resume')" type="danger" @click="resumeHandle()">{{ $t('schedule.resumeBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:schedule:resume')" type="primary" @click="resumeHandle()">{{ $t('schedule.resumeBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:schedule:run')" type="danger" @click="runHandle()">{{ $t('schedule.runBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:schedule:log')" type="success" @click="logHandle()">{{ $t('schedule.log') }}</el-button>
<el-button v-if="$hasPermission('sys:schedule:log')" type="primary" @click="logHandle()">{{ $t('schedule.log') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

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

View File

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

View File

@ -6,7 +6,7 @@
<el-input v-model="dataForm.name" :placeholder="$t('mail.name')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
@ -15,7 +15,7 @@
<el-button type="primary" @click="configHandle()">{{ $t('mail.config') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -15,10 +15,10 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:smslog:all')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:smslog:all')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

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

View File

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

View File

@ -156,7 +156,7 @@ export default {
type: Array
}
},
data() {
data () {
return {
dataList: [],
dataView: [],
@ -171,16 +171,16 @@ export default {
}
},
watch: {
dataList(item) {
dataList (item) {
if (item) {
this.dataList = item
}
},
insertList(val) {
insertList (val) {
if (val) {
if (this.dataForm.type === '应用资源') {
this.dataView = val.filter(
(item) => item.name === this.dataForm.type + '一'
(item) => item.name === this.dataForm.type
)[0]
this.dataForm.infoList.map((item, index) => {
this.dataView.children.map((itemView, indexView) => {
@ -253,7 +253,7 @@ export default {
(item) => item.attrType === '组件类型'
)
this.dataView = val.filter(
(item) => item.name === this.dataForm.type + '一'
(item) => item.name === this.dataForm.type
)[0]
this.dataView = this.dataView.children.filter(
(item) => item.name === componentType[0].attrValue
@ -366,7 +366,7 @@ export default {
},
computed: {},
methods: {
videoAndImg(link) {
videoAndImg (link) {
if (link) {
window.open(link)
} else {
@ -376,7 +376,7 @@ export default {
})
}
},
deptName() {
deptName () {
console.log(this.dataForm.deptId)
this.$http
.get(`/sys/dept/${this.dataForm.deptId}`)
@ -385,7 +385,7 @@ export default {
this.unit = res.data.name
})
},
queryPartAppByKeyIdFunction(index, indexSon, indexSonSon) {
queryPartAppByKeyIdFunction (index, indexSon, indexSonSon) {
if (this.dataForm.type === '组件服务') {
this.$http
.get(
@ -424,8 +424,8 @@ export default {
}
}
},
created() { },
mounted() {
created () { },
mounted () {
this.deptName()
}
}

View File

@ -35,12 +35,18 @@
<!-- 审批 -->
<div class="agreeOr" v-if="taskId">
<h3>审批</h3>
<div>
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
<div class="approvalOperation">
<div class="contentOperation">
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
<el-button class="transferButton" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
</div>
<!-- <el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('驳回')"
>驳回</el-button
>
> -->
<!-- <el-radio-group v-model="agreeOrList" style="width: 230px">
<el-radio-button label="同意" class="blueAll">同意</el-radio-button>
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
@ -149,7 +155,7 @@ export default {
'/act/task/getTaskVariables?taskId=' + this.$route.params.taskId + '&variableName=allowEntrust'
).then(entrust => {
console.log('11111111111111', entrust, this.dataForm)
if (entrust.data.data.allowEntrust === true) {
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
this.taskEntrustFlag2 = true
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
this.$alert('当前审核部门为' + this.dataForm.deptName + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
@ -243,46 +249,46 @@ export default {
},
// 退
agreeOrNot: debounce(
function (data) {
if (this.dialogType === '同意') {
if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.taskId,
comment: this.input
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
function (data, type) {
if (type === '同意') {
// if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.taskId,
comment: this.input || '同意'
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
bus.$emit('abilityResourceShelfInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
this.input = ''
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
return
}
bus.$emit('abilityResourceShelfInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
this.input = ''
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
})
}
})
.catch(() => {})
this.tabRemoveHandle(data)
} else {
this.$message.error('请输入审批意见!')
}
} else if (this.dialogType === '驳回') {
})
.catch(() => {})
this.tabRemoveHandle(data)
// } else {
// this.$message.error('')
// }
} else if (type === '驳回') {
if (this.input !== '') {
const params = qs.stringify({
taskId: this.taskId,
@ -358,7 +364,7 @@ export default {
}
::v-deep .agreeOr > div {
display: flex;
align-items: center;
//align-items: center;
.el-input {
margin-right: 10px;
margin-left: 32px;
@ -416,4 +422,99 @@ export default {
.blueInput {
width: 55px;
}
.approvalOperation{
display: flex;
flex-direction: column;
.contentOperation{
display: flex;
flex-direction: row;
margin-bottom: 10px;
.el-input{
margin-left: 0px;
width: 500px;
height: 32px;
::v-deep.el-input__inner{
height: 32px;
}
}
.agreeButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #ffffff;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
background-color: #0058e1;
}
.agreeButton:hover{
background: #65a5f9;
border-color: #65a5f9;
color: #FFF;
}
.rejectButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #F56C6C;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #F56C6C;
margin-left: 12px;
}
.rejectButton:hover{
background-color: #F56C6C;
border-color: #F56C6C;
color: #ffffff;
}
.transferButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #0058e1;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #0058e1;
margin-left: 12px;
}
}
}
</style>

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua
* @Date: 2022-06-29 15:59:51
* @LastEditors: Light
* @LastEditTime: 2022-11-01 15:00:19
* @LastEditTime: 2022-11-17 17:39:31
* @Description: 告诉大家这是什么
-->
<!-- 流程业务表单 -->
@ -89,15 +89,18 @@
<!-- 审批 -->
<div class="agreeOr" v-if="dataForm.taskId">
<h3>审批</h3>
<div>
<div class="approvalOperation">
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
<el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button>
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
</el-radio-group> -->
<!-- 委托 -->
<el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('驳回')">驳回</el-button>
<div class="contentOperation">
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
<el-button class="agreeButton" @click="agreeOrNot($store.state.contentTabsActiveName,'同意')">同意</el-button>
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
<el-button class="transferButton" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
</div>
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
@ -107,14 +110,14 @@
<ren-task-entrust v-if="renTaskEntrustVisible" ref="renTaskEntrust"></ren-task-entrust>
<!-- 流程详情 -->
<ren-process-detail ref="renProcessMultiple"></ren-process-detail>
<el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
<!-- <el-dialog title="审批意见" :close-on-click-modal="false" :visible.sync="dialogVisible" width="30%"
:before-close="handleClose">
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose2"> </el-button>
<el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)"> </el-button>
</span>
</el-dialog>
</el-dialog> -->
</el-card>
</template>
@ -169,6 +172,7 @@ export default {
this.$http.get('/sys/user/info').then(({ data: res }) => {
res.data.roleIdList.map(val => {
this.$http.get('/sys/role/' + val).then(role => {
console.log('role', role)
if (role.data.data.name === '流程管理员') {
this.taskEntrustFlag = true
}
@ -278,7 +282,7 @@ export default {
.get(
`/act/task/getTaskVariables?${params}&variableName=allowEntrust`
).then(entrust => {
if (entrust.data.data.allowEntrust === true) {
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
this.taskEntrustFlag2 = true
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
this.$alert('当前审核部门为' + res.data.tAbilityApplicationDTOList[0].resourceOwnerDept.name + ',该部门未配置审核人,请联系运维工程师配置完成后进行流程转办!', '流程提醒', {
@ -410,45 +414,47 @@ export default {
},
// 退
agreeOrNot: debounce(
function (data) {
if (this.dialogType === '同意') {
if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
function (data, type) {
// console.log('datadata',data);
// console.log('tttttt',type);
// if (type === '') {
if (this.input !== '') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input || '同意'
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
bus.$emit('competencyApplicationInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
return
}
bus.$emit('competencyApplicationInit')
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
})
}
})
.catch(() => { })
this.tabRemoveHandle(data)
} else {
this.$message.error('请输入审批意见!')
}
} else if (this.dialogType === '驳回') {
})
.catch(() => { })
this.tabRemoveHandle(data)
// } else {
// this.$message.error('')
// }
} else if (type === '驳回') {
if (this.input !== '') {
const params = qs.stringify({
taskId: this.dataForm.taskId,
@ -670,7 +676,7 @@ export default {
::v-deep .agreeOr > div {
display: flex;
align-items: center;
//align-items: center;
.el-input {
margin-right: 10px;
@ -737,4 +743,99 @@ export default {
.blueInput {
width: 55px;
}
.approvalOperation{
display: flex;
flex-direction: column;
.contentOperation{
display: flex;
flex-direction: row;
margin-bottom: 10px;
.el-input{
margin-left: 0px;
width: 500px;
height: 32px;
::v-deep.el-input__inner{
height: 32px;
}
}
.agreeButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #ffffff;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
background-color: #0058e1;
}
.agreeButton:hover{
background: #65a5f9;
border-color: #65a5f9;
color: #FFF;
}
.rejectButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #F56C6C;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #F56C6C;
margin-left: 12px;
}
.rejectButton:hover{
background-color: #F56C6C;
border-color: #F56C6C;
color: #ffffff;
}
.transferButton{
display: inline-block;
line-height: 8px;
width:80px;
height: 32px;
white-space: nowrap;
cursor: pointer;
color: #0058e1;
-webkit-appearance: none;
text-align: center;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 0;
margin: 0;
-webkit-transition: .1s;
transition: .1s;
font-weight: 500;
//padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
border-color: #0058e1;
margin-left: 12px;
}
}
}
</style>

View File

@ -6,7 +6,7 @@
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -6,13 +6,13 @@
<ren-select v-model="dataForm.type" dict-type="notice_type" :placeholder="$t('notice.type')"></ren-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"

View File

@ -9,7 +9,7 @@
<el-button type="primary" @click="uploadHandle()">{{ $t('oss.upload') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -12,7 +12,7 @@
<el-input v-model="dataForm.tradeStatus" :placeholder="$t('order.tradeStatus')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -12,7 +12,7 @@
<ren-select v-model="dataForm.status" dict-type="order_status" :placeholder="$t('order.status')"></ren-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>

View File

@ -9,7 +9,7 @@
<el-input v-model="dataForm.resourceName" placeholder="应用名称" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="reset">重置</el-button>

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

View File

@ -22,7 +22,7 @@
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getDataList()">查询</el-button>
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="reset">重置</el-button>
</el-form-item>
</el-form>
<el-table row-key="id" :data="dataList" border style="width: 100%">

View File

@ -9,13 +9,13 @@
<el-input v-model="dataForm.dictType" :placeholder="$t('dict.dictType')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:dict:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
<el-button type="primary" v-if="$hasPermission('sys:dict:save')" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:dict:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" v-if="$hasPermission('sys:dict:delete')" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -65,10 +65,10 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button @click="resetFunction()"> 重置 </el-button>
<el-button type="primary" @click="resetFunction()"> 重置 </el-button>
</el-form-item>
<!-- <el-form-item>
<el-button type="info" @click="exportHandle()">{{

View File

@ -3,7 +3,7 @@
<div class="mod-sys__log-error">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">

View File

@ -13,10 +13,10 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{ $t('export') }}</el-button>
<el-button type="primary" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @sort-change="dataListSortChangeHandle" style="width: 100%;">

View File

@ -45,10 +45,10 @@
></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button @click="resetFunction()"> 重置 </el-button>
<el-button type="primary" @click="resetFunction()"> 重置 </el-button>
</el-form-item>
<!-- <el-form-item>
<el-button type="info" @click="exportHandle()">{{

View File

@ -9,6 +9,15 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__menu">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.name" :placeholder="$t('process.name')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:menu:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
@ -52,11 +61,22 @@ export default {
mixinViewModuleOptions: {
getDataListURL: '/sys/menu/list',
deleteURL: '/sys/menu'
}
},
dataForm: {
name: null
},
}
},
components: {
AddOrUpdate
},
methods: {
resetHandle() {
this.dataForm.name = '';
this.$nextTick(() => {
this.getDataList()
})
},
}
}
</script>

View File

@ -6,7 +6,7 @@
<el-input v-model="dataForm.username" :placeholder="$t('online.username')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -6,13 +6,13 @@
<el-input v-model="dataForm.paramCode" :placeholder="$t('params.paramCode')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:params:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:params:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:params:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">

View File

@ -12,14 +12,14 @@
<ren-select v-model="dataForm.status" dict-type="post_status" :placeholder="$t('post.status')"></ren-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:post:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
<el-button type="primary" v-if="$hasPermission('sys:post:save')" @click="addOrUpdateHandle()">{{ $t('add') }}
</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:post:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
<el-button v-if="$hasPermission('sys:post:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch')
}}</el-button>
</el-form-item>
<el-form-item>

View File

@ -6,13 +6,13 @@
<el-input v-model="dataForm.name" :placeholder="$t('role.name')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button @click="getDataList()" type="primary">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:role:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:role:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button v-if="$hasPermission('sys:role:delete')" type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:role:reset')" type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>

View File

@ -27,19 +27,19 @@
}}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:user:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
<el-button type="primary" v-if="$hasPermission('sys:user:save')" @click="addOrUpdateHandle()">{{ $t('add') }}
</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:user:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch')
<el-button type="primary" v-if="$hasPermission('sys:user:delete')" @click="deleteHandle()">{{ $t('deleteBatch')
}}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:user:export')" type="info" @click="exportHandle()">{{ $t('export') }}
<el-button type="primary" v-if="$hasPermission('sys:user:export')" @click="exportHandle()">{{ $t('export') }}
</el-button>
</el-form-item>
<el-form-item>
<el-button @click="reset()">重置</el-button>
<el-button type="primary" @click="reset()">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"

View File

@ -6,10 +6,10 @@
<el-input v-model="dataForm.fileName" :placeholder="$t('fileName')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
<el-button type="primary" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form>
<el-table

View File

@ -7,527 +7,485 @@
*/
// eslint-disable-next-line no-undef
const newLocation = CONFIGITEM.version
// const newLocation = 'baotou'
// const newLocation = 'xihaian'
// const newLocation = 'baotou'
// const newLocation = 'xihaian'
//
const whoShow = {}
const launchedDataNumObject = {}
//
//
const navListManagement = {}
//
//
const uavAndIndividualSoldier = {}
//
//
const infrastructure = {}
//
//
const mapTestNum = {}
//
//
const footerDataList = {}
// 西--
// 西--
const xhaHasPermissionUser = {}
// qingdao
// qingdao
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
whoShow.itShowQingDao = true
infrastructure.deptName = '青岛市大数据发展管理局'
infrastructure.deptId = '1067246875800000066'
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent' },
// { name: '', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '新手指南', key: 'instructionManual' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
// { name: '', key: 'assignCase' },
{ name: '融合服务', key: 'integrationServices' },
{ name: 'CIM专区', key: 'cimSpecialArea' },
]
footerDataList.footerList = {
company: {
left: '青岛市大数据发展管理局',
right: '政府标识码3702000106',
},
address: [
{
name: '邮编: 266071',
value: 'Email: QDDSJJ@qingdao.shandong.cn',
},
{
name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关三号办公楼',
},
{
name: '电话0532-85912587',
value: '传真0532-85912181',
},
],
}
mapTestNum.lsNum = [
{
name: '基础设施',
key: 'lsjcss',
num: '20135个',
},
{
name: '数据资源',
key: 'lsjcss',
num: '857项',
},
{
name: '应用资源',
key: 'lsjcss',
num: '28个',
},
]
mapTestNum.xhaNum = [
{
name: '基础设施',
key: 'xhajcss',
num: '35282个',
},
{
name: '数据资源',
key: 'xhajcss',
num: '11项',
},
{
name: '应用资源',
key: 'xhajcss',
num: '23个',
},
{
name: '组件服务',
key: 'xhazjfw',
num: '8个',
},
]
whoShow.itShowQingDao = true
infrastructure.deptName = '青岛市大数据发展管理局'
infrastructure.deptId = '1067246875800000066'
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent', innerKey: 'algorithmCompare' },
// { name: '', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '新手指南', key: 'instructionManual' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
// { name: '', key: 'assignCase' },
{ name: '融合服务', key: 'integrationServices' },
{ name: 'CIM专区', key: 'cimSpecialArea' },
]
footerDataList.footerList = {
company: {
left: '青岛市大数据发展管理局',
right: '政府标识码3702000106',
},
address: [{
name: '邮编: 266071',
value: 'Email: QDDSJJ@qingdao.shandong.cn',
},
{
name: '版权所有:青岛市大数据发展管理局',
value: '地址山东省青岛市香港中路17号市级机关三号办公楼',
},
{
name: '电话0532-85912587',
value: '传真0532-85912181',
},
],
}
mapTestNum.lsNum = [{
name: '基础设施',
key: 'lsjcss',
num: '20135个',
},
{
name: '数据资源',
key: 'lsjcss',
num: '857项',
},
{
name: '应用资源',
key: 'lsjcss',
num: '28个',
},
]
mapTestNum.xhaNum = [{
name: '基础设施',
key: 'xhajcss',
num: '35282个',
},
{
name: '数据资源',
key: 'xhajcss',
num: '11项',
},
{
name: '应用资源',
key: 'xhajcss',
num: '23个',
},
{
name: '组件服务',
key: 'xhazjfw',
num: '8个',
},
]
}
// baotou
else if (newLocation === 'baotou') {
whoShow.itShowBaoTou = true
launchedDataNumObject.launchedDataNum = [
{
num: 10372,
},
{
num: 1080,
},
{
num: 976,
},
]
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent' },
{ name: '能力云图', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
{ name: '赋能案例', key: 'assignCase' },
]
footerDataList.footerList = {
company: {
left: '包头市工业和信息化局大数据中心建设',
right: '海信网络科技股份有限公司',
},
address: [
{
name: '蒙ICP备05003330-1号',
value: '政府标识码1502000040',
},
{
name: '版权所有:包头市工业和信息化局大数据中心',
value: '地址内蒙古自治区包头市九原区开元大街1号',
},
{
name: '电话0472-5618235',
value: '传真0472-5618235',
},
],
}
whoShow.itShowBaoTou = true
launchedDataNumObject.launchedDataNum = [{
num: 10372,
},
{
num: 1080,
},
{
num: 976,
},
]
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent' },
{ name: '能力云图', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
{ name: '赋能案例', key: 'assignCase' },
]
footerDataList.footerList = {
company: {
left: '包头市工业和信息化局大数据中心建设',
right: '海信网络科技股份有限公司',
},
address: [{
name: '蒙ICP备05003330-1号',
value: '政府标识码1502000040',
},
{
name: '版权所有:包头市工业和信息化局大数据中心',
value: '地址内蒙古自治区包头市九原区开元大街1号',
},
{
name: '电话0472-5618235',
value: '传真0472-5618235',
},
],
}
}
// xihaian
else if (newLocation === 'xihaian') {
whoShow.itShowXiHaiAn = true
infrastructure.deptName = '西海岸新区大数据发展'
// infrastructure.deptId = '1067246875800000066'
uavAndIndividualSoldier.num = 4
uavAndIndividualSoldier.uavList = [
{
name: '经纬 M300 RTK-1',
url: '',
details: [
{
name: '飞行器',
attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)':
'3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g',
最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 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',
'悬停精度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',
最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度:
'5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min',
'适配 DJI 云台':
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式:
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C',
},
whoShow.itShowXiHaiAn = true
infrastructure.deptName = '西海岸新区大数据发展'
// infrastructure.deptId = '1067246875800000066'
uavAndIndividualSoldier.num = 4
uavAndIndividualSoldier.uavList = [{
name: '经纬 M300 RTK-1',
url: '',
details: [{
name: '飞行器',
attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g',
最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 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',
'悬停精度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',
最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度: '5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min',
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C',
},
},
{
name: '遥控器',
attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)': 'NCC/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',
外置电池: '名称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 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C',
},
},
{
name: '视觉系统',
attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境: '表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
},
},
{
name: '红外感知系统',
attribute: {
障碍物感知范围: '0.1-8 m',
FOV: '30°±15°',
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
},
},
{
name: '上下补光灯',
attribute: {
有效照明距离: '5 m',
},
},
{
name: 'FPV摄像头',
attribute: {
分辨率: '960p',
FOV: '145°',
帧率: '30 fps',
},
},
{
name: '智能飞行电池',
attribute: {
型号: 'TB60',
容量: '5935 mAh',
电压: '52.8 V',
电池类型: 'LiPo 12S',
能量: '274 Wh',
电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃',
充电环境温度: '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
},
},
{
name: 'BS60智能电池箱',
attribute: {
外形尺寸: '501×403×252 mm',
空箱重量: '8.37 kg',
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
输入电压: '100-120 VAC50-60 Hz / 220-240 VAC50-60 Hz',
最大输入功率: '1070 W',
输出功率: '100-120 V750 W、220-240 V992 W',
工作环境温度: '-20℃ 至 40℃',
},
},
],
},
{
name: '遥控器',
attribute: {
工作频率: '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',
外置电池:
'名称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 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C',
},
name: '经纬 M300 RTK-2',
url: '',
details: [{
name: '飞行器',
attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g',
最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 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',
'悬停精度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',
最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度: '5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min',
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C',
},
},
{
name: '遥控器',
attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)': 'NCC/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',
外置电池: '名称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 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C',
},
},
{
name: '视觉系统',
attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境: '表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
},
},
{
name: '红外感知系统',
attribute: {
障碍物感知范围: '0.1-8 m',
FOV: '30°±15°',
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
},
},
{
name: '上下补光灯',
attribute: {
有效照明距离: '5 m',
},
},
{
name: 'FPV摄像头',
attribute: {
分辨率: '960p',
FOV: '145°',
帧率: '30 fps',
},
},
{
name: '智能飞行电池',
attribute: {
型号: 'TB60',
容量: '5935 mAh',
电压: '52.8 V',
电池类型: 'LiPo 12S',
能量: '274 Wh',
电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃',
充电环境温度: '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
},
},
{
name: 'BS60智能电池箱',
attribute: {
外形尺寸: '501×403×252 mm',
空箱重量: '8.37 kg',
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
输入电压: '100-120 VAC50-60 Hz / 220-240 VAC50-60 Hz',
最大输入功率: '1070 W',
输出功率: '100-120 V750 W、220-240 V992 W',
工作环境温度: '-20℃ 至 40℃',
},
},
],
},
]
uavAndIndividualSoldier.individualSoldier = [{
name: 'T950天通-1',
type: '单兵设备',
details: {
基本信息: {
外观设计: '172X81X15.7(不含天线)336g',
操作系统: 'Android P',
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万',
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h',
},
制式频段: {
卫星频段: '天通一号卫星',
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1N28N41, N78N79',
双卡: '双nano卡(卫星卡+运营商全网通卡)',
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
VOLTE: '支持',
},
IO接口: {
USB接口类型: 'TYPE-C USB3.0支持OTG功能',
耳机接口: '3.5mm,美标',
存储卡: '支持TF卡扩展',
},
其它功能: {
蓝牙: 'V5.0',
定位: 'GPS、北斗混合定位、单北斗模式',
NFC: '支持',
充电方式: '三种充电方式(线充、座充、磁吸充电)',
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
},
环境适应性: {
工作温度: '-20°~ 60°',
存储温度: '-40°~ 80°',
高温高湿: '(95±3)%(≧40°)24小时',
防护等级: 'IP68',
},
},
},
{
name: '视觉系统',
attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境:
'表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
},
name: 'T950天通-2',
type: '单兵设备',
details: {
基本信息: {
外观设计: '172X81X15.7(不含天线)336g',
操作系统: 'Android P',
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万',
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h',
},
制式频段: {
卫星频段: '天通一号卫星',
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1N28N41, N78N79',
双卡: '双nano卡(卫星卡+运营商全网通卡)',
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
VOLTE: '支持',
},
IO接口: {
USB接口类型: 'TYPE-C USB3.0支持OTG功能',
耳机接口: '3.5mm,美标',
存储卡: '支持TF卡扩展',
},
其它功能: {
蓝牙: 'V5.0',
定位: 'GPS、北斗混合定位、单北斗模式',
NFC: '支持',
充电方式: '三种充电方式(线充、座充、磁吸充电)',
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
},
环境适应性: {
工作温度: '-20°~ 60°',
存储温度: '-40°~ 80°',
高温高湿: '(95±3)%(≧40°)24小时',
防护等级: 'IP68',
},
},
},
{
name: '红外感知系统',
attribute: {
障碍物感知范围: '0.1-8 m',
FOV: '30°±15°',
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
},
]
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent' },
{ name: '能力云图', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
{ name: '赋能案例', key: 'assignCase' },
]
footerDataList.footerList = {
company: {
left: '青岛西海岸新区大数据发展促进局建设',
// eslint-disable-next-line no-undef
right: CONFIGITEM.vNum,
},
{
name: '上下补光灯',
attribute: {
有效照明距离: '5 m',
},
},
{
name: 'FPV摄像头',
attribute: {
分辨率: '960p',
FOV: '145°',
帧率: '30 fps',
},
},
{
name: '智能飞行电池',
attribute: {
型号: 'TB60',
容量: '5935 mAh',
电压: '52.8 V',
电池类型: 'LiPo 12S',
能量: '274 Wh',
电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃',
充电环境温度:
'-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间:
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
},
},
{
name: 'BS60智能电池箱',
attribute: {
外形尺寸: '501×403×252 mm',
空箱重量: '8.37 kg',
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
输入电压: '100-120 VAC50-60 Hz / 220-240 VAC50-60 Hz',
最大输入功率: '1070 W',
输出功率: '100-120 V750 W、220-240 V992 W',
工作环境温度: '-20℃ 至 40℃',
},
},
],
},
{
name: '经纬 M300 RTK-2',
url: '',
details: [
{
name: '飞行器',
attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)':
'3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g',
最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 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',
'悬停精度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',
最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度:
'5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min',
'适配 DJI 云台':
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式:
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C',
},
},
{
name: '遥控器',
attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)':
'NCC/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',
外置电池:
'名称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 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C',
},
},
{
name: '视觉系统',
attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境:
'表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
},
},
{
name: '红外感知系统',
attribute: {
障碍物感知范围: '0.1-8 m',
FOV: '30°±15°',
使用环境: '漫反射,大尺寸,高反射率(反射率>10%)障碍物',
},
},
{
name: '上下补光灯',
attribute: {
有效照明距离: '5 m',
},
},
{
name: 'FPV摄像头',
attribute: {
分辨率: '960p',
FOV: '145°',
帧率: '30 fps',
},
},
{
name: '智能飞行电池',
attribute: {
型号: 'TB60',
容量: '5935 mAh',
电压: '52.8 V',
电池类型: 'LiPo 12S',
能量: '274 Wh',
电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃',
充电环境温度:
'-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间:
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
},
},
{
name: 'BS60智能电池箱',
attribute: {
外形尺寸: '501×403×252 mm',
空箱重量: '8.37 kg',
可放置物品: 'TB60 智能飞行电池 8 块、WB37 智能电池 4 块',
输入电压: '100-120 VAC50-60 Hz / 220-240 VAC50-60 Hz',
最大输入功率: '1070 W',
输出功率: '100-120 V750 W、220-240 V992 W',
工作环境温度: '-20℃ 至 40℃',
},
},
],
},
]
uavAndIndividualSoldier.individualSoldier = [
{
name: 'T950天通-1',
type: '单兵设备',
details: {
基本信息: {
外观设计: '172X81X15.7(不含天线)336g',
操作系统: 'Android P',
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头:
'后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万',
传感器相关:
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h',
},
制式频段: {
卫星频段: '天通一号卫星',
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1N28N41, N78N79',
双卡: '双nano卡(卫星卡+运营商全网通卡)',
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
VOLTE: '支持',
},
IO接口: {
USB接口类型: 'TYPE-C USB3.0支持OTG功能',
耳机接口: '3.5mm,美标',
存储卡: '支持TF卡扩展',
},
其它功能: {
蓝牙: 'V5.0',
定位: 'GPS、北斗混合定位、单北斗模式',
NFC: '支持',
充电方式: '三种充电方式(线充、座充、磁吸充电)',
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
},
环境适应性: {
工作温度: '-20°~ 60°',
存储温度: '-40°~ 80°',
高温高湿: '(95±3)%(≧40°)24小时',
防护等级: 'IP68',
},
},
},
{
name: 'T950天通-2',
type: '单兵设备',
details: {
基本信息: {
外观设计: '172X81X15.7(不含天线)336g',
操作系统: 'Android P',
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头:
'后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万',
传感器相关:
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h',
},
制式频段: {
卫星频段: '天通一号卫星',
频段: '2G:GSM 850/900/1800/1900;3G:WCDMA850/900/1900/2100;4G:TD-LTE B38/39/40/41;4G:FDD-LTE B1/3/5/7/8;5G: N1N28N41, N78N79',
双卡: '双nano卡(卫星卡+运营商全网通卡)',
CA: 'B1+B3 下行 2CA(电信);B40/41带内上下行 2CA',
VOLTE: '支持',
},
IO接口: {
USB接口类型: 'TYPE-C USB3.0支持OTG功能',
耳机接口: '3.5mm,美标',
存储卡: '支持TF卡扩展',
},
其它功能: {
蓝牙: 'V5.0',
定位: 'GPS、北斗混合定位、单北斗模式',
NFC: '支持',
充电方式: '三种充电方式(线充、座充、磁吸充电)',
按键: '开机键、音量+/-、 SOS(侧面)、PTT按键',
},
环境适应性: {
工作温度: '-20°~ 60°',
存储温度: '-40°~ 80°',
高温高湿: '(95±3)%(≧40°)24小时',
防护等级: 'IP68',
},
},
},
]
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent' },
{ name: '能力云图', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
// { name: '', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' },
{ name: '赋能案例', key: 'assignCase' },
]
footerDataList.footerList = {
company: {
left: '青岛西海岸新区大数据发展促进局建设',
// eslint-disable-next-line no-undef
right: CONFIGITEM.vNum,
},
address: [
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},
{
name: '版权所有:青岛西海岸新区大数据发展促进局',
value: '地址青岛市西海岸新区长江中路369号',
},
{
name: '电话0532-86986596',
value: '传真0532-86986596',
},
],
}
xhaHasPermissionUser.list = [
'xihaian01',
'xihaian02',
'xihaian03',
'xihaian04',
'admin',
]
address: [{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},
{
name: '版权所有:青岛西海岸新区大数据发展促进局',
value: '地址青岛市西海岸新区长江中路369号',
},
{
name: '电话0532-86986596',
value: '传真0532-86986596',
},
],
}
xhaHasPermissionUser.list = [
'xihaian01',
'xihaian02',
'xihaian03',
'xihaian04',
'admin',
]
}

View File

@ -1,8 +1,8 @@
<!--
* @Author: hisense.wuhongjian
* @Date: 2022-05-06 11:12:00
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-08-03 10:13:59
* @LastEditors: Light
* @LastEditTime: 2022-11-16 10:21:49
* @Description: 告诉大家这是什么
-->
<template>
@ -13,56 +13,138 @@
</div>
</template>
<script setup>
import zhCN from 'ant-design-vue/es/locale/zh_CN'
import Cookies from 'js-cookie'
import { onBeforeUnmount } from 'vue'
import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus'
const router = useRouter()
import onWholeWaterMark from '@/utils/waterMark'
import * as moment from 'moment'
import { getUser } from '@/api/home'
import { getCategoryTreePage } from '@/api/personalCenter'
import zhCN from 'ant-design-vue/es/locale/zh_CN'
import Cookies from 'js-cookie'
import { onBeforeUnmount, onMounted, watch, nextTick } from 'vue'
import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus'
const router = useRouter()
const locale = zhCN
const token = Cookies.get('ucsToken')
console.log('token=================>', token)
let ws = new WebSocket(
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
)
// ws.send()
// onmessage
ws.onmessage = function (e) {
console.log('WebSocket服务器返回的信息: ' + e.data)
mybus.emit('getMynotice')
//
if (router.currentRoute.value.name === 'mynoticeView') {
mybus.emit('noticeListInit')
}
}
ws.onerror = function (e) {
console.log('WebSocket连接异常============================>', e)
ws = new WebSocket(
const locale = zhCN
const token = Cookies.get('ucsToken')
console.log('token=================>', token)
let ws = new WebSocket(
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
)
}
ws.onclose = function (e) {
console.log('WebSocket连接断开============================>', e)
}
onBeforeUnmount(() => {
// 4.,
ws.close()
})
// ws.send()
// onmessage
ws.onmessage = function (e) {
console.log('WebSocket服务器返回的信息: ' + e.data)
mybus.emit('getMynotice')
//
if (router.currentRoute.value.name === 'mynoticeView') {
mybus.emit('noticeListInit')
}
}
ws.onerror = function (e) {
console.log('WebSocket连接异常============================>', e)
ws = new WebSocket(
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
)
}
ws.onclose = function (e) {
console.log('WebSocket连接断开============================>', e)
}
let realName = '默认水印'
const arr = []
const changeWaterMark = (newValue) => {
console.log('监听', newValue, arr)
if (document.getElementById(realName.charCodeAt())) {
if (arr.indexOf(newValue) > -1) {
document.getElementById(realName.charCodeAt()).style.opacity = 1
document.getElementById(
moment().format('YYYY-MM-DD').charCodeAt()
).style.opacity = 1
} else {
document.getElementById(realName.charCodeAt()).style.opacity = 0
document.getElementById(
moment().format('YYYY-MM-DD').charCodeAt()
).style.opacity = 0
}
} else if (document.getElementById('默认水印'.charCodeAt())) {
if (arr.indexOf(newValue) > -1) {
document.getElementById('默认水印'.charCodeAt()).style.opacity = 1
document.getElementById(
moment().format('YYYY-MM-DD').charCodeAt()
).style.opacity = 1
} else {
document.getElementById('默认水印'.charCodeAt()).style.opacity = 0
document.getElementById(
moment().format('YYYY-MM-DD').charCodeAt()
).style.opacity = 0
}
}
}
const waterMarkInit = (newValue) => {
getUser().then((res) => {
if (res.data.code == 0) {
realName = res.data.data.realName
}
onWholeWaterMark(
[realName, moment().format('YYYY-MM-DD')],
600,
300,
30,
50
)
getCategoryTreePage({
page: 1,
limit: 999,
dictTypeId: '1592357067014803457',
}).then((res) => {
arr.length = 0
res.data.data.list.map((val) => {
arr.push(val.dictValue)
})
if (newValue) {
changeWaterMark(newValue)
}
})
})
}
watch(
() => router.currentRoute.value.path,
(newValue, oldValue) => {
console.log(
'路由变化',
newValue,
oldValue,
realName,
realName.charCodeAt()
)
//
if (oldValue == '/login' || oldValue == '/') {
waterMarkInit(newValue)
}
changeWaterMark(newValue)
},
{ immediate: true }
)
onMounted(() => {
waterMarkInit()
})
onBeforeUnmount(() => {
// 4.,
ws.close()
})
</script>
<style lang="less">
@import '~@/vab/styles/vab.less';
@import '~@/vab/styles/vab.less';
#vue-admin-beautiful {
max-width: 1920px;
// max-height: 1080px;
margin: auto;
height: 100%;
position: relative;
background-color: #fff;
}
#vue-admin-beautiful {
max-width: 1920px;
// max-height: 1080px;
margin: auto;
height: 100%;
position: relative;
background-color: #fff;
}
body {
font-size: 0.14rem;
}
body {
font-size: 0.14rem;
}
</style>

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-04-01 19:19:40
* @LastEditors: Light
* @LastEditTime: 2022-10-31 15:52:57
* @LastEditTime: 2022-11-18 14:09:20
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -526,3 +526,10 @@ export function getGisByArea(data) {
data,
})
}
export function getPolicyCloudService(data) {
return request({
url: '/resource/getPolicyCloudService',
method: 'post',
data,
})
}

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: 4.2 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: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 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: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

View File

@ -0,0 +1,69 @@
/*
* @Author: Light
* @Date: 2022-11-14 15:01:54
* @LastEditors: Light
* @LastEditTime: 2022-11-16 09:57:28
* @Description: 水印
*/
const watermark = {
timer: null,
set: () => {},
}
const setWatermark = (str, width, height, size, top, index) => {
console.log('生成水印')
const id = str.charCodeAt()
if (document.getElementById(id) !== null) {
document.body.removeChild(document.getElementById(id))
}
const can = document.createElement('canvas')
can.width = width
can.height = height
const cans = can.getContext('2d')
cans.rotate((-20 * Math.PI) / 180)
cans.font = size + 'px Microsoft YaHei'
cans.fillStyle = 'rgba(200, 200, 200, 0.4)'
cans.textAlign = 'left'
cans.textBaseline = 'middle'
cans.fillText(str, can.width / 3, can.height / 2)
const WATER_MARK = document.createElement('div')
const ALL_WIDTH = document.documentElement.clientWidth + 'px'
const ALL_HEIGHT = document.documentElement.clientHeight + 'px'
WATER_MARK.id = id
WATER_MARK.style.cssText = `
position: fixed;
top: ${index * top}px;
left: 0;
zIndex: 99999999;
pointer-events: none;
width: ${ALL_WIDTH};
height: ${ALL_HEIGHT};
background: url(${can.toDataURL('image/png')}) left top repeat;
opacity: 0;
`
document.body.appendChild(WATER_MARK)
return id
}
//
watermark.set = (str, width, height, size, top, index) => {
let id = setWatermark(str, width, height, size, top, index)
watermark.timer && clearTimeout(watermark.timer)
watermark.timer = setTimeout(() => {
if (document.getElementById(id) === null) {
id = setWatermark(str, width, height, size, top, index)
}
}, 300)
window.onresize = () => {
setWatermark(str, width, height, size, top, index)
}
}
const onWholeWaterMark = (arr, width, height, size, top) => {
arr.map((str, index) => {
watermark.set(str, width, height, size, top, index)
})
}
export default onWholeWaterMark

View File

@ -259,7 +259,7 @@
padding-bottom: 0;
.main {
width: 100%;
margin-top: 10px;
margin-top: 60px;
display: flex;
flex-direction: column;
align-items: center;
@ -273,7 +273,7 @@
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-bottom: 26px;
margin-bottom: -10px;
.line {
width: 34px;
height: 3px;
@ -356,6 +356,8 @@
color: #734204;
}
.content-neirong {
font-size: 18px;
font-weight: 600;
width: 215px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;

View File

@ -31,7 +31,11 @@
查看更多
<span class="gengduo"></span>
</div>
<a-empty v-else style="margin-top: 160px; margin-bottom: 60px" />
<a-empty
v-else
style="margin-top: 160px; margin-bottom: 60px"
:imageStyle="{ color: '#0058e1' }"
/>
</div>
</div>
</template>
@ -92,6 +96,7 @@
dataList.value[index].photo = photo.value[4]
break
}
dataList.value = []
})
console.log('123123123qwee', dataList.value)

View File

@ -240,8 +240,8 @@
},
legend: {
icon: 'emptyCircle',
height: 3,
itemGap: 40,
itemGap: 20,
padding: 20,
// orient: 'horizontal',
bottom: 0,
formatter: function (name) {
@ -261,8 +261,7 @@
{
center: ['50%', '40%'],
type: 'pie',
selectedMode: 'single',
silent: true,
// selectedMode: 'single',
radius: ['50%', '30%'],
color: ['#fe845e', '#6cc95a', '#02d1b0', '#1772ff', '#FAC858'],
top: '0',
@ -290,7 +289,6 @@
type: 'pie',
center: ['50%', '40%'],
radius: ['58%', '50%'],
silent: true,
itemStyle: {
normal: {
color: '#c2c7d6',
@ -477,7 +475,7 @@
barGap: '-100%',
itemStyle: {
normal: {
color: '#C1232B',
color: '#ECB53F',
},
},
// data: [5, 20, 36, 10, 10, 20]
@ -490,7 +488,7 @@
barGap: '-100%',
itemStyle: {
normal: {
color: '#B5C334',
color: '#FE845E',
},
},
// data: [5, 20, 36, 10, 10, 20]
@ -503,7 +501,7 @@
barGap: '-100%',
itemStyle: {
normal: {
color: '#FCCE10',
color: '#6CC95A',
},
},
// data: [5, 20, 36, 10, 10, 20]
@ -516,7 +514,7 @@
barGap: '-100%',
itemStyle: {
normal: {
color: '#E87C25',
color: '#02D1B0',
},
},
// data: [5, 20, 36, 10, 10, 20]
@ -529,20 +527,7 @@
barGap: '-100%',
itemStyle: {
normal: {
color: '#27727B',
},
},
// data: [5, 20, 36, 10, 10, 20]
data: [],
},
{
name: '',
type: 'bar',
barWidth: 35,
barGap: '-100%',
itemStyle: {
normal: {
color: '#FE8463',
color: '#1772FF',
},
},
// data: [5, 20, 36, 10, 10, 20]
@ -560,6 +545,7 @@
for (let i = 0; i < 5; i++) {
if (i == index) {
arr.push(val.value)
// arr.push(10) // 便
} else {
arr.push(0)
}

View File

@ -8,9 +8,17 @@
<div class="SharingSituation-left">
<div>
<div class="left-title">
<div>日平均浏览量 {{ browseAvg }}</div>
<div>
日平均浏览量
<span>{{ browseAvg }}</span>
</div>
<div></div>
<div>日最大浏览量{{ browseMax }}</div>
<div>
日最大浏览量
<span>{{ browseMax }}</span>
</div>
</div>
<div class="left-content-title">
<div
@ -34,7 +42,7 @@
style="
font-size: 14px;
float: left;
margin-left: 420px;
margin-left: 505px;
text-align: center;
padding-top: 6px;
"
@ -42,6 +50,9 @@
单位:
</span>
<p class="p">申请量</p>
<p class="p" style="position: absolute; top: 420px; left: -564px">
浏览量
</p>
</div>
<div class="volume_box">
@ -61,12 +72,12 @@
backgroundImage: `url(${item.photo}) `,
}"
></div>
<div class="name">{{ item.type }}</div>
<div class-="type">{{ item.amount }}</div>
<div class="type">{{ item.type }}</div>
<div class="amount">{{ item.amount }}</div>
</div>
<div class="volume_box-son-bottom" v-else>
<div class="type">{{ item.amount }}</div>
<div class="name">{{ item.type }}</div>
<div class="amount">{{ item.amount }}</div>
<div class="type">{{ item.type }}</div>
<div
class="photo"
:style="{
@ -97,12 +108,20 @@
let myChart = echarts.init(chartDom)
let option
option = {
grid: {
top: '10%',
right: '5%',
bottom: '10%',
left: '5%',
},
xAxis: {
type: 'category',
data: datas.time,
},
yAxis: {
type: 'value',
name: '单位:次',
// minInterval: 1,
},
tooltip: {
show: true,
@ -255,16 +274,21 @@
}
.situation {
font-weight: 600;
font-style: normal;
font-size: 24px;
font-size: 30px;
color: #000;
text-align: center;
}
.line {
width: 34px;
height: 3px;
background-color: #0058e1;
margin-top: 8px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-bottom: 26px;
.line {
width: 34px;
height: 3px;
background-color: #0058e1;
margin-top: 8px;
}
}
.SharingSituation {
@ -274,6 +298,7 @@
display: flex;
justify-content: center;
margin-top: 40px;
position: relative;
.SharingSituation-left {
width: 666px;
@ -282,6 +307,7 @@
z-index: 2;
.left-title {
height: 50px;
line-height: 50px;
width: 100%;
background: #0058e1;
color: #ffffff;
@ -290,6 +316,10 @@
align-items: center;
border-radius: 2px;
padding: 0 80px;
span {
font-size: 26px;
font-weight: 600;
}
}
.left-content-title {
display: flex;
@ -321,8 +351,8 @@
.Chart {
flex: 1;
width: 598px;
height: 286px;
width: 638px;
height: 296px;
background: #f7f7f7;
text-align: center;
margin: auto;
@ -333,15 +363,16 @@
border-radius: 2px;
margin-left: -40px;
.p {
width: 96px;
height: 36px;
width: 95px;
height: 48px;
color: #0058e1;
font-size: 18px;
background: url('../../../assets/abilityStatistics/gongxiangqingkuangliulanl.png')
no-repeat;
background-size: 100%;
text-align: center;
line-height: 36px;
margin-left: 500px;
line-height: 48px;
margin-left: 570px;
}
.volume_box {
width: 666px;
@ -373,6 +404,13 @@
height: 46px;
width: 46px;
}
.amount {
font-size: 30px;
font-weight: 600;
}
.type {
font-size: 18px;
}
}
.volume_box-son-bottom {
position: absolute;

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -7,17 +7,19 @@
-->
<template>
<div class="box">
<div class="header">能力上架申请</div>
<!-- <div class="header">能力上架申请</div> -->
<div class="top">
<div
v-for="(nav, index) in navList"
:key="nav"
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
>
<span class="bg-box">
<span>{{ index + 1 }}</span>
</span>
<span>{{ nav.name }}</span>
<div class="wai">
<span class="bg-box">
<span>{{ index + 1 }}</span>
</span>
<span class="bg-name">{{ nav.name }}</span>
</div>
<div class="line" v-if="index !== navList.length - 1"></div>
</div>
</div>
@ -80,7 +82,7 @@
></put-on-the-shelf>
</div>
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
<button @click="close()">取消</button>
<a-popconfirm
v-if="
showView == '功能介绍' &&
@ -94,9 +96,10 @@
@confirm="changeGnjs('上一步')"
@cancel="cancel"
>
<button>上一步</button>
<button class="buzhou" >上一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '功能介绍' &&
gnjs[0].list.filter((val) => val.note1 !== '').length ==
@ -119,9 +122,10 @@
@confirm="changeYycj('上一步')"
@cancel="cancel"
>
<button>上一步</button>
<button class="buzhou" >上一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
@ -131,7 +135,7 @@
>
上一步
</button>
<button v-else-if="showView !== '基本信息'" @click="back()">
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
上一步
</button>
<a-popconfirm
@ -146,9 +150,9 @@
@confirm="changeBs('预览')"
@cancel="cancel"
>
<button>预览</button>
<button class="buzhou" >预览</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="preview()">
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
预览
</button>
<a-popconfirm
@ -164,9 +168,10 @@
@confirm="changeGnjs('下一步')"
@cancel="cancel"
>
<button>下一步</button>
<button class="buzhou" >下一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '功能介绍' &&
gnjs[0].list.filter((val) => val.note1 !== '').length ==
@ -189,9 +194,10 @@
@confirm="changeYycj('下一步')"
@cancel="cancel"
>
<button>下一步</button>
<button class="buzhou" >下一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
@ -201,7 +207,7 @@
>
下一步
</button>
<button v-else-if="showView !== '部署与使用'" @click="next()">
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
下一步
</button>
<a-popconfirm
@ -216,11 +222,12 @@
@confirm="changeBs('提交')"
@cancel="cancel"
>
<button>提交</button>
<button class="buzhou" >提交</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="submit()">
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
提交
</button>
<button class="quxiao" @click="close()">取消</button>
</div>
</div>
</template>
@ -572,7 +579,7 @@
getCategoryTree().then((res) => {
// console.clear()
res.data.data = res.data.data
.filter((item) => item.name === '组件服务')[0]
.filter((item) => item.name === '组件服务')[0]
.children.filter((item) => item.name === '业务组件')[0]
navList.value = []
navList2.value = []
@ -802,86 +809,121 @@
})
</script>
<style lang="less" scoped>
.box {
position: relative;
top: 64px;
margin: 15px 400px;
padding: 10px;
background: #fff;
.header {
font-size: 28px;
font-weight: 600;
}
.vue-box {
padding: 0 100px;
}
.top {
margin: 10px 20px 0;
padding: 15px 30px;
background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex;
justify-content: center;
align-items: center;
.box {
position: relative;
top: 0.64rem;
// margin: 0.15rem 3rem;
padding: 0.1rem;
background: #fff;
.header {
font-size: 0.28rem;
font-weight: 600;
}
.vue-box {
padding: 0 1rem;
}
.top {
font-size: 16px;
margin: 0.32px 0.4px 0;
padding: 24px 24pxs;
display: flex;
justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box {
display: flex;
justify-content: center;
align-items: center;
width: 45px;
height: 45px;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid rgb(214, 214, 214);
margin-right: 10px;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span {
display: flex;
justify-content: center;
align-items: center;
width: 30px;
height: 30px;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid #999;
border: 1px solid #d9d9d9;
}
}
.line {
margin-left: 10px;
width: 130px;
height: 1px;
background: #999;
.bg-name {
color: #b3b3b3;
}
}
.finish {
color: #0087ff;
.line {
// margin-left: 16px;
width: 326px;
height: 2px;
background: #d9d9d9;
}
}
.finish {
color: #fff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box {
background: #9ccefa;
color: #fff;
border: 1px solid #9ccefa;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span {
background: #0087ff;
border: 1px solid #0087ff;
background: #0058e1;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.line {
background: #0087ff;
.bg-name {
color: #212121;
font-weight: bold;
}
}
.line {
// margin-left: 16px;
width: 326px;
height: 2px;
background: #0058e1;
}
}
.btn {
display: flex;
justify-content: space-between;
padding: 10px 350px 0;
justify-content: space-around;
padding: 0.1rem 3.5rem 0;
button {
cursor: pointer;
width: 80px;
height: 35px;
font-size: 0.14rem;
width: 0.8rem;
height: 0.35rem;
text-align: center;
color: #fff;
border: none;
border-radius: 6px;
border: 0.01rem solid #9ccefa;
span {
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff;
}
button:nth-of-type(1) {
@ -893,7 +935,55 @@
}
}
.first {
justify-content: space-around;
justify-content: center;
}
}
.btn {
display: flex;
justify-content: center;
padding: 0.1rem 3.5rem 0;
// button {
// cursor: pointer;
// font-size: 14px;
// text-align: center;
// color: #fff;
// border: none;
// border-radius: 0.06rem;
// background: #0087ff;
// margin-right:12px;
// margin-right:12px;
.quxiao{
margin-right:12px;
cursor: pointer;
width: 90px;
height: 32px;
background: #ffffff;
color:#0058e1;
border-radius: 2px;
border: 1px #0058e1 solid;
}
// .quxiao:hover{
// background: #0058e1;
// color:#ffffff;
// }
.buzhou{
margin-right:12px;
cursor: pointer;
background: #0058e1;
color:#ffffff;
width: 90px;
height: 32px;
border-radius: 2px;
border: 1px #0058e1 solid;
}
// .buzhou:hover{
// background: #ffffff;
// color:#0058e1;
// }
}
.first {
justify-content: center;
}
}
</style>

View File

@ -7,17 +7,19 @@
-->
<template>
<div class="box">
<div class="header">能力上架申请</div>
<!-- <div class="header">能力上架申请</div> -->
<div class="top">
<div
v-for="(nav, index) in navList"
:key="nav"
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
>
<span class="bg-box">
<span>{{ index + 1 }}</span>
</span>
<span>{{ nav.name }}</span>
<div class="wai">
<span class="bg-box">
<span>{{ index + 1 }}</span>
</span>
<span class="bg-name">{{ nav.name }}</span>
</div>
<div class="line" v-if="index !== navList.length - 1"></div>
</div>
</div>
@ -79,7 +81,7 @@
></put-on-the-shelf>
</div>
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
<button @click="close()">取消</button>
<a-popconfirm
v-if="
showView == '功能介绍' &&
@ -93,9 +95,10 @@
@confirm="changeGnjs('上一步')"
@cancel="cancel"
>
<button>上一步</button>
<button class="buzhou">上一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '功能介绍' &&
gnjs[0].list.filter((val) => val.note1 !== '').length ==
@ -118,9 +121,10 @@
@confirm="changeYycj('上一步')"
@cancel="cancel"
>
<button>上一步</button>
<button class="buzhou">上一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
@ -130,7 +134,7 @@
>
上一步
</button>
<button v-else-if="showView !== '基本信息'" @click="back()">
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
上一步
</button>
<a-popconfirm
@ -145,9 +149,9 @@
@confirm="changeBs('预览')"
@cancel="cancel"
>
<button>预览</button>
<button class="buzhou">预览</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="preview()">
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
预览
</button>
<a-popconfirm
@ -163,9 +167,10 @@
@confirm="changeGnjs('下一步')"
@cancel="cancel"
>
<button>下一步</button>
<button class="buzhou">下一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '功能介绍' &&
gnjs[0].list.filter((val) => val.note1 !== '').length ==
@ -188,9 +193,10 @@
@confirm="changeYycj('下一步')"
@cancel="cancel"
>
<button>下一步</button>
<button class="buzhou">下一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
@ -200,7 +206,7 @@
>
下一步
</button>
<button v-else-if="showView !== '部署与使用'" @click="next()">
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
下一步
</button>
<a-popconfirm
@ -215,11 +221,12 @@
@confirm="changeBs('提交')"
@cancel="cancel"
>
<button>提交</button>
<button class="buzhou">提交</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="submit()">
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
提交
</button>
<button class="quxiao" @click="close()">取消</button>
</div>
</div>
</template>
@ -570,7 +577,7 @@
getCategoryTree().then((res) => {
// console.clear()
res.data.data = res.data.data
.filter((item) => item.name === '组件服务')[0]
.filter((item) => item.name === '组件服务')[0]
.children.filter((item) => item.name === '开发组件')[0]
navList.value = []
navList2.value = []
@ -800,85 +807,120 @@
</script>
<style lang="less" scoped>
.box {
position: relative;
top: 64px;
margin: 15px 400px;
padding: 10px;
background: #fff;
.header {
font-size: 28px;
font-weight: 600;
}
.vue-box {
padding: 0 100px;
}
.top {
margin: 10px 20px 0;
padding: 15px 30px;
background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex;
justify-content: center;
align-items: center;
position: relative;
top: 0.64rem;
// margin: 0.15rem 3rem;
padding: 0.1rem;
background: #fff;
.header {
font-size: 0.28rem;
font-weight: 600;
}
.vue-box {
padding: 0 1rem;
}
.top {
font-size: 16px;
margin: 0.32px 0.4px 0;
padding: 24px 24pxs;
display: flex;
justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box {
display: flex;
justify-content: center;
align-items: center;
width: 45px;
height: 45px;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid rgb(214, 214, 214);
margin-right: 10px;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span {
display: flex;
justify-content: center;
align-items: center;
width: 30px;
height: 30px;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid #999;
border: 1px solid #d9d9d9;
}
}
.line {
margin-left: 10px;
width: 130px;
height: 1px;
background: #999;
.bg-name {
color: #b3b3b3;
}
}
.finish {
color: #0087ff;
.line {
// margin-left: 16px;
width: 326px;
height: 2px;
background: #d9d9d9;
}
}
.finish {
color: #fff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box {
background: #9ccefa;
color: #fff;
border: 1px solid #9ccefa;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span {
background: #0087ff;
border: 1px solid #0087ff;
background: #0058e1;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.line {
background: #0087ff;
.bg-name {
color: #212121;
font-weight: bold;
}
}
.line {
// margin-left: 16px;
width: 326px;
height: 2px;
background: #0058e1;
}
}
.btn {
display: flex;
justify-content: space-between;
padding: 10px 350px 0;
justify-content: space-around;
padding: 0.1rem 3.5rem 0;
button {
cursor: pointer;
width: 80px;
height: 35px;
font-size: 0.14rem;
width: 0.8rem;
height: 0.35rem;
text-align: center;
color: #fff;
border: none;
border-radius: 6px;
border: 0.01rem solid #9ccefa;
span {
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff;
}
button:nth-of-type(1) {
@ -890,7 +932,55 @@
}
}
.first {
justify-content: space-around;
justify-content: center;
}
}
.btn {
display: flex;
justify-content: center;
padding: 0.1rem 3.5rem 0;
// button {
// cursor: pointer;
// font-size: 14px;
// text-align: center;
// color: #fff;
// border: none;
// border-radius: 0.06rem;
// background: #0087ff;
// margin-right:12px;
// margin-right:12px;
.quxiao{
margin-right:12px;
cursor: pointer;
width: 90px;
height: 32px;
background: #ffffff;
color:#0058e1;
border-radius: 2px;
border: 1px #0058e1 solid;
}
// .quxiao:hover{
// background: #0058e1;
// color:#ffffff;
// }
.buzhou{
margin-right:12px;
cursor: pointer;
background: #0058e1;
color:#ffffff;
width: 90px;
height: 32px;
border-radius: 2px;
border: 1px #0058e1 solid;
}
// .buzhou:hover{
// background: #ffffff;
// color:#0058e1;
// }
}
.first {
justify-content: center;
}
}
</style>

View File

@ -7,17 +7,19 @@
-->
<template>
<div class="box">
<div class="header">能力上架申请</div>
<!-- <div class="header">能力上架申请</div> -->
<div class="top">
<div
v-for="(nav, index) in navList"
:key="nav"
:class="[index <= navList2.indexOf(showView) ? 'finish' : '']"
:class="[index <= navList2.indexOf(showView) ? 'finish' : 'ff']"
>
<span class="bg-box">
<span>{{ index + 1 }}</span>
</span>
<span>{{ nav.name }}</span>
<div class="wai">
<span class="bg-box">
<span>{{ index + 1 }}</span>
</span>
<span class="bg-name">{{ nav.name }}</span>
</div>
<div class="line" v-if="index !== navList.length - 1"></div>
</div>
</div>
@ -76,7 +78,7 @@
></put-on-the-shelf>
</div>
<div class="btn" :class="showView === '基本信息' ? 'first' : ''">
<button @click="close()">取消</button>
<a-popconfirm
v-if="
showView == '应用场景' &&
@ -90,9 +92,10 @@
@confirm="changeYycj('上一步')"
@cancel="cancel"
>
<button>上一步</button>
<button class="buzhou">上一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
@ -102,7 +105,7 @@
>
上一步
</button>
<button v-else-if="showView !== '基本信息'" @click="back()">
<button class="buzhou" v-else-if="showView !== '基本信息'" @click="back()">
上一步
</button>
<a-popconfirm
@ -118,9 +121,9 @@
@confirm="changeBs('预览')"
@cancel="cancel"
>
<button>预览</button>
<button class="buzhou">预览</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="preview()">
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="preview()">
预览
</button>
<a-popconfirm
@ -136,9 +139,10 @@
@confirm="changeYycj('下一步')"
@cancel="cancel"
>
<button>下一步</button>
<button class="buzhou">下一步</button>
</a-popconfirm>
<button
class="buzhou"
v-else-if="
showView == '应用场景' &&
yycj[0].list.filter((val) => val.note1 !== '').length ==
@ -148,7 +152,7 @@
>
下一步
</button>
<button v-else-if="showView !== '部署与使用'" @click="next()">
<button class="buzhou" v-else-if="showView !== '部署与使用'" @click="next()">
下一步
</button>
<a-popconfirm
@ -164,11 +168,12 @@
@confirm="changeBs('提交')"
@cancel="cancel"
>
<button>提交</button>
<button class="buzhou">提交</button>
</a-popconfirm>
<button v-else-if="showView === '部署与使用'" @click="submit()">
<button class="buzhou" v-else-if="showView === '部署与使用'" @click="submit()">
提交
</button>
<button class="quxiao" @click="close()">取消</button>
</div>
</div>
</template>
@ -467,7 +472,7 @@
getCategoryTree().then((res) => {
// console.clear()
res.data.data = res.data.data
.filter((item) => item.name === '组件服务')[0]
.filter((item) => item.name === '组件服务')[0]
.children.filter((item) => item.name === '图层服务')[0]
navList.value = []
navList2.value = []
@ -670,85 +675,120 @@
</script>
<style lang="less" scoped>
.box {
position: relative;
top: 64px;
margin: 15px 400px;
padding: 10px;
background: #fff;
.header {
font-size: 28px;
font-weight: 600;
}
.vue-box {
padding: 0 100px;
}
.top {
margin: 10px 20px 0;
padding: 15px 30px;
background: #edf4fc;
display: flex;
justify-content: space-between;
div {
font-size: 18px;
color: #999;
display: flex;
justify-content: center;
align-items: center;
position: relative;
top: 0.64rem;
// margin: 0.15rem 3rem;
padding: 0.1rem;
background: #fff;
.header {
font-size: 0.28rem;
font-weight: 600;
}
.vue-box {
padding: 0 1rem;
}
.top {
font-size: 16px;
margin: 0.32px 0.4px 0;
padding: 24px 24pxs;
display: flex;
justify-content: center;
.ff {
color: #b3b3b3;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box {
display: flex;
justify-content: center;
align-items: center;
width: 45px;
height: 45px;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid rgb(214, 214, 214);
margin-right: 10px;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span {
display: flex;
justify-content: center;
align-items: center;
width: 30px;
height: 30px;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid #999;
border: 1px solid #d9d9d9;
}
}
.line {
margin-left: 10px;
width: 130px;
height: 1px;
background: #999;
.bg-name {
color: #b3b3b3;
}
}
.finish {
color: #0087ff;
.line {
// margin-left: 16px;
width: 326px;
height: 2px;
background: #d9d9d9;
}
}
.finish {
color: #fff;
display: inline-flex;
justify-content: center;
align-items: center;
.wai {
margin-top: 14px;
.bg-box {
background: #9ccefa;
color: #fff;
border: 1px solid #9ccefa;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
// border: 0.01rem solid rgb(214, 214, 214);
margin: 0px 16px;
transition: all 0.3s ease;
span {
background: #0087ff;
border: 1px solid #0087ff;
background: #0058e1;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
border-radius: 50%;
border: 1px solid solid #0058e1;
}
}
.line {
background: #0087ff;
.bg-name {
color: #212121;
font-weight: bold;
}
}
.line {
// margin-left: 16px;
width: 326px;
height: 2px;
background: #0058e1;
}
}
.btn {
display: flex;
justify-content: space-between;
padding: 10px 350px 0;
justify-content: space-around;
padding: 0.1rem 3.5rem 0;
button {
cursor: pointer;
width: 80px;
height: 35px;
font-size: 0.14rem;
width: 0.8rem;
height: 0.35rem;
text-align: center;
color: #fff;
border: none;
border-radius: 6px;
border: 0.01rem solid #9ccefa;
span {
background: #0087ff;
border: 0.01rem solid #0087ff;
}
}
.line {
background: #0087ff;
}
button:nth-of-type(1) {
@ -760,7 +800,55 @@
}
}
.first {
justify-content: space-around;
justify-content: center;
}
}
.btn {
display: flex;
justify-content: center;
padding: 0.1rem 3.5rem 0;
// button {
// cursor: pointer;
// font-size: 14px;
// text-align: center;
// color: #fff;
// border: none;
// border-radius: 0.06rem;
// background: #0087ff;
// margin-right:12px;
// margin-right:12px;
.quxiao{
margin-right:12px;
cursor: pointer;
width: 90px;
height: 32px;
background: #ffffff;
color:#0058e1;
border-radius: 2px;
border: 1px #0058e1 solid;
}
// .quxiao:hover{
// background: #0058e1;
// color:#ffffff;
// }
.buzhou{
margin-right:12px;
cursor: pointer;
background: #0058e1;
color:#ffffff;
width: 90px;
height: 32px;
border-radius: 2px;
border: 1px #0058e1 solid;
}
// .buzhou:hover{
// background: #ffffff;
// color:#0058e1;
// }
}
.first {
justify-content: center;
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -147,7 +147,7 @@
<button
style="
width: 100px;
height: 30px;
height: 35px;
margin-right: 10px;
background: rgb(237, 244, 252);
color: rgb(0, 135, 255);

View File

@ -21,21 +21,22 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button class="button-reset" @click="globalSearch()">全局搜索</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="globalSearch()"
@click="chongzhi()"
>
全局搜索
重置
</button>
<button
v-if="Cardsname == '应用资源'"
class="button-reset"
@click="applyAll()"
style="margin-left: 0.1rem"
style="margin-left: 0.1rem; width: 135px"
>
全部申请
申请全部应用资源
</button>
<div class="hengxian" style="background: transparent"></div>
</div>
@ -168,13 +169,14 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button class="button-reset" @click="globalSearch()">全局搜索</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="globalSearch()"
@click="chongzhi()"
>
全局搜索
重置
</button>
<div class="hengxian" style="background: transparent"></div>
</div>
@ -228,13 +230,14 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button class="button-reset" @click="globalSearch()">全局搜索</button>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="globalSearch()"
@click="chongzhi()"
>
全局搜索
重置
</button>
<div class="hengxian" style="background: transparent"></div>
</div>
@ -301,8 +304,8 @@
<div class="details-pageconetent-left" v-if="Cardsname != '基础设施'">
<detailsPageconetentTree />
</div>
<div class="details-pageconetent-left" v-else>
<detailsPageInfrastructureTree />
<div class="details-pageconetent-left" style="left: 0.16rem" v-else>
<detailsPageInfrastructureTreeXha />
</div>
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
<div class="top-title">
@ -334,7 +337,14 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
<div class="hengxian"></div>
</div>
</div>
@ -425,7 +435,11 @@
<a-empty />
</div>
</div>
<div class="top" v-else-if="Cardsname === '基础设施'">
<div
class="top"
style="width: 13.5rem; margin-left: 0"
v-else-if="Cardsname === '基础设施'"
>
<div class="top-title">
<div
v-for="item in titleName"
@ -444,7 +458,7 @@
</div>
</div>
<div class="top-content-father">
<infrastructurePage
<infrastructurePageXha
ref="camera"
:searchValue="searchValue"
:searchType="searchType"
@ -481,7 +495,14 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
</div>
</div>
<KnowledgeBase
@ -489,6 +510,9 @@
:resourceTotal="resourceTotal"
></KnowledgeBase>
</div>
<div v-if="Cardsname == '基础设施'">
<infrastructureApplication></infrastructureApplication>
</div>
<div class="talk-monitor" @click="openMonitor">
<a-tooltip>
<template #title>问答机器人</template>
@ -538,7 +562,14 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
<div class="hengxian"></div>
</div>
</div>
@ -703,7 +734,14 @@
@change="onSearch"
class="resultListSearchInput"
/>
<button class="button-reset" @click="chongzhi()">重置</button>
<i class="searchImg" aria-hidden="true"></i>
<button
class="button-reset"
style="margin-left: 0.1rem"
@click="chongzhi()"
>
重置
</button>
</div>
</div>
<KnowledgeBase
@ -743,7 +781,10 @@
import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue'
//
import infrastructurePage from '@/views/home/infrastructurePage.vue'
import infrastructurePageXha from '@/views/home/infrastructurePageXha.vue'
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
import detailsPageInfrastructureTreeXha from '@/views/home/detailsPageInfrastructureTreeXha.vue'
import infrastructureApplication from '@/views/home/infrastructureApplication.vue'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { useStore } from 'vuex'
import { message } from 'ant-design-vue'
@ -769,7 +810,7 @@
const handleAdd = (value) => {
flag.value = value
}
const titleName = ref(titleNameArray)
const titleName = ref([])
const openMonitor = () => {
window.open('http://www.qingdao.gov.cn:8083/ghwd/znwdqd/index.html')
}
@ -869,6 +910,15 @@
pageSize: currentPageSize.value,
name: '',
})
// 西
const setTitle = () => {
let title = titleNameArray
let whoShow1 = ref(whoShow)
if (whoShow1 && whoShow1.value.itShowXiHaiAn) {
title[0] = title.splice(2, 1, title[0])[0]
}
titleName.value = title
}
//
const onSearch = () => {
loading.value = true
@ -1706,6 +1756,8 @@
}
onMounted(() => {
//
//西
setTitle()
handleSetSearchData()
listKey2.value++
//
@ -1843,6 +1895,7 @@
)
}
return {
setTitle,
listKey,
ListContent,
searchValue,
@ -1903,7 +1956,9 @@
KnowledgeBase,
DetailsPageResource,
infrastructurePage,
infrastructurePageXha,
detailsPageInfrastructureTree,
detailsPageInfrastructureTreeXha,
},
beforeUnmount() {
mybus.off('getCameraByParentId')
@ -1930,13 +1985,21 @@
.resultListSearchInput-son {
background: #fff;
padding: 0.2rem 0.2rem 0rem 0.3rem;
position: relative;
.hengxian {
width: 100%;
height: 0.01rem;
background: rgba(150, 144, 144, 0.3);
margin-top: 0.2rem;
}
.searchImg {
width: 17px;
height: 17px;
background: url('~@/assets/home/searchInner.png');
position: absolute;
top: 29px;
left: 480px;
}
}
}
@ -1945,20 +2008,20 @@
:deep(.ant-input) {
width: 4rem;
height: 0.36rem;
height: 0.32rem;
background: #fff;
border-radius: 0.04rem;
border-radius: 0.02rem;
}
:deep(.ant-input-search-button) {
width: 0.8rem;
height: 0.36rem;
background: #0087ff;
border-radius: 0.04rem !important;
height: 0.32rem;
background: #0558e1;
border-radius: 0.02rem !important;
font-size: 0.14rem;
font-weight: 400;
color: #fff;
line-height: 0.34rem;
line-height: 0.32rem;
margin-left: 0.1rem;
}
@ -1971,13 +2034,15 @@
border: 0;
outline: none;
width: 0.8rem;
height: 0.36rem;
background: #e1edfa;
border-radius: 0.04rem;
height: 0.32rem;
color: #fff;
//background: #e1edfa;
background: #0558e1;
border-radius: 0.02rem;
font-size: 0.14rem;
font-weight: 400;
color: #0087ff;
line-height: 0.34rem;
//color: #0087ff;
line-height: 0.32rem;
margin-left: 2.5rem;
cursor: pointer;
}

View File

@ -1,6 +1,6 @@
<template>
<div class="bg">
<home-header></home-header>
<home-header :target-flag = "targetFlag"></home-header>
<div class="box-container">
<a-spin
size="large"
@ -10,7 +10,7 @@
/>
<div class="nav-box">
<a-breadcrumb>
<a-breadcrumb-item>能力集市</a-breadcrumb-item>
<a-breadcrumb-item @click="goToDetailsPageconetent" class="bread-crumb-span">能力集市</a-breadcrumb-item>
<a-breadcrumb-item>算法对比</a-breadcrumb-item>
</a-breadcrumb>
</div>
@ -194,11 +194,11 @@
import { selectOne } from '@/api/home'
import { message, Tooltip, Table, Spin } from 'ant-design-vue'
import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus'
const router = useRouter()
let queryId = router.currentRoute.value.query.id
const ctx = getCurrentInstance()
const targetFlag= ref(true)
// 4
const pagination = ref([])
//
@ -653,6 +653,14 @@
let _obj = Object.assign({}, obj, _newObj)
return _obj
}
//goToDetailsPageconetent
const goToDetailsPageconetent = () => {
let pathData = {
path: '/DetailsPageconetent',
};
mybus.emit('changeMenuStyle',pathData);
}
</script>
<style>
@ -719,6 +727,9 @@
align-items: center;
background: rgba(244, 245, 248, 0.8);
padding-left: 10px;
.bread-crumb-span{
cursor: pointer;
}
}
.left {

View File

@ -0,0 +1,125 @@
<!--
* @Author: Light
* @Date: 2022-11-16 16:46:16
* @LastEditors: Light
* @LastEditTime: 2022-11-18 15:35:25
* @Description: 政务云资源列表
-->
<template>
<div class="top">
<div>检索结果{{ props.governmentCloud.total }}</div>
<div>
使用声明:
附加增值服务委办局单位可以根据自身需求按需采购由采购单位付费
</div>
</div>
<div
class="bottom"
v-for="(item, index) in props.governmentCloud.data"
:key="item.service_item_tier1 + index"
>
<div class="left"></div>
<div class="right">
<div class="title">
<div>
<div class="name">{{ item.service_item_tier1 }}</div>
<div class="type">{{ item.service_type }}</div>
</div>
<div>年份{{ item.year }}</div>
</div>
<div class="text">{{ item.service_description }}</div>
<div class="info">
<div>一级条目{{ item.service_item_tier2 }}</div>
<div>规格{{ item.specification }}</div>
</div>
</div>
</div>
<a-pagination
v-model:current="current"
:pageSize="5"
:total="props.governmentCloud.total"
:showSizeChanger="false"
@change="changeCurrent"
show-less-items
/>
</template>
<script setup>
import { ref, defineProps, defineEmits } from 'vue'
const props = defineProps({
governmentCloud: { type: Object, default: null },
})
const emit = defineEmits(['getGovernmentCloud'])
const current = ref(props.governmentCloud.current)
const changeCurrent = (current) => {
console.log(current)
emit('getGovernmentCloud', current)
}
</script>
<style lang="less" scoped>
.top {
display: flex;
justify-content: space-between;
color: #333;
padding-bottom: 10px;
border-bottom: 1px #ccc solid;
}
.bottom {
margin-top: 20px;
padding-bottom: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
border-bottom: 1px #ccc solid;
.left {
width: 110px;
height: 110px;
background: url('~@/assets/home/znsf_square.png') no-repeat;
background-size: 100%;
}
.right {
flex: 1;
margin-left: 20px;
.title {
display: flex;
justify-content: space-between;
div:nth-of-type(1) {
display: flex;
justify-content: flex-start;
align-items: center;
.name {
max-width: 400px;
height: 22px;
line-height: 24px;
overflow: hidden; //
display: -webkit-box;
-webkit-line-clamp: 1; //
-webkit-box-orient: vertical;
font-size: 20px;
font-weight: 600;
}
.type {
margin-left: 10px;
padding: 1px 5px;
color: rgba(0, 88, 225, 0.8);
background-color: rgba(0, 135, 225, 0.1);
border-radius: 15px;
}
}
}
.text {
height: 50px;
overflow: hidden; //
display: -webkit-box;
-webkit-line-clamp: 2; //
-webkit-box-orient: vertical;
}
.info {
display: flex;
justify-content: flex-start;
div:nth-of-type(1) {
margin-right: 50px;
}
}
}
}
</style>

View File

@ -17,9 +17,9 @@
<div
v-for="item in navList"
:key="item.key"
@click="jumpPage(item)"
@click="jumpPage(item,'headerClick')"
class="nav"
:class="item.key == select ? 'select' : ''"
:class="[{'select':item.key == select},{'select-inner':(item.key == 'DetailsPageconetent' && item.innerKey == 'algorithmCompare'&& props.targetFlag)}]"
>
{{ item.name }}
</div>
@ -90,14 +90,14 @@
</template>
<span
class="name"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' })"
@click="jumpPage({ name: '个人中心', key: 'personalCenter' },'headerClick')"
>
{{ user.realName }}
</span>
</a-tooltip>
<span @click="logout" class="out">退出</span>
<i
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' })"
@click="jumpPage({ name: '后台管理', key: 'houtaiguanli' },'headerClick')"
class="iconTo"
v-show="backFlag"
></i>
@ -135,6 +135,7 @@
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
const navList = ref(navListManagement.navList)
const targetRouter= ref('')
const backFlag = ref(false)
getUserInfo().then((res) => {
if(res.data.data.superAdmin =='1'){
@ -153,6 +154,7 @@
const props = defineProps({
showView: { type: String, default: '' },
targetFlag: { type: Boolean, default: false },
})
// 退
@ -185,8 +187,9 @@
window.open('http://15.72.177.175:18460/analystrunner/tonglan', '_blank')
}
//
const jumpPage = (item) => {
// 西
const jumpPage = (item,type) => {
if(type == 'headerClick'){
// 西
if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (
@ -271,6 +274,84 @@
router.push('/home')
break
}
}else if(type == 'innerClick'){
//select.value = item.key
switch (item.name) {
case '个人中心':
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
router.push({
path: '/personalCenter',
})
break
case '能力统计':
router.push({
path: '/abilityStatistics',
})
break
case '能力集市':
router.push({
path: '/algorithmCompare',
query: {
id: targetRouter.value.id,
},
});
break
case '能力云图':
router.push({
path: '/capabilityCloud',
})
break
// case '':
// router.push({
// path: '/developmentGuide',
// })
// break
case '新手指南':
router.push({
path: '/instructionManual',
})
break
case '需求中心':
router.push({
path: '/demandCenter',
})
break
case '区市站点':
router.push({
path: '/mapTest',
})
break
case '后台管理':
Cookies.remove('JSESSIONID')
window.open(window.SITE_CONFIG.backUrl + '/#/workBench-workBench')
// window.reload('http://15.2.21.238:9797')
break
case '赋能案例':
router.push({
path: '/assignCase',
})
break
case '典型赋能案例':
router.push({
path: '/assignCase',
})
break
case '融合服务':
router.push({
path: '/integrationServices',
})
break
case 'CIM专区':
router.push({
path: '/cimSpecialArea',
})
break
default:
router.push('/home')
break
}
}
}
const scrollTop = ref(0)
window.onscroll = function () {
@ -348,6 +429,20 @@
mybus.on('getMynotice', () => {
getMynotice()
})
mybus.on('changeMenuStyle', (data) => {
if(data.path=='/algorithmCompare'){
targetRouter.value = data;
jumpPage({
"name": "能力集市",
"key": "DetailsPageconetent",
"innerKey":"algorithmCompare"
},'innerClick');
} else if(data.path =='/DetailsPageconetent'){
jumpPage({ name: '能力集市', key: 'DetailsPageconetent' },'headerClick')
}
})
})
onBeforeUnmount(() => {
mybus.off('getSgcNum')
@ -433,6 +528,10 @@
.select {
background: #0058e1;
color: #fff !important;
}
.select-inner {
background: #0058e1;
color: #fff !important;
}
.info1 {
margin-left: 0.1rem;

View File

@ -805,12 +805,18 @@
}
//
const goComparePk = (item) => {
router.push({
// router.push({
// path: '/algorithmCompare',
// query: {
// id: item.id,
// },
// });
//
let pathData = {
path: '/algorithmCompare',
query: {
id: item.id,
},
})
id: item.id,
};
mybus.emit('changeMenuStyle',pathData);
}
return {
onSearch,

View File

@ -0,0 +1,336 @@
<template>
<div class="wrapper">
<div class="wrapper-title-left-tree" :key="showKey">
<div v-for="item in treeData" :key="item.id" class="primaryNode">
<div class="top" @click="showBottom(item)" :class="item.show ? 'topSelect' : ''">
{{ item.name }}
({{ item.channelCount }})
<DownOutlined v-show="!item.show" />
<UpOutlined v-show="item.show" />
</div>
<div class="bottom" v-show="item.show">
<div v-for="val in item.children" :key="val.id" class="item">
<div class="up" :class="selectId == val.id ? 'select' : ''"
@click="showDown(item, val), onSelect(item, val)">
<div>
<svg t="1654068878091" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="2156" width="0.25rem" height="0.25rem"
v-show="selectId == val.id">
<path d="M512 624a112 112 0 1 0 0-224 112 112 0 0 0 0 224z" p-id="2157" fill="#0058e1"></path>
</svg>
<span class="name">{{ val.name }}({{ val.channelCount }})</span>
</div>
<span v-if="item.children.length < 0">{{ val.total }}</span>
<span v-else>
<down-outlined v-show="!val.show" />
<up-outlined v-show="val.show" />
</span>
</div>
<div class="down" v-show="val.show">
<div v-for="child in val.children" :key="child.id" class="child"
:class="selectId == child.id ? 'select2' : ''" @click="onSelect(item, child, child)">
<div>
<svg t="1654068878091" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="2156" width="0.25rem" height="0.25rem"
v-show="selectId == child.id">
<path d="M512 624a112 112 0 1 0 0-224 112 112 0 0 0 0 224z" p-id="2157" fill="#0058e1"></path>
</svg>
<span class="name">
{{ child.name }}
</span>
</div>
<span>{{ child.channelCount }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { defineComponent, ref, watch } from 'vue'
import { getCameraAllOrgan } from '@/api/videoSurveillance'
import { getCameraInfoByAreaId } from '@/api/file'
import mybus from '@/myplugins/mybus'
import { useRouter } from 'vue-router'
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
export default defineComponent({
setup() {
const router = useRouter()
const whoShow1 = ref(whoShow)
const showKey = ref(0)
const treeData = ref([])
const selectId = ref('')
//
const init = async () => {
treeData.value = []
console.log(
'router.currentRoute.value.query.select',
router.currentRoute.value.query.select
)
let select = router.currentRoute.value.query.select || DETAIL_PAGE_CONTENT_DEFAULT_TAB
if (select === '123') {
select = ''
}
console.log(
'获取url中的select=====================>',
router.currentRoute.value.query.select
)
if (select == '基础设施') {
let res = {};
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
res = await getCameraAllOrgan({ parentId: 'S4NbecfYB1DBH8HNULGS34' })
} else {
// 西
res = await getCameraInfoByAreaId({
areaId: '70be8c5b664f4bcf869d82f2e8335051',
})
}
treeData.value = res.data && res.data.data || []
//
if(res.data && res.data.data.length == 1) {
showBottom(treeData.value[0])
}
}
}
mybus.on('getDeptList', () => {
init()
})
const onSelect = async (item, val, child) => {
console.log('item--------onSelect---->', item);
console.log('val------onSelect------>', val);
console.log('child-----onSelect------->', child);
mybus.emit('getCameraByParentId', val.id)
mybus.emit('getListByParentId', val.id)
let res = {}
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
res = await getCameraAllOrgan({ parentId: val.id })
} else {
// 西
res = await getCameraInfoByAreaId({ areaId: val.id })
}
treeData.value.map((treeDataItem, index) => {
if (item.id == treeDataItem.id) {
treeData.value[index].children.map((childItem, childIndex) => {
if (childItem.id == val.id) {
treeData.value[index].children[childIndex].children =
res.data.data
}
})
}
})
if (child) {
selectId.value = child.id
}
}
watch(selectId, (newVal) => {
if (newVal == '') {
mybus.emit('getCameraByParentId', '')
mybus.emit('getListByParentId', '')
}
})
const showBottom = async (item) => {
item.show = !item.show;
let res = {};
if (whoShow1.value && !whoShow1.value.itShowXiHaiAn) {
res = await getCameraAllOrgan({ parentId: item.id })
} else {
// 西
res = await getCameraInfoByAreaId({ areaId: item.id })
}
treeData.value.map((treeDataItem, index) => {
if (item.id == treeDataItem.id) {
treeData.value[index].children = res.data && res.data.data || []
console.log('treeData.value.[index]', treeData.value[index])
}
})
}
const showDown = (item, val) => {
selectId.value = val.id
console.log('item---showDown--------->', item);
console.log('val----showDown-------->', val);
if (item.children) {
val.show = !val.show;
//
if (!val.show) {
selectId.value = ''
}
}
}
return {
treeData,
showKey,
onSelect,
showBottom,
showDown,
selectId,
}
},
beforeUnmount() {
mybus.off('getDeptList')
console.log('getDeptList销毁~~~~~~~~~~~~~~~~~~~')
},
components: {
UpOutlined,
DownOutlined,
},
})
</script>
<style lang="less" scoped>
.primaryNode {
.top {
width: 100%;
height: 0.4rem;
background: rgba(0, 135, 225, 0.1);
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.1rem;
margin-top: 0.08rem;
}
.top:hover {
cursor: pointer;
// 0058e1 0.5
background: rgba(0, 88, 225, 0.8);
color: white;
:deep(.anticon) {
color: white;
}
}
.topSelect {
background: #0058e1;
color: white;
:deep(.anticon) {
color: white;
}
}
.bottom {
width: 100%;
background: rgba(244, 245, 248, 0.8);
padding: 0 0.1rem;
// margin-bottom: .08rem;
.up {
cursor: pointer;
height: 0.4rem;
display: flex;
justify-content: space-between;
align-items: center;
border-top: 0.01rem solid #ccc;
padding: 0 0.1rem;
&>div {
display: flex;
justify-content: flex-start;
}
.name {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
}
.up:hover {
.name {
color: #0058e1;
font-weight: 600;
}
span {
color: #0058e1;
font-weight: 600;
}
}
.select {
padding: 0 0.1rem 0 0;
.name {
width: 1.7rem;
color: #0058e1 !important;
font-weight: 600;
}
span {
color: #0058e1;
font-weight: 600;
}
}
.item:nth-of-type(1) .up {
border-top: none;
}
.down {
width: 100%;
.child {
cursor: pointer;
height: 0.4rem;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 0.1rem;
&>div {
display: flex;
justify-content: flex-start;
}
.name {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
}
.child:hover {
.name {
color: #0058e1;
font-weight: 600;
}
span {
color: #0058e1;
font-weight: 600;
}
}
.select2 {
.name {
width: 1.7rem;
color: #0058e1;
font-weight: 600;
}
span {
color: #0058e1;
font-weight: 600;
}
padding: 0 0.1rem 0 0;
}
}
}
}
</style>

View File

@ -0,0 +1,12 @@
<!--
* @Author: Light
* @Date: 2022-11-18 11:53:43
* @LastEditors: Light
* @LastEditTime: 2022-11-18 11:54:11
* @Description: 告诉大家这是什么
-->
<template>
<div>基础设施申请</div>
</template>
<script setup></script>
<style lang="less" scoped></style>

View File

@ -560,6 +560,16 @@
@change="handleMeeting"
></a-table>
</div>
<div
class="infrastructrue-table"
:key="showKey"
v-if="!wrjFlag && selectType == '政务云资源'"
>
<GovernmentCloudResources
:governmentCloud="governmentCloud"
@getGovernmentCloud="getGovernmentCloud"
></GovernmentCloudResources>
</div>
<!-- 西海岸-无人机单兵设备 -->
<div class="infrastructrue-table" v-else-if="isXiHaiAn && wrjFlag">
<a-table
@ -771,20 +781,10 @@
</template>
<script setup>
import VideoSurveillance from '@/views/home/videoSurveillance'
import GovernmentCloudResources from './components/GovernmentCloudResources'
import { useRouter } from 'vue-router'
import { message, Upload } from 'ant-design-vue'
import {
ref,
reactive,
onMounted,
defineProps,
watch,
defineComponent,
nextTick,
defineExpose,
computed,
} from 'vue'
import { getUser, getEnkeUsers } from '@/api/home'
import { message } from 'ant-design-vue'
import { ref, reactive, onMounted, defineProps, defineExpose } from 'vue'
import { initiateMeet } from '@/api/file'
import {
getCameraByParentId,
@ -794,17 +794,18 @@
} from '@/api/videoSurveillance'
import { getCameraByCondition } from '@/api/file'
import {
getUser,
getEnkeUsers,
sgcInsert,
xhaAddCart,
getRoomSearch,
getDate,
setSubmit,
getYuyue,
getSoldierList,
getMaxApplyNum,
getPolicyCloudService,
} from '@/api/home'
import mybus from '@/myplugins/mybus'
import dayjs from 'dayjs'
import { Form } from 'ant-design-vue'
import moment from 'moment'
import { useStore } from 'vuex'
@ -1123,7 +1124,7 @@
let clickList = ref([]) //tab
if (!isXiHaiAn) {
tabList.value.push({
title: '城市云脑会客厅',
title: '筛选条件',
content: [],
})
}
@ -1556,6 +1557,7 @@
}
const emits = defineEmits(['add'])
const selectType = ref('政务云资源')
const showKey = ref(0)
//
let tableHeight = ref('600')
//tab
@ -1580,7 +1582,7 @@
dataSource2.value = []
pagination.value.total = 0
if (tabList.value[1]) {
tabList.value[1].title = '政务云资源分类'
tabList.value[1].title = '服务类别'
}
selectType.value = '政务云资源'
} else if (name == '感知资源') {
@ -1604,10 +1606,12 @@
}
selectType.value = '视频会议'
}
clickList.value[indexFather].content.splice(
clickList.value[indexFather].content.indexOf(name),
1
)
if (indexFather !== 0 && selectType.value !== '政务云资源') {
clickList.value[indexFather].content.splice(
clickList.value[indexFather].content.indexOf(name),
1
)
}
} else {
if (name == '视频资源') {
selectType.value = '视频资源'
@ -1661,17 +1665,21 @@
}
clickList.value[indexFather].content[0] = name
if (tabList.value[1]) {
tabList.value[1].title = '政务云资源分类'
tabList.value[1].content = [
'云主机',
'算力主机',
'对象存储',
'堡垒机',
'防火墙',
'网闸',
'负载均衡',
'公网IP',
]
if (!isXiHaiAn) {
tabList.value[1].title = '服务类别'
tabList.value[1].content = [
'基础服务',
'PaaS服务',
'安全服务',
'大数据服务',
'附加增值服务',
]
} else {
if (tabList.value[1]) {
tabList.value[1].title = ''
tabList.value[1].content = []
}
}
}
room.value = true
wrjFlag.value = false
@ -1738,11 +1746,53 @@
emits('add', 6)
searchData()
} else {
if (clickList.value[indexFather]) {
if (
clickList.value[indexFather] &&
(clickList.value[0].content[0] !== '政务云资源' || indexFather !== 1)
) {
clickList.value[indexFather].content.push(name)
}
}
}
//
console.log(
'点击==========>',
indexFather,
name,
clickList.value,
clickList.value[0].content[0],
clickList.value[indexFather].content.indexOf(name)
)
if (!isXiHaiAn && indexFather == 0 && name == '政务云资源') {
getGovernmentCloud()
}
if (
clickList.value[0].content[0] === '政务云资源' &&
name !== '政务云资源'
) {
console.log(
'点击政务云资源',
clickList.value[1].content[0],
clickList.value[indexFather].content.indexOf(name) !== -1
)
if (clickList.value[indexFather].content.indexOf(name) !== -1) {
console.log(
'点击政务云资源点击过',
clickList.value[indexFather].content[0]
)
clickList.value[indexFather].content.splice(
clickList.value[indexFather].content.indexOf(name),
1
)
} else {
clickList.value[indexFather].content = [name]
}
if (!isXiHaiAn) {
getGovernmentCloud(1)
governmentCloud.current = 1
showKey.value++
}
}
// labelCode
mapSearchParam.value.labelCodes = []
if (clickList.value[1]) {
@ -2106,18 +2156,11 @@
//
const addShoppingCart = () => {
if (selectedList.value.length > 0) {
let _arr = []
selectedList.value.map((v) => {
_arr.push({
delFlag: '0',
resourceId: v.idtCameraChannel,
note1: [v],
})
})
xhaAddCart(_arr).then((res) => {
if (res.data.code !== 0) {
return message.error(res.data.msg)
}
sgcInsert({
delFlag: '0',
resourceld: '8888888880000000001',
note1: selectedList.value,
}).then((res) => {
message.success('添加申购车成功!')
mybus.emit('getSgcNum')
})
@ -2277,7 +2320,19 @@
} else {
}
}
const governmentCloud = reactive({ data: [], total: 0, current: 1 })
const getGovernmentCloud = (page) => {
getPolicyCloudService({
limit: 5,
page: page || 1,
name: '',
type: clickList.value[1].content[0],
}).then((res) => {
console.log('获取政务云资源======》', res.data.data)
governmentCloud.data = res.data.data.list
governmentCloud.total = res.data.data.total
})
}
// tab
const handleTableChange = (val) => {
pagination.value.current = val.current

File diff suppressed because it is too large Load Diff

View File

@ -29,6 +29,7 @@
@change="onSearch"
class="resultListSearchInput"
/>
<i class="searchImg" aria-hidden="true"></i>
<button class="button-reset" @click="resetAction()">重置</button>
<div class="hengxian"></div>
</div>
@ -342,6 +343,14 @@
background: rgba(150, 144, 144, 0.3);
margin-top: 0.2rem;
}
.searchImg{
width: 17px;
height: 17px;
background: url('~@/assets/home/searchInner.png');
position: absolute;
top: 139px;
left: 500px;
}
}
}
@ -350,20 +359,20 @@
:deep(.ant-input) {
width: 4rem;
height: 0.36rem;
height: 0.32rem;
background: #fff;
border-radius: 0.04rem;
border-radius: 0.02rem;
}
:deep(.ant-input-search-button) {
width: 0.8rem;
height: 0.36rem;
background: #0087ff;
border-radius: 0.04rem !important;
height: 0.32rem;
background: #0558e1;
border-radius: 0.02rem !important;
font-size: 0.14rem;
font-weight: 400;
color: #fff;
line-height: 0.34rem;
line-height: 0.32rem;
margin-left: 0.1rem;
}
@ -376,13 +385,15 @@
border: 0;
outline: none;
width: 0.8rem;
height: 0.36rem;
background: #e1edfa;
border-radius: 0.04rem;
height: 0.32rem;
//background: #e1edfa;
background: #0558e1;
border-radius: 0.02rem;
font-size: 0.14rem;
font-weight: 400;
color: #0087ff;
line-height: 0.34rem;
//color: #0087ff;
color: #fff;
line-height: 0.32rem;
margin-left: 2.5rem;
cursor: pointer;
}

View File

@ -47,8 +47,8 @@
</div>
</div>
<!-- 联系我们 -->
<div class="img-bg callus-box">
<!-- <div class="title" style="margin-bottom: 20px">
<!--<div class="img-bg callus-box">
<div class="title" style="margin-bottom: 20px">
<div class="text text-white">联系我们</div>
<div class="line line-white"></div>
</div>
@ -61,8 +61,8 @@
手机号
<span>0530-0000000</span>
</p>
</div> -->
</div>
</div>
</div> -->
<!-- 能力上架弹窗 -->
<a-modal
v-model:visible="visible"

View File

@ -83,6 +83,7 @@
function handlecancel() {
abilityToTypeFunctionData.value = '组件服务'
componentTypeValue.value = ''
visible.value = false
}
let abilityToTypeFunctionData = ref('组件服务')
function abilityToTypeFunction(item) {
@ -124,6 +125,7 @@
if (abilityToTypeFunctionData.value == '组件服务') {
if (!componentTypeValue.value || componentTypeValue.value == '') {
message.error('请选择组件类型!')
componentTypeValueOld.value=''
return
} else if (
componentTypeValue.value === '智能算法' ||
@ -152,7 +154,7 @@
visible.value = false
abilityToTypeFunctionData.value = '组件服务'
componentTypeValue.value = ''
console.log(e)
visible.value = false
}
const getList = () => {
const params = {

View File

@ -306,20 +306,24 @@
getUserInfo().then((res) => {
userName.value = res.data.data.username
})
let typeList = ref([
'能力申请',
'能力上架',
'能力下架',
'能力需求',
'需求评论',
'数据资源申请',
'云资源申请',
'云视频申请',
// '',
])
const formState = ref({ name: '' })
// 西-
let isXiHaiAn = whoShow.itShowXiHaiAn
let typeList = ref(
isXiHaiAn
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论']
: [
'能力申请',
'能力上架',
'能力下架',
'能力需求',
'需求评论',
'数据资源申请',
'云资源申请',
'云视频申请',
// '',
]
)
const itShowXiHaiAn = ref(isXiHaiAn)
const phoneSate = ref([2, 3])
if (isXiHaiAn) {
@ -769,8 +773,9 @@
contentList.data = res.data.data.list
total.value = res.data.data.total
initNum()
console.log('typeIndex', typeIndex.value)
switch (typeIndex.value) {
case 2:
case 1:
contentList.data.map((val) => {
nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
console.log('上架===========>', res1.data.data)
@ -780,7 +785,7 @@
})
})
break
case 3:
case 2:
contentList.data.map((val) => {
selectOneDel(val.businessKey).then((res1) => {
console.log('下架===========>', res1.data.data)
@ -790,7 +795,7 @@
})
})
break
case 4:
case 3:
contentList.data.map((val) => {
getDemandForm(val.businessKey).then((res1) => {
console.log('需求===========>', res1.data.data)
@ -801,7 +806,7 @@
})
})
break
case 5:
case 4:
contentList.data.map((val) => {
demandComment(val.businessKey).then((res1) => {
console.log('评论===========>', res1.data.data)