|
|
@@ -482,14 +482,16 @@
|
|
|
</el-link>
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
- @click="$refs.orderDetail.show(scope.row)">
|
|
|
+ v-if="scope.row.status !== 'CANCELED'"
|
|
|
+ @click="checkOrder(scope.row)">
|
|
|
核销
|
|
|
</el-link>
|
|
|
- <el-link
|
|
|
+ <!-- <el-link
|
|
|
type="primary"
|
|
|
+ v-if="scope.row.status !== 'CANCELED'"
|
|
|
@click="$refs.orderDetail.show(scope.row)">
|
|
|
撤销核销
|
|
|
- </el-link>
|
|
|
+ </el-link> -->
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
v-if="scope.row.status !== 'CANCELED'"
|
|
|
@@ -498,8 +500,9 @@
|
|
|
</el-link>
|
|
|
<el-link
|
|
|
type="primary"
|
|
|
- @click="$refs.orderDetail.show(scope.row)">
|
|
|
- 有效期
|
|
|
+ v-if="scope.row.status !== 'CANCELED'"
|
|
|
+ @click="editOrder(scope.row)">
|
|
|
+ 修改
|
|
|
</el-link>
|
|
|
<!--
|
|
|
<el-link
|
|
|
@@ -509,7 +512,7 @@
|
|
|
开票
|
|
|
</el-link>
|
|
|
-->
|
|
|
- <el-link
|
|
|
+ <!-- <el-link
|
|
|
type="primary"
|
|
|
v-if="scenicName==='昭苏' && scope.row.ticketList.some(v=>v.is_invoice_picked===0&&v.status==='USED')&&scope.row.otaName!=='清鹤自营售票'"
|
|
|
@click="showPickInvoice(scope.row)">
|
|
|
@@ -520,7 +523,7 @@
|
|
|
v-if="scenicName!=='昭苏' && scope.row.ticketList.some(v=>v.is_invoice_picked===0&&v.status==='USED')"
|
|
|
@click="showPickInvoice(scope.row)">
|
|
|
开票
|
|
|
- </el-link>
|
|
|
+ </el-link> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -841,12 +844,102 @@
|
|
|
@click="submitRefundOrder">确定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ title="修改"
|
|
|
+ :visible.sync="editOrderDialogVisible"
|
|
|
+ width="80%"
|
|
|
+ @close="cancelEdit">
|
|
|
+ <el-form
|
|
|
+ class="searchBox"
|
|
|
+ ref="formEl"
|
|
|
+ :model="editOrderInfo"
|
|
|
+ :inline="true"
|
|
|
+ label-width="100px">
|
|
|
+ <el-form-item
|
|
|
+ label="修改类型"
|
|
|
+ prop="updateType"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ v-model="editOrderInfo.updateType"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in updateTypes"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="editOrderInfo.updateType === 'updateOrderPayChannel'"
|
|
|
+ label="支付方式"
|
|
|
+ prop="payChannel"
|
|
|
+ >
|
|
|
+ <el-radio-group
|
|
|
+ border
|
|
|
+ fill="#379143"
|
|
|
+ class="tags-btn"
|
|
|
+ v-model="editOrderInfo.payChannel">
|
|
|
+ <el-radio
|
|
|
+ border
|
|
|
+ v-for="val in payChannelOptions"
|
|
|
+ :key="val"
|
|
|
+ :value="val"
|
|
|
+ :label="val"></el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="editOrderInfo.updateType === 'updatePlayDate'"
|
|
|
+ label="起始时间"
|
|
|
+ prop="playDateBegin">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="editOrderInfo.playDateBegin"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="选择日期时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="editOrderInfo.updateType === 'updatePlayDate'"
|
|
|
+ label="截止时间"
|
|
|
+ prop="playDateEnd">
|
|
|
+ <el-date-picker
|
|
|
+ default-time="23:59:59"
|
|
|
+ v-model="editOrderInfo.playDateEnd"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="选择日期时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="editOrderInfo.updateType === 'updateScenicTimes'"
|
|
|
+ label="检票次数"
|
|
|
+ prop="checkLimitTimes"
|
|
|
+ >
|
|
|
+ <el-input-number
|
|
|
+ v-model="editOrderInfo.checkLimitTimes"
|
|
|
+ :min="-1"
|
|
|
+ ></el-input-number>
|
|
|
+ <div class="tips">
|
|
|
+ <i class="el-icon-info"></i>
|
|
|
+ -1代表不限制 如果当前景点为群组景点 该次数为群组景点的检票次数总和
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer">
|
|
|
+ <el-button @click="cancelEdit">取消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submitEditOrder">确定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
/* eslint-disable no-unused-vars */
|
|
|
-import { apiOrderList, pickInvoice, getInvoice, cancelOrder } from '@/api/order'
|
|
|
+import { apiOrderList, pickInvoice, getInvoice, cancelOrder, checkTickets, updateOrder } from '@/api/order'
|
|
|
import { orderStatusDic, channelList, papersType } from '@/assets/staticData'
|
|
|
import { getPayStatus } from '@/utils/index'
|
|
|
|
|
|
@@ -948,6 +1041,21 @@ export default {
|
|
|
force: true,
|
|
|
orderId: '',
|
|
|
ticketCancelRequestList: []
|
|
|
+ },
|
|
|
+ updateTypes: [
|
|
|
+ { value: 'updateOrderPayChannel', label: '支付方式' },
|
|
|
+ { value: 'updatePlayDate', label: '游玩日期' },
|
|
|
+ { value: 'updateScenicTimes', label: '检票次数' }
|
|
|
+ ],
|
|
|
+ editOrderDialogVisible: false,
|
|
|
+ editOrderInfo: {
|
|
|
+ orderId: '',
|
|
|
+ updateType: '',
|
|
|
+ payChannel: '',
|
|
|
+ playDateBegin: '',
|
|
|
+ playDateEnd: '',
|
|
|
+ checkLimitTimes: 0,
|
|
|
+ ticketCheckScenicUpdateRequestList: []
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -1156,6 +1264,75 @@ export default {
|
|
|
this.getOrderList()
|
|
|
})
|
|
|
})
|
|
|
+ },
|
|
|
+ // 核销
|
|
|
+ checkOrder (order) {
|
|
|
+ this.$confirm('确定对此订单手工核销码, 是否继续?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ const params = {
|
|
|
+ force: true,
|
|
|
+ ticketIdList: order.ticketList.map(v => v.id)
|
|
|
+ }
|
|
|
+ checkTickets(params).then(res => {
|
|
|
+ if (res.code === '999999') {
|
|
|
+ this.$message.warning(res.msg || '核销失败')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$message.success('核销成功')
|
|
|
+ this.getOrderList()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 修改
|
|
|
+ editOrder (order) {
|
|
|
+ this.editOrderDialogVisible = true
|
|
|
+ this.editOrderInfo.orderId = order.id
|
|
|
+ this.editOrderInfo.payChannel = order.payChannel
|
|
|
+ this.editOrderInfo.playDateBegin = order.playDateBegin
|
|
|
+ this.editOrderInfo.playDateEnd = order.playDateEnd
|
|
|
+ },
|
|
|
+ cancelEdit () {
|
|
|
+ this.editOrderDialogVisible = false
|
|
|
+ this.editOrderInfo = {
|
|
|
+ orderId: '',
|
|
|
+ updateType: '',
|
|
|
+ payChannel: '',
|
|
|
+ playDateBegin: '',
|
|
|
+ playDateEnd: '',
|
|
|
+ checkLimitTimes: 0,
|
|
|
+ ticketCheckScenicUpdateRequestList: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ submitEditOrder () {
|
|
|
+ if (this.editOrderInfo.updateType === '') {
|
|
|
+ return this.$message.error('请选择修改类型')
|
|
|
+ }
|
|
|
+ if (this.editOrderInfo.updateType === 'updateOrderPayChannel' && !this.editOrderInfo.payChannel) {
|
|
|
+ return this.$message.error('请选择支付方式')
|
|
|
+ }
|
|
|
+ if (this.editOrderInfo.updateType === 'updatePlayDate' && (!this.editOrderInfo.playDateBegin || !this.editOrderInfo.playDateEnd)) {
|
|
|
+ return this.$message.error('请选择游玩日期')
|
|
|
+ }
|
|
|
+
|
|
|
+ this.editOrderInfo.ticketCheckScenicUpdateRequestList = this.multipleSelection.map(v => {
|
|
|
+ return {
|
|
|
+ id: v.id,
|
|
|
+ checkLimitTimes: this.editOrderInfo.checkLimitTimes
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ updateOrder(this.editOrderInfo).then(res => {
|
|
|
+ if (res.code === '999999') {
|
|
|
+ this.$message.warning(res.msg || '修改失败')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$message.success('修改成功')
|
|
|
+ this.editOrderDialogVisible = false
|
|
|
+ this.getOrderList()
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|