Merge branch 'hi-ucs-dev' into release
# Conflicts: # front/public/static/config/basicConfig.js # front/src/App.vue
This commit is contained in:
commit
ef987f2d42
|
@ -14,3 +14,4 @@ back/dist-西海岸-后台管理-v0.8.2.4.d.zip
|
|||
*.zip
|
||||
front/public/static/config/basicConfig.js
|
||||
front/public/static/config/basicConfig.js
|
||||
front/public/static/config/basicConfig.js
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 303 B |
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
|
@ -11,7 +11,7 @@
|
|||
<!-- <h4>{{ $t('process.flowImage') }}</h4>
|
||||
<img :src="getResourceURL()" class="image"> -->
|
||||
<!-- 流转详情 -->
|
||||
<h4>{{ $t('process.circulation') }}</h4>
|
||||
<div class="title">{{ $t('process.circulation') }}</div>
|
||||
<div class="mod-sys__dict">
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
|
@ -92,3 +92,20 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
::v-deep .el-card__body{
|
||||
padding: 0px;
|
||||
}
|
||||
::v-deep .el-card{
|
||||
border:0px !important;
|
||||
}
|
||||
.title{
|
||||
padding-left: 20px;
|
||||
color: #212121;
|
||||
font-size: 16px;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
background: url("~@/assets/img/biaoti.png") no-repeat;
|
||||
background-position-y: 2px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
.agreeButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin-left: 10px;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
background-color: #0058e1;
|
||||
}
|
||||
.agreeButton:hover{
|
||||
background: #65a5f9;
|
||||
border-color: #65a5f9;
|
||||
color: #FFF;
|
||||
}
|
||||
.rejectButton{
|
||||
display: inline-block;
|
||||
line-height: 8px;
|
||||
width:80px;
|
||||
height: 32px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
color: #F56C6C;
|
||||
-webkit-appearance: none;
|
||||
text-align: center;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
-webkit-transition: .1s;
|
||||
transition: .1s;
|
||||
font-weight: 500;
|
||||
//padding: 12px 20px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
border-color: #F56C6C;
|
||||
margin-left: 12px;
|
||||
}
|
||||
.rejectButton:hover{
|
||||
background-color: #F56C6C;
|
||||
border-color: #F56C6C;
|
||||
color: #ffffff;
|
||||
}
|
|
@ -71,26 +71,29 @@ export default {
|
|||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data
|
||||
this.dataList.map((item, index) => {
|
||||
if (this.dataList[index].type != null) {
|
||||
switch (item.type) {
|
||||
case 1: this.dataList[index].type = '省'; break
|
||||
case 2: this.dataList[index].type = '市'; break
|
||||
case 3: this.dataList[index].type = '区'; break
|
||||
case 4: this.dataList[index].type = '企业'; break
|
||||
}
|
||||
}
|
||||
if (item.children != null) {
|
||||
item.children.map((item2, index2) => {
|
||||
switch (item2.type) {
|
||||
case 1: this.dataList[index].children[index2].type = '省'; break
|
||||
case 2: this.dataList[index].children[index2].type = '市'; break
|
||||
case 3: this.dataList[index].children[index2].type = '区'; break
|
||||
case 4: this.dataList[index].children[index2].type = '企业'; break
|
||||
if (!['/sys/notice/page', '/sys/notice/mynotice/page'].includes(this.mixinViewModuleOptions.getDataListURL)) { // 我得通知、通知管理不需要特殊处理
|
||||
this.dataList.map((item, index) => {
|
||||
if (this.dataList[index].type != null) {
|
||||
switch (item.type) {
|
||||
case 1: this.dataList[index].type = '省'; break
|
||||
case 2: this.dataList[index].type = '市'; break
|
||||
case 3: this.dataList[index].type = '区'; break
|
||||
case 4: this.dataList[index].type = '企业'; break
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
if (item.children != null) {
|
||||
item.children.map((item2, index2) => {
|
||||
switch (item2.type) {
|
||||
case 1: this.dataList[index].children[index2].type = '省'; break
|
||||
case 2: this.dataList[index].children[index2].type = '市'; break
|
||||
case 3: this.dataList[index].children[index2].type = '区'; break
|
||||
case 4: this.dataList[index].children[index2].type = '企业'; break
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 我的代办特殊处理
|
||||
if (this.mixinViewModuleOptions.getDataListURL === '/act/task/myToDoTaskPage') {
|
||||
this.$http.get('/sys/user/info').then(userRes => {
|
||||
|
@ -162,6 +165,68 @@ export default {
|
|||
dataListSelectionChangeHandle (val) {
|
||||
this.dataListSelections = val
|
||||
},
|
||||
// 批量审批
|
||||
showApproval () {
|
||||
if (this.dataListSelections.length === 0) {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请先选择需要审批的信息!'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.dialogVisible = true
|
||||
},
|
||||
handleClose () {
|
||||
this.input = ''
|
||||
this.dialogVisible = false
|
||||
},
|
||||
approval (str) {
|
||||
console.log('批量审批', this.dataListSelections, this.$store)
|
||||
if (this.input.length < 1) {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '请输入审批意见!'
|
||||
})
|
||||
return
|
||||
}
|
||||
const arr = []
|
||||
this.dataListSelections.map(val => {
|
||||
arr.push(val.taskId)
|
||||
})
|
||||
if (str === '同意') {
|
||||
this.$http.post('/act/task/batchComplete', { comment: this.input, taskIds: arr }).then(res => {
|
||||
if (res.data.msg !== 'success') {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '审批失败!'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleClose()
|
||||
this.query()
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '审批成功!'
|
||||
})
|
||||
})
|
||||
} else if (str === '驳回') {
|
||||
this.$http.post('/act/task/batchBackToFirst', { comment: this.input, taskIds: arr }).then(res => {
|
||||
if (res.data.msg !== 'success') {
|
||||
this.$message({
|
||||
type: 'warning',
|
||||
message: '审批失败!'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.handleClose()
|
||||
this.query()
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '审批成功!'
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
// 排序
|
||||
dataListSortChangeHandle (data) {
|
||||
if (!data.order || !data.prop) {
|
||||
|
|
|
@ -115,6 +115,14 @@ export default {
|
|||
this.$store.state.user.id = res.data.id
|
||||
this.$store.state.user.name = res.data.realName
|
||||
this.$store.state.user.superAdmin = res.data.superAdmin
|
||||
this.$store.state.user.roleIdList = []
|
||||
if (res.data.roleIdList) {
|
||||
res.data.roleIdList.map(val => {
|
||||
this.$http.get('/sys/role/' + val).then(res1 => {
|
||||
this.$store.state.user.roleIdList.push(res1.data.data.name)
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
|
|
@ -281,6 +281,14 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-step__title .is-finish {
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
color: #0058e1;
|
||||
}
|
||||
.title {
|
||||
font-size: 22px;
|
||||
color: #000;
|
||||
|
@ -462,4 +470,5 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
style="width: 160px"
|
||||
placeholder="请输入会客厅名称"
|
||||
></el-input>
|
||||
<el-select
|
||||
<!-- <el-select
|
||||
v-model="value"
|
||||
style="width: 160px"
|
||||
clearable
|
||||
|
@ -19,7 +19,7 @@
|
|||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-select> -->
|
||||
<el-button type="primary" @click="searchData">查询</el-button>
|
||||
</div>
|
||||
<div>
|
||||
|
@ -50,13 +50,13 @@
|
|||
header-align="center"
|
||||
align="center"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
label="申请状态"
|
||||
prop="state"
|
||||
header-align="center"
|
||||
align="center"
|
||||
:formatter="formatter"
|
||||
></el-table-column>
|
||||
></el-table-column> -->
|
||||
<el-table-column
|
||||
:label="$t('handle')"
|
||||
fixed="right"
|
||||
|
@ -217,19 +217,19 @@
|
|||
<script>
|
||||
import Cookies from 'js-cookie'
|
||||
export default {
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
options: [
|
||||
{
|
||||
value: '1',
|
||||
label: '待审核',
|
||||
label: '待审核'
|
||||
},
|
||||
{
|
||||
value: '0',
|
||||
label: '审核完成',
|
||||
},
|
||||
label: '审核完成'
|
||||
}
|
||||
],
|
||||
value: '',
|
||||
value: '1',
|
||||
limit: 10,
|
||||
page: 1,
|
||||
total: 0,
|
||||
|
@ -245,14 +245,14 @@ export default {
|
|||
file: '',
|
||||
name: '',
|
||||
creator: '',
|
||||
roomNameA: '',
|
||||
roomNameA: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getSerach()
|
||||
},
|
||||
methods: {
|
||||
getSerach() {
|
||||
getSerach () {
|
||||
this.$http
|
||||
.get(
|
||||
`/bookMeeting/auditPage?page=${this.page}&limit=${this.limit}&roomName=${this.roomNameA}&state=${this.value}`
|
||||
|
@ -262,22 +262,22 @@ export default {
|
|||
this.total = res.data.total
|
||||
})
|
||||
},
|
||||
downloadTemplate(file) {
|
||||
downloadTemplate (file) {
|
||||
// window.SITE_CONFIG.apiURL +
|
||||
window.open(`${file}?token=` + Cookies.get('ucsToken'))
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
handleSizeChange (val) {
|
||||
this.limit = val
|
||||
this.getSerach()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
handleCurrentChange (val) {
|
||||
this.page = val
|
||||
this.getSerach()
|
||||
},
|
||||
searchData() {
|
||||
searchData () {
|
||||
this.getSerach()
|
||||
},
|
||||
taskDetails(item, num) {
|
||||
taskDetails (item, num) {
|
||||
if (num == '1') {
|
||||
this.dialogVisibleChuli = true
|
||||
this.id = item.id
|
||||
|
@ -293,14 +293,14 @@ export default {
|
|||
this.lookData = item
|
||||
},
|
||||
|
||||
ok() {
|
||||
let query = {
|
||||
ok () {
|
||||
const query = {
|
||||
auditViem: this.desc,
|
||||
state: this.radio,
|
||||
id: this.id,
|
||||
name: this.name,
|
||||
roomName: this.roomName,
|
||||
creator: this.creator,
|
||||
creator: this.creator
|
||||
}
|
||||
this.$http.put('/bookMeeting', query).then(({ data: res }) => {
|
||||
this.dialogVisibleChuli = false
|
||||
|
@ -309,15 +309,15 @@ export default {
|
|||
this.getSerach()
|
||||
})
|
||||
},
|
||||
No() {
|
||||
No () {
|
||||
this.radio = '2'
|
||||
this.desc = ''
|
||||
this.dialogVisibleChuli = false
|
||||
},
|
||||
formatter(row, column) {
|
||||
formatter (row, column) {
|
||||
return row.state == '1' ? '待审核' : '审核完成'
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
|
@ -328,7 +328,7 @@ export default {
|
|||
}
|
||||
.roomExamineSearch {
|
||||
display: flex;
|
||||
width: 410px;
|
||||
width: 240px;
|
||||
margin-bottom: 20px;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,348 @@
|
|||
<template>
|
||||
<el-card shadow="never" class="roomBox">
|
||||
<div class="roomExamineSearch">
|
||||
<el-input
|
||||
v-model="roomNameA"
|
||||
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>
|
||||
<el-row style="display: flex; margin-top: 20px">
|
||||
<el-col :span="2">附件:</el-col>
|
||||
<el-col :span="16">
|
||||
<el-button
|
||||
v-if="file != ''"
|
||||
size="mini"
|
||||
@click="downloadTemplate(file)"
|
||||
>下载</el-button
|
||||
>
|
||||
</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: '0',
|
||||
limit: 10,
|
||||
page: 1,
|
||||
total: 0,
|
||||
roomName: '',
|
||||
tableData: [],
|
||||
dialogVisible: false,
|
||||
dialogVisibleChuli: false,
|
||||
lookData: {},
|
||||
radio: '2',
|
||||
desc: '',
|
||||
id: '',
|
||||
num: '',
|
||||
file: '',
|
||||
name: '',
|
||||
creator: '',
|
||||
roomNameA: ''
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getSerach()
|
||||
},
|
||||
methods: {
|
||||
getSerach () {
|
||||
this.$http
|
||||
.get(
|
||||
`/bookMeeting/auditPage?page=${this.page}&limit=${this.limit}&roomName=${this.roomNameA}&state=${this.value}`
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
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
|
||||
this.name = item.name
|
||||
this.roomName = item.roomName
|
||||
this.creator = item.creator
|
||||
} else {
|
||||
this.dialogVisible = true
|
||||
}
|
||||
this.$http.get(`bookMeeting/${item.id}`).then(({ data: res }) => {
|
||||
this.file = res.data.file
|
||||
})
|
||||
this.lookData = item
|
||||
},
|
||||
|
||||
ok () {
|
||||
const query = {
|
||||
auditViem: this.desc,
|
||||
state: this.radio,
|
||||
id: this.id,
|
||||
name: this.name,
|
||||
roomName: this.roomName,
|
||||
creator: this.creator
|
||||
}
|
||||
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: 240px;
|
||||
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>
|
|
@ -245,10 +245,8 @@ export default {
|
|||
// 同意与退回
|
||||
agreeOrNot: debounce(
|
||||
function (data, type) {
|
||||
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
if (type === '同意') {
|
||||
debugger
|
||||
// if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
const params = qs.stringify({
|
||||
|
@ -267,6 +265,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('applicationforRequirementsInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -302,6 +301,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('applicationforRequirementsInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -338,15 +338,26 @@ export default {
|
|||
}
|
||||
// 当前选中tab被删除
|
||||
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||
const tab =
|
||||
// 判断是否有列表页
|
||||
const tab1 = this.$store.state.contentTabs.filter(val => val.name === tabName.substring(0, tabName.indexOf('__')))[0]
|
||||
// 如果没列表页打开最后一个tab
|
||||
const tab2 =
|
||||
this.$store.state.contentTabs[
|
||||
this.$store.state.contentTabs.length - 1
|
||||
]
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||
params: { ...tab.params },
|
||||
query: { ...tab.query }
|
||||
})
|
||||
if (tab1) {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab1.name) ? 'iframe' : tab1.name,
|
||||
params: { ...tab1.params },
|
||||
query: { ...tab1.query }
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab2.name) ? 'iframe' : tab2.name,
|
||||
params: { ...tab2.params },
|
||||
query: { ...tab2.query }
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 启动流程出错回调
|
||||
|
|
|
@ -174,7 +174,8 @@ export default {
|
|||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
bus.$emit('commentInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -209,7 +210,8 @@ export default {
|
|||
}
|
||||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
bus.$emit('commentInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -246,33 +248,31 @@ export default {
|
|||
}
|
||||
// 当前选中tab被删除
|
||||
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||
const tab =
|
||||
// 判断是否有列表页
|
||||
const tab1 = this.$store.state.contentTabs.filter(val => val.name === tabName.substring(0, tabName.indexOf('__')))[0]
|
||||
// 如果没列表页打开最后一个tab
|
||||
const tab2 =
|
||||
this.$store.state.contentTabs[
|
||||
this.$store.state.contentTabs.length - 1
|
||||
]
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||
params: { ...tab.params },
|
||||
query: { ...tab.query }
|
||||
})
|
||||
if (tab1) {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab1.name) ? 'iframe' : tab1.name,
|
||||
params: { ...tab1.params },
|
||||
query: { ...tab1.query }
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab2.name) ? 'iframe' : tab2.name,
|
||||
params: { ...tab2.params },
|
||||
query: { ...tab2.query }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// this.dataForm = this.$router.currentRoute.params.id
|
||||
this.init()
|
||||
console.log('fromList', this.$router.currentRoute.params.businessKey)
|
||||
// this.dataForm = this.$router.currentRoute.params.params.params.resourceDTO
|
||||
var callbacks = {
|
||||
startProcessSuccessCallback: this.closeCurrentTab,
|
||||
startProcessErrorCallback: this.startProcessErrorCallback,
|
||||
taskHandleSuccessCallback: this.closeCurrentTab,
|
||||
taskHandleErrorCallback: this.taskHandleErrorCallback,
|
||||
formSaveSuccessCallback: null,
|
||||
formSaveErrorCallback: null
|
||||
}
|
||||
// 初始化综合组件
|
||||
this.initProcessMultiple(callbacks)
|
||||
this.taskId = this.$route.params.taskId
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
},
|
||||
|
|
|
@ -252,6 +252,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -287,6 +288,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('AbilityResourcesRemovedInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -323,15 +325,26 @@ export default {
|
|||
}
|
||||
// 当前选中tab被删除
|
||||
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||
const tab =
|
||||
// 判断是否有列表页
|
||||
const tab1 = this.$store.state.contentTabs.filter(val => val.name === tabName.substring(0, tabName.indexOf('__')))[0]
|
||||
// 如果没列表页打开最后一个tab
|
||||
const tab2 =
|
||||
this.$store.state.contentTabs[
|
||||
this.$store.state.contentTabs.length - 1
|
||||
]
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||
params: { ...tab.params },
|
||||
query: { ...tab.query }
|
||||
})
|
||||
if (tab1) {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab1.name) ? 'iframe' : tab1.name,
|
||||
params: { ...tab1.params },
|
||||
query: { ...tab1.query }
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab2.name) ? 'iframe' : tab2.name,
|
||||
params: { ...tab2.params },
|
||||
query: { ...tab2.query }
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 启动流程出错回调
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.fanchunxiang
|
||||
* @Date: 2021-08-24 10:28:49
|
||||
* @LastEditors: hisense.fanchunxiang
|
||||
* @LastEditTime: 2021-10-14 17:10:05
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-01 14:32:43
|
||||
* @Description: 企业数据 企业卡片
|
||||
-->
|
||||
<template>
|
||||
|
@ -65,12 +65,12 @@
|
|||
</template>
|
||||
</cardDragger>
|
||||
<!-- 编辑卡片按钮 -->
|
||||
<div v-show="isShowEdit" class="resource-manager-edit-card">
|
||||
<div @click.stop="editTopicCard" v-show="isShowEdit" class="resource-manager-edit-card">
|
||||
<div>
|
||||
<div />
|
||||
</div>
|
||||
<div>
|
||||
<span @click.stop="editTopicCard">{{
|
||||
<span>{{
|
||||
isRemoveCard ? '完成' : '编辑'
|
||||
}}</span>
|
||||
</div>
|
||||
|
@ -393,7 +393,7 @@ export default {
|
|||
this.oldId = item.id
|
||||
}
|
||||
})
|
||||
this.$message.success('删除企业成功!')
|
||||
this.$message.success('删除编目成功!')
|
||||
// 删除完退出编辑模式
|
||||
this.initTopicCardList()
|
||||
this.isRemoveCard = !this.isRemoveCard
|
||||
|
@ -401,8 +401,8 @@ export default {
|
|||
this.topicCoverZIndex = this.isEditGroupName ? -999 : 1000
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log('删除企业失败!%o', e)
|
||||
this.$message.error('删除企业失败!')
|
||||
console.log('删除编目失败!%o', e)
|
||||
this.$message.error('删除编目失败!')
|
||||
})
|
||||
})
|
||||
},
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-27 11:27:22
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-07-25 09:45:35
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-05 18:01:39
|
||||
* @Description: "能力资源上架"
|
||||
-->
|
||||
<template>
|
||||
|
@ -25,6 +25,21 @@
|
|||
$t('query')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="($store.state.user.roleIdList.indexOf('运维管理员') !== -1)">
|
||||
<el-button type="primary" @click="showApproval" >批量审批</el-button>
|
||||
<el-dialog
|
||||
title="提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button class="agreeButton" @click="approval('同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="approval('驳回')">驳回</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
|
@ -147,7 +162,9 @@ export default {
|
|||
taskId: '',
|
||||
processDefinitionKey: 'resourcemountapply'
|
||||
},
|
||||
processInstanceId: ''
|
||||
processInstanceId: '',
|
||||
input: '',
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
|
@ -172,7 +189,9 @@ export default {
|
|||
this.getDataList()
|
||||
bus.$emit('updateTaskNum')
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '~@/mixins/view-module-css';
|
||||
</style>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-27 11:27:22
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-07-25 09:48:46
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-06 10:18:33
|
||||
* @Description: "能力资源下架"
|
||||
-->
|
||||
<template>
|
||||
|
@ -25,6 +25,21 @@
|
|||
$t('query')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="($store.state.user.roleIdList.indexOf('运维管理员') !== -1)">
|
||||
<el-button type="primary" @click="showApproval" >批量审批</el-button>
|
||||
<el-dialog
|
||||
title="提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button class="agreeButton" @click="approval('同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="approval('驳回')">驳回</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
|
@ -147,7 +162,9 @@ export default {
|
|||
taskId: '',
|
||||
processDefinitionKey: 'resourcundercarriageapply'
|
||||
},
|
||||
processInstanceId: ''
|
||||
processInstanceId: '',
|
||||
input: '',
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
|
@ -176,3 +193,6 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '~@/mixins/view-module-css';
|
||||
</style>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-27 11:27:22
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-06-29 16:31:26
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-06 10:18:29
|
||||
* @Description: "能力需求申请"
|
||||
-->
|
||||
<template>
|
||||
|
@ -25,6 +25,21 @@
|
|||
$t('query')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="($store.state.user.roleIdList.indexOf('运维管理员') !== -1)">
|
||||
<el-button type="primary" @click="showApproval" >批量审批</el-button>
|
||||
<el-dialog
|
||||
title="提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button class="agreeButton" @click="approval('同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="approval('驳回')">驳回</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
|
@ -147,7 +162,9 @@ export default {
|
|||
taskId: '',
|
||||
processDefinitionKey: 'abilitydemandapply'
|
||||
},
|
||||
processInstanceId: ''
|
||||
processInstanceId: '',
|
||||
input: '',
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
|
@ -175,3 +192,6 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '~@/mixins/view-module-css';
|
||||
</style>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-27 11:27:22
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-06-29 16:31:26
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-06 10:18:37
|
||||
* @Description: "评论审核"
|
||||
-->
|
||||
<template>
|
||||
|
@ -25,6 +25,21 @@
|
|||
$t('query')
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="($store.state.user.roleIdList.indexOf('运维管理员') !== -1)">
|
||||
<el-button type="primary" @click="showApproval" >批量审批</el-button>
|
||||
<el-dialog
|
||||
title="提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button class="agreeButton" @click="approval('同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="approval('驳回')">驳回</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
|
@ -128,6 +143,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import bus from '@/views/bus.js'
|
||||
import mixinViewModule from '@/mixins/view-module'
|
||||
import processModule from '@/mixins/process-module'
|
||||
export default {
|
||||
|
@ -146,10 +162,20 @@ export default {
|
|||
taskId: '',
|
||||
processDefinitionKey: 'comment_review'
|
||||
},
|
||||
processInstanceId: ''
|
||||
processInstanceId: '',
|
||||
input: '',
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
created () {
|
||||
bus.$off('commentInit')
|
||||
bus.$on('commentInit', () => {
|
||||
debugger
|
||||
this.getDataList()
|
||||
bus.$emit('updateTaskNum')
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
// 处理
|
||||
taskHandle (row) {
|
||||
|
@ -168,3 +194,6 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '~@/mixins/view-module-css';
|
||||
</style>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-27 11:27:22
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-10-19 11:10:50
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-06 10:18:28
|
||||
* @Description: 能力申请
|
||||
-->
|
||||
<template>
|
||||
|
@ -25,6 +25,21 @@
|
|||
$t("query")
|
||||
}}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="($store.state.user.roleIdList.indexOf('运维管理员') !== -1)">
|
||||
<el-button type="primary" @click="showApproval" >批量审批</el-button>
|
||||
<el-dialog
|
||||
title="提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:before-close="handleClose"
|
||||
:close-on-click-modal="false">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button class="agreeButton" @click="approval('同意')">同意</el-button>
|
||||
<el-button class="rejectButton" @click="approval('驳回')">驳回</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="dataListLoading"
|
||||
|
@ -80,7 +95,7 @@
|
|||
align="center"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="resoureType"
|
||||
prop="resourceType"
|
||||
label="资源类型"
|
||||
header-align="center"
|
||||
align="center"
|
||||
|
@ -157,7 +172,9 @@ export default {
|
|||
taskId: '',
|
||||
processDefinitionKey: returnLocationStr() == 'qingdao' ? 'abilityprocess_v3' : 'abilityprocess_v2'
|
||||
},
|
||||
processInstanceId: ''
|
||||
processInstanceId: '',
|
||||
input: '',
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
|
@ -186,3 +203,6 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '~@/mixins/view-module-css';
|
||||
</style>
|
||||
|
|
|
@ -2,38 +2,133 @@
|
|||
<div class="wrapper">
|
||||
<el-form :model="dataView">
|
||||
<div v-for="(item, index) in dataView.children" :key="item">
|
||||
<!-- <div class="dataTitle">{{ item.name }}</div> -->
|
||||
|
||||
<div v-for="itemson in item.children" :key="itemson.name">
|
||||
<div class="dataTitleSon">
|
||||
{{ itemson.name }}
|
||||
</div>
|
||||
<div class="dataContent" v-if="
|
||||
itemson.name !== '算法优势' &&
|
||||
itemson.name !== '应用场景' &&
|
||||
itemson.name !== '功能介绍'
|
||||
">
|
||||
<el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
|
||||
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
|
||||
" v-show="
|
||||
!(
|
||||
itemsonson.name === '平台地址' ||
|
||||
itemsonson.name === 'SDK安装包' ||
|
||||
itemsonson.name === '接口请求方式' ||
|
||||
itemsonson.name === '服务接口'
|
||||
)
|
||||
">
|
||||
<div class="videoAndImgCss" v-if="
|
||||
itemsonson.type === 'video' || itemsonson.type === 'image'
|
||||
" @click="videoAndImg(itemsonson.note1)">
|
||||
浏览
|
||||
<div class="info-content" v-if="itemson.name ==='基本信息'">
|
||||
<div class="info-left">
|
||||
|
||||
<template v-for="itemsonson in itemson.children">
|
||||
<div class="left-inner" v-if="itemsonson.type !== 'video' && itemsonson.type !== 'image'">
|
||||
<span style="font-size:14px;color:#212121;">{{itemsonson.name}}</span>:
|
||||
<el-tooltip placement="top" v-if="(itemsonson.note1 && itemsonson.note1.length>18)">
|
||||
<div slot="content">{{itemsonson.note1}}</div>
|
||||
<span style="font-size:14px;color:#212121;font-weight: bold;">{{itemsonson.note1}}</span>
|
||||
</el-tooltip>
|
||||
<span style="font-size:14px;color:#212121;font-weight: bold;" v-else>{{ itemsonson.note1 }}</span>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class="info-right">
|
||||
<div id="lib_Tab1_sx" class="lib_tabborder_sx">
|
||||
<div class="lib_Menubox_sx ">
|
||||
<ul>
|
||||
<li id="one1" @click="setTab('one',1,5)" class="hover">图片</li>
|
||||
<li id="one2" @click="setTab('one',2,5)">视频</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="lib_Contentbox_sx ">
|
||||
<div id="con_one_1">
|
||||
<template v-for="itemsonson1 in itemson.children">
|
||||
<div v-if="(itemsonson1.type === 'image' )">
|
||||
<img v-if=" itemsonson1.note1" @click="videoAndImg(itemsonson1.note1)" :src="itemsonson1.note1"
|
||||
style="height:270px;width:490px;" />
|
||||
<div v-else style="height: 270px;line-height: 270px;text-align: center;color:grey">暂无图片</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</div>
|
||||
<div id="con_one_2" style="display:none">
|
||||
<template v-for="itemsonson1 in itemson.children">
|
||||
<div v-if="(itemsonson1.type === 'video' )">
|
||||
<video v-if=" itemsonson1.note1" @click="videoAndImg(itemsonson1.note1)" :src="itemsonson1.note1"
|
||||
style="height:270px;width:490px;" />
|
||||
<div v-else style="height: 270px;line-height: 270px;text-align: center;;color:grey">暂无视频</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="videoAndImgCss" v-if="
|
||||
itemsonson.name === '上传附件'
|
||||
" @click="videoAndImg(itemsonson.note1)">
|
||||
下载
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '功能介绍'" style="margin-bottom: 20px">
|
||||
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
|
||||
<div v-if="itemDataForm.attrType === '功能介绍'" class="textAndImg">
|
||||
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
|
||||
class="textAndImgSon1" >
|
||||
<div class="Son1-left">
|
||||
|
||||
<img v-if="itemDataFormValue.img" @click="videoAndImg(itemDataFormValue.img)" :src="itemDataFormValue.img"
|
||||
style="height:270px;width:490px;" />
|
||||
<div v-else style="height: 270px;line-height: 270px;text-align: center;">暂无图片</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="textAndImgSon">
|
||||
<div >{{ itemDataFormValue.name }}</div>
|
||||
<el-tooltip placement="top" v-if="(itemDataFormValue.desc && itemDataFormValue.desc.length>50)">
|
||||
<div slot="content">{{ itemDataFormValue.desc }}</div>
|
||||
<div>功能介绍:{{ itemDataFormValue.desc }}</div>
|
||||
</el-tooltip>
|
||||
<div v-else>功能介绍:{{ itemDataFormValue.desc }}</div>
|
||||
</div>
|
||||
<!-- <div @click="videoAndImg(itemDataFormValue.img)">浏览</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemsonson.type === ' multipleAdditions'" class="multipleAdditionsClass">
|
||||
<div v-for="multipleAdditionsItem in itemsonson.note1" :key="multipleAdditionsItem">
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '应用场景'" style="margin-bottom: 20px">
|
||||
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
|
||||
<div v-if="itemDataForm.attrType === '应用场景'" class="textAndImg">
|
||||
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
|
||||
class="textAndImgSon1" >
|
||||
<div class="Son1-left">
|
||||
|
||||
<img v-if="itemDataFormValue.img" @click="videoAndImg(itemDataFormValue.img)" :src="itemDataFormValue.img"
|
||||
style="height:270px;width:490px;" />
|
||||
<div v-else style="height: 270px;line-height: 270px;text-align: center;">暂无图片</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="textAndImgSon" >
|
||||
<div>{{ itemDataFormValue.name }}</div>
|
||||
<el-tooltip placement="top" v-if="(itemDataFormValue.desc && itemDataFormValue.desc.length>50)">
|
||||
<div slot="content">{{ itemDataFormValue.desc }}</div>
|
||||
<div>应用描述:{{ itemDataFormValue.desc }}</div>
|
||||
</el-tooltip>
|
||||
<div v-else>应用描述:{{ itemDataFormValue.desc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '算法优势'" style="margin-top: 20px">
|
||||
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
|
||||
<div v-if="itemDataForm.attrType === '算法优势'" class="textAndImg">
|
||||
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
|
||||
class="textAndImgSon" >
|
||||
<div>{{ itemDataFormValue.name }}</div>
|
||||
<el-tooltip placement="top" v-if="(itemDataFormValue.desc && itemDataFormValue.desc.length>100)">
|
||||
<div slot="content">{{ itemDataFormValue.desc }}</div>
|
||||
<div>算法描述:{{ itemDataFormValue.desc }}</div>
|
||||
</el-tooltip>
|
||||
<div v-else>算法描述:{{ itemDataFormValue.desc }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="other-content" v-else>
|
||||
<div class="other-info">
|
||||
<template v-for="itemsonson in itemson.children">
|
||||
<div v-if="itemsonson.type === ' multipleAdditions'" class="textAndImg">
|
||||
<div v-for="multipleAdditionsItem in itemsonson.note1" :key="multipleAdditionsItem"
|
||||
class="textAndImgSon" >
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">
|
||||
{{
|
||||
|
@ -73,70 +168,50 @@
|
|||
<!-- <div>{{ multipleAdditionsItem }}</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<el-tooltip v-else placement="top" :disabled="itemsonson.note1 !== null ? false : true"
|
||||
:content="itemsonson.note1">
|
||||
<!-- <div slot="content" v-show="itemsonson.note1">{{ itemsonson.note1 }}</div> -->
|
||||
<el-input v-model="itemsonson.note1" disabled="disabled"></el-input>
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
<el-form-item v-for="itemsonson in itemson.children" :key="itemsonson.name" :label="
|
||||
itemsonson.type != ' multipleAdditions' ? itemsonson.name : ''
|
||||
" v-show="
|
||||
(itemsonson.name === '平台地址' && showDocking) ||
|
||||
(itemsonson.name === 'SDK安装包' && showSDK) ||
|
||||
(itemsonson.name === '接口请求方式' && showInterface) ||
|
||||
(itemsonson.name === '服务接口' && showInterface)
|
||||
">
|
||||
<el-tooltip placement="top" :disabled="itemsonson.note1 !== null ? false : true" :content="itemsonson.note1">
|
||||
<el-input v-model="itemsonson.note1" disabled="disabled"></el-input>
|
||||
</el-tooltip>
|
||||
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '算法优势'" style="margin-bottom: 20px">
|
||||
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
|
||||
<div v-if="itemDataForm.attrType === '算法优势'" class="textAndImg">
|
||||
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
|
||||
class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
|
||||
<div>{{ itemDataFormValue.name }}</div>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">{{ itemDataFormValue.desc }}</div>
|
||||
<div>{{ itemDataFormValue.desc }}</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-inner" v-else-if="
|
||||
(
|
||||
itemsonson.name === '上传附件'||
|
||||
itemsonson.name === '技术文档' )
|
||||
">
|
||||
<span style="font-size:14px;color:#212121;" >{{itemsonson.name}}</span>:
|
||||
<span style="color: #0058e1;font-weight: bold;text-decoration: underline;cursor: pointer;"
|
||||
v-if="itemsonson.note1" @click="videoAndImg(itemsonson.note1)">点击下载</span>
|
||||
<span v-else style="color: grey;">暂未上传</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '应用场景'" style="margin-bottom: 20px">
|
||||
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
|
||||
<div v-if="itemDataForm.attrType === '应用场景'" class="textAndImg">
|
||||
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
|
||||
class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
|
||||
<div>{{ itemDataFormValue.name }}</div>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">{{ itemDataFormValue.desc }}</div>
|
||||
<div>{{ itemDataFormValue.desc }}</div>
|
||||
<div class="info-inner" v-else-if="
|
||||
(itemsonson.name === '平台地址' && showDocking) ||
|
||||
(itemsonson.name === 'SDK安装包' && showSDK) ||
|
||||
(itemsonson.name === '接口请求方式' && showInterface) ||
|
||||
(itemsonson.name === '服务接口' && showInterface)
|
||||
">
|
||||
<span style="font-size:14px;color:#212121;">{{itemsonson.name}}</span>:
|
||||
<el-tooltip placement="top" v-if="(itemsonson.note1 && itemsonson.note1.length>10)">
|
||||
<div slot="content">{{itemsonson.note1}}</div>
|
||||
<span style="font-size:14px;color:#212121;font-weight: bold;">{{itemsonson.note1}}</span>
|
||||
</el-tooltip>
|
||||
<div @click="videoAndImg(itemDataFormValue.img)">浏览</div>
|
||||
</div>
|
||||
</div>
|
||||
<span style="font-size:14px;color:#212121;font-weight: bold;" v-else>{{ itemsonson.note1 }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="itemson.name === '功能介绍'" style="margin-bottom: 20px">
|
||||
<div v-for="itemDataForm in dataForm.infoList" :key="itemDataForm.attrType">
|
||||
<div v-if="itemDataForm.attrType === '功能介绍'" class="textAndImg">
|
||||
<div v-for="itemDataFormValue in itemDataForm.attrValue" :key="itemDataFormValue.name + 'value'"
|
||||
class="textAndImgSon" style="border: 1px solid #3c9bcd;margin">
|
||||
<div>{{ itemDataFormValue.name }}</div>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">{{ itemDataFormValue.desc }}</div>
|
||||
<div>{{ itemDataFormValue.desc }}</div>
|
||||
<div class="info-inner" v-else-if="
|
||||
!(
|
||||
itemsonson.name === '平台地址' ||
|
||||
itemsonson.name === 'SDK安装包' ||
|
||||
itemsonson.name === '接口请求方式' ||
|
||||
itemsonson.name === '服务接口'
|
||||
)
|
||||
">
|
||||
<span style="font-size:14px;color:#212121;">{{itemsonson.name}}</span>:
|
||||
<el-tooltip placement="top" v-if="(itemsonson.note1 && itemsonson.note1.length>10)">
|
||||
<div slot="content">{{itemsonson.note1}}</div>
|
||||
<span style="font-size:14px;color:#212121;font-weight: bold;">{{itemsonson.note1}}</span>
|
||||
</el-tooltip>
|
||||
<div @click="videoAndImg(itemDataFormValue.img)">浏览</div>
|
||||
</div>
|
||||
</div>
|
||||
<span style="font-size:14px;color:#212121;font-weight: bold;" v-else>{{ itemsonson.note1 }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
|
@ -145,9 +220,10 @@
|
|||
|
||||
<script>
|
||||
import qs from 'qs'
|
||||
import Template from '../../devtools/template.vue'
|
||||
|
||||
export default {
|
||||
components: {},
|
||||
components: {Template},
|
||||
props: {
|
||||
dataForm: {
|
||||
type: Object
|
||||
|
@ -173,6 +249,7 @@ export default {
|
|||
watch: {
|
||||
dataList (item) {
|
||||
if (item) {
|
||||
|
||||
this.dataList = item
|
||||
}
|
||||
},
|
||||
|
@ -184,11 +261,11 @@ export default {
|
|||
)[0]
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
this.dataView.children.map((itemView, indexView) => {
|
||||
// console.log('itemView', itemView)
|
||||
|
||||
itemView.children.map((itemViewSon, indexViewSon) => {
|
||||
// console.log('itemViewSon', itemViewSon)
|
||||
|
||||
itemViewSon.children.map((itemSon, indexSon) => {
|
||||
// console.log('itemSon', itemSon)
|
||||
|
||||
if (itemSon.name.indexOf('描述') != -1) {
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
|
@ -206,7 +283,7 @@ export default {
|
|||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.shareCondition
|
||||
} else if (itemSon.name === '部门联系人') {
|
||||
console.log('itemSon.name', itemSon.name)
|
||||
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.deptContacts
|
||||
|
@ -260,11 +337,11 @@ export default {
|
|||
)[0]
|
||||
this.dataForm.infoList.map((item, index) => {
|
||||
this.dataView.children.map((itemView, indexView) => {
|
||||
console.log('itemView', itemView)
|
||||
|
||||
itemView.children.map((itemViewSon, indexViewSon) => {
|
||||
console.log('itemViewSon', itemViewSon)
|
||||
|
||||
itemViewSon.children.map((itemSon, indexSon) => {
|
||||
console.log('itemSon', itemSon)
|
||||
|
||||
if (itemSon.name.indexOf('描述') != -1) {
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
|
@ -286,7 +363,7 @@ export default {
|
|||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.shareType
|
||||
} else if (itemSon.name === '部门联系人') {
|
||||
console.log('itemSon.name', itemSon.name)
|
||||
|
||||
this.dataView.children[indexView].children[
|
||||
indexViewSon
|
||||
].children[indexSon].note1 = this.dataForm.deptContacts
|
||||
|
@ -336,22 +413,26 @@ export default {
|
|||
}
|
||||
})
|
||||
console.log(
|
||||
'valvalvalvalvalvalvalvalvalvalval',
|
||||
this.dataForm,
|
||||
'valvalvalvalvalvalvalvalvalvalval============',
|
||||
|
||||
this.dataView
|
||||
)
|
||||
// 智能算法-使用方式-3种方式联动
|
||||
this.dataView.children.map((val) => {
|
||||
if (val.name === '部署与使用') {
|
||||
|
||||
val.children.map((val) => {
|
||||
if (val.name === '使用方式') {
|
||||
val.children.map((val) => {
|
||||
if (val.name === '使用方式') {
|
||||
if (val.note1 === 'SDK') {
|
||||
|
||||
this.showSDK = true
|
||||
} else if (val.note1 === '平台对接') {
|
||||
|
||||
this.showDocking = true
|
||||
} else if (val.note1 === '调用接口') {
|
||||
|
||||
this.showInterface = true
|
||||
}
|
||||
}
|
||||
|
@ -366,7 +447,16 @@ export default {
|
|||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
setTab(name,cursel,n){
|
||||
for(let i=1;i<=n;i++){
|
||||
var menu=document.getElementById(name+i);
|
||||
var con=document.getElementById("con_"+name+"_"+i);
|
||||
menu.className=i==cursel?"hover":"";
|
||||
con.style.display=i==cursel?"block":"none";
|
||||
}
|
||||
},
|
||||
videoAndImg (link) {
|
||||
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
|
@ -377,11 +467,11 @@ export default {
|
|||
}
|
||||
},
|
||||
deptName () {
|
||||
console.log(this.dataForm.deptId)
|
||||
|
||||
this.$http
|
||||
.get(`/sys/dept/${this.dataForm.deptId}`)
|
||||
.then(({ data: res }) => {
|
||||
console.log(res.data.name, 'res')
|
||||
|
||||
this.unit = res.data.name
|
||||
})
|
||||
},
|
||||
|
@ -437,20 +527,117 @@ export default {
|
|||
</style>
|
||||
<style lang="scss" scoped>
|
||||
.wrapper {
|
||||
.dataTitle {
|
||||
text-align: center;
|
||||
color: #333333;
|
||||
font-size: 22px;
|
||||
margin-bottom: 25px;
|
||||
padding: 10px 100px;
|
||||
background: #ffffff;
|
||||
.other-content{
|
||||
// height: 278px;
|
||||
overflow-y: auto;
|
||||
background: #f4f5f8;
|
||||
.other-info{
|
||||
display: inline;
|
||||
}
|
||||
.info-inner{
|
||||
|
||||
padding: 0px 24px;
|
||||
width:33%;
|
||||
height:60px;
|
||||
float:left;
|
||||
line-height: 60px;
|
||||
display: flex;
|
||||
span:nth-of-type(2){
|
||||
width: 285px;
|
||||
word-break: break-all;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.info-content{
|
||||
height:315px;
|
||||
background: #f4f5f8;
|
||||
|
||||
.info-left{
|
||||
padding: 24px 24px;
|
||||
overflow-y: auto;
|
||||
width:58%;
|
||||
height:100%;
|
||||
float:left;
|
||||
display:inline;
|
||||
padding:24px 24px ;
|
||||
.left-inner{
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
width: 50%;
|
||||
float:left;
|
||||
height:32px;
|
||||
line-height: 32px;
|
||||
|
||||
}
|
||||
}
|
||||
.info-right{
|
||||
|
||||
width:42%;
|
||||
height:100%;
|
||||
float:left;
|
||||
display:inline;
|
||||
.lib_tabborder_sx{
|
||||
height: 270px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
.lib_Menubox_sx {
|
||||
line-height:28px;
|
||||
position:relative;
|
||||
float:left;
|
||||
width:48x;
|
||||
height:300px;
|
||||
}
|
||||
.lib_Menubox_sx ul{
|
||||
list-style:none;
|
||||
position:absolute;
|
||||
text-align:center;
|
||||
}
|
||||
.lib_Menubox_sx li{
|
||||
cursor: pointer;
|
||||
color: #212121;
|
||||
height: 66px;
|
||||
width: 32px;
|
||||
background-color: #ffffff;
|
||||
border-radius: 1px;
|
||||
writing-mode: vertical-lr;
|
||||
}
|
||||
.lib_Menubox_sx li.hover{
|
||||
color: #fff;
|
||||
background-color: #0058e1;
|
||||
|
||||
}
|
||||
.lib_Contentbox_sx{
|
||||
margin-left: 72px;
|
||||
background: #dadada;
|
||||
height: 270px;
|
||||
width: 490px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.dataTitleSon {
|
||||
padding-left: 30px;
|
||||
color: #333333;
|
||||
font-size: 22px;
|
||||
margin-bottom: 20px;
|
||||
background: url("~@/assets/img/sj-jx.png") no-repeat;
|
||||
background-position-x: 15px;
|
||||
padding-left: 20px;
|
||||
color: #212121;
|
||||
font-size: 16px;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 32px;
|
||||
background: url("~@/assets/img/biaoti.png") no-repeat;
|
||||
background-position-y: 2px;
|
||||
|
||||
}
|
||||
|
||||
.multipleAdditionsClass {
|
||||
|
@ -509,22 +696,66 @@ export default {
|
|||
background: rgba(60, 155, 205, 0.1);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.textAndImgY{
|
||||
width: 720px;
|
||||
height: 270px;
|
||||
margin-right: 24px;
|
||||
display: table;
|
||||
|
||||
.ImgSon{
|
||||
display: table-cell;
|
||||
width: 476px;
|
||||
float: left;
|
||||
height: 100%;
|
||||
background: red;
|
||||
}
|
||||
.texton{
|
||||
display: table-cell;
|
||||
height: 100%;
|
||||
width: 244px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
}
|
||||
.textAndImg {
|
||||
display: flex;
|
||||
padding-left: 30px;
|
||||
|
||||
// padding-left: 30px;
|
||||
background:#fff;
|
||||
.textAndImgSon1 {
|
||||
width: 700px;
|
||||
height: 270px;
|
||||
.Son1-left{
|
||||
float: left;
|
||||
width:476px;
|
||||
height: 270px;
|
||||
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
.textAndImgSon {
|
||||
width: 212px;
|
||||
height: 182px;
|
||||
margin-right: 30px;
|
||||
float:left;
|
||||
background: url("~@/assets/img/gongnengjieshao.png") no-repeat;
|
||||
width: 170px;
|
||||
height: 270px;
|
||||
margin-right: 24px;
|
||||
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
|
||||
padding: 30px 24px;
|
||||
position: relative;
|
||||
|
||||
&>div {
|
||||
|
||||
&>div:first-child {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
&>div:nth-child(2) {
|
||||
text-align: left;
|
||||
-webkit-line-clamp: 5;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
@ -532,24 +763,18 @@ export default {
|
|||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
&>div:first-child {
|
||||
margin-bottom: 10px;
|
||||
font-weight: bold;
|
||||
&>div:nth-child(3) {
|
||||
margin-top: 24px;
|
||||
text-align: left;
|
||||
-webkit-line-clamp: 3;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
&>div:nth-child(3) {
|
||||
margin-top: 10px;
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
border: 1px solid #3c9bcd;
|
||||
line-height: 12px;
|
||||
padding: 5px;
|
||||
margin-top: 10px;
|
||||
background: rgba(60, 155, 205, 0.1);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
></ren-process-multiple> -->
|
||||
<!-- 审批 -->
|
||||
<div class="agreeOr" v-if="taskId">
|
||||
<h3>审批</h3>
|
||||
<div>审批</div>
|
||||
<div class="approvalOperation">
|
||||
<div class="contentOperation">
|
||||
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
|
||||
|
@ -42,35 +42,14 @@
|
|||
<el-button class="rejectButton" @click="agreeOrNot($store.state.contentTabsActiveName,'驳回')">驳回</el-button>
|
||||
<el-button class="transferButton" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
</div>
|
||||
<!-- <el-button type="info" @click="entrustTask()" v-if='taskEntrustFlag && taskEntrustFlag2'>转办</el-button>
|
||||
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
|
||||
<el-button type="danger" plain @click="showDialog('驳回')"
|
||||
>驳回</el-button
|
||||
> -->
|
||||
<!-- <el-radio-group v-model="agreeOrList" style="width: 230px">
|
||||
<el-radio-button label="同意" class="blueAll">同意</el-radio-button>
|
||||
<el-radio-button label="退回" class="redAll">退回</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-input
|
||||
v-if="agreeOrList === '同意'"
|
||||
v-model="inputAgree"
|
||||
placeholder="请输入同意意见"
|
||||
></el-input>
|
||||
<el-input
|
||||
v-if="agreeOrList === '退回'"
|
||||
v-model="inputNo"
|
||||
placeholder="请输入退回意见"
|
||||
></el-input>
|
||||
<el-button
|
||||
class="inputBule"
|
||||
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
|
||||
>提交</el-button
|
||||
> -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<ren-task-entrust v-if="renTaskEntrustVisible" ref="renTaskEntrust"></ren-task-entrust>
|
||||
<!-- 流程详情 -->
|
||||
<div style="padding: 10px 100px;background: #ffffff;">
|
||||
<ren-process-detail></ren-process-detail>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="审批意见"
|
||||
:close-on-click-modal="false"
|
||||
|
@ -142,7 +121,6 @@ export default {
|
|||
watch: {},
|
||||
created () {
|
||||
// 将业务KEY赋值给表单
|
||||
console.log('params=================>', this.$route, this.$route.params)
|
||||
this.taskId = this.$route.params.taskId
|
||||
this.dataForm.taskId = this.$route.params.taskId
|
||||
this.$http.get('/sys/user/info').then(({ data: res }) => {
|
||||
|
@ -154,7 +132,7 @@ export default {
|
|||
.get(
|
||||
'/act/task/getTaskVariables?taskId=' + this.$route.params.taskId + '&variableName=allowEntrust'
|
||||
).then(entrust => {
|
||||
console.log('11111111111111', entrust, this.dataForm)
|
||||
|
||||
if (entrust.data.data && entrust.data.data.allowEntrust === true) {
|
||||
this.taskEntrustFlag2 = true
|
||||
if (this.taskEntrustFlag && this.taskEntrustFlag2) {
|
||||
|
@ -175,7 +153,7 @@ export default {
|
|||
})
|
||||
})
|
||||
this.init()
|
||||
console.log('fromList', this.$router.currentRoute.params.businessKey)
|
||||
|
||||
// this.dataForm = this.$router.currentRoute.params.params.params.resourceDTO
|
||||
var callbacks = {
|
||||
startProcessSuccessCallback: this.closeCurrentTab,
|
||||
|
@ -192,7 +170,6 @@ export default {
|
|||
const businessKey = this.$router.currentRoute.params.businessKey
|
||||
this.getInfo(businessKey)
|
||||
this.methodsThree()
|
||||
console.log(this.taskId, 'this.dataForm.taskId')
|
||||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
|
@ -209,7 +186,6 @@ export default {
|
|||
this.$http.get('/resourceMountApply/' + id).then(({ data: res }) => {
|
||||
this.dataForm = res.data.resourceDTO
|
||||
if (this.dataForm) {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
this.flagShow = true
|
||||
}
|
||||
})
|
||||
|
@ -243,7 +219,6 @@ export default {
|
|||
// 如业务KEY已存在,不允许编辑
|
||||
this.fieldDisabled = true
|
||||
// this.id = this.$router.currentRoute.businessKey
|
||||
console.log('id', this.$router.currentRoute.params.businessKey)
|
||||
// }
|
||||
})
|
||||
},
|
||||
|
@ -252,12 +227,12 @@ export default {
|
|||
function (data, type) {
|
||||
if (type === '同意') {
|
||||
// if (this.input !== '') {
|
||||
console.log('this.dataForm', this.dataForm)
|
||||
|
||||
const params = qs.stringify({
|
||||
taskId: this.taskId,
|
||||
comment: this.input || '同意'
|
||||
})
|
||||
console.log(params)
|
||||
|
||||
this.$http
|
||||
.post('/act/task/complete?' + params)
|
||||
.then(({ data: res }) => {
|
||||
|
@ -269,6 +244,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('abilityResourceShelfInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -306,6 +282,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('abilityResourceShelfInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -328,7 +305,7 @@ export default {
|
|||
{ leading: true, trailing: false }
|
||||
),
|
||||
tabRemoveHandle (tabName) {
|
||||
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
|
||||
|
||||
if (tabName === 'home') {
|
||||
return false
|
||||
}
|
||||
|
@ -342,15 +319,26 @@ export default {
|
|||
}
|
||||
// 当前选中tab被删除
|
||||
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||
const tab =
|
||||
// 判断是否有列表页
|
||||
const tab1 = this.$store.state.contentTabs.filter(val => val.name === tabName.substring(0, tabName.indexOf('__')))[0]
|
||||
// 如果没列表页打开最后一个tab
|
||||
const tab2 =
|
||||
this.$store.state.contentTabs[
|
||||
this.$store.state.contentTabs.length - 1
|
||||
]
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||
params: { ...tab.params },
|
||||
query: { ...tab.query }
|
||||
})
|
||||
if (tab1) {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab1.name) ? 'iframe' : tab1.name,
|
||||
params: { ...tab1.params },
|
||||
query: { ...tab1.query }
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab2.name) ? 'iframe' : tab2.name,
|
||||
params: { ...tab2.params },
|
||||
query: { ...tab2.query }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -362,16 +350,26 @@ export default {
|
|||
}
|
||||
.wrapper {
|
||||
}
|
||||
::v-deep .agreeOr > div {
|
||||
display: flex;
|
||||
//align-items: center;
|
||||
.el-input {
|
||||
margin-right: 10px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
::v-deep .agreeOr{
|
||||
padding: 10px 100px;
|
||||
background: #ffffff;
|
||||
}
|
||||
::v-deep .agreeOr > div:first-of-type {
|
||||
padding-left: 20px;
|
||||
color: #212121;
|
||||
font-size: 16px;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
background: url("~@/assets/img/biaoti.png") no-repeat;
|
||||
background-position-y: 2px;
|
||||
|
||||
}
|
||||
::v-deep .agreeOr > div:last-of-type {
|
||||
margin-top: 15px;
|
||||
.el-input {
|
||||
margin-right: 10px;
|
||||
|
||||
}
|
||||
}
|
||||
.blueAll {
|
||||
::v-deep .el-radio-button__inner {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-29 15:59:51
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-30 15:45:35
|
||||
* @LastEditTime: 2022-12-03 16:25:55
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<!-- 流程业务表单 -->
|
||||
|
@ -443,6 +443,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('competencyApplicationInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -478,6 +479,7 @@ export default {
|
|||
return
|
||||
}
|
||||
bus.$emit('competencyApplicationInit')
|
||||
bus.$emit('workInit')
|
||||
this.$message({
|
||||
message: this.$t('prompt.success'),
|
||||
type: 'success',
|
||||
|
@ -514,15 +516,26 @@ export default {
|
|||
}
|
||||
// 当前选中tab被删除
|
||||
if (tabName === this.$store.state.contentTabsActiveName) {
|
||||
const tab =
|
||||
// 判断是否有列表页
|
||||
const tab1 = this.$store.state.contentTabs.filter(val => val.name === tabName.substring(0, tabName.indexOf('__')))[0]
|
||||
// 如果没列表页打开最后一个tab
|
||||
const tab2 =
|
||||
this.$store.state.contentTabs[
|
||||
this.$store.state.contentTabs.length - 1
|
||||
]
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
|
||||
params: { ...tab.params },
|
||||
query: { ...tab.query }
|
||||
})
|
||||
if (tab1) {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab1.name) ? 'iframe' : tab1.name,
|
||||
params: { ...tab1.params },
|
||||
query: { ...tab1.query }
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
name: /^iframe_.+/.test(tab2.name) ? 'iframe' : tab2.name,
|
||||
params: { ...tab2.params },
|
||||
query: { ...tab2.query }
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 启动流程出错回调
|
||||
|
|
|
@ -0,0 +1,197 @@
|
|||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-demo__sysnotice">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getData()">
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.content" dict-type="notice_type" :placeholder="$t('notice.type')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="getData()">{{ $t('query') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="dialogVisible = true">添加公告</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="dialogVisible2 = true">公告周期设置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="dataListLoading" :data="dataList" border
|
||||
style="width: 100%;">
|
||||
<el-table-column prop="content" label="内容" header-align="center" align="center" width="950">
|
||||
</el-table-column>
|
||||
<el-table-column prop="publishTime" label="发布时间" header-align="center" align="center" width="300">
|
||||
</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="viewHandle(scope.row)">
|
||||
详情
|
||||
</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row)">{{ $t('delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination :current-page="dataForm.page" :page-size="dataForm.limit" :total="total"
|
||||
layout="total, prev, pager, next"
|
||||
@current-change="currentChange">
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="添加公告"
|
||||
:visible.sync="dialogVisible"
|
||||
width="30%"
|
||||
:close-on-click-modal="false">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
:maxlength="200"
|
||||
show-word-limit
|
||||
placeholder="请输入公告内容(6-200字)"
|
||||
v-model="submitData.content">
|
||||
</el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
title="设置公告周期"
|
||||
:visible.sync="dialogVisible2"
|
||||
width="30%"
|
||||
:close-on-click-modal="false">
|
||||
<el-input
|
||||
placeholder="请输入公告周期(天)"
|
||||
v-model="cycle">
|
||||
</el-input>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose">取 消</el-button>
|
||||
<el-button type="primary" @click="submitCycle">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import qs from 'qs'
|
||||
import AddOrUpdate from './notice-add-or-update'
|
||||
import { addDynamicRoute } from '@/router'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
cycle: 0,
|
||||
total: 0,
|
||||
dataListLoading: false,
|
||||
dialogVisible: false,
|
||||
dialogVisible2: false,
|
||||
dataList: [],
|
||||
dataForm: {
|
||||
page: 1,
|
||||
limit: 5,
|
||||
content: ''
|
||||
},
|
||||
submitData: {
|
||||
content: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
methods: {
|
||||
currentChange (current) {
|
||||
this.dataForm.page = current
|
||||
this.getData()
|
||||
},
|
||||
getData () {
|
||||
this.$http.get('/sysnoticemanagement/page?' + qs.stringify(this.dataForm)).then(res => {
|
||||
console.log('获取通知数据', res.data.data)
|
||||
this.dataList = res.data.data.list
|
||||
this.total = res.data.data.total
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
getCycle () {
|
||||
this.$http.get('/sys/dict/data/page?dictTypeId=1598237460358852610&page=1&limit=9999').then(res => {
|
||||
console.log('字典', res.data.data)
|
||||
this.cycle = res.data.data.list[0].dictLabel
|
||||
})
|
||||
},
|
||||
handleClose () {
|
||||
this.dialogVisible = false
|
||||
this.dialogVisible2 = false
|
||||
this.submitData.content = ''
|
||||
this.getCycle()
|
||||
},
|
||||
submit () {
|
||||
console.log(this.submitData)
|
||||
if (this.submitData.content.length < 6) {
|
||||
this.$message({
|
||||
message: '最少发布6个字的公告!',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.$http.post('/sysnoticemanagement', this.submitData).then(res => {
|
||||
console.log('获取通知数据', res.data.data)
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
submitCycle () {
|
||||
this.$http.put('/sys/dict/data', {
|
||||
dictLabel: this.cycle,
|
||||
dictTypeId: '1598237460358852610',
|
||||
id: '1598237627208265730'
|
||||
}).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
clear () {
|
||||
this.dialogVisible = false
|
||||
this.dialogVisible2 = false
|
||||
this.submitData.content = ''
|
||||
this.dataForm.content = ''
|
||||
this.dataForm.page = 1
|
||||
this.getData()
|
||||
this.getCycle()
|
||||
},
|
||||
deleteHandle (item) {
|
||||
console.log(item)
|
||||
this.$http.post('/sysnoticemanagement/delete', [item.id]).then(res => {
|
||||
this.clear()
|
||||
})
|
||||
},
|
||||
viewHandle (row) {
|
||||
// 路由参数
|
||||
const routeParams = {
|
||||
routeName: `${this.$route.name}__${row.id}`,
|
||||
title: this.$t('notice.view1'),
|
||||
path: 'notice/notice-view',
|
||||
params: {
|
||||
id: row.id
|
||||
}
|
||||
}
|
||||
// 动态路由
|
||||
addDynamicRoute(routeParams, this.$router)
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getData()
|
||||
this.getCycle()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.text-ellipsis {
|
||||
/*1. 先强制一行内显示文本*/
|
||||
white-space: nowrap;
|
||||
/*2. 超出的部分隐藏*/
|
||||
overflow: hidden;
|
||||
/*3. 文字用省略号替代超出的部分*/
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
::v-deep .el-textarea__inner {
|
||||
resize: none;
|
||||
}
|
||||
</style>
|
|
@ -48,10 +48,12 @@ export default {
|
|||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data
|
||||
}
|
||||
console.log("========================this.dataForm",this.dataForm)
|
||||
}).catch(() => {})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<ren-select v-model="dataForm.gender" dict-type="gender" :placeholder="$t('user.gender')"></ren-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="所属部门">
|
||||
<el-select v-model="dataForm.deptId" :placeholder="$t('infrastructure.department')" clearable>
|
||||
<el-select v-model="dataForm.deptId" :placeholder="$t('infrastructure.department')" clearable filterable >
|
||||
<el-option :label="data.name" v-for="data in deptList" :key="data.id" :value="data.id">{{ data.name
|
||||
}}</el-option>
|
||||
</el-select>
|
||||
|
@ -105,8 +105,8 @@ export default {
|
|||
mixins: [mixinViewModule],
|
||||
data () {
|
||||
return {
|
||||
//审核权限配置检查
|
||||
checkVisible:false,
|
||||
// 审核权限配置检查
|
||||
checkVisible: false,
|
||||
mixinViewModuleOptions: {
|
||||
getDataListURL: '/sys/user/page',
|
||||
getDataListIsPage: true,
|
||||
|
@ -131,14 +131,14 @@ export default {
|
|||
this.getDeptList()
|
||||
},
|
||||
methods: {
|
||||
check(){
|
||||
this.checkVisible=true
|
||||
this.$nextTick(() => {
|
||||
check () {
|
||||
this.checkVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.check.init()
|
||||
})
|
||||
},
|
||||
refreshCheck(val){
|
||||
this.checkVisible=val
|
||||
refreshCheck (val) {
|
||||
this.checkVisible = val
|
||||
},
|
||||
reset () {
|
||||
this.dataForm.username = ''
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
<!-- 部门发布动态 -->
|
||||
<div class="left container">
|
||||
<content-title :title="title.dynamic"></content-title>
|
||||
<div class="dynamic-box" v-loading="loadingDynamic">
|
||||
<div class="dynamicView" v-for="(item, index) in list" :key="index" :number="index + 1" :item="item">
|
||||
<div v-if="(list.length>0)" class="dynamic-box" v-loading="loadingDynamic">
|
||||
<div class="dynamicView" v-for="(item, index) in list" :key="index" :number="index + 1" :item="item">
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<div class="left">{{ item.createDate }}</div>
|
||||
|
@ -16,6 +16,13 @@
|
|||
</div>
|
||||
<div class="more" @click="jumpTo">查看更多 ></div>
|
||||
</div>
|
||||
<div
|
||||
class="no-data"
|
||||
v-else
|
||||
style="display: flex; align-items: center; justify-content: center"
|
||||
>
|
||||
暂无数据
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- 部门推荐能力 -->
|
||||
|
@ -156,7 +163,14 @@ export default {
|
|||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.no-data {
|
||||
width: 800px;
|
||||
height: 335px;
|
||||
line-height: 335px;
|
||||
font-size: 16px;
|
||||
color: #212121;
|
||||
text-align: center;
|
||||
}
|
||||
.container {
|
||||
background: #fff;
|
||||
width: 800px;
|
||||
|
|
|
@ -68,7 +68,7 @@ export default {
|
|||
const valueItem = y + '-' + m + '-' + d // 组合
|
||||
days.unshift(valueItem) // 添加至数组
|
||||
}
|
||||
console.log('最近七天日期:', days)
|
||||
|
||||
|
||||
return days
|
||||
},
|
||||
|
@ -88,6 +88,7 @@ export default {
|
|||
endDate: this.endDate
|
||||
},
|
||||
(res) => {
|
||||
|
||||
// if (res.data.code !== 0) {
|
||||
// return
|
||||
// }
|
||||
|
@ -111,7 +112,7 @@ export default {
|
|||
ydata: []
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.$nextTick(() => {
|
||||
trendLineChart('trendId', this.trendChartData)
|
||||
})
|
||||
|
@ -124,7 +125,7 @@ export default {
|
|||
handleTitleSwitch (idx) {
|
||||
this.selectedTitle = idx
|
||||
this.startDate = this.getData(this.selectedTitle == 0 ? 7 : 30)
|
||||
console.log(this.startDate)
|
||||
|
||||
this.initChart()
|
||||
},
|
||||
getData (aa) {
|
||||
|
|
|
@ -35,7 +35,7 @@ import CenterView from '../workBench/components/center-view.vue'
|
|||
import DeptChartView from '../workBench/components/dept-chart-view.vue'
|
||||
import deptTodoView from '../workBench/components/dept-todo-view.vue'
|
||||
import * as Apis from './api.js'
|
||||
|
||||
import bus from '@/views/bus.js'
|
||||
export default {
|
||||
components: {
|
||||
deptTodoView,
|
||||
|
@ -87,6 +87,14 @@ export default {
|
|||
loadingRequire: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
bus.$off('workInit')
|
||||
bus.$on('workInit', () => {
|
||||
console.log("刷新工作台===================")
|
||||
this.getToDo()
|
||||
this.getHasToDo()
|
||||
})
|
||||
},
|
||||
mounted () {
|
||||
// 部门待办
|
||||
this.getToDo()
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2020-07-07 16:03:23
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-01 12:32:58
|
||||
* @LastEditTime: 2022-12-08 13:42:49
|
||||
* @Description: 系统静态参数配置
|
||||
*/
|
||||
var _global = {}
|
||||
|
@ -68,7 +68,7 @@ var CONFIGITEM = {
|
|||
// cameraUrl: '192.168.124.236:9537', // 远雄(不挂vpn可直接连)
|
||||
},
|
||||
backUrl: 'http://10.134.135.9:9797',
|
||||
apiURL: 'http://10.134.135.92:8888/renren-admin',
|
||||
apiURL: 'http://10.134.135.9:8888/renren-admin',
|
||||
// apiURL: 'http://192.168.124.233:8888/ucs-admin',
|
||||
// previewUrl: 'http://10.134.135.9:9796/',
|
||||
// websocketURL: '10.134.135.9:8888/ucs-admin', // 正式环境
|
||||
|
|
|
@ -1,117 +1,132 @@
|
|||
* {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.mask-layer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.model-container {
|
||||
width: 446px;
|
||||
height: 194px;
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
color: #707070;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-moz-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
-o-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 99999999999;
|
||||
width: 446px;
|
||||
height: 194px;
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
color: #707070;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-moz-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
-o-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
z-index: 99999999999;
|
||||
}
|
||||
|
||||
.model-container .model-title {
|
||||
height: 40px;
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
padding-top: 10px;
|
||||
background: #007fff;
|
||||
text-align: left;
|
||||
height: 40px;
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
padding-top: 10px;
|
||||
background: #007fff;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.model-container .title-span {
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
font-size: 18px !important;
|
||||
color: #ffffff;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
font-size: 18px !important;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.model-container .model-close {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
top: 10px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
cursor: pointer;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAALZJREFUOE9jZACC////ZwIpcyBOZGRk/A8SIwSAehqAatiB6itBahmBAhVAuh2qcRGQTiBkGNSQeqie6UA6G2QQyGSYIEgOr2E41UO9RpRh+CxlhIUFIZcRkocbhM9lUK/j9T6KQTgMuwgU10eKRaxhiGEQDsNg5uCMCKwGQQ07AKTtkVxyF8hWxZU0aOciLLFDehjhimKSYo1QOiEkDw4jQoqISbTUy2tUy/1Qr1FeHiElOIqYAKkPngur14nOAAAAAElFTkSuQmCC);
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
top: 10px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
cursor: pointer;
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABHNCSVQICAgIfAhkiAAAALZJREFUOE9jZACC////ZwIpcyBOZGRk/A8SIwSAehqAatiB6itBahmBAhVAuh2qcRGQTiBkGNSQeqie6UA6G2QQyGSYIEgOr2E41UO9RpRh+CxlhIUFIZcRkocbhM9lUK/j9T6KQTgMuwgU10eKRaxhiGEQDsNg5uCMCKwGQQ07AKTtkVxyF8hWxZU0aOciLLFDehjhimKSYo1QOiEkDw4jQoqISbTUy2tUy/1Qr1FeHiElOIqYAKkPngur14nOAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
.model-container .model-content {
|
||||
margin-top: 24px;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
.model-container .controls {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
padding-top: 40px;
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
padding-top: 40px;
|
||||
}
|
||||
|
||||
.model-container a {
|
||||
display: inline-block;
|
||||
width: 49%;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
width: 49%;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.ant-message {
|
||||
z-index: 10010!important;
|
||||
}
|
||||
.ant-modal-wrap{
|
||||
z-index: 10010!important;
|
||||
}
|
||||
.ant-notification {
|
||||
z-index: 10012!important;
|
||||
}
|
||||
.ant-popconfirm {
|
||||
z-index: 10010!important;
|
||||
}
|
||||
.ant-tooltip{
|
||||
z-index: 10010!important;
|
||||
}
|
||||
|
||||
.model-container .confirmChrome {
|
||||
width: 140px;
|
||||
height: 36px;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
font-size: 16px;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
color: #fff;
|
||||
line-height: 36px;
|
||||
border-radius: 6px;
|
||||
width: 140px;
|
||||
height: 36px;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
font-size: 16px;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
color: #fff;
|
||||
line-height: 36px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.model-container .confirm360 {
|
||||
width: 140px;
|
||||
height: 36px;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
font-size: 16px;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
color: #fff;
|
||||
line-height: 36px;
|
||||
margin-left: 50px;
|
||||
border-radius: 6px;
|
||||
width: 140px;
|
||||
height: 36px;
|
||||
background: #0087ff;
|
||||
border-radius: 0.04rem !important;
|
||||
font-size: 16px;
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
color: #fff;
|
||||
line-height: 36px;
|
||||
margin-left: 50px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
src: url('~@/assets/home/font/Alibaba-PuHuiTi-Light.otf');
|
||||
font-family: 'Alibaba PuHuiTi';
|
||||
src: url('~@/assets/home/font/Alibaba-PuHuiTi-Light.otf');
|
||||
}
|
||||
|
||||
/* 气泡提示框按钮居中 */
|
||||
.ant-popover-inner-content .ant-popover-buttons {
|
||||
text-align: center;
|
||||
text-align: center;
|
||||
}
|
||||
.ApplicationTopDetails-tooltip-card {
|
||||
max-width: 9rem !important;
|
||||
min-width: 6rem !important;
|
||||
max-height: 6rem !important;
|
||||
overflow-y: auto;
|
||||
}
|
||||
max-width: 9rem !important;
|
||||
min-width: 6rem !important;
|
||||
max-height: 6rem !important;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-05-06 11:12:0011-18 19:07:53
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-01 12:33:18
|
||||
* @LastEditTime: 2022-12-08 13:43:12
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -92,13 +92,31 @@
|
|||
if (res.data.code == 0) {
|
||||
realName = res.data.data.realName
|
||||
}
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
800,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
if (realName.length > 13) {
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
800,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
} else if (realName.length > 8) {
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
600,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
} else {
|
||||
onWholeWaterMark(
|
||||
[realName, moment().format('YYYY-MM-DD')],
|
||||
450,
|
||||
200,
|
||||
24,
|
||||
40
|
||||
)
|
||||
}
|
||||
getCategoryTreePage({
|
||||
page: 1,
|
||||
limit: 999,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-04-01 19:19:40
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-21 16:35:03
|
||||
* @LastEditTime: 2022-12-06 11:43:03
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
@ -302,7 +302,7 @@ export function workdynamicsDetails(params) {
|
|||
params,
|
||||
})
|
||||
}
|
||||
//工作状态详情
|
||||
// 应用资源 组件服务左侧树
|
||||
export function selectDeptList(data) {
|
||||
return request({
|
||||
url: '/resource/selectDeptList',
|
||||
|
@ -310,7 +310,15 @@ export function selectDeptList(data) {
|
|||
data,
|
||||
})
|
||||
}
|
||||
//工作状态详情
|
||||
// 数据资源左侧树
|
||||
export function getDataResourceDeptList(data) {
|
||||
return request({
|
||||
url: '/resource/getDataResourceDeptList',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
export function updateRes(data) {
|
||||
return request({
|
||||
url: '/resource/update',
|
||||
|
@ -572,3 +580,11 @@ export function delApplyCamera(data) {
|
|||
data,
|
||||
})
|
||||
}
|
||||
// 公告通知
|
||||
export function sysnoticemanagement(params) {
|
||||
return request({
|
||||
url: '/sysnoticemanagement/page',
|
||||
method: 'get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
|
|
@ -337,3 +337,12 @@ export function getDeviceDetail(deviceId) {
|
|||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 催办
|
||||
export function treminders(data) {
|
||||
return request({
|
||||
url: '/reminders/treminders',
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
* @Author: hisense.wuhongjian
|
||||
* @Date: 2022-03-29 17:48:03
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-10-10 16:56:17
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-12-05 15:27:26
|
||||
* @Description: 告诉大家这是什么
|
||||
*/
|
||||
import { storage, tokenTableName } from '@/config'
|
||||
|
@ -42,8 +42,9 @@ export function setAccessToken(accessToken) {
|
|||
} else if ('sessionStorage' === storage) {
|
||||
return sessionStorage.setItem(tokenTableName, accessToken)
|
||||
} else if ('cookie' === storage) {
|
||||
let expires = new Date(new Date() * 1 + 12 * 60 * 60 * 1000)
|
||||
return cookie.set(tokenTableName, accessToken, { expires: expires })
|
||||
// let expires = new Date(new Date() * 1 + 12 * 60 * 60 * 1000)
|
||||
// return cookie.set(tokenTableName, accessToken, { expires: expires })
|
||||
return cookie.set(tokenTableName, accessToken)
|
||||
// return cookie.set(tokenTableName, '213124123412341234')
|
||||
} else {
|
||||
return localStorage.setItem(tokenTableName, accessToken)
|
||||
|
|
|
@ -24,6 +24,10 @@ let loadingInstance
|
|||
*/
|
||||
const handleCode = (code, msg, res) => {
|
||||
switch (code) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 200:
|
||||
break
|
||||
case 401:
|
||||
store.dispatch('user/resetAll').catch(() => {})
|
||||
break
|
||||
|
@ -43,6 +47,8 @@ const handleCode = (code, msg, res) => {
|
|||
case 302:
|
||||
// window.location.href = redirect
|
||||
break
|
||||
default:
|
||||
message.error(msg || '接口异常')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<div class="left-list1">排行</div>
|
||||
<div class="left-list2">部门名称</div>
|
||||
<div class="left-list1">应用数</div>
|
||||
<div class="left-list1" style="color: #1ffefd">贡献金额</div>
|
||||
<div class="left-list1" style="color: #1ffefd">节省金额</div>
|
||||
</div>
|
||||
<div style=" height: 1.7rem; overflow-y: auto;overflow-x: hidden;width: 100%;">
|
||||
<div class="left-list" v-for="(item, index) in top5DeptFundList">
|
||||
|
@ -105,7 +105,7 @@
|
|||
<div class="left-list1">序号</div>
|
||||
<div class="left-list2">部门名称</div>
|
||||
<div class="left-list1">应用数</div>
|
||||
<div class="left-list1" style="color: #1ffefd">贡献金额</div>
|
||||
<div class="left-list1" style="color: #1ffefd">节省金额</div>
|
||||
</div>
|
||||
<div style="height: 200px; overfolw-y: auto">
|
||||
<div
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 464 B |
|
@ -8,13 +8,14 @@
|
|||
<div style="color: #bed1df; font-size: 32px">累计节省财政资金</div>
|
||||
<div class="area-right">
|
||||
<!-- <div class="mianJi">累计节省财政资金</div> -->
|
||||
<template v-for="(item, index) in saveMonmy">
|
||||
<template v-for="(item, index) in saveMonmy">
|
||||
<p v-if="item == '.'" :key="index">
|
||||
{{ item }}
|
||||
</p>
|
||||
<span v-else>{{ item }}</span>
|
||||
<span @click="jumpToPage" v-else>{{ item }}</span>
|
||||
</template>
|
||||
<div class="mianJi">万元</div>
|
||||
<div class="mianJi" >万元</div>
|
||||
<!-- <div stype="margin-left:10px" ><img src="./image/jump.png"/></div> -->
|
||||
</div>
|
||||
<div style="color: #bed1df; font-size: 16px">
|
||||
注:资源参考价格由部门提供或参考市场价格设定
|
||||
|
@ -50,6 +51,7 @@
|
|||
import ReservoirRight from './components/ReservoirRight'
|
||||
import ReservoirBottom from './components/ReservoirBottom'
|
||||
import { NumbersConvertedToArrays } from '@/utils/arrayMethod.js'
|
||||
import Cookies from 'js-cookie'
|
||||
export default {
|
||||
//import引入的组件需要注入到对象中才能使用
|
||||
components: {
|
||||
|
@ -87,6 +89,11 @@
|
|||
watch: {},
|
||||
//方法集合
|
||||
methods: {
|
||||
//跳转后台资金报表 详情
|
||||
jumpToPage(){
|
||||
Cookies.remove('JSESSIONID')
|
||||
window.open(window.SITE_CONFIG.backUrl + '/#/assetReport-index')
|
||||
},
|
||||
getSaveMoney() {
|
||||
getApplyPriceCount().then((res) => {
|
||||
this.saveMonmy = NumbersConvertedToArrays(res.data.data)
|
||||
|
@ -160,7 +167,7 @@
|
|||
height: 1.8rem;
|
||||
}
|
||||
.header1 {
|
||||
top: 78px;
|
||||
top: 70px;
|
||||
position: absolute;
|
||||
left: 795px;
|
||||
align-items: center;
|
||||
|
@ -174,6 +181,7 @@
|
|||
color: #bed1df;
|
||||
margin-left: 100px;
|
||||
span {
|
||||
cursor: pointer;
|
||||
width: 36px;
|
||||
// height: 45px;
|
||||
// line-height: 45px;
|
||||
|
@ -187,6 +195,10 @@
|
|||
margin-right: 3px;
|
||||
|
||||
font-family: DinPro-Bold;
|
||||
|
||||
}
|
||||
span:hover{
|
||||
color: #f2bc0a;
|
||||
}
|
||||
.mianJi {
|
||||
margin-top: 6px;
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
<template #renderItem="{ item }">
|
||||
<a-list-item>
|
||||
<div class="toptitle">
|
||||
<a-tooltip placement="topLeft">
|
||||
<template #title>{{ item.demandSubject }}</template>
|
||||
<a-tooltip placement="topLeft" v-if="item.demandSubject.length>20">
|
||||
<template #title>{{ item.demandSubject}}</template>
|
||||
<span
|
||||
@click="showDetail(item)"
|
||||
style="cursor: pointer"
|
||||
|
@ -38,15 +38,19 @@
|
|||
{{ item.demandSubject }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
|
||||
<span v-else>
|
||||
{{ item.demandSubject }}
|
||||
</span>
|
||||
<span class="time">{{ item.createDate }}</span>
|
||||
</div>
|
||||
<a-tooltip placement="topLeft">
|
||||
<template #title>描述: {{ item.demandDetails }}</template>
|
||||
<div class="bottomdesc">
|
||||
|
||||
<div class="bottomdesc" v-if="item.demandDetails.length<100">
|
||||
描述: {{ item.demandDetails || '--' }}
|
||||
</div>
|
||||
</a-tooltip>
|
||||
<div class="bottomdesc" v-else>
|
||||
描述: {{ item.demandDetails.slice(0,100) }}...<span style="cursor:pointer;color:#1492ff" @click="showDetail(item)">查看更多>></span>
|
||||
</div>
|
||||
|
||||
</a-list-item>
|
||||
</template>
|
||||
</a-list>
|
||||
|
@ -194,6 +198,7 @@ onMounted(() => {
|
|||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
||||
.main-cont {
|
||||
margin-top: 64px;
|
||||
width: 100%;
|
||||
|
@ -260,6 +265,7 @@ onMounted(() => {
|
|||
box-shadow: 10px 8px 10px 3px #9dc6ea;
|
||||
padding: 20px;
|
||||
.toptitle {
|
||||
cursor: pointer;
|
||||
margin-bottom: 10px;
|
||||
& > span:first-child {
|
||||
display: -webkit-box;
|
||||
|
@ -287,7 +293,7 @@ onMounted(() => {
|
|||
.bottomdesc {
|
||||
display: -webkit-box;
|
||||
/*设置为弹性盒子*/
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-line-clamp: 2;
|
||||
/*最多显示2行*/
|
||||
overflow: hidden;
|
||||
/*超出隐藏*/
|
||||
|
|
|
@ -60,10 +60,10 @@
|
|||
申请使用
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addShoppingCart()">
|
||||
<template #icon>
|
||||
<!-- <template #icon>
|
||||
<shopping-cart-outlined />
|
||||
</template>
|
||||
加入申购车
|
||||
</template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入申购车
|
||||
</a-button>
|
||||
<a-button type="primary" @click="goTOCollection()">
|
||||
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
|
||||
|
@ -95,7 +95,7 @@ const router = useRouter()
|
|||
const applicationArea = ref('')
|
||||
const deploymentLocation = ref('') //部署位置
|
||||
//加入申购车
|
||||
const addShoppingCart = () => {
|
||||
const addShoppingCart = () => {
|
||||
if (props.dataList.isInShoppingCart) {
|
||||
message.error('已经加入申购车了')
|
||||
} else {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-09 09:29:29
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-08-27 15:43:57
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-02 15:08:26
|
||||
* @Description: 应用详情
|
||||
-->
|
||||
<template>
|
||||
|
@ -16,8 +16,14 @@
|
|||
<!-- <p style="cursor: pointer; filter: blur(4px)">
|
||||
{{ dataFrom.link }}
|
||||
</p> -->
|
||||
<p style="cursor: pointer;"
|
||||
:class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">
|
||||
<p
|
||||
style="cursor: pointer"
|
||||
:class="{
|
||||
'blur-word': !(approveStatus == '通过' && whoShow1.itShowXiHaiAn
|
||||
? false
|
||||
: true),
|
||||
}"
|
||||
>
|
||||
{{ dataFrom.link }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
|
@ -27,10 +33,20 @@
|
|||
<a-tooltip>
|
||||
<template #title>请申请后查看</template>
|
||||
<!-- <p style="filter: blur(4px)">{{ dataFrom.number }}</p> -->
|
||||
<p :class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">{{ dataFrom.number
|
||||
}}</p>
|
||||
<p
|
||||
:class="{
|
||||
'blur-word': !(approveStatus == '通过' && whoShow1.itShowXiHaiAn
|
||||
? false
|
||||
: true),
|
||||
}"
|
||||
>
|
||||
{{ dataFrom.number }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<div @click="copyFunction(dataFrom.number, '复制账号')" v-if="dataFrom.number != '' && flag">
|
||||
<div
|
||||
@click="copyFunction(dataFrom.number, '复制账号')"
|
||||
v-if="dataFrom.number != '' && flag"
|
||||
>
|
||||
复制账号
|
||||
</div>
|
||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||
|
@ -40,9 +56,21 @@
|
|||
<a-tooltip>
|
||||
<template #title>请申请后查看</template>
|
||||
<p style="filter: blur(4px)">{{ dataFrom.password }}</p>
|
||||
<p style="filter: blur(4px)" :class="{ 'blur-word': approveStatus == '通过' && whoShow1.itShowXiHaiAn ? false : true}">{{ dataFrom.password }}</p>
|
||||
<p
|
||||
style="filter: blur(4px)"
|
||||
:class="{
|
||||
'blur-word': !(approveStatus == '通过' && whoShow1.itShowXiHaiAn
|
||||
? false
|
||||
: true),
|
||||
}"
|
||||
>
|
||||
{{ dataFrom.password }}
|
||||
</p>
|
||||
</a-tooltip>
|
||||
<div @click="copyFunction(dataFrom.password2, '复制密码')" v-if="dataFrom.password2 != '' && flag">
|
||||
<div
|
||||
@click="copyFunction(dataFrom.password2, '复制密码')"
|
||||
v-if="dataFrom.password2 != '' && flag"
|
||||
>
|
||||
复制密码
|
||||
</div>
|
||||
<!-- <div v-else id="zanwu">暂无</div> -->
|
||||
|
@ -51,185 +79,185 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
let flag = ref(true)
|
||||
const whoShow1 = ref(whoShow)
|
||||
console.log('whoShow1', whoShow1.value.itShowQingDao)
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
const dataFrom = ref({
|
||||
linkName: '访问地址',
|
||||
link: '',
|
||||
numberName: '试用账号',
|
||||
number: '',
|
||||
passwordName: '试用密码',
|
||||
password: '**************************',
|
||||
password2: '',
|
||||
})
|
||||
console.log('props.dataList------------>', props.dataList);
|
||||
const approveStatus = ref('')
|
||||
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.approveStatus;
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle.vue'
|
||||
import { ref, defineProps, watch } from 'vue'
|
||||
import { message } from 'ant-design-vue'
|
||||
let flag = ref(true)
|
||||
const whoShow1 = ref(whoShow)
|
||||
console.log('whoShow1', whoShow1.value.itShowQingDao)
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
// }
|
||||
}
|
||||
const clickLink = (link) => {
|
||||
window.open(link)
|
||||
}
|
||||
//复制方法
|
||||
const copyFunction = (data, name) => {
|
||||
if (data !== '') {
|
||||
let url = data
|
||||
let oInput = document.createElement('input')
|
||||
oInput.value = url
|
||||
document.body.appendChild(oInput)
|
||||
oInput.select() // 选择对象;
|
||||
console.log(oInput.value)
|
||||
document.execCommand('Copy') // 执行浏览器复制命令
|
||||
oInput.remove() // 执行浏览器复制命令
|
||||
message.success(name + '成功')
|
||||
} else {
|
||||
message.error('复制为空')
|
||||
}
|
||||
}
|
||||
message.config({
|
||||
top: '100px', // 距离顶部的位置
|
||||
})
|
||||
// const success = () => {
|
||||
// message.success({
|
||||
// // content: 'This is a prompt message with custom className and style',
|
||||
// className: 'custom-class',
|
||||
// style: {},
|
||||
// })
|
||||
// }
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = props.dataList.approveStatus
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
const dataFrom = ref({
|
||||
linkName: '访问地址',
|
||||
link: '',
|
||||
numberName: '试用账号',
|
||||
number: '',
|
||||
passwordName: '试用密码',
|
||||
password: '**************************',
|
||||
password2: '',
|
||||
})
|
||||
console.log('props.dataList------------>', props.dataList)
|
||||
const approveStatus = ref('')
|
||||
|
||||
if (props.dataList.infoList) {
|
||||
let obj = props.dataList.approveStatus
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
// }
|
||||
}
|
||||
const clickLink = (link) => {
|
||||
window.open(link)
|
||||
}
|
||||
//复制方法
|
||||
const copyFunction = (data, name) => {
|
||||
if (data !== '') {
|
||||
let url = data
|
||||
let oInput = document.createElement('input')
|
||||
oInput.value = url
|
||||
document.body.appendChild(oInput)
|
||||
oInput.select() // 选择对象;
|
||||
console.log(oInput.value)
|
||||
document.execCommand('Copy') // 执行浏览器复制命令
|
||||
oInput.remove() // 执行浏览器复制命令
|
||||
message.success(name + '成功')
|
||||
} else {
|
||||
message.error('复制为空')
|
||||
}
|
||||
}
|
||||
)
|
||||
message.config({
|
||||
top: '100px', // 距离顶部的位置
|
||||
})
|
||||
// const success = () => {
|
||||
// message.success({
|
||||
// // content: 'This is a prompt message with custom className and style',
|
||||
// className: 'custom-class',
|
||||
// style: {},
|
||||
// })
|
||||
// }
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
let obj = props.dataList.approveStatus
|
||||
approveStatus.value = props.dataList.approveStatus
|
||||
if (obj !== '通过' && whoShow1.value.itShowQingDao) {
|
||||
flag.value = false
|
||||
}
|
||||
dataFrom.value.link = props.dataList.link
|
||||
props.dataList.infoList.map((item) => {
|
||||
if (item.attrType == '试用用户名' || item.attrType == '试用账号') {
|
||||
dataFrom.value.number = item.attrValue
|
||||
} else if (item.attrType == '试用密码') {
|
||||
dataFrom.value.password2 = item.attrValue
|
||||
}
|
||||
})
|
||||
if (dataFrom.value.password2 === '') {
|
||||
dataFrom.value.password = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.algorithm-on-trial {
|
||||
padding: 0.8rem 0px 0.8rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.main {
|
||||
margin-top: 0.3rem;
|
||||
width: 13rem;
|
||||
height: 2.5rem;
|
||||
background: url('~@/assets/detailsAll/kfzj_sybg.png') no-repeat;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
.algorithm-on-trial {
|
||||
padding: 0.8rem 0px 0.8rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.main-left {
|
||||
border-right: 0.01rem #ffffff solid;
|
||||
padding-left: 0.7rem;
|
||||
padding-right: 1rem;
|
||||
.main {
|
||||
margin-top: 0.3rem;
|
||||
width: 13rem;
|
||||
height: 2.5rem;
|
||||
background: url('~@/assets/detailsAll/kfzj_sybg.png') no-repeat;
|
||||
display: grid;
|
||||
grid-template-columns: 33.33% 33.33% 33.33%;
|
||||
align-items: center;
|
||||
|
||||
&>p {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
word-break: break-all;
|
||||
-webkit-box-orient: vertical;
|
||||
.main-left {
|
||||
border-right: 0.01rem #ffffff solid;
|
||||
padding-left: 0.7rem;
|
||||
padding-right: 1rem;
|
||||
|
||||
& > p {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
word-break: break-all;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
}
|
||||
|
||||
.main-center {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.main-right {
|
||||
padding-right: 0.7rem;
|
||||
}
|
||||
|
||||
& > div > p:first-child {
|
||||
font-size: 0.26rem;
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
& > div > p:nth-child(2) {
|
||||
font-size: 0.22rem;
|
||||
color: #ffffff;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
|
||||
& > div:first-child > p:last-child {
|
||||
text-decoration: underline;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
& > div > div:last-child {
|
||||
height: 0.34rem;
|
||||
width: 1.1rem;
|
||||
border: 0.01rem solid #ffffff;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.18rem;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
}
|
||||
|
||||
.main-center {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.main-right {
|
||||
padding-right: 0.7rem;
|
||||
}
|
||||
|
||||
&>div>p:first-child {
|
||||
font-size: 0.26rem;
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
&>div>p:nth-child(2) {
|
||||
font-size: 0.22rem;
|
||||
color: #ffffff;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
|
||||
&>div:first-child>p:last-child {
|
||||
text-decoration: underline;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
&>div>div:last-child {
|
||||
#zanwu {
|
||||
height: 0.34rem;
|
||||
width: 1.1rem;
|
||||
border: 0.01rem solid #ffffff;
|
||||
border-radius: 0.06rem;
|
||||
font-size: 0.18rem;
|
||||
font-size: 0.24rem;
|
||||
color: #ffffff;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
line-height: 0.34rem;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#zanwu {
|
||||
height: 0.34rem;
|
||||
width: 1.1rem;
|
||||
font-size: 0.24rem;
|
||||
color: #ffffff;
|
||||
border: 0;
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
}
|
||||
|
||||
.blur-word {
|
||||
filter: blur(4px);
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.custom-class {
|
||||
/* top: 100px; */
|
||||
}
|
||||
.custom-class {
|
||||
/* top: 100px; */
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -64,8 +64,8 @@
|
|||
type="primary"
|
||||
@click="addShoppingCart()"
|
||||
>
|
||||
<template #icon><shopping-cart-outlined /></template>
|
||||
加入购物车
|
||||
<!-- <template #icon><shopping-cart-outlined /></template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入购物车
|
||||
</a-button>
|
||||
<a-button type="primary" @click="goTOCollection()">
|
||||
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
|
||||
|
|
|
@ -57,10 +57,10 @@
|
|||
申请使用
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addShoppingCart()">
|
||||
<template #icon>
|
||||
<!-- <template #icon>
|
||||
<shopping-cart-outlined />
|
||||
</template>
|
||||
加入申购车
|
||||
</template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入申购车
|
||||
</a-button>
|
||||
<a-button type="primary" @click="goTOCollection()">
|
||||
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
|
||||
|
|
|
@ -55,8 +55,8 @@
|
|||
申请使用
|
||||
</a-button>
|
||||
<a-button type="primary" @click="addShoppingCart()">
|
||||
<template #icon><shopping-cart-outlined /></template>
|
||||
加入购物车
|
||||
<!-- <template #icon><shopping-cart-outlined /></template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入购物车
|
||||
</a-button>
|
||||
<a-button type="primary" @click="goTOCollection()">
|
||||
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
|
||||
|
|
|
@ -63,8 +63,8 @@
|
|||
).length === 0
|
||||
"
|
||||
>
|
||||
<template #icon><shopping-cart-outlined /></template>
|
||||
加入申购车
|
||||
<!-- <template #icon><shopping-cart-outlined /></template> -->
|
||||
{{ props.dataList.isInShoppingCart ? '已' : '' }}加入申购车
|
||||
</a-button>
|
||||
<a-button type="primary" @click="goTOCollection()">
|
||||
{{ props.dataList.isCollect == 'true' ? '已' : '' }}收藏
|
||||
|
|
|
@ -2,11 +2,18 @@
|
|||
<!-- 青岛 -->
|
||||
<div class="details-pageconetent" v-if="whoShow1 && whoShow1.itShowQingDao">
|
||||
<home-header></home-header>
|
||||
<div class="details-pageconetent-left" v-if="Cardsname != '基础设施'">
|
||||
<div
|
||||
class="details-pageconetent-left"
|
||||
v-if="
|
||||
Cardsname === '应用资源' ||
|
||||
Cardsname === '组件服务' ||
|
||||
Cardsname === '数据资源'
|
||||
"
|
||||
>
|
||||
<detailsPageconetentTree />
|
||||
</div>
|
||||
<div class="details-pageconetent-left" v-else>
|
||||
<detailsPageInfrastructureTree v-if="flag != '6'" />
|
||||
<div class="details-pageconetent-left" v-else-if="Cardsname === '基础设施'">
|
||||
<detailsPageInfrastructureTree v-if="flag == '1'" />
|
||||
</div>
|
||||
<div class="top" v-if="Cardsname != '知识库' && Cardsname != '基础设施'">
|
||||
<div class="resultListSearchInput-father">
|
||||
|
@ -1265,7 +1272,17 @@
|
|||
if (Cardsname.value === arr[0] && arr[0] == '基础设施') {
|
||||
getAppResources2()
|
||||
} else {
|
||||
changeCards(arr[0])
|
||||
let newQuery = JSON.parse(
|
||||
JSON.stringify(router.currentRoute.value.query)
|
||||
)
|
||||
newQuery.str = searchValue.value
|
||||
router
|
||||
.replace({
|
||||
query: newQuery,
|
||||
})
|
||||
.then(() => {
|
||||
changeCards(arr[0])
|
||||
})
|
||||
}
|
||||
if (!mapFlag) {
|
||||
return
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
<div class="algorithm-top-details">
|
||||
<div class="left">
|
||||
<div class="top">
|
||||
<a-tooltip placement="top">
|
||||
<a-tooltip placement="top" v-if="(props.dataList.name.length>20)">
|
||||
<template #title>{{ props.dataList.name }}</template>
|
||||
<span class="name">
|
||||
{{ props.dataList.name }}
|
||||
</span>
|
||||
</a-tooltip>
|
||||
<!-- <span class="name">{{ props.dataList.name }}</span> -->
|
||||
<span class="name" v-else>{{ props.dataList.name }}</span>
|
||||
<div class="label-content">
|
||||
<p class="lable-father">
|
||||
<span class="label" v-if="props.dataList.type">
|
||||
|
@ -27,29 +27,55 @@
|
|||
<span class="label" v-if="props.dataList.shareCondition">
|
||||
{{ props.dataList.shareCondition }}
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
<!-- <span class="label">免费</span> -->
|
||||
|
||||
</div>
|
||||
<div class="main">
|
||||
<!-- <a-tooltip placement="top">
|
||||
<template #title>应用领域:{{ applicationArea }}</template>
|
||||
<div>应用领域:{{ applicationArea }}</div>
|
||||
</a-tooltip> -->
|
||||
<a-tooltip placement="top">
|
||||
<!-- <a-tooltip placement="top">
|
||||
<template #title>{{ props.dataList.description }}</template>
|
||||
<div>
|
||||
{{ props.dataList.description }}
|
||||
</div>
|
||||
</a-tooltip>
|
||||
<div style="padding-top:20px">
|
||||
<span >场景入口:</span>
|
||||
<span style="margin-left:10px;cursor: pointer; text-decoration: underline;"
|
||||
@click="openScene(props.dataList.sceneUrl)">{{(props.dataList.sceneUrl)}}</span>
|
||||
</div>
|
||||
</a-tooltip> -->
|
||||
<div class="bottomdesc" v-if="(props.dataList.description.length < 183)">
|
||||
场景描述: {{ props.dataList.description || '--' }}
|
||||
</div>
|
||||
<div class="bottomdesc" v-else-if="dowmOrUp === '展开>>'">
|
||||
场景描述: {{ props.dataList.description.slice(0, 183) }}...
|
||||
<span
|
||||
style="cursor: pointer; color: rgb(241 211 112)"
|
||||
@click="showDetail(dowmOrUp)"
|
||||
>
|
||||
{{ dowmOrUp }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottomdesc1" v-else>
|
||||
场景描述: {{ props.dataList.description }}
|
||||
<span
|
||||
style="cursor: pointer; color: rgb(241 211 112)"
|
||||
@click="showDetail(dowmOrUp)"
|
||||
>
|
||||
{{ dowmOrUp }}
|
||||
</span>
|
||||
</div>
|
||||
<div style="padding-top: 20px">
|
||||
<span>场景入口:</span>
|
||||
<span
|
||||
style="
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
"
|
||||
@click="openScene(props.dataList.sceneUrl)"
|
||||
>
|
||||
{{ props.dataList.sceneUrl }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom" v-if="props.dataList.id">
|
||||
<!-- 融合服务 存在fuseResourceList -->
|
||||
|
@ -80,287 +106,299 @@
|
|||
</a-button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
// import { ShoppingCartOutlined } from '@ant-design/icons-vue'
|
||||
import { defineProps, ref, watch } from 'vue'
|
||||
import { scInsert, scDel } from '@/api/personalCenter'
|
||||
import { sgcInsert } from '@/api/home'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { message } from 'ant-design-vue'
|
||||
// 获取当前路由地址
|
||||
const router = useRouter()
|
||||
// import { ShoppingCartOutlined } from '@ant-design/icons-vue'
|
||||
import { defineProps, ref, watch } from 'vue'
|
||||
import { scInsert, scDel } from '@/api/personalCenter'
|
||||
import { sgcInsert } from '@/api/home'
|
||||
import { useRouter } from 'vue-router'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { message } from 'ant-design-vue'
|
||||
// 获取当前路由地址
|
||||
const router = useRouter()
|
||||
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
let dowmOrUp = ref('展开>>') //展开 down ; 收起 up
|
||||
|
||||
//文字展开或收起
|
||||
const showDetail = (val) => {
|
||||
if (val === '展开>>') {
|
||||
dowmOrUp.value = '收起<<'
|
||||
} else {
|
||||
dowmOrUp.value = '展开>>'
|
||||
}
|
||||
}
|
||||
const props = defineProps({
|
||||
dataList: { type: Object, default: null },
|
||||
})
|
||||
|
||||
console.log('dataList------------>', props.dataList)
|
||||
const applicationArea = ref('')
|
||||
// // 加入申购车
|
||||
const addShoppingCart = () => {
|
||||
if (props.dataList.isInShoppingCart) {
|
||||
message.error('已经加入申购车了')
|
||||
} else {
|
||||
console.log('加入申购车==================>', props.dataList)
|
||||
sgcInsert({
|
||||
delFlag: '0',
|
||||
resourceId: props.dataList.id,
|
||||
// userId: userId.value,
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
message.success('添加申购车成功!')
|
||||
mybus.emit('getSgcNum')
|
||||
props.dataList.isInShoppingCart = true
|
||||
console.log(
|
||||
props.dataList.isInShoppingCart,
|
||||
'props.dataList.isInShoppingCart'
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
//进入场景入口
|
||||
const openScene = (val) => {
|
||||
window.open(val, '_blank')
|
||||
}
|
||||
// // 立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
// router.push({
|
||||
// path: '/apply',
|
||||
// query: {
|
||||
// name: props.dataList.name,
|
||||
// resourceId: [props.dataList.id],
|
||||
// },
|
||||
// })
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
// componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
// 融合服务--一键申请
|
||||
const handleAKeyApplication = () => {
|
||||
let _applyList = []
|
||||
;(props.dataList.fuseResourceList || []).map((v) => {
|
||||
let resource = v.resource || {}
|
||||
let obj = {
|
||||
arr: [
|
||||
{
|
||||
delFlag: resource.delFlag,
|
||||
description: resource.description,
|
||||
resourceId: resource.id,
|
||||
resourceName: resource.name,
|
||||
time: resource.createDate,
|
||||
type: resource.type,
|
||||
},
|
||||
],
|
||||
deptId: resource.deptId,
|
||||
deptName: resource.deptName,
|
||||
}
|
||||
_applyList.push(obj)
|
||||
})
|
||||
|
||||
console.log('dataList------------>', props.dataList)
|
||||
const applicationArea = ref('')
|
||||
// // 加入申购车
|
||||
const addShoppingCart = () => {
|
||||
if (props.dataList.isInShoppingCart) {
|
||||
message.error('已经加入申购车了')
|
||||
localStorage.setItem('applyList', JSON.stringify(_applyList))
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
|
||||
// 收藏
|
||||
const scFlag2 = ref(true)
|
||||
const goTOCollection = () => {
|
||||
console.log('收藏===================》', props.dataList)
|
||||
if (scFlag2.value) {
|
||||
scFlag2.value = false
|
||||
if (props.dataList.isCollect == 'true') {
|
||||
scDel([props.dataList.id]).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('取消成功')
|
||||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.dataList.isCollect = 'false'
|
||||
scFlag2.value = true
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('加入申购车==================>', props.dataList)
|
||||
sgcInsert({
|
||||
delFlag: '0',
|
||||
resourceId: props.dataList.id,
|
||||
// userId: userId.value,
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
message.success('添加申购车成功!')
|
||||
mybus.emit('getSgcNum')
|
||||
props.dataList.isInShoppingCart = true
|
||||
console.log(
|
||||
props.dataList.isInShoppingCart,
|
||||
'props.dataList.isInShoppingCart'
|
||||
)
|
||||
scInsert([
|
||||
{
|
||||
resourceId: props.dataList.id,
|
||||
},
|
||||
]).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('添加收藏成功!')
|
||||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.dataList.isCollect = 'true'
|
||||
scFlag2.value = true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
//进入场景入口
|
||||
const openScene = (val) => {
|
||||
window.open(val, "_blank");
|
||||
}
|
||||
// // 立即申请
|
||||
function toView() {
|
||||
// window.open(newpage.href, '_blank')
|
||||
// router.push({
|
||||
// path: '/apply',
|
||||
// query: {
|
||||
// name: props.dataList.name,
|
||||
// resourceId: [props.dataList.id],
|
||||
// },
|
||||
// })
|
||||
console.log('一键申请===================>', props.dataList)
|
||||
localStorage.setItem(
|
||||
'applyList',
|
||||
JSON.stringify([
|
||||
{
|
||||
arr: [
|
||||
{
|
||||
delFlag: props.dataList.delFlag,
|
||||
description: props.dataList.description,
|
||||
resourceId: props.dataList.id,
|
||||
resourceName: props.dataList.name,
|
||||
time: props.dataList.createDate,
|
||||
type: props.dataList.type,
|
||||
// componentType: '智能算法',
|
||||
},
|
||||
],
|
||||
deptId: props.dataList.deptId,
|
||||
deptName: props.dataList.deptName,
|
||||
},
|
||||
])
|
||||
)
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
// 融合服务--一键申请
|
||||
const handleAKeyApplication = () => {
|
||||
let _applyList = []
|
||||
;(props.dataList.fuseResourceList || []).map((v) => {
|
||||
let resource = v.resource || {}
|
||||
let obj = {
|
||||
arr: [
|
||||
{
|
||||
delFlag: resource.delFlag,
|
||||
description: resource.description,
|
||||
resourceId: resource.id,
|
||||
resourceName: resource.name,
|
||||
time: resource.createDate,
|
||||
type: resource.type,
|
||||
},
|
||||
],
|
||||
deptId: resource.deptId,
|
||||
deptName: resource.deptName,
|
||||
}
|
||||
_applyList.push(obj)
|
||||
})
|
||||
// scInsert([{ resourceId: props.dataList.id }]).then((res) => {
|
||||
// console.log(res)
|
||||
// message.success('收藏成功')
|
||||
// })
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
applicationArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用领域'
|
||||
)[0].attrValue
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
console.log('props.dataList-----watch------->', val)
|
||||
|
||||
localStorage.setItem('applyList', JSON.stringify(_applyList))
|
||||
router.push({
|
||||
path: '/apply',
|
||||
})
|
||||
}
|
||||
|
||||
// 收藏
|
||||
const scFlag2 = ref(true)
|
||||
const goTOCollection = () => {
|
||||
console.log('收藏===================》', props.dataList)
|
||||
if (scFlag2.value) {
|
||||
scFlag2.value = false
|
||||
if (props.dataList.isCollect == 'true') {
|
||||
scDel([props.dataList.id]).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('取消成功')
|
||||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.dataList.isCollect = 'false'
|
||||
scFlag2.value = true
|
||||
}
|
||||
})
|
||||
} else {
|
||||
scInsert([
|
||||
{
|
||||
resourceId: props.dataList.id,
|
||||
},
|
||||
]).then((res) => {
|
||||
if (res.data.msg === 'success') {
|
||||
message.success('添加收藏成功!')
|
||||
// eslint-disable-next-line vue/no-mutating-props
|
||||
props.dataList.isCollect = 'true'
|
||||
scFlag2.value = true
|
||||
}
|
||||
})
|
||||
}
|
||||
applicationArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用领域'
|
||||
)[0].attrValue
|
||||
}
|
||||
// scInsert([{ resourceId: props.dataList.id }]).then((res) => {
|
||||
// console.log(res)
|
||||
// message.success('收藏成功')
|
||||
// })
|
||||
}
|
||||
if (props.dataList.infoList) {
|
||||
applicationArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用领域'
|
||||
)[0].attrValue
|
||||
}
|
||||
watch(
|
||||
() => props.dataList,
|
||||
(val) => {
|
||||
if (val) {
|
||||
console.log('props.dataList-----watch------->', val)
|
||||
|
||||
applicationArea.value = props.dataList.infoList.filter(
|
||||
(val) => val.attrType === '应用领域'
|
||||
)[0].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;
|
||||
.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;
|
||||
.left {
|
||||
max-width: 7.2rem;
|
||||
color: #fff;
|
||||
margin-right: 0.8rem;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
span {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
|
||||
.name {
|
||||
// max-width: 3.3rem;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
font-size: 0.4rem;
|
||||
margin-right: 0.2rem;
|
||||
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: 3.5rem;
|
||||
right: -3.5rem;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.label {
|
||||
padding: 0.01rem 0.1rem;
|
||||
margin-right: 0.1rem;
|
||||
border-radius: 0.13rem;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
span {
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-top: 0.2rem;
|
||||
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(1) {
|
||||
max-height: 1rem;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
.name {
|
||||
// max-width: 3.3rem;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
font-size: 0.4rem;
|
||||
margin-right: 0.2rem;
|
||||
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;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
margin-top: 0.4rem;
|
||||
display: flex;
|
||||
.label-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
.lable-father {
|
||||
position: absolute;
|
||||
min-width: 3.5rem;
|
||||
right: -3.5rem;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
.label {
|
||||
padding: 0.01rem 0.1rem;
|
||||
margin-right: 0.1rem;
|
||||
border-radius: 0.13rem;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 5.8rem;
|
||||
height: 4rem;
|
||||
background: url('~@/assets/detailsAll/sf_right_bg.png') no-repeat;
|
||||
background-size: 100%;
|
||||
margin-top: -0.4rem;
|
||||
.main {
|
||||
.bottomdesc {
|
||||
display: -webkit-box;
|
||||
/*设置为弹性盒子*/
|
||||
-webkit-line-clamp: 4;
|
||||
/*最多显示2行*/
|
||||
overflow: hidden;
|
||||
/*超出隐藏*/
|
||||
text-overflow: ellipsis;
|
||||
/*超出显示为省略号*/
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
width: 800px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.bottomdesc1 {
|
||||
overflow: auto;
|
||||
width: 800px;
|
||||
font-size: 16px;
|
||||
height: 200px;
|
||||
}
|
||||
margin-top: 0.2rem;
|
||||
font-size: 0.18rem;
|
||||
line-height: 0.34rem;
|
||||
}
|
||||
|
||||
.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/sf_right_bg.png') no-repeat;
|
||||
background-size: 100%;
|
||||
margin-top: -0.4rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -420,7 +420,7 @@
|
|||
})
|
||||
|
||||
mybus.on('changeMenuStyle', (data) => {
|
||||
debugger
|
||||
|
||||
targetRouter.value = data
|
||||
if (data.path == '/algorithmCompare') {
|
||||
jumpPage(
|
||||
|
@ -469,7 +469,7 @@
|
|||
// padding: 0 1rem;
|
||||
background-color: rgba(0, 0, 25, 0.7);
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
z-index: 10012;
|
||||
top: 0;
|
||||
|
||||
div {
|
||||
|
@ -673,7 +673,7 @@
|
|||
top: 0.45rem;
|
||||
right: 2.4rem;
|
||||
overflow-y: scroll;
|
||||
|
||||
z-index: 9999999;
|
||||
.bottom {
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
* @Author: Light
|
||||
* @Date: 2022-11-24 09:07:50
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-25 09:56:50
|
||||
* @LastEditTime: 2022-12-03 14:56:14
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div class="detail-back" @click="goToDetailsPageconetent">
|
||||
<div class="detail-back" @click="previousPage">
|
||||
<!-- <div class="nav-box"> -->
|
||||
<!-- <a-breadcrumb>
|
||||
<a-breadcrumb-item @click="goToDetailsPageconetent" class="bread-crumb-span">能力集市</a-breadcrumb-item>
|
||||
|
@ -37,7 +37,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
const detailName = ref('应用资源')
|
||||
const detailName = ref('应用资源1')
|
||||
|
||||
const goToDetailsPageconetent = () => {
|
||||
let pathData = {
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
|
||||
<script>
|
||||
import { defineComponent, ref, watch } from 'vue'
|
||||
import { selectDeptList } from '@/api/home.js'
|
||||
import { selectDeptList, getDataResourceDeptList } from '@/api/home.js'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { UpOutlined, DownOutlined } from '@ant-design/icons-vue'
|
||||
|
@ -128,65 +128,45 @@
|
|||
title: 'name',
|
||||
}
|
||||
const store = useStore()
|
||||
// 用户信息
|
||||
const user = ref({
|
||||
deptName: store.getters['user/deptName'],
|
||||
deptId: store.getters['user/deptId'],
|
||||
})
|
||||
// 用户信息
|
||||
const user = ref({
|
||||
deptName: store.getters['user/deptName'],
|
||||
deptId: store.getters['user/deptId'],
|
||||
})
|
||||
const showKey = ref(0)
|
||||
const treeData = ref([])
|
||||
const init = () => {
|
||||
treeData.value = []
|
||||
console.log(
|
||||
'router.currentRoute.value.query.select',
|
||||
router.currentRoute.value.query.select
|
||||
)
|
||||
let select = router.currentRoute.value.query.select
|
||||
if (select === '123') {
|
||||
select = ''
|
||||
}
|
||||
|
||||
console.log(
|
||||
'获取url中的select=====================>',
|
||||
router.currentRoute.value.query.select
|
||||
)
|
||||
if (
|
||||
select !== '基础设施' &&
|
||||
select !== '数据资源' &&
|
||||
select !== '知识库'
|
||||
) {
|
||||
selectDeptList({ type: select }).then((res) => {
|
||||
// console.log('区划数据=========================>', res.data.data)
|
||||
res.data.data.forEach((val) => {
|
||||
if (val.type !== '全部能力目录') {
|
||||
let obj = {
|
||||
title: val.type,
|
||||
total: val.total,
|
||||
show: val.type === '市级' ? true : false,
|
||||
select: false,
|
||||
key: val.type,
|
||||
children: [],
|
||||
}
|
||||
switch (val.type) {
|
||||
case '市级':
|
||||
case '企业':
|
||||
case '其他':
|
||||
generateChildren(val, obj)
|
||||
break
|
||||
case '区级':
|
||||
generateChildren2(val, obj)
|
||||
break
|
||||
}
|
||||
treeData.value.push(obj)
|
||||
}
|
||||
})
|
||||
// 排序
|
||||
const sortArr = ['全部能力目录', '市级', '区级', '企业', '其他']
|
||||
treeData.value.sort((a, b) => {
|
||||
return sortArr.indexOf(a.key) - sortArr.indexOf(b.key)
|
||||
})
|
||||
//根据不同的权限展示不同的能力超市左侧树
|
||||
// let deptId=user.value.deptId
|
||||
// 处理数据
|
||||
const processingData = (res) => {
|
||||
res.data.data.forEach((val) => {
|
||||
if (val.type !== '全部能力目录') {
|
||||
let obj = {
|
||||
title: val.type,
|
||||
total: val.total,
|
||||
show: val.type === '市级' ? true : false,
|
||||
select: false,
|
||||
key: val.type,
|
||||
children: [],
|
||||
}
|
||||
switch (val.type) {
|
||||
case '市级':
|
||||
case '企业':
|
||||
case '其他':
|
||||
generateChildren(val, obj)
|
||||
break
|
||||
case '区级':
|
||||
generateChildren2(val, obj)
|
||||
break
|
||||
}
|
||||
treeData.value.push(obj)
|
||||
}
|
||||
})
|
||||
// 排序
|
||||
const sortArr = ['全部能力目录', '市级', '区级', '企业', '其他']
|
||||
treeData.value.sort((a, b) => {
|
||||
return sortArr.indexOf(a.key) - sortArr.indexOf(b.key)
|
||||
})
|
||||
//根据不同的权限展示不同的能力超市左侧树
|
||||
// let deptId=user.value.deptId
|
||||
// treeData.value.forEach((child) => {
|
||||
// let childern=child.children
|
||||
// childern.forEach((childs) => {//第一层:市级
|
||||
|
@ -209,11 +189,46 @@
|
|||
// })
|
||||
// }
|
||||
// })
|
||||
|
||||
|
||||
// })
|
||||
console.log('左侧树结构数据======================>', treeData.value)
|
||||
|
||||
showKey.value++
|
||||
console.log('左侧树结构数据======================>', treeData.value)
|
||||
|
||||
showKey.value++
|
||||
}
|
||||
const init = () => {
|
||||
treeData.value = []
|
||||
console.log(
|
||||
'router.currentRoute.value.query.select',
|
||||
router.currentRoute.value.query.select
|
||||
)
|
||||
let select = router.currentRoute.value.query.select
|
||||
if (select === '123') {
|
||||
select = ''
|
||||
}
|
||||
|
||||
console.log(
|
||||
'获取url中的select=====================>',
|
||||
router.currentRoute.value.query.select
|
||||
)
|
||||
if (
|
||||
select !== '基础设施' &&
|
||||
select !== '数据资源' &&
|
||||
select !== '知识库'
|
||||
) {
|
||||
selectDeptList({ type: select }).then((res) => {
|
||||
// console.log('区划数据=========================>', res.data.data)
|
||||
if (res.data.msg !== 'success') {
|
||||
return
|
||||
}
|
||||
processingData(res)
|
||||
})
|
||||
} else if (select === '数据资源') {
|
||||
getDataResourceDeptList({ type: select }).then((res) => {
|
||||
// console.log('区划数据=========================>', res.data.data)
|
||||
if (res.data.msg !== 'success') {
|
||||
return
|
||||
}
|
||||
processingData(res)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -222,7 +237,6 @@
|
|||
})
|
||||
// 生成children
|
||||
const generateChildren = (val, obj) => {
|
||||
|
||||
if (val.dataList.length > 0) {
|
||||
val.dataList.forEach((child) => {
|
||||
let children = {
|
||||
|
@ -232,14 +246,13 @@
|
|||
total: child.deptCount,
|
||||
key: child.deptId,
|
||||
}
|
||||
|
||||
|
||||
obj.children.push(children)
|
||||
})
|
||||
}
|
||||
}
|
||||
// 区级特殊处理
|
||||
const generateChildren2 = (val, obj) => {
|
||||
|
||||
if (val.dataList.length > 0) {
|
||||
val.dataList.forEach((dis) => {
|
||||
let children = {
|
||||
|
@ -259,7 +272,7 @@
|
|||
select: false,
|
||||
key: child.deptId,
|
||||
}
|
||||
|
||||
|
||||
children.children.push(children2)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-18 11:53:43
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-11-30 11:55:51
|
||||
* @LastEditors: hisense.wuhongjian
|
||||
* @LastEditTime: 2022-12-01 16:10:15
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
|
@ -17,6 +17,13 @@
|
|||
{{ item.channelName }}
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<a-tag
|
||||
color="cyan"
|
||||
style="margin-right: 0; cursor: pointer"
|
||||
@click="selectItem(item, true)"
|
||||
>
|
||||
预览
|
||||
</a-tag>
|
||||
<a-popconfirm
|
||||
:title="'是否移出' + item.channelName + '?'"
|
||||
ok-text="是"
|
||||
|
@ -132,6 +139,7 @@
|
|||
</a-modal>
|
||||
<a-modal
|
||||
v-else
|
||||
wrapClassName="preview-modal"
|
||||
v-model:visible="showVisible"
|
||||
:title="dataList.selectItem.cameraInfo.channelName"
|
||||
:footer="null"
|
||||
|
@ -147,9 +155,22 @@
|
|||
justify-content: center;
|
||||
"
|
||||
>
|
||||
<div class="video-cover-new" @click="videoShowMsg"></div>
|
||||
<div class="waterMark waterMark-left-top">
|
||||
{{ '西海岸能力超市' + (deptName || '') + (userName || '') }}
|
||||
</div>
|
||||
<div class="waterMark waterMark-right-top">
|
||||
{{ '西海岸能力超市' + (deptName || '') + (realName || '') }}
|
||||
</div>
|
||||
<div class="waterMark waterMark-left-bottom">
|
||||
{{ '西海岸能力超市' + (deptName || '') + (userName || '') }}
|
||||
</div>
|
||||
<div class="waterMark waterMark-right-bottom">
|
||||
{{ '西海岸能力超市' + (deptName || '') + (realName || '') }}
|
||||
</div>
|
||||
<h5-player
|
||||
videoId="preview"
|
||||
unStopable="true"
|
||||
:unStopable="unStopable"
|
||||
:video-url="videoUrl"
|
||||
></h5-player>
|
||||
</div>
|
||||
|
@ -193,6 +214,11 @@
|
|||
import { useRouter } from 'vue-router'
|
||||
import H5Player from '@/views/home/components/H5Player.vue'
|
||||
import { getCameraLiveStream } from '@/api/file'
|
||||
import { useStore } from 'vuex'
|
||||
const store = useStore()
|
||||
const userName = store.getters['user/username']
|
||||
const realName = store.getters['user/realName']
|
||||
const deptName = store.getters['user/deptName']
|
||||
const dataList = reactive({ toBeApplied: [], requested: [], selectItem: {} })
|
||||
const showVisible = ref(false)
|
||||
// 待办
|
||||
|
@ -200,6 +226,7 @@
|
|||
const delWacFlag = ref(true)
|
||||
const delApply = ref(true)
|
||||
const visible = ref(false)
|
||||
const unStopable = ref(true)
|
||||
const visibleApply = ref(false)
|
||||
const instanceId = ref('')
|
||||
const showArr = ref([])
|
||||
|
@ -264,6 +291,11 @@
|
|||
})
|
||||
}
|
||||
}
|
||||
// 视频预览 提示
|
||||
const videoShowMsg = () => {
|
||||
let msg = '请申请后在我的申请中观看视频!'
|
||||
message.warning(msg)
|
||||
}
|
||||
const apply = () => {
|
||||
let obj = {
|
||||
arr: [
|
||||
|
@ -336,18 +368,27 @@
|
|||
},
|
||||
})
|
||||
}
|
||||
const selectItem = (item) => {
|
||||
if (item.approveStatus == '通过') {
|
||||
dataList.selectItem = item
|
||||
getVideoUrl(item.cameraInfo)
|
||||
const selectItem = (item, stopableFlag) => {
|
||||
if (stopableFlag) {
|
||||
unStopable.value = false
|
||||
console.log('111111111111', item)
|
||||
dataList.selectItem.cameraInfo = item
|
||||
getVideoUrl(item)
|
||||
return
|
||||
} else if (item.backToFirst == 'true') {
|
||||
message.info('请到个人中心查看详情')
|
||||
} else {
|
||||
message.info('请耐心等待审核通过')
|
||||
if (item.approveStatus == '通过') {
|
||||
unStopable.value = true
|
||||
dataList.selectItem = item
|
||||
getVideoUrl(item.cameraInfo)
|
||||
return
|
||||
} else if (item.backToFirst == 'true') {
|
||||
message.info('请到个人中心查看详情')
|
||||
} else {
|
||||
message.info('请耐心等待审核通过')
|
||||
}
|
||||
dataList.selectItem = {}
|
||||
showVisible.value = false
|
||||
}
|
||||
dataList.selectItem = {}
|
||||
showVisible.value = false
|
||||
}
|
||||
const handleOk = () => {
|
||||
console.log('id', instanceId.value)
|
||||
|
@ -465,6 +506,7 @@
|
|||
top: 50%;
|
||||
right: 0.16rem;
|
||||
margin-top: -3.9rem;
|
||||
z-index: 10010;
|
||||
.bottom {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
@ -481,7 +523,14 @@
|
|||
word-break: break-all;
|
||||
}
|
||||
.top .name {
|
||||
width: 1.8rem;
|
||||
width: 1.3rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
word-break: break-all;
|
||||
}
|
||||
:deep(.ant-list-footer) {
|
||||
display: flex;
|
||||
|
@ -500,6 +549,71 @@
|
|||
height: 3rem;
|
||||
}
|
||||
|
||||
.batch-video-cover {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background: transparent;
|
||||
height: 288px;
|
||||
z-index: 99999999;
|
||||
width: 512px;
|
||||
margin-top: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.waterMark {
|
||||
position: absolute;
|
||||
z-index: 99999999;
|
||||
color: #0058e1;
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
opacity: 0.4;
|
||||
transform: rotate(-25deg);
|
||||
width: 470px;
|
||||
}
|
||||
|
||||
// 左上
|
||||
.waterMark-left-top {
|
||||
left: 50px;
|
||||
top: 100px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
// 右上
|
||||
.waterMark-right-top {
|
||||
right: 50px;
|
||||
top: 100px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
// 左下
|
||||
.waterMark-left-bottom {
|
||||
left: 50px;
|
||||
bottom: 100px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
// 右下
|
||||
.waterMark-right-bottom {
|
||||
right: 50px;
|
||||
bottom: 100px;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.preview-modal {
|
||||
z-index: 10010;
|
||||
.video-cover-new {
|
||||
width: 798px;
|
||||
height: 600px;
|
||||
position: absolute;
|
||||
left: 22px;
|
||||
top: 80px;
|
||||
background: transparent;
|
||||
z-index: 99999999;
|
||||
cursor: pointer;
|
||||
}
|
||||
.waterMark {
|
||||
position: absolute;
|
||||
z-index: 99999999;
|
||||
|
|
|
@ -407,7 +407,7 @@
|
|||
class="map-contain"
|
||||
v-if="showMap"
|
||||
v-loading="spinningHome"
|
||||
element-loading-text="Loading..."
|
||||
element-loading-text="加载中..."
|
||||
element-loading-svg-view-box="-10, -10, 50, 50"
|
||||
element-loading-background="rgba(122, 122, 122, 0.9)"
|
||||
:element-loading-svg="svg"
|
||||
|
|
|
@ -31,9 +31,11 @@
|
|||
/>
|
||||
<i class="searchImg" aria-hidden="true"></i>
|
||||
<button class="button-reset" @click="resetAction()">重置</button>
|
||||
|
||||
<div class="hengxian"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="number === 0" class="checkResult">检测结果: <span>{{resourceTotal}}</span>个</div>
|
||||
<div v-loading="loadingData">
|
||||
<searchResultList
|
||||
v-if="number === 1"
|
||||
|
@ -52,7 +54,9 @@
|
|||
:resourceTotal="resourceTotal"
|
||||
:selectCardsname="number == 0 ? '融合服务' : '赋能场景'"
|
||||
/>
|
||||
|
||||
<div class="pagination">
|
||||
|
||||
<a-pagination
|
||||
v-if="resourceList.data && resourceList.data.length > 0"
|
||||
v-model:current="currentPage"
|
||||
|
@ -330,9 +334,22 @@
|
|||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.checkResult{
|
||||
margin-left: 0.2rem;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #212121;
|
||||
margin-top: 10px;
|
||||
|
||||
span {
|
||||
font-size: 18px;
|
||||
color: #0087ff;
|
||||
}
|
||||
|
||||
}
|
||||
.resultListSearchInput-father {
|
||||
background: #f3f5f9;
|
||||
padding: 0.2rem;
|
||||
padding: 0rem 0.2rem;
|
||||
|
||||
.resultListSearchInput-son {
|
||||
background: #fff;
|
||||
|
|
|
@ -7,9 +7,11 @@
|
|||
|
||||
<div :id="mapId" class="normal-map-content">
|
||||
|
||||
<tiled-map v-loading="spinning" element-loading-text="Loading..."
|
||||
element-loading-svg-view-box="-10, -10, 50, 50"
|
||||
element-loading-background="rgba(122, 122, 122, 0.8)"
|
||||
<tiled-map v-loading="spinning"
|
||||
element-loading-text="加载中..."
|
||||
element-loading-svg-view-box="-10, -10, 50, 50"
|
||||
element-loading-background="rgba(122, 122, 122, 0.9)"
|
||||
:element-loading-svg="svg"
|
||||
:hi-map="hiMap" :map-id="mapId" />
|
||||
|
||||
</div>
|
||||
|
@ -144,6 +146,16 @@
|
|||
checkboxGroup: [],
|
||||
tabList: [],
|
||||
state: '',
|
||||
svg: `
|
||||
<path class="path" d="
|
||||
M 30 15
|
||||
L 28 17
|
||||
M 25.61 25.61
|
||||
A 15 15, 0, 0, 1, 15 30
|
||||
A 15 15, 0, 1, 1, 27.99 7.5
|
||||
L 15 15
|
||||
" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
|
||||
`,
|
||||
spinning: false,
|
||||
timeout: null,
|
||||
camreaTree: [],
|
||||
|
|
|
@ -529,7 +529,7 @@
|
|||
border: 1px solid #74a9f8;
|
||||
border-radius: 10px;
|
||||
margin: 0 10px;
|
||||
cursor: pointer;
|
||||
// cursor: pointer;
|
||||
|
||||
.item-name {
|
||||
color: #fff;
|
||||
|
|
|
@ -174,7 +174,7 @@
|
|||
await this.$router.push('/home')
|
||||
}
|
||||
} catch (error) {
|
||||
message.error('登陆失败,用户名或密码错误!')
|
||||
// message.error('登陆失败,用户名或密码错误!')
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
<!--
|
||||
* @Author: Light
|
||||
* @Date: 2022-11-30 17:43:43
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-02 16:02:26
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div class="carousel" v-if="dataSource.noticeList.length > 0">
|
||||
<div class="notice">
|
||||
<!-- <div class="item" id="notice-item1" v-html="dataSource.str"></div>
|
||||
<div class="item" id="notice-item2" v-html="dataSource.str"></div> -->
|
||||
<div class="notice-item">
|
||||
<svg
|
||||
t="1669889820945"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="1382"
|
||||
width="20"
|
||||
height="20"
|
||||
>
|
||||
<path
|
||||
d="M553.141571 59.499589a43.664726 43.664726 0 0 0-47.54116 6.253491l-255.990857 218.616193-204.061284-0.841113h-0.07314a43.884147 43.884147 0 0 0-31.377165 13.274954 46.041784 46.041784 0 0 0-13.128674 32.291418L0.018468 694.283776a46.370915 46.370915 0 0 0 12.982393 32.364558 43.884147 43.884147 0 0 0 31.523446 13.421235h206.511482l254.747473 217.81165a43.664726 43.664726 0 0 0 47.541159 6.21692 45.749223 45.749223 0 0 0 25.599086-41.360808V100.823828a45.785793 45.785793 0 0 0-25.599086-41.324239z m172.610978 228.343845a43.884147 43.884147 0 0 0-58.695047 21.466662 46.553766 46.553766 0 0 0 20.332988 60.925824 150.668905 150.668905 0 0 1 69.483233 138.271633c0 108.174422-62.352059 144.013142-64.436556 145.183387a46.261205 46.261205 0 0 0-19.930717 61.291525 44.432699 44.432699 0 0 0 39.898004 25.269955 43.481876 43.481876 0 0 0 19.857577-4.790686c4.644406-2.413628 113.623371-60.267562 113.62337-226.954181a239.607443 239.607443 0 0 0-120.169422-220.664119z m138.600764-134.139209a43.884147 43.884147 0 0 0-61.181815 13.677226 46.553766 46.553766 0 0 0 12.909253 63.120031c4.827256 3.254741 118.889468 82.977608 118.889469 281.370523s-109.417807 278.664333-113.769651 281.589943a46.370915 46.370915 0 0 0-12.360702 63.339452 43.884147 43.884147 0 0 0 61.766937 12.653262c6.253491-4.278704 153.375094-107.735581 153.375094-357.728938S870.862795 157.873219 864.353313 153.594514z m0 0"
|
||||
p-id="1383"
|
||||
fill="#d81e06"
|
||||
></path>
|
||||
</svg>
|
||||
<!-- {{ item.content }} -->
|
||||
<marquee
|
||||
direction="left"
|
||||
behavior="scroll"
|
||||
onmouseover="this.stop()"
|
||||
onmouseout="this.start()"
|
||||
>
|
||||
{{ dataSource.str }}
|
||||
</marquee>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { reactive, onMounted, onBeforeUnmount, nextTick } from 'vue'
|
||||
import { sysnoticemanagement } from '@/api/home'
|
||||
import { getCategoryTreePage } from '@/api/personalCenter'
|
||||
const dataSource = reactive({
|
||||
noticeList: [],
|
||||
total: 0,
|
||||
str: '',
|
||||
})
|
||||
getCategoryTreePage({
|
||||
dictTypeId: '1598237460358852610',
|
||||
page: 1,
|
||||
limit: 9999,
|
||||
}).then((res) => {
|
||||
sysnoticemanagement({
|
||||
page: 1,
|
||||
limit: 9999,
|
||||
content: '',
|
||||
days: res.data.data.list[0].dictLabel,
|
||||
}).then((res1) => {
|
||||
dataSource.noticeList = res1.data.data.list
|
||||
dataSource.total = res1.data.data.total
|
||||
dataSource.noticeList.map((val, index) => {
|
||||
dataSource.str +=
|
||||
'通知' + (index + 1) + ':' + val.content + ' '
|
||||
})
|
||||
})
|
||||
})
|
||||
// let time = null
|
||||
onMounted(() => {
|
||||
// nextTick(() => {
|
||||
// const domArr = document.getElementsByClassName('notice-item')
|
||||
// let num = 0
|
||||
// // 移动方法
|
||||
// const move = () => {
|
||||
// num++
|
||||
// for (let i = 0; i < domArr.length; i++) {
|
||||
// let offsetWidth = 0
|
||||
// for (let j = 0; j < i; j++) {
|
||||
// offsetWidth += domArr[j].offsetWidth + 30
|
||||
// }
|
||||
// domArr[i].style.left = -num + offsetWidth + 'px'
|
||||
// }
|
||||
// }
|
||||
// // 设置transition
|
||||
// const setTransition = (str) => {
|
||||
// for (let i = 0; i < domArr.length; i++) {
|
||||
// domArr[i].style.transition = str
|
||||
// }
|
||||
// }
|
||||
// move()
|
||||
// time = window.setInterval(() => {
|
||||
// move()
|
||||
// let str = domArr[dataSource.total].style.left
|
||||
// if (str.substring(0, str.length - 2) < 0) {
|
||||
// num = 0
|
||||
// setTransition('unset')
|
||||
// move()
|
||||
// } else if (domArr[0].style.transition == 'unset') {
|
||||
// setTransition('all 0.05s linear')
|
||||
// }
|
||||
// }, 50)
|
||||
// })
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
// window.clearInterval(time)
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.carousel {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
// background: #364d79;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
.notice {
|
||||
width: 740px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
.notice-item {
|
||||
font-size: 16px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
white-space: nowrap;
|
||||
transition: all 0.05s linear;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.icon {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
marquee {
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
|
@ -2,12 +2,13 @@
|
|||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-06-23 16:41:49
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-10-13 16:40:15
|
||||
* @LastEditTime: 2022-11-30 17:55:43
|
||||
* @Description: 告诉大家这是什么
|
||||
-->
|
||||
<template>
|
||||
<div class="newHome">
|
||||
<new-home-header></new-home-header>
|
||||
<Carousel></Carousel>
|
||||
<navigation></navigation>
|
||||
<navigation2></navigation2>
|
||||
<capability-convergence></capability-convergence>
|
||||
|
@ -21,6 +22,7 @@
|
|||
</template>
|
||||
<script setup>
|
||||
import NewHomeHeader from '@/views/home/components/header'
|
||||
import Carousel from '@/views/newHome/components/Carousel'
|
||||
import Navigation from '@/views/newHome/components/Navigation'
|
||||
import Navigation2 from '@/views/newHome/components/Navigation2'
|
||||
import CapabilityConvergence from '@/views/newHome/components/CapabilityConvergence'
|
||||
|
@ -32,21 +34,21 @@
|
|||
import HomeFooter from '@/views/newHome/components/Footer'
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@font-face {
|
||||
font-family: 'text-typeface';
|
||||
src: url('~@/assets/newHome/font/text-typeface.otf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'num-typeface';
|
||||
src: url('~@/assets/newHome/font/num-typeface.otf');
|
||||
}
|
||||
.newHome {
|
||||
font-family: text-typeface;
|
||||
.num {
|
||||
font-family: num-typeface;
|
||||
@font-face {
|
||||
font-family: 'text-typeface';
|
||||
src: url('~@/assets/newHome/font/text-typeface.otf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'num-typeface';
|
||||
src: url('~@/assets/newHome/font/num-typeface.otf');
|
||||
}
|
||||
.newHome {
|
||||
font-family: text-typeface;
|
||||
.num {
|
||||
font-family: num-typeface;
|
||||
}
|
||||
}
|
||||
.resource-aggregation {
|
||||
background: #fff;
|
||||
}
|
||||
}
|
||||
.resource-aggregation {
|
||||
background: #fff;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -152,7 +152,7 @@
|
|||
>
|
||||
查看详情
|
||||
</a-button>
|
||||
|
||||
|
||||
<!-- <div class="btn" v-if="val.type == '组件服务'">技术文档</div> -->
|
||||
</div>
|
||||
<div class="ability-bottom">
|
||||
|
@ -175,7 +175,17 @@
|
|||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.approveStatus === '通过'" style=" margin-top: 15px;font-size: 16px; color: #ee4457;font-weight: bold;">说明:已申请成功,使用方式及联系人请点击"查看详情"按钮查看。</div>
|
||||
<div
|
||||
v-if="item.approveStatus === '通过'"
|
||||
style="
|
||||
margin-top: 15px;
|
||||
font-size: 16px;
|
||||
color: #ee4457;
|
||||
font-weight: bold;
|
||||
"
|
||||
>
|
||||
说明:已申请成功,使用方式及联系人请点击"查看详情"按钮查看。
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -280,9 +290,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- 单个预览弹窗 -->
|
||||
|
|
|
@ -30,7 +30,36 @@
|
|||
<div v-if="showType !== '云资源'">
|
||||
<div class="title">审批详情</div>
|
||||
<template v-for="item in dataSource.data" :key="item">
|
||||
<div class="oddNumbers">子单号:{{ item[0] }}</div>
|
||||
<div class="oddNumbers">
|
||||
<div>子单号:{{ item[0] }}</div>
|
||||
<template
|
||||
v-if="
|
||||
item[1][0].assignee !== store.getters['user/userId'] &&
|
||||
typeStrObj.indexOf(showType) !== -1
|
||||
"
|
||||
>
|
||||
<a-popconfirm
|
||||
v-if="refObj.allowReminders || item[1][0].allowReminders"
|
||||
title="是否催办此流程?"
|
||||
ok-text="是"
|
||||
cancel-text="否"
|
||||
@confirm="urgeThis(item)"
|
||||
@cancel="cancel"
|
||||
>
|
||||
<a-button type="primary" danger>催办</a-button>
|
||||
</a-popconfirm>
|
||||
<a-tooltip
|
||||
v-else-if="refObj.doneReminders || item[1][0].doneReminders"
|
||||
>
|
||||
<template #title>
|
||||
{{
|
||||
refObj.nextRemindersDays || item[1][0].nextRemindersDays
|
||||
}}天后可再次催办
|
||||
</template>
|
||||
<a-button type="primary" danger>已催办</a-button>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
</div>
|
||||
<a-table
|
||||
:dataSource="item[1]"
|
||||
:columns="dataSourceColumns"
|
||||
|
@ -54,9 +83,11 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { message } from 'ant-design-vue'
|
||||
import AbilityApplication from './AbilityApplication.vue'
|
||||
import PutOnTheShelf from './PutOnTheShelf .vue'
|
||||
import OffTheShelf from './OffTheShelf.vue'
|
||||
import mybus from '@/myplugins/mybus'
|
||||
import Demand from './Demand.vue'
|
||||
import Comment from './Comment.vue'
|
||||
import dataResourceApplication from './dataResourceApplication.vue'
|
||||
|
@ -64,6 +95,7 @@
|
|||
import DeviceApplyDetail from './DeviceApplyDetail.vue'
|
||||
import OtherApplications from '@/views/personalCenter/components/OtherApplications '
|
||||
import { onMounted, reactive, defineProps, ref } from 'vue'
|
||||
import { useStore } from 'vuex'
|
||||
import Cookies from 'js-cookie'
|
||||
// import { baseURL } from '@/config'
|
||||
import qs from 'qs'
|
||||
|
@ -72,7 +104,7 @@
|
|||
getTaskHandleDetailInfo,
|
||||
getDemandForm,
|
||||
nengliziyuanshangjiaapply,
|
||||
getTaskVariables,
|
||||
treminders,
|
||||
} from '@/api/personalCenter'
|
||||
import { selectOneDel } from '@/api/home'
|
||||
const props = defineProps({
|
||||
|
@ -83,6 +115,7 @@
|
|||
refObj: { type: Object, default: null },
|
||||
showType: { type: String, default: null },
|
||||
})
|
||||
const store = useStore()
|
||||
const refObj = ref({})
|
||||
const showType = ref('')
|
||||
// eslint-disable-next-line vue/no-setup-props-destructure
|
||||
|
@ -92,7 +125,13 @@
|
|||
//流转详情
|
||||
const dataSource = reactive({ data: [] })
|
||||
console.log('refObj------------>', refObj)
|
||||
|
||||
const typeStrObj = [
|
||||
'能力申请',
|
||||
'能力上架',
|
||||
'能力下架',
|
||||
'能力需求',
|
||||
'需求评论',
|
||||
]
|
||||
// console.log(props.refObj, '---------------------------------------')
|
||||
|
||||
const downloadFile = (path, name) => {
|
||||
|
@ -285,6 +324,27 @@
|
|||
})
|
||||
}
|
||||
|
||||
// 催办
|
||||
const urgeThis = (item) => {
|
||||
console.log('催办==========>', item)
|
||||
treminders({
|
||||
instanceId: item[0],
|
||||
processTaskId: item[1][0].id,
|
||||
processTaskStats: 1,
|
||||
applyNumber: refObj.value.applyNumber,
|
||||
}).then((res) => {
|
||||
if (res.data.msg !== 'success') {
|
||||
message.warning('催办失败')
|
||||
return
|
||||
}
|
||||
message.success('催办成功!')
|
||||
mybus.emit('closeModal', {
|
||||
type: showType.value,
|
||||
index: typeStrObj.indexOf(showType.value),
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// getInfo()
|
||||
if (props.refObj.resourceApplication) {
|
||||
|
@ -348,4 +408,20 @@
|
|||
.oddNumbers {
|
||||
margin-bottom: 0.05rem;
|
||||
}
|
||||
.oddNumbers {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.button {
|
||||
width: 96px;
|
||||
height: 30px;
|
||||
background: #ff4d4f;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
item.ended
|
||||
? '审核完成'
|
||||
: item.backToFirst
|
||||
? '审核中(被驳回,请修改申请或终止流程)'
|
||||
? '审核中(请修改被驳回内容)'
|
||||
: '审核中'
|
||||
}}
|
||||
</p>
|
||||
|
|
|
@ -272,6 +272,7 @@
|
|||
function handlecancel() {
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
visible2.value = false
|
||||
}
|
||||
function abilityToTypeFunction(item) {
|
||||
abilityToTypeFunctionData.value = item
|
||||
|
@ -291,6 +292,7 @@
|
|||
if (abilityToTypeFunctionData.value == '组件服务') {
|
||||
if (!componentTypeValue.value || componentTypeValue.value == '') {
|
||||
message.error('请选择组件类型!')
|
||||
componentTypeValueOld.value = ''
|
||||
return
|
||||
} else if (
|
||||
componentTypeValue.value === '智能算法' ||
|
||||
|
@ -316,10 +318,10 @@
|
|||
query: snum.value,
|
||||
})
|
||||
window.open(applypage.href, '_blank')
|
||||
visible.value = false
|
||||
visible2.value = false
|
||||
abilityToTypeFunctionData.value = '组件服务'
|
||||
componentTypeValue.value = ''
|
||||
console.log(e)
|
||||
visible2.value = false
|
||||
}
|
||||
let abilityToType = ref(['组件服务', '应用资源'])
|
||||
let componentType = ref([
|
||||
|
@ -687,61 +689,95 @@
|
|||
margin-top: -1.44rem;
|
||||
font-size: 0.14rem;
|
||||
font-weight: 500;
|
||||
.ant-modal-footer {
|
||||
border: 0;
|
||||
text-align: center;
|
||||
margin-top: 24px;
|
||||
padding-bottom: 24px;
|
||||
|
||||
.shenqing {
|
||||
background: #0058e1;
|
||||
color: #ffffff;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
.quxiao {
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
background: #ffffff;
|
||||
color: #0058e1;
|
||||
border-radius: 2px;
|
||||
border: 1px #0058e1 solid;
|
||||
}
|
||||
}
|
||||
.ant-modal-body {
|
||||
padding: 0px !important;
|
||||
}
|
||||
.ant-radio-inner {
|
||||
height: 0.16rem;
|
||||
width: 0.16rem;
|
||||
}
|
||||
|
||||
.ant-radio-inner::after {
|
||||
background-color: unset;
|
||||
background: url('~@/assets/personalCenter/xuanzhong.png') no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.ant-modal-content {
|
||||
border-radius: 0.1rem;
|
||||
|
||||
border-radius: 2px;
|
||||
border: 1px #e6e9ed solid;
|
||||
width: 690px;
|
||||
box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
|
||||
.ability-to-type,
|
||||
.component-type {
|
||||
display: flex;
|
||||
margin-top: 0.2rem;
|
||||
|
||||
margin-top: 24px;
|
||||
margin-left: 24px;
|
||||
.title {
|
||||
white-space: nowrap;
|
||||
margin-right: 0.2rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 0.26rem;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.content {
|
||||
.component-type-content {
|
||||
width: 100%;
|
||||
|
||||
height: unset;
|
||||
border: unset;
|
||||
background: unset;
|
||||
.ant-radio-group {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
grid-template-columns: auto auto auto auto;
|
||||
grid-gap: 0.15rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ability-to-type {
|
||||
.content {
|
||||
.ability-to-type-content {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
|
||||
grid-template-columns: auto auto auto auto;
|
||||
height: unset;
|
||||
border: unset;
|
||||
background: unset;
|
||||
margin-left: 20px;
|
||||
div {
|
||||
margin-right: 0.15rem;
|
||||
&:hover {
|
||||
background: #0058e1;
|
||||
cursor: pointer;
|
||||
color: #ffffff;
|
||||
}
|
||||
margin-right: 16px;
|
||||
cursor: pointer;
|
||||
font-size: 0.14rem;
|
||||
width: 0.9rem;
|
||||
height: 0.26rem;
|
||||
border-radius: 0.13rem;
|
||||
color: #333333;
|
||||
background: #f5f5f5;
|
||||
border: 0.01rem #cccccc solid;
|
||||
font-size: 16px;
|
||||
width: 90px;
|
||||
height: 32px;
|
||||
border-radius: 2px;
|
||||
color: #0058e1;
|
||||
background: #ffffff;
|
||||
border: 1px #0058e1 solid;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
@ -749,7 +785,7 @@
|
|||
}
|
||||
|
||||
.ability-to-type-down {
|
||||
background: #0087ff;
|
||||
background: #0058e1;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
@ -759,16 +795,25 @@
|
|||
.ant-modal-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0px 24px;
|
||||
padding-top: 24px;
|
||||
padding-bottom: 22px;
|
||||
color: #212121;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
border-bottom: 2px solid #ebeced;
|
||||
}
|
||||
|
||||
.ant-modal-footer {
|
||||
border: 0;
|
||||
text-align: center;
|
||||
padding-bottom: 0.2rem;
|
||||
|
||||
margin-top: 50px;
|
||||
button {
|
||||
margin-right: 0.2rem;
|
||||
border-radius: 0.08rem;
|
||||
margin-right: 12px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<!--
|
||||
* @Author: hisense.liangjunhua
|
||||
* @Date: 2022-07-12 09:42:44
|
||||
* @LastEditors: hisense.liangjunhua
|
||||
* @LastEditTime: 2022-08-02 15:48:15
|
||||
* @LastEditors: Light
|
||||
* @LastEditTime: 2022-12-01 14:02:17
|
||||
* @Description:我的申请 能力申请 查看详情
|
||||
-->
|
||||
<template>
|
||||
|
@ -51,6 +51,12 @@
|
|||
refObj: { type: Object, default: null },
|
||||
})
|
||||
console.log(props.refObj, '=====================================')
|
||||
const arr = ['算法优势', '应用场景', '计费标准信息', '常见问题', '功能介绍']
|
||||
if (props.refObj.dto.infoList) {
|
||||
props.refObj.dto.infoList = props.refObj.dto.infoList.filter(
|
||||
(val) => arr.indexOf(val.attrType) == -1
|
||||
)
|
||||
}
|
||||
const endThis = () => {
|
||||
endProcess({ instanceId: props.refObj.processInstanceId }).then((res) => {
|
||||
if (res.data.code == 0) {
|
||||
|
|
|
@ -347,6 +347,8 @@
|
|||
message.success(`${info.file.name} 文件上传成功`)
|
||||
formName.enclosure = info.file.response.data
|
||||
} else if (info.file.status === 'error') {
|
||||
formName.enclosure = ''
|
||||
fileList.value=[]
|
||||
message.error(`${info.file.name} 文件上传失败`)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue