合并版本v0.8.7.2
This commit is contained in:
commit
48097bdd54
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-08-25 14:37:49
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-27 14:25:39
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
var _global = {}
|
||||
var CONFIGITEM = {
|
||||
version: 'qingdao', // 青岛
|
||||
// version: 'xihaian', // 西海岸
|
||||
// version: 'test', // 测试
|
||||
// version: 'frp', // 内网穿透
|
||||
// version: 'dev', // 开发
|
||||
vNum: 'v0.8.7.2',
|
||||
configData: {
|
||||
// 青岛市大数据局
|
||||
qingdao: {
|
||||
previewUrl: 'http://15.72.183.90:7008/',
|
||||
apiURL: 'http://15.72.183.90:8000/renren-admin',
|
||||
websocketURL: 'ws://15.72.183.90:8000/renren-admin/websocket'
|
||||
},
|
||||
// 西海岸大数据局
|
||||
xihaian: {
|
||||
previewUrl: 'http://10.134.135.9:9796/',
|
||||
apiURL: 'http://10.134.135.9:8888/renren-admin',
|
||||
websocketURL: 'ws://10.134.135.9:8888/renren-admin/websocket'
|
||||
},
|
||||
// 测试
|
||||
test: {
|
||||
previewUrl: 'http://192.168.124.243:9796/',
|
||||
apiURL: 'http://192.168.124.243:8888/renren-admin',
|
||||
websocketURL: 'ws://192.168.124.243:8888/renren-admin/websocket'
|
||||
},
|
||||
// 内网穿透
|
||||
frp: {
|
||||
previewUrl: 'http://124.222.94.39:9796/',
|
||||
apiURL: 'http://124.222.94.39:8888/renren-admin',
|
||||
websocketURL: 'ws://124.222.94.39:8888/renren-admin/websocket'
|
||||
},
|
||||
dev: {
|
||||
previewUrl: 'http://localhost:8080/',
|
||||
apiURL: 'http://192.168.124.236:8888/renren-admin',
|
||||
websocketURL: 'ws://192.168.124.236:8888/renren-admin/websocket'
|
||||
}
|
||||
}
|
||||
}
|
||||
_global.config = CONFIGITEM.configData[CONFIGITEM.version]
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-11 10:11:40
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-02 10:18:38
|
||||
* @LastEditTime: 2022-08-29 09:54:59
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
@ -11,10 +11,11 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<link rel="shortcut icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<script type="text/javascript" src="./config/basicConfig.js"></script>
|
||||
<!-- 站点配置 -->
|
||||
<script>
|
||||
window.SITE_CONFIG = {};
|
||||
window.SITE_CONFIG['version'] = 'v2.9.0';
|
||||
window.SITE_CONFIG['version'] = CONFIGITEM.vNum;
|
||||
window.SITE_CONFIG['nodeEnv'] = '<%= process.env.VUE_APP_NODE_ENV %>';
|
||||
window.SITE_CONFIG['apiURL'] = ''; // api请求地址
|
||||
window.SITE_CONFIG['storeState'] = {}; // vuex本地储存初始化状态(用于不刷新页面的情况下,也能重置初始化项目中所有状态)
|
||||
|
@ -27,61 +28,19 @@
|
|||
'isTab': true, // 是否通过tab展示内容?
|
||||
'iframeURL': '' // 是否通过iframe嵌套展示内容? (以http[s]://开头, 自动匹配)
|
||||
};
|
||||
window.SITE_CONFIG['frontUrl'] = 'http://localhost:8080/#/vueTemplateDemo';
|
||||
// window.SITE_CONFIG['frontUrl'] = 'http://192.168.124.243: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['menuList'] = []; // 左侧菜单列表(后台返回,未做处理)
|
||||
window.SITE_CONFIG['permissions'] = []; // 页面按钮操作权限(后台返回,未做处理)
|
||||
window.SITE_CONFIG['dynamicRoutes'] = []; // 动态路由列表
|
||||
window.SITE_CONFIG['dynamicMenuRoutes'] = []; // 动态(菜单)路由列表
|
||||
window.SITE_CONFIG['dynamicMenuRoutesHasAdded'] = false; // 动态(菜单)路由是否已经添加的状态标示(用于判断是否需要重新拉取数据并进行动态添加操作)
|
||||
</script>
|
||||
|
||||
<!-- 开发环境 -->
|
||||
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
|
||||
<script>
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.166:8888/renren-admin';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://10.16.5.35:8888/renren-admin';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://192.168.124.236:8888/renren-admin';
|
||||
window.SITE_CONFIG['previewUrl'] = 'http://localhost:8080/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
|
||||
window.SITE_CONFIG['frontUrl'] = _global.config.previewUrl + '#/vueTemplateDemo';
|
||||
window.SITE_CONFIG['previewUrl'] = _global.config.previewUrl;
|
||||
window.SITE_CONFIG['apiURL'] = _global.config.apiURL;
|
||||
// WebSocket地址
|
||||
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';
|
||||
window.SITE_CONFIG['socketURL'] =_global.config.socketURL;
|
||||
</script>
|
||||
<% } %>
|
||||
<!-- 集成测试环境 -->
|
||||
<% if (process.env.VUE_APP_NODE_ENV === 'prod:sit') { %>
|
||||
<script>
|
||||
window.SITE_CONFIG['apiURL'] = 'http://localhost:8080/renren-admin';
|
||||
// WebSocket地址
|
||||
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';
|
||||
</script>
|
||||
<% } %>
|
||||
<!-- 验收测试环境 -->
|
||||
<% if (process.env.VUE_APP_NODE_ENV === 'prod:uat') { %>
|
||||
<script>
|
||||
window.SITE_CONFIG['apiURL'] = 'http://localhost:8080/renren-admin';
|
||||
// WebSocket地址
|
||||
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';
|
||||
</script>
|
||||
<% } %>
|
||||
<!-- 生产环境 -->
|
||||
<% if (process.env.VUE_APP_NODE_ENV === 'prod') { %>
|
||||
<script>
|
||||
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
|
||||
window.SITE_CONFIG['previewUrl'] = 'http://192.168.124.243:9796/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://192.168.124.243: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>
|
||||
<% } %>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
|
|
@ -486,7 +486,7 @@ $--cascader-tag-background: #f0f2f5;
|
|||
|
||||
/* Group
|
||||
-------------------------- */
|
||||
$--group-option-flex: 0 0 (1/5) * 100% !default;
|
||||
$--group-option-flex: 0 0 20% !default;
|
||||
$--group-option-offset-bottom: 12px !default;
|
||||
$--group-option-fill-hover: rgba($--color-black, 0.06) !default;
|
||||
$--group-title-color: $--color-black !default;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/*
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-08-23 10:30:11
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-23 10:31:30
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-25 21:05:18
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
const returnLocationStr = () => {
|
||||
return 'qingdao'
|
||||
return 'qingdao1'
|
||||
}
|
||||
|
||||
export default returnLocationStr
|
||||
|
|
|
@ -94,19 +94,20 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import qs from "qs";
|
||||
import SceneUseStep from './components/scene-use-step.vue';
|
||||
import SceneOneInput from './components/scene-one-input.vue';
|
||||
import CombineAbility from '../components/combine-ability.vue';
|
||||
import CommonQuestion from '../components/common-question.vue';
|
||||
import debounce from 'lodash/debounce'
|
||||
import qs from 'qs'
|
||||
import SceneUseStep from './components/scene-use-step.vue'
|
||||
import SceneOneInput from './components/scene-one-input.vue'
|
||||
import CombineAbility from '../components/combine-ability.vue'
|
||||
import CommonQuestion from '../components/common-question.vue'
|
||||
import InfrastructureModal from './components/infrastructure-modal.vue'
|
||||
import Cookies from 'js-cookie'
|
||||
import upload from '@/views/modules/components/upload'
|
||||
|
||||
let btnArray = ['基本信息', '场景痛点', '解决方案', '组合能力', '更多能力', '使用步骤']
|
||||
const btnArray = ['基本信息', '场景痛点', '解决方案', '组合能力', '更多能力', '使用步骤']
|
||||
// 数据资源\组件服务
|
||||
export const getJson = (type) => {
|
||||
if (type === '组件服务') {
|
||||
return {
|
||||
methods: 'get',
|
||||
url: '/census/center/selectResourceListByType',
|
||||
|
@ -114,20 +115,33 @@ export const getJson = (type) => {
|
|||
type
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
methods: 'post',
|
||||
url: '/resource/getDataResource',
|
||||
postData: {
|
||||
serviceName: '', // 资源名称
|
||||
orderField: 'fbrq', // 排序字段
|
||||
orderType: 'desc',
|
||||
pageNum: 1, // 页码
|
||||
pageSize: 15 // 分页大小
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
export const getDescJson = (text) => {
|
||||
return {
|
||||
descObj: {
|
||||
text: `${text}描述`,
|
||||
key: 'description'
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
// 弹框的方法
|
||||
export const getListParams = {
|
||||
'数据资源': getJson('数据资源'),
|
||||
'组件服务': getJson('组件服务'),
|
||||
'基础设施': ''
|
||||
数据资源: getJson('数据资源'),
|
||||
组件服务: getJson('组件服务'),
|
||||
基础设施: ''
|
||||
}
|
||||
// 模态框标题
|
||||
export const modalTypeText = {
|
||||
|
@ -136,13 +150,13 @@ export const modalTypeText = {
|
|||
}
|
||||
|
||||
export const getFuseResourceList = (abilityListObj) => {
|
||||
let arr = []
|
||||
const arr = []
|
||||
let length = 0
|
||||
for (const key in abilityListObj) {
|
||||
if (Object.hasOwnProperty.call(abilityListObj, key)) {
|
||||
const itemArray = abilityListObj[key];
|
||||
const itemArray = abilityListObj[key]
|
||||
itemArray.map((v, i) => {
|
||||
let index = (i + 1) + length
|
||||
const index = (i + 1) + length
|
||||
arr.push({
|
||||
resourceId: v,
|
||||
type: key,
|
||||
|
@ -162,9 +176,9 @@ export default {
|
|||
SceneOneInput,
|
||||
upload,
|
||||
CommonQuestion,
|
||||
InfrastructureModal,
|
||||
InfrastructureModal
|
||||
},
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
fileUploadUrl: window.SITE_CONFIG.apiURL + '/upload',
|
||||
moreKeyTextObj: {
|
||||
|
@ -172,80 +186,80 @@ export default {
|
|||
text: '能力名称',
|
||||
key: 'name'
|
||||
},
|
||||
...getDescJson('能力'),
|
||||
...getDescJson('能力')
|
||||
},
|
||||
painKeyTextObj: getDescJson('痛点'),
|
||||
solutionKeyTextObj: getDescJson('方案'),
|
||||
dataForm: {
|
||||
"name": "",
|
||||
"applicationArea": "",
|
||||
"description": "",
|
||||
"fuseAttrList": [
|
||||
name: '',
|
||||
applicationArea: '',
|
||||
description: '',
|
||||
fuseAttrList: [
|
||||
{
|
||||
"attrType": "使用步骤",
|
||||
"attrValue": [{ question: "", answer: "" }],
|
||||
attrType: '使用步骤',
|
||||
attrValue: [{ question: '', answer: '' }]
|
||||
},
|
||||
{
|
||||
"attrType": "更多能力",
|
||||
"attrValue": [{ name: "", description: "" }],
|
||||
attrType: '更多能力',
|
||||
attrValue: [{ name: '', description: '' }]
|
||||
},
|
||||
{
|
||||
"attrType": "场景痛点",
|
||||
"attrValue": [{ description: "" }],
|
||||
attrType: '场景痛点',
|
||||
attrValue: [{ description: '' }]
|
||||
},
|
||||
{
|
||||
"attrType": "解决方案",
|
||||
"attrValue": [{ description: "" }],
|
||||
attrType: '解决方案',
|
||||
attrValue: [{ description: '' }]
|
||||
},
|
||||
{
|
||||
"attrType": "服务图片",
|
||||
"attrValue": "",
|
||||
},
|
||||
attrType: '服务图片',
|
||||
attrValue: ''
|
||||
}
|
||||
],
|
||||
"fuseResourceList": [],
|
||||
fuseResourceList: []
|
||||
},
|
||||
rules: {
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入名称",
|
||||
trigger: "change",
|
||||
},
|
||||
message: '请输入名称',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
description: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入描述",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
message: '请输入描述',
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
},
|
||||
checkList: JSON.parse(JSON.stringify(btnArray)),
|
||||
btnList: JSON.parse(JSON.stringify(btnArray)),
|
||||
addOrUpdateVisibleCopy: this.addOrUpdateVisible,
|
||||
displayInfo: {
|
||||
'name': '名称',
|
||||
'description': '描述',
|
||||
name: '名称',
|
||||
description: '描述'
|
||||
},
|
||||
modalTypeText: modalTypeText,
|
||||
refsParseArray: {
|
||||
'sceneUseUpDom': '使用步骤',
|
||||
'moreAbilityDom': '更多能力',
|
||||
'scenePainDom': '场景痛点',
|
||||
'solutionDom': '解决方案',
|
||||
'zjfwDom': '组件服务',
|
||||
'sjzyDom': '数据资源',
|
||||
'jcssDom': '基础设施',
|
||||
sceneUseUpDom: '使用步骤',
|
||||
moreAbilityDom: '更多能力',
|
||||
scenePainDom: '场景痛点',
|
||||
solutionDom: '解决方案',
|
||||
zjfwDom: '组件服务',
|
||||
sjzyDom: '数据资源',
|
||||
jcssDom: '基础设施'
|
||||
},
|
||||
getListParams: getListParams,
|
||||
abilityListObj: {},
|
||||
imgData: [],
|
||||
// 限定图片
|
||||
handleExceed() {
|
||||
handleExceed () {
|
||||
this.$message({ type: 'error', message: '最多支持一张图片上传' })
|
||||
},
|
||||
imageUrl: '',
|
||||
};
|
||||
imageUrl: ''
|
||||
}
|
||||
},
|
||||
props: {
|
||||
modalType: {
|
||||
|
@ -259,47 +273,47 @@ export default {
|
|||
},
|
||||
watch: {
|
||||
dataForm: {
|
||||
handler(newVal) {
|
||||
handler (newVal) {
|
||||
this.dataForm = newVal
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
immediate: true
|
||||
},
|
||||
addOrUpdateVisible: {
|
||||
handler(newVal) {
|
||||
this.addOrUpdateVisibleCopy = newVal;
|
||||
handler (newVal) {
|
||||
this.addOrUpdateVisibleCopy = newVal
|
||||
if (this.modalType == 'add' && newVal) {
|
||||
localStorage.setItem('InfrastructureSearchData', JSON.stringify({}))
|
||||
this.getDetail(this.dataForm)
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
clearForm() {
|
||||
this.$refs.dataForm && this.$refs.dataForm.resetFields();
|
||||
clearForm () {
|
||||
this.$refs.dataForm && this.$refs.dataForm.resetFields()
|
||||
},
|
||||
closeModal() {
|
||||
closeModal () {
|
||||
this.$emit('closeModal')
|
||||
},
|
||||
// 更新表单
|
||||
updateDataForm(data) {
|
||||
updateDataForm (data) {
|
||||
if (Object.keys(this.getListParams).includes(data.title)) {
|
||||
this.abilityListObj[data.title] = data.list;
|
||||
this.abilityListObj[data.title] = data.list
|
||||
} else {
|
||||
// 更多能力、使用步骤
|
||||
this.operateFuseAttrList(data.title, data)
|
||||
}
|
||||
},
|
||||
getFuseResourceList() {
|
||||
getFuseResourceList () {
|
||||
return getFuseResourceList(this.abilityListObj)
|
||||
},
|
||||
operateFuseAttrList(title, data) {
|
||||
operateFuseAttrList (title, data) {
|
||||
if (this.dataForm.fuseAttrList.every(v => v.attrType !== title)) {
|
||||
this.dataForm.fuseAttrList.push({
|
||||
'attrType': title,
|
||||
'attrValue': JSON.stringify(data.list)
|
||||
attrType: title,
|
||||
attrValue: JSON.stringify(data.list)
|
||||
})
|
||||
} else {
|
||||
this.dataForm.fuseAttrList.map(v => {
|
||||
|
@ -310,71 +324,71 @@ export default {
|
|||
}
|
||||
},
|
||||
// 改变按钮状态
|
||||
changeBtn(data) {
|
||||
this.checkList = data;
|
||||
changeBtn (data) {
|
||||
this.checkList = data
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
if (!valid) {
|
||||
this.$message.error("请检查表单是否填写完整");
|
||||
return false;
|
||||
this.$message.error('请检查表单是否填写完整')
|
||||
return false
|
||||
}
|
||||
let methodsObj = {
|
||||
'add': 'post',
|
||||
'update': 'put'
|
||||
const methodsObj = {
|
||||
add: 'post',
|
||||
update: 'put'
|
||||
}
|
||||
this.dataForm.fuseResourceList = this.getFuseResourceList()
|
||||
if (this.imageUrl == '') {
|
||||
this.$message.error("请上传图片!");
|
||||
return;
|
||||
this.$message.error('请上传图片!')
|
||||
return
|
||||
}
|
||||
this.dataForm.fuseAttrList.find(v => v.attrType == '服务图片').attrValue = this.imageUrl || '';
|
||||
let _obj = Object.assign({}, this.dataForm, {
|
||||
this.dataForm.fuseAttrList.find(v => v.attrType == '服务图片').attrValue = this.imageUrl || ''
|
||||
const _obj = Object.assign({}, this.dataForm, {
|
||||
type: '赋能场景'
|
||||
})
|
||||
console.log('this.dataForm------表单提交------>', this.dataForm);
|
||||
console.log('this.dataForm------表单提交------>', this.dataForm)
|
||||
this.$http
|
||||
[methodsObj[this.modalType]]("/fuse", _obj)
|
||||
[methodsObj[this.modalType]]('/fuse', _obj)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.$refs.dataForm && this.$refs.dataForm.resetFields();
|
||||
this.$emit("refreshDataList");
|
||||
this.$emit("closeModal");
|
||||
},
|
||||
});
|
||||
this.$refs.dataForm && this.$refs.dataForm.resetFields()
|
||||
this.$emit('refreshDataList')
|
||||
this.$emit('closeModal')
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message.error(err)
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
1000,
|
||||
{ leading: true, trailing: false }
|
||||
),
|
||||
// 详情
|
||||
getDetail(data) {
|
||||
console.log('data---详情--------->', data);
|
||||
this.dataForm = data;
|
||||
getDetail (data) {
|
||||
console.log('data---详情--------->', data)
|
||||
this.dataForm = data
|
||||
this.$nextTick(() => {
|
||||
for (const key in this.refsParseArray) {
|
||||
this.$refs[key] && this.$refs[key].getDataInfo && this.$refs[key].getDataInfo(data)
|
||||
}
|
||||
let _imgObj = data.fuseAttrList.find(v => v.attrType == '服务图片') || {};
|
||||
this.imageUrl = _imgObj.attrValue;
|
||||
const _imgObj = data.fuseAttrList.find(v => v.attrType == '服务图片') || {}
|
||||
this.imageUrl = _imgObj.attrValue
|
||||
|
||||
// 组合能力--特殊处理
|
||||
Object.keys(this.getListParams).map(k => {
|
||||
let arr = data.fuseResourceList.filter(v => v.type == k);
|
||||
let arr2 = [];
|
||||
const arr = data.fuseResourceList.filter(v => v.type == k)
|
||||
const arr2 = []
|
||||
arr.map(v => {
|
||||
arr2.push(v.resourceId)
|
||||
})
|
||||
|
@ -382,13 +396,13 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
handleAvatarSuccess(res, file) {
|
||||
handleAvatarSuccess (res, file) {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.imageUrl = res.data
|
||||
},
|
||||
beforeAvatarUpload(file) {
|
||||
beforeAvatarUpload (file) {
|
||||
const isImage =
|
||||
file.type === 'image/jpeg' ||
|
||||
file.type === 'image/jpg' ||
|
||||
|
@ -398,11 +412,11 @@ export default {
|
|||
}
|
||||
return isImage
|
||||
},
|
||||
addUploadRemoveFile(file, fileList) {
|
||||
addUploadRemoveFile (file, fileList) {
|
||||
this.$refs.addUpload.clearFiles()
|
||||
this.imageUrl = ''
|
||||
},
|
||||
editBeforeAvatarUpload(file) {
|
||||
editBeforeAvatarUpload (file) {
|
||||
const isImage =
|
||||
file.type === 'image/jpeg' ||
|
||||
file.type === 'image/jpg' ||
|
||||
|
@ -413,21 +427,21 @@ export default {
|
|||
}
|
||||
return isImage
|
||||
},
|
||||
editUploadRemoveFile(file, fileList) {
|
||||
editUploadRemoveFile (file, fileList) {
|
||||
this.$refs.editUpload.clearFiles()
|
||||
this.imageUrl = ''
|
||||
},
|
||||
eidtHandleAvatarSuccess(res, file) {
|
||||
eidtHandleAvatarSuccess (res, file) {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.imageUrl = res.data
|
||||
}
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
beforeDestroy () {
|
||||
this.clearForm()
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
@ -466,10 +480,8 @@ export default {
|
|||
|
||||
<style lang="scss" scoped>
|
||||
.mod-sys__menu {
|
||||
|
||||
.menu-list,
|
||||
.icon-list {
|
||||
|
||||
.el-input__inner,
|
||||
.el-input__suffix {
|
||||
cursor: pointer;
|
||||
|
@ -493,11 +505,11 @@ export default {
|
|||
padding: 0;
|
||||
margin: -8px 0 0 -8px;
|
||||
|
||||
>.el-button {
|
||||
> .el-button {
|
||||
padding: 8px;
|
||||
margin: 8px 0 0 8px;
|
||||
|
||||
>span {
|
||||
> span {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 18px;
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
<div class="show-box" v-if="displayList.length > 0">
|
||||
<div class="list-box">
|
||||
<div v-for="(item, i) in displayList" :key="i">
|
||||
<el-tooltip popper-class="testTooltip" effect="dark" :content="item[showKey] || '--'" placement="top">
|
||||
<div class="list-item">
|
||||
{{ item[showKey] || '--' }}
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -44,6 +44,11 @@
|
|||
<el-button type="primary" style="margin-left:10px;margin-top:4px" size="small" @click="clear">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button type="primary" style="margin-left:10px;margin-top:4px" size="small"
|
||||
@click="clearSelectArray">
|
||||
清空已选择
|
||||
</el-button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -115,6 +120,7 @@ export default {
|
|||
showKey: 0,
|
||||
showModal: false,
|
||||
selectedArray: [], // 已选择的数据id
|
||||
selectedArrayCopy: [],
|
||||
displayList: [], // 用于展示的list
|
||||
btnList: ['视频资源', '云资源', '感知资源'],
|
||||
showText: {
|
||||
|
@ -210,6 +216,8 @@ export default {
|
|||
this.displayList = JSON.parse(JSON.stringify(arr));
|
||||
// 已选中
|
||||
this.selectedArray = arr.map(v => v.idtCameraChannel);
|
||||
this.selectedArrayCopy = JSON.parse(JSON.stringify(arr));
|
||||
|
||||
this.dataList = JSON.parse(JSON.stringify(arr));
|
||||
this.pageData.total = arr.length;
|
||||
// 默认选中复选框
|
||||
|
@ -303,29 +311,43 @@ export default {
|
|||
this.searchData.parentId = parentId;
|
||||
this.getData(parentId)
|
||||
},
|
||||
clearSelectArray() {
|
||||
this.selectedArrayCopy = []
|
||||
this.selectedArray = []
|
||||
this.getData()
|
||||
},
|
||||
confirmSubmitHandle() {
|
||||
if (this.selectedArray.length > this.maxNum) {
|
||||
// 新选择的
|
||||
let idtCameraChannelArray = this.selectedArray.map(v => v.idtCameraChannel)
|
||||
// 选过的
|
||||
let newIdArray = this.selectedArrayCopy.map(v => v.idtCameraChannel)
|
||||
let idArray = [...new Set(newIdArray.concat(idtCameraChannelArray))]
|
||||
if (idArray.length > this.maxNum) {
|
||||
return this.$message.error('最多选择十条数据!');
|
||||
}
|
||||
this.showModal = false;
|
||||
this.displayList = []
|
||||
let idtCameraChannelArray = this.selectedArray.map(v => v.idtCameraChannel)
|
||||
this.dataList.map(v => {
|
||||
if (idtCameraChannelArray.includes(v.idtCameraChannel)) {
|
||||
|
||||
let listArray = [].concat(this.selectedArrayCopy, this.dataList);
|
||||
this.displayList = [];
|
||||
idArray.map(v => {
|
||||
let obj = listArray.find(k => k.idtCameraChannel === v)
|
||||
if (obj) {
|
||||
this.displayList.push({
|
||||
channelName: v.channelName
|
||||
channelName: obj.channelName
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
this.$emit('update', {
|
||||
title: this.type,
|
||||
list: this.selectedArray.map(v => v.idtCameraChannel)
|
||||
list: idArray,
|
||||
})
|
||||
this.showModal = false;
|
||||
},
|
||||
close() {
|
||||
this.showModal = false;
|
||||
this.searchData.cameraName = ''
|
||||
this.selectedArray = [];
|
||||
// this.selectedArray = [];
|
||||
this.$emit('closeModal');
|
||||
},
|
||||
clear() {
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<div class="ability-box">
|
||||
<div class="top">
|
||||
<div class="type">{{ type }}</div>
|
||||
<el-button type="primary" size="small" @click="showModal = true">添加</el-button>
|
||||
<el-button type="primary" size="small" @click="clickOpen">添加</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="showModal" title="请选择" @close="close" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" :key="showKey" append-to-body>
|
||||
<div class="relate-application-content">
|
||||
<div class="relate-application-content" v-if="type==='组件服务'">
|
||||
<el-transfer v-model="selectedArray" filterable :filter-method="filterMethod" filter-placeholder="请输入名称"
|
||||
:titles="nameArray" :props="{
|
||||
key: 'id',
|
||||
|
@ -15,6 +15,28 @@
|
|||
}" :data="transferData">
|
||||
</el-transfer>
|
||||
</div>
|
||||
<div v-else-if="type==='数据资源'" class="dataTransfer">
|
||||
<el-transfer v-model="selectedArray" filter-placeholder="请输入名称"
|
||||
:titles="nameArray" :props="{
|
||||
key: 'id',
|
||||
label: 'name',
|
||||
}" :data="transferData">
|
||||
</el-transfer>
|
||||
<el-input
|
||||
v-model="searchValue"
|
||||
placeholder="请输入名称"
|
||||
></el-input>
|
||||
<el-button @click="rest" class="restClick">重置</el-button>
|
||||
</div>
|
||||
<el-pagination
|
||||
v-if="type==='数据资源'"
|
||||
:current-page="currentPage"
|
||||
:page-size="15"
|
||||
layout="total, prev, pager, next"
|
||||
:total="total"
|
||||
@current-change="pageCurrentChangeHandle"
|
||||
>
|
||||
</el-pagination>
|
||||
<template slot="footer">
|
||||
<el-button @click="showModal = false">{{ $t("cancel") }}</el-button>
|
||||
<el-button type="primary" @click="confirmSubmitHandle()">{{
|
||||
|
@ -31,125 +53,124 @@
|
|||
import InfrastructureModal from '../assignedScene/components/infrastructure-modal.vue'
|
||||
import DisplayList from '../assignedScene/components/display-list.vue'
|
||||
|
||||
|
||||
let sjzyArray = [
|
||||
const sjzyArray = [
|
||||
{
|
||||
"zyname": "城阳区图书馆总分馆、社区图书室明细信息",
|
||||
"sjcczl": 0.02,
|
||||
"zycode": "307013110716000007",
|
||||
"ygxjghjls": 0,
|
||||
"jghxxjlzs": 0,
|
||||
"neibukeshi": "",
|
||||
"xgxt": "城阳区图书馆及总分馆、社区图书室明细信息",
|
||||
"ygxdsjccl": 0,
|
||||
"zygszl": "et",
|
||||
"ykfjghjls": 0,
|
||||
"syqk": 0,
|
||||
"zyformat": "电子表格",
|
||||
"guid": "277c51e0-066b-441d-9262-6e53ce6fc99a",
|
||||
"TGBM": "城阳区文化和旅游局",
|
||||
"ykfdsjccl": 0
|
||||
zyname: '城阳区图书馆总分馆、社区图书室明细信息',
|
||||
sjcczl: 0.02,
|
||||
zycode: '307013110716000007',
|
||||
ygxjghjls: 0,
|
||||
jghxxjlzs: 0,
|
||||
neibukeshi: '',
|
||||
xgxt: '城阳区图书馆及总分馆、社区图书室明细信息',
|
||||
ygxdsjccl: 0,
|
||||
zygszl: 'et',
|
||||
ykfjghjls: 0,
|
||||
syqk: 0,
|
||||
zyformat: '电子表格',
|
||||
guid: '277c51e0-066b-441d-9262-6e53ce6fc99a',
|
||||
TGBM: '城阳区文化和旅游局',
|
||||
ykfdsjccl: 0
|
||||
},
|
||||
{
|
||||
"zyname": "2021年度西海岸新区科技型中小企业名单信息",
|
||||
"sjcczl": 0,
|
||||
"zycode": "307013109000000010",
|
||||
"ygxjghjls": 0,
|
||||
"jghxxjlzs": 0,
|
||||
"neibukeshi": "高新技术科",
|
||||
"xgxt": "2021年度西海岸新区科技型中小企业名单信息,企业名称,入库编号。",
|
||||
"ygxdsjccl": 0,
|
||||
"zygszl": "access",
|
||||
"ykfjghjls": 0,
|
||||
"syqk": 0,
|
||||
"zyformat": "数据库",
|
||||
"guid": "6ed1a478-443a-48ee-8af0-4c7ac2681a94",
|
||||
"TGBM": "青岛西海岸新区工业和信息化局(区科技局、区大数据局)",
|
||||
"ykfdsjccl": 0
|
||||
zyname: '2021年度西海岸新区科技型中小企业名单信息',
|
||||
sjcczl: 0,
|
||||
zycode: '307013109000000010',
|
||||
ygxjghjls: 0,
|
||||
jghxxjlzs: 0,
|
||||
neibukeshi: '高新技术科',
|
||||
xgxt: '2021年度西海岸新区科技型中小企业名单信息,企业名称,入库编号。',
|
||||
ygxdsjccl: 0,
|
||||
zygszl: 'access',
|
||||
ykfjghjls: 0,
|
||||
syqk: 0,
|
||||
zyformat: '数据库',
|
||||
guid: '6ed1a478-443a-48ee-8af0-4c7ac2681a94',
|
||||
TGBM: '青岛西海岸新区工业和信息化局(区科技局、区大数据局)',
|
||||
ykfdsjccl: 0
|
||||
},
|
||||
{
|
||||
"zyname": "西海岸新区高新技术企业名单信息",
|
||||
"sjcczl": 0,
|
||||
"zycode": "307013109000000012",
|
||||
"ygxjghjls": 0,
|
||||
"jghxxjlzs": 0,
|
||||
"neibukeshi": "高新技术科",
|
||||
"xgxt": "西海岸新区高新技术企业名单信息",
|
||||
"ygxdsjccl": 0,
|
||||
"zygszl": "access",
|
||||
"ykfjghjls": 0,
|
||||
"syqk": 0,
|
||||
"zyformat": "数据库",
|
||||
"guid": "770a9127-e7fd-4a6b-ba17-c80cf06ab670",
|
||||
"TGBM": "青岛西海岸新区工业和信息化局(区科技局、区大数据局)",
|
||||
"ykfdsjccl": 0
|
||||
zyname: '西海岸新区高新技术企业名单信息',
|
||||
sjcczl: 0,
|
||||
zycode: '307013109000000012',
|
||||
ygxjghjls: 0,
|
||||
jghxxjlzs: 0,
|
||||
neibukeshi: '高新技术科',
|
||||
xgxt: '西海岸新区高新技术企业名单信息',
|
||||
ygxdsjccl: 0,
|
||||
zygszl: 'access',
|
||||
ykfjghjls: 0,
|
||||
syqk: 0,
|
||||
zyformat: '数据库',
|
||||
guid: '770a9127-e7fd-4a6b-ba17-c80cf06ab670',
|
||||
TGBM: '青岛西海岸新区工业和信息化局(区科技局、区大数据局)',
|
||||
ykfdsjccl: 0
|
||||
},
|
||||
{
|
||||
"zyname": "西海岸新区高新技术企业认定补助名单信息",
|
||||
"sjcczl": 0,
|
||||
"zycode": "307013109000000011",
|
||||
"ygxjghjls": 0,
|
||||
"jghxxjlzs": 0,
|
||||
"neibukeshi": "高新技术科",
|
||||
"xgxt": "西海岸新区高新技术企业认定补助名单信息,企业名称、扶持项目。",
|
||||
"ygxdsjccl": 0,
|
||||
"zygszl": "access",
|
||||
"ykfjghjls": 0,
|
||||
"syqk": 0,
|
||||
"zyformat": "数据库",
|
||||
"guid": "ae52c5f8-ef6e-4ae9-a657-79dcb6f65643",
|
||||
"TGBM": "青岛西海岸新区工业和信息化局(区科技局、区大数据局)",
|
||||
"ykfdsjccl": 0
|
||||
zyname: '西海岸新区高新技术企业认定补助名单信息',
|
||||
sjcczl: 0,
|
||||
zycode: '307013109000000011',
|
||||
ygxjghjls: 0,
|
||||
jghxxjlzs: 0,
|
||||
neibukeshi: '高新技术科',
|
||||
xgxt: '西海岸新区高新技术企业认定补助名单信息,企业名称、扶持项目。',
|
||||
ygxdsjccl: 0,
|
||||
zygszl: 'access',
|
||||
ykfjghjls: 0,
|
||||
syqk: 0,
|
||||
zyformat: '数据库',
|
||||
guid: 'ae52c5f8-ef6e-4ae9-a657-79dcb6f65643',
|
||||
TGBM: '青岛西海岸新区工业和信息化局(区科技局、区大数据局)',
|
||||
ykfdsjccl: 0
|
||||
},
|
||||
{
|
||||
"zyname": "青岛西海岸新区第六批区级非物质文化遗产代表性项目名录",
|
||||
"sjcczl": 0,
|
||||
"zycode": "307013109026000037",
|
||||
"ygxjghjls": 0,
|
||||
"jghxxjlzs": 0,
|
||||
"neibukeshi": "艺术科",
|
||||
"xgxt": "青岛西海岸新区第六批区级非物质文化遗产代表性项目名录,如项目类别、序号、项目名称、申报单位",
|
||||
"ygxdsjccl": 0,
|
||||
"zygszl": "et",
|
||||
"ykfjghjls": 0,
|
||||
"syqk": 0,
|
||||
"zyformat": "电子表格",
|
||||
"guid": "6d80a3b1-744e-4292-a904-0168d640b1fc",
|
||||
"TGBM": "青岛西海岸新区文化和旅游局(区新闻出版广电局、区文物局)",
|
||||
"ykfdsjccl": 0
|
||||
zyname: '青岛西海岸新区第六批区级非物质文化遗产代表性项目名录',
|
||||
sjcczl: 0,
|
||||
zycode: '307013109026000037',
|
||||
ygxjghjls: 0,
|
||||
jghxxjlzs: 0,
|
||||
neibukeshi: '艺术科',
|
||||
xgxt: '青岛西海岸新区第六批区级非物质文化遗产代表性项目名录,如项目类别、序号、项目名称、申报单位',
|
||||
ygxdsjccl: 0,
|
||||
zygszl: 'et',
|
||||
ykfjghjls: 0,
|
||||
syqk: 0,
|
||||
zyformat: '电子表格',
|
||||
guid: '6d80a3b1-744e-4292-a904-0168d640b1fc',
|
||||
TGBM: '青岛西海岸新区文化和旅游局(区新闻出版广电局、区文物局)',
|
||||
ykfdsjccl: 0
|
||||
}
|
||||
]
|
||||
|
||||
let res = {
|
||||
"code": 0,
|
||||
"msg": "success",
|
||||
"data": {
|
||||
"PageCount": "2115",
|
||||
"data": sjzyArray,
|
||||
"rows": "10573"
|
||||
const res = {
|
||||
code: 0,
|
||||
msg: 'success',
|
||||
data: {
|
||||
PageCount: '2115',
|
||||
data: sjzyArray,
|
||||
rows: '10573'
|
||||
}
|
||||
}
|
||||
|
||||
let keyObj = {
|
||||
'数据资源': {
|
||||
idKey: 'zycode',
|
||||
nameKey: 'zyname'
|
||||
},
|
||||
'组件服务': {
|
||||
const keyObj = {
|
||||
"数据资源": {
|
||||
idKey: 'id',
|
||||
nameKey: 'name'
|
||||
},
|
||||
"组件服务": {
|
||||
idKey: 'id',
|
||||
nameKey: 'name'
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: ""
|
||||
default: ''
|
||||
},
|
||||
nameArray: {
|
||||
type: Array,
|
||||
default: () => ["未选择名称", "已选择名称"],
|
||||
default: () => ['未选择名称', '已选择名称']
|
||||
},
|
||||
// 最多选择的数据个数
|
||||
maxNum: {
|
||||
|
@ -160,14 +181,14 @@ export default {
|
|||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
methods: "get",
|
||||
url: "",
|
||||
methods: 'get',
|
||||
url: '',
|
||||
postData: {}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
showKey: 0,
|
||||
showModal: false,
|
||||
|
@ -175,96 +196,159 @@ export default {
|
|||
selectedArray: [],
|
||||
allData: [],
|
||||
displayList: [], // 用于展示的list
|
||||
};
|
||||
total: 0,
|
||||
currentPage: 1,
|
||||
newNum: 1,
|
||||
searchValue: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
showModal(newVal) {
|
||||
showModal (newVal) {
|
||||
if (newVal) {
|
||||
this.getData();
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
newNum (newVal) {
|
||||
if (newVal) {
|
||||
this.getDataParams.postData.pageNum = newVal
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
searchValue (newVal) {
|
||||
if (newVal) {
|
||||
this.getDataParams.postData.serviceName = newVal
|
||||
this.getData()
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getDataInfo(dataForm) {
|
||||
await this.getData();
|
||||
let arr = [];
|
||||
let attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type);
|
||||
async getDataInfo (dataForm) {
|
||||
await this.getData()
|
||||
const arr = []
|
||||
const attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type)
|
||||
if (attrValue.length > 0) {
|
||||
attrValue.map(val => {
|
||||
let _obj = {
|
||||
const _obj = {
|
||||
type: val.type,
|
||||
id: val.resourceId,
|
||||
name: val.resource && val.resource.name
|
||||
};
|
||||
arr.push(_obj);
|
||||
});
|
||||
}
|
||||
arr.push(_obj)
|
||||
})
|
||||
}
|
||||
|
||||
// 展示
|
||||
this.displayList = JSON.parse(JSON.stringify(arr));
|
||||
this.displayList = JSON.parse(JSON.stringify(arr))
|
||||
// 已选中
|
||||
this.selectedArray = arr.map(v => v.id);
|
||||
this.selectedArray = arr.map(v => v.id)
|
||||
this.$nextTick(() => {
|
||||
console.log(999, this.displayList);
|
||||
});
|
||||
console.log(999, this.displayList)
|
||||
})
|
||||
},
|
||||
// 获取列表
|
||||
getData() {
|
||||
getData () {
|
||||
if (this.getDataParams.url === '') {
|
||||
return;
|
||||
return
|
||||
}
|
||||
if (this.type === '组件服务') {
|
||||
this.$http[this.getDataParams.methods](this.getDataParams.url, {
|
||||
params: this.getDataParams.postData
|
||||
}).then(res => {
|
||||
console.log('res.data----获取列表-------->', res.data);
|
||||
console.log('res.data----获取列表-------->', res.data)
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.transferData = [];
|
||||
this.transferData = []
|
||||
this.allData = [];
|
||||
(res.data.data || []).map(v => {
|
||||
this.transferData.push({
|
||||
type: this.type,
|
||||
id: v[keyObj[this.type].idKey],
|
||||
name: v[keyObj[this.type].nameKey] || "--"
|
||||
});
|
||||
});
|
||||
this.allData = JSON.parse(JSON.stringify(this.transferData));
|
||||
}).catch(err => {
|
||||
this.$message.error(err);
|
||||
name: v[keyObj[this.type].nameKey] || '--'
|
||||
})
|
||||
},
|
||||
filterMethod(query, item) {
|
||||
return item.name && item.name.indexOf(query) > -1;
|
||||
},
|
||||
confirmSubmitHandle() {
|
||||
if (this.selectedArray.length > this.maxNum) {
|
||||
return this.$message.error("最多选择十条数据!");
|
||||
})
|
||||
this.allData = JSON.parse(JSON.stringify(this.transferData))
|
||||
console.log(this.allData, 'this.transferData')
|
||||
}).catch(err => {
|
||||
this.$message.error(err)
|
||||
})
|
||||
} else if (this.type === '数据资源') {
|
||||
this.getDataParams.postData.pageNum = this.newNum
|
||||
this.$http[this.getDataParams.methods](this.getDataParams.url,
|
||||
this.getDataParams.postData
|
||||
).then(res => {
|
||||
console.log('res.data----获取列表-------->', res.data)
|
||||
this.total = Number(res.data.data.rows)
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.showModal = false;
|
||||
this.displayList = [];
|
||||
this.transferData = []
|
||||
this.allData = [];
|
||||
(res.data.data.data || []).map(v => {
|
||||
this.transferData.push({
|
||||
type: this.type,
|
||||
id: v.guid,
|
||||
name: v.zyname || '--'
|
||||
})
|
||||
})
|
||||
this.allData = JSON.parse(JSON.stringify(this.transferData))
|
||||
}).catch(err => {
|
||||
this.$message.error(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
filterMethod (query, item) {
|
||||
console.log('1111111111111111111111111')
|
||||
return item.name && item.name.indexOf(query) > -1
|
||||
},
|
||||
confirmSubmitHandle () {
|
||||
if (this.selectedArray.length > this.maxNum) {
|
||||
return this.$message.error('最多选择十条数据!')
|
||||
}
|
||||
this.showModal = false
|
||||
this.displayList = []
|
||||
this.allData.map(v => {
|
||||
if (this.selectedArray.includes(v.id)) {
|
||||
this.displayList.push(v);
|
||||
this.displayList.push(v)
|
||||
}
|
||||
});
|
||||
this.$emit("update", {
|
||||
})
|
||||
this.$emit('update', {
|
||||
title: this.type,
|
||||
list: this.selectedArray
|
||||
});
|
||||
})
|
||||
},
|
||||
getDisplay(displayList) {
|
||||
getDisplay (displayList) {
|
||||
this.displayList = []
|
||||
this.displayList = displayList
|
||||
},
|
||||
close() {
|
||||
this.showModal = false;
|
||||
this.selectedArray = [];
|
||||
this.allData = [];
|
||||
this.transferData = [];
|
||||
close () {
|
||||
this.showModal = false
|
||||
// this.selectedArray = []
|
||||
this.allData = []
|
||||
this.transferData = []
|
||||
},
|
||||
pageCurrentChangeHandle (val) {
|
||||
console.log(this.newNum, val, 'wowowo')
|
||||
this.newNum = val
|
||||
},
|
||||
components: { InfrastructureModal, DisplayList }
|
||||
clickOpen () {
|
||||
this.searchValue = ''
|
||||
this.getDataParams.postData.serviceName = ''
|
||||
this.currentPage = 1
|
||||
this.showModal = true
|
||||
this.getData()
|
||||
},
|
||||
rest () {
|
||||
this.currentPage = 1
|
||||
this.searchValue = ''
|
||||
this.getDataParams.postData.serviceName = ''
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
components: { InfrastructureModal, DisplayList },
|
||||
mounted () {
|
||||
console.log(this.type, 'this.type')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
@ -355,4 +439,37 @@ export default {
|
|||
height: calc(100% - 102px);
|
||||
}
|
||||
}
|
||||
.dataTransfer {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
::v-deep .el-transfer {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
::v-deep .el-transfer-panel {
|
||||
width: 39.5%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
::v-deep .el-transfer-panel__body {
|
||||
height: 100%;
|
||||
}
|
||||
::v-deep .el-transfer-panel__list {
|
||||
height: calc(100% - 102px);
|
||||
margin-top: 4rem;
|
||||
}
|
||||
::v-deep .el-input {
|
||||
position: absolute;
|
||||
font-size: 14px;
|
||||
display: inline-block;
|
||||
width: 30%;
|
||||
top: 52px;
|
||||
left: 12px;
|
||||
}
|
||||
.restClick {
|
||||
position: absolute;
|
||||
top: 52px;
|
||||
left: 284px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// /resource/getByDept
|
||||
import http from '@/utils/request'
|
||||
|
||||
function Request({
|
||||
function Request ({
|
||||
methods, url, data, success, fali
|
||||
}) {
|
||||
const _key = methods == 'get' ? 'params' : 'data'
|
||||
|
@ -15,7 +15,7 @@ function Request({
|
|||
})
|
||||
})
|
||||
}
|
||||
function RequestPost({
|
||||
function RequestPost ({
|
||||
methods, url, data, success, fali
|
||||
}) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
@ -114,7 +114,7 @@ export const getResourceByDept = (data, success, fail) => {
|
|||
Request({
|
||||
methods: 'get',
|
||||
// url: '/resource/getByDept',
|
||||
url: '/workdynamics/getDeptWork',
|
||||
url: '/workdynamics/page',
|
||||
data
|
||||
}).then(res => {
|
||||
success && success(res)
|
||||
|
|
|
@ -86,7 +86,8 @@ export default {
|
|||
getResourceByDept () {
|
||||
const data = {
|
||||
limit: 5,
|
||||
page: 1
|
||||
page: 1,
|
||||
name: ''
|
||||
}
|
||||
this.loadingDynamic = true
|
||||
Apis.getResourceByDept(
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
<!--
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-07-05 12:53:03
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-26 10:24:16
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div class="center-view">
|
||||
<!-- 频率 -->
|
||||
|
@ -14,7 +21,7 @@ import RiskView from './risk-view.vue'
|
|||
import TrendView from './trend-view.vue'
|
||||
|
||||
export default {
|
||||
components: { frequencyTop5View, TrendView, RiskView },
|
||||
components: { frequencyTop5View, TrendView, RiskView }
|
||||
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
</template>
|
||||
<script>
|
||||
import * as echarts from 'echarts';
|
||||
import * as echarts from 'echarts'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
dataListCopy: [],
|
||||
myChart: null,
|
||||
myChart: null
|
||||
}
|
||||
},
|
||||
props: {
|
||||
|
@ -33,41 +33,41 @@ export default {
|
|||
colorArray: {
|
||||
type: Array,
|
||||
default: () => [
|
||||
'#fe845e', '#ff3e55', '#d5c438', '#ff9999', '#9c78ed', '#48c760', '#48c6c7', '#0058e1',
|
||||
'#fe845e', '#ff3e55', '#d5c438', '#ff9999', '#9c78ed', '#48c760', '#48c6c7', '#0058e1'
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dataList: {
|
||||
handler(newVal, oldVal) {
|
||||
handler (newVal, oldVal) {
|
||||
if (newVal) {
|
||||
this.dataListCopy = newVal;
|
||||
this.dataListCopy = newVal
|
||||
this.initChart()
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
mounted () {
|
||||
},
|
||||
methods: {
|
||||
initChart() {
|
||||
var chartDom = document.getElementById(this.id);
|
||||
initChart () {
|
||||
var chartDom = document.getElementById(this.id)
|
||||
if (this.myChart) {
|
||||
this.myChart.dispose()
|
||||
}
|
||||
this.myChart = chartDom && echarts.init(chartDom);
|
||||
this.myChart = chartDom && echarts.init(chartDom)
|
||||
|
||||
let lengendArr = this.dataListCopy.filter(v => v.name);
|
||||
let total = 0;
|
||||
const lengendArr = this.dataListCopy.filter(v => v.name)
|
||||
let total = 0
|
||||
this.dataListCopy.map(v => {
|
||||
if (v.value || v.value === 0) {
|
||||
total = total + Number(v.value || 0)
|
||||
}
|
||||
})
|
||||
let option = {
|
||||
"animation": true,
|
||||
const option = {
|
||||
animation: true,
|
||||
title: [
|
||||
{
|
||||
text: '{val|' + total + '} {unit|' + '个' + '}',
|
||||
|
@ -85,11 +85,11 @@ export default {
|
|||
fontSize: 16,
|
||||
fontWeight: 'normal',
|
||||
color: '#212121',
|
||||
padding: [80, 0],
|
||||
padding: [80, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
tooltip: {
|
||||
triagger: 'item',
|
||||
|
@ -101,90 +101,90 @@ export default {
|
|||
str = `<span style="display:inline-block;margin-right:5px;
|
||||
border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>${params.name}: ${params.value}`
|
||||
}
|
||||
return str;
|
||||
return str
|
||||
}
|
||||
},
|
||||
"legend": {
|
||||
legend: {
|
||||
type: 'scroll',
|
||||
"width": "90%",
|
||||
"left": "center",
|
||||
"textStyle": {
|
||||
"color": "#212121",
|
||||
"fontSize": 12
|
||||
width: '90%',
|
||||
left: 'center',
|
||||
textStyle: {
|
||||
color: '#212121',
|
||||
fontSize: 12
|
||||
},
|
||||
"icon": "circle",
|
||||
"right": "0",
|
||||
"bottom": "30",
|
||||
icon: 'circle',
|
||||
right: '0',
|
||||
bottom: '30',
|
||||
// "padding": [10, 60],
|
||||
"itemGap": 10,
|
||||
"data": lengendArr
|
||||
itemGap: 10,
|
||||
data: lengendArr
|
||||
},
|
||||
"series": [{
|
||||
"type": "pie",
|
||||
"center": ["50%", "40%"],
|
||||
"radius": ["50%", "63%"],
|
||||
"color": this.colorArray,
|
||||
"startAngle": 135,
|
||||
series: [{
|
||||
type: 'pie',
|
||||
center: ['50%', '40%'],
|
||||
radius: ['50%', '63%'],
|
||||
color: this.colorArray,
|
||||
startAngle: 135,
|
||||
label: {
|
||||
show: false
|
||||
},
|
||||
"emphasis": {
|
||||
"label": {
|
||||
"show": false,
|
||||
"formatter": "{b|{b}:} {per|{d}%} ",
|
||||
"backgroundColor": "rgba(255, 147, 38, 0)",
|
||||
"borderColor": "transparent",
|
||||
"borderRadius": 4,
|
||||
"rich": {
|
||||
"a": {
|
||||
"color": "#999",
|
||||
"lineHeight": 22,
|
||||
"align": "center"
|
||||
emphasis: {
|
||||
label: {
|
||||
show: false,
|
||||
formatter: '{b|{b}:} {per|{d}%} ',
|
||||
backgroundColor: 'rgba(255, 147, 38, 0)',
|
||||
borderColor: 'transparent',
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
a: {
|
||||
color: '#999',
|
||||
lineHeight: 22,
|
||||
align: 'center'
|
||||
},
|
||||
"hr": {
|
||||
"borderColor": "#aaa",
|
||||
"width": "100%",
|
||||
"borderWidth": 1,
|
||||
"height": 0
|
||||
hr: {
|
||||
borderColor: '#aaa',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
"b": {
|
||||
"color": "#fff",
|
||||
"fontSize": 18,
|
||||
"lineHeight": 33
|
||||
b: {
|
||||
color: '#fff',
|
||||
fontSize: 18,
|
||||
lineHeight: 33
|
||||
},
|
||||
"c": {
|
||||
"fontSize": 14,
|
||||
"color": "#eee"
|
||||
c: {
|
||||
fontSize: 14,
|
||||
color: '#eee'
|
||||
},
|
||||
"per": {
|
||||
"color": "#FDF44E",
|
||||
"fontSize": 25,
|
||||
"padding": [5, 6],
|
||||
"borderRadius": 2
|
||||
per: {
|
||||
color: '#FDF44E',
|
||||
fontSize: 25,
|
||||
padding: [5, 6],
|
||||
borderRadius: 2
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
data: this.dataListCopy,
|
||||
data: this.dataListCopy
|
||||
},
|
||||
{
|
||||
"type": "pie",
|
||||
"center": ["50%", "40%"],
|
||||
"radius": ["38%", "39%"],
|
||||
"label": {
|
||||
"show": false
|
||||
type: 'pie',
|
||||
center: ['50%', '40%'],
|
||||
radius: ['38%', '39%'],
|
||||
label: {
|
||||
show: false
|
||||
},
|
||||
hoverAnimation: false,
|
||||
showTooltip: false,
|
||||
color: ['#d8dde8'],
|
||||
"data": [{
|
||||
"value": 0,
|
||||
"name": "线",
|
||||
data: [{
|
||||
value: 0,
|
||||
name: '线'
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
this.myChart && option && this.myChart.setOption(option, true);
|
||||
this.myChart && option && this.myChart.setOption(option, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,7 +100,19 @@ import processModule from '@/mixins/process-module'
|
|||
export default {
|
||||
mixins: [mixinViewModule, processModule],
|
||||
data () {
|
||||
return {}
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
createdIsNeed: false, // 此页面是否在创建时,调用查询数据列表接口?
|
||||
activatedIsNeed: false, // 此页面是否在激活(进入)时,调用查询数据列表接口?
|
||||
getDataListURL: '', // 数据列表接口,API地址
|
||||
getDataListIsPage: false, // 数据列表接口,是否需要分页?
|
||||
deleteURL: '', // 删除接口,API地址
|
||||
deleteIsBatch: false, // 删除接口,是否需要批量?
|
||||
deleteIsBatchKey: 'id', // 删除接口,批量状态下由那个key进行标记操作?比如:pid,uid...
|
||||
exportURL: '', // 导出接口,API地址
|
||||
requestCallback: null // 获取列表以后执行的回调
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
dataInfo: {
|
||||
|
|
|
@ -61,7 +61,7 @@ export default {
|
|||
)
|
||||
.then((res) => {
|
||||
console.log(res.data.data)
|
||||
if (res.data.data) {
|
||||
if (res.data.data && res.data.data.length > 0) {
|
||||
this.topData = res.data.data
|
||||
this.oneData = this.topData[0].count
|
||||
} else {
|
||||
|
|
|
@ -91,6 +91,7 @@ export default {
|
|||
// if (res.data.code !== 0) {
|
||||
// return
|
||||
// }
|
||||
if (res.data.data && res.data.data.length > 0) {
|
||||
this.data = res.data.data[0].values
|
||||
this.data.map((item) => {
|
||||
const time = moment(item[0] * 1000).format('YYYY-MM-DD')
|
||||
|
@ -104,6 +105,13 @@ export default {
|
|||
xaxis: this.ydata,
|
||||
ydata: this.xaxis
|
||||
}
|
||||
} else {
|
||||
this.trendChartData = {
|
||||
xaxis: [],
|
||||
ydata: []
|
||||
}
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
trendLineChart('trendId', this.trendChartData)
|
||||
})
|
||||
|
|
|
@ -41,9 +41,9 @@ export default {
|
|||
deptTodoView,
|
||||
BottomView,
|
||||
CenterView,
|
||||
DeptChartView,
|
||||
DeptChartView
|
||||
},
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
// 部门待办
|
||||
toToData: {
|
||||
|
@ -74,18 +74,18 @@ export default {
|
|||
resourceColor: ['#7b2cff', '#fd5151', , '#2ca1ff', '#0adbfa', '#febe13', '#65e5dd', '#f071ff', '#85f67a'],
|
||||
// 部门申请
|
||||
applyData: [],
|
||||
applyColor: ["#5085f2", "#e75fc3", "#f87be2", "#f2719a", "#fca4bb", "#f59a8f", "#fdb301", "#57e7ec", "#cf9ef1"],
|
||||
applyColor: ['#5085f2', '#e75fc3', '#f87be2', '#f2719a', '#fca4bb', '#f59a8f', '#fdb301', '#57e7ec', '#cf9ef1'],
|
||||
// 部门需求
|
||||
requireData: [],
|
||||
requireColor: ['#FD866A', '#9E87FF', '#58D5FF', '#73DDFF', '#73ACFF', '#FDD56A', '#FDB36A',],
|
||||
requireColor: ['#FD866A', '#9E87FF', '#58D5FF', '#73DDFF', '#73ACFF', '#FDD56A', '#FDB36A'],
|
||||
loadingToDo: false,
|
||||
loadingHasToDo: false,
|
||||
loadingResource: false,
|
||||
loadingApply: false,
|
||||
loadingRequire: false,
|
||||
loadingRequire: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
mounted () {
|
||||
// 部门待办
|
||||
this.getToDo()
|
||||
// 部门已办
|
||||
|
@ -99,119 +99,116 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
// 待办
|
||||
getToDo() {
|
||||
this.loadingToDo = true;
|
||||
let data = {
|
||||
getToDo () {
|
||||
this.loadingToDo = true
|
||||
const data = {
|
||||
limit: 5,
|
||||
page: 1,
|
||||
page: 1
|
||||
}
|
||||
Apis.getToDoTask(data, res => {
|
||||
this.loadingToDo = false;
|
||||
this.loadingToDo = false
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
console.log('res----待办-------->', res.data);
|
||||
console.log('res----待办-------->', res.data)
|
||||
this.toToData.list = res.data.data.records || []
|
||||
this.toToData.num = res.data.data.total || 0
|
||||
}, err => {
|
||||
this.$message.error(err);
|
||||
this.loadingToDo = false;
|
||||
this.$message.error(err)
|
||||
this.loadingToDo = false
|
||||
})
|
||||
},
|
||||
// 已办
|
||||
getHasToDo() {
|
||||
let data = {
|
||||
getHasToDo () {
|
||||
const data = {
|
||||
limit: 5,
|
||||
page: 1,
|
||||
page: 1
|
||||
}
|
||||
this.loadingHasToDo = true;
|
||||
this.loadingHasToDo = true
|
||||
Apis.getHasToDoTask(data, res => {
|
||||
this.loadingHasToDo = false;
|
||||
this.loadingHasToDo = false
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
console.log('res----已办-------->', res.data);
|
||||
console.log('res----已办-------->', res.data)
|
||||
this.hasToDodoData.list = res.data.data.records || []
|
||||
this.hasToDodoData.num = res.data.data.total || 0
|
||||
|
||||
}, err => {
|
||||
this.$message.error(err)
|
||||
this.loadingHasToDo = false;
|
||||
console.log('err-----已办------->', err);
|
||||
this.loadingHasToDo = false
|
||||
console.log('err-----已办------->', err)
|
||||
})
|
||||
},
|
||||
// 部门上架
|
||||
getShelvesTotal() {
|
||||
this.loadingResource = true;
|
||||
getShelvesTotal () {
|
||||
this.loadingResource = true
|
||||
Apis.getTotalByDept({}, res => {
|
||||
this.loadingResource = false;
|
||||
this.loadingResource = false
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
console.log('res----部门上架-------->', res.data);
|
||||
console.log('res----部门上架-------->', res.data)
|
||||
this.resourceData = this.formatList(res.data.data.total || [])
|
||||
this.$nextTick(() => {
|
||||
this.$refs.resourceChart.initChart(this.resourceData)
|
||||
})
|
||||
}, err => {
|
||||
this.$message.error(err)
|
||||
this.loadingResource = false;
|
||||
this.loadingResource = false
|
||||
})
|
||||
},
|
||||
// 部门申请
|
||||
getApplyTotal() {
|
||||
this.loadingApply = true;
|
||||
getApplyTotal () {
|
||||
this.loadingApply = true
|
||||
Apis.getApply({}, res => {
|
||||
this.loadingApply = false;
|
||||
this.loadingApply = false
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
console.log('res----部门申请-------->', res.data);
|
||||
console.log('res----部门申请-------->', res.data)
|
||||
this.applyData = this.formatList(res.data.data.total || [])
|
||||
this.$nextTick(() => {
|
||||
console.log('this.applyData------------>', this.applyData);
|
||||
console.log('this.applyData------------>', this.applyData)
|
||||
this.$refs.applyChart.initChart(this.applyData)
|
||||
})
|
||||
}, err => {
|
||||
this.$message.error(err)
|
||||
this.loadingApply = false;
|
||||
this.loadingApply = false
|
||||
})
|
||||
},
|
||||
formatList(list = [], nameStr = 'type') {
|
||||
let arr = []
|
||||
formatList (list = [], nameStr = 'type') {
|
||||
const arr = []
|
||||
list.map(v => {
|
||||
let obj = {}
|
||||
obj.name = v[nameStr];
|
||||
obj.value = v.count;
|
||||
const obj = {}
|
||||
obj.name = v[nameStr]
|
||||
obj.value = v.count
|
||||
arr.push(obj)
|
||||
})
|
||||
return arr;
|
||||
return arr
|
||||
},
|
||||
// 部门需求
|
||||
getRequireTotal() {
|
||||
this.loadingRequire = true;
|
||||
getRequireTotal () {
|
||||
this.loadingRequire = true
|
||||
Apis.getRequire({}, res => {
|
||||
this.loadingRequire = false;
|
||||
this.loadingRequire = false
|
||||
if (res.data.code !== 0) {
|
||||
return this.$message.error(res.data.msg)
|
||||
}
|
||||
console.log('res----部门需求-------->', res.data);
|
||||
console.log('res----部门需求-------->', res.data)
|
||||
this.requireData = this.formatList(res.data.data.total || [], 'flag')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.requireChart.initChart(this.requireData)
|
||||
})
|
||||
|
||||
}, err => {
|
||||
this.$message.error(err)
|
||||
this.loadingRequire = false;
|
||||
this.loadingRequire = false
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.margin-h-16 {
|
||||
margin: 0 16px;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-03-29 16:45:25
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-23 16:38:21
|
||||
* @LastEditTime: 2022-08-29 09:55:26
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
@ -26,47 +26,6 @@
|
|||
<link href="<%= BASE_URL %>static/css/loading.css" rel="stylesheet" />
|
||||
<script>
|
||||
</script>
|
||||
<!-- 站点配置 -->
|
||||
<script>
|
||||
window.SITE_CONFIG = {};
|
||||
// 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['websocketURL'] = '15.72.183.90:8000/renren-admin';
|
||||
// window.SITE_CONFIG['POI_URL'] = 'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
|
||||
// 包头
|
||||
// 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://192.168.124.243:9797';
|
||||
window.SITE_CONFIG['previewUrl'] = 'http://192.168.124.243:9796/';
|
||||
window.SITE_CONFIG['frontUrl'] = 'http://192.168.124.243:9796/document/#/devModelFile/';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://192.168.124.243:8888/renren-admin';
|
||||
window.SITE_CONFIG['websocketURL'] = '192.168.124.243:8888/renren-admin';
|
||||
// window.SITE_CONFIG['POI_URL'] = 'http://192.168.124.243:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
|
||||
// 西海岸版本
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://10.134.135.9:9797';
|
||||
// window.SITE_CONFIG['previewUrl'] = 'http://10.134.135.9:9796/';
|
||||
// window.SITE_CONFIG['frontUrl'] = 'http://10.134.135.9:9796/document/#/devModelFile/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
|
||||
// 开发
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://localhost:8001';
|
||||
// window.SITE_CONFIG['previewUrl'] = 'http://192.168.124.236:9796/';
|
||||
// window.SITE_CONFIG['frontUrl'] = 'http://192.168.124.236:9796/document/#/devModelFile/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://192.168.124.236:8888/renren-admin';
|
||||
// window.SITE_CONFIG['websocketURL'] = '192.168.124.236:8888/renren-admin';
|
||||
// window.SITE_CONFIG['POI_URL'] = 'http://192.168.124.236:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
|
||||
// 穿透版本
|
||||
// window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797';
|
||||
// window.SITE_CONFIG['previewUrl'] = 'http://124.222.94.39:9796/';
|
||||
// window.SITE_CONFIG['frontUrl'] = 'http://124.222.94.39:9796/document/#/devModelFile/';
|
||||
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
|
||||
</script>
|
||||
|
||||
<link href="./leaflet/libs/leaflet/1.3.1/leaflet.css" rel="stylesheet">
|
||||
<link href="./leaflet/dist/leaflet/iclient-leaflet.css" rel="stylesheet">
|
||||
<link href="./leaflet/libs/leaflet/plugins/leaflet.draw/leaflet.draw.css" rel="stylesheet">
|
||||
|
@ -74,10 +33,9 @@
|
|||
<link href="./leaflet/libs/leaflet.markercluster/dist/MarkerCluster.Default.css" rel="stylesheet">
|
||||
<link href="./supermap/css/supermap.css" rel="stylesheet">
|
||||
<link href="./static/css/widgets.css" rel="stylesheet">
|
||||
|
||||
<!-- 平台配置文件 -->
|
||||
<script type="text/javascript" src="./static/config/basicConfig.js"></script>
|
||||
<script type="text/javascript" src="./static/config/mapConfig.js"></script>
|
||||
<script type="text/javascript" src="./static/config/footerData.js"></script>
|
||||
<script type="text/javascript" src="./static/config/location.js"></script>
|
||||
<!-- ==========地图相关配置========== -->
|
||||
<script type="text/javascript" src="./leaflet/libs/leaflet/1.3.1/leaflet.js"></script>
|
||||
|
@ -108,7 +66,16 @@
|
|||
<!-- 大华平台相关包 -->
|
||||
<script type="text/javascript" src="./static/js/encrypt.js"></script>
|
||||
<script type="text/javascript" src="./static/js/DHWs.js"></script>
|
||||
|
||||
<!-- 站点配置 -->
|
||||
<script>
|
||||
window.SITE_CONFIG = {};
|
||||
window.SITE_CONFIG['backUrl'] = _global.config.backUrl;
|
||||
window.SITE_CONFIG['previewUrl'] = _global.config.previewUrl;
|
||||
window.SITE_CONFIG['frontUrl'] = _global.config.previewUrl + 'document/#/devModelFile/';
|
||||
window.SITE_CONFIG['apiURL'] = 'http://'+ _global.config.websocketURL;
|
||||
window.SITE_CONFIG['websocketURL'] = _global.config.websocketURL;
|
||||
window.SITE_CONFIG['POI_URL'] = _global.config.POI_URL;
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
@ -2,55 +2,95 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-04-01 10:51:45
|
||||
* @LastEditTime: 2022-08-27 14:25:54
|
||||
* @Description: 系统静态参数配置
|
||||
*/
|
||||
var _global = {}
|
||||
var CONFIGITEM = {
|
||||
version: 'qingdao',
|
||||
version: 'qingdao', //青岛
|
||||
//version: 'xihaian', // 西海岸
|
||||
//version: 'dev', // 开发
|
||||
//version: 'test', // 测试
|
||||
//version: 'frp', // 内网穿透
|
||||
vNum: 'v0.8.7.2',
|
||||
configData: {
|
||||
// 青岛市大数据局
|
||||
qingdao: {
|
||||
// bdMapUrl: 'http://15.2.21.238:9890/tiles-sd/tiles',
|
||||
// bdMapUrl: 'http://15.72.178.129:9890/tiles-sd/tiles',
|
||||
bdMapUrl: 'http://15.72.178.148:9890/tiles-sd/tiles',
|
||||
fileService: 'http://15.72.178.148:1080/files/',
|
||||
websocketService: 'ws://15.72.178.136:8777',
|
||||
gisService: 'http://15.72.178.148:8585',
|
||||
pageOfficeService: 'http://15.72.178.136:9393/',
|
||||
refreshTimerFlag: true,
|
||||
loginInfo: {
|
||||
// 视频平台登陆信息
|
||||
// loginIp: '10.132.191.3',
|
||||
loginPort: '8320',
|
||||
// userName: 'chengshiyunnao',
|
||||
// userPwd: 'QDyjj@2021',
|
||||
loginIp: '10.132.191.3',
|
||||
loginPort: '8320',
|
||||
userName: 'ynszdz',
|
||||
userPwd: 'Admin@123',
|
||||
channelList: [
|
||||
'37020002001310000022',
|
||||
'37020001001310000210',
|
||||
'37020002001310000026',
|
||||
'37020002001310000031'
|
||||
],
|
||||
channels: [
|
||||
{ channelId: '37020002001310000022' },
|
||||
{ channelId: '37020001001310000210' },
|
||||
{ channelId: '37020002001310000026' },
|
||||
{ channelId: '37020002001310000031' }
|
||||
],
|
||||
name_32:
|
||||
'General_DSS-LightWeight-Client_x86_V2.1.0.2110.R.20211106.exe',
|
||||
url_32:
|
||||
'/static/General_DSS-LightWeight-Client_x86_V2.1.0.2110.R.20211106.exe',
|
||||
name_64:
|
||||
'General_DSS-LightWeight-Client_x64_V2.1.0.2110.R.20211106.exe',
|
||||
url_64:
|
||||
'/static/General_DSS-LightWeight-Client_x64_V2.1.0.2110.R.20211106.exe'
|
||||
},
|
||||
MAX_CIRCLE_RADIUS: 20000,
|
||||
maxMapZoom: 10
|
||||
backUrl: 'http://15.72.183.90:8001',
|
||||
previewUrl: 'http://15.72.183.90:7008/',
|
||||
//frontUrl: 'http://15.72.183.90:7008/document/#/devModelFile/',
|
||||
//apiURL: 'http://15.72.183.90:8000/renren-admin',
|
||||
websocketURL: '15.72.183.90:8000/renren-admin',
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
// 西海岸大数据局
|
||||
xihaian: {
|
||||
loginInfo: {
|
||||
// 视频平台登陆信息
|
||||
loginIp: '',
|
||||
loginPort: '',
|
||||
userName: '',
|
||||
userPwd: '',
|
||||
},
|
||||
backUrl: 'http://10.134.135.9:9797',
|
||||
previewUrl: 'http://10.134.135.9:9796/',
|
||||
websocketURL: '10.134.135.9:8888/renren-admin',
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
// 开发
|
||||
dev: {
|
||||
loginInfo: {
|
||||
// 视频平台登陆信息
|
||||
loginIp: '',
|
||||
loginPort: '',
|
||||
userName: '',
|
||||
userPwd: '',
|
||||
},
|
||||
backUrl: 'http://localhost:8001',
|
||||
previewUrl: 'http://192.168.124.236:9796/',
|
||||
websocketURL: '192.168.124.236:8888/renren-admin',
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
// 测试
|
||||
test: {
|
||||
loginInfo: {
|
||||
// 视频平台登陆信息
|
||||
loginIp: '',
|
||||
loginPort: '',
|
||||
userName: '',
|
||||
userPwd: '',
|
||||
},
|
||||
backUrl: 'http://192.168.124.243:9797',
|
||||
previewUrl: 'http://192.168.124.243:9796/',
|
||||
websocketURL: '192.168.124.243:8888/renren-admin',
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
// 内网穿透
|
||||
frp: {
|
||||
loginInfo: {
|
||||
// 视频平台登陆信息
|
||||
loginIp: '',
|
||||
loginPort: '',
|
||||
userName: '',
|
||||
userPwd: '',
|
||||
},
|
||||
backUrl: 'http://124.222.94.39:9797',
|
||||
previewUrl: 'http://124.222.94.39:9796/',
|
||||
websocketURL: '124.222.94.39:8888/renren-admin',
|
||||
POI_URL:
|
||||
'http://15.72.178.129:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address',
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
_global.config = CONFIGITEM.configData[CONFIGITEM.version]
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
/*
|
||||
* @Author: zhangfeihu
|
||||
* @Date: 2022-06-16 16:37:31
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-06-20 16:18:04
|
||||
* @FilePath: \qiantai\front\public\static\config\footerData.js
|
||||
* @Description: 底部菜单数据配置配置
|
||||
*/
|
||||
// const footerDataList = {
|
||||
// 市局
|
||||
// company: {
|
||||
// left: '青岛市大数据发展管理局建设',
|
||||
// right: '海信网络科技股份有限公司'
|
||||
// },
|
||||
// address: [
|
||||
// {
|
||||
// name: '鲁IC备00000000号',
|
||||
// value: '政府标识码3702000106',
|
||||
// },
|
||||
// {
|
||||
// name: '版权所有:青岛市大数据发展管理局',
|
||||
// value: '地址:山东省青岛市香港中路17号市级机关办公楼',
|
||||
// },
|
||||
// {
|
||||
// name: '电话:0532-8561234',
|
||||
// value: '传真:0532-2145122',
|
||||
// },
|
||||
// ]
|
||||
// 西海岸
|
||||
// company: {
|
||||
// left: '青岛西海岸新区大数据发展促进局建设',
|
||||
// right: 'v0.81'
|
||||
// },
|
||||
// address: [
|
||||
// {
|
||||
// name: '鲁IC备00000000号',
|
||||
// value: '政府标识码3702000106',
|
||||
// },
|
||||
// {
|
||||
// name: '版权所有:青岛西海岸新区大数据发展促进局',
|
||||
// value: '地址:青岛市西海岸新区长江中路369号',
|
||||
// },
|
||||
// {
|
||||
// name: '电话:0532-86986596',
|
||||
// value: '传真:0532-86986596',
|
||||
// },
|
||||
// ]
|
||||
// }
|
|
@ -2,12 +2,13 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-23 16:38:39
|
||||
* @LastEditTime: 2022-08-29 09:55:56
|
||||
* @Description: 数据资源参数配置
|
||||
*/
|
||||
//const newLocation = 'qingdao'
|
||||
// eslint-disable-next-line no-undef
|
||||
const newLocation = CONFIGITEM.version
|
||||
// const newLocation = 'baotou'
|
||||
const newLocation = 'qingdao'
|
||||
// const newLocation = 'xihaian'
|
||||
|
||||
// 数据资源数据
|
||||
const whoShow = {}
|
||||
|
@ -23,7 +24,7 @@ const mapTestNum = {}
|
|||
// 底部数据
|
||||
const footerDataList = {}
|
||||
// qingdao
|
||||
if (newLocation === 'qingdao') {
|
||||
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
|
||||
whoShow.itShowQingDao = true
|
||||
infrastructure.deptName = '青岛市大数据发展管理局'
|
||||
infrastructure.deptId = '1067246875800000066'
|
||||
|
@ -38,8 +39,8 @@ if (newLocation === 'qingdao') {
|
|||
// { name: '个人中心', key: 'personalCenter' },
|
||||
{ name: '区市站点', key: 'mapTest' },
|
||||
// { name: '后台管理', key: 'houtaiguanli' },
|
||||
{ name: '典型赋能案例', key: 'assignCase' },
|
||||
// { name: '融合服务', key: 'integrationServices' },
|
||||
// { name: '典型赋能案例', key: 'assignCase' },
|
||||
{ name: '融合服务', key: 'integrationServices' },
|
||||
{ name: 'CIM专区', key: 'cimSpecialArea' },
|
||||
]
|
||||
footerDataList.footerList = {
|
||||
|
@ -502,7 +503,8 @@ else if (newLocation === 'xihaian') {
|
|||
footerDataList.footerList = {
|
||||
company: {
|
||||
left: '青岛西海岸新区大数据发展促进局建设',
|
||||
right: 'v0.8.3.3',
|
||||
// eslint-disable-next-line no-undef
|
||||
right: CONFIGITEM.vNum,
|
||||
},
|
||||
address: [
|
||||
{
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-02 18:19:32
|
||||
* @LastEditTime: 2022-08-25 11:16:44
|
||||
* @Description: 地图静态参数配置
|
||||
*/
|
||||
var _mapConfig = {}
|
||||
|
||||
;(function () {
|
||||
var L = window.L || {}
|
||||
|
||||
// // 定义底图初始化化参数
|
||||
// 请在此处更改你的配置**********************************************
|
||||
var CONFIGKEY = 'qingdao_highgo'
|
||||
// eslint-disable-next-line no-undef
|
||||
var CONFIGKEY = CONFIGITEM.version === 'xihaian' ? 'xihaian' : 'qingdao'
|
||||
// var CONFIGKEY = 'dev';
|
||||
// 请在上面更改你的配置***********************************************
|
||||
var BASECONFIGITEM = {
|
||||
qingdao: {
|
||||
xihaian: {
|
||||
base: 'xihaian',
|
||||
CURRENT_MAP_OPTIONS: {
|
||||
// crs: CRS_4490,
|
||||
|
@ -26,7 +26,7 @@ var _mapConfig = {}
|
|||
zoom: 10,
|
||||
},
|
||||
},
|
||||
qingdao_highgo: {
|
||||
qingdao: {
|
||||
DATABASE_TYPE: 'Highgo',
|
||||
POI_TYPE: 'Supermap', // POI接口类型 'Supermap'、'Amap'、'Survey_Institute'
|
||||
ISERVER_URL: '15.2.21.238:8090',
|
||||
|
@ -78,59 +78,6 @@ var _mapConfig = {}
|
|||
icon: 'other_map.png',
|
||||
},
|
||||
},
|
||||
//测试环境地图
|
||||
dev: {
|
||||
DATABASE_TYPE: 'Highgo',
|
||||
POI_TYPE: 'Supermap', // POI接口类型 'Supermap'、'Amap'、'Survey_Institute'
|
||||
ISERVER_URL: '15.2.21.238:8090',
|
||||
WORKPLACE_NAME: 'HIMAP-HIGHGO',
|
||||
MAP_NAME: 'QDMAP',
|
||||
DATASOURCE_NAME: 'HISENSE_map',
|
||||
ATMOSPHERE_URL: 'http://15.2.21.151:9015/service-main',
|
||||
CURRENT_MAP_OPTIONS: {
|
||||
// crs: CRS_4490,
|
||||
center: [36.17, 120.13],
|
||||
maxZoom: 7,
|
||||
minZoom: 0,
|
||||
zoom: 3,
|
||||
},
|
||||
BDMAP_CONFIG: {
|
||||
location: 'qingdao',
|
||||
_initpos: {
|
||||
point: [120.392795, 36.072854],
|
||||
zoom: 2,
|
||||
},
|
||||
_keyframes: [
|
||||
[121.6011191295479, 36.73422934263509],
|
||||
[119.83371870221472, 36.082854],
|
||||
[120.25937000453506, 36.34563716789656],
|
||||
],
|
||||
},
|
||||
MAP_VENDOR: 'Supermap', // 地图厂商 Supermap bdmap 3dbdmap
|
||||
TITLE_LAYER: {
|
||||
mapUrl:
|
||||
'http://15.72.177.174:8195/portalproxy/TileServer/arcgis/rest/services/normal2021/MapServer?key=iOgQotfgfyLvhj6WgfDTpq7F',
|
||||
type: 'tiled',
|
||||
name: '矢量',
|
||||
icon: 'vector_map.png',
|
||||
},
|
||||
TITLE_LAYER_REMOTE: {
|
||||
mapUrl:
|
||||
'http://q3d.qd.gov.cn:8195/portalproxy/s9arfiqe/TileServer/arcgis/rest/services/normal2021_test/MapServer?key=p9PW1ipy9P3QHILzmsNOk8Gc',
|
||||
type: 'tiled',
|
||||
name: '矢量',
|
||||
icon: 'vector_map.png',
|
||||
},
|
||||
// TITLE_LAYER_REMOTE: { mapUrl: 'http://15.72.177.174:8195/portalproxy/TileServer/arcgis/rest/services/normal2021/MapServer?key=iOgQotfgfyLvhj6WgfDTpq7F', type: 'tiled', name: '矢量', icon: 'vector_map.png' },
|
||||
// TITLE_LAYER_REMOTE: { mapUrl: 'http://15.2.21.238:8090/iserver/services/map-ugcv5-QingdaoRemoteImageMap/rest/maps/QingdaoRemoteImageMap', type: 'remote', name: '影像', icon: 'satellite_map.png' },
|
||||
TITLE_LAYER_DARK: {
|
||||
mapUrl:
|
||||
'http://15.2.21.238:8090/iserver/services/map-ugcv5-shandong/rest/maps/shandong',
|
||||
type: 'dark',
|
||||
name: '其他',
|
||||
icon: 'other_map.png',
|
||||
},
|
||||
},
|
||||
}
|
||||
var MAPCONFIGMIXTRE = {
|
||||
CURRENT_SERVER_NAME: CONFIGKEY,
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-08-19 14:25:45
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-19 15:25:03
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-27 15:52:54
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
@ -27,7 +27,7 @@ export function cimImgResources(params) {
|
|||
method: 'get',
|
||||
})
|
||||
}
|
||||
// cim+算法
|
||||
// CIM+组件
|
||||
export function cimAssemblyResources() {
|
||||
return request({
|
||||
url: '/resource/cimAssemblyResources',
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-20 17:16:35
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-07-11 19:02:33
|
||||
* @LastEditTime: 2022-08-25 14:13:30
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
@ -108,7 +108,8 @@ export function getCameraInfoByAreaId(params) {
|
|||
//能力集市基础设施-摄像头
|
||||
export function getCameraByCondition(params) {
|
||||
return axios.get(
|
||||
'http://10.134.135.92:9537/data_service/getCamera/getCameraByCondition?' + params,
|
||||
'http://10.134.135.92:9537/data_service/getCamera/getCameraByCondition?' +
|
||||
params,
|
||||
config2
|
||||
)
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
After Width: | Height: | Size: 961 KiB |
Binary file not shown.
After Width: | Height: | Size: 1017 KiB |
Binary file not shown.
After Width: | Height: | Size: 901 KiB |
Binary file not shown.
After Width: | Height: | Size: 985 KiB |
|
@ -134,7 +134,7 @@ export function HieimpMap() {
|
|||
// console.log('地市级行政区划', result);
|
||||
// });
|
||||
switch (_mapConfig.config.CURRENT_SERVER_NAME) {
|
||||
case 'qingdao_highgo':
|
||||
case 'qingdao':
|
||||
if (type === 'tiled') {
|
||||
tileMapUrl = _mapConfig.config.TITLE_LAYER.mapUrl
|
||||
} else if (type === 'remote') {
|
||||
|
@ -144,7 +144,7 @@ export function HieimpMap() {
|
|||
}
|
||||
renderMapFun(mapId, tileMapUrl, centerPoint)
|
||||
break
|
||||
case 'qingdao':
|
||||
case 'xihaian':
|
||||
const tileMap = L.map(mapId, {
|
||||
crs: L.CRS.EPSG4326,
|
||||
// renderer: L.svg(),
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
/*
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-08-22 18:22:16
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-23 09:31:02
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-25 21:05:32
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
|
||||
const returnLocationStr = () => {
|
||||
return 'qingdao'
|
||||
// eslint-disable-next-line no-undef
|
||||
return CONFIGITEM.version === 'xihaian' ? 'xihaian' : 'qingdao1'
|
||||
}
|
||||
|
||||
export default returnLocationStr
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-08-25 19:41:20
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-25 20:14:53
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
export function placeHolderWords(name) {
|
||||
const words = {
|
||||
坐标系: '服务坐标系,如WGS84、CGCS2000等',
|
||||
覆盖区域: '服务覆盖区域,如全国、青岛、城阳区等',
|
||||
切片尺寸: '切片尺寸,切片服务填写,填写瓦片大小,如256*256',
|
||||
切片策略: '切片策略,切片服务填写,如栅格、矢量',
|
||||
最小级别: '地图缩放最小级别,如1、2',
|
||||
最大级别: '地图缩放最大级别,如18、19、20',
|
||||
图层预览地址: '地址,图层预览效果将在详情页展示,如http://xxx.com',
|
||||
服务地址: '服务调用地址',
|
||||
样式服务地址: '样式服务地址,用于获取图层的展示样式,如不同的地图底色样式',
|
||||
}
|
||||
return words[name] || name
|
||||
}
|
|
@ -4,7 +4,8 @@
|
|||
<div class="banner"></div>
|
||||
<div class="mainBox">
|
||||
<div class="top">
|
||||
<h1>典型赋能案例</h1>
|
||||
<h1 v-if="whoShow1 && whoShow1.itShowQingDao">典型赋能案例</h1>
|
||||
<h1 v-else>赋能案例</h1>
|
||||
<div></div>
|
||||
<!-- <h3>Enabling Cases</h3> -->
|
||||
</div>
|
||||
|
@ -86,7 +87,7 @@
|
|||
import { useRouter } from 'vue-router'
|
||||
// import { pinyin } from 'pinyin-pro'
|
||||
// import { Empty } from 'ant-design-vue'
|
||||
|
||||
const whoShow1 = ref(whoShow)
|
||||
const router = useRouter()
|
||||
const listBg = ref('')
|
||||
const contenBox = ref([])
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-17 14:11:08
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-03 11:47:41
|
||||
* @LastEditTime: 2022-08-25 19:52:03
|
||||
* @Description: 上架
|
||||
-->
|
||||
<template>
|
||||
|
@ -233,7 +233,7 @@
|
|||
:maxLength="1000"
|
||||
v-if="item.type == 'input' && item.name.indexOf('名称') == -1"
|
||||
v-model:value="item.note1"
|
||||
:placeholder="'请输入' + item.name"
|
||||
:placeholder="'请输入' + placeHolderWords(item.name)"
|
||||
@change="changeIiem(item.name, item.note1)"
|
||||
/>
|
||||
<a-input
|
||||
|
@ -496,6 +496,7 @@
|
|||
</template>
|
||||
<script setup>
|
||||
import VueTemplateDemo from '@/views/personalCenter/VueTemplateDemo'
|
||||
import { placeHolderWords } from '@/utils/placeHolder'
|
||||
import {
|
||||
ref,
|
||||
defineProps,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-->
|
||||
<template>
|
||||
<div class="algorithm">
|
||||
<div class="header">CIM+算法</div>
|
||||
<div class="header">CIM+组件</div>
|
||||
<div class="main">
|
||||
<div
|
||||
class="item"
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
num: 0,
|
||||
},
|
||||
{
|
||||
name: 'CIM+算法',
|
||||
name: 'CIM+组件',
|
||||
img: require('@/assets/cimSpecialArea/algorithm.png'),
|
||||
num: 0,
|
||||
},
|
||||
|
|
|
@ -8,13 +8,11 @@
|
|||
></DetalsTitle>
|
||||
</div>
|
||||
<!-- 青岛市局 -->
|
||||
<div v-if="whoShow1 && whoShow1.itShowQingDao">
|
||||
<div
|
||||
class="content"
|
||||
v-for="item in dataFrom.content"
|
||||
:key="item.title"
|
||||
v-show="approveStatus == '通过'"
|
||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
||||
style="width: 100%; display: flex; justify-content: center"
|
||||
>
|
||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||
<div class="content-left" v-if="item.titleType === '调用接口'">
|
||||
<div class="left">
|
||||
<div class="content-left-title">
|
||||
|
@ -24,8 +22,16 @@
|
|||
<p>
|
||||
<span>{{ item.link.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.link.value }}</template>
|
||||
<span>{{ item.link.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.link.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.link.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
<p>
|
||||
|
@ -91,15 +97,31 @@
|
|||
<p>
|
||||
<span>{{ item.people.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.people.value }}</template>
|
||||
<span>{{ item.people.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.people.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.people.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
<p>
|
||||
<span>{{ item.phone.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.phone.value }}</template>
|
||||
<span>{{ item.phone.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.phone.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.phone.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -132,9 +154,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="approveStatus !== '通过'" class="contentOther">
|
||||
请申请后查看
|
||||
<!-- <div v-show="approveStatus !== '通过'" class="contentOther">
|
||||
<img src="~@/assets/detailsAll/uesBefore.png" />
|
||||
<div class="contentOtherRight">
|
||||
<p>请在申请能力后返回查看使用方式</p>
|
||||
<div @click="toView()">进入能力申请</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<!-- 其他 -->
|
||||
<div v-else>
|
||||
|
@ -265,6 +291,9 @@
|
|||
import { pinyin } from 'pinyin-pro'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
|
||||
const approveStatus = ref('通过')
|
||||
const whoShow1 = ref(whoShow)
|
||||
let dataFrom = ref({
|
||||
|
@ -310,6 +339,34 @@
|
|||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
//立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
let obj = true
|
||||
if (!obj) {
|
||||
|
@ -451,7 +508,9 @@
|
|||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
@ -583,9 +642,37 @@
|
|||
}
|
||||
}
|
||||
.contentOther {
|
||||
width: 100%;
|
||||
height: 0.3rem;
|
||||
background: pink;
|
||||
width: 80%;
|
||||
height: 4rem;
|
||||
border: 1px dashed #7b98fd;
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.contentOtherRight {
|
||||
p {
|
||||
font-weight: bold;
|
||||
font-size: 0.2rem;
|
||||
}
|
||||
div {
|
||||
width: 1.3rem;
|
||||
height: 0.4rem;
|
||||
line-height: 0.4rem;
|
||||
background: #0885ff;
|
||||
color: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
font-size: 0.18rem;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
div:hover {
|
||||
background: #359bff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,41 +1,64 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-09 09:29:29
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-06-13 15:21:26
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-27 15:43:57
|
||||
* @Description: 应用详情
|
||||
-->
|
||||
<template>
|
||||
<div class="algorithm-on-trial" v-if="flag">
|
||||
<div class="algorithm-on-trial">
|
||||
<detals-title title="应用详情" type="PROBATION"></detals-title>
|
||||
<div class="main">
|
||||
<div class="main-left">
|
||||
<p>{{ dataFrom.linkName }}</p>
|
||||
<a-tooltip v-if="flag">
|
||||
<template #title>{{ dataFrom.link }}</template>
|
||||
<p style="cursor: pointer" @click="clickLink(dataFrom.link)">
|
||||
{{ dataFrom.link || '暂无' }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<a-tooltip v-else>
|
||||
<template #title>请申请后查看</template>
|
||||
<p style="cursor: pointer; filter: blur(4px)">
|
||||
{{ dataFrom.link }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="main-center">
|
||||
<p>{{ dataFrom.numberName }}</p>
|
||||
<p>{{ dataFrom.number }}</p>
|
||||
<a-tooltip v-if="flag">
|
||||
<template #title>{{ dataFrom.number }}</template>
|
||||
<p>{{ dataFrom.number || '暂无' }}</p>
|
||||
</a-tooltip>
|
||||
<a-tooltip v-else>
|
||||
<template #title>请申请后查看</template>
|
||||
<p style="filter: blur(4px)">{{ dataFrom.number }}</p>
|
||||
</a-tooltip>
|
||||
<div
|
||||
@click="copyFunction(dataFrom.number, '复制账号')"
|
||||
v-if="dataFrom.number != ''"
|
||||
v-if="dataFrom.number != '' && flag"
|
||||
>
|
||||
复制账号
|
||||
</div>
|
||||
<div v-else id="zanwu">暂无</div>
|
||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||
</div>
|
||||
<div class="main-right">
|
||||
<p>{{ dataFrom.passwordName }}</p>
|
||||
<p>{{ dataFrom.password }}</p>
|
||||
<a-tooltip v-if="flag">
|
||||
<template #title>{{ dataFrom.password }}</template>
|
||||
<p>{{ dataFrom.password || '暂无' }}</p>
|
||||
</a-tooltip>
|
||||
<a-tooltip v-else>
|
||||
<template #title>请申请后查看</template>
|
||||
<p style="filter: blur(4px)">{{ dataFrom.password }}</p>
|
||||
</a-tooltip>
|
||||
<div
|
||||
@click="copyFunction(dataFrom.password2, '复制密码')"
|
||||
v-if="dataFrom.password != ''"
|
||||
v-if="dataFrom.password2 != '' && flag"
|
||||
>
|
||||
复制密码
|
||||
</div>
|
||||
<div v-else id="zanwu">暂无</div>
|
||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -63,7 +86,7 @@
|
|||
let obj = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
} else {
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
|
@ -75,7 +98,7 @@
|
|||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
const clickLink = (link) => {
|
||||
window.open(link)
|
||||
|
@ -111,9 +134,9 @@
|
|||
(val) => {
|
||||
if (val) {
|
||||
let obj = props.dataList.approveStatus
|
||||
if (obj !== '通过') {
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
} else {
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
|
@ -127,7 +150,6 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
|
|
@ -7,8 +7,12 @@
|
|||
:type="dataFrom.englishTitle"
|
||||
></DetalsTitle>
|
||||
</div>
|
||||
<div v-if="whoShow1 && whoShow1.itShowQingDao">
|
||||
<div class="content" v-show="approveStatus == '通过'">
|
||||
<!-- 青岛市局 -->
|
||||
<div
|
||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
||||
style="width: 100%; display: flex; justify-content: center"
|
||||
>
|
||||
<div class="content">
|
||||
<div
|
||||
v-for="(item, index) in dataFrom.content"
|
||||
:key="index"
|
||||
|
@ -19,7 +23,17 @@
|
|||
<div v-for="carditem in item.childrenContent" :key="carditem">
|
||||
<div style="display: flex">
|
||||
<span>{{ carditem.attrType }}:</span>
|
||||
<a-tooltip>
|
||||
<a-tooltip
|
||||
v-if="
|
||||
approveStatus !== '通过' &&
|
||||
(carditem.attrType === '联系人' ||
|
||||
carditem.attrType === '联系人电话')
|
||||
"
|
||||
>
|
||||
<template #title>请申请后查看</template>
|
||||
<span class="word-filter">{{ carditem.attrValue }}</span>
|
||||
</a-tooltip>
|
||||
<a-tooltip v-else>
|
||||
<template #title>{{ carditem.attrValue }}</template>
|
||||
<span>{{ carditem.attrValue }}</span>
|
||||
</a-tooltip>
|
||||
|
@ -28,8 +42,15 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="approveStatus !== '通过'">请申请后查看</div>
|
||||
<!-- <div v-show="approveStatus !== '通过'" class="contentOther">
|
||||
<img src="~@/assets/detailsAll/uesBefore.png" />
|
||||
<div class="contentOtherRight">
|
||||
<p>请在申请能力后返回查看归属部门与服务商</p>
|
||||
<div @click="toView()">进入能力申请</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<!-- 其他 -->
|
||||
<div v-else>
|
||||
<div class="content">
|
||||
<div
|
||||
|
@ -58,6 +79,8 @@
|
|||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const approveStatus = ref('通过')
|
||||
const whoShow1 = ref(whoShow)
|
||||
let dataFrom = ref({
|
||||
|
@ -79,6 +102,34 @@
|
|||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
//立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
let obj = {
|
||||
attrType: '归属部门',
|
||||
|
@ -206,7 +257,9 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.word-filter {
|
||||
filter: blur(4px);
|
||||
}
|
||||
.title {
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
@ -220,10 +273,13 @@
|
|||
height: 1.5rem;
|
||||
width: 6.2rem;
|
||||
border-radius: 0.2rem;
|
||||
background: url('~@/assets/detailsAll/business/business_usage_mode_bg.png')
|
||||
no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
rgba(113, 132, 252, 0.4),
|
||||
rgba(148, 163, 252, 0.4)
|
||||
);
|
||||
// background-position: center;
|
||||
// background-size: 100% 100%;
|
||||
padding: 0 0.3rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
@ -257,11 +313,11 @@
|
|||
span:last-child {
|
||||
display: block;
|
||||
width: 2.3rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
word-break: break-all;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// -webkit-box-orient: vertical;
|
||||
// -webkit-line-clamp: 1;
|
||||
// word-break: break-all;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -272,5 +328,38 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.contentOther {
|
||||
width: 80%;
|
||||
height: 4rem;
|
||||
border: 1px dashed #7b98fd;
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.contentOtherRight {
|
||||
p {
|
||||
font-weight: bold;
|
||||
font-size: 0.2rem;
|
||||
}
|
||||
div {
|
||||
width: 1.3rem;
|
||||
height: 0.4rem;
|
||||
line-height: 0.4rem;
|
||||
background: #0885ff;
|
||||
color: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
font-size: 0.18rem;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
div:hover {
|
||||
background: #359bff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,13 +7,11 @@
|
|||
:type="dataFrom.englishTitle"
|
||||
></DetalsTitle>
|
||||
</div>
|
||||
<div v-if="whoShow1 && whoShow1.itShowQingDao">
|
||||
<div
|
||||
class="content"
|
||||
v-for="item in dataFrom.content"
|
||||
:key="item.title"
|
||||
v-show="approveStatus == '通过'"
|
||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
||||
style="width: 100%; display: flex; justify-content: center"
|
||||
>
|
||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||
<div class="content-left">
|
||||
<div class="left">
|
||||
<div class="content-left-title">
|
||||
|
@ -23,8 +21,14 @@
|
|||
<p>
|
||||
<span>{{ item.link.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.linkValue }}</template>
|
||||
<span>{{ item.linkValue }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过' ? item.linkValue : '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.linkValue }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -48,15 +52,31 @@
|
|||
<p>
|
||||
<span>{{ item.people.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.people.value }}</template>
|
||||
<span>{{ item.people.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.people.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.people.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
<p>
|
||||
<span>{{ item.phone.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.phone.value }}</template>
|
||||
<span>{{ item.phone.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.phone.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.phone.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -89,7 +109,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="approveStatus !== '通过'">请申请后查看</div>
|
||||
<!-- <div v-show="approveStatus !== '通过'" class="contentOther">
|
||||
<img src="~@/assets/detailsAll/uesBefore.png" />
|
||||
<div class="contentOtherRight">
|
||||
<p>请在申请能力后返回查看使用方式</p>
|
||||
<div @click="toView()">进入能力申请</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||
|
@ -177,6 +203,8 @@
|
|||
import { pinyin } from 'pinyin-pro'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const approveStatus = ref('通过')
|
||||
const whoShow1 = ref(whoShow)
|
||||
let dataFrom = ref({
|
||||
|
@ -211,6 +239,34 @@
|
|||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
//立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
let obj = true
|
||||
if (!obj) {
|
||||
|
@ -320,7 +376,9 @@
|
|||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
@ -449,5 +507,38 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.contentOther {
|
||||
width: 80%;
|
||||
height: 4rem;
|
||||
border: 1px dashed #7b98fd;
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.contentOtherRight {
|
||||
p {
|
||||
font-weight: bold;
|
||||
font-size: 0.2rem;
|
||||
}
|
||||
div {
|
||||
width: 1.3rem;
|
||||
height: 0.4rem;
|
||||
line-height: 0.4rem;
|
||||
background: #0885ff;
|
||||
color: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
font-size: 0.18rem;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
div:hover {
|
||||
background: #359bff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -7,14 +7,21 @@
|
|||
:type="dataFrom.englishTitle"
|
||||
></DetalsTitle>
|
||||
</div>
|
||||
<div v-if="whoShow1 && whoShow1.itShowQingDao">
|
||||
<div class="content" v-show="approveStatus == '通过'">
|
||||
<div
|
||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
||||
style="width: 100%; display: flex; justify-content: center"
|
||||
>
|
||||
<div class="content">
|
||||
<div class="content-card">
|
||||
<div class="left">
|
||||
<p>{{ dataFrom.linkName }}</p>
|
||||
<a-tooltip>
|
||||
<template #title>{{ dataFrom.link }}</template>
|
||||
<p>{{ dataFrom.link }}</p>
|
||||
<template #title>
|
||||
{{ approveStatus === '通过' ? dataFrom.link : '请申请后查看' }}
|
||||
</template>
|
||||
<p :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ dataFrom.link }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="right">
|
||||
|
@ -32,8 +39,25 @@
|
|||
<div>
|
||||
<span>{{ carditem.attrType }}:</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ carditem.attrValue }}</template>
|
||||
<span>{{ carditem.attrValue }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus !== '通过' &&
|
||||
(carditem.attrType === '部门联系人' ||
|
||||
carditem.attrType === '联系人电话')
|
||||
? '请申请后查看'
|
||||
: carditem.attrValue
|
||||
}}
|
||||
</template>
|
||||
<span
|
||||
:class="{
|
||||
'blur-word':
|
||||
approveStatus !== '通过' &&
|
||||
(carditem.attrType === '部门联系人' ||
|
||||
carditem.attrType === '联系人电话'),
|
||||
}"
|
||||
>
|
||||
{{ carditem.attrValue }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -41,7 +65,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="approveStatus !== '通过'">请申请后查看</div>
|
||||
<!-- <div v-show="approveStatus !== '通过'" class="contentOther">
|
||||
<img src="~@/assets/detailsAll/uesBefore.png" />
|
||||
<div class="contentOtherRight">
|
||||
<p>请在申请能力后返回查看使用方式</p>
|
||||
<div @click="toView()">进入能力申请</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="content">
|
||||
|
@ -86,6 +116,8 @@
|
|||
import { ref, defineProps, watch } from 'vue'
|
||||
import { pinyin } from 'pinyin-pro'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const approveStatus = ref('通过')
|
||||
const whoShow1 = ref(whoShow)
|
||||
let flag = ref(true)
|
||||
|
@ -136,6 +168,34 @@
|
|||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
//立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(item) => item.attrType === '组件地址'
|
||||
|
@ -255,6 +315,9 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
.title {
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
@ -360,5 +423,38 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.contentOther {
|
||||
width: 80%;
|
||||
height: 4rem;
|
||||
border: 1px dashed #7b98fd;
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.contentOtherRight {
|
||||
p {
|
||||
font-weight: bold;
|
||||
font-size: 0.2rem;
|
||||
}
|
||||
div {
|
||||
width: 1.3rem;
|
||||
height: 0.4rem;
|
||||
line-height: 0.4rem;
|
||||
background: #0885ff;
|
||||
color: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
font-size: 0.18rem;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
div:hover {
|
||||
background: #359bff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -70,27 +70,23 @@
|
|||
values: '',
|
||||
},
|
||||
{
|
||||
type: '切片尺寸详情',
|
||||
type: '切片尺寸',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '最小级别名称',
|
||||
type: '最小级别',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
const dataFromRight = ref({
|
||||
content: [
|
||||
{
|
||||
type: '数据范围',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '图层名称',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '最大级别名称',
|
||||
type: '最大级别',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
|
|
|
@ -7,31 +7,40 @@
|
|||
:type="dataFrom.englishTitle"
|
||||
></DetalsTitle>
|
||||
</div>
|
||||
<div v-if="whoShow1 && whoShow1.itShowQingDao">
|
||||
<div
|
||||
class="content"
|
||||
v-for="item in dataFrom.content"
|
||||
:key="item.title"
|
||||
v-show="approveStatus == '通过'"
|
||||
v-if="whoShow1 && whoShow1.itShowQingDao"
|
||||
style="width: 100%; display: flex; justify-content: center"
|
||||
>
|
||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||
<div class="content-left">
|
||||
<div class="left">
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.linkValue }}</template>
|
||||
<template #title>
|
||||
{{ approveStatus === '通过' ? item.linkValue : '请申请后查看' }}
|
||||
</template>
|
||||
<p @click="ServiceAddressFunction(item.linkValue)">
|
||||
服务地址:
|
||||
<span>服务地址:</span>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.linkValue }}
|
||||
</span>
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.csslinkValue }}</template>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过' ? item.csslinkValue : '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
|
||||
<p @click="ServiceAddressFunction(item.csslinkValue)">
|
||||
样式服务地址:
|
||||
<span>样式服务地址:</span>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.csslinkValue }}
|
||||
</span>
|
||||
</p>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="right" v-show="approveStatus === '通过'">
|
||||
<div @click="technical()">技术文档</div>
|
||||
<div @click="technicalNew()">新手指引</div>
|
||||
</div>
|
||||
|
@ -43,22 +52,42 @@
|
|||
<p>
|
||||
<span>{{ item.facilitator.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.facilitator.value }}</template>
|
||||
<span>{{ item.facilitator.value }}</span>
|
||||
<template #title>
|
||||
{{ item.facilitator.value }}
|
||||
</template>
|
||||
<span>
|
||||
{{ item.facilitator.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
<p>
|
||||
<span>{{ item.people.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.people.value }}</template>
|
||||
<span>{{ item.people.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.people.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.people.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
<p>
|
||||
<span>{{ item.phone.name }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.phone.value }}</template>
|
||||
<span>{{ item.phone.value }}</span>
|
||||
<template #title>
|
||||
{{
|
||||
approveStatus === '通过'
|
||||
? item.phone.value
|
||||
: '请申请后查看'
|
||||
}}
|
||||
</template>
|
||||
<span :class="{ 'blur-word': approveStatus !== '通过' }">
|
||||
{{ item.phone.value }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -91,7 +120,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="approveStatus !== '通过'">请申请后查看</div>
|
||||
<!-- <div v-show="approveStatus !== '通过'" class="contentOther">
|
||||
<img src="~@/assets/detailsAll/uesBefore.png" />
|
||||
<div class="contentOtherRight">
|
||||
<p>请在申请能力后返回查看使用方式</p>
|
||||
<div @click="toView()">进入能力申请</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="content" v-for="item in dataFrom.content" :key="item.title">
|
||||
|
@ -181,6 +216,8 @@
|
|||
import { message } from 'ant-design-vue'
|
||||
import { pinyin } from 'pinyin-pro'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const approveStatus = ref('通过')
|
||||
const whoShow1 = ref(whoShow)
|
||||
let dataFrom = ref({
|
||||
|
@ -217,6 +254,34 @@
|
|||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
//立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
let obj = true
|
||||
if (!obj) {
|
||||
|
@ -279,8 +344,10 @@
|
|||
)
|
||||
//服务地址和样式服务地址跳转方法
|
||||
function ServiceAddressFunction(link) {
|
||||
if (link && approveStatus.value === '通过') {
|
||||
window.open(link)
|
||||
}
|
||||
}
|
||||
function technical() {
|
||||
// 拼接路径
|
||||
// const type = pinyin(props.dataList.type, {
|
||||
|
@ -334,7 +401,9 @@
|
|||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
@ -461,5 +530,38 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.contentOther {
|
||||
width: 80%;
|
||||
height: 4rem;
|
||||
border: 1px dashed #7b98fd;
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.contentOtherRight {
|
||||
p {
|
||||
font-weight: bold;
|
||||
font-size: 0.2rem;
|
||||
}
|
||||
div {
|
||||
width: 1.3rem;
|
||||
height: 0.4rem;
|
||||
line-height: 0.4rem;
|
||||
background: #0885ff;
|
||||
color: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
font-size: 0.18rem;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
div:hover {
|
||||
background: #359bff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,352 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-08 11:56:28
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-25 20:23:59
|
||||
* @Description: 算法详情页头部
|
||||
-->
|
||||
<template>
|
||||
<div class="algorithm-top-details">
|
||||
<div class="left">
|
||||
<div class="top">
|
||||
<a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.name }}</template>
|
||||
<span class="name">
|
||||
{{ props.dataList.name }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
<!-- <span class="name">{{ props.dataList.name }}</span> -->
|
||||
<div class="label-content">
|
||||
<p class="lable-father">
|
||||
<span class="label" v-if="props.dataList.type">
|
||||
{{ props.dataList.type }}
|
||||
</span>
|
||||
<span class="label" v-if="props.dataList.shareType">
|
||||
{{ props.dataList.shareType }}
|
||||
</span>
|
||||
<span class="label" v-if="props.dataList.shareCondition">
|
||||
{{ props.dataList.shareCondition }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<!-- <span class="label">免费</span> -->
|
||||
</div>
|
||||
<div class="main">
|
||||
<!-- <a-tooltip placement="top">
|
||||
<template #title>应用领域:{{ applicationArea }}</template>
|
||||
<div>应用领域:{{ applicationArea }}</div>
|
||||
</a-tooltip> -->
|
||||
<a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.description }}</template>
|
||||
<div>
|
||||
{{ props.dataList.description }}
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="bottom" v-if="props.dataList.id">
|
||||
<!-- 融合服务 存在fuseResourceList -->
|
||||
<!-- <a-button
|
||||
type="primary"
|
||||
@click="handleAKeyApplication()"
|
||||
v-if="dataList.fuseResourceList"
|
||||
>
|
||||
<template #icon>
|
||||
<form-outlined />
|
||||
</template>
|
||||
申请使用
|
||||
</a-button>
|
||||
<a-button v-else type="primary" @click="toView()">
|
||||
<template #icon><form-outlined /></template>
|
||||
申请使用
|
||||
</a-button>
|
||||
<a-button
|
||||
v-if="!dataList.fuseResourceList"
|
||||
type="primary"
|
||||
@click="addShoppingCart()"
|
||||
>
|
||||
<template #icon><shopping-cart-outlined /></template>
|
||||
加入购物车
|
||||
</a-button>
|
||||
<a-button type="primary" @click="goTOCollection()">
|
||||
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
|
||||
</a-button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
// import { ShoppingCartOutlined } from '@ant-design/icons-vue'
|
||||
import { defineProps, ref, watch } from 'vue'
|
||||
import { scInsert, scDel } from '@/api/personalCenter'
|
||||
import { sgcInsert } from '@/api/home'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { message } from 'ant-design-vue'
|
||||
// 获取当前路由地址
|
||||
const router = useRouter()
|
||||
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
|
||||
console.log('dataList------------>', props.dataList)
|
||||
const applicationArea = ref('')
|
||||
// // 加入申购车
|
||||
const addShoppingCart = () => {
|
||||
if (props.dataList.isInShoppingCart) {
|
||||
message.error('已经加入申购车了')
|
||||
} else {
|
||||
console.log('加入申购车==================>', props.dataList)
|
||||
sgcInsert({
|
||||
delFlag: '0',
|
||||
resourceId: props.dataList.id,
|
||||
// userId: userId.value,
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
message.success('添加申购车成功!')
|
||||
mybus.emit('getSgcNum')
|
||||
props.dataList.isInShoppingCart = true
|
||||
console.log(
|
||||
props.dataList.isInShoppingCart,
|
||||
'props.dataList.isInShoppingCart'
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
// // 立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
// router.push({
|
||||
// path: '/apply',
|
||||
// query: {
|
||||
// name: props.dataList.name,
|
||||
// resourceId: [props.dataList.id],
|
||||
// },
|
||||
// })
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
// componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
// 融合服务--一键申请
|
||||
const handleAKeyApplication = () => {
|
||||
let _applyList = []
|
||||
;(props.dataList.fuseResourceList || []).map((v) => {
|
||||
let resource = v.resource || {}
|
||||
let obj = {
|
||||
arr: [
|
||||
{
|
||||
delFlag: resource.delFlag,
|
||||
description: resource.description,
|
||||
resourceId: resource.id,
|
||||
resourceName: resource.name,
|
||||
time: resource.createDate,
|
||||
type: resource.type,
|
||||
},
|
||||
],
|
||||
deptId: resource.deptId,
|
||||
deptName: resource.deptName,
|
||||
}
|
||||
_applyList.push(obj)
|
||||
})
|
||||
|
||||
localStorage.setItem('applyList', JSON.stringify(_applyList))
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
|
||||
// 收藏
|
||||
const scFlag2 = ref(true)
|
||||
const goTOCollection = () => {
|
||||
console.log('收藏===================》', props.dataList)
|
||||
if (scFlag2.value) {
|
||||
scFlag2.value = false
|
||||
if (props.dataList.isCollect == 'true') {
|
||||
scDel([props.dataList.id]).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('取消成功')
|
||||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.dataList.isCollect = 'false'
|
||||
scFlag2.value = true
|
||||
}
|
||||
})
|
||||
} else {
|
||||
scInsert([
|
||||
{
|
||||
resourceId: props.dataList.id,
|
||||
},
|
||||
]).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('添加收藏成功!')
|
||||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.dataList.isCollect = 'true'
|
||||
scFlag2.value = true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// scInsert([{ resourceId: props.dataList.id }]).then((res) => {
|
||||
// console.log(res)
|
||||
// message.success('收藏成功')
|
||||
// })
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
applicationArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用领域'
|
||||
)[0].attrValue
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
console.log('props.dataList-----watch------->', val)
|
||||
|
||||
applicationArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用领域'
|
||||
)[0].attrValue
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.algorithm-top-details {
|
||||
height: 6rem;
|
||||
padding: 1.8rem 0 0;
|
||||
background: url('~@/assets/detailsAll/sf_top_bg.png') no-repeat;
|
||||
background-size: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
.left {
|
||||
max-width: 7.2rem;
|
||||
color: #fff;
|
||||
margin-right: 0.8rem;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
span {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
|
||||
.name {
|
||||
// max-width: 3.3rem;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
font-size: 0.4rem;
|
||||
margin-right: 0.2rem;
|
||||
font-size: 0.4rem;
|
||||
margin-right: 0.2rem;
|
||||
max-width: 6rem;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.label-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.lable-father {
|
||||
position: absolute;
|
||||
min-width: 3.5rem;
|
||||
right: -3.5rem;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.label {
|
||||
padding: 0.01rem 0.1rem;
|
||||
margin-right: 0.1rem;
|
||||
border-radius: 0.13rem;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-top: 0.2rem;
|
||||
font-size: 0.18rem;
|
||||
line-height: 0.34rem;
|
||||
|
||||
// & > div:nth-of-type(1) {
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
// }
|
||||
|
||||
& > div:nth-of-type(1) {
|
||||
max-height: 1rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
margin-top: 0.4rem;
|
||||
display: flex;
|
||||
|
||||
.ant-btn {
|
||||
height: 0.5rem;
|
||||
margin-right: 0.2rem;
|
||||
background: #ff8b55;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.ant-btn:nth-of-type(1) {
|
||||
width: 1.8rem;
|
||||
}
|
||||
|
||||
.ant-btn:nth-of-type(2) {
|
||||
width: 2.2rem;
|
||||
}
|
||||
|
||||
.ant-btn:nth-of-type(3) {
|
||||
width: 1.45rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 5.8rem;
|
||||
height: 4rem;
|
||||
background: url('~@/assets/detailsAll/sf_right_bg.png') no-repeat;
|
||||
background-size: 100%;
|
||||
margin-top: -0.4rem;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,88 @@
|
|||
<template>
|
||||
<div class="box">
|
||||
<div class="CanCase">
|
||||
<div
|
||||
class="caseBox"
|
||||
v-for="(item, index) in caseList"
|
||||
:key="index"
|
||||
@click="toView(item)"
|
||||
>
|
||||
<a-image
|
||||
:preview="false"
|
||||
:src="
|
||||
item.fuseAttrList.filter((val) => val.attrType == '服务图片')[0]
|
||||
.attrValue
|
||||
"
|
||||
/>
|
||||
<h3>{{ item.name }}</h3>
|
||||
<p>发布时间 {{ item.updateDate }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||
import { defineProps } from 'vue'
|
||||
|
||||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
const props = defineProps({
|
||||
resourceList: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
selectCardsname: {
|
||||
type: String,
|
||||
default: '组件服务',
|
||||
},
|
||||
})
|
||||
const caseList = ref([])
|
||||
|
||||
onMounted(() => {
|
||||
caseList.value = props.resourceList.data
|
||||
console.log(caseList.value, 'caseList.value')
|
||||
})
|
||||
onBeforeUnmount(() => {})
|
||||
function toView(item) {
|
||||
router.push({
|
||||
path: '/integrationServicesDetails',
|
||||
query: {
|
||||
id: item.id,
|
||||
},
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
.CanCase {
|
||||
margin-top: 0.2rem;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
.caseBox {
|
||||
width: 3.5rem;
|
||||
height: 3rem;
|
||||
box-shadow: 1px 1px 5px 5px rgba(222, 222, 222, 0.152);
|
||||
background: #ffffff;
|
||||
border-radius: 0.05rem;
|
||||
padding: 0.2rem;
|
||||
margin-bottom: 0.2rem;
|
||||
cursor: pointer;
|
||||
img {
|
||||
width: 3rem;
|
||||
height: 1.8rem;
|
||||
}
|
||||
h3 {
|
||||
font-size: 0.18rem;
|
||||
font-weight: bold;
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
p {
|
||||
font-size: 0.16rem;
|
||||
color: #797979;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -136,6 +136,7 @@
|
|||
<div class="header">
|
||||
<span style="display: flex; align-items: center; width: 680px">
|
||||
{{ item.name }}
|
||||
<!-- 已申请--通过 -->
|
||||
<svg
|
||||
t="1652322568870"
|
||||
class="icon"
|
||||
|
@ -145,7 +146,9 @@
|
|||
p-id="3062"
|
||||
width="40"
|
||||
height="40"
|
||||
v-if="item.applyState == '通过'"
|
||||
v-if="
|
||||
item.applyState == '已申请' && item.approveStatus == '通过'
|
||||
"
|
||||
style="margin-left: 10px; min-width: 40px"
|
||||
>
|
||||
<path
|
||||
|
@ -164,7 +167,8 @@
|
|||
p-id="3065"
|
||||
></path>
|
||||
</svg>
|
||||
<svg
|
||||
<!-- 审核中 -->
|
||||
<!-- <svg
|
||||
t="1652322568870"
|
||||
class="icon"
|
||||
viewBox="0 0 3072 1024"
|
||||
|
@ -173,7 +177,9 @@
|
|||
p-id="3062"
|
||||
width="40"
|
||||
height="40"
|
||||
v-if="item.applyState == '审核中'"
|
||||
v-if="
|
||||
item.applyState == '已申请' && item.approveStatus == '审核中'
|
||||
"
|
||||
style="margin-left: 10px; min-width: 40px"
|
||||
>
|
||||
<path
|
||||
|
@ -188,7 +194,9 @@
|
|||
></path>
|
||||
</svg>
|
||||
<span
|
||||
v-if="item.applyState == '审核中'"
|
||||
v-if="
|
||||
item.applyState == '已申请' && item.approveStatus == '审核中'
|
||||
"
|
||||
style="
|
||||
font-size: 12px;
|
||||
-webkit-transform: scale(0.75);
|
||||
|
@ -200,7 +208,7 @@
|
|||
"
|
||||
>
|
||||
审核中
|
||||
</span>
|
||||
</span> -->
|
||||
</span>
|
||||
<div class="header-right">
|
||||
<div
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
</a-space>
|
||||
</div>
|
||||
</div>
|
||||
<div class="roomItem" v-for="(item, index) in roomList">
|
||||
<div class="roomItem" v-for="item in roomList" :key="item.id">
|
||||
<div class="leftImg">
|
||||
<img
|
||||
:src="
|
||||
|
@ -438,7 +438,21 @@
|
|||
</div>
|
||||
<i class="boundary"></i>
|
||||
<!-- 批量预览 -->
|
||||
<a-button type="primary" @click="batchPreview" class="buttonAdd">
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="batchPreview"
|
||||
class="buttonAdd"
|
||||
v-if="isXiHaiAn"
|
||||
>
|
||||
批量预览
|
||||
</a-button>
|
||||
<!-- 批量预览 -->
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="batchPicturePreview"
|
||||
class="buttonAdd"
|
||||
v-else
|
||||
>
|
||||
批量预览
|
||||
</a-button>
|
||||
<!-- 添加至申购车 -->
|
||||
|
@ -474,6 +488,7 @@
|
|||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.dataIndex === 'operation'">
|
||||
<a
|
||||
v-if="isXiHaiAn"
|
||||
@click="
|
||||
openVideo(
|
||||
record.channelCode ||
|
||||
|
@ -484,6 +499,18 @@
|
|||
>
|
||||
预览
|
||||
</a>
|
||||
<a
|
||||
v-else
|
||||
@click="
|
||||
openPicture(
|
||||
record.channelCode ||
|
||||
record.channelId ||
|
||||
record.channelCode.channelId
|
||||
)
|
||||
"
|
||||
>
|
||||
预览
|
||||
</a>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
|
@ -532,7 +559,53 @@
|
|||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 批量预览弹窗 -->
|
||||
<!-- 图片预览 -->
|
||||
<a-modal
|
||||
wrapClassName="single-preview-modal"
|
||||
v-model:visible="picVisible"
|
||||
title="图片预览"
|
||||
:width="960"
|
||||
destroyOnClose
|
||||
>
|
||||
<template #footer></template>
|
||||
<div style="width: 100%; display: flex; justify-content: center">
|
||||
<a-image :src="options.src" />
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 批量预览图片弹窗 -->
|
||||
<a-modal
|
||||
wrapClassName="batch-preview-modal"
|
||||
v-model:visible="batchPicVisible"
|
||||
title="图片批量预览"
|
||||
:width="1060"
|
||||
destroyOnClose
|
||||
@cancel="videoClean"
|
||||
>
|
||||
<template #footer></template>
|
||||
<div class="batch-video">
|
||||
<div
|
||||
v-for="item in videoList"
|
||||
:key="item.id"
|
||||
style="width: 100%; height: 100%"
|
||||
>
|
||||
<a-image
|
||||
width="500px"
|
||||
height="281px"
|
||||
:src="item.options.src"
|
||||
fallback="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg=="
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<a-pagination
|
||||
v-model:current="current"
|
||||
:total="videoTotal"
|
||||
defaultPageSize="4"
|
||||
:showSizeChanger="false"
|
||||
@change="batchPicturePreview"
|
||||
show-less-items
|
||||
/>
|
||||
</a-modal>
|
||||
<!-- 批量预览视频弹窗 -->
|
||||
<a-modal
|
||||
wrapClassName="batch-preview-modal"
|
||||
v-model:visible="batchVisible"
|
||||
|
@ -641,6 +714,7 @@
|
|||
getCameraByParentId,
|
||||
getStreamByChannelCode,
|
||||
getCameraAllLabel,
|
||||
selectByChannelCode,
|
||||
} from '@/api/videoSurveillance'
|
||||
import { getCameraByCondition } from '@/api/file'
|
||||
import {
|
||||
|
@ -691,8 +765,10 @@
|
|||
], //显示所有按钮,
|
||||
})
|
||||
const videoList = ref([])
|
||||
let visible = ref(false)
|
||||
let batchVisible = ref(false)
|
||||
let visible = ref(false) // 视频预览
|
||||
let picVisible = ref(false) // 图片预览
|
||||
let batchVisible = ref(false) // 视频批量预览
|
||||
let batchPicVisible = ref(false) // 图片批量预览
|
||||
const jcssType = ref(router.currentRoute.value.query.type)
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
|
@ -884,6 +960,7 @@
|
|||
tabList.value[0].content.push('无人机')
|
||||
tabList.value[0].content.push('单兵设备')
|
||||
}
|
||||
// 打开视频预览
|
||||
const openVideo = (id) => {
|
||||
console.log('打开视频', id)
|
||||
const param = {
|
||||
|
@ -895,6 +972,22 @@
|
|||
options.src = res.data.data
|
||||
})
|
||||
}
|
||||
// 打开图片预览
|
||||
const openPicture = (id) => {
|
||||
console.log('打开图片', id)
|
||||
const param = {
|
||||
channelCode: id,
|
||||
}
|
||||
selectByChannelCode(param).then((res) => {
|
||||
console.log(res)
|
||||
if (res.data.data && res.data.data[0].picUrl) {
|
||||
options.src = res.data.data[0].picUrl
|
||||
picVisible.value = true
|
||||
} else {
|
||||
message.warning('该点位暂无预览图片!')
|
||||
}
|
||||
})
|
||||
}
|
||||
// const dataTypeList = () => {
|
||||
// if (tabList.value[0].content.indexOf('视频资源') != -1) {
|
||||
// tabList.value[1].content = ['123344', '213124']
|
||||
|
@ -1429,6 +1522,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
// 打开视频批量预览
|
||||
const batchPreview = async function (page) {
|
||||
if (page.layerX) {
|
||||
page = 1
|
||||
|
@ -1486,6 +1580,39 @@
|
|||
message.error('请选择需要预览的数据')
|
||||
}
|
||||
}
|
||||
// 打开图片批量预览
|
||||
const batchPicturePreview = async function (page) {
|
||||
if (page.layerX) {
|
||||
page = 1
|
||||
}
|
||||
if (selectedList.value.length > 0) {
|
||||
videoTotal.value = selectedList.value.length
|
||||
const arr = JSON.parse(JSON.stringify(selectedList.value))
|
||||
let start = (page - 1) * 4
|
||||
let list = []
|
||||
list = arr.splice(start, 4)
|
||||
const length = list.length
|
||||
videoList.value = []
|
||||
for (let index = 0; index < length; index++) {
|
||||
const param = {
|
||||
channelCode: list[index].channelId,
|
||||
}
|
||||
let ob = {
|
||||
options: {
|
||||
src: '', //图片源
|
||||
},
|
||||
}
|
||||
selectByChannelCode(param).then((res) => {
|
||||
ob.options.src = (res.data.data && res.data.data[0].picUrl) || ''
|
||||
videoList.value.push(ob)
|
||||
})
|
||||
}
|
||||
console.log('验证数据的准确性', videoList)
|
||||
batchPicVisible.value = true
|
||||
} else {
|
||||
message.error('请选择需要预览的数据')
|
||||
}
|
||||
}
|
||||
// 清空
|
||||
const nullClick = () => {
|
||||
clickList.value[1].content = []
|
||||
|
@ -2068,8 +2195,8 @@
|
|||
grid-template-columns: 50% 50%;
|
||||
grid-template-rows: 50% 50%;
|
||||
justify-content: center;
|
||||
// grid-row-gap: 14px;
|
||||
grid-column-gap: 20px;
|
||||
grid-row-gap: 10px;
|
||||
grid-column-gap: 10px;
|
||||
}
|
||||
.ant-pagination-item-link {
|
||||
background-color: #5580f7;
|
||||
|
|
|
@ -5,51 +5,89 @@
|
|||
<div class="top">
|
||||
<div class="top-title">
|
||||
全部:
|
||||
<div v-for="(item, index) in titleName" :key="index" class="tabAll" @click="changeCards(index)"
|
||||
:class="{ sel: index == number }">
|
||||
<span>{{ item.name }}</span>
|
||||
<div
|
||||
v-for="(item, index) in titleName"
|
||||
:key="index"
|
||||
class="tabAll"
|
||||
@click="changeCards(index)"
|
||||
:class="{ sel: index == number }"
|
||||
>
|
||||
<span>
|
||||
{{ item.name === '赋能场景' ? '典型赋能场景' : '打包模式' }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resultListSearchInput-father">
|
||||
<div class="resultListSearchInput-father" v-if="number === 0">
|
||||
<div class="resultListSearchInput-son">
|
||||
模糊搜索
|
||||
<a-input-search v-model:value="searchValue" placeholder="请输入关键词" enter-button="搜索" size="large"
|
||||
@search="getAppResources" @change="onSearch" class="resultListSearchInput" />
|
||||
<a-input-search
|
||||
v-model:value="searchValue"
|
||||
placeholder="请输入关键词"
|
||||
enter-button="搜索"
|
||||
size="large"
|
||||
@search="getAppResources"
|
||||
@change="onSearch"
|
||||
class="resultListSearchInput"
|
||||
/>
|
||||
<button class="button-reset" @click="chongzhi()">重置</button>
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-loading="loadingData">
|
||||
<searchResultList v-show="resourceList.data && resourceList.data.length > 0" :key="listKey2"
|
||||
:resourceList="resourceList" :resourceTotal="resourceTotal"
|
||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'" />
|
||||
<searchResultList
|
||||
v-if="number === 0"
|
||||
v-show="resourceList.data && resourceList.data.length > 0"
|
||||
:key="listKey2"
|
||||
:resourceList="resourceList"
|
||||
:resourceTotal="resourceTotal"
|
||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
||||
/>
|
||||
<CanAssignCase
|
||||
v-else
|
||||
v-show="resourceList.data && resourceList.data.length > 0"
|
||||
:key="listKey2"
|
||||
:resourceList="resourceList"
|
||||
:resourceTotal="resourceTotal"
|
||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
||||
/>
|
||||
<div class="pagination">
|
||||
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage"
|
||||
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper
|
||||
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange"
|
||||
@showSizeChange="onShowSizeChange" />
|
||||
<a-pagination
|
||||
v-if="resourceList.data && resourceList.data.length > 0"
|
||||
v-model:current="currentPage"
|
||||
v-model:pageSize="currentPageSize"
|
||||
show-size-changer
|
||||
show-less-items
|
||||
show-quick-jumper
|
||||
:total="resourceTotal"
|
||||
:page-size-options="pageSizeOptions"
|
||||
@change="pageChange"
|
||||
@showSizeChange="onShowSizeChange"
|
||||
/>
|
||||
</div>
|
||||
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem">
|
||||
<div
|
||||
v-if="resourceList.data && resourceList.data.length <= 0"
|
||||
style="margin-top: 2rem"
|
||||
>
|
||||
<a-empty />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<home-footer></home-footer>
|
||||
</template>
|
||||
<script>
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { defineComponent, reactive, ref, toRefs, onMounted, watch } from 'vue'
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { defineComponent, reactive, ref, toRefs, onMounted, watch } from 'vue'
|
||||
|
||||
import { getIntegrationServicesList } from '@/api/home.js'
|
||||
import { useRouter } from 'vue-router'
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import searchResultList from '@/views/home/components/searchResultList.vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { getIntegrationServicesList } from '@/api/home.js'
|
||||
import { useRouter } from 'vue-router'
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import searchResultList from '@/views/home/components/searchResultList.vue'
|
||||
import CanAssignCase from '@/views/home/components/CanAssignCase.vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
|
||||
export default defineComponent({
|
||||
export default defineComponent({
|
||||
setup() {
|
||||
// 分页
|
||||
const loading = ref(true)
|
||||
|
@ -126,8 +164,8 @@ export default defineComponent({
|
|||
|
||||
// 获取融合服务列表
|
||||
const getIntegrationList = () => {
|
||||
loadingData.value = true;
|
||||
console.log('获取融合服务列表------------>');
|
||||
loadingData.value = true
|
||||
console.log('获取融合服务列表------------>')
|
||||
let postData = {
|
||||
limit: currentPageSize.value,
|
||||
page: currentPage.value,
|
||||
|
@ -138,17 +176,18 @@ export default defineComponent({
|
|||
}
|
||||
getIntegrationServicesList(postData).then(
|
||||
(res) => {
|
||||
loadingData.value = false;
|
||||
loadingData.value = false
|
||||
if (res.data.code !== 0) {
|
||||
return message.error(res.data.msg)
|
||||
}
|
||||
console.log('res.data------------>', res.data);
|
||||
console.log('res.data------------>', res.data)
|
||||
|
||||
resourceList.data = res.data.data.list || []
|
||||
resourceTotal.value = res.data.data.total || 0
|
||||
listKey2.value++
|
||||
},
|
||||
(err) => {
|
||||
loadingData.value = false;
|
||||
loadingData.value = false
|
||||
message.error(err)
|
||||
}
|
||||
)
|
||||
|
@ -192,7 +231,7 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
onMounted(() => {
|
||||
console.log('222----onMounted-------->', 222);
|
||||
console.log('222----onMounted-------->', 222)
|
||||
listKey2.value++
|
||||
getAppResources()
|
||||
})
|
||||
|
@ -235,6 +274,7 @@ export default defineComponent({
|
|||
HomeHeader,
|
||||
HomeFooter,
|
||||
searchResultList,
|
||||
CanAssignCase,
|
||||
},
|
||||
beforeUnmount() {
|
||||
mybus.off('paramsGetResources')
|
||||
|
@ -242,10 +282,10 @@ export default defineComponent({
|
|||
mybus.off('refresh')
|
||||
mybus.off('changePage')
|
||||
},
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.resultListSearchInput-father {
|
||||
.resultListSearchInput-father {
|
||||
background: #f3f5f9;
|
||||
padding: 0.2rem;
|
||||
|
||||
|
@ -262,9 +302,9 @@ export default defineComponent({
|
|||
margin-top: 0.2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.resultListSearchInput {
|
||||
.resultListSearchInput {
|
||||
margin-left: 0.1rem;
|
||||
|
||||
:deep(.ant-input) {
|
||||
|
@ -289,9 +329,9 @@ export default defineComponent({
|
|||
:deep(.ant-input-group-addon) {
|
||||
left: 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.button-reset {
|
||||
.button-reset {
|
||||
border: 0;
|
||||
outline: none;
|
||||
width: 0.8rem;
|
||||
|
@ -304,9 +344,9 @@ export default defineComponent({
|
|||
line-height: 0.34rem;
|
||||
margin-left: 2.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.details-pageconetent {
|
||||
.details-pageconetent {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
@ -365,13 +405,13 @@ export default defineComponent({
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-card-grid) {
|
||||
:deep(.ant-card-grid) {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 1;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -25,17 +25,26 @@
|
|||
</div>
|
||||
|
||||
<!-- 场景痛点 -->
|
||||
<div
|
||||
id="integration-pain-point"
|
||||
class="pain-point scrollBox"
|
||||
>
|
||||
<div id="integration-pain-point" class="pain-point scrollBox">
|
||||
<div class="title-1">
|
||||
<DetalsTitle title="场景痛点" type="PAIN POINT"></DetalsTitle>
|
||||
</div>
|
||||
<div class="flex-row-center">
|
||||
<div class="bg"></div>
|
||||
<div class="content">
|
||||
<div class="content-item" v-for="(item, i) in painPoint" :key="i">{{i+1}}.{{item.description}}</div>
|
||||
<div class="bg cjtd"><a-image :preview="false" :src="bgImg" /></div>
|
||||
|
||||
<div class="content" style="margin-left: 0.5rem">
|
||||
<div
|
||||
class="content-item"
|
||||
v-for="(item, i) in painPoint"
|
||||
:key="i"
|
||||
style="
|
||||
margin-bottom: 0.2rem;
|
||||
font-size: 0.18rem;
|
||||
line-height: 0.3rem;
|
||||
"
|
||||
>
|
||||
{{ i + 1 + '、' + item.description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -44,70 +53,95 @@
|
|||
<div
|
||||
id="integration-solution"
|
||||
class="solution scrollBox"
|
||||
style="background: #eee"
|
||||
>
|
||||
<div class="title-1">
|
||||
<DetalsTitle title="解决方案" type="SOLUTION"></DetalsTitle>
|
||||
</div>
|
||||
<div class="flex-row-center">
|
||||
<div class="content">
|
||||
<div class="content-item" v-for="(item, i) in solution" :key="i">{{i+1}}.{{item.description}}</div>
|
||||
<div class="content" style="background: #fff; margin-top: 0.2rem">
|
||||
<div
|
||||
class="content-item"
|
||||
v-for="(item, i) in solution"
|
||||
:key="i"
|
||||
style="
|
||||
margin-bottom: 0.2rem;
|
||||
font-size: 0.18rem;
|
||||
line-height: 0.3rem;
|
||||
"
|
||||
>
|
||||
{{ i + 1 + '、' + item.description }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 使用能力 -->
|
||||
<div
|
||||
id="integration-ability"
|
||||
class="ability scrollBox"
|
||||
>
|
||||
<div id="integration-ability" class="ability scrollBox">
|
||||
<div class="title-1">
|
||||
<DetalsTitle title="使用能力" type="ABILITY"></DetalsTitle>
|
||||
</div>
|
||||
<div class="flex-row-center combine-content" v-for="(item, i) in combineList" :key="i">
|
||||
<div class="title"></div>
|
||||
<div
|
||||
class="flex-row-center combine-content"
|
||||
v-for="(item, i) in combineList"
|
||||
:key="i"
|
||||
style="display: block"
|
||||
>
|
||||
<div
|
||||
class="top"
|
||||
style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem"
|
||||
>
|
||||
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
|
||||
</div>
|
||||
<div class="bottom" style="display: flex; align-items: flex-start">
|
||||
<div class="title" :class="'title' + i"></div>
|
||||
<div>
|
||||
<el-table
|
||||
class="table"
|
||||
:data="item.list"
|
||||
stripe
|
||||
:header-cell-style="{'text-align': 'center'}">
|
||||
:header-cell-style="{ 'text-align': 'center' }"
|
||||
>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="数据"
|
||||
align="center"
|
||||
width="200"
|
||||
show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
show-overflow-tooltip="true"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="dept"
|
||||
label="能力来源"
|
||||
align="center"
|
||||
width="300"
|
||||
show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
show-overflow-tooltip="true"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="platform"
|
||||
label="申请平台"
|
||||
align="center"
|
||||
width="100"
|
||||
show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
show-overflow-tooltip="true"
|
||||
></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 构建步骤 -->
|
||||
<div
|
||||
id="integration-step"
|
||||
class="step scrollBox"
|
||||
>
|
||||
<div id="integration-step" class="step scrollBox" style="background: #eee">
|
||||
<div class="title-1">
|
||||
<DetalsTitle title="构建步骤" type="STEP"></DetalsTitle>
|
||||
</div>
|
||||
<div class="flex-row-center step-content">
|
||||
<el-steps direction="vertical" :space="150" :active="step.length">
|
||||
<el-step v-for="(item, i) in step" :key="i" :title="item.question" :description="item.answer"></el-step>
|
||||
<el-step
|
||||
v-for="(item, i) in step"
|
||||
:key="i"
|
||||
:title="item.question"
|
||||
:description="item.answer"
|
||||
></el-step>
|
||||
</el-steps>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -116,7 +150,7 @@
|
|||
</template>
|
||||
|
||||
<script setup>
|
||||
import ApplicationTopDetails from '@/views/detailsAll/components/Application/ApplicationTopDetails.vue'
|
||||
import ApplicationTopDetails from './components/ApplicationTopDetails.vue'
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
||||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
|
@ -131,7 +165,8 @@
|
|||
const domArr = ref([])
|
||||
const painPoint = ref([])
|
||||
const solution = ref([])
|
||||
const step=ref([])
|
||||
const step = ref([])
|
||||
const bgImg = ref('')
|
||||
const id = router.currentRoute.value.query.id
|
||||
document.documentElement.style.transition = 'all 0.3s ease'
|
||||
document.documentElement.scrollTop = 0
|
||||
|
@ -248,32 +283,75 @@
|
|||
attrType: '常见问题',
|
||||
attrValue: questionValue.attrValue || '[]',
|
||||
}
|
||||
painPoint.value = JSON.parse(fuseAttrList.find((v) => v.attrType === '场景痛点').attrValue) || []
|
||||
solution.value = JSON.parse(fuseAttrList.find((v) => v.attrType === '解决方案').attrValue) || []
|
||||
step.value = JSON.parse(fuseAttrList.find((v) => v.attrType === '使用步骤').attrValue) || []
|
||||
painPoint.value =
|
||||
JSON.parse(
|
||||
fuseAttrList.find((v) => v.attrType === '场景痛点').attrValue
|
||||
) || []
|
||||
solution.value =
|
||||
JSON.parse(
|
||||
fuseAttrList.find((v) => v.attrType === '解决方案').attrValue
|
||||
) || []
|
||||
step.value =
|
||||
JSON.parse(
|
||||
fuseAttrList.find((v) => v.attrType === '使用步骤').attrValue
|
||||
) || []
|
||||
bgImg.value =
|
||||
fuseAttrList.find((v) => v.attrType === '服务图片').attrValue || ''
|
||||
let areaObj = {
|
||||
attrType: '应用领域',
|
||||
attrValue: fuseAttrList.find((v) => v.attrType === '应用领域').attrValue,
|
||||
attrValue: '',
|
||||
}
|
||||
combineList.value.forEach((item) => {
|
||||
let arr = []
|
||||
let resource=fuseResourceList.filter((v)=>v.resource && v.type == item.title)
|
||||
if(resource.length>0){
|
||||
if(item.title==='基础设施'){
|
||||
arr=resource.map(res=>({
|
||||
id: res.resource.idtCameraChannel, name: res.resource.channelName, dept: res.resource.nodeName, platform: 'UCS'
|
||||
let resource = fuseResourceList.filter(
|
||||
(v) => v.resource && v.type == item.title
|
||||
)
|
||||
if (resource.length > 0) {
|
||||
if (item.title === '基础设施') {
|
||||
arr = resource.map((res) => ({
|
||||
id: res.resource.idtCameraChannel,
|
||||
name: res.resource.channelName,
|
||||
dept: res.resource.nodeName,
|
||||
platform: 'UCS',
|
||||
}))
|
||||
}else if(item.title==='组件服务'){
|
||||
arr=resource.map(res=>({
|
||||
id: res.resource.id, name: res.resource.name, dept: res.resource.deptName, platform: 'UCS'
|
||||
} else if (item.title === '组件服务') {
|
||||
arr = resource.map((res) => ({
|
||||
id: res.resource.id,
|
||||
name: res.resource.name,
|
||||
dept: res.resource.deptName,
|
||||
platform: 'UCS',
|
||||
}))
|
||||
}else if(item.title==='数据资源'){
|
||||
arr=resource.map(res=>({
|
||||
id: res.resource.zycode, name: res.resource.zyname, dept: res.resource.TGBM, platform: '共享交换平台'
|
||||
} else if (item.title === '数据资源') {
|
||||
arr = resource.map((res) => ({
|
||||
id: res.resource.zycode,
|
||||
name: res.resource.zyname,
|
||||
dept: res.resource.TGBM,
|
||||
platform: '共享交换平台',
|
||||
}))
|
||||
}
|
||||
}
|
||||
if (item.title === '数据资源') {
|
||||
item.list.push({
|
||||
id: '数据资源1',
|
||||
name: '城管案件数据',
|
||||
dept: '市城管局',
|
||||
platform: '政务信息共享交换网',
|
||||
})
|
||||
item.list.push({
|
||||
id: '数据资源2',
|
||||
name: '手机信令数据',
|
||||
dept: '运营商(移动)',
|
||||
platform: '政务信息共享交换网',
|
||||
})
|
||||
item.list.push({
|
||||
id: '数据资源3',
|
||||
name: '标准地址数据',
|
||||
dept: '市自规局',
|
||||
platform: '政务信息共享交换网',
|
||||
})
|
||||
} else {
|
||||
item.list = arr
|
||||
}
|
||||
})
|
||||
detailInfoObj.value.infoList = []
|
||||
detailInfoObj.value.infoList.push(questionObj)
|
||||
|
@ -463,14 +541,20 @@
|
|||
.bg {
|
||||
height: 3rem;
|
||||
width: 3rem;
|
||||
background: url('~@/assets/home/rhfw_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
// background: url('~@/assets/home/rhfw_square.png') no-repeat;
|
||||
// background-size: 100%;
|
||||
margin-top: 0.3rem;
|
||||
}
|
||||
.cjtd {
|
||||
width: 5.75rem;
|
||||
height: 3.4rem;
|
||||
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.content {
|
||||
overflow: auto;
|
||||
height: 3rem;
|
||||
width: 6rem;
|
||||
width: 7rem;
|
||||
margin-top: 0.3rem;
|
||||
.content-item {
|
||||
font-size: 16px;
|
||||
|
@ -483,7 +567,7 @@
|
|||
padding: 0.8rem 0;
|
||||
background: rgb(247, 248, 250);
|
||||
.content {
|
||||
width: 9rem;
|
||||
width: 11rem;
|
||||
.content-item {
|
||||
font-size: 16px;
|
||||
margin: 0.3rem;
|
||||
|
@ -495,9 +579,16 @@
|
|||
padding: 0.8rem 0;
|
||||
background: rgb(247, 248, 250);
|
||||
.step-content {
|
||||
margin-top: 0.3rem;
|
||||
margin: 0.3rem 4.5rem;
|
||||
padding: 0.3rem;
|
||||
background: #fff;
|
||||
:deep(.el-step__description.is-finish) {
|
||||
color: #333;
|
||||
line-height: 0.24rem;
|
||||
margin-top: 0.05rem;
|
||||
}
|
||||
/deep/ .el-step__title {
|
||||
font-size: 16px;
|
||||
font-size: 18px;
|
||||
}
|
||||
/deep/ .el-step__description {
|
||||
font-size: 14px;
|
||||
|
@ -516,6 +607,9 @@
|
|||
.combine-content {
|
||||
margin-top: 0.3rem;
|
||||
align-items: flex-start;
|
||||
border-bottom: 1px solid #ccc;
|
||||
margin: 0.2rem 4rem 0;
|
||||
padding: 0.2rem 0;
|
||||
.title {
|
||||
height: 3rem;
|
||||
width: 3rem;
|
||||
|
@ -523,12 +617,29 @@
|
|||
background: url('~@/assets/home/rhfw_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.title0 {
|
||||
width: 5.6rem;
|
||||
height: 3.45rem;
|
||||
background: url('~@/assets/home/fn/jcss.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.title1 {
|
||||
width: 5.6rem;
|
||||
height: 3.45rem;
|
||||
background: url('~@/assets/home/fn/zjfw.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.title2 {
|
||||
width: 5.6rem;
|
||||
height: 3.45rem;
|
||||
background: url('~@/assets/home/fn/sjzy.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 16px
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.name-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
|
Loading…
Reference in New Issue