| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\user\\label\\index.vue?vue&type=style&index=0&id=297a4692&lang=scss&scoped=true","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\user\\label\\index.vue","mtime":1761185180230},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\css-loader\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQouc2hvd09uIHsNCiAgY29sb3I6ICMyZDhjZjA7DQogIGJhY2tncm91bmQ6ICNmMGZhZmY7DQogIHotaW5kZXg6IDI7DQp9DQo6OnYtZGVlcCAuaXZ1LW1lbnUtdmVydGljYWwgLml2dS1tZW51LWl0ZW0tZ3JvdXAtdGl0bGUgew0KICBkaXNwbGF5OiBub25lOw0KfQ0KOjp2LWRlZXAgLml2dS1tZW51LXZlcnRpY2FsLml2dS1tZW51LWxpZ2h0OmFmdGVyIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi5sZWZ0LXdyYXBwZXIgew0KICBiYWNrZ3JvdW5kOiAjZmZmOw0KICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyOw0KICAudHJlZSB7DQogICAgLy8gaGVpZ2h0OiAxMDAlOw0KICAgIGhlaWdodDogY2FsYygtMjIwcHggKyAxMDB2aCk7DQogICAgb3ZlcmZsb3cteTogc2Nyb2xsOw0KICB9DQogIC50cmVlOjotd2Via2l0LXNjcm9sbGJhciB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KfQ0KDQoubWVudS1pdGVtIHsNCiAgei1pbmRleDogNTA7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICB3b3JkLWJyZWFrOiBicmVhay1hbGw7DQogIC5pY29uLWJveCB7DQogICAgei1pbmRleDogMzsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6IDIwcHg7DQogICAgdG9wOiA1MCU7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgJjpob3ZlciAuaWNvbi1ib3ggew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIC5yaWdodC1tZW51IHsNCiAgICB6LWluZGV4OiAxMDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6IC0xMDZweDsNCiAgICB0b3A6IC0xMXB4Ow0KICAgIHdpZHRoOiBhdXRvOw0KICAgIG1pbi13aWR0aDogMTIxcHg7DQogIH0NCn0NCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AA6QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/user/label","sourcesContent":["<template>\r\n <div>\r\n <el-row class=\"ivu-mt box-wrapper\">\r\n <el-col v-bind=\"grid1\" class=\"left-wrapper\">\r\n <div class=\"tree_tit\" v-db-click @click=\"addSort\">\r\n <i class=\"el-icon-circle-plus\"></i>\r\n 添加分类\r\n </div>\r\n <div class=\"tree\">\r\n <el-tree\r\n :data=\"labelSort\"\r\n node-key=\"id\"\r\n default-expand-all\r\n highlight-current\r\n :expand-on-click-node=\"false\"\r\n @node-click=\"bindMenuItem\"\r\n :current-node-key=\"treeId\"\r\n >\r\n <span class=\"custom-tree-node\" slot-scope=\"{ data }\">\r\n <div class=\"file-name\">\r\n <img v-if=\"!data.pid\" class=\"icon\" src=\"@/assets/images/file.jpg\" />\r\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"data.name\" placement=\"top\">\r\n <div class=\"text line1\">\r\n {{ data.name }}\r\n </div>\r\n </el-tooltip>\r\n </div>\r\n <span v-if=\"data.id\">\r\n <el-dropdown @command=\"(command) => clickMenu(data, command)\">\r\n <i class=\"el-icon-more el-icon--right\"></i>\r\n <template slot=\"dropdown\">\r\n <el-dropdown-menu>\r\n <el-dropdown-item command=\"1\">编辑分类</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.id\" command=\"2\">删除分类</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </span>\r\n </span>\r\n </el-tree>\r\n </div>\r\n </el-col>\r\n <el-col v-bind=\"grid2\" ref=\"rightBox\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"left-radius-none\">\r\n <el-row>\r\n <el-col>\r\n <el-button v-auth=\"['admin-user-label_add']\" type=\"primary\" v-db-click @click=\"add\">添加标签</el-button>\r\n <!-- <el-button v-auth=\"['admin-user-label_add']\" type=\"success\" v-db-click @click=\"addSort\">添加分类</el-button> -->\r\n </el-col>\r\n </el-row>\r\n <el-table\r\n :data=\"labelLists\"\r\n ref=\"table\"\r\n class=\"mt14\"\r\n v-loading=\"loading\"\r\n highlight-current-row\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n >\r\n <el-table-column label=\"ID\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.id }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"标签名称\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.label_name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"分类名称\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.cate_name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column fixed=\"right\" label=\"操作\" width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"edit(scope.row.id)\">修改</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"del(scope.row, '删除分类', scope.$index)\">删除</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"acea-row row-right page\">\r\n <pagination\r\n v-if=\"total\"\r\n :total=\"total\"\r\n :page.sync=\"labelFrom.page\"\r\n :limit.sync=\"labelFrom.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-card>\r\n </el-col>\r\n </el-row>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { userLabelAll, userLabelApi, userLabelAddApi, userLabelEdit, userLabelCreate } from '@/api/user';\r\nexport default {\r\n name: 'user_label',\r\n data() {\r\n return {\r\n treeId: '',\r\n grid1: {\r\n xl: 4,\r\n lg: 4,\r\n md: 6,\r\n sm: 8,\r\n xs: 0,\r\n },\r\n grid2: {\r\n xl: 20,\r\n lg: 20,\r\n md: 18,\r\n sm: 16,\r\n xs: 24,\r\n },\r\n\r\n loading: false,\r\n labelFrom: {\r\n page: 1,\r\n limit: 15,\r\n label_cate: '',\r\n },\r\n labelLists: [],\r\n total: 0,\r\n theme3: 'light',\r\n labelSort: [],\r\n sortName: '',\r\n current: 0,\r\n };\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n labelWidth() {\r\n return this.isMobile ? undefined : '80px';\r\n },\r\n labelPosition() {\r\n return this.isMobile ? 'top' : 'right';\r\n },\r\n },\r\n created() {\r\n this.getUserLabelAll();\r\n },\r\n methods: {\r\n // 添加\r\n add() {\r\n this.$modalForm(userLabelAddApi(0, this.labelFrom.label_cate)).then(() => this.getList());\r\n },\r\n // 分组列表\r\n getList() {\r\n this.loading = true;\r\n userLabelApi(this.labelFrom)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.labelLists = data.list;\r\n this.total = data.count;\r\n this.loading = false;\r\n })\r\n .catch((res) => {\r\n this.loading = false;\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 修改\r\n edit(id) {\r\n this.$modalForm(userLabelAddApi(id)).then(() => this.getList());\r\n },\r\n // 删除\r\n del(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `user/user_label/del/${row.id}`,\r\n method: 'DELETE',\r\n ids: '',\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.labelLists.splice(num, 1);\r\n this.getList();\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 标签分类\r\n getUserLabelAll(key) {\r\n userLabelAll().then((res) => {\r\n let obj = {\r\n name: '全部',\r\n id: '',\r\n };\r\n res.data.unshift(obj);\r\n res.data.forEach((el) => {\r\n el.status = false;\r\n });\r\n if (!key) {\r\n this.sortName = res.data[0].id;\r\n this.labelFrom.label_cate = res.data[0].id;\r\n this.getList();\r\n }\r\n this.labelSort = res.data;\r\n });\r\n },\r\n // 显示标签小菜单\r\n showMenu(item) {\r\n this.labelSort.forEach((el) => {\r\n if (el.id == item.id) {\r\n el.status = item.status ? false : true;\r\n } else {\r\n el.status = false;\r\n }\r\n });\r\n },\r\n //编辑标签\r\n labelEdit(item) {\r\n this.$modalForm(userLabelEdit(item.id)).then(() => this.getUserLabelAll(1));\r\n },\r\n // 添加分类\r\n addSort() {\r\n this.$modalForm(userLabelCreate()).then(() => this.getUserLabelAll());\r\n },\r\n deleteSort(row, tit) {\r\n let num = this.labelSort.findIndex((e) => {\r\n return e.id == row.id;\r\n });\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `user/user_label_cate/${row.id}`,\r\n method: 'DELETE',\r\n ids: '',\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.labelSort.splice(num, 1);\r\n this.labelSort = [];\r\n this.getUserLabelAll();\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n clickMenu(data, name) {\r\n if (name == 1) {\r\n this.labelEdit(data);\r\n } else if (name == 2) {\r\n this.deleteSort(data, '删除分类');\r\n }\r\n },\r\n bindMenuItem(name, index) {\r\n this.labelFrom.page = 1;\r\n this.current = index;\r\n this.labelSort.forEach((el) => {\r\n el.status = false;\r\n });\r\n this.labelFrom.label_cate = name.id;\r\n this.getList();\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.showOn {\r\n color: #2d8cf0;\r\n background: #f0faff;\r\n z-index: 2;\r\n}\r\n::v-deep .ivu-menu-vertical .ivu-menu-item-group-title {\r\n display: none;\r\n}\r\n::v-deep .ivu-menu-vertical.ivu-menu-light:after {\r\n display: none;\r\n}\r\n.left-wrapper {\r\n background: #fff;\r\n border-right: 1px solid #f2f2f2;\r\n .tree {\r\n // height: 100%;\r\n height: calc(-220px + 100vh);\r\n overflow-y: scroll;\r\n }\r\n .tree::-webkit-scrollbar {\r\n display: none;\r\n }\r\n}\r\n\r\n.menu-item {\r\n z-index: 50;\r\n position: relative;\r\n display: flex;\r\n justify-content: space-between;\r\n word-break: break-all;\r\n .icon-box {\r\n z-index: 3;\r\n position: absolute;\r\n right: 20px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n display: none;\r\n }\r\n &:hover .icon-box {\r\n display: block;\r\n }\r\n .right-menu {\r\n z-index: 10;\r\n position: absolute;\r\n right: -106px;\r\n top: -11px;\r\n width: auto;\r\n min-width: 121px;\r\n }\r\n}\r\n</style>\r\n"]}]}
|