From 4641a877cd6a94e4d35dca7f7f14bc1443e2d2ad Mon Sep 17 00:00:00 2001 From: luobisheng <727299681@qq.com> Date: 星期二, 29 十一月 2022 17:59:55 +0800 Subject: [PATCH] 上传处置类型修改 --- src/views/systemSetting/platform/mySetting/index.vue | 328 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 221 insertions(+), 107 deletions(-) diff --git a/src/views/systemSetting/platform/mySetting/index.vue b/src/views/systemSetting/platform/mySetting/index.vue index b221b7f..51fec48 100644 --- a/src/views/systemSetting/platform/mySetting/index.vue +++ b/src/views/systemSetting/platform/mySetting/index.vue @@ -2,156 +2,270 @@ <div class="mySetting"> <!-- header 椤甸潰鏍囬鎻愮ず --> <header> - <div class="headerTitle">绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > 鑷畾涔夎彍鍗曡缃�</div> + <div class="header-title">绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > 鑷畾涔夎彍鍗曡缃�</div> </header> - <!-- main 鍐呭灞曠ず鍖� --> <main> - <div class="mainContent"> - <!-- 渚ц竟瀵艰埅鏍� --> - <div class="aside"> - <div class="asideItem" v-for="(item,index) in menuList" :key="item.id" @click="getContent(index)"> - <h4>{{item.title}}</h4> - <!-- 瀛愯彍鍗� --> - <ul class="menu"> - <li class="menuItem" v-for="(son,sonIndex) in item.children" - @click.stop="getContent(index,sonIndex)"> - <span>{{son.title}}</span> - </li> - </ul> - </div> - </div> - <!-- 鑿滃崟璁剧疆 --> - <div class="content"> - <h4>鑿滃崟绠$悊-{{article.title}}</h4> - <!-- 瀛愯彍鍗曢」鐩� --> - <ul class="edit"> - <li class="editItem"> - <label>鍚嶇О:</label> - <span>{{article.name}}</span> - </li> - <li class="editItem"> - <label>鎻忚堪:</label> - <span>{{article.description}}</span> - </li> - <li class="editItem"> - <label>鏄惁鏄剧ず鑿滃崟:</label> - <span>{{article.hidden===0 ? '鍚�':'鏄�' }}</span> - </li> - </ul> - </div> + <div class="main-content"> + <!-- 鏁版嵁灞曠ず --> + <el-row class="my-container"> + <el-col :span="6" class="my-aside"> + <el-tree draggable :data="menuList" @node-click="handleNodeClick" :props="defaultProps" + accordion node-key="id" @node-drop="handleDrop" :allow-drop="allowDrop"> + <span class="custom-tree-node" slot-scope="{ node, data }"> + <span>{{ node.label }}</span> + </span> + </el-tree> + </el-col> + <el-col :span="18" class="my-content" v-if="article.title"> + <div class="my-header">鑿滃崟绠$悊-{{article.title}} + </div> + <div class="my-name"> + <div class="my-show__left">鍚嶇О:</div> + <div class="my-show__right">{{article.title}}</div> + </div> + <div class="my-desc"> + <div class="my-show__left">鎻忚堪:</div> + <div class="my-show__right">{{article.title}}</div> + </div> + <div class="my-show"> + <div class="my-show__left">鏄惁鏄剧ず鑿滃崟:</div> + <div class="my-show__right"> + <el-switch class="switchStyle" v-model="article.isStart" active-color="#3fef9a" + inactive-color="#000212" @change="handleChangeStatus(article)"> + </el-switch> + </div> + </div> + </el-col> + </el-row> </div> </main> + <footer> + <!-- 鏂板寮圭獥 --> + <el-dialog title="鎻愮ず" :visible.sync="dialogAdd" v-if="dialogAdd" width="45%" :before-close="handleClose"> + <MyAdd></MyAdd> + </el-dialog> + </footer> </div> </template> <script> +import MyAdd from './create' export default { + components: { + MyAdd + }, data() { return { menuList: [], - article: [], + article: {}, + defaultProps: { + children: 'menuVoArrayList', + label: 'title' + }, + dialogAdd: false, } }, created() { - const { getMenuList } = this; - getMenuList(); + this.getMenuList(); }, methods: { + // 鐐瑰嚮鑺傜偣 + handleNodeClick(data) { + this.article = { ...data }; + this.article.isStart === 0 ? this.article.isStart = false : this.article.isStart = true + }, + // 淇敼鐘舵�� + handleChangeStatus(data) { + console.log(data); + let { isStart, relationId } = data; + isStart ? isStart = 1 : isStart = 0; + this.$axios({ + method: 'put', + url: `sccg/system/portal/menu/modification_myself?relationId=${relationId}&status=${isStart}` + }) + .then(res => { + this.$message({ + type: res.code === 200 ? 'success' : 'error', + message: res.message + }) + this.getMenuList(); + this.article = {}; + }) + }, + handleDelete(data) { + this.$confirm('鎮ㄧ‘璁よ鍒犻櫎璁㈠崟鍚�?') + .then(_ => { + this.$axios({ + method: 'post', + url: `sccg/menu/delete/${data.id}` + }) + .then(res => { + this.$message({ + type: res.code === 200 ? 'success' : 'error', + message: res.code === 200 ? '鍒犻櫎鑿滃崟鎴愬姛' : res.message + }) + if (res.code === 200) { + this.getMenuList(); + } + }) + }) + .catch(err => { + }) + }, // 鑾峰彇鑿滃崟鍒楄〃 getMenuList() { - // this.$axios({ - // method: 'get', - // url: 'sccg/system/portal/menu/search', - // data: { - // current: 1, - // size: 10, - // } - // }).then(res => { - // console.log(res); - // const { data } = res; - // this.menuList = data; - // this.getContent(0); - // }) + this.$axios({ + method: 'get', + url: 'sccg/system/portal/menu/search_myself', + }).then(res => { + this.menuList = res.data.menu; + }) }, - // 鍒囨崲鑿滃崟鍐呭灞曠ず - getContent(index, sonIndex = null) { - if (sonIndex === null) { - this.article = this.menuList[index]; - return; + // 鎷栨嫿 + handleDrop(before, after, inner, event) { + console.log(before) + console.log(after) + console.log(inner) + console.log(event); + }, + // 鑾峰彇鏄惁鍙互鏀剧疆 + allowDrop(before, inner, next) { + if (before.data.level === inner.data.level) { + if (before.data.parentId === inner.data.parentId) { + return next === "prev" || next === "next"; + } else { + return false; + } + } else { + // 涓嶅悓绾ц繘琛屽鐞� + return false; } - this.article = this.menuList[index][sonIndex]; } } + } </script> <style lang="scss" scoped> .mySetting { + margin: 10px 20px; text-align: left; color: #4b9bb7; header { line-height: 60px; padding: 0 20px; + display: flex; + justify-content: space-between; + align-items: center; + + .header-add { + .el-button { + background-color: #eb5d01; + border: none; + } + } } main { - .mainContent { - display: flex; + background-color: #09152f; + margin-top: 20px; + padding-bottom: 50px; - li { - list-style: none; - } + .main-content { + .my-container { + ::v-deep .el-tree-node__content { + height: 36px; + } - .aside { - width: 200px; - border: 1px solid #fff; - padding: 20px; - height: calc(100vh - 120px); - - .asideItem { - h4 { - line-height: 40px; - margin: 0; - } - - ul { - padding: 0; - margin: 0; - } - - .menu { - .menuItem { - line-height: 30px; - } - } + ::v-deep .el-tree-node__label { + line-height: 20px; } } - .content { + .my-header { + line-height: 60px; + display: flex; + justify-content: center; + } + + .my-name, + .my-desc, + .my-show { + line-height: 40px; + display: flex; + justify-content: center; + align-items: center; + } + + .my-show__right { + margin-left: 10px; + } + + .custom-tree-node { flex: 1; - margin-left: 100px; - - h4 { - margin: 0; - line-height: 80px; - } - - ul { - padding: 0; - margin: 0; - } - - .edit { - .editItem { - line-height: 40px; - display: flex; - - span { - margin-left: 10px; - } - } - } + display: flex; + align-items: center; + justify-content: space-between; + font-size: 14px; + line-height: 20px; + padding-right: 8px; } } + + &::v-deep .switchStyle .el-switch__label { + position: absolute; + display: none; + color: #fff; + } + + &::v-deep .el-switch__core { + background-color: rgba(166, 166, 166, 1); + } + + &::v-deep .switchStyle .el-switch__label--left { + z-index: 9; + left: 20px; + } + + &::v-deep .switchStyle .el-switch__label--right { + z-index: 9; + left: 4px; + } + + &::v-deep .switchStyle .el-switch__label.is-active { + display: block; + } + + &::v-deep .switchStyle.el-switch .el-switch__core, + &::v-deep .el-switch .el-switch__label { + width: 50px !important; + } + } + + &::v-deep .el-dialog__header, + &::v-deep .el-dialog__body { + background-color: #06122c; + } + + &::v-deep .el-dialog__header { + display: flex; + align-items: center; + background-color: #fff; + padding: 20px; + line-height: 60px; + } + + &::v-deep .el-dialog__title { + color: #4b9bb7; + } + + &::v-deep .el-dialog__close { + width: 20px; + height: 20px; + // color: #fff; + } + + &::v-deep .el-dialog__body { + padding: 0; } } </style> \ No newline at end of file -- Gitblit v1.8.0