Merge branch 'hi-ucs-dev' of http://15.2.21.221:3000/wuhongjian/hi-ucs into hi-ucs-dev

# Conflicts:
#	front/public/static/config/location.js
This commit is contained in:
a0049873 2022-06-23 14:19:26 +08:00
commit cd42aa29af
17 changed files with 599 additions and 343 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@ back/dist-西海岸-后台管理.zip
back/public/index.html
back/dist-西海岸-后台管理-带配置文件.zip
back/dist-市局-后台管理-带配置文件.zip
back/dist-包头-后台管理.zip
back/dist-市局-后台管理.zip

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-04-11 10:11:40
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-20 16:20:34
* @LastEditTime: 2022-06-22 17:19:39
* @Description: 告诉大家这是什么
-->
<!DOCTYPE html>
@ -29,8 +29,8 @@
};
// window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.238:9796/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://124.222.94.39:9796/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/#/vueTemplateDemo';
window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9797/#/vueTemplateDemo';
window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/#/vueTemplateDemo';
// window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9797/#/vueTemplateDemo';
window.SITE_CONFIG['menuList'] = []; // 左侧菜单列表(后台返回,未做处理)
window.SITE_CONFIG['permissions'] = []; // 页面按钮操作权限(后台返回,未做处理)
window.SITE_CONFIG['dynamicRoutes'] = []; // 动态路由列表
@ -71,8 +71,8 @@
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
// WebSocket地址
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';
</script>

View File

