Преглед изворни кода

场次管理及调整售票页面样式

dct пре 1 месец
родитељ
комит
852371bf53

+ 72 - 53
src/pages/sellManage/common/TicketList.vue

@@ -5,19 +5,23 @@
     <div
       v-if="!isPeriodTicket"
       class="select-date">
-      <div class="top-title">
-        游玩日期
+      <div class="choose-date d-flex">
+        <div class="top-title">
+          游玩日期
+        </div>
+        <div class="date-list">
+          <el-button
+            v-for="(item,index) in quickDateList"
+            :key="index"
+            :type="playDate === item.value ? 'primary' : 'default'"
+            :class="{ active: item.value === playDate}"
+            @click="handleDateChange(item.value)">
+            {{ item.label }}
+          </el-button>
+        </div>
       </div>
-      <div class="date-list">
-        <el-button
-          v-for="(item,index) in quickDateList"
-          :key="index"
-          :type="playDate === item.value ? 'primary' : 'default'"
-          :class="{ active: item.value === playDate}"
-          @click="handleDateChange(item.value)">
-          {{ item.label }}
-        </el-button>
-        <div class="other-title">选择其他日期</div>
+      <div class="select-date d-flex" style="margin-left: 90px">
+        <div class="other-title">其他日期</div>
         <el-date-picker
           :clearable="false"
           :picker-options="dateOption"
@@ -30,19 +34,21 @@
       </div>
     </div>
     <div class="select-ticket">
-      <div class="top-title">选择票种</div>
-      <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="search-ticket d-flex align-center">
+        <div class="top-title">选择票种</div>
+        <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>
       <div
         :class="['ticket-list', category === 'batch' && 'list-batch']"
         v-loading="loading">
@@ -94,7 +100,7 @@
       v-if="category === 'batch'"
       class="select-batch">
       <div class="top-title">选择场次</div>
-      <div
+      <!-- <div
         class="noData"
         v-if="!batchList.length">
         暂无数据
@@ -123,8 +129,8 @@
             余票:{{ getLeftNums(item) }}
           </div>
         </div>
-      </div>
-      <!-- <el-table
+      </div> -->
+      <el-table
         ref="singleTable"
         max-height="200px"
         :data="batchList"
@@ -158,7 +164,7 @@
           width="70px"
         >
         </el-table-column>
-      </el-table> -->
+      </el-table>
     </div>
 
     <ElDialog
@@ -176,7 +182,6 @@ import moment from 'moment'
 import ElDialog from '@/components/Dialog'
 import TicketInfo from './TicketInfo'
 import { EventBus } from '@/utils/eventBus'
-import { cloneDeep } from 'lodash'
 // import TagSelector from './TagSelector.vue'
 
 export default {
@@ -265,23 +270,16 @@ export default {
       return this.$route.meta.category || 'ticket'
     },
     batchList () {
-      const { batchConfigList, batchList } = this.currentTicket || {}
-      if (!batchConfigList?.length || !batchList?.length) {
-        return []
-      }
-      return batchList.map(batch => {
-        const config = batchConfigList.find(item => item.id === batch.batchConfigId) || {}
-        return {
-          ...cloneDeep(batch),
-          ...cloneDeep(config)
-        }
-      })
+      return this.currentTicket?.batchConfigList || []
     },
     // 是否期票
     isPeriodTicket () {
       const category = this.$route.meta.category || 'ticket'
       const { useDateType } = this.currentTicket || {}
       return category === 'ticket' && useDateType === 2
+    },
+    ticketListMaxHeight () {
+      return this.this.category === 'batch' ? '300px' : '500px'
     }
   },
   watch: {
@@ -513,6 +511,12 @@ export default {
 </script>
 
 <style lang="scss">
+.d-flex {
+  display: flex;
+}
+.align-center {
+  align-items: center;
+}
 .el-table tr.current-row>td {
   background-color: #ccd5de !important;
   color: #0075ff !important;
@@ -563,8 +567,7 @@ export default {
   box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
 
   .select-date {
-    display: flex;
-    margin-bottom: 10px;
+    margin-bottom: 5px;
     align-items: center;
 
     .date-list {
@@ -587,30 +590,28 @@ export default {
   }
 
   .select-ticket {
-    display: flex;
     margin-bottom: 10px;
     align-items: center;
 
     .search-input {
-      width: 150px;
+      width: calc(100% - 120px);
     }
 
     .ticket-list {
-      display: flex;
-      width: calc(100% - 280px);
+      width: 100%;
 
       .list-content {
-        margin-left: 20px;
+        margin: 5px 10px;
         width: calc(100% - 20px);
-        overflow-x: auto;
-        display: flex;
+        max-height: 650px;
+        overflow-y: auto;
 
         .list-item {
           position: relative;
+          margin-bottom: 3px;
           flex-shrink: 0;
           width: auto;
           height: 32px;
-          line-height: 32px;
           display: flex;
           color: #333;
           cursor: pointer;
@@ -621,7 +622,19 @@ export default {
           align-items: center;
           border-radius: 6px;
           padding: 0 10px;
-          margin-right: 10px;
+
+          .title {
+            width: calc(100% - 80px);
+            margin-top: 4px;
+
+            span {
+              overflow: hidden;
+              white-space: nowrap;
+              text-overflow: ellipsis;
+              display: inline-block;
+              max-width: 100%;
+            }
+          }
 
           .price {
             margin-left: 10px;
@@ -683,11 +696,17 @@ export default {
         }
 
       }
+
+      &.list-batch {
+        .list-content {
+          max-height: 450px;
+        }
+      }
     }
   }
 
   .select-batch {
-    display: flex;
+    // display: flex;
     align-content: top;
 
     .list-content {

+ 31 - 27
src/pages/sellManage/retail.vue

@@ -1,33 +1,37 @@
 <template>
   <div class="sale-container">
-    <QuickType></QuickType>
-    <!-- 票种列表 -->
-    <TicketList
-      ref="ticketList"
-      style="margin-bottom:20px"
-      type-id="1"
-      v-model="currentTicket"
-      @update="handleUpdate"
-      @set-batch="setBatch"
-    ></TicketList>
+    <div style="display: flex; gap: 20px;">
+      <div style="width: 380px; flex-shrink: 0;margin-right: 20px;">
+        <QuickType></QuickType>
+        <!-- 票种列表 -->
+        <TicketList
+          ref="ticketList"
+          type-id="1"
+          v-model="currentTicket"
+          @update="handleUpdate"
+          @set-batch="setBatch"
+        ></TicketList>
+      </div>
+      <div style="flex: 1;">
+        <FormInfo
+          ref="formInfo"
+          style="margin-bottom:20px"
+          :current-ticket="currentTicket"
+          :current-batch="currentBatch"
+          :order-items="orderItems"></FormInfo>
 
-    <FormInfo
-      ref="formInfo"
-      style="margin-bottom:20px"
-      :current-ticket="currentTicket"
-      :current-batch="currentBatch"
-      :order-items="orderItems"></FormInfo>
-
-    <!-- 其他景点保持原样 -->
-    <OrderInfo
-      @clear="handleClear"
-      style="margin-bottom:20px"
-      ref="orderInfo"
-      :current-ticket="currentTicket"
-      v-model="orderItems"></OrderInfo>
-    <RecentOrder
-      ref="recentOrder"
-      style="margin-bottom:20px"></RecentOrder>
+        <!-- 其他景点保持原样 -->
+        <OrderInfo
+          @clear="handleClear"
+          style="margin-bottom:20px"
+          ref="orderInfo"
+          :current-ticket="currentTicket"
+          v-model="orderItems"></OrderInfo>
+        <RecentOrder
+          ref="recentOrder"
+          style="margin-bottom:20px"></RecentOrder>
+      </div>
+    </div>
   </div>
 </template>
 

+ 208 - 189
src/pages/ticketSetting/batch.vue

@@ -23,6 +23,25 @@
           end-placeholder="结束日期">
         </el-date-picker>
       </el-form-item>
+      <el-form-item
+        label="场次"
+        prop="curBatchConfigId"
+      >
+        <el-select
+          v-model="curBatchConfigId"
+          placeholder="请选择场次"
+          style="width: 200px;"
+          @change="switchBatchConfig"
+        >
+          <el-option
+            v-for="item in batchConfigList"
+            :key="item.batchConfigId"
+            :label="item.batchName"
+            :value="item.batchConfigId"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
       <div class="btn-wrap">
         <el-button
           @click="reset"
@@ -42,137 +61,121 @@
       <!-- <div class="block-title">
         现有票种
       </div> -->
+      <el-tag type="warning">-1表示为不限制</el-tag>
       <el-table
         border
         stripe
         v-loading="loading"
         :data="tableData"
+        style="margin-bottom: 20px;"
       >
         <el-table-column
-          prop="id"
-          label="票种ID"
-          width="80"
-        >
-        </el-table-column>
-        <el-table-column
-          prop="name"
-          label="票种名称"
-        >
-        </el-table-column>
-        <el-table-column
-          label="票种分类"
+          prop="batchName"
+          label="场次信息"
+          width="150"
+          fixed="left"
         >
           <template slot-scope="scope">
-            {{ getTicketCate(scope.row.category) }}
+            <div>
+              <span class="label" style="font-weight: bold">场次名称:</span>
+              <span class="value">{{ scope.row.batchName }}</span>
+            </div>
+            <div>
+              <span class="label" style="font-weight: bold">开始时间:</span>
+              <span class="value">{{ scope.row.startTime }}</span>
+            </div>
+            <div>
+              <span class="label" style="font-weight: bold">结束时间:</span>
+              <span class="value">{{ scope.row.endTime }}</span>
+            </div>
           </template>
         </el-table-column>
-
         <el-table-column
-          prop="price"
-          label="窗口价格"
-        >
-        </el-table-column>
-        <el-table-column
-          label="在售状态"
-        >
-          <template slot-scope="scope">
-            <el-switch
-              @change="handelStatusChange($event,scope.row)"
-              v-model="scope.row.isSale"
-              active-text="在售"
-              inactive-text="禁售"
-              :active-value="1"
-              :inactive-value="0">
-            </el-switch>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop="useDate"
-          label="使用日期"
+          v-for="date in dateColumns"
+          :key="date"
+          :label="date"
+          :prop="date"
+          min-width="120"
         >
           <template slot-scope="scope">
-            {{ scope.row.useDateStart }} - {{ scope.row.useDateEnd }}
+            <div style="font-size: 16px">
+              <span style="font-weight: bold">余量:</span>
+              <span style="color: green" title="剩余">{{ getDateLeftNum(date, scope.row) }}</span> / <span style="color: blue" title="总量">{{ getDateTotalNum(date, scope.row) }}</span>
+            </div>
+            <div style="display:flex; justify-content: space-between; margin-top: 5px;">
+              <i
+                class="el-icon-s-opportunity"
+                :title="getDateStatus(date, scope.row) === 1 ? '可售' : '停售'"
+                :style="{ color: getDateStatus(date, scope.row) === 1 ? 'green' : 'gray', fontSize: '16px' }"></i>
+              <i
+                class="el-icon-edit"
+                v-if="hasPermission('batch-manage-update')"
+                @click="editDate(date, scope.row)"></i>
+              <span v-else></span>
+            </div>
           </template>
         </el-table-column>
-        <el-table-column
-          prop="checkType"
-          label="核销凭证"
+      </el-table>
+    </div>
+    <!-- 票种弹框 -->
+    <el-dialog
+      title="编辑"
+      :visible.sync="dateItemDialogVisible"
+      width="80%"
+      :close-on-click-modal="false"
+      @close="dateItemDialogVisible = false">
+      <el-form
+        ref="dateItemForm"
+        :model="dateItem"
+        :rules="dateItemRules"
+        label-width="120px">
+        <el-form-item
+          label="场次名称"
+          prop="batchConfigName"
         >
-          <template slot-scope="scope">
-            {{ scope.row.checkType | checkTypeFilter }}
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop="checkRule"
-          label="核销规则"
+          <span>{{ dateItem.batchConfigName }}</span>
+        </el-form-item>
+        <el-form-item
+          label="场次日期"
+          prop="batchConfigName"
         >
-          <template slot-scope="scope">
-            {{ scope.row.checkRule | checkRuleFilter }}
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop="checkScenic"
-          label="核销景点"
+          <span>{{ dateItem.batchDate }}</span>
+        </el-form-item>
+        <el-form-item
+          label="最大售卖数量"
+          prop="maxSaleNums"
         >
-          <template slot-scope="scope">
-            {{ getScenicName(scope.row.ticketTypeScenicList) }}
-          </template>
-        </el-table-column>
-        <el-table-column
-          label="操作"
+          <el-input-number
+            v-model="dateItem.maxSaleNums"
+            placeholder="请输入"
+            :min="-1"
+          />
+        </el-form-item>
+        <el-form-item
+          label="售卖状态"
+          prop="status"
         >
-          <template slot-scope="scope">
-            <el-link
-              type="primary"
-              size="small"
-              @click="showDialog('edit', scope.row)"
-            >
-              编辑
-            </el-link>
-            <el-link
-              type="primary"
-              size="small"
-              @click="showDialog('priceCalendar', scope.row)"
-            >
-              价格日历
-            </el-link>
-            <br>
-            <el-link
-              type="primary"
-              size="small"
-              @click="showDialog('add', itemWithoutCategoryAndShorthand(scope.row))"
-            >
-              复制
-            </el-link>
-            <el-link
-              type="primary"
-              size="small"
-              @click="deleteTicket(scope.row.id)"
-            >
-              删除
-            </el-link>
-          </template>
-        </el-table-column>
-      </el-table>
-    </div>
-    <!-- 票种弹框 -->
-    <TicketDialog
-      ref="ticketDialogRef"
-      :dialog-type="dialogType"
-      :ticket-item="curItem"
-      :scenic-list="scenicList"
-      :ticket-tag-list="ticketTagList"
-      :member-type-list="memberTypeList"
-      :invoice-seller="InvoiceSeller"
-      @updateList="getTicketTypeList"
-    ></TicketDialog>
+          <el-switch
+            v-model="dateItem.status"
+            :active-value="1"
+            :inactive-value="0"
+          />
+        </el-form-item>
+      </el-form>
+      <div
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button @click="dateItemDialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="handleDateItemSubmit">确 定</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import moment from 'moment'
 import { getBatchList, updateBatch } from '@/api/batch'
-import TicketDialog from './ticket/Dialog'
 import { TicketCategory } from './ticket/constant'
 import { cloneDeep } from '@/utils'
 
@@ -211,11 +214,6 @@ const getCheckRuleName = (rule) => {
 }
 
 export default {
-  computed: {
-    ticketCategory () {
-      return this.$store.state.app.ticketCategory
-    }
-  },
   data () {
     return {
       form: {
@@ -233,7 +231,38 @@ export default {
       scenicList: [],
       ticketTagList: [],
       ticketPricePlanList: [],
-      InvoiceSeller: []
+      InvoiceSeller: [],
+      batchConfigList: [],
+      curBatchConfigId: '',
+      dateItemDialogVisible: false,
+      dateItem: {
+        batchConfigId: '',
+        batchDate: '',
+        batchConfigName: '',
+        status: 1,
+        maxSaleNums: 0
+      }
+    }
+  },
+  computed: {
+    ticketCategory () {
+      return this.$store.state.app.ticketCategory
+    },
+    permissionList () {
+      return this.$store.state.user.menuList || []
+    },
+    dateColumns () {
+      const { batchDateStart, batchDateEnd } = this.form
+
+      const start = moment(batchDateStart)
+      const end = moment(batchDateEnd)
+      const dates = []
+
+      while (start.isSameOrBefore(end)) {
+        dates.push(start.format('YYYY-MM-DD'))
+        start.add(1, 'days')
+      }
+      return dates
     }
   },
   filters: {
@@ -264,9 +293,6 @@ export default {
   created () {
     this.getBatchList()
   },
-  components: {
-    TicketDialog
-  },
   methods: {
     getScenicName (scenicList) {
       if (!scenicList || scenicList.length === 0) return ''
@@ -285,6 +311,63 @@ export default {
       this.$refs.ticketDialogRef.show(item, type)
       this.dialogVisible = true
     },
+    hasPermission (key) {
+      return !!this.permissionList.some(item => item.code === key)
+    },
+    editDate (date, item) {
+      this.dateItem = {
+        batchConfigId: item.batchConfigId,
+        batchDate: date,
+        batchConfigName: item.batchName,
+        status: this.getDateStatus(date, item),
+        maxSaleNums: this.getMaxSaleNum(date, item)
+      }
+      this.dateItemDialogVisible = true
+    },
+    handleDateItemSubmit () {
+      updateBatch({
+        batchConfigId: this.dateItem.batchConfigId,
+        batchDate: this.dateItem.batchDate,
+        status: this.dateItem.status,
+        maxSaleNums: this.dateItem.maxSaleNums
+      }).then((res) => {
+        if (res.code === '200') {
+          this.$message.success('保存成功')
+          this.getBatchList()
+          this.dateItemDialogVisible = false
+        } else {
+          this.$message.error(res.msg || '保存失败')
+        }
+      })
+    },
+    getDateLeftNum (date, item) {
+      const dateObj = item.batchResponseList.find(d => d.batchDate === date)
+      if (dateObj) {
+        return dateObj.leftNums
+      }
+      return '-'
+    },
+    getDateTotalNum (date, item) {
+      const dateObj = item.batchResponseList.find(d => d.batchDate === date)
+      if (dateObj) {
+        return dateObj.leftNums
+      }
+      return '-'
+    },
+    getMaxSaleNum (date, item) {
+      const dateObj = item.batchResponseList.find(d => d.batchDate === date)
+      if (dateObj) {
+        return dateObj.maxSaleNums
+      }
+      return '-'
+    },
+    getDateStatus (date, item) {
+      const dateObj = item.batchResponseList.find(d => d.batchDate === date)
+      if (dateObj) {
+        return dateObj.status
+      }
+      return 0
+    },
     // '创建票种失败,名称或助记符重复' 复制时去掉名称和助记符,待复制时用户填入
     itemWithoutCategoryAndShorthand (item) {
       const copyItem = cloneDeep(item)
@@ -292,10 +375,19 @@ export default {
       copyItem.id = ''
       return copyItem
     },
+    switchBatchConfig (value) {
+      const selectedBatch = this.batchConfigList.find(batch => batch.batchConfigId === value)
+
+      if (selectedBatch) {
+        this.tableData = [selectedBatch]
+      }
+    },
     getBatchList () {
+      this.form.batchDateStart = moment(this.form.createTime[0]).format('YYYY-MM-DD')
+      this.form.batchDateEnd = moment(this.form.createTime[1]).format('YYYY-MM-DD')
       getBatchList(this.form).then(res => {
-        this.tableData = res.data.records || []
-        this.total = res.data.total
+        this.batchConfigList = res.data || []
+        this.tableData = this.batchConfigList
       })
     },
     handleSizeChange (size) {
@@ -305,79 +397,6 @@ export default {
     // 获取票种列表
     handleClose () {
       this.dialogVisible = false
-    },
-    handelStatusChange (value, ticket) {
-      const currentTicket = cloneDeep(ticket)
-      currentTicket.ticketTypeSourceList = ticket.ticketTypeSourceList || ticket.source || []
-
-      if (!currentTicket.ticketTypeSourceList) {
-        currentTicket.ticketTypeSourceList = []
-      }
-
-      if (!currentTicket.ticketTypeScenicList) {
-        currentTicket.ticketTypeScenicList = []
-      }
-
-      if (!currentTicket.singleScenicList) {
-        currentTicket.singleScenicList = []
-      }
-
-      if (!currentTicket.groupScenicList) {
-        currentTicket.groupScenicList = []
-      }
-
-      if (!currentTicket.batchConfigList) {
-        currentTicket.batchConfigList = []
-      }
-
-      let groupFlag = ''
-      let groupIndex = 0
-      currentTicket.ticketTypeScenicList.forEach(item => {
-        if (!item.groupFlag) {
-          currentTicket.singleScenicList.push({
-            scenicId: item.scenicId,
-            checkLimitTimes: item.checkLimitTimes,
-            singleDayLimitTimes: item.singleDayLimitTimes
-          })
-        } else {
-          if (groupFlag !== item.groupFlag) {
-            groupFlag = item.groupFlag
-            groupIndex += 1
-            currentTicket.groupScenicList.push({
-              scenicId: [item.scenicId],
-              checkLimitTimes: item.checkLimitTimes,
-              scenicLimitTimes: item.scenicLimitTimes,
-              singleDayLimitTimes: item.singleDayLimitTimes
-            })
-          } else {
-            currentTicket.groupScenicList[groupIndex - 1].scenicId.push(item.scenicId)
-          }
-        }
-      })
-      const gsList = []
-      const { groupScenicList } = currentTicket
-
-      for (let i = 0; i < groupScenicList.length; i++) {
-        const item = groupScenicList[i]
-        const sList = item.scenicId.map(scenicId => {
-          return {
-            scenicId,
-            checkLimitTimes: item.checkLimitTimes,
-            singleDayLimitTimes: item.singleDayLimitTimes || -1,
-            scenicLimitTimes: item.scenicLimitTimes || -1
-          }
-        })
-        gsList.push(sList)
-      }
-      currentTicket.groupScenicList = gsList
-      currentTicket.isSale = value
-
-      updateTicket(currentTicket).then(res => {
-        if (res.code === '200') {
-          this.$message.success('操作成功')
-          this.getTicketTypeList()
-        }
-      })
     }
   }
 }

+ 3 - 0
src/pages/ticketSetting/batchConfig/Dialog.vue

@@ -246,6 +246,9 @@ export default {
   },
   methods: {
     show (data, type) {
+      // 获取所有票种列表
+      this.$store.dispatch('getTicketTypeList')
+
       this.type = type
       this.title = type === 'edit' ? '编辑场次' : '新增场次'
       this.visible = true

+ 58 - 51
src/pages/ticketSetting/ticket/Dialog.vue

@@ -537,19 +537,19 @@
             </el-radio>
           </el-form-item>
 
-          <template v-if="form.category === 'batch'">
+          <template v-if="form.category === 'batch' && dialogType !== 'add'">
             <div class="block-title">
               时间场次
             </div>
             <div>
               <div class="btn-wrap-left">
-                <el-button
+                <!-- <el-button
                   plain
                   class="add-btn"
                   type="primary"
                   @click="handleAddBachConfig">
                   增加
-                </el-button>
+                </el-button> -->
               </div>
               <div class="table-box">
                 <el-tag type="warning">场次时间默认不限制为-1</el-tag>
@@ -558,16 +558,18 @@
                   stripe
                   :data="form.batchConfigList">
                   <el-table-column
-                    label="场次名称">
-                    <template slot-scope="scope">
+                    label="场次名称"
+                    prop="name">
+                    <!-- <template slot-scope="scope">
                       <el-input
                         v-model="scope.row.name"
                         style="width: 95%"></el-input>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
-                    label="开始时间">
-                    <template slot-scope="scope">
+                    label="开始时间"
+                    prop="startTime">
+                    <!-- <template slot-scope="scope">
                       <el-time-picker
                         arrow-control
                         style="width: 95%"
@@ -576,11 +578,12 @@
                         value-format="HH:mm:ss"
                         placeholder="开始时间">
                       </el-time-picker>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
-                    label="结束时间">
-                    <template slot-scope="scope">
+                    label="结束时间"
+                    prop="endTime">
+                    <!-- <template slot-scope="scope">
                       <el-time-picker
                         arrow-control
                         v-model="scope.row.endTime"
@@ -589,11 +592,12 @@
                         value-format="HH:mm:ss"
                         placeholder="结束时间">
                       </el-time-picker>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
-                    label="开场后X分钟停止售票">
-                    <template slot-scope="scope">
+                    label="开场后X分钟停止售票"
+                    prop="saleStopMinutes">
+                    <!-- <template slot-scope="scope">
                       <el-input-number
                         controls-position="right"
                         style="width: 95%"
@@ -601,12 +605,13 @@
                         :precision="0"
                         v-model="scope.row.saleStopMinutes"
                       ></el-input-number>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
                     label="开场前X分钟停止退票"
+                    prop="cancelStopBeforeStartMinutes"
                     min-width="90">
-                    <template slot-scope="scope">
+                    <!-- <template slot-scope="scope">
                       <el-input-number
                         controls-position="right"
                         style="width: 95%"
@@ -614,12 +619,13 @@
                         :precision="0"
                         v-model="scope.row.cancelStopBeforeStartMinutes"
                       ></el-input-number>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
                     label="开场后X分钟停止退票"
+                    prop="cancelStopAfterStartMinutes"
                     min-width="90">
-                    <template slot-scope="scope">
+                    <!-- <template slot-scope="scope">
                       <el-input-number
                         controls-position="right"
                         style="width: 95%"
@@ -627,12 +633,13 @@
                         :precision="0"
                         v-model="scope.row.cancelStopAfterStartMinutes"
                       ></el-input-number>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
                     label="开场前X分钟允许检票入场"
+                    prop="preCheckMinutes"
                     min-width="90">
-                    <template slot-scope="scope">
+                    <!-- <template slot-scope="scope">
                       <el-input-number
                         controls-position="right"
                         style="width: 95%"
@@ -640,12 +647,13 @@
                         :precision="0"
                         v-model="scope.row.preCheckMinutes"
                       ></el-input-number>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
                     label="开场后X分钟停止检票"
+                    prop="stopCheckMinutes"
                     min-width="90">
-                    <template slot-scope="scope">
+                    <!-- <template slot-scope="scope">
                       <el-input-number
                         controls-position="right"
                         style="width: 95%"
@@ -653,12 +661,13 @@
                         :precision="0"
                         v-model="scope.row.stopCheckMinutes"
                       ></el-input-number>
-                    </template>
+                    </template> -->
                   </el-table-column>
                   <el-table-column
                     label="无座位时的最大数量"
+                    prop="maxSaleNums"
                     min-width="90">
-                    <template slot-scope="scope">
+                    <!-- <template slot-scope="scope">
                       <el-input-number
                         controls-position="right"
                         style="width: 95%"
@@ -666,9 +675,9 @@
                         :precision="0"
                         v-model="scope.row.maxSaleNums"
                       ></el-input-number>
-                    </template>
+                    </template> -->
                   </el-table-column>
-                  <el-table-column
+                  <!-- <el-table-column
                     width="110"
                     class-name="align-item"
                     label="操作">
@@ -680,7 +689,7 @@
                         删除
                       </span>
                     </template>
-                  </el-table-column>
+                  </el-table-column> -->
                 </el-table>
               </div>
             </div>
@@ -1314,9 +1323,7 @@ export default {
           useDateEnd,
           isSaleDateLimit,
           saleDateStart,
-          saleDateEnd,
-          category,
-          batchConfigList
+          saleDateEnd
         } = this.form
 
         if (valid) {
@@ -1350,27 +1357,27 @@ export default {
             return
           }
 
-          if (category === 'batch') {
-            if (batchConfigList.length === 0) {
-              this.$message.error('请添加场次时间')
-              return
-            }
-
-            if (batchConfigList.some(item => !item.name)) {
-              this.$message.error('场次名称不能为空')
-              return
-            }
-
-            if (batchConfigList.some(item => !item.startTime)) {
-              this.$message.error('场次开始时间不能为空')
-              return
-            }
-
-            if (batchConfigList.some(item => !item.endTime)) {
-              this.$message.error('场次结束时间不能为空')
-              return
-            }
-          }
+          // if (category === 'batch') {
+          //   if (batchConfigList.length === 0) {
+          //     this.$message.error('请添加场次时间')
+          //     return
+          //   }
+
+          //   if (batchConfigList.some(item => !item.name)) {
+          //     this.$message.error('场次名称不能为空')
+          //     return
+          //   }
+
+          //   if (batchConfigList.some(item => !item.startTime)) {
+          //     this.$message.error('场次开始时间不能为空')
+          //     return
+          //   }
+
+          //   if (batchConfigList.some(item => !item.endTime)) {
+          //     this.$message.error('场次结束时间不能为空')
+          //     return
+          //   }
+          // }
 
           if (!this.isScenicValid()) {
             return