Merge branch 'hi-ucs-pre' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-pre

This commit is contained in:
guoyue 2022-11-02 15:58:35 +08:00
commit a6a7d467e6
19 changed files with 971 additions and 690 deletions

View File

@ -2,382 +2,403 @@ import Cookies from 'js-cookie'
import qs from 'qs'
import { deepClone } from '@/utils/form-generator/index'
export default {
data () {
/* eslint-disable */
return {
// 设置属性
mixinViewModuleOptions: {
createdIsNeed: true, // 此页面是否在创建时,调用查询数据列表接口?
activatedIsNeed: false, // 此页面是否在激活(进入)时,调用查询数据列表接口?
getDataListURL: '', // 数据列表接口API地址
getDataListIsPage: false, // 数据列表接口,是否需要分页?
deleteURL: '', // 删除接口API地址
deleteIsBatch: false, // 删除接口,是否需要批量?
deleteIsBatchKey: 'id', // 删除接口批量状态下由那个key进行标记操作比如piduid...
exportURL: '', // 导出接口API地址
requestCallback: null // 获取列表以后执行的回调
},
flag: false,
time: null,
// 默认属性
dataForm: {
}, // 查询条件
dataList: [
{
infoList: []
data() {
/* eslint-disable */
return {
// 设置属性
mixinViewModuleOptions: {
createdIsNeed: true, // 此页面是否在创建时,调用查询数据列表接口?
activatedIsNeed: false, // 此页面是否在激活(进入)时,调用查询数据列表接口?
getDataListURL: '', // 数据列表接口API地址
getDataListIsPage: false, // 数据列表接口,是否需要分页?
deleteURL: '', // 删除接口API地址
deleteIsBatch: false, // 删除接口,是否需要批量?
deleteIsBatchKey: 'id', // 删除接口批量状态下由那个key进行标记操作比如piduid...
exportURL: '', // 导出接口API地址
requestCallback: null // 获取列表以后执行的回调
},
flag: false,
time: null,
// 默认属性
dataForm: {}, // 查询条件
dataList: [{
infoList: []
}], // 数据列表
order: '', // 排序ascdesc
orderField: '', // 排序,字段
page: 1, // 当前页码
limit: 10, // 每页数
total: 0, // 总条数
dataListLoading: false, // 数据列表loading状态
dataListSelections: [], // 数据列表,多选项
addOrUpdateVisible: false // 新增更新弹窗visible状态
}
], // 数据列表
order: '', // 排序ascdesc
orderField: '', // 排序,字段
page: 1, // 当前页码
limit: 10, // 每页数
total: 0, // 总条数
dataListLoading: false, // 数据列表loading状态
dataListSelections: [], // 数据列表,多选项
addOrUpdateVisible: false // 新增更新弹窗visible状态
}
/* eslint-enable */
},
created () {
if (this.mixinViewModuleOptions.createdIsNeed) {
this.query()
}
},
activated () {
if (this.mixinViewModuleOptions.activatedIsNeed) {
this.query()
}
},
methods: {
// 获取数据列表
query () {
this.dataListLoading = true
this.$http.get(
this.mixinViewModuleOptions.getDataListURL + '?' + qs.stringify({
// order: this.order,
// orderField: this.orderField,
// type: '组件服务',
name: '',
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null,
...this.dataForm
})
/* eslint-enable */
},
created() {
if (this.mixinViewModuleOptions.createdIsNeed) {
this.query()
}
},
activated() {
if (this.mixinViewModuleOptions.activatedIsNeed) {
this.query()
}
},
methods: {
// 获取数据列表
query() {
this.dataListLoading = true
this.$http.get(
this.mixinViewModuleOptions.getDataListURL + '?' + qs.stringify({
// order: this.order,
// orderField: this.orderField,
// type: '组件服务',
name: '',
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null,
...this.dataForm
})
).then(({ data: res }) => {
if (res.code !== 0) {
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data
this.dataList.map((item, index) => {
if (this.dataList[index].type != null) {
switch (item.type) {
case 1: this.dataList[index].type = '省'; break
case 2: this.dataList[index].type = '市'; break
case 3: this.dataList[index].type = '区'; break
case 4: this.dataList[index].type = '企业'; break
).then(({ data: res }) => {
if (res.code !== 0) {
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data
this.dataList.map((item, index) => {
if (this.dataList[index].type != null) {
switch (item.type) {
case 1:
this.dataList[index].type = '省';
break
case 2:
this.dataList[index].type = '市';
break
case 3:
this.dataList[index].type = '区';
break
case 4:
this.dataList[index].type = '企业';
break
}
}
if (item.children != null) {
item.children.map((item2, index2) => {
switch (item2.type) {
case 1:
this.dataList[index].children[index2].type = '省';
break
case 2:
this.dataList[index].children[index2].type = '市';
break
case 3:
this.dataList[index].children[index2].type = '区';
break
case 4:
this.dataList[index].children[index2].type = '企业';
break
}
})
}
})
// 我的代办特殊处理
if (this.mixinViewModuleOptions.getDataListURL === '/act/task/myToDoTaskPage') {
this.$http.get('/sys/user/info').then(userRes => {
console.log('当前用户信息===========>', userRes.data.data.id)
const userId = userRes.data.data.id
this.dataList = this.dataList.filter(item => {
// userId creator
console.log(item.params.creator)
if (!(item.params.creator === userId) && !(item.params.userId === userId)) {
return item
}
})
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
})
} else {
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
}
console.log('数据列表', this.dataList, this.mixinViewModuleOptions.getDataListURL)
if (this.dataList[0].type === '组件服务') {
this.dataList.map(val => {
val.infoList2 = val.infoList.filter(item => item.attrType === '应用领域' || item.attrType === '组件类型')
})
} else if (this.dataList[0].type === '应用资源') {
this.dataList.map(val => {
val.infoList2 = val.infoList.filter(item => item.attrType === '应用领域')
})
} else if (this.dataList[0].type === '应用系统') {
this.dataList.forEach((item) => {
item.belongProject = "城市信息模型";
item.belongSystem = "信息模型技术平台";
});
this.dataList.map(val => {
val.infoList2 = val.infoList.filter(item => item.attrType === '应用领域')
})
}
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data)
}
this.dataListLoading = false
}).catch(() => {
this.dataListLoading = false
})
},
// 多选
dataListSelectionChangeHandle(val) {
this.dataListSelections = val
},
// 排序
dataListSortChangeHandle(data) {
if (!data.order || !data.prop) {
this.order = ''
this.orderField = ''
return false
}
}
if (item.children != null) {
item.children.map((item2, index2) => {
switch (item2.type) {
case 1: this.dataList[index].children[index2].type = '省'; break
case 2: this.dataList[index].children[index2].type = '市'; break
case 3: this.dataList[index].children[index2].type = '区'; break
case 4: this.dataList[index].children[index2].type = '企业'; break
}
this.order = data.order.replace(/ending$/, '')
this.orderField = data.prop.replace(/([A-Z])/g, '_$1').toLowerCase()
this.query()
},
// 分页, 每页条数
pageSizeChangeHandle(val) {
this.page = 1
this.limit = val
this.query()
},
// 分页, 当前页
pageCurrentChangeHandle(val) {
this.page = val
this.query()
},
getDataList: function() {
this.page = 1
this.query()
},
// 新增
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.init()
})
}
})
// 我的代办特殊处理
if (this.mixinViewModuleOptions.getDataListURL === '/act/task/myToDoTaskPage') {
this.$http.get('/sys/user/info').then(userRes => {
console.log('当前用户信息===========>', userRes.data.data.id)
const userId = userRes.data.data.id
this.dataList = this.dataList.filter(item => {
// userId creator
console.log(item.params.creator)
if (!(item.params.creator === userId) && !(item.params.userId === userId)) {
return item
}
})
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
})
} else {
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
}
console.log('数据列表', this.dataList, this.mixinViewModuleOptions.getDataListURL)
if (this.dataList[0].type === '组件服务') {
this.dataList.map(val => {
val.infoList2 = val.infoList.filter(item => item.attrType === '应用领域' || item.attrType === '组件类型')
})
} else if (this.dataList[0].type === '应用资源') {
this.dataList.map(val => {
val.infoList2 = val.infoList.filter(item => item.attrType === '应用领域')
})
}
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data)
}
this.dataListLoading = false
}).catch(() => {
this.dataListLoading = false
})
},
// 多选
dataListSelectionChangeHandle (val) {
this.dataListSelections = val
},
// 排序
dataListSortChangeHandle (data) {
if (!data.order || !data.prop) {
this.order = ''
this.orderField = ''
return false
}
this.order = data.order.replace(/ending$/, '')
this.orderField = data.prop.replace(/([A-Z])/g, '_$1').toLowerCase()
this.query()
},
// 分页, 每页条数
pageSizeChangeHandle (val) {
this.page = 1
this.limit = val
this.query()
},
// 分页, 当前页
pageCurrentChangeHandle (val) {
this.page = val
this.query()
},
getDataList: function () {
this.page = 1
this.query()
},
// 新增
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.init()
})
},
},
// 组件服务新增
addOrUpdateHandleAI (id) {
// const infoList = []
let showList = []
this.$http.get('category/getCategoryTree').then(({ data: res }) => {
showList = res.data.filter(item => item.name === '组件服务')[0].children
showList.forEach((item, index) => {
if (item.children && item.children.length > 0) {
item.children.forEach((item2) => {
const options = []
if (item2.isLinkToDic == 'true') {
this.$http.get('/sys/dict/data/page?page=1&limit=99&dictTypeId=' + item2.linkValue).then(({ data: res }) => {
res.data.list.forEach((val) => {
options.push(val.dictLabel)
})
item2.options = options
}).catch(() => { })
}
item2.note1 = ''
// if (item.name !== '必填信息' && item.name !== '服务接口信息') {
// infoList.push({
// attrType: item2.name,
// attrValue: '',
// delFlag: 0,
// options: options
// })
// }
})
}
})
console.log(res, showList)
this.flag = true
}).catch(() => { })
// 组件服务新增
addOrUpdateHandleAI(id) {
// const infoList = []
let showList = []
this.$http.get('category/getCategoryTree').then(({ data: res }) => {
showList = res.data.filter(item => item.name === '组件服务')[0].children
showList.forEach((item, index) => {
if (item.children && item.children.length > 0) {
item.children.forEach((item2) => {
const options = []
if (item2.isLinkToDic == 'true') {
this.$http.get('/sys/dict/data/page?page=1&limit=99&dictTypeId=' + item2.linkValue).then(({ data: res }) => {
res.data.list.forEach((val) => {
options.push(val.dictLabel)
})
item2.options = options
}).catch(() => {})
}
item2.note1 = ''
// if (item.name !== '必填信息' && item.name !== '服务接口信息') {
// infoList.push({
// attrType: item2.name,
// attrValue: '',
// delFlag: 0,
// options: options
// })
// }
})
}
})
console.log(res, showList)
this.flag = true
}).catch(() => {})
// 定时器
this.time = setInterval(() => {
console.log('定时器')
if (this.flag) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.init()
// this.$refs.addOrUpdate.dataForm.infoList = infoList
this.$refs.addOrUpdate.dataForm.showList = showList
this.$refs.addOrUpdate.dataForm.showListAll = showList
this.$refs.addOrUpdate.checkList = []
showList.forEach(val => {
this.$refs.addOrUpdate.checkList.push(val.name)
})
console.log('this.$refs.addOrUpdate.dataForm.showList', this.$refs.addOrUpdate.dataForm.showList)
})
this.flag = false
clearInterval(this.time)
}
}, 100)
},
// 应用资源新增
addOrUpdateHandleServe (id) {
// const infoList = []
let showList = []
this.$http.get('category/getCategoryTree').then(({ data: res }) => {
showList = res.data.filter(item => item.name === '应用资源')[0].children
showList.forEach((item, index) => {
if (item.children && item.children.length > 0) {
item.children.forEach((item2) => {
const options = []
if (item2.isLinkToDic == 'true') {
this.$http.get('/sys/dict/data/page?page=1&limit=99&dictTypeId=' + item2.linkValue).then(({ data: res }) => {
res.data.list.forEach((val) => {
options.push(val.dictLabel)
})
item2.options = options
}).catch(() => { })
}
item2.note1 = ''
// if (item.name !== '必填信息' && item.name !== '服务接口信息') {
// infoList.push({
// attrType: item2.name,
// attrValue: '',
// delFlag: 0,
// options: options
// })
// }
})
}
})
console.log(res, showList)
this.flag = true
}).catch(() => { })
// 定时器
this.time = setInterval(() => {
console.log('定时器')
if (this.flag) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.init()
// this.$refs.addOrUpdate.dataForm.infoList = infoList
this.$refs.addOrUpdate.dataForm.showList = showList
this.$refs.addOrUpdate.dataForm.showListAll = showList
this.$refs.addOrUpdate.checkList = []
showList.forEach(val => {
this.$refs.addOrUpdate.checkList.push(val.name)
})
console.log('this.$refs.addOrUpdate.dataForm.showList', this.$refs.addOrUpdate.dataForm.showList)
})
this.flag = false
clearInterval(this.time)
}
}, 100)
},
// 应用资源新增
addOrUpdateHandleServe(id) {
// const infoList = []
let showList = []
this.$http.get('category/getCategoryTree').then(({ data: res }) => {
showList = res.data.filter(item => item.name === '应用资源')[0].children
showList.forEach((item, index) => {
if (item.children && item.children.length > 0) {
item.children.forEach((item2) => {
const options = []
if (item2.isLinkToDic == 'true') {
this.$http.get('/sys/dict/data/page?page=1&limit=99&dictTypeId=' + item2.linkValue).then(({ data: res }) => {
res.data.list.forEach((val) => {
options.push(val.dictLabel)
})
item2.options = options
}).catch(() => {})
}
item2.note1 = ''
// if (item.name !== '必填信息' && item.name !== '服务接口信息') {
// infoList.push({
// attrType: item2.name,
// attrValue: '',
// delFlag: 0,
// options: options
// })
// }
})
}
})
console.log(res, showList)
this.flag = true
}).catch(() => {})
// 定时器
this.time = setInterval(() => {
console.log('定时器')
if (this.flag) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.init()
// this.$refs.addOrUpdate.dataForm.infoList = infoList
this.$refs.addOrUpdate.dataForm.showList = showList
this.$refs.addOrUpdate.dataForm.showListAll = showList
this.$refs.addOrUpdate.checkList = []
showList.forEach(val => {
this.$refs.addOrUpdate.checkList.push(val.name)
// 定时器
this.time = setInterval(() => {
console.log('定时器')
if (this.flag) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataForm.id = id
this.$refs.addOrUpdate.init()
// this.$refs.addOrUpdate.dataForm.infoList = infoList
this.$refs.addOrUpdate.dataForm.showList = showList
this.$refs.addOrUpdate.dataForm.showListAll = showList
this.$refs.addOrUpdate.checkList = []
showList.forEach(val => {
this.$refs.addOrUpdate.checkList.push(val.name)
})
console.log('this.$refs.addOrUpdate.dataForm.showList', this.$refs.addOrUpdate.dataForm.showList)
})
this.flag = false
clearInterval(this.time)
}
}, 100)
},
// 修改
UpdateHandle(val) {
this.addOrUpdateVisible = true
this.disabled = false
const cloneVal = deepClone(val)
console.log('修改的数据', cloneVal)
cloneVal.infoList.forEach(item => {
delete item.createDate
delete item.creator
delete item.id
delete item.updateDate
delete item.updater
delete item.note1
delete item.note2
delete item.note3
delete item.note4
delete item.note5
})
console.log('this.$refs.addOrUpdate.dataForm.showList', this.$refs.addOrUpdate.dataForm.showList)
})
this.flag = false
clearInterval(this.time)
}
}, 100)
},
// 修改
UpdateHandle (val) {
this.addOrUpdateVisible = true
this.disabled = false
const cloneVal = deepClone(val)
console.log('修改的数据', cloneVal)
cloneVal.infoList.forEach(item => {
delete item.createDate
delete item.creator
delete item.id
delete item.updateDate
delete item.updater
delete item.note1
delete item.note2
delete item.note3
delete item.note4
delete item.note5
})
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = true
this.$refs.addOrUpdate.dataFormUpdate = cloneVal
this.$refs.addOrUpdate.init()
console.log('===========================', this.$refs.addOrUpdate.dataFormUpdate)
})
},
// 关闭当前窗口
closeCurrentTab (data) {
var tabName = this.$store.state.contentTabsActiveName
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
if (this.$store.state.contentTabs.length <= 0) {
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
return false
}
if (tabName === this.$store.state.contentTabsActiveName) {
this.$router.push({ name: this.$store.state.contentTabs[this.$store.state.contentTabs.length - 1].name })
}
},
// 删除
deleteHandle (id) {
if (this.mixinViewModuleOptions.deleteIsBatch && !id && this.dataListSelections.length <= 0) {
return this.$message({
message: this.$t('prompt.deleteBatch'),
type: 'warning',
duration: 500
})
}
this.$confirm(this.$t('prompt.info', { handle: this.$t('delete') }), this.$t('prompt.title'), {
confirmButtonText: this.$t('confirm'),
cancelButtonText: this.$t('cancel'),
type: 'warning'
}).then(() => {
this.$http.delete(
`${this.mixinViewModuleOptions.deleteURL}${this.mixinViewModuleOptions.deleteIsBatch ? '' : '/' + id}`,
this.mixinViewModuleOptions.deleteIsBatch ? {
data: id ? [id] : this.dataListSelections.map(item => item[this.mixinViewModuleOptions.deleteIsBatchKey])
} : {}
).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.query()
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = true
this.$refs.addOrUpdate.dataFormUpdate = cloneVal
this.$refs.addOrUpdate.init()
console.log('===========================', this.$refs.addOrUpdate.dataFormUpdate)
})
},
// 关闭当前窗口
closeCurrentTab(data) {
var tabName = this.$store.state.contentTabsActiveName
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
if (this.$store.state.contentTabs.length <= 0) {
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
return false
}
})
}).catch(() => { })
}).catch(() => { })
},
if (tabName === this.$store.state.contentTabsActiveName) {
this.$router.push({ name: this.$store.state.contentTabs[this.$store.state.contentTabs.length - 1].name })
}
},
// 删除
deleteHandle(id) {
if (this.mixinViewModuleOptions.deleteIsBatch && !id && this.dataListSelections.length <= 0) {
return this.$message({
message: this.$t('prompt.deleteBatch'),
type: 'warning',
duration: 500
})
}
this.$confirm(this.$t('prompt.info', { handle: this.$t('delete') }), this.$t('prompt.title'), {
confirmButtonText: this.$t('confirm'),
cancelButtonText: this.$t('cancel'),
type: 'warning'
}).then(() => {
this.$http.delete(
`${this.mixinViewModuleOptions.deleteURL}${this.mixinViewModuleOptions.deleteIsBatch ? '' : '/' + id}`,
this.mixinViewModuleOptions.deleteIsBatch ? {
data: id ? [id] : this.dataListSelections.map(item => item[this.mixinViewModuleOptions.deleteIsBatchKey])
} : {}
).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.query()
}
})
}).catch(() => {})
}).catch(() => {})
},
deleteHandle2 (id) {
console.log('删除========================》', id, this.dataListSelections)
const ids = []
if (id) {
ids.push(id)
} else {
if (this.dataListSelections.length > 0) {
this.dataListSelections.forEach(item => {
ids.push(item.id)
})
deleteHandle2(id) {
console.log('删除========================》', id, this.dataListSelections)
const ids = []
if (id) {
ids.push(id)
} else {
if (this.dataListSelections.length > 0) {
this.dataListSelections.forEach(item => {
ids.push(item.id)
})
}
}
this.$http.post('/resource/delete', { ids: ids }).then(res => {
console.log('删除成功', res)
this.getDataList()
})
},
// 导出
exportHandle() {
var params = qs.stringify({
token: Cookies.get('ucsToken'),
...this.dataForm
})
window.location.href = `${window.SITE_CONFIG.apiURL}${this.mixinViewModuleOptions.exportURL}?${params}`
}
}
this.$http.post('/resource/delete', { ids: ids }).then(res => {
console.log('删除成功', res)
this.getDataList()
})
},
// 导出
exportHandle () {
var params = qs.stringify({
token: Cookies.get('ucsToken'),
...this.dataForm
})
window.location.href = `${window.SITE_CONFIG.apiURL}${this.mixinViewModuleOptions.exportURL}?${params}`
}
}
}