@ -1,10 +1,7 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-ability__bsabilityai">
<el-form
:inline="true"
:model="dataForm"
>
<el-form :inline="true" :model="dataForm">
<el-form-item>
<el-input
v-model="dataForm.name"
@ -13,7 +10,9 @@
></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList2(dataForm.name)">{{ $t("query") }}</el-button>
<el-button @click="getDataList2(dataForm.name)">{{
$t("query")
}}</el-button>
</el-form-item>
<el-form-item>
<el-button type="info" @click="exportHandle()">{{
@ -36,7 +35,7 @@
>{{ $t("deleteBatch") }}</el-button
>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button @click="reset">重置</el-button>
</el-form-item>
</el-form>
@ -45,7 +44,7 @@
:data="dataList"
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;"
style="width: 100%"
:height="qp ? '810px' : '650px'"
>
<el-table-column
@ -70,9 +69,7 @@
show-overflow-tooltip="true"
>
<template slot-scope="scope">
{{
findValue(scope.row.infoList, item.attrType)
}}
{{ findValue(scope.row.infoList, item.attrType) }}
</template>
</el-table-column>
<el-table-column
@ -101,7 +98,33 @@
<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="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>
@ -122,182 +145,298 @@
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
<relate-application
v-if="relateApplicationResourceVisible"
ref="relateApplication"
:relateInfo="relationData"
@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 qs from 'qs'
import { type } from 'os'
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 () {
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/resource/page',
getDataListURL: "/resource/page",
getDataListIsPage: true,
exportURL: '/ability/bsabilityai/export',
deleteURL: '/resource/delete',
deleteIsBatch: true
exportURL: "/ability/bsabilityai/export",
deleteURL: "/resource/delete",
deleteIsBatch: true,
},
disabled: false,
sceneArr: dictionaries.sceneArr,
fieldArr: dictionaries.fieldArr,
shareFormArr: dictionaries.shareFormArr,
dataForm: {
name: '',
creator: '',
name: "",
creator: "",
selectType: 0,
delFlag: 0,
type: '应用资源'
type: "应用资源",
},
qp: false
}
qp: false,
relateApplicationResourceVisible: false,
relationData: {}, //穿
};
},
watch: {},
components: {
AddOrUpdate
AddOrUpdate,
RelateApplication,
},
created () {
this.dataForm.name = ''
this.dataForm.type = '应用资源'
created() {
this.dataForm.name = "";
this.dataForm.type = "应用资源";
},
mounted () {
window.addEventListener('resize', this.a)
this.fullScreen()
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: ''
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;
})
).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
})
.catch(() => {
this.dataListLoading = false;
});
},
showDetail (val) {
this.addOrUpdateVisible = true
this.disabled = 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
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')
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)
findValue(list, type) {
const found = list.find((item) => item.attrType === type);
if (found) {
return found.attrValue
return found.attrValue;
} else {
return '暂无数据'
return "暂无数据";
}
},
getDataList2 (names) {
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
})
)
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)
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
this.dataList = res.data.list;
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
: 0;
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data)
this.mixinViewModuleOptions.requestCallback(res.data);
}
this.dataListLoading = false
this.dataListLoading = false;
} else {
this.$message.error('未查询到相关信息')
this.reset()
this.$message.error("未查询到相关信息");
this.reset();
}
}).catch(() => {
this.dataListLoading = false
})
.catch(() => {
this.dataListLoading = false;
});
} else {
this.$message.error('查询不能输入为空')
this.$message.error("查询不能输入为空");
}
},
fullScreen () {
fullScreen() {
if (window.outerHeight === screen.availHeight) {
if (window.outerWidth === screen.availWidth) {
console.log(
'全屏1',
"全屏1",
window.outerHeight,
screen.availHeight,
window.outerWidth,
screen.availWidth
)
this.qp = false
);
this.qp = false;
} else {
console.log(
'不是全屏2',
"不是全屏2",
window.outerHeight,
screen.availHeight,
window.outerWidth,
screen.availWidth
)
this.qp = true
);
this.qp = true;
}
} else {
console.log(
'不是全屏3',
"不是全屏3",
window.outerHeight,
screen.availHeight,
window.outerWidth,
screen.availWidth
)
this.qp = true
);
this.qp = true;
}
}
}
}
},
//
applyAndAssembly(val) {
console.log("vvvv", val);
//idid,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,
};
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,
};
//
});
},
//
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,
};
//
});
},
//
handleIsShowRelatePopupApply(type) {
this.relateApplicationResourceVisible = type;
},
},
};
</script>
<style lang="scss" scoped>
.el-tooltip__popper {

View File

@ -11,9 +11,7 @@
<el-button type="primary" class="button-new" @click="flashTableData"
>查询</el-button
>
<el-button type="primary" class="button-new" @click="restTableData"
>重置</el-button
>
<el-button @click="restTableData">重置</el-button>
<div style="float: right">
<el-button
size="mini"

View File

@ -1,85 +1,168 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-pay__order">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.orderId" :placeholder="$t('order.orderId')" clearable></el-input>
<div class="mod-bscatalogue__bscatalogue">
<el-form :inline="true">
<el-form-item label="项目名称:">
<el-input
v-model="queryData.projectName"
placeholder="请输入项目名称"
clearable
></el-input>
</el-form-item>
<el-form-item label="应用名称:">
<el-input
v-model="queryData.applyName"
placeholder="请输入应用名称"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="dataForm.userId" :placeholder="$t('order.userId')" clearable></el-input>
</el-form-item>
<el-form-item>
<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-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
<el-button type="primary" @click="searchTableData">查询</el-button>
<el-button @click="resetTableData">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="orderId" :label="$t('order.orderId')" header-align="center" align="center"></el-table-column>
<el-table-column prop="productName" :label="$t('order.productName')" header-align="center" align="center"></el-table-column>
<el-table-column prop="payAmount" :label="$t('order.payAmount')" header-align="center" align="center"></el-table-column>
<el-table-column prop="status" :label="$t('order.status')" header-align="center" align="center">
<template slot-scope="scope">
{{ $getDictLabel("order_status", scope.row.status) }}
</template>
</el-table-column>
<el-table-column prop="payAt" :label="$t('order.payAt')" header-align="center" align="center"></el-table-column>
<el-table-column prop="createDate" :label="$t('order.createDate')" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">
<el-button v-if="scope.row.status === 0" type="text" size="small" @click="payHandle(scope.row.orderId)">{{ $t('order.pay') }}</el-button>
<el-button v-if="scope.row.status === 0" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template>
<el-table row-key="id" :data="dataList" border style="width: 100%">
<el-table-column
prop="projectName"
label="项目名称"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="applyName"
label="应用名称"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="useAbilityName"
label="使用能力名称"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="capabilityType"
label="能力类型"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="viewsNumber"
label="浏览次数"
header-align="center"
align="center"
></el-table-column>
<!-- <el-table-column label="操作" header-align="center" align="center">
</el-table-column> -->
</el-table>
<!-- 分页组件 -->
<el-pagination
:current-page="page"
style="margin-top: 20px; text-align: right"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="queryData.pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
:page-size="queryData.pageSize"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle">
:total="queryData.total"
>
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<!-- <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> -->
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import mixinViewModule from "@/mixins/view-module";
// import AddOrUpdate from './order-add-or-update'
import {addDynamicRoute} from "@/router";
import { addDynamicRoute } from "@/router";
export default {
mixins: [mixinViewModule],
data () {
// mixins: [mixinViewModule],
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/pay/order/page',
getDataListIsPage: true,
deleteURL: '/pay/order',
deleteIsBatch: true
queryData: {
projectName: "",
applyName: "",
pageIndex: 1,
pageSize: 10,
total: 0,
},
dataForm: {
orderId: '',
status: '',
userId: ''
}
}
dataList: [
{
projectName: "人员聚集算法任务",
applyName: "已创建",
useAbilityName: "人员聚集",
capabilityType: "视频类",
viewsNumber: "100",
},
],
};
},
components: {
// AddOrUpdate
},
mounted() {
//this.getTableData();
},
methods: {
payHandle (orderId) {
window.open(`${window.SITE_CONFIG['apiURL']}/pay/alipay/webPay?orderId=` + orderId);
}
}
}
getTableData() {
//
this.$http
.get("/taskList/tasklistcontroller/selectTaskList", {
params: {
page: this.queryData.pageIndex,
pageSize: this.queryData.pageSize,
projectName: this.queryData.projectName,
applyName: this.queryData.applyName,
},
})
.then((res) => {
console.log(res);
if (res.status === 200) {
this.dataList = res.data.taskEntityList;
this.queryData.total = parseInt(res.data.num);
}
})
.catch(() => {});
},
getStatusCnName(val) {
const arr = this.statusOptions.filter((i) => {
return i.value === val;
});
if (arr.length >= 0) {
return arr[0].label;
}
return "未知状态";
},
//
resetTableData() {
this.queryData.projectName = "";
this.queryData.applyName = "";
this.getTableData();
},
searchTableData() {
this.queryData.pageIndex = 1;
this.getTableData();
},
//
handleSizeChange(value) {
this.queryData.pageSize = value;
this.getTableData();
},
//
handleCurrentChange(val) {
this.queryData.pageIndex = val;
this.getTableData();
},
},
};
</script>
<style lang="scss" scoped>
.monitoring-top {
margin: 10px 0;
}
</style>

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2022-03-29 16:45:25
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-21 17:21:23
* @LastEditTime: 2022-06-22 18:46:16
* @Description: 告诉大家这是什么
-->
<!DOCTYPE html>
@ -32,11 +32,12 @@
// window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/';
// window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/document/#/devModelFile/';
// window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
// 包头
window.SITE_CONFIG['backUrl'] = 'http://10.110.205.1:8001';
window.SITE_CONFIG['previewUrl'] = 'http://10.110.205.1:8002/';
window.SITE_CONFIG['frontUrl'] = 'http://10.110.205.1:8002/document/#/devModelFile/';
window.SITE_CONFIG['apiURL'] = 'http://10.110.205.1:8000/renren-admin';
window.SITE_CONFIG['backUrl'] = 'http://15.72.183.90:8001';
window.SITE_CONFIG['previewUrl'] = 'http://15.72.183.90:7008/';
window.SITE_CONFIG['frontUrl'] = 'http://15.72.183.90:7008/document/#/devModelFile/';
window.SITE_CONFIG['apiURL'] = 'http://15.72.183.90:8000/renren-admin';
// 西海岸版本
// window.SITE_CONFIG['backUrl'] = 'http://10.134.135.9:9797';
// window.SITE_CONFIG['previewUrl'] = 'http://10.134.135.9:9796/';

