7e9ef8077b09d302ea65d5aa68a96b12.json 14 KB

1
  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\\product\\productClassify\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\product\\productClassify\\index.vue","mtime":1761185180163},{"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:DQppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOw0KaW1wb3J0IHsgcHJvZHVjdExpc3RBcGksIHByb2R1Y3RDcmVhdGVBcGksIHByb2R1Y3RFZGl0QXBpLCBzZXRTaG93QXBpLCB0cmVlTGlzdEFwaSB9IGZyb20gJ0AvYXBpL3Byb2R1Y3QnOw0KaW1wb3J0IGVkaXRGcm9tIGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZnJvbS9mcm9tJzsNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ3Byb2R1Y3RfcHJvZHVjdENsYXNzaWZ5JywNCiAgY29tcG9uZW50czogew0KICAgIGVkaXRGcm9tLA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICB0cmVlU2VsZWN0OiBbXSwNCiAgICAgIEZyb21EYXRhOiBudWxsLA0KICAgICAgZ3JpZDogew0KICAgICAgICB4bDogNywNCiAgICAgICAgbGc6IDcsDQogICAgICAgIG1kOiAxMiwNCiAgICAgICAgc206IDI0LA0KICAgICAgICB4czogMjQsDQogICAgICB9LA0KICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgICBhcnRGcm9tOiB7DQogICAgICAgIHBpZDogMCwNCiAgICAgICAgaXNfc2hvdzogJycsDQogICAgICAgIHBhZ2U6IDEsDQogICAgICAgIGNhdGVfbmFtZTogJycsDQogICAgICAgIGxpbWl0OiAxNSwNCiAgICAgIH0sDQogICAgICB0b3RhbDogMCwNCiAgICAgIHRhYmxlRGF0YTogW10sDQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAuLi5tYXBTdGF0ZSgnYWRtaW4vdXNlckxldmVsJywgWydjYXRlZ29yeUlkJ10pLA0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIHRoaXMuZ29vZHNDYXRlZ29yeSgpOw0KICAgIHRoaXMuZ2V0TGlzdCgpOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLy8g5ZWG5ZOB5YiG57G777ybDQogICAgZ29vZHNDYXRlZ29yeSgpIHsNCiAgICAgIHRyZWVMaXN0QXBpKDApDQogICAgICAgIC50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLnRyZWVTZWxlY3QgPSByZXMuZGF0YTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOWIl+ihqA0KICAgIGdldExpc3QoKSB7DQogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOw0KICAgICAgdGhpcy5hcnRGcm9tLmlzX3Nob3cgPSB0aGlzLmFydEZyb20uaXNfc2hvdyB8fCAnJzsNCiAgICAgIHRoaXMuYXJ0RnJvbS5waWQgPSB0aGlzLmFydEZyb20ucGlkIHx8ICcnOw0KICAgICAgcHJvZHVjdExpc3RBcGkodGhpcy5hcnRGcm9tKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YTsNCiAgICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGRhdGEubGlzdDsNCiAgICAgICAgICB0aGlzLnRvdGFsID0gZGF0YS5jb3VudDsNCiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIHBhZ2VDaGFuZ2UoaW5kZXgpIHsNCiAgICAgIHRoaXMuYXJ0RnJvbS5wYWdlID0gaW5kZXg7DQogICAgICB0aGlzLmdldExpc3QoKTsNCiAgICB9LA0KICAgIC8vIOa3u+WKoA0KICAgIGFkZENsYXNzKCkgew0KICAgICAgdGhpcy4kbW9kYWxGb3JtKHByb2R1Y3RDcmVhdGVBcGkoKSkudGhlbigoKSA9PiB0aGlzLmdldExpc3QoKSk7DQogICAgfSwNCiAgICAvLyDnvJbovpENCiAgICBlZGl0KHJvdykgew0KICAgICAgdGhpcy4kbW9kYWxGb3JtKHByb2R1Y3RFZGl0QXBpKHJvdy5pZCkpLnRoZW4oKCkgPT4gdGhpcy5nZXRMaXN0KCkpOw0KICAgIH0sDQogICAgLy8g5L+u5pS554q25oCBDQogICAgb25jaGFuZ2VJc1Nob3cocm93KSB7DQogICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgaWQ6IHJvdy5pZCwNCiAgICAgICAgaXNfc2hvdzogcm93LmlzX3Nob3csDQogICAgICB9Ow0KICAgICAgc2V0U2hvd0FwaShkYXRhKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g5LiL5ouJ5qCRDQogICAgaGFuZGxlQ2hlY2tDaGFuZ2UoZGF0YSkgew0KICAgICAgbGV0IHZhbHVlID0gJyc7DQogICAgICBsZXQgdGl0bGUgPSAnJzsNCiAgICAgIHRoaXMubGlzdCA9IFtdOw0KICAgICAgdGhpcy5hcnRGcm9tLnBpZCA9IDA7DQogICAgICBkYXRhLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7DQogICAgICAgIHZhbHVlICs9IGAke2l0ZW0uaWR9LGA7DQogICAgICAgIHRpdGxlICs9IGAke2l0ZW0udGl0bGV9LGA7DQogICAgICB9KTsNCiAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDAsIHZhbHVlLmxlbmd0aCAtIDEpOw0KICAgICAgdGl0bGUgPSB0aXRsZS5zdWJzdHJpbmcoMCwgdGl0bGUubGVuZ3RoIC0gMSk7DQogICAgICB0aGlzLmxpc3QucHVzaCh7DQogICAgICAgIHZhbHVlLA0KICAgICAgICB0aXRsZSwNCiAgICAgIH0pOw0KICAgICAgdGhpcy5hcnRGcm9tLnBpZCA9IHZhbHVlOw0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgICAvLyDliKDpmaQNCiAgICBkZWwocm93LCB0aXQsIG51bSkgew0KICAgICAgbGV0IGRlbGZyb21EYXRhID0gew0KICAgICAgICB0aXRsZTogdGl0LA0KICAgICAgICBudW06IG51bSwNCiAgICAgICAgdXJsOiBgcHJvZHVjdC9jYXRlZ29yeS8ke3Jvdy5pZH1gLA0KICAgICAgICBtZXRob2Q6ICdERUxFVEUnLA0KICAgICAgICBpZHM6ICcnLA0KICAgICAgfTsNCiAgICAgIHRoaXMuJG1vZGFsU3VyZShkZWxmcm9tRGF0YSkNCiAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgICB0aGlzLmdldExpc3QoKTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOihqOagvOaQnOe0og0KICAgIHVzZXJTZWFyY2hzKCkgew0KICAgICAgdGhpcy5hcnRGcm9tLnBhZ2UgPSAxOw0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AA4FA;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/product/productClassify","sourcesContent":["<template>\r\n <div class=\"article-manager\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\" :body-style=\"{ padding: 0 }\">\r\n <div class=\"padding-add\">\r\n <el-form ref=\"artFrom\" :model=\"artFrom\" inline label-width=\"80px\" label-position=\"right\" @submit.native.prevent>\r\n <el-form-item label=\"商品分类:\" prop=\"pid\" label-for=\"pid\">\r\n <el-select\r\n v-model=\"artFrom.pid\"\r\n placeholder=\"请选择商品分类\"\r\n @change=\"userSearchs\"\r\n clearable\r\n class=\"form_content_width\"\r\n >\r\n <el-option v-for=\"item in treeSelect\" :value=\"item.id\" :label=\"item.cate_name\" :key=\"item.id\">{{\r\n item.cate_name\r\n }}</el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"分类状态:\" label-for=\"is_show\">\r\n <el-select\r\n v-model=\"artFrom.is_show\"\r\n placeholder=\"请选择分类状态\"\r\n clearable\r\n @change=\"userSearchs\"\r\n class=\"form_content_width\"\r\n >\r\n <el-option value=\"1\" label=\"显示\"></el-option>\r\n <el-option value=\"0\" label=\"隐藏\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"分类名称:\" label-for=\"status2\">\r\n <el-input clearable placeholder=\"请输入分类名称\" v-model=\"artFrom.cate_name\" 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 mt16\">\r\n <el-button v-auth=\"['product-save-cate']\" type=\"primary\" class=\"bnt\" v-db-click @click=\"addClass\"\r\n >添加分类</el-button\r\n >\r\n <vxe-table\r\n class=\"mt14\"\r\n highlight-hover-row\r\n :loading=\"loading\"\r\n header-row-class-name=\"false\"\r\n :tree-config=\"{ children: 'children' }\"\r\n :data=\"tableData\"\r\n >\r\n <vxe-table-column field=\"id\" title=\"ID\" tooltip width=\"80\"></vxe-table-column>\r\n <vxe-table-column field=\"cate_name\" tree-node title=\"分类名称\" min-width=\"250\"></vxe-table-column>\r\n <vxe-table-column field=\"pic\" title=\"分类图标\" min-width=\"100\">\r\n <template v-slot=\"{ row }\">\r\n <div class=\"tabBox_img\" v-viewer v-if=\"row.pic\">\r\n <img v-lazy=\"row.pic\" />\r\n </div>\r\n </template>\r\n </vxe-table-column>\r\n <vxe-table-column field=\"sort\" title=\"排序\" min-width=\"100\" tooltip=\"true\"></vxe-table-column>\r\n <vxe-table-column field=\"is_show\" title=\"状态\" min-width=\"120\">\r\n <template v-slot=\"{ row }\">\r\n <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"row.is_show\"\r\n :value=\"row.is_show\"\r\n @change=\"onchangeIsShow(row)\"\r\n size=\"large\"\r\n active-text=\"开启\"\r\n inactive-text=\"关闭\"\r\n >\r\n </el-switch>\r\n </template>\r\n </vxe-table-column>\r\n <vxe-table-column field=\"date\" title=\"操作\" width=\"120\" fixed=\"right\">\r\n <template v-slot=\"{ row, index }\">\r\n <a v-db-click @click=\"edit(row)\">编辑</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"del(row, '删除商品分类', index)\">删除</a>\r\n </template>\r\n </vxe-table-column>\r\n </vxe-table>\r\n </el-card>\r\n <!-- 添加 编辑表单-->\r\n <edit-from ref=\"edits\" :FromData=\"FromData\" @submitFail=\"userSearchs\"></edit-from>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { productListApi, productCreateApi, productEditApi, setShowApi, treeListApi } from '@/api/product';\r\nimport editFrom from '../../../components/from/from';\r\nexport default {\r\n name: 'product_productClassify',\r\n components: {\r\n editFrom,\r\n },\r\n data() {\r\n return {\r\n treeSelect: [],\r\n FromData: null,\r\n grid: {\r\n xl: 7,\r\n lg: 7,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n loading: false,\r\n artFrom: {\r\n pid: 0,\r\n is_show: '',\r\n page: 1,\r\n cate_name: '',\r\n limit: 15,\r\n },\r\n total: 0,\r\n tableData: [],\r\n };\r\n },\r\n computed: {\r\n ...mapState('admin/userLevel', ['categoryId']),\r\n },\r\n mounted() {\r\n this.goodsCategory();\r\n this.getList();\r\n },\r\n methods: {\r\n // 商品分类;\r\n goodsCategory() {\r\n treeListApi(0)\r\n .then((res) => {\r\n this.treeSelect = res.data;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n this.artFrom.is_show = this.artFrom.is_show || '';\r\n this.artFrom.pid = this.artFrom.pid || '';\r\n productListApi(this.artFrom)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableData = 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 pageChange(index) {\r\n this.artFrom.page = index;\r\n this.getList();\r\n },\r\n // 添加\r\n addClass() {\r\n this.$modalForm(productCreateApi()).then(() => this.getList());\r\n },\r\n // 编辑\r\n edit(row) {\r\n this.$modalForm(productEditApi(row.id)).then(() => this.getList());\r\n },\r\n // 修改状态\r\n onchangeIsShow(row) {\r\n let data = {\r\n id: row.id,\r\n is_show: row.is_show,\r\n };\r\n setShowApi(data)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\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 let value = '';\r\n let title = '';\r\n this.list = [];\r\n this.artFrom.pid = 0;\r\n data.forEach((item, index) => {\r\n value += `${item.id},`;\r\n title += `${item.title},`;\r\n });\r\n value = value.substring(0, value.length - 1);\r\n title = title.substring(0, title.length - 1);\r\n this.list.push({\r\n value,\r\n title,\r\n });\r\n this.artFrom.pid = value;\r\n 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: `product/category/${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.getList();\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 },\r\n};\r\n</script>\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"]}]}