style:menu
Showing
4 changed files
with
403 additions
and
494 deletions
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | overflow: hidden; | 2 | overflow: hidden; |
| 3 | background: url("~@/image/dialogBg.png") no-repeat !important; | 3 | background: url("~@/image/dialogBg.png") no-repeat !important; |
| 4 | background-size: 100% 100% !important; | 4 | background-size: 100% 100% !important; |
| 5 | min-height: 90vh; | 5 | // min-height: 90vh; |
| 6 | 6 | ||
| 7 | .dialog_title { | 7 | .dialog_title { |
| 8 | display: flex; | 8 | display: flex; |
| ... | @@ -98,6 +98,7 @@ | ... | @@ -98,6 +98,7 @@ |
| 98 | color: #B5D6DC; | 98 | color: #B5D6DC; |
| 99 | border-radius: 2px; | 99 | border-radius: 2px; |
| 100 | border: 1px solid #224C7C; | 100 | border: 1px solid #224C7C; |
| 101 | |||
| 101 | span { | 102 | span { |
| 102 | display: inline-block; | 103 | display: inline-block; |
| 103 | padding: 3px; | 104 | padding: 3px; |
| ... | @@ -155,7 +156,7 @@ | ... | @@ -155,7 +156,7 @@ |
| 155 | .el-dialog__body { | 156 | .el-dialog__body { |
| 156 | padding-top: 0; | 157 | padding-top: 0; |
| 157 | padding-bottom: 0; | 158 | padding-bottom: 0; |
| 158 | height: 95vh; | 159 | // height: 95vh; |
| 159 | } | 160 | } |
| 160 | 161 | ||
| 161 | .el-dialog__headerbtn { | 162 | .el-dialog__headerbtn { | ... | ... |
| ... | @@ -43,19 +43,23 @@ class data extends filter { | ... | @@ -43,19 +43,23 @@ class data extends filter { |
| 43 | // }, | 43 | // }, |
| 44 | { | 44 | { |
| 45 | label: "查封机关", | 45 | label: "查封机关", |
| 46 | prop: "cfjg" | 46 | prop: "cfjg", |
| 47 | minWidth: 150, | ||
| 47 | }, | 48 | }, |
| 48 | { | 49 | { |
| 49 | label: "查封文号", | 50 | label: "查封文号", |
| 50 | prop: "cfwh" | 51 | prop: "cfwh", |
| 52 | minWidth: 130, | ||
| 51 | }, | 53 | }, |
| 52 | { | 54 | { |
| 53 | label: "解封机关", | 55 | label: "解封机关", |
| 54 | prop: "jfjg" | 56 | prop: "jfjg", |
| 57 | width: 150, | ||
| 55 | }, | 58 | }, |
| 56 | { | 59 | { |
| 57 | label: "解封文号", | 60 | label: "解封文号", |
| 58 | prop: "jfwh" | 61 | prop: "jfwh", |
| 62 | minWidth: 130, | ||
| 59 | }, | 63 | }, |
| 60 | 64 | ||
| 61 | { | 65 | { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <dialogBox class="modifydialog" :isMain="true" :title="2222" @closeDialog="close" @submitForm="submitForm" v-model="myValue"> |
| 3 | <Dialog class="modifydialog" :title="title" :show.sync="visible" :width="'767px'" @close="close()"> | 3 | <div class="modifydialog-con"> |
| 4 | <template slot="content"> | 4 | <el-form ref="form" :model="form" :rules="rules"> |
| 5 | <el-form ref="form" :model="form" :rules="rules"> | 5 | <el-row :gutter="24"> |
| 6 | <el-row :gutter="24"> | 6 | <el-col :span="12"> |
| 7 | <el-col :span="12"> | 7 | <el-form-item label="菜单名称:" prop="name" label-width="124px"> |
| 8 | <el-form-item label="菜单名称:" prop="name" label-width="124px"> | 8 | <el-input v-model="form.name" placeholder="请输入菜单名称" /> |
| 9 | <el-input v-model="form.name" placeholder="请输入菜单名称" /> | 9 | </el-form-item> |
| 10 | </el-form-item> | 10 | </el-col> |
| 11 | </el-col> | 11 | </el-row> |
| 12 | </el-row> | 12 | <el-row :gutter="24"> |
| 13 | <el-row :gutter="24"> | 13 | <el-col :span="12"> |
| 14 | <el-col :span="12"> | 14 | <el-form-item label="上级菜单:" label-width="124px"> |
| 15 | <el-form-item label="上级菜单:" label-width="124px"> | 15 | <el-cascader :key="menuKey" v-model="form.parentId" :options="parentMenuList" :props="setProps" |
| 16 | <el-cascader :key="menuKey" v-model="form.parentId" :options="parentMenuList" :props="setProps" | 16 | placeholder="请选择上级菜单" clearable @change="handleChange" /> |
| 17 | placeholder="请选择上级菜单" clearable @change="handleChange" /> | 17 | </el-form-item> |
| 18 | </el-form-item> | 18 | </el-col> |
| 19 | </el-col> | ||
| 20 | 19 | ||
| 21 | </el-row> | 20 | </el-row> |
| 22 | <el-row :gutter="24"> | 21 | <el-row :gutter="24"> |
| 23 | <el-col :span="24"> | 22 | <el-col :span="24"> |
| 24 | <el-form-item label="代码:" prop="code" label-width="124px"> | 23 | <el-form-item label="代码:" prop="code" label-width="124px"> |
| 25 | <el-input v-model="codeComputed" placeholder="请输入菜单代码" :disabled="type === 1" /> | 24 | <el-input v-model="codeComputed" placeholder="请输入菜单代码" :disabled="type === 1" /> |
| 26 | </el-form-item> | 25 | </el-form-item> |
| 27 | </el-col> | 26 | </el-col> |
| 28 | </el-row> | 27 | </el-row> |
| 29 | <el-row :gutter="24"> | 28 | <el-row :gutter="24"> |
| 30 | <el-col :span="24"> | 29 | <el-col :span="24"> |
| 31 | <el-form-item label="链接路径:" label-width="124px"> | 30 | <el-form-item label="链接路径:" label-width="124px"> |
| 32 | <el-input v-model="form.uri" placeholder="请输入链接路径" /> | 31 | <el-input v-model="form.uri" placeholder="请输入链接路径" /> |
| 33 | </el-form-item> | 32 | </el-form-item> |
| 34 | </el-col> | 33 | </el-col> |
| 35 | </el-row> | 34 | </el-row> |
| 36 | <el-row :gutter="24"> | 35 | <el-row :gutter="24"> |
| 37 | <el-col :span="24"> | 36 | <el-col :span="24"> |
| 38 | <el-form-item label="浏览器跳转模式:" label-width="124px"> | 37 | <el-form-item label="浏览器跳转模式:" label-width="124px"> |
| 39 | <el-select v-model="form.jumpMode" placeholder="请选择浏览器跳转模式"> | 38 | <el-select v-model="form.jumpMode" placeholder="请选择浏览器跳转模式"> |
| 40 | <el-option v-for="item in jumpModeList" :key="item.value" :label="item.name" :value="item.value" /> | 39 | <el-option v-for="item in jumpModeList" :key="item.value" :label="item.name" :value="item.value" /> |
| 41 | </el-select> | 40 | </el-select> |
| 42 | </el-form-item> | 41 | </el-form-item> |
| 43 | </el-col> | 42 | </el-col> |
| 44 | </el-row> | 43 | </el-row> |
| 45 | <el-row :gutter="24"> | 44 | <el-row :gutter="24"> |
| 46 | <el-col :span="24"> | 45 | <el-col :span="24"> |
| 47 | <el-form-item label="配置参数:" label-width="124px" class="form-item-mb0"> | 46 | <el-form-item label="配置参数:" label-width="124px" class="form-item-mb0"> |
| 48 | <!-- 配置参数 --> | 47 | <!-- 配置参数 --> |
| 49 | <JsonEditor :result-infos="form.metadata" @getJsonString="getJsonString" /> | 48 | <JsonEditor :result-infos="form.metadata" @getJsonString="getJsonString" /> |
| 50 | </el-form-item> | 49 | </el-form-item> |
| 51 | </el-col> | 50 | </el-col> |
| 52 | </el-row> | 51 | </el-row> |
| 53 | </el-form> | 52 | </el-form> |
| 54 | </template> | 53 | </div> |
| 55 | <template slot="footer"> | 54 | </dialogBox> |
| 56 | <el-button class="cancel-button" @click="close()">取消</el-button> | ||
| 57 | |||
| 58 | <el-button type="primary" @click="submitForm()">保存</el-button> | ||
| 59 | </template> | ||
| 60 | </Dialog> | ||
| 61 | <!-- 图标列表 --> | ||
| 62 | <IconList ref="iconList" @iconName="getIconName" /> | ||
| 63 | </div> | ||
| 64 | </template> | 55 | </template> |
| 65 | 56 | ||
| 66 | <script> | 57 | <script> |
| 67 | import Dialog from "@/components/Dialog/"; | 58 | import { getParentMenuListAction } from '@/api/authorityManage' |
| 68 | import { getParentMenuListAction } from '@/api/authorityManage' | 59 | import JsonEditor from '@/components/JsonEditors' |
| 69 | import JsonEditor from '@/components/JsonEditors' | 60 | import { validateCode } from '@/utils/validate'; |
| 70 | import IconList from '@/components/IconList' | 61 | import { api, httpAction } from '@/api/manageApi' |
| 71 | import { validateCode } from '@/utils/validate'; | 62 | export default { |
| 72 | import { api, httpAction } from '@/api/manageApi' | 63 | name: 'MenuModal', |
| 73 | export default { | 64 | components: { |
| 74 | name: 'MenuModal', | 65 | JsonEditor, |
| 75 | components: { | 66 | }, |
| 76 | IconList, | 67 | props: { |
| 77 | JsonEditor, | 68 | value: { type: Boolean, default: false }, |
| 78 | Dialog | 69 | productId: { |
| 79 | }, | 70 | type: String, |
| 80 | props: { | 71 | default: '' |
| 81 | productId: { | 72 | } |
| 82 | type: String, | 73 | }, |
| 83 | default: '' | 74 | data () { |
| 75 | return { | ||
| 76 | myValue: this.value, | ||
| 77 | form: { | ||
| 78 | icon: '', | ||
| 79 | code: '' | ||
| 80 | }, | ||
| 81 | rules: { | ||
| 82 | name: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }], | ||
| 83 | code: [ | ||
| 84 | { required: true, message: '必填', trigger: 'blur' }, | ||
| 85 | { validator: validateCode, trigger: 'blur' } | ||
| 86 | ] | ||
| 87 | }, | ||
| 88 | title: '', | ||
| 89 | type: '', | ||
| 90 | visible: false, | ||
| 91 | parentMenuList: [], | ||
| 92 | menuKey: 0, | ||
| 93 | jumpModeList: [ | ||
| 94 | { name: '在当前页面显示', value: 1 }, | ||
| 95 | { name: '跳转到新页面', value: 2 } | ||
| 96 | ], | ||
| 97 | setProps: { | ||
| 98 | value: 'id', | ||
| 99 | label: 'name', | ||
| 100 | children: 'children', | ||
| 101 | expandTrigger: 'hover', | ||
| 102 | checkStrictly: true, // 可取消关联,选择任意一级选项 | ||
| 103 | emitPath: false | ||
| 104 | }, | ||
| 105 | dataUrl: api.menus | ||
| 106 | } | ||
| 107 | }, | ||
| 108 | computed: { | ||
| 109 | codeComputed: { | ||
| 110 | get: function () { | ||
| 111 | return this.form.code | ||
| 112 | }, | ||
| 113 | set: function (val) { | ||
| 114 | this.form.code = val.toUpperCase() | ||
| 84 | } | 115 | } |
| 116 | } | ||
| 117 | }, | ||
| 118 | watch: { | ||
| 119 | value (val) { | ||
| 120 | this.myValue = val | ||
| 121 | } | ||
| 122 | }, | ||
| 123 | methods: { | ||
| 124 | // 获取父级菜单 | ||
| 125 | getParentMenuList (id) { | ||
| 126 | |||
| 127 | getParentMenuListAction(id).then((res) => { | ||
| 128 | if (res.status === 1) { | ||
| 129 | const list = this.$dealArrChildren(res.content) | ||
| 130 | if (id) { | ||
| 131 | this.parentMenuList = this.$dealArrDisabled( | ||
| 132 | this.$deepCopy(list), | ||
| 133 | id | ||
| 134 | ) | ||
| 135 | this.menuKey++ | ||
| 136 | } else { | ||
| 137 | this.parentMenuList = list | ||
| 138 | } | ||
| 139 | } else { | ||
| 140 | this.$message.error({ message: res.message, showClose: true }) | ||
| 141 | } | ||
| 142 | }) | ||
| 85 | }, | 143 | }, |
| 86 | data () { | 144 | getIconList () { |
| 87 | return { | 145 | this.$refs.iconList.show(true) |
| 88 | form: { | ||
| 89 | icon: '', | ||
| 90 | code: '' | ||
| 91 | }, | ||
| 92 | rules: { | ||
| 93 | name: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }], | ||
| 94 | code: [ | ||
| 95 | { required: true, message: '必填', trigger: 'blur' }, | ||
| 96 | { validator: validateCode, trigger: 'blur' } | ||
| 97 | ] | ||
| 98 | }, | ||
| 99 | title: '', | ||
| 100 | type: '', | ||
| 101 | visible: false, | ||
| 102 | parentMenuList: [], | ||
| 103 | menuKey: 0, | ||
| 104 | jumpModeList: [ | ||
| 105 | { name: '在当前页面显示', value: 1 }, | ||
| 106 | { name: '跳转到新页面', value: 2 } | ||
| 107 | ], | ||
| 108 | setProps: { | ||
| 109 | value: 'id', | ||
| 110 | label: 'name', | ||
| 111 | children: 'children', | ||
| 112 | expandTrigger: 'hover', | ||
| 113 | checkStrictly: true, // 可取消关联,选择任意一级选项 | ||
| 114 | emitPath: false | ||
| 115 | }, | ||
| 116 | dataUrl: api.menus | ||
| 117 | } | ||
| 118 | }, | 146 | }, |
| 119 | computed: { | 147 | getIconName (data) { |
| 120 | codeComputed: { | 148 | this.form.icon = data |
| 121 | get: function () { | 149 | }, |
| 122 | return this.form.code | 150 | // 配置参数 |
| 123 | }, | 151 | getJsonString (data) { |
| 124 | set: function (val) { | 152 | this.form.metadata = data |
| 125 | this.form.code = val.toUpperCase() | 153 | }, |
| 126 | } | 154 | // 新增菜单 |
| 155 | add () { | ||
| 156 | this.getParentMenuList(this.productId) | ||
| 157 | this.type = 0 | ||
| 158 | this.form.jumpMode = 1 | ||
| 159 | }, | ||
| 160 | // 编辑菜单 | ||
| 161 | edit (record) { | ||
| 162 | this.type = 1 | ||
| 163 | // 若有id为编辑 | ||
| 164 | if (record.id) { | ||
| 165 | this.$nextTick(() => { | ||
| 166 | this.form = Object.assign({}, record) | ||
| 167 | this.getParentMenuList(this.productId) | ||
| 168 | }) | ||
| 127 | } | 169 | } |
| 128 | }, | 170 | }, |
| 129 | created () { }, | 171 | // 选择上级菜单 |
| 130 | mounted () { }, | 172 | handleChange (value) { |
| 131 | methods: { | 173 | this.form.parentId = value |
| 132 | // 获取父级菜单 | 174 | }, |
| 133 | getParentMenuList (id) { | 175 | // 保存 |
| 134 | 176 | submitForm (submitType) { | |
| 135 | getParentMenuListAction(id).then((res) => { | 177 | this.$refs.form.validate((valid) => { |
| 136 | if (res.status === 1) { | 178 | if (valid) { |
| 137 | const list = this.$dealArrChildren(res.content) | 179 | let method = '' |
| 138 | if (id) { | 180 | let url = '' |
| 139 | this.parentMenuList = this.$dealArrDisabled( | 181 | const formData = this.form |
| 140 | this.$deepCopy(list), | 182 | formData.productId = this.productId |
| 141 | id | 183 | if (!formData.id) { |
| 142 | ) | 184 | method = 'post' |
| 143 | this.menuKey++ | 185 | url = this.dataUrl |
| 144 | } else { | ||
| 145 | this.parentMenuList = list | ||
| 146 | } | ||
| 147 | } else { | 186 | } else { |
| 148 | this.$message.error({ message: res.message, showClose: true }) | 187 | method = 'put' |
| 188 | url = `${this.dataUrl}/${formData.id}` | ||
| 149 | } | 189 | } |
| 150 | }) | 190 | debugger |
| 151 | }, | 191 | httpAction(url, formData, method) |
| 152 | getIconList () { | 192 | .then((res) => { |
| 153 | this.$refs.iconList.show(true) | 193 | if (res.status === 1) { |
| 154 | }, | 194 | this.$message.success({ |
| 155 | getIconName (data) { | 195 | message: res.message, |
| 156 | this.form.icon = data | 196 | showClose: true |
| 157 | }, | 197 | }) |
| 158 | // 配置参数 | ||
| 159 | getJsonString (data) { | ||
| 160 | this.form.metadata = data | ||
| 161 | }, | ||
| 162 | // 新增菜单 | ||
| 163 | add () { | ||
| 164 | this.getParentMenuList(this.productId) | ||
| 165 | this.visible = true | ||
| 166 | this.type = 0 | ||
| 167 | this.form.jumpMode = 1 | ||
| 168 | }, | ||
| 169 | // 编辑菜单 | ||
| 170 | edit (record) { | ||
| 171 | this.type = 1 | ||
| 172 | // 若有id为编辑 | ||
| 173 | if (record.id) { | ||
| 174 | this.$nextTick(() => { | ||
| 175 | this.form = Object.assign({}, record) | ||
| 176 | this.getParentMenuList(this.productId) | ||
| 177 | }) | ||
| 178 | } | ||
| 179 | this.visible = true | ||
| 180 | }, | ||
| 181 | // 选择上级菜单 | ||
| 182 | handleChange (value) { | ||
| 183 | this.form.parentId = value | ||
| 184 | }, | ||
| 185 | // 保存 | ||
| 186 | submitForm (submitType) { | ||
| 187 | this.$refs.form.validate((valid) => { | ||
| 188 | if (valid) { | ||
| 189 | let method = '' | ||
| 190 | let url = '' | ||
| 191 | const formData = this.form | ||
| 192 | formData.productId = this.productId | ||
| 193 | if (!formData.id) { | ||
| 194 | method = 'post' | ||
| 195 | url = this.dataUrl | ||
| 196 | } else { | ||
| 197 | method = 'put' | ||
| 198 | url = `${this.dataUrl}/${formData.id}` | ||
| 199 | } | ||
| 200 | debugger | ||
| 201 | httpAction(url, formData, method) | ||
| 202 | .then((res) => { | ||
| 203 | if (res.status === 1) { | ||
| 204 | this.$message.success({ | ||
| 205 | message: res.message, | ||
| 206 | showClose: true | ||
| 207 | }) | ||
| 208 | 198 | ||
| 209 | this.resetForm() | 199 | this.resetForm() |
| 210 | this.$emit('ok') | 200 | this.$emit('ok') |
| 211 | } else { | 201 | } else { |
| 212 | this.$message.error({ message: res.message, showClose: true }) | 202 | this.$message.error({ message: res.message, showClose: true }) |
| 213 | } | 203 | } |
| 214 | }) | 204 | }) |
| 215 | .catch((err) => { | 205 | .catch((err) => { |
| 216 | console.log(err) | 206 | console.log(err) |
| 217 | }) | 207 | }) |
| 218 | } | ||
| 219 | }) | ||
| 220 | }, | ||
| 221 | resetForm () { | ||
| 222 | this.$refs.form.resetFields() | ||
| 223 | this.form = { | ||
| 224 | icon: '', | ||
| 225 | code: '' | ||
| 226 | } | 208 | } |
| 227 | }, | 209 | }) |
| 228 | close () { | 210 | }, |
| 229 | this.resetForm() | 211 | resetForm () { |
| 230 | this.visible = false | 212 | this.$refs.form.resetFields() |
| 213 | this.form = { | ||
| 214 | icon: '', | ||
| 215 | code: '' | ||
| 231 | } | 216 | } |
| 217 | }, | ||
| 218 | close () { | ||
| 219 | this.resetForm() | ||
| 220 | this.visible = false | ||
| 232 | } | 221 | } |
| 233 | } | 222 | } |
| 223 | } | ||
| 234 | </script> | 224 | </script> |
| 235 | <style scoped lang="scss"> | 225 | <style scoped lang="scss"> |
| 236 | // @import "~@/styles/public.scss"; | 226 | .modifydialog { |
| 237 | </style> | 227 | &-con { |
| 228 | background: #031A46; | ||
| 229 | } | ||
| 230 | } | ||
| 231 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -17,250 +17,160 @@ | ... | @@ -17,250 +17,160 @@ |
| 17 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> | 17 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> |
| 18 | </lb-table> | 18 | </lb-table> |
| 19 | </div> | 19 | </div> |
| 20 | <edit-dialog ref="dialogForm" :product-id="productId" :resource-category-id="resourceCategoryId" | 20 | <edit-dialog ref="dialogForm" v-model="isDialog" :product-id="productId" :resource-category-id="resourceCategoryId" |
| 21 | @ok="reloadTableData" /> | 21 | @ok="reloadTableData" /> |
| 22 | <!-- <authorizationdiglog ref="rolesForm" /> --> | 22 | <!-- <authorizationdiglog ref="rolesForm" /> --> |
| 23 | </div> | 23 | </div> |
| 24 | </template> | 24 | </template> |
| 25 | <script> | 25 | <script> |
| 26 | // 定时任务 | 26 | // 定时任务 |
| 27 | import data from "./data"; | 27 | import data from "./data"; |
| 28 | import { deleteAction, getAction, api } from "@/api/manageApi"; | 28 | import { deleteAction, getAction, api } from "@/api/manageApi"; |
| 29 | import EditDialog from "./edit-dialog.vue"; | 29 | import EditDialog from "./edit-dialog.vue"; |
| 30 | import { mapGetters } from "vuex"; | 30 | import { mapGetters } from "vuex"; |
| 31 | import { getMenuInfo } from "@/api/user"; | 31 | import { getMenuInfo } from "@/api/user"; |
| 32 | import { | 32 | import { |
| 33 | getUuid, | 33 | getUuid, |
| 34 | judgeSort, | 34 | judgeSort, |
| 35 | realMove, | 35 | realMove, |
| 36 | findParents, | 36 | findParents, |
| 37 | removeTreeListItem, | 37 | removeTreeListItem, |
| 38 | } from "@/utils/operation"; | 38 | } from "@/utils/operation"; |
| 39 | // import authorizationdiglog from "./authorizationdiglog.vue"; | 39 | // import authorizationdiglog from "./authorizationdiglog.vue"; |
| 40 | export default { | 40 | export default { |
| 41 | name: "menus", | 41 | name: "menus", |
| 42 | components: { | 42 | components: { |
| 43 | EditDialog, | 43 | EditDialog, |
| 44 | // authorizationdiglog, | 44 | // authorizationdiglog, |
| 45 | }, | 45 | }, |
| 46 | data () { | 46 | data () { |
| 47 | return { | 47 | return { |
| 48 | tablelistData: [], | 48 | isDialog: false, |
| 49 | resourceCategoryId: "", | 49 | tablelistData: [], |
| 50 | taskData: null, | 50 | resourceCategoryId: "", |
| 51 | form: { | 51 | taskData: null, |
| 52 | job_name: "", | 52 | form: { |
| 53 | currentPage: 1, | 53 | job_name: "", |
| 54 | }, | 54 | currentPage: 1, |
| 55 | title: "", | 55 | }, |
| 56 | queryParam: {}, | 56 | title: "", |
| 57 | selectType: "0", | 57 | queryParam: {}, |
| 58 | queryName: "", | 58 | selectType: "0", |
| 59 | organizationId: "", // 组织机构ID | 59 | queryName: "", |
| 60 | departmentId: "", // 部门ID | 60 | organizationId: "", // 组织机构ID |
| 61 | departmentList: [], // 部门列表 | 61 | departmentId: "", // 部门ID |
| 62 | levelList: [], // 职务级别 | 62 | departmentList: [], // 部门列表 |
| 63 | sexList: [], | 63 | levelList: [], // 职务级别 |
| 64 | sexList: [], | ||
| 64 | 65 | ||
| 65 | selectionList: [], | 66 | selectionList: [], |
| 66 | tableData: { | 67 | tableData: { |
| 67 | columns: [].concat(data.columns()).concat([ | 68 | columns: [].concat(data.columns()).concat([ |
| 68 | { | 69 | { |
| 69 | label: "操作", | 70 | label: "操作", |
| 70 | width: 380, | 71 | width: 380, |
| 71 | render: (h, scope) => { | 72 | render: (h, scope) => { |
| 72 | return ( | 73 | return ( |
| 73 | <div> | 74 | <div> |
| 74 | <el-button | 75 | <el-button |
| 75 | type="text" | 76 | type="text" |
| 76 | size="mini" | 77 | size="mini" |
| 77 | icon="el-icon-edit" | 78 | icon="el-icon-edit" |
| 78 | onClick={() => { | 79 | onClick={() => { |
| 79 | this.handleEdit(scope.row); | 80 | this.handleEdit(scope.row); |
| 80 | }} | 81 | }} |
| 81 | > | 82 | > |
| 82 | 修改 | 83 | 修改 |
| 83 | </el-button> | 84 | </el-button> |
| 84 | 85 | ||
| 85 | <el-button | 86 | <el-button |
| 86 | type="text" | 87 | type="text" |
| 87 | size="mini" | 88 | size="mini" |
| 88 | icon="el-icon-delete" | 89 | icon="el-icon-delete" |
| 89 | style="color:#F56C6C" | 90 | style="color:#F56C6C" |
| 90 | onClick={() => { | 91 | onClick={() => { |
| 91 | this.handleDelete(scope.row.id, scope.row.name); | 92 | this.handleDelete(scope.row.id, scope.row.name); |
| 92 | }} | 93 | }} |
| 93 | > | 94 | > |
| 94 | 删除 | 95 | 删除 |
| 95 | </el-button> | 96 | </el-button> |
| 96 | </div> | 97 | </div> |
| 97 | ); | 98 | ); |
| 98 | }, | ||
| 99 | }, | 99 | }, |
| 100 | ]), | 100 | }, |
| 101 | data: [], | 101 | ]), |
| 102 | }, | 102 | data: [], |
| 103 | pageData: { | 103 | }, |
| 104 | total: 5, | 104 | pageData: { |
| 105 | pageSize: 15, | 105 | total: 5, |
| 106 | current: 1, | 106 | pageSize: 15, |
| 107 | current: 1, | ||
| 108 | }, | ||
| 109 | tableUrl: api.menus, // 菜单接口地址 | ||
| 110 | meumurlid: api.subsystem,// 项目id接口地址 | ||
| 111 | productId: ""//项目id | ||
| 112 | }; | ||
| 113 | }, | ||
| 114 | created () { | ||
| 115 | this.getTableList(); | ||
| 116 | }, | ||
| 117 | computed: { | ||
| 118 | ...mapGetters(["products"]) | ||
| 119 | }, | ||
| 120 | methods: { | ||
| 121 | // 加载表格数据 | ||
| 122 | getTableList () { | ||
| 123 | getMenuInfo(sessionStorage.getItem("products")).then((res) => { | ||
| 124 | if (res.code === 200) { | ||
| 125 | this.tablelistData = judgeSort(res.result) | ||
| 126 | } else { | ||
| 127 | this.$message.error({ message: res.message, showClose: true }) | ||
| 128 | } | ||
| 129 | }) | ||
| 130 | const queryOptionsid = { | ||
| 131 | conditionGroup: { | ||
| 132 | queryRelation: "AND", | ||
| 133 | conditions: [ | ||
| 134 | { | ||
| 135 | property: "code", | ||
| 136 | value: this.products, | ||
| 137 | operator: "EQ", | ||
| 138 | }, | ||
| 139 | ], | ||
| 107 | }, | 140 | }, |
| 108 | tableUrl: api.menus, // 菜单接口地址 | ||
| 109 | meumurlid: api.subsystem,// 项目id接口地址 | ||
| 110 | productId: ""//项目id | ||
| 111 | }; | 141 | }; |
| 142 | const params = { | ||
| 143 | queryOptions: queryOptionsid, | ||
| 144 | }; | ||
| 145 | // 获取系统id | ||
| 146 | getAction(this.meumurlid, params) | ||
| 147 | .then((res) => { | ||
| 148 | this.productId = res.content[0].id; | ||
| 149 | this.getAuthorityList(res.content[0].id, res.content[0].code) | ||
| 150 | this.selectedSubsystemCode = res.content[0].code | ||
| 151 | |||
| 152 | }) | ||
| 153 | .catch((error) => { | ||
| 154 | console.log("er", error); | ||
| 155 | }) | ||
| 112 | }, | 156 | }, |
| 113 | created () { | 157 | // 新增菜单 |
| 114 | this.getTableList(); | 158 | handleAdd () { |
| 115 | }, | 159 | this.isDialog = true |
| 116 | computed: { | 160 | this.$refs.dialogForm.add(); |
| 117 | ...mapGetters(["products"]) | 161 | this.$refs.dialogForm.title = "添加"; |
| 118 | }, | 162 | }, |
| 119 | methods: { | ||
| 120 | // 加载表格数据 | ||
| 121 | getTableList () { | ||
| 122 | getMenuInfo(sessionStorage.getItem("products")).then((res) => { | ||
| 123 | if (res.code === 200) { | ||
| 124 | this.tablelistData = judgeSort(res.result) | ||
| 125 | } else { | ||
| 126 | this.$message.error({ message: res.message, showClose: true }) | ||
| 127 | } | ||
| 128 | }) | ||
| 129 | const queryOptionsid = { | ||
| 130 | conditionGroup: { | ||
| 131 | queryRelation: "AND", | ||
| 132 | conditions: [ | ||
| 133 | { | ||
| 134 | property: "code", | ||
| 135 | value: this.products, | ||
| 136 | operator: "EQ", | ||
| 137 | }, | ||
| 138 | ], | ||
| 139 | }, | ||
| 140 | }; | ||
| 141 | const params = { | ||
| 142 | queryOptions: queryOptionsid, | ||
| 143 | }; | ||
| 144 | // 获取系统id | ||
| 145 | getAction(this.meumurlid, params) | ||
| 146 | .then((res) => { | ||
| 147 | this.productId = res.content[0].id; | ||
| 148 | this.getAuthorityList(res.content[0].id, res.content[0].code) | ||
| 149 | this.selectedSubsystemCode = res.content[0].code | ||
| 150 | // let queryOptions = { | ||
| 151 | // conditionGroup: { | ||
| 152 | // conditions: [ | ||
| 153 | // { | ||
| 154 | // property: "productId", | ||
| 155 | // value: this.productId, | ||
| 156 | // operator: "EQ", | ||
| 157 | // }, | ||
| 158 | // ], | ||
| 159 | // queryRelation: "AND", | ||
| 160 | // }, | ||
| 161 | // orderBys: [{ property: "sort", direction: "desc" }], | ||
| 162 | // }; | ||
| 163 | // if (!this.tableUrl) { | ||
| 164 | // console.log("请设置tableUrl属性为接口地址!"); | ||
| 165 | // return; | ||
| 166 | // } | ||
| 167 | // if (this.queryOptions !== "") { | ||
| 168 | // this.queryParam.queryOptions = JSON.stringify(queryOptions); | ||
| 169 | // } | ||
| 170 | // 查询系统菜单 | ||
| 171 | // getAction(this.tableUrl, this.queryParam) | ||
| 172 | // .then((res) => { | ||
| 173 | // if (res.status === 1) { | ||
| 174 | // this.loading = false; | ||
| 175 | // // this.menutablelistData = res.content; | ||
| 176 | // console.log("res.content菜单", res.content); | ||
| 177 | // } else { | ||
| 178 | // this.$message.error({ message: res.message, showClose: true }); | ||
| 179 | // this.loading = false; | ||
| 180 | // } | ||
| 181 | // }) | ||
| 182 | // .catch((error) => { | ||
| 183 | // console.log("er", error); | ||
| 184 | // this.loading = false; | ||
| 185 | // }); | ||
| 186 | }) | ||
| 187 | .catch((error) => { | ||
| 188 | console.log("er", error); | ||
| 189 | }); | ||
| 190 | // const queryOptionsid = { | ||
| 191 | // conditionGroup: { | ||
| 192 | // queryRelation: "AND", | ||
| 193 | // conditions: [ | ||
| 194 | // { | ||
| 195 | // property: "code", | ||
| 196 | // value: sessionStorage.getItem("products"), | ||
| 197 | // operator: "EQ", | ||
| 198 | // }, | ||
| 199 | // ], | ||
| 200 | // }, | ||
| 201 | // }; | ||
| 202 | // const params = { | ||
| 203 | // queryOptions: queryOptionsid, | ||
| 204 | // }; | ||
| 205 | // // 获取系统id | ||
| 206 | // getAction(this.meumurlid, params) | ||
| 207 | // .then((res) => { | ||
| 208 | // this.productId = res.content[0].id; | ||
| 209 | // let queryOptions = { | ||
| 210 | // conditionGroup: { | ||
| 211 | // conditions: [ | ||
| 212 | // { | ||
| 213 | // property: "productId", | ||
| 214 | // value: this.productId, | ||
| 215 | // operator: "EQ", | ||
| 216 | // }, | ||
| 217 | // ], | ||
| 218 | // queryRelation: "AND", | ||
| 219 | // }, | ||
| 220 | // orderBys: [{ property: "sort", direction: "desc" }], | ||
| 221 | // }; | ||
| 222 | // if (!this.tableUrl) { | ||
| 223 | // console.log("请设置tableUrl属性为接口地址!"); | ||
| 224 | // return; | ||
| 225 | // } | ||
| 226 | // if (this.queryOptions !== "") { | ||
| 227 | // this.queryParam.queryOptions = JSON.stringify(queryOptions); | ||
| 228 | // } | ||
| 229 | // // 查询系统菜单 | ||
| 230 | // getAction(this.tableUrl, this.queryParam) | ||
| 231 | // .then((res) => { | ||
| 232 | // if (res.status === 1) { | ||
| 233 | // this.loading = false; | ||
| 234 | // this.tablelistData = res.content; | ||
| 235 | // } else { | ||
| 236 | // this.$message.error({ message: res.message, showClose: true }); | ||
| 237 | // this.loading = false; | ||
| 238 | // } | ||
| 239 | // }) | ||
| 240 | // .catch((error) => { | ||
| 241 | // console.log("er", error); | ||
| 242 | // this.loading = false; | ||
| 243 | // }); | ||
| 244 | // }) | ||
| 245 | // .catch((error) => { | ||
| 246 | // console.log("er", error); | ||
| 247 | // }); | ||
| 248 | }, | ||
| 249 | // 新增菜单 | ||
| 250 | handleAdd () { | ||
| 251 | this.$refs.dialogForm.add(); | ||
| 252 | this.$refs.dialogForm.title = "添加"; | ||
| 253 | }, | ||
| 254 | 163 | ||
| 255 | // 修改 | 164 | // 修改 |
| 256 | handleEdit (record) { | 165 | handleEdit (record) { |
| 257 | this.$refs.dialogForm.edit(record); | 166 | this.isDialog = true |
| 258 | this.$refs.dialogForm.title = "修改"; | 167 | this.$refs.dialogForm.edit(record); |
| 259 | }, | 168 | this.$refs.dialogForm.title = "修改"; |
| 260 | // 删除 | 169 | }, |
| 261 | handleDelete (id, content) { | 170 | // 删除 |
| 262 | this.$confirm( | 171 | handleDelete (id, content) { |
| 263 | `<div class="customer-message-wrapper"> | 172 | this.$confirm( |
| 173 | `<div class="customer-message-wrapper"> | ||
| 264 | <h5 class="title">您确认要执行该操作用于以下信息:</h5> | 174 | <h5 class="title">您确认要执行该操作用于以下信息:</h5> |
| 265 | <p class="content" aria-controls="${content}">${content} | 175 | <p class="content" aria-controls="${content}">${content} |
| 266 | </p> | 176 | </p> |
| ... | @@ -268,51 +178,51 @@ | ... | @@ -268,51 +178,51 @@ |
| 268 | <span >无法恢复</span> | 178 | <span >无法恢复</span> |
| 269 | </p> | 179 | </p> |
| 270 | </div>`, | 180 | </div>`, |
| 271 | '执行确认', | 181 | '执行确认', |
| 272 | { | 182 | { |
| 273 | dangerouslyUseHTMLString: true, | 183 | dangerouslyUseHTMLString: true, |
| 274 | customClass: 'customer-delete', | 184 | customClass: 'customer-delete', |
| 275 | confirmButtonText: '确定', | 185 | confirmButtonText: '确定', |
| 276 | cancelButtonText: '取消', | 186 | cancelButtonText: '取消', |
| 277 | type: 'warning' | 187 | type: 'warning' |
| 188 | } | ||
| 189 | ) | ||
| 190 | .then(() => { | ||
| 191 | if (!this.tableUrl) { | ||
| 192 | this.$message.error({ | ||
| 193 | message: '请设置tableUrl属性为接口地址!', | ||
| 194 | showClose: true | ||
| 195 | }) | ||
| 196 | return | ||
| 278 | } | 197 | } |
| 279 | ) | 198 | const url = this.tableUrl + '/' + id |
| 280 | .then(() => { | 199 | deleteAction(url).then(res => { |
| 281 | if (!this.tableUrl) { | 200 | if (res.status === 1) { |
| 282 | this.$message.error({ | 201 | this.$message.success({ message: res.message, showClose: true }) |
| 283 | message: '请设置tableUrl属性为接口地址!', | 202 | this.reloadTableData() |
| 284 | showClose: true | 203 | } else { |
| 285 | }) | 204 | this.$message.error({ message: res.message, showClose: true }) |
| 286 | return | ||
| 287 | } | 205 | } |
| 288 | const url = this.tableUrl + '/' + id | ||
| 289 | deleteAction(url).then(res => { | ||
| 290 | if (res.status === 1) { | ||
| 291 | this.$message.success({ message: res.message, showClose: true }) | ||
| 292 | this.reloadTableData() | ||
| 293 | } else { | ||
| 294 | this.$message.error({ message: res.message, showClose: true }) | ||
| 295 | } | ||
| 296 | }) | ||
| 297 | }) | 206 | }) |
| 298 | .catch(() => { }) | 207 | }) |
| 299 | }, | 208 | .catch(() => { }) |
| 300 | // 新增、编辑回显 | 209 | }, |
| 301 | reloadTableData () { | 210 | // 新增、编辑回显 |
| 302 | this.getTableList() | 211 | reloadTableData () { |
| 303 | }, | 212 | this.getTableList() |
| 304 | }, | 213 | }, |
| 305 | }; | 214 | }, |
| 215 | }; | ||
| 306 | </script> | 216 | </script> |
| 307 | <style scoped lang="scss"> | 217 | <style scoped lang="scss"> |
| 308 | @import "~@/styles/mixin.scss"; | 218 | @import "~@/styles/mixin.scss"; |
| 309 | 219 | ||
| 310 | // @import "~@/styles/public.scss"; | 220 | // @import "~@/styles/public.scss"; |
| 311 | .btnColRight { | 221 | .btnColRight { |
| 312 | margin-top: 20px; | 222 | margin-top: 20px; |
| 313 | } | 223 | } |
| 314 | 224 | ||
| 315 | /deep/.el-table__expand-icon { | 225 | /deep/.el-table__expand-icon { |
| 316 | color: #fff; | 226 | color: #fff; |
| 317 | } | 227 | } |
| 318 | </style> | 228 | </style> | ... | ... |
-
Please register or sign in to post a comment