View File

@ -2,12 +2,12 @@
* @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-23 10:53:31
* @LastEditTime: 2022-06-23 14:17:52
* @Description: 数据资源参数配置
*/
// const newLocation = 'qingdao'
const newLocation = 'qingdao'
// const newLocation = 'baotou'
const newLocation = 'xihaian'
// const newLocation = 'xihaian'
//
const whoShow = {}
@ -80,21 +80,21 @@ else if (newLocation === 'baotou') {
]
footerDataList.footerList = {
company: {
left: '青岛西海岸新区大数据发展促进局建设',
right: 'v0.81',
left: '包头市工业和信息化局大数据中心建设',
right: '海信网络科技股份有限公司',
},
address: [
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
name: '蒙ICP备05003330-1号',
value: '政府标识码1502000040',
},
{
name: '版权所有:青岛西海岸新区大数据发展促进局',
value: '地址:青岛市西海岸新区长江中路369号',
name: '版权所有:包头市工业和信息化局大数据中心',
value: '地址:内蒙古自治区包头市九原区开元大街1号',
},
{
name: '电话0532-86986596',
value: '传真0532-86986596',
name: '电话0472-5618235',
value: '传真0472-5618235',
},
],
}

View File

@ -1,8 +1,8 @@
/*
* @Author: hisense.wuhongjian
* @Date: 2022-04-01 19:19:40
* @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-22 15:27:36
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-22 18:59:03
* @Description: 告诉大家这是什么
*/
import request from '@/utils/request'
@ -62,7 +62,14 @@ export function pageWithAttrs(data) {
data,
})
}
// hls
export function getHls(params) {
return request({
url: '/resource/hls/getHls',
method: 'get',
params,
})
}
//
export function sgcInsert(data) {
return request({

View File

@ -1,3 +1,10 @@
<!--
* @Author: hisense.wuhongjian
* @Date: 2022-06-22 19:37:44
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-22 19:44:19
* @Description: 告诉大家这是什么
-->
<template>
<div>
<new-home-header></new-home-header>
@ -18,6 +25,6 @@
import SharingSituation from '@/views/abilityStatistics/components/SharingSituation.vue'
import AbilityRanking from '@/views/abilityStatistics/components/AbilityRanking.vue'
import CapabilityRequirements from '@/views/abilityStatistics/components/CapabilityRequirements.vue'
import HomeFooter from '@/views/abilityStatistics/components/Footer'
import HomeFooter from '@/views/newHome/components/Footer'
</script>
<style lang="less" scoped></style>

View File

@ -8,24 +8,24 @@
<div class="content-left">
<div class="content-left-content">
<ul>
<li v-for="(item, index) in dataFromLeft" :key="index">
<li v-for="(item, index) in dataFromLeft.content" :key="index">
<img :src="iconImg" />
<span>{{ item.type }}</span>
<p>{{ item.value }}</p>
<p>{{ item.values }}</p>
</li>
</ul>
<ul>
<li v-for="(item, index) in dataFromCenter" :key="index">
<li v-for="(item, index) in dataFromCenter.content" :key="index">
<img :src="iconImg" />
<span>{{ item.type }}</span>
<p>{{ item.value }}</p>
<p>{{ item.values }}</p>
</li>
</ul>
<ul>
<li v-for="(item, index) in dataFromRight" :key="index">
<li v-for="(item, index) in dataFromRight.content" :key="index">
<img :src="iconImg" />
<span>{{ item.type }}</span>
<p>{{ item.value }}</p>
<p>{{ item.values }}</p>
</li>
</ul>
</div>
@ -38,48 +38,54 @@
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
import { ref, defineProps, watch } from 'vue'
const iconImg = require('@/assets/detailsAll/layer-service/layer-icon.png')
const dataFromLeft = ref([
{
type: '服务类型',
value: '服务类型名称',
},
{
type: '覆盖区域',
value: '覆盖区域名称',
},
{
type: '切片策略',
value: '名称',
},
])
const dataFromCenter = ref([
{
type: '坐标系',
value: '名称',
},
{
type: '切片尺寸详情',
value: '名称',
},
{
type: '最小级别名称',
value: '名称',
},
])
const dataFromRight = ref([
{
type: '数据范围',
value: '名称',
},
{
type: '图层名称',
value: '名称',
},
{
type: '最大级别',
value: '名称',
},
])
const dataFromLeft = ref({
content: [
{
type: '服务类型',
values: '',
},
{
type: '覆盖区域',
values: '',
},
{
type: '切片策略',
values: '',
},
],
})
const dataFromCenter = ref({
content: [
{
type: '坐标系',
values: '',
},
{
type: '切片尺寸详情',
values: '',
},
{
type: '最小级别名称',
values: '',
},
],
})
const dataFromRight = ref({
content: [
{
type: '数据范围',
values: '',
},
{
type: '图层名称',
values: '',
},
{
type: '最大级别',
values: '',
},
],
})
//
const props = defineProps({
dataList: { type: Object, default: null },
@ -87,25 +93,35 @@
const flag = ref(true)
if (props.dataList.infoList) {
let obj = props.dataList.infoList.filter(
(item) => item.attrType === '图层信息'
(item) => item.attrType === '技术文档'
)[0]
if (!obj) {
flag.value = false
} else {
// dataFrom.value.content[0].link.value = props.dataList.apiUrl
// dataFrom.value.content[0].facilitator.value = props.dataList.deptContacts
// console.log('dataList', props.dataList)
// props.dataList.infoList.map((item) => {
// if (item.attrType === '') {
// dataFrom.value.content[0].linkValue = item.attrValue || '--'
// } else if (item.attrType === '') {
// dataFrom.value.content[0].facilitator2.value = item.attrValue || '--'
// } else if (item.attrType === '') {
// dataFrom.value.content[0].people2.value = item.attrValue || '--'
// } else if (item.attrType === '') {
// dataFrom.value.content[0].phone2.value = item.attrValue || '--'
// }
// })
console.log('dataList', props.dataList)
props.dataList.infoList.map((item) => {
if (item.attrType === '服务类型') {
dataFromLeft.value.content[0].values = item.attrValue || '123'
} else if (item.attrType === '覆盖区域') {
dataFromLeft.value.content[1].values = item.attrValue || '--'
} else if (item.attrType === '切片策略') {
dataFromLeft.value.content[2].values = item.attrValue || '--'
} else if (item.attrType === '坐标系') {
dataFromCenter.value.content[0].values = item.attrValue || '--'
} else if (item.attrType === '切片尺寸') {
dataFromCenter.value.content[1].values = item.attrValue || '--'
} else if (item.attrType === '最小级别') {
dataFromCenter.value.content[2].values = item.attrValue || '--'
} else if (item.attrType === '数据范围') {
dataFromRight.value.content[0].values = item.attrValue || '--'
} else if (item.attrType === '图层类型') {
dataFromRight.value.content[1].values = item.attrValue || '--'
} else if (item.attrType === '最大级别') {
dataFromRight.value.content[2].values = item.attrValue || '--'
}
})
}
}
watch(
@ -118,19 +134,28 @@
} else {
// dataFrom.value.content[0].link.value = val.apiUrl
// dataFrom.value.content[0].facilitator.value = val.deptContacts
// console.log('dataList', val)
// val.infoList.map((item) => {
// if (item.attrType === '') {
// dataFrom.value.content[0].linkValue = item.attrValue || '--'
// } else if (item.attrType === '') {
// dataFrom.value.content[0].facilitator2.value =
// item.attrValue || '--'
// } else if (item.attrType === '') {
// dataFrom.value.content[0].people2.value = item.attrValue || '--'
// } else if (item.attrType === '') {
// dataFrom.value.content[0].phone2.value = item.attrValue || '--'
// }
// })
console.log('dataList', val)
val.infoList.map((item) => {
if (item.attrType === '服务类型') {
dataFromLeft.value.content[0].values = item.attrValue || '123'
} else if (item.attrType === '覆盖区域') {
dataFromLeft.value.content[1].values = item.attrValue || '--'
} else if (item.attrType === '切片策略') {
dataFromLeft.value.content[2].values = item.attrValue || '--'
} else if (item.attrType === '坐标系') {
dataFromCenter.value.content[0].values = item.attrValue || '--'
} else if (item.attrType === '切片尺寸') {
dataFromCenter.value.content[1].values = item.attrValue || '--'
} else if (item.attrType === '最小级别') {
dataFromCenter.value.content[2].values = item.attrValue || '--'
} else if (item.attrType === '数据范围') {
dataFromRight.value.content[0].values = item.attrValue || '--'
} else if (item.attrType === '图层类型') {
dataFromRight.value.content[1].values = item.attrValue || '--'
} else if (item.attrType === '最大级别') {
dataFromRight.value.content[2].values = item.attrValue || '--'
}
})
}
}
}

View File

@ -67,11 +67,11 @@
if (props.dataList.infoList) {
list.value = []
let arr = [
'组件视频介绍',
'图层信息',
'图层缩略图',
'坐标系',
'应用场景',
'应用案例',
'图层预览',
'是否可预览',
'使用方式',
'常见问题',
]
@ -83,14 +83,18 @@
props.dataList.infoList.map((item) => {
if (
item.attrType === '常见问题' ||
item.attrType === '图层信息' ||
item.attrType === '图层预览' ||
item.attrType === '应用场景' ||
item.attrType === '应用案例'
) {
list.value.push(item.attrType)
} else if (item.attrType === '组件视频介绍') {
} else if (item.attrType === '图层缩略图') {
list.value.push('图层展示')
} else if (item.attrType === '坐标系') {
list.value.push('图层信息')
} else if (item.attrType === '是否可预览') {
if (item.attrValue === '是') {
list.value.push('图层预览')
}
}
})
list.value.push('使用方式')
@ -117,11 +121,11 @@
if (val) {
list.value = []
let arr = [
'组件视频介绍',
'图层信息',
'图层缩略图',
'坐标系',
'应用场景',
'应用案例',
'图层预览',
'是否可预览',
'使用方式',
'常见问题',
]
@ -134,14 +138,18 @@
val.infoList.map((item) => {
if (
item.attrType === '常见问题' ||
item.attrType === '图层信息' ||
item.attrType === '图层预览' ||
item.attrType === '应用场景' ||
item.attrType === '应用案例'
) {
list.value.push(item.attrType)
} else if (item.attrType === '组件视频介绍') {
list.value.push('组件展示')
} else if (item.attrType === '图层缩略图') {
list.value.push('图层展示')
} else if (item.attrType === '坐标系') {
list.value.push('图层信息')
} else if (item.attrType === '是否可预览') {
if (item.attrValue === '是') {
list.value.push('图层预览')
}
}
})
list.value.push('使用方式')

View File

@ -9,7 +9,7 @@
<div class="application-presentation" v-if="flag">
<detals-title title="图层展示" type="IMAGE"></detals-title>
<div class="main">
<img :src="img" />
<img :src="onTrial" />
</div>
</div>
</template>
@ -20,16 +20,16 @@
dataList: { type: Object, default: null },
})
const flag = ref(true)
const img = ref()
const onTrial = ref('')
console.log('111111111111111111111,', props.dataList)
if (props.dataList.infoList) {
let imgindex = props.dataList.infoList.filter(
(item) => item.attrType === '组件图片'
(item) => item.attrType === '图层缩略图'
)[0]
if (!imgindex) {
flag.value = false
} else {
img.value = imgindex.attrValue
onTrial.value = imgindex.attrValue
}
}
watch(
@ -37,12 +37,12 @@
(val) => {
if (val) {
let imgindex = props.dataList.infoList.filter(
(item) => item.attrType === '组件图片'
(item) => item.attrType === '图层缩略图'
)[0]
if (!imgindex) {
flag.value = false
} else {
img.value = imgindex.attrValue
onTrial.value = imgindex.attrValue
}
}
}
@ -72,7 +72,7 @@
cursor: pointer;
}
img {
width: 50%;
width: 100%;
height: 100%;
border-radius: 0.1rem;
}

View File

@ -8,7 +8,14 @@
<template>
<div class="application-presentation" v-if="flag">
<detals-title title="图层预览" type="PREVIEW"></detals-title>
<div class="main" :style="`${img}background-position:center;`"></div>
<div class="main" :style="`${img}background-position:center;`">
<iframe
:src="img"
width="100%"
height="100%"
border-radius="0.1rem"
></iframe>
</div>
</div>
</template>
<script setup>
@ -19,16 +26,16 @@
dataList: { type: Object, default: null },
})
const flag = ref(true)
const img = ref({})
const img = ref('')
console.log('111111111111111111111,', props.dataList)
if (props.dataList.infoList) {
let imgindex = props.dataList.infoList.filter(
(item) => item.attrType === '图层预览'
(item) => item.attrType === '是否可预览' && item.attrValue === '是'
)[0]
if (!imgindex) {
flag.value = false
} else {
img.value = 'background:' + 'url(' + imgindex.attrValue + ') no-repeat;'
img.value = imgindex.attrValue
}
}
watch(
@ -36,13 +43,12 @@
(val) => {
if (val) {
let imgindex = props.dataList.infoList.filter(
(item) => item.attrType === '图层预览'
(item) => item.attrType === '是否可预览' && item.attrValue === '是'
)[0]
if (!imgindex) {
flag.value = false
} else {
img.value =
'background:' + 'url(' + imgindex.attrValue + ') no-repeat;'
img.value = imgindex.attrValue
}
}
}
@ -54,10 +60,6 @@
.main {
height: 5rem;
border-radius: 0.1rem;
// background-image: url('~@/assets/detailsAll/sf_video_bg.png');
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
margin-top: 0.4rem;
display: flex;
justify-content: center;

View File

@ -30,11 +30,11 @@
</div>
<div class="bottom" v-if="props.dataList.id">
<a-button type="primary" @click="toView()">
<!--<template #icon><form-outlined /></template>-->
<template #icon><form-outlined /></template>
申请使用
</a-button>
<a-button type="primary" @click="addShoppingCart()">
<!--<template #icon><shopping-cart-outlined /></template>-->
<template #icon><shopping-cart-outlined /></template>
加入购物车
</a-button>
<a-button type="primary" @click="goTOCollection()">收藏</a-button>
@ -44,7 +44,7 @@
</div>
</template>
<script setup>
import { ShoppingCartOutlined } from '@ant-design/icons-vue'
import { FormOutlined, ShoppingCartOutlined } from '@ant-design/icons-vue'
import { defineProps, ref, watch } from 'vue'
import { scInsert } from '@/api/personalCenter'
import { sgcInsert } from '@/api/home'
@ -150,7 +150,7 @@
.lable-father {
position: absolute;
min-width: 2.5rem;
right: -2.5rem;
right: -2.8rem;
top: 0;
}
.label {
@ -182,37 +182,21 @@
.bottom {
margin-top: 0.4rem;
display: flex;
.ant-btn {
height: 0.5rem;
margin-right: 0.2rem;
background: #ffffff;
background: #ff8b55;
border-radius: 0.06rem;
font-size: 0.2rem;
display: flex;
justify-content: center;
align-items: center;
}
.ant-btn-primary {
color: #1890ff;
}
.ant-btn:nth-of-type(1) {
width: 1.8rem;
background-image: url('~@/assets/detailsAll/layer-service/layer-apply-using.png');
background-repeat: no-repeat;
background-position: 24px center;
background-color: #ff8b55;
color: #fff;
padding-left: 26px;
}
.ant-btn:nth-of-type(2) {
width: 2.2rem;
background-image: url('~@/assets/detailsAll/layer-service/layer-shopping-car.png');
background-repeat: no-repeat;
background-position: 24px center;
background-color: #ff8b55;
color: #fff;
padding-left: 26px;
}
.ant-btn:nth-of-type(3) {
width: 1.45rem;

View File

@ -63,8 +63,9 @@
name: '接口地址:',
},
linkValue: '',
csslnkValue: '',
contact: '归属部门',
facilitator: { name: '归属部门:', value: '讯飞科大' },
facilitator: { name: '归属部门:', values: '讯飞科大' },
people: { name: '部门联系人:', value: '李四' },
phone: {
name: '联系人电话:',
@ -87,17 +88,17 @@
} else {
// eslint-disable-next-line vue/no-setup-props-destructure
dataFrom.value.content[0].link.value = props.dataList.apiUrl
dataFrom.value.content[0].facilitator.value = props.dataList.deptContacts
dataFrom.value.content[0].facilitator.values = props.dataList.deptContacts
console.log('dataList', props.dataList)
props.dataList.infoList.map((item) => {
if (item.attrType === '组件地址') {
dataFrom.value.content[0].linkValue = item.attrValue || '--'
} else if (item.attrType === '服务商') {
dataFrom.value.content[0].facilitator2.value = item.attrValue || '--'
dataFrom.value.content[0].facilitator.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系人') {
dataFrom.value.content[0].people2.value = item.attrValue || '--'
dataFrom.value.content[0].people.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系电话') {
dataFrom.value.content[0].phone2.value = item.attrValue || '--'
dataFrom.value.content[0].phone.value = item.attrValue || '--'
}
})
}
@ -117,12 +118,12 @@
if (item.attrType === '组件地址') {
dataFrom.value.content[0].linkValue = item.attrValue || '--'
} else if (item.attrType === '服务商') {
dataFrom.value.content[0].facilitator2.value =
dataFrom.value.content[0].facilitator.value =
item.attrValue || '--'
} else if (item.attrType === '服务商联系人') {
dataFrom.value.content[0].people2.value = item.attrValue || '--'
dataFrom.value.content[0].people.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系电话') {
dataFrom.value.content[0].phone2.value = item.attrValue || '--'
dataFrom.value.content[0].phone.value = item.attrValue || '--'
}
})
}

View File

@ -209,7 +209,7 @@
import { getUser, sgcInsert } from '@/api/home'
import { scInsert, scDel } from '@/api/personalCenter'
import mybus from '@/myplugins/mybus'
import { getHls } from '@/api/file.js'
import { getHls } from '@/api/home.js'
export default {
name: '',
@ -477,8 +477,7 @@
const openVideo = (item) => {
videoUrl.value = ''
const param = {
cameraId: item.link,
protocol: 'hls',
key: item.link,
}
getHls(param).then((res) => {
console.log('获取视频地址===============>', res)

View File

@ -112,7 +112,7 @@
case '业务组件':
showView.value = 'business-details'
break
case 'GIS图层':
case '图层服务':
showView.value = 'layer-service'
break
default:
@ -146,7 +146,7 @@
case '业务组件':
showView.value = 'business-details'
break
case 'GIS图层':
case '图层服务':
showView.value = 'layer-service'
break
default: