Compare commits

...

43 Commits

Author SHA1 Message Date
wuhongjian a6334a6790 Merge branch 'hi-ucs-dev' into release 2022-11-09 15:37:04 +08:00
unknown f00373baa4 我的申请视频播放接口替换 2022-11-09 11:39:02 +08:00
lizhicheng2 de21518dbd 部门增加按名称模糊查询 2022-11-08 18:01:20 +08:00
a0049873 7ba6767cda 能力挂接 组件服务 置顶功能 2022-11-08 17:16:19 +08:00
unknown a5be25cec4 还原 2022-11-08 16:44:11 +08:00
unknown d89ae93ae2 视频播放 2022-11-08 15:08:07 +08:00
lizhicheng2 8c682e819d 能力挂接-数据资源按钮缺少样式 2022-11-07 17:58:03 +08:00
a0049873 383289ea94 门户如果未选中类型进行全局搜索 2022-11-07 14:43:28 +08:00
guoyue ece77758fe Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-04 17:05:27 +08:00
guoyue 799749ecdc 删除无用代码 2022-11-04 17:05:22 +08:00
guoyue 023f11c03a 能力集市--详情--描述信息tootlip样式:添加成全局样式(后续如果有需要,可直接加上类名) 2022-11-04 17:04:47 +08:00
guoyue 99f962c74f 修复应用领域不能选中bug 2022-11-04 17:00:45 +08:00
lizhicheng2 45b6b64216 去掉新增部门区划默认值0 2022-11-04 14:23:44 +08:00
guoyue 4a2e8f4a62 Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-04 14:10:07 +08:00
guoyue 2962cb6e9d 需求中心:tooltip 样式更改 2022-11-04 14:09:53 +08:00
gongjiale 2e7131ad14 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-04 13:59:57 +08:00
gongjiale 0f479dfec4 问题修改 2022-11-04 13:59:28 +08:00
lizhicheng2 bfaac75b43 会客厅description最大字符限制修改 2022-11-04 13:52:59 +08:00
a0049873 a0aa8a8ffc BUG修改 2022-11-04 10:30:50 +08:00
gongjiale d88430ec93 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-04 09:05:11 +08:00
unknown 4c77bb2405 申购车中展开收起修改 2022-11-03 17:59:48 +08:00
guoyue c8d315934a 基础设施,左侧树增加tips显示 2022-11-03 17:58:46 +08:00
guoyue 3e1ff71686 删除增加二次确认 2022-11-03 17:58:28 +08:00
gongjiale 7b334a0224 修改 2022-11-03 17:43:41 +08:00
gongjiale 14f82809f6 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-03 14:34:02 +08:00
gongjiale 7da4dc814a 修改部分 2022-11-03 14:33:53 +08:00
unknown c53f72be5e 赋能按钮列表错乱修改 2022-11-03 10:03:46 +08:00
unknown 92c6bf687b 会议室预约时间选择器限制 2022-11-03 10:02:39 +08:00
guoyue 4f41648fa4 修复应用资源详情返回未选中bug 2022-11-03 09:22:18 +08:00
guoyue 91b2f229ee 智能算法详情增加说明文字 2022-11-02 16:52:46 +08:00
gongjiale 65026d0e65 修改样式 2022-11-02 14:35:57 +08:00
unknown e4cdac8bb9 服务详情收藏错误 2022-11-01 18:05:32 +08:00
gongjiale fc74f6a769 Merge branch 'hi-ucs-dev' of http://192.168.124.50:80/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-01 15:55:16 +08:00
gongjiale 27cb8bd7d3 修改 2022-11-01 15:54:53 +08:00
a0049873 72229ea4fb 修改城市云脑顺序 2022-11-01 15:35:30 +08:00
guoyue 5c6ad1a4eb Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-11-01 15:22:12 +08:00
guoyue 0dc6bb2012 我的待办-能力资源上架,按钮样式调整为统一样式 2022-11-01 15:21:58 +08:00
a0049873 c8813f9688 能力申请添加默认审批意见 2022-11-01 15:00:51 +08:00
a0049873 b755a35565 能力申请加部门名称 2022-11-01 14:59:31 +08:00
a0049873 3950122864 全局搜索功能优化 2022-11-01 14:41:17 +08:00
a0049873 33e9cfe960 修改表格宽度 2022-11-01 14:32:01 +08:00
a0049873 2a2eb0fbc3 调换首页应用资源位置 2022-11-01 13:56:55 +08:00
a0049873 4281bc5156 后台-能力挂接-组件服务:查不到数据的时候就正常展示暂无数据就可以,没必要这样提示 2022-11-01 10:43:16 +08:00
37 changed files with 1398 additions and 1062 deletions

View File

@ -26,7 +26,7 @@
</el-tree>
<template slot="footer">
<el-button type="default" @click="cancelHandle()" size="mini">{{ $t('cancel') }}</el-button>
<el-button type="info" @click="clearHandle()" size="mini">{{ $t('clear') }}</el-button>
<!-- <el-button type="info" @click="clearHandle()" size="mini">{{ $t('clear') }}</el-button> -->
<el-button type="primary" @click="commitHandle()" size="mini">{{ $t('confirm') }}</el-button>
</template>
</el-dialog>

View File

