Compare commits
37 Commits
6560466b75
...
4dc1f7190e
Author | SHA1 | Date |
---|---|---|
a0049873 | 4dc1f7190e | |
gongjiale | 1e6707711e | |
a0049873 | 6b143f2f75 | |
a0049873 | 4605fce6b7 | |
a0049873 | 05782a78be | |
a0049873 | 5ad71c3ef1 | |
a0049873 | 95252d1f49 | |
wuhongjian | 90f9f54528 | |
gongjiale | 49d0fd35a7 | |
gongjiale | a221a89a08 | |
gongjiale | c57e81b4b2 | |
wuhongjian | 338f251563 | |
gongjiale | e5e2047a94 | |
gongjiale | 6d00b050fc | |
gongjiale | d482042bcb | |
wuhongjian | 8906f1f60a | |
wuhongjian | efba4dc7ba | |
wuhongjian | 28d3d632ee | |
wuhongjian | 79c97721d8 | |
gongjiale | 9937237959 | |
wuhongjian | 4c59abaa7c | |
a0049873 | ad65db6236 | |
wuhongjian | b7be38f740 | |
wuhongjian | 3a99111ad8 | |
a0049873 | 8b40129164 | |
wuhongjian | dd30c22954 | |
wuhongjian | 1499bcbf35 | |
wuhongjian | dff7426103 | |
DESKTOP-9CT32MA\Administrator | 417c89b9be | |
guoyue | b6e56cc0ea | |
hucongqian | 8b0e6b2519 | |
hucongqian | 3bc9f34921 | |
guoyue | 3277a350f4 | |
guoyue | 421524edaa | |
guoyue | 8bbeadbdc8 | |
guoyue | 1a300b0ce7 | |
guoyue | 25c45024f7 |
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-11 16:30:04
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-10-26 11:05:07
|
||||
* @LastEditTime: 2022-12-13 11:10:46
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
|
|
@ -14,19 +14,21 @@ export default {
|
|||
var showType = this.$route.params.processShowType
|
||||
this.processVisible = true
|
||||
this.$nextTick(() => {
|
||||
if (this.$route.params.processDefinitionKey) {
|
||||
if (this.$route.params.processDefinitionKey && this.$refs.renProcessMultiple) {
|
||||
this.$refs.renProcessMultiple.dataForm.processDefinitionKey = this.$route.params.processDefinitionKey
|
||||
}
|
||||
if (this.$route.params.taskId) {
|
||||
if (this.$route.params.taskId && this.$refs.renProcessMultiple) {
|
||||
this.$refs.renProcessMultiple.dataForm.taskId = this.$route.params.taskId
|
||||
}
|
||||
if (this.$route.params.processInstanceId) {
|
||||
if (this.$route.params.processInstanceId && this.$refs.renProcessMultiple) {
|
||||
this.$refs.renProcessMultiple.dataForm.processInstanceId = this.$route.params.processInstanceId
|
||||
}
|
||||
if (this.$refs.renProcessMultiple) {
|
||||
this.$refs.renProcessMultiple.dataForm.businessKey = this.$route.params.businessKey
|
||||
this.$refs.renProcessMultiple.showType = showType
|
||||
this.$refs.renProcessMultiple.parentObj = this
|
||||
this.$refs.renProcessMultiple.callbacks = callbacks
|
||||
}
|
||||
})
|
||||
},
|
||||
// 关闭当前窗口
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: kongjun qdkongjun@gmail.com
|
||||
* @Date: 2022-06-20 09:29:59
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-10-18 15:46:51
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-09 11:36:33
|
||||
* @FilePath: \back\src\views\main-sidebar.vue
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
-->
|
||||
|
@ -88,12 +88,14 @@ export default {
|
|||
} if (children.id == '1545313754106699777') { // 评论审核
|
||||
children.total = Number(this.numObject.comment_review)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
} if (children.id == '1554294862931562498') { // 会客厅 暂无
|
||||
children.total = 0
|
||||
} if (children.id == '1554294862931562498') { // 会客厅
|
||||
// children.total = 0
|
||||
children.total = Number(this.numObject.meetingroom_book)
|
||||
daibanNum = Number(daibanNum) + Number(children.total)
|
||||
}
|
||||
}
|
||||
menu.total = daibanNum
|
||||
console.log('menu', menu)
|
||||
}
|
||||
}
|
||||
this.$store.state.sidebarMenuList = menuList
|
||||
|
|
|
@ -0,0 +1,568 @@
|
|||
<!-- 知识库 -->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-ability__bsabilityai">
|
||||
<el-form :inline="true" :model="dataForm">
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.name" placeholder="名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getDataList2(dataForm.name)">{{
|
||||
$t('query')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="info" @click="exportHandle()">{{
|
||||
$t('export')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="showPutOnTheShelf()">上架</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="$hasPermission('ability:knowledgeBase:delete')" type="danger" @click="deleteHandle2()">{{
|
||||
$t('deleteBatch')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
|
||||
:key="Math.random()" style="width: 100%" height="650px">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50">
|
||||
</el-table-column>
|
||||
<af-table-column :show-overflow-tooltip="true" width="280" prop="name" label="名称" header-align="center"
|
||||
align="center"></af-table-column>
|
||||
<af-table-column :show-overflow-tooltip="true" width="500" prop="description" label="描述" header-align="center"
|
||||
align="center"></af-table-column>
|
||||
<template v-if="dataList[0] && dataList[0].infoList2">
|
||||
<af-table-column :show-overflow-tooltip="true" v-for="(item, index) in dataList[0].infoList2"
|
||||
:key="index" :label="item.attrType" header-align="center" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ findValue(scope.row.infoList2, item.attrType) }}
|
||||
</template>
|
||||
</af-table-column>
|
||||
</template>
|
||||
|
||||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="$hasPermission('ability:knowledgeBase:update')" type="text" size="small"
|
||||
@click="UpdateData(scope.row)">{{ $t('update') }}</el-button>
|
||||
<el-button v-if="$hasPermission('ability:knowledgeBase:delete')" type="text" size="small"
|
||||
@click="deleteHandle2(scope.row.id)">{{ $t('delete') }}</el-button>
|
||||
<el-button type="text" size="small" @click="showDetail(scope.row)">详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="Number(total)"
|
||||
layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
|
||||
@current-change="pageCurrentChangeHandle">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
<!-- 选择类型 -->
|
||||
<el-dialog title="选择类型" :visible.sync="showPutOnTheShelfFlag" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" :before-close="clear" width="30%">
|
||||
<el-radio v-model="radio" v-for="(data, i) in insertList.children" :label="data.name" :key="i">
|
||||
</el-radio>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="clear">取 消</el-button>
|
||||
<el-button type="primary" @click="showPutOnTheShelfVue">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog :title="submitFrom.id ? '修改' + radio : '上架' + radio" :visible.sync="showPutOnTheShelfFlag2"
|
||||
:close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true" :before-close="clear"
|
||||
width="50%">
|
||||
<putOnTheShelf ref="putOnTheShelf" :putOnTheShelfList="putOnTheShelfList" @changeInfoList="changeInfoList"
|
||||
:type="radio" :typeInput="typeInput" :required="required" :notFilled="notFilled" @submitData="submitData">
|
||||
</putOnTheShelf>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="clear">取 消</el-button>
|
||||
<el-button type="primary" @click="submitData">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mixinViewModule from '@/mixins/view-module'
|
||||
import dictionaries from '@/utils/dictionaries'
|
||||
import qs from 'qs'
|
||||
import { pinyin } from 'pinyin-pro'
|
||||
import putOnTheShelf from '@/views/modules/putOnTheShelf'
|
||||
export default {
|
||||
mixins: [mixinViewModule],
|
||||
data() {
|
||||
return {
|
||||
required: [],
|
||||
// required: ['归属部门', '部门联系人', '部门联系人电话', '应用领域', '共享条件', '算法名称', '算法描述', '图层名称', '图层描述', '组件名称', '组件描述', '组件地址', '服务地址', '服务接口', '接口请求方式', '算法类别'],
|
||||
notFilled: [],
|
||||
insertList: [],
|
||||
putOnTheShelfList: [],
|
||||
radio: '',
|
||||
showPutOnTheShelfFlag: false,
|
||||
showPutOnTheShelfFlag2: false,
|
||||
submitFrom: {
|
||||
type: '知识库',
|
||||
deptId: '',
|
||||
delFlag: 0,
|
||||
infoList: [
|
||||
{
|
||||
attrType: '知识库类型',
|
||||
attrValue: '',
|
||||
delFlag: 0
|
||||
}
|
||||
]
|
||||
},
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/resource/page',
|
||||
getDataListIsPage: true,
|
||||
exportURL: '/ability/bsabilityai/export',
|
||||
deleteURL: '/resource/delete',
|
||||
deleteIsBatch: true
|
||||
},
|
||||
disabled: false,
|
||||
dataForm: {
|
||||
name: '',
|
||||
creator: '',
|
||||
delFlag: 0,
|
||||
selectType: 0,
|
||||
type: '知识库'
|
||||
},
|
||||
typeInput: '知识库',
|
||||
uuidOne: '',
|
||||
uuidTwo: '',
|
||||
uuidSnum: ''
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
components: {
|
||||
putOnTheShelf
|
||||
},
|
||||
created() {
|
||||
this.dataForm.name = ''
|
||||
this.dataForm.type = '知识库'
|
||||
},
|
||||
mounted() {
|
||||
// window.addEventListener('resize', this.a)
|
||||
// this.fullScreen()
|
||||
this.reset()
|
||||
},
|
||||
methods: {
|
||||
reset() {
|
||||
this.$http
|
||||
.get(
|
||||
this.mixinViewModuleOptions.getDataListURL +
|
||||
'?' +
|
||||
qs.stringify({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
creator: '',
|
||||
selectType: 0,
|
||||
delFlag: 0,
|
||||
type: '知识库',
|
||||
name: ''
|
||||
})
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
this.dataForm.name = ''
|
||||
if (res.code !== 0) {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.list
|
||||
: res.data
|
||||
this.dataList.map((item, index) => {
|
||||
const dataListSinforList = []
|
||||
item.infoList.map((itemson, indexson) => {
|
||||
if (
|
||||
itemson.attrType === '知识库类型'
|
||||
) {
|
||||
dataListSinforList.push(itemson)
|
||||
}
|
||||
})
|
||||
this.dataList[index].infoList2 = dataListSinforList
|
||||
})
|
||||
console.log('this.dataList', this.dataList)
|
||||
this.total = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.total
|
||||
: 0
|
||||
if (this.mixinViewModuleOptions.requestCallback) {
|
||||
this.mixinViewModuleOptions.requestCallback(res.data)
|
||||
}
|
||||
this.dataListLoading = false
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
findValue(list, type) {
|
||||
const found = list.find((item) => item.attrType === type)
|
||||
if (found) {
|
||||
return found.attrValue
|
||||
} else {
|
||||
return '暂无数据'
|
||||
}
|
||||
},
|
||||
showDetail(val) {
|
||||
console.log(val)
|
||||
window.open(window.SITE_CONFIG.previewUrl + '#/details?id=' + val.id)
|
||||
},
|
||||
getDataList2(names) {
|
||||
if (names != null) {
|
||||
this.$http
|
||||
.get(
|
||||
this.mixinViewModuleOptions.getDataListURL +
|
||||
'?' +
|
||||
qs.stringify({
|
||||
pageNum: 1,
|
||||
pageSize: this.limit,
|
||||
type: '知识库',
|
||||
creator: '',
|
||||
selectType: 0,
|
||||
delFlag: 0,
|
||||
name: names
|
||||
})
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
if (res.data.list.length !== 0) {
|
||||
this.dataList = res.data.list
|
||||
this.total = this.mixinViewModuleOptions.getDataListIsPage
|
||||
? res.data.total
|
||||
: 0
|
||||
if (this.mixinViewModuleOptions.requestCallback) {
|
||||
this.mixinViewModuleOptions.requestCallback(res.data)
|
||||
}
|
||||
this.dataListLoading = false
|
||||
this.dataList.map((item, index) => {
|
||||
const dataListSinforList = []
|
||||
item.infoList.map((itemson, indexson) => {
|
||||
if (
|
||||
itemson.attrType === '知识库类型'
|
||||
) {
|
||||
dataListSinforList.push(itemson)
|
||||
}
|
||||
})
|
||||
this.dataList[index].infoList2 = dataListSinforList
|
||||
})
|
||||
} else {
|
||||
this.$message.error('未查询到相关信息')
|
||||
this.reset()
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false
|
||||
})
|
||||
} else {
|
||||
this.$message.error('查询信息不能为空')
|
||||
}
|
||||
},
|
||||
// 新上架
|
||||
clear() {
|
||||
console.log('清空----------------------------------------')
|
||||
this.notFilled = []
|
||||
this.showPutOnTheShelfFlag = false
|
||||
this.showPutOnTheShelfFlag2 = false
|
||||
this.insertList = []
|
||||
this.putOnTheShelfList = []
|
||||
this.radio = ''
|
||||
this.submitFrom = {
|
||||
type: '知识库',
|
||||
deptId: '',
|
||||
delFlag: 0,
|
||||
infoList: [
|
||||
{
|
||||
attrType: '知识库类型',
|
||||
attrValue: '',
|
||||
delFlag: 0
|
||||
}
|
||||
]
|
||||
}
|
||||
this.reset()
|
||||
},
|
||||
showPutOnTheShelf() {
|
||||
this.showPutOnTheShelfFlag = true
|
||||
this.$http.get('/category/getCategoryTree').then((res) => {
|
||||
console.log('res------获取知识库类型------>', res);
|
||||
this.insertList = res.data.data.filter(
|
||||
(item) => item.name === '知识库'
|
||||
)[0]
|
||||
})
|
||||
},
|
||||
showPutOnTheShelfVue() {
|
||||
this.showPutOnTheShelfFlag = false
|
||||
this.showPutOnTheShelfFlag2 = true
|
||||
if (this.submitFrom.infoList[0]) {
|
||||
this.submitFrom.infoList[0].attrValue = this.radio
|
||||
}
|
||||
this.putOnTheShelfList = this.insertList.children.filter(
|
||||
(item) => item.name === this.radio
|
||||
)[0].children
|
||||
if (this.putOnTheShelfList[0] && this.putOnTheShelfList[0].children && this.putOnTheShelfList[0].children && this.putOnTheShelfList[0].children[0].children) {
|
||||
this.putOnTheShelfList[0].children[0].children.forEach(v => {
|
||||
if (v.name == '发布日期') {
|
||||
// 日期格式
|
||||
v.type = 'date'
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log('this.putOnTheShelfList------------>', this.putOnTheShelfList[0].children[0].children);
|
||||
},
|
||||
changeInfoList(obj) {
|
||||
console.log(obj, this.submitFrom)
|
||||
this.submitFrom.infoList = this.submitFrom.infoList.filter(
|
||||
(item) => item.attrType !== obj.attrType
|
||||
)
|
||||
this.submitFrom.infoList.push(obj)
|
||||
},
|
||||
|
||||
submitData() {
|
||||
console.log('提交11111111111===============>', this.putOnTheShelfList, this.submitFrom)
|
||||
const arr = []
|
||||
this.putOnTheShelfList.map((item) => {
|
||||
item.children.map((child) => {
|
||||
if (child.children) {
|
||||
child.children.map((val) => {
|
||||
arr.push(val.name)
|
||||
if (
|
||||
val.type === 'input' ||
|
||||
val.type === 'textArea' ||
|
||||
val.type === 'select' ||
|
||||
val.type === 'checkBox' ||
|
||||
val.type === 'radio'
|
||||
) {
|
||||
this.submitFrom.infoList = this.submitFrom.infoList.filter(
|
||||
(item) => item.attrType !== val.name
|
||||
)
|
||||
}
|
||||
switch (val.name) {
|
||||
case '标准名称':
|
||||
case '模型名称':
|
||||
this.submitFrom.name = val.note1
|
||||
break;
|
||||
case '标准简介':
|
||||
case '模型描述':
|
||||
this.submitFrom.description = val.note1
|
||||
break;
|
||||
case '联系方式':
|
||||
this.submitFrom.deptPhone = val.note1
|
||||
break;
|
||||
case '所属产品线':
|
||||
this.submitFrom.deptId = val.note1
|
||||
break
|
||||
default:
|
||||
if (
|
||||
val.type !== 'image' &&
|
||||
val.type !== 'file' &&
|
||||
val.type !== 'video'
|
||||
) {
|
||||
this.submitFrom.infoList.push({
|
||||
attrType: val.name,
|
||||
attrValue: val.note1,
|
||||
delFlag: 0
|
||||
})
|
||||
} else {
|
||||
if (
|
||||
this.submitFrom.infoList.filter(
|
||||
(value) => value.attrType === val.name
|
||||
).length === 0
|
||||
) {
|
||||
this.submitFrom.infoList.push({
|
||||
attrType: val.name,
|
||||
attrValue: val.note1,
|
||||
delFlag: 0,
|
||||
note2: val.note2 || null
|
||||
})
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
this.submitFrom.infoList = this.submitFrom.infoList.sort(
|
||||
(a, b) => arr.indexOf(a.attrType) - arr.indexOf(b.attrType)
|
||||
)
|
||||
if (this.submitFrom.id) {
|
||||
// 解决编辑无组件类型
|
||||
this.submitFrom.infoList.map((val) => {
|
||||
if (val.attrType === '知识库类型') {
|
||||
val.attrValue = this.radio
|
||||
}
|
||||
})
|
||||
}
|
||||
// 去重
|
||||
const newArr = this.submitFrom.infoList.filter(
|
||||
(element, index, self) => {
|
||||
return (
|
||||
self.findIndex((x) => x.attrType === element.attrType) === index
|
||||
)
|
||||
}
|
||||
)
|
||||
this.submitFrom.infoList = newArr
|
||||
this.notFilled = []
|
||||
if (!this.submitFrom.name) {
|
||||
this.notFilled.push('标准名称')
|
||||
this.notFilled.push('模型名称')
|
||||
}
|
||||
if (this.notFilled.length > 0) {
|
||||
this.$message({
|
||||
message: '请填写必填字段!',
|
||||
type: 'warning'
|
||||
})
|
||||
} else {
|
||||
// 表单提交
|
||||
console.log('this.submitFrom.infoList----表单提交-------->', this.submitFrom);
|
||||
let _url = this.submitFrom.id ? '/resource/update' : '/resource/insert?source= b';
|
||||
let _method = this.submitFrom.id ? 'put' : 'post';
|
||||
let _msg = this.submitFrom.id ? '修改' : '上架';
|
||||
this.$http[_method](_url, this.submitFrom)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$message.error(_msg + '失败!')
|
||||
} else {
|
||||
this.$message.success(_msg + '成功!')
|
||||
this.clear()
|
||||
}
|
||||
})
|
||||
.catch(() => { })
|
||||
}
|
||||
},
|
||||
// 新修改
|
||||
UpdateData(item) {
|
||||
this.$http.get('/category/getCategoryTree').then((res) => {
|
||||
this.insertList = res.data.data.filter(
|
||||
(item) => item.name === '知识库'
|
||||
)[0]
|
||||
console.log('this.insertList-------www----->', this.insertList);
|
||||
let _knowType = item.infoList.find((val) => val.attrType === '知识库类型') || {};
|
||||
console.log('_knowType------------>', _knowType);
|
||||
|
||||
this.radio = item.infoList.find(
|
||||
(val) => val.attrType === '知识库类型'
|
||||
).attrValue
|
||||
console.log('item.infoList------------>', item.infoList);
|
||||
console.log('this.radio---www--------->', this.radio);
|
||||
this.putOnTheShelfList = this.insertList.children.filter(
|
||||
(item) => item.name === this.radio
|
||||
)[0].children;
|
||||
if (this.putOnTheShelfList[0] && this.putOnTheShelfList[0].children && this.putOnTheShelfList[0].children && this.putOnTheShelfList[0].children[0].children) {
|
||||
this.putOnTheShelfList[0].children[0].children.forEach(v => {
|
||||
if (v.name == '发布日期') {
|
||||
// 日期格式
|
||||
v.type = 'date'
|
||||
}
|
||||
})
|
||||
}
|
||||
this.putOnTheShelfList.map((parent) => {
|
||||
console.log('parent-------ssss----->', parent);
|
||||
parent.children.map((child) => {
|
||||
if (child.children) {
|
||||
child.children.map((data) => {
|
||||
switch (data.name) {
|
||||
case '模型名称':
|
||||
case '标准名称':
|
||||
data.note1 = item.name
|
||||
break
|
||||
case '标准简介':
|
||||
case '模型描述':
|
||||
data.note1 = item.description
|
||||
break
|
||||
case '联系方式':
|
||||
data.note1 = item.deptPhone
|
||||
break
|
||||
case '所属产品线':
|
||||
data.note1 = item.deptId
|
||||
break
|
||||
default:
|
||||
// eslint-disable-next-line no-case-declarations
|
||||
const obj1 = item.infoList.filter(
|
||||
(val) => val.attrType === data.name
|
||||
)[0]
|
||||
if (obj1) {
|
||||
data.note1 = obj1.attrValue
|
||||
}
|
||||
break
|
||||
}
|
||||
if (
|
||||
data.type === 'image' ||
|
||||
data.type === 'file' ||
|
||||
data.type === 'video'
|
||||
) {
|
||||
const obj1 = item.infoList.filter(
|
||||
(val) => val.attrType === data.name
|
||||
)[0]
|
||||
if (obj1) {
|
||||
data.note2 = obj1.note2
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
this.submitFrom.id = item.id
|
||||
this.showPutOnTheShelfFlag2 = true
|
||||
})
|
||||
},
|
||||
|
||||
// 新删除
|
||||
deleteHandle2(id) {
|
||||
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)
|
||||
} 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.$message({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
this.reset()
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-tooltip__popper {
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
// ::v-deep .el-table .cell {
|
||||
// width: 200px;
|
||||
// }
|
||||
::v-deep .el-upload-list__item-name {
|
||||
width: 400px;
|
||||
}
|
||||
</style>
|
|
@ -12,12 +12,19 @@
|
|||
</el-form-item>
|
||||
|
||||
<!--上架部门-->
|
||||
<el-form-item>
|
||||
<span v-if="this.departmentId === 1 ">上架部门:</span>
|
||||
<span v-else>申请部门:</span>
|
||||
<el-form-item v-if="this.departmentId === 1 ">
|
||||
<span>上架部门:</span>
|
||||
<el-select v-model="abilityDepartment" placeholder="请选择部门" filterable clearable>
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="item in departmentSelects" :key="item.label" :label="item.label" :value="item.value"
|
||||
<el-option v-for="item in departmentSelects1" :key="item.label" :label="item.label" :value="item.value"
|
||||
v-bind="item"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-else>
|
||||
<span >申请部门:</span>
|
||||
<el-select v-model="abilityDepartment" placeholder="请选择部门" filterable clearable>
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="item in provideSelects1" :key="item.label" :label="item.label" :value="item.value"
|
||||
v-bind="item"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -192,7 +199,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="yyzy" label="应用资源" min-width="100%">
|
||||
</el-table-column>
|
||||
<el-table-column prop="hys" label="会客厅" min-width="100%" v-show='departmentId == 2 || departmentId == 4'>
|
||||
<el-table-column prop="hys" label="会客厅" min-width="100%" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="yzy" label="云资源" min-width="100%" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="ysp" label="云视频" min-width="100%" >
|
||||
</el-table-column>
|
||||
<el-table-column prop="zj" label="总计" min-width="100%">
|
||||
</el-table-column>
|
||||
|
@ -265,6 +276,8 @@ export default {
|
|||
checked: false,
|
||||
provideSelects: [],
|
||||
departmentSelects: [],
|
||||
departmentSelects1: [],
|
||||
provideSelects1:[],
|
||||
exportExcel: CONFIGITEM.configData[CONFIGITEM.version].apiURL + '/census/center/export',
|
||||
exportExcelCondition: '',
|
||||
exportExcelType: '',
|
||||
|
@ -381,7 +394,9 @@ export default {
|
|||
{ name: '开发组件', value: 3 },
|
||||
{ name: '业务组件', value: 4 },
|
||||
{ name: '应用资源', value: 5 },
|
||||
{ name: '会客厅', value: 6 }
|
||||
{ name: '会客厅', value: 6 },
|
||||
{ name: '云资源', value: 7 },
|
||||
{ name: '云视频', value: 8 }
|
||||
], // 类型备选列表
|
||||
typeOptions1: [// 能力上架隐藏会客厅
|
||||
{ name: '智能算法', value: 1 },
|
||||
|
@ -401,7 +416,9 @@ export default {
|
|||
this.departmentSelects = []
|
||||
this.provideSelects = []
|
||||
res.data.data.map(val => {
|
||||
this.departmentSelects.push({ label: val.name, value: val.id })
|
||||
this.departmentSelects.push({ label: val.name, value: val.name })
|
||||
this.departmentSelects1.push({ label: val.name, value: val.id })
|
||||
this.provideSelects1.push({ label: val.name, value: val.name })
|
||||
this.provideSelects.push({ label: val.name, value: val.name })
|
||||
})
|
||||
})
|
||||
|
@ -451,7 +468,7 @@ export default {
|
|||
this.detailsVisible = false
|
||||
},
|
||||
handleCurrentChange (val) {
|
||||
console.log('val------------>', val)
|
||||
|
||||
this.currentPage = val
|
||||
// todo
|
||||
if (this.departmentId === 3) {
|
||||
|
@ -461,40 +478,8 @@ export default {
|
|||
this.getTwoDetail(val)
|
||||
}
|
||||
|
||||
// if (this.choseId === 0) {
|
||||
// this.getFirstTree(val)
|
||||
// } else if (this.choseId === 1) {
|
||||
// this.getReleaseTree(val)
|
||||
// }
|
||||
},
|
||||
getTreeName (data) {
|
||||
this.$http
|
||||
.get('/census/center/v3/treeList/', {
|
||||
params: {
|
||||
keywords: data.name,
|
||||
deptId: '1067246875800000066'
|
||||
// pageNo: pageNo || 1,
|
||||
// pageSize: 20
|
||||
}
|
||||
})
|
||||
.then((res) => {
|
||||
this.tableData = res.data.data
|
||||
})
|
||||
},
|
||||
// // 获取部门列表
|
||||
// getALLTree () {
|
||||
// this.$http.get('/census/center/v3/treeList/' ,{
|
||||
// params : {
|
||||
// keywords:this.inputTxt,
|
||||
// deptId:'1067246875800000066',
|
||||
// // pageNo: pageNo || 1,
|
||||
// // pageSize: 20
|
||||
// }
|
||||
// }).then(res => {
|
||||
// this.treeData =res.data.data
|
||||
// // this.tableData =res.data.data
|
||||
// })
|
||||
// },
|
||||
|
||||
|
||||
// 组件服务部门发布情况--改为能力上架统计
|
||||
getFirstTree (page) {
|
||||
|
@ -523,6 +508,14 @@ export default {
|
|||
}
|
||||
})
|
||||
.then((res) => {
|
||||
|
||||
if (res.data.code !== 0) {
|
||||
this.tableData =[]
|
||||
this.tableDataClone = []
|
||||
this.total = 0
|
||||
return this.$message.error("服务器内部异常")
|
||||
|
||||
}else{
|
||||
const result = res.data.data
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
if (!result[i].hasOwnProperty('yyzy')) {
|
||||
|
@ -561,7 +554,9 @@ export default {
|
|||
endDate: this.endDate,
|
||||
resourceName: this.resourceName
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
// 组件服务部门使用情况列表-改为能力使用统计
|
||||
getSecondTree (page) {
|
||||
|
@ -590,6 +585,13 @@ export default {
|
|||
}
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.data.code !== 0) {
|
||||
this.tableData =[]
|
||||
this.tableDataClone = []
|
||||
this.total = 0
|
||||
return this.$message.error("服务器内部异常")
|
||||
|
||||
}else{
|
||||
const result = res.data.data
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
if (!result[i].hasOwnProperty('yyzy')) {
|
||||
|
@ -629,6 +631,7 @@ export default {
|
|||
resourceName: this.resourceName
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 点击查看详情
|
||||
|
@ -701,7 +704,13 @@ export default {
|
|||
}
|
||||
})
|
||||
.then((res) => {
|
||||
console.log('111111', this.tableData, res.data.data)
|
||||
if (res.data.code !== 0) {
|
||||
this.tableData =[]
|
||||
this.tableDataClone = []
|
||||
this.total = 0
|
||||
return this.$message.error("服务器内部异常")
|
||||
|
||||
}else{
|
||||
this.tableData = res.data.data.list
|
||||
this.tableDataClone = res.data.data.list
|
||||
this.total = res.data.data.total
|
||||
|
@ -712,10 +721,12 @@ export default {
|
|||
endDate: this.endDate,
|
||||
resourceName: this.resourceName
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 能力使用明细
|
||||
getTwoDetail (page) {
|
||||
|
||||
var passAndReview = '' // 转变"通过"字段为通过
|
||||
if (this.examineStatus == '-1') {
|
||||
this.status = ''
|
||||
|
@ -745,6 +756,14 @@ export default {
|
|||
}
|
||||
})
|
||||
.then((res) => {
|
||||
|
||||
if (res.data.code !== 0) {
|
||||
this.tableData =[]
|
||||
this.tableDataClone = []
|
||||
this.total = 0
|
||||
return this.$message.error("服务器内部异常")
|
||||
|
||||
}else{
|
||||
this.tableData = res.data.data.list
|
||||
this.tableDataClone = res.data.data.list
|
||||
this.total = res.data.data.total
|
||||
|
@ -756,69 +775,12 @@ export default {
|
|||
resourceName: this.resourceName,
|
||||
provideDept: this.provideDepartment
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
getReleaseTree (page) {
|
||||
this.$http
|
||||
.get('/census/center/selectApplyDeptDetailTypeCountList/', {
|
||||
params: {
|
||||
limit: 5,
|
||||
// page: page || 1,
|
||||
approveStatus: '',
|
||||
type: '',
|
||||
deptId: '',
|
||||
params: '',
|
||||
startDate: ''
|
||||
}
|
||||
})
|
||||
.then((res) => {
|
||||
const result = res.data.data
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
if (!result[i].hasOwnProperty('yyzy')) {
|
||||
result[i].yyzy = 0
|
||||
}
|
||||
if (!result[i].hasOwnProperty('kfzj')) {
|
||||
result[i].kfzj = 0
|
||||
}
|
||||
if (!result[i].hasOwnProperty('znsf')) {
|
||||
result[i].znsf = 0
|
||||
}
|
||||
if (!result[i].hasOwnProperty('tcfw')) {
|
||||
result[i].tcfw = 0
|
||||
}
|
||||
if (!result[i].hasOwnProperty('ywzj')) {
|
||||
result[i].ywzj = 0
|
||||
}
|
||||
if (!result[i].hasOwnProperty('hys')) {
|
||||
result[i].hys = 0
|
||||
}
|
||||
result[i].zj =
|
||||
parseInt(result[i].yyzy) +
|
||||
parseInt(result[i].kfzj) +
|
||||
parseInt(result[i].znsf) +
|
||||
parseInt(result[i].ywzj) +
|
||||
parseInt(result[i].tcfw) +
|
||||
parseInt(result[i].hys)
|
||||
}
|
||||
this.tableData = res.data.data
|
||||
this.total = res.data.data.total
|
||||
})
|
||||
},
|
||||
// 应用资源部门使用情况列表
|
||||
getUsedTree () {
|
||||
this.$http
|
||||
.get('/census/center/v3/resourceReleaseDetails/', {
|
||||
params: {
|
||||
limit: 5,
|
||||
page: 1,
|
||||
// id:'1067246875800000066',
|
||||
resourceType: '应用资源'
|
||||
}
|
||||
})
|
||||
.then((res) => {
|
||||
this.tableData = res.data.data.list
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
handleClick (row) {
|
||||
if (this.choseId === 0) {
|
||||
if (this.departmentId === 1) {
|
||||
|
@ -847,6 +809,8 @@ export default {
|
|||
|
||||
// 根据不同的type查询不同的表格数据
|
||||
handleChose (index) {
|
||||
|
||||
|
||||
this.checked = false
|
||||
this.departmentId = index
|
||||
this.currentPage = 1
|
||||
|
@ -914,6 +878,9 @@ export default {
|
|||
},
|
||||
// 明细按钮函数//明细按钮函数//明细按钮函数//明细按钮函数//明细按钮函数//明细按钮函数
|
||||
goToDetail () {
|
||||
this.abilityDepartment=''
|
||||
this.provideDepartment=''
|
||||
|
||||
this.currentPage = 1
|
||||
this.pageSize = 10
|
||||
this.detailFlag = !this.detailFlag
|
||||
|
@ -928,6 +895,9 @@ export default {
|
|||
},
|
||||
// 返回按钮
|
||||
goToBack () {
|
||||
this.abilityDepartment=''
|
||||
this.provideDepartment=''
|
||||
|
||||
this.checked = false
|
||||
this.currentPage = 1,
|
||||
this.pageSize = 10,
|
||||
|
|
|
@ -59,8 +59,8 @@
|
|||
></el-input>
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="dataForm.enclosure" label="申请附件" prop="enclosure">
|
||||
<button
|
||||
<el-form-item v-show="dataForm.enclosure" label="申请附件">
|
||||
<!-- <button
|
||||
style="
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
|
@ -77,8 +77,20 @@
|
|||
@click="downloadFile(dataForm.enclosure, '申请附件')"
|
||||
>
|
||||
附件下载
|
||||
</button>
|
||||
<!-- <el-button class="DownloadAttachment" @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-button> -->
|
||||
</button> -->
|
||||
<el-button style="
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
margin-right: 10px;
|
||||
background: rgb(237, 244, 252);
|
||||
color: rgb(0, 135, 255);
|
||||
font-size: 14px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgb(187, 211, 239);
|
||||
padding: 0px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
" @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 流程综合组件 -->
|
||||
|
@ -139,6 +151,12 @@ export default {
|
|||
// 表单属性是否可编辑
|
||||
fieldDisabled: false,
|
||||
dataForm: {
|
||||
applyUserName: '',
|
||||
applyUserPhone: '',
|
||||
applyUserDeptName: '',
|
||||
demandSubject: '',
|
||||
detailsField: '',
|
||||
demandDetails: '',
|
||||
id: '',
|
||||
user: '',
|
||||
phone: '',
|
||||
|
@ -146,7 +164,8 @@ export default {
|
|||
area: '',
|
||||
system: '',
|
||||
scene: '',
|
||||
basis: ''
|
||||
basis: '',
|
||||
enclosure: ''
|
||||
},
|
||||
// 审批
|
||||
dialogVisible: false,
|
||||
|
@ -159,7 +178,7 @@ export default {
|
|||
created () {
|
||||
// 将业务KEY赋值给表单
|
||||
this.dataForm.id = this.$route.params.businessKey
|
||||
console.log(this.$route.params)
|
||||
// console.log(this.$route.params)
|
||||
this.init()
|
||||
// 流程回调
|
||||
var callbacks = {
|
||||
|
@ -202,8 +221,10 @@ export default {
|
|||
init () {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.dataForm) {
|
||||
this.$refs.dataForm.resetFields()
|
||||
if (this.dataForm.id) {
|
||||
}
|
||||
if (this.dataForm && this.dataForm.id) {
|
||||
// 如业务KEY已存在,不允许编辑
|
||||
this.fieldDisabled = true
|
||||
this.getInfo()
|
||||
|
|
|
@ -109,31 +109,31 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import mixinViewModule from "@/mixins/view-module";
|
||||
import processModule from "@/mixins/process-module";
|
||||
import mixinViewModule from '@/mixins/view-module'
|
||||
import processModule from '@/mixins/process-module'
|
||||
export default {
|
||||
mixins: [mixinViewModule, processModule],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: "/act/his/getMyHandledInstancePage",
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true,
|
||||
deleteIsBatchKey: "deploymentId",
|
||||
deleteIsBatchKey: 'deploymentId'
|
||||
},
|
||||
dataForm: {
|
||||
processDefinitionId: "",
|
||||
},
|
||||
};
|
||||
processDefinitionId: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
methods: {
|
||||
showDetail(row) {
|
||||
showDetail (row) {
|
||||
if (!row.businessKey) {
|
||||
return this.$message.error(this.$t("task.detailError"));
|
||||
return this.$message.error(this.$t('task.detailError'))
|
||||
}
|
||||
this.getProcDefRouteSet(row, this.forwardDetail);
|
||||
},
|
||||
},
|
||||
};
|
||||
this.getProcDefRouteSet(row, this.forwardDetail)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -115,7 +115,7 @@ export default {
|
|||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage',
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true,
|
||||
deleteIsBatchKey: 'deploymentId'
|
||||
|
|
|
@ -115,7 +115,7 @@ export default {
|
|||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage',
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true,
|
||||
deleteIsBatchKey: 'deploymentId'
|
||||
|
|
|
@ -115,7 +115,7 @@ export default {
|
|||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage',
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true,
|
||||
deleteIsBatchKey: 'deploymentId'
|
||||
|
|
|
@ -115,7 +115,7 @@ export default {
|
|||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage',
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true,
|
||||
deleteIsBatchKey: 'deploymentId'
|
||||
|
|
|
@ -116,7 +116,7 @@ export default {
|
|||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage',
|
||||
getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true,
|
||||
deleteIsBatchKey: 'deploymentId'
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="mod-demo__sysnotice">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getData()">
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.content" dict-type="notice_type" :placeholder="$t('notice.type')"></el-input>
|
||||
<el-input v-model="dataForm.content" dict-type="notice_type" placeholder="请输入关键词"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getData()">{{ $t('query') }}</el-button>
|
||||
|
@ -23,10 +23,17 @@
|
|||
</el-table-column>
|
||||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="180">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="viewHandle(scope.row)">
|
||||
详情
|
||||
<el-button type="text" size="small" @click="update(scope.row)" style="margin-right: 10px;">
|
||||
修改
|
||||
</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row)">{{ $t('delete') }}</el-button>
|
||||
<el-popconfirm
|
||||
title="确定删除这条公告么?"
|
||||
confirm-button-text='是'
|
||||
cancel-button-text='否'
|
||||
@confirm="deleteHandle(scope.row)"
|
||||
>
|
||||
<el-button type="text" slot="reference" size="small" >{{ $t('delete') }}</el-button>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -38,7 +45,7 @@
|
|||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="添加公告"
|
||||
:title="submitData.id?'修改公告':'添加公告'"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:close-on-click-modal="false">
|
||||
|
@ -60,10 +67,11 @@
|
|||
:visible.sync="dialogVisible2"
|
||||
width="30%"
|
||||
:close-on-click-modal="false">
|
||||
<el-input
|
||||
公告周期:<el-input-number v-model="cycle" :min="1" :max="7" style="margin-right:10px;"></el-input-number>天
|
||||
<!-- <el-input
|
||||
placeholder="请输入公告周期(天)"
|
||||
v-model="cycle">
|
||||
</el-input>
|
||||
</el-input> -->
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose">取 消</el-button>
|
||||
<el-button type="primary" @click="submitCycle">确 定</el-button>
|
||||
|
@ -120,11 +128,12 @@ export default {
|
|||
handleClose () {
|
||||
this.dialogVisible = false
|
||||
this.dialogVisible2 = false
|
||||
this.submitData.content = ''
|
||||
this.submitData = {
|
||||
content: ''
|
||||
}
|
||||
this.getCycle()
|
||||
},
|
||||
submit () {
|
||||
console.log(this.submitData)
|
||||
if (this.submitData.content.length < 6) {
|
||||
this.$message({
|
||||
message: '最少发布6个字的公告!',
|
||||
|
@ -132,10 +141,15 @@ export default {
|
|||
})
|
||||
return
|
||||
}
|
||||
this.$http.post('/sysnoticemanagement', this.submitData).then(res => {
|
||||
console.log('获取通知数据', res.data.data)
|
||||
if (this.submitData.id) {
|
||||
this.$http.post('/sysnoticemanagement/update', this.submitData).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
} else {
|
||||
this.$http.post('/sysnoticemanagement', this.submitData).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
}
|
||||
},
|
||||
submitCycle () {
|
||||
this.$http.put('/sys/dict/data', {
|
||||
|
@ -156,23 +170,16 @@ export default {
|
|||
this.getCycle()
|
||||
},
|
||||
deleteHandle (item) {
|
||||
console.log(item)
|
||||
console.log('点击', item)
|
||||
this.$http.post('/sysnoticemanagement/delete', [item.id]).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
viewHandle (row) {
|
||||
// 路由参数
|
||||
const routeParams = {
|
||||
routeName: `${this.$route.name}__${row.id}`,
|
||||
title: this.$t('notice.view1'),
|
||||
path: 'notice/notice-view',
|
||||
params: {
|
||||
id: row.id
|
||||
}
|
||||
}
|
||||
// 动态路由
|
||||
addDynamicRoute(routeParams, this.$router)
|
||||
update (row) {
|
||||
console.log(row)
|
||||
this.submitData.id = row.id
|
||||
this.submitData.content = row.content
|
||||
this.dialogVisible = true
|
||||
}
|
||||
},
|
||||
created () {
|
||||
|
|
|
@ -19,7 +19,7 @@ js:
|
|||
<a-input v-if="type == 'input'" v-model:value="data.note1" :placeholder="'请输入' + name" @change="changeIiem(name,data.note1)"/>
|
||||
<!-- 下拉框 -->
|
||||
<el-select
|
||||
v-else-if="(type === 'select' && name !== '归属部门' && name !== '使用方式') || type == 'radio'"
|
||||
v-else-if="(type === 'select' && name !== '归属部门' && name !== '使用方式' && name !== '所属产品线') || type == 'radio'"
|
||||
style="width: 240px"
|
||||
v-model:value="data.note1"
|
||||
@change="changeIiem(name,data.note1)"
|
||||
|
@ -32,8 +32,8 @@ js:
|
|||
</el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-else-if="(type === 'select' && name === '归属部门')"
|
||||
style="width: 240px"
|
||||
v-else-if="(type === 'select' && (name === '归属部门' || name === '所属产品线'))"
|
||||
style="width:240px"
|
||||
v-model:value="data.note1"
|
||||
filterable
|
||||
placeholder="请输入关键词"
|
||||
|
@ -82,6 +82,11 @@ js:
|
|||
<el-radio v-for="item in options" :label="item.dictLabel" :key="item.dictLabel">{{item.dictLabel}}</el-radio>
|
||||
</el-radio-group> -->
|
||||
<a-textarea v-else-if="type == 'textArea'" @change="changeIiem(name,data.note1)" v-model:value="data.note1" :showCount="true" :maxlength="200" :placeholder="'请填写' + name" />
|
||||
<div class="block" v-else-if="type == 'date'">
|
||||
<el-date-picker v-model="data.note1" type="date" :placeholder="'选择' + name" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
@ -132,7 +137,7 @@ export default {
|
|||
this.options = dataList
|
||||
})
|
||||
.catch(() => {})
|
||||
} else if (this.data.name === '归属部门') {
|
||||
} else if (this.data.name === '归属部门' || this.data.name === '所属产品线') {
|
||||
this.$http.get('/sys/dept/all').then(res => {
|
||||
const dataList = []
|
||||
res.data.data.forEach((element) => {
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'checkBox'" type="checkBox" :data="item" :name="item.name" :options="item.options"></input-select-checkbox>
|
||||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'radio'" type="radio" :data="item" :name="item.name" :options="item.options"></input-select-checkbox>
|
||||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'textArea'" type="textArea" :data="item" :name="item.name"></input-select-checkbox>
|
||||
<input-select-checkbox :changeField='changeField' :list="[]" v-else-if="item.type == 'date'" type="date" :data="item" :name="item.name"></input-select-checkbox>
|
||||
</div>
|
||||
<div class="requiredTips" v-show="notFilled.indexOf(item.name) > -1 && (item.type=='input' || item.type=='textArea') && changeField.indexOf(item.name) == -1">请填写{{item.name}}!</div>
|
||||
<div class="requiredTips" v-show="notFilled.indexOf(item.name) > -1 && (item.type=='select' || item.type=='checkBox' || item.type=='radio') && changeField.indexOf(item.name) == -1">请选择{{item.name}}!</div>
|
||||
|
|
|
@ -0,0 +1,432 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-12-13 15:36:38
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-14 11:52:27
|
||||
* @Description: 审核组管理
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__role">
|
||||
<el-form :inline="true" @keyup.enter.native="getDataList()">
|
||||
<el-form-item>
|
||||
<el-input v-model="name" :placeholder="$t('role.name')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()" type="primary">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addDialog()">{{ $t('add') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="deleteTeam()">{{ $t('deleteBatch') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetHandle()">{{ $t('reset') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
:data="dataList"
|
||||
border
|
||||
@selection-change="dataListSelectionChangeHandle"
|
||||
@sort-change="dataListSortChangeHandle"
|
||||
style="width: 100%;">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="name" :label="$t('role.name')" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="description" label="备注" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="createDate" :label="$t('role.createDate')" header-align="center" align="center" width="180"></el-table-column>
|
||||
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="updateTeam(scope.row)">{{ $t('update') }}</el-button>
|
||||
<el-button type="text" size="small" @click="auditorDialogVisible(scope.row)">审核员管理</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="page"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="limit"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="pageSizeChangeHandle"
|
||||
@current-change="pageCurrentChangeHandle">
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<el-dialog
|
||||
:title="(submitData.id?'修改':'新增')+'审核组'"
|
||||
:visible.sync="addDialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<el-form ref="submitData" :model="submitData" label-width="100px" :rules="rules">
|
||||
<el-form-item label="审核组名称" prop="name">
|
||||
<el-input placeholder="请输入审核组名称" v-model="submitData.name"></el-input>
|
||||
</el-form-item >
|
||||
<el-form-item label="备注" prop="description">
|
||||
<el-input placeholder="请输入备注" v-model="submitData.description"></el-input>
|
||||
</el-form-item >
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose()">取 消</el-button>
|
||||
<el-button type="primary" @click="addAuditTeam()">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
title="审核员管理"
|
||||
:visible.sync="addAuditorDialogVisible"
|
||||
width="70%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<div class="box">
|
||||
<div class="left">
|
||||
<div style="position: relative;">审核人员列表<el-checkbox style="position: absolute;right: 0;" v-model="checked" @change="changeFilter()">仅展示未分配审核员</el-checkbox></div>
|
||||
<el-table
|
||||
:height="400"
|
||||
:data="auditorList"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectAuditorLeft">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50" :selectable="selectable"></el-table-column>
|
||||
<el-table-column prop="real_name" label="姓名" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="name" label="所属部门" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="auditTeamName" label="当前审核组" header-align="center" align="center" v-if="!checked"></el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
background
|
||||
layout="prev, pager, next"
|
||||
:page-size="pageOptionLeft.limit"
|
||||
:total="pageOptionLeft.total"
|
||||
@current-change="currentChangeLeft">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<div class="main">
|
||||
<el-button type="primary" icon="el-icon-arrow-left" @click="delAudiTeam()"></el-button>
|
||||
<el-button type="primary" @click="addAudiTeam()"><i class="el-icon-arrow-right el-icon--right"></i></el-button>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div>已添加审核人员</div>
|
||||
<el-table
|
||||
:height="400"
|
||||
:data="submitData.member"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
@selection-change="handleSelectAuditorRight">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||
<el-table-column prop="name" label="姓名" header-align="center" align="center"></el-table-column>
|
||||
<el-table-column prop="dept_name" label="所属部门" header-align="center" align="center"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose()">取 消</el-button>
|
||||
<el-button type="primary" @click="handleClose()">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mixinViewModule from '@/mixins/view-module'
|
||||
import qs from 'qs'
|
||||
export default {
|
||||
mixins: [mixinViewModule],
|
||||
data () {
|
||||
return {
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: 'audit_team/sysauditteam/page',
|
||||
getDataListIsPage: true,
|
||||
deleteIsBatch: true
|
||||
},
|
||||
name: '',
|
||||
dataForm: {
|
||||
name: ''
|
||||
},
|
||||
submitData: {
|
||||
name: '',
|
||||
description: '',
|
||||
member: []
|
||||
},
|
||||
submitFlag: true,
|
||||
deleteFlag: true,
|
||||
rules: {
|
||||
name: [
|
||||
{ required: true, message: '请输入审核组名称', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
addDialogVisible: false,
|
||||
addAuditorDialogVisible: false,
|
||||
auditorList: [],
|
||||
selectAuditorListLeft: [],
|
||||
selectAuditorListRight: [],
|
||||
pageOptionLeft: {
|
||||
page: 1,
|
||||
limit: 5,
|
||||
total: 0
|
||||
},
|
||||
checked: true
|
||||
}
|
||||
},
|
||||
components: {
|
||||
},
|
||||
methods: {
|
||||
addDialog () {
|
||||
this.addDialogVisible = true
|
||||
},
|
||||
handleClose () {
|
||||
this.addDialogVisible = false
|
||||
this.addAuditorDialogVisible = false
|
||||
this.selectAuditorListLeft = []
|
||||
this.selectAuditorListRight = []
|
||||
this.submitData = {
|
||||
name: '',
|
||||
description: '',
|
||||
member: []
|
||||
}
|
||||
this.pageOptionLeft = {
|
||||
page: 1,
|
||||
limit: 5,
|
||||
total: 0
|
||||
}
|
||||
this.checked = true
|
||||
this.getAuditList()
|
||||
this.resetHandle()
|
||||
},
|
||||
auditorDialogVisible (row) {
|
||||
this.submitData = {
|
||||
id: row.id,
|
||||
name: row.name,
|
||||
description: row.description,
|
||||
member: row.member
|
||||
}
|
||||
this.addAuditorDialogVisible = true
|
||||
},
|
||||
// 新增审核组
|
||||
addAuditTeam () {
|
||||
this.$refs.submitData.validate((valid) => {
|
||||
if (valid) {
|
||||
this.submitFrom()
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
submitFrom (flag) {
|
||||
if (this.submitFlag) {
|
||||
this.submitFlag = false
|
||||
if (this.submitData.id) {
|
||||
this.$http.put('audit_team/sysauditteam', this.submitData).then(res => {
|
||||
if (res.data.msg !== 'success') {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '修改失败'
|
||||
})
|
||||
} else {
|
||||
this.$message.success('修改成功!')
|
||||
}
|
||||
if (!flag || res.data.msg !== 'success') {
|
||||
this.handleClose()
|
||||
this.resetHandle()
|
||||
}
|
||||
if (flag) {
|
||||
this.getAuditList()
|
||||
}
|
||||
this.submitFlag = true
|
||||
})
|
||||
} else {
|
||||
this.$http.post('audit_team/sysauditteam', this.submitData).then(res => {
|
||||
if (res.data.msg !== 'success') {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '修改失败'
|
||||
})
|
||||
} else {
|
||||
this.$message.success('修改成功!')
|
||||
}
|
||||
this.handleClose()
|
||||
this.resetHandle()
|
||||
this.submitFlag = true
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请勿重复操作!'
|
||||
})
|
||||
}
|
||||
},
|
||||
// 删除审核组
|
||||
deleteTeam () {
|
||||
if (this.dataListSelections.length === 0) {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请先选择需要删除的审批组!'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.deleteFlag) {
|
||||
this.deleteFlag = false
|
||||
const ids = []
|
||||
this.dataListSelections.map(val => {
|
||||
ids.push(val.id)
|
||||
})
|
||||
this.$http.delete('audit_team/sysauditteam', { data: ids }).then(res => {
|
||||
if (res.data.msg !== 'success') {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '删除失败'
|
||||
})
|
||||
} else {
|
||||
this.$message.success('删除成功!')
|
||||
}
|
||||
this.resetHandle()
|
||||
this.deleteFlag = true
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请勿重复操作!'
|
||||
})
|
||||
}
|
||||
},
|
||||
// 修改审核组信息
|
||||
updateTeam (row) {
|
||||
this.submitData = {
|
||||
id: row.id,
|
||||
name: row.name,
|
||||
description: row.description,
|
||||
member: row.member
|
||||
}
|
||||
this.addDialogVisible = true
|
||||
},
|
||||
// 选择审核员
|
||||
handleSelectAuditorLeft (val) {
|
||||
this.selectAuditorListLeft = val
|
||||
},
|
||||
handleSelectAuditorRight (val) {
|
||||
this.selectAuditorListRight = val
|
||||
},
|
||||
resetHandle () {
|
||||
this.dataForm.name = ''
|
||||
this.$nextTick(() => {
|
||||
this.getDataList()
|
||||
})
|
||||
},
|
||||
getAuditList () {
|
||||
this.$http.get('/sys/user/auditingUserPage?' + qs.stringify({
|
||||
page: this.pageOptionLeft.page,
|
||||
limit: this.pageOptionLeft.limit,
|
||||
filter: this.checked
|
||||
})).then(res => {
|
||||
this.auditorList = res.data.data.list
|
||||
this.pageOptionLeft.total = res.data.data.total
|
||||
})
|
||||
},
|
||||
currentChangeLeft (val) {
|
||||
this.pageOptionLeft.page = val
|
||||
this.getAuditList()
|
||||
},
|
||||
// 添加到审核组
|
||||
addAudiTeam () {
|
||||
if (this.selectAuditorListLeft.length === 0) {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请选择审核人员!'
|
||||
})
|
||||
return
|
||||
}
|
||||
// const arr = []
|
||||
// const str = ''
|
||||
// const addArr = []
|
||||
this.selectAuditorListLeft.map(val => {
|
||||
// if (val.auditTeamName) {
|
||||
// arr.push({
|
||||
// name: val.real_name,
|
||||
// auditor: val.auditTeamName
|
||||
// })
|
||||
// str += val.real_name + ';'
|
||||
// }
|
||||
// addArr.push({
|
||||
// id: val.id,
|
||||
// name: val.real_name,
|
||||
// dept_name: val.name
|
||||
// })
|
||||
this.submitData.member.push({
|
||||
id: val.id,
|
||||
name: val.real_name,
|
||||
dept_name: val.name
|
||||
})
|
||||
})
|
||||
// if (arr.length > 0) {
|
||||
// this.$message({
|
||||
// type: 'warning',
|
||||
// message: str.substring(0, str.length - 1) + '已有审核组!'
|
||||
// })
|
||||
// return
|
||||
// }
|
||||
// this.submitData.member.push(...addArr)
|
||||
this.submitFrom(true)
|
||||
},
|
||||
// 删除审核人员
|
||||
delAudiTeam () {
|
||||
if (this.selectAuditorListRight.length === 0) {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请选择审核人员!'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.selectAuditorListRight.map(val => {
|
||||
this.submitData.member = this.submitData.member.filter(member => member.id !== val.id)
|
||||
})
|
||||
this.submitFrom(true)
|
||||
},
|
||||
selectable (row) {
|
||||
return !row.inAuditTeam
|
||||
},
|
||||
changeFilter () {
|
||||
this.pageOptionLeft.page = 1
|
||||
this.getAuditList()
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getAuditList()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
// :deep(.el-form-item__label::before){
|
||||
// line-height: 40px;
|
||||
// }
|
||||
.box{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
.left{
|
||||
width: 600px;
|
||||
div:nth-of-type(1){
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.main{
|
||||
margin: 200px 30px 0;
|
||||
}
|
||||
.right{
|
||||
width: 500px;
|
||||
div:nth-of-type(1){
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
:deep(.el-pagination){
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
|
@ -73,12 +73,12 @@ export default {
|
|||
AddOrUpdate
|
||||
},
|
||||
methods: {
|
||||
resetHandle() {
|
||||
this.dataForm.name = '';
|
||||
resetHandle () {
|
||||
this.dataForm.name = ''
|
||||
this.$nextTick(() => {
|
||||
this.getDataList()
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -61,8 +61,8 @@ export default {
|
|||
},
|
||||
{
|
||||
title: '单位',
|
||||
key: 'deptContacts',
|
||||
dataIndex: 'deptContacts',
|
||||
key: 'deptName',
|
||||
dataIndex: 'deptName',
|
||||
width: 144
|
||||
},
|
||||
{
|
||||
|
|
|
@ -28,10 +28,9 @@
|
|||
v-if="dataInfo.type === 'todo'"
|
||||
:content="
|
||||
(item.userDeptName || '--') +
|
||||
'提交“' +
|
||||
(item.applyTitle || '--') +
|
||||
'”' +
|
||||
(item.processDefinitionName || '--') +
|
||||
'提交' +
|
||||
(item.applyTitle?'“'+item.applyTitle+'”': '') +
|
||||
(item.processDefinitionName || item.resourceType || '--') +
|
||||
(item.processDefinitionName !== '能力申请' &&
|
||||
item.processDefinitionName !== '能力需求申请'
|
||||
? '申请'
|
||||
|
@ -46,10 +45,9 @@
|
|||
<!-- {{ `${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}` }} -->
|
||||
{{
|
||||
(item.userDeptName || '--') +
|
||||
'提交“' +
|
||||
(item.applyTitle || '--') +
|
||||
'”' +
|
||||
(item.processDefinitionName || '--') +
|
||||
'提交' +
|
||||
(item.applyTitle?'“'+item.applyTitle+'”': '') +
|
||||
(item.processDefinitionName || item.resourceType || '--') +
|
||||
(item.processDefinitionName !== '能力申请' &&
|
||||
item.processDefinitionName !== '能力需求申请'
|
||||
? '申请'
|
||||
|
@ -64,7 +62,7 @@
|
|||
:content="
|
||||
(item.startUserDeptName || '--') +
|
||||
'提交的' +
|
||||
(item.processDefinitionName || '--') +
|
||||
(item.processDefinitionName || item.resourceType || '--') +
|
||||
(item.processDefinitionName !== '能力申请' &&
|
||||
item.processDefinitionName !== '能力需求申请'
|
||||
? '申请'
|
||||
|
@ -79,7 +77,7 @@
|
|||
{{
|
||||
(item.startUserDeptName || '--') +
|
||||
'提交的' +
|
||||
(item.processDefinitionName || '--') +
|
||||
(item.processDefinitionName || item.resourceType || '--') +
|
||||
(item.processDefinitionName !== '能力申请' &&
|
||||
item.processDefinitionName !== '能力需求申请'
|
||||
? '申请'
|
||||
|
|
|
@ -90,7 +90,7 @@ export default {
|
|||
created () {
|
||||
bus.$off('workInit')
|
||||
bus.$on('workInit', () => {
|
||||
console.log("刷新工作台===================")
|
||||
console.log('刷新工作台===================')
|
||||
this.getToDo()
|
||||
this.getHasToDo()
|
||||
})
|
||||
|
@ -140,7 +140,7 @@ export default {
|
|||
// page: 1
|
||||
// }
|
||||
this.loadingHasToDo = true
|
||||
this.$http.get('/act/his/getMyHandledInstancePage?page=1&limit=5').then(res => {
|
||||
this.$http.get('/act/his/getMyHandledInstancePage?ended=1?page=1&limit=5').then(res => {
|
||||
this.loadingHasToDo = false
|
||||
this.hasToDodoData.list = res.data.data.list || []
|
||||
this.hasToDodoData.num = res.data.data.total || 0
|
||||
|
|
|
@ -89,6 +89,12 @@ z-index: 10010!important;
|
|||
.ant-tooltip{
|
||||
z-index: 10010!important;
|
||||
}
|
||||
.ant-image-preview-wrap {
|
||||
z-index: 10012!important;
|
||||
}
|
||||
.ant-picker-dropdown {
|
||||
z-index: 10010!important;
|
||||
}
|
||||
|
||||
.model-container .confirmChrome {
|
||||
width: 140px;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-05-06 11:12:0011-18 19:07:53
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-08 13:43:12
|
||||
* @LastEditTime: 2022-12-15 13:48:34
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -173,4 +173,7 @@
|
|||
body {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
img {
|
||||
pointer-events: none;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -338,6 +338,23 @@ export function getDeviceDetail(deviceId) {
|
|||
})
|
||||
}
|
||||
|
||||
// 政务云资源列表
|
||||
export function getZwyBusinessList(params) {
|
||||
return request({
|
||||
url: '/act/task/getZwyBusinessList',
|
||||
method: 'get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
// 政务云资源列详情
|
||||
export function getZwyBusinessInfoById(params) {
|
||||
return request({
|
||||
url: '/act/task/getZwyBusinessInfoById',
|
||||
method: 'get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
// 催办
|
||||
export function treminders(data) {
|
||||
return request({
|
||||
|
|
|
@ -264,7 +264,7 @@
|
|||
:placeholder="'请输入' + placeHolderWords(item.name)+',单位为元'"
|
||||
@change="changeIiem(item.name, item.note1)"
|
||||
/>
|
||||
<span style="color:red"> (仅用于测算为部门节省资金)</span>
|
||||
<span style="color:red"> (单位为元,*仅用于测算为部门节省资金)</span>
|
||||
</div>
|
||||
<a-input
|
||||
:maxLength="1000"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-09 15:41:19
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-28 17:05:33
|
||||
* @LastEditTime: 2022-12-13 14:31:13
|
||||
* @Description: 上传组件
|
||||
-->
|
||||
<template>
|
||||
|
@ -34,7 +34,7 @@
|
|||
</a-upload>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps } from 'vue'
|
||||
import { ref, defineProps, onBeforeUnmount } from 'vue'
|
||||
// import { baseURL } from '@/config'
|
||||
import { message, Upload } from 'ant-design-vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
|
@ -48,6 +48,9 @@
|
|||
emitFlag: { type: String, default: '' },
|
||||
busType: { type: Number, default: 0 },
|
||||
})
|
||||
message.config({
|
||||
top: `70px`,
|
||||
})
|
||||
console.log('window.SITE_CONFIG.apiURL', window.SITE_CONFIG.apiURL)
|
||||
const apiURL = window.SITE_CONFIG.apiURL
|
||||
const fileList = ref([])
|
||||
|
@ -89,8 +92,7 @@
|
|||
console.log(flag)
|
||||
if (!flag) {
|
||||
message.error(`${file.name} 不是${props.type}类型`)
|
||||
}
|
||||
if (!isLt10M) {
|
||||
} else if (!isLt10M) {
|
||||
message.error(`${file.name} 超出100M的大小`)
|
||||
flag = false
|
||||
}
|
||||
|
@ -154,6 +156,9 @@
|
|||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.data.note1 = ''
|
||||
}
|
||||
onBeforeUnmount(() => {
|
||||
message.destroy()
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.upload-list-inline {
|
||||
|
|
|
@ -238,7 +238,7 @@
|
|||
</a-list>
|
||||
</div>
|
||||
<!-- 关闭需求申请 -->
|
||||
<div class="closeMain" @click="closeMain">X</div>
|
||||
<div class="closeMain" @click="closeMain" v-show="!hiddenBackFlag">X</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -286,6 +286,7 @@
|
|||
const evaluateData = ref([])
|
||||
|
||||
const myComment = ref('')
|
||||
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
||||
const evaluateSubmit = () => {
|
||||
if (myComment.value === '') {
|
||||
message.error('请填写评价!')
|
||||
|
@ -388,6 +389,7 @@
|
|||
// const formData = computed(() => store.getters['home/demandDetailsData'])
|
||||
// formName.value = formData.value
|
||||
const id = router.currentRoute.value.query.id
|
||||
|
||||
getDemandForm(id).then((res) => {
|
||||
console.log(res, 'res')
|
||||
const { data } = res.data
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-08 11:32:22
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-12-12 11:10:53
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-15 13:48:45
|
||||
* @Description: 应用详情页
|
||||
-->
|
||||
<template>
|
||||
|
|
|
@ -0,0 +1,133 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-08 11:32:22
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-07-18 18:48:32
|
||||
* @Description: 模型详情页
|
||||
-->
|
||||
<template>
|
||||
<div class="application-details" :class="{ fixed2: scrollTop >= 600 }">
|
||||
<!-- 头部基本信息 -->
|
||||
<layer-service-top-details :dataList="dataList.data"></layer-service-top-details>
|
||||
<!-- tab导航 -->
|
||||
<GovernanceModelNavigation :dataList="dataList.data" :class="{ fixed: scrollTop >= 600 }" :selectNow="selectNow">
|
||||
</GovernanceModelNavigation>
|
||||
<!-- 输入数据 -->
|
||||
<GovernanceModelInputData :dataList="dataList.data" id="governance-model-input-data" class="scrollBox" title="输入数据">
|
||||
</GovernanceModelInputData>
|
||||
<!-- 输出数据 -->
|
||||
<GovernanceModelInputData :dataList="dataList.data" id="governance-model-output-data" class="scrollBox"
|
||||
title="输出数据">
|
||||
</GovernanceModelInputData>
|
||||
<!-- 模型规则 -->
|
||||
<GovernanceModelInputData :dataList="dataList.data" id="governance-model-rule" class="scrollBox" title="模型规则">
|
||||
</GovernanceModelInputData>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import GovernanceModelNavigation from '@/views/detailsAll/components/GovernanceModel/GovernanceModelNavigation.vue' // Tab信息
|
||||
import LayerServiceTopDetails from '@/views/detailsAll/components/GovernanceModel/GovernanceModelTopDetails.vue' // 头部基本信息
|
||||
import GovernanceModelInputData from '@/views/detailsAll/components/GovernanceModel/GovernanceModelInputData.vue' // 输入数据、输出数据、模型规则
|
||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import {
|
||||
updateVisits,
|
||||
selectOne,
|
||||
browsingInsert,
|
||||
} from '@/api/home';
|
||||
import mybus from '@/myplugins/mybus';
|
||||
|
||||
const router = useRouter()
|
||||
const scrollTop = ref(0)
|
||||
const domArr = ref([])
|
||||
const selectNow = ref('')
|
||||
const dataList = reactive({ data: {} })
|
||||
const id = router.currentRoute.value.query.id
|
||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||
let loading = ref(true)
|
||||
document.documentElement.style.transition = 'all 0.3s ease'
|
||||
document.documentElement.scrollTop = 0
|
||||
document.body.style.transition = 'all 0.3s ease'
|
||||
document.body.scrollTop = 0
|
||||
|
||||
mybus.on('flyToView', (id) => {
|
||||
let top = document.querySelector('#' + id).offsetTop - 50
|
||||
document.documentElement.scrollTop = top
|
||||
document.body.scrollTop = top
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
window.addEventListener('scroll', () => {
|
||||
domArr.value = document.querySelectorAll('.scrollBox')
|
||||
scrollTop.value =
|
||||
document.documentElement.scrollTop || document.body.scrollTop
|
||||
for (let i = 0; i < domArr.value.length; i++) {
|
||||
if (i === 0) {
|
||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||
selectNow.value = domArr.value[i].id
|
||||
}
|
||||
} else if (i == domArr.value.length - 1) {
|
||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||
selectNow.value = domArr.value[i].id
|
||||
}
|
||||
} else {
|
||||
if (
|
||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||
) {
|
||||
selectNow.value = domArr.value[i].id
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
const init = (id) => {
|
||||
if (id) {
|
||||
selectOne(id).then((res) => {
|
||||
dataList.data = res.data.data
|
||||
console.log('初始化详情页=========================>', dataList.data)
|
||||
const arrList = ref([])
|
||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
||||
arrList.value.push(id)
|
||||
updateVisits({
|
||||
id: res.data.data.id,
|
||||
visits: res.data.data.visits || '0',
|
||||
}).then(() => {
|
||||
window.sessionStorage.setItem(
|
||||
'visits',
|
||||
JSON.stringify(arrList.value)
|
||||
)
|
||||
})
|
||||
}
|
||||
// 浏览记录
|
||||
browsingInsert({
|
||||
resourceId: res.data.data.id,
|
||||
}).then(() => {
|
||||
console.log('浏览记录+1')
|
||||
})
|
||||
})
|
||||
} else if (obj) {
|
||||
dataList.data = obj
|
||||
console.log('预览==============', obj)
|
||||
}
|
||||
}
|
||||
init(id)
|
||||
onBeforeUnmount(() => {
|
||||
mybus.off('flyToView')
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.fixed {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -9.56rem;
|
||||
}
|
||||
|
||||
.fixed2>div:nth-of-type(3) {
|
||||
margin-top: 0.84rem;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,138 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-08 11:32:22
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-07-18 18:48:32
|
||||
* @Description: 数据标准详情页
|
||||
-->
|
||||
<template>
|
||||
<div class="application-details" :class="{ fixed2: scrollTop >= 600 }">
|
||||
<!-- 头部基本信息 -->
|
||||
<layer-service-top-details
|
||||
:dataList="dataList.data"
|
||||
></layer-service-top-details>
|
||||
<!-- 数据标准信息-->
|
||||
<layer-service-information
|
||||
:dataList="dataList.data"
|
||||
id="service-information"
|
||||
class="scrollBox"
|
||||
></layer-service-information>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import LayerServiceInformation from '@/views/detailsAll/components/StandardDoc/StandardDocInformation.vue' //数据标准信息
|
||||
import LayerServiceTopDetails from '@/views/detailsAll/components/StandardDoc/StandardDocTopDetails.vue' //头部基本信息
|
||||
import { ref, onMounted, onBeforeUnmount, reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import {
|
||||
updateVisits,
|
||||
selectOne,
|
||||
queryPartAppByKeyId2,
|
||||
browsingInsert,
|
||||
} from '@/api/home'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
const router = useRouter()
|
||||
const scrollTop = ref(0)
|
||||
const domArr = ref([])
|
||||
const selectNow = ref('')
|
||||
const dataList = reactive({ data: {} })
|
||||
const id = router.currentRoute.value.query.id
|
||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||
const associatedComponents = ref([{ type: '应用资源', dataList: [] }])
|
||||
let loading = ref(true)
|
||||
document.documentElement.style.transition = 'all 0.3s ease'
|
||||
document.documentElement.scrollTop = 0
|
||||
document.body.style.transition = 'all 0.3s ease'
|
||||
document.body.scrollTop = 0
|
||||
mybus.on('flyToView', (id) => {
|
||||
let top = document.querySelector('#' + id).offsetTop - 50
|
||||
// console.log(top, document.querySelector('#' + id).offsetTop)
|
||||
document.documentElement.scrollTop = top
|
||||
document.body.scrollTop = top
|
||||
})
|
||||
onMounted(() => {
|
||||
// console.clear()
|
||||
window.addEventListener('scroll', () => {
|
||||
domArr.value = document.querySelectorAll('.scrollBox')
|
||||
scrollTop.value =
|
||||
document.documentElement.scrollTop || document.body.scrollTop
|
||||
for (let i = 0; i < domArr.value.length; i++) {
|
||||
if (i === 0) {
|
||||
if (scrollTop.value <= domArr.value[i + 1].offsetTop - 50) {
|
||||
selectNow.value = domArr.value[i].id
|
||||
}
|
||||
} else if (i == domArr.value.length - 1) {
|
||||
if (scrollTop.value >= domArr.value[i].offsetTop - 50) {
|
||||
selectNow.value = domArr.value[i].id
|
||||
}
|
||||
} else {
|
||||
if (
|
||||
scrollTop.value >= domArr.value[i].offsetTop - 50 &&
|
||||
scrollTop.value <= domArr.value[i + 1].offsetTop - 50
|
||||
) {
|
||||
selectNow.value = domArr.value[i].id
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
const init = (id) => {
|
||||
if (id) {
|
||||
selectOne(id).then((res) => {
|
||||
// console.clear()
|
||||
dataList.data = res.data.data
|
||||
console.log('初始化详情页=========================>', dataList.data)
|
||||
const arrList = ref([])
|
||||
arrList.value = JSON.parse(window.sessionStorage.getItem('visits'))
|
||||
if (arrList.value && arrList.value.indexOf(id) === -1) {
|
||||
arrList.value.push(id)
|
||||
updateVisits({
|
||||
id: res.data.data.id,
|
||||
visits: res.data.data.visits || '0',
|
||||
}).then(() => {
|
||||
window.sessionStorage.setItem(
|
||||
'visits',
|
||||
JSON.stringify(arrList.value)
|
||||
)
|
||||
})
|
||||
}
|
||||
// 浏览记录
|
||||
browsingInsert({
|
||||
resourceId: res.data.data.id,
|
||||
}).then(() => {
|
||||
console.log('浏览记录+1')
|
||||
})
|
||||
})
|
||||
associatedComponents.value.map((item, index) => {
|
||||
let queryPartAppByKeyIdParams = {
|
||||
keyId: id,
|
||||
}
|
||||
queryPartAppByKeyId2(queryPartAppByKeyIdParams).then((res) => {
|
||||
associatedComponents.value[index].dataList = res.data.data
|
||||
loading.value = false
|
||||
})
|
||||
})
|
||||
} else if (obj) {
|
||||
dataList.data = obj
|
||||
console.log('预览==============', obj)
|
||||
}
|
||||
}
|
||||
init(id)
|
||||
onBeforeUnmount(() => {
|
||||
mybus.off('flyToView')
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.fixed {
|
||||
position: fixed;
|
||||
z-index: 2000;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -9.56rem;
|
||||
}
|
||||
|
||||
.fixed2 > div:nth-of-type(3) {
|
||||
margin-top: 0.84rem;
|
||||
}
|
||||
</style>
|
|
@ -59,7 +59,12 @@
|
|||
</template>
|
||||
申请使用
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addShoppingCart()">
|
||||
<a-button type="primary" @click="addShoppingCart()" :style="{
|
||||
cursor:
|
||||
!props.dataList.isInShoppingCart
|
||||
? 'pointer'
|
||||
: 'not-allowed',
|
||||
}">
|
||||
<!-- <template #icon>
|
||||
<shopping-cart-outlined />
|
||||
</template> -->
|
||||
|
|
|
@ -62,6 +62,12 @@
|
|||
<a-button
|
||||
v-if="!dataList.fuseResourceList"
|
||||
type="primary"
|
||||
:style="{
|
||||
cursor:
|
||||
!props.dataList.isInShoppingCart
|
||||
? 'pointer'
|
||||
: 'not-allowed',
|
||||
}"
|
||||
@click="addShoppingCart()"
|
||||
>
|
||||
<!-- <template #icon><shopping-cart-outlined /></template> -->
|
||||
|
|
|
@ -56,7 +56,8 @@
|
|||
</template>
|
||||
申请使用
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addShoppingCart()">
|
||||
<a-button type="primary" @click="addShoppingCart()"
|
||||
:style="{ cursor: !props.dataList.isInShoppingCart ? 'pointer': 'not-allowed', }">
|
||||
<!-- <template #icon>
|
||||
<shopping-cart-outlined />
|
||||
</template> -->
|
||||
|
|
|
@ -54,7 +54,8 @@
|
|||
<template #icon><form-outlined /></template>
|
||||
申请使用
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addShoppingCart()">
|
||||
<a-button type="primary" @click="addShoppingCart()"
|
||||
:style="{ cursor: !props.dataList.isInShoppingCart ? 'pointer': 'not-allowed', }">
|
||||
<!-- <template #icon><shopping-cart-outlined /></template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入购物车
|
||||
</a-button>
|
||||
|
|
|
@ -0,0 +1,178 @@
|
|||
<!--
|
||||
* @Author: hisense.hucongqian
|
||||
* @Date: 2022-12-01 08:56:28
|
||||
* @LastEditors: hisense.hucongqian
|
||||
* @LastEditTime: 2022-12-01 11:54:40
|
||||
* @Description: 模型规则
|
||||
-->
|
||||
<template>
|
||||
<!-- 图层信息 -->
|
||||
<div class="usage-mode" >
|
||||
<div class="tltle">
|
||||
<DetalsTitle title="模型规则" type="INFORMATION"></DetalsTitle>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-left">
|
||||
<div class="content-left-content">
|
||||
<ul>
|
||||
<li v-for="(item, index) in dataFromLeft.content" :key="index">
|
||||
<img :src="iconImg" />
|
||||
<span>{{ item.type }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.values }}</template>
|
||||
<p>{{ item.values }}</p>
|
||||
</a-tooltip>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
const iconImg = require('@/assets/detailsAll/layer-service/layer-icon.png')
|
||||
const dataFromLeft = ref({
|
||||
content: [
|
||||
{
|
||||
type: '服务类型',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '输入数据',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '详细规则',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
//数据初始化
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '服务类型' ||
|
||||
item.attrType === '输入数据' ||
|
||||
item.attrType === '详细规则'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
console.log('dataList', props.dataList)
|
||||
props.dataList.infoList.map((item) => {
|
||||
handleInfoList(item)
|
||||
})
|
||||
}
|
||||
}
|
||||
const handleInfoList = (item) => {
|
||||
if (item.attrType === '输入数据') {
|
||||
dataFromLeft.value.content[0].values = item.attrValue || '123'
|
||||
} else if (item.attrType === '输出数据') {
|
||||
dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '详细规则') {
|
||||
dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||
}
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = val.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '服务类型' ||
|
||||
item.attrType === '输入数据' ||
|
||||
item.attrType === '详细规则'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
console.log('dataList', val)
|
||||
val.infoList.map((item) => {
|
||||
handleInfoList(item)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.usage-mode {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
||||
.content-left {
|
||||
height: 2.8rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-bg.png');
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 0.35rem;
|
||||
|
||||
.content-left-content {
|
||||
width: 100%;
|
||||
font-size: 0.2rem;
|
||||
color: rgba(33, 41, 86, 0.8);
|
||||
line-height: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 0.25rem;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0 0.2rem 0 0;
|
||||
width: 0.15rem;
|
||||
height: 0.15rem;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 0.2rem;
|
||||
color: #666666;
|
||||
display: block;
|
||||
margin-right: 0.5rem;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.2rem;
|
||||
color: #333333;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,108 @@
|
|||
<!--
|
||||
* @Author: hisense.hucongqian
|
||||
* @Date: 2022-12-01 08:56:28
|
||||
* @LastEditors: hisense.hucongqian
|
||||
* @LastEditTime: 2022-12-01 11:54:40
|
||||
* @Description: 模型详情信息
|
||||
-->
|
||||
|
||||
<template>
|
||||
<!-- 信息 -->
|
||||
<div class="usage-mode">
|
||||
<div class="tltle">
|
||||
<DetalsTitle :title="title" type="INFORMATION"></DetalsTitle>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-left">
|
||||
{{ title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
const iconImg = require('@/assets/detailsAll/layer-service/layer-icon.png')
|
||||
|
||||
// 数据初始化
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
title: { type: String, default: '' },
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.usage-mode {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
||||
.content-left {
|
||||
height: 2.8rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-bg.png');
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 0.35rem;
|
||||
|
||||
.content-left-content {
|
||||
width: 100%;
|
||||
font-size: 0.2rem;
|
||||
color: rgba(33, 41, 86, 0.8);
|
||||
line-height: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 0.25rem;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0 0.2rem 0 0;
|
||||
width: 0.15rem;
|
||||
height: 0.15rem;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 0.2rem;
|
||||
color: #666666;
|
||||
display: block;
|
||||
margin-right: 0.5rem;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.2rem;
|
||||
color: #333333;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,88 @@
|
|||
<!--
|
||||
* @Description: 知识库--模型规则导航
|
||||
-->
|
||||
<template>
|
||||
<div class="governance-navigation" v-if="navList.length > 0">
|
||||
<template v-for="nav in navList" :key="nav.key">
|
||||
<div class="nav" :class="{ select: nav.key == select }" @click="selectNav(nav.key)">
|
||||
{{ nav.name }}
|
||||
<span class="line"></span>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps, watch, getCurrentInstance } from 'vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
// 获取当前路由地址
|
||||
const navList = ref([
|
||||
{
|
||||
name: '输入数据',
|
||||
key: 'governance-model-input-data',
|
||||
},
|
||||
{
|
||||
name: '输出数据',
|
||||
key: 'governance-model-output-data',
|
||||
},
|
||||
{
|
||||
name: '详细规则',
|
||||
key: 'governance-model-rule',
|
||||
},
|
||||
])
|
||||
const select = ref('governance-model-input-data')
|
||||
|
||||
const props = defineProps({
|
||||
selectNow: { type: String, default: '' },
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
|
||||
watch(
|
||||
() => props.selectNow,
|
||||
(newValue) => {
|
||||
select.value = newValue
|
||||
}
|
||||
)
|
||||
console.log('selectNow------------>', props.selectNow);
|
||||
|
||||
const selectNav = (key) => {
|
||||
select.value = key
|
||||
mybus.emit('flyToView', select.value)
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.governance-navigation {
|
||||
width: 1912px;
|
||||
height: 84px;
|
||||
line-height: 80px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
font-size: 24px;
|
||||
color: #666;
|
||||
background: #fff;
|
||||
padding: 0 300px;
|
||||
box-shadow: 0px 5px 10px #f2f3fb;
|
||||
position: relative;
|
||||
|
||||
.nav {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.line {
|
||||
width: 40px;
|
||||
height: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.select {
|
||||
color: #526aff;
|
||||
|
||||
.line {
|
||||
background: #526aff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,189 @@
|
|||
<!--
|
||||
* @Author: hisense.hucongqian
|
||||
* @Date: 2022-12-01 08:56:28
|
||||
* @LastEditors: hisense.hucongqian
|
||||
* @LastEditTime: 2022-12-01 11:54:40
|
||||
* @Description: 模型详情页头部
|
||||
-->
|
||||
<template>
|
||||
<div class="algorithm-top-details">
|
||||
<div class="left">
|
||||
<div class="top">
|
||||
<a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.name }}</template>
|
||||
<span class="name">
|
||||
{{ props.dataList.name }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
<div class="label-content">
|
||||
<p class="lable-father">
|
||||
<span class="label" v-if="props.dataList.type">
|
||||
{{ props.dataList.type }}
|
||||
</span>
|
||||
<span class="label" v-if="componentType">
|
||||
{{ componentType }}
|
||||
</span>
|
||||
<span class="label" v-if="props.dataList.shareType">
|
||||
{{ props.dataList.shareType }}
|
||||
</span>
|
||||
<span class="label" v-if="props.dataList.shareCondition">
|
||||
{{ props.dataList.shareCondition }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<a-tooltip placement="top">
|
||||
<template #title>应用领域:{{ businessArea }}</template>
|
||||
<div>应用领域:{{ businessArea }}</div>
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.description }}</template>
|
||||
<div>
|
||||
{{ props.dataList.description }}
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { defineProps, ref, watch } from 'vue'
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const businessArea = ref('')
|
||||
const componentType = ref('')
|
||||
if (props.dataList.infoList) {
|
||||
businessArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用场景'
|
||||
)[0].attrValue
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '知识库类型'
|
||||
)[0]
|
||||
if (obj) {
|
||||
componentType.value = obj.attrValue
|
||||
}
|
||||
}
|
||||
console.log('val==========>', props.dataList.infoList)
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
console.log('val==========>', val)
|
||||
debugger
|
||||
businessArea.value = props.dataList.infoList.filter(
|
||||
(item) => item.attrType === '应用场景'
|
||||
)[0].attrValue
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(item) => item.attrType === '知识库类型'
|
||||
)[0]
|
||||
if (obj) {
|
||||
componentType.value = obj.attrValue
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.algorithm-top-details {
|
||||
height: 6rem;
|
||||
padding: 1.8rem 0 0;
|
||||
background: url('~@/assets/detailsAll/sf_top_bg.png') no-repeat;
|
||||
background-size: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.left {
|
||||
max-width: 7.2rem;
|
||||
color: #fff;
|
||||
margin-right: 0.8rem;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
.name {
|
||||
font-size: 0.4rem;
|
||||
margin-right: 0.2rem;
|
||||
max-width: 6rem;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
.label-content {
|
||||
position: relative;
|
||||
}
|
||||
.lable-father {
|
||||
position: absolute;
|
||||
min-width: 5.5rem;
|
||||
right: -5.5rem;
|
||||
top: 0;
|
||||
}
|
||||
.label {
|
||||
padding: 0.01rem 0.1rem;
|
||||
margin-right: 0.1rem;
|
||||
border-radius: 0.13rem;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
}
|
||||
.main {
|
||||
margin-top: 0.4rem;
|
||||
font-size: 0.18rem;
|
||||
line-height: 0.34rem;
|
||||
& > div:nth-of-type(1) {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
& > div:nth-of-type(2) {
|
||||
margin-top: 0.2rem;
|
||||
max-height: 1rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
margin-top: 0.4rem;
|
||||
display: flex;
|
||||
.ant-btn {
|
||||
height: 0.5rem;
|
||||
margin-right: 0.2rem;
|
||||
background: #ff8b55;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.ant-btn:nth-of-type(1) {
|
||||
width: 1.8rem;
|
||||
}
|
||||
.ant-btn:nth-of-type(2) {
|
||||
width: 2.2rem;
|
||||
}
|
||||
.ant-btn:nth-of-type(3) {
|
||||
width: 1.45rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.right {
|
||||
width: 5.8rem;
|
||||
height: 4rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-top-bg.png')
|
||||
no-repeat;
|
||||
background-size: 100%;
|
||||
margin-top: -0.4rem;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -62,6 +62,8 @@
|
|||
(val) => val.attrType == '外部服务地址'
|
||||
).length === 0
|
||||
"
|
||||
:style="{ cursor: !props.dataList.isInShoppingCart ? 'pointer': 'not-allowed', }"
|
||||
|
||||
>
|
||||
<!-- <template #icon><shopping-cart-outlined /></template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入申购车
|
||||
|
|
|
@ -0,0 +1,203 @@
|
|||
<!--
|
||||
* @Author: hisense.hucongqian
|
||||
* @Date: 2022-12-01 08:56:28
|
||||
* @LastEditors: hisense.hucongqian
|
||||
* @LastEditTime: 2022-12-01 11:54:40
|
||||
* @Description:数据标准规则
|
||||
-->
|
||||
<template>
|
||||
<!-- 图层信息 -->
|
||||
<div class="usage-mode" >
|
||||
<div class="tltle">
|
||||
<DetalsTitle title="标准详情" type="INFORMATION"></DetalsTitle>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-left">
|
||||
<div class="content-left-content">
|
||||
<ul>
|
||||
<li v-for="(item, index) in dataFromLeft.content" :key="index">
|
||||
<img :src="iconImg" />
|
||||
<span>{{ item.type }}</span>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.values }}</template>
|
||||
<p>{{ item.values }}</p>
|
||||
</a-tooltip>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
const iconImg = require('@/assets/detailsAll/layer-service/layer-icon.png')
|
||||
const dataFromLeft = ref({
|
||||
content: [
|
||||
{
|
||||
type: '标准简介',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '发布日期',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '归属单位',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '实际应用系统',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '责任人',
|
||||
values: '',
|
||||
},
|
||||
{
|
||||
type: '联系方式',
|
||||
values: '',
|
||||
},
|
||||
],
|
||||
})
|
||||
//数据初始化
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const flag = ref(true)
|
||||
if (props.dataList.infoList) {
|
||||
debugger
|
||||
let obj = props.dataList.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '标准简介' ||
|
||||
item.attrType === '发布日期' ||
|
||||
item.attrType === '归属单位' ||
|
||||
item.attrType === '实际应用系统'||
|
||||
item.attrType === '责任人'||
|
||||
item.attrType === '联系方式'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
console.log('dataList', props.dataList)
|
||||
props.dataList.infoList.map((item) => {
|
||||
handleInfoList(item)
|
||||
})
|
||||
}
|
||||
}
|
||||
const handleInfoList = (item) => {
|
||||
if (item.attrType === '标准简介') {
|
||||
dataFromLeft.value.content[0].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '发布日期') {
|
||||
dataFromLeft.value.content[1].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '归属单位') {
|
||||
dataFromLeft.value.content[2].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '实际应用系统') {
|
||||
dataFromLeft.value.content[3].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '责任人') {
|
||||
dataFromLeft.value.content[4].values = item.attrValue || '--'
|
||||
} else if (item.attrType === '联系方式') {
|
||||
dataFromLeft.value.content[5].values = item.attrValue || '--'
|
||||
}
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = val.infoList.filter(
|
||||
(item) =>
|
||||
item.attrType === '标准简介' ||
|
||||
item.attrType === '发布日期' ||
|
||||
item.attrType === '归属单位' ||
|
||||
item.attrType === '实际应用系统'||
|
||||
item.attrType === '责任人'||
|
||||
item.attrType === '联系方式'
|
||||
)[0]
|
||||
if (!obj) {
|
||||
flag.value = false
|
||||
} else {
|
||||
console.log('dataList', val)
|
||||
val.infoList.map((item) => {
|
||||
handleInfoList(item)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.usage-mode {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 0.8rem 0;
|
||||
|
||||
.content {
|
||||
margin-top: 0.3rem;
|
||||
display: flex;
|
||||
|
||||
.content-left {
|
||||
height: 3.5rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-bg.png');
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 0.1rem;
|
||||
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 0.35rem;
|
||||
|
||||
.content-left-content {
|
||||
width: 100%;
|
||||
font-size: 0.2rem;
|
||||
color: rgba(33, 41, 86, 0.8);
|
||||
line-height: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.3rem;
|
||||
line-height: 0.25rem;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 0 0.2rem 0 0;
|
||||
width: 0.15rem;
|
||||
height: 0.15rem;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 0.2rem;
|
||||
color: #666666;
|
||||
display: block;
|
||||
margin-right: 0.5rem;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
font-size: 0.2rem;
|
||||
color: #333333;
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,169 @@
|
|||
<!--
|
||||
* @Author: hisense.hucongqian
|
||||
* @Date: 2022-12-01 11:56:28
|
||||
* @LastEditors: hisense.hucongqian
|
||||
* @LastEditTime: 2022-12-01 11:54:40
|
||||
* @Description:数据标准详情页头部
|
||||
-->
|
||||
<template>
|
||||
<div class="algorithm-top-details">
|
||||
<div class="left">
|
||||
<div class="top">
|
||||
<a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.name }}</template>
|
||||
<span class="name">
|
||||
{{ props.dataList.name }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
<div class="label-content">
|
||||
<p class="lable-father">
|
||||
<span class="label" v-if="props.dataList.type">
|
||||
{{ props.dataList.type }}
|
||||
</span>
|
||||
<span class="label" v-if="componentType">
|
||||
{{ componentType }}
|
||||
</span>
|
||||
<span class="label" v-if="props.dataList.shareType">
|
||||
{{ props.dataList.shareType }}
|
||||
</span>
|
||||
<span class="label" v-if="props.dataList.shareCondition">
|
||||
{{ props.dataList.shareCondition }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<a-tooltip placement="top">
|
||||
<template #title>应用领域:{{ businessArea }}</template>
|
||||
<div>应用领域:{{ businessArea }}</div>
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.description }}</template>
|
||||
<div>
|
||||
{{ props.dataList.description }}
|
||||
</div>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { defineProps, ref, watch } from 'vue'
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const businessArea = ref('')
|
||||
const componentType = ref('')
|
||||
if (props.dataList.infoList) {
|
||||
}
|
||||
console.log('val==========>', props.dataList.infoList)
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.algorithm-top-details {
|
||||
height: 6rem;
|
||||
padding: 1.8rem 0 0;
|
||||
background: url('~@/assets/detailsAll/sf_top_bg.png') no-repeat;
|
||||
background-size: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.left {
|
||||
max-width: 7.2rem;
|
||||
color: #fff;
|
||||
margin-right: 0.8rem;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
span {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
.name {
|
||||
font-size: 0.4rem;
|
||||
margin-right: 0.2rem;
|
||||
max-width: 6rem;
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
.label-content {
|
||||
position: relative;
|
||||
}
|
||||
.lable-father {
|
||||
position: absolute;
|
||||
min-width: 5.5rem;
|
||||
right: -5.5rem;
|
||||
top: 0;
|
||||
}
|
||||
.label {
|
||||
padding: 0.01rem 0.1rem;
|
||||
margin-right: 0.1rem;
|
||||
border-radius: 0.13rem;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
}
|
||||
.main {
|
||||
margin-top: 0.4rem;
|
||||
font-size: 0.18rem;
|
||||
line-height: 0.34rem;
|
||||
& > div:nth-of-type(1) {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
& > div:nth-of-type(2) {
|
||||
margin-top: 0.2rem;
|
||||
max-height: 1rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
margin-top: 0.4rem;
|
||||
display: flex;
|
||||
.ant-btn {
|
||||
height: 0.5rem;
|
||||
margin-right: 0.2rem;
|
||||
background: #ff8b55;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.2rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.ant-btn:nth-of-type(1) {
|
||||
width: 1.8rem;
|
||||
}
|
||||
.ant-btn:nth-of-type(2) {
|
||||
width: 2.2rem;
|
||||
}
|
||||
.ant-btn:nth-of-type(3) {
|
||||
width: 1.45rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.right {
|
||||
width: 5.8rem;
|
||||
height: 4rem;
|
||||
background: url('~@/assets/detailsAll/layer-service/layer-top-bg.png')
|
||||
no-repeat;
|
||||
background-size: 100%;
|
||||
margin-top: -0.4rem;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1006,7 +1006,6 @@
|
|||
paramsGetResources,
|
||||
flag
|
||||
)
|
||||
|
||||
getAppResources()
|
||||
}
|
||||
//跳转链接
|
||||
|
@ -1167,10 +1166,8 @@
|
|||
}
|
||||
console.log('selectSubType------------>', selectSubType)
|
||||
console.log('ListContent.records------------>', ListContent.records)
|
||||
|
||||
ListContent.records.forEach((val) => {
|
||||
console.log('val-----ddd------->', val)
|
||||
|
||||
if (!val) {
|
||||
return
|
||||
}
|
||||
|
@ -1202,7 +1199,6 @@
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
// 智能算法-特殊处理
|
||||
if (whoShow1.value.itShowXiHaiAn) {
|
||||
if (!storageSearchInfo) {
|
||||
|
@ -1341,7 +1337,6 @@
|
|||
globalData.data = []
|
||||
}
|
||||
select = router.currentRoute.value.query.select
|
||||
|
||||
if (
|
||||
(select == '应用资源' &&
|
||||
(paramsGetResources.orderField == '' ||
|
||||
|
@ -1649,7 +1644,6 @@
|
|||
val.createTime = val.createTime.split('.')[0]
|
||||
val.createDate = val.createTime // 发布时间
|
||||
})
|
||||
|
||||
console.log('接口数据', data)
|
||||
resourceList.data = data || []
|
||||
console.log('接口数据2', resourceList.data)
|
||||
|
@ -1820,7 +1814,6 @@
|
|||
listKey.value++
|
||||
}
|
||||
}
|
||||
|
||||
// 如果有搜索条件但是没有类型 全局搜索
|
||||
if (str && !router.currentRoute.value.query.select) {
|
||||
globalSearch()
|
||||
|
@ -2029,11 +2022,9 @@
|
|||
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;
|
||||
|
@ -2054,17 +2045,14 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.resultListSearchInput {
|
||||
margin-left: 0.1rem;
|
||||
|
||||
:deep(.ant-input) {
|
||||
width: 4rem;
|
||||
height: 0.32rem;
|
||||
background: #fff;
|
||||
border-radius: 0.02rem;
|
||||
}
|
||||
|
||||
:deep(.ant-input-search-button) {
|
||||
width: 0.8rem;
|
||||
height: 0.32rem;
|
||||
|
@ -2076,12 +2064,10 @@
|
|||
line-height: 0.32rem;
|
||||
margin-left: 0.1rem;
|
||||
}
|
||||
|
||||
:deep(.ant-input-group-addon) {
|
||||
left: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.button-reset {
|
||||
border: 0;
|
||||
outline: none;
|
||||
|
@ -2098,7 +2084,6 @@
|
|||
margin-left: 2.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.details-pageconetent {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
@ -2108,7 +2093,6 @@
|
|||
margin-top: 0.67rem;
|
||||
position: relative;
|
||||
background: rgba(245, 243, 243, 0.3);
|
||||
|
||||
.details-pageconetent-left {
|
||||
// max-height: 8.5rem;
|
||||
height: 100%;
|
||||
|
@ -2122,7 +2106,6 @@
|
|||
margin-right: 0.17rem;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.top {
|
||||
min-height: 7.2rem;
|
||||
position: relative;
|
||||
|
@ -2134,33 +2117,26 @@
|
|||
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;
|
||||
|
@ -2168,44 +2144,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;
|
||||
}
|
||||
|
||||
.shipin {
|
||||
width: 100%;
|
||||
|
||||
.shipin-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.tupian {
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-left: 0.1rem;
|
||||
font-weight: 600;
|
||||
|
@ -2213,58 +2180,47 @@
|
|||
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;
|
||||
|
@ -2272,35 +2228,29 @@
|
|||
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;
|
||||
|
@ -2308,7 +2258,6 @@
|
|||
margin-bottom: 0.2rem;
|
||||
padding-bottom: 0.4rem;
|
||||
}
|
||||
|
||||
.top-title {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
@ -2318,47 +2267,39 @@
|
|||
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;
|
||||
|
@ -2367,7 +2308,6 @@
|
|||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.leixingsumfather {
|
||||
margin-left: -13px;
|
||||
width: 9.4rem;
|
||||
|
@ -2375,17 +2315,14 @@
|
|||
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;
|
||||
|
@ -2403,13 +2340,11 @@
|
|||
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;
|
||||
|
@ -2421,7 +2356,6 @@
|
|||
border-radius: 0.16rem;
|
||||
}
|
||||
}
|
||||
|
||||
.active {
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-weight: 500;
|
||||
|
@ -2429,38 +2363,32 @@
|
|||
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;
|
||||
|
@ -2469,7 +2397,6 @@
|
|||
background-size: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.abilitySquare {
|
||||
width: 0.7rem;
|
||||
height: 0.7rem;
|
||||
|
@ -2485,11 +2412,9 @@
|
|||
right: 0.1rem;
|
||||
cursor: pointer;
|
||||
background: #e3edfc;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
p:nth-child(1) {
|
||||
height: 0.35rem;
|
||||
width: 0.36rem;
|
||||
|
@ -2497,7 +2422,6 @@
|
|||
background-size: 100% 100%;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
ul {
|
||||
background: #ffffff;
|
||||
font-family: webfont;
|
||||
|
@ -2510,7 +2434,6 @@
|
|||
left: -0.62rem;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
color: #0061ec;
|
||||
|
@ -2519,24 +2442,20 @@
|
|||
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;
|
||||
|
@ -2547,7 +2466,6 @@
|
|||
border: 0.13rem solid;
|
||||
border-color: #fff transparent transparent transparent;
|
||||
}
|
||||
|
||||
ul::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
|
@ -2558,26 +2476,21 @@
|
|||
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;
|
||||
|
@ -2589,21 +2502,18 @@
|
|||
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;
|
||||
|
@ -2621,13 +2531,11 @@
|
|||
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;
|
||||
|
@ -2638,7 +2546,6 @@
|
|||
border-radius: 0.16rem;
|
||||
}
|
||||
}
|
||||
|
||||
.active {
|
||||
font-family: Alibaba PuHuiTi;
|
||||
font-weight: 500;
|
||||
|
@ -2646,12 +2553,10 @@
|
|||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.top-content:nth-child(1) {
|
||||
margin-top: 0.41rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-card-grid) {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
// }
|
||||
.pageResource {
|
||||
position: absolute;
|
||||
top: 0.68rem;
|
||||
top: 1.2rem;
|
||||
left: -5.37rem;
|
||||
width: 176%;
|
||||
height: 90.5%;
|
||||
|
|
|
@ -92,7 +92,9 @@
|
|||
<div class="bottom" @click="goToView()">查看更多</div>
|
||||
</div>
|
||||
<div class="info">
|
||||
<i class="img"></i>
|
||||
<i class="img" @click="
|
||||
jumpPage({ name: '个人中心', key: 'personalCenter' }, 'headerClick')
|
||||
"></i>
|
||||
<a-tooltip placement="bottom">
|
||||
<template #title>
|
||||
<span>{{ user.realName }}</span>
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
<IntegrationServiceOrder
|
||||
ref="integrationServiceOrderDom"
|
||||
v-if="
|
||||
selectCardsname === '融合服务' || selectCardsname === '赋能场景'
|
||||
selectCardsname === '融合服务' ||
|
||||
(selectCardsname === '赋能场景' && selectCardsname !== '知识库')
|
||||
"
|
||||
></IntegrationServiceOrder>
|
||||
<ul v-else>
|
||||
|
@ -56,6 +57,7 @@
|
|||
"
|
||||
>
|
||||
<a-image
|
||||
style="max-height: 1.25rem"
|
||||
:width="106"
|
||||
:preview="false"
|
||||
:src="
|
||||
|
@ -310,8 +312,10 @@
|
|||
>
|
||||
<span>
|
||||
{{
|
||||
item.infoList.filter((val) => val.attrType == '组件类型')[0]
|
||||
.attrValue
|
||||
item.infoList.filter(
|
||||
(val) =>
|
||||
val.attrType == '组件类型' || val.attrType == '知识库类型'
|
||||
)[0].attrValue
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -337,7 +341,7 @@
|
|||
</div>
|
||||
<div class="btn">
|
||||
<div class="bottom" v-if="selectCardsname !== '基础设施'">
|
||||
<div>
|
||||
<div v-if="selectCardsname !== '知识库'">
|
||||
<!-- <div
|
||||
v-if="
|
||||
selectCardsname !== '数据资源' &&
|
||||
|
@ -395,7 +399,7 @@
|
|||
></span>
|
||||
</template>
|
||||
</div>
|
||||
<div class="sc">
|
||||
<div class="sc" v-if="selectCardsname !== '知识库'">
|
||||
<span
|
||||
class="sc-down"
|
||||
v-if="item.isCollect == 'false'"
|
||||
|
@ -426,6 +430,13 @@
|
|||
>
|
||||
查看详情
|
||||
</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
@click.stop="downLoad(item)"
|
||||
v-if="whoShow1.itShowQingDao && selectCardsname == '知识库'"
|
||||
>
|
||||
下载
|
||||
</a-button>
|
||||
<a-button
|
||||
style="margin-left: 10px"
|
||||
v-show="
|
||||
|
@ -738,13 +749,21 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
// 下载
|
||||
const downLoad = (item) => {
|
||||
const a = document.createElement('a')
|
||||
a.href = item.infoList.filter(
|
||||
(val) => val.attrType === '标准文件'
|
||||
)[0].attrValue
|
||||
// a.download = item.infoList.filter(val =>val.attrType === '标准文件')[0].attrValue
|
||||
a.click()
|
||||
}
|
||||
|
||||
/**更换查询条件
|
||||
* val: 排序字段值
|
||||
* isFromFather: 是否来自父组件传值
|
||||
*/
|
||||
const changeCondition = (item, isFromFather = false) => {
|
||||
|
||||
console.log('item, isFromFather------------>', item, isFromFather)
|
||||
let newType = item.orderType == 'DESC' ? 'ASC' : 'DESC'
|
||||
if (isFromFather) {
|
||||
|
@ -919,6 +938,7 @@
|
|||
imgSrcZnsf,
|
||||
imgSrcKfzj,
|
||||
imgSrcYwzj,
|
||||
downLoad,
|
||||
}
|
||||
},
|
||||
beforeUnmount() {
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-14 09:43:49
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-06-20 18:44:52
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-12-12 15:36:59
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div id="apply-container">
|
||||
<home-header :showView="showView" :target-flag = "targetFlag"></home-header>
|
||||
<detail-back></detail-back>
|
||||
<home-header :showView="showView" :target-flag="targetFlag"></home-header>
|
||||
<detail-back v-show="!hiddenBackFlag"></detail-back>
|
||||
<div class="detail-content">
|
||||
<details-view v-if="showView === 'details-view'"></details-view>
|
||||
<algorithm-details
|
||||
|
@ -30,7 +30,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HomeHeader from '@/views/home/components/header'
|
||||
import { defineComponent, reactive, ref } from 'vue'
|
||||
|
@ -56,7 +55,7 @@
|
|||
DeveloperComponents,
|
||||
BusinessDetails,
|
||||
LayerService,
|
||||
detailBack
|
||||
detailBack,
|
||||
},
|
||||
setup() {
|
||||
const formState = reactive({
|
||||
|
@ -66,7 +65,6 @@
|
|||
applyPurpose: '',
|
||||
applySystem: '',
|
||||
})
|
||||
|
||||
const options = ref([
|
||||
{
|
||||
value: '政法委',
|
||||
|
@ -95,9 +93,11 @@
|
|||
])
|
||||
const router = useRouter()
|
||||
const id = router.currentRoute.value.query.id
|
||||
// 是否隐藏回退按钮
|
||||
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
||||
const obj = JSON.parse(window.sessionStorage.getItem('preview'))
|
||||
let showView = ref('')
|
||||
const targetFlag= ref(true)
|
||||
const targetFlag = ref(true)
|
||||
const init = () => {
|
||||
if (id) {
|
||||
selectOne(id).then((res) => {
|
||||
|
@ -178,11 +178,11 @@
|
|||
init,
|
||||
router,
|
||||
id,
|
||||
hiddenBackFlag,
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="less"></style>
|
||||
<style>
|
||||
html,
|
||||
|
@ -195,7 +195,7 @@
|
|||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.detail-content{
|
||||
margin-top:90px;
|
||||
.detail-content {
|
||||
margin-top: 90px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -142,7 +142,7 @@
|
|||
let obj = {
|
||||
title: val.type,
|
||||
total: val.total,
|
||||
show: val.type === '市级' ? true : false,
|
||||
show: val.type === '市级' || val.type === '区级' ? true : false,
|
||||
select: false,
|
||||
key: val.type,
|
||||
children: [],
|
||||
|
@ -252,8 +252,6 @@
|
|||
}
|
||||
}
|
||||
const showToolTip = (e) => {
|
||||
console.log('鼠标移入', e, e.target.clientWidth, e.target.scrollWidth)
|
||||
debugger
|
||||
if (e.target.clientWidth < 200) {
|
||||
e.target.style.pointerEvents = 'none' // 阻止鼠标事件
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<template>
|
||||
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
|
||||
<home-header></home-header>
|
||||
<detail-back></detail-back>
|
||||
<detail-back v-show="!hiddenBackFlag"></detail-back>
|
||||
<!-- 头部基本信息 -->
|
||||
<application-top-details
|
||||
:dataList="detailInfoObj"
|
||||
|
@ -190,6 +190,7 @@
|
|||
const infrastructureCount = ref(0)
|
||||
const componentCount = ref(0)
|
||||
const id = router.currentRoute.value.query.id
|
||||
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
||||
document.documentElement.style.transition = 'all 0.3s ease'
|
||||
document.documentElement.scrollTop = 0
|
||||
document.body.style.transition = 'all 0.3s ease'
|
||||
|
@ -562,9 +563,9 @@
|
|||
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.cjtd img{
|
||||
width:100%;
|
||||
height:100%
|
||||
.cjtd img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.content {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-30 17:43:43
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-08 15:20:23
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-12-12 21:27:02
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-07-12 09:42:44
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-11-26 14:47:12
|
||||
* @LastEditTime: 2022-12-12 15:37:17
|
||||
* @Description:我的申请 能力申请 查看详情
|
||||
-->
|
||||
<template>
|
||||
|
@ -503,6 +503,7 @@
|
|||
path: '/details', // 跳转的页面路由
|
||||
query: {
|
||||
id: id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(applypage.href, '_blank')
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
<template>
|
||||
<div class="top">
|
||||
<div class="title">基本信息</div>
|
||||
<div class="main">
|
||||
<div>
|
||||
<p class="item">
|
||||
<span>业务名称:{{baseInfo.BUSINESS_NAME}}</span>
|
||||
</p>
|
||||
<p class="item">
|
||||
<span>业务id :{{baseInfo.BSNUM}}</span>
|
||||
</p>
|
||||
<p class="item">
|
||||
<span>状态:{{baseInfo.STATUS}}</span>
|
||||
</p>
|
||||
<p class="item">
|
||||
<span>申请时间: {{baseInfo.CREATE_TIME}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top">
|
||||
<div class="title">申请资源</div>
|
||||
|
||||
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }">
|
||||
<template #bodyCell="{ column, text }">
|
||||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { onMounted, defineProps, ref } from 'vue'
|
||||
import {
|
||||
getZwyBusinessInfoById
|
||||
} from '@/api/personalCenter'
|
||||
const props = defineProps({
|
||||
BSNUM: { type: String, default: '' },
|
||||
baseInfo: { type: Object, default: null },
|
||||
|
||||
})
|
||||
const BSNUM = ref('')
|
||||
const baseInfo = ref({})
|
||||
BSNUM.value = props.BSNUM
|
||||
baseInfo.value = props.baseInfo
|
||||
const columns = ref([
|
||||
{
|
||||
title: '资源类型',
|
||||
dataIndex: 'SOURCE_TYPE',
|
||||
}, {
|
||||
title: '资源名称',
|
||||
dataIndex: 'NAME',
|
||||
}, {
|
||||
title: '备注',
|
||||
dataIndex: 'INFO',
|
||||
},
|
||||
])
|
||||
const xVideoList = ref([
|
||||
|
||||
])
|
||||
onMounted(() => {
|
||||
|
||||
const params={
|
||||
"id":BSNUM.value
|
||||
}
|
||||
getZwyBusinessInfoById(params).then(
|
||||
(res) => {
|
||||
xVideoList.value = res.data.data
|
||||
num.value = []
|
||||
total.value = res.data.data.total
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.title {
|
||||
font-size: 0.18rem;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.2rem;
|
||||
padding-left: 0.1rem;
|
||||
border-left: 0.06rem #0058e1 solid;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
// .resource{
|
||||
// margin: 0.1rem 0.2rem;
|
||||
// }
|
||||
.top {
|
||||
margin: 0.1rem 0.2rem;
|
||||
|
||||
.main {
|
||||
background: #eee;
|
||||
padding: 0.2rem 0.2rem 0.1rem;
|
||||
height: 100px;
|
||||
|
||||
.item {
|
||||
width: 450px;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -171,7 +171,11 @@
|
|||
console.log('编目一级=============>', res.data)
|
||||
res.data.data.forEach((val) => {
|
||||
// tabList.value.push(val.name)
|
||||
if (val.name == '应用资源' || val.name == '组件服务' || val.name == '融合服务') {
|
||||
if (
|
||||
val.name == '应用资源' ||
|
||||
val.name == '组件服务' ||
|
||||
val.name == '融合服务'
|
||||
) {
|
||||
tabList.value.push(val.name)
|
||||
}
|
||||
})
|
||||
|
@ -349,22 +353,39 @@
|
|||
if (delFlag == 0) {
|
||||
console.log('进入详情')
|
||||
mybus.emit('tabsChange', { flag: id })
|
||||
router.push({
|
||||
path: '/details',
|
||||
// router.push({
|
||||
// path: '/details',
|
||||
// query: {
|
||||
// id: id,
|
||||
// },
|
||||
// })
|
||||
const detailPage = router.resolve({
|
||||
path: '/details', // 跳转的页面路由
|
||||
query: {
|
||||
id: id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(detailPage.href, '_blank')
|
||||
} else if (delFlag === undefined) {
|
||||
// 融合服务
|
||||
// mybus.emit('tabsChange', { flag: item.resourceId })
|
||||
mybus.emit('tabsChange', { flag: id })
|
||||
router.push({
|
||||
path: `/integrationServicesDetails`,
|
||||
|
||||
// router.push({
|
||||
// path: `/integrationServicesDetails`,
|
||||
// query: {
|
||||
// id: id,
|
||||
// },
|
||||
// })
|
||||
const detailPage = router.resolve({
|
||||
path: '/integrationServicesDetails', // 跳转的页面路由
|
||||
query: {
|
||||
id: id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(detailPage.href, '_blank')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -90,12 +90,20 @@
|
|||
const showDetail = (item) => {
|
||||
// console.log('demandDetails', item)
|
||||
// store.commit('home/demandDetailsData', item)
|
||||
router.push({
|
||||
path: '/demandDetails',
|
||||
// router.push({
|
||||
// path: '/demandDetails',
|
||||
// query: {
|
||||
// id: item.id,
|
||||
// },
|
||||
// })
|
||||
const detailPage = router.resolve({
|
||||
path: '/demandDetails', // 跳转的页面路由
|
||||
query: {
|
||||
id: item.id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(detailPage.href, '_blank')
|
||||
}
|
||||
|
||||
const creator = ref('')
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
<template>
|
||||
<div class="on-the-right-side-of-the-list">
|
||||
<div class="title" style="margin-bottom: 0.2rem">我的申请</div>
|
||||
<div class="tab" style="margin-bottom: 0.1rem">
|
||||
<div class="second-title">
|
||||
<div
|
||||
style="margin-right: 30px"
|
||||
v-for="(item, index) in chooseList"
|
||||
:class="chooseTab == index ? 'chooseStyle' : 'noChooseStyle'"
|
||||
:key="index"
|
||||
@click="handleTab(index)"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab" style="margin-bottom: 0.1rem" v-show="chooseTab == 0">
|
||||
<span>类型</span>
|
||||
<div
|
||||
:class="typeIndex == index ? 'tabclass' : ' '"
|
||||
|
@ -12,10 +23,7 @@
|
|||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="tab"
|
||||
v-show="typeIndex != 5 && typeIndex != 6 && typeIndex != 7"
|
||||
>
|
||||
<div class="tab" v-if="chooseTab != 1 && chooseTab != 2 && chooseTab != 3">
|
||||
<span>申请状态</span>
|
||||
<div
|
||||
:class="tabIndex == index ? 'tabclass' : ' '"
|
||||
|
@ -34,24 +42,89 @@
|
|||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<!--政务云资源-->
|
||||
<template v-if="chooseTab == 2">
|
||||
<a-form
|
||||
:model="formState"
|
||||
name="basic"
|
||||
:label-col="{ span: 8 }"
|
||||
:wrapper-col="{ span: 16 }"
|
||||
autocomplete="off"
|
||||
@submit="onSubmit"
|
||||
v-if="typeIndex == 6 || typeIndex == 7"
|
||||
style="display: flex; margin-top: 10px; margin-left: -35px"
|
||||
:label-col="{ style: { width: '80px' } }"
|
||||
:wrapper-col="{ style: { width: '200px' } }"
|
||||
labelAlign="center"
|
||||
>
|
||||
<a-form-item label="名称" name="name">
|
||||
<a-input v-model:value="formState.name" />
|
||||
<a-row>
|
||||
<a-form-item label="业务名称">
|
||||
<a-input
|
||||
placeholder="请输入业务名称"
|
||||
v-model:value="yunForm.busineesName"
|
||||
style="width: 200px"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :wrapper-col="{ offset: 8, span: 16 }">
|
||||
<a-button type="primary" html-type="submit">搜索</a-button>
|
||||
<a-form-item label="状态">
|
||||
<a-select
|
||||
ref="select"
|
||||
v-model:value="yunForm.status"
|
||||
placeholder="请选择状态"
|
||||
style="width: 200px"
|
||||
>
|
||||
<a-select-option
|
||||
v-for="(item, index) in cloudResourceStatusList"
|
||||
:key="index"
|
||||
:value="item.dictValue"
|
||||
clearable
|
||||
>
|
||||
{{ item.dictLabel }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<button class="queryButton" @click="getCloudList()">查询</button>
|
||||
<button class="queryButton" @click="cloudSearchReserve()">
|
||||
重置
|
||||
</button>
|
||||
</a-row>
|
||||
</a-form>
|
||||
|
||||
<div v-if="cloudList.data.length > 0">
|
||||
<div class="content-cloud">
|
||||
<div
|
||||
class="content-cloud-body"
|
||||
v-for="item in cloudList.data"
|
||||
:key="item.index"
|
||||
>
|
||||
<div class="content-body-left">
|
||||
<div class="content-body-left-one">
|
||||
<div style="font-size: 16px">{{ item.BUSINESS_NAME }}</div>
|
||||
<div>单号: {{ item.BSNUM }}</div>
|
||||
</div>
|
||||
<div class="content-body-left-two">
|
||||
<!-- <div>申请类型: {{item.type}}</div> -->
|
||||
<div>状态: {{ item.STATUS }}</div>
|
||||
<div>申请时间: {{ item.CREATE_TIME }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-body-right">
|
||||
<div class="button" @click="showCloudDetail(item)">查看详情</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<a-pagination
|
||||
size="small"
|
||||
pageSize="4"
|
||||
:total="total"
|
||||
:showTotal="(total) => `共 ${total} 项`"
|
||||
:current="page"
|
||||
@change="handleCurrentChange"
|
||||
@showSizeChange="handlePageSizeChange"
|
||||
:showSizeChanger="false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<a-empty v-else />
|
||||
</template>
|
||||
<!--数据资源和视频资源-->
|
||||
<template v-else-if="chooseTab == 1 || chooseTab == 3">
|
||||
<a-empty></a-empty>
|
||||
</template>
|
||||
<!--UCS内部资源-->
|
||||
<template v-else>
|
||||
<div v-if="contentList.data.length > 0">
|
||||
<div class="content">
|
||||
<div
|
||||
|
@ -73,7 +146,10 @@
|
|||
{{
|
||||
item.cameraList
|
||||
? item.system
|
||||
: item.title || item.name || item.title || item.BUSINESS_NAME
|
||||
: item.title ||
|
||||
item.name ||
|
||||
item.title ||
|
||||
item.BUSINESS_NAME
|
||||
}}
|
||||
</template>
|
||||
<div class="content-body-title">
|
||||
|
@ -144,7 +220,11 @@
|
|||
联系方式
|
||||
</div>
|
||||
<div class="button" @click="showDetail(item)">查看详情</div>
|
||||
<div class="button" @click="showAdd(item)" v-if="item.backToFirst">
|
||||
<div
|
||||
class="button"
|
||||
@click="showAdd(item)"
|
||||
v-if="typeName !== '能力申请' && item.backToFirst"
|
||||
>
|
||||
修改
|
||||
</div>
|
||||
<svg
|
||||
|
@ -198,6 +278,7 @@
|
|||
pageSize="4"
|
||||
:total="total"
|
||||
:current="page"
|
||||
:showTotal="(total) => `共 ${total} 项`"
|
||||
@change="handleCurrentChange"
|
||||
@showSizeChange="handlePageSizeChange"
|
||||
:showSizeChanger="false"
|
||||
|
@ -205,6 +286,20 @@
|
|||
</div>
|
||||
</div>
|
||||
<a-empty v-else />
|
||||
</template>
|
||||
</div>
|
||||
<!-- 政务云资源详情-->
|
||||
<a-modal
|
||||
bodyStyle="padding:0.1rem 0"
|
||||
v-model:visible="cloudVisible"
|
||||
style="width: 1000px"
|
||||
:footer="null"
|
||||
destroyOnClose="true"
|
||||
:maskClosable="false"
|
||||
>
|
||||
<template v-slot:title>申请详情</template>
|
||||
<cloud-details :BSNUM="BSNUM" :baseInfo="baseInfo"></cloud-details>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
bodyStyle="padding:0.1rem 0"
|
||||
v-model:visible="detailsVisible"
|
||||
|
@ -255,8 +350,6 @@
|
|||
</template>
|
||||
</a-table>
|
||||
</a-modal>
|
||||
</div>
|
||||
|
||||
<!-- 联系方式弹框 -->
|
||||
<a-modal
|
||||
v-model:visible="phoneVisible"
|
||||
|
@ -291,6 +384,8 @@
|
|||
yaweiApproveDetails,
|
||||
getResourceBusinessList,
|
||||
getVideoBusinessList,
|
||||
getCategoryTreePage,
|
||||
getZwyBusinessList,
|
||||
} from '@/api/personalCenter'
|
||||
import {
|
||||
updateRes,
|
||||
|
@ -303,6 +398,7 @@
|
|||
import { getUserInfo } from '@/api/user'
|
||||
import { message } from 'ant-design-vue'
|
||||
import ApplyDetails from '@/views/personalCenter/components/ApplyDetails'
|
||||
import CloudDetails from '@/views/personalCenter/components/CloudDetails'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import * as moment from 'moment'
|
||||
|
||||
|
@ -311,27 +407,33 @@
|
|||
})
|
||||
const router = useRouter()
|
||||
const userName = ref('')
|
||||
//云资源下拉框
|
||||
let cloudResourceStatusList = ref([])
|
||||
getUserInfo().then((res) => {
|
||||
userName.value = res.data.data.username
|
||||
})
|
||||
const formState = ref({ name: '' })
|
||||
// 西海岸-设备申请
|
||||
let isXiHaiAn = whoShow.itShowXiHaiAn
|
||||
let typeList = ref(
|
||||
isXiHaiAn
|
||||
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论']
|
||||
: [
|
||||
//选择展示的Tab页
|
||||
let chooseTab = ref(0)
|
||||
//云资源查询条件
|
||||
let yunForm = reactive({
|
||||
status: '',
|
||||
busineesName: '',
|
||||
})
|
||||
let chooseList = ref(['UCS内部资源', '数据资源', '政务云资源', '视频资源'])
|
||||
let typeList = ref([
|
||||
'能力申请',
|
||||
'能力上架',
|
||||
'能力下架',
|
||||
'能力需求',
|
||||
'需求评论',
|
||||
'数据资源申请',
|
||||
'云资源申请',
|
||||
'云视频申请',
|
||||
// '能力评价',
|
||||
]
|
||||
)
|
||||
// '数据资源申请',
|
||||
// '云资源申请',
|
||||
// '云视频申请',
|
||||
])
|
||||
|
||||
const itShowXiHaiAn = ref(isXiHaiAn)
|
||||
const phoneSate = ref([2, 3])
|
||||
if (isXiHaiAn) {
|
||||
|
@ -346,9 +448,12 @@
|
|||
let tabList = ref(['全部', '审核中', '审核完成'])
|
||||
const contentList = reactive({ data: [] })
|
||||
const contentList2 = reactive({ data: [] }) // 云资源 云视频前端过滤使用
|
||||
//政务云资源
|
||||
const cloudList = reactive({ data: [] })
|
||||
let tabIndex = ref(0)
|
||||
let typeIndex = ref(0)
|
||||
let typeName = ref(typeList.value[0])
|
||||
|
||||
if (router.currentRoute.value.query.tabTypeName) {
|
||||
typeName.value = router.currentRoute.value.query.tabTypeName
|
||||
}
|
||||
|
@ -365,6 +470,8 @@
|
|||
let name = ref('')
|
||||
const detailsVisible = ref(false)
|
||||
const detailsVisible2 = ref(false)
|
||||
//政务云资源详情
|
||||
const cloudVisible = ref(false)
|
||||
const businessKey = ref('')
|
||||
const processInstanceId = ref('')
|
||||
const processDefinitionName = ref('')
|
||||
|
@ -375,6 +482,9 @@
|
|||
const taskId = ref('')
|
||||
const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
|
||||
const refObj = ref({})
|
||||
//政务云详情
|
||||
const BSNUM = ref('')
|
||||
const baseInfo = ref({})
|
||||
const num = ref({
|
||||
finished: 0,
|
||||
unfinished: 0,
|
||||
|
@ -390,7 +500,7 @@
|
|||
const changeType = (item, index) => {
|
||||
contentList.data = []
|
||||
formState.value.name = ''
|
||||
console.log('item, index-----选择类型------->', item, index)
|
||||
|
||||
numFlag.value = true
|
||||
num.value = []
|
||||
showType.value = ''
|
||||
|
@ -401,6 +511,47 @@
|
|||
typeName.value = item
|
||||
getApplyList()
|
||||
}
|
||||
//选择tab
|
||||
const handleTab = (index) => {
|
||||
chooseTab.value = index
|
||||
if (index == 2) {
|
||||
//查询政务云状态
|
||||
getCloudResource()
|
||||
getCloudList()
|
||||
}
|
||||
}
|
||||
const cloudSearchReserve = () => {
|
||||
Object.keys(yunForm).map((key) => {
|
||||
delete yunForm[key]
|
||||
})
|
||||
getCloudList()
|
||||
}
|
||||
//查询政务云数据
|
||||
const getCloudList = () => {
|
||||
const params = {
|
||||
pageNum: page.value,
|
||||
pageSize: 5,
|
||||
status: yunForm.status,
|
||||
name: yunForm.busineesName,
|
||||
}
|
||||
total.value = 5
|
||||
getZwyBusinessList(params).then((res) => {
|
||||
cloudList.data = res.data.data.list
|
||||
num.value = []
|
||||
total.value = res.data.data.total
|
||||
})
|
||||
}
|
||||
//查询政务云状态
|
||||
const getCloudResource = () => {
|
||||
getCategoryTreePage({
|
||||
page: 1,
|
||||
limit: 20,
|
||||
dictTypeId: '1601043884320755714',
|
||||
deFlage: 0,
|
||||
}).then((res) => {
|
||||
cloudResourceStatusList.value = res.data.data.list
|
||||
})
|
||||
}
|
||||
|
||||
// 申请状态切换
|
||||
function changeApplyState(item, index) {
|
||||
|
@ -464,6 +615,13 @@
|
|||
'06': '交付',
|
||||
}
|
||||
const cilckRowData = ref({})
|
||||
//查看政务云详情
|
||||
const showCloudDetail = (item) => {
|
||||
//待完成
|
||||
cloudVisible.value = true
|
||||
BSNUM.value = item.BSNUM
|
||||
baseInfo.value = item
|
||||
}
|
||||
const showDetail = (item) => {
|
||||
cilckRowData.value = item
|
||||
// 西海岸-申请时间过期,提示
|
||||
|
@ -592,6 +750,7 @@
|
|||
oInput.remove()
|
||||
}
|
||||
const showAdd = (item) => {
|
||||
console.log('item', item)
|
||||
if (item.processDefinitionKey == 'resourcemountapply') {
|
||||
const data = {
|
||||
id: item.resourceId,
|
||||
|
@ -810,12 +969,11 @@
|
|||
contentList.data = res.data.data.list
|
||||
total.value = res.data.data.total
|
||||
initNum()
|
||||
console.log('typeIndex', typeIndex.value)
|
||||
|
||||
switch (typeIndex.value) {
|
||||
case 1:
|
||||
contentList.data.map((val) => {
|
||||
nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
|
||||
console.log('上架===========>', res1.data.data)
|
||||
val.title = res1.data.data.resourceDTO.name
|
||||
val.dto = res1.data.data.resourceDTO
|
||||
showType.value = '能力上架'
|
||||
|
@ -869,13 +1027,21 @@
|
|||
}
|
||||
const handleCurrentChange = (val) => {
|
||||
page.value = val
|
||||
if (chooseTab.value == 2) {
|
||||
getCloudList()
|
||||
} else {
|
||||
getApplyList()
|
||||
}
|
||||
}
|
||||
|
||||
const handlePageSizeChange = (val) => {
|
||||
page.value = val
|
||||
if (chooseTab.value == 2) {
|
||||
getCloudList()
|
||||
} else {
|
||||
getApplyList()
|
||||
}
|
||||
}
|
||||
|
||||
const viewDetail = (processDefinitionName, id, ended, businessKey) => {
|
||||
if (processDefinitionName == '能力申请流程') {
|
||||
|
@ -1006,6 +1172,15 @@
|
|||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.queryButton {
|
||||
background: #0058e1;
|
||||
width: 80px;
|
||||
height: 32px;
|
||||
margin-left: 20px;
|
||||
border: 1px solid #0058e1;
|
||||
border-radius: 2px;
|
||||
color: #fff;
|
||||
}
|
||||
.on-the-right-side-of-the-list {
|
||||
background: #ffffff;
|
||||
padding: 20px 0px 30px 20px;
|
||||
|
@ -1018,6 +1193,31 @@
|
|||
flex-direction: column;
|
||||
font-size: 16px;
|
||||
justify-content: left;
|
||||
.second-title {
|
||||
border-radius: 4px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 22px;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
background: #edf4fc;
|
||||
width: 500px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
display: table;
|
||||
}
|
||||
|
||||
.chooseStyle {
|
||||
display: table-cell;
|
||||
width: 25%;
|
||||
color: #fff;
|
||||
background-color: #0058e1;
|
||||
font-weight: bolder;
|
||||
}
|
||||
.noChooseStyle {
|
||||
display: table-cell;
|
||||
width: 25%;
|
||||
}
|
||||
.title {
|
||||
font-size: 20px;
|
||||
color: #000000;
|
||||
|
@ -1076,7 +1276,46 @@
|
|||
color: #0087ff;
|
||||
}
|
||||
}
|
||||
.content-cloud {
|
||||
padding: 0px 10px;
|
||||
overflow-y: scroll;
|
||||
height: 610px;
|
||||
.content-cloud-body {
|
||||
height: 100px;
|
||||
height: 100px;
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
.content-body-left {
|
||||
width: 85%;
|
||||
float: left;
|
||||
|
||||
.content-body-left-one {
|
||||
display: table;
|
||||
height: 50px;
|
||||
width: 80%;
|
||||
div {
|
||||
display: table-cell;
|
||||
width: 50%;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.content-body-left-two {
|
||||
width: 80%;
|
||||
height: 50px;
|
||||
display: table;
|
||||
div {
|
||||
display: table-cell;
|
||||
width: 30%;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content-body-right {
|
||||
width: 15%;
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content {
|
||||
padding-right: 10px;
|
||||
height: 610px;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -220,7 +220,7 @@
|
|||
type.value = ''
|
||||
pageNum.value = '1'
|
||||
pageSize.value = '5'
|
||||
tabIndex.value = 0
|
||||
tabIndex.value = -1
|
||||
showKey.value++
|
||||
checkAll.value = false
|
||||
getList()
|
||||
|
@ -333,7 +333,7 @@
|
|||
showKey.value++
|
||||
}
|
||||
// 切换筛选条件
|
||||
const tabIndex = ref(0)
|
||||
const tabIndex = ref(-1)
|
||||
const changeTab = (index) => {
|
||||
console.log('tabIndex', tabIndex.value, index, tabList)
|
||||
if (tabIndex.value == index) {
|
||||
|
@ -377,50 +377,58 @@
|
|||
openHref(item)
|
||||
} else {
|
||||
mybus.emit('tabsChange', { flag: id })
|
||||
router.push({
|
||||
path: '/details',
|
||||
// router.push({
|
||||
// path: '/details',
|
||||
// query: {
|
||||
// id: id,
|
||||
// },
|
||||
// })
|
||||
const detailPage = router.resolve({
|
||||
path: '/details', // 跳转的页面路由
|
||||
query: {
|
||||
id: id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(detailPage.href, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
//监听tabindex发生改变调用接口
|
||||
watch(tabIndex, (val) => {
|
||||
getBsList({
|
||||
limit: pageSize.value,
|
||||
page: pageNum.value,
|
||||
type: tabList.value[val],
|
||||
name: name.value,
|
||||
}).then((res) => {
|
||||
checkAll.value = true
|
||||
console.log('申购车列表================>', res)
|
||||
initLoading.value = false
|
||||
list.value = []
|
||||
total.value = res.data.data.total
|
||||
res.data.data.list.forEach((val) => {
|
||||
const obj = {
|
||||
loading: false,
|
||||
name: val.resourceDTO.name,
|
||||
id: val.id,
|
||||
checked: false,
|
||||
visits: val.resourceDTO.visits,
|
||||
type: val.resourceDTO.type,
|
||||
link: val.resourceDTO.link,
|
||||
resourceId: val.resourceId,
|
||||
createDate: val.createDate,
|
||||
description: val.resourceDTO.description,
|
||||
delFlag: val.resourceDTO.delFlag,
|
||||
}
|
||||
if (checkedList.value.indexOf(val.id) == -1) {
|
||||
checkAll.value = false
|
||||
} else {
|
||||
obj.checked = true
|
||||
}
|
||||
list.value.push(obj)
|
||||
})
|
||||
})
|
||||
// getBsList({
|
||||
// limit: pageSize.value,
|
||||
// page: pageNum.value,
|
||||
// type: tabList.value[val],
|
||||
// name: name.value,
|
||||
// }).then((res) => {
|
||||
// checkAll.value = true
|
||||
// console.log('申购车列表================>', res)
|
||||
// initLoading.value = false
|
||||
// list.value = []
|
||||
// total.value = res.data.data.total
|
||||
// res.data.data.list.forEach((val) => {
|
||||
// const obj = {
|
||||
// loading: false,
|
||||
// name: val.resourceDTO.name,
|
||||
// id: val.id,
|
||||
// checked: false,
|
||||
// visits: val.resourceDTO.visits,
|
||||
// type: val.resourceDTO.type,
|
||||
// link: val.resourceDTO.link,
|
||||
// resourceId: val.resourceId,
|
||||
// createDate: val.createDate,
|
||||
// description: val.resourceDTO.description,
|
||||
// delFlag: val.resourceDTO.delFlag,
|
||||
// }
|
||||
// if (checkedList.value.indexOf(val.id) == -1) {
|
||||
// checkAll.value = false
|
||||
// } else {
|
||||
// obj.checked = true
|
||||
// }
|
||||
// list.value.push(obj)
|
||||
// })
|
||||
// })
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
|
|
@ -71,12 +71,20 @@
|
|||
const showDetail = (item) => {
|
||||
console.log('demandDetails', item)
|
||||
// store.commit('home/demandDetailsData', item)
|
||||
router.push({
|
||||
path: '/demandDetails',
|
||||
// router.push({
|
||||
// path: '/demandDetails',
|
||||
// query: {
|
||||
// id: item.demandDataDTO.id,
|
||||
// },
|
||||
// })
|
||||
const detailPage = router.resolve({
|
||||
path: '/demandDetails', // 跳转的页面路由
|
||||
query: {
|
||||
id: item.demandDataDTO.id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(detailPage.href, '_blank')
|
||||
}
|
||||
|
||||
const total = ref()
|
||||
|
|
|
@ -395,13 +395,15 @@
|
|||
const showDetail = (item) => {
|
||||
console.log('showDetail', item, item.id)
|
||||
if (item.delFlag == 0) {
|
||||
router.push({
|
||||
path: '/details',
|
||||
const detailPage = router.resolve({
|
||||
path: '/details', // 跳转的页面路由
|
||||
query: {
|
||||
id: item.id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
newpage
|
||||
window.open(detailPage.href, '_blank')
|
||||
// newpage
|
||||
}
|
||||
// getProcDefBizRoute(item.processDefinitionId)
|
||||
// detailsVisible.value = true
|
||||
|
@ -445,9 +447,9 @@
|
|||
limt.value = size
|
||||
getApplyList(tabname.value)
|
||||
}
|
||||
const newpage = router.resolve({
|
||||
path: '/nenglishangjia', // 跳转的页面路由
|
||||
})
|
||||
// const newpage = router.resolve({
|
||||
// path: '/nenglishangjia', // 跳转的页面路由
|
||||
// })
|
||||
// const nenglishangjia = () => {
|
||||
// window.open(newpage.href, '_blank')
|
||||
// // router.resolve('/nenglishangjia')
|
||||
|
|
|
@ -12,19 +12,40 @@
|
|||
</div>
|
||||
<div class="right">
|
||||
<div class="sousuokuang">
|
||||
<a-input-search v-model:value="name" placeholder="请输入关键词" enter-button="搜索" size="large"
|
||||
@search="getList('init')" />
|
||||
<a-input-search
|
||||
v-model:value="name"
|
||||
placeholder="请输入关键词"
|
||||
enter-button="搜索"
|
||||
size="large"
|
||||
@search="getList('init')"
|
||||
/>
|
||||
</div>
|
||||
<a-popconfirm v-if="checkedListAbility.length != 0" title="是否进行批量删除?" ok-text="是" cancel-text="否"
|
||||
@confirm="handleDelete" @cancel="cancel">
|
||||
<a-popconfirm
|
||||
v-if="checkedListAbility.length != 0"
|
||||
title="是否进行批量删除?"
|
||||
ok-text="是"
|
||||
cancel-text="否"
|
||||
@confirm="handleDelete"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<a-button type="primary" class="collect-btn" @click="ceshiFunction()">
|
||||
批量删除
|
||||
</a-button>
|
||||
</a-popconfirm>
|
||||
<a-button v-else type="primary" class="collect-btn" @click="ceshiFunction()">
|
||||
<a-button
|
||||
v-else
|
||||
type="primary"
|
||||
class="collect-btn"
|
||||
@click="ceshiFunction()"
|
||||
>
|
||||
批量删除
|
||||
</a-button>
|
||||
<a-button type="primary" v-if="!itShowXiHaiAn" class="collect-btn" @click="collection">
|
||||
<a-button
|
||||
type="primary"
|
||||
v-if="!itShowXiHaiAn"
|
||||
class="collect-btn"
|
||||
@click="collection"
|
||||
>
|
||||
批量收藏
|
||||
</a-button>
|
||||
<a-button type="primary" class="apply-btn" @click="apply">
|
||||
|
@ -36,9 +57,12 @@
|
|||
<div class="item" v-for="(val, valIndex) in list" :key="val.id">
|
||||
<div class="item-top" @click="showBottom(val)">
|
||||
<div>
|
||||
<a-checkbox :checked="val.checked" @click.stop="checkedDept(val)"></a-checkbox>
|
||||
<a-checkbox
|
||||
:checked="val.checked"
|
||||
@click.stop="checkedDept(val)"
|
||||
></a-checkbox>
|
||||
<span style="margin-left: 0.2rem" v-if="itShowXiHaiAn">
|
||||
{{ val.deptName}}
|
||||
{{ val.deptName }}
|
||||
</span>
|
||||
<span style="margin-left: 0.2rem" v-else>
|
||||
{{ val.deptName + '(' + val.count + ')' }}
|
||||
|
@ -48,33 +72,45 @@
|
|||
<UpOutlined v-show="val.show" />
|
||||
</div>
|
||||
<div class="item-bottom" v-show="val.show">
|
||||
<a-list class="demo-loadmore-list" :loading="val.initLoading" item-layout="horizontal"
|
||||
:data-source="val.children">
|
||||
<a-list
|
||||
class="demo-loadmore-list"
|
||||
:loading="val.initLoading"
|
||||
item-layout="horizontal"
|
||||
:data-source="val.children"
|
||||
>
|
||||
<template #renderItem="{ item }">
|
||||
<a-list-item>
|
||||
<a-skeleton avatar :title="false" :loading="item.loading" active>
|
||||
<a-list-item-meta :description="
|
||||
<a-list-item-meta
|
||||
:description="
|
||||
item.description ||
|
||||
(item.note1 && JSON.parse(item.note1) &&
|
||||
(item.note1 &&
|
||||
JSON.parse(item.note1) &&
|
||||
JSON.parse(item.note1)[0] &&
|
||||
JSON.parse(item.note1)[0].channelName +
|
||||
'等' +
|
||||
JSON.parse(item.note1).length +
|
||||
'个摄像头') ||
|
||||
''
|
||||
" style="position: relative">
|
||||
"
|
||||
style="position: relative"
|
||||
>
|
||||
<template #title>
|
||||
<div>
|
||||
<a-tooltip>
|
||||
<template #title>{{ item.resourceName }}</template>
|
||||
<span @click="
|
||||
<span
|
||||
@click="
|
||||
showItem(
|
||||
item.resourceId,
|
||||
item.type,
|
||||
item.delFlag,
|
||||
item.note1
|
||||
)
|
||||
" style="cursor: pointer" class="name">
|
||||
"
|
||||
style="cursor: pointer"
|
||||
class="name"
|
||||
>
|
||||
{{ item.resourceName }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
|
@ -82,42 +118,80 @@
|
|||
</div>
|
||||
<!-- // todo -->
|
||||
<span class="time">
|
||||
<span v-if="!itShowXiHaiAn">加购时间:{{ item.time }}</span>
|
||||
<a-popconfirm title="是否删除该记录?" ok-text="是" cancel-text="否" @confirm="handleDelete(item, valIndex)"
|
||||
@cancel="cancel">
|
||||
<a-button type="primary" style="
|
||||
<span v-if="!itShowXiHaiAn">
|
||||
加购时间:{{ item.time }}
|
||||
</span>
|
||||
<a-popconfirm
|
||||
title="是否删除该记录?"
|
||||
ok-text="是"
|
||||
cancel-text="否"
|
||||
@confirm="handleDelete(item, valIndex)"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<a-button
|
||||
type="primary"
|
||||
style="
|
||||
width: 0.7rem;
|
||||
height: 0.3rem;
|
||||
margin-left: 0.12rem;
|
||||
border-radius: 2px;
|
||||
background: #fff;
|
||||
color: #0558e1;
|
||||
" @click="del">
|
||||
"
|
||||
@click="del"
|
||||
>
|
||||
删除
|
||||
</a-button>
|
||||
</a-popconfirm>
|
||||
</span>
|
||||
<svg t="1652233950228" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="5970" data-spm-anchor-id="a313x.7781069.0.i8" width="50"
|
||||
height="50" v-if="item.delFlag == 4 || item.delFlag == 5"
|
||||
style="position: absolute; top: 0; left: 1rem">
|
||||
<svg
|
||||
t="1652233950228"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="5970"
|
||||
data-spm-anchor-id="a313x.7781069.0.i8"
|
||||
width="50"
|
||||
height="50"
|
||||
v-if="item.delFlag == 4 || item.delFlag == 5"
|
||||
style="position: absolute; top: 0; left: 1rem"
|
||||
>
|
||||
<path
|
||||
d="M955.22053 256C813.82053 11.2 500.72053-72.6 255.92053 68.8S-72.67947 523.2 68.72053 768 523.22053 1096.6 768.02053 955.2c244.7-141.2 328.6-454.1 187.4-698.8 0-0.1-0.1-0.3-0.2-0.4zM762.02053 944.7c-239 138.1-544.8 56.2-682.9-182.8S22.92053 217.1 261.92053 79.1s544.8-56.2 682.9 182.8c137.9 239 56.1 544.6-182.8 682.8z"
|
||||
fill="#515151" opacity=".5" p-id="5971"></path>
|
||||
fill="#515151"
|
||||
opacity=".5"
|
||||
p-id="5971"
|
||||
></path>
|
||||
<path
|
||||
d="M898.12053 289.2C775.02053 76 502.42053 2.9 289.22053 126 76.02053 249.1 3.02053 521.6 126.02053 734.8 249.12053 948 521.62053 1021.1 734.82053 898 947.92053 774.9 1021.02053 502.4 898.12053 289.2zM731.62053 892.8C521.32053 1014.3 252.42053 942.2 131.02053 731.9 9.52053 521.6 81.62053 252.7 291.92053 131.3 502.12053 9.9 771.02053 81.8 892.42053 292c121.5 210.3 49.5 479.3-160.8 600.8z"
|
||||
fill="#515151" opacity=".5" p-id="5972"></path>
|
||||
fill="#515151"
|
||||
opacity=".5"
|
||||
p-id="5972"
|
||||
></path>
|
||||
<path
|
||||
d="M323.62053 176.8c3.6-2 6 0.8 8.8 2.8 6 4.4 12.4 8.8 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.4 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.6 0.6-2zM200.72053 289.2c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 13.6-5.6 20.8 4.8 6 10 11.6 14.8 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.4-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.4-1.2 0-1.6 0.8-2.4l0.2 0.4z m276.6-159.6c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.8-1.2-0.4-1.6 0.4-2.4l0.2 0.4z m141.9 29.6c3.6-2 6 0.8 8.8 2.8l18.8 12.8c7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-3.6 14-5.6 20.8 4.8 6 10 12 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4-7.7 0.4-15.2 0.8-22.4 0.8-4.4 6.8-8.4 13.2-12.8 20-1.6 2.4-4 5.1-7.2 4-2.4-1.9-3.9-4.7-4.4-7.7l-7.2-20.5c-8.4-2-16.8-4.4-25.2-6.4-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 4-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.5-1.2 0.2-1.6 0.6-2zM150.02053 430c3.6-2 6 0.8 8.8 2.8 6.4 4.4 12.4 8.4 18.8 12.8 7.2-2.4 14.4-5.1 21.6-7.7 3.6-1.2 6-2.8 8.8 0.4 2.4 2.8 0.4 6.4-0.4 8.8-2 6.8-4 14-5.6 20.8 4.8 6 10 11.6 15.2 17.6 2.4 2.8 4.4 5.6 2.8 8.4-1.2 2.8-5.6 2.4-7.7 2.4l-22.4 0.8c-4.4 6.8-8.8 13.6-12.8 20-1.6 2.4-4 5.1-7.2 4-2.2-2-3.8-4.7-4.4-7.7l-7.2-20.5-25.2-6.4c-2.3-1.2-3.6-3.8-3.2-6.4 1.3-1.8 2.9-3.3 4.8-4.4 3.6-3.2 7.7-6.8 11.6-10 1.9-1.3 3.6-2.7 5.1-4.4-0.4-6.8-1.2-13.6-1.6-20.5-0.7-2.9-0.9-5.9-0.4-8.8-0.7-0.8-0.3-1.5 0.6-2z m558.9 414.4c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.1 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-1.1 0.8-1.1 1.6-1.1h0.1z m-158.8 50c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.1-3.7-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2-1 4.2-1.7 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.4-0.8 0.8-0.8 1.7-0.7z m276.5-159.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8s-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.2 4.4-0.7 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0-0.8 0.8-1.2 1.6-1.2l0.1 0.1z m45.6-137.6c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-1.6-14-3.6-20.8-5.6l-7.7-22c-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.2-0.7 0.6-0.7 1.4-0.7h0.3zM402.72053 868c3.6-2.4 2.4-5.6 2-8.8l-1.6-22.4 17.2-14.8c2.8-2.4 5.1-4 4-7.7-1.2-3.2-5.6-3.6-7.7-4-6.8-2-14-3.6-20.8-5.6-2.8-7.2-5.1-14.4-7.7-21.6-1.2-3.6-2.8-6.4-5.6-6.8-2.8-0.4-4.8 3.6-5.6 5.1l-12 19.2-24 1.2c-2.8 0-6.8 0.8-6.8 4.4 0.5 3 2 5.7 4.4 7.7 4.8 5.6 9.2 11.2 14 16.4l-7.2 25.2c-0.3 2.7 1.4 5.2 4 6 2.2-0.3 4.3-0.9 6.4-1.6l14.4-4.8c2.1-0.8 4.2-1.5 6.4-2 5.6 4 11.2 7.7 16.8 11.6 2.2 2.1 4.8 3.6 7.7 4.4 0.5-0.8 1-1.1 1.7-1.1z"
|
||||
fill="#515151" opacity=".5" p-id="5973"></path>
|
||||
fill="#515151"
|
||||
opacity=".5"
|
||||
p-id="5973"
|
||||
></path>
|
||||
<path
|
||||
d="M386.42053 590.4l-43.8-75.9L207.02053 592.7l10.2 17.7L334.02053 543l23.4 40.4-90.5 52.2-13.5-23.4-18.7 10.8 53.1 92c9.1 15.8 21.2 19.5 36.4 10.7l98.8-57c6.2-3.6 11-9.3 13.4-16.1-1.4-15.9-6.2-31.2-14.2-45l-21.4 4.8c6.7 10.3 11 21.9 12.8 34-1 3.3-3.2 6-6.1 7.8l-88.3 51c-6.2 3.6-11.1 2.1-14.8-4.3l-27.3-47.4 109.3-63.1z m2.9-103.2l10.4 18.1 65.6-37.9 79.9 138.4 18.6-10.8-55.9-96.9c18.8-0.9 43.2-0.6 73 0.7l1.5-23.1c-29.8-0.3-58.4 0.4-86 2.6l-12.5-21.6 74.9-43.2-10.4-18.1-159.1 91.8zM669.52053 329l38.2 66.2 61.4-35.4-38.1-66.1-61.5 35.3z m72.4 24.2l-26.3 15.2-19-33 26.3-15.2 19 33zM599.02053 356.7l7.9 13.7-23.3 13.5 9.8 17 21.8-12.6c7.5 18.7 6.6 39.6-2.5 57.6l20.7 4.4c10.3-23.1 10.3-49.4 0-72.5l18.8-10.9c6 9.2 10.7 19.2 14.2 29.7 0.3 5-2.6 9.7-7.2 11.7-2.9 1.2-6.4 2.8-10.9 4.9l14.1 14.1c3.7-1.3 7.3-2.9 10.7-4.8 8.6-3.9 14.4-12.2 15.2-21.6-5.4-22.1-14.6-43-27.4-61.8l-36.1 20.8-7.9-13.7-17.9 10.5z m29.9 108.1l10 17.4 53.2-30.7c-7.8 23.7-20.6 45.4-37.5 63.6l20.6 11.1c18.6-24.2 30-53.1 33-83.4l29.8 51.5 18.4-10.7-29.8-51.5c27.4 11.5 57.2 16.3 86.9 14.1l3.5-23.5c-24.7 5.1-50.1 5-74.8-0.1l53.5-30.9-10-17.3-69.3 40-7.3-12.6-18.4 10.7L698.02053 425l-69.1 39.8z"
|
||||
fill="#515151" opacity=".5" p-id="5974"></path>
|
||||
fill="#515151"
|
||||
opacity=".5"
|
||||
p-id="5974"
|
||||
></path>
|
||||
</svg>
|
||||
</template>
|
||||
<template #avatar>
|
||||
<a-checkbox :checked="item.checked" @click.stop="checkedItem(val, item)"></a-checkbox>
|
||||
<div class="tx" v-if="!itShowXiHaiAn" :class="
|
||||
<a-checkbox
|
||||
:checked="item.checked"
|
||||
@click.stop="checkedItem(val, item)"
|
||||
></a-checkbox>
|
||||
<div
|
||||
class="tx"
|
||||
v-if="!itShowXiHaiAn"
|
||||
:class="
|
||||
item.type == '基础设施'
|
||||
? 'sxt'
|
||||
: item.type == '应用资源'
|
||||
|
@ -131,19 +205,28 @@
|
|||
: item.componentType == '业务组件'
|
||||
? 'ywzj'
|
||||
: ''
|
||||
"></div>
|
||||
"
|
||||
></div>
|
||||
</template>
|
||||
</a-list-item-meta>
|
||||
</a-skeleton>
|
||||
</a-list-item>
|
||||
</template>
|
||||
</a-list>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-modal v-model:visible="videoVisible" title="已申请摄像头列表" @ok="videoVisible = false">
|
||||
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }">
|
||||
<a-modal
|
||||
v-model:visible="videoVisible"
|
||||
title="已申请摄像头列表"
|
||||
@ok="videoVisible = false"
|
||||
>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:data-source="xVideoList"
|
||||
bordered
|
||||
:pagination="{ defaultPageSize: 6 }"
|
||||
>
|
||||
<template #bodyCell="{ column, text }">
|
||||
<!-- <template>
|
||||
<a>{{ text }}</a>
|
||||
|
@ -151,53 +234,52 @@
|
|||
</template>
|
||||
</a-table>
|
||||
</a-modal>
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import {
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import {
|
||||
sgcDel,
|
||||
scInsert,
|
||||
selectResourceCarGroupByDept,
|
||||
selectResourceListByDept,
|
||||
selectResourceListByDeptName,
|
||||
} from '@/api/personalCenter'
|
||||
const router = useRouter()
|
||||
// 分页
|
||||
const pageNum = ref('1')
|
||||
const pageSize = ref('99999')
|
||||
const videoVisible = ref(false)
|
||||
const xVideoList = ref([])
|
||||
const total = ref(0)
|
||||
const load = ref(0)
|
||||
// 多选框
|
||||
const checkedList = ref([])
|
||||
const checkedListAll = ref([])
|
||||
const checkedListAbility = ref([])
|
||||
const checkAll = ref(false)
|
||||
const checkNum = ref(0)
|
||||
const showKey = ref(0)
|
||||
const columns = ref([
|
||||
} from '@/api/personalCenter'
|
||||
const router = useRouter()
|
||||
// 分页
|
||||
const pageNum = ref('1')
|
||||
const pageSize = ref('99999')
|
||||
const videoVisible = ref(false)
|
||||
const xVideoList = ref([])
|
||||
const total = ref(0)
|
||||
const load = ref(0)
|
||||
// 多选框
|
||||
const checkedList = ref([])
|
||||
const checkedListAll = ref([])
|
||||
const checkedListAbility = ref([])
|
||||
const checkAll = ref(false)
|
||||
const checkNum = ref(0)
|
||||
const showKey = ref(0)
|
||||
const columns = ref([
|
||||
{
|
||||
title: '摄像头名称',
|
||||
dataIndex: 'name',
|
||||
},
|
||||
])
|
||||
// 筛选条件
|
||||
const name = ref('')
|
||||
const type = ref('')
|
||||
const list = ref([])
|
||||
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn);
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
])
|
||||
// 筛选条件
|
||||
const name = ref('')
|
||||
const type = ref('')
|
||||
const list = ref([])
|
||||
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getList('init')
|
||||
})
|
||||
// 收藏
|
||||
const collection = () => {
|
||||
})
|
||||
// 收藏
|
||||
const collection = () => {
|
||||
let scArr = []
|
||||
if (checkedListAbility.value.length === 0) {
|
||||
message.warning('请选择需要收藏的数据')
|
||||
|
@ -229,9 +311,9 @@ const collection = () => {
|
|||
message.warning('下架的数据无法收藏')
|
||||
}
|
||||
}
|
||||
}
|
||||
// 全选按钮
|
||||
const onCheckAllChange = () => {
|
||||
}
|
||||
// 全选按钮
|
||||
const onCheckAllChange = () => {
|
||||
if (checkAll.value) {
|
||||
list.value.forEach((val) => {
|
||||
if (checkedList.value.indexOf(val.deptId) == -1) {
|
||||
|
@ -268,9 +350,9 @@ const onCheckAllChange = () => {
|
|||
})
|
||||
// console.log(checkAll.value, checkedList.value)
|
||||
}
|
||||
}
|
||||
// 处理child
|
||||
const handleChild = (val) => {
|
||||
}
|
||||
// 处理child
|
||||
const handleChild = (val) => {
|
||||
if (val.children.length > 0) {
|
||||
val.children.map((item) => {
|
||||
// console.log('child=============>', checkedListAbility.value, item)
|
||||
|
@ -284,10 +366,10 @@ const handleChild = (val) => {
|
|||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// 反选
|
||||
const reverseSelectionFalg = ref(false)
|
||||
const reverseSelection = () => {
|
||||
}
|
||||
// 反选
|
||||
const reverseSelectionFalg = ref(false)
|
||||
const reverseSelection = () => {
|
||||
// console.log(
|
||||
// '点击反选==============>',
|
||||
// checkedList.value,
|
||||
|
@ -340,9 +422,9 @@ const reverseSelection = () => {
|
|||
})
|
||||
}
|
||||
reverseSelectionFalg.value = !reverseSelectionFalg.value
|
||||
}
|
||||
// 重置
|
||||
const clean = (index) => {
|
||||
}
|
||||
// 重置
|
||||
const clean = (index) => {
|
||||
name.value = ''
|
||||
type.value = ''
|
||||
pageNum.value = '1'
|
||||
|
@ -353,9 +435,9 @@ const clean = (index) => {
|
|||
checkAll.value = false
|
||||
showKey.value++
|
||||
getList('', index)
|
||||
}
|
||||
// 获取信息
|
||||
const getList = (type, index) => {
|
||||
}
|
||||
// 获取信息
|
||||
const getList = (type, index) => {
|
||||
console.log(type, index)
|
||||
if (type == 'init') {
|
||||
pageNum.value = 1
|
||||
|
@ -366,7 +448,7 @@ const getList = (type, index) => {
|
|||
pageSize: pageSize.value,
|
||||
name: name.value,
|
||||
}).then((res) => {
|
||||
console.log('res---获取信息--------->', res);
|
||||
console.log('res---获取信息--------->', res)
|
||||
if (res.data.code !== 0) {
|
||||
return message.error(res.data.msg)
|
||||
}
|
||||
|
@ -397,7 +479,7 @@ const getList = (type, index) => {
|
|||
// console.log('整体页面加载次数===============>', load.value)
|
||||
// 判断是否有已打开项,如果有重新载入之后自动打开
|
||||
list.value = res.data.data.list || []
|
||||
console.log('list.value------------>', list.value);
|
||||
console.log('list.value------------>', list.value)
|
||||
|
||||
if (index || index === 0) {
|
||||
list.value[index].show = true
|
||||
|
@ -409,31 +491,31 @@ const getList = (type, index) => {
|
|||
getListByDeptId(list.value[0])
|
||||
}
|
||||
})
|
||||
}
|
||||
// 通过deptid查询列表
|
||||
const getListByDeptId = async (item) => {
|
||||
console.log('通过deptid或者deptName查询列表------------>', item);
|
||||
}
|
||||
// 通过deptid查询列表
|
||||
const getListByDeptId = async (item) => {
|
||||
console.log('通过deptid或者deptName查询列表------------>', item)
|
||||
if (item.children.length == 0) {
|
||||
let _obj = {
|
||||
pageNum: item.pageNum,
|
||||
pageSize: item.pageSize,
|
||||
name: name.value,
|
||||
}
|
||||
let res;
|
||||
let res
|
||||
// 西海岸 todo
|
||||
if (whoShow.itShowXiHaiAn) {
|
||||
_obj.deptName = item.deptName;
|
||||
_obj.deptName = item.deptName
|
||||
res = await selectResourceListByDeptName(_obj)
|
||||
} else {
|
||||
_obj.deptId = item.deptId || '';
|
||||
_obj.deptId = item.deptId || ''
|
||||
res = await selectResourceListByDept(_obj)
|
||||
}
|
||||
console.log('res----根据部门查询-------->', res);
|
||||
console.log('res----根据部门查询-------->', res)
|
||||
item.initLoading = false
|
||||
if (res.data.code !== 0) {
|
||||
return message.error(res.data.msg)
|
||||
}
|
||||
(res.data.data || []).map((val) => {
|
||||
;(res.data.data || []).map((val) => {
|
||||
if (
|
||||
(!item.load || item.load < Number(item.pageNum)) &&
|
||||
load.value <= Number(pageNum.value)
|
||||
|
@ -473,30 +555,30 @@ const getListByDeptId = async (item) => {
|
|||
item.children = res.data.data
|
||||
item.show = true
|
||||
}
|
||||
}
|
||||
// 显示资源信息
|
||||
const showBottom = (item) => {
|
||||
}
|
||||
// 显示资源信息
|
||||
const showBottom = (item) => {
|
||||
debugger
|
||||
item.show = !item.show
|
||||
if (item.show) {
|
||||
getListByDeptId(item)
|
||||
}
|
||||
}
|
||||
const showNew = (item) => {
|
||||
}
|
||||
const showNew = (item) => {
|
||||
getListByDeptId(item)
|
||||
}
|
||||
// 切换页数
|
||||
const pageChange = (val) => {
|
||||
}
|
||||
// 切换页数
|
||||
const pageChange = (val) => {
|
||||
checkAll.value = false
|
||||
pageNum.value = val
|
||||
getList('changePage')
|
||||
}
|
||||
// 能力内分页
|
||||
const pageChange2 = (item) => {
|
||||
}
|
||||
// 能力内分页
|
||||
const pageChange2 = (item) => {
|
||||
getListByDeptId(item)
|
||||
}
|
||||
// 点击部门多选框
|
||||
const checkedDept = (item) => {
|
||||
}
|
||||
// 点击部门多选框
|
||||
const checkedDept = (item) => {
|
||||
console.log(
|
||||
'点击部门多选框==================>',
|
||||
item,
|
||||
|
@ -507,7 +589,7 @@ const checkedDept = (item) => {
|
|||
if (item.checked) {
|
||||
if (item.children.length > 0) {
|
||||
item.children.map((val) => {
|
||||
console.log('val.id------------>', val.id);
|
||||
console.log('val.id------------>', val.id)
|
||||
if (checkedListAbility.value.indexOf(val.id) == -1) {
|
||||
checkedListAbility.value.push(val.id)
|
||||
item.checkedList.push(val.id)
|
||||
|
@ -547,9 +629,9 @@ const checkedDept = (item) => {
|
|||
}
|
||||
checkNum.value -= Number(item.count)
|
||||
}
|
||||
}
|
||||
// 判断是否全选
|
||||
const judgeAll = (item, val) => {
|
||||
}
|
||||
// 判断是否全选
|
||||
const judgeAll = (item, val) => {
|
||||
console.log(
|
||||
'判断是否全选============>',
|
||||
item,
|
||||
|
@ -582,9 +664,9 @@ const judgeAll = (item, val) => {
|
|||
item.checked = false
|
||||
}
|
||||
}
|
||||
}
|
||||
// 点击能力
|
||||
const checkedItem = (val, item) => {
|
||||
}
|
||||
// 点击能力
|
||||
const checkedItem = (val, item) => {
|
||||
// console.log('点击能力===========>', val, item, checkedListAbility.value)
|
||||
item.checked = !item.checked
|
||||
if (item.checked) {
|
||||
|
@ -623,9 +705,9 @@ const checkedItem = (val, item) => {
|
|||
checkAll.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
// 删除按钮
|
||||
const delList = () => {
|
||||
}
|
||||
// 删除按钮
|
||||
const delList = () => {
|
||||
if (checkedListAbility.value.length == 0) {
|
||||
message.warning('请先选择需要操作的数据!')
|
||||
} else {
|
||||
|
@ -640,20 +722,20 @@ const delList = () => {
|
|||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
//ceshiFunction
|
||||
const ceshiFunction = () => {
|
||||
}
|
||||
//ceshiFunction
|
||||
const ceshiFunction = () => {
|
||||
// debugger
|
||||
if (checkedListAbility.value.length == 0) {
|
||||
message.warning('请先选择需要操作的数据!')
|
||||
}
|
||||
}
|
||||
// delOne delList handleDelete
|
||||
const handleDelete = (item, index) => {
|
||||
console.log('item, index------------>', item, index);
|
||||
}
|
||||
// delOne delList handleDelete
|
||||
const handleDelete = (item, index) => {
|
||||
console.log('item, index------------>', item, index)
|
||||
|
||||
console.log('item------------>', item);
|
||||
let delArr = [];
|
||||
console.log('item------------>', item)
|
||||
let delArr = []
|
||||
// 单个删除
|
||||
if (index) {
|
||||
delArr = [item.id]
|
||||
|
@ -666,7 +748,7 @@ const handleDelete = (item, index) => {
|
|||
}
|
||||
}
|
||||
sgcDel({
|
||||
ids: delArr
|
||||
ids: delArr,
|
||||
}).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('删除成功')
|
||||
|
@ -676,12 +758,12 @@ const handleDelete = (item, index) => {
|
|||
// val.show = true
|
||||
}
|
||||
})
|
||||
}
|
||||
const cancel = (e) => {
|
||||
}
|
||||
const cancel = (e) => {
|
||||
// console.log(e)
|
||||
}
|
||||
// 详情
|
||||
const showItem = (id, type, delFlag, note1) => {
|
||||
}
|
||||
// 详情
|
||||
const showItem = (id, type, delFlag, note1) => {
|
||||
if (type == '基础设施') {
|
||||
// console.log()
|
||||
let arr = JSON.parse(note1)
|
||||
|
@ -694,30 +776,38 @@ const showItem = (id, type, delFlag, note1) => {
|
|||
if (delFlag == 0) {
|
||||
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
|
||||
mybus.emit('tabsChange', { flag: id })
|
||||
router.push({
|
||||
path: '/details',
|
||||
// router.push({
|
||||
// path: '/details',
|
||||
// query: {
|
||||
// id: id,
|
||||
// },
|
||||
// })
|
||||
const detailPage = router.resolve({
|
||||
path: '/details', // 跳转的页面路由
|
||||
query: {
|
||||
id: id,
|
||||
hiddenBackFlag: true,
|
||||
},
|
||||
})
|
||||
window.open(detailPage.href, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
// 一键申请
|
||||
const apply = () => {
|
||||
}
|
||||
// 一键申请
|
||||
const apply = () => {
|
||||
if (checkedListAbility.value.length == 0) {
|
||||
message.warning('请先选择需要申请的数据!')
|
||||
} else {
|
||||
let arr = []
|
||||
let delArr = []
|
||||
console.log('list.value------------>', list.value);
|
||||
console.log('list.value------------>', list.value)
|
||||
|
||||
list.value.map((val) => {
|
||||
val.arr = val.children.filter((item) => {
|
||||
if (whoShow.itShowXiHaiAn) {
|
||||
item.type = '基础设施';
|
||||
item.resourceName = '摄像头列表';
|
||||
item.resourceId = '1522550195055828996';
|
||||
item.type = '基础设施'
|
||||
item.resourceName = '摄像头列表'
|
||||
item.resourceId = '1522550195055828996'
|
||||
}
|
||||
console.log('选择的数据=============>', item)
|
||||
if (checkedListAbility.value.indexOf(item.id) > -1) {
|
||||
|
@ -741,11 +831,10 @@ const apply = () => {
|
|||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.ant-list {
|
||||
|
||||
.ant-list {
|
||||
// max-height: 5.3rem;
|
||||
.ant-list-item {
|
||||
width: 100%;
|
||||
|
@ -785,13 +874,13 @@ const apply = () => {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-list::-webkit-scrollbar {
|
||||
.ant-list::-webkit-scrollbar {
|
||||
width: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.top {
|
||||
.top {
|
||||
margin: 0.1rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
@ -868,18 +957,18 @@ const apply = () => {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
.title {
|
||||
font-size: 0.2rem;
|
||||
color: #000000;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
font-weight: 500;
|
||||
margin-top: 0.2rem;
|
||||
margin-left: 0.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.tab {
|
||||
.tab {
|
||||
margin-top: 0.1rem;
|
||||
margin-left: 0.2rem;
|
||||
margin-bottom: 0.1rem;
|
||||
|
@ -902,22 +991,22 @@ const apply = () => {
|
|||
border: 0.01rem solid #0087ff;
|
||||
color: #0087ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
.name {
|
||||
max-width: 4.15rem;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-o-text-overflow: ellipsis;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
.name:hover {
|
||||
.name:hover {
|
||||
color: #0087ff;
|
||||
}
|
||||
}
|
||||
|
||||
.items {
|
||||
.items {
|
||||
height: 7.25rem;
|
||||
padding: 0 0.3rem;
|
||||
overflow-y: scroll;
|
||||
|
@ -952,55 +1041,55 @@ const apply = () => {
|
|||
border: 1px solid rgba(0, 135, 225, 0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-list-item-meta-avatar) {
|
||||
:deep(.ant-list-item-meta-avatar) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination {
|
||||
.ant-pagination {
|
||||
margin-bottom: 0.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.tx {
|
||||
.tx {
|
||||
display: inline-block;
|
||||
width: 0.8rem;
|
||||
height: 0.8rem;
|
||||
margin-left: 0.1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.sxt {
|
||||
.sxt {
|
||||
background: url('~@/assets/home/sxt_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.yyzy {
|
||||
.yyzy {
|
||||
background: url('~@/assets/home/yyzy_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.znsf {
|
||||
.znsf {
|
||||
background: url('~@/assets/home/znsf_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.tcfw {
|
||||
.tcfw {
|
||||
background: url('~@/assets/home/tcfw_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.kfzj {
|
||||
.kfzj {
|
||||
background: url('~@/assets/home/kfzj_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.ywzj {
|
||||
.ywzj {
|
||||
background: url('~@/assets/home/ywzj_square.png') no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-list-item-meta-title) {
|
||||
:deep(.ant-list-item-meta-title) {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
@ -1009,20 +1098,20 @@ const apply = () => {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.collect-btn {
|
||||
.collect-btn {
|
||||
width: 1rem;
|
||||
height: 0.36rem;
|
||||
border-radius: 2px;
|
||||
background: #fff;
|
||||
color: #0558e1;
|
||||
}
|
||||
}
|
||||
|
||||
.apply-btn {
|
||||
.apply-btn {
|
||||
width: 1rem;
|
||||
height: 0.36rem;
|
||||
margin-left: 0.12rem;
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -255,7 +255,6 @@
|
|||
import { useRouter } from 'vue-router'
|
||||
|
||||
export default {
|
||||
name: '',
|
||||
props: {},
|
||||
components: {
|
||||
HomeHeader,
|
||||
|
@ -296,7 +295,7 @@
|
|||
fileList.value = [
|
||||
{
|
||||
uid: res.data.data.id,
|
||||
name: '附件',
|
||||
name: res.data.data.enclosureName || '附件',
|
||||
staus: 'done',
|
||||
},
|
||||
]
|
||||
|
@ -339,6 +338,7 @@
|
|||
}
|
||||
const handleRemove = () => {
|
||||
formName.enclosure = ''
|
||||
formName.enclosureName = ''
|
||||
}
|
||||
const handleChange = (info) => {
|
||||
if (info.file.status !== 'uploading') {
|
||||
|
@ -346,12 +346,15 @@
|
|||
}
|
||||
if (info.file.status === 'removed') {
|
||||
formName.enclosure = ''
|
||||
formName.enclosureName = ''
|
||||
}
|
||||
if (info.file.status === 'done') {
|
||||
message.success(`${info.file.name} 文件上传成功`)
|
||||
formName.enclosure = info.file.response.data
|
||||
formName.enclosureName = info.file.name
|
||||
} else if (info.file.status === 'error') {
|
||||
formName.enclosure = ''
|
||||
formName.enclosureName = ''
|
||||
fileList.value = []
|
||||
message.error(`${info.file.name} 文件上传失败`)
|
||||
}
|
||||
|
@ -368,8 +371,8 @@
|
|||
// copy传参
|
||||
let _postData = JSON.parse(JSON.stringify(formName))
|
||||
_postData.detailsField = detailsField
|
||||
|
||||
if (id.value) {
|
||||
_postData.id = id.value
|
||||
updateDemandForm(_postData).then((upres) => {
|
||||
if (upres.data.code == 0) {
|
||||
relaunch({ data: _postData, taskId: taskId.value }).then(
|
||||
|
@ -396,8 +399,16 @@
|
|||
console.log(detString, _postData.detailsField, 'detString')
|
||||
demandApply(_postData).then((res) => {
|
||||
applySuccess.value = false
|
||||
message.success('操作成功!')
|
||||
// message.success('操作成功!')
|
||||
console.log('能力申请================>', res)
|
||||
if (res.data.code == 0) {
|
||||
message.success('操作成功!')
|
||||
window.setTimeout(() => {
|
||||
window.close()
|
||||
}, 1000)
|
||||
} else {
|
||||
message.error('操作失败')
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
@ -6,18 +6,28 @@
|
|||
<aside-menu></aside-menu>
|
||||
</aside>
|
||||
<article>
|
||||
<!-- 我的申请 -->
|
||||
<div class="form-container">
|
||||
<!-- <on-the-right-side-of-the-list
|
||||
v-if="showFlag === 'collect'"
|
||||
></on-the-right-side-of-the-list> -->
|
||||
<my-apply v-if="showFlag === 'apply'" :tabTypeName="tabTypeName"></my-apply>
|
||||
<template v-if="showFlag === 'apply'">
|
||||
<my-apply-xha
|
||||
v-if="xinhaian"
|
||||
:tabTypeName="tabTypeName"
|
||||
></my-apply-xha>
|
||||
<my-apply v-else :tabTypeName="tabTypeName"></my-apply>
|
||||
</template>
|
||||
<!-- 我的发布 -->
|
||||
<my-publish v-if="showFlag === 'push'"></my-publish>
|
||||
<!-- 申购车 -->
|
||||
<purchase-vehicle
|
||||
v-if="showFlag === 'PurchaseVehicle'"
|
||||
></purchase-vehicle>
|
||||
<!-- 我的收藏 -->
|
||||
<collection v-else-if="showFlag === 'collect'"></collection>
|
||||
<!-- 我的需求 -->
|
||||
<my-application v-else-if="showFlag === 'demand'"></my-application>
|
||||
<!-- 我的评论 -->
|
||||
<my-comments v-else-if="showFlag === 'remark'"></my-comments>
|
||||
<!-- 我的浏览 -->
|
||||
<my-browse v-else-if="showFlag === 'recent'"></my-browse>
|
||||
</div>
|
||||
</article>
|
||||
|
@ -30,6 +40,7 @@
|
|||
import asideMenu from '@/views/personalCenter/components/asideMenu'
|
||||
// import OnTheRightSideOfTheList from './OnTheRightSideOfTheList'
|
||||
import MyApply from '@/views/personalCenter/components/MyApply'
|
||||
import MyApplyXha from '@/views/personalCenter/components/MyApplyXha'
|
||||
import MyApplication from '@/views/personalCenter/components/MyApplication'
|
||||
import MyComments from '@/views/personalCenter/components/MyComments'
|
||||
import MyPublish from '@/views/personalCenter/components/MyPublish'
|
||||
|
@ -41,6 +52,7 @@
|
|||
import { useRouter } from 'vue-router'
|
||||
const router = useRouter()
|
||||
let tabTypeName = ref(router.currentRoute.value.query.tabTypeName || '')
|
||||
let xinhaian = whoShow.itShowXiHaiAn //判断是否是西海岸版本
|
||||
const type = JSON.parse(window.sessionStorage.getItem('type'))
|
||||
const showFlag = ref('PurchaseVehicle')
|
||||
if (type) {
|
||||
|
@ -72,30 +84,30 @@
|
|||
background-color: #f5f8fc;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
margin: 64px auto 0;
|
||||
margin: 0.64rem auto 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
aside {
|
||||
width: 282px;
|
||||
width: 2.82rem;
|
||||
height: 96%;
|
||||
overflow-y: auto;
|
||||
background-color: #fff;
|
||||
margin: 1% 0 3%;
|
||||
}
|
||||
article {
|
||||
width: 1090px;
|
||||
width: 10.9rem;
|
||||
height: 99%;
|
||||
// overflow-y: auto;
|
||||
background-color: #fff;
|
||||
margin: 1% 0 1% 14px;
|
||||
margin: 1% 0 1% 0.14rem;
|
||||
}
|
||||
.form-container {
|
||||
.title {
|
||||
font-size: 20px;
|
||||
font-size: 0.2rem;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 0.2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue