| 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\\setting\\link\\index.vue?vue&type=style&index=0&id=3d8c8b20&scoped=true&lang=scss","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\setting\\link\\index.vue","mtime":1761185180178},{"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:DQouYm94IHsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCn0NCjo6di1kZWVwIC5lbC1jYXJkX19ib2R5IHsNCiAgbWluLWhlaWdodDogNzAwcHg7DQogIHBhZGRpbmc6IDE2cHggMTZweCAxNnB4IDA7DQp9DQo6OnYtZGVlcCAuY29udGVyIC5saW5rTGlzdCB7DQogIG1heC13aWR0aDogMTAwJTsNCn0NCi5uYW1lU3R5bGUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIHotaW5kZXg6IDk7DQogIGJhY2tncm91bmQ6ICNlZWU7DQogIGhlaWdodDogMjBweDsNCiAgbGluZS1oZWlnaHQ6IDIwcHg7DQogIGNvbG9yOiAjNTU1Ow0KICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViOw0KICBwYWRkaW5nOiAwIDVweDsNCiAgbGVmdDogNTZweDsNCiAgYm90dG9tOiAtMThweDsNCn0NCg0KLnRyZWVfdGl0IHsNCiAgcGFkZGluZy10b3A6IDdweDsNCiAgcGFkZGluZy1ib3R0b206IDIycHg7DQp9DQoudHJlZUJveCB7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQogIG1heC13aWR0aDogMTgwcHg7DQp9DQouTmF2IHsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7DQogIG1pbi13aWR0aDogMjIwcHg7DQogIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7DQp9DQo6OnYtZGVlcCAudHJlZSAuaXMtY3VycmVudCB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCn0NCi50cmVlcy1jb2FkZCB7DQogIHdpZHRoOiAxMDAlOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCg0KICAuc2NvbGxoaWRlIHsNCiAgICBvdmVyZmxvdy14OiBoaWRkZW47DQogICAgb3ZlcmZsb3cteTogc2Nyb2xsOw0KICAgIHBhZGRpbmc6IDBweCAwIDEwcHggMDsNCiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KDQogICAgLmlzVHJlZSB7DQogICAgICBtaW4taGVpZ2h0OiAzNzRweDsNCiAgICAgIG1heC1oZWlnaHQ6IDU1MHB4Ow0KICAgICAgOjp2LWRlZXAgLmZpbGUtbmFtZSB7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICAgIC5uYW1lIHsNCiAgICAgICAgICBtYXgtd2lkdGg6IDdlbTsNCiAgICAgICAgfQ0KICAgICAgICAuaWNvbiB7DQogICAgICAgICAgd2lkdGg6IDEycHg7DQogICAgICAgICAgaGVpZ2h0OiAxMnB4Ow0KICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4Ow0KICAgICAgICB9DQogICAgICB9DQogICAgICA6OnYtZGVlcCAuZWwtdHJlZS1ub2RlIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4Ow0KICAgICAgfQ0KICAgICAgOjp2LWRlZXAgLmVsLXRyZWUtbm9kZV9fY2hpbGRyZW4gLmVsLXRyZWUtbm9kZSB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgIH0NCiAgICAgIDo6di1kZWVwIC5lbC10cmVlLW5vZGVfX2NvbnRlbnQgew0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgaGVpZ2h0OiAzNnB4Ow0KICAgICAgfQ0KICAgICAgOjp2LWRlZXAgLmN1c3RvbS10cmVlLW5vZGUgew0KICAgICAgICBmbGV4OiAxOw0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7DQogICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgICB9DQogICAgICA6OnYtZGVlcCAuaXMtY3VycmVudCB7DQogICAgICAgIGJhY2tncm91bmQ6ICNmMWY5ZmYgIWltcG9ydGFudDsNCiAgICAgICAgY29sb3I6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSkgIWltcG9ydGFudDsNCiAgICAgIH0NCiAgICAgIDo6di1kZWVwIC5pcy1jdXJyZW50IC5jdXN0b20tdHJlZS1ub2RlIHsNCiAgICAgICAgY29sb3I6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSkgIWltcG9ydGFudDsNCiAgICAgIH0NCiAgICB9DQogIH0NCg0KICAuc2NvbGxoaWRlOjotd2Via2l0LXNjcm9sbGJhciB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KfQ0KDQoudHJlZVNlbCA6OnYtZGVlcCAuaXZ1LXNlbGVjdC1kcm9wZG93bi1saXN0IHsNCiAgcGFkZGluZzogMCA1cHggIWltcG9ydGFudDsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgd2lkdGg6IDIwMHB4Ow0KfQ0KLmltYWdlc05vIHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogIG1hcmdpbjogNjVweCAwOw0KDQogIC5pbWFnZXNOb19zcCB7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGNvbG9yOiAjZGJkYmRiOw0KICAgIGxpbmUtaGVpZ2h0OiAzOw0KICB9DQp9DQoNCi5Nb2RhbCB7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQogIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsNCn0NCi5maWxsLXdpbmRvdyB7DQogIGhlaWdodDogMTAwdmg7DQp9DQouY29sTGVmdCB7DQogIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsNCiAgaGVpZ2h0OiAxMDAlOw0KICBkaXNwbGF5OiBmbGV4Ow0KICBmbGV4LXdyYXA6IG5vd3JhcDsNCn0NCg0KLmNvbnRlciB7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQogIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7DQogIC5pY29ubGllYmlhbyB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICB9DQp9DQoNCi5jb250ZXIgLmJudCB7DQogIHdpZHRoOiAxMDAlOw0KICBwYWRkaW5nOiAwIDBweCAyMHB4IDBweDsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCn0NCg0KLmNvbnRlciAubGlua0xpc3Qgew0KICAvLyB3aWR0aDogMTAwJTsNCiAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICBvdmVyZmxvdy15OiBhdXRvOw0KICBtaW4taGVpZ2h0OiA0NjNweDsNCn0NCi5jb250ZXIgLmxpbmtMaXN0LmlzLW1vZGFsIHsNCiAgbWF4LWhlaWdodDogNDgwcHg7DQp9DQouY29udGVyIC5saW5rTGlzdCBpbWcgew0KICBtYXgtd2lkdGg6IDEwMCU7DQp9DQouY29udGVyIC5saW5rTGlzdCAuaW1nLm9uIHsNCiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJldi1jb2xvci1wcmltYXJ5KTsNCn0NCg0KLmNvbnRlciAuZm9vdGVyIHsNCiAgcGFkZGluZzogMCAyMHB4IDEwcHggMjBweDsNCn0NCg0KLmNhcmQtdHJlZSB7DQogIGJhY2tncm91bmQ6ICNmZmY7DQogIGhlaWdodDogNzJweDsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgb3ZlcmZsb3cteDogc2Nyb2xsOyAvKiDorr7nva7muqLlh7rmu5rliqggKi8NCiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgb3ZlcmZsb3cteTogaGlkZGVuOw0KICAvKiDpmpDol4/mu5rliqjmnaEgKi8NCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIGZpcmVmb3ggKi8NCiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSAxMCsgKi8NCn0NCi5jYXJkLXRyZWU6Oi13ZWJraXQtc2Nyb2xsYmFyIHsNCiAgZGlzcGxheTogbm9uZTsgLyogQ2hyb21lIFNhZmFyaSAqLw0KfQ0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AA4ZA;AACA;AACA;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;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/setting/link","sourcesContent":["<template>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\">\r\n <div class=\"Modal\">\r\n <div class=\"colLeft\">\r\n <div class=\"Nav\">\r\n <div class=\"trees-coadd\">\r\n <div class=\"tree_tit\" v-db-click @click=\"append\">\r\n <i class=\"el-icon-circle-plus\"></i>\r\n 添加分类\r\n </div>\r\n <div class=\"scollhide\">\r\n <div class=\"tree\" v-if=\"treeData.length\">\r\n <el-tree\r\n ref=\"tree\"\r\n :data=\"treeData\"\r\n node-key=\"id\"\r\n default-expand-all\r\n :highlight-current=\"highlightCurrent\"\r\n :expand-on-click-node=\"true\"\r\n :check-on-click-node=\"false\"\r\n @node-click=\"appendBtn\"\r\n @node-expand=\"nodeExpand\"\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 == 1\" class=\"icon\" src=\"@/assets/images/file.jpg\" />\r\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"data.title\" placement=\"top\">\r\n <div class=\"text line1\">\r\n {{ data.title }}\r\n </div>\r\n </el-tooltip>\r\n </div>\r\n <span>\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 v-if=\"data.pid == 1\" command=\"1\">新增分类</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.id\" command=\"2\">编辑分类</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.id\" command=\"3\">删除</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 </div>\r\n </div>\r\n </div>\r\n <div class=\"conter\">\r\n <el-button type=\"primary\" @click=\"addLink\">添加链接</el-button>\r\n <el-table\r\n :data=\"linkList\"\r\n ref=\"couponTable\"\r\n class=\"mt20\"\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=\"70\">\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=\"150\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"H5链接\" minWidth=\"170\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip class=\"item pointer\" content=\"点击复制\">\r\n <span v-db-click @click=\"onCopy(scope.row.h5_url)\">{{ scope.row.h5_url }}</span>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"小程序链接\" minWidth=\"140\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip class=\"item pointer\" content=\"点击复制\">\r\n <span v-db-click @click=\"onCopy(scope.row.url)\">{{ scope.row.url }}</span>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"添加时间\" minWidth=\"90\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.add_time }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"90\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"edit(scope.row)\">编辑</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=\"fileData.page\"\r\n :limit.sync=\"fileData.limit\"\r\n @pagination=\"getLinkList\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <el-dialog\r\n title=\"链接\"\r\n :visible.sync=\"dialogVisible\"\r\n width=\"40%\"\r\n :before-close=\"handleClose\"\r\n :close-on-click-modal=\"false\"\r\n >\r\n <el-form :model=\"linkForm\" ref=\"linkForm\" label-width=\"80px\">\r\n <el-form-item label=\"名称:\" prop=\"name\">\r\n <el-input v-model=\"linkForm.name\" placeholder=\"请输入名称\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"跳转链接:\" prop=\"url\">\r\n <el-input v-model=\"linkForm.url\" placeholder=\"请输入跳转链接\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"排序:\" prop=\"url\">\r\n <el-input v-model=\"linkForm.sort\" placeholder=\"请输入排序\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"是否开启:\" prop=\"url\">\r\n <el-switch v-model=\"linkForm.status\" :active-value=\"1\" :inactive-value=\"0\"></el-switch>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button @click=\"dialogVisible = false\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"addLinkSubmit\">确 定</el-button>\r\n </div>\r\n </el-dialog>\r\n </el-card>\r\n</template>\r\n\r\n<script>\r\nimport { diyLinkCategoryListApi, linkCategoryFormApi, linkListApi, linkCreateApi } from '@/api/setting';\r\nexport default {\r\n name: 'linkLisk',\r\n props: {},\r\n data() {\r\n return {\r\n dialogVisible: false,\r\n treeData: [],\r\n linkList: [],\r\n uploadName: {\r\n name: '',\r\n all: 1,\r\n },\r\n treeId: 0,\r\n fileData: {\r\n page: 1,\r\n limit: 15,\r\n },\r\n total: 0,\r\n pids: 0,\r\n\r\n loading: false,\r\n multipleSelection: [],\r\n linkForm: {\r\n id: 0,\r\n name: '',\r\n url: '',\r\n sort: 0,\r\n status: 1,\r\n },\r\n highlightCurrent: true,\r\n };\r\n },\r\n mounted() {\r\n this.getList();\r\n },\r\n methods: {\r\n handleClose() {\r\n this.dialogVisible = false;\r\n this.initData();\r\n },\r\n onCopy(copyData) {\r\n this.$copyText(copyData)\r\n .then((message) => {\r\n this.$message.success('复制成功');\r\n })\r\n .catch((err) => {\r\n this.$message.error('复制失败');\r\n });\r\n },\r\n edit(row) {\r\n this.linkForm.name = row.name;\r\n this.linkForm.url = row.url;\r\n this.linkForm.sort = row.sort;\r\n this.linkForm.status = row.status;\r\n this.linkForm.id = row.id;\r\n this.dialogVisible = true;\r\n },\r\n addLinkSubmit() {\r\n this.$refs.linkForm.validate((valid) => {\r\n if (valid) {\r\n let data = {\r\n cate_id: this.treeId,\r\n id: this.linkForm.id,\r\n name: this.linkForm.name,\r\n url: this.linkForm.url,\r\n sort: this.linkForm.sort,\r\n status: this.linkForm.status,\r\n };\r\n linkCreateApi(data)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.dialogVisible = false;\r\n this.getLinkList();\r\n })\r\n .catch((err) => {\r\n this.$message.error(err);\r\n });\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n // 点击菜单\r\n clickMenu(data, name) {\r\n if (name == 1) {\r\n this.editLinkCategory(data, 0);\r\n } else if (name == 2) {\r\n this.editLinkCategory(data, 1);\r\n } else if (name == 3) {\r\n this.remove(data, '分类');\r\n }\r\n },\r\n delImg(id) {\r\n let ids = {\r\n ids: id,\r\n };\r\n let delfromData = {\r\n title: '删除选中图片',\r\n url: `file/file/delete`,\r\n method: 'POST',\r\n ids: ids,\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.getLinkList();\r\n this.checkPicList = [];\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 删除图片\r\n editPicList(id) {\r\n let ids = {\r\n ids: id || this.ids.toString(),\r\n };\r\n let delfromData = {\r\n title: '删除选中图片',\r\n url: `file/file/delete`,\r\n method: 'POST',\r\n ids: ids,\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.getLinkList();\r\n this.initData();\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n initData() {\r\n this.fileData.page = 1;\r\n this.fileData.id = '';\r\n this.linkForm.name = '';\r\n this.linkForm.h5_url = '';\r\n this.linkForm.url = '';\r\n },\r\n // 鼠标移入 移出\r\n onMouseOver(root, node, data) {\r\n event.preventDefault();\r\n data.flag = !data.flag;\r\n if (data.flag2) {\r\n data.flag2 = false;\r\n }\r\n },\r\n addLink() {\r\n this.initData();\r\n this.dialogVisible = true;\r\n },\r\n // 点击树\r\n appendBtn(data, n, d) {\r\n if (data.pid == 1 && !n.expanded) {\r\n this.highlightCurrent = false;\r\n return;\r\n } else if (data.pid != 1) {\r\n this.treeId = data.id;\r\n this.fileData.page = 1;\r\n this.getLinkList();\r\n }\r\n },\r\n nodeExpand(data, n, d) {\r\n if (n.expanded) {\r\n if (data.children.length) {\r\n this.highlightCurrent = true;\r\n this.$nextTick(() => {\r\n this.fileData.page = 1;\r\n this.treeId = data.children[0].id || '';\r\n this.$refs['tree'].setCurrentKey(this.treeId);\r\n this.getLinkList();\r\n });\r\n }\r\n }\r\n },\r\n // 点击添加\r\n append() {\r\n this.getFrom();\r\n },\r\n // 删除分类\r\n remove(data, tit) {\r\n this.tits = tit;\r\n let delfromData = {\r\n title: '删除 [ ' + data.title + ' ] ' + '分类',\r\n url: `diy/link/category/del/${data.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.getList();\r\n this.checkPicList = [];\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 编辑树表单\r\n editLinkCategory(data, type) {\r\n this.$modalForm(linkCategoryFormApi(type ? data.id : 0, data.id ? data.id : 1)).then(() => this.getList());\r\n },\r\n // 分类列表树\r\n getList(type) {\r\n diyLinkCategoryListApi(this.uploadName)\r\n .then((res) => {\r\n this.treeId = res.data.length > 0 ? res.data[0]?.children[0]?.id : '';\r\n this.treeData = res.data;\r\n this.getLinkList();\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 文件列表\r\n getLinkList() {\r\n this.fileData.id = this.treeId;\r\n this.loading = true;\r\n linkListApi(this.fileData)\r\n .then(async (res) => {\r\n this.linkList = res.data.list;\r\n this.total = res.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 del(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `diy/link/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.linkList.splice(num, 1);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n addFlag(treedata) {\r\n treedata.map((item) => {\r\n this.$set(item, 'flag', false);\r\n this.$set(item, 'flag2', false);\r\n item.children && this.addFlag(item.children);\r\n });\r\n },\r\n pageChange(index) {\r\n this.fileData.page = index;\r\n this.getLinkList();\r\n this.checkPicList = [];\r\n },\r\n // 新建分类表单\r\n getFrom() {\r\n this.$modalForm(linkCategoryFormApi(0, 1)).then((res) => {\r\n this.getList();\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.box {\r\n width: 100%;\r\n height: 100%;\r\n background: #fff;\r\n}\r\n::v-deep .el-card__body {\r\n min-height: 700px;\r\n padding: 16px 16px 16px 0;\r\n}\r\n::v-deep .conter .linkList {\r\n max-width: 100%;\r\n}\r\n.nameStyle {\r\n position: absolute;\r\n white-space: nowrap;\r\n z-index: 9;\r\n background: #eee;\r\n height: 20px;\r\n line-height: 20px;\r\n color: #555;\r\n border: 1px solid #ebebeb;\r\n padding: 0 5px;\r\n left: 56px;\r\n bottom: -18px;\r\n}\r\n\r\n.tree_tit {\r\n padding-top: 7px;\r\n padding-bottom: 22px;\r\n}\r\n.treeBox {\r\n width: 100%;\r\n height: 100%;\r\n max-width: 180px;\r\n}\r\n.Nav {\r\n width: 100%;\r\n border-right: 1px solid #eee;\r\n min-width: 220px;\r\n max-width: max-content;\r\n}\r\n::v-deep .tree .is-current {\r\n background-color: #fff !important;\r\n}\r\n.trees-coadd {\r\n width: 100%;\r\n border-radius: 4px;\r\n overflow: hidden;\r\n position: relative;\r\n\r\n .scollhide {\r\n overflow-x: hidden;\r\n overflow-y: scroll;\r\n padding: 0px 0 10px 0;\r\n box-sizing: border-box;\r\n\r\n .isTree {\r\n min-height: 374px;\r\n max-height: 550px;\r\n ::v-deep .file-name {\r\n display: flex;\r\n align-items: center;\r\n .name {\r\n max-width: 7em;\r\n }\r\n .icon {\r\n width: 12px;\r\n height: 12px;\r\n margin-right: 8px;\r\n }\r\n }\r\n ::v-deep .el-tree-node {\r\n margin-right: 16px;\r\n }\r\n ::v-deep .el-tree-node__children .el-tree-node {\r\n margin-right: 0;\r\n }\r\n ::v-deep .el-tree-node__content {\r\n width: 100%;\r\n height: 36px;\r\n }\r\n ::v-deep .custom-tree-node {\r\n flex: 1;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding-right: 20px;\r\n font-size: 13px;\r\n font-weight: 400;\r\n color: rgba(0, 0, 0, 0.6);\r\n line-height: 13px;\r\n }\r\n ::v-deep .is-current {\r\n background: #f1f9ff !important;\r\n color: var(--prev-color-primary) !important;\r\n }\r\n ::v-deep .is-current .custom-tree-node {\r\n color: var(--prev-color-primary) !important;\r\n }\r\n }\r\n }\r\n\r\n .scollhide::-webkit-scrollbar {\r\n display: none;\r\n }\r\n}\r\n\r\n.treeSel ::v-deep .ivu-select-dropdown-list {\r\n padding: 0 5px !important;\r\n box-sizing: border-box;\r\n width: 200px;\r\n}\r\n.imagesNo {\r\n display: flex;\r\n justify-content: center;\r\n flex-direction: column;\r\n align-items: center;\r\n margin: 65px 0;\r\n\r\n .imagesNo_sp {\r\n font-size: 13px;\r\n color: #dbdbdb;\r\n line-height: 3;\r\n }\r\n}\r\n\r\n.Modal {\r\n width: 100%;\r\n height: 100%;\r\n background: #fff !important;\r\n}\r\n.fill-window {\r\n height: 100vh;\r\n}\r\n.colLeft {\r\n padding-right: 0 !important;\r\n height: 100%;\r\n display: flex;\r\n flex-wrap: nowrap;\r\n}\r\n\r\n.conter {\r\n width: 100%;\r\n height: 100%;\r\n margin-left: 20px !important;\r\n .iconliebiao {\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n.conter .bnt {\r\n width: 100%;\r\n padding: 0 0px 20px 0px;\r\n box-sizing: border-box;\r\n}\r\n\r\n.conter .linkList {\r\n // width: 100%;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n min-height: 463px;\r\n}\r\n.conter .linkList.is-modal {\r\n max-height: 480px;\r\n}\r\n.conter .linkList img {\r\n max-width: 100%;\r\n}\r\n.conter .linkList .img.on {\r\n border: 2px solid var(--prev-color-primary);\r\n}\r\n\r\n.conter .footer {\r\n padding: 0 20px 10px 20px;\r\n}\r\n\r\n.card-tree {\r\n background: #fff;\r\n height: 72px;\r\n box-sizing: border-box;\r\n overflow-x: scroll; /* 设置溢出滚动 */\r\n white-space: nowrap;\r\n overflow-y: hidden;\r\n /* 隐藏滚动条 */\r\n border-radius: 4px;\r\n scrollbar-width: none; /* firefox */\r\n -ms-overflow-style: none; /* IE 10+ */\r\n}\r\n.card-tree::-webkit-scrollbar {\r\n display: none; /* Chrome Safari */\r\n}\r\n</style>\r\n"]}]}
|