|  | @@ -11,119 +11,165 @@
 | 
	
		
			
				|  |  |    <el-dialog
 | 
	
		
			
				|  |  |      title="订单详情"
 | 
	
		
			
				|  |  |      :visible.sync="open"
 | 
	
		
			
				|  |  | -    width="800px"
 | 
	
		
			
				|  |  | +    width="96%"
 | 
	
		
			
				|  |  |      append-to-body
 | 
	
		
			
				|  |  |      :close-on-click-modal="false"
 | 
	
		
			
				|  |  |      @close="cancel"
 | 
	
		
			
				|  |  |    >
 | 
	
		
			
				|  |  | -    <div class="dialog" v-if="form">
 | 
	
		
			
				|  |  | -      <!--   基础信息   -->
 | 
	
		
			
				|  |  | -      <div class="title-class" style="margin-top: 0">基础信息</div>
 | 
	
		
			
				|  |  | -      <el-row>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">团队名称: <span>{{ form.teamName || ''}}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">团队类型: <span><dict-tag style="display: inline-block" :options="dict.type.team_type" :value="form.teamType"/></span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">预约场馆: <span>{{ form.theatreName || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">预约演出厅: <span>{{ form.auditoriumName || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">预约剧目: <span>{{ form.performName || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">票务名称: <span>{{ form.goodsName || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">座位类型: <span>{{ form.seatTypeName || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">团购单价: <span v-if="form.price">¥{{ form.price || '' }}/人</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">预约时间: <span v-if="form.performDate">{{ form.performDate + "  " || '' }}{{ form.performTimeStart +'  --'  || '' }}{{ form.performTimeEnd || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">报名时间: <span>{{ form.applyTime || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">负责人: <span>{{ form.teamContact || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">联系电话: <span>{{ form.teamMobile || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <!-- <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">支付总额: <span>¥{{ form.orderPrice || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col> -->
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">应付金额: <span>¥{{ form.orderPrice || form.orderPrice == 0 ? form.orderPrice : '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">实付金额: <span>¥{{ form.realPrice || form.realPrice == 0 ? form.realPrice : '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">团购人数: <span>{{ form.quantity || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">支付时间: <span>{{ form.payTime || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">支付方式: <span>{{ payWayList[form.payWay] || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class">订单状态: <span>{{ statusList[form.status] || '' }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <el-col :span="12">
 | 
	
		
			
				|  |  | -          <div class="grid-content bg-purple item-class" style="display: flex;">是否成功开票: <span style="display: block;margin-left: 5px;">{{ form.ifSuccessInvoice=='1'?'是':'否'  }}</span></div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -      </el-row>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      <!-- 对公支付信息 -->
 | 
	
		
			
				|  |  | -      <div v-if="form.payWay=='corporate'&&form.status>0&&form.corporate">
 | 
	
		
			
				|  |  | -        <div class="title-class">对公支付信息</div>
 | 
	
		
			
				|  |  | -          <el-row>
 | 
	
		
			
				|  |  | -            <el-col :span="24">
 | 
	
		
			
				|  |  | -              <div class="voucher-list">
 | 
	
		
			
				|  |  | -                <el-image 
 | 
	
		
			
				|  |  | -                  v-for="(item,index) in voucherUrl" :key="index"
 | 
	
		
			
				|  |  | -                  style="width: 100px; height: 100px"
 | 
	
		
			
				|  |  | -                  :src="item" 
 | 
	
		
			
				|  |  | -                  :preview-src-list="voucherUrl">
 | 
	
		
			
				|  |  | -                </el-image>
 | 
	
		
			
				|  |  | +    <div v-loading="loading" class="dialog dialog-bbb" v-if="form">
 | 
	
		
			
				|  |  | +      <div>
 | 
	
		
			
				|  |  | +        <!--   基础信息   -->
 | 
	
		
			
				|  |  | +        <div class="title-class" style="margin-top: 0">基础信息</div>
 | 
	
		
			
				|  |  | +        <el-row>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">团队名称: <span>{{ form.teamName || ''}}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">团队类型: <span><dict-tag style="display: inline-block" :options="dict.type.team_type" :value="form.teamType"/></span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">预约场馆: <span>{{ form.theatreName || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">预约演出厅: <span>{{ form.auditoriumName || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">预约剧目: <span>{{ form.performName || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">票务名称: <span>{{ form.goodsName || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">座位类型: <span>{{ form.seatTypeName || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">团购单价: <span v-if="form.price">¥{{ form.price || '' }}/人</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">预约时间: <span v-if="form.performDate">{{ form.performDate + "  " || '' }}{{ form.performTimeStart +'  --'  || '' }}{{ form.performTimeEnd || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">报名时间: <span>{{ form.applyTime || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">负责人: <span>{{ form.teamContact || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">联系电话: <span>{{ form.teamMobile || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <!-- <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">支付总额: <span>¥{{ form.orderPrice || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col> -->
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">应付金额: <span>¥{{ form.orderPrice || form.orderPrice == 0 ? form.orderPrice : '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">实付金额: <span>¥{{ form.realPrice || form.realPrice == 0 ? form.realPrice : '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">团购人数: <span>{{ form.quantity || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">支付时间: <span>{{ form.payTime || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">支付方式: <span>{{ payWayList[form.payWay] || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class">订单状态: <span>{{ statusList[form.status] || '' }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <div class="grid-content bg-purple item-class" style="display: flex;">是否成功开票: <span style="display: block;margin-left: 5px;">{{ form.ifSuccessInvoice=='1'?'是':'否'  }}</span></div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +        </el-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!-- 对公支付信息 -->
 | 
	
		
			
				|  |  | +        <div v-if="form.payWay=='corporate'&&form.status>0&&form.corporate">
 | 
	
		
			
				|  |  | +          <div class="title-class">对公支付信息</div>
 | 
	
		
			
				|  |  | +            <el-row>
 | 
	
		
			
				|  |  | +              <el-col :span="24">
 | 
	
		
			
				|  |  | +                <div class="voucher-list">
 | 
	
		
			
				|  |  | +                  <el-image 
 | 
	
		
			
				|  |  | +                    v-for="(item,index) in voucherUrl" :key="index"
 | 
	
		
			
				|  |  | +                    style="width: 100px; height: 100px"
 | 
	
		
			
				|  |  | +                    :src="item" 
 | 
	
		
			
				|  |  | +                    :preview-src-list="voucherUrl">
 | 
	
		
			
				|  |  | +                  </el-image>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +              <el-col class="pay-type-remark" :span="24">
 | 
	
		
			
				|  |  | +                对公支付备注:{{corporateRremark}}
 | 
	
		
			
				|  |  | +              </el-col>
 | 
	
		
			
				|  |  | +            </el-row>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!--   观影人员信息   -->
 | 
	
		
			
				|  |  | +        <div class="title-class">观影人员信息</div>
 | 
	
		
			
				|  |  | +        <el-row>
 | 
	
		
			
				|  |  | +          <el-col :span="24">
 | 
	
		
			
				|  |  | +            <el-table ref="tables" :data="form.viewersOrderList" border>
 | 
	
		
			
				|  |  | +              <el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
 | 
	
		
			
				|  |  | +              <el-table-column label="姓名" align="center" prop="name" />
 | 
	
		
			
				|  |  | +              <el-table-column label="身份证号码" align="center" prop="idCard" />
 | 
	
		
			
				|  |  | +              <el-table-column label="核销状态" align="center">
 | 
	
		
			
				|  |  | +                <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                  <dict-tag :options="dict.type.order_status_type" :value="scope.row.status"/>
 | 
	
		
			
				|  |  | +                  <!-- <el-tag v-if="scope.row.qrcodeStatus == 0">未使用</el-tag>
 | 
	
		
			
				|  |  | +                  <el-tag v-if="scope.row.qrcodeStatus == 1" type="success">已使用</el-tag>
 | 
	
		
			
				|  |  | +                  <el-tag v-if="scope.row.qrcodeStatus == 2" type="info">过期</el-tag> -->
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  | +              </el-table-column>
 | 
	
		
			
				|  |  | +              <el-table-column label="核销时间" align="center" prop="useTime" />
 | 
	
		
			
				|  |  | +              <el-table-column label="座位信息" align="center" prop="seatName" />
 | 
	
		
			
				|  |  | +              <el-table-column label="座位类型" align="center" prop="seatTypeName" />
 | 
	
		
			
				|  |  | +            </el-table>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +        </el-row>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +      <div class="dialog-bbb_2">
 | 
	
		
			
				|  |  | +        <div class="seat-tool-box">
 | 
	
		
			
				|  |  | +          <span class="demonstration">座位大小</span>
 | 
	
		
			
				|  |  | +          <div class="seat-tool-box-slider">
 | 
	
		
			
				|  |  | +            <el-slider v-model="scaleNum" :min="30" :max="100"></el-slider>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +          <div style="display: flex;margin-left: 20px;" v-if="seatMapList && JSON.stringify(seatMapList) != '{}'">
 | 
	
		
			
				|  |  | +            <div>座位余量:</div>
 | 
	
		
			
				|  |  | +            <div :key="index" v-for="(item, index) in seatTypeList" style="margin-left: 10px;align-items: center;">
 | 
	
		
			
				|  |  | +              <span :style="{ color: item.color ? item.color : 'none' }">{{ item.name ? (item.name + '(剩余:' + (item.num || 0) + ')')
 | 
	
		
			
				|  |  | +                :
 | 
	
		
			
				|  |  | +                '暂未命名'}}</span>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div class="seat-box" :style="{ '--scaleNum': scaleNum / 100 }">
 | 
	
		
			
				|  |  | +          <!-- 选择座位  -->
 | 
	
		
			
				|  |  | +          <div class="seat-list-box">
 | 
	
		
			
				|  |  | +            <!--  座位排版  -->
 | 
	
		
			
				|  |  | +            <div id="seatbox-me" ref="seatbox" class="dialogss">
 | 
	
		
			
				|  |  | +              <div class="dialogss-box"
 | 
	
		
			
				|  |  | +                :style="{ width: width * (scaleNum / 100) + 'px', margin: justifyContent ? 'auto' : 'unset' }">
 | 
	
		
			
				|  |  | +                <div style="width: 100%;position: absolute;" class="seat-box-class clearfix" v-if="seatMapList">
 | 
	
		
			
				|  |  | +                  <div class="seat-item-class-box" v-for="(item1, index1) in seatMapListKey" :key="item1.key">
 | 
	
		
			
				|  |  | +                    <div class="seat-item-class"
 | 
	
		
			
				|  |  | +                      :class="setSeatClass(item)"
 | 
	
		
			
				|  |  | +                      v-for="(item, index) in seatMapList[item1.key]"
 | 
	
		
			
				|  |  | +                      :style="{ backgroundColor: item.color ? item.color : 'none' }" @click.stop="seatClick(item)"
 | 
	
		
			
				|  |  | +                      :key="index">
 | 
	
		
			
				|  |  | +                      <p class="text-class">{{ item.status != 1 ? '不可售' : (item.name ? item.name : '暂未命名') }}</p>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  |                </div>
 | 
	
		
			
				|  |  | -            </el-col>
 | 
	
		
			
				|  |  | -            <el-col class="pay-type-remark" :span="24">
 | 
	
		
			
				|  |  | -              对公支付备注:{{corporateRremark}}
 | 
	
		
			
				|  |  | -            </el-col>
 | 
	
		
			
				|  |  | -          </el-row>
 | 
	
		
			
				|  |  | -       </div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      <!--   观影人员信息   -->
 | 
	
		
			
				|  |  | -      <div class="title-class">观影人员信息</div>
 | 
	
		
			
				|  |  | -      <el-row>
 | 
	
		
			
				|  |  | -        <el-col :span="24">
 | 
	
		
			
				|  |  | -          <el-table ref="tables" :data="form.viewersOrderList" border>
 | 
	
		
			
				|  |  | -            <el-table-column label="序号" align="center" type="index" width="60"></el-table-column>
 | 
	
		
			
				|  |  | -            <el-table-column label="姓名" align="center" prop="name" />
 | 
	
		
			
				|  |  | -            <el-table-column label="身份证号码" align="center" prop="idCard" />
 | 
	
		
			
				|  |  | -            <el-table-column label="核销状态" align="center">
 | 
	
		
			
				|  |  | -              <template slot-scope="scope">
 | 
	
		
			
				|  |  | -                <dict-tag :options="dict.type.order_status_type" :value="scope.row.status"/>
 | 
	
		
			
				|  |  | -                <!-- <el-tag v-if="scope.row.qrcodeStatus == 0">未使用</el-tag>
 | 
	
		
			
				|  |  | -                <el-tag v-if="scope.row.qrcodeStatus == 1" type="success">已使用</el-tag>
 | 
	
		
			
				|  |  | -                <el-tag v-if="scope.row.qrcodeStatus == 2" type="info">过期</el-tag> -->
 | 
	
		
			
				|  |  | -              </template>
 | 
	
		
			
				|  |  | -            </el-table-column>
 | 
	
		
			
				|  |  | -            <el-table-column label="核销时间" align="center" prop="useTime" />
 | 
	
		
			
				|  |  | -            <el-table-column label="座位信息" align="center" prop="seatName" />
 | 
	
		
			
				|  |  | -          </el-table>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -      </el-row>
 | 
	
		
			
				|  |  | -       
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div style="margin-top: 5px; margin-left: 30px;display: flex;">
 | 
	
		
			
				|  |  | +              <div style="flex-shrink: 0;">
 | 
	
		
			
				|  |  | +                已勾选:{{ seatSelectList.length }}个座位
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -136,6 +182,8 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  |  import { getSelectById } from '@/api/order/groupBuyingMr'
 | 
	
		
			
				|  |  | +import { querySeatList } from '@/api/team/applicationMr'
 | 
	
		
			
				|  |  | +import { pageList as getSeatType } from '@/api/seatTypeMr/seatTypeMr'
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "detailsDia",
 | 
	
		
			
				|  |  |    props: {
 | 
	
	
		
			
				|  | @@ -191,9 +239,33 @@ export default {
 | 
	
		
			
				|  |  |          5: '团购',
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        dataList: [],
 | 
	
		
			
				|  |  | -      voucherUrl:[]
 | 
	
		
			
				|  |  | +      voucherUrl:[],
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      merchantTheatreAuditoriumListS: [], // 演出厅
 | 
	
		
			
				|  |  | +      merchantPerformTimeListS: [], // 场次
 | 
	
		
			
				|  |  | +      querySeatListS: [], // 座位
 | 
	
		
			
				|  |  | +      goodsPageListS: [], // 票务
 | 
	
		
			
				|  |  | +      goodsPageListSAll: [], // 票务全部
 | 
	
		
			
				|  |  | +      setList: [],
 | 
	
		
			
				|  |  | +      seatMapList: {},
 | 
	
		
			
				|  |  | +      seatMapListKey: [], // key
 | 
	
		
			
				|  |  | +      seatSelectList: [],
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      lockOrUnLockLoading: false,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      performId: '',// 剧目ID
 | 
	
		
			
				|  |  | +      scaleNum: 30,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      width: 0,
 | 
	
		
			
				|  |  | +      justifyContent: false,
 | 
	
		
			
				|  |  | +      activeName: 'first',
 | 
	
		
			
				|  |  | +      seatTypeList: [],
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.getSeatTypeList()
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 打开弹框
 | 
	
	
		
			
				|  | @@ -206,15 +278,31 @@ export default {
 | 
	
		
			
				|  |  |        this.getSelectByIdApi(obj);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      /** 获取详情 */
 | 
	
		
			
				|  |  | -    getSelectByIdApi(row) {
 | 
	
		
			
				|  |  | -      const id = row.id
 | 
	
		
			
				|  |  | -      getSelectById(id).then(response => {
 | 
	
		
			
				|  |  | -        this.form = response.data;
 | 
	
		
			
				|  |  | -        if(response.data.corporate){
 | 
	
		
			
				|  |  | -          this.voucherUrl = response.data.corporate.voucherUrl.split(',')||[];
 | 
	
		
			
				|  |  | -          this.corporateRremark =  response.data.corporate.remark;
 | 
	
		
			
				|  |  | +    async getSelectByIdApi(row) {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        this.loading = true
 | 
	
		
			
				|  |  | +        const id = row.id
 | 
	
		
			
				|  |  | +        let res = await getSelectById(id)
 | 
	
		
			
				|  |  | +        this.form = res.data;
 | 
	
		
			
				|  |  | +        if(res.data.corporate){
 | 
	
		
			
				|  |  | +          this.voucherUrl = res.data.corporate.voucherUrl.split(',')||[];
 | 
	
		
			
				|  |  | +          this.corporateRremark =  res.data.corporate.remark;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | +        let res1 = await querySeatList({
 | 
	
		
			
				|  |  | +          auditoriumId: res.data.auditoriumId,
 | 
	
		
			
				|  |  | +          //seatTypeId: res.data.seatTypeId,
 | 
	
		
			
				|  |  | +          timeId: res.data.performTimeId,
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        this.querySeatListS = res1.data;
 | 
	
		
			
				|  |  | +        this.setList = res1.data;
 | 
	
		
			
				|  |  | +        if (this.setList && this.setList.length > 0) {
 | 
	
		
			
				|  |  | +          this.setSeatMapListCopy(this.setList);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.loading = false
 | 
	
		
			
				|  |  | +      } catch (error) {
 | 
	
		
			
				|  |  | +        this.loading = false
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 关闭弹框
 | 
	
	
		
			
				|  | @@ -224,15 +312,109 @@ export default {
 | 
	
		
			
				|  |  |      cancel() {
 | 
	
		
			
				|  |  |        this.open = false;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    // 设置座位集合
 | 
	
		
			
				|  |  | +    setSeatMapListCopy(list) {
 | 
	
		
			
				|  |  | +      if (list && list.length > 0) {
 | 
	
		
			
				|  |  | +        let listCopy = {}
 | 
	
		
			
				|  |  | +        let lisyCopy1 = {}
 | 
	
		
			
				|  |  | +        let listNum = JSON.parse(JSON.stringify(this.seatTypeList))
 | 
	
		
			
				|  |  | +        listNum.forEach((item, index) => {
 | 
	
		
			
				|  |  | +          listNum[index]['num'] = 0
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        list.forEach(item => {
 | 
	
		
			
				|  |  | +          item.isDisabled = (item.occupyStatus != null && (item.occupyStatus == 0 || item.occupyStatus == 1) ? true : false); // 座位是否已被选择
 | 
	
		
			
				|  |  | +          item.isSelect = this.setIsSelect(item);
 | 
	
		
			
				|  |  | +          if (item.rowNo) {
 | 
	
		
			
				|  |  | +            listNum.forEach((item1, index) => {
 | 
	
		
			
				|  |  | +              if (item1.id == item.seatTypeId && item.status == 1 && !item.occupyStatus) {
 | 
	
		
			
				|  |  | +                listNum[index]['num'] = listNum[index]['num'] + 1
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +            if (listCopy['my' + item.rowNo]) {
 | 
	
		
			
				|  |  | +              listCopy['my' + item.rowNo].push(item)
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              listCopy['my' + item.rowNo] = [item]
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        this.seatTypeList = JSON.parse(JSON.stringify(listNum))
 | 
	
		
			
				|  |  | +        let width = 0
 | 
	
		
			
				|  |  | +        let flog = 0
 | 
	
		
			
				|  |  | +        let seatMapListKey = []
 | 
	
		
			
				|  |  | +        Object.keys(listCopy).forEach((item) => {
 | 
	
		
			
				|  |  | +          if (listCopy[item].length > flog) {
 | 
	
		
			
				|  |  | +            flog = listCopy[item].length
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          seatMapListKey.push({
 | 
	
		
			
				|  |  | +            key: item,
 | 
	
		
			
				|  |  | +            sort: Number(item.replace('my', ''))
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        seatMapListKey.sort((a, b) => {
 | 
	
		
			
				|  |  | +          return a.sort - b.sort
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        this.seatMapListKey = seatMapListKey
 | 
	
		
			
				|  |  | +        console.log("seatMapListKey=====", seatMapListKey)
 | 
	
		
			
				|  |  | +        this.width = 70 * flog
 | 
	
		
			
				|  |  | +        this.$nextTick(() => {
 | 
	
		
			
				|  |  | +          if (this.$refs.seatbox) {
 | 
	
		
			
				|  |  | +            var ele = document.getElementById('seatbox-me');
 | 
	
		
			
				|  |  | +            console.log(ele.getBoundingClientRect().width); // 100
 | 
	
		
			
				|  |  | +            if (this.width < ele.getBoundingClientRect().width) {
 | 
	
		
			
				|  |  | +              this.justifyContent = true
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              //this.justifyContent = false
 | 
	
		
			
				|  |  | +              this.justifyContent = true
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            //this.$refs.seatbox.scrollTo(this.width/4,0)
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        console.log("list====", listCopy)
 | 
	
		
			
				|  |  | +        this.seatMapList = JSON.parse(JSON.stringify(listCopy))
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    setIsSelect(item) {
 | 
	
		
			
				|  |  | +      if (!this.seatSelectList || this.seatSelectList.length == 0) {
 | 
	
		
			
				|  |  | +        return false
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      let flog = false
 | 
	
		
			
				|  |  | +      this.seatSelectList.forEach((item1, index1) => {
 | 
	
		
			
				|  |  | +        if (item.id == item1.seatId) {
 | 
	
		
			
				|  |  | +          flog = true
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      return flog
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 获取座位类型 说明 */
 | 
	
		
			
				|  |  | +    getSeatTypeList() {
 | 
	
		
			
				|  |  | +      getSeatType({
 | 
	
		
			
				|  |  | +        pageNum: 1,
 | 
	
		
			
				|  |  | +        pageSize: 999,
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +        .then(response => {
 | 
	
		
			
				|  |  | +          this.seatTypeList = response.data.rows;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 座位状态 展示  */
 | 
	
		
			
				|  |  | +    setSeatClass(item){
 | 
	
		
			
				|  |  | +      let srt =
 | 
	
		
			
				|  |  | +      this.setIsSelect(item)?'purchased-status':
 | 
	
		
			
				|  |  | +      item.occupyStatus == 0 ? 'occupy-status' : 
 | 
	
		
			
				|  |  | +      item.occupyStatus == 1 ? 'occupy-status-no' : 
 | 
	
		
			
				|  |  | +      item.isDisabled || item.status != 1 ? 'disabled-class' : 
 | 
	
		
			
				|  |  | +      item.isSelect ? 'select-class' : ''
 | 
	
		
			
				|  |  | +      console.log("srt=====",srt)
 | 
	
		
			
				|  |  | +      return srt
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
		
			
				|  |  |  .dialog {
 | 
	
		
			
				|  |  | -  padding: 0 30px;
 | 
	
		
			
				|  |  | -  max-height: 65vh;
 | 
	
		
			
				|  |  | -  overflow-y: auto;
 | 
	
		
			
				|  |  | +  width: 100%;
 | 
	
		
			
				|  |  | +  height: 70vh;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  .dialog {
 | 
	
		
			
				|  |  |    padding: 0 30px;
 | 
	
	
		
			
				|  | @@ -273,4 +455,289 @@ export default {
 | 
	
		
			
				|  |  |  .pay-type-remark{
 | 
	
		
			
				|  |  |    margin:14px 0;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.dialog-bbb {
 | 
	
		
			
				|  |  | +  width: 100%;
 | 
	
		
			
				|  |  | +  display: flex;
 | 
	
		
			
				|  |  | +  --widdd: 700px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  >div:first-child {
 | 
	
		
			
				|  |  | +    width: var(--widdd);
 | 
	
		
			
				|  |  | +    flex-shrink: 0;
 | 
	
		
			
				|  |  | +    overflow-y: auto;
 | 
	
		
			
				|  |  | +    padding: 0 0 10px 0;
 | 
	
		
			
				|  |  | +    margin-right: 10px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .dialog-bbb_2 {
 | 
	
		
			
				|  |  | +    width: calc(100% - var(--widdd));
 | 
	
		
			
				|  |  | +    height: 100%;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.dialog-bbb_2 {
 | 
	
		
			
				|  |  | +  .seat-tool-box {
 | 
	
		
			
				|  |  | +    height: 20px;
 | 
	
		
			
				|  |  | +    box-sizing: border-box;
 | 
	
		
			
				|  |  | +    display: flex;
 | 
	
		
			
				|  |  | +    align-items: center;
 | 
	
		
			
				|  |  | +    white-space: nowrap;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    span {
 | 
	
		
			
				|  |  | +      flex-shrink: 0;
 | 
	
		
			
				|  |  | +      font-size: 12px;
 | 
	
		
			
				|  |  | +      white-space: nowrap;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .seat-tool-box-slider {
 | 
	
		
			
				|  |  | +      width: 100px;
 | 
	
		
			
				|  |  | +      margin-left: 10px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .seat-box {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    height: calc(100% - 50px);
 | 
	
		
			
				|  |  | +    box-sizing: border-box;
 | 
	
		
			
				|  |  | +    display: flex;
 | 
	
		
			
				|  |  | +    position: relative;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .seat-list-box {
 | 
	
		
			
				|  |  | +      width: 100%;
 | 
	
		
			
				|  |  | +      height: 100%;
 | 
	
		
			
				|  |  | +      box-sizing: border-box;
 | 
	
		
			
				|  |  | +      position: relative;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .seat-select-box {
 | 
	
		
			
				|  |  | +      width: 200px;
 | 
	
		
			
				|  |  | +      height: 100%;
 | 
	
		
			
				|  |  | +      flex-shrink: 0;
 | 
	
		
			
				|  |  | +      box-sizing: border-box;
 | 
	
		
			
				|  |  | +      padding: 0 5px;
 | 
	
		
			
				|  |  | +      margin-left: 10px;
 | 
	
		
			
				|  |  | +      border: 1px solid #ccc;
 | 
	
		
			
				|  |  | +      border-radius: 10px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .seat-select-info {
 | 
	
		
			
				|  |  | +        width: 100%;
 | 
	
		
			
				|  |  | +        height: calc(100% - 60px);
 | 
	
		
			
				|  |  | +        overflow: hidden;
 | 
	
		
			
				|  |  | +        overflow-y: auto;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        .seat-select-item {
 | 
	
		
			
				|  |  | +          border: 1px solid #ccc;
 | 
	
		
			
				|  |  | +          margin-bottom: 5px;
 | 
	
		
			
				|  |  | +          padding: 5px;
 | 
	
		
			
				|  |  | +          border-radius: 5px;
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          justify-content: space-between;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          font-size: 12px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          >div:first-child {
 | 
	
		
			
				|  |  | +            display: flex;
 | 
	
		
			
				|  |  | +            flex-direction: column;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            span:first-child {
 | 
	
		
			
				|  |  | +              font-weight: 600;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          >div:last-child {
 | 
	
		
			
				|  |  | +            span:first-child {
 | 
	
		
			
				|  |  | +              color: #f56c6c;
 | 
	
		
			
				|  |  | +              cursor: pointer;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        .seat-select-color-item {
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          margin-bottom: 5px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          >span:first-child {
 | 
	
		
			
				|  |  | +            width: 20px;
 | 
	
		
			
				|  |  | +            height: 20px;
 | 
	
		
			
				|  |  | +            flex-shrink: 0;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          >span:last-child {
 | 
	
		
			
				|  |  | +            font-size: 16px;
 | 
	
		
			
				|  |  | +            font-weight: 600;
 | 
	
		
			
				|  |  | +            margin-left: 10px;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .seat-list-box::before {
 | 
	
		
			
				|  |  | +    content: "舞台";
 | 
	
		
			
				|  |  | +    position: absolute;
 | 
	
		
			
				|  |  | +    left: 50%;
 | 
	
		
			
				|  |  | +    transform: translateX(-50%);
 | 
	
		
			
				|  |  | +    width: 300px;
 | 
	
		
			
				|  |  | +    height: 30px;
 | 
	
		
			
				|  |  | +    background-color: rgb(204, 204, 204, 0.5);
 | 
	
		
			
				|  |  | +    font-size: 18px;
 | 
	
		
			
				|  |  | +    font-weight: 600;
 | 
	
		
			
				|  |  | +    display: flex;
 | 
	
		
			
				|  |  | +    align-items: center;
 | 
	
		
			
				|  |  | +    justify-content: center;
 | 
	
		
			
				|  |  | +    border-radius: 0 0 20px 20px;
 | 
	
		
			
				|  |  | +    z-index: 99;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .dialogss {
 | 
	
		
			
				|  |  | +    padding: 30px 10px 10px;
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    height: 100%;
 | 
	
		
			
				|  |  | +    box-sizing: border-box;
 | 
	
		
			
				|  |  | +    overflow: auto;
 | 
	
		
			
				|  |  | +    border-radius: 10px;
 | 
	
		
			
				|  |  | +    border: 1px solid #323333;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .dialogss-box {
 | 
	
		
			
				|  |  | +      position: relative;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .upload-btn {
 | 
	
		
			
				|  |  | +      width: 100px;
 | 
	
		
			
				|  |  | +      height: 100px;
 | 
	
		
			
				|  |  | +      background-color: #fbfdff;
 | 
	
		
			
				|  |  | +      border: dashed 1px #c0ccda;
 | 
	
		
			
				|  |  | +      border-radius: 5px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      i {
 | 
	
		
			
				|  |  | +        font-size: 30px;
 | 
	
		
			
				|  |  | +        margin-top: 20px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-text {
 | 
	
		
			
				|  |  | +        margin-top: -10px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .avatar {
 | 
	
		
			
				|  |  | +      cursor: pointer;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .title-class {
 | 
	
		
			
				|  |  | +      font-size: 16px;
 | 
	
		
			
				|  |  | +      font-weight: bold;
 | 
	
		
			
				|  |  | +      color: black;
 | 
	
		
			
				|  |  | +      margin-bottom: 20px;
 | 
	
		
			
				|  |  | +      margin-top: 20px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .item-class {
 | 
	
		
			
				|  |  | +      margin-bottom: 20px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .seat-box-class {
 | 
	
		
			
				|  |  | +      padding: 5px;
 | 
	
		
			
				|  |  | +      transform-origin: 50% 0;
 | 
	
		
			
				|  |  | +      transform: scale(var(--scaleNum));
 | 
	
		
			
				|  |  | +      box-sizing: border-box;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .disabled-class {
 | 
	
		
			
				|  |  | +        background-color: #aaabad;
 | 
	
		
			
				|  |  | +        user-select: none;
 | 
	
		
			
				|  |  | +        // pointer-events: none;
 | 
	
		
			
				|  |  | +        cursor: not-allowed !important;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .select-class {
 | 
	
		
			
				|  |  | +        //background-color: #e85353 !important;
 | 
	
		
			
				|  |  | +        border: 5px solid #1890ff !important;
 | 
	
		
			
				|  |  | +        // color: #eceaea !important;
 | 
	
		
			
				|  |  | +        position: relative;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .purchased-status:after {
 | 
	
		
			
				|  |  | +        content: "";
 | 
	
		
			
				|  |  | +        display: block;
 | 
	
		
			
				|  |  | +        position: absolute;
 | 
	
		
			
				|  |  | +        top: 0;
 | 
	
		
			
				|  |  | +        left: 0;
 | 
	
		
			
				|  |  | +        width: 100%;
 | 
	
		
			
				|  |  | +        height: 100%;
 | 
	
		
			
				|  |  | +        background-color: rgba(0, 0, 0, 0.5);
 | 
	
		
			
				|  |  | +        z-index: -1;
 | 
	
		
			
				|  |  | +        background-image: url('../../../../assets/renyuan.png');
 | 
	
		
			
				|  |  | +        background-size: 50% 50%;
 | 
	
		
			
				|  |  | +        background-position: 50% 50%;
 | 
	
		
			
				|  |  | +        background-repeat: no-repeat;
 | 
	
		
			
				|  |  | +        z-index: 99;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .occupy-status:after {
 | 
	
		
			
				|  |  | +        content: "";
 | 
	
		
			
				|  |  | +        display: block;
 | 
	
		
			
				|  |  | +        position: absolute;
 | 
	
		
			
				|  |  | +        top: 0;
 | 
	
		
			
				|  |  | +        left: 0;
 | 
	
		
			
				|  |  | +        width: 100%;
 | 
	
		
			
				|  |  | +        height: 100%;
 | 
	
		
			
				|  |  | +        background-color: rgba(0, 0, 0, 0.3);
 | 
	
		
			
				|  |  | +        z-index: -1;
 | 
	
		
			
				|  |  | +        background-image: url('../../../../assets/jinzhi.png');
 | 
	
		
			
				|  |  | +        background-size: 50% 50%;
 | 
	
		
			
				|  |  | +        background-position: 50% 50%;
 | 
	
		
			
				|  |  | +        background-repeat: no-repeat;
 | 
	
		
			
				|  |  | +        z-index: 99;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .occupy-status {
 | 
	
		
			
				|  |  | +        //pointer-events: none;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .occupy-status-no {
 | 
	
		
			
				|  |  | +        background-color: #f56c6c !important;
 | 
	
		
			
				|  |  | +        user-select: none;
 | 
	
		
			
				|  |  | +        // pointer-events: none;
 | 
	
		
			
				|  |  | +        cursor: not-allowed !important;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .seat-item-class-box {
 | 
	
		
			
				|  |  | +        width: 100%;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        flex-wrap: nowrap;
 | 
	
		
			
				|  |  | +        justify-content: center;
 | 
	
		
			
				|  |  | +        margin: auto 0;
 | 
	
		
			
				|  |  | +        text-align: center;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      .seat-item-class {
 | 
	
		
			
				|  |  | +        flex-shrink: 0;
 | 
	
		
			
				|  |  | +        display: block;
 | 
	
		
			
				|  |  | +        float: left;
 | 
	
		
			
				|  |  | +        width: 60px;
 | 
	
		
			
				|  |  | +        height: 60px;
 | 
	
		
			
				|  |  | +        margin: 5px;
 | 
	
		
			
				|  |  | +        border: 1px solid #4c4d4d;
 | 
	
		
			
				|  |  | +        border-radius: 3px;
 | 
	
		
			
				|  |  | +        cursor: pointer;
 | 
	
		
			
				|  |  | +        position: relative;
 | 
	
		
			
				|  |  | +        user-select: none;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // transform-origin: 50% 50%;
 | 
	
		
			
				|  |  | +        // transform: scale(var(--scaleNum));
 | 
	
		
			
				|  |  | +        &:hover {
 | 
	
		
			
				|  |  | +          opacity: 0.6;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        .text-class {
 | 
	
		
			
				|  |  | +          font-size: 12px;
 | 
	
		
			
				|  |  | +          padding: 5px;
 | 
	
		
			
				|  |  | +          line-height: 16px;
 | 
	
		
			
				|  |  | +          margin: 0;
 | 
	
		
			
				|  |  | +          color: #000;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </style>
 |