Merge branch 'hi-ucs-dev' of http://192.168.124.50:3000/wuhongjian/hi-ucs into hi-ucs-dev
This commit is contained in:
commit
a2267a59bb
|
@ -23,20 +23,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<DisplayList></DisplayList>
|
<DisplayList :displayList="displayList" showKey="name"></DisplayList>
|
||||||
|
|
||||||
<div class="show-box" v-if="displayList.length > 0">
|
|
||||||
<div class="list-box">
|
|
||||||
<div v-for="(item, i) in displayList" :key="i">
|
|
||||||
<el-tooltip popper-class="testTooltip" effect="dark" :content="item.name || '--'" placement="top">
|
|
||||||
<div class="list-item">
|
|
||||||
{{ item.name || '--' }}
|
|
||||||
</div>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -149,8 +136,8 @@ let keyObj = {
|
||||||
nameKey: 'zyname'
|
nameKey: 'zyname'
|
||||||
},
|
},
|
||||||
'组件服务': {
|
'组件服务': {
|
||||||
idKey: 'zycode',
|
idKey: 'id',
|
||||||
nameKey: 'zyname'
|
nameKey: 'name'
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,15 +191,15 @@ export default {
|
||||||
let attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type);
|
let attrValue = dataForm.fuseResourceList.filter(v => v.type == this.type);
|
||||||
if (attrValue.length > 0) {
|
if (attrValue.length > 0) {
|
||||||
attrValue.map(val => {
|
attrValue.map(val => {
|
||||||
let item = this.allData.find(v => v.id == val.resourceId) || {};
|
|
||||||
let _obj = {
|
let _obj = {
|
||||||
type: val.type,
|
type: val.type,
|
||||||
id: val.resourceId,
|
id: val.resourceId,
|
||||||
name: item.name
|
name: val.resource && val.resource.name
|
||||||
};
|
};
|
||||||
arr.push(_obj);
|
arr.push(_obj);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 展示
|
// 展示
|
||||||
this.displayList = JSON.parse(JSON.stringify(arr));
|
this.displayList = JSON.parse(JSON.stringify(arr));
|
||||||
// 已选中
|
// 已选中
|
||||||
|
@ -223,27 +210,17 @@ export default {
|
||||||
},
|
},
|
||||||
// 获取列表
|
// 获取列表
|
||||||
getData() {
|
getData() {
|
||||||
// this.allData = [];
|
|
||||||
// this.transferData = [];
|
|
||||||
// let arr = JSON.parse(JSON.stringify(sjzyArray));
|
|
||||||
// arr.map(v => {
|
|
||||||
// this.transferData.push({
|
|
||||||
// type: this.type,
|
|
||||||
// id: v[keyObj[this.type].idKey],
|
|
||||||
// name: v[keyObj[this.type].nameKey] || "--"
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// this.allData = JSON.parse(JSON.stringify(this.transferData));
|
|
||||||
// return;
|
|
||||||
if (this.getDataParams.url === '') {
|
if (this.getDataParams.url === '') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.$http[this.getDataParams.methods](this.getDataParams.url, this.getDataParams.postData).then(res => {
|
this.$http[this.getDataParams.methods](this.getDataParams.url, {
|
||||||
|
params: this.getDataParams.postData
|
||||||
|
}).then(res => {
|
||||||
console.log('res.data----获取列表-------->', res.data);
|
console.log('res.data----获取列表-------->', res.data);
|
||||||
if (res.data.code !== 0) {
|
if (res.data.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
this.transferData = []; // allData
|
this.transferData = [];
|
||||||
this.allData = [];
|
this.allData = [];
|
||||||
(res.data.data || []).map(v => {
|
(res.data.data || []).map(v => {
|
||||||
this.transferData.push({
|
this.transferData.push({
|
||||||
|
|
|
@ -0,0 +1,330 @@
|
||||||
|
<template>
|
||||||
|
<el-card shadow="never" class="roomBox">
|
||||||
|
<div class="roomExamineSearch">
|
||||||
|
<el-input
|
||||||
|
v-model="roomName"
|
||||||
|
style="width: 160px"
|
||||||
|
placeholder="请输入会议室名称"
|
||||||
|
></el-input>
|
||||||
|
<el-select
|
||||||
|
v-model="value"
|
||||||
|
style="width: 160px"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择审核状态"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<el-button type="primary" @click="searchData">查询</el-button>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-table border style="width: 100%" :data="tableData">
|
||||||
|
<el-table-column
|
||||||
|
label="申请人"
|
||||||
|
prop="name"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="申请部门"
|
||||||
|
prop="dept"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="申请会议室"
|
||||||
|
prop="roomName"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="申请时段"
|
||||||
|
prop="bookDate"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="申请状态"
|
||||||
|
prop="state"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
:formatter="formatter"
|
||||||
|
></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="taskDetails(scope.row, scope.row.state)"
|
||||||
|
>{{ scope.row.state == '1' ? '处理' : '详情' }}</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
:page-sizes="[10, 20, 50]"
|
||||||
|
:page-size="100"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"
|
||||||
|
>
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
<el-dialog
|
||||||
|
:title="lookData.roomName"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="50%"
|
||||||
|
>
|
||||||
|
<div class="modalResult" style="margin-bottom: 20px">处理结果</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 0.01rem;
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
class="modalExamine"
|
||||||
|
style="display: flex; flex-direction: column; margin-top: 20px"
|
||||||
|
>
|
||||||
|
<span style="margin-bottom: 20px">
|
||||||
|
审核结果:{{ lookData.state === '2' ? '通过' : '不通过' }}
|
||||||
|
</span>
|
||||||
|
<span style="width: 90%; margin-bottom: 20px">
|
||||||
|
审核意见:{{ lookData.auditViem }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="modalYuyue" style="margin-bottom: 20px">预约信息</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 0.01rem;
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div class="modalTime" style="margin-bottom: 20px">
|
||||||
|
<div style="margin: 20px 0 20px 0">
|
||||||
|
预约日期:{{ lookData.bookDate }}
|
||||||
|
</div>
|
||||||
|
<div>预约时段:{{ lookData.startTime }}-{{ lookData.endTime }}</div>
|
||||||
|
<div
|
||||||
|
class="modalContent"
|
||||||
|
style="
|
||||||
|
width: 85%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 15px 0 15px 0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span>预约人:{{ lookData.name }}</span>
|
||||||
|
<span>联系方式:{{ lookData.phone }}</span>
|
||||||
|
<span>预约部门:{{ lookData.dept }}</span>
|
||||||
|
</div>
|
||||||
|
<div style="width: 800px; margin-bottom: 30px">
|
||||||
|
使用事项:{{ lookData.matter }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div style="display: flex; align-items: center">
|
||||||
|
<span>附件:</span>
|
||||||
|
<el-button
|
||||||
|
v-show="file != ''"
|
||||||
|
size="mini"
|
||||||
|
@click="downloadTemplate(file)"
|
||||||
|
>下载</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
:title="lookData.roomName"
|
||||||
|
:visible.sync="dialogVisibleChuli"
|
||||||
|
width="50%"
|
||||||
|
>
|
||||||
|
<div class="modalResult" style="margin-bottom: 10px">预约信息</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 0.01rem;
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<el-row style="display: flex; margin-top: 20px">
|
||||||
|
<el-col :span="8">预约日期:{{ lookData.bookDate }}</el-col>
|
||||||
|
<el-col :span="8"
|
||||||
|
>预约时段:{{ lookData.startTime }}-{{ lookData.endTime }}</el-col
|
||||||
|
>
|
||||||
|
</el-row>
|
||||||
|
<div class="modalTime">
|
||||||
|
<el-row class="modalContent" style="margin: 15px 0 15px 0">
|
||||||
|
<el-col :span="8">申请人:{{ lookData.name }}</el-col>
|
||||||
|
<el-col :span="8">联系方式:{{ lookData.phone }}</el-col>
|
||||||
|
<el-col :span="8">申请部门:{{ lookData.dept }}</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row style="margin-bottom: 30px">
|
||||||
|
<el-col :span="24"> 使用事项:{{ lookData.matter }} </el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="2">审核结果:</el-col>
|
||||||
|
<el-col :span="8" style="display: flex">
|
||||||
|
<el-radio v-model="radio" label="2">通过</el-radio>
|
||||||
|
<el-radio v-model="radio" label="3">不通过</el-radio>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row style="display: flex; margin-top: 20px">
|
||||||
|
<el-col :span="2">审核意见:</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-input type="textarea" v-model="desc"></el-input>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="No">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="ok">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import Cookies from 'js-cookie'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
value: '1',
|
||||||
|
label: '待审核',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '0',
|
||||||
|
label: '审核完成',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
value: '',
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
total: 0,
|
||||||
|
roomName: '',
|
||||||
|
tableData: [],
|
||||||
|
dialogVisible: false,
|
||||||
|
dialogVisibleChuli: false,
|
||||||
|
lookData: {},
|
||||||
|
radio: '2',
|
||||||
|
desc: '',
|
||||||
|
id: '',
|
||||||
|
num: '',
|
||||||
|
file: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getSerach()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getSerach() {
|
||||||
|
this.$http
|
||||||
|
.get(
|
||||||
|
`/bookMeeting/auditPage?page=${this.page}&limit=${this.limit}&roomName=${this.roomName}&state=${this.value}`
|
||||||
|
)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
console.log(res, 7777777)
|
||||||
|
this.tableData = res.data.list
|
||||||
|
this.total = res.data.total
|
||||||
|
})
|
||||||
|
},
|
||||||
|
downloadTemplate(file) {
|
||||||
|
// window.SITE_CONFIG.apiURL +
|
||||||
|
window.open(`${file}?token=` + Cookies.get('ucsToken'))
|
||||||
|
},
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.limit = val
|
||||||
|
this.getSerach()
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.page = val
|
||||||
|
this.getSerach()
|
||||||
|
},
|
||||||
|
searchData() {
|
||||||
|
this.getSerach()
|
||||||
|
},
|
||||||
|
taskDetails(item, num) {
|
||||||
|
if (num == '1') {
|
||||||
|
this.dialogVisibleChuli = true
|
||||||
|
this.id = item.id
|
||||||
|
} else {
|
||||||
|
this.dialogVisible = true
|
||||||
|
this.$http.get(`bookMeeting/${item.id}`).then(({ data: res }) => {
|
||||||
|
console.log(55555555)
|
||||||
|
this.file = res.data.file
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.lookData = item
|
||||||
|
},
|
||||||
|
|
||||||
|
ok() {
|
||||||
|
let query = {
|
||||||
|
auditViem: this.desc,
|
||||||
|
state: this.radio,
|
||||||
|
id: this.id,
|
||||||
|
}
|
||||||
|
this.$http.put('/bookMeeting', query).then(({ data: res }) => {
|
||||||
|
this.dialogVisibleChuli = false
|
||||||
|
this.radio = '2'
|
||||||
|
this.desc = ''
|
||||||
|
this.getSerach()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
No() {
|
||||||
|
this.radio = '2'
|
||||||
|
this.desc = ''
|
||||||
|
this.dialogVisibleChuli = false
|
||||||
|
},
|
||||||
|
formatter(row, column) {
|
||||||
|
return row.state == '1' ? '待审核' : '审核完成'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.roomBox {
|
||||||
|
min-height: calc(calc(100vh - 50px - 38px - 30px));
|
||||||
|
.roomHeadSpan {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.roomExamineSearch {
|
||||||
|
display: flex;
|
||||||
|
width: 410px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.dialog-footer {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
// ::v-deep .el-input {
|
||||||
|
// margin-right: 15px;
|
||||||
|
// display: inline-block;
|
||||||
|
// }
|
||||||
|
// ::v-deep .el-select {
|
||||||
|
// margin-right: 20px;
|
||||||
|
// display: inline-block;
|
||||||
|
// }
|
||||||
|
</style>
|
|
@ -86,11 +86,8 @@
|
||||||
width="150"
|
width="150"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button type="text" size="small" @click="showDetail(scope.row)"
|
||||||
type="text"
|
>详情</el-button
|
||||||
size="small"
|
|
||||||
@click="showDetail(scope.row)"
|
|
||||||
>{{ $t('process.viewFlowImage') }}</el-button
|
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
@ -86,11 +86,8 @@
|
||||||
width="150"
|
width="150"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button type="text" size="small" @click="showDetail(scope.row)"
|
||||||
type="text"
|
>详情</el-button
|
||||||
size="small"
|
|
||||||
@click="showDetail(scope.row)"
|
|
||||||
>{{ $t('process.viewFlowImage') }}</el-button
|
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
@ -86,11 +86,8 @@
|
||||||
width="150"
|
width="150"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button type="text" size="small" @click="showDetail(scope.row)"
|
||||||
type="text"
|
>详情</el-button
|
||||||
size="small"
|
|
||||||
@click="showDetail(scope.row)"
|
|
||||||
>{{ $t('process.viewFlowImage') }}</el-button
|
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
@ -86,11 +86,8 @@
|
||||||
width="150"
|
width="150"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button type="text" size="small" @click="showDetail(scope.row)"
|
||||||
type="text"
|
>详情</el-button
|
||||||
size="small"
|
|
||||||
@click="showDetail(scope.row)"
|
|
||||||
>{{ $t('process.viewFlowImage') }}</el-button
|
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
@ -86,11 +86,8 @@
|
||||||
width="150"
|
width="150"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button type="text" size="small" @click="showDetail(scope.row)"
|
||||||
type="text"
|
>详情</el-button
|
||||||
size="small"
|
|
||||||
@click="showDetail(scope.row)"
|
|
||||||
>{{ $t('process.viewFlowImage') }}</el-button
|
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
@ -0,0 +1,381 @@
|
||||||
|
<template>
|
||||||
|
<el-card shadow="never" class="roomBox">
|
||||||
|
<div>
|
||||||
|
<div slot="header" class="roomHeadSpan">
|
||||||
|
<span>会议室管理</span>
|
||||||
|
<el-button
|
||||||
|
style="float: right; padding: 5px 5px"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-circle-plus-outline"
|
||||||
|
@click="addRooom"
|
||||||
|
>新增</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<el-table border style="width: 100%" :data="tableData">
|
||||||
|
<el-table-column
|
||||||
|
label="会议室名称"
|
||||||
|
prop="name"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="房间号"
|
||||||
|
prop="num"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="面积(m²)"
|
||||||
|
prop="area"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="可容纳人数(人)"
|
||||||
|
prop="capacity"
|
||||||
|
header-align="center"
|
||||||
|
align="center"
|
||||||
|
></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="taskDetails(scope.row)"
|
||||||
|
>详情</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
size="small"
|
||||||
|
@click="taskUpdate(scope.row)"
|
||||||
|
>{{ $t('update') }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
size="small"
|
||||||
|
@click="taskDelete(scope.row)"
|
||||||
|
>{{ $t('delete') }}</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-dialog
|
||||||
|
@close="outDialog"
|
||||||
|
:title="
|
||||||
|
flge === 'add'
|
||||||
|
? '会议室新增'
|
||||||
|
: flge === 'look'
|
||||||
|
? '会议室详情'
|
||||||
|
: '会议室修改'
|
||||||
|
"
|
||||||
|
:visible.sync="dialogFormVisible"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
:model="ruleForm"
|
||||||
|
:label-position="labelPosition"
|
||||||
|
size="small"
|
||||||
|
:rules="rules"
|
||||||
|
ref="ruleForm"
|
||||||
|
:disabled="flge === 'look' ? true : flge === 'edit' ? false : false"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="会议室名称"
|
||||||
|
prop="name"
|
||||||
|
:label-width="formLabelWidth"
|
||||||
|
>
|
||||||
|
<el-input v-model="ruleForm.name" style="width: 90%"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="房间号"
|
||||||
|
prop="num"
|
||||||
|
:label-width="formLabelWidth"
|
||||||
|
>
|
||||||
|
<el-input v-model="ruleForm.num" style="width: 90%"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="会议室面积"
|
||||||
|
prop="area"
|
||||||
|
:label-width="formLabelWidth"
|
||||||
|
>
|
||||||
|
<el-input v-model="ruleForm.area" style="width: 90%"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="可容纳人数"
|
||||||
|
prop="capacity"
|
||||||
|
:label-width="formLabelWidth"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="ruleForm.capacity"
|
||||||
|
style="width: 90%"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col>
|
||||||
|
<el-form-item
|
||||||
|
label="描述"
|
||||||
|
prop="description"
|
||||||
|
:label-width="formLabelWidth"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
v-model="ruleForm.description"
|
||||||
|
style="width: 96%"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col>
|
||||||
|
<el-form-item
|
||||||
|
label="会议室图片"
|
||||||
|
prop="pic"
|
||||||
|
:label-width="formLabelWidth"
|
||||||
|
>
|
||||||
|
<div v-if="flge != 'look'">
|
||||||
|
<span slot="tip" class="el-upload__tip">
|
||||||
|
支持图片类型,且不超过500kb
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<!-- :file-list="fileList" -->
|
||||||
|
<el-upload
|
||||||
|
v-if="flge != 'look'"
|
||||||
|
class="upload-demo"
|
||||||
|
accept=".jpg, .jpeg, .png"
|
||||||
|
:action="apiURL"
|
||||||
|
:on-preview="handlePictureCardPreview"
|
||||||
|
:on-success="onSuccess"
|
||||||
|
:on-remove="onRemove"
|
||||||
|
:file-list="fileList"
|
||||||
|
list-type="picture-card"
|
||||||
|
:limit="1"
|
||||||
|
>
|
||||||
|
<i class="el-icon-plus"></i>
|
||||||
|
</el-upload>
|
||||||
|
<el-dialog :visible.sync="dialogVisible">
|
||||||
|
<img width="100%" :src="picImg" alt="" />
|
||||||
|
</el-dialog>
|
||||||
|
<div
|
||||||
|
class="block"
|
||||||
|
style="width: 15rem; height: 10rem"
|
||||||
|
v-if="flge == 'look' && picImg != ''"
|
||||||
|
>
|
||||||
|
<el-image :src="picImg"></el-image>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<!-- <el-button @click="dialogFormVisible = false">取 消</el-button> -->
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
v-if="flge != 'look'"
|
||||||
|
@click="submitForm('ruleForm', flge)"
|
||||||
|
>保 存</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<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="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
>
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import Cookies from 'js-cookie'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
// let validatorImg = (rule, value, callback) => {
|
||||||
|
// console.log(value, 11111111)
|
||||||
|
// //验证器
|
||||||
|
// if (!this.checkImgSuccess) {
|
||||||
|
// //为true代表图片在 false报错
|
||||||
|
// callback(new Error('请上传图片'))
|
||||||
|
// } else {
|
||||||
|
// callback()
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
return {
|
||||||
|
apiURL:
|
||||||
|
window.SITE_CONFIG.apiURL + '/upload?token=' + Cookies.get('ucsToken'),
|
||||||
|
labelPosition: 'left',
|
||||||
|
dialogFormVisible: false,
|
||||||
|
// dialogImageUrl: '',
|
||||||
|
ruleForm: {
|
||||||
|
name: '',
|
||||||
|
num: '',
|
||||||
|
area: '',
|
||||||
|
capacity: '',
|
||||||
|
pic: '',
|
||||||
|
id: '',
|
||||||
|
},
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
total: 0,
|
||||||
|
picImg: '',
|
||||||
|
tableData: [],
|
||||||
|
fileList: [],
|
||||||
|
rules: {
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入会议室名称', trigger: 'blur' },
|
||||||
|
{ min: 1, trigger: 'blur' },
|
||||||
|
],
|
||||||
|
area: [
|
||||||
|
{ required: true, message: '请输入会议室面积', trigger: 'blur' },
|
||||||
|
{ min: 1, trigger: 'blur' },
|
||||||
|
],
|
||||||
|
description: [
|
||||||
|
{ required: true, message: '请填写描述内容', trigger: 'blur' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
formLabelWidth: '100px',
|
||||||
|
checkImgSuccess: true,
|
||||||
|
dialogVisible: false,
|
||||||
|
flge: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.queryData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 页面查询接口
|
||||||
|
queryData() {
|
||||||
|
this.$http
|
||||||
|
.get(`/meeting/page?limit=${this.limit}&page=${this.page}`)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
this.total = res.data.total
|
||||||
|
this.tableData = res.data.list
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 分页
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.limit = val
|
||||||
|
this.queryData()
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.page = val
|
||||||
|
this.queryData()
|
||||||
|
},
|
||||||
|
// 新增
|
||||||
|
addRooom() {
|
||||||
|
this.dialogFormVisible = true
|
||||||
|
this.flge = 'add'
|
||||||
|
this.ruleForm = {}
|
||||||
|
this.fileList = []
|
||||||
|
},
|
||||||
|
handlePictureCardPreview(file) {
|
||||||
|
this.dialogImageUrl = file.url
|
||||||
|
this.dialogVisible = true
|
||||||
|
},
|
||||||
|
//图片上传成功时钩子
|
||||||
|
onSuccess(response, file, fileList) {
|
||||||
|
this.ruleForm.pic = response.data
|
||||||
|
// this.$refs.ruleForm.clearValidate() //上传成功清除校验
|
||||||
|
this.checkImgSuccess = true
|
||||||
|
},
|
||||||
|
//图片删除时钩子
|
||||||
|
onRemove(file, fileList) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if (fileList.length == 0) {
|
||||||
|
this.checkImgSuccess = false //检查图片是否加载成功
|
||||||
|
// this.$refs.ruleForm.validate() //删除图片,重新触发校验
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 保存
|
||||||
|
submitForm(formName, i) {
|
||||||
|
console.log(i, 9999999)
|
||||||
|
this.$refs[formName].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
if (i === 'add') {
|
||||||
|
this.dialogFormVisible = false
|
||||||
|
this.$http.post('/meeting', this.ruleForm).then(({ data: res }) => {
|
||||||
|
this.queryData()
|
||||||
|
})
|
||||||
|
} else if (i === 'edit') {
|
||||||
|
this.dialogFormVisible = false
|
||||||
|
this.$http.put(`/meeting`, this.ruleForm).then(({ data: res }) => {
|
||||||
|
this.ruleForm = res.data
|
||||||
|
let imgUrl = { name: res.data.name, url: res.data.pic }
|
||||||
|
this.fileList.push(imgUrl)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log('error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 详情
|
||||||
|
taskDetails(row) {
|
||||||
|
this.ruleForm = {}
|
||||||
|
this.fileList = []
|
||||||
|
this.flge = 'look'
|
||||||
|
this.$http.get(`/meeting/${row.id}`).then(({ data: res }) => {
|
||||||
|
this.dialogFormVisible = true
|
||||||
|
this.ruleForm = res.data
|
||||||
|
if (res.data.pic != null) {
|
||||||
|
// let imgUrl = { name: res.data.name, url: res.data.pic }
|
||||||
|
// this.fileList.push(imgUrl)
|
||||||
|
this.picImg = res.data.pic
|
||||||
|
} else {
|
||||||
|
this.picImg = ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//修改
|
||||||
|
taskUpdate(row) {
|
||||||
|
this.dialogFormVisible = true
|
||||||
|
this.fileList = []
|
||||||
|
this.flge = 'edit'
|
||||||
|
this.ruleForm = row
|
||||||
|
if (row.pic != null) {
|
||||||
|
let imgUrl = { name: row.name, url: row.pic }
|
||||||
|
this.fileList.push(imgUrl)
|
||||||
|
} else {
|
||||||
|
this.fileList = []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//删除图片
|
||||||
|
taskDelete(row) {
|
||||||
|
console.log(row, '点击了删除')
|
||||||
|
this.$http
|
||||||
|
.put(`/meeting`, { delFlag: 1, id: row.id })
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
this.queryData()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//监听关闭按钮时间
|
||||||
|
outDialog() {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.roomBox {
|
||||||
|
min-height: calc(calc(100vh - 50px - 38px - 30px));
|
||||||
|
.roomHeadSpan {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .el-dialog__footer {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -370,6 +370,39 @@ export function getDevelopDocTree(params) {
|
||||||
params,
|
params,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//会议室查询接口
|
||||||
|
export function getRoomSearch(params) {
|
||||||
|
return request({
|
||||||
|
url: '/bookMeeting/list',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//预约弹框选择日期接口
|
||||||
|
export function getDate(params) {
|
||||||
|
return request({
|
||||||
|
url: '/bookMeeting/availableDate',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//预约提交
|
||||||
|
export function setSubmit(data) {
|
||||||
|
return request({
|
||||||
|
url: '/bookMeeting',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//预约结果查询按钮
|
||||||
|
export function getYuyue(params) {
|
||||||
|
return request({
|
||||||
|
url: '/bookMeeting/page',
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
// 能力广场 应用资源
|
// 能力广场 应用资源
|
||||||
export function selectAppList(params) {
|
export function selectAppList(params) {
|
||||||
return request({
|
return request({
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 705 B |
|
@ -8,7 +8,7 @@
|
||||||
class="algorithm-card"
|
class="algorithm-card"
|
||||||
>
|
>
|
||||||
<a-image
|
<a-image
|
||||||
:src="algorithmCardPhoto(item.infoList)"
|
:src="algorithmCardPhoto(item.infoList, item)"
|
||||||
:width="525"
|
:width="525"
|
||||||
:height="275"
|
:height="275"
|
||||||
:fallback="imgSrc"
|
:fallback="imgSrc"
|
||||||
|
@ -55,18 +55,18 @@
|
||||||
}
|
}
|
||||||
pageWithAttrsFunction()
|
pageWithAttrsFunction()
|
||||||
//图片显示
|
//图片显示
|
||||||
const algorithmCardPhoto = (List) => {
|
const algorithmCardPhoto = (List, item) => {
|
||||||
let obj = List.filter((item) => item.attrType === '图层缩略图')[0]
|
let obj = List.filter((item) => item.attrType === '应用场景')[0]
|
||||||
if (obj) {
|
if (obj && obj.attrValue != '') {
|
||||||
List.map((item) => {
|
console.log(
|
||||||
if (item.attrType === '图层缩略图') {
|
item.name,
|
||||||
url.value = item.attrValue
|
item.id,
|
||||||
|
obj.attrValue,
|
||||||
|
'----------------------------'
|
||||||
|
)
|
||||||
|
obj = JSON.parse(obj.attrValue)[0].img
|
||||||
}
|
}
|
||||||
})
|
return obj || ''
|
||||||
} else {
|
|
||||||
url.value = '@/assets/capacitySquare/algorithm-photo.jpg'
|
|
||||||
}
|
|
||||||
return url.value
|
|
||||||
}
|
}
|
||||||
//跳转详情页
|
//跳转详情页
|
||||||
const detailFunction = (id) => {
|
const detailFunction = (id) => {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: hisense.liangjunhua
|
* @Author: hisense.liangjunhua
|
||||||
* @Date: 2022-08-09 09:31:25
|
* @Date: 2022-08-09 09:31:25
|
||||||
* @LastEditors: hisense.liangjunhua
|
* @LastEditors: hisense.liangjunhua
|
||||||
* @LastEditTime: 2022-08-09 18:25:06
|
* @LastEditTime: 2022-08-10 14:29:05
|
||||||
* @Description: 应用资源
|
* @Description: 应用资源
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
|
@ -50,12 +50,13 @@
|
||||||
const selectFlag = ref(false)
|
const selectFlag = ref(false)
|
||||||
let dom = null
|
let dom = null
|
||||||
const goToView = (id) => {
|
const goToView = (id) => {
|
||||||
router.push({
|
const newpage = router.resolve({
|
||||||
path: '/details',
|
path: '/details',
|
||||||
query: {
|
query: {
|
||||||
id: id,
|
id: id,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
window.open(newpage.href, '_blank')
|
||||||
}
|
}
|
||||||
const getList = (str) => {
|
const getList = (str) => {
|
||||||
if (str) {
|
if (str) {
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<detailsPageconetentTree />
|
<detailsPageconetentTree />
|
||||||
</div>
|
</div>
|
||||||
<div class="details-pageconetent-left" v-else>
|
<div class="details-pageconetent-left" v-else>
|
||||||
<detailsPageInfrastructureTree />
|
<detailsPageInfrastructureTree v-show="flag != '6'" />
|
||||||
</div>
|
</div>
|
||||||
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
|
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
|
||||||
<div class="top-title">
|
<div class="top-title">
|
||||||
|
@ -178,7 +178,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="top-content-father">
|
<div class="top-content-father">
|
||||||
<infrastructurePage />
|
<infrastructurePage @add="handleAdd" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="top" v-else>
|
<div class="top" v-else>
|
||||||
|
@ -742,6 +742,12 @@
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
setup() {
|
setup() {
|
||||||
|
//会议室传的标识6
|
||||||
|
const flag = ref('')
|
||||||
|
|
||||||
|
const handleAdd = (value) => {
|
||||||
|
flag.value = value
|
||||||
|
}
|
||||||
const titleName = ref(titleNameArray)
|
const titleName = ref(titleNameArray)
|
||||||
|
|
||||||
const openMonitor = () => {
|
const openMonitor = () => {
|
||||||
|
@ -1446,6 +1452,8 @@
|
||||||
getShoppingCartList,
|
getShoppingCartList,
|
||||||
whoShow1,
|
whoShow1,
|
||||||
applyAll,
|
applyAll,
|
||||||
|
handleAdd,
|
||||||
|
flag,
|
||||||
abilitySquare,
|
abilitySquare,
|
||||||
visibleAbilitySquare,
|
visibleAbilitySquare,
|
||||||
showAbilitySquare,
|
showAbilitySquare,
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
props.showView === 'algorithm-details' ? 'blue' : '',
|
props.showView === 'algorithm-details' ? 'blue' : '',
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<div class="name">
|
<div class="name" @click="goToHome">
|
||||||
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
|
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
|
||||||
<div class="name-bg-xihaian" v-else></div>
|
<div class="name-bg-xihaian" v-else></div>
|
||||||
<div class="name-content">
|
<div class="name-content">
|
||||||
|
@ -178,6 +178,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 返回首页
|
||||||
|
const goToHome = () => {
|
||||||
|
router.push({
|
||||||
|
path: '/home',
|
||||||
|
})
|
||||||
|
}
|
||||||
// 跳转页面
|
// 跳转页面
|
||||||
const jumpPage = (item) => {
|
const jumpPage = (item) => {
|
||||||
// console.log(item)
|
// console.log(item)
|
||||||
|
@ -355,6 +361,7 @@
|
||||||
font-size: 0.16rem;
|
font-size: 0.16rem;
|
||||||
}
|
}
|
||||||
.name {
|
.name {
|
||||||
|
cursor: pointer;
|
||||||
font-size: 0.22rem;
|
font-size: 0.22rem;
|
||||||
font-family: header-typeface;
|
font-family: header-typeface;
|
||||||
margin-right: 0.2rem;
|
margin-right: 0.2rem;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="img" :style="{ 'background-image': `url(${abilityInfo.bgImg || ''})` }"></div>
|
<div class="img" :style="{ 'background-image': `url(${abilityInfo.bgImg || ''})` }"></div>
|
||||||
<div class="list-box" v-if="abilityInfo.list.length">
|
<div class="list-box" v-if="abilityInfo.list.length">
|
||||||
<div class="list-item" v-for="(item, i) in abilityInfo.list" :key="i" :class="i % 2 == 0 ? 'one' : ''">
|
<div class="list-item" v-for="(item, i) in abilityInfo.list" :key="i" :class="i % 2 == 0 ? 'one' : ''">
|
||||||
{{ item }}</div>
|
{{ (item || item === 0) ? item : '--' }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="no-data" v-else>
|
<div class="no-data" v-else>
|
||||||
<a-empty description="暂无数据" />
|
<a-empty description="暂无数据" />
|
||||||
|
@ -15,8 +15,6 @@ const props = defineProps({
|
||||||
abilityInfo: { type: Object, default: () => { } },
|
abilityInfo: { type: Object, default: () => { } },
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('abilityInfo------------>', props.abilityInfo);
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -118,6 +118,7 @@
|
||||||
? 'ywzj'
|
? 'ywzj'
|
||||||
: ''
|
: ''
|
||||||
"
|
"
|
||||||
|
@click="toView('details', item)"
|
||||||
v-else-if="
|
v-else-if="
|
||||||
selectCardsname !== '基础设施' &&
|
selectCardsname !== '基础设施' &&
|
||||||
selectCardsname !== '融合服务' &&
|
selectCardsname !== '融合服务' &&
|
||||||
|
@ -131,7 +132,7 @@
|
||||||
selectCardsname === '融合服务' || selectCardsname === '赋能场景'
|
selectCardsname === '融合服务' || selectCardsname === '赋能场景'
|
||||||
"
|
"
|
||||||
></div>
|
></div>
|
||||||
<div class="right">
|
<div class="right" @click="toView('details', item)">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<span style="display: flex; align-items: center; width: 680px">
|
<span style="display: flex; align-items: center; width: 680px">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
|
@ -237,24 +238,10 @@
|
||||||
<span>{{ item.createDate.substring(11, 19) }}</span>
|
<span>{{ item.createDate.substring(11, 19) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>--</template>
|
<template v-else>--</template>
|
||||||
<!-- <span>{{ item.createDate || '--' }}</span> -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <div>
|
|
||||||
更新时间:
|
|
||||||
<span>{{ item.updateDate || '--' }}</span> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dec">
|
<div class="dec">
|
||||||
<!-- <div
|
|
||||||
v-if="
|
|
||||||
selectCardsname !== '基础设施' &&
|
|
||||||
selectCardsname !== '数据资源' &&
|
|
||||||
selectCardsname !== '融合服务'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<span>{{ item.shareType || '--' }}</span>
|
|
||||||
</div> -->
|
|
||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
selectCardsname !== '融合服务' &&
|
selectCardsname !== '融合服务' &&
|
||||||
|
@ -310,18 +297,8 @@
|
||||||
收藏量:{{ item.collectCount || 0 }}次
|
收藏量:{{ item.collectCount || 0 }}次
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="pingfen">
|
|
||||||
<a-tooltip placement="top" mouseEnterDelay="1">
|
|
||||||
<a-rate
|
|
||||||
:value="item.score || 0"
|
|
||||||
disabled
|
|
||||||
v-if="item.score != 0"
|
|
||||||
/>
|
|
||||||
</a-tooltip>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="right" v-if="selectCardsname !== '基础设施'">
|
<div class="right" v-if="selectCardsname !== '基础设施'">
|
||||||
<!-- 申购车 -->
|
|
||||||
<div class="shopping" :key="shoppingKey">
|
<div class="shopping" :key="shoppingKey">
|
||||||
<template
|
<template
|
||||||
v-if="
|
v-if="
|
||||||
|
@ -339,7 +316,7 @@
|
||||||
<span
|
<span
|
||||||
class="shopping-on"
|
class="shopping-on"
|
||||||
v-else
|
v-else
|
||||||
@click="addShoppingCart(item, index)"
|
@click.stop="addShoppingCart(item, index)"
|
||||||
></span>
|
></span>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
@ -347,12 +324,12 @@
|
||||||
<span
|
<span
|
||||||
class="sc-down"
|
class="sc-down"
|
||||||
v-if="item.isCollect == 'false'"
|
v-if="item.isCollect == 'false'"
|
||||||
@click="addCollect(item)"
|
@click.stop="addCollect(item)"
|
||||||
></span>
|
></span>
|
||||||
<span
|
<span
|
||||||
class="sc-on"
|
class="sc-on"
|
||||||
v-if="item.isCollect == 'true'"
|
v-if="item.isCollect == 'true'"
|
||||||
@click="addCollect(item)"
|
@click.stop="addCollect(item)"
|
||||||
></span>
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
@ -362,11 +339,14 @@
|
||||||
cardType == '组件服务' && findComponentName(item, '智能算法')
|
cardType == '组件服务' && findComponentName(item, '智能算法')
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="pk-on" @click="goComparePk(item, index)"></span>
|
<span
|
||||||
|
class="pk-on"
|
||||||
|
@click.stop="goComparePk(item, index)"
|
||||||
|
></span>
|
||||||
</div>
|
</div>
|
||||||
<a-button
|
<a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="toView('details', item)"
|
@click.stop="toView('details', item)"
|
||||||
v-if="!whoShow1.itShowBaoTou"
|
v-if="!whoShow1.itShowBaoTou"
|
||||||
>
|
>
|
||||||
查看详情
|
查看详情
|
||||||
|
@ -377,21 +357,13 @@
|
||||||
selectCardsname === '融合服务' ||
|
selectCardsname === '融合服务' ||
|
||||||
selectCardsname === '赋能场景'
|
selectCardsname === '赋能场景'
|
||||||
"
|
"
|
||||||
@click="handleAKeyApplication(item)"
|
@click.stop="handleAKeyApplication(item)"
|
||||||
>
|
>
|
||||||
一键申请
|
一键申请
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- <a-button
|
|
||||||
style="margin-left: 10px"
|
|
||||||
v-show="
|
|
||||||
cardType == '组件服务' && findComponentName(item, '智能算法')
|
|
||||||
"
|
|
||||||
>
|
|
||||||
免费试用
|
|
||||||
</a-button> -->
|
|
||||||
<a-button
|
<a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="toView('apply', item)"
|
@click.stop="toView('apply', item)"
|
||||||
v-show="
|
v-show="
|
||||||
cardType == '组件服务' ||
|
cardType == '组件服务' ||
|
||||||
(cardType == '应用资源' && whoShow1.itShowQingDao)
|
(cardType == '应用资源' && whoShow1.itShowQingDao)
|
||||||
|
@ -660,6 +632,15 @@
|
||||||
if (webUrl) {
|
if (webUrl) {
|
||||||
window.open(webUrl)
|
window.open(webUrl)
|
||||||
} else {
|
} else {
|
||||||
|
if (
|
||||||
|
!(
|
||||||
|
props.selectCardsname === '应用资源' ||
|
||||||
|
props.selectCardsname === '组件服务'
|
||||||
|
) ||
|
||||||
|
whoShow1.itShowBaoTou
|
||||||
|
) {
|
||||||
|
return
|
||||||
|
}
|
||||||
// 内部跳转申请页面
|
// 内部跳转申请页面
|
||||||
console.log('一键申请===================>', item)
|
console.log('一键申请===================>', item)
|
||||||
localStorage.setItem(
|
localStorage.setItem(
|
||||||
|
|
|
@ -27,6 +27,364 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!room" class="roomBox">
|
||||||
|
<div class="leftMake">
|
||||||
|
<div
|
||||||
|
class="leftTop"
|
||||||
|
@click="roomResults"
|
||||||
|
:class="roomYuyue ? 'roomBackground' : 'nullBackground'"
|
||||||
|
>
|
||||||
|
会议室预约
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="leftBottom"
|
||||||
|
@click="result"
|
||||||
|
:class="roomResult ? 'roomBackground' : 'nullBackground'"
|
||||||
|
>
|
||||||
|
预约结果
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="roomSearch">
|
||||||
|
<span>会议室搜索</span>
|
||||||
|
<div class="searchInput">
|
||||||
|
<a-input-search
|
||||||
|
v-model:value="roomInput"
|
||||||
|
placeholder="请输入关键词"
|
||||||
|
enter-button="搜索"
|
||||||
|
size="large"
|
||||||
|
@search="onSearch"
|
||||||
|
/>
|
||||||
|
<a-button
|
||||||
|
style="width: 0.8rem; height: 0.36rem; margin-left: 0.7rem"
|
||||||
|
@click="reSetSearch"
|
||||||
|
>
|
||||||
|
重置
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="roomYuyue">
|
||||||
|
<div class="roomTableList">
|
||||||
|
<span>会议室列表</span>
|
||||||
|
<div class="roomTime">
|
||||||
|
<span>可用时间查询</span>
|
||||||
|
<a-space direction="vertical" class="roomSpace">
|
||||||
|
<a-date-picker
|
||||||
|
v-model:value="roomCerateDate"
|
||||||
|
placeholder="开始日期"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
/>
|
||||||
|
<a-time-picker
|
||||||
|
v-model:value="roomCreateTime"
|
||||||
|
placeholder="开始时间"
|
||||||
|
value-format="HH:mm:ss"
|
||||||
|
/>
|
||||||
|
<a-time-picker
|
||||||
|
v-model:value="roomEndTime"
|
||||||
|
placeholder="结束时间"
|
||||||
|
value-format="HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</a-space>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="roomItem" v-for="(item, index) in roomList">
|
||||||
|
<div class="leftImg">
|
||||||
|
<img
|
||||||
|
:src="
|
||||||
|
item.pic == null
|
||||||
|
? 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fp1.itc.cn%2Fimages01%2F20201221%2F00885cf666cc4c2ab80c7b4e59259e85.jpeg&refer=http%3A%2F%2Fp1.itc.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1662707222&t=13d3246428ee80cc7519702d5eb6eb7d'
|
||||||
|
: `${item.pic}`
|
||||||
|
"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="rightContent">
|
||||||
|
<div class="topContent">{{ item.name }}</div>
|
||||||
|
<div class="centerContent">
|
||||||
|
<span>房间号:{{ item.num }}</span>
|
||||||
|
<span>可容纳人数:{{ item.capacity }}</span>
|
||||||
|
<span>面积:{{ item.area }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="bottonmContent">
|
||||||
|
{{ item.description }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-button
|
||||||
|
style="
|
||||||
|
margin-left: 0.8rem;
|
||||||
|
background: #e1edfa;
|
||||||
|
color: #0087ff;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.06rem;
|
||||||
|
"
|
||||||
|
@click="appointment(item)"
|
||||||
|
>
|
||||||
|
预约
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
<a-pagination
|
||||||
|
v-model:current="roomPage"
|
||||||
|
v-model:pageSize="roomLimit"
|
||||||
|
show-quick-jumper
|
||||||
|
:total="roomTotal"
|
||||||
|
:page-size-options="pageSizeOptions"
|
||||||
|
@change="onRoomChange"
|
||||||
|
@showSizeChange="onShowSizeChange"
|
||||||
|
show-size-changer
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div v-if="roomResult" style="display: grid">
|
||||||
|
<a-table
|
||||||
|
:columns="columnsRomm"
|
||||||
|
:data-source="dataRoom"
|
||||||
|
:filterMultiple="false"
|
||||||
|
:align="center"
|
||||||
|
:pagination="false"
|
||||||
|
>
|
||||||
|
<template #bodyCell="{ column, record }">
|
||||||
|
<template v-if="column.key === 'bookDate'">
|
||||||
|
<span>
|
||||||
|
{{ record.bookDate }} {{ record.startTime }}-{{
|
||||||
|
record.endTime
|
||||||
|
}}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
<template v-if="column.key === 'state'">
|
||||||
|
<span>
|
||||||
|
{{
|
||||||
|
record.state == 2
|
||||||
|
? '通过'
|
||||||
|
: record.state == 1
|
||||||
|
? '审核中'
|
||||||
|
: '不通过'
|
||||||
|
}}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
<template v-if="column.key === 'action'">
|
||||||
|
<a @click="look(record)">查看详情</a>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</a-table>
|
||||||
|
<a-pagination
|
||||||
|
v-model:current="roomPage"
|
||||||
|
v-model:pageSize="roomLimit"
|
||||||
|
show-quick-jumper
|
||||||
|
:total="roomTotal"
|
||||||
|
:page-size-options="pageSizeOptionsChengguo"
|
||||||
|
@change="onRoomChangeChengguo"
|
||||||
|
@showSizeChange="onShowSizeChangeChengguo"
|
||||||
|
show-size-changer
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<a-modal
|
||||||
|
v-model:visible="visibleRoom"
|
||||||
|
width="10rem"
|
||||||
|
title="预约详情"
|
||||||
|
:body-style="bodystyle"
|
||||||
|
class="modalClass"
|
||||||
|
:footer="null"
|
||||||
|
>
|
||||||
|
<div class="modalResult" style="margin-bottom: 0.05rem">预约结果</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 0.01rem;
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
class="modalExamine"
|
||||||
|
style="display: flex; flex-direction: column; margin-top: 0.2rem"
|
||||||
|
>
|
||||||
|
<span style="margin-bottom: 0.2rem">
|
||||||
|
审核结果:{{ lookData.state === '2' ? '通过' : '不通过' }}
|
||||||
|
</span>
|
||||||
|
<span style="width: 8rem; margin-bottom: 0.3rem">
|
||||||
|
审核意见:{{ lookData.auditViem }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="modalYuyue" style="margin-bottom: 0.05rem">预约信息</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 0.01rem;
|
||||||
|
border-top: 1px solid #ccc;
|
||||||
|
transform: scaleY(0.5);
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
<div class="modalTime" style="margin-top: 0.2rem">
|
||||||
|
<div>
|
||||||
|
预约时段:{{ lookData.bookDate }} {{ lookData.startTime }}-{{
|
||||||
|
lookData.endTime
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="modalContent"
|
||||||
|
style="
|
||||||
|
width: 7.5rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0.15rem 0 0.15rem 0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span>预约人:{{ lookData.name }}</span>
|
||||||
|
<span>联系方式:{{ lookData.phone }}</span>
|
||||||
|
<span>预约部门:{{ lookData.dept }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 8rem; margin-bottom: 0.3rem">
|
||||||
|
使用事项:{{ lookData.matter }}
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
<a-modal
|
||||||
|
v-model:visible="appointmentRoom"
|
||||||
|
title="会议室预约"
|
||||||
|
width="10rem"
|
||||||
|
@ok="handleOk"
|
||||||
|
:body-style="bodystyle"
|
||||||
|
class="appModal"
|
||||||
|
:footer="null"
|
||||||
|
>
|
||||||
|
<a-form
|
||||||
|
:model="formState"
|
||||||
|
name="basic"
|
||||||
|
:label-col="{ span: 8 }"
|
||||||
|
:wrapper-col="{ span: 16 }"
|
||||||
|
autocomplete="off"
|
||||||
|
@finish="onFinish"
|
||||||
|
@finishFailed="onFinishFailed"
|
||||||
|
:labelAlign="labelPosition"
|
||||||
|
>
|
||||||
|
<a-row>
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-form-item
|
||||||
|
name="bookDate"
|
||||||
|
label="预约日期"
|
||||||
|
v-bind="validateInfos.bookDate"
|
||||||
|
@blur="validate('create', { trigger: 'blur' }).catch(() => {})"
|
||||||
|
>
|
||||||
|
<a-date-picker
|
||||||
|
style="width: 72%"
|
||||||
|
v-model:value="formState.bookDate"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
@change="handleChange"
|
||||||
|
/>
|
||||||
|
</a-form-item>
|
||||||
|
<div
|
||||||
|
:class="roomDateList[0] != null ? 'jinggaoD' : 'jinggaoNull'"
|
||||||
|
>
|
||||||
|
<div class="imgJinggao"></div>
|
||||||
|
<span style="color: #da2a13; font-size: 0.12rem">
|
||||||
|
当日会议室可用时段:{{ roomDateList[0] }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-form-item
|
||||||
|
name="startTime"
|
||||||
|
label="预约时段"
|
||||||
|
v-bind="validateInfos.startTime"
|
||||||
|
style="display: flex"
|
||||||
|
>
|
||||||
|
<a-time-picker
|
||||||
|
v-model:value="formState.startTime"
|
||||||
|
placeholder="开始时间"
|
||||||
|
value-format="HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-time-picker
|
||||||
|
v-model:value="formState.endTime"
|
||||||
|
placeholder="结束时间"
|
||||||
|
value-format="HH:mm:ss"
|
||||||
|
/>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row style="margin-top: 0.4rem">
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-form-item
|
||||||
|
name="name"
|
||||||
|
label="预约人"
|
||||||
|
v-bind="validateInfos.name"
|
||||||
|
>
|
||||||
|
<a-input v-model:value="formState.name" style="width: 72%" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-form-item
|
||||||
|
name="phone"
|
||||||
|
label="联系电话"
|
||||||
|
v-bind="validateInfos.phone"
|
||||||
|
>
|
||||||
|
<a-input v-model:value="formState.phone" style="width: 72%" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-form-item
|
||||||
|
name="dept"
|
||||||
|
label="预约部门"
|
||||||
|
v-bind="validateInfos.dept"
|
||||||
|
>
|
||||||
|
<a-input v-model:value="formState.dept" style="width: 72%" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row style="margin-top: 0.4rem">
|
||||||
|
<a-col :span="24">
|
||||||
|
<a-form-item
|
||||||
|
name="matter"
|
||||||
|
v-bind="validateInfos.matter"
|
||||||
|
label="使用事项"
|
||||||
|
class="introduction"
|
||||||
|
>
|
||||||
|
<a-textarea v-model:value="formState.matter" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-row style="margin-top: 0.4rem">
|
||||||
|
<a-col :span="24">
|
||||||
|
<a-form-item
|
||||||
|
name="uploadRoom"
|
||||||
|
label="附件上传"
|
||||||
|
class="introduction"
|
||||||
|
>
|
||||||
|
<a-upload
|
||||||
|
:max-count="1"
|
||||||
|
accept=".doc,.docx,pdf"
|
||||||
|
v-model:file-list="fileList"
|
||||||
|
:action="`${apiURL}/upload`"
|
||||||
|
@remove="handleRemove"
|
||||||
|
@change="roomUpload"
|
||||||
|
>
|
||||||
|
<a-button>
|
||||||
|
<upload-outlined>选择上传附件</upload-outlined>
|
||||||
|
</a-button>
|
||||||
|
<span>
|
||||||
|
支持doc、docx、PDF等格式支撑材料上传,文件大小不超过100M
|
||||||
|
</span>
|
||||||
|
</a-upload>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<a-form-item
|
||||||
|
:wrapper-col="{ span: 14, offset: 4 }"
|
||||||
|
style="text-align: center; margin-top: 0.4rem"
|
||||||
|
>
|
||||||
|
<a-button @click="resetFields" type="primary" danger>取消</a-button>
|
||||||
|
<a-button
|
||||||
|
style="margin-left: 10px"
|
||||||
|
type="primary"
|
||||||
|
@click="onSubmit"
|
||||||
|
>
|
||||||
|
提交
|
||||||
|
</a-button>
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-modal>
|
||||||
|
</div>
|
||||||
|
<div v-if="room">
|
||||||
<!-- 地图 -->
|
<!-- 地图 -->
|
||||||
<div class="map-contain" v-if="showMap">
|
<div class="map-contain" v-if="showMap">
|
||||||
<video-surveillance></video-surveillance>
|
<video-surveillance></video-surveillance>
|
||||||
|
@ -249,22 +607,38 @@
|
||||||
</template>
|
</template>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import VideoSurveillance from '@/views/home/videoSurveillance'
|
import VideoSurveillance from '@/views/home/videoSurveillance'
|
||||||
// import { getCategoryTreePage } from '@/api/personalCenter'
|
// import { getCategoryTreePage } from '@/api/personalCenter'
|
||||||
// import { dataType } from 'element-plus/es/components/table-v2/src/common'
|
// import { dataType } from 'element-plus/es/components/table-v2/src/common'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { message } from 'ant-design-vue'
|
import { message, Upload } from 'ant-design-vue'
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import {
|
||||||
|
ref,
|
||||||
|
reactive,
|
||||||
|
onMounted,
|
||||||
|
watch,
|
||||||
|
defineComponent,
|
||||||
|
nextTick,
|
||||||
|
} from 'vue'
|
||||||
import {
|
import {
|
||||||
getCameraByParentId,
|
getCameraByParentId,
|
||||||
getStreamByChannelCode,
|
getStreamByChannelCode,
|
||||||
getCameraAllLabel,
|
getCameraAllLabel,
|
||||||
} from '@/api/videoSurveillance'
|
} from '@/api/videoSurveillance'
|
||||||
import { getCameraByCondition } from '@/api/file'
|
import { getCameraByCondition } from '@/api/file'
|
||||||
import { sgcInsert } from '@/api/home'
|
import {
|
||||||
|
sgcInsert,
|
||||||
|
getRoomSearch,
|
||||||
|
getDate,
|
||||||
|
setSubmit,
|
||||||
|
getYuyue,
|
||||||
|
} from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
import { Form } from 'ant-design-vue'
|
||||||
const current = ref(1)
|
const current = ref(1)
|
||||||
const videoTotal = ref(0)
|
const videoTotal = ref(0)
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
@ -308,6 +682,78 @@
|
||||||
showSizeChanger: true,
|
showSizeChanger: true,
|
||||||
pageSizeOptions: ['10', '30', '50', '100', '1000'], //每页中显示的数据
|
pageSizeOptions: ['10', '30', '50', '100', '1000'], //每页中显示的数据
|
||||||
})
|
})
|
||||||
|
//会议室变量区域=======
|
||||||
|
const paginationRoom = ref({
|
||||||
|
total: 0,
|
||||||
|
current: 1,
|
||||||
|
pageSize: 10, //每页中显示10条数据
|
||||||
|
showSizeChanger: true,
|
||||||
|
pageSizeOptions: ['5', '10', '15', '20'], //每页中显示的数据
|
||||||
|
})
|
||||||
|
const formState = reactive({
|
||||||
|
// name: '',
|
||||||
|
// iphone: '18264084961',
|
||||||
|
// group: '',
|
||||||
|
// create: '',
|
||||||
|
// cerateTime: '',
|
||||||
|
// endTime: '',
|
||||||
|
// introduction: '',
|
||||||
|
// uploadRoom: '',
|
||||||
|
roomId: '',
|
||||||
|
bookDate: '', //日期
|
||||||
|
startTime: '', //开始时间
|
||||||
|
endTime: '', //结束时间
|
||||||
|
name: '',
|
||||||
|
phone: '',
|
||||||
|
dept: '',
|
||||||
|
matter: '',
|
||||||
|
file: '',
|
||||||
|
})
|
||||||
|
const fileList = ref([])
|
||||||
|
const useForm = Form.useForm
|
||||||
|
const roomInput = ref('')
|
||||||
|
const rulesRef = reactive({
|
||||||
|
bookDate: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择日期',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
startTime: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择时间段',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
name: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入预约人',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
matter: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入内容',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
phone: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
pattern: /^1[3|4|5|7|8][0-9]\d{8}$/,
|
||||||
|
message: '请输入正确的手机号',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
dept: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入部门',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
})
|
||||||
|
const { resetFields, validateInfos, validate } = useForm(formState, rulesRef)
|
||||||
const mapSearchParam = ref({
|
const mapSearchParam = ref({
|
||||||
// 地图搜索初始化数据
|
// 地图搜索初始化数据
|
||||||
parentId: '',
|
parentId: '',
|
||||||
|
@ -321,6 +767,29 @@
|
||||||
labelCodes: [],
|
labelCodes: [],
|
||||||
})
|
})
|
||||||
const showMap = ref(true)
|
const showMap = ref(true)
|
||||||
|
const room = ref(true)
|
||||||
|
const roomResult = ref(true)
|
||||||
|
const roomYuyue = ref(true)
|
||||||
|
const visibleRoom = ref(false)
|
||||||
|
const appointmentRoom = ref(false)
|
||||||
|
const labelPosition = ref('left')
|
||||||
|
const apiURL = window.SITE_CONFIG.apiURL
|
||||||
|
const roomList = ref([])
|
||||||
|
const roomPage = ref(1)
|
||||||
|
const roomLimit = ref(5)
|
||||||
|
const roomTotal = ref(0)
|
||||||
|
const pageSizeOptions = ref(['5', '10', '20', '50'])
|
||||||
|
const pageSizeOptionsChengguo = ref(['5', '10', '20', '50'])
|
||||||
|
const dateId = ref(null)
|
||||||
|
const roomDateList = ref([])
|
||||||
|
//开始时间---结束时间
|
||||||
|
const roomCerateDate = ref('')
|
||||||
|
const roomCreateTime = ref('')
|
||||||
|
const roomEndTime = ref('')
|
||||||
|
const roomModalCreateTime = ref('')
|
||||||
|
const roomModalEndTime = ref('')
|
||||||
|
const lookData = ref({})
|
||||||
|
//===========================
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (jcssType.value) {
|
if (jcssType.value) {
|
||||||
tabClick(0, jcssType.value)
|
tabClick(0, jcssType.value)
|
||||||
|
@ -350,7 +819,7 @@
|
||||||
const tabList = ref([
|
const tabList = ref([
|
||||||
{
|
{
|
||||||
title: '设施类型',
|
title: '设施类型',
|
||||||
content: ['视频资源', '云资源', '感知资源'],
|
content: ['视频资源', '云资源', '感知资源', '会议室'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '视频标签',
|
title: '视频标签',
|
||||||
|
@ -430,6 +899,153 @@
|
||||||
}
|
}
|
||||||
let clickList = ref([]) //存储点击的tab
|
let clickList = ref([]) //存储点击的tab
|
||||||
init()
|
init()
|
||||||
|
//点击会议室左侧切换
|
||||||
|
const result = () => {
|
||||||
|
roomYuyue.value = false
|
||||||
|
roomResult.value = true
|
||||||
|
chengguoSearch()
|
||||||
|
}
|
||||||
|
const chengguoSearch = () => {
|
||||||
|
let query = {
|
||||||
|
page: roomPage.value,
|
||||||
|
limit: roomLimit.value,
|
||||||
|
roomName: roomInput.value,
|
||||||
|
}
|
||||||
|
getYuyue(query).then(({ data: res }) => {
|
||||||
|
dataRoom.value = res.data.list
|
||||||
|
roomTotal.value = res.data.total
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const roomResults = () => {
|
||||||
|
roomYuyue.value = true
|
||||||
|
roomResult.value = false
|
||||||
|
}
|
||||||
|
// 查看详情
|
||||||
|
const look = (row) => {
|
||||||
|
visibleRoom.value = true
|
||||||
|
lookData.value = row
|
||||||
|
}
|
||||||
|
// 搜索
|
||||||
|
const onSearch = (searchValue) => {
|
||||||
|
searchData()
|
||||||
|
chengguoSearch()
|
||||||
|
}
|
||||||
|
//重置
|
||||||
|
const reSetSearch = () => {
|
||||||
|
roomInput.value = ''
|
||||||
|
searchData()
|
||||||
|
chengguoSearch()
|
||||||
|
}
|
||||||
|
//分页
|
||||||
|
const onRoomChange = (pageNumber) => {
|
||||||
|
roomPage.value = pageNumber
|
||||||
|
searchData()
|
||||||
|
}
|
||||||
|
const onShowSizeChange = (current, pageSize) => {
|
||||||
|
roomLimit.value = pageSize
|
||||||
|
searchData()
|
||||||
|
}
|
||||||
|
const onRoomChangeChengguo = (pageNumber) => {
|
||||||
|
roomPage.value = pageNumber
|
||||||
|
chengguoSearch()
|
||||||
|
}
|
||||||
|
const onShowSizeChangeChengguo = (current, pageSize) => {
|
||||||
|
roomLimit.value = pageSize
|
||||||
|
chengguoSearch()
|
||||||
|
}
|
||||||
|
//预约
|
||||||
|
const appointment = (item) => {
|
||||||
|
dateId.value = item.id
|
||||||
|
formState.roomId = item.id
|
||||||
|
appointmentRoom.value = true
|
||||||
|
}
|
||||||
|
//预约弹框 选择日期
|
||||||
|
const handleChange = (i) => {
|
||||||
|
let query = {
|
||||||
|
date: i, //查询的riqi
|
||||||
|
roomId: dateId.value, //会议室主键
|
||||||
|
}
|
||||||
|
getDate(query).then(({ data: res }) => {
|
||||||
|
roomDateList.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const columnsRomm = [
|
||||||
|
{
|
||||||
|
title: '会议室名称',
|
||||||
|
dataIndex: 'roomName',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '预约时段',
|
||||||
|
key: 'bookDate',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '预约状态',
|
||||||
|
key: 'state',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '预约详情',
|
||||||
|
key: 'action',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
const dataRoom = ref([])
|
||||||
|
const bodystyle = {
|
||||||
|
paddingTop: 0,
|
||||||
|
borderBottom: 0,
|
||||||
|
}
|
||||||
|
const handleOk = (e) => {
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
//文件上传成功回调
|
||||||
|
const roomUpload = (response) => {
|
||||||
|
if (response.file.response !== undefined) {
|
||||||
|
fileList.value = response.fileList
|
||||||
|
formState.file = response.file.response.data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//提交预约
|
||||||
|
const onSubmit = () => {
|
||||||
|
validate()
|
||||||
|
.then(() => {
|
||||||
|
setSubmit(formState).then(({ data: res }) => {
|
||||||
|
appointmentRoom.value = false
|
||||||
|
formState.roomId = ''
|
||||||
|
formState.bookDate = ''
|
||||||
|
formState.startTime = '' //开始时间
|
||||||
|
formState.endTime = '' //结束时间
|
||||||
|
formState.name = ''
|
||||||
|
formState.phone = ''
|
||||||
|
formState.dept = ''
|
||||||
|
formState.matter = ''
|
||||||
|
formState.file = ''
|
||||||
|
fileList.value = []
|
||||||
|
searchData()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log('error', err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//会议室查询接口
|
||||||
|
const searchData = () => {
|
||||||
|
let query = {
|
||||||
|
bookDate: roomCerateDate.value, // 预约开始时间 年月日
|
||||||
|
startTime: roomCreateTime.value, //预约开始时 间时分秒
|
||||||
|
endTime: roomEndTime.value, // 预约结束时间
|
||||||
|
name: roomInput.value, //会议室名称
|
||||||
|
page: roomPage.value, //页码
|
||||||
|
limit: roomLimit.value, //每页条数
|
||||||
|
}
|
||||||
|
getRoomSearch(query).then(({ data: res }) => {
|
||||||
|
roomList.value = res.data.list
|
||||||
|
roomTotal.value = res.data.total
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const emits = defineEmits(['add'])
|
||||||
//表格的高度
|
//表格的高度
|
||||||
let tableHeight = ref('600')
|
let tableHeight = ref('600')
|
||||||
//tab切换点击事件
|
//tab切换点击事件
|
||||||
|
@ -444,10 +1060,12 @@
|
||||||
selectedList.value = []
|
selectedList.value = []
|
||||||
if (clickList.value[indexFather].content.indexOf(name) != -1) {
|
if (clickList.value[indexFather].content.indexOf(name) != -1) {
|
||||||
if (name == '视频资源') {
|
if (name == '视频资源') {
|
||||||
|
room.value = true
|
||||||
tableHeight.value = 330
|
tableHeight.value = 330
|
||||||
showMap.value = true
|
showMap.value = true
|
||||||
tabList.value[1].title = '视频标签'
|
tabList.value[1].title = '视频标签'
|
||||||
} else if (name == '云资源') {
|
} else if (name == '云资源') {
|
||||||
|
room.value = true
|
||||||
tableHeight.value = 600
|
tableHeight.value = 600
|
||||||
showMap.value = false
|
showMap.value = false
|
||||||
dataSource.value = []
|
dataSource.value = []
|
||||||
|
@ -455,11 +1073,21 @@
|
||||||
pagination.value.total = 0
|
pagination.value.total = 0
|
||||||
tabList.value[1].title = '云资源分类'
|
tabList.value[1].title = '云资源分类'
|
||||||
} else if (name == '感知资源') {
|
} else if (name == '感知资源') {
|
||||||
|
room.value = true
|
||||||
tableHeight.value = 330
|
tableHeight.value = 330
|
||||||
showMap.value = true
|
showMap.value = true
|
||||||
dataSource.value = []
|
dataSource.value = []
|
||||||
dataSource2.value = []
|
dataSource2.value = []
|
||||||
pagination.value.total = 0
|
pagination.value.total = 0
|
||||||
|
} else if (name == '会议室') {
|
||||||
|
// room.value = false
|
||||||
|
// wrjFlag.value = true
|
||||||
|
// showMap.value = false
|
||||||
|
// roomYuyue.value = true
|
||||||
|
// roomResult.value = false
|
||||||
|
// tabList.value[1] = []
|
||||||
|
// emits('add', 6)
|
||||||
|
// searchData()
|
||||||
}
|
}
|
||||||
clickList.value[indexFather].content.splice(
|
clickList.value[indexFather].content.splice(
|
||||||
clickList.value[indexFather].content.indexOf(name),
|
clickList.value[indexFather].content.indexOf(name),
|
||||||
|
@ -476,6 +1104,7 @@
|
||||||
clickList.value[indexFather].content[0] = name
|
clickList.value[indexFather].content[0] = name
|
||||||
dataSource.value = []
|
dataSource.value = []
|
||||||
dataSource2.value = []
|
dataSource2.value = []
|
||||||
|
room.value = true
|
||||||
getCameraAllLabel().then((res) => {
|
getCameraAllLabel().then((res) => {
|
||||||
res.data.data.forEach((val) => {
|
res.data.data.forEach((val) => {
|
||||||
tabList.value[1].content.push({
|
tabList.value[1].content.push({
|
||||||
|
@ -491,6 +1120,7 @@
|
||||||
})
|
})
|
||||||
console.log('选中的标签code', mapSearchParam.value)
|
console.log('选中的标签code', mapSearchParam.value)
|
||||||
mapSearchParam.value.labelCodes = mapSearchParam.value.labelCodes + ''
|
mapSearchParam.value.labelCodes = mapSearchParam.value.labelCodes + ''
|
||||||
|
emits('add', 1)
|
||||||
getCamera()
|
getCamera()
|
||||||
} else if (name == '云资源') {
|
} else if (name == '云资源') {
|
||||||
tableHeight.value = 600
|
tableHeight.value = 600
|
||||||
|
@ -511,7 +1141,9 @@
|
||||||
'负载均衡',
|
'负载均衡',
|
||||||
'公网IP',
|
'公网IP',
|
||||||
]
|
]
|
||||||
|
room.value = true
|
||||||
wrjFlag.value = false
|
wrjFlag.value = false
|
||||||
|
emits('add', 2)
|
||||||
} else if (name == '感知资源') {
|
} else if (name == '感知资源') {
|
||||||
tableHeight.value = 330
|
tableHeight.value = 330
|
||||||
showMap.value = true
|
showMap.value = true
|
||||||
|
@ -522,8 +1154,11 @@
|
||||||
tabList.value[1].content = []
|
tabList.value[1].content = []
|
||||||
dataSource.value = []
|
dataSource.value = []
|
||||||
dataSource2.value = []
|
dataSource2.value = []
|
||||||
|
room.value = true
|
||||||
wrjFlag.value = false
|
wrjFlag.value = false
|
||||||
|
emits('add', 3)
|
||||||
} else if (name == '无人机') {
|
} else if (name == '无人机') {
|
||||||
|
room.value = true
|
||||||
tableHeight.value = 600
|
tableHeight.value = 600
|
||||||
showMap.value = false
|
showMap.value = false
|
||||||
dataSource.value = []
|
dataSource.value = []
|
||||||
|
@ -543,6 +1178,7 @@
|
||||||
})
|
})
|
||||||
wrjFlag.value = true
|
wrjFlag.value = true
|
||||||
} else if (name == '单兵设备') {
|
} else if (name == '单兵设备') {
|
||||||
|
room.value = true
|
||||||
tableHeight.value = 600
|
tableHeight.value = 600
|
||||||
showMap.value = false
|
showMap.value = false
|
||||||
dataSource.value = []
|
dataSource.value = []
|
||||||
|
@ -561,6 +1197,24 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
wrjFlag.value = true
|
wrjFlag.value = true
|
||||||
|
} else if (name == '会议室') {
|
||||||
|
showMap.value = false
|
||||||
|
dataSource.value = []
|
||||||
|
dataSource2.value = []
|
||||||
|
pagination.value.total = 0
|
||||||
|
clickList.value[1].content = []
|
||||||
|
clickList.value[indexFather].content[0] = name
|
||||||
|
tabList.value[1].title = ''
|
||||||
|
tabList.value[1].content = []
|
||||||
|
wrjFlag.value = true
|
||||||
|
room.value = false
|
||||||
|
// wrjFlag.value = true
|
||||||
|
// showMap.value = false
|
||||||
|
roomYuyue.value = true
|
||||||
|
roomResult.value = false
|
||||||
|
// tabList.value[1] = []
|
||||||
|
emits('add', 6)
|
||||||
|
searchData()
|
||||||
} else {
|
} else {
|
||||||
clickList.value[indexFather].content.push(name)
|
clickList.value[indexFather].content.push(name)
|
||||||
}
|
}
|
||||||
|
@ -1022,13 +1676,186 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.roomBackground {
|
||||||
|
background: #0058e1;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.nullBackground {
|
||||||
|
background: #f3f5f9;
|
||||||
|
color: #0087ff;
|
||||||
|
}
|
||||||
|
:deep(.ant-form-item-control-input-content) {
|
||||||
|
margin-left: 0.15rem;
|
||||||
|
}
|
||||||
|
:deep(.ant-col) {
|
||||||
|
.ant-form-item {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.jinggaoD {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.jinggaoNull {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.imgJinggao {
|
||||||
|
width: 0.2rem;
|
||||||
|
height: 0.2rem;
|
||||||
|
background: url('~@/assets/home/jingao.png') no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
.introduction {
|
||||||
|
:deep(.ant-form-item-control) {
|
||||||
|
margin-left: -2.1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.roomBox {
|
||||||
|
.leftMake {
|
||||||
|
float: left;
|
||||||
|
margin-left: -1rem;
|
||||||
|
margin-top: -0.5rem;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
cursor: pointer;
|
||||||
|
.leftTop {
|
||||||
|
width: 0.6rem;
|
||||||
|
height: 1.75rem;
|
||||||
|
border-top-left-radius: 0.08rem;
|
||||||
|
border-bottom-left-radius: 0.08rem;
|
||||||
|
padding: 0.13rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.leftBottom {
|
||||||
|
width: 0.6rem;
|
||||||
|
height: 1.75rem;
|
||||||
|
border-top-left-radius: 0.08rem;
|
||||||
|
border-bottom-left-radius: 0.08rem;
|
||||||
|
padding: 0.2rem 0.13rem 0.1rem 0.1rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.roomSearch {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.searchInput {
|
||||||
|
display: flex;
|
||||||
|
margin-right: 0.2rem;
|
||||||
|
margin-left: 0.2rem;
|
||||||
|
// .ant-input-search {
|
||||||
|
// max-width: 4rem;
|
||||||
|
// }
|
||||||
|
:deep(.ant-input) {
|
||||||
|
width: 2rem;
|
||||||
|
height: 0.36rem;
|
||||||
|
font-size: 0.14rem;
|
||||||
|
color: #b2b2b2;
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
|
:deep(.ant-input-group-addon) {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 0.1rem;
|
||||||
|
.ant-input-search-button {
|
||||||
|
width: 0.8rem;
|
||||||
|
height: 0.36rem;
|
||||||
|
background: #0558e1;
|
||||||
|
border-radius: 0.06rem;
|
||||||
|
font-size: 0.14rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
:deep(.ant-btn) {
|
||||||
|
border-radius: 0.06rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.roomTableList {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0.4rem 0 0.2rem 0;
|
||||||
|
.roomTime {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
:deep(.ant-space-vertical) {
|
||||||
|
flex-direction: inherit;
|
||||||
|
margin-left: 0.2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.roomItem {
|
||||||
|
width: 10.3rem;
|
||||||
|
height: 2rem;
|
||||||
|
border-top: 1px #d5d4d4 solid;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.leftImg {
|
||||||
|
width: 2.4rem;
|
||||||
|
height: 1.75rem;
|
||||||
|
margin: 0 0.3rem 0 0.15rem;
|
||||||
|
|
||||||
|
// background: url('~@/assets/home/yyzy_square.png') no-repeat;
|
||||||
|
background-size: 100%;
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.rightContent {
|
||||||
|
height: 1.75rem;
|
||||||
|
width: 5.8rem;
|
||||||
|
.topContent {
|
||||||
|
font-size: 0.2rem;
|
||||||
|
color: #000;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.centerContent {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 0.14rem;
|
||||||
|
margin: 0.15rem 0 0.2rem 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
:deep(.ant-pagination) {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
:deep(.ant-pagination) {
|
||||||
|
text-align: end;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.wrj {
|
.wrj {
|
||||||
.ant-modal-body {
|
.ant-modal-body {
|
||||||
height: 700px !important;
|
height: 700px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.modalClass {
|
||||||
|
.ant-modal-body {
|
||||||
|
height: 4rem !important;
|
||||||
overflow-y: scroll !important;
|
overflow-y: scroll !important;
|
||||||
}
|
}
|
||||||
|
.ant-modal-title {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.ant-modal-content {
|
||||||
|
.ant-modal-header {
|
||||||
|
border-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.appModal {
|
||||||
|
.ant-modal-body {
|
||||||
|
height: 4.8rem !important;
|
||||||
|
overflow-y: scroll !important;
|
||||||
|
}
|
||||||
|
.ant-modal-title {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.ant-modal-content {
|
||||||
|
.ant-modal-header {
|
||||||
|
border-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.single-preview-modal {
|
.single-preview-modal {
|
||||||
.ant-modal-header {
|
.ant-modal-header {
|
||||||
|
|
|
@ -19,18 +19,23 @@
|
||||||
<div class="hengxian"></div>
|
<div class="hengxian"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-loading="loadingData">
|
||||||
<searchResultList v-show="resourceList.data && resourceList.data.length > 0" :key="listKey2"
|
<searchResultList v-show="resourceList.data && resourceList.data.length > 0" :key="listKey2"
|
||||||
:resourceList="resourceList" :resourceTotal="resourceTotal" :selectCardsname="number == 0 ? '融合服务' : '赋能场景'" />
|
:resourceList="resourceList" :resourceTotal="resourceTotal"
|
||||||
|
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'" />
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage"
|
<a-pagination v-if="resourceList.data && resourceList.data.length > 0" v-model:current="currentPage"
|
||||||
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper :total="resourceTotal"
|
v-model:pageSize="currentPageSize" show-size-changer show-less-items show-quick-jumper
|
||||||
:page-size-options="pageSizeOptions" @change="pageChange" @showSizeChange="onShowSizeChange" />
|
:total="resourceTotal" :page-size-options="pageSizeOptions" @change="pageChange"
|
||||||
|
@showSizeChange="onShowSizeChange" />
|
||||||
</div>
|
</div>
|
||||||
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem">
|
<div v-if="resourceList.data && resourceList.data.length <= 0" style="margin-top: 2rem">
|
||||||
<a-empty />
|
<a-empty />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
<home-footer></home-footer>
|
<home-footer></home-footer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
@ -58,6 +63,7 @@ export default defineComponent({
|
||||||
const resourceList = reactive({ data: [] })
|
const resourceList = reactive({ data: [] })
|
||||||
const resourceTotal = ref(0)
|
const resourceTotal = ref(0)
|
||||||
const current = ref(1)
|
const current = ref(1)
|
||||||
|
const loadingData = ref(false)
|
||||||
// 选项卡
|
// 选项卡
|
||||||
const titleName = ref([
|
const titleName = ref([
|
||||||
{
|
{
|
||||||
|
@ -120,6 +126,8 @@ export default defineComponent({
|
||||||
|
|
||||||
// 获取融合服务列表
|
// 获取融合服务列表
|
||||||
const getIntegrationList = () => {
|
const getIntegrationList = () => {
|
||||||
|
loadingData.value = true;
|
||||||
|
console.log('获取融合服务列表------------>');
|
||||||
let postData = {
|
let postData = {
|
||||||
limit: currentPageSize.value,
|
limit: currentPageSize.value,
|
||||||
page: currentPage.value,
|
page: currentPage.value,
|
||||||
|
@ -130,13 +138,17 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
getIntegrationServicesList(postData).then(
|
getIntegrationServicesList(postData).then(
|
||||||
(res) => {
|
(res) => {
|
||||||
|
loadingData.value = false;
|
||||||
if (res.data.code !== 0) {
|
if (res.data.code !== 0) {
|
||||||
return message.error(res.data.msg)
|
return message.error(res.data.msg)
|
||||||
}
|
}
|
||||||
|
console.log('res.data------------>', res.data);
|
||||||
|
|
||||||
resourceList.data = res.data.data.list || []
|
resourceList.data = res.data.data.list || []
|
||||||
resourceTotal.value = res.data.data.total || 0
|
resourceTotal.value = res.data.data.total || 0
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
|
loadingData.value = false;
|
||||||
message.error(err)
|
message.error(err)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -180,6 +192,7 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
console.log('222----onMounted-------->', 222);
|
||||||
listKey2.value++
|
listKey2.value++
|
||||||
getAppResources()
|
getAppResources()
|
||||||
})
|
})
|
||||||
|
@ -215,6 +228,7 @@ export default defineComponent({
|
||||||
titleName,
|
titleName,
|
||||||
changeCards,
|
changeCards,
|
||||||
number,
|
number,
|
||||||
|
loadingData,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
|
|
@ -20,7 +20,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-start desc">
|
<div class="flex-row-start desc">
|
||||||
|
<a-tooltip placement="topLeft" :title="detailInfoObj.description || '--'">
|
||||||
<div class="desc">描述:{{ detailInfoObj.description || '--' }}</div>
|
<div class="desc">描述:{{ detailInfoObj.description || '--' }}</div>
|
||||||
|
</a-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-box">
|
<div class="btn-box">
|
||||||
<a-button size="big" class="btn-text" type="primary" @click="handleAKeyApplication()">
|
<a-button size="big" class="btn-text" type="primary" @click="handleAKeyApplication()">
|
||||||
|
@ -29,12 +31,11 @@
|
||||||
</template>
|
</template>
|
||||||
申请使用
|
申请使用
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button size="big" class="btn-text" :type="detailInfoObj.isCollect == 'true' ? 'primary' : ''"
|
<a-button size="big" class="btn-text" type="primary" @click="addCollect()">
|
||||||
@click="addCollect()">
|
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<form-outlined />
|
<form-outlined />
|
||||||
</template>
|
</template>
|
||||||
收藏
|
{{ detailInfoObj.isCollect == 'true' ? '已收藏' : '收藏' }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -79,21 +80,25 @@ const abilityList = ref([
|
||||||
{
|
{
|
||||||
name: '数据资源',
|
name: '数据资源',
|
||||||
bgImg: require('../../assets/home/integration/sjzyDetail.png'),
|
bgImg: require('../../assets/home/integration/sjzyDetail.png'),
|
||||||
list: []
|
list: [],
|
||||||
|
showTextKey: 'zyname',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '组件服务',
|
name: '组件服务',
|
||||||
bgImg: require('../../assets/home/integration/zjfwDetail.png'),
|
bgImg: require('../../assets/home/integration/zjfwDetail.png'),
|
||||||
list: []
|
list: [],
|
||||||
|
showTextKey: 'name',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '基础设施',
|
name: '基础设施',
|
||||||
bgImg: require('../../assets/home/integration/jcssDetail.png'),
|
bgImg: require('../../assets/home/integration/jcssDetail.png'),
|
||||||
list: []
|
list: [],
|
||||||
|
showTextKey: 'channelName',
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
const imgUrl = ref('')
|
const imgUrl = ref('')
|
||||||
|
|
||||||
|
|
||||||
// 融合服务--详情
|
// 融合服务--详情
|
||||||
const getIntegrationServicesDeatil = (id) => {
|
const getIntegrationServicesDeatil = (id) => {
|
||||||
loadingPage.value = true
|
loadingPage.value = true
|
||||||
|
@ -109,7 +114,7 @@ const getIntegrationServicesDeatil = (id) => {
|
||||||
let fuseResourceList = detailInfoObj.value.fuseResourceList || []
|
let fuseResourceList = detailInfoObj.value.fuseResourceList || []
|
||||||
abilityList.value.map(v => {
|
abilityList.value.map(v => {
|
||||||
let list = fuseResourceList.filter(x => x.type == v.name) || [];
|
let list = fuseResourceList.filter(x => x.type == v.name) || [];
|
||||||
v.list = list.map(v => v.resource && v.resource.channelName) || []
|
v.list = list.map(x => x.resource && x.resource[v.showTextKey]) || []
|
||||||
})
|
})
|
||||||
let imgList = detailInfoObj.value.fuseAttrList.filter((val) => val.attrType == '服务图片') || []
|
let imgList = detailInfoObj.value.fuseAttrList.filter((val) => val.attrType == '服务图片') || []
|
||||||
imgUrl.value = imgList[0] && imgList[0].attrValue || ''
|
imgUrl.value = imgList[0] && imgList[0].attrValue || ''
|
||||||
|
@ -299,12 +304,10 @@ getIntegrationServicesDeatil(id)
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
font-size: 0.16rem;
|
font-size: 0.16rem;
|
||||||
margin-bottom: 0.2rem;
|
|
||||||
margin-top: 0.2rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.area {
|
.area {
|
||||||
margin-bottom: 0.2rem;
|
margin: 0.1rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.desc {
|
.desc {
|
||||||
|
@ -319,7 +322,7 @@ getIntegrationServicesDeatil(id)
|
||||||
|
|
||||||
.btn-box {
|
.btn-box {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: -15px;
|
||||||
left: 0.2rem;
|
left: 0.2rem;
|
||||||
|
|
||||||
.btn-text {
|
.btn-text {
|
||||||
|
@ -341,5 +344,4 @@ getIntegrationServicesDeatil(id)
|
||||||
.list-box {
|
.list-box {
|
||||||
padding: 0.4rem;
|
padding: 0.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue