0bcc8223e2db9623930911d4fc7a4cd6.json 14 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\app\\wechat\\reply\\keyword.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\app\\wechat\\reply\\keyword.vue","mtime":1761614939008},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBrZXl3b3JkTGlzdEFwaSwga2V5d29yZHNldFN0YXR1c0FwaSwgZG93bmxvYWRSZXBseUNvZGUgfSBmcm9tICdAL2FwaS9hcHAnOw0KaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ2tleXdvcmQnLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBncmlkOiB7DQogICAgICAgIHhsOiA3LA0KICAgICAgICBsZzogNywNCiAgICAgICAgbWQ6IDEyLA0KICAgICAgICBzbTogMjQsDQogICAgICAgIHhzOiAyNCwNCiAgICAgIH0sDQogICAgICBsb2FkaW5nOiBmYWxzZSwNCiAgICAgIGZvcm1WYWxpZGF0ZTogew0KICAgICAgICBrZXk6ICcnLA0KICAgICAgICB0eXBlOiAnJywNCiAgICAgICAgcGFnZTogMSwNCiAgICAgICAgbGltaXQ6IDIwLA0KICAgICAgfSwNCiAgICAgIHRhYkxpc3Q6IFtdLA0KICAgICAgdG90YWw6IDAsDQogICAgICBjb2x1bW5zMTogWw0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICdJRCcsDQogICAgICAgICAga2V5OiAnaWQnLA0KICAgICAgICAgIHdpZHRoOiA4MCwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHRpdGxlOiAn5YWz6ZSu5a2XJywNCiAgICAgICAgICBrZXk6ICdrZXknLA0KICAgICAgICAgIG1pbldpZHRoOiAxMjAsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0aXRsZTogJ+WbnuWkjeexu+WeiycsDQogICAgICAgICAga2V5OiAndHlwZScsDQogICAgICAgICAgbWluV2lkdGg6IDE1MCwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHRpdGxlOiAn5piv5ZCm5pi+56S6JywNCiAgICAgICAgICBzbG90OiAnc3RhdHVzJywNCiAgICAgICAgICBtaW5XaWR0aDogMTIwLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICfmk43kvZwnLA0KICAgICAgICAgIHNsb3Q6ICdhY3Rpb24nLA0KICAgICAgICAgIGZpeGVkOiAncmlnaHQnLA0KICAgICAgICAgIG1pbldpZHRoOiAxMjAsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgbW9kYWw6IGZhbHNlLA0KICAgICAgcXJjb2RlOiAnJywNCiAgICB9Ow0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMuZ2V0TGlzdCgpOw0KICB9LA0KICBjb21wdXRlZDogew0KICAgIC4uLm1hcFN0YXRlKCdtZWRpYScsIFsnaXNNb2JpbGUnXSksDQogICAgbGFiZWxXaWR0aCgpIHsNCiAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gdW5kZWZpbmVkIDogJzgwcHgnOw0KICAgIH0sDQogICAgbGFiZWxQb3NpdGlvbigpIHsNCiAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlID8gJ3RvcCcgOiAncmlnaHQnOw0KICAgIH0sDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvLyDliJfooagNCiAgICBnZXRMaXN0KCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGtleXdvcmRMaXN0QXBpKHRoaXMuZm9ybVZhbGlkYXRlKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YTsNCiAgICAgICAgICB0aGlzLnRhYkxpc3QgPSBkYXRhLmxpc3Q7DQogICAgICAgICAgdGhpcy50b3RhbCA9IHJlcy5kYXRhLmNvdW50Ow0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g5L+u5pS55piv5ZCm5pi+56S6DQogICAgb25jaGFuZ2VJc1Nob3cocm93KSB7DQogICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgaWQ6IHJvdy5pZCwNCiAgICAgICAgc3RhdHVzOiByb3cuc3RhdHVzLA0KICAgICAgfTsNCiAgICAgIGtleXdvcmRzZXRTdGF0dXNBcGkoZGF0YSkNCiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOihqOagvOaQnOe0og0KICAgIHVzZXJTZWFyY2hzKCkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUucGFnZSA9IDE7DQogICAgICB0aGlzLmdldExpc3QoKTsNCiAgICB9LA0KICAgIC8vIOa3u+WKoA0KICAgIGFkZCgpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsgcGF0aDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL2FwcC93ZWNoYXQvcmVwbHkva2V5d29yZC9zYXZlLzAnIH0pOw0KICAgIH0sDQogICAgLy8g57yW6L6RDQogICAgZWRpdChyb3cpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsgcGF0aDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL2FwcC93ZWNoYXQvcmVwbHkva2V5d29yZC9zYXZlLycgKyByb3cuaWQgfSk7DQogICAgfSwNCiAgICBkZWwocm93LCB0aXQsIG51bSkgew0KICAgICAgbGV0IGRlbGZyb21EYXRhID0gew0KICAgICAgICB0aXRsZTogdGl0LA0KICAgICAgICBudW06IG51bSwNCiAgICAgICAgdXJsOiBgYXBwL3dlY2hhdC9rZXl3b3JkLyR7cm93LmlkfWAsDQogICAgICAgIG1ldGhvZDogJ0RFTEVURScsDQogICAgICAgIGlkczogJycsDQogICAgICB9Ow0KICAgICAgdGhpcy4kbW9kYWxTdXJlKGRlbGZyb21EYXRhKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHRoaXMudGFiTGlzdC5zcGxpY2UobnVtLCAxKTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOS4i+i9veS6jOe7tOeggQ0KICAgIGRvd25sb2FkKHJvdykgew0KICAgICAgZG93bmxvYWRSZXBseUNvZGUocm93LmlkKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy5tb2RhbCA9IHRydWU7DQogICAgICAgICAgdGhpcy5xcmNvZGUgPSByZXMuZGF0YS51cmw7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihlcnIubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["keyword.vue"],"names":[],"mappings":";AA4GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"keyword.vue","sourceRoot":"src/pages/app/wechat/reply","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=\"levelFrom\"\r\n :model=\"formValidate\"\r\n :label-width=\"labelWidth\"\r\n :label-position=\"labelPosition\"\r\n @submit.native.prevent\r\n inline\r\n >\r\n <el-form-item label=\"回复类型:\" prop=\"type\" label-for=\"type\">\r\n <el-select\r\n v-model=\"formValidate.type\"\r\n placeholder=\"请选择\"\r\n clearable\r\n @change=\"userSearchs\"\r\n class=\"form_content_width\"\r\n >\r\n <el-option value=\"text\" label=\"文字消息\"></el-option>\r\n <el-option value=\"image\" label=\"图片消息\"></el-option>\r\n <el-option value=\"news\" label=\"图文消息\"></el-option>\r\n <el-option value=\"voice\" label=\"声音消息\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"关键字:\" prop=\"key\" label-for=\"key\">\r\n <el-input clearable v-model=\"formValidate.key\" placeholder=\"请输入关键字\" 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 <el-button type=\"primary\" v-db-click @click=\"add\">添加关键字</el-button>\r\n <el-table\r\n :data=\"tabList\"\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=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.key }}</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.type }}</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 <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"scope.row.status\"\r\n :value=\"scope.row.status\"\r\n @change=\"onchangeIsShow(scope.row)\"\r\n size=\"large\"\r\n active-text=\"显示\"\r\n inactive-text=\"隐藏\"\r\n >\r\n </el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"170\">\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=\"formValidate.page\"\r\n :limit.sync=\"formValidate.limit\"\r\n @pagination=\"getList\"\r\n />\r\n </div>\r\n </el-card>\r\n <el-dialog :visible.sync=\"modal\" title=\"二维码\">\r\n <div class=\"acea-row row-around\">\r\n <div class=\"acea-row row-column-around row-between-wrapper\">\r\n <div v-viewer class=\"QRpic\">\r\n <img v-lazy=\"qrcode\" />\r\n </div>\r\n </div>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { keywordListApi, keywordsetStatusApi, downloadReplyCode } from '@/api/app';\r\nimport { mapState } from 'vuex';\r\nexport default {\r\n name: 'keyword',\r\n data() {\r\n return {\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 formValidate: {\r\n key: '',\r\n type: '',\r\n page: 1,\r\n limit: 20,\r\n },\r\n tabList: [],\r\n total: 0,\r\n columns1: [\r\n {\r\n title: 'ID',\r\n key: 'id',\r\n width: 80,\r\n },\r\n {\r\n title: '关键字',\r\n key: 'key',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '回复类型',\r\n key: 'type',\r\n minWidth: 150,\r\n },\r\n {\r\n title: '是否显示',\r\n slot: 'status',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '操作',\r\n slot: 'action',\r\n fixed: 'right',\r\n minWidth: 120,\r\n },\r\n ],\r\n modal: false,\r\n qrcode: '',\r\n };\r\n },\r\n created() {\r\n this.getList();\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 methods: {\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n keywordListApi(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tabList = 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 // 修改是否显示\r\n onchangeIsShow(row) {\r\n let data = {\r\n id: row.id,\r\n status: row.status,\r\n };\r\n keywordsetStatusApi(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 userSearchs() {\r\n this.formValidate.page = 1;\r\n this.getList();\r\n },\r\n // 添加\r\n add() {\r\n this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword/save/0' });\r\n },\r\n // 编辑\r\n edit(row) {\r\n this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword/save/' + row.id });\r\n },\r\n del(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `app/wechat/keyword/${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.tabList.splice(num, 1);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 下载二维码\r\n download(row) {\r\n downloadReplyCode(row.id)\r\n .then((res) => {\r\n this.modal = true;\r\n this.qrcode = res.data.url;\r\n })\r\n .catch((err) => {\r\n this.$message.error(err.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.QRpic {\r\n width: 180px;\r\n height: 180px;\r\n}\r\n\r\n.QRpic img {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n</style>\r\n"]}]}