|
|
@@ -88,7 +88,7 @@
|
|
|
<div>
|
|
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm11" label-width="100px" class="demo-ruleForm"
|
|
|
size="mini">
|
|
|
- <!-- <el-form-item label="用户来源 :" prop="source">
|
|
|
+ <!-- <el-form-item label="用户来源 :" prop="source">
|
|
|
<el-radio-group @input="selectMarketTeamBySourceFun" v-model="ruleForm.source">
|
|
|
<el-radio label="7">窗口</el-radio>
|
|
|
<el-radio label="10">美团</el-radio>
|
|
|
@@ -104,8 +104,7 @@
|
|
|
{{ viewerList.length }}人
|
|
|
<el-button type="danger" @click="handleRealName" style="margin-left: 30px;">实名</el-button>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="ruleForm.source && ruleForm.source == 16" label="备注 :"
|
|
|
- prop="sourceRemark">
|
|
|
+ <el-form-item v-if="ruleForm.source && ruleForm.source == 16" label="备注 :" prop="sourceRemark">
|
|
|
<el-input style="width: 90%;" v-model="ruleForm.sourceRemark"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="ruleForm.source && ruleForm.source != 7" label="核销码/订单码" prop="orderIdOrQrCode">
|
|
|
@@ -125,10 +124,11 @@
|
|
|
</el-form-item>
|
|
|
<div v-show="ifShow">
|
|
|
<el-form-item label="应收金额 :">
|
|
|
- ¥{{ moneyAll }}元
|
|
|
+ ¥{{ moneyAll }}元
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="找零计算(注:只用于找零不提交数据 找零金额 = 收到金额 - 实收金额)" v-if="ruleForm.paymentType == 2 || ruleForm.paymentType == 3" label-width="480px"></el-form-item> -->
|
|
|
- <el-form-item v-if="ruleForm.paymentType == 2 || ruleForm.paymentType == 3" label="收取现金 :" prop="realPrice_1">
|
|
|
+ <el-form-item v-if="ruleForm.paymentType == 2 || ruleForm.paymentType == 3" label="收取现金 :"
|
|
|
+ prop="realPrice_1">
|
|
|
<el-input @input="setRealPrice_1" style="width: 90%;" v-model="ruleForm.realPrice_1"></el-input>
|
|
|
<span>元</span>
|
|
|
</el-form-item>
|
|
|
@@ -152,58 +152,6 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<!-- 支付过程 控制 -->
|
|
|
- <div v-if="false" class="increase-viewers-pay-status">
|
|
|
- <div class="increase-viewers-pay-status-info" v-if="!loading">
|
|
|
- <span style="font-weight: 600;font-size: 20px;">提示</span>
|
|
|
- <span style="padding: 10px 0;">
|
|
|
- {{ payStatus == 1 ? '生成订单失败!!!' :
|
|
|
- payStatus == 2 ? '生成订单生成成功,请点击调取扫码盒子' :
|
|
|
- payStatus == 4 ? '扫码支付失败!!!' :
|
|
|
- payStatus == 5 ? '请出示付款码!!!' :
|
|
|
- payStatus == 5.5 ? '扫码成功,支付中...' :
|
|
|
- payStatus == 5.6 ? '扫码成功,支付中...' :
|
|
|
- payStatus == 6 ? '连接扫码器失败!!!' :
|
|
|
- payStatus == 7 ? '用户支付失败或未支付,请重新连接支付!!!' :
|
|
|
- payStatus == 8 ? '用户支付成功,请点击打印票!!!' :
|
|
|
- payStatus == 9 ? '支付超时!!!' :
|
|
|
- payStatus == 10 ? '订单已关闭,请重新选择座位,再购买!!!' :
|
|
|
- payStatus == 3 ? '现金支付记录入库失败,请重新提交' : '未知状态' }}
|
|
|
- </span>
|
|
|
- <!-- 重新生成订单 1 -->
|
|
|
- <div v-if="payStatus == 1" style="display: flex;">
|
|
|
- <el-button @click="payStatus = null" type="success">修改信息</el-button>
|
|
|
- <el-button @click="orderInfoSubmitFun()" style="margin-left: 20px;" type="primary">重新生成订单</el-button>
|
|
|
- </div>
|
|
|
- <!-- 扫码支付 2 -->
|
|
|
- <el-button v-if="payStatus == 2" @click="vbar_open(orderId)" type="success">扫码支付</el-button>
|
|
|
- <!-- 扫码支付 4 -->
|
|
|
- <el-button v-if="payStatus == 4" @click="vbar_open(orderId)" type="success">重新扫码支付</el-button>
|
|
|
- <!-- 重新支付 3 -->
|
|
|
- <el-button v-if="payStatus == 3" @click="gotoCashPayFun(orderId)" type="success">重新提交入库</el-button>
|
|
|
- <!-- 重新支付 6 7 -->
|
|
|
- <el-button v-if="payStatus == 6 || payStatus == 7" @click="vbar_open(orderId)"
|
|
|
- type="success">重新连接扫码支付</el-button>
|
|
|
- <!-- 打印 8 -->
|
|
|
- <div v-if="payStatus == 8">
|
|
|
- <el-select v-model="printListId" placeholder="选择打印机">
|
|
|
- <el-option :label="item.deviceName" :key="item.id" :value="item.id"
|
|
|
- v-for="(item, index) in printList"></el-option>
|
|
|
- </el-select>
|
|
|
- <el-button style="margin-left: 15px" @click="print" type="success">打印门票</el-button>
|
|
|
- <!-- <el-button style="margin-left: 15px" @click="goTicketingCollections" type="success">跳转取票界面</el-button> -->
|
|
|
- </div>
|
|
|
- <!-- 支付超时 9 -->
|
|
|
- <div v-if="payStatus == 9">
|
|
|
- <!-- <el-button @click="print" type="danger">取消支付</el-button> -->
|
|
|
- <el-button @click="orderInfoSubmitFun()" type="primary">重新扫码</el-button>
|
|
|
- </div>
|
|
|
- <!-- 订单被关闭 10 -->
|
|
|
- <div v-if="payStatus == 10">
|
|
|
- <!-- <el-button @click="print" type="danger">取消支付</el-button> -->
|
|
|
- <el-button @click="handleClose()" type="primary">关闭</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
@@ -214,91 +162,95 @@
|
|
|
</span> -->
|
|
|
|
|
|
<!-- 添加 观影人员实名 -->
|
|
|
- <el-dialog
|
|
|
- title="观影人员实名"
|
|
|
- modal-append-to-body
|
|
|
- :close-on-click-modal="false"
|
|
|
- :visible.sync="isVisible"
|
|
|
- width="80%"
|
|
|
- >
|
|
|
- <el-table :data="viewerList" border style="width: 100%">
|
|
|
- <el-table-column label="序号" type="index" width="50">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="姓名" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <span v-if="actionIndex != scope.row.id">{{ scope.row.name }}</span>
|
|
|
- <el-input size="mini" v-else v-model="tableForm.name" placeholder="请输入姓名"></el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="身份证号" width="250">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <span v-if="actionIndex != scope.row.id">{{ scope.row.idcard }}</span>
|
|
|
- <el-input size="mini" v-else v-model="tableForm.idcard" placeholder="请输入身份证号" clearable
|
|
|
- style="width: 230px;" @keyup.enter.native="handleQuery">
|
|
|
- <el-button slot="append" :loading="idcardLoading" size="mini" type="primary" @click="readCert">{{
|
|
|
- idcardLoading ? '识别中' : '识别' }}</el-button>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="座位类型">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.seatTypeName }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="date" label="座位号">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.seatName }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="date" label="价格(元)">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.salePrice }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="人员类别" width="140">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <dict-tag v-if="actionIndex != scope.row.id" :options="dict.type.personnel_type"
|
|
|
- :value="scope.row.identity" />
|
|
|
- <el-select size="mini" v-else v-model="tableForm.identity" placeholder="请选择人员类别" clearable
|
|
|
- style="width: 100%">
|
|
|
- <el-option v-for="dict in dict.type.personnel_type" :key="dict.value" :label="dict.label"
|
|
|
- :value="dict.value" />
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="应收金额(元)">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span v-if="(scope.$index != 0 && oneMany == 1 && personnelNum != 0)">{{ scope.row.realPrice }}</span>
|
|
|
- <div v-else>
|
|
|
- <span v-if="actionIndex != scope.row.id">{{ scope.row.realPrice }}</span>
|
|
|
- <el-input-number size="mini" style="width: 120px;" v-else v-model="tableForm.realPrice"
|
|
|
- controls-position="right" label="请输入应收金额(元)"></el-input-number>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="备注" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <span v-if="actionIndex != scope.row.id">{{ scope.row.remark }}</span>
|
|
|
- <el-input size="mini" v-else v-model="tableForm.remark" placeholder="请输入备注"></el-input>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="80">
|
|
|
- <template slot-scope="scope" v-if="(scope.$index != 0 && oneMany != 2) || scope.$index == 0">
|
|
|
- <el-button size="mini" type="success" :loading="factorAuthLoading" v-if="actionIndex == scope.row.id"
|
|
|
- @click="handleSeva(scope.$index, scope.row)">{{ factorAuthLoading ? '保存中....' : '保存' }}</el-button>
|
|
|
- <el-button :disabled="!!actionIndex" size="mini" type="primary" v-if="actionIndex != scope.row.id"
|
|
|
- @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-dialog title="观影人员实名" modal-append-to-body :close-on-click-modal="false" :visible.sync="isVisible" width="85%">
|
|
|
+ <el-form :model="ValidateForm" ref="validateForm" label-width="90px">
|
|
|
+ <el-form-item prop="type" label="证件类型:">
|
|
|
+ <el-select v-model="ValidateForm.type" placeholder="请选择活动区域">
|
|
|
+ <el-option label="身份证" value="sfz"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="观影人员:">
|
|
|
+ <el-table :data="viewerList" border style="width: 100%">
|
|
|
+ <el-table-column label="序号" type="index" width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="姓名" width="170">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <span v-if="actionIndex != scope.row.id">{{ scope.row.name }}</span>
|
|
|
+ <el-input size="mini" v-else v-model="tableForm.name" placeholder="请输入姓名"></el-input>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="身份证号" width="250">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <span v-if="actionIndex != scope.row.id">{{ scope.row.idcard }}</span>
|
|
|
+ <el-input size="mini" v-else v-model="tableForm.idcard" placeholder="请输入身份证号" clearable
|
|
|
+ style="width: 230px;" @keyup.enter.native="handleQuery">
|
|
|
+ <el-button slot="append" :loading="idcardLoading" size="mini" type="primary" @click="readCert">{{
|
|
|
+ idcardLoading ? '识别中' : '识别' }}</el-button>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="座位类型">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.seatTypeName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="date" label="座位号">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.seatName }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="date" label="价格(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.salePrice }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="人员类别" width="130">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <dict-tag v-if="actionIndex != scope.row.id" :options="dict.type.personnel_type"
|
|
|
+ :value="scope.row.identity" />
|
|
|
+ <el-select size="mini" v-else v-model="tableForm.identity" placeholder="请选择人员类别" clearable
|
|
|
+ style="width: 100%">
|
|
|
+ <el-option v-for="dict in dict.type.personnel_type" :key="dict.value" :label="dict.label"
|
|
|
+ :value="dict.value" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="应收金额(元)" width="130">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="(scope.$index != 0 && oneMany == 1 && personnelNum != 0)">{{ scope.row.realPrice }}</span>
|
|
|
+ <div v-else>
|
|
|
+ <span v-if="actionIndex != scope.row.id">{{ scope.row.realPrice }}</span>
|
|
|
+ <el-input-number size="mini" style="width: 100%;" v-else v-model="tableForm.realPrice"
|
|
|
+ controls-position="right" label="请输入应收金额(元)"></el-input-number>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="备注" width="170">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <span v-if="actionIndex != scope.row.id">{{ scope.row.remark }}</span>
|
|
|
+ <el-input size="mini" v-else v-model="tableForm.remark" placeholder="请输入备注"></el-input>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="80">
|
|
|
+ <template slot-scope="scope" v-if="(scope.$index != 0 && oneMany != 2) || scope.$index == 0">
|
|
|
+ <el-button size="mini" type="success" :loading="factorAuthLoading" v-if="actionIndex == scope.row.id"
|
|
|
+ @click="handleSeva(scope.$index, scope.row)">{{ factorAuthLoading ? '保存中....' : '保存' }}</el-button>
|
|
|
+ <el-button :disabled="!!actionIndex" size="mini" type="primary" v-if="actionIndex != scope.row.id"
|
|
|
+ @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button :disabled="isFlag" type="primary" @click="handleSubmit">保 存</el-button>
|
|
|
<el-button @click="isVisible = false">取 消</el-button>
|
|
|
@@ -306,12 +258,8 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 订单结算 提示 -->
|
|
|
- <el-dialog title="提示!"
|
|
|
- modal-append-to-body
|
|
|
- :show-close="false"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :visible.sync="isShow" width="45%"
|
|
|
- >
|
|
|
+ <el-dialog title="提示!" modal-append-to-body :show-close="false" :close-on-click-modal="false" :visible.sync="isShow"
|
|
|
+ width="45%">
|
|
|
<!-- 支付过程 控制 -->
|
|
|
<div v-loading="loading" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading"
|
|
|
element-loading-background="rgba(0, 0, 0, 0.8)" class="increase-viewers-box1">
|
|
|
@@ -353,7 +301,7 @@
|
|
|
v-for="(item, index) in printList"></el-option>
|
|
|
</el-select>
|
|
|
<el-button style="margin-left: 15px" @click="print" type="success">打印门票</el-button>
|
|
|
- <el-button style="margin-left: 15px" @click="goTicketingCollections" type="info">取消</el-button>
|
|
|
+ <el-button style="margin-left: 15px" @click="goTicketingPage" type="info">取消</el-button>
|
|
|
<!-- <el-button style="margin-left: 15px" @click="goTicketingCollections" type="success">跳转取票界面</el-button> -->
|
|
|
</div>
|
|
|
<!-- 支付超时 9 -->
|
|
|
@@ -406,6 +354,10 @@ export default {
|
|
|
actionIndex: false,
|
|
|
isVisible: false, // 观影人员实名
|
|
|
isShow: false, // 结算提示
|
|
|
+ ValidateForm: {
|
|
|
+ type: 'sfz',
|
|
|
+ list: [],
|
|
|
+ },
|
|
|
tableForm: {
|
|
|
name: '', // 姓名
|
|
|
mobile: '', // 电话
|
|
|
@@ -434,7 +386,7 @@ export default {
|
|
|
realPrice: '', // 实收金额
|
|
|
},
|
|
|
viewerList: [], // 观影人列表
|
|
|
- ifShow:false,
|
|
|
+ ifShow: false,
|
|
|
rules: {
|
|
|
source: [
|
|
|
{ required: true, message: '请选择用户来源', trigger: ['blur', 'change'] },
|
|
|
@@ -496,7 +448,7 @@ export default {
|
|
|
computed: {
|
|
|
isFlag() {
|
|
|
let flag = true
|
|
|
- if(this.viewerList.length >0 ) {
|
|
|
+ if (this.viewerList.length > 0) {
|
|
|
flag = this.checkViewerList();
|
|
|
}
|
|
|
return flag;
|
|
|
@@ -529,13 +481,13 @@ export default {
|
|
|
purchaser: {},// 购票人信息
|
|
|
viewerList: [], // 观影人列表
|
|
|
orderIdOrQrCode: '',
|
|
|
- paymentType: params.source == '7' ? '1':'2', // 支付方式
|
|
|
+ paymentType: params.source == '7' ? '1' : '2', // 支付方式
|
|
|
small: '',// 实收金额
|
|
|
realPrice: '', // 实收金额
|
|
|
remark: '', // 订单备注
|
|
|
sourceRemark: '', // 来源备注
|
|
|
}
|
|
|
- console.log(this.ruleForm,'this.ruleForm');
|
|
|
+ console.log(this.ruleForm, 'this.ruleForm');
|
|
|
this.payStatus = null
|
|
|
this.orderId = null
|
|
|
this.websocket_connected = false
|
|
|
@@ -552,9 +504,9 @@ export default {
|
|
|
// seatTypeName: params.seatTypeName,
|
|
|
// }
|
|
|
let listCopy = []
|
|
|
- if(list.length > 0) {
|
|
|
- console.log(list,'list11');
|
|
|
-
|
|
|
+ if (list.length > 0) {
|
|
|
+ console.log(list, 'list11');
|
|
|
+
|
|
|
this.ifShow = true
|
|
|
list.forEach((item, index) => {
|
|
|
listCopy.push({
|
|
|
@@ -574,12 +526,12 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
} else {
|
|
|
- console.log(list,'list12221');
|
|
|
+ console.log(list, 'list12221');
|
|
|
this.ifShow = false
|
|
|
}
|
|
|
//this.goodsList =
|
|
|
this.viewerList = JSON.parse(JSON.stringify(listCopy))
|
|
|
- if(list.length > 0) {
|
|
|
+ if (list.length > 0) {
|
|
|
this.setMoneyAll()
|
|
|
} else {
|
|
|
this.moneyAll = ''
|
|
|
@@ -1048,6 +1000,11 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ // 跳转 到 售票页面
|
|
|
+ goTicketingPage() {
|
|
|
+ const obj = { path: "/window/ticket" };
|
|
|
+ this.$tab.closeOpenPage(obj);
|
|
|
+ },
|
|
|
|
|
|
/** 查看支付 状态 */
|
|
|
async payQueryFun(orderId) {
|
|
|
@@ -1390,6 +1347,7 @@ export default {
|
|
|
overflow-y: auto;
|
|
|
// position: relative;
|
|
|
}
|
|
|
+
|
|
|
.increase-viewers-box1 {
|
|
|
width: 100%;
|
|
|
height: 400px;
|