|
|
@@ -12,15 +12,15 @@
|
|
|
</div>
|
|
|
<el-form-item
|
|
|
label="名称"
|
|
|
- prop="keyWords1"
|
|
|
+ prop="ticketTypeName"
|
|
|
>
|
|
|
- <el-input v-model="form.keyWords1"></el-input>
|
|
|
+ <el-input v-model="form.ticketTypeName"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
label="类型"
|
|
|
- prop="keyWords2"
|
|
|
+ prop="category"
|
|
|
>
|
|
|
- <el-select v-model="form.keyWords2">
|
|
|
+ <el-select v-model="form.category">
|
|
|
<el-option
|
|
|
value=""
|
|
|
label="全部"
|
|
|
@@ -33,36 +33,11 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="票种归类标签"
|
|
|
- prop="keyWords12">
|
|
|
- <el-select
|
|
|
- v-model="form.keyWords12"
|
|
|
- clearable>
|
|
|
- <el-option-group
|
|
|
- v-for="group in ticketTagList"
|
|
|
- :key="group.name"
|
|
|
- :label="group.name">
|
|
|
- <el-option
|
|
|
- v-for="item in group.children"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-option-group>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="助记符"
|
|
|
- prop="keyWords3"
|
|
|
- >
|
|
|
- <el-input v-model="form.keyWords3"></el-input>
|
|
|
- </el-form-item>
|
|
|
<el-form-item
|
|
|
label="是否可售"
|
|
|
- prop="keyWords4"
|
|
|
+ prop="isSale"
|
|
|
>
|
|
|
- <el-select v-model="form.keyWords4">
|
|
|
+ <el-select v-model="form.isSale">
|
|
|
<el-option
|
|
|
label="全部"
|
|
|
value=""
|
|
|
@@ -77,43 +52,6 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="适用景点"
|
|
|
- prop="keyWords6"
|
|
|
- >
|
|
|
- <el-select v-model="form.keyWords6">
|
|
|
- <el-option
|
|
|
- value=""
|
|
|
- label="全部"
|
|
|
- ></el-option>
|
|
|
- <el-option
|
|
|
- v-for="item in scenicList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="价格区间"
|
|
|
- prop="keyWords7"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- style="width: 60px"
|
|
|
- v-model="form.keyWords7"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="至"
|
|
|
- label-width="30"
|
|
|
- prop="keyWords8"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- style="width: 60px"
|
|
|
- v-model="form.keyWords8"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
<div class="btn-wrap">
|
|
|
<el-button
|
|
|
@click="reset"
|
|
|
@@ -146,48 +84,9 @@
|
|
|
v-loading="loading"
|
|
|
:data="tableData"
|
|
|
>
|
|
|
- <el-table-column type="expand">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-form
|
|
|
- label-position="right"
|
|
|
- inline
|
|
|
- class="table-expand"
|
|
|
- label-width="120px"
|
|
|
- >
|
|
|
- <el-form-item label="创建人">
|
|
|
- <span>{{ scope.row.creator }}</span>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="创建时间">
|
|
|
- <span>{{ scope.row.create_time | formatTime }}</span>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <template v-if="scope.row.category===3">
|
|
|
- <el-form-item label="有效激活天数">
|
|
|
- <span>{{ scope.row.use_valid_days }} 天</span>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template v-else>
|
|
|
- <el-form-item label="是否二次入园">
|
|
|
- <span>{{ scope.row.check_second | yesOrNo }}</span>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="游玩天数">
|
|
|
- <span>{{ scope.row.use_valid_days }} 天</span>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="适用景点">
|
|
|
- {{ scope.row.scenics }}
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </el-form>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
<el-table-column
|
|
|
prop="name"
|
|
|
label="票种名称"
|
|
|
- width="100"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
@@ -201,102 +100,50 @@
|
|
|
width="80"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
- {{ scope.row.categoryObj.name }}
|
|
|
+ {{ getTicketCate(scope.row.category) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+
|
|
|
<el-table-column
|
|
|
- label="票种标签"
|
|
|
+ prop="price"
|
|
|
+ label="窗口价格"
|
|
|
width="80"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ scope.row.tag_name }}
|
|
|
- </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="member_type_name"
|
|
|
- label="会员类型"
|
|
|
- width="100"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="shorthand"
|
|
|
- label="助记符"
|
|
|
+ prop="onlinePrice"
|
|
|
+ label="线上价格"
|
|
|
width="80"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- prop="price"
|
|
|
- label="日常价"
|
|
|
- width="60"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ scope.row.price }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="售票日期"
|
|
|
- min-width="70"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ scope.row.sell_startdate | formatDate }} 至 {{ scope.row.sell_enddate | formatDate }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="游玩有效日期"
|
|
|
- min-width="70"
|
|
|
+ prop="highPrice"
|
|
|
+ label="虚拟高价"
|
|
|
+ width="80"
|
|
|
>
|
|
|
- <template
|
|
|
- slot-scope="scope"
|
|
|
- v-if="scope.row.category!==3">
|
|
|
- {{ scope.row.use_startdate | formatDate }} 至 {{ scope.row.use_enddate | formatDate }}
|
|
|
- </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- label="当日游玩时段"
|
|
|
- min-width="70"
|
|
|
- >
|
|
|
- <template
|
|
|
- slot-scope="scope"
|
|
|
- v-if="scope.row.category!==3">
|
|
|
- {{ scope.row.use_time_start }} 至 {{ scope.row.use_time_end }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- width="120"
|
|
|
- label="激活状态"
|
|
|
+ width="100"
|
|
|
+ label="在售状态"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
- <el-tag :type="scope.row.is_sell | runStopColor">
|
|
|
- {{ scope.row.is_sell ? '已激活' : '已禁用' }}
|
|
|
+ <el-tag :type="scope.row.isSale | runStopColor">
|
|
|
+ {{ scope.row.isSale ? '在售' : '禁售' }}
|
|
|
</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- width="120"
|
|
|
- label="激活操作"
|
|
|
- >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- :type="scope.row.is_sell?'danger':'success'"
|
|
|
- size="mini"
|
|
|
- @click="scope.row.is_sell?offSale(scope.row):onSale(scope.row)"
|
|
|
- >
|
|
|
- {{ scope.row.is_sell?'禁用':'激活' }}
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
width="180"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
- <el-link
|
|
|
+ <!-- <el-link
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
@click="$refs.priceCalendar.show(scope.row.id,ticketPricePlanList)"
|
|
|
>
|
|
|
价格方案
|
|
|
- </el-link>
|
|
|
+ </el-link> -->
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
@@ -357,11 +204,11 @@ import moment from 'moment'
|
|
|
import { getTicketTypeList, deleteTicket, getScenic, updateTicket, listInvoiceSales } from '@/api/ticketType'
|
|
|
import { getTicketPricePlanList } from '@/api/ticketPricePlan'
|
|
|
import { getTicketTypeTagList } from '@/api/ticketTypeTag'
|
|
|
-
|
|
|
import { getMemberType } from '@/api/member'
|
|
|
import ElDialog from '@/components/Dialog'
|
|
|
import TicketDialog from './ticket/Dialog'
|
|
|
import PriceCalendar from './ticket/PriceCalendar'
|
|
|
+import { TicketCategory } from './ticket/constant'
|
|
|
|
|
|
export default {
|
|
|
computed: {
|
|
|
@@ -372,18 +219,18 @@ export default {
|
|
|
data () {
|
|
|
return {
|
|
|
form: {
|
|
|
- keyWords1: '',
|
|
|
- keyWords2: '',
|
|
|
+ ticketTypeName: '',
|
|
|
+ category: '',
|
|
|
keyWords3: '',
|
|
|
- keyWords4: '',
|
|
|
+ isSale: '',
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
keyWords6: '',
|
|
|
keyWords7: '',
|
|
|
keyWords8: '',
|
|
|
- keyWords10: '1',
|
|
|
- // keyWords11: 1, // 只查看自己绑定景点的票种
|
|
|
- keyWords12: ''
|
|
|
+ ticketTypeName0: '1',
|
|
|
+ // ticketTypeName1: 1, // 只查看自己绑定景点的票种
|
|
|
+ ticketTypeName2: ''
|
|
|
|
|
|
},
|
|
|
loading: false,
|
|
|
@@ -403,10 +250,10 @@ export default {
|
|
|
created () {
|
|
|
this.getScenicList()
|
|
|
this.getTicketTypeList()
|
|
|
- this.getMemberList()
|
|
|
- this.getTicketTagList()
|
|
|
- this.getTicketPricePlanList()
|
|
|
- this.getInvoiceSeller()
|
|
|
+ // this.getMemberList()
|
|
|
+ // this.getTicketTagList()
|
|
|
+ // this.getTicketPricePlanList()
|
|
|
+ // this.getInvoiceSeller()
|
|
|
},
|
|
|
components: {
|
|
|
ElDialog,
|
|
|
@@ -414,6 +261,9 @@ export default {
|
|
|
PriceCalendar
|
|
|
},
|
|
|
methods: {
|
|
|
+ getTicketCate (cate) {
|
|
|
+ return TicketCategory[cate]
|
|
|
+ },
|
|
|
getInvoiceSeller () {
|
|
|
listInvoiceSales({}).then(res => {
|
|
|
this.InvoiceSeller = res?.data
|
|
|
@@ -432,7 +282,7 @@ export default {
|
|
|
// 获取景点列表
|
|
|
getScenicList () {
|
|
|
getScenic().then(res => {
|
|
|
- this.scenicList = res?.data.children.map(item => item.data)
|
|
|
+ this.scenicList = res?.data.records || []
|
|
|
})
|
|
|
},
|
|
|
showDialog (type, item) {
|
|
|
@@ -460,18 +310,18 @@ export default {
|
|
|
getTicketTypeList () {
|
|
|
this.loading = true
|
|
|
getTicketTypeList(this.form).then(res => {
|
|
|
- this.tableData = res.list.map(item => {
|
|
|
- item.scenics = item.ticketTypeScenic.map(s => s.scenic.name).join('、')
|
|
|
+ this.tableData = res.data.records.map(item => {
|
|
|
+ item.scenics = item.ticketTypeScenicList.map(s => s.scenicName).join('、')
|
|
|
return item
|
|
|
})
|
|
|
console.log('this.tableData', this.tableData)
|
|
|
- this.total = res.total
|
|
|
+ this.total = res.data.total || 0
|
|
|
}).finally(() => {
|
|
|
this.loading = false
|
|
|
})
|
|
|
|
|
|
// 更新全局票种列表
|
|
|
- this.$store.dispatch('getTicketTypeList')
|
|
|
+ // this.$store.dispatch('getTicketTypeList')
|
|
|
},
|
|
|
// 删除票种
|
|
|
deleteTicket (id) {
|