@ -52,6 +52,7 @@ export default {
// 获取数据列表
query () {
this.dataListLoading = true
if (this.mixinViewModuleOptions.getDataListURL !== '/resource/pageWithAttrs') {
this.$http.get(
this.mixinViewModuleOptions.getDataListURL + '?' + qs.stringify({
// order: this.order,
@ -95,13 +96,13 @@ export default {
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.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 {
@ -124,6 +125,38 @@ export default {
}).catch(() => {
this.dataListLoading = false
})
} else {
this.$http.post(
this.mixinViewModuleOptions.getDataListURL, {
pageNum: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
pageSize: 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.records : res.data
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
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) {
@ -355,7 +388,17 @@ export default {
},
deleteHandle2 (id) {
console.log('删除========================》', id, this.dataListSelections)
if (id == undefined && this.dataListSelections.length < 1) {
this.$message({
type: 'info',
message: '请选择要删除的数据'
})
} else {
this.$confirm('确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const ids = []
if (id) {
ids.push(id)
@ -368,8 +411,19 @@ export default {
}
this.$http.post('/resource/delete', { ids: ids }).then(res => {
console.log('删除成功', res)
this.$message({
type: 'success',
message: '删除成功!'
})
this.getDataList()
})
}).catch(() => {
// this.$message({
// type: 'info',
// message: '已取消删除'
// });
})
}
},
// 导出
exportHandle () {

View File

@ -70,7 +70,7 @@ export default {
mixinViewModuleOptions: {
getDataListURL: "/fuse/page",
exportURL: "/ability/bsabilityai/export",
deleteURL: "/fuse",
deleteURL: "/fuse/delete",
getDataListIsPage: true,
deleteIsBatch: false,
},
@ -93,6 +93,11 @@ export default {
},
methods: {
deleteRow(id) {
this.$confirm('确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('/fuse/delete', {
data: [id]
}).then(res => {
@ -111,6 +116,8 @@ export default {
}).catch(err => {
this.$message.error(err);
})
}).catch(() => {
});
},
//
searchData() {
@ -140,7 +147,8 @@ export default {
},
//
showDetail(val) {
window.open(window.SITE_CONFIG.previewUrl + '#/packagingDetails?id=' + val.id)
// window.open(window.SITE_CONFIG.previewUrl + '#/packagingDetails?id=' + val.id)
window.open(window.SITE_CONFIG.previewUrl + '#/integrationServicesDetails?id=' + val.id)
},
// showDocument(val) {
// console.log(val);

View File

@ -19,7 +19,11 @@
<path d="M512 624a112 112 0 1 0 0-224 112 112 0 0 0 0 224z" p-id="2157"
fill="#0058e1"></path>
</svg>
<span class="name">{{ val.name }}({{ val.channelCount }})</span>
<el-tooltip effect="dark" placement="top-start">
<div class="tooltip-name" slot="content">{{val.name}}</div>
<span class="name">{{ val.name }}</span>
</el-tooltip>
<span class="num">({{ val.channelCount }})</span>
</div>
<span v-if="item.children.length < 0">{{ val.total }}</span>
<span v-else>
@ -311,4 +315,21 @@ export default {
}
}
}
.name {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
word-break: break-all;
width: 190px;
text-align: left;
}
.num {
width: 40px;
text-align: right;
}
.tooltip-name {
max-width: 300px;
}
</style>

View File

@ -12,8 +12,8 @@
v-if="dataInfo.length > 1">删除
</el-button>
</el-form-item>
<el-button class="add-btn" size="small" v-if="index == dataInfo.length - 1" @click="addItem"
type="primary">添加
<el-button class="add-btn" size="small" v-if="index == dataInfo.length - 1" @click="addItem" type="primary">
添加
</el-button>
</div>
</div>
@ -97,8 +97,19 @@ export default {
})
},
//
deleteItem(list, index) {
deleteItem(index) {
this.$confirm('确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
this.dataInfo.splice(index, 1)
}).catch(() => {
});
}
}
}

View File

@ -16,8 +16,8 @@
v-if="!disabledType && dataInfo.length > 1">删除
</el-button>
</el-form-item>
<el-button class="add-btn" size="small"
v-if="!disabledType && index == dataInfo.length - 1" @click="addItem" type="primary">添加
<el-button class="add-btn" size="small" v-if="!disabledType && index == dataInfo.length - 1"
@click="addItem" type="primary">添加
</el-button>
</div>
@ -100,8 +100,19 @@ export default {
})
},
//
deleteItem(list, index) {
deleteItem(index) {
this.$confirm('确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
this.dataInfo.splice(index, 1)
}).catch(() => {
});
}
}
}

View File

@ -84,6 +84,11 @@ export default {
},
methods: {
deleteRow(id) {
this.$confirm('确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http.delete('/fuse/delete', {
data: [id]
}).then(res => {
@ -102,6 +107,8 @@ export default {
}).catch(err => {
this.$message.error(err);
})
}).catch(() => {
});
},
//
searchData() {

View File

@ -130,7 +130,14 @@
>
<template slot-scope="scope">
<el-button
v-if="scope.row.infoList.filter(val=>val.attrType=='组件类型')[0].attrValue == '智能算法'"
v-if="scope.row.infoList.filter(val=>val.attrType=='组件类型')[0].attrValue == '智能算法' && scope.row.pinTop == 1"
type="text"
size="small"
@click="noToppingCapacity(scope.row)"
>取消置顶</el-button
>
<el-button
v-if="scope.row.infoList.filter(val=>val.attrType=='组件类型')[0].attrValue == '智能算法' &&scope.row.pinTop != 1"
type="text"
size="small"
@click="toppingCapacity(scope.row)"
@ -268,7 +275,7 @@ export default {
]
},
mixinViewModuleOptions: {
getDataListURL: '/resource/page',
getDataListURL: '/resource/pageWithAttrs',
getDataListIsPage: true,
exportURL: '/ability/bsabilityai/export',
deleteURL: '/resource/delete',
@ -279,11 +286,12 @@ export default {
fieldArr: dictionaries.fieldArr,
shareFormArr: dictionaries.shareFormArr,
dataForm: {
name: '',
creator: '',
orderField: 'pin_top',
orderType: 'DESC',
infoList: [],
delFlag: 0,
selectType: 0,
type: '组件服务'
type: '组件服务',
name: ''
},
// qp: false,
//
@ -323,31 +331,45 @@ export default {
message: '置顶成功',
type: 'success'
})
this.reset()
} else {
this.$message({
message: '置顶失败',
type: 'warning'
})
this.reset()
}
})
},
noToppingCapacity (item) {
this.$http.put('/resource/cancel_pin_top/' + item.id).then(res => {
if (res.data.code == 0) {
this.$message({
message: '取消置顶成功',
type: 'success'
})
this.reset()
} else {
this.$message({
message: '取消置顶失败',
type: 'warning'
})
this.reset()
}
})
},
reset () {
this.$http
.get(
this.mixinViewModuleOptions.getDataListURL +
'?' +
qs.stringify({
// order: this.order,
// orderField: this.orderField,
// type: '',
page: 1,
limit: 10,
creator: '',
selectType: 0,
.post(
this.mixinViewModuleOptions.getDataListURL, {
pageNum: 1,
pageSize: 10,
orderType: 'DESC',
infoList: [],
delFlag: 0,
type: '组件服务',
name: ''
})
}
)
.then(({ data: res }) => {
this.dataForm.name = ''
@ -357,7 +379,7 @@ export default {
return this.$message.error(res.msg)
}
this.dataList = this.mixinViewModuleOptions.getDataListIsPage
? res.data.list
? res.data.records
: res.data
this.dataList.map((item, index) => {
const dataListSinforList = []
@ -492,21 +514,16 @@ export default {
getDataList2 (names) {
if (names != null) {
this.$http
.get(
this.mixinViewModuleOptions.getDataListURL +
'?' +
qs.stringify({
// order: this.order,
// orderField: this.orderField,
// type: '',
.post(
this.mixinViewModuleOptions.getDataListURL, {
pageNum: 1,
pageSize: this.limit,
type: '组件服务',
creator: '',
selectType: 0,
pageSize: 10,
orderType: 'DESC',
infoList: [],
delFlag: 0,
type: '组件服务',
name: names
})
}
)
.then(({ data: res }) => {
if (res.code !== 0) {
@ -514,8 +531,8 @@ export default {
this.total = 0
return this.$message.error(res.msg)
}
if (res.data.list.length !== 0) {
this.dataList = res.data.list
if (res.data.records.length >= 0) {
this.dataList = res.data.records
this.total = this.mixinViewModuleOptions.getDataListIsPage
? res.data.total
: 0

View File

@ -354,7 +354,6 @@ export default {
// this.disabled = true
},
showDocument (val) {
console.log(val)
window.open(
window.SITE_CONFIG.frontUrl + '?id=' + val.id + '&&type=' + val.type,
'_blank'
@ -393,7 +392,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
@ -459,7 +458,6 @@ export default {
// },
//
applyAndAssembly (val) {
console.log('vvvv', val)
// idid,type
const type = '组件服务'
const id = val.id
@ -475,7 +473,6 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
console.log('rrrrressssz', res.data)
this.relateApplicationResourceVisible = true
this.relationData = {
id: id,
@ -483,13 +480,11 @@ export default {
responseData: res.data
}
this.topNameArray = ['未关联组件名称', '已关联组件名称']
console.log(' this.relationData', this.relationData)
//
})
},
//
applyAndDataResource (val) {
console.log('数据资源')
},
//
applyAndProject (val) {
@ -507,7 +502,6 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
console.log('rrrrressssx', res.data)
this.relateApplicationResourceVisible = true
this.relationData = {
id: id,
@ -534,7 +528,6 @@ export default {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
console.log('rrrrressssj', res.data)
this.relateApplicationResourceVisible = true
this.relationData = {
id: id,
@ -575,7 +568,6 @@ export default {
this.showPutOnTheShelfFlag2 = true
this.$http.get('/category/getCategoryTree').then(res => {
this.insertList = res.data.data.filter(item => item.name === '应用资源一')[0]
console.log(this.insertList, this, this.radio, 'hhhhhhhhhhh')
this.putOnTheShelfList = this.insertList.children
})
},
@ -670,7 +662,6 @@ export default {
})
this.submitFrom.infoList = this.submitFrom.infoList.sort((a, b) => arr.indexOf(a.attrType) - arr.indexOf(b.attrType))
this.notFilled = []
console.log(this.submitFrom, '表单验证')
if (!this.submitFrom.name) {
this.notFilled.push('应用名称')
}
@ -711,7 +702,6 @@ export default {
val.attrValue = this.radio
}
})
console.log('编辑===============>', this.submitFrom)
//
this.submitFrom.infoList = this.submitFrom.infoList.filter(item => item.attrValue)
this.$http

View File

@ -13,7 +13,7 @@
<el-date-picker v-model="dataForm.applydate" value-format="yyyy-MM-dd" type="date" :placeholder="$t('dataresources.putOnDate')" clearable></el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetDataList()">{{ $t('reset') }}</el-button>

View File

@ -110,8 +110,19 @@ export default {
})
},
//
deleteItem(list, index) {
deleteItem(index) {
this.$confirm('确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
this.dataInfo.splice(index, 1)
}).catch(() => {
});
}
}
}

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>
@ -68,6 +68,12 @@
</el-option>
</el-select>
</el-form-item>
<!--资源名称 仅明细添加-->
<el-form-item v-if="this.departmentId === 3 || this.departmentId === 4">
<!-- <span v-if="this.departmentId === 2 || this.departmentId === 4">资源名称</span> -->
<el-input v-model="resourceName" placeholder="请输入资源名称" clearable></el-input>
</el-form-item>
<!--操作按钮查询-->
<el-form-item>
@ -341,6 +347,7 @@ export default {
abilityType: '', //
beginTime: '', //
endTime: '', //
resourceName:'',//
typeOptions: [
{ name: '智能算法', value: 1 },
{ name: '图层服务', value: 2 },
@ -523,7 +530,8 @@ export default {
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
})
})
},
@ -589,7 +597,9 @@ export default {
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
})
})
},
@ -658,7 +668,8 @@ export default {
deptId: this.abilityDepartment,
type: this.abilityType,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
}
})
.then((res) => {
@ -670,7 +681,8 @@ export default {
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
})
})
},
@ -697,7 +709,8 @@ export default {
deptId: this.abilityDepartment,
type: this.abilityType,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
}
})
.then((res) => {
@ -708,7 +721,8 @@ export default {
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
})
})
},
@ -952,7 +966,8 @@ export default {
approveStatus: this.status,
deptId: this.abilityDepartment,
startDate: this.startDate,
endDate: this.endDate
endDate: this.endDate,
resourceName:this.resourceName
})
if (this.departmentId === 1) {
// if (this.detailFlag) {

View File

@ -508,7 +508,12 @@ export default {
},
//
deleteData (row) {
console.log(row)
if (this.deleteDataArr.length < 1) {
this.$message({
type: 'info',
message: '请选择要删除的数据'
})
}else{
this.$confirm('此操作将删除当前数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -542,7 +547,7 @@ export default {
type: 'info',
message: '已取消删除'
})
})
})}
},
//
async openPreviewData (row) {

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

@ -42,10 +42,10 @@
<el-table
v-loading="dataListLoading"
:data="dataList"
ref="singleTable"
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%"
:height="qp ? '810px' : '650px'"
>
<el-table-column
type="selection"
@ -131,54 +131,58 @@
</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);
mounted () {
window.addEventListener('resize', this.a)
this.fullScreen();
this.$nextTick(() => {
this.$refs.singleTable.doLayout(); //
//:height="qp ? '810px' : '650px'"
});
},
methods: {
reset() {
reset () {
this.$http
.get(
this.mixinViewModuleOptions.getDataListURL +
"?" +
'?' +
qs.stringify({
// order: this.order,
// orderField: this.orderField,
@ -187,138 +191,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

@ -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

@ -252,8 +252,8 @@ export default {
{ required: true, message: '请填写描述内容', trigger: 'blur' },
{
min: 1,
max: 500,
message: '长度在 1 到 500 个字符',
max: 255,
message: '长度在 1 到 255 个字符',
trigger: 'blur'
}
]

View File

@ -7,55 +7,33 @@
<div class="dataTitleSon">
{{ itemson.name }}
</div>
<div
class="dataContent"
v-if="
<div class="dataContent" v-if="
itemson.name !== '算法优势' &&
itemson.name !== '应用场景' &&
itemson.name !== '功能介绍'
"
>
<el-form-item
v-for="itemsonson in itemson.children"
:key="itemsonson.name"
:label="
">
<el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
"
v-show="
" v-show="
!(
itemsonson.name === '平台地址' ||
itemsonson.name === 'SDK安装包' ||
itemsonson.name === '接口请求方式' ||
itemsonson.name === '服务接口'
)
"
>
<div
class="videoAndImgCss"
v-if="
">
<div class="videoAndImgCss" v-if="
itemsonson.type === 'video' || itemsonson.type === 'image'
"
@click="videoAndImg(itemsonson.note1)"
>
" @click="videoAndImg(itemsonson.note1)">
浏览
</div>
<div
class="videoAndImgCss"
v-if="
<div class="videoAndImgCss" v-if="
itemsonson.name === '上传附件'
"
@click="videoAndImg(itemsonson.note1)"
>
" @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">
{{
@ -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="
<el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
"
v-show="
" 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 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,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(
@ -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

@ -101,7 +101,7 @@ export default {
pid: '',
parentName: '',
sort: 0,
district: 0
district: ''
},
sheng: [{ pid: 100001, value: '山东省' }],
city: [], //

View File

@ -2,6 +2,12 @@
<el-card shadow="never" class="aui-card--fill">
<div class="mod-sys__dept">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.deptName" :placeholder="$t('dept.name')" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('sys:dept:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}
</el-button>
@ -42,77 +48,22 @@
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './dept-add-or-update'
import qs from 'qs'
export default {
mixins: [mixinViewModule],
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/sys/dept/list',
getDataListURL: '/sys/dept/page',
getDataListIsPage: true,
deleteURL: '/sys/dept'
},
total: 0,
limit: 10,
page: 1,
dataList: []
dataForm: {
deptName: ''
}
}
},
components: {
AddOrUpdate
},
watch: {
dataList: {
handler: function () {
this.getData()
}
}
},
methods: {
// ,
pageSizeChangeHandle (val) {
this.page = 1
this.limit = val
this.getData()
},
// ,
pageCurrentChangeHandle (val) {
this.page = val
this.getData()
},
getData() {
// debugger
let _data = {
limt: this.limit,
page: this.page,
}
this.$http.get('sys/dept/page', {
params: _data
}).then((res) => {
this.total = res.data.data.total;
res.data.data.list.map((item, index) => {
console.log('item, index------------>', item, index);
if (item.district != null || item.children.length >= 0) {
this.$http.get('/sys/region/' + item.district).then((data) => {
this.dataList[index].district = data.data.data.name
console.log('datafrom', this.dataList)
})
if (item.children.length > 0) {
item.children.map((item2, index2) => {
if (item2.district != null) {
this.$http.get('/sys/region/' + item2.district).then((data) => {
this.dataList[index].children[index2].district = data.data.data.name
console.log('datafrom', this.dataList)
})
}
})
}
}
})
})
},
},
created() {
this.getData()
}
}
</script>

View File

@ -109,3 +109,9 @@
.ant-popover-inner-content .ant-popover-buttons {
text-align: center;
}
.ApplicationTopDetails-tooltip-card {
max-width: 9rem !important;
min-width: 6rem !important;
max-height: 6rem !important;
overflow-y: auto;
}

Binary file not shown.

View File

@ -4,11 +4,7 @@
<div class="main">
<div class="left">
<a-layout-sider>
<a-menu
v-model:selectedKeys="selectedKeys"
mode="inline"
@click="handleClick"
>
<a-menu v-model:selectedKeys="selectedKeys" mode="inline" @click="handleClick">
<a-menu-item v-for="item in menuList" :key="item.key">
<img :src="item.img" alt="" style="margin-right: 10px" />
<span>{{ item.title }}</span>
@ -18,36 +14,19 @@
</div>
<div class="right">
<!-- <div class="title">数据需求</div> -->
<a-list
class="demo-loadmore-list"
:loading="initLoading"
item-layout="horizontal"
:data-source="list"
:key="showKey"
>
<a-list class="demo-loadmore-list" :loading="initLoading" item-layout="horizontal" :data-source="list"
:key="showKey">
<template #renderItem="{ item }">
<a-list-item>
<a-skeleton
avatar
:title="false"
:loading="!!item.loading"
active
>
<a-tooltip
placement="topLeft"
:title="item.demandDetails || '--'"
arrow-point-at-center
mouseEnterDelay="1"
>
<a-list-item-meta
:description="'描述:' + (item.demandDetails || '--')"
>
<a-skeleton avatar :title="false" :loading="!!item.loading" active>
<a-tooltip placement="topLeft" arrow-point-at-center mouseEnterDelay="1"
overlayClassName="demandCenter-tooltip-card">
<template #title>
<span
@click="showDetail(item)"
style="cursor: pointer"
class="name"
>
<div class="tooltip-desc">{{ item.demandDetails || '--' }}</div>
</template>
<a-list-item-meta :description="'描述:' + (item.demandDetails || '--')">
<template #title>
<span @click="showDetail(item)" style="cursor: pointer" class="name">
{{ item.demandSubject }}
</span>
<span class="time">{{ item.createDate }}</span>
@ -58,13 +37,8 @@
</a-list-item>
</template>
</a-list>
<a-pagination
v-model:current="pageNum"
v-model:page-size="pageSize"
:total="total"
@change="pageChange"
:key="showKey"
>
<a-pagination v-model:current="pageNum" v-model:page-size="pageSize" :total="total" @change="pageChange"
:key="showKey">
<template #buildOptionText="props">
<span>{{ props.value }}/</span>
</template>
@ -81,21 +55,21 @@
</div>
</template>
<script setup>
import HomeHeader from '@/views/home/components/header'
import { demandApplyListPage } from '@/api/personalCenter'
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
// import { useStore } from 'vuex'
import HomeHeader from '@/views/home/components/header'
import { demandApplyListPage } from '@/api/personalCenter'
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
// import { useStore } from 'vuex'
const router = useRouter()
// const store = useStore()
const list = ref([])
const pageNum = ref(1)
const pageSize = ref(8)
const total = ref()
const showKey = ref(0)
const whoShow1 = ref(whoShow)
const menuList = [
const router = useRouter()
// const store = useStore()
const list = ref([])
const pageNum = ref(1)
const pageSize = ref(8)
const total = ref()
const showKey = ref(0)
const whoShow1 = ref(whoShow)
const menuList = [
{
key: '1',
title: '基础设施',
@ -126,9 +100,9 @@
num: '0',
img: require('@/assets/home/menuyyzy.png'),
},
]
const detailsType = ref('')
const handleClick = (item) => {
]
const detailsType = ref('')
const handleClick = (item) => {
if (item.key === '1') {
detailsType.value = '基础设施'
} else if (item.key === '2') {
@ -142,13 +116,13 @@
}
pageNum.value = 1
getApplyList()
}
const pageChange = (val) => {
}
const pageChange = (val) => {
console.log(val)
pageNum.value = val
getApplyList()
}
const getApplyList = () => {
}
const getApplyList = () => {
const params = {
page: pageNum.value,
limit: pageSize.value,
@ -161,9 +135,9 @@
list.value = res.data.data.list
total.value = res.data.data.total
})
}
}
const showDetail = (item) => {
const showDetail = (item) => {
// console.log('demandDetails', item)
// store.commit('home/demandDetailsData', item)
router.push({
@ -172,15 +146,15 @@
id: item.id,
},
})
}
const newpage = router.resolve({
}
const newpage = router.resolve({
path: '/addApplication', //
})
const toView = () => {
})
const toView = () => {
window.open(newpage.href, '_blank')
}
}
onMounted(() => {
onMounted(() => {
const params = {
page: pageNum.value,
limit: pageSize.value,
@ -190,10 +164,10 @@
list.value = res.data.data.list
total.value = res.data.data.total
})
})
})
</script>
<style lang="less" scoped>
.main-cont {
.main-cont {
margin-top: 64px;
width: 100%;
height: calc(100%-90px);
@ -201,16 +175,20 @@
background-position-x: center;
display: flex;
justify-content: center;
.main {
width: 1200px;
height: 100%;
padding-top: 30px;
display: flex;
.left {
width: 15%;
.ant-card {
background: transparent;
border: none;
.ant-card-grid {
height: 50px;
display: flex;
@ -222,14 +200,17 @@
cursor: pointer;
}
}
.ant-layout-sider {
background-color: transparent;
:deep(.ant-menu-item) {
height: 100px;
font-size: 18px;
color: #333333;
border: 1px solid #dee8f5;
margin: 0;
&::after {
margin-top: 30px;
height: 40px;
@ -237,11 +218,13 @@
background-color: #0087ff;
}
}
:deep(.ant-menu-item-selected) {
background-color: #e9f4ff;
}
}
}
.right {
flex: 1;
margin-left: 30px;
@ -249,17 +232,21 @@
background-color: #ffffff;
box-shadow: 10px 8px 10px 3px #9dc6ea;
padding: 20px;
.title {
font-size: 22px;
font-weight: 500;
color: #1492ff;
}
.ant-list {
height: 730px;
overflow-y: scroll;
:deep(.ant-list-item-meta-title) {
display: flex;
justify-content: space-between;
.name {
width: 800px;
font-size: 18px;
@ -276,6 +263,7 @@
word-break: break-all;
}
}
:deep(.ant-list-item-meta-description) {
display: -webkit-box;
/*设置为弹性盒子*/
@ -289,14 +277,17 @@
word-break: break-all;
}
}
//
.ant-list::-webkit-scrollbar {
display: none;
}
.ant-pagination {
margin-top: 10px;
}
}
.fixedmount {
height: 1.5rem;
display: flex;
@ -321,10 +312,12 @@
position: relative;
cursor: pointer;
background: #e3edfc;
p {
margin: 0;
}
}
.fixedmount div p:nth-child(1) {
height: 0.24rem;
width: 0.24rem;
@ -333,11 +326,18 @@
background-position: center;
}
}
}
}
</style>
<style>
body,
html {
body,
html {
height: unset;
}
}
.demandCenter-tooltip-card {
max-width: 900px !important;
min-width: 600px !important;
max-height: 600px !important;
overflow-y: auto;
}
</style>

View File

@ -45,7 +45,7 @@
<template #title>应用领域{{ applicationArea }}</template>
<div>应用领域{{ applicationArea }}</div>
</a-tooltip>
<a-tooltip placement="top">
<a-tooltip placement="top" overlayClassName="ApplicationTopDetails-tooltip-card">
<template #title>{{ props.dataList.description }}</template>
<div>
{{ props.dataList.description }}
@ -54,39 +54,48 @@
</div>
<div class="bottom" v-if="props.dataList.id">
<a-button type="primary" @click="toView()">
<template #icon><form-outlined /></template>
<template #icon>
<form-outlined />
</template>
申请使用
</a-button>
<a-button type="primary" @click="addShoppingCart()">
<template #icon><shopping-cart-outlined /></template>
<template #icon>
<shopping-cart-outlined />
</template>
加入申购车
</a-button>
<a-button type="primary" @click="goTOCollection()">
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
</a-button>
</div>
<div class="text-tip">
使用声明算法的场景适应性和结果准确性需申请部门根据场景建设要求先行试用进而判断是否满足应用需求除特殊声明算法结果仅为参考
</div>
</div>
<div class="right"></div>
</div>
</template>
<script setup>
import { FormOutlined, 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 props = defineProps({
import { FormOutlined, 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 props = defineProps({
dataList: { type: Object, default: null },
})
const classOfAlgorithm = ref('')
// console.log('==================>', props.dataList.isCollect)
const router = useRouter()
const applicationArea = ref('')
const deploymentLocation = ref('') //
//
const addShoppingCart = () => {
})
const classOfAlgorithm = ref('')
// console.log('==================>', props.dataList.isCollect)
const router = useRouter()
const applicationArea = ref('')
const deploymentLocation = ref('') //
//
const addShoppingCart = () => {
if (props.dataList.isInShoppingCart) {
message.error('已经加入申购车了')
} else {
@ -106,9 +115,9 @@
)
})
}
}
//
function toView() {
}
//
function toView() {
// window.open(newpage.href, '_blank')
console.log('一键申请===================>', props.dataList)
localStorage.setItem(
@ -134,9 +143,9 @@
router.push({
path: '/apply',
})
}
const componentType = ref('')
if (props.dataList.infoList) {
}
const componentType = ref('')
if (props.dataList.infoList) {
applicationArea.value = props.dataList.infoList.filter(
(val) => val.attrType === '应用领域'
)[0].attrValue
@ -160,8 +169,8 @@
if (obj) {
componentType.value = obj.attrValue
}
}
watch(
}
watch(
() => props.dataList,
(val) => {
if (val) {
@ -194,10 +203,10 @@
}
}
}
)
//
const scFlag2 = ref(true)
const goTOCollection = () => {
)
//
const scFlag2 = ref(true)
const goTOCollection = () => {
console.log('收藏===================》', props.dataList)
if (scFlag2.value) {
scFlag2.value = false
@ -229,27 +238,32 @@
// console.log(res)
// message.success('')
// })
}
}
</script>
<style lang="less" scoped>
.algorithm-top-details {
.algorithm-top-details {
height: 600px;
padding: 180px 0 0;
background: url('~@/assets/detailsAll/sf_top_bg.png') no-repeat;
background-size: 100%;
display: flex;
justify-content: center;
.left {
width: 7.2rem;
color: #fff;
margin-right: 0.8rem;
margin-top: -0.3rem;
position: relative;
.top {
display: flex;
align-items: center;
span {
font-size: 14px;
}
.name {
display: inline-block;
// width: 10.2rem;
@ -267,15 +281,18 @@
-webkit-box-orient: vertical;
word-break: break-all;
}
.label-content {
position: relative;
}
.lable-father {
position: absolute;
min-width: 5.5rem;
right: -5.5rem;
top: 0;
}
.label {
padding: 1px 10px;
margin-right: 10px;
@ -283,16 +300,19 @@
background: rgba(255, 255, 255, 0.4);
}
}
.main {
margin-top: 20px;
font-size: 18px;
line-height: 34px;
& > div:nth-of-type(1) {
&>div:nth-of-type(1) {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
& > div:nth-of-type(2) {
&>div:nth-of-type(2) {
max-height: 100px;
overflow: hidden;
text-overflow: ellipsis;
@ -302,9 +322,11 @@
word-break: break-all;
}
}
.bottom {
margin-top: 40px;
display: flex;
.ant-btn {
height: 50px;
margin-right: 20px;
@ -315,17 +337,21 @@
justify-content: center;
align-items: center;
}
.ant-btn:nth-of-type(1) {
width: 180px;
}
.ant-btn:nth-of-type(2) {
width: 220px;
}
.ant-btn:nth-of-type(3) {
width: 145px;
}
}
}
.right {
width: 580px;
height: 400px;
@ -333,5 +359,13 @@
background-size: 100%;
margin-top: -40px;
}
}
}
.text-tip {
font-size: 14px;
color: #fff;
position: absolute;
bottom: 20px;
width: 140%;
}
</style>

View File

@ -36,7 +36,7 @@
<template #title>应用领域{{ applicationArea }}</template>
<div>应用领域{{ applicationArea }}</div>
</a-tooltip>
<a-tooltip placement="top">
<a-tooltip placement="top" overlayClassName="ApplicationTopDetails-tooltip-card">
<template #title>{{ props.dataList.description }}</template>
<div>
{{ props.dataList.description }}

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

@ -29,7 +29,8 @@
p-id="5928"
></path>
</svg>
<span class="btn" @click="falg = !falg">展开</span>
<span class="btn" style="font-weight:600" @click="falg = !falg">展开</span>
<span class="btn" @click="falg = !falg">({{totalDataNum}}条数据)</span>
</div>
<div class="btnBox" v-show="falg">
<svg
@ -49,7 +50,7 @@
fill="#13227a"
></path>
</svg>
<span class="btn" @click="falg = !falg">收起</span>
<span class="btn" style="font-weight:600" @click="falg = !falg">收起</span>
</div>
</div>
<div
@ -165,6 +166,7 @@
})
const falg = ref(false)
let dataForm = ref([])
let totalDataNum = ref(0);
const videoVisible = ref(false)
const xVideoList = ref([])
const xVideoListAll = ref([])
@ -251,6 +253,16 @@
})
}
getDeptAllData();
const getDataTotalNum = () =>{
let totalNum =0;
dataForm.value.forEach((item)=>{
totalNum = totalNum +item.arr.length;
});
totalDataNum.value = totalNum;
}
getDataTotalNum();
//
</script>
<style scoped lang="less">