View File

@ -2,7 +2,7 @@
<div>
<el-dialog
:visible.sync="visible"
title="关联应用"
title="关联标签"
@close="close"
:close-on-click-modal="false"
:close-on-press-escape="false"
@ -13,7 +13,7 @@
v-model="transferValue"
filterable
:filter-method="filterMethod"
filter-placeholder="请输入应用名称"
filter-placeholder="请输入标签名称"
:titles="nameArray"
:props="{
key: 'id',
@ -24,7 +24,7 @@
</div>
<template slot="footer">
<el-button @click="visible = false">{{ $t("cancel") }}</el-button>
<el-button type="primary" @click="confirmSubmitHandle()">{{
<el-button type="primary" @click="visible = false">{{
$t("confirm")
}}</el-button>
</template>
@ -42,6 +42,140 @@ export default {
visible: true,
transferData: [], //穿
transferValue: [], //id
linkedData:[
{
id: "1534805370156834818",
dictTypeId: "1534805229031088130",
name: "视频类",
dictValue: "1",
remark: "",
sort: 0,
createDate: "2022-06-09 15:51:30",
updateDate: "2022-07-01 14:20:04",
status: 1
},
{
id: "1536670196898336769",
dictTypeId: "1534805229031088130",
name: "图片类",
dictValue: "2",
remark: "",
sort: 1,
createDate: "2022-06-14 19:21:40",
updateDate: "2022-07-01 14:20:27",
status: 1
},
{
id: "1534805309289095170",
dictTypeId: "1534805229031088130",
name: "文本类",
dictValue: "3",
remark: "",
sort: 2,
createDate: "2022-06-09 15:51:16",
updateDate: "2022-07-01 14:19:52",
status: 1
},
{
id: "1542753737822306305",
dictTypeId: "1534805229031088130",
name: "语音类",
dictValue: "4",
remark: "",
sort: 3,
createDate: "2022-07-01 14:15:29",
updateDate: "2022-07-01 14:15:29",
status: 1
},
{
id: "1536670305505644545",
dictTypeId: "1534805229031088130",
name: "其他",
dictValue: "5",
remark: "",
sort: 4,
createDate: "2022-06-14 19:22:05",
updateDate: "2022-07-01 14:15:11",
status: 1
}
],//
labelData:[{
id: "1513714443263451137",
dictTypeId: "1513714403530809346",
name: "接口",
dictValue: "1",
remark: "",
sort: 1,
createDate: "2022-04-12 11:03:41",
updateDate: "2022-04-12 11:03:41",
status: 1
},
{
id: "1513714474334855170",
dictTypeId: "1513714403530809346",
name: "SDK",
dictValue: "2",
remark: "",
sort: 2,
createDate: "2022-04-12 11:03:49",
updateDate: "2022-04-12 11:03:49",
status: 1
},
{
id: "1513714504261214210",
dictTypeId: "1513714403530809346",
name: "Web页面",
dictValue: "3",
remark: "",
sort: 3,
createDate: "2022-04-12 11:03:56",
updateDate: "2022-04-12 11:03:56",
status: 1
},
{
id: "1513714541603102722",
dictTypeId: "1513714403530809346",
name: "其他",
dictValue: "99",
remark: "",
sort: 99,
createDate: "2022-04-12 11:04:05",
updateDate: "2022-04-12 11:04:05",
status: 1
}, {
id: "1539453444552638466",
dictTypeId: "1539453183746621441",
name: "视频资源",
dictValue: "1",
remark: "",
sort: 0,
createDate: "2022-06-22 11:41:18",
updateDate: "2022-06-22 11:41:18",
status: 1
},
{
id: "1539453481407987714",
dictTypeId: "1539453183746621441",
name: "感知资源",
dictValue: "2",
remark: "",
sort: 0,
createDate: "2022-06-22 11:41:26",
updateDate: "2022-06-22 11:41:26",
status: 1
},
{
id: "1539453516610781185",
dictTypeId: "1539453183746621441",
name: "云资源",
dictValue: "3",
remark: "",
sort: 0,
createDate: "2022-06-22 11:41:35",
updateDate: "2022-06-22 11:41:35",
status: 1
}
]
};
},
props: {
@ -51,7 +185,7 @@ export default {
},
nameArray: {
type: Array,
default: ["未关联应用名称", "已关联应用名称"],
default: ["未关联标签名称", "已关联标签名称"],
},
},
computed: {},
@ -86,16 +220,15 @@ export default {
},
},
mounted() {
if (this.relateInfo && this.relateInfo.responseData) {
const alreadLinkedArr = this.relateInfo.responseData.alreadLinked || [];
this.transferData = alreadLinkedArr.concat(
this.relateInfo.responseData.notLinked || []
);
alreadLinkedArr.length &&
alreadLinkedArr.forEach((item) => {
this.transferValue.push(item.id);
});
}
if (this.relateInfo) {
const alreadLinkedArr = this.linkedData;
this.transferData = alreadLinkedArr.concat(
this.labelData
);
alreadLinkedArr.length &&
alreadLinkedArr.forEach((item) => {
this.transferValue.push(item.id);
}); }
},
};
</script>

