|
@ -6,20 +6,16 @@ |
|
|
<div class="head-container"> |
|
|
<div class="head-container"> |
|
|
<crudOperation :permission="permission"> |
|
|
<crudOperation :permission="permission"> |
|
|
<template v-slot:left> |
|
|
<template v-slot:left> |
|
|
<!-- :disabled="crud.selections.length === 0 || crud.selections[0].type !== 1 || crud.selections[0].type === 3" --> |
|
|
|
|
|
<!-- :disabled="crud.selections.length === 0 || crud.selections[0].type !== 1" --> |
|
|
|
|
|
<el-button size="mini" :disabled="currentNodeLevel===4" @click="toAddOrEdit('add')"> |
|
|
|
|
|
|
|
|
<el-button size="mini" :disabled="currentNodeLevel===3 || crud.selections[0].type !== 1" @click="toAddOrEdit('add')"> |
|
|
<i class="iconfont icon-xinzeng" /> |
|
|
<i class="iconfont icon-xinzeng" /> |
|
|
新增 |
|
|
新增 |
|
|
</el-button> |
|
|
</el-button> |
|
|
<!-- :disabled="crud.selections.length !== 1 || crud.selections[0].pid === '0' || crud.selections[0].type === 3" --> |
|
|
|
|
|
<el-button :disabled="crud.selections.length !== 1 || crud.selections[0].id === 0" size="mini" @click="toAddOrEdit('edit')"> |
|
|
<el-button :disabled="crud.selections.length !== 1 || crud.selections[0].id === 0" size="mini" @click="toAddOrEdit('edit')"> |
|
|
<i class="iconfont icon-bianji" /> |
|
|
<i class="iconfont icon-bianji" /> |
|
|
编辑 |
|
|
编辑 |
|
|
</el-button> |
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
|
<template v-slot:right> |
|
|
<template v-slot:right> |
|
|
<!-- :disabled="crud.selections.length === 0 || (crud.selections.length === 1 && crud.selections[0].pid === '0' ) || crud.selections[0].type === 3" --> |
|
|
|
|
|
<el-button :disabled="crud.selections.length === 0 || crud.selections[0].id === 0" size="mini" :loading="crud.delAllLoading" @click="toDelete(crud.selections)"> |
|
|
<el-button :disabled="crud.selections.length === 0 || crud.selections[0].id === 0" size="mini" :loading="crud.delAllLoading" @click="toDelete(crud.selections)"> |
|
|
<i class="iconfont icon-shanchu" /> |
|
|
<i class="iconfont icon-shanchu" /> |
|
|
删除 |
|
|
删除 |
|
@ -39,7 +35,7 @@ |
|
|
<span v-if="data.type === 1" class="iconFolder"> |
|
|
<span v-if="data.type === 1" class="iconFolder"> |
|
|
{{ data.title }} |
|
|
{{ data.title }} |
|
|
</span> |
|
|
</span> |
|
|
<span v-else class="iconMenuColumn"> |
|
|
|
|
|
|
|
|
<span v-else class="iconArch"> |
|
|
{{ data.title }} |
|
|
{{ data.title }} |
|
|
</span> |
|
|
</span> |
|
|
</span> |
|
|
</span> |
|
@ -54,11 +50,11 @@ |
|
|
<span class="right-top-line" /> |
|
|
<span class="right-top-line" /> |
|
|
<span class="left-bottom-line" /> |
|
|
<span class="left-bottom-line" /> |
|
|
<el-form ref="menuForm" class="menuForm" :model="menuForm" size="small"> |
|
|
<el-form ref="menuForm" class="menuForm" :model="menuForm" size="small"> |
|
|
<el-form-item label="" prop="demo_link"> |
|
|
|
|
|
<el-tooltip v-if="!editStatus.menuForm.demo_link" class="item" effect="dark" content="双击编辑查询机页面展示地址" placement="top"> |
|
|
|
|
|
<span class="edit-readonly" :style="{ color: menuForm.demo_link ? '#606266' : '#c0c4cc' }" @dblclick="handleDblClick('menuForm', 'demo_link')"> {{ menuForm.demo_link || '双击编辑查询机页面展示地址' }} </span> |
|
|
|
|
|
|
|
|
<el-form-item label="" prop="query_preview"> |
|
|
|
|
|
<el-tooltip v-if="!editStatus.menuForm.query_preview" class="item" effect="dark" content="双击编辑查询机页面展示地址" placement="top"> |
|
|
|
|
|
<span class="edit-readonly" :style="{ color: menuForm.query_preview ? '#606266' : '#c0c4cc' }" @dblclick="handleDblClick('menuForm', 'query_preview')"> {{ menuForm.query_preview || '双击编辑查询机页面展示地址' }} </span> |
|
|
</el-tooltip> |
|
|
</el-tooltip> |
|
|
<el-input v-else ref="menuFormdemo_link" v-model="menuForm.demo_link" @blur="handleBlur('menuForm', 'demo_link')" @keyup.enter="handleBlur('menuForm', 'demo_link')" /> |
|
|
|
|
|
|
|
|
<el-input v-else ref="menuFormquery_preview" v-model="menuForm.query_preview" @blur="handleBlur('menuForm', 'query_preview')" @keyup.enter="handleBlur('menuForm', 'query_preview')" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<div class="system-base-info"> |
|
|
<div class="system-base-info"> |
|
@ -75,7 +71,7 @@ |
|
|
<p v-else-if="selectedMenu.type == 3">栏目列表</p> |
|
|
<p v-else-if="selectedMenu.type == 3">栏目列表</p> |
|
|
<p v-else-if="selectedMenu.type == 4">新书推荐</p> |
|
|
<p v-else-if="selectedMenu.type == 4">新书推荐</p> |
|
|
<p v-else /> |
|
|
<p v-else /> |
|
|
<div v-if="currentNodeLevel===2" style="flex: 1; display: flex; justify-content: flex-start; align-items: center; margin-left: 10px;"> |
|
|
|
|
|
|
|
|
<div v-if="currentNodeLevel===1" style="flex: 1; display: flex; justify-content: flex-start; align-items: center; margin-left: 10px;"> |
|
|
<i style="cursor: pointer;" class="iconfont" :class="copied ? 'icon-fuzhichenggong1' : 'icon-fuzhi'" @click="copyLink" /> |
|
|
<i style="cursor: pointer;" class="iconfont" :class="copied ? 'icon-fuzhichenggong1' : 'icon-fuzhi'" @click="copyLink" /> |
|
|
<span style="display: block; flex: 1; text-align: left;">仅1级菜单可生成链接地址!</span> |
|
|
<span style="display: block; flex: 1; text-align: left;">仅1级菜单可生成链接地址!</span> |
|
|
</div> |
|
|
</div> |
|
@ -103,44 +99,62 @@ |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<!--修改新增表单组件--> |
|
|
|
|
|
<!-- <eForm ref="eform" :selected-menu="selectedMenu" /> --> |
|
|
|
|
|
|
|
|
|
|
|
<!--排序对话框组件--> |
|
|
<!--排序对话框组件--> |
|
|
<sortDialog ref="sort" @treeNodeSort="treeNodeSort" /> |
|
|
<sortDialog ref="sort" @treeNodeSort="treeNodeSort" /> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog class="tip-dialog tip-middle-dialog" title="操作提示" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :visible.sync="verifyDialogVisible" :before-close="handleClose"> |
|
|
|
|
|
<div class="setting-dialog"> |
|
|
|
|
|
<div class="tip-content"> |
|
|
|
|
|
<p class="tipMsg">查询机页面地址设置成功后,即可点击第一级菜单处复制生成链接预览!</p> |
|
|
|
|
|
<p class="delt-tip"><span>注意:此操作需超级管理员输入维护验证码后完成设置,暂不对普通用户开放!</span></p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-form ref="verfiyForm" :model="verfiyForm" style="margin-top:30px;" @submit.native.prevent> |
|
|
|
|
|
<el-form-item label="维护验证码" label-width="110px"> |
|
|
|
|
|
<el-input v-model="verfiyForm.verifyCode" show-password style="width: 480px;" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-form> |
|
|
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
|
|
<el-button @click="handleClose">取消 </el-button> |
|
|
|
|
|
<el-button type="primary" @click.native="handleLinkConfirm">确定</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog append-to-body :close-on-click-modal="false" :modal-append-to-body="false" :before-close="handleClose" :visible="formVisible" :title="dialogTilte"> |
|
|
<el-dialog append-to-body :close-on-click-modal="false" :modal-append-to-body="false" :before-close="handleClose" :visible="formVisible" :title="dialogTilte"> |
|
|
<div class="setting-dialog"> |
|
|
<div class="setting-dialog"> |
|
|
<el-form ref="form" inline :model="form" :rules="rules" size="small" label-width="90px"> |
|
|
<el-form ref="form" inline :model="form" :rules="rules" size="small" label-width="90px"> |
|
|
<el-form-item v-if="selectedMenu.id === '0' && selectedMenu.title === '查询机'" label="所属父级" prop="queryMenu.parentId"> |
|
|
|
|
|
<el-input v-model="selectedMenu.title" disabled /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-else label="所属父级" prop="queryMenu.parentId"> |
|
|
|
|
|
<el-input v-if="btnType==='edit'" v-model="selectedMenu.parentName" disabled /> |
|
|
|
|
|
<el-input v-else v-model="selectedMenu.title" disabled /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="编码" prop="queryMenu.code"> |
|
|
|
|
|
<el-input v-model="form.queryMenu.code" disabled /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="名称" prop="queryMenu.title"> |
|
|
|
|
|
<el-input v-model="form.queryMenu.title" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="菜单类型" prop="queryMenu.type"> |
|
|
|
|
|
<!-- @change="changeType" --> |
|
|
|
|
|
<el-select v-model="form.queryMenu.type" style="width: 225px;"> |
|
|
|
|
|
<!-- :disabled="brotherNodeNum >= 1 && item.value === 1" --> |
|
|
|
|
|
<el-option v-for="item in filteredSelectOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-form-item v-if="selectedMenu.id === '0' && selectedMenu.title === '查询机'" label="所属父级" prop="queryMenu.parentId"> |
|
|
|
|
|
<el-input v-model="selectedMenu.title" disabled /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-else label="所属父级" prop="queryMenu.parentId"> |
|
|
|
|
|
<el-input v-if="btnType==='edit'" v-model="selectedMenu.parentName" disabled /> |
|
|
|
|
|
<el-input v-else v-model="selectedMenu.title" disabled /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="btnType==='edit'" label="编码" prop="queryMenu.id"> |
|
|
|
|
|
<el-input v-model="form.queryMenu.id" disabled /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-form-item label="名称" prop="queryMenu.title"> |
|
|
|
|
|
<el-input v-model="form.queryMenu.title" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="菜单类型" prop="queryMenu.type"> |
|
|
|
|
|
<el-select v-model="form.queryMenu.type" style="width: 225px;" @change="changeType"> |
|
|
|
|
|
<el-option v-for="item in filteredSelectOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-row> |
|
|
<el-row v-if="form.queryMenu.type && (form.queryMenu.type === 2 || form.queryMenu.type === 3)"> |
|
|
<el-row v-if="form.queryMenu.type && (form.queryMenu.type === 2 || form.queryMenu.type === 3)"> |
|
|
<!-- @remove-tag="deleteTag" @change="changeColumn" --> |
|
|
|
|
|
<el-form-item style="width: 100%;" label="栏目绑定" prop="queryTopicList" class="is-required selecct-dropdown"> |
|
|
<el-form-item style="width: 100%;" label="栏目绑定" prop="queryTopicList" class="is-required selecct-dropdown"> |
|
|
<el-select v-model="form.queryTopicList" style="width: 584px" value-key="id" multiple placeholder="请选择" :popper-append-to-body="false"> |
|
|
|
|
|
|
|
|
<el-select ref="selectRef" :key="selectKey" v-model="form.queryTopicList" style="width: 584px" value-key="id" :multiple="form.queryMenu.type !== 2" placeholder="请选择" :popper-append-to-body="false"> |
|
|
<el-option v-for="item in columnDatas" :key="item.id" :label="item.title" :value="item" /> |
|
|
<el-option v-for="item in columnDatas" :key="item.id" :label="item.title" :value="item" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<el-form-item label="备注" prop="queryMenu.remarks"> |
|
|
<el-form-item label="备注" prop="queryMenu.remarks"> |
|
|
<el-input v-model="form.queryMenu.remarks" type="textarea" :rows="4" style="width: 580px;" /> |
|
|
|
|
|
|
|
|
<el-input v-model="form.queryMenu.remarks" type="textarea" :rows="4" style="width: 584px;" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<div slot="footer" class="dialog-footer"> |
|
|
<div slot="footer" class="dialog-footer"> |
|
@ -156,12 +170,14 @@ |
|
|
<script> |
|
|
<script> |
|
|
import crudMenu from '@/api/inquiryMachine/menu' |
|
|
import crudMenu from '@/api/inquiryMachine/menu' |
|
|
import { FetchQueryTopicTree } from '@/api/inquiryMachine/column' |
|
|
import { FetchQueryTopicTree } from '@/api/inquiryMachine/column' |
|
|
|
|
|
import { FetchInitScreenSetting, FetchEditScreenSetting } from '@/api/digitalScreen/index' |
|
|
import CRUD, { presenter, header } from '@crud/crud' |
|
|
import CRUD, { presenter, header } from '@crud/crud' |
|
|
// import eForm from './form' |
|
|
|
|
|
import sortDialog from './sortDialog' |
|
|
import sortDialog from './sortDialog' |
|
|
import crudOperation from '@crud/CRUD.operation' |
|
|
import crudOperation from '@crud/CRUD.operation' |
|
|
import Vue from 'vue' |
|
|
import Vue from 'vue' |
|
|
import { mapGetters } from 'vuex' |
|
|
import { mapGetters } from 'vuex' |
|
|
|
|
|
import { encrypt } from '@/utils/rsaEncrypt' |
|
|
|
|
|
import { verifyMaintenance } from '@/api/system/param' |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
name: 'InquiryMachineMenu', |
|
|
name: 'InquiryMachineMenu', |
|
@ -199,16 +215,22 @@ export default { |
|
|
brotherNodeNum: 0, |
|
|
brotherNodeNum: 0, |
|
|
sortTableData: [], |
|
|
sortTableData: [], |
|
|
menuForm: { |
|
|
menuForm: { |
|
|
demo_link: null |
|
|
|
|
|
|
|
|
query_preview: null |
|
|
}, |
|
|
}, |
|
|
editStatus: { |
|
|
editStatus: { |
|
|
menuForm: { |
|
|
menuForm: { |
|
|
demo_link: false |
|
|
|
|
|
|
|
|
query_preview: false |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
originalValues: { |
|
|
originalValues: { |
|
|
menuForm: {} |
|
|
menuForm: {} |
|
|
}, |
|
|
}, |
|
|
|
|
|
verifyDialogVisible: false, |
|
|
|
|
|
verfiyForm: { |
|
|
|
|
|
verifyCode: '' |
|
|
|
|
|
}, |
|
|
|
|
|
verifyStatus: '', |
|
|
|
|
|
showVerifyDialog: true, |
|
|
link: 'https://www.baidu.com/', |
|
|
link: 'https://www.baidu.com/', |
|
|
copied: false, |
|
|
copied: false, |
|
|
btnLoading: false, |
|
|
btnLoading: false, |
|
@ -224,9 +246,6 @@ export default { |
|
|
'queryMenu.type': [ |
|
|
'queryMenu.type': [ |
|
|
{ required: true, message: '菜单类型不可为空', trigger: 'change' } |
|
|
{ required: true, message: '菜单类型不可为空', trigger: 'change' } |
|
|
], |
|
|
], |
|
|
// code: [ |
|
|
|
|
|
// { required: true, message: '编码不可为空', trigger: 'blur' } |
|
|
|
|
|
// ], |
|
|
|
|
|
queryTopicList: [ |
|
|
queryTopicList: [ |
|
|
{ required: true, message: '栏目绑定不可为空', trigger: 'change' } |
|
|
{ required: true, message: '栏目绑定不可为空', trigger: 'change' } |
|
|
] |
|
|
] |
|
@ -239,11 +258,12 @@ export default { |
|
|
], |
|
|
], |
|
|
columnDatas: [], |
|
|
columnDatas: [], |
|
|
form: { |
|
|
form: { |
|
|
queryMenu: { id: '', parentId: '', parentName: '', title: '', code: '', type: 1, remarks: '' }, |
|
|
|
|
|
|
|
|
queryMenu: { id: '', parentId: '', parentName: '', title: '', demoLink: '', type: 1, remarks: '' }, |
|
|
queryTopicList: [] |
|
|
queryTopicList: [] |
|
|
}, |
|
|
}, |
|
|
|
|
|
selectKey: Math.random(), |
|
|
btnType: 'add', |
|
|
btnType: 'add', |
|
|
currentNodeLevel: 0 // 存储当前节点层级 |
|
|
|
|
|
|
|
|
currentNodeLevel: 0 |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
@ -255,11 +275,11 @@ export default { |
|
|
if (this.btnType === 'edit') { |
|
|
if (this.btnType === 'edit') { |
|
|
return this.selectOptions.map(item => ({ |
|
|
return this.selectOptions.map(item => ({ |
|
|
...item, |
|
|
...item, |
|
|
disabled: this.currentNodeLevel === 3 && !([2, 3].includes(item.value)) |
|
|
|
|
|
|
|
|
disabled: this.currentNodeLevel === 2 && !([2, 3].includes(item.value)) |
|
|
})) |
|
|
})) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (this.currentNodeLevel === 3) { |
|
|
|
|
|
|
|
|
if (this.currentNodeLevel === 2) { |
|
|
return this.selectOptions.filter(item => [2, 3].includes(item.value)) |
|
|
return this.selectOptions.filter(item => [2, 3].includes(item.value)) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -268,13 +288,25 @@ export default { |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
|
this.getInitQueryTopic() |
|
|
this.getInitQueryTopic() |
|
|
|
|
|
this.initScreenSetting() |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
getInitQueryTopic() { |
|
|
|
|
|
FetchQueryTopicTree().then(res => { |
|
|
|
|
|
|
|
|
getInitQueryTopic(type) { |
|
|
|
|
|
FetchQueryTopicTree({ 'libcode': this.user.fonds.fondsNo, 'type': type }).then(res => { |
|
|
this.columnDatas = res |
|
|
this.columnDatas = res |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
initScreenSetting() { |
|
|
|
|
|
FetchInitScreenSetting({ 'libcode': this.user.fonds.fondsNo }).then(res => { |
|
|
|
|
|
Object.values(res).forEach(item => { |
|
|
|
|
|
const { code, context } = item |
|
|
|
|
|
if (code === 'query_preview') { |
|
|
|
|
|
this.menuForm.query_preview = context |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
}).catch(() => { |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
[CRUD.HOOK.beforeRefresh]() { |
|
|
[CRUD.HOOK.beforeRefresh]() { |
|
|
this.crud.query.page = null |
|
|
this.crud.query.page = null |
|
|
this.crud.query.size = null |
|
|
this.crud.query.size = null |
|
@ -303,31 +335,6 @@ export default { |
|
|
node.expanded = true |
|
|
node.expanded = true |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
// [CRUD.HOOK.afterRefresh]() { |
|
|
|
|
|
// if (this.crud.data.length > 0 && (this.crud.data[0].id === null || this.crud.data[0].id === undefined)) { |
|
|
|
|
|
// this.crud.data[0].type = 1 |
|
|
|
|
|
// } |
|
|
|
|
|
// console.log('this.crud.data', this.crud.data) |
|
|
|
|
|
|
|
|
|
|
|
// this.$nextTick(() => { |
|
|
|
|
|
// let currentKey |
|
|
|
|
|
// if (localStorage.getItem('currentMenuKey')) { |
|
|
|
|
|
// currentKey = JSON.parse(localStorage.getItem('currentMenuKey')) |
|
|
|
|
|
// } else { |
|
|
|
|
|
// currentKey = this.crud.data[0] |
|
|
|
|
|
// } |
|
|
|
|
|
// console.log('currentKey', currentKey) |
|
|
|
|
|
// this.$refs.tree.setCurrentKey(currentKey.id) |
|
|
|
|
|
|
|
|
|
|
|
// const selectedKey = this.$refs.tree.getCurrentNode() |
|
|
|
|
|
// console.log('selectedKey', selectedKey) |
|
|
|
|
|
// if (this.$refs.tree.getNode(selectedKey) && this.$refs.tree.getNode(selectedKey).parent) { |
|
|
|
|
|
// this.expandParents(this.$refs.tree.getNode(selectedKey).parent) |
|
|
|
|
|
// } |
|
|
|
|
|
// // 选中节点的门类详情 |
|
|
|
|
|
// this.handleNodeClick(selectedKey, this.$refs.tree.getNode(selectedKey)) |
|
|
|
|
|
// }) |
|
|
|
|
|
// }, |
|
|
|
|
|
checkNodeExists(nodeId) { |
|
|
checkNodeExists(nodeId) { |
|
|
if (nodeId === '0') return true |
|
|
if (nodeId === '0') return true |
|
|
|
|
|
|
|
@ -417,18 +424,28 @@ export default { |
|
|
} |
|
|
} |
|
|
console.log('brotherNodeNum', this.brotherNodeNum) |
|
|
console.log('brotherNodeNum', this.brotherNodeNum) |
|
|
console.log(`当前节点层级:${node.level}`) |
|
|
console.log(`当前节点层级:${node.level}`) |
|
|
// switch (node.level) { |
|
|
|
|
|
// case 1: |
|
|
|
|
|
// console.log('这是顶级节点(一级节点)') |
|
|
|
|
|
// break |
|
|
|
|
|
// case 2: |
|
|
|
|
|
// console.log('这是二级节点(顶级节点的子节点)') |
|
|
|
|
|
// break |
|
|
|
|
|
// default: |
|
|
|
|
|
// console.log(`这是第${node.level}级节点`) |
|
|
|
|
|
// } |
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
changeType(val) { |
|
|
|
|
|
const currentSelected = this.form.queryTopicList |
|
|
|
|
|
let savedData = [] |
|
|
|
|
|
if (this.form.queryMenu.type === 2) { |
|
|
|
|
|
savedData = currentSelected ? [currentSelected] : [] |
|
|
|
|
|
} else { |
|
|
|
|
|
savedData = currentSelected || [] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (val === 2) { |
|
|
|
|
|
this.form.queryTopicList = savedData.length > 0 ? savedData[0] : null |
|
|
|
|
|
} else { |
|
|
|
|
|
this.form.queryTopicList = [...savedData] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.selectKey = Math.random() |
|
|
|
|
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
this.getInitQueryTopic(val === 2 ? 1 : null) |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
toAddOrEdit(type) { |
|
|
toAddOrEdit(type) { |
|
|
this.btnType = type |
|
|
this.btnType = type |
|
|
if (type === 'add') { |
|
|
if (type === 'add') { |
|
@ -448,13 +465,12 @@ export default { |
|
|
type: '', |
|
|
type: '', |
|
|
remarks: '' |
|
|
remarks: '' |
|
|
}, |
|
|
}, |
|
|
queryTopicList: [] |
|
|
|
|
|
|
|
|
queryTopicList: null |
|
|
} |
|
|
} |
|
|
console.log('this.selectedMenu', this.selectedMenu) |
|
|
|
|
|
console.log('brotherNodeNum', this.brotherNodeNum) |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
console.log('this.selectedMenu编辑', this.selectedMenu) |
|
|
|
|
|
this.dialogTilte = '编辑菜单' |
|
|
this.dialogTilte = '编辑菜单' |
|
|
|
|
|
const editType = this.selectedMenu.type // 当前编辑菜单的类型 |
|
|
|
|
|
const topicList = this.selectedMenu.queryTopicList || [] // 原始栏目数据(数组) |
|
|
this.form = { |
|
|
this.form = { |
|
|
queryMenu: { |
|
|
queryMenu: { |
|
|
id: this.selectedMenu.id, |
|
|
id: this.selectedMenu.id, |
|
@ -463,15 +479,18 @@ export default { |
|
|
parentName: this.selectedMenu.parentName, |
|
|
parentName: this.selectedMenu.parentName, |
|
|
title: this.selectedMenu.title, |
|
|
title: this.selectedMenu.title, |
|
|
code: null, |
|
|
code: null, |
|
|
type: this.selectedMenu.type, |
|
|
|
|
|
|
|
|
type: editType, |
|
|
remarks: this.selectedMenu.remarks |
|
|
remarks: this.selectedMenu.remarks |
|
|
}, |
|
|
}, |
|
|
queryTopicList: [...this.selectedMenu.queryTopicList] |
|
|
|
|
|
|
|
|
queryTopicList: editType === 2 |
|
|
|
|
|
? (topicList.length > 0 ? topicList[0] : null) |
|
|
|
|
|
: [...topicList] |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
this.formVisible = true |
|
|
this.formVisible = true |
|
|
|
|
|
|
|
|
console.log('form', this.form) |
|
|
|
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
this.selectKey = Math.random() |
|
|
|
|
|
}) |
|
|
}, |
|
|
}, |
|
|
handleComfired() { |
|
|
handleComfired() { |
|
|
this.$refs.form.validate((valid) => { |
|
|
this.$refs.form.validate((valid) => { |
|
@ -479,9 +498,22 @@ export default { |
|
|
this.btnLoading = true |
|
|
this.btnLoading = true |
|
|
delete this.form.queryMenu.parentName |
|
|
delete this.form.queryMenu.parentName |
|
|
console.log('this.form', this.form) |
|
|
console.log('this.form', this.form) |
|
|
crudMenu.add(this.form).then((res) => { |
|
|
|
|
|
|
|
|
console.log(this.selectedMenu) |
|
|
|
|
|
if (this.btnType === 'add' && this.selectedMenu.id === 0) { |
|
|
|
|
|
this.form.queryMenu.parentId = '' |
|
|
|
|
|
} |
|
|
|
|
|
const formData = { ...this.form } |
|
|
|
|
|
if (this.form.queryMenu.type === 2) { |
|
|
|
|
|
formData.queryTopicList = this.form.queryTopicList |
|
|
|
|
|
? [this.form.queryTopicList] |
|
|
|
|
|
: [] |
|
|
|
|
|
} else { |
|
|
|
|
|
formData.queryTopicList = this.form.queryTopicList || [] |
|
|
|
|
|
} |
|
|
|
|
|
console.log('formData', formData) |
|
|
|
|
|
crudMenu.add(formData).then((res) => { |
|
|
if (res) { |
|
|
if (res) { |
|
|
this.$message({ message: '新增成功', type: 'success', offset: 8 }) |
|
|
|
|
|
|
|
|
this.$message({ message: `${this.btnType === 'add' ? '新增' : '编辑'}成功`, type: 'success', offset: 8 }) |
|
|
this.crud.refresh() |
|
|
this.crud.refresh() |
|
|
localStorage.setItem('currentMenuKey', JSON.stringify(res)) |
|
|
localStorage.setItem('currentMenuKey', JSON.stringify(res)) |
|
|
} else { |
|
|
} else { |
|
@ -498,28 +530,6 @@ export default { |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
handleClose() { |
|
|
|
|
|
this.formVisible = false |
|
|
|
|
|
this.form = { |
|
|
|
|
|
queryMenu: { |
|
|
|
|
|
id: '', |
|
|
|
|
|
libcode: this.user.fonds.fondsNo, |
|
|
|
|
|
parentId: '', |
|
|
|
|
|
parentName: '', |
|
|
|
|
|
title: '', |
|
|
|
|
|
code: '', |
|
|
|
|
|
type: '', |
|
|
|
|
|
remarks: '' |
|
|
|
|
|
}, |
|
|
|
|
|
queryTopicList: [] |
|
|
|
|
|
} |
|
|
|
|
|
this.btnLoading = false |
|
|
|
|
|
this.$refs['form'].resetFields() |
|
|
|
|
|
this.$refs['form'].clearValidate() |
|
|
|
|
|
}, |
|
|
|
|
|
treeNodeSort(data) { |
|
|
|
|
|
this.$refs.tree.updateKeyChildren(data[0].pid, JSON.parse(JSON.stringify(data))) |
|
|
|
|
|
}, |
|
|
|
|
|
toDelete(datas) { |
|
|
toDelete(datas) { |
|
|
this.$confirm('此操作将删除当前所选菜单项及其子集<span>你是否还要继续?</span>', '提示', { |
|
|
this.$confirm('此操作将删除当前所选菜单项及其子集<span>你是否还要继续?</span>', '提示', { |
|
|
confirmButtonText: '继续', |
|
|
confirmButtonText: '继续', |
|
@ -548,51 +558,99 @@ export default { |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
toSort(data) { |
|
|
toSort(data) { |
|
|
console.log('data', data) |
|
|
|
|
|
this.$refs.sort.sortTableData = this.$refs.tree.getNode(data[0].parentId).data.children |
|
|
this.$refs.sort.sortTableData = this.$refs.tree.getNode(data[0].parentId).data.children |
|
|
this.$refs.sort.sortVisible = true |
|
|
this.$refs.sort.sortVisible = true |
|
|
}, |
|
|
}, |
|
|
handleDblClick(formName, field) { |
|
|
|
|
|
this.originalValues[formName][field] = this[formName][field] |
|
|
|
|
|
this.editStatus[formName][field] = true |
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
const input = this.$refs[`${formName}${field}`] |
|
|
|
|
|
if (input) input.focus() |
|
|
|
|
|
|
|
|
treeNodeSort(data) { |
|
|
|
|
|
this.crud.refresh() |
|
|
|
|
|
}, |
|
|
|
|
|
handleDblClick() { |
|
|
|
|
|
this.toVerify('reset') |
|
|
|
|
|
}, |
|
|
|
|
|
toVerify(btn) { |
|
|
|
|
|
this.verifyStatus = btn |
|
|
|
|
|
this.verifyDialogVisible = true |
|
|
|
|
|
}, |
|
|
|
|
|
handleLinkConfirm() { |
|
|
|
|
|
verifyMaintenance(encrypt(this.verfiyForm.verifyCode)).then((res) => { |
|
|
|
|
|
if (res) { |
|
|
|
|
|
this.verifyDialogVisible = false |
|
|
|
|
|
this.verfiyForm.verifyCode = '' |
|
|
|
|
|
this.showVerifyDialog = false |
|
|
|
|
|
|
|
|
|
|
|
this.originalValues.menuForm.query_preview = this.menuForm.query_preview |
|
|
|
|
|
this.editStatus.menuForm.query_preview = true |
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
const input = this.$refs.menuFormquery_preview |
|
|
|
|
|
if (input) input.focus() |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message({ message: '验证码错误!', type: 'error', offset: 8 }) |
|
|
|
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
handleBlur(formName, field) { |
|
|
handleBlur(formName, field) { |
|
|
this.editStatus[formName][field] = false |
|
|
this.editStatus[formName][field] = false |
|
|
if (this[formName][field] !== this.originalValues[formName][field]) { |
|
|
if (this[formName][field] !== this.originalValues[formName][field]) { |
|
|
this.submitMapData(formName, field) |
|
|
|
|
|
|
|
|
this.submitInquiryUrlData(formName, field) |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
submitMapData(formName, field) { |
|
|
|
|
|
|
|
|
submitInquiryUrlData(formName, field) { |
|
|
const value = this[formName][field] |
|
|
const value = this[formName][field] |
|
|
if (!value) { |
|
|
if (!value) { |
|
|
this.$message.warning(`查询机页面展示地址不能为空`) |
|
|
this.$message.warning(`查询机页面展示地址不能为空`) |
|
|
this[formName][field] = this.originalValues[formName][field] |
|
|
this[formName][field] = this.originalValues[formName][field] |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const param = { |
|
|
const param = { |
|
|
|
|
|
'libcode': this.user.fonds.fondsNo, |
|
|
'code': field, |
|
|
'code': field, |
|
|
'context': value, |
|
|
'context': value, |
|
|
'remarks': null |
|
|
'remarks': null |
|
|
} |
|
|
} |
|
|
console.log('param', param) |
|
|
|
|
|
// FetchEditScreenSetting(param) |
|
|
|
|
|
// .then((res) => { |
|
|
|
|
|
// if (res.code !== 500) { |
|
|
|
|
|
// this.$message.success('查询机页面展示地址更新成功') |
|
|
|
|
|
// this.$emit('update:welcomePlay', value) |
|
|
|
|
|
// this.$emit('triggerInit') |
|
|
|
|
|
// } else { |
|
|
|
|
|
// this.$message.error('查询机页面展示地址更新失败') |
|
|
|
|
|
// } |
|
|
|
|
|
// }) |
|
|
|
|
|
// .catch(() => { |
|
|
|
|
|
// this.$message.error('查询机页面展示地址更新失败') |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
FetchEditScreenSetting(param) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
if (res.code !== 500) { |
|
|
|
|
|
this.$message.success('查询机页面展示地址更新成功') |
|
|
|
|
|
this.initScreenSetting() |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.error('查询机页面展示地址更新失败') |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
.catch(() => { |
|
|
|
|
|
this.$message.error('查询机页面展示地址更新失败') |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
handleClose() { |
|
|
|
|
|
this.formVisible = false |
|
|
|
|
|
this.btnLoading = false |
|
|
|
|
|
|
|
|
|
|
|
if (this.$refs['form']) { |
|
|
|
|
|
this.$refs['form'].resetFields() |
|
|
|
|
|
this.$refs['form'].clearValidate() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (this.btnType === 'add') { |
|
|
|
|
|
this.form = { |
|
|
|
|
|
queryMenu: { |
|
|
|
|
|
id: '', |
|
|
|
|
|
libcode: this.user.fonds.fondsNo, |
|
|
|
|
|
parentId: '', |
|
|
|
|
|
parentName: '', |
|
|
|
|
|
title: '', |
|
|
|
|
|
code: '', |
|
|
|
|
|
type: '', |
|
|
|
|
|
remarks: '' |
|
|
|
|
|
}, |
|
|
|
|
|
queryTopicList: null |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.verifyDialogVisible = false |
|
|
|
|
|
if (this.$refs.verfiyForm) { |
|
|
|
|
|
this.$refs.verfiyForm.resetFields() |
|
|
|
|
|
} |
|
|
|
|
|
this.verfiyForm.verifyCode = '' |
|
|
}, |
|
|
}, |
|
|
copyLink() { |
|
|
copyLink() { |
|
|
navigator.clipboard.writeText(this.link) |
|
|
navigator.clipboard.writeText(this.link) |
|
|