Compare commits

...

37 Commits

Author SHA1 Message Date
a0049873 4dc1f7190e Merge branch 'hi-ucs-dev' into release
# Conflicts:
#	front/src/App.vue
#	front/src/views/detailsAll/ApplicationDetails.vue
2022-12-15 13:48:56 +08:00
gongjiale 1e6707711e 提交 2022-12-15 10:17:34 +08:00
a0049873 6b143f2f75 审核组模块开发 2022-12-14 15:56:43 +08:00
a0049873 4605fce6b7 上传组件提示调整 2022-12-13 14:32:03 +08:00
a0049873 05782a78be 资源申请跳转政务云 2022-12-13 14:24:47 +08:00
a0049873 5ad71c3ef1 需求修改 2022-12-13 11:55:23 +08:00
a0049873 95252d1f49 工作台我的已办不刷新
需求申请被驳回之后,点击修改,之前的附件名称被修改了,直接命名为附件,而非原附件名称
2022-12-13 11:36:05 +08:00
wuhongjian 90f9f54528 格式更新 2022-12-12 21:32:37 +08:00
gongjiale 49d0fd35a7 修改 2022-12-12 20:56:24 +08:00
gongjiale a221a89a08 Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-12-12 20:43:08 +08:00
gongjiale c57e81b4b2 修改市局 2022-12-12 20:42:45 +08:00
wuhongjian 338f251563 bug修复 2022-12-12 20:01:49 +08:00
gongjiale e5e2047a94 提交政务云 2022-12-12 19:10:17 +08:00
gongjiale 6d00b050fc Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev
# Conflicts:
#	front/src/views/personalCenter/components/MyApply.vue
2022-12-12 17:02:33 +08:00
gongjiale d482042bcb 提交部分 2022-12-12 17:01:29 +08:00
wuhongjian 8906f1f60a 修改所有个人中心新建窗口跳转详情 2022-12-12 16:27:34 +08:00
wuhongjian efba4dc7ba 资源申请跳转修复 2022-12-12 14:16:21 +08:00
wuhongjian 28d3d632ee Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-12-12 11:12:49 +08:00
wuhongjian 79c97721d8 层级问题修复 2022-12-12 11:12:46 +08:00
gongjiale 9937237959 提交市局修改 2022-12-10 20:25:43 +08:00
wuhongjian 4c59abaa7c 市局还原 2022-12-09 17:33:27 +08:00
a0049873 ad65db6236 BUG修改 2022-12-09 14:47:36 +08:00
wuhongjian b7be38f740 Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-12-09 10:27:08 +08:00
wuhongjian 3a99111ad8 解决button提交表单问题 2022-12-09 10:27:05 +08:00
a0049873 8b40129164 全局禁用图片事件 2022-12-09 10:20:08 +08:00
wuhongjian dd30c22954 Merge branch 'hi-ucs-dev' of http://10.16.3.230:8011/wuhongjian/hi-ucs-web into hi-ucs-dev 2022-12-08 17:33:17 +08:00
wuhongjian 1499bcbf35 Merge branch 'hi-ucs-dev' of http://124.222.94.39:3000/wuhongjian/hi-ucs into hi-ucs-dev 2022-12-08 17:27:34 +08:00
wuhongjian dff7426103 下载bug 2022-12-08 17:27:30 +08:00
DESKTOP-9CT32MA\Administrator 417c89b9be 知识库: 所属产品线更改为下拉(跟归属单位一样) 2022-12-06 18:32:54 +08:00
guoyue b6e56cc0ea 知识库--模型规则详情 2022-12-02 17:29:20 +08:00
hucongqian 8b0e6b2519 Merge branch 'hi-ucs-dev' of http://10.16.3.230:8011/wuhongjian/hi-ucs-web into hi-ucs-dev 2022-12-02 09:46:15 +08:00
hucongqian 3bc9f34921 能力集市-知识库 2022-12-02 09:45:45 +08:00
guoyue 3277a350f4 知识库上架编辑 2022-12-01 17:35:15 +08:00
guoyue 421524edaa fix知识库删除 2022-12-01 17:28:04 +08:00
guoyue 8bbeadbdc8 fix:知识库类型重复bug 2022-12-01 17:26:08 +08:00
guoyue 1a300b0ce7 fix:知识库动态列错乱显示bug 2022-12-01 14:30:43 +08:00
guoyue 25c45024f7 能力挂接增加知识库 2022-11-30 19:39:57 +08:00
60 changed files with 5376 additions and 1488 deletions

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-04-11 16:30:04 * @Date: 2022-04-11 16:30:04
* @LastEditors: Light * @LastEditors: Light
* @LastEditTime: 2022-10-26 11:05:07 * @LastEditTime: 2022-12-13 11:10:46
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>

View File

@ -14,19 +14,21 @@ export default {
var showType = this.$route.params.processShowType var showType = this.$route.params.processShowType
this.processVisible = true this.processVisible = true
this.$nextTick(() => { this.$nextTick(() => {
if (this.$route.params.processDefinitionKey) { if (this.$route.params.processDefinitionKey && this.$refs.renProcessMultiple) {
this.$refs.renProcessMultiple.dataForm.processDefinitionKey = this.$route.params.processDefinitionKey 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 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 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.dataForm.businessKey = this.$route.params.businessKey
this.$refs.renProcessMultiple.showType = showType this.$refs.renProcessMultiple.showType = showType
this.$refs.renProcessMultiple.parentObj = this this.$refs.renProcessMultiple.parentObj = this
this.$refs.renProcessMultiple.callbacks = callbacks this.$refs.renProcessMultiple.callbacks = callbacks
}
}) })
}, },
// 关闭当前窗口 // 关闭当前窗口

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: kongjun qdkongjun@gmail.com * @Author: kongjun qdkongjun@gmail.com
* @Date: 2022-06-20 09:29:59 * @Date: 2022-06-20 09:29:59
* @LastEditors: hisense.wuhongjian * @LastEditors: Light
* @LastEditTime: 2022-10-18 15:46:51 * @LastEditTime: 2022-12-09 11:36:33
* @FilePath: \back\src\views\main-sidebar.vue * @FilePath: \back\src\views\main-sidebar.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @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') { // } if (children.id == '1545313754106699777') { //
children.total = Number(this.numObject.comment_review) children.total = Number(this.numObject.comment_review)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} if (children.id == '1554294862931562498') { // } if (children.id == '1554294862931562498') { //
children.total = 0 // children.total = 0
children.total = Number(this.numObject.meetingroom_book)
daibanNum = Number(daibanNum) + Number(children.total) daibanNum = Number(daibanNum) + Number(children.total)
} }
} }
menu.total = daibanNum menu.total = daibanNum
console.log('menu', menu)
} }
} }
this.$store.state.sidebarMenuList = menuList this.$store.state.sidebarMenuList = menuList

View File

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

View File

@ -12,12 +12,19 @@
</el-form-item> </el-form-item>
<!--上架部门--> <!--上架部门-->
<el-form-item> <el-form-item v-if="this.departmentId === 1 ">
<span v-if="this.departmentId === 1 ">上架部门</span> <span>上架部门:</span>
<span v-else>申请部门</span>
<el-select v-model="abilityDepartment" placeholder="请选择部门" filterable clearable> <el-select v-model="abilityDepartment" placeholder="请选择部门" filterable clearable>
<el-option label="全部" value=""></el-option> <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> v-bind="item"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -192,7 +199,11 @@
</el-table-column> </el-table-column>
<el-table-column prop="yyzy" label="应用资源" min-width="100%"> <el-table-column prop="yyzy" label="应用资源" min-width="100%">
</el-table-column> </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>
<el-table-column prop="zj" label="总计" min-width="100%"> <el-table-column prop="zj" label="总计" min-width="100%">
</el-table-column> </el-table-column>
@ -265,6 +276,8 @@ export default {
checked: false, checked: false,
provideSelects: [], provideSelects: [],
departmentSelects: [], departmentSelects: [],
departmentSelects1: [],
provideSelects1:[],
exportExcel: CONFIGITEM.configData[CONFIGITEM.version].apiURL + '/census/center/export', exportExcel: CONFIGITEM.configData[CONFIGITEM.version].apiURL + '/census/center/export',
exportExcelCondition: '', exportExcelCondition: '',
exportExcelType: '', exportExcelType: '',
@ -381,7 +394,9 @@ export default {
{ name: '开发组件', value: 3 }, { name: '开发组件', value: 3 },
{ name: '业务组件', value: 4 }, { name: '业务组件', value: 4 },
{ name: '应用资源', value: 5 }, { name: '应用资源', value: 5 },
{ name: '会客厅', value: 6 } { name: '会客厅', value: 6 },
{ name: '云资源', value: 7 },
{ name: '云视频', value: 8 }
], // ], //
typeOptions1: [// typeOptions1: [//
{ name: '智能算法', value: 1 }, { name: '智能算法', value: 1 },
@ -401,7 +416,9 @@ export default {
this.departmentSelects = [] this.departmentSelects = []
this.provideSelects = [] this.provideSelects = []
res.data.data.map(val => { 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 }) this.provideSelects.push({ label: val.name, value: val.name })
}) })
}) })
@ -451,7 +468,7 @@ export default {
this.detailsVisible = false this.detailsVisible = false
}, },
handleCurrentChange (val) { handleCurrentChange (val) {
console.log('val------------>', val)
this.currentPage = val this.currentPage = val
// todo // todo
if (this.departmentId === 3) { if (this.departmentId === 3) {
@ -461,40 +478,8 @@ export default {
this.getTwoDetail(val) 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) { getFirstTree (page) {
@ -523,6 +508,14 @@ export default {
} }
}) })
.then((res) => { .then((res) => {
if (res.data.code !== 0) {
this.tableData =[]
this.tableDataClone = []
this.total = 0
return this.$message.error("服务器内部异常")
}else{
const result = res.data.data const result = res.data.data
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
if (!result[i].hasOwnProperty('yyzy')) { if (!result[i].hasOwnProperty('yyzy')) {
@ -561,7 +554,9 @@ export default {
endDate: this.endDate, endDate: this.endDate,
resourceName: this.resourceName resourceName: this.resourceName
}) })
}
}) })
}, },
// 使-使 // 使-使
getSecondTree (page) { getSecondTree (page) {
@ -590,6 +585,13 @@ export default {
} }
}) })
.then((res) => { .then((res) => {
if (res.data.code !== 0) {
this.tableData =[]
this.tableDataClone = []
this.total = 0
return this.$message.error("服务器内部异常")
}else{
const result = res.data.data const result = res.data.data
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
if (!result[i].hasOwnProperty('yyzy')) { if (!result[i].hasOwnProperty('yyzy')) {
@ -629,6 +631,7 @@ export default {
resourceName: this.resourceName resourceName: this.resourceName
}) })
}
}) })
}, },
// //
@ -701,7 +704,13 @@ export default {
} }
}) })
.then((res) => { .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.tableData = res.data.data.list
this.tableDataClone = res.data.data.list this.tableDataClone = res.data.data.list
this.total = res.data.data.total this.total = res.data.data.total
@ -712,10 +721,12 @@ export default {
endDate: this.endDate, endDate: this.endDate,
resourceName: this.resourceName resourceName: this.resourceName
}) })
}
}) })
}, },
// 使 // 使
getTwoDetail (page) { getTwoDetail (page) {
var passAndReview = '' // "" var passAndReview = '' // ""
if (this.examineStatus == '-1') { if (this.examineStatus == '-1') {
this.status = '' this.status = ''
@ -745,6 +756,14 @@ export default {
} }
}) })
.then((res) => { .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.tableData = res.data.data.list
this.tableDataClone = res.data.data.list this.tableDataClone = res.data.data.list
this.total = res.data.data.total this.total = res.data.data.total
@ -756,69 +775,12 @@ export default {
resourceName: this.resourceName, resourceName: this.resourceName,
provideDept: this.provideDepartment 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) { handleClick (row) {
if (this.choseId === 0) { if (this.choseId === 0) {
if (this.departmentId === 1) { if (this.departmentId === 1) {
@ -847,6 +809,8 @@ export default {
// type // type
handleChose (index) { handleChose (index) {
this.checked = false this.checked = false
this.departmentId = index this.departmentId = index
this.currentPage = 1 this.currentPage = 1
@ -914,6 +878,9 @@ export default {
}, },
// ////////// // //////////
goToDetail () { goToDetail () {
this.abilityDepartment=''
this.provideDepartment=''
this.currentPage = 1 this.currentPage = 1
this.pageSize = 10 this.pageSize = 10
this.detailFlag = !this.detailFlag this.detailFlag = !this.detailFlag
@ -928,6 +895,9 @@ export default {
}, },
// //
goToBack () { goToBack () {
this.abilityDepartment=''
this.provideDepartment=''
this.checked = false this.checked = false
this.currentPage = 1, this.currentPage = 1,
this.pageSize = 10, this.pageSize = 10,

View File

@ -59,8 +59,8 @@
></el-input> ></el-input>
</el-tooltip> </el-tooltip>
</el-form-item> </el-form-item>
<el-form-item v-if="dataForm.enclosure" label="申请附件" prop="enclosure"> <el-form-item v-show="dataForm.enclosure" label="申请附件">
<button <!-- <button
style=" style="
width: 100px; width: 100px;
height: 30px; height: 30px;
@ -77,8 +77,20 @@
@click="downloadFile(dataForm.enclosure, '申请附件')" @click="downloadFile(dataForm.enclosure, '申请附件')"
> >
附件下载 附件下载
</button> </button> -->
<!-- <el-button class="DownloadAttachment" @click="downloadFile(dataForm.enclosure, '申请附件')">附件下载</el-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-item>
</el-form> </el-form>
<!-- 流程综合组件 --> <!-- 流程综合组件 -->
@ -139,6 +151,12 @@ export default {
// //
fieldDisabled: false, fieldDisabled: false,
dataForm: { dataForm: {
applyUserName: '',
applyUserPhone: '',
applyUserDeptName: '',
demandSubject: '',
detailsField: '',
demandDetails: '',
id: '', id: '',
user: '', user: '',
phone: '', phone: '',
@ -146,7 +164,8 @@ export default {
area: '', area: '',
system: '', system: '',
scene: '', scene: '',
basis: '' basis: '',
enclosure: ''
}, },
// //
dialogVisible: false, dialogVisible: false,
@ -159,7 +178,7 @@ export default {
created () { created () {
// KEY // KEY
this.dataForm.id = this.$route.params.businessKey this.dataForm.id = this.$route.params.businessKey
console.log(this.$route.params) // console.log(this.$route.params)
this.init() this.init()
// //
var callbacks = { var callbacks = {
@ -202,8 +221,10 @@ export default {
init () { init () {
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
if (this.$refs.dataForm) {
this.$refs.dataForm.resetFields() this.$refs.dataForm.resetFields()
if (this.dataForm.id) { }
if (this.dataForm && this.dataForm.id) {
// KEY // KEY
this.fieldDisabled = true this.fieldDisabled = true
this.getInfo() this.getInfo()

View File

@ -109,31 +109,31 @@
</template> </template>
<script> <script>
import mixinViewModule from "@/mixins/view-module"; import mixinViewModule from '@/mixins/view-module'
import processModule from "@/mixins/process-module"; import processModule from '@/mixins/process-module'
export default { export default {
mixins: [mixinViewModule, processModule], mixins: [mixinViewModule, processModule],
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: "/act/his/getMyHandledInstancePage", getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
getDataListIsPage: true, getDataListIsPage: true,
deleteIsBatch: true, deleteIsBatch: true,
deleteIsBatchKey: "deploymentId", deleteIsBatchKey: 'deploymentId'
}, },
dataForm: { dataForm: {
processDefinitionId: "", processDefinitionId: ''
}, }
}; }
}, },
components: {}, components: {},
methods: { methods: {
showDetail (row) { showDetail (row) {
if (!row.businessKey) { 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> </script>

View File

@ -115,7 +115,7 @@ export default {
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/act/his/getMyHandledInstancePage', getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
getDataListIsPage: true, getDataListIsPage: true,
deleteIsBatch: true, deleteIsBatch: true,
deleteIsBatchKey: 'deploymentId' deleteIsBatchKey: 'deploymentId'

View File

@ -115,7 +115,7 @@ export default {
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/act/his/getMyHandledInstancePage', getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
getDataListIsPage: true, getDataListIsPage: true,
deleteIsBatch: true, deleteIsBatch: true,
deleteIsBatchKey: 'deploymentId' deleteIsBatchKey: 'deploymentId'

View File

@ -115,7 +115,7 @@ export default {
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/act/his/getMyHandledInstancePage', getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
getDataListIsPage: true, getDataListIsPage: true,
deleteIsBatch: true, deleteIsBatch: true,
deleteIsBatchKey: 'deploymentId' deleteIsBatchKey: 'deploymentId'

View File

@ -115,7 +115,7 @@ export default {
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/act/his/getMyHandledInstancePage', getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
getDataListIsPage: true, getDataListIsPage: true,
deleteIsBatch: true, deleteIsBatch: true,
deleteIsBatchKey: 'deploymentId' deleteIsBatchKey: 'deploymentId'

View File

@ -116,7 +116,7 @@ export default {
data () { data () {
return { return {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/act/his/getMyHandledInstancePage', getDataListURL: '/act/his/getMyHandledInstancePage?ended=1',
getDataListIsPage: true, getDataListIsPage: true,
deleteIsBatch: true, deleteIsBatch: true,
deleteIsBatchKey: 'deploymentId' deleteIsBatchKey: 'deploymentId'

View File

@ -3,7 +3,7 @@
<div class="mod-demo__sysnotice"> <div class="mod-demo__sysnotice">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getData()"> <el-form :inline="true" :model="dataForm" @keyup.enter.native="getData()">
<el-form-item> <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-form-item> <el-form-item>
<el-button type="primary" @click="getData()">{{ $t('query') }}</el-button> <el-button type="primary" @click="getData()">{{ $t('query') }}</el-button>
@ -23,10 +23,17 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="180"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="180">
<template slot-scope="scope"> <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>
<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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -38,7 +45,7 @@
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div> </div>
<el-dialog <el-dialog
title="添加公告" :title="submitData.id?'修改公告':'添加公告'"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="30%" width="30%"
:close-on-click-modal="false"> :close-on-click-modal="false">
@ -60,10 +67,11 @@
:visible.sync="dialogVisible2" :visible.sync="dialogVisible2"
width="30%" width="30%"
:close-on-click-modal="false"> :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="请输入公告周期(天)" placeholder="请输入公告周期(天)"
v-model="cycle"> v-model="cycle">
</el-input> </el-input> -->
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button> <el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="submitCycle"> </el-button> <el-button type="primary" @click="submitCycle"> </el-button>
@ -120,11 +128,12 @@ export default {
handleClose () { handleClose () {
this.dialogVisible = false this.dialogVisible = false
this.dialogVisible2 = false this.dialogVisible2 = false
this.submitData.content = '' this.submitData = {
content: ''
}
this.getCycle() this.getCycle()
}, },
submit () { submit () {
console.log(this.submitData)
if (this.submitData.content.length < 6) { if (this.submitData.content.length < 6) {
this.$message({ this.$message({
message: '最少发布6个字的公告', message: '最少发布6个字的公告',
@ -132,10 +141,15 @@ export default {
}) })
return return
} }
this.$http.post('/sysnoticemanagement', this.submitData).then(res => { if (this.submitData.id) {
console.log('获取通知数据', res.data.data) this.$http.post('/sysnoticemanagement/update', this.submitData).then(res => {
this.clear() this.clear()
}) })
} else {
this.$http.post('/sysnoticemanagement', this.submitData).then(res => {
this.clear()
})
}
}, },
submitCycle () { submitCycle () {
this.$http.put('/sys/dict/data', { this.$http.put('/sys/dict/data', {
@ -156,23 +170,16 @@ export default {
this.getCycle() this.getCycle()
}, },
deleteHandle (item) { deleteHandle (item) {
console.log(item) console.log('点击', item)
this.$http.post('/sysnoticemanagement/delete', [item.id]).then(res => { this.$http.post('/sysnoticemanagement/delete', [item.id]).then(res => {
this.clear() this.clear()
}) })
}, },
viewHandle (row) { update (row) {
// console.log(row)
const routeParams = { this.submitData.id = row.id
routeName: `${this.$route.name}__${row.id}`, this.submitData.content = row.content
title: this.$t('notice.view1'), this.dialogVisible = true
path: 'notice/notice-view',
params: {
id: row.id
}
}
//
addDynamicRoute(routeParams, this.$router)
} }
}, },
created () { created () {

View File

@ -19,7 +19,7 @@ js:
<a-input v-if="type == 'input'" v-model:value="data.note1" :placeholder="'请输入' + name" @change="changeIiem(name,data.note1)"/> <a-input v-if="type == 'input'" v-model:value="data.note1" :placeholder="'请输入' + name" @change="changeIiem(name,data.note1)"/>
<!-- 下拉框 --> <!-- 下拉框 -->
<el-select <el-select
v-else-if="(type === 'select' && name !== '归属部门' && name !== '使用方式') || type == 'radio'" v-else-if="(type === 'select' && name !== '归属部门' && name !== '使用方式' && name !== '所属产品线') || type == 'radio'"
style="width: 240px" style="width: 240px"
v-model:value="data.note1" v-model:value="data.note1"
@change="changeIiem(name,data.note1)" @change="changeIiem(name,data.note1)"
@ -32,7 +32,7 @@ js:
</el-option> </el-option>
</el-select> </el-select>
<el-select <el-select
v-else-if="(type === 'select' && name === '归属部门')" v-else-if="(type === 'select' && (name === '归属部门' || name === '所属产品线'))"
style="width:240px" style="width:240px"
v-model:value="data.note1" v-model:value="data.note1"
filterable filterable
@ -82,6 +82,11 @@ js:
<el-radio v-for="item in options" :label="item.dictLabel" :key="item.dictLabel">{{item.dictLabel}}</el-radio> <el-radio v-for="item in options" :label="item.dictLabel" :key="item.dictLabel">{{item.dictLabel}}</el-radio>
</el-radio-group> --> </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" /> <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> </div>
</template> </template>
<script> <script>
@ -132,7 +137,7 @@ export default {
this.options = dataList this.options = dataList
}) })
.catch(() => {}) .catch(() => {})
} else if (this.data.name === '归属部门') { } else if (this.data.name === '归属部门' || this.data.name === '所属产品线') {
this.$http.get('/sys/dept/all').then(res => { this.$http.get('/sys/dept/all').then(res => {
const dataList = [] const dataList = []
res.data.data.forEach((element) => { res.data.data.forEach((element) => {

View File

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

View File

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

View File

@ -74,11 +74,11 @@ export default {
}, },
methods: { methods: {
resetHandle () { resetHandle () {
this.dataForm.name = ''; this.dataForm.name = ''
this.$nextTick(() => { this.$nextTick(() => {
this.getDataList() this.getDataList()
}) })
}, }
} }
} }
</script> </script>

View File

@ -61,8 +61,8 @@ export default {
}, },
{ {
title: '单位', title: '单位',
key: 'deptContacts', key: 'deptName',
dataIndex: 'deptContacts', dataIndex: 'deptName',
width: 144 width: 144
}, },
{ {

View File

@ -28,10 +28,9 @@
v-if="dataInfo.type === 'todo'" v-if="dataInfo.type === 'todo'"
:content=" :content="
(item.userDeptName || '--') + (item.userDeptName || '--') +
'提交“' + '提交' +
(item.applyTitle || '--') + (item.applyTitle?'“'+item.applyTitle+'”': '') +
'”' + (item.processDefinitionName || item.resourceType || '--') +
(item.processDefinitionName || '--') +
(item.processDefinitionName !== '能力申请' && (item.processDefinitionName !== '能力申请' &&
item.processDefinitionName !== '能力需求申请' item.processDefinitionName !== '能力需求申请'
? '申请' ? '申请'
@ -46,10 +45,9 @@
<!-- {{ `${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}` }} --> <!-- {{ `${(item.processDefinitionName || '--')}${item.taskName ? ('—' + item.taskName) : ''}` }} -->
{{ {{
(item.userDeptName || '--') + (item.userDeptName || '--') +
'提交“' + '提交' +
(item.applyTitle || '--') + (item.applyTitle?'“'+item.applyTitle+'”': '') +
'”' + (item.processDefinitionName || item.resourceType || '--') +
(item.processDefinitionName || '--') +
(item.processDefinitionName !== '能力申请' && (item.processDefinitionName !== '能力申请' &&
item.processDefinitionName !== '能力需求申请' item.processDefinitionName !== '能力需求申请'
? '申请' ? '申请'
@ -64,7 +62,7 @@
:content=" :content="
(item.startUserDeptName || '--') + (item.startUserDeptName || '--') +
'提交的' + '提交的' +
(item.processDefinitionName || '--') + (item.processDefinitionName || item.resourceType || '--') +
(item.processDefinitionName !== '能力申请' && (item.processDefinitionName !== '能力申请' &&
item.processDefinitionName !== '能力需求申请' item.processDefinitionName !== '能力需求申请'
? '申请' ? '申请'
@ -79,7 +77,7 @@
{{ {{
(item.startUserDeptName || '--') + (item.startUserDeptName || '--') +
'提交的' + '提交的' +
(item.processDefinitionName || '--') + (item.processDefinitionName || item.resourceType || '--') +
(item.processDefinitionName !== '能力申请' && (item.processDefinitionName !== '能力申请' &&
item.processDefinitionName !== '能力需求申请' item.processDefinitionName !== '能力需求申请'
? '申请' ? '申请'

View File

@ -90,7 +90,7 @@ export default {
created () { created () {
bus.$off('workInit') bus.$off('workInit')
bus.$on('workInit', () => { bus.$on('workInit', () => {
console.log("刷新工作台===================") console.log('刷新工作台===================')
this.getToDo() this.getToDo()
this.getHasToDo() this.getHasToDo()
}) })
@ -140,7 +140,7 @@ export default {
// page: 1 // page: 1
// } // }
this.loadingHasToDo = true 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.loadingHasToDo = false
this.hasToDodoData.list = res.data.data.list || [] this.hasToDodoData.list = res.data.data.list || []
this.hasToDodoData.num = res.data.data.total || 0 this.hasToDodoData.num = res.data.data.total || 0

View File

@ -89,6 +89,12 @@ z-index: 10010!important;
.ant-tooltip{ .ant-tooltip{
z-index: 10010!important; z-index: 10010!important;
} }
.ant-image-preview-wrap {
z-index: 10012!important;
}
.ant-picker-dropdown {
z-index: 10010!important;
}
.model-container .confirmChrome { .model-container .confirmChrome {
width: 140px; width: 140px;

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-05-06 11:12:0011-18 19:07:53 * @Date: 2022-05-06 11:12:0011-18 19:07:53
* @LastEditors: Light * @LastEditors: Light
* @LastEditTime: 2022-12-08 13:43:12 * @LastEditTime: 2022-12-15 13:48:34
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
@ -173,4 +173,7 @@
body { body {
font-size: 0.14rem; font-size: 0.14rem;
} }
img {
pointer-events: none;
}
</style> </style>

View File

@ -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) { export function treminders(data) {
return request({ return request({

View File

@ -264,7 +264,7 @@
:placeholder="'请输入' + placeHolderWords(item.name)+',单位为元'" :placeholder="'请输入' + placeHolderWords(item.name)+',单位为元'"
@change="changeIiem(item.name, item.note1)" @change="changeIiem(item.name, item.note1)"
/> />
<span style="color:red"> (仅用于测算为部门节省资金)</span> <span style="color:red"> (单位为元*仅用于测算为部门节省资金)</span>
</div> </div>
<a-input <a-input
:maxLength="1000" :maxLength="1000"

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-09 15:41:19 * @Date: 2022-06-09 15:41:19
* @LastEditors: Light * @LastEditors: Light
* @LastEditTime: 2022-11-28 17:05:33 * @LastEditTime: 2022-12-13 14:31:13
* @Description: 上传组件 * @Description: 上传组件
--> -->
<template> <template>
@ -34,7 +34,7 @@
</a-upload> </a-upload>
</template> </template>
<script setup> <script setup>
import { ref, defineProps } from 'vue' import { ref, defineProps, onBeforeUnmount } from 'vue'
// import { baseURL } from '@/config' // import { baseURL } from '@/config'
import { message, Upload } from 'ant-design-vue' import { message, Upload } from 'ant-design-vue'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
@ -48,6 +48,9 @@
emitFlag: { type: String, default: '' }, emitFlag: { type: String, default: '' },
busType: { type: Number, default: 0 }, busType: { type: Number, default: 0 },
}) })
message.config({
top: `70px`,
})
console.log('window.SITE_CONFIG.apiURL', window.SITE_CONFIG.apiURL) console.log('window.SITE_CONFIG.apiURL', window.SITE_CONFIG.apiURL)
const apiURL = window.SITE_CONFIG.apiURL const apiURL = window.SITE_CONFIG.apiURL
const fileList = ref([]) const fileList = ref([])
@ -89,8 +92,7 @@
console.log(flag) console.log(flag)
if (!flag) { if (!flag) {
message.error(`${file.name} 不是${props.type}类型`) message.error(`${file.name} 不是${props.type}类型`)
} } else if (!isLt10M) {
if (!isLt10M) {
message.error(`${file.name} 超出100M的大小`) message.error(`${file.name} 超出100M的大小`)
flag = false flag = false
} }
@ -154,6 +156,9 @@
// eslint-disable-next-line vue/no-mutating-props // eslint-disable-next-line vue/no-mutating-props
props.data.note1 = '' props.data.note1 = ''
} }
onBeforeUnmount(() => {
message.destroy()
})
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.upload-list-inline { .upload-list-inline {

View File

@ -238,7 +238,7 @@
</a-list> </a-list>
</div> </div>
<!-- 关闭需求申请 --> <!-- 关闭需求申请 -->
<div class="closeMain" @click="closeMain">X</div> <div class="closeMain" @click="closeMain" v-show="!hiddenBackFlag">X</div>
</div> </div>
</div> </div>
</template> </template>
@ -286,6 +286,7 @@
const evaluateData = ref([]) const evaluateData = ref([])
const myComment = ref('') const myComment = ref('')
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
const evaluateSubmit = () => { const evaluateSubmit = () => {
if (myComment.value === '') { if (myComment.value === '') {
message.error('请填写评价!') message.error('请填写评价!')
@ -388,6 +389,7 @@
// const formData = computed(() => store.getters['home/demandDetailsData']) // const formData = computed(() => store.getters['home/demandDetailsData'])
// formName.value = formData.value // formName.value = formData.value
const id = router.currentRoute.value.query.id const id = router.currentRoute.value.query.id
getDemandForm(id).then((res) => { getDemandForm(id).then((res) => {
console.log(res, 'res') console.log(res, 'res')
const { data } = res.data const { data } = res.data

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:32:22 * @Date: 2022-06-08 11:32:22
* @LastEditors: hisense.wuhongjian * @LastEditors: Light
* @LastEditTime: 2022-12-12 11:10:53 * @LastEditTime: 2022-12-15 13:48:45
* @Description: 应用详情页 * @Description: 应用详情页
--> -->
<template> <template>

View File

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

View File

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

View File

@ -59,7 +59,12 @@
</template> </template>
申请使用 申请使用
</a-button> </a-button>
<a-button type="primary" @click="addShoppingCart()"> <a-button type="primary" @click="addShoppingCart()" :style="{
cursor:
!props.dataList.isInShoppingCart
? 'pointer'
: 'not-allowed',
}">
<!-- <template #icon> <!-- <template #icon>
<shopping-cart-outlined /> <shopping-cart-outlined />
</template> --> </template> -->

View File

@ -62,6 +62,12 @@
<a-button <a-button
v-if="!dataList.fuseResourceList" v-if="!dataList.fuseResourceList"
type="primary" type="primary"
:style="{
cursor:
!props.dataList.isInShoppingCart
? 'pointer'
: 'not-allowed',
}"
@click="addShoppingCart()" @click="addShoppingCart()"
> >
<!-- <template #icon><shopping-cart-outlined /></template> --> <!-- <template #icon><shopping-cart-outlined /></template> -->

View File

@ -56,7 +56,8 @@
</template> </template>
申请使用 申请使用
</a-button> </a-button>
<a-button type="primary" @click="addShoppingCart()"> <a-button type="primary" @click="addShoppingCart()"
:style="{ cursor: !props.dataList.isInShoppingCart ? 'pointer': 'not-allowed', }">
<!-- <template #icon> <!-- <template #icon>
<shopping-cart-outlined /> <shopping-cart-outlined />
</template> --> </template> -->

View File

@ -54,7 +54,8 @@
<template #icon><form-outlined /></template> <template #icon><form-outlined /></template>
申请使用 申请使用
</a-button> </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> --> <!-- <template #icon><shopping-cart-outlined /></template> -->
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入购物车 {{ props.dataList.isInShoppingCart ? '已' : '' }}加入购物车
</a-button> </a-button>

View File

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

View File

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

View File

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

View File

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

View File

@ -62,6 +62,8 @@
(val) => val.attrType == '外部服务地址' (val) => val.attrType == '外部服务地址'
).length === 0 ).length === 0
" "
:style="{ cursor: !props.dataList.isInShoppingCart ? 'pointer': 'not-allowed', }"
> >
<!-- <template #icon><shopping-cart-outlined /></template> --> <!-- <template #icon><shopping-cart-outlined /></template> -->
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入申购车 {{ props.dataList.isInShoppingCart ? '已' : '' }}加入申购车

View File

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

View File

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

View File

@ -1006,7 +1006,6 @@
paramsGetResources, paramsGetResources,
flag flag
) )
getAppResources() getAppResources()
} }
// //
@ -1167,10 +1166,8 @@
} }
console.log('selectSubType------------>', selectSubType) console.log('selectSubType------------>', selectSubType)
console.log('ListContent.records------------>', ListContent.records) console.log('ListContent.records------------>', ListContent.records)
ListContent.records.forEach((val) => { ListContent.records.forEach((val) => {
console.log('val-----ddd------->', val) console.log('val-----ddd------->', val)
if (!val) { if (!val) {
return return
} }
@ -1202,7 +1199,6 @@
} }
} }
}) })
// - // -
if (whoShow1.value.itShowXiHaiAn) { if (whoShow1.value.itShowXiHaiAn) {
if (!storageSearchInfo) { if (!storageSearchInfo) {
@ -1341,7 +1337,6 @@
globalData.data = [] globalData.data = []
} }
select = router.currentRoute.value.query.select select = router.currentRoute.value.query.select
if ( if (
(select == '应用资源' && (select == '应用资源' &&
(paramsGetResources.orderField == '' || (paramsGetResources.orderField == '' ||
@ -1649,7 +1644,6 @@
val.createTime = val.createTime.split('.')[0] val.createTime = val.createTime.split('.')[0]
val.createDate = val.createTime // val.createDate = val.createTime //
}) })
console.log('接口数据', data) console.log('接口数据', data)
resourceList.data = data || [] resourceList.data = data || []
console.log('接口数据2', resourceList.data) console.log('接口数据2', resourceList.data)
@ -1820,7 +1814,6 @@
listKey.value++ listKey.value++
} }
} }
// //
if (str && !router.currentRoute.value.query.select) { if (str && !router.currentRoute.value.query.select) {
globalSearch() globalSearch()
@ -2029,11 +2022,9 @@
font-family: 'webfont'; font-family: 'webfont';
src: url('~@/assets/capacitySquare/webfont.ttf'); src: url('~@/assets/capacitySquare/webfont.ttf');
} }
.resultListSearchInput-father { .resultListSearchInput-father {
background: #f3f5f9; background: #f3f5f9;
padding: 0.2rem; padding: 0.2rem;
.resultListSearchInput-son { .resultListSearchInput-son {
background: #fff; background: #fff;
padding: 0.2rem 0.2rem 0rem 0.3rem; padding: 0.2rem 0.2rem 0rem 0.3rem;
@ -2054,17 +2045,14 @@
} }
} }
} }
.resultListSearchInput { .resultListSearchInput {
margin-left: 0.1rem; margin-left: 0.1rem;
:deep(.ant-input) { :deep(.ant-input) {
width: 4rem; width: 4rem;
height: 0.32rem; height: 0.32rem;
background: #fff; background: #fff;
border-radius: 0.02rem; border-radius: 0.02rem;
} }
:deep(.ant-input-search-button) { :deep(.ant-input-search-button) {
width: 0.8rem; width: 0.8rem;
height: 0.32rem; height: 0.32rem;
@ -2076,12 +2064,10 @@
line-height: 0.32rem; line-height: 0.32rem;
margin-left: 0.1rem; margin-left: 0.1rem;
} }
:deep(.ant-input-group-addon) { :deep(.ant-input-group-addon) {
left: 0 !important; left: 0 !important;
} }
} }
.button-reset { .button-reset {
border: 0; border: 0;
outline: none; outline: none;
@ -2098,7 +2084,6 @@
margin-left: 2.5rem; margin-left: 2.5rem;
cursor: pointer; cursor: pointer;
} }
.details-pageconetent { .details-pageconetent {
height: 100%; height: 100%;
width: 100%; width: 100%;
@ -2108,7 +2093,6 @@
margin-top: 0.67rem; margin-top: 0.67rem;
position: relative; position: relative;
background: rgba(245, 243, 243, 0.3); background: rgba(245, 243, 243, 0.3);
.details-pageconetent-left { .details-pageconetent-left {
// max-height: 8.5rem; // max-height: 8.5rem;
height: 100%; height: 100%;
@ -2122,7 +2106,6 @@
margin-right: 0.17rem; margin-right: 0.17rem;
overflow: auto; overflow: auto;
} }
.top { .top {
min-height: 7.2rem; min-height: 7.2rem;
position: relative; position: relative;
@ -2134,33 +2117,26 @@
justify-content: left; justify-content: left;
margin-left: 2.5rem; margin-left: 2.5rem;
background: #f3f5f9; background: #f3f5f9;
.pagination { .pagination {
background: #f3f5f9; background: #f3f5f9;
padding-bottom: 0.6rem; padding-bottom: 0.6rem;
} }
.jichusheshi { .jichusheshi {
height: 4.45rem; height: 4.45rem;
.yunziyuan { .yunziyuan {
width: 100%; width: 100%;
position: relative; position: relative;
.shuoming { .shuoming {
position: absolute; position: absolute;
right: 0.2rem; right: 0.2rem;
top: 0.15rem; top: 0.15rem;
font-size: 0.12rem; font-size: 0.12rem;
} }
.yunziyuan-title { .yunziyuan-title {
display: flex; display: flex;
align-items: center; align-items: center;
.tupian { .tupian {
} }
.title { .title {
margin-left: 0.1rem; margin-left: 0.1rem;
font-weight: 600; font-weight: 600;
@ -2168,44 +2144,35 @@
cursor: pointer; cursor: pointer;
} }
} }
.fenlei { .fenlei {
display: flex; display: flex;
margin-left: 0.2rem; margin-left: 0.2rem;
margin-right: 0.3rem; margin-right: 0.3rem;
justify-content: space-between; justify-content: space-between;
} }
.keyongziyuan { .keyongziyuan {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-left: 0.3rem; margin-left: 0.3rem;
margin-right: 0.3rem; margin-right: 0.3rem;
div { div {
display: flex; display: flex;
div:last-child { div:last-child {
font-weight: 600; font-weight: 600;
} }
} }
} }
} }
.yunziyuan > div { .yunziyuan > div {
margin-bottom: 0.1rem; margin-bottom: 0.1rem;
} }
.shipin { .shipin {
width: 100%; width: 100%;
.shipin-title { .shipin-title {
display: flex; display: flex;
align-items: center; align-items: center;
.tupian { .tupian {
} }
.title { .title {
margin-left: 0.1rem; margin-left: 0.1rem;
font-weight: 600; font-weight: 600;
@ -2213,58 +2180,47 @@
cursor: pointer; cursor: pointer;
} }
} }
.fenlei { .fenlei {
display: flex; display: flex;
margin-left: 0.2rem; margin-left: 0.2rem;
div { div {
margin-right: 0.6rem; margin-right: 0.6rem;
} }
.shuzi { .shuzi {
font-weight: 600; font-weight: 600;
} }
} }
} }
.shipin > div { .shipin > div {
margin-bottom: 0.1rem; margin-bottom: 0.1rem;
} }
} }
.jichusheshi > div { .jichusheshi > div {
padding-top: 0.1rem; padding-top: 0.1rem;
border-radius: 0.04rem; border-radius: 0.04rem;
margin-bottom: 0.2rem; margin-bottom: 0.2rem;
padding-bottom: 0.4rem; padding-bottom: 0.4rem;
} }
.shujuziyuan { .shujuziyuan {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
padding-top: 0.4rem; padding-top: 0.4rem;
.yunziyuan { .yunziyuan {
width: 100%; width: 100%;
position: relative; position: relative;
.shuoming { .shuoming {
position: absolute; position: absolute;
right: 0.2rem; right: 0.2rem;
top: 0.15rem; top: 0.15rem;
font-size: 0.12rem; font-size: 0.12rem;
} }
.yunziyuan-title { .yunziyuan-title {
display: flex; display: flex;
align-items: center; align-items: center;
margin-left: 0.2rem; margin-left: 0.2rem;
.tupian { .tupian {
} }
.title { .title {
margin-left: 0.1rem; margin-left: 0.1rem;
font-weight: 600; font-weight: 600;
@ -2272,35 +2228,29 @@
cursor: pointer; cursor: pointer;
} }
} }
.fenlei { .fenlei {
display: flex; display: flex;
margin-left: 0.2rem; margin-left: 0.2rem;
margin-right: 0.3rem; margin-right: 0.3rem;
justify-content: space-between; justify-content: space-between;
} }
.keyongziyuan { .keyongziyuan {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-left: 0.3rem; margin-left: 0.3rem;
margin-right: 0.3rem; margin-right: 0.3rem;
div { div {
display: flex; display: flex;
div:last-child { div:last-child {
font-weight: 600; font-weight: 600;
} }
} }
} }
} }
.yunziyuan > div { .yunziyuan > div {
margin-bottom: 0.1rem; margin-bottom: 0.1rem;
} }
} }
.shujuziyuan > div { .shujuziyuan > div {
background: #eaf4ff; background: #eaf4ff;
padding-top: 0.1rem; padding-top: 0.1rem;
@ -2308,7 +2258,6 @@
margin-bottom: 0.2rem; margin-bottom: 0.2rem;
padding-bottom: 0.4rem; padding-bottom: 0.4rem;
} }
.top-title { .top-title {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
@ -2318,47 +2267,39 @@
color: #000000; color: #000000;
line-height: 0.34rem; line-height: 0.34rem;
margin-bottom: 0.2rem; margin-bottom: 0.2rem;
.photo { .photo {
display: inline-block; display: inline-block;
height: 0.44rem; height: 0.44rem;
width: 0.44rem; width: 0.44rem;
margin-right: 0.1rem; margin-right: 0.1rem;
} }
div { div {
padding: 0 0.1rem; padding: 0 0.1rem;
cursor: pointer; cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
} }
div:hover { div:hover {
color: #0087ff; color: #0087ff;
} }
.sel { .sel {
font-weight: 600; font-weight: 600;
color: #0087ff; color: #0087ff;
border-bottom: 0.02rem solid #0087ff; border-bottom: 0.02rem solid #0087ff;
} }
} }
.top-content-father { .top-content-father {
width: 100%; width: 100%;
padding: 0 0.2rem 0.2rem 0.2rem; padding: 0 0.2rem 0.2rem 0.2rem;
background: #f3f5f9; background: #f3f5f9;
margin-bottom: 0.2rem; margin-bottom: 0.2rem;
.top-content-son { .top-content-son {
background: #fff; background: #fff;
padding: 0.2rem 0; padding: 0.2rem 0;
} }
.top-content { .top-content {
display: flex; display: flex;
margin-top: 0rem; margin-top: 0rem;
span:nth-child(1) { span:nth-child(1) {
display: inline-block; display: inline-block;
position: relative; position: relative;
@ -2367,7 +2308,6 @@
text-align: center; text-align: center;
vertical-align: middle; vertical-align: middle;
} }
.leixingsumfather { .leixingsumfather {
margin-left: -13px; margin-left: -13px;
width: 9.4rem; width: 9.4rem;
@ -2375,17 +2315,14 @@
height: 0.3014rem; height: 0.3014rem;
overflow: hidden; overflow: hidden;
} }
.leixingsumfather2 { .leixingsumfather2 {
width: 9.2rem; width: 9.2rem;
} }
.leixingsum { .leixingsum {
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
margin-top: 0.05rem; margin-top: 0.05rem;
.ant-tag-checkable { .ant-tag-checkable {
width: 1rem; width: 1rem;
height: 0.25rem; height: 0.25rem;
@ -2403,13 +2340,11 @@
text-align: center; text-align: center;
line-height: 0.14rem; line-height: 0.14rem;
} }
:deep(.ant-tag-checkable-checked) { :deep(.ant-tag-checkable-checked) {
margin-left: 0.15rem; margin-left: 0.15rem;
margin-right: 0.15rem; margin-right: 0.15rem;
text-align: center; text-align: center;
} }
.ant-tag-checkable:active, .ant-tag-checkable:active,
.ant-tag-checkable-checked { .ant-tag-checkable-checked {
// width: 0.85rem; // width: 0.85rem;
@ -2421,7 +2356,6 @@
border-radius: 0.16rem; border-radius: 0.16rem;
} }
} }
.active { .active {
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
font-weight: 500; font-weight: 500;
@ -2429,38 +2363,32 @@
color: #ffffff; color: #ffffff;
} }
} }
.top-content:nth-child(1) { .top-content:nth-child(1) {
margin-top: 0rem !important; margin-top: 0rem !important;
} }
} }
} }
} }
.shrinkTag { .shrinkTag {
width: 0.5rem; width: 0.5rem;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: flex-end; align-items: flex-end;
margin-bottom: 0.05rem; margin-bottom: 0.05rem;
span { span {
cursor: pointer; cursor: pointer;
} }
} }
.shrink { .shrink {
height: unset !important; height: unset !important;
overflow: unset !important; overflow: unset !important;
} }
.talk-monitor { .talk-monitor {
position: fixed; position: fixed;
bottom: 0.5rem; bottom: 0.5rem;
right: 0.1rem; right: 0.1rem;
z-index: 9999; z-index: 9999;
cursor: pointer; cursor: pointer;
i { i {
width: 0.64rem; width: 0.64rem;
height: 0.64rem; height: 0.64rem;
@ -2469,7 +2397,6 @@
background-size: cover; background-size: cover;
} }
} }
.abilitySquare { .abilitySquare {
width: 0.7rem; width: 0.7rem;
height: 0.7rem; height: 0.7rem;
@ -2485,11 +2412,9 @@
right: 0.1rem; right: 0.1rem;
cursor: pointer; cursor: pointer;
background: #e3edfc; background: #e3edfc;
p { p {
margin: 0; margin: 0;
} }
p:nth-child(1) { p:nth-child(1) {
height: 0.35rem; height: 0.35rem;
width: 0.36rem; width: 0.36rem;
@ -2497,7 +2422,6 @@
background-size: 100% 100%; background-size: 100% 100%;
background-position: center; background-position: center;
} }
ul { ul {
background: #ffffff; background: #ffffff;
font-family: webfont; font-family: webfont;
@ -2510,7 +2434,6 @@
left: -0.62rem; left: -0.62rem;
padding: 0; padding: 0;
margin: 0; margin: 0;
li { li {
list-style: none; list-style: none;
color: #0061ec; color: #0061ec;
@ -2519,24 +2442,20 @@
padding-left: 0.4rem; padding-left: 0.4rem;
border-bottom: 0.01rem solid #dfd9d9; border-bottom: 0.01rem solid #dfd9d9;
} }
li:nth-of-type(1) { li:nth-of-type(1) {
background: url('~@/assets/home/appIcon.png') no-repeat; background: url('~@/assets/home/appIcon.png') no-repeat;
background-position: 0.18rem center; background-position: 0.18rem center;
} }
li:nth-of-type(2) { li:nth-of-type(2) {
background: url('~@/assets/home/AiIcon.png') no-repeat; background: url('~@/assets/home/AiIcon.png') no-repeat;
background-position: 0.18rem center; background-position: 0.18rem center;
} }
li:nth-of-type(3) { li:nth-of-type(3) {
border-bottom: none; border-bottom: none;
background: url('~@/assets/home/GisIcon.png') no-repeat; background: url('~@/assets/home/GisIcon.png') no-repeat;
background-position: 0.18rem center; background-position: 0.18rem center;
} }
} }
ul::after { ul::after {
content: ''; content: '';
position: absolute; position: absolute;
@ -2547,7 +2466,6 @@
border: 0.13rem solid; border: 0.13rem solid;
border-color: #fff transparent transparent transparent; border-color: #fff transparent transparent transparent;
} }
ul::before { ul::before {
content: ''; content: '';
position: absolute; position: absolute;
@ -2558,26 +2476,21 @@
border: 0.13rem solid; border: 0.13rem solid;
border-color: #dfd9d9 transparent transparent transparent; border-color: #dfd9d9 transparent transparent transparent;
} }
@keyframes ulShowTime { @keyframes ulShowTime {
0% { 0% {
transform: scale(0); transform: scale(0);
} }
100% { 100% {
transform: scale(0); transform: scale(0);
} }
} }
} }
.top-content-father { .top-content-father {
width: 10.87rem; width: 10.87rem;
padding-left: 0.2rem; padding-left: 0.2rem;
.top-content { .top-content {
display: flex; display: flex;
margin-top: 0.23rem; margin-top: 0.23rem;
span:nth-child(1) { span:nth-child(1) {
display: inline-block; display: inline-block;
position: relative; position: relative;
@ -2589,21 +2502,18 @@
font-size: 0.16rem; font-size: 0.16rem;
margin-left: 0.3rem; margin-left: 0.3rem;
} }
.leixingsumfather { .leixingsumfather {
width: 7.7rem; width: 7.7rem;
display: inline-block; display: inline-block;
height: 0.3014rem; height: 0.3014rem;
overflow: hidden; overflow: hidden;
} }
.leixingsum { .leixingsum {
// width: 1rem; // width: 1rem;
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
margin-top: 0.05rem; margin-top: 0.05rem;
.ant-tag-checkable { .ant-tag-checkable {
width: 1rem; width: 1rem;
height: 0.25rem; height: 0.25rem;
@ -2621,13 +2531,11 @@
text-align: center; text-align: center;
line-height: 0.14rem; line-height: 0.14rem;
} }
:deep(.ant-tag-checkable-checked) { :deep(.ant-tag-checkable-checked) {
margin-left: 0.15rem; margin-left: 0.15rem;
margin-right: 0.15rem; margin-right: 0.15rem;
text-align: center; text-align: center;
} }
.ant-tag-checkable:active, .ant-tag-checkable:active,
.ant-tag-checkable-checked { .ant-tag-checkable-checked {
width: 0.85rem; width: 0.85rem;
@ -2638,7 +2546,6 @@
border-radius: 0.16rem; border-radius: 0.16rem;
} }
} }
.active { .active {
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
font-weight: 500; font-weight: 500;
@ -2646,12 +2553,10 @@
color: #ffffff; color: #ffffff;
} }
} }
.top-content:nth-child(1) { .top-content:nth-child(1) {
margin-top: 0.41rem !important; margin-top: 0.41rem !important;
} }
} }
:deep(.ant-card-grid) { :deep(.ant-card-grid) {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;

View File

@ -62,7 +62,7 @@
// } // }
.pageResource { .pageResource {
position: absolute; position: absolute;
top: 0.68rem; top: 1.2rem;
left: -5.37rem; left: -5.37rem;
width: 176%; width: 176%;
height: 90.5%; height: 90.5%;

View File

@ -92,7 +92,9 @@
<div class="bottom" @click="goToView()">查看更多</div> <div class="bottom" @click="goToView()">查看更多</div>
</div> </div>
<div class="info"> <div class="info">
<i class="img"></i> <i class="img" @click="
jumpPage({ name: '个人中心', key: 'personalCenter' }, 'headerClick')
"></i>
<a-tooltip placement="bottom"> <a-tooltip placement="bottom">
<template #title> <template #title>
<span>{{ user.realName }}</span> <span>{{ user.realName }}</span>

View File

@ -13,7 +13,8 @@
<IntegrationServiceOrder <IntegrationServiceOrder
ref="integrationServiceOrderDom" ref="integrationServiceOrderDom"
v-if=" v-if="
selectCardsname === '融合服务' || selectCardsname === '赋能场景' selectCardsname === '融合服务' ||
(selectCardsname === '赋能场景' && selectCardsname !== '知识库')
" "
></IntegrationServiceOrder> ></IntegrationServiceOrder>
<ul v-else> <ul v-else>
@ -56,6 +57,7 @@
" "
> >
<a-image <a-image
style="max-height: 1.25rem"
:width="106" :width="106"
:preview="false" :preview="false"
:src=" :src="
@ -310,8 +312,10 @@
> >
<span> <span>
{{ {{
item.infoList.filter((val) => val.attrType == '组件类型')[0] item.infoList.filter(
.attrValue (val) =>
val.attrType == '组件类型' || val.attrType == '知识库类型'
)[0].attrValue
}} }}
</span> </span>
</div> </div>
@ -337,7 +341,7 @@
</div> </div>
<div class="btn"> <div class="btn">
<div class="bottom" v-if="selectCardsname !== '基础设施'"> <div class="bottom" v-if="selectCardsname !== '基础设施'">
<div> <div v-if="selectCardsname !== '知识库'">
<!-- <div <!-- <div
v-if=" v-if="
selectCardsname !== '数据资源' && selectCardsname !== '数据资源' &&
@ -395,7 +399,7 @@
></span> ></span>
</template> </template>
</div> </div>
<div class="sc"> <div class="sc" v-if="selectCardsname !== '知识库'">
<span <span
class="sc-down" class="sc-down"
v-if="item.isCollect == 'false'" v-if="item.isCollect == 'false'"
@ -426,6 +430,13 @@
> >
查看详情 查看详情
</a-button> </a-button>
<a-button
type="primary"
@click.stop="downLoad(item)"
v-if="whoShow1.itShowQingDao && selectCardsname == '知识库'"
>
下载
</a-button>
<a-button <a-button
style="margin-left: 10px" style="margin-left: 10px"
v-show=" 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: 排序字段值 * val: 排序字段值
* isFromFather: 是否来自父组件传值 * isFromFather: 是否来自父组件传值
*/ */
const changeCondition = (item, isFromFather = false) => { const changeCondition = (item, isFromFather = false) => {
console.log('item, isFromFather------------>', item, isFromFather) console.log('item, isFromFather------------>', item, isFromFather)
let newType = item.orderType == 'DESC' ? 'ASC' : 'DESC' let newType = item.orderType == 'DESC' ? 'ASC' : 'DESC'
if (isFromFather) { if (isFromFather) {
@ -919,6 +938,7 @@
imgSrcZnsf, imgSrcZnsf,
imgSrcKfzj, imgSrcKfzj,
imgSrcYwzj, imgSrcYwzj,
downLoad,
} }
}, },
beforeUnmount() { beforeUnmount() {

View File

@ -1,15 +1,15 @@
<!-- <!--
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-14 09:43:49 * @Date: 2022-06-14 09:43:49
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-06-20 18:44:52 * @LastEditTime: 2022-12-12 15:36:59
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
<div> <div>
<div id="apply-container"> <div id="apply-container">
<home-header :showView="showView" :target-flag="targetFlag"></home-header> <home-header :showView="showView" :target-flag="targetFlag"></home-header>
<detail-back></detail-back> <detail-back v-show="!hiddenBackFlag"></detail-back>
<div class="detail-content"> <div class="detail-content">
<details-view v-if="showView === 'details-view'"></details-view> <details-view v-if="showView === 'details-view'"></details-view>
<algorithm-details <algorithm-details
@ -30,7 +30,6 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import HomeHeader from '@/views/home/components/header' import HomeHeader from '@/views/home/components/header'
import { defineComponent, reactive, ref } from 'vue' import { defineComponent, reactive, ref } from 'vue'
@ -56,7 +55,7 @@
DeveloperComponents, DeveloperComponents,
BusinessDetails, BusinessDetails,
LayerService, LayerService,
detailBack detailBack,
}, },
setup() { setup() {
const formState = reactive({ const formState = reactive({
@ -66,7 +65,6 @@
applyPurpose: '', applyPurpose: '',
applySystem: '', applySystem: '',
}) })
const options = ref([ const options = ref([
{ {
value: '政法委', value: '政法委',
@ -95,6 +93,8 @@
]) ])
const router = useRouter() const router = useRouter()
const id = router.currentRoute.value.query.id const id = router.currentRoute.value.query.id
// 退
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
const obj = JSON.parse(window.sessionStorage.getItem('preview')) const obj = JSON.parse(window.sessionStorage.getItem('preview'))
let showView = ref('') let showView = ref('')
const targetFlag = ref(true) const targetFlag = ref(true)
@ -178,11 +178,11 @@
init, init,
router, router,
id, id,
hiddenBackFlag,
} }
}, },
}) })
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
<style> <style>
html, html,

View File

@ -142,7 +142,7 @@
let obj = { let obj = {
title: val.type, title: val.type,
total: val.total, total: val.total,
show: val.type === '市级' ? true : false, show: val.type === '市级' || val.type === '区级' ? true : false,
select: false, select: false,
key: val.type, key: val.type,
children: [], children: [],
@ -252,8 +252,6 @@
} }
} }
const showToolTip = (e) => { const showToolTip = (e) => {
console.log('鼠标移入', e, e.target.clientWidth, e.target.scrollWidth)
debugger
if (e.target.clientWidth < 200) { if (e.target.clientWidth < 200) {
e.target.style.pointerEvents = 'none' // e.target.style.pointerEvents = 'none' //
} }

View File

@ -2,7 +2,7 @@
<template> <template>
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }"> <div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
<home-header></home-header> <home-header></home-header>
<detail-back></detail-back> <detail-back v-show="!hiddenBackFlag"></detail-back>
<!-- 头部基本信息 --> <!-- 头部基本信息 -->
<application-top-details <application-top-details
:dataList="detailInfoObj" :dataList="detailInfoObj"
@ -190,6 +190,7 @@
const infrastructureCount = ref(0) const infrastructureCount = ref(0)
const componentCount = ref(0) const componentCount = ref(0)
const id = router.currentRoute.value.query.id const id = router.currentRoute.value.query.id
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
document.documentElement.style.transition = 'all 0.3s ease' document.documentElement.style.transition = 'all 0.3s ease'
document.documentElement.scrollTop = 0 document.documentElement.scrollTop = 0
document.body.style.transition = 'all 0.3s ease' document.body.style.transition = 'all 0.3s ease'
@ -564,7 +565,7 @@
} }
.cjtd img { .cjtd img {
width: 100%; width: 100%;
height:100% height: 100%;
} }
.content { .content {

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: Light * @Author: Light
* @Date: 2022-11-30 17:43:43 * @Date: 2022-11-30 17:43:43
* @LastEditors: Light * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-12-08 15:20:23 * @LastEditTime: 2022-12-12 21:27:02
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-07-12 09:42:44 * @Date: 2022-07-12 09:42:44
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-11-26 14:47:12 * @LastEditTime: 2022-12-12 15:37:17
* @Description:我的申请 能力申请 查看详情 * @Description:我的申请 能力申请 查看详情
--> -->
<template> <template>
@ -503,6 +503,7 @@
path: '/details', // path: '/details', //
query: { query: {
id: id, id: id,
hiddenBackFlag: true,
}, },
}) })
window.open(applypage.href, '_blank') window.open(applypage.href, '_blank')

View File

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

View File

@ -171,7 +171,11 @@
console.log('编目一级=============>', res.data) console.log('编目一级=============>', res.data)
res.data.data.forEach((val) => { res.data.data.forEach((val) => {
// tabList.value.push(val.name) // tabList.value.push(val.name)
if (val.name == '应用资源' || val.name == '组件服务' || val.name == '融合服务') { if (
val.name == '应用资源' ||
val.name == '组件服务' ||
val.name == '融合服务'
) {
tabList.value.push(val.name) tabList.value.push(val.name)
} }
}) })
@ -349,22 +353,39 @@
if (delFlag == 0) { if (delFlag == 0) {
console.log('进入详情') console.log('进入详情')
mybus.emit('tabsChange', { flag: id }) mybus.emit('tabsChange', { flag: id })
router.push({ // router.push({
path: '/details', // path: '/details',
// query: {
// id: id,
// },
// })
const detailPage = router.resolve({
path: '/details', //
query: { query: {
id: id, id: id,
hiddenBackFlag: true,
}, },
}) })
window.open(detailPage.href, '_blank')
} else if (delFlag === undefined) { } else if (delFlag === undefined) {
// //
// mybus.emit('tabsChange', { flag: item.resourceId }) // mybus.emit('tabsChange', { flag: item.resourceId })
mybus.emit('tabsChange', { flag: id }) mybus.emit('tabsChange', { flag: id })
router.push({
path: `/integrationServicesDetails`, // router.push({
// path: `/integrationServicesDetails`,
// query: {
// id: id,
// },
// })
const detailPage = router.resolve({
path: '/integrationServicesDetails', //
query: { query: {
id: id, id: id,
hiddenBackFlag: true,
}, },
}) })
window.open(detailPage.href, '_blank')
} }
} }
</script> </script>

View File

@ -90,12 +90,20 @@
const showDetail = (item) => { const showDetail = (item) => {
// console.log('demandDetails', item) // console.log('demandDetails', item)
// store.commit('home/demandDetailsData', item) // store.commit('home/demandDetailsData', item)
router.push({ // router.push({
path: '/demandDetails', // path: '/demandDetails',
// query: {
// id: item.id,
// },
// })
const detailPage = router.resolve({
path: '/demandDetails', //
query: { query: {
id: item.id, id: item.id,
hiddenBackFlag: true,
}, },
}) })
window.open(detailPage.href, '_blank')
} }
const creator = ref('') const creator = ref('')

View File

@ -1,7 +1,18 @@
<template> <template>
<div class="on-the-right-side-of-the-list"> <div class="on-the-right-side-of-the-list">
<div class="title" style="margin-bottom: 0.2rem">我的申请</div> <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> <span>类型</span>
<div <div
:class="typeIndex == index ? 'tabclass' : ' '" :class="typeIndex == index ? 'tabclass' : ' '"
@ -12,10 +23,7 @@
{{ item }} {{ item }}
</div> </div>
</div> </div>
<div <div class="tab" v-if="chooseTab != 1 && chooseTab != 2 && chooseTab != 3">
class="tab"
v-show="typeIndex != 5 && typeIndex != 6 && typeIndex != 7"
>
<span>申请状态</span> <span>申请状态</span>
<div <div
:class="tabIndex == index ? 'tabclass' : ' '" :class="tabIndex == index ? 'tabclass' : ' '"
@ -34,24 +42,89 @@
</template> </template>
</div> </div>
</div> </div>
<!--政务云资源-->
<template v-if="chooseTab == 2">
<a-form <a-form
:model="formState" :label-col="{ style: { width: '80px' } }"
name="basic" :wrapper-col="{ style: { width: '200px' } }"
:label-col="{ span: 8 }" labelAlign="center"
:wrapper-col="{ span: 16 }"
autocomplete="off"
@submit="onSubmit"
v-if="typeIndex == 6 || typeIndex == 7"
style="display: flex; margin-top: 10px; margin-left: -35px"
> >
<a-form-item label="名称" name="name"> <a-row>
<a-input v-model:value="formState.name" /> <a-form-item label="业务名称">
<a-input
placeholder="请输入业务名称"
v-model:value="yunForm.busineesName"
style="width: 200px"
/>
</a-form-item> </a-form-item>
<a-form-item label="状态">
<a-form-item :wrapper-col="{ offset: 8, span: 16 }"> <a-select
<a-button type="primary" html-type="submit">搜索</a-button> 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> </a-form-item>
<button class="queryButton" @click="getCloudList()">查询</button>
<button class="queryButton" @click="cloudSearchReserve()">
重置
</button>
</a-row>
</a-form> </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 v-if="contentList.data.length > 0">
<div class="content"> <div class="content">
<div <div
@ -73,7 +146,10 @@
{{ {{
item.cameraList item.cameraList
? item.system ? item.system
: item.title || item.name || item.title || item.BUSINESS_NAME : item.title ||
item.name ||
item.title ||
item.BUSINESS_NAME
}} }}
</template> </template>
<div class="content-body-title"> <div class="content-body-title">
@ -144,7 +220,11 @@
联系方式 联系方式
</div> </div>
<div class="button" @click="showDetail(item)">查看详情</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> </div>
<svg <svg
@ -198,6 +278,7 @@
pageSize="4" pageSize="4"
:total="total" :total="total"
:current="page" :current="page"
:showTotal="(total) => `共 ${total} 项`"
@change="handleCurrentChange" @change="handleCurrentChange"
@showSizeChange="handlePageSizeChange" @showSizeChange="handlePageSizeChange"
:showSizeChanger="false" :showSizeChanger="false"
@ -205,6 +286,20 @@
</div> </div>
</div> </div>
<a-empty v-else /> <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 <a-modal
bodyStyle="padding:0.1rem 0" bodyStyle="padding:0.1rem 0"
v-model:visible="detailsVisible" v-model:visible="detailsVisible"
@ -255,8 +350,6 @@
</template> </template>
</a-table> </a-table>
</a-modal> </a-modal>
</div>
<!-- 联系方式弹框 --> <!-- 联系方式弹框 -->
<a-modal <a-modal
v-model:visible="phoneVisible" v-model:visible="phoneVisible"
@ -291,6 +384,8 @@
yaweiApproveDetails, yaweiApproveDetails,
getResourceBusinessList, getResourceBusinessList,
getVideoBusinessList, getVideoBusinessList,
getCategoryTreePage,
getZwyBusinessList,
} from '@/api/personalCenter' } from '@/api/personalCenter'
import { import {
updateRes, updateRes,
@ -303,6 +398,7 @@
import { getUserInfo } from '@/api/user' import { getUserInfo } from '@/api/user'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import ApplyDetails from '@/views/personalCenter/components/ApplyDetails' import ApplyDetails from '@/views/personalCenter/components/ApplyDetails'
import CloudDetails from '@/views/personalCenter/components/CloudDetails'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import * as moment from 'moment' import * as moment from 'moment'
@ -311,27 +407,33 @@
}) })
const router = useRouter() const router = useRouter()
const userName = ref('') const userName = ref('')
//
let cloudResourceStatusList = ref([])
getUserInfo().then((res) => { getUserInfo().then((res) => {
userName.value = res.data.data.username userName.value = res.data.data.username
}) })
const formState = ref({ name: '' }) const formState = ref({ name: '' })
// 西- // 西-
let isXiHaiAn = whoShow.itShowXiHaiAn let isXiHaiAn = whoShow.itShowXiHaiAn
let typeList = ref( //Tab
isXiHaiAn let chooseTab = ref(0)
? ['能力申请', '能力上架', '能力下架', '能力需求', '需求评论'] //
: [ let yunForm = reactive({
status: '',
busineesName: '',
})
let chooseList = ref(['UCS内部资源', '数据资源', '政务云资源', '视频资源'])
let typeList = ref([
'能力申请', '能力申请',
'能力上架', '能力上架',
'能力下架', '能力下架',
'能力需求', '能力需求',
'需求评论', '需求评论',
'数据资源申请', // '',
'云资源申请', // '',
'云视频申请', // '',
// '', ])
]
)
const itShowXiHaiAn = ref(isXiHaiAn) const itShowXiHaiAn = ref(isXiHaiAn)
const phoneSate = ref([2, 3]) const phoneSate = ref([2, 3])
if (isXiHaiAn) { if (isXiHaiAn) {
@ -346,9 +448,12 @@
let tabList = ref(['全部', '审核中', '审核完成']) let tabList = ref(['全部', '审核中', '审核完成'])
const contentList = reactive({ data: [] }) const contentList = reactive({ data: [] })
const contentList2 = reactive({ data: [] }) // 使 const contentList2 = reactive({ data: [] }) // 使
//
const cloudList = reactive({ data: [] })
let tabIndex = ref(0) let tabIndex = ref(0)
let typeIndex = ref(0) let typeIndex = ref(0)
let typeName = ref(typeList.value[0]) let typeName = ref(typeList.value[0])
if (router.currentRoute.value.query.tabTypeName) { if (router.currentRoute.value.query.tabTypeName) {
typeName.value = router.currentRoute.value.query.tabTypeName typeName.value = router.currentRoute.value.query.tabTypeName
} }
@ -365,6 +470,8 @@
let name = ref('') let name = ref('')
const detailsVisible = ref(false) const detailsVisible = ref(false)
const detailsVisible2 = ref(false) const detailsVisible2 = ref(false)
//
const cloudVisible = ref(false)
const businessKey = ref('') const businessKey = ref('')
const processInstanceId = ref('') const processInstanceId = ref('')
const processDefinitionName = ref('') const processDefinitionName = ref('')
@ -375,6 +482,9 @@
const taskId = ref('') const taskId = ref('')
const backUrl = ref(window.SITE_CONFIG.apiURL + '/') const backUrl = ref(window.SITE_CONFIG.apiURL + '/')
const refObj = ref({}) const refObj = ref({})
//
const BSNUM = ref('')
const baseInfo = ref({})
const num = ref({ const num = ref({
finished: 0, finished: 0,
unfinished: 0, unfinished: 0,
@ -390,7 +500,7 @@
const changeType = (item, index) => { const changeType = (item, index) => {
contentList.data = [] contentList.data = []
formState.value.name = '' formState.value.name = ''
console.log('item, index-----选择类型------->', item, index)
numFlag.value = true numFlag.value = true
num.value = [] num.value = []
showType.value = '' showType.value = ''
@ -401,6 +511,47 @@
typeName.value = item typeName.value = item
getApplyList() 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) { function changeApplyState(item, index) {
@ -464,6 +615,13 @@
'06': '交付', '06': '交付',
} }
const cilckRowData = ref({}) const cilckRowData = ref({})
//
const showCloudDetail = (item) => {
//
cloudVisible.value = true
BSNUM.value = item.BSNUM
baseInfo.value = item
}
const showDetail = (item) => { const showDetail = (item) => {
cilckRowData.value = item cilckRowData.value = item
// 西- // 西-
@ -592,6 +750,7 @@
oInput.remove() oInput.remove()
} }
const showAdd = (item) => { const showAdd = (item) => {
console.log('item', item)
if (item.processDefinitionKey == 'resourcemountapply') { if (item.processDefinitionKey == 'resourcemountapply') {
const data = { const data = {
id: item.resourceId, id: item.resourceId,
@ -810,12 +969,11 @@
contentList.data = res.data.data.list contentList.data = res.data.data.list
total.value = res.data.data.total total.value = res.data.data.total
initNum() initNum()
console.log('typeIndex', typeIndex.value)
switch (typeIndex.value) { switch (typeIndex.value) {
case 1: case 1:
contentList.data.map((val) => { contentList.data.map((val) => {
nengliziyuanshangjiaapply(val.businessKey).then((res1) => { nengliziyuanshangjiaapply(val.businessKey).then((res1) => {
console.log('上架===========>', res1.data.data)
val.title = res1.data.data.resourceDTO.name val.title = res1.data.data.resourceDTO.name
val.dto = res1.data.data.resourceDTO val.dto = res1.data.data.resourceDTO
showType.value = '能力上架' showType.value = '能力上架'
@ -869,13 +1027,21 @@
} }
const handleCurrentChange = (val) => { const handleCurrentChange = (val) => {
page.value = val page.value = val
if (chooseTab.value == 2) {
getCloudList()
} else {
getApplyList() getApplyList()
} }
}
const handlePageSizeChange = (val) => { const handlePageSizeChange = (val) => {
page.value = val page.value = val
if (chooseTab.value == 2) {
getCloudList()
} else {
getApplyList() getApplyList()
} }
}
const viewDetail = (processDefinitionName, id, ended, businessKey) => { const viewDetail = (processDefinitionName, id, ended, businessKey) => {
if (processDefinitionName == '能力申请流程') { if (processDefinitionName == '能力申请流程') {
@ -1006,6 +1172,15 @@
</script> </script>
<style scoped lang="less"> <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 { .on-the-right-side-of-the-list {
background: #ffffff; background: #ffffff;
padding: 20px 0px 30px 20px; padding: 20px 0px 30px 20px;
@ -1018,6 +1193,31 @@
flex-direction: column; flex-direction: column;
font-size: 16px; font-size: 16px;
justify-content: left; 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 { .title {
font-size: 20px; font-size: 20px;
color: #000000; color: #000000;
@ -1076,7 +1276,46 @@
color: #0087ff; 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 { .content {
padding-right: 10px; padding-right: 10px;
height: 610px; height: 610px;

File diff suppressed because it is too large Load Diff

View File

@ -220,7 +220,7 @@
type.value = '' type.value = ''
pageNum.value = '1' pageNum.value = '1'
pageSize.value = '5' pageSize.value = '5'
tabIndex.value = 0 tabIndex.value = -1
showKey.value++ showKey.value++
checkAll.value = false checkAll.value = false
getList() getList()
@ -333,7 +333,7 @@
showKey.value++ showKey.value++
} }
// //
const tabIndex = ref(0) const tabIndex = ref(-1)
const changeTab = (index) => { const changeTab = (index) => {
console.log('tabIndex', tabIndex.value, index, tabList) console.log('tabIndex', tabIndex.value, index, tabList)
if (tabIndex.value == index) { if (tabIndex.value == index) {
@ -377,50 +377,58 @@
openHref(item) openHref(item)
} else { } else {
mybus.emit('tabsChange', { flag: id }) mybus.emit('tabsChange', { flag: id })
router.push({ // router.push({
path: '/details', // path: '/details',
// query: {
// id: id,
// },
// })
const detailPage = router.resolve({
path: '/details', //
query: { query: {
id: id, id: id,
hiddenBackFlag: true,
}, },
}) })
window.open(detailPage.href, '_blank')
} }
} }
} }
//tabindex //tabindex
watch(tabIndex, (val) => { watch(tabIndex, (val) => {
getBsList({ // getBsList({
limit: pageSize.value, // limit: pageSize.value,
page: pageNum.value, // page: pageNum.value,
type: tabList.value[val], // type: tabList.value[val],
name: name.value, // name: name.value,
}).then((res) => { // }).then((res) => {
checkAll.value = true // checkAll.value = true
console.log('申购车列表================>', res) // console.log('================>', res)
initLoading.value = false // initLoading.value = false
list.value = [] // list.value = []
total.value = res.data.data.total // total.value = res.data.data.total
res.data.data.list.forEach((val) => { // res.data.data.list.forEach((val) => {
const obj = { // const obj = {
loading: false, // loading: false,
name: val.resourceDTO.name, // name: val.resourceDTO.name,
id: val.id, // id: val.id,
checked: false, // checked: false,
visits: val.resourceDTO.visits, // visits: val.resourceDTO.visits,
type: val.resourceDTO.type, // type: val.resourceDTO.type,
link: val.resourceDTO.link, // link: val.resourceDTO.link,
resourceId: val.resourceId, // resourceId: val.resourceId,
createDate: val.createDate, // createDate: val.createDate,
description: val.resourceDTO.description, // description: val.resourceDTO.description,
delFlag: val.resourceDTO.delFlag, // delFlag: val.resourceDTO.delFlag,
} // }
if (checkedList.value.indexOf(val.id) == -1) { // if (checkedList.value.indexOf(val.id) == -1) {
checkAll.value = false // checkAll.value = false
} else { // } else {
obj.checked = true // obj.checked = true
} // }
list.value.push(obj) // list.value.push(obj)
}) // })
}) // })
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>

View File

@ -71,12 +71,20 @@
const showDetail = (item) => { const showDetail = (item) => {
console.log('demandDetails', item) console.log('demandDetails', item)
// store.commit('home/demandDetailsData', item) // store.commit('home/demandDetailsData', item)
router.push({ // router.push({
path: '/demandDetails', // path: '/demandDetails',
// query: {
// id: item.demandDataDTO.id,
// },
// })
const detailPage = router.resolve({
path: '/demandDetails', //
query: { query: {
id: item.demandDataDTO.id, id: item.demandDataDTO.id,
hiddenBackFlag: true,
}, },
}) })
window.open(detailPage.href, '_blank')
} }
const total = ref() const total = ref()

View File

@ -395,13 +395,15 @@
const showDetail = (item) => { const showDetail = (item) => {
console.log('showDetail', item, item.id) console.log('showDetail', item, item.id)
if (item.delFlag == 0) { if (item.delFlag == 0) {
router.push({ const detailPage = router.resolve({
path: '/details', path: '/details', //
query: { query: {
id: item.id, id: item.id,
hiddenBackFlag: true,
}, },
}) })
newpage window.open(detailPage.href, '_blank')
// newpage
} }
// getProcDefBizRoute(item.processDefinitionId) // getProcDefBizRoute(item.processDefinitionId)
// detailsVisible.value = true // detailsVisible.value = true
@ -445,9 +447,9 @@
limt.value = size limt.value = size
getApplyList(tabname.value) getApplyList(tabname.value)
} }
const newpage = router.resolve({ // const newpage = router.resolve({
path: '/nenglishangjia', // // path: '/nenglishangjia', //
}) // })
// const nenglishangjia = () => { // const nenglishangjia = () => {
// window.open(newpage.href, '_blank') // window.open(newpage.href, '_blank')
// // router.resolve('/nenglishangjia') // // router.resolve('/nenglishangjia')

View File

@ -12,19 +12,40 @@
</div> </div>
<div class="right"> <div class="right">
<div class="sousuokuang"> <div class="sousuokuang">
<a-input-search v-model:value="name" placeholder="请输入关键词" enter-button="搜索" size="large" <a-input-search
@search="getList('init')" /> v-model:value="name"
placeholder="请输入关键词"
enter-button="搜索"
size="large"
@search="getList('init')"
/>
</div> </div>
<a-popconfirm v-if="checkedListAbility.length != 0" title="是否进行批量删除?" ok-text="" cancel-text="" <a-popconfirm
@confirm="handleDelete" @cancel="cancel"> 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 type="primary" class="collect-btn" @click="ceshiFunction()">
批量删除 批量删除
</a-button> </a-button>
</a-popconfirm> </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>
<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>
<a-button type="primary" class="apply-btn" @click="apply"> <a-button type="primary" class="apply-btn" @click="apply">
@ -36,7 +57,10 @@
<div class="item" v-for="(val, valIndex) in list" :key="val.id"> <div class="item" v-for="(val, valIndex) in list" :key="val.id">
<div class="item-top" @click="showBottom(val)"> <div class="item-top" @click="showBottom(val)">
<div> <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"> <span style="margin-left: 0.2rem" v-if="itShowXiHaiAn">
{{ val.deptName }} {{ val.deptName }}
</span> </span>
@ -48,33 +72,45 @@
<UpOutlined v-show="val.show" /> <UpOutlined v-show="val.show" />
</div> </div>
<div class="item-bottom" v-show="val.show"> <div class="item-bottom" v-show="val.show">
<a-list class="demo-loadmore-list" :loading="val.initLoading" item-layout="horizontal" <a-list
:data-source="val.children"> class="demo-loadmore-list"
:loading="val.initLoading"
item-layout="horizontal"
:data-source="val.children"
>
<template #renderItem="{ item }"> <template #renderItem="{ item }">
<a-list-item> <a-list-item>
<a-skeleton avatar :title="false" :loading="item.loading" active> <a-skeleton avatar :title="false" :loading="item.loading" active>
<a-list-item-meta :description=" <a-list-item-meta
:description="
item.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] &&
JSON.parse(item.note1)[0].channelName + JSON.parse(item.note1)[0].channelName +
'等' + '等' +
JSON.parse(item.note1).length + JSON.parse(item.note1).length +
'个摄像头') || '个摄像头') ||
'' ''
" style="position: relative"> "
style="position: relative"
>
<template #title> <template #title>
<div> <div>
<a-tooltip> <a-tooltip>
<template #title>{{ item.resourceName }}</template> <template #title>{{ item.resourceName }}</template>
<span @click=" <span
@click="
showItem( showItem(
item.resourceId, item.resourceId,
item.type, item.type,
item.delFlag, item.delFlag,
item.note1 item.note1
) )
" style="cursor: pointer" class="name"> "
style="cursor: pointer"
class="name"
>
{{ item.resourceName }} {{ item.resourceName }}
</span> </span>
</a-tooltip> </a-tooltip>
@ -82,42 +118,80 @@
</div> </div>
<!-- // todo --> <!-- // todo -->
<span class="time"> <span class="time">
<span v-if="!itShowXiHaiAn">加购时间:{{ item.time }}</span> <span v-if="!itShowXiHaiAn">
<a-popconfirm title="是否删除该记录?" ok-text="" cancel-text="" @confirm="handleDelete(item, valIndex)" 加购时间:{{ item.time }}
@cancel="cancel"> </span>
<a-button type="primary" style=" <a-popconfirm
title="是否删除该记录?"
ok-text="是"
cancel-text="否"
@confirm="handleDelete(item, valIndex)"
@cancel="cancel"
>
<a-button
type="primary"
style="
width: 0.7rem; width: 0.7rem;
height: 0.3rem; height: 0.3rem;
margin-left: 0.12rem; margin-left: 0.12rem;
border-radius: 2px; border-radius: 2px;
background: #fff; background: #fff;
color: #0558e1; color: #0558e1;
" @click="del"> "
@click="del"
>
删除 删除
</a-button> </a-button>
</a-popconfirm> </a-popconfirm>
</span> </span>
<svg t="1652233950228" class="icon" viewBox="0 0 1024 1024" version="1.1" <svg
xmlns="http://www.w3.org/2000/svg" p-id="5970" data-spm-anchor-id="a313x.7781069.0.i8" width="50" t="1652233950228"
height="50" v-if="item.delFlag == 4 || item.delFlag == 5" class="icon"
style="position: absolute; top: 0; left: 1rem"> 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 <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" 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 <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" 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 <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" 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 <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" 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> </svg>
</template> </template>
<template #avatar> <template #avatar>
<a-checkbox :checked="item.checked" @click.stop="checkedItem(val, item)"></a-checkbox> <a-checkbox
<div class="tx" v-if="!itShowXiHaiAn" :class=" :checked="item.checked"
@click.stop="checkedItem(val, item)"
></a-checkbox>
<div
class="tx"
v-if="!itShowXiHaiAn"
:class="
item.type == '基础设施' item.type == '基础设施'
? 'sxt' ? 'sxt'
: item.type == '应用资源' : item.type == '应用资源'
@ -131,19 +205,28 @@
: item.componentType == '业务组件' : item.componentType == '业务组件'
? 'ywzj' ? 'ywzj'
: '' : ''
"></div> "
></div>
</template> </template>
</a-list-item-meta> </a-list-item-meta>
</a-skeleton> </a-skeleton>
</a-list-item> </a-list-item>
</template> </template>
</a-list> </a-list>
</div> </div>
</div> </div>
</div> </div>
<a-modal v-model:visible="videoVisible" title="已申请摄像头列表" @ok="videoVisible = false"> <a-modal
<a-table :columns="columns" :data-source="xVideoList" bordered :pagination="{ defaultPageSize: 6 }"> v-model:visible="videoVisible"
title="已申请摄像头列表"
@ok="videoVisible = false"
>
<a-table
:columns="columns"
:data-source="xVideoList"
bordered
:pagination="{ defaultPageSize: 6 }"
>
<template #bodyCell="{ column, text }"> <template #bodyCell="{ column, text }">
<!-- <template> <!-- <template>
<a>{{ text }}</a> <a>{{ text }}</a>
@ -151,7 +234,6 @@
</template> </template>
</a-table> </a-table>
</a-modal> </a-modal>
</template> </template>
<script setup> <script setup>
import { onMounted, ref } from 'vue' import { onMounted, ref } from 'vue'
@ -191,7 +273,7 @@ const columns = ref([
const name = ref('') const name = ref('')
const type = ref('') const type = ref('')
const list = ref([]) const list = ref([])
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn); const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
// //
onMounted(() => { onMounted(() => {
getList('init') getList('init')
@ -366,7 +448,7 @@ const getList = (type, index) => {
pageSize: pageSize.value, pageSize: pageSize.value,
name: name.value, name: name.value,
}).then((res) => { }).then((res) => {
console.log('res---获取信息--------->', res); console.log('res---获取信息--------->', res)
if (res.data.code !== 0) { if (res.data.code !== 0) {
return message.error(res.data.msg) return message.error(res.data.msg)
} }
@ -397,7 +479,7 @@ const getList = (type, index) => {
// console.log('===============>', load.value) // console.log('===============>', load.value)
// //
list.value = res.data.data.list || [] list.value = res.data.data.list || []
console.log('list.value------------>', list.value); console.log('list.value------------>', list.value)
if (index || index === 0) { if (index || index === 0) {
list.value[index].show = true list.value[index].show = true
@ -412,28 +494,28 @@ const getList = (type, index) => {
} }
// deptid // deptid
const getListByDeptId = async (item) => { const getListByDeptId = async (item) => {
console.log('通过deptid或者deptName查询列表------------>', item); console.log('通过deptid或者deptName查询列表------------>', item)
if (item.children.length == 0) { if (item.children.length == 0) {
let _obj = { let _obj = {
pageNum: item.pageNum, pageNum: item.pageNum,
pageSize: item.pageSize, pageSize: item.pageSize,
name: name.value, name: name.value,
} }
let res; let res
// 西 todo // 西 todo
if (whoShow.itShowXiHaiAn) { if (whoShow.itShowXiHaiAn) {
_obj.deptName = item.deptName; _obj.deptName = item.deptName
res = await selectResourceListByDeptName(_obj) res = await selectResourceListByDeptName(_obj)
} else { } else {
_obj.deptId = item.deptId || ''; _obj.deptId = item.deptId || ''
res = await selectResourceListByDept(_obj) res = await selectResourceListByDept(_obj)
} }
console.log('res----根据部门查询-------->', res); console.log('res----根据部门查询-------->', res)
item.initLoading = false item.initLoading = false
if (res.data.code !== 0) { if (res.data.code !== 0) {
return message.error(res.data.msg) return message.error(res.data.msg)
} }
(res.data.data || []).map((val) => { ;(res.data.data || []).map((val) => {
if ( if (
(!item.load || item.load < Number(item.pageNum)) && (!item.load || item.load < Number(item.pageNum)) &&
load.value <= Number(pageNum.value) load.value <= Number(pageNum.value)
@ -507,7 +589,7 @@ const checkedDept = (item) => {
if (item.checked) { if (item.checked) {
if (item.children.length > 0) { if (item.children.length > 0) {
item.children.map((val) => { item.children.map((val) => {
console.log('val.id------------>', val.id); console.log('val.id------------>', val.id)
if (checkedListAbility.value.indexOf(val.id) == -1) { if (checkedListAbility.value.indexOf(val.id) == -1) {
checkedListAbility.value.push(val.id) checkedListAbility.value.push(val.id)
item.checkedList.push(val.id) item.checkedList.push(val.id)
@ -650,10 +732,10 @@ const ceshiFunction = () => {
} }
// delOne delList handleDelete // delOne delList handleDelete
const handleDelete = (item, index) => { const handleDelete = (item, index) => {
console.log('item, index------------>', item, index); console.log('item, index------------>', item, index)
console.log('item------------>', item); console.log('item------------>', item)
let delArr = []; let delArr = []
// //
if (index) { if (index) {
delArr = [item.id] delArr = [item.id]
@ -666,7 +748,7 @@ const handleDelete = (item, index) => {
} }
} }
sgcDel({ sgcDel({
ids: delArr ids: delArr,
}).then((res) => { }).then((res) => {
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('删除成功') message.success('删除成功')
@ -694,12 +776,20 @@ const showItem = (id, type, delFlag, note1) => {
if (delFlag == 0) { if (delFlag == 0) {
window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle')) window.sessionStorage.setItem('type', JSON.stringify('PurchaseVehicle'))
mybus.emit('tabsChange', { flag: id }) mybus.emit('tabsChange', { flag: id })
router.push({ // router.push({
path: '/details', // path: '/details',
// query: {
// id: id,
// },
// })
const detailPage = router.resolve({
path: '/details', //
query: { query: {
id: id, id: id,
hiddenBackFlag: true,
}, },
}) })
window.open(detailPage.href, '_blank')
} }
} }
} }
@ -710,14 +800,14 @@ const apply = () => {
} else { } else {
let arr = [] let arr = []
let delArr = [] let delArr = []
console.log('list.value------------>', list.value); console.log('list.value------------>', list.value)
list.value.map((val) => { list.value.map((val) => {
val.arr = val.children.filter((item) => { val.arr = val.children.filter((item) => {
if (whoShow.itShowXiHaiAn) { if (whoShow.itShowXiHaiAn) {
item.type = '基础设施'; item.type = '基础设施'
item.resourceName = '摄像头列表'; item.resourceName = '摄像头列表'
item.resourceId = '1522550195055828996'; item.resourceId = '1522550195055828996'
} }
console.log('选择的数据=============>', item) console.log('选择的数据=============>', item)
if (checkedListAbility.value.indexOf(item.id) > -1) { if (checkedListAbility.value.indexOf(item.id) > -1) {
@ -745,7 +835,6 @@ const apply = () => {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.ant-list { .ant-list {
// max-height: 5.3rem; // max-height: 5.3rem;
.ant-list-item { .ant-list-item {
width: 100%; width: 100%;

View File

@ -255,7 +255,6 @@
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
export default { export default {
name: '',
props: {}, props: {},
components: { components: {
HomeHeader, HomeHeader,
@ -296,7 +295,7 @@
fileList.value = [ fileList.value = [
{ {
uid: res.data.data.id, uid: res.data.data.id,
name: '附件', name: res.data.data.enclosureName || '附件',
staus: 'done', staus: 'done',
}, },
] ]
@ -339,6 +338,7 @@
} }
const handleRemove = () => { const handleRemove = () => {
formName.enclosure = '' formName.enclosure = ''
formName.enclosureName = ''
} }
const handleChange = (info) => { const handleChange = (info) => {
if (info.file.status !== 'uploading') { if (info.file.status !== 'uploading') {
@ -346,12 +346,15 @@
} }
if (info.file.status === 'removed') { if (info.file.status === 'removed') {
formName.enclosure = '' formName.enclosure = ''
formName.enclosureName = ''
} }
if (info.file.status === 'done') { if (info.file.status === 'done') {
message.success(`${info.file.name} 文件上传成功`) message.success(`${info.file.name} 文件上传成功`)
formName.enclosure = info.file.response.data formName.enclosure = info.file.response.data
formName.enclosureName = info.file.name
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
formName.enclosure = '' formName.enclosure = ''
formName.enclosureName = ''
fileList.value = [] fileList.value = []
message.error(`${info.file.name} 文件上传失败`) message.error(`${info.file.name} 文件上传失败`)
} }
@ -368,8 +371,8 @@
// copy // copy
let _postData = JSON.parse(JSON.stringify(formName)) let _postData = JSON.parse(JSON.stringify(formName))
_postData.detailsField = detailsField _postData.detailsField = detailsField
if (id.value) { if (id.value) {
_postData.id = id.value
updateDemandForm(_postData).then((upres) => { updateDemandForm(_postData).then((upres) => {
if (upres.data.code == 0) { if (upres.data.code == 0) {
relaunch({ data: _postData, taskId: taskId.value }).then( relaunch({ data: _postData, taskId: taskId.value }).then(
@ -396,8 +399,16 @@
console.log(detString, _postData.detailsField, 'detString') console.log(detString, _postData.detailsField, 'detString')
demandApply(_postData).then((res) => { demandApply(_postData).then((res) => {
applySuccess.value = false applySuccess.value = false
message.success('操作成功!') // message.success('')
console.log('能力申请================>', res) console.log('能力申请================>', res)
if (res.data.code == 0) {
message.success('操作成功!')
window.setTimeout(() => {
window.close()
}, 1000)
} else {
message.error('操作失败')
}
}) })
}) })
} }

View File

@ -6,18 +6,28 @@
<aside-menu></aside-menu> <aside-menu></aside-menu>
</aside> </aside>
<article> <article>
<!-- 我的申请 -->
<div class="form-container"> <div class="form-container">
<!-- <on-the-right-side-of-the-list <template v-if="showFlag === 'apply'">
v-if="showFlag === 'collect'" <my-apply-xha
></on-the-right-side-of-the-list> --> v-if="xinhaian"
<my-apply v-if="showFlag === 'apply'" :tabTypeName="tabTypeName"></my-apply> :tabTypeName="tabTypeName"
></my-apply-xha>
<my-apply v-else :tabTypeName="tabTypeName"></my-apply>
</template>
<!-- 我的发布 -->
<my-publish v-if="showFlag === 'push'"></my-publish> <my-publish v-if="showFlag === 'push'"></my-publish>
<!-- 申购车 -->
<purchase-vehicle <purchase-vehicle
v-if="showFlag === 'PurchaseVehicle'" v-if="showFlag === 'PurchaseVehicle'"
></purchase-vehicle> ></purchase-vehicle>
<!-- 我的收藏 -->
<collection v-else-if="showFlag === 'collect'"></collection> <collection v-else-if="showFlag === 'collect'"></collection>
<!-- 我的需求 -->
<my-application v-else-if="showFlag === 'demand'"></my-application> <my-application v-else-if="showFlag === 'demand'"></my-application>
<!-- 我的评论 -->
<my-comments v-else-if="showFlag === 'remark'"></my-comments> <my-comments v-else-if="showFlag === 'remark'"></my-comments>
<!-- 我的浏览 -->
<my-browse v-else-if="showFlag === 'recent'"></my-browse> <my-browse v-else-if="showFlag === 'recent'"></my-browse>
</div> </div>
</article> </article>
@ -30,6 +40,7 @@
import asideMenu from '@/views/personalCenter/components/asideMenu' import asideMenu from '@/views/personalCenter/components/asideMenu'
// import OnTheRightSideOfTheList from './OnTheRightSideOfTheList' // import OnTheRightSideOfTheList from './OnTheRightSideOfTheList'
import MyApply from '@/views/personalCenter/components/MyApply' import MyApply from '@/views/personalCenter/components/MyApply'
import MyApplyXha from '@/views/personalCenter/components/MyApplyXha'
import MyApplication from '@/views/personalCenter/components/MyApplication' import MyApplication from '@/views/personalCenter/components/MyApplication'
import MyComments from '@/views/personalCenter/components/MyComments' import MyComments from '@/views/personalCenter/components/MyComments'
import MyPublish from '@/views/personalCenter/components/MyPublish' import MyPublish from '@/views/personalCenter/components/MyPublish'
@ -41,6 +52,7 @@
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
const router = useRouter() const router = useRouter()
let tabTypeName = ref(router.currentRoute.value.query.tabTypeName || '') let tabTypeName = ref(router.currentRoute.value.query.tabTypeName || '')
let xinhaian = whoShow.itShowXiHaiAn //西
const type = JSON.parse(window.sessionStorage.getItem('type')) const type = JSON.parse(window.sessionStorage.getItem('type'))
const showFlag = ref('PurchaseVehicle') const showFlag = ref('PurchaseVehicle')
if (type) { if (type) {
@ -72,30 +84,30 @@
background-color: #f5f8fc; background-color: #f5f8fc;
height: 100%; height: 100%;
width: 100%; width: 100%;
margin: 64px auto 0; margin: 0.64rem auto 0;
display: flex; display: flex;
justify-content: center; justify-content: center;
position: relative; position: relative;
aside { aside {
width: 282px; width: 2.82rem;
height: 96%; height: 96%;
overflow-y: auto; overflow-y: auto;
background-color: #fff; background-color: #fff;
margin: 1% 0 3%; margin: 1% 0 3%;
} }
article { article {
width: 1090px; width: 10.9rem;
height: 99%; height: 99%;
// overflow-y: auto; // overflow-y: auto;
background-color: #fff; background-color: #fff;
margin: 1% 0 1% 14px; margin: 1% 0 1% 0.14rem;
} }
.form-container { .form-container {
.title { .title {
font-size: 20px; font-size: 0.2rem;
color: #000; color: #000;
font-weight: bold; font-weight: bold;
margin-bottom: 20px; margin-bottom: 0.2rem;
} }
} }
} }