| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storePresell\\presellList.vue?vue&type=style&index=0&id=5ccd3e45&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\storePresell\\presellList.vue","mtime":1761614939040},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"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:DQo6OnYtZGVlcCAuaXZ1LXRhZy1jeWFuIC5pdnUtdGFnLXRleHQgew0KICBjb2xvcjogIzE5YmU2YiAhaW1wb3J0YW50Ow0KfQ0KLml2dS10YWctY3lhbiB7DQogIGJhY2tncm91bmQ6IHJnYmEoMjUsIDE5MCwgMTcwLCAwLjEpOw0KICBib3JkZXItY29sb3I6ICMxOWJlNmIgIWltcG9ydGFudDsNCn0NCi50YWJCb3hfaW1nIHsNCiAgd2lkdGg6IDM2cHg7DQogIGhlaWdodDogMzZweDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICB9DQp9DQo="},{"version":3,"sources":["presellList.vue"],"names":[],"mappings":";AAgWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"presellList.vue","sourceRoot":"src/pages/marketing/storePresell","sourcesContent":["<template>\r\n <div class=\"article-manager\">\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt\">\r\n <el-form\r\n ref=\"formValidate\"\r\n :model=\"formValidate\"\r\n :label-width=\"labelWidth\"\r\n :label-position=\"labelPosition\"\r\n @submit.native.prevent\r\n >\r\n <el-row :gutter=\"24\">\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"时间选择:\">\r\n <el-radio-group\r\n v-model=\"formValidate.data\"\r\n type=\"button\"\r\n @input=\"selectChange(formValidate.data)\"\r\n class=\"mr\"\r\n >\r\n <el-radio :label=\"item.val\" v-for=\"(item, i) in fromList.fromTxt\" :key=\"i\">{{ item.text }}</el-radio>\r\n </el-radio-group>\r\n <el-date-picker\r\n clearable\r\n :editable=\"false\"\r\n @change=\"onchangeTime\"\r\n v-model=\"timeVal\"\r\n format=\"yyyy/MM/dd\"\r\n type=\"daterange\"\r\n value-format=\"yyyy/MM/dd\"\r\n range-separator=\"-\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n ></el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-bind=\"grid\">\r\n <el-form-item label=\"预售状态:\">\r\n <el-select v-model=\"formValidate.status\" placeholder=\"请选择\" clearable @change=\"userSearchs\">\r\n <el-option :value=\"1\" label=\"进行中\"></el-option>\r\n <el-option :value=\"2\" label=\"已失败\"></el-option>\r\n <el-option :value=\"3\" label=\"已成功\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <el-table\r\n :data=\"tableList\"\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=\"头像\" min-width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"scope.row.avatar\" />\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 <span> {{ scope.row.nickname + ' / ' + scope.row.uid }}</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 }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"预售商品\" min-width=\"300\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.title }}</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.bargain_price_min }}</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.now_price }}</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.people_num }}</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.num }}</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.datatime }}</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-tag color=\"blue\" v-show=\"scope.row.status === 1\">进行中</el-tag>\r\n <el-tag color=\"volcano\" v-show=\"scope.row.status === 2\">已失败</el-tag>\r\n <el-tag color=\"cyan\" v-show=\"scope.row.status === 3\">已成功</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"Info(scope.row)\">查看详情</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\r\n <!-- 详情模态框-->\r\n <el-dialog :visible.sync=\"modals\" class=\"tableBox\" title=\"查看详情\" :close-on-click-modal=\"false\" width=\"720px\">\r\n <el-table\r\n ref=\"selection\"\r\n :data=\"tabList3\"\r\n v-loading=\"loading2\"\r\n empty-text=\"暂无数据\"\r\n highlight-current-row\r\n max-height=\"600\"\r\n size=\"small\"\r\n >\r\n <el-table-column label=\"用户ID\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.uid }}</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 class=\"tabBox_img\" v-viewer>\r\n <img v-lazy=\"scope.row.avatar\" />\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 <span> {{ scope.row.nickname + ' / ' + scope.row.uid }}</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.price }}</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 }}</span>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { formatDate } from '@/utils/validate';\r\nimport { bargainUserListApi, bargainUserInfoApi } from '@/api/marketing';\r\nexport default {\r\n name: 'bargainList',\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 // components: { cardsData },\r\n data() {\r\n return {\r\n cardLists: [],\r\n modals: false,\r\n fromList: {\r\n title: '选择时间',\r\n custom: true,\r\n fromTxt: [\r\n { text: '全部', val: '' },\r\n { text: '今天', val: 'today' },\r\n { text: '昨天', val: 'yesterday' },\r\n { text: '最近7天', val: 'lately7' },\r\n { text: '最近30天', val: 'lately30' },\r\n { text: '本月', val: 'month' },\r\n { text: '本年', val: 'year' },\r\n ],\r\n },\r\n grid: {\r\n xl: 7,\r\n lg: 10,\r\n md: 12,\r\n sm: 12,\r\n xs: 24,\r\n },\r\n loading: false,\r\n formValidate: {\r\n status: '',\r\n data: '',\r\n page: 1,\r\n limit: 15,\r\n },\r\n columns1: [\r\n {\r\n title: '头像',\r\n slot: 'avatar',\r\n minWidth: 100,\r\n },\r\n {\r\n title: '发起用户',\r\n slot: 'nickname',\r\n minWidth: 150,\r\n },\r\n {\r\n title: '开启时间',\r\n key: 'add_time',\r\n minWidth: 150,\r\n },\r\n {\r\n title: '预售商品',\r\n key: 'title',\r\n minWidth: 300,\r\n },\r\n {\r\n title: '最低价',\r\n key: 'bargain_price_min',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '当前价',\r\n key: 'now_price',\r\n minWidth: 100,\r\n },\r\n {\r\n title: '总预售次数',\r\n key: 'people_num',\r\n minWidth: 100,\r\n },\r\n {\r\n title: '剩余预售次数',\r\n key: 'num',\r\n minWidth: 100,\r\n },\r\n {\r\n title: '结束时间',\r\n key: 'datatime',\r\n minWidth: 150,\r\n },\r\n {\r\n title: '状态',\r\n slot: 'status',\r\n minWidth: 100,\r\n },\r\n {\r\n title: '操作',\r\n slot: 'action',\r\n fixed: 'right',\r\n minWidth: 170,\r\n },\r\n ],\r\n tableList: [],\r\n total: 0,\r\n timeVal: [],\r\n loading2: false,\r\n tabList3: [],\r\n rows: {},\r\n };\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 created() {\r\n this.getList();\r\n },\r\n methods: {\r\n // 查看详情\r\n Info(row) {\r\n this.modals = true;\r\n this.rows = row;\r\n bargainUserInfoApi(row.id)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tabList3 = data.list;\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 onchangeTime(e) {\r\n this.timeVal = e || [];\r\n this.formValidate.data = this.timeVal[0] ? (this.timeVal ? this.timeVal.join('-') : '') : '';\r\n this.formValidate.page = 1;\r\n this.getList();\r\n },\r\n // 选择时间\r\n selectChange(tab) {\r\n this.formValidate.page = 1;\r\n this.formValidate.data = tab;\r\n this.timeVal = [];\r\n this.getList();\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n this.formValidate.status = this.formValidate.status || '';\r\n bargainUserListApi(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.tableList = 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 pageChange(index) {\r\n this.formValidate.page = index;\r\n this.getList();\r\n },\r\n // 表格搜索\r\n userSearchs() {\r\n this.formValidate.page = 1;\r\n this.getList();\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .ivu-tag-cyan .ivu-tag-text {\r\n color: #19be6b !important;\r\n}\r\n.ivu-tag-cyan {\r\n background: rgba(25, 190, 170, 0.1);\r\n border-color: #19be6b !important;\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 img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n</style>\r\n"]}]}
|