| 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\\cms\\article\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\cms\\article\\index.vue","mtime":1761185180079},{"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\\babel-loader\\lib\\index.js","mtime":456789000000},{"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:DQppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOw0KaW1wb3J0IHsgY21zTGlzdEFwaSwgY2F0ZWdvcnlMaXN0QXBpLCByZWxhdGlvbkFwaSB9IGZyb20gJ0AvYXBpL2Ntcyc7DQppbXBvcnQgcmVsYXRpb25MaXN0IGZyb20gJy4vcmVsYXRpb24nOw0KaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOw0KaW1wb3J0IGdvb2RzTGlzdCBmcm9tICdAL2NvbXBvbmVudHMvZ29vZHNMaXN0L2luZGV4JzsNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ2Ntc19hcnRpY2xlJywNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgbW9kYWxUaXRsZVNzOiAnJywNCiAgICAgIGxvYWRpbmc6IGZhbHNlLA0KICAgICAgYXJ0RnJvbTogew0KICAgICAgICBwaWQ6IDAsDQogICAgICAgIHRpdGxlOiAnJywNCiAgICAgICAgcGFnZTogMSwNCiAgICAgICAgbGltaXQ6IDIwLA0KICAgICAgfSwNCiAgICAgIHRvdGFsOiAwLA0KICAgICAgY21zTGlzdDogW10sDQogICAgICB0cmVlRGF0YTogW10sDQogICAgICBsaXN0OiBbXSwNCiAgICAgIGNpZDogMCwgLy8g56e75Yqo5YiG57G7aWQNCiAgICAgIGNtc0lkOiAwLA0KICAgICAgZm9ybVZhbGlkYXRlOiB7DQogICAgICAgIHR5cGU6IDEsDQogICAgICB9LA0KICAgICAgcm93czoge30sDQogICAgICBtb2RhbF9sb2FkaW5nOiBmYWxzZSwNCiAgICAgIG1vZGFsczogZmFsc2UsDQogICAgICBwcm9wczogew0KICAgICAgICB2YWx1ZTogJ2lkJywNCiAgICAgICAgbGFiZWw6ICd0aXRsZScsDQogICAgICAgIGVtaXRQYXRoOiBmYWxzZSwNCiAgICAgIH0sDQogICAgfTsNCiAgfSwNCiAgY29tcG9uZW50czogew0KICAgIHJlbGF0aW9uTGlzdCwNCiAgICBnb29kc0xpc3QsDQogIH0sDQogIGNvbXB1dGVkOiB7DQogICAgLi4ubWFwU3RhdGUoJ21lZGlhJywgWydpc01vYmlsZSddKSwNCiAgICBsYWJlbFdpZHRoKCkgew0KICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyB1bmRlZmluZWQgOiAnODBweCc7DQogICAgfSwNCiAgICBsYWJlbFBvc2l0aW9uKCkgew0KICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyAndG9wJyA6ICdyaWdodCc7DQogICAgfSwNCiAgfSwNCiAgZmlsdGVyczogew0KICAgIGZvcm1hdERhdGUodGltZSkgew0KICAgICAgaWYgKHRpbWUgIT09IDApIHsNCiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lICogMTAwMCk7DQogICAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsICd5eXl5LU1NLWRkIGhoOm1tJyk7DQogICAgICB9DQogICAgfSwNCiAgfSwNCiAgY3JlYXRlZCgpIHt9LA0KICBhY3RpdmF0ZWQoKSB7DQogICAgdGhpcy5hcnRGcm9tLnBpZCA9IHRoaXMuJHJvdXRlLnF1ZXJ5LmlkID8gdGhpcy4kcm91dGUucXVlcnkuaWQgOiAwOw0KICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIHRoaXMuZ2V0Q2xhc3MoKTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8vIOWFs+iBlOaIkOWKnw0KICAgIGdldFByb2R1Y3RJZChyb3cpIHsNCiAgICAgIGxldCBkYXRhID0gew0KICAgICAgICBwcm9kdWN0X2lkOiByb3cuaWQsDQogICAgICB9Ow0KICAgICAgcmVsYXRpb25BcGkoZGF0YSwgdGhpcy5yb3dzLmlkKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHJvdy5pZCA9IDA7DQogICAgICAgICAgdGhpcy5tb2RhbF9sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgdGhpcy5tb2RhbHMgPSBmYWxzZTsNCiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy5tb2RhbF9sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICBjYW5jZWwoKSB7DQogICAgICB0aGlzLm1vZGFscyA9IGZhbHNlOw0KICAgIH0sDQogICAgLy8g562J57qn5YiX6KGoDQogICAgZ2V0TGlzdCgpIHsNCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7DQogICAgICBjbXNMaXN0QXBpKHRoaXMuYXJ0RnJvbSkNCiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgIGxldCBkYXRhID0gcmVzLmRhdGE7DQogICAgICAgICAgdGhpcy5jbXNMaXN0ID0gZGF0YS5saXN0Ow0KICAgICAgICAgIHRoaXMudG90YWwgPSBkYXRhLmNvdW50Ow0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g5YiG57G7DQogICAgZ2V0Q2xhc3MoKSB7DQogICAgICBjYXRlZ29yeUxpc3RBcGkodGhpcy5mb3JtVmFsaWRhdGUpDQogICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHsNCiAgICAgICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMudHJlZURhdGEgPSBkYXRhOw0KICAgICAgICAgIGxldCBvYmogPSB7DQogICAgICAgICAgICBpZDogMCwNCiAgICAgICAgICAgIHRpdGxlOiAn5YWo6YOoJywNCiAgICAgICAgICB9Ow0KICAgICAgICAgIHRoaXMudHJlZURhdGEudW5zaGlmdChvYmopOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g5LiL5ouJ5qCRDQogICAgaGFuZGxlQ2hlY2tDaGFuZ2UoZGF0YSkgew0KICAgICAgdGhpcy5hcnRGcm9tLnBpZCA9IGRhdGEgPyBkYXRhIDogMDsNCiAgICAgIHRoaXMuYXJ0RnJvbS5wYWdlID0gMTsNCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0sDQogICAgLy8g57yW6L6RDQogICAgZWRpdChyb3cpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsgcGF0aDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL2Ntcy9hcnRpY2xlL2FkZF9hcnRpY2xlLycgKyByb3cuaWQgfSk7DQogICAgfSwNCiAgICAvLyDlhbPogZQNCiAgICBhcnRSZWxhdGlvbihyb3csIHRpdCwgbnVtKSB7DQogICAgICB0aGlzLnJvd3MgPSByb3c7DQogICAgICBpZiAocm93LnByb2R1Y3RfaWQgPT09IDApIHsNCiAgICAgICAgdGhpcy5tb2RhbHMgPSB0cnVlOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgbGV0IGRlbGZyb21EYXRhID0gew0KICAgICAgICAgIHRpdGxlOiB0aXQsDQogICAgICAgICAgbnVtOiBudW0sDQogICAgICAgICAgdXJsOiBgL2Ntcy9jbXMvdW5yZWxhdGlvbi8ke3Jvdy5pZH1gLA0KICAgICAgICAgIG1ldGhvZDogJ1BVVCcsDQogICAgICAgICAgaWRzOiAnJywNCiAgICAgICAgfTsNCiAgICAgICAgdGhpcy4kbW9kYWxTdXJlKGRlbGZyb21EYXRhKQ0KICAgICAgICAgIC50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgICAgICAgIH0pDQogICAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgICAgfSk7DQogICAgICB9DQogICAgfSwNCiAgICAvLyDliKDpmaQNCiAgICBkZWwocm93LCB0aXQsIG51bSkgew0KICAgICAgbGV0IGRlbGZyb21EYXRhID0gew0KICAgICAgICB0aXRsZTogdGl0LA0KICAgICAgICBudW06IG51bSwNCiAgICAgICAgdXJsOiBgY21zL2Ntcy8ke3Jvdy5pZH1gLA0KICAgICAgICBtZXRob2Q6ICdERUxFVEUnLA0KICAgICAgICBpZHM6ICcnLA0KICAgICAgfTsNCiAgICAgIHRoaXMuJG1vZGFsU3VyZShkZWxmcm9tRGF0YSkNCiAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgICB0aGlzLmNtc0xpc3Quc3BsaWNlKG51bSwgMSk7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDooajmoLzmkJzntKINCiAgICB1c2VyU2VhcmNocygpIHsNCiAgICAgIHRoaXMuYXJ0RnJvbS5wYWdlID0gMTsNCiAgICAgIHRoaXMuZ2V0TGlzdCgpOw0KICAgIH0sDQogICAgb25Db3B5KHJvdywgdHlwZSkgew0KICAgICAgbGV0IGNvcHlfdXJsID0gdHlwZSA9PSAxID8gcm93LmNvcHlfdXJsIDogcm93LmNvcHlfdXJsX3BjOw0KICAgICAgdGhpcy4kY29weVRleHQoY29weV91cmwpDQogICAgICAgIC50aGVuKChtZXNzYWdlKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCflpI3liLbmiJDlip8nKTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChlcnIpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCflpI3liLblpLHotKUnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAyHA;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/cms/article","sourcesContent":["<template>\r\n <div>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mb-16\" :body-style=\"{ padding: 0 }\">\r\n <div class=\"padding-add\">\r\n <el-form\r\n ref=\"artFrom\"\r\n :model=\"artFrom\"\r\n :label-width=\"labelWidth\"\r\n label-position=\"right\"\r\n @submit.native.prevent\r\n inline\r\n >\r\n <el-form-item label=\"文章分类:\" label-for=\"pid\">\r\n <el-cascader\r\n v-model=\"artFrom.pid\"\r\n placeholder=\"请选择\"\r\n class=\"treeSel\"\r\n @change=\"handleCheckChange\"\r\n :options=\"treeData\"\r\n :props=\"props\"\r\n style=\"width: 250px\"\r\n >\r\n </el-cascader>\r\n </el-form-item>\r\n <el-form-item label=\"文章搜索:\" label-for=\"title\">\r\n <el-input clearable placeholder=\"请输入\" v-model=\"artFrom.title\" class=\"form_content_width\" />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" v-db-click @click=\"userSearchs\">查询</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </el-card>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\">\r\n <router-link :to=\"$routeProStr + '/cms/article/add_article'\" v-auth=\"['cms-article-creat']\"\r\n ><el-button type=\"primary\" class=\"bnt\">添加文章</el-button></router-link\r\n >\r\n <el-table\r\n :data=\"cmsList\"\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=\"文章图片\" min-width=\"90\">\r\n <template slot-scope=\"scope\">\r\n <div v-if=\"scope.row.image_input.length !== 0\" v-viewer>\r\n <div class=\"tabBox_img\" v-for=\"(item, index) in scope.row.image_input\" :key=\"index\">\r\n <img v-lazy=\"item\" />\r\n </div>\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"文章名称\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <el-tooltip placement=\"top\" :open-delay=\"600\">\r\n <div slot=\"content\">{{ ' [ ' + scope.row.catename + ' ] ' + scope.row.title }}</div>\r\n <span class=\"line2\">{{ scope.row.title }}</span>\r\n </el-tooltip>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"关联商品\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.store_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.visit }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"时间\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.add_time | formatDate }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"210\">\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=\"artRelation(scope.row, '取消关联', index)\">{{\r\n scope.row.product_id === 0 ? '关联' : '取消关联'\r\n }}</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"del(scope.row, '删除文章', scope.$index)\">删除</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <el-dropdown size=\"small\" @command=\"onCopy(scope.row, $event)\" :transfer=\"true\">\r\n <span class=\"el-dropdown-link\">复制链接<i class=\"el-icon-arrow-down el-icon--right\"></i></span>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item command=\"1\">移动端链接</el-dropdown-item>\r\n <el-dropdown-item command=\"2\">PC端链接</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\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=\"artFrom.page\"\r\n :limit.sync=\"artFrom.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-card>\r\n <!--关联-->\r\n <el-dialog :visible.sync=\"modals\" title=\"商品列表\" class=\"paymentFooter\" width=\"1000px\" @closed=\"cancel\">\r\n <goods-list ref=\"goodslist\" @getProductId=\"getProductId\" v-if=\"modals\"></goods-list>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { cmsListApi, categoryListApi, relationApi } from '@/api/cms';\r\nimport relationList from './relation';\r\nimport { formatDate } from '@/utils/validate';\r\nimport goodsList from '@/components/goodsList/index';\r\nexport default {\r\n name: 'cms_article',\r\n data() {\r\n return {\r\n modalTitleSs: '',\r\n loading: false,\r\n artFrom: {\r\n pid: 0,\r\n title: '',\r\n page: 1,\r\n limit: 20,\r\n },\r\n total: 0,\r\n cmsList: [],\r\n treeData: [],\r\n list: [],\r\n cid: 0, // 移动分类id\r\n cmsId: 0,\r\n formValidate: {\r\n type: 1,\r\n },\r\n rows: {},\r\n modal_loading: false,\r\n modals: false,\r\n props: {\r\n value: 'id',\r\n label: 'title',\r\n emitPath: false,\r\n },\r\n };\r\n },\r\n components: {\r\n relationList,\r\n goodsList,\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 filters: {\r\n formatDate(time) {\r\n if (time !== 0) {\r\n let date = new Date(time * 1000);\r\n return formatDate(date, 'yyyy-MM-dd hh:mm');\r\n }\r\n },\r\n },\r\n created() {},\r\n activated() {\r\n this.artFrom.pid = this.$route.query.id ? this.$route.query.id : 0;\r\n this.getList();\r\n this.getClass();\r\n },\r\n methods: {\r\n // 关联成功\r\n getProductId(row) {\r\n let data = {\r\n product_id: row.id,\r\n };\r\n relationApi(data, this.rows.id)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n row.id = 0;\r\n this.modal_loading = false;\r\n this.modals = false;\r\n setTimeout(() => {\r\n this.getList();\r\n }, 500);\r\n })\r\n .catch((res) => {\r\n this.modal_loading = false;\r\n this.loading = false;\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n cancel() {\r\n this.modals = false;\r\n },\r\n // 等级列表\r\n getList() {\r\n this.loading = true;\r\n cmsListApi(this.artFrom)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.cmsList = 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 getClass() {\r\n categoryListApi(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.treeData = data;\r\n let obj = {\r\n id: 0,\r\n title: '全部',\r\n };\r\n this.treeData.unshift(obj);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 下拉树\r\n handleCheckChange(data) {\r\n this.artFrom.pid = data ? data : 0;\r\n this.artFrom.page = 1;\r\n this.getList();\r\n },\r\n // 编辑\r\n edit(row) {\r\n this.$router.push({ path: this.$routeProStr + '/cms/article/add_article/' + row.id });\r\n },\r\n // 关联\r\n artRelation(row, tit, num) {\r\n this.rows = row;\r\n if (row.product_id === 0) {\r\n this.modals = true;\r\n } else {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `/cms/cms/unrelation/${row.id}`,\r\n method: 'PUT',\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 })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n }\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: `cms/cms/${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.cmsList.splice(num, 1);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 表格搜索\r\n userSearchs() {\r\n this.artFrom.page = 1;\r\n this.getList();\r\n },\r\n onCopy(row, type) {\r\n let copy_url = type == 1 ? row.copy_url : row.copy_url_pc;\r\n this.$copyText(copy_url)\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 },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.treeSel ::v-deep .ivu-select-dropdown-list {\r\n padding: 0 10px !important;\r\n box-sizing: border-box;\r\n}\r\n.tabBox_img {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 4px;\r\n cursor: pointer;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n</style>\r\n"]}]}
|