应用系统上架

This commit is contained in:
a0049873 2022-11-04 10:02:57 +08:00
parent f25e57e9b1
commit 42bba89d54
3 changed files with 386 additions and 378 deletions

View File

@ -2,8 +2,8 @@ import Cookies from 'js-cookie'
import qs from 'qs'
import { deepClone } from '@/utils/form-generator/index'
export default {
data() {
/* eslint-disable */
data () {
/* eslint-disable */
return {
// 设置属性
mixinViewModuleOptions: {
@ -34,371 +34,356 @@ export default {
addOrUpdateVisible: false // 新增更新弹窗visible状态
}
/* eslint-enable */
},
created() {
if (this.mixinViewModuleOptions.createdIsNeed) {
this.query()
},
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)
}
},
activated() {
if (this.mixinViewModuleOptions.activatedIsNeed) {
this.query()
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
}
})
}
})
// 我的代办特殊处理
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
}
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()
})
},
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
}
}
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
// 组件服务新增
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
// })
// }
})
},
// 多选
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()
})
},
}
})
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)
},
// 修改
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.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.$nextTick(() => {
this.$refs.addOrUpdate.UpdateState = true
this.$refs.addOrUpdate.dataFormUpdate = cloneVal
this.$refs.addOrUpdate.init()
console.log('===========================', this.$refs.addOrUpdate.dataFormUpdate)
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
// })
// }
})
},
// 关闭当前窗口
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(
}
})
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)
},
// 修改
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])
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)
})
}
).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.$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}`
})
}).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)
})
}
}
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

@ -292,12 +292,12 @@ export default {
: res.data
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
: 0;
if(this.dataList.length>0){
this.dataList.forEach((item)=>{
item.belongProject = "城市信息模型";
item.belongSystem = "信息模型技术平台";
});
: 0
if (this.dataList.length > 0) {
this.dataList.forEach((item) => {
item.belongProject = '城市信息模型'
item.belongSystem = '信息模型技术平台'
})
}
if (this.mixinViewModuleOptions.requestCallback) {
this.mixinViewModuleOptions.requestCallback(res.data)
@ -707,15 +707,38 @@ export default {
.catch(() => {})
} else {
this.$http
.post('/resource/insert?source= b', this.submitFrom)
.post('/resource/insert?source= f', this.submitFrom)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error('上架失败!')
this.showPutOnTheShelfFlag2 = false
} else {
this.$message.success('上架成功!')
this.showPutOnTheShelfFlag2 = false
this.clear()
const instanceId = res.data
this.submitFrom.id = res.data
this.$http.get('/sys/user/info').then(info => {
this.$http.get('sys/user/' + info.data.data.id).then(user => {
const insertDeptId = this.submitFrom.deptId
const userId = user.data.data.id
const userName = user.data.data.realName
const params = {
instanceId: instanceId,
deptId: insertDeptId,
userId: userId,
userName: userName,
resourceDTO: [this.submitFrom]
}
this.$http.post('/resource/center/apply', params).then(res3 => {
if (res3.data.code == 0) {
this.$message.success('上架成功!')
this.showPutOnTheShelfFlag2 = false
this.clear()
} else {
this.$message.error('上架失败!')
this.showPutOnTheShelfFlag2 = false
}
})
})
})
}
})
.catch(() => {})

View File

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