View File

@ -73,14 +73,14 @@
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
prop="deptName"
prop="belongProject"
label="归属项目"
header-align="center"
align="center"
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
prop="deptName"
prop="belongSystem"
label="归属系统"
header-align="center"
align="center"
@ -303,10 +303,16 @@ export default {
orderType: 'DESC',
pageNum: this.currentPage,
pageSize: 10,
type: '组件服务',
type: 'GIS图层',
};
this.$http.post(`/resource/pageWithAttrs`, params).then((res) => {
this.dataList = res.data.data.records;
if(this.dataList.length>0){
this.dataList.forEach((item)=>{
item.belongProject = "城市信息模型";
item.belongSystem = "信息模型技术平台";
});
}
this.total = parseInt(res.data.data.total);
})
},
@ -487,7 +493,7 @@ export default {
this.total = 0
return this.$message.error(res.msg)
}
if (res.data.list.length !== 0) {
if (res.data.list.length >= 0) {
this.dataList = res.data.list
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total

View File

@ -75,14 +75,14 @@
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
prop="deptName"
prop="belongProject"
label="归属项目"
header-align="center"
align="center"
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
prop="deptName"
prop="belongSystem"
label="归属系统"
header-align="center"
align="center"
@ -222,18 +222,18 @@ export default {
creator: '',
selectType: 0,
delFlag: 0,
type: '应用资源'
type: '应用系统'
},
qp: false,
relateApplicationResourceVisible: false,
relationData: {}, // 穿
topNameArray: [], //
radio: '应用资源',
radio: '应用系统',
insertList: [],
putOnTheShelfList: [],
showPutOnTheShelfFlag2: false,
submitFrom: {
type: '应用资源',
type: '应用系统',
deptId: '',
delFlag: 0,
infoList: [
@ -244,7 +244,7 @@ export default {
// }
]
},
typeInput: '应用资源'
typeInput: '应用系统'
}
},
watch: {},
@ -255,7 +255,7 @@ export default {
},
created () {
this.dataForm.name = ''
this.dataForm.type = '应用资源'
this.dataForm.type = '应用系统'
},
mounted () {
// window.addEventListener('resize', this.a)
@ -276,7 +276,7 @@ export default {
limit: 10,
delFlag: 0,
creator: '',
type: '应用资源',
type: '应用系统',
name: ''
})
)
@ -292,7 +292,13 @@ export default {
: res.data
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
: 0
: 0;
if(this.dataList.length>0){
this.dataList.forEach((item)=>{
item.belongProject = "城市信息模型";
item.belongSystem = "信息模型技术平台";
});
}
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data)
}
@ -351,7 +357,7 @@ export default {
// type: '',
pageNum: 1,
pageSize: this.limit,
type: '应用资源',
type: '应用系统',
creator: '',
selectType: 0,
delFlag: 0,
@ -364,7 +370,7 @@ export default {
this.total = 0
return this.$message.error(res.msg)
}
if (res.data.list.length !== 0) {
if (res.data.list.length >= 0) {
this.dataList = res.data.list
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
@ -453,7 +459,7 @@ export default {
linkType: '1',
responseData: res.data
}
this.topNameArray = ['未关联组件名称', '已关联组件名称']
this.topNameArray = ['未关联标签名称', '已关联标签名称']
console.log(' this.relationData', this.relationData)
//
})
@ -526,9 +532,9 @@ export default {
this.showPutOnTheShelfFlag2 = false
this.insertList = []
this.putOnTheShelfList = []
this.radio = '应用资源'
this.radio = '应用系统'
this.submitFrom = {
type: '应用资源',
type: '应用系统',
deptId: '',
delFlag: 0,
infoList: [
@ -719,8 +725,8 @@ export default {
UpdateData (item) {
this.$http.get('/category/getCategoryTree').then(res => {
this.insertList = res.data.data.filter(item => item.name === '应用资源一')[0]
this.radio = '应用资源'
// this.radio = item.infoList.filter(val => val.attrType === '')[0].attrValue
this.radio = '应用系统'
// this.radio = item.infoList.filter(val => val.attrType === '')[0].attrValue
this.putOnTheShelfList = this.insertList.children
// this.putOnTheShelfList = this.insertList.children.filter(item => item.name === this.radio)[0].children
this.putOnTheShelfList.map(parent => {

View File

@ -70,20 +70,6 @@
label="能力描述"
header-align="center"
align="center"
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
prop="deptName"
label="归属项目"
header-align="center"
align="center"
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
prop="deptName"
label="归属系统"
header-align="center"
align="center"
></el-table-column>
<el-table-column
:show-overflow-tooltip="true"
@ -303,7 +289,7 @@ export default {
orderType: 'DESC',
pageNum: this.currentPage,
pageSize: 10,
type: '组件服务',
type: 'GIS图层',
};
this.$http.post(`/resource/pageWithAttrs`, params).then((res) => {
this.dataList = res.data.data.records;

View File

@ -293,7 +293,7 @@ export default {
orderType: 'DESC',
pageNum: this.currentPage,
pageSize: 10,
type: '组件服务',
type: 'GIS图层',
};
this.$http.post(`/resource/pageWithAttrs`, params).then((res) => {
this.dataList = res.data.data.records;

View File

@ -31,7 +31,7 @@
</el-date-picker>
</el-form-item>
<!--审核状态-->
<el-form-item>
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
<span>审核状态</span>
<el-select v-model="examineStatus" placeholder="请选审核状态" clearable>
<el-option label="全部" value="-1"></el-option>
@ -53,7 +53,7 @@
</el-form-item>
<!--类型-->
<el-form-item>
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
<span>类型</span>
<el-select @change="changeIiem" v-if="this.departmentId === 2 || this.departmentId === 4" v-model="abilityType" placeholder="请选择类型" clearable>
<el-option label="全部" value=""></el-option>

View File

@ -249,7 +249,7 @@ export default {
this.total = 0
return this.$message.error(res.msg)
}
if (res.data.list.length !== 0) {
if (res.data.list.length >= 0) {
this.dataList = res.data.list
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total

View File

@ -131,54 +131,54 @@
</template>
<script>
import mixinViewModule from "@/mixins/view-module";
import AddOrUpdate from "./canassigncase-add-or-update";
import dictionaries from "@/utils/dictionaries";
import qs from "qs";
import { type } from "os";
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './canassigncase-add-or-update'
import dictionaries from '@/utils/dictionaries'
import qs from 'qs'
import { type } from 'os'
export default {
mixins: [mixinViewModule],
data() {
data () {
return {
mixinViewModuleOptions: {
getDataListURL: "/resource/page",
getDataListURL: '/resource/page',
getDataListIsPage: true,
exportURL: "/ability/bsabilityai/export",
deleteURL: "/resource/delete",
deleteIsBatch: true,
exportURL: '/ability/bsabilityai/export',
deleteURL: '/resource/delete',
deleteIsBatch: true
},
disabled: false,
sceneArr: dictionaries.sceneArr,
fieldArr: dictionaries.fieldArr,
shareFormArr: dictionaries.shareFormArr,
dataForm: {
name: "",
creator: "",
name: '',
creator: '',
selectType: 0,
delFlag: 0,
type: "赋能案例",
type: '赋能案例'
},
qp: false,
};
qp: false
}
},
watch: {},
components: {
AddOrUpdate,
AddOrUpdate
},
created() {
this.dataForm.name = "";
this.dataForm.type = "赋能案例";
created () {
this.dataForm.name = ''
this.dataForm.type = '赋能案例'
},
mounted() {
window.addEventListener("resize", this.a);
this.fullScreen();
mounted () {
window.addEventListener('resize', this.a)
this.fullScreen()
},
methods: {
reset() {
reset () {
this.$http
.get(
this.mixinViewModuleOptions.getDataListURL +
"?" +
'?' +
qs.stringify({
// order: this.order,
// orderField: this.orderField,
@ -187,138 +187,138 @@ export default {
selectType: 0,
limit: 10,
delFlag: 0,
creator: "",
type: "赋能案例",
name: "",
creator: '',
type: '赋能案例',
name: ''
})
)
.then(({ data: res }) => {
this.dataForm.name = "";
this.dataForm.name = ''
if (res.code !== 0) {
this.dataList = [];
this.total = 0;
return this.$message.error(res.msg);
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
this.dataList = this.mixinViewModuleOptions.getDataListIsPage
? res.data.list
: res.data;
: res.data
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
: 0;
: 0
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data);
this.mixinViewModuleOptions.requestCallback(res.data)
}
this.dataListLoading = false;
this.dataListLoading = false
})
.catch(() => {
this.dataListLoading = false;
});
this.dataListLoading = false
})
},
showDetail(val) {
this.addOrUpdateVisible = true;
this.disabled = false;
showDetail (val) {
this.addOrUpdateVisible = true
this.disabled = false
this.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = false;
this.$refs.addOrUpdate.dataFormShowDetails = val;
this.$refs.addOrUpdate.init();
});
this.disabled = true;
this.$refs.addOrUpdate.UpdateState = false
this.$refs.addOrUpdate.dataFormShowDetails = val
this.$refs.addOrUpdate.init()
})
this.disabled = true
},
showDocument(val) {
console.log(val);
showDocument (val) {
console.log(val)
window.open(
window.SITE_CONFIG.frontUrl + "?id=" + val.id + "&&type=" + val.type,
"_blank"
);
window.SITE_CONFIG.frontUrl + '?id=' + val.id + '&&type=' + val.type,
'_blank'
)
},
findValue(list, type) {
const found = list.find((item) => item.attrType === type);
findValue (list, type) {
const found = list.find((item) => item.attrType === type)
if (found) {
return found.attrValue;
return found.attrValue
} else {
return "暂无数据";
return '暂无数据'
}
},
getDataList2(names) {
getDataList2 (names) {
if (names != null) {
this.$http
.get(
this.mixinViewModuleOptions.getDataListURL +
"?" +
'?' +
qs.stringify({
// order: this.order,
// orderField: this.orderField,
// type: '',
pageNum: 1,
pageSize: this.limit,
type: "赋能案例",
creator: "",
type: '赋能案例',
creator: '',
selectType: 0,
delFlag: 0,
name: names,
name: names
})
)
.then(({ data: res }) => {
if (res.code !== 0) {
this.dataList = [];
this.total = 0;
return this.$message.error(res.msg);
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
if (res.data.list.length !== 0) {
this.dataList = res.data.list;
if (res.data.list.length >= 0) {
this.dataList = res.data.list
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
: 0;
: 0
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data);
this.mixinViewModuleOptions.requestCallback(res.data)
}
this.dataListLoading = false;
this.dataListLoading = false
} else {
this.$message.error("未查询到相关信息");
this.reset();
this.$message.error('未查询到相关信息')
this.reset()
}
})
.catch(() => {
this.dataListLoading = false;
});
this.dataListLoading = false
})
} else {
this.$message.error("查询不能输入为空");
this.$message.error('查询不能输入为空')
}
},
fullScreen() {
fullScreen () {
if (window.outerHeight === screen.availHeight) {
if (window.outerWidth === screen.availWidth) {
console.log(
"全屏1",
'全屏1',
window.outerHeight,
screen.availHeight,
window.outerWidth,
screen.availWidth
);
this.qp = false;
)
this.qp = false
} else {
console.log(
"不是全屏2",
'不是全屏2',
window.outerHeight,
screen.availHeight,
window.outerWidth,
screen.availWidth
);
this.qp = true;
)
this.qp = true
}
} else {
console.log(
"不是全屏3",
'不是全屏3',
window.outerHeight,
screen.availHeight,
window.outerWidth,
screen.availWidth
);
this.qp = true;
)
this.qp = true
}
},
},
};
}
}
}
</script>
<style lang="scss" scoped>
.el-tooltip__popper {

View File

@ -2,13 +2,13 @@
* @Author: Light
* @Date: 2022-10-31 09:24:38
* @LastEditors: Light
* @LastEditTime: 2022-10-31 14:38:17
* @LastEditTime: 2022-11-02 15:12:38
* @Description: 能力溯源分析
-->
<template>
<div class="capabilityTraceability">
<div class="header">
<div class="name">数字资源能力一本账</div>
<div class="name">能力溯源统计分析</div>
<div class="tab">
<div v-for="tab in tabList" :key="tab" :class="selectTab==tab?'select':''" @click="changeTab(tab)">{{tab}}</div>
</div>
@ -16,7 +16,7 @@
<div class="overview">
<div class="top"><i></i>总体情况</div>
<div class="main">
<div class="item" v-for="item in allSituation" :key="item">
<div class="item" v-for="item in allSituation" :key="item" @click="openTab(item)">
<div class="left"></div>
<div class="right">
<div>{{item.name}}</div>
@ -39,7 +39,7 @@
</div>
</div>
<div class="two" style="position: relative;">
<div class="top"><i></i>部门数字资源分布</div>
<div class="top"><i></i>按不同部门维度统计</div>
<div class='all' style="position: absolute;top: 0;right: 55px;font-weight: 600;cursor: pointer;">查看全部</div>
<div class="main">
<el-table
@ -84,7 +84,7 @@
</div>
</div>
<div class="three">
<div class="top"><i></i>部门数字资源应用分布</div>
<div class="top"><i></i>按不同职能维度统计</div>
<div class="main">
<div class="nav">
<div :class="selectDistribution==nav?'select':''" v-for='nav in distributionNav' :key="nav" @click="selectDistribution=nav">{{nav}}</div>
@ -99,7 +99,7 @@
</div>
<div class="second">
<div class="one">
<div class="top"><i></i>部门情况</div>
<div class="top"><i></i>地市情况</div>
<div class="main">
<div class="item" v-for="item in allSituationDept2" :key="item">
<div class="left"></div>
@ -111,7 +111,7 @@
</div>
</div>
<div class="two" style="position: relative;">
<div class="top"><i></i>部门数字资源分布</div>
<div class="top"><i></i>按不同部门维度统计</div>
<div class='all' style="position: absolute;top: 0;right: 55px;font-weight: 600;cursor: pointer;">查看全部</div>
<div class="main">
<el-table
@ -156,7 +156,7 @@
</div>
</div>
<div class="three">
<div class="top"><i></i>部门数字资源分布</div>
<div class="top"><i></i>按不同部门维度统计</div>
<div class="main">
<div class="nav">
<div :class="selectDistribution2==nav?'select':''" v-for='nav in distributionNav2' :key="nav" @click="selectDistribution2=nav">{{nav}}</div>
@ -169,6 +169,66 @@
</div>
</div>
</div>
<!--GIS图层资源-->
<el-dialog title="GIS图层资源" :visible.sync="yunshow" class="status_change">
<div>
<el-table
:data="dataList1"
border
style="width: 100%"
height="500px"
>
<el-table-column
prop="a"
label="能力名称"
header-align="center"
align="center"
></el-table-column>
<el-table-column
min-width="150%"
prop="b"
label="能力描述"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="c"
label="归属系统"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="d"
label="归属项目"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="e"
label="归属部门"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="f"
label="注册者"
header-align="center"
align="center"
></el-table-column>
</el-table>
<el-pagination
:current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="Number(9)"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle"
>
</el-pagination>
</div>
</el-dialog>
</div>
</template>
<script>
@ -223,6 +283,82 @@ export default {
},
data () {
return {
dataList1: [
{
a: '草地GIS服务',
b: '以草地生态系统为研究区域,整合多源信息,为草地生态系统管理提供技术支持',
c: 'CM平台',
d: '城市信息模型CM平台建设项目',
e: '住房与建设保障局',
f: '孙**'
},
{
a: '行政区-街道',
b: '街道行政边界',
c: 'CM平台',
d: '城市信息模型CM平台建设项目',
e: '住房与建设保障局',
f: '孙**'
},
{
a: '单元网格(城管网络)',
b: '城管网络图层',
c: 'CM平台',
d: '城市信息模型CM平台建设项目',
e: '住房与建设保障局',
f: '孙**'
},
{
a: '核心部件图层',
b: '核心部件图层',
c: 'CM平台',
d: '城市信息模型CM平台建设项目',
e: '住房与建设保障局',
f: '孙**'
},
{
a: '商圈及其缓冲区',
b: '商圈及其缓冲区',
c: 'CM平台',
d: '城市信息模型CM平台建设项目',
e: '住房与建设保障局',
f: '孙**'
},
{
a: '商圈数据',
b: '商圈图层数据',
c: 'CM平台',
d: '城市信息模型平台建设项目',
e: '工业和信息化局',
f: '孙**'
},
{
a: '政务版电子地图(蓝黑版球面坐标系)',
b: '政务版电子地图暗黑风格2021年更新CGCS2000球面坐标系',
c: '智慧时空信息云平台',
d: '智慧时空信息云平台建设项目',
e: '自然资源和规划局',
f: '孙**'
},
{
a: '影像地图(平面坐标系)',
b: '影像地图CGCS2000球面坐标系2021年更新',
c: '智慧时空信息云平台',
d: '智慧时空信息云平台建设项目',
e: '自然资源和规划局',
f: '孙**'
},
{
a: '影像地图(球面坐标系)',
b: '影像地图CGCS2000球面坐标系2021年更新',
c: '智慧时空信息云平台',
d: '智慧时空信息云平台建设项目',
e: '自然资源和规划局',
f: '孙**'
}
],
yunshow: false,
tabList: ['总体情况', '部门情况', '地市情况'],
selectTab: '总体情况',
allSituation: [{ name: '注册项目', num: '100个' }, { name: '注册系统', num: '100个' }, { name: '视频资源', num: '100万路' }, { name: 'GIS图层', num: '100项' }, { name: '云网资源', num: '100个' }, { name: '组件资源', num: '100项' }],
@ -541,6 +677,11 @@ export default {
}
},
methods: {
openTab (item) {
if (item.name === 'GIS图层') {
this.yunshow = true
}
},
myEcharts () {
var chartDom1 = document.getElementById('echarts1')
var chartDom2 = document.getElementById('echarts2')
@ -565,6 +706,7 @@ export default {
},
goBack () {
window.scrollTo(0, 0)
this.selectTab = '总体情况'
}
},
mounted () {
@ -573,6 +715,19 @@ export default {
}
</script>
<style lang='scss' scoped>
.status_change {
::v-deep .el-dialog__header{
background-color:#dee1e3;
padding: 10px 10px 10px;
.el-dialog__title,.el-dialog__headerbtn i{
color: #000;
}
}
.dialog-footer{
text-align: center;
}
}
.capabilityTraceability {
.top {
display: flex;
@ -617,6 +772,7 @@ export default {
justify-content: center;
align-items: center;
.item {
cursor:pointer;
margin: 10px 0;
padding: 0 45px 0 40px;
display: flex;

View File

@ -154,7 +154,6 @@ export default {
methods: {
//
taskHandle (row) {
console.log('row======================>', row, this.forwardHandleUrl)
if (!row.businessKey) {
return this.$message.error(this.$t('task.businessKeyError'))
}
@ -171,7 +170,9 @@ export default {
bus.$off('abilityResourceShelfInit')
bus.$on('abilityResourceShelfInit', () => {
this.getDataList()
bus.$emit('updateTaskNum')
})
}
}
</script>

View File

@ -171,6 +171,7 @@ export default {
bus.$off('AbilityResourcesRemovedInit')
bus.$on('AbilityResourcesRemovedInit', () => {
this.getDataList()
bus.$emit('updateTaskNum')
})
}
}

View File

@ -7,84 +7,62 @@
<div class="dataTitleSon">
{{ itemson.name }}
</div>
<div
class="dataContent"
v-if="
itemson.name !== '算法优势' &&
itemson.name !== '应用场景' &&
itemson.name !== '功能介绍'
"
>
<el-form-item
v-for="itemsonson in itemson.children"
:key="itemsonson.name"
:label="
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
"
v-show="
!(
itemsonson.name === '平台地址' ||
itemsonson.name === 'SDK安装包' ||
itemsonson.name === '接口请求方式' ||
itemsonson.name === '服务接口'
)
"
>
<div
class="videoAndImgCss"
v-if="
itemsonson.type === 'video' || itemsonson.type === 'image'
"
@click="videoAndImg(itemsonson.note1)"
>
<div class="dataContent" v-if="
itemson.name !== '算法优势' &&
itemson.name !== '应用场景' &&
itemson.name !== '功能介绍'
">
<el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
" v-show="
!(
itemsonson.name === '平台地址' ||
itemsonson.name === 'SDK安装包' ||
itemsonson.name === '接口请求方式' ||
itemsonson.name === '服务接口'
)
">
<div class="videoAndImgCss" v-if="
itemsonson.type === 'video' || itemsonson.type === 'image'
" @click="videoAndImg(itemsonson.note1)">
浏览
</div>
<div
class="videoAndImgCss"
v-if="
itemsonson.name === '上传附件'
"
@click="videoAndImg(itemsonson.note1)"
>
<div class="videoAndImgCss" v-if="
itemsonson.name === '上传附件'
" @click="videoAndImg(itemsonson.note1)">
下载
</div>
<div
v-else-if="itemsonson.type === ' multipleAdditions'"
class="multipleAdditionsClass"
>
<div
v-for="multipleAdditionsItem in itemsonson.note1"
:key="multipleAdditionsItem"
>
<div v-else-if="itemsonson.type === ' multipleAdditions'" class="multipleAdditionsClass">
<div v-for="multipleAdditionsItem in itemsonson.note1" :key="multipleAdditionsItem">
<el-tooltip placement="top">
<div slot="content">
{{
multipleAdditionsItem.question ||
multipleAdditionsItem.type ||
multipleAdditionsItem.name
multipleAdditionsItem.question ||
multipleAdditionsItem.type ||
multipleAdditionsItem.name
}}
</div>
<div>
{{
multipleAdditionsItem.question ||
multipleAdditionsItem.type ||
multipleAdditionsItem.name
multipleAdditionsItem.question ||
multipleAdditionsItem.type ||
multipleAdditionsItem.name
}}
</div>
</el-tooltip>
<el-tooltip placement="top">
<div slot="content">
{{
multipleAdditionsItem.answer ||
multipleAdditionsItem.price ||
multipleAdditionsItem.img
multipleAdditionsItem.answer ||
multipleAdditionsItem.price ||
multipleAdditionsItem.img
}}
</div>
<div>
{{
multipleAdditionsItem.answer ||
multipleAdditionsItem.price ||
multipleAdditionsItem.img
multipleAdditionsItem.answer ||
multipleAdditionsItem.price ||
multipleAdditionsItem.img
}}
</div>
</el-tooltip>
@ -95,54 +73,31 @@
<!-- <div>{{ multipleAdditionsItem }}</div> -->
</div>
</div>
<el-tooltip v-else placement="top" :disabled="itemsonson.note1 !== null?false:true" :content="itemsonson.note1">
<el-tooltip v-else placement="top" :disabled="itemsonson.note1 !== null ? false : true"
:content="itemsonson.note1">
<!-- <div slot="content" v-show="itemsonson.note1">{{ itemsonson.note1 }}</div> -->
<el-input
v-model="itemsonson.note1"
disabled="disabled"
></el-input>
<el-input v-model="itemsonson.note1" disabled="disabled"></el-input>
</el-tooltip>
</el-form-item>
<el-form-item
v-for="itemsonson in itemson.children"
:key="itemsonson.name"
:label="
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
"
v-show="
(itemsonson.name === '平台地址' && showDocking) ||
(itemsonson.name === 'SDK安装包' && showSDK) ||
(itemsonson.name === '接口请求方式' && showInterface) ||
(itemsonson.name === '服务接口' && showInterface)
"
>
<el-tooltip placement="top" :disabled="itemsonson.note1 !== null?false:true" :content="itemsonson.note1">
<el-input
v-model="itemsonson.note1"
disabled="disabled"
></el-input>
</el-tooltip>
<el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
" v-show="
(itemsonson.name === '平台地址' && showDocking) ||
(itemsonson.name === 'SDK安装包' && showSDK) ||
(itemsonson.name === '接口请求方式' && showInterface) ||
(itemsonson.name === '服务接口' && showInterface)
">
<el-tooltip placement="top" :disabled="itemsonson.note1 !== null ? false : true" :content="itemsonson.note1">
<el-input v-model="itemsonson.note1" disabled="disabled"></el-input>
</el-tooltip>
</el-form-item>
</div>
<div
v-else-if="itemson.name === '算法优势'"
style="margin-bottom: 20px"
>
<div
v-for="itemDataForm in dataForm.infoList"
:key="itemDataForm.attrType"
>
<div
v-if="itemDataForm.attrType === '算法优势'"
class="textAndImg"
>
<div
v-for="itemDataFormValue in itemDataForm.attrValue"
:key="itemDataFormValue.name + 'value'"
class="textAndImgSon"
style="border: 1px solid #3c9bcd;margin"
>
<div v-else-if="itemson.name === '算法优势'" style="margin-bottom: 20px">
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
<div v-if="itemDataForm.attrType === '算法优势'" class="textAndImg">
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
<div>{{ itemDataFormValue.name }}</div>
<el-tooltip placement="top">
<div slot="content">{{ itemDataFormValue.desc }}</div>
@ -152,24 +107,11 @@
</div>
</div>
</div>
<div
v-else-if="itemson.name === '应用场景'"
style="margin-bottom: 20px"
>
<div
v-for="itemDataForm in dataForm.infoList"
:key="itemDataForm.attrType"
>
<div
v-if="itemDataForm.attrType === '应用场景'"
class="textAndImg"
>
<div
v-for="itemDataFormValue in itemDataForm.attrValue"
:key="itemDataFormValue.name + 'value'"
class="textAndImgSon"
style="border: 1px solid #3c9bcd;margin"
>
<div v-else-if="itemson.name === '应用场景'" style="margin-bottom: 20px">
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
<div v-if="itemDataForm.attrType === '应用场景'" class="textAndImg">
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
<div>{{ itemDataFormValue.name }}</div>
<el-tooltip placement="top">
<div slot="content">{{ itemDataFormValue.desc }}</div>
@ -180,24 +122,11 @@
</div>
</div>
</div>
<div
v-else-if="itemson.name === '功能介绍'"
style="margin-bottom: 20px"
>
<div
v-for="itemDataForm in dataForm.infoList"
:key="itemDataForm.attrType"
>
<div
v-if="itemDataForm.attrType === '功能介绍'"
class="textAndImg"
>
<div
v-for="itemDataFormValue in itemDataForm.attrValue"
:key="itemDataFormValue.name + 'value'"
class="textAndImgSon"
style="border: 1px solid #3c9bcd;margin"
>
<div v-else-if="itemson.name === '功能介绍'" style="margin-bottom: 20px">
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
<div v-if="itemDataForm.attrType === '功能介绍'" class="textAndImg">
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
<div>{{ itemDataFormValue.name }}</div>
<el-tooltip placement="top">
<div slot="content">{{ itemDataFormValue.desc }}</div>
@ -227,7 +156,7 @@ export default {
type: Array
}
},
data () {
data() {
return {
dataList: [],
dataView: [],
@ -242,12 +171,12 @@ export default {
}
},
watch: {
dataList (item) {
dataList(item) {
if (item) {
this.dataList = item
}
},
insertList (val) {
insertList(val) {
if (val) {
if (this.dataForm.type === '应用资源') {
this.dataView = val.filter(
@ -437,7 +366,7 @@ export default {
},
computed: {},
methods: {
videoAndImg (link) {
videoAndImg(link) {
if (link) {
window.open(link)
} else {
@ -447,7 +376,7 @@ export default {
})
}
},
deptName () {
deptName() {
console.log(this.dataForm.deptId)
this.$http
.get(`/sys/dept/${this.dataForm.deptId}`)
@ -456,13 +385,13 @@ export default {
this.unit = res.data.name
})
},
queryPartAppByKeyIdFunction (index, indexSon, indexSonSon) {
queryPartAppByKeyIdFunction(index, indexSon, indexSonSon) {
if (this.dataForm.type === '组件服务') {
this.$http
.get(
'/dataResourceRel/queryApp4PartByKeyId' +
'?keyId=' +
this.dataForm.id
'?keyId=' +
this.dataForm.id
)
.then(({ data: res }) => {
this.dataView.children[index].children[indexSon].children[
@ -478,9 +407,9 @@ export default {
this.$http
.get(
'/dataResourceRel/queryPart4AppByKeyId?keyId=' +
this.dataForm.id +
'&type=' +
'组件服务'
this.dataForm.id +
'&type=' +
'组件服务'
)
.then(({ data: res }) => {
this.dataView.children[index].children[indexSon].children[
@ -495,8 +424,8 @@ export default {
}
}
},
created () {},
mounted () {
created() { },
mounted() {
this.deptName()
}
}
@ -514,6 +443,7 @@ export default {
font-size: 22px;
margin-bottom: 25px;
}
.dataTitleSon {
padding-left: 30px;
color: #333333;
@ -522,9 +452,11 @@ export default {
background: url("~@/assets/img/sj-jx.png") no-repeat;
background-position-x: 15px;
}
.multipleAdditionsClass {
display: flex;
& > div {
&>div {
margin-right: 30px;
border: 1px solid #3c9bcd;
width: 212px;
@ -534,7 +466,8 @@ export default {
align-items: center;
padding: 10px;
overflow: hidden;
& > div:first-child {
&>div:first-child {
margin-bottom: 10px;
font-weight: bold;
line-height: 14px;
@ -544,7 +477,8 @@ export default {
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
& > div:nth-child(2) {
&>div:nth-child(2) {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
@ -552,7 +486,8 @@ export default {
-webkit-line-clamp: 6;
line-height: initial;
}
& > div:nth-child(3) {
&>div:nth-child(3) {
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
@ -563,6 +498,7 @@ export default {
}
}
}
.videoAndImgCss {
cursor: pointer;
font-size: 12px;
@ -571,10 +507,13 @@ export default {
padding: 5px;
margin-top: 10px;
background: rgba(60, 155, 205, 0.1);
display: inline-block;
}
.textAndImg {
display: flex;
padding-left: 30px;
.textAndImgSon {
width: 212px;
height: 182px;
@ -584,7 +523,8 @@ export default {
align-items: center;
padding: 10px;
position: relative;
& > div {
&>div {
-webkit-line-clamp: 5;
overflow: hidden;
text-overflow: ellipsis;
@ -592,11 +532,13 @@ export default {
-webkit-box-orient: vertical;
word-break: break-all;
}
& > div:first-child {
&>div:first-child {
margin-bottom: 10px;
font-weight: bold;
}
& > div:nth-child(3) {
&>div:nth-child(3) {
margin-top: 10px;
position: absolute;
bottom: 8px;
@ -610,13 +552,27 @@ export default {
}
}
}
.dataContent {
display: grid;
grid-template-columns: repeat(3, 33%);
padding-left: 30px;
display: flex;
align-items: center;
flex-wrap: wrap;
}
::v-deep .el-form-item {
flex: 1;
display: flex;
justify-content: flex-start;
}
::v-deep .el-form-item__label {
width: 112px;
}
::v-deep .el-form-item__content {
display: inline-block;
input {
width: 400px;
}

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua
* @Date: 2022-06-29 15:59:51
* @LastEditors: Light
* @LastEditTime: 2022-10-27 16:04:01
* @LastEditTime: 2022-11-01 15:00:19
* @Description: 告诉大家这是什么
-->
<!-- 流程业务表单 -->
@ -63,6 +63,7 @@
<!-- 申请能力 -->
<div class="AbilityApply">
<h3>申请能力</h3>
<div style="font-size:18px;font-weight:600;margin-top:20px;">{{deptName}}</div>
<ul v-for="item in dataList" :key="item.id">
<!-- <li class="title">{{item.address}}</li> -->
<li class="clearfix">
@ -157,6 +158,7 @@ export default {
content: {}
},
dataList: [],
deptName: '',
inputAgree: '',
inputNo: '',
agreeOrList: '同意'
@ -228,6 +230,7 @@ export default {
})
},
showDialog (title) {
this.input = title
this.dialogVisible = true
this.dialogType = title
},
@ -270,6 +273,7 @@ export default {
this.dataForm,
'elas============================'
)
this.deptName = res.data.tAbilityApplicationDTOList[0].resourceOwnerDept.name
this.$http
.get(
`/act/task/getTaskVariables?${params}&variableName=allowEntrust`

View File

@ -151,7 +151,7 @@
console.log('收藏===================》', props.dataList)
if (scFlag2.value) {
scFlag2.value = false
if (props.dataList.isCollect) {
if (props.dataList.isCollect == 'true') {
scDel([props.dataList.id]).then((res) => {
if (res.data.msg === 'success') {
message.success('取消成功')

View File

@ -1165,7 +1165,11 @@
res.data.data.map((val) => {
if (mapFlag && val.count != 0) {
mapFlag = false
changeCards(val.type)
if (Cardsname.value === val.type) {
getAppResources2()
} else {
changeCards(val.type)
}
}
})
if (!mapFlag) {

View File

@ -1052,7 +1052,7 @@
roomResult.value = true
onSearch()
} else {
tabClick(0, '政务云资源')
tabClick(0, '城市云脑会客厅')
}
}
}
@ -1106,14 +1106,14 @@
content: isXiHaiAn
? ['视频资源']
: username == 'admin'
? ['政务云资源', '视频资源', '城市云脑会客厅', '视频会议']
: ['政务云资源', '视频资源', '城市云脑会客厅'],
? ['城市云脑会客厅', '视频资源', '政务云资源', '视频会议']
: ['城市云脑会客厅', '视频资源', '政务云资源'],
},
])
let clickList = ref([]) //tab
if (!isXiHaiAn) {
tabList.value.push({
title: '政务云资源',
title: '城市云脑会客厅',
content: [],
})
}

View File

@ -161,13 +161,13 @@
const store = useStore()
const router = useRouter()
const topList = ref([
'组件服务',
'应用资源',
'组件服务',
'基础设施',
'数据资源',
'知识库',
])
const select = ref(whoShow.itShowQingDao ? '' : '组件服务')
const select = ref(whoShow.itShowQingDao ? '' : '应用资源')
let applicationDataList = ref([])
let technosphereDataList = ref([])
const fabubumen = ref([
@ -283,14 +283,14 @@
}
const mohuchaxun = ref('组件服务')
function onSearch() {
// if (text.value) {
snum.value.str = text.value
console.log('===================>', text.value)
store.commit('home/selectCardsData', snum.value)
router.push({
path: '/DetailsPageconetent',
query: snum.value,
})
// if (text.value) {
snum.value.str = text.value
console.log('===================>', text.value)
store.commit('home/selectCardsData', snum.value)
router.push({
path: '/DetailsPageconetent',
query: snum.value,
})
// } else {
// message.warning('')
// }

View File

@ -120,36 +120,43 @@
title: '任务名称',
dataIndex: 'activityName',
key: 'activityName',
width: '180px',
},
{
title: '处理部门',
dataIndex: 'assigneeDeptName',
key: 'assigneeDeptName',
width: '180px',
},
{
title: '处理人',
dataIndex: 'assigneeName',
key: 'assigneeName',
width: '180px',
},
{
title: '任务开始时间',
dataIndex: 'startTime',
key: 'startTime',
width: '180px',
},
{
title: '任务结束时间',
dataIndex: 'endTime',
key: 'endTime',
width: '180px',
},
{
title: '审核意见',
dataIndex: 'comment',
key: 'comment',
width: '180px',
},
{
title: '任务时长',
dataIndex: 'duration',
key: 'duration',
width: '180px',
},
]
const getInfo = () => {