Merge branch 'hi-ucs-dev' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-dev
# Conflicts: # front/src/views/home/infrastructurePage.vue
This commit is contained in:
commit
ae80f57dcc
|
@ -0,0 +1,450 @@
|
|||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-ability__bsabilityai">
|
||||
<el-form :inline="true" :model="dataForm">
|
||||
<el-form-item>
|
||||
<el-input
|
||||
v-model="dataForm.name"
|
||||
placeholder="名称"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList2(dataForm.name)">{{
|
||||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
$t("export")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:save')"
|
||||
type="primary"
|
||||
@click="addOrUpdateHandleServe()"
|
||||
>挂接</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||
type="danger"
|
||||
@click="deleteHandle2()"
|
||||
>{{ $t("deleteBatch") }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
:data="dataList"
|
||||
border
|
||||
@selection-change="dataListSelectionChangeHandle"
|
||||
style="width: 100%"
|
||||
:height="qp ? '810px' : '650px'"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="应用名称"
|
||||
header-align="center"
|
||||
align="center"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
v-for="(item, index) in dataList[0].infoList"
|
||||
:key="index"
|
||||
:label="item.attrType"
|
||||
header-align="center"
|
||||
align="center"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ findValue(scope.row.infoList, item.attrType) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="$t('handle')"
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="94"
|
||||
right="0"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:update')"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="UpdateHandle(scope.row)"
|
||||
>{{ $t("update") }}</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="$hasPermission('ability:bsabilityai:delete')"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="deleteHandle2(scope.row.id)"
|
||||
>{{ $t("delete") }}</el-button
|
||||
>
|
||||
<el-button type="text" size="small" @click="showDetail(scope.row)"
|
||||
>展示</el-button
|
||||
>
|
||||
<el-button type="text" size="small" @click="showDocument(scope.row)"
|
||||
>开发文档</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="applyAndAssembly(scope.row)"
|
||||
>应用与组件</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="applyAndDataResource(scope.row)"
|
||||
>应用与数据资源</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="applyAndProject(scope.row)"
|
||||
>应用与项目</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="applyAndInfrastructure(scope.row)"
|
||||
>应用与基础设施</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="page"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="limit"
|
||||
:total="Number(total)"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="pageSizeChangeHandle"
|
||||
@current-change="pageCurrentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update
|
||||
:disabled="disabled"
|
||||
v-if="addOrUpdateVisible"
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="getDataList"
|
||||
></add-or-update>
|
||||
<relate-application
|
||||
v-if="relateApplicationResourceVisible"
|
||||
ref="relateApplication"
|
||||
:relateInfo="relationData"
|
||||
:nameArray="topNameArray"
|
||||
@isShowRelatePopup="handleIsShowRelatePopupApply"
|
||||
></relate-application>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mixinViewModule from "@/mixins/view-module";
|
||||
import AddOrUpdate from "./bsabilityservice-add-or-update";
|
||||
import dictionaries from "@/utils/dictionaries";
|
||||
import RelateApplication from "./bsabilityai-relate-application.vue";
|
||||
import qs from "qs";
|
||||
import { type } from "os";
|
||||
export default {
|
||||
mixins: [mixinViewModule],
|
||||
data() {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: "/resource/page",
|
||||
getDataListIsPage: true,
|
||||
exportURL: "/ability/bsabilityai/export",
|
||||
deleteURL: "/resource/delete",
|
||||
deleteIsBatch: true,
|
||||
},
|
||||
disabled: false,
|
||||
sceneArr: dictionaries.sceneArr,
|
||||
fieldArr: dictionaries.fieldArr,
|
||||
shareFormArr: dictionaries.shareFormArr,
|
||||
dataForm: {
|
||||
name: "",
|
||||
creator: "",
|
||||
selectType: 0,
|
||||
delFlag: 0,
|
||||
type: "应用资源",
|
||||
},
|
||||
qp: false,
|
||||
relateApplicationResourceVisible: false,
|
||||
relationData: {}, //打开穿梭框时传递的参数
|
||||
topNameArray: [], //
|
||||
};
|
||||
},
|
||||
watch: {},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
RelateApplication,
|
||||
},
|
||||
created() {
|
||||
this.dataForm.name = "";
|
||||
this.dataForm.type = "应用资源";
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener("resize", this.a);
|
||||
this.fullScreen();
|
||||
},
|
||||
methods: {
|
||||
reset() {
|
||||
this.$http
|
||||
.get(
|
||||
this.mixinViewModuleOptions.getDataListURL +
|
||||
"?" +
|
||||
qs.stringify({
|
||||
// order: this.order,
|
||||
// orderField: this.orderField,
|
||||
// type: '组件服务',
|
||||
page: 1,
|
||||
selectType: 0,
|
||||
limit: 10,
|
||||
delFlag: 0,
|
||||
creator: "",
|
||||
type: "应用资源",
|
||||
name: "",
|
||||
})
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
this.dataForm.name = "";
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.list
|
||||
: res.data;
|
||||
this.total = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.total
|
||||
: 0;
|
||||
if (this.mixinViewModuleOptions.requestCallback) {
|
||||
this.mixinViewModuleOptions.requestCallback(res.data);
|
||||
}
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
showDetail(val) {
|
||||
this.addOrUpdateVisible = true;
|
||||
this.disabled = false;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.UpdateState = false;
|
||||
this.$refs.addOrUpdate.dataFormShowDetails = val;
|
||||
this.$refs.addOrUpdate.init();
|
||||
});
|
||||
this.disabled = true;
|
||||
},
|
||||
showDocument(val) {
|
||||
console.log(val);
|
||||
window.open(
|
||||
window.SITE_CONFIG.frontUrl + "?id=" + val.id + "&&type=" + val.type,
|
||||
"_blank"
|
||||
);
|
||||
},
|
||||
findValue(list, type) {
|
||||
const found = list.find((item) => item.attrType === type);
|
||||
if (found) {
|
||||
return found.attrValue;
|
||||
} else {
|
||||
return "暂无数据";
|
||||
}
|
||||
},
|
||||
getDataList2(names) {
|
||||
if (names != null) {
|
||||
this.$http
|
||||
.get(
|
||||
this.mixinViewModuleOptions.getDataListURL +
|
||||
"?" +
|
||||
qs.stringify({
|
||||
// order: this.order,
|
||||
// orderField: this.orderField,
|
||||
// type: '组件服务',
|
||||
pageNum: 1,
|
||||
pageSize: this.limit,
|
||||
type: "应用资源",
|
||||
creator: "",
|
||||
selectType: 0,
|
||||
delFlag: 0,
|
||||
name: names,
|
||||
})
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
if (res.data.list.length !== 0) {
|
||||
this.dataList = res.data.list;
|
||||
this.total = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.total
|
||||
: 0;
|
||||
if (this.mixinViewModuleOptions.requestCallback) {
|
||||
this.mixinViewModuleOptions.requestCallback(res.data);
|
||||
}
|
||||
this.dataListLoading = false;
|
||||
} else {
|
||||
this.$message.error("未查询到相关信息");
|
||||
this.reset();
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
} else {
|
||||
this.$message.error("查询不能输入为空");
|
||||
}
|
||||
},
|
||||
fullScreen() {
|
||||
if (window.outerHeight === screen.availHeight) {
|
||||
if (window.outerWidth === screen.availWidth) {
|
||||
console.log(
|
||||
"全屏1",
|
||||
window.outerHeight,
|
||||
screen.availHeight,
|
||||
window.outerWidth,
|
||||
screen.availWidth
|
||||
);
|
||||
this.qp = false;
|
||||
} else {
|
||||
console.log(
|
||||
"不是全屏2",
|
||||
window.outerHeight,
|
||||
screen.availHeight,
|
||||
window.outerWidth,
|
||||
screen.availWidth
|
||||
);
|
||||
this.qp = true;
|
||||
}
|
||||
} else {
|
||||
console.log(
|
||||
"不是全屏3",
|
||||
window.outerHeight,
|
||||
screen.availHeight,
|
||||
window.outerWidth,
|
||||
screen.availWidth
|
||||
);
|
||||
this.qp = true;
|
||||
}
|
||||
},
|
||||
//应用与组件
|
||||
applyAndAssembly(val) {
|
||||
console.log("vvvv", val);
|
||||
//根据id和类型查询已关联的组件,将id,type和查出来的数据传递给组件
|
||||
let type = "组件服务";
|
||||
let id = val.id;
|
||||
this.$http
|
||||
.get(`/dataResourceRel/queryResourceRelByKeyId`, {
|
||||
params: {
|
||||
keyId: id,
|
||||
type: type,
|
||||
referenceName: "",
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
console.log("rrrrressssz", res.data);
|
||||
this.relateApplicationResourceVisible = true;
|
||||
this.relationData = {
|
||||
id: id,
|
||||
linkType: "1",
|
||||
responseData: res.data,
|
||||
};
|
||||
this.topNameArray = ["未关联组件名称", "已关联组件名称"];
|
||||
console.log(" this.relationData", this.relationData);
|
||||
//将数据传递给引入的组件
|
||||
});
|
||||
},
|
||||
//应用与数据资源
|
||||
applyAndDataResource(val) {
|
||||
console.log("数据资源");
|
||||
},
|
||||
//应用与项目
|
||||
applyAndProject(val) {
|
||||
let type = "项目";
|
||||
let id = val.id;
|
||||
this.$http
|
||||
.get(`/dataResourceRel/queryResourceRelByKeyId`, {
|
||||
params: {
|
||||
keyId: id,
|
||||
type: type,
|
||||
referenceName: "",
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
console.log("rrrrressssx", res.data);
|
||||
this.relateApplicationResourceVisible = true;
|
||||
this.relationData = {
|
||||
id: id,
|
||||
linkType: "1",
|
||||
responseData: res.data,
|
||||
};
|
||||
this.topNameArray = ["未关联项目名称", "已关联项目名称"];
|
||||
//将数据传递给引入的组件
|
||||
});
|
||||
},
|
||||
//应用与基础设施
|
||||
applyAndInfrastructure(val) {
|
||||
let type = "基础设施";
|
||||
let id = val.id;
|
||||
this.$http
|
||||
.get(`/dataResourceRel/queryResourceRelByKeyId`, {
|
||||
params: {
|
||||
keyId: id,
|
||||
type: type,
|
||||
referenceName: "",
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
console.log("rrrrressssj", res.data);
|
||||
this.relateApplicationResourceVisible = true;
|
||||
this.relationData = {
|
||||
id: id,
|
||||
linkType: "1",
|
||||
responseData: res.data,
|
||||
};
|
||||
this.topNameArray = ["未关联基础设施名称", "已关联基础设施名称"];
|
||||
//将数据传递给引入的组件
|
||||
});
|
||||
},
|
||||
// 是否展示关联应用弹窗
|
||||
handleIsShowRelatePopupApply(type) {
|
||||
this.relateApplicationResourceVisible = type;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-tooltip__popper {
|
||||
max-width: 50%;
|
||||
}
|
||||
</style>
|
|
@ -116,7 +116,8 @@ export const getFrequence = (data, success, fail) => {
|
|||
export const getResourceByDept = (data, success, fail) => {
|
||||
Request({
|
||||
methods: 'get',
|
||||
url: '/resource/getByDept',
|
||||
// url: '/resource/getByDept',
|
||||
url: '/workdynamics/getDeptWork',
|
||||
data
|
||||
}).then(res => {
|
||||
success && success(res)
|
||||
|
|
|
@ -1,53 +1,132 @@
|
|||
<template>
|
||||
<div class="bottom-view">
|
||||
<!-- 部门发布动态 -->
|
||||
<div class="left container">
|
||||
<content-title :title="title.dynamic"></content-title>
|
||||
<dynamicView v-for="(item, index) in list" :key="index" :number="index + 1" :item="item"></dynamicView>
|
||||
<div class="dynamic-box" v-loading="loadingDynamic">
|
||||
<div class="dynamicView" v-for="(item, index) in list" :key="index" :number="index + 1" :item="item">
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<div class="left">{{ item.createDate }}</div>
|
||||
<el-tooltip effect="dark" :content="item.title" placement="top">
|
||||
<div class="right ellipsis">{{ item.title || '--' }}</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- 部门推荐能力 -->
|
||||
<div class="right container">
|
||||
<content-title :title="title.recommend"></content-title>
|
||||
<recommendView></recommendView>
|
||||
<div class="recommendView">
|
||||
<a-table :dataSource="tableData" :columns="columns" bordered :pagination="false" :scroll="maxSize"
|
||||
:loading="loadingTable" size="small" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import dynamicView from "./dynamic-view";
|
||||
import recommendView from "./recommend-view";
|
||||
import contentTitle from "./content-title";
|
||||
import * as Apis from '../api';
|
||||
export default {
|
||||
components: {
|
||||
dynamicView,
|
||||
recommendView,
|
||||
contentTitle
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: { dynamic: "部门发布动态", recommend: "部门推荐能力" },
|
||||
list: [
|
||||
|
||||
]
|
||||
list: [],
|
||||
columns: [
|
||||
{
|
||||
title: "名称",
|
||||
key: "name",
|
||||
dataIndex: "name",
|
||||
width: 250
|
||||
},
|
||||
{
|
||||
title: "类型",
|
||||
key: "type",
|
||||
dataIndex: "type",
|
||||
width: 76
|
||||
},
|
||||
{
|
||||
title: "单位",
|
||||
key: "deptContacts",
|
||||
dataIndex: "deptContacts",
|
||||
width: 144
|
||||
},
|
||||
{
|
||||
title: "时间",
|
||||
key: "createDate",
|
||||
dataIndex: "createDate",
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
title: "当前申请数",
|
||||
key: "applyCount",
|
||||
dataIndex: "applyCount",
|
||||
width: 145
|
||||
},
|
||||
],
|
||||
tableData: [],
|
||||
maxSize: { y: 195 },
|
||||
loadingDynamic: false,
|
||||
loadingTable: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getResourceByDept();
|
||||
this.getApplyByDept()
|
||||
},
|
||||
methods: {
|
||||
//发布动态
|
||||
// 发布动态
|
||||
getResourceByDept() {
|
||||
let data = {
|
||||
limit: 5,
|
||||
page: 1
|
||||
};
|
||||
this.loadingDynamic = true;
|
||||
Apis.getResourceByDept(
|
||||
data,
|
||||
res => {
|
||||
this.loadingDynamic = false;
|
||||
if (res.data.code !== 0) {
|
||||
return;
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
this.list = res.data.data.records || []
|
||||
console.log('res.data----发布动态-------->', res.data);
|
||||
this.list = res.data.data.list || []
|
||||
this.list.push(this.list[0])
|
||||
this.list.push(this.list[0])
|
||||
},
|
||||
err => {
|
||||
this.loadingDynamic = false;
|
||||
this.$message.error(err)
|
||||
console.log('err-----发布动态------->', err);
|
||||
}
|
||||
);
|
||||
},
|
||||
// 部门推荐能力
|
||||
getApplyByDept() {
|
||||
let data = {
|
||||
limit: 5,
|
||||
page: 1
|
||||
};
|
||||
this.loadingTable = true;
|
||||
Apis.getApplyByDept(
|
||||
data,
|
||||
res => {
|
||||
this.loadingTable = false;
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
console.log('res.data------部门推荐能力------>', res.data);
|
||||
this.tableData = res.data.data.list || [];
|
||||
},
|
||||
err => {
|
||||
this.loadingTable = false;
|
||||
this.$message.error(err)
|
||||
console.log("err", err);
|
||||
}
|
||||
);
|
||||
|
@ -56,14 +135,21 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.ellipsis {
|
||||
//超出一行省略号
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
|
||||
.bottom-view {
|
||||
width: 100%;
|
||||
height: 335px;
|
||||
// background: green;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// color: #fff;
|
||||
|
||||
.container {
|
||||
background: #fff;
|
||||
width: 800px;
|
||||
|
@ -71,4 +157,67 @@ export default {
|
|||
padding: 0px 0 20px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.dynamic-box {
|
||||
width: 770px;
|
||||
height: 335px;
|
||||
}
|
||||
|
||||
.dynamicView {
|
||||
cursor: pointer;
|
||||
width: 770px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 7px;
|
||||
|
||||
.wrapper {
|
||||
height: 50px;
|
||||
width: 770px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-image: url("../images/bgIndex.png");
|
||||
background-repeat: no-repeat;
|
||||
background-color: #f4f5f8;
|
||||
border-radius: 1px;
|
||||
|
||||
.content {
|
||||
width: 760px;
|
||||
padding-right: 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-left: 12px;
|
||||
font-size: 16px;
|
||||
|
||||
.left {
|
||||
width: 159px;
|
||||
color: #2b2b2b;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.right {
|
||||
font-size: 18px;
|
||||
color: #464645;
|
||||
width: 600px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.recommendView {
|
||||
cursor: pointer;
|
||||
width: 770px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-thead {
|
||||
background-color: #f4f5f8;
|
||||
}
|
||||
</style>
|
|
@ -22,7 +22,7 @@
|
|||
</el-tooltip>
|
||||
</div>
|
||||
|
||||
<div class="more">
|
||||
<div class="more" @click="goPage(dataInfo.url)">
|
||||
查看更多 >
|
||||
</div>
|
||||
</div>
|
||||
|
@ -51,7 +51,12 @@ export default {
|
|||
methods: {
|
||||
formatNum(num) {
|
||||
return num || num === 0 ? num : '--'
|
||||
}
|
||||
},
|
||||
goPage(url) {
|
||||
this.$router.push({
|
||||
path: url
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
<template>
|
||||
<div class="dynamicView">
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<div class="left">{{ item.createDate }}</div>
|
||||
<div class="right">{{ item.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "dynamicView",
|
||||
props: {
|
||||
item: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {};
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.dynamicView {
|
||||
cursor: pointer;
|
||||
width: 770px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 7px;
|
||||
|
||||
.wrapper {
|
||||
height: 50px;
|
||||
width: 770px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-image: url("../images/bgIndex.png");
|
||||
background-repeat: no-repeat;
|
||||
background-color:#f4f5f8;
|
||||
border-radius:1px;
|
||||
|
||||
.content {
|
||||
width: 760px;
|
||||
padding-right: 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin-left: 12px;
|
||||
font-size: 16px;
|
||||
.left{
|
||||
width:159px;
|
||||
color:#2b2b2b;
|
||||
font-size:14px;
|
||||
}
|
||||
.right {
|
||||
font-size: 18px;
|
||||
color:#464645
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -4,15 +4,22 @@
|
|||
<div v-if="!noData" v-loading="loading">
|
||||
<div class="no-box">
|
||||
<div class="no no2">
|
||||
<div class="name" :style="{ color: colorObj[2] }">{{ no2Obj.name || '--' }}</div>
|
||||
<el-tooltip effect="dark" :content="no2Obj.name" placement="top">
|
||||
<div class="name ellipsis" :style="{ color: colorObj[2] }">{{ no2Obj.name || '--' }}</div>
|
||||
</el-tooltip>
|
||||
<div class="count">{{ formatCount(no2Obj.count) }}</div>
|
||||
</div>
|
||||
<div class="no no1">
|
||||
<div class="name" :style="{ color: colorObj[1] }">{{ no1Obj.name || '--' }}</div>
|
||||
<el-tooltip effect="dark" :content="no1Obj.name" placement="top">
|
||||
<div class="name ellipsis" :style="{ color: colorObj[1] }">{{ no1Obj.name || '--' }}</div>
|
||||
</el-tooltip>
|
||||
<div class="count">{{ formatCount(no1Obj.count) }}</div>
|
||||
</div>
|
||||
<div class="no no3">
|
||||
<div class="name" :style="{ color: colorObj[3] }">{{ no3Obj.name || '--' }}</div>
|
||||
<el-tooltip effect="dark" :content="no3Obj.name" placement="top">
|
||||
<div class="name ellipsis" :style="{ color: colorObj[3] }">{{ no3Obj.name || '--' }}</div>
|
||||
</el-tooltip>
|
||||
|
||||
<div class="count">{{ formatCount(no3Obj.count) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -174,6 +181,7 @@ export default {
|
|||
margin-bottom: 10px;
|
||||
margin-top: 70px;
|
||||
width: 150px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.count {
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
<template>
|
||||
<div class="recommendView">
|
||||
<a-table :dataSource="data" :columns="columns" bordered :pagination="false" :scroll="maxSize" size="small" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as Apis from "../api";
|
||||
export default {
|
||||
name: "recommendView",
|
||||
props: {
|
||||
item: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {};
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
columns: [
|
||||
{
|
||||
title: "名称",
|
||||
key: "name",
|
||||
dataIndex: "name",
|
||||
width: 250
|
||||
},
|
||||
{
|
||||
title: "类型",
|
||||
key: "type",
|
||||
dataIndex: "type",
|
||||
width: 76
|
||||
},
|
||||
{
|
||||
title: "单位",
|
||||
key: "deptContacts",
|
||||
dataIndex: "deptContacts",
|
||||
width: 144
|
||||
},
|
||||
{
|
||||
title: "时间",
|
||||
key: "createDate",
|
||||
dataIndex: "createDate",
|
||||
width: 153
|
||||
},
|
||||
{
|
||||
title: "当前申请数",
|
||||
key: "applyCount",
|
||||
dataIndex: "applyCount",
|
||||
width: 145
|
||||
},
|
||||
],
|
||||
data: [
|
||||
|
||||
],
|
||||
maxSize: { y: 195 }
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getApplyByDept();
|
||||
},
|
||||
methods: {
|
||||
//发布动态
|
||||
getApplyByDept() {
|
||||
let data = {
|
||||
limit: 5,
|
||||
page: 1
|
||||
};
|
||||
Apis.getApplyByDept(
|
||||
data,
|
||||
res => {
|
||||
if (res.data.code !== 0) {
|
||||
return;
|
||||
}
|
||||
this.data = res.data.data.list || [];
|
||||
},
|
||||
err => {
|
||||
console.log("err", err);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.recommendView {
|
||||
cursor: pointer;
|
||||
width: 770px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
::v-deep .ant-table-thead{
|
||||
background-color:#f4f5f8;
|
||||
}
|
||||
</style>
|
|
@ -54,7 +54,8 @@ export default {
|
|||
textColor: '#f86f01',
|
||||
num: 0,
|
||||
list: [],
|
||||
nameStr: 'taskName'
|
||||
nameStr: 'taskName',
|
||||
url: 'activiti-my-todo-task'
|
||||
},
|
||||
// 部门已办
|
||||
hasToDodoData: {
|
||||
|
@ -66,7 +67,8 @@ export default {
|
|||
textColor: '#21b107',
|
||||
num: 0,
|
||||
list: [],
|
||||
nameStr: 'processDefinitionName'
|
||||
nameStr: 'processDefinitionName',
|
||||
url: 'activiti-my-join-task'
|
||||
},
|
||||
// 部门申请
|
||||
resourceData: [],
|
||||
|
@ -212,6 +214,7 @@ export default {
|
|||
}
|
||||
|
||||
.work-brnch-box {
|
||||
|
||||
.top {
|
||||
height: 284px;
|
||||
margin-bottom: 16px;
|
||||
|
|
|
@ -180,7 +180,11 @@
|
|||
callTheTrendPort(start, end, 86400).then((res) => {
|
||||
if (res.data.data.result) {
|
||||
// res.data.data.result.splice(0, 1)
|
||||
callTheTrendData.value.snum = []
|
||||
res.data.data.result[0].values.map((item) => {
|
||||
callTheTrendData.value.snum.push(
|
||||
moment(item[0] * 1000).format('MM-DD')
|
||||
)
|
||||
callTheTrendData.value.snum.push(parseInt(item[1]))
|
||||
})
|
||||
callTheTrend(callTheTrendData.value)
|
||||
|
|
|
@ -144,8 +144,12 @@
|
|||
const object = res.data.data.filter((item) => item.type === val.name)[0]
|
||||
console.log('object', object)
|
||||
if (object) {
|
||||
if (object.type == '满足率') {
|
||||
val.num = object.amount * 100 + '%'
|
||||
} else {
|
||||
val.num = object.amount
|
||||
}
|
||||
}
|
||||
})
|
||||
const arr = res.data.data.filter((item) => item.resourceTop5)[0]
|
||||
console.log('数据资源数据===================>', arr)
|
||||
|
|
|
@ -109,6 +109,12 @@
|
|||
v-model:value="item.note1"
|
||||
:options="item.options"
|
||||
/>
|
||||
<p v-else-if="item.type == 'text'">
|
||||
{{ abilityToType }}
|
||||
</p>
|
||||
<p v-else-if="item.type == 'text2'">
|
||||
{{ componentTypeValue }}
|
||||
</p>
|
||||
<a-textarea
|
||||
v-else-if="item.type == 'textArea'"
|
||||
v-model:value="item.note1"
|
||||
|
@ -153,6 +159,9 @@
|
|||
:list="props.videoList"
|
||||
tip="支持视频类型,大小不超过100M"
|
||||
></upload>
|
||||
<a-button v-else-if="item.type == 'dialog'" @click="sourceClick">
|
||||
请选择来源应用
|
||||
</a-button>
|
||||
<a-select
|
||||
v-else-if="item.type == 'select'"
|
||||
style="width: 240px"
|
||||
|
@ -194,11 +203,15 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { ref, defineProps, watch, onMounted } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import upload from '@/views/components/upload'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const abilityToType = router.currentRoute.value.query.abilityToType
|
||||
const componentTypeValue = router.currentRoute.value.query.componentTypeValue
|
||||
const props = defineProps({
|
||||
// 展示数据
|
||||
refData: { type: Object, default: null },
|
||||
|
@ -387,6 +400,7 @@
|
|||
delFlag: 0,
|
||||
})
|
||||
}
|
||||
const sourceClick = () => {}
|
||||
watch(data.value.list, (newProps, oldProps) => {
|
||||
console.log(newProps, oldProps)
|
||||
newProps.forEach((val) => {
|
||||
|
@ -512,12 +526,12 @@
|
|||
width: 570px;
|
||||
}
|
||||
.ant-btn {
|
||||
width: 100px;
|
||||
width: 160px;
|
||||
height: 32px;
|
||||
text-align: center;
|
||||
background: #d9ebff;
|
||||
background: #edf4fc;
|
||||
color: #0087ff;
|
||||
border: 1px solid #0087ff;
|
||||
border: 1px solid #bbd3ef;
|
||||
border-radius: 6px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,21 +12,22 @@
|
|||
<!-- 导航 -->
|
||||
<business-navigation
|
||||
:dataList="dataList.data"
|
||||
:associatedComponents="associatedComponents"
|
||||
:class="{ fixed: scrollTop >= 600 }"
|
||||
:selectNow="selectNow"
|
||||
></business-navigation>
|
||||
<!-- 组件展示 -->
|
||||
<business-presentation
|
||||
:dataList="dataList.data"
|
||||
id="business-presentation"
|
||||
class="scrollBox"
|
||||
></business-presentation>
|
||||
<!-- 关联能力 -->
|
||||
<business-associated-ability
|
||||
:associatedComponents="associatedComponents"
|
||||
id="business-associated-ability"
|
||||
class="scrollBox"
|
||||
></business-associated-ability>
|
||||
<!-- 组件展示 -->
|
||||
<business-presentation
|
||||
:dataList="dataList.data"
|
||||
id="business-presentation"
|
||||
class="scrollBox"
|
||||
></business-presentation>
|
||||
<!-- 功能介绍-->
|
||||
<business-function-intorduction
|
||||
:dataList="dataList.data"
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<!-- 导航 -->
|
||||
<developer-navigation
|
||||
:dataList="dataList.data"
|
||||
:associatedComponents="associatedComponents"
|
||||
:class="{ fixed: scrollTop >= 600 }"
|
||||
:selectNow="selectNow"
|
||||
></developer-navigation>
|
||||
|
|
|
@ -14,9 +14,16 @@
|
|||
<!-- 导航 -->
|
||||
<layer-service-navigation
|
||||
:dataList="dataList.data"
|
||||
:associatedComponents="associatedComponents"
|
||||
:class="{ fixed: scrollTop >= 600 }"
|
||||
:selectNow="selectNow"
|
||||
></layer-service-navigation>
|
||||
<!-- 关联能力 -->
|
||||
<layer-service-associated-ability
|
||||
:associatedComponents="associatedComponents"
|
||||
id="layer-service-associated-ability"
|
||||
class="scrollBox"
|
||||
></layer-service-associated-ability>
|
||||
<!-- 图层展示 视频 -->
|
||||
<layer-service-presentation
|
||||
:dataList="dataList.data"
|
||||
|
@ -29,12 +36,6 @@
|
|||
id="service-information"
|
||||
class="scrollBox"
|
||||
></layer-service-information>
|
||||
<!-- 关联能力 -->
|
||||
<layer-service-associated-ability
|
||||
:associatedComponents="associatedComponents"
|
||||
id="layer-service-associated-ability"
|
||||
class="scrollBox"
|
||||
></layer-service-associated-ability>
|
||||
<!-- 应用场景 -->
|
||||
<layer-service-application-scenarios
|
||||
:dataList="dataList.data"
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
title: item.type,
|
||||
content: item.desc,
|
||||
value: item.price,
|
||||
time: '',
|
||||
time: '元',
|
||||
unit: '¥',
|
||||
}
|
||||
break
|
||||
|
@ -103,7 +103,7 @@
|
|||
title: item.type,
|
||||
content: item.desc,
|
||||
value: item.price,
|
||||
time: '',
|
||||
time: '元',
|
||||
unit: '¥',
|
||||
}
|
||||
break
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
import mybus from '@/myplugins/mybus'
|
||||
import { queryPartAppByKeyId2 } from '@/api/home'
|
||||
// 获取当前路由地址
|
||||
const router = useRouter();
|
||||
const keyId = router.currentRoute.value.query.id;
|
||||
const router = useRouter()
|
||||
const keyId = router.currentRoute.value.query.id
|
||||
console.log('123', keyId)
|
||||
const navList = ref([
|
||||
{
|
||||
|
@ -65,15 +65,14 @@
|
|||
])
|
||||
const list = ref([])
|
||||
// 根据能力id查询是否存在关联应用
|
||||
queryPartAppByKeyId2({keyId: keyId}).then(
|
||||
res=>{
|
||||
queryPartAppByKeyId2({ keyId: keyId }).then((res) => {
|
||||
console.log('ressssssss', res)
|
||||
if (res.data.data.length > 0) {
|
||||
// 存在关联应用时在导航栏加入关联应用
|
||||
navList.value.unshift({
|
||||
name: '关联应用',
|
||||
key: 'algorithm-associated-ability',
|
||||
show: true
|
||||
show: true,
|
||||
})
|
||||
// list.value.push('关联应用')
|
||||
console.log('navList', navList)
|
||||
|
@ -82,8 +81,7 @@
|
|||
const props = defineProps({
|
||||
selectNow: { type: String, default: '' },
|
||||
dataList: { type: Object, default: null },
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
const select = ref('algorithm-display')
|
||||
|
||||
|
@ -121,9 +119,12 @@
|
|||
'props.dataList.infoList==============>',
|
||||
navList.value.filter((item) => item.name === list.value[0])
|
||||
)
|
||||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
debugger
|
||||
select.value = navList.value.filter(
|
||||
(item) => item.name === list.value[0]
|
||||
)[0].key
|
||||
}
|
||||
console.log('11111111111111111111111111', list.value, navList.value)
|
||||
}
|
||||
watch(
|
||||
|
@ -163,10 +164,12 @@
|
|||
}
|
||||
})
|
||||
if (list.value.length > 0) {
|
||||
if (navList.value.filter((item) => item.name === list.value[0])[0]) {
|
||||
select.value = navList.value.filter(
|
||||
(item) => item.name === list.value[0]
|
||||
)[0].key
|
||||
}
|
||||
}
|
||||
console.log('11111111111111111111111111', list.value, navList.value)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联能力" type="RELEVANCE"></detals-title>
|
||||
<detals-title title="关联组件" type="RELEVANCE"></detals-title>
|
||||
<div class="application-associated-ability-main">
|
||||
<div
|
||||
class="associated-ability-card"
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
key: 'application-associated-components',
|
||||
},
|
||||
{
|
||||
name: '关联能力',
|
||||
name: '关联组件',
|
||||
key: 'application-associated-ability',
|
||||
},
|
||||
{
|
||||
|
@ -81,7 +81,7 @@
|
|||
list.value.push('应用展示')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联组件')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
|
@ -116,7 +116,7 @@
|
|||
list.value.push('应用展示')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联组件')
|
||||
list.value.push('部署与安全')
|
||||
list.value.push('归属部门与服务商')
|
||||
navList.value.forEach((item) => {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联能力" type="RELEVANCE"></detals-title>
|
||||
<detals-title title="关联应用" type="RELEVANCE"></detals-title>
|
||||
<div class="application-associated-ability-main">
|
||||
<div
|
||||
class="associated-ability-card"
|
||||
|
@ -41,9 +41,10 @@
|
|||
},
|
||||
})
|
||||
}
|
||||
if (props.associatedComponents) {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
flag.value = true
|
||||
dataFrom.value = props.associatedComponents
|
||||
debugger
|
||||
console.log('dataFrom.value', dataFrom.value)
|
||||
} else {
|
||||
flag.value = false
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
key: 'business-presentation',
|
||||
},
|
||||
{
|
||||
name: '关联能力',
|
||||
name: '关联应用',
|
||||
key: 'business-associated-ability',
|
||||
},
|
||||
{
|
||||
|
@ -55,6 +55,7 @@
|
|||
},
|
||||
])
|
||||
const props = defineProps({
|
||||
associatedComponents: { type: Array, default: null },
|
||||
selectNow: { type: String, default: '' },
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
|
@ -69,7 +70,7 @@
|
|||
list.value = []
|
||||
let arr = [
|
||||
'组件视频介绍',
|
||||
'关联能力',
|
||||
'关联应用',
|
||||
'功能介绍',
|
||||
'应用场景',
|
||||
'应用案例',
|
||||
|
@ -93,13 +94,19 @@
|
|||
list.value.push('组件展示')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联应用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
} else {
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
})
|
||||
select.value = navList.value.filter(
|
||||
(item) => item.name === list.value[0]
|
||||
|
@ -119,7 +126,7 @@
|
|||
list.value = []
|
||||
let arr = [
|
||||
'组件视频介绍',
|
||||
'关联能力',
|
||||
'关联应用',
|
||||
'功能介绍',
|
||||
'应用场景',
|
||||
'应用案例',
|
||||
|
@ -144,13 +151,19 @@
|
|||
list.value.push('组件展示')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联应用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
} else {
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
})
|
||||
if (list.value.length > 0) {
|
||||
select.value = navList.value.filter(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联能力" type="RELEVANCE"></detals-title>
|
||||
<detals-title title="关联应用" type="RELEVANCE"></detals-title>
|
||||
<div class="application-associated-ability-main">
|
||||
<div
|
||||
class="associated-ability-card"
|
||||
|
@ -41,9 +41,10 @@
|
|||
},
|
||||
})
|
||||
}
|
||||
if (props.associatedComponents) {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
flag.value = true
|
||||
dataFrom.value = props.associatedComponents
|
||||
debugger
|
||||
console.log('dataFrom.value', dataFrom.value)
|
||||
} else {
|
||||
flag.value = false
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
key: 'eveloper-presentation',
|
||||
},
|
||||
{
|
||||
name: '关联能力',
|
||||
name: '关联应用',
|
||||
key: 'developer-associated-ability',
|
||||
},
|
||||
{
|
||||
|
@ -60,6 +60,7 @@
|
|||
const props = defineProps({
|
||||
selectNow: { type: String, default: '' },
|
||||
dataList: { type: Object, default: null },
|
||||
associatedComponents: { type: Array, default: null },
|
||||
})
|
||||
const select = ref('algorithm-display')
|
||||
const list = ref([])
|
||||
|
@ -80,12 +81,18 @@
|
|||
list.value.push('组件展示')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联应用')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
} else {
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
})
|
||||
select.value = navList.value.filter(
|
||||
(item) => item.name === list.value[0]
|
||||
|
@ -115,14 +122,20 @@
|
|||
list.value.push('组件展示')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联应用')
|
||||
list.value.push('组件试用')
|
||||
list.value.push('使用方式')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
} else {
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
})
|
||||
if (list.value.length > 0) {
|
||||
select.value = navList.value.filter(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="application-associated-ability" v-if="flag">
|
||||
<detals-title title="关联能力" type="RELEVANCE"></detals-title>
|
||||
<detals-title title="关联应用" type="RELEVANCE"></detals-title>
|
||||
<div class="application-associated-ability-main">
|
||||
<div
|
||||
class="associated-ability-card"
|
||||
|
@ -41,9 +41,10 @@
|
|||
},
|
||||
})
|
||||
}
|
||||
if (props.associatedComponents) {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
flag.value = true
|
||||
dataFrom.value = props.associatedComponents
|
||||
debugger
|
||||
console.log('dataFrom.value', dataFrom.value)
|
||||
} else {
|
||||
flag.value = false
|
||||
|
|
|
@ -24,6 +24,10 @@
|
|||
import { ref, defineProps, watch } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const navList = ref([
|
||||
{
|
||||
name: '关联应用',
|
||||
key: 'layer-service-associated-ability',
|
||||
},
|
||||
{
|
||||
name: '图层展示',
|
||||
key: 'service-presentation',
|
||||
|
@ -32,10 +36,6 @@
|
|||
name: '图层信息',
|
||||
key: 'service-information',
|
||||
},
|
||||
{
|
||||
name: '关联能力',
|
||||
key: 'layer-service-associated-ability',
|
||||
},
|
||||
{
|
||||
name: '应用场景',
|
||||
key: 'service-application-scenarios',
|
||||
|
@ -60,6 +60,7 @@
|
|||
const props = defineProps({
|
||||
selectNow: { type: String, default: '' },
|
||||
dataList: { type: Object, default: null },
|
||||
associatedComponents: { type: Array, default: null },
|
||||
})
|
||||
const select = ref('service-presentation')
|
||||
const list = ref([])
|
||||
|
@ -121,12 +122,18 @@
|
|||
list.value.push('使用方式')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联应用')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
} else {
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
})
|
||||
select.value = navList.value.filter(
|
||||
(item) => item.name === '图层展示'
|
||||
|
@ -196,12 +203,18 @@
|
|||
list.value.push('使用方式')
|
||||
}
|
||||
})
|
||||
list.value.push('关联能力')
|
||||
list.value.push('关联应用')
|
||||
navList.value.forEach((item) => {
|
||||
console.log(item)
|
||||
if (list.value.indexOf(item.name) > -1) {
|
||||
if (item.name == '关联应用') {
|
||||
if (props.associatedComponents[0].dataList.length != 0) {
|
||||
item.show = true
|
||||
}
|
||||
} else {
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
})
|
||||
if (list.value.length > 0) {
|
||||
select.value = navList.value.filter(
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="infrastructrue-tab">
|
||||
<div v-for="(item, index) in tabList" :key="index" class="tabBox">
|
||||
<b class="leftType">{{ item.title }}</b>
|
||||
<button @click="nullClick" v-if="item.title == '视频细分'">清空</button>
|
||||
<button @click="nullClick" v-if="item.title == '视频标签'">清空</button>
|
||||
<span
|
||||
v-for="itemContent in item.content"
|
||||
:key="itemContent"
|
||||
|
@ -118,6 +118,7 @@
|
|||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
import { dataType } from 'element-plus/es/components/table-v2/src/common'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import {
|
||||
getCameraByParentId,
|
||||
|
@ -125,7 +126,6 @@
|
|||
getCameraAllLabel,
|
||||
} from '@/api/videoSurveillance'
|
||||
import { sgcInsert } from '@/api/home'
|
||||
import { message } from 'ant-design-vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
const options = reactive({
|
||||
|
@ -209,7 +209,7 @@
|
|||
content: ['视频资源', '云资源', '感知资源'],
|
||||
},
|
||||
{
|
||||
title: '视频细分',
|
||||
title: '视频标签',
|
||||
content: [],
|
||||
},
|
||||
])
|
||||
|
@ -257,12 +257,18 @@
|
|||
if (name == '视频资源') {
|
||||
tableHeight.value = 330
|
||||
showMap.value = true
|
||||
tabList.value[1].title = '视频标签'
|
||||
} else if (name == '云资源') {
|
||||
tableHeight.value = 600
|
||||
showMap.value = false
|
||||
dataSource.value = []
|
||||
pagination.value.total = 0
|
||||
tabList.value[1].title = '云资源分类'
|
||||
} else if (name == '感知资源') {
|
||||
tableHeight.value = 330
|
||||
showMap.value = true
|
||||
dataSource.value = []
|
||||
pagination.value.total = 0
|
||||
}
|
||||
clickList.value[indexFather].content.splice(
|
||||
clickList.value[indexFather].content.indexOf(name),
|
||||
|
@ -274,6 +280,7 @@
|
|||
showMap.value = true
|
||||
tabList.value[1].content = []
|
||||
clickList.value[1].content = []
|
||||
tabList.value[1].title = '视频标签'
|
||||
clickList.value[indexFather].content[0] = name
|
||||
getCameraAllLabel().then((res) => {
|
||||
res.data.data.forEach((val) => {
|
||||
|
@ -283,10 +290,21 @@
|
|||
})
|
||||
})
|
||||
})
|
||||
// 改变查询摄像头接口的labelCode数组
|
||||
mapSearchParam.value.labelCodes = []
|
||||
clickList.value[1].content.map((item) => {
|
||||
mapSearchParam.value.labelCodes.push(item.labelCode)
|
||||
})
|
||||
console.log('选中的标签code', mapSearchParam.value)
|
||||
mapSearchParam.value.labelCodes = mapSearchParam.value.labelCodes + ''
|
||||
getCamera()
|
||||
} else if (name == '云资源') {
|
||||
tableHeight.value = 600
|
||||
showMap.value = false
|
||||
dataSource.value = []
|
||||
pagination.value.total = 0
|
||||
clickList.value[1].content = []
|
||||
tabList.value[1].title = '云资源分类'
|
||||
clickList.value[indexFather].content[0] = name
|
||||
tabList.value[1].content = [
|
||||
'云主机',
|
||||
|
@ -302,8 +320,11 @@
|
|||
tableHeight.value = 330
|
||||
showMap.value = true
|
||||
clickList.value[1].content = []
|
||||
pagination.value.total = 0
|
||||
tabList.value[1].title = '感知资源分类'
|
||||
clickList.value[indexFather].content[0] = name
|
||||
tabList.value[1].content = []
|
||||
dataSource.value = []
|
||||
} else {
|
||||
clickList.value[indexFather].content.push(name)
|
||||
}
|
||||
|
@ -344,6 +365,7 @@
|
|||
dept.deptName = infrastructure.deptName
|
||||
}
|
||||
const apply = () => {
|
||||
if (selectedRowKeys.value.length != 0) {
|
||||
console.log('一键申请', selectedList.value)
|
||||
let arr = [
|
||||
{
|
||||
|
@ -364,6 +386,9 @@
|
|||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
} else {
|
||||
message.error('请选择需要申请的数据')
|
||||
}
|
||||
}
|
||||
// 添加至购物车
|
||||
const addShopCar = () => {
|
||||
|
|
|
@ -293,6 +293,11 @@
|
|||
color: #212121;
|
||||
text-align: center;
|
||||
margin-top: 0.05rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
.text {
|
||||
width: 100%;
|
||||
|
|
Loading…
Reference in New Issue