| 1 |
- {"remainingRequest":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/cache-loader/dist/cjs.js??ref--0-0!/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/src/view/customer_service/feedbackList.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/src/view/customer_service/feedbackList.vue","mtime":1618306924000},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":1665684022107},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":1665684010704},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":1665684022107},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":1665684006084}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport axios from '@/libs/api.request';\nexport default {\n name: 'voice',\n\n data() {\n return {\n promotionId: '',\n agentId: '',\n // 代理ID\n agentName: '',\n // 姓名\n showRelieve: false,\n queryDataPage: 1,\n total: 0,\n showVideoModal: false,\n showLevelModal: false,\n feedback_type: '',\n // 反馈类型\n content: '',\n // 反馈内容\n textarea: '',\n // 回复内容\n feedbackId: [],\n // 反馈id\n startDate: '',\n endDate: '',\n batchdelIDarray: '',\n // 选中的id数组\n postData: {\n province: '',\n // 省\n city: '',\n // 市\n district: '' // 区\n\n },\n province: '',\n // 编辑时用到的省id\n provinceList: [],\n // 省列表\n cityList: [],\n // 市列表\n districtList: [],\n // 区列表\n // 查询条件\n queryData: {\n level: '',\n cp_id: '',\n mobile: '',\n pagenum: 15\n },\n discounts: '',\n min_num: '',\n task_num: '',\n levelData: [],\n columns: [{\n type: 'selection',\n width: 60,\n align: 'center'\n }, {\n title: '代理ID',\n key: 'uid',\n width: 100\n }, {\n title: '手机号',\n key: 'mobile',\n width: 120\n }, {\n title: '当前所在城区',\n key: 'area',\n width: 200\n }, {\n title: '反馈内容',\n key: 'content'\n }, {\n title: '反馈类型',\n width: 100,\n key: 'feedback_type',\n render: (h, params) => {\n if (params.row.feedback_type != undefined) {\n return h('span', params.row.feedback_type == 1 ? '建议' : '投诉');\n }\n }\n }, {\n title: '日期',\n key: 'created_at',\n width: 200\n }, {\n title: '操作',\n width: 200,\n key: 'action',\n align: 'center',\n render: (h, params) => {\n return h('div', [h('Button', {\n props: {\n size: 'small',\n type: 'primary'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '10px'\n },\n on: {\n click: () => {\n this.showVideoModal = true;\n this.content = params.row.content;\n }\n }\n }, '查看'), h('Button', {\n props: {\n size: 'small',\n type: 'primary'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px'\n },\n on: {\n click: () => {\n this.showLevelModal = true;\n this.feedbackId = [];\n this.feedbackId.push(params.row.id);\n this.textarea = params.row.audit_remark;\n }\n },\n directives: [{\n name: 'opcode',\n value: 'admins/serve/feedback/reply'\n }]\n }, '回复')]);\n }\n }],\n tableData: [],\n isSearch: false\n };\n },\n\n created() {\n this.taskList();\n this.getProvince();\n },\n\n methods: {\n // 分页\n levelchangepage(res) {\n this.queryDataPage = res;\n\n if (this.isSearch) {\n this.cateadd(this.queryDataPage);\n } else {\n this.taskList();\n }\n },\n\n // 点击查询\n cateadd(page) {\n var listData = {\n page: page,\n word: this.queryData.mobile,\n province: this.postData.province,\n city: this.postData.city,\n district: this.postData.district,\n startTime: this.startDate,\n feedbackType: this.feedback_type,\n perPage: this.queryData.pagenum\n }; // 清除对象中的空属性\n\n listData = this.clearNullData(listData); // listData = clearNullData(listData)\n\n axios.request({\n method: 'POST',\n url: '/admins/serve/feedback',\n data: listData\n }).then(res => {\n if (res.data.code === 'success') {\n this.$refs['pages'].currentPage = page;\n this.tableData = res.data.data.data;\n this.total = res.data.data.total;\n this.isSearch = true;\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n },\n\n // 获取列表信息\n taskList() {\n axios.request({\n method: 'POST',\n url: '/admins/serve/feedback',\n data: {\n page: this.queryDataPage,\n perPage: this.queryData.pagenum\n }\n }).then(res => {\n if (res.data.code === 'success') {\n this.tableData = res.data.data.data;\n this.total = res.data.data.total;\n this.isSearch = false;\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n },\n\n // 省\n getProvince(type) {\n axios.request({\n method: 'GET',\n url: '/admins/area/0'\n }).then(res => {\n if (res.data.code === 'success') {\n // this.postData.province === '' && (this.postData.province = res.data.data.list[0].id)\n this.provinceList = res.data.data.list;\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n },\n\n // 市\n getCity() {\n var id = this.postData.province;\n axios.request({\n method: 'GET',\n url: '/admins/area/' + id\n }).then(res => {\n if (res.data.code === 'success') {\n this.cityList = res.data.data.list;\n this.postData.city = res.data.data.list[0].id;\n this.getDistrict();\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n },\n\n // 区\n getDistrict() {\n var id = parseInt(this.$route.query.id);\n axios.request({\n method: 'GET',\n url: '/admins/area/' + this.postData.city\n }).then(res => {\n if (res.data.code === 'success') {\n this.districtList = res.data.data.list;\n this.postData.district = res.data.data.list[0].id;\n\n if (this.$route.query.id) {\n this.postData.district = this.bankList[id].district;\n }\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n },\n\n // 全选\n selectionClick(data) {\n // 只要选中项发生变化时就会触发\n this.feedbackId = [];\n\n if (data.length !== 0) {\n for (var item of data) {\n this.feedbackId.push(item.id);\n } // console.log(this.batchdelIDarray)\n\n }\n },\n\n // 批量审核\n batchSccress() {\n if (this.feedbackId.length == 0) {\n this.$Message.warning('请先选择反馈记录', 'middle');\n return;\n }\n\n this.showLevelModal = true;\n },\n\n // 回复内容\n treatyok() {\n axios.request({\n method: 'POST',\n url: '/admins/serve/feedback/reply',\n params: {\n id: this.feedbackId,\n audit_remark: this.textarea\n }\n }).then(res => {\n this.$Message.info(res.data.message);\n var that = this;\n\n if (res.data.code === 'success') {\n setTimeout(function () {\n if (that.isSearch) {\n that.cateadd(this.queryDataPage);\n } else {\n that.taskList();\n }\n\n that.feedbackId = [];\n }, 2000);\n }\n });\n },\n\n // 点击取消\n cancel() {\n this.feedbackId = [];\n }\n\n }\n};",{"version":3,"sources":["feedbackList.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\n <div>\n <Card>\n <Row>\n <Form ref=\"queryform\" inline :label-width=\"60\">\n <FormItem :label-width=\"0\">\n <Button type=\"primary\" v-opcode=\"'admins/serve/feedback/reply'\" @click=\"batchSccress\">批量回复</Button>\n </FormItem>\n <FormItem prop=\"province\" label=\"地区\">\n <Select placeholder=\"请选择省\" v-model=\"postData.province\" @on-change=\"getCity()\">\n <Option :value=\"item.id\" v-for=\"(item,i) in provinceList\" :key='i'>{{item.name}}</Option>\n </Select>\n </FormItem>\n <FormItem :label-width=\"0\">\n <Select placeholder=\"请选择市\" v-model=\"postData.city\" @on-change=\"getDistrict()\">\n <Option :value=\"item.id\" v-for=\"(item,i) in cityList\" :key='i'>{{item.name}}</Option>\n </Select>\n </FormItem>\n <FormItem :label-width=\"0\">\n <Select placeholder=\"请选择区\" v-model=\"postData.district\">\n <Option :value=\"item.id\" v-for=\"(item,i) in districtList\" :key='i'>{{item.name}}</Option>\n </Select>\n </FormItem>\n <FormItem prop=\"mobile\" label=\"代理\">\n <Input v-model=\"queryData.mobile\" placeholder=\"输入代理手机号\"/>\n </FormItem>\n <FormItem prop=\"mobile\" label=\"反馈类型\">\n <Select placeholder=\"反馈类型\" v-model=\"feedback_type\">\n <Option value=\"\">所有</Option>\n <Option value=\"2\">投诉</Option>\n <Option value=\"1\">建议</Option>\n </Select>\n </FormItem>\n <FormItem :label-width=\"0\">\n <Button type=\"primary\" @click=\"cateadd(1)\">查询</Button>\n </FormItem>\n </Form>\n </Row>\n <Row class=\"mt10\">\n <Table border ref=\"selection\" :columns=\"columns\" :data=\"tableData\" @on-selection-change='selectionClick'>\n </Table>\n </Row>\n <!-- 页码 -->\n <div style=\"margin: 10px;overflow: hidden\">\n <div style=\"float: left;\">\n <Page :total=\"total\" ref=\"pages\" :current=\"queryDataPage\" :page-size=\"queryData.pagenum\"\n @on-change=\"levelchangepage\"></Page>\n </div>\n </div>\n </Card>\n <!-- 查看反馈内容 -->\n <Modal v-model=\"showVideoModal\" title=\"反馈内容\" :mask-closable=\"false\">\n <div>{{content}}</div>\n <div slot=\"footer\">\n <Row type=\"flex\" justify=\"center\">\n <Button @click=\"showVideoModal=false\">关闭</Button>\n </Row>\n </div>\n </Modal>\n <!-- 回复反馈 -->\n <Modal v-model=\"showLevelModal\" title=\"回复内容\" :mask-closable=\"false\" @on-ok=\"treatyok\" @on-cancel=\"cancel\">\n <Form :label-width=\"80\">\n <FormItem label=\"回复内容\">\n <Input v-model=\"textarea\" type=\"textarea\" :autosize=\"{minRows: 2,maxRows: 5}\" placeholder=\"请输入回复的内容\"></Input>\n </FormItem>\n </Form>\n </Modal>\n </div>\n</template>\n\n<script>\n import axios from '@/libs/api.request'\n export default {\n\n name: 'voice',\n data () {\n return {\n promotionId: '',\n agentId: '', // 代理ID\n agentName: '', // 姓名\n showRelieve: false,\n queryDataPage: 1,\n total: 0,\n showVideoModal: false,\n showLevelModal: false,\n feedback_type: '', // 反馈类型\n content: '', // 反馈内容\n textarea: '', // 回复内容\n feedbackId: [], // 反馈id\n startDate: '',\n endDate: '',\n batchdelIDarray: '', // 选中的id数组\n postData: {\n province: '', // 省\n city: '', // 市\n district: '' // 区\n },\n province: '', // 编辑时用到的省id\n provinceList: [], // 省列表\n cityList: [], // 市列表\n districtList: [], // 区列表\n // 查询条件\n queryData: {\n level: '',\n cp_id: '',\n mobile: '',\n pagenum: 15\n },\n discounts: '',\n min_num: '',\n task_num: '',\n levelData: [],\n columns: [{\n type: 'selection',\n width: 60,\n align: 'center'\n },\n {\n title: '代理ID',\n key: 'uid',\n width:100\n },\n {\n title: '手机号',\n key: 'mobile',\n width:120\n },\n {\n title: '当前所在城区',\n key: 'area',\n width:200\n },\n {\n title: '反馈内容',\n key: 'content'\n },\n {\n title: '反馈类型',\n width:100,\n key: 'feedback_type',\n render: (h, params) => {\n if (params.row.feedback_type != undefined) {\n return h('span', params.row.feedback_type == 1 ? '建议' : '投诉')\n }\n }\n },\n {\n title: '日期',\n key: 'created_at',\n width:200,\n },\n {\n title: '操作',\n width: 200,\n key: 'action',\n align: 'center',\n render: (h, params) => {\n return h('div', [\n h('Button', {\n props: {\n size: 'small',\n type: 'primary'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '10px'\n },\n on: {\n click: () => {\n this.showVideoModal = true\n this.content = params.row.content\n }\n }\n }, '查看'),\n h('Button', {\n props: {\n size: 'small',\n type: 'primary'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px'\n },\n on: {\n click: () => {\n this.showLevelModal = true\n this.feedbackId = []\n this.feedbackId.push(params.row.id)\n this.textarea = params.row.audit_remark\n }\n },\n directives: [\n {\n name: 'opcode',\n value: 'admins/serve/feedback/reply'\n }\n ]\n }, '回复')\n ])\n }\n }\n ],\n tableData: [],\n isSearch: false\n }\n },\n created () {\n this.taskList()\n this.getProvince()\n },\n methods: {\n // 分页\n levelchangepage (res) {\n this.queryDataPage = res\n if (this.isSearch) {\n this.cateadd(this.queryDataPage);\n } else {\n this.taskList()\n }\n },\n // 点击查询\n cateadd (page) {\n var listData = {\n page: page,\n word: this.queryData.mobile,\n province: this.postData.province,\n city: this.postData.city,\n district: this.postData.district,\n startTime: this.startDate,\n feedbackType: this.feedback_type,\n perPage: this.queryData.pagenum\n }\n // 清除对象中的空属性\n listData = this.clearNullData(listData)\n // listData = clearNullData(listData)\n axios\n .request({\n method: 'POST',\n url: '/admins/serve/feedback',\n data: listData\n })\n .then(res => {\n if (res.data.code === 'success') {\n this.$refs['pages'].currentPage = page;\n this.tableData = res.data.data.data\n this.total = res.data.data.total\n this.isSearch = true\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n },\n // 获取列表信息\n taskList () {\n axios\n .request({\n method: 'POST',\n url: '/admins/serve/feedback',\n data: {\n page: this.queryDataPage,\n perPage: this.queryData.pagenum\n }\n })\n .then(res => {\n if (res.data.code === 'success') {\n this.tableData = res.data.data.data\n this.total = res.data.data.total\n this.isSearch = false\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n },\n // 省\n getProvince (type) {\n axios.request({\n method: 'GET',\n url: '/admins/area/0'\n }).then((res) => {\n if (res.data.code === 'success') {\n // this.postData.province === '' && (this.postData.province = res.data.data.list[0].id)\n this.provinceList = res.data.data.list\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n },\n // 市\n getCity () {\n var id = this.postData.province\n axios.request({\n method: 'GET',\n url: '/admins/area/' + id\n }).then((res) => {\n if (res.data.code === 'success') {\n this.cityList = res.data.data.list\n this.postData.city = res.data.data.list[0].id\n this.getDistrict()\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n },\n // 区\n getDistrict () {\n var id = parseInt(this.$route.query.id)\n axios.request({\n method: 'GET',\n url: '/admins/area/' + this.postData.city\n }).then((res) => {\n if (res.data.code === 'success') {\n this.districtList = res.data.data.list\n this.postData.district = res.data.data.list[0].id\n if (this.$route.query.id) {\n this.postData.district = this.bankList[id].district\n }\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n },\n // 全选\n selectionClick (data) {\n // 只要选中项发生变化时就会触发\n this.feedbackId = []\n if (data.length !== 0) {\n for (var item of data) {\n this.feedbackId.push(item.id)\n }\n // console.log(this.batchdelIDarray)\n }\n },\n // 批量审核\n batchSccress () {\n if (this.feedbackId.length == 0) {\n this.$Message.warning('请先选择反馈记录', 'middle')\n return\n }\n this.showLevelModal = true\n },\n // 回复内容\n treatyok () {\n axios.request({\n method: 'POST',\n url: '/admins/serve/feedback/reply',\n params: {\n id: this.feedbackId,\n audit_remark: this.textarea\n }\n })\n .then(res => {\n this.$Message.info(res.data.message)\n var that = this\n if (res.data.code === 'success') {\n setTimeout(function () {\n if (that.isSearch) {\n that.cateadd(this.queryDataPage);\n } else {\n that.taskList()\n }\n that.feedbackId = []\n }, 2000)\n }\n })\n },\n // 点击取消\n cancel () {\n this.feedbackId = []\n }\n }\n }\n</script>\n\n<style>\n .mt10 {\n margin-top: 10px;\n }\n\n .ivu-btn-error {\n margin-left: 10px;\n }\n</style>\n"],"sourceRoot":"src/view/customer_service"}]}
|