Commit d30354f5 authored by youjie's avatar youjie

no message

parent 50c3e056
......@@ -64,13 +64,13 @@ module.exports = configure(function (ctx) {
publicPath: ctx.dev ? '/' : './',
env: ctx.dev
? {
BASE_APP_API: 'http://192.168.10.11:8083/api/common/post',
BASE_APP_API: 'http://192.168.10.9:8083/api/common/post',//http://192.168.10.9:8083/api/common/post http://192.168.10.206:8015/api/common/post
JAVA_URL_API: 'http://efficient.oytour.com',
VERSION:require('./package.json').version,
}
: {
BASE_APP_API: 'https://reborn.oytour.com/api/common/post',
BASE_APP_API: 'https://reborn.oytour.com/api/common/post',//https://reborn.oytour.com/api/common/post
JAVA_URL_API: 'http://efficient.oytour.com',
VERSION:require('./package.json').version
},
......
......@@ -77,7 +77,7 @@ const service = Axios.create({
timeout: 20000,
headers: {
'Content-Type': 'application/json',
'Referer-Viitto': currentRouter.path
'Referer-Viitto': window.history.state.current
}
})
......
......@@ -33,18 +33,18 @@ const request = (cmd:string,msg:any): Promise<HttpResponse>=>{
let timestamp = (new Date()).valueOf();
if (Store.state.user?.token) {
token = Store.state.user?.token?.access_token
key = Store.state.user?.secretKey
//key = Store.state.user?.secretKey
}
if (Store.state.user?.userDetail) {
groupId = Store.state.user?.userDetail?.groupId
}
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`cmd=${cmd}&msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var md5Str = md5(`msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = {
"groupId": groupId,
"msg": msg,
// "cmd": cmd,
// "timestamp": timestamp,
"timestamp": timestamp,
"token": token,
"sign": md5Str,
// "locale": language,
......
import { HttpResponse } from '../@types'
import request from './request'
import requestJava from './requestJava'
class scheduledTripService {
// 一日游订单列表
static async GetTravelOneDayOrderList(param:any):Promise<HttpResponse>{
return request('sellorder_post_GetTravelOneDayOrderList',param)
}
// 一日游订单提交
// 跟团订单列表
static async Getrecentorder(param:any):Promise<HttpResponse>{
return requestJava('/api/b2b/user/getrecentorder',param)
}
// 待处理跟团订单列表
static async GetWaitDealOrderPageList(param:any):Promise<HttpResponse>{
return request('b2b_get_GetWaitDealOrderPageList',param)
}
// static async GetTravelOneDayOrderList(param:any):Promise<HttpResponse>{
// return request('sellorder_post_GetTravelOneDayOrderList',param)
// }
// 跟团订单提交
static async SetOrderInfoForB2B(param:any):Promise<HttpResponse>{
return request('sellorder_post_SetOrderInfoForB2B',param)
}
......
<template>
<div class="rounded-borders bg-white row items-center q-pa-md">
<q-select v-if="$q.platform.is.desktop" class="q-mr-md" style="min-width: 150px" v-model="search.OrderStatus" @update:model-value="setOrderStatus" dense :options="status" emit-value option-label="StatusName" option-value="StatusId" map-options :label="$t('hotelorder.search.status')" standout />
<q-input v-if="$q.platform.is.desktop" class="q-mr-md" v-model="search.OrderNo" dense standout :label="$t('hotelorder.search.orderNum')" />
<q-field v-if="$q.platform.is.desktop" clearable v-model="dateRangeFormat" :label="$t('hotelorder.search.daterange')" standout class="col-2" style="min-width: 190px" dense @clear="getDateRange">
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy">
<q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" landscape @range-end="dateRangeHandler"></q-date>
</q-popup-proxy>
</q-field>
<q-select v-if="$q.platform.is.desktop" class="q-mr-md" style="min-width: 150px" v-model="search.orderState" @update:model-value="setorderState" dense :options="status" emit-value option-label="StatusName" option-value="StatusId" map-options :label="$t('hotelorder.search.status')" standout />
<q-select class="q-mr-md" style="min-width: 150px" v-model="search.queryDays" @update:model-value="setorderDay" dense :options="Days" emit-value option-label="StatusName" option-value="StatusId" map-options label="时间范围" standout />
<div class="col"></div>
<q-btn unelevated class="bg-grey-3 hover q-mr-md" :title="$t('morequery')">
<q-badge rounded class="din bg-red-2 text-red-14 text-weight-bold" floating :label="searchCnt" v-if="searchCnt > 0" />
<svg-icon color="dark" icon="Text/Filter.svg" :tips="$t('morequery')" :size="20"></svg-icon>
<q-tooltip>{{ $t('morequery') }}</q-tooltip>
<q-popup-proxy class="no-shadow" style="box-shadow: 0 0 50px #ddd !important" :offset="[0, 20]" :model-value="canHide">
<q-card class="q-pa-md rounded-borders" style="width: 300px">
<div class="q-mb-md text-subtitle2">{{ $t('morequery') }}</div>
<div class="q-mt-md row">
<q-input v-model="search.OrderNo" dense standout :label="$t('hotelorder.search.orderNum')" class="mobile-only col q-mr-md" />
<q-input v-model="search.OrderId" dense standout :label="$t('hotelorder.search.orderId')" class="col" />
</div>
<div class="mobile-only q-mt-md">
<q-field clearable v-model="dateRangeFormat" :label="$t('hotelorder.search.daterange')" standout style="min-width: 190px" dense @clear="getDateRange">
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy">
<q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" @range-end="dateRangeHandler" ></q-date>
</q-popup-proxy>
</q-field>
</div>
<div class="q-mt-md">
<q-field clearable v-model="dateRangeFormatUse" :label="$t('v102.ticket.starttime')" standout style="min-width: 190px" dense @clear="getDateRangeUse">
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormatUse }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxyUse">
<q-date v-model="dateRangeUse" :options="optionsFnUse" range mask="YYYY/MM/DD" @range-end="dateRangeHandlerUse" ></q-date>
</q-popup-proxy>
</q-field>
</div>
<!-- <div class="q-mt-md">
<q-field clearable v-model="dateRangeFormatUse" :label="$t('v102.ticket.starttime')" standout class="col" style="min-width: 190px" dense @clear="getDateRangeUse">
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormatUse }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxyUse">
<q-date v-model="dateRangeUse" :options="optionsFnUse" range mask="YYYY/MM/DD" @range-end="dateRangeHandlerUse" ></q-date>
</q-popup-proxy>
</q-field>
</div> -->
<div class="q-mt-md">
<q-input v-model="search.Name" dense standout :label="$t('v102.to.qjc')" />
</div>
<q-select class="q-mt-md" v-model="search.MailingState" dense :options="orderTypes" emit-value option-label="TypeName" option-value="TypeId" map-options :label="$t('v102.to.qj')" standout />
<q-input v-model="search.CouponsName" dense standout :label="$t('v102.to.ticketName')" class="q-mt-md" />
<q-input v-model="search.ContactNumber" dense standout :label="$t('v102.to.qjp')" class="q-mt-md"/>
</q-card>
</q-popup-proxy>
</q-btn>
<q-btn unelevated class="bg-blue-1 text-primary hover q-mr-md" :label="$t('hotelorder.recovery')" />
<q-btn color="primary" unelevated :label="$t('query')" @click="setQueryHandler" />
</div>
<div class="rounded-borders bg-white q-pa-sm q-mt-md mobile-only">
<q-tabs v-model="search.OrderStatus" class="text-cyan" dense>
<q-tab :name="x.StatusId" :label="x.StatusName" v-for="x in status" @click="setOrderStatus(x.StatusId)" />
<q-tabs v-model="search.orderState" class="text-cyan" dense>
<q-tab :name="x.StatusId" :label="x.StatusName" v-for="x in status" @click="setorderState(x.StatusId)" />
</q-tabs>
</div>
</template>
......@@ -69,7 +16,7 @@
import { DirtionmaryHelper } from '../../../config/dictionary'
import { computed, defineComponent, inject, reactive, ref, toRefs } from 'vue'
import { OrderType, RoomType, StandardStatus } from '../../../@types'
import { getHotelOrderStatus, getHotelOrderType, getHotelRoomType, getTicketOrderType } from '../../../utils/tools'
import { getTripOrderStatus, getTripOrderType, getHotelRoomType, getTicketOrderType } from '../../../utils/tools'
import { date, useQuasar } from 'quasar'
import svgIcon from '../../global/svg-icon.vue'
......@@ -81,90 +28,34 @@ export default defineComponent({
const $q = useQuasar()
const data = reactive({
Days:[] as Array<StandardStatus>,
status: [] as Array<StandardStatus>,
cancelStatus: {} as StandardStatus | undefined,
dateRangeFormat: '',
dateRangeFormatUse: '',
dateRange: {} as any,
dateRangeUse: {} as any,
orderTypes: [] as Array<OrderType>,
canHide: false
})
const realSearch = inject(DirtionmaryHelper.TICKET_ORDER_SEARCH) as any
const search = reactive(JSON.parse(JSON.stringify(realSearch))) as any
const methods = {
initStatus() {
//通用的訂單類型
let allStatus = getHotelOrderStatus()
data.status = allStatus.filter((x: StandardStatus) => {
return x.StatusId != 3
})
data.cancelStatus = allStatus.find((x: StandardStatus) => {
return x.StatusId == 3
})
data.orderTypes = getTicketOrderType(true)
},
optionsFnUse(cd: any) {
return true
},
optionsFn(cd: any) {
return cd < date.formatDate(date.addToDate(new Date(), { days: 1 }), 'YYYY/MM/DD')
},
getDateRangeUse(value){
search.UseSTime = ''
search.UseETime = ''
data.dateRangeFormatUse = ''
},
getDateRange(value){
search.StartTime = ''
search.EndTime = ''
data.dateRangeFormat = ''
},
dateRangeHandlerUse(e: any) {
search.UseSTime = `${e.from.year}/${e.from.month}/${e.from.day}`
search.UseETime = `${e.to.year}/${e.to.month}/${e.to.day} `
data.dateRangeFormatUse = `${search.UseSTime} - ${search.UseETime} `
if (qDateProxyUse.value) qDateProxyUse.value.hide()
},
dateRangeHandler(e: any) {
search.StartTime = `${e.from.year}/${e.from.month}/${e.from.day}`
search.EndTime = `${e.to.year}/${e.to.month}/${e.to.day} `
data.dateRangeFormat = `${search.StartTime} - ${search.EndTime} `
if (qDateProxy.value) qDateProxy.value.hide()
//跟团订单通用的訂單類型
let allStatus = getTripOrderStatus()
data.status = allStatus
data.Days = getTripOrderType(true)
},
setQueryHandler() {
realSearch.OrderId = search.OrderId
realSearch.RoomType = search.RoomType
realSearch.StartTime = search.StartTime
realSearch.EndTime = search.EndTime
realSearch.UseSTime = search.UseSTime
realSearch.UseETime = search.UseETime
realSearch.OrderStatus = search.OrderStatus
realSearch.OrderNo = search.OrderNo
realSearch.MailingState = search.MailingState
realSearch.Name = search.Name
realSearch.CouponsName = search.CouponsName
realSearch.ContactNumber = search.ContactNumber
console.log(realSearch)
realSearch.queryDays = search.queryDays
realSearch.orderState = search.orderState
},
setOrderStatus(statusId: number) {
realSearch.OrderStatus = statusId
setorderState(statusId: number) {
realSearch.orderState = statusId
},
setorderDay(statusId: number) {
search.queryDays = statusId
}
}
const searchCnt = computed(() => {
let setCnt = 0
if ($q.platform.is.mobile) {
if (search.OrderStatus > 0) setCnt++
if (search.StartTime.length > 0) setCnt++
if (search.OrderNo > 0) setCnt++
}
if (search.OrderId>0) setCnt++
if (search.UseSTime.length > 0) setCnt++
if (search.MailingState > 0) setCnt++
if (search.Name) setCnt++
if (search.CouponsName) setCnt++
if (search.ContactNumber) setCnt++
return setCnt
})
......
This diff is collapsed.
......@@ -44,7 +44,7 @@ const userUserLoginModule = () => {
const param = {
account: userModel.username,
password: userModel.password,
platform: 0
platform: 3
}
let r = await dispatchAction<UserActionsType>('user', 'userLogin', param) as [boolean,string]
if(!r[0]){
......
......@@ -114,7 +114,7 @@ export default defineComponent({
if(!accountRefVal.value.hasError){
data.loading=true
//hasError
UserService.sendVerify({account:data.account,platform:0}).then(r=>{
UserService.sendVerify({account:data.account,platform:3}).then(r=>{
console.log(r)
data.loading=false
if(r.data.resultCode==ApiResult.SUCCESS){
......
......@@ -6,6 +6,7 @@
</template>
<script lang="ts">
import Store from '../../store'
import { defineComponent, inject, provide, reactive, toRefs, onMounted } from 'vue'
import { currentRouter } from 'src/router'
import useMetaModule from '../../module/meta/metaModule'
......@@ -22,24 +23,17 @@ export default defineComponent({
const pageTitle = inject(DirtionmaryHelper.PAGE_TITLE_KEY) as any
pageTitle.value = t('v102.to.pageTitle')
setTitle(pageTitle.value)
let CustomerId
if (Store.state && Store.state.user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId
}
const search = reactive({
OrderId: '',
OrderNo: '',
OrderStatus: 0,
StartTime: '',
EndTime: '',
// TicketName:'',//景区名称
CouponsName: '',//景区名称
ContactNumber: '',//电话
Name: '',//顾客名称
UseSTime: '',//门票开始时间
UseETime: '',//门票结束时间
MailingState: -1
orderType: 7,//7跟团订单
queryDays: 0,//10天内
orderState: -1,//订单状态
CustomerId: CustomerId,//用户id
})
search.OrderId = currentRouter.currentRoute.value.params.orderId
// search.OrderId = currentRouter.currentRoute.value.params.orderId
provide(DirtionmaryHelper.TICKET_ORDER_SEARCH, search)
const menu = inject(DirtionmaryHelper.MENU_KEYS) as any
......
......@@ -193,6 +193,43 @@ export function getHotelOrderStatus():Array<StandardStatus>{
return status
}
// 行程订单状态
export function getTripOrderStatus():Array<StandardStatus>{
let status=[] as Array<StandardStatus>
let text = ['全部','待付定金','待付尾款','待发团','交易完成','取消']
let color = ['','positive','dark','orange','negative','orange','negative']
let icons = ['','update','done','offline_bolt','cached','offline_bolt','cached']
text.forEach((x,i:number)=>{
status.push({
StatusId:i-1,
StatusName:x,
Icon:icons[i],
Color:`text-${color[i]}`
})
})
return status
}
// 行程订单天数
export function getTripOrderType():Array<StandardStatus>{
let status=[] as Array<StandardStatus>
let text = ['全部','10天内','30天内','60天内']
let days = [0,10,30,60]
let color = ['','positive','dark','orange']
let icons = ['','update','done','offline_bolt']
text.forEach((x,i:number)=>{
status.push({
StatusId: days[i],
StatusName:x,
Icon:icons[i],
Color:`text-${color[i]}`
})
})
return status
}
export function getStrokeStatus():Array<StandardStatus>{
let status=[] as Array<StandardStatus>
let text = [t('hotelorder.orderStatus.normal'),t('v102.vehicle.strokestatus.d1'),t('v102.vehicle.strokestatus.d2'),t('v102.vehicle.strokestatus.d3')]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment