Commit 030394df authored by youjie's avatar youjie

no message

parent e852c3e6
......@@ -300,596 +300,22 @@
</style>
<template>
<div class="page_MyCustomer">
<div class="query-box" style="border:none">
<ul>
<li>
<span>
<em>{{$t('fnc.danhao')}}</em>
<el-input class='w220' v-model='msg.VisaTCNUM' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>订单ID</em>
<el-input class='w220' v-model='msg.OrderId' placeholder="请输入订单ID"></el-input>
</span>
</li>
<li>
<span>
<em>{{$t('hotel.product_name')}}</em>
<el-input class='w220' v-model='msg.Name' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<!-- <li>
<span>
<em>送签日期</em><el-date-picker v-model='msg.SendStartDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>-<el-date-picker v-model='msg.SendEndDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li> -->
<li>
<span>
<em>订单状态</em>
<el-select v-model='msg.VisaOrderStatus'>
<el-option label="不限" value="0" key='0'></el-option>
<el-option label="正常" value="1" key='1'></el-option>
<el-option label="取消" value="2" key='2'></el-option>
<el-option label="待付款" value="3" key='3'></el-option>
</el-select>
</span></li>
<li>
<span>
<em>业务员</em>
<el-select filterable v-model='msg.CreateBy'>
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>公司</em>
<el-select filterable class="w217" v-model="msg.RB_Branch_Id"
:placeholder="$t('pub.pleaseSel')">
<el-option :value="-1" label="不限"></el-option>
<el-option v-for="item in layerCompanyList" :label="item.BName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>{{$t('fnc.bmriqi')}}</em>
<el-date-picker v-model='msg.StartDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-<el-date-picker v-model='msg.EndDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li>
<button class="hollowFixedBtn" @click="getList()">{{$t('pub.searchBtn')}}</button>
<!-- <button class="normalBtn" @click="addShow=true">添加</button> -->
</li>
</ul>
</div>
<div style="display: flex;justify-content: end;margin-bottom: 10px;">
<p><span class="groupTourOrderByTuan_ico"><i style="background-color:#3FC4FF"></i><span>{{$t('fnc.yidadan')}}</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#F1416C"></i><span>{{$t('fnc.yhcnyshenhe')}}</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#ff9800"></i><span>{{$t('fnc.ytongguo')}}</span></span></p>
</div>
<visaOrderList :pagesTitle="pagesTitle" :OrderList="dataList" v-loading="loading" @success="getList"> </visaOrderList>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="this.msg.pageSize" :total="total">
</el-pagination>
<div class="_mc_edit _scrollbar" :class="addShow==true?'edHeight':''">
<p class="_tit">{{$t('salesModule.UpOrder')}}
<span class="fr">
<button class="hollowFixedBtn" type="button" @click="cancelEdit()">{{$t('pub.cancelBtn')}}</button>
<button type="button" class="normalBtn" @click="saveVisa()">{{$t('pub.saveBtn')}}</button>
</span>
</p>
<el-form class="_info_box clearfix" :model="addMsg" :rules="rules" ref="addMsg" label-width="120px">
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('hotel.product_name')" prop="Name">
<el-input v-model="addMsg.Name" :placeholder="$t('pub.pleaseImport')" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('Airticket.Air_Number')" prop="PeopleNum">
<el-input @keyup.native="checkInteger(addMsg,'PeopleNum')" min="1" v-model="addMsg.PeopleNum"
:placeholder="$t('pub.pleaseImport')" maxlength="20" :disabled="updateRemarksStatus"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.CustomerType')">
<el-select v-model="addMsg.ClientType" :disabled="updateRemarksStatus" size=mini>
<el-option :label="$t('salesModule.Trade')" value="1"></el-option>
<el-option :label="$t('Operation.Op_direct')" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('pub.pubRemark')">
<el-input v-model="addMsg.Remark" type="textarea" maxlength="500" :placeholder="$t('pub.pleaseImport')">
</el-input>
</el-form-item>
</el-col>
<el-col :span="4">
</el-col>
</el-row>
<el-row :gutter="20" v-if='visaManagementId>0'>
<el-col :span="4">
<el-form-item :label="$t('visaT.rujingtime')" prop="EnterCountryTime">
<el-date-picker value-format="yyyy-MM-dd" class='w170' v-model='addMsg.EnterCountryTime' type="date"
:disabled="updateRemarksStatus"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('visaT.chujingtime')" prop="LeaveCountryTime">
<el-date-picker value-format="yyyy-MM-dd" class='w170' v-model='addMsg.LeaveCountryTime' type="date"
:disabled="updateRemarksStatus"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('visaT.cfAirport')" prop="DepartAirport">
<el-select v-model="addMsg.DepartAirport" filterable size=mini @change="getFilghtForAir(1)"
:disabled="updateRemarksStatus">
<el-option v-for="item in ChinaAirportList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('visaT.Portofentry')" prop="EnterCountryPort">
<el-select v-model="addMsg.EnterCountryPort" filterable size=mini @change="getFilghtForAir(1)"
:disabled="updateRemarksStatus">
<el-option v-for="item in JapanAirportList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('visaT.Inboundflights')" prop="EnterCountryFlight">
<el-select v-model="addMsg.EnterCountryFlight" filterable size=mini :disabled="updateRemarksStatus">
<el-option v-for="item in FilghtForAirIn" :key="item.ID" :label="item.Flight_number" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
</el-col>
</el-row>
<el-row :gutter="20" v-if='visaManagementId>0'>
<el-col :span="4">
<el-form-item :label="$t('visaT.fhjichang')" prop="GetBackAirport">
<el-select v-model="addMsg.GetBackAirport" filterable size=mini @change="getFilghtForAir(2)"
:disabled="updateRemarksStatus">
<el-option v-for="item in ChinaAirportList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('visaT.Exitport')" prop="LeaveCountryPort">
<el-select v-model="addMsg.LeaveCountryPort" filterable size=mini @change="getFilghtForAir(2)"
:disabled="updateRemarksStatus">
<el-option v-for="item in JapanAirportList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('visaT.Outboundflight')" prop="LeaveCountryFlight">
<el-select v-model="addMsg.LeaveCountryFlight" filterable size=mini :disabled="updateRemarksStatus">
<el-option v-for="item in FilghtForAirOut" :key="item.ID" :label="item.Flight_number" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<VisaProductEditOrderOP></VisaProductEditOrderOP>
</template>
<script>
import visaOrderList from './components/visaOrderList.vue';
import VisaProductEditOrderOP from './VisaProductEditOrderOP.vue';
export default {
components: { visaOrderList },
components: { VisaProductEditOrderOP },
data() {
return {
pagesTitle: 'OP',
userInfo: {},
qjGroupId: -1,
F_InvoiceManagement: false,
F_Finance_Create: false,
msg: {
pageIndex: 1,
pageSize: 12,
StartDate: '',
EndDate: '',
SendStartDate: '',
SendEndDate: '',
Name: '',
VisaTCNUM: '',
VisaOrderStatus: '0',
CreateBy: 0,
RB_Branch_Id: -1,
OrderId: 0
},
addMsg: {
Id: 0,
Remark: '',
VisaId: '',
Name: "",
PeopleNum: '',
EnterCountryTime: '',
LeaveCountryTime: '',
DepartAirport: '',
GetBackAirport: '',
EnterCountryPort: '',
LeaveCountryPort: '',
EnterCountryFlight: '',
LeaveCountryFlight: '',
VisaPlanId: 0,
DepartDate: '',
ClientType: ''
},
rules: {
PeopleNum: [{
required: true,
message: "请输入人数",
trigger: "blur"
}],
//DepartDate:[{required: true, message: "请输入出发日期", trigger: "blur"}],
EnterCountryTime: [{
required: true,
message: "请输入入境日期",
trigger: "blur"
}],
LeaveCountryTime: [{
required: true,
message: "请输入出境日期",
trigger: "blur"
}]
},
updateRemarksStatus: false,
SendStartDate: '',
visaManagementId: 0,
VisaApplyForTypeEnum: [],
JapanAirportList: [],
ChinaAirportList: [],
countryList: [],
MarriageType: [],
VisaDeparturesType: [],
VisaDutyTypeEnum: [],
VisaIdentityTypeEnum: [],
FilghtForAirIn: [],
FilghtForAirOut: [],
dataList: [],
EmployeeList: [],
loading: false,
total: 0,
addShow: false,
currentPage: 1,
EmployeeList:[],
employeeMsg:{ // 员工
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
layerCompanyList:[]
}
},
methods: {
getCompany() {
this.apipost(
"admin_get_BranchGetList",
this.getCompanyMsg,
res => {
if (res.data.resultCode == 1) {
this.layerCompanyList = res.data.data;
} else {}
},
err => {}
);
},
getEmployee() { //员工
let userInfo=this.getLocalStorage();
this.employeeMsg.GroupId = userInfo.RB_Group_id;
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
}, err => {})
},
GetSupperOrderEditAuth() {
var actionCode = this.$AuthCode.F_InvoiceManagement;
this.CheckUserAuth(actionCode, res => {
if (res.data.resultCode == 1 && res.data.data == 1) {
this.F_InvoiceManagement = true;
}
});
var actionCodeNew = this.$AuthCode.F_Finance_Create;
this.CheckUserAuth(actionCodeNew, res => {
if (res.data.resultCode == 1 && res.data.data == 1) {
this.F_Finance_Create = true;
}
});
},
goUrlFinance(name, path, id, tcmun) {
this.$router.push({
name: path,
query: {
id: id,
tcmun: tcmun,
blank: 'y',
tab: name
}
});
},
goIisDetail: function (id) { // 跳转发票详情页面
this.$router.push({
name: 'invoicesManagerDetail',
query: {
id: id,
noDetail: 1,
InvoiceApplyType: 2,
blank: "y",
}
});
},
// 申请发票
goUrlAdd: function (path, OrderId, TCID, customerId, InvoiceApplyType) {
this.$router.push({
name: path,
query: {
OrderId: OrderId,
TCID: TCID,
customerId: customerId ? customerId : 0,
InvoiceApplyType: InvoiceApplyType,
blank: "y",
}
});
},
goUrl2(path, id, name) {
this.$router.push({
name: path,
query: {
id: id,
blank: 'y',
tab: name
}
});
},
getChinaAirportList() { // 获取国内机场
let msg = {
City_id: 0,
Country_id: 2,
TrafficType: 1,
}
this.apipost('airport_post_GetList', msg, res => {
if (res.data.resultCode == 1) {
this.ChinaAirportList = res.data.data
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
getJapanAirportList() { // 获取日本机场
let msg = {
City_id: 0,
Country_id: 651,
TrafficType: 1,
}
this.apipost('airport_post_GetList', msg, res => {
if (res.data.resultCode == 1) {
this.JapanAirportList = res.data.data
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
FilghtForAir(data, type) {
this.apipost('dmc_get_visa_GetFilghtForAir', data, res => {
if (res.data.resultCode == 1) {
if (type == 1) {
this.FilghtForAirIn = res.data.data
} else {
this.FilghtForAirOut = res.data.data
}
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
getFilghtForAir(type) { // 根据机场获取航班号
let msg = {
StartAirId: 0,
EndAirId: 0,
}
if (type == 1) {
if (this.addMsg.DepartAirport && this.addMsg.EnterCountryPort) {
msg.StartAirId = this.addMsg.DepartAirport
msg.EndAirId = this.addMsg.EnterCountryPort
this.FilghtForAir(msg, type)
}
} else {
if (this.addMsg.GetBackAirport && this.addMsg.LeaveCountryPort) {
msg.StartAirId = this.addMsg.LeaveCountryPort
msg.EndAirId = this.addMsg.GetBackAirport
this.FilghtForAir(msg, type)
}
}
},
goUrl(obj) {
let TCIDARR = [];
if (obj.tcid) {
TCIDARR.push(obj.tcid)
}
let orderObj = {
OrderID: obj.id,
OrderSource: 10,
Obj: {},
SourceID: obj.visaId,
TCIDList: TCIDARR
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query: {
'path': 'SaleOrderModule',
'companyID': obj.rB_Branch_Id,
'visaType': true,
'blank': 'y',
'orderObj': JSON.stringify(orderObj)
}
});
},
goUrlT(obj) {
this.$router.push({
name: 'VisaGuestList',
query: {
'id': obj.id,
}
});
},
cancelOrder(obj) {
this.$confirm('是否取消?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('dmc_post_visa_SetOrderCancel', {
OrderId: obj.id
}, res => {
if (res.data.resultCode == 1) {
this.$message.success('取消成功!');
this.getList()
} else {
this.$message.error(res.data.message);
}
}, err => {})
}).catch(() => {
this.$message.info('已取消!');
});
},
getList() { // 获取列表数据
this.loading = true;
this.apipost('dmc_get_visa_GetAdminVisaOrderList', this.msg, res => {
if (res.data.resultCode == 0) {
this.loading = false;
this.dataList = []
} else {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
this.loading = false;
}
}, err => {})
},
getDetail(obj, updateRStatus) {
this.SendStartDate = obj.sendStartDate
this.updateRemarksStatus = updateRStatus;
this.visaManagementId = obj.visaManagementId
this.addMsg.VisaId = obj.visaId
this.addMsg.Id = obj.id
this.addShow = true
this.apipost('dmc_get_visa_GetOrderByVisaId', {
visaId: obj.visaId,
visaOrderId: obj.id
}, res => {
if (res.data.resultCode == 1) {
let x = res.data.data
this.addMsg.Name = x[0].Name
this.addMsg.PeopleNum = x[0].PeopleNum
this.addMsg.Remark = x[0].Remark
this.addMsg.EnterCountryTime = x[0].EnterCountryTime
this.addMsg.LeaveCountryTime = x[0].LeaveCountryTime
this.addMsg.DepartAirport = x[0].DepartAirport
this.addMsg.GetBackAirport = x[0].GetBackAirport
this.addMsg.EnterCountryPort = x[0].EnterCountryPort
this.addMsg.LeaveCountryPort = x[0].LeaveCountryPort
this.getFilghtForAir(1)
this.getFilghtForAir(2)
this.addMsg.EnterCountryFlight = x[0].EnterCountryFlight
this.addMsg.LeaveCountryFlight = x[0].LeaveCountryFlight
this.addMsg.VisaPlanId = x[0].VisaPlanId
//this.addMsg.DepartDate=x[0].DepartDate
this.addMsg.ClientType = x[0].ClientType.toString()
}
}, err => {})
},
saveVisa() { // 保存
this.$refs['addMsg'].validate((valid) => {
if (valid) {
this.apipost('dmc_get_visa_SetVisaOrder', this.addMsg, res => {
if (res.data.resultCode == 1) {
this.addMsg = {
Remark: '',
VisaId: '',
Name: "",
PeopleNum: '',
EnterCountryTime: '',
LeaveCountryTime: '',
DepartAirport: '',
GetBackAirport: '',
EnterCountryPort: '',
LeaveCountryPort: '',
EnterCountryFlight: '',
LeaveCountryFlight: '',
VisaPlanId: 0,
DepartDate: ''
}
this.$message.success(res.data.message)
this.addShow = false
this.getList()
} else {
this.$message.error(res.data.message)
}
}, err => {})
} else {
return false;
}
});
},
cancelEdit() { // 取消新增
this.addShow = false
this.addMsg = {
Name: '',
Remark: '',
VisaId: '',
Name: "",
PeopleNum: '',
}
this.resetForm('addMsg')
},
resetForm(formName) { // 重置表单
this.$refs[formName].resetFields();
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
},
mounted() {
this.qjGroupId = this.QjGroupId();
this.userInfo = this.getLocalStorage();
this.getEmployee()
this.getList()
this.getCompany()
this.getChinaAirportList()
this.getJapanAirportList()
this.GetSupperOrderEditAuth();
}
}
......
......@@ -68,16 +68,67 @@
</el-select>
</span>
</li>
<li>
<span>
<em>出票状态</em>
<el-select v-model='msg.TicketStatus' class="w200">
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in ticketingStatusList'
:label='item.Name'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>出签状态</em>
<el-select v-model='msg.VisaStatus' class="w200">
<el-option v-for='item in VisaList'
:label='item.Name'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>订单状态</em>
<el-select v-model='msg.OrderStatus' class="w200">
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in OrderStatusList'
:label='item.Name'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>收款状态</em>
<el-select v-model='msg.Q_IsCollect' class="w200">
<el-option v-for='item in QIsCollectList'
:label='item.Name'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>{{$t('OrderList.search.orderNum')}}</em>
<el-input clearable type="Number" v-model="msg.OrderNo" :placeholder="$t('OrderList.search.orderNum')" class="w200"/>
</span>
</li>
<!-- <li>
<li>
<span><em>订单ID</em>
<el-input clearable type="Number" v-model="msg.OrderId" placeholder="订单ID" class="w200"/>
</span>
</li> -->
</li>
<!-- <li>
<span><em>电话</em>
<el-input clearable v-model="msg.Mobile" placeholder="电话" class="w200"/>
......@@ -116,8 +167,44 @@
</el-date-picker>
</span>
</li>
<li>
<span>
<em @click="showWarningSearch=true">高级查询</em>
<el-popover width="260" v-model="showWarningSearch" trigger="click">
<div>
<div class="TC_queryTitle">高级查询</div>
<div class="clearfix">
<div class="TC_leftSearch">
<div>
<span>{{$t('system.query_airCompanyName')}}</span>
<!-- <el-select v-model="msg.AirTicketId" filterable :placeholder="$t('system.ph_buxian')"
class="w150">
<el-option :label="$t('system.ph_buxian')" :value="queryCommonData.SelectDefaultValue">
</el-option>
<el-option v-for="item in queryCommonData.AirlineList" :key="item.AirLineId"
:label="item.AlName" :value="item.AirLineId"></el-option>
</el-select> -->
<el-date-picker
class="w150"
style="height: 34px;"
value-format="yyyy-MM-dd"
v-model="Datelist"
type="daterange"
:range-separator="$t('OrderList.zhi')"
:start-placeholder="$t('OrderList.star')"
:end-placeholder="$t('OrderList.end')" @change="getDates">
</el-date-picker>
</div>
</div>
</div>
<button class="normalBtn TC_SearchBtn"
@click="GetList(),showWarningSearch=false">{{$t('pub.searchBtn')}}
</button>
</div>
</el-popover>
</span>
</li>
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="msg.pageIndex=1,currentPage=1,GetList()" />
</li>
......@@ -213,6 +300,7 @@
components: { OrderList },
data() {
return {
showWarningSearch: false,
TotalMsg: null,
MultipleChoiceList: [ //多选项目
{
......@@ -250,9 +338,9 @@
StartCityName: "", //出发城市
EndCityName: "", //到达城市
EnterID: "", //业务员id
TicketStatus: "0", //出票状态
TicketStatus: 0, //出票状态
VisaStatus: "0", //出签状态
OrderStatus: "0", //订单状态
OrderStatus: 0, //订单状态
Q_IsCollect: "0", //收款状态
StartTime: "",
EndTime: "",
......@@ -290,6 +378,18 @@
PostId:0,
IsLeave:0,
},
OrderStatusList: [],
QIsCollectList: [
{ Name: "不限", Id: "0" },
{ Name: "已收齐", Id: "1" },
{ Name: "未收齐", Id: "2" },
],
ticketingStatusList: [],
VisaList: [
{ Name: "不限", Id: "0" },
{ Name: "未出签", Id: "1" },
{ Name: "已出签", Id: "2" },
],
};
},
watch: {
......@@ -306,6 +406,26 @@
}
},
methods: {
// 获取出票状态枚举
GetTicketStatusEnumList() {
this.crmapipost("/api/Order/GetTicketStatusEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.ticketingStatusList = res.data.data;
} else {
this.$message.error(res.data.message);
}
});
},
// 获取订单状态枚举
GetOrderStatusEnumList() {
this.crmapipost("/api/Order/GetOrderStatusEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.OrderStatusList = res.data.data;
} else {
this.$message.error(res.data.message);
}
});
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
......@@ -537,6 +657,8 @@
if(this.Title!='销售'){
this.getEmployee()
}
this.GetOrderStatusEnumList()
this.GetTicketStatusEnumList()
this.Datelist = this.getyMDOne()
this.userInfo = this.getLocalStorage();
this.GetList();
......
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