|
|
@@ -4,102 +4,103 @@
|
|
|
:class="{focusFlash:isFocus}">
|
|
|
<div
|
|
|
v-if="!isPeriodTicket"
|
|
|
- class="top-title">
|
|
|
- 游玩日期
|
|
|
- <div>
|
|
|
- <el-date-picker
|
|
|
- style="width:140px"
|
|
|
- :clearable="false"
|
|
|
- :picker-options="dateOption"
|
|
|
- v-model="playDate"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期时间"
|
|
|
- @change="handleDateChange"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
+ class="select-date">
|
|
|
+ <div class="top-title">
|
|
|
+ 游玩日期
|
|
|
</div>
|
|
|
+ <el-date-picker
|
|
|
+ :clearable="false"
|
|
|
+ :picker-options="dateOption"
|
|
|
+ v-model="playDate"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期时间"
|
|
|
+ @change="handleDateChange"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
</div>
|
|
|
- <div class="top-title">选择票种</div>
|
|
|
- <div
|
|
|
- class="search-wrap"
|
|
|
- slot="search">
|
|
|
- <el-input
|
|
|
- ref="quickSearch"
|
|
|
- id="quick-search"
|
|
|
- clearable
|
|
|
- class="search-input"
|
|
|
- placeholder="按F2 快速筛选"
|
|
|
- v-model="keyword">
|
|
|
- <i
|
|
|
- class="el-icon-search el-input__icon"
|
|
|
- slot="suffix">
|
|
|
- </i>
|
|
|
- </el-input>
|
|
|
+ <div class="select-ticket">
|
|
|
+ <div class="top-title">选择票种</div>
|
|
|
+ <div
|
|
|
+ class="search-wrap"
|
|
|
+ slot="search">
|
|
|
+ <el-input
|
|
|
+ ref="quickSearch"
|
|
|
+ id="quick-search"
|
|
|
+ clearable
|
|
|
+ class="search-input"
|
|
|
+ placeholder="按F2 快速筛选"
|
|
|
+ v-model="keyword">
|
|
|
+ <i
|
|
|
+ class="el-icon-search el-input__icon"
|
|
|
+ slot="suffix">
|
|
|
+ </i>
|
|
|
+ </el-input>
|
|
|
|
|
|
- <!-- <TagSelector v-model="selectedTag"></TagSelector> -->
|
|
|
- </div>
|
|
|
- <div
|
|
|
- :class="['list-wrap custom-scroll', category === 'batch' && 'list-wrap-batch']"
|
|
|
- v-loading="loading">
|
|
|
+ <!-- <TagSelector v-model="selectedTag"></TagSelector> -->
|
|
|
+ </div>
|
|
|
<div
|
|
|
- class="noData"
|
|
|
- v-if="!filterTableData.length">
|
|
|
- 暂无数据
|
|
|
+ :class="['list-wrap custom-scroll', category === 'batch' && 'list-wrap-batch']"
|
|
|
+ v-loading="loading">
|
|
|
+ <div
|
|
|
+ class="noData"
|
|
|
+ v-if="!filterTableData.length">
|
|
|
+ 暂无数据
|
|
|
+ </div>
|
|
|
+ <ul class="list-content">
|
|
|
+ <li
|
|
|
+ class="list-item"
|
|
|
+ :style="{padding:'15px 10px 15px 5px'}"
|
|
|
+ :class="{
|
|
|
+ active:currentTicket&¤tTicket.id===item.id,
|
|
|
+ active2:item.isTop && currentTicket &¤tTicket.id!==item.id,
|
|
|
+ disabled: item && item.isSale === 0
|
|
|
+ }"
|
|
|
+ v-for="(item, index) in filterTableData"
|
|
|
+ :key="index"
|
|
|
+ @click="changeTicket(item)"
|
|
|
+ @contextmenu.prevent="showTopBtn(item)">
|
|
|
+ <div class="badge" v-if="item && item.isSale === 0">
|
|
|
+ 停售
|
|
|
+ </div>
|
|
|
+ <h5 class="title">
|
|
|
+ <el-tooltip
|
|
|
+ :content="item.isTop ? '取消置顶' : '置顶'"
|
|
|
+ placement="top"
|
|
|
+ effect="dark">
|
|
|
+ <span
|
|
|
+ v-if="!item.isTop"
|
|
|
+ class="goTop"
|
|
|
+ @click.stop="setTop(item)"><i class="el-icon-upload2"></i></span>
|
|
|
+ <span
|
|
|
+ class="goTop"
|
|
|
+ v-else
|
|
|
+ @click.stop="cancelTop(item)"><i class="el-icon-download"></i></span>
|
|
|
+ </el-tooltip>
|
|
|
+ <el-tooltip
|
|
|
+ :content="getTicketTip(item)"
|
|
|
+ placement="top"
|
|
|
+ effect="dark">
|
|
|
+ <span @click.stop="showTicketInfo(item)">
|
|
|
+ {{ item.name }}
|
|
|
+ </span>
|
|
|
+ </el-tooltip>
|
|
|
+ </h5>
|
|
|
+ <i
|
|
|
+ class="top-sign"
|
|
|
+ v-if="item.isTop"></i>
|
|
|
+ <span
|
|
|
+ class="price"
|
|
|
+ v-if="item.price">
|
|
|
+ <b>{{ item.price }}</b> 元
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ class="price"
|
|
|
+ v-else>
|
|
|
+ 无今日价格
|
|
|
+ </span>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
</div>
|
|
|
- <ul class="list-content">
|
|
|
- <li
|
|
|
- class="list-item"
|
|
|
- :style="{padding:'15px 10px 15px 5px'}"
|
|
|
- :class="{
|
|
|
- active:currentTicket&¤tTicket.id===item.id,
|
|
|
- active2:item.isTop && currentTicket &¤tTicket.id!==item.id,
|
|
|
- disabled: item && item.isSale === 0
|
|
|
- }"
|
|
|
- v-for="(item, index) in filterTableData"
|
|
|
- :key="index"
|
|
|
- @click="changeTicket(item)"
|
|
|
- @contextmenu.prevent="showTopBtn(item)">
|
|
|
- <div class="badge" v-if="item && item.isSale === 0">
|
|
|
- 停售
|
|
|
- </div>
|
|
|
- <h5 class="title">
|
|
|
- <el-tooltip
|
|
|
- :content="item.isTop ? '取消置顶' : '置顶'"
|
|
|
- placement="top"
|
|
|
- effect="dark">
|
|
|
- <span
|
|
|
- v-if="!item.isTop"
|
|
|
- class="goTop"
|
|
|
- @click.stop="setTop(item)"><i class="el-icon-upload2"></i></span>
|
|
|
- <span
|
|
|
- class="goTop"
|
|
|
- v-else
|
|
|
- @click.stop="cancelTop(item)"><i class="el-icon-download"></i></span>
|
|
|
- </el-tooltip>
|
|
|
- <el-tooltip
|
|
|
- :content="getTicketTip(item)"
|
|
|
- placement="top"
|
|
|
- effect="dark">
|
|
|
- <span @click.stop="showTicketInfo(item)">
|
|
|
- {{ item.name }}
|
|
|
- </span>
|
|
|
- </el-tooltip>
|
|
|
- </h5>
|
|
|
- <i
|
|
|
- class="top-sign"
|
|
|
- v-if="item.isTop"></i>
|
|
|
- <span
|
|
|
- class="price"
|
|
|
- v-if="item.price">
|
|
|
- <b>{{ item.price }}</b> 元
|
|
|
- </span>
|
|
|
- <span
|
|
|
- class="price"
|
|
|
- v-else>
|
|
|
- 无今日价格
|
|
|
- </span>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
</div>
|
|
|
<div
|
|
|
v-if="category === 'batch'"
|
|
|
@@ -398,16 +399,11 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
handleBatchChange (row) {
|
|
|
- if (!row) {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- this.selectBatch = row
|
|
|
- this.$set(this.currentTicket, 'batchConfigId', row.id)
|
|
|
- this.$set(this.currentTicket, 'selectBatch', row)
|
|
|
console.log('当前选择的场次', row)
|
|
|
- this.$emit('update', this.currentTicket)
|
|
|
- this.$emit('input', this.currentTicket)
|
|
|
+ this.selectBatch = row
|
|
|
+
|
|
|
+ this.$emit('set-batch', row)
|
|
|
+ this.$refs.singleTable.setCurrentRow(row)
|
|
|
},
|
|
|
formatDate (input) {
|
|
|
return moment(input).format('YYYY-MM-DD')
|
|
|
@@ -481,30 +477,70 @@ export default {
|
|
|
color: #0075ff !important;
|
|
|
}
|
|
|
</style>
|
|
|
-
|
|
|
<style lang="scss" scoped>
|
|
|
.el-radio {
|
|
|
margin-right: 0;
|
|
|
}
|
|
|
+
|
|
|
.noData {
|
|
|
- padding: 10px; font-size: 14px; color: #666; text-align: center;
|
|
|
+ padding: 10px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
+ text-align: center;
|
|
|
}
|
|
|
+
|
|
|
.price b {
|
|
|
- color: red;
|
|
|
+ font-weight: 600;
|
|
|
}
|
|
|
+
|
|
|
.top-title {
|
|
|
- display: flex; padding: 10px 10px; font-size: 16px; line-height: 1.4;color: $blue; background: rgb(238, 238, 238); justify-content: space-between; align-items: center;
|
|
|
- .right-btn{
|
|
|
+ display: flex;
|
|
|
+ padding: 10px 10px;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 1.4;
|
|
|
+ color: #333;
|
|
|
+ background: #fff;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ font-weight: 600;
|
|
|
+
|
|
|
+ .right-btn {
|
|
|
display: flex;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.select-date {
|
|
|
+ margin-bottom: 10px;
|
|
|
+
|
|
|
+ .el-date-editor {
|
|
|
+ margin: 0 10px;
|
|
|
+ width: calc(100% - 20px);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.select-ticket {
|
|
|
+ .search-wrap {
|
|
|
+ padding-top: 10px !important;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
.mutipleTag {
|
|
|
- position: absolute;top: 0; left: 0; width: 0;height: 0;color: #fff; pointer-events: none;
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ color: #fff;
|
|
|
+ pointer-events: none;
|
|
|
|
|
|
-border: 14px solid rgb(255, 94, 0); border-right-color: transparent; border-bottom-color: transparent;
|
|
|
+ border: 14px solid rgb(255, 94, 0);
|
|
|
+ border-right-color: transparent;
|
|
|
+ border-bottom-color: transparent;
|
|
|
|
|
|
i {
|
|
|
- position: absolute; font-size: 12px; transform: translate(-12px,-12px);
|
|
|
+ position: absolute;
|
|
|
+ font-size: 12px;
|
|
|
+ transform: translate(-12px, -12px);
|
|
|
}
|
|
|
}
|
|
|
|