View File

@ -789,8 +789,8 @@
DETAIL_PAGE_CONTENT_DEFAULT_TAB
console.log('select------------>', select)
// selectSubType...
const selectSubType = router.currentRoute.value.query.type || ''
const queryName = ref('')
let selectSubType = router.currentRoute.value.query.type || ''
let queryName = ref('')
const str = router.currentRoute.value.query.str
const searchValue = ref(str)
const searchType = ref(str)
@ -849,6 +849,7 @@
paramsGetResources.pageSize = storageSearchInfo.pageSize
paramsGetResources.deptIds = storageSearchInfo.deptIds
paramsGetResources.districtId = storageSearchInfo.districtId
// paramsGetResources.infoList = storageSearchInfo.infoList
// 使
nextTick(() => {
searchResultListDom.value.changeCondition(
@ -1077,6 +1078,7 @@
if (obj) {
val.selectedTags = [obj.attrValue] || []
}
console.log('val---eeee--------->', val)
}
})
ListContentCopy.value = []
@ -1090,12 +1092,16 @@
} else {
queryName.value = ''
}
console.log('selectSubType------------>', selectSubType)
console.log('ListContent.records------------>', ListContent.records)
ListContent.records.forEach((val) => {
console.log('val-----ddd------->', val)
if (!val) {
return
}
// todo
if (val.name === queryName.value) {
if (val.name === queryName.value && selectSubType) {
if (
val.selectedTags &&
val.selectedTags.indexOf(selectSubType) == -1
@ -1103,14 +1109,27 @@
val.selectedTags = [selectSubType]
changeShrink(queryName.value)
} else {
val.selectedTags &&
val.selectedTags.splice(
val.selectedTags.indexOf(selectSubType),
1
console.log(
'val.selectedTags---123--------->',
val.selectedTags
)
let _index = val.selectedTags.findIndex(
(v) => v == selectSubType
)
val.selectedTags.splice(_index, 1, selectSubType)
// changeShrink(queryName.value)
// val.selectedTags &&
// val.selectedTags.splice(
// val.selectedTags.indexOf(selectSubType),
// 1
// )
}
if (val.name == '应用领域' && val.selectedTags.length > 0) {
changeShrink(queryName.value)
}
}
})
// -
if (whoShow1.value.itShowXiHaiAn) {
if (!storageSearchInfo) {
@ -1165,8 +1184,12 @@
res.data.data.map((val) => {
if (mapFlag && val.count != 0) {
mapFlag = false
if (Cardsname.value === val.type) {
getAppResources2()
} else {
changeCards(val.type)
}
}
})
if (!mapFlag) {
return
@ -1644,6 +1667,10 @@
// --
const judgeHasSubSelectType = () => {
if (selectSubType) {
console.log(
'paramsGetResources.infoList--judgeHasSubSelectType---------->',
paramsGetResources.infoList
)
paramsGetResources.infoList = []
if (select == '组件服务') {
queryName.value = '组件类型'
@ -1680,6 +1707,11 @@
listKey.value++
}
}
//
if (str && !router.currentRoute.value.query.select) {
globalSearch()
}
})
//
const applyAll = () => {
@ -1731,11 +1763,15 @@
router.currentRoute.value.query.appLiCation = ''
tecHnosphere = router.currentRoute.value.query.tecHnosphere
appLiCation = router.currentRoute.value.query.appLiCation
//
storageSearchInfo = null
selectSubType = ''
let newQuery = JSON.parse(
JSON.stringify(router.currentRoute.value.query)
)
Cardsname.value = name
newQuery.select = Cardsname.value
newQuery.type = ''
router
.replace({
query: newQuery,
@ -1873,12 +1909,15 @@
font-family: 'webfont';
src: url('~@/assets/capacitySquare/webfont.ttf');
}
.resultListSearchInput-father {
background: #f3f5f9;
padding: 0.2rem;
.resultListSearchInput-son {
background: #fff;
padding: 0.2rem 0.2rem 0rem 0.3rem;
.hengxian {
width: 100%;
height: 0.01rem;
@ -1887,14 +1926,17 @@
}
}
}
.resultListSearchInput {
margin-left: 0.1rem;
:deep(.ant-input) {
width: 4rem;
height: 0.36rem;
background: #fff;
border-radius: 0.04rem;
}
:deep(.ant-input-search-button) {
width: 0.8rem;
height: 0.36rem;
@ -1906,10 +1948,12 @@
line-height: 0.34rem;
margin-left: 0.1rem;
}
:deep(.ant-input-group-addon) {
left: 0 !important;
}
}
.button-reset {
border: 0;
outline: none;
@ -1924,6 +1968,7 @@
margin-left: 2.5rem;
cursor: pointer;
}
.details-pageconetent {
height: 100%;
width: 100%;
@ -1933,6 +1978,7 @@
margin-top: 0.67rem;
position: relative;
background: rgba(245, 243, 243, 0.3);
.details-pageconetent-left {
max-height: 6.9rem;
position: absolute;
@ -1942,6 +1988,7 @@
margin-right: 0.17rem;
overflow: auto;
}
.top {
min-height: 7.2rem;
position: relative;
@ -1953,26 +2000,33 @@
justify-content: left;
margin-left: 2.5rem;
background: #f3f5f9;
.pagination {
background: #f3f5f9;
padding-bottom: 0.6rem;
}
.jichusheshi {
height: 4.45rem;
.yunziyuan {
width: 100%;
position: relative;
.shuoming {
position: absolute;
right: 0.2rem;
top: 0.15rem;
font-size: 0.12rem;
}
.yunziyuan-title {
display: flex;
align-items: center;
.tupian {
}
.title {
margin-left: 0.1rem;
font-weight: 600;
@ -1980,35 +2034,44 @@
cursor: pointer;
}
}
.fenlei {
display: flex;
margin-left: 0.2rem;
margin-right: 0.3rem;
justify-content: space-between;
}
.keyongziyuan {
display: flex;
justify-content: space-between;
margin-left: 0.3rem;
margin-right: 0.3rem;
div {
display: flex;
div:last-child {
font-weight: 600;
}
}
}
}
.yunziyuan > div {
margin-bottom: 0.1rem;
}
.shipin {
width: 100%;
.shipin-title {
display: flex;
align-items: center;
.tupian {
}
.title {
margin-left: 0.1rem;
font-weight: 600;
@ -2016,47 +2079,58 @@
cursor: pointer;
}
}
.fenlei {
display: flex;
margin-left: 0.2rem;
div {
margin-right: 0.6rem;
}
.shuzi {
font-weight: 600;
}
}
}
.shipin > div {
margin-bottom: 0.1rem;
}
}
.jichusheshi > div {
padding-top: 0.1rem;
border-radius: 0.04rem;
margin-bottom: 0.2rem;
padding-bottom: 0.4rem;
}
.shujuziyuan {
display: flex;
flex-direction: column;
justify-content: center;
padding-top: 0.4rem;
.yunziyuan {
width: 100%;
position: relative;
.shuoming {
position: absolute;
right: 0.2rem;
top: 0.15rem;
font-size: 0.12rem;
}
.yunziyuan-title {
display: flex;
align-items: center;
margin-left: 0.2rem;
.tupian {
}
.title {
margin-left: 0.1rem;
font-weight: 600;
@ -2064,29 +2138,35 @@
cursor: pointer;
}
}
.fenlei {
display: flex;
margin-left: 0.2rem;
margin-right: 0.3rem;
justify-content: space-between;
}
.keyongziyuan {
display: flex;
justify-content: space-between;
margin-left: 0.3rem;
margin-right: 0.3rem;
div {
display: flex;
div:last-child {
font-weight: 600;
}
}
}
}
.yunziyuan > div {
margin-bottom: 0.1rem;
}
}
.shujuziyuan > div {
background: #eaf4ff;
padding-top: 0.1rem;
@ -2094,6 +2174,7 @@
margin-bottom: 0.2rem;
padding-bottom: 0.4rem;
}
.top-title {
display: flex;
justify-content: space-around;
@ -2103,39 +2184,47 @@
color: #000000;
line-height: 0.34rem;
margin-bottom: 0.2rem;
.photo {
display: inline-block;
height: 0.44rem;
width: 0.44rem;
margin-right: 0.1rem;
}
div {
padding: 0 0.1rem;
cursor: pointer;
display: flex;
align-items: center;
}
div:hover {
color: #0087ff;
}
.sel {
font-weight: 600;
color: #0087ff;
border-bottom: 0.02rem solid #0087ff;
}
}
.top-content-father {
width: 100%;
padding: 0 0.2rem 0.2rem 0.2rem;
background: #f3f5f9;
margin-bottom: 0.2rem;
.top-content-son {
background: #fff;
padding: 0.2rem 0;
}
.top-content {
display: flex;
margin-top: 0rem;
span:nth-child(1) {
display: inline-block;
position: relative;
@ -2144,20 +2233,24 @@
text-align: center;
vertical-align: middle;
}
.leixingsumfather {
width: 8.1rem;
display: inline-block;
height: 0.3014rem;
overflow: hidden;
}
.leixingsumfather2 {
width: 9.2rem;
}
.leixingsum {
display: inline-block;
cursor: pointer;
text-align: center;
margin-top: 0.05rem;
.ant-tag-checkable {
width: 1rem;
height: 0.25rem;
@ -2175,11 +2268,13 @@
text-align: center;
line-height: 0.14rem;
}
:deep(.ant-tag-checkable-checked) {
margin-left: 0.15rem;
margin-right: 0.15rem;
text-align: center;
}
.ant-tag-checkable:active,
.ant-tag-checkable-checked {
// width: 0.85rem;
@ -2191,6 +2286,7 @@
border-radius: 0.16rem;
}
}
.active {
font-family: Alibaba PuHuiTi;
font-weight: 500;
@ -2198,32 +2294,38 @@
color: #ffffff;
}
}
.top-content:nth-child(1) {
margin-top: 0rem !important;
}
}
}
}
.shrinkTag {
width: 0.5rem;
display: flex;
justify-content: center;
align-items: flex-end;
margin-bottom: 0.05rem;
span {
cursor: pointer;
}
}
.shrink {
height: unset !important;
overflow: unset !important;
}
.talk-monitor {
position: fixed;
bottom: 0.5rem;
right: 0.1rem;
z-index: 9999;
cursor: pointer;
i {
width: 0.64rem;
height: 0.64rem;
@ -2232,6 +2334,7 @@
background-size: cover;
}
}
.abilitySquare {
width: 0.7rem;
height: 0.7rem;
@ -2247,9 +2350,11 @@
right: 0.1rem;
cursor: pointer;
background: #e3edfc;
p {
margin: 0;
}
p:nth-child(1) {
height: 0.35rem;
width: 0.36rem;
@ -2257,6 +2362,7 @@
background-size: 100% 100%;
background-position: center;
}
ul {
background: #ffffff;
font-family: webfont;
@ -2269,6 +2375,7 @@
left: -0.62rem;
padding: 0;
margin: 0;
li {
list-style: none;
color: #0061ec;
@ -2277,20 +2384,24 @@
padding-left: 0.4rem;
border-bottom: 0.01rem solid #dfd9d9;
}
li:nth-of-type(1) {
background: url('~@/assets/home/appIcon.png') no-repeat;
background-position: 0.18rem center;
}
li:nth-of-type(2) {
background: url('~@/assets/home/AiIcon.png') no-repeat;
background-position: 0.18rem center;
}
li:nth-of-type(3) {
border-bottom: none;
background: url('~@/assets/home/GisIcon.png') no-repeat;
background-position: 0.18rem center;
}
}
ul::after {
content: '';
position: absolute;
@ -2301,6 +2412,7 @@
border: 0.13rem solid;
border-color: #fff transparent transparent transparent;
}
ul::before {
content: '';
position: absolute;
@ -2311,21 +2423,26 @@
border: 0.13rem solid;
border-color: #dfd9d9 transparent transparent transparent;
}
@keyframes ulShowTime {
0% {
transform: scale(0);
}
100% {
transform: scale(0);
}
}
}
.top-content-father {
width: 10.87rem;
padding-left: 0.2rem;
.top-content {
display: flex;
margin-top: 0.23rem;
span:nth-child(1) {
display: inline-block;
position: relative;
@ -2337,18 +2454,21 @@
font-size: 0.16rem;
margin-left: 0.3rem;
}
.leixingsumfather {
width: 7.7rem;
display: inline-block;
height: 0.3014rem;
overflow: hidden;
}
.leixingsum {
// width: 1rem;
display: inline-block;
cursor: pointer;
text-align: center;
margin-top: 0.05rem;
.ant-tag-checkable {
width: 1rem;
height: 0.25rem;
@ -2366,11 +2486,13 @@
text-align: center;
line-height: 0.14rem;
}
:deep(.ant-tag-checkable-checked) {
margin-left: 0.15rem;
margin-right: 0.15rem;
text-align: center;
}
.ant-tag-checkable:active,
.ant-tag-checkable-checked {
width: 0.85rem;
@ -2381,6 +2503,7 @@
border-radius: 0.16rem;
}
}
.active {
font-family: Alibaba PuHuiTi;
font-weight: 500;
@ -2388,10 +2511,12 @@
color: #ffffff;
}
}
.top-content:nth-child(1) {
margin-top: 0.41rem !important;
}
}
:deep(.ant-card-grid) {
overflow: hidden;
white-space: nowrap;

View File

@ -6,16 +6,25 @@
<script setup>
import { reactive, ref, watch, defineProps } from 'vue'
import { useRouter } from 'vue-router'
import { useStore } from 'vuex'
const router = useRouter()
console.log('router------------>', router)
const oldValue1= ref('')
const props = defineProps({
textColor: { type: String, default: '' },
})
const previousPage = () => {
if (window.history.state.back){
window.history.go(-1)
} else{
router.push({
path: '/integrationServices',
})
}
}
</script>
<style scoped lang="less">

View File

@ -73,6 +73,7 @@
v-model:value="roomCerateDate"
placeholder="开始日期"
value-format="YYYY-MM-DD"
:disabled-date="disabledDate"
/>
<a-time-picker
v-model:value="roomCreateTime"
@ -279,6 +280,7 @@
style="width: 72%"
v-model:value="formState.bookDate"
value-format="YYYY-MM-DD"
:disabled-date="disabledDate"
@change="handleChange"
/>
</a-form-item>
@ -1052,7 +1054,7 @@
roomResult.value = true
onSearch()
} else {
tabClick(0, '政务云资源')
tabClick(0, '城市云脑会客厅')
}
}
}
@ -1106,14 +1108,14 @@
content: isXiHaiAn
? ['视频资源']
: username == 'admin'
? ['政务云资源', '视频资源', '城市云脑会客厅', '视频会议']
: ['政务云资源', '视频资源', '城市云脑会客厅'],
? ['城市云脑会客厅', '视频资源', '政务云资源', '视频会议']
: ['城市云脑会客厅', '视频资源', '政务云资源'],
},
])
let clickList = ref([]) //tab
if (!isXiHaiAn) {
tabList.value.push({
title: '政务云资源',
title: '城市云脑会客厅',
content: [],
})
}
@ -1176,6 +1178,7 @@
console.log(res)
visible.value = true
options.src = res.data.data
//options.src ="wss://10.134.135.45:6014/proxy/10.10.20.15:559/openUrl/0kIF7La"
})
// // --
// visible.value = true
@ -1260,6 +1263,11 @@
chengguoSearch()
}
// ----
//
const disabledDate = (current) => {
const time = moment().endOf('day').subtract(1, 'days')
return current && current < time
}
//
const disabledStartHours = () => {
if (roomEndTime.value) {
@ -2508,6 +2516,16 @@
}
.introduction {
width: unset;
button {
height: 30px;
width: 120px;
border: 1px solid #bbd3ef;
border-radius: 6px;
background: #edf4fc;
color: #0087ff;
font-size: 14px;
}
:deep(.ant-form-item-control) {
margin-left: -2.1rem;
}

View File

@ -32,7 +32,7 @@
</div>
<div class="flex-row-center">
<div class="bg cjtd">
<a-image :preview="false" :src="bgImg" />
<img :preview="false" :src="bgImg" />
</div>
<div class="content" style="margin-left: 0.5rem">
@ -562,6 +562,10 @@
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
background-size: 100%;
}
.cjtd img{
width:100%;
height:100%
}
.content {
overflow: auto;

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([

View File

@ -225,14 +225,51 @@
style="cursor: pointer"
@click="
openView(
backUrl + 'resource/hls/getHls/?key=' + val.channelId
'http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=' + val.channelCode+'&protocol=wss&transmode=1&streamType=1'
)
"
>
{{ backUrl + 'resource/hls/getHls/?key=' + val.channelId }}
{{ 'http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=' + val.channelCode+'&protocol=wss&transmode=1&streamType=1' }}
</span>
</div>
</div>
<div class="button-bottom" v-if="item.approveStatus == '通过'">
<a
style="
display: inline-block;
width: 88px;
height: 32px;
line-height: 32px;
text-align: center;
background: #40a9ff;
border-radius: 5px;
font-size: 14px;
color: #fff;
cursor:pointer;
"
href="/static/download/InstallRootCert.exe"
>
证书下载
</a>
<span
style="
display: inline-block;
width: 88px;
height: 32px;
line-height: 32px;
text-align: center;
background: #40a9ff;
border-radius: 5px;
font-size: 14px;
color: #fff;
margin-left:40px;
cursor:pointer;
"
@click="downLoadClient()"
>
客户端下载
</span>
</div>
</div>
</div>
</div>
@ -319,12 +356,18 @@
dept.deptName = infrastructure.deptName
}
const showThis = () => {
console.log('props.refObj.enclosure',props.refObj);
window.open(
window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' +
btoa(encodeURI(props.refObj.enclosure))
btoa(encodeURI(props.refObj))
)
}
//
const downLoadClient = () => {
let url = "https://open.hikvision.com/download/5c67f1e2f05948198c909700?type=10";
window.open( url, '_blank')
}
const showArr = ref([])
console.log(props.refObj, '=====================================')
const endThis = (instanceId) => {
@ -518,6 +561,8 @@
})
}
const openView = (url) => {
console.log('valval',url);
//http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=37021100421318000090&protocol=wss&transmode=1&streamType=1
window.open(url, '_blank')
}
</script>
@ -566,6 +611,10 @@
width: 2.5rem;
}
}
.downButton{
display: flex;
justify-content: normal;
}
}
}
.bottom {
@ -592,7 +641,7 @@
.box {
margin-left: 0.1rem;
.ability {
height: 1.6rem;
height: 2.0rem;
display: flex;
border-bottom: 1px #eee solid;
padding: 0.1rem 0;
@ -700,6 +749,10 @@
position: relative;
}
}
.button-bottom{
margin-top: 0;
margin-bottom: 10px;
}
}
.DownloadAttachment {
position: absolute;

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 = () => {

View File

@ -171,7 +171,7 @@
console.log('编目一级=============>', res.data)
res.data.data.forEach((val) => {
// tabList.value.push(val.name)
if (val.name == '应用资源' || val.name == '组件服务') {
if (val.name == '应用资源' || val.name == '组件服务' || val.name == '融合服务') {
tabList.value.push(val.name)
}
})
@ -357,11 +357,12 @@
})
} else if (delFlag === undefined) {
//
mybus.emit('tabsChange', { flag: item.resourceId })
// mybus.emit('tabsChange', { flag: item.resourceId })
mybus.emit('tabsChange', { flag: id })
router.push({
path: `/integrationServicesDetails`,
query: {
id: item.resourceId,
id: id,
},
})
}