Browse Source

查询机板块

master
xuhuajiao 1 week ago
parent
commit
d6b652fa53
  1. 6
      src/api/inquiryMachine/column.js
  2. 6
      src/api/inquiryMachine/menu.js
  3. 8
      src/views/inquiryMachine/column.vue
  4. 10
      src/views/inquiryMachine/content.vue
  5. 302
      src/views/inquiryMachine/menu.vue
  6. 13
      src/views/inquiryMachine/sortDialog.vue

6
src/api/inquiryMachine/column.js

@ -1,5 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'
// 查询机栏目管理 // 查询机栏目管理
export function FetchInitQueryTopic() { export function FetchInitQueryTopic() {
return request({ return request({
@ -9,9 +9,9 @@ export function FetchInitQueryTopic() {
} }
// 查询机栏目管理树 // 查询机栏目管理树
export function FetchQueryTopicTree() {
export function FetchQueryTopicTree(params) {
return request({ return request({
url: 'api/queryMachine/getQueryTopicTree',
url: 'api/queryMachine/getQueryTopicTree' + '?' + qs.stringify(params, { indices: false }),
method: 'get' method: 'get'
}) })
} }

6
src/api/inquiryMachine/menu.js

@ -35,11 +35,11 @@ export function del(data) {
}) })
} }
// 修改菜单树状菜单
// 修改菜单树排序
export function sort(data) { export function sort(data) {
return request({ return request({
url: 'api/category/sort',
method: 'put',
url: 'api/queryMachine/queryMenuOrder',
method: 'post',
data data
}) })
} }

8
src/views/inquiryMachine/column.vue

@ -94,17 +94,17 @@
<div v-if="scope.row.type === 4">图文列表-外部跳转</div> <div v-if="scope.row.type === 4">图文列表-外部跳转</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="deptsCount" label="内容数量" />
<el-table-column prop="sonCount" label="内容数量" />
<el-table-column prop="seqencing" label="排序" align="center" /> <el-table-column prop="seqencing" label="排序" align="center" />
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch v-model="scope.row.status" active-color="#409EFF" inactive-color="#F56C6C" :active-value="1" :inactive-value="0" @change="changeStatus(scope.row, scope.row.status)" /> <el-switch v-model="scope.row.status" active-color="#409EFF" inactive-color="#F56C6C" :active-value="1" :inactive-value="0" @change="changeStatus(scope.row, scope.row.status)" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create" label="创建者" />
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建日期">
<el-table-column prop="create_by" label="创建者" />
<el-table-column :show-overflow-tooltip="true" prop="create_time" label="创建日期">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
<div>{{ scope.row.create_time | parseTime }}</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

10
src/views/inquiryMachine/content.vue

@ -12,16 +12,16 @@
<div v-if="node.label.length <= 10" class="tree-text"> <div v-if="node.label.length <= 10" class="tree-text">
<p> {{ node.label }}</p> <p> {{ node.label }}</p>
<div v-if="data.id !== 0"> <div v-if="data.id !== 0">
<span v-if="data.type !== 1">0 /</span>
<span v-else>0 /1</span>
<span v-if="data.type !== 1">{{ data.sonCount }} /</span>
<span v-else>{{ data.sonCount }} /1</span>
</div> </div>
</div> </div>
<el-tooltip v-else effect="dark" :content="node.label" :enterable="false" placement="left"> <el-tooltip v-else effect="dark" :content="node.label" :enterable="false" placement="left">
<span class="tree-text"> <span class="tree-text">
<p> {{ node.label }}</p> <p> {{ node.label }}</p>
<div v-if="data.id !== 0"> <div v-if="data.id !== 0">
<span v-if="data.type !== 1">0 /</span>
<span v-else>0 /1</span>
<span v-if="data.type !== 1">{{ data.sonCount }} /</span>
<span v-else>{{ data.sonCount }} /1</span>
</div> </div>
</span> </span>
</el-tooltip> </el-tooltip>
@ -310,7 +310,7 @@ export default {
const parent = {} const parent = {}
parent.id = 0 parent.id = 0
parent.title = '栏目' parent.title = '栏目'
FetchQueryTopicTree().then(res => {
FetchQueryTopicTree({ 'libcode': this.user.fonds.fondsNo }).then(res => {
parent.children = res parent.children = res
this.columnTreeDatas.push(parent) this.columnTreeDatas.push(parent)
this.$nextTick(() => { this.$nextTick(() => {

302
src/views/inquiryMachine/menu.vue

@ -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,14 +99,32 @@
</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-row>
<el-form-item v-if="selectedMenu.id === '0' && selectedMenu.title === '查询机'" label="所属父级" prop="queryMenu.parentId"> <el-form-item v-if="selectedMenu.id === '0' && selectedMenu.title === '查询机'" label="所属父级" prop="queryMenu.parentId">
<el-input v-model="selectedMenu.title" disabled /> <el-input v-model="selectedMenu.title" disabled />
</el-form-item> </el-form-item>
@ -118,29 +132,29 @@
<el-input v-if="btnType==='edit'" v-model="selectedMenu.parentName" disabled /> <el-input v-if="btnType==='edit'" v-model="selectedMenu.parentName" disabled />
<el-input v-else v-model="selectedMenu.title" disabled /> <el-input v-else v-model="selectedMenu.title" disabled />
</el-form-item> </el-form-item>
<el-form-item label="编码" prop="queryMenu.code">
<el-input v-model="form.queryMenu.code" disabled />
<el-form-item v-if="btnType==='edit'" label="编码" prop="queryMenu.id">
<el-input v-model="form.queryMenu.id" disabled />
</el-form-item> </el-form-item>
</el-row>
<el-row>
<el-form-item label="名称" prop="queryMenu.title"> <el-form-item label="名称" prop="queryMenu.title">
<el-input v-model="form.queryMenu.title" /> <el-input v-model="form.queryMenu.title" />
</el-form-item> </el-form-item>
<el-form-item label="菜单类型" prop="queryMenu.type"> <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-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-option v-for="item in filteredSelectOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </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
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(() => { this.$nextTick(() => {
const input = this.$refs[`${formName}${field}`]
const input = this.$refs.menuFormquery_preview
if (input) input.focus() 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)

13
src/views/inquiryMachine/sortDialog.vue

@ -52,11 +52,16 @@ export default {
}, },
handleSort() { handleSort() {
const data = this.sortTableData.map((value, index) => { const data = this.sortTableData.map((value, index) => {
return { id: value.id, categorySeq: index + 1 }
})
this.sortTableData.forEach((item, index) => {
item.categorySeq = index + 1
return {
queryMenu: {
id: value.id,
seqencing: index + 1
}
}
}) })
// this.sortTableData.forEach((item, index) => {
// item.seqencing = index + 1
// })
sort(data).then(() => { sort(data).then(() => {
this.sortVisible = false this.sortVisible = false
this.$message({ message: '保存成功', type: 'success', offset: 8 }) this.$message({ message: '保存成功', type: 'success', offset: 8 })

Loading…
Cancel
Save