Commit 6dbbec8e authored by youjie's avatar youjie

合同

parent c78a1ec9
This diff is collapsed.
<style>
@import "../../assets/css/newTravelManager.css";
@import '../common/BaseListManager.css';
@import "../../assets/css/flex.css";
.color_red_order {
color: #e95252 !important;
}
......@@ -1774,23 +1775,8 @@
</div>
<!-- 表格 -->
<div style="width: 100%; height: auto; overflow-x: auto" class="ownScrollbarStyle" v-loading="loading">
<groupOrder v-if="userInfo.SimpleEasy&&userInfo.SimpleEasy==1" :list="list" :orderList="orderList"
:logList="logList" :redBagList="redBagList" :qjGroupId="qjGroupId" :isShow="isShow"
:showID="showID" :TransferMission="TransferMission" :isEditOrderCreate="isEditOrderCreate"
:isOP="isOP"
@goIisDetail="goIisDetail" @goUrlTS="goUrlTS" @goContract="goContract"
@goSingleContract="goSingleContract" @goProtocol="goProtocol" @goDisclaimer="goDisclaimer"
@goInvetig="goInvetig" @SpecialAPP="SpecialAPP" @deleteItem="deleteItem"
@ShenQingPhoto="ShenQingPhoto" @Discount="Discount" @goUrlAdd="goUrlAdd"
@getOrderGender="getOrderGender" @transfer="transfer" @getHouse="getHouse"
@toTrip="toTrip" @getSalerInfo="getSalerInfo" @getLogDetail="getLogDetail"
@getRemarks="getRemarks" @getDetail="getDetail" @downLoadFile="downLoadFile"
@getMembersDetail="getMembersDetail" @seeBJD="seeBJD" @gotoProduct="gotoProduct"
@goUrlX="goUrlX" @getOrderDetail="getOrderDetail" @goUrlHappy="goUrlHappy"
@getRedBag="getRedBag" @goUrlT="goUrlT" @setChargeLoss="setChargeLoss"
@goUrlSFD="goUrlSFD" @uploadFileBtn="uploadFileBtn" @childByValue="childByValue"
></groupOrder>
<table v-else class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0">
<table class="groupTourOrderSearchTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="210">{{ $t("fnc.danhao") }}&{{ $t("visa.v_tuanhao") }}</th>
<th width="120">{{ $t("fnc.khxinxi") }}</th>
......@@ -2370,12 +2356,37 @@
<span>{{isShow===index ? $t('objFill.yingcanctmzclh') : $t('objFill.xianshictmzclh')}}
</span>
</div>
<div v-if="item.otherContractList&&(qjGroupId == userInfo.RB_Group_id || F_ContractManagement)">
<span class="GO_Contract"
@click="goSingleContract(item)">{{item.otherContractList.length==0? $t('objFill.danxianght') : $t('objFill.chankandxht')}}</span>
</div>
<div v-if="
<div class="row">
<div v-if="item.otherContractList&&(qjGroupId == userInfo.RB_Group_id || F_ContractManagement)">
<span class="GO_Contract"
@click="goSingleContract(item)">{{item.otherContractList.length==0? $t('objFill.danxianght') : $t('objFill.chankandxht')}}</span>
</div>
<template v-if="item.otherContractList && item.otherContractList.length > 0">
<!-- {{$t('objFill.danxianght')}}: -->
<span v-for="sItem in item.otherContractList" class="GO_Contract mr-sm"
@click="sItem.thirdContractID&&sItem.thirdContractFileUrl?window.open(sItem.thirdContractFileUrl):goSingleContract(item, sItem)">
<template v-if="sItem.thirdContractID">
{{sItem.tourists_Name+sItem.thirdContractID}}
<span v-if="sItem.thirdContractState==0" class="c9e">待上传</span>
<span v-if="sItem.thirdContractState==1" class="c3FC4FF">已生成</span>
<span v-if="sItem.thirdContractState==2" class="c20C997">已签署</span>
<span v-if="sItem.thirdContractState==3" class="cF1416C">已作废</span>
<span v-if="sItem.thirdContractState==4" class="cff9800">待签署</span>
<span v-if="sItem.thirdContractState==5" class="c9e">待作废</span>
</template>
<template v-else>
{{ sItem.tourists_Name+sItem.t_ContractNum }}
<template v-if="sItem.status==3">
<font style="color:red">{{$t('fnc.bohui')}}</font>
</template>
<template v-if="sItem.status==2">
<font style="color:green">{{$t('objFill.shenhetongguo')}}</font>
</template>
</template>
</span>
</template>
<div v-if="
item.contractNum.length == 0 &&
(qjGroupId == userInfo.RB_Group_id || F_ContractManagement)
">
......@@ -2384,17 +2395,36 @@
</div>
<div v-else>
<template v-if="item.contractNum && item.contractNum.length > 0">
<span v-for="sItem in item.contractNum" class="GO_Contract" @click="goContract(item, sItem)">
{{ sItem.client_Name + "" + sItem.contractNum }}
<template v-if="sItem.auditContract==3">
<font style="color:red">{{$t('fnc.bohui')}}</font>
{{$t('objFill.chujinghet')}}
<span v-for="sItem in item.contractNum" class="GO_Contract mr-sm"
@click="sItem.thirdContractID&&sItem.thirdContractFileUrl?window.open(sItem.thirdContractFileUrl):goContract(item, sItem)">
<template v-if="sItem.thirdContractID">
{{sItem.client_Name+sItem.thirdContractID}}
<span v-if="sItem.thirdContractState==0" class="c9e">待上传</span>
<span v-if="sItem.thirdContractState==1" class="c3FC4FF">已生成</span>
<span v-if="sItem.thirdContractState==2" class="c20C997">已签署</span>
<span v-if="sItem.thirdContractState==3" class="cF1416C">已作废</span>
<span v-if="sItem.thirdContractState==4" class="cff9800">待签署</span>
<span v-if="sItem.thirdContractState==5" class="c9e">待作废</span>
</template>
<template v-if="sItem.auditContract==2">
<font style="color:green">{{$t('objFill.shenhetongguo')}}</font>
<template v-else>
{{ sItem.client_Name + "" + sItem.contractNum }}
<template v-if="sItem.auditContract==3">
<font style="color:red">{{$t('fnc.bohui')}}</font>
</template>
<template v-if="sItem.auditContract==2">
<font style="color:green">{{$t('objFill.shenhetongguo')}}</font>
</template>
</template>
</span>
</template>
</div>
</div>
<div v-if="item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
style="width: 101%;border-top: 1px solid #cccccc;margin-top: 5px">
<span style="color:red;margin-top: 10px;display: inline-block">{{$t('ground.tuiJingdian')}}:</span>
......@@ -2729,9 +2759,21 @@
import pinkDrawer from '../common/pinkDrawer.vue';
import addOrder from './components/addOrder.vue';
import addConfig from "./components/addConfig.js";
import groupOrder from "./components/groupOrder.vue";
import editOPRemarks from "./components/editOPRemarks.vue";
export default {
components: {
payurlItem: payURL,
payurlItem1: payURL1,
tripDownLoadCommon: tripDownLoadCommon,
updateSalesMan: updateSalesMan,
commissionDialog,
orderRemark: orderRemark,
PriceDetail,
DateLimit,
pinkDrawer,
addOrder,
editOPRemarks,
},
data() {
return {
selectedSpotData: null,
......@@ -3074,20 +3116,6 @@
isOP: 0,
};
},
components: {
payurlItem: payURL,
payurlItem1: payURL1,
tripDownLoadCommon: tripDownLoadCommon,
updateSalesMan: updateSalesMan,
commissionDialog,
orderRemark: orderRemark,
PriceDetail,
DateLimit,
pinkDrawer,
addOrder,
groupOrder,
editOPRemarks,
},
filters: {
priceFormat(value) {
let nStr = value.toFixed(2);
......@@ -3287,12 +3315,24 @@
});
},
//跳转单单项合同
goSingleContract(item) {
goSingleContract(item,sItem) {
let query = {
TCID: item.tcid,
orderID: item.orderId,
}
this.OpenNewPage('/ContractManage', query)
if(!sItem) {
query = {
}
this.OpenNewPage('/ContractManage', query)
}
else {
query = {
...query,
id: sItem.id,
}
this.OpenNewPage('/SingleContract', query)
}
},
//跳转到保密协议
goProtocol(item, sItem) {
......
This diff is collapsed.
......@@ -282,6 +282,11 @@
.TC_LASTTD div {
margin-bottom: 10px;
}
.ContractNum {
font-size: 16px !important;
color: #5882bb;
margin-left: 20px;
}
</style>
<template>
......@@ -296,11 +301,12 @@
<div class="contractTit">
<span>
{{ CtObj.company }}团队出境旅游合同
<span style="color: blue; font-size: 14px; font-weight: bold">{{
CtObj.contractNum
}}</span>
<span class="ContractNum" v-if="CtObj.contractNum">合同编号:{{ CtObj.contractNum }}</span>
</span>
<div class="pull-right">
<input v-if="CtObj.thirdContractState == 1" type="button" class="TCbtn-info" value="发送短信通知" @click="SMSnotification()"/>
<input v-if="CtObj.thirdContractFileUrl" type="button" class="TCbtn-info" @click="window.open(CtObj.thirdContractState)"
:value="$t('sm.yulan')" />
<input type="button" class="TCbtn-info" v-if="CtObj.companySignature == '' && CtObj.auditContract == 2"
@click="(isShowFade = true), GetQrCode()" value="客户签字链接" />
<span v-if="CtObj.auditContract == 1" style="font-size: 12px; color: red">等待行政审批通过后获取签字链接</span>
......@@ -323,12 +329,14 @@
</template>
<template v-if="CtObj.auditContract != 2">
<el-button type="primary" size="medium" @click="submitForm('CtObj')" :loading="SaveLoading">
{{$t('pub.saveBtn')}}</el-button>
<input class="btn-warning" type="button" @click="submitForm('CtObj')"
:loading="SaveLoading"
:value="$t('pub.saveBtn')"></input>
</template>
<template v-if="CurrentUserInfo.EmployeeId == 615">
<el-button type="primary" size="medium" @click="submitForm('CtObj')" :loading="SaveLoading">
{{$t('pub.saveBtn')}}(S)</el-button>
<input class="btn-warning" type="button" @click="submitForm('CtObj')"
:loading="SaveLoading"
:value="$t('pub.saveBtn')+'(S)'"></input>
</template>
</div>
</div>
......@@ -648,7 +656,8 @@
<tr>
<td>
<el-form-item label="尾款支付日期" prop="payDate">
<el-input type="text" class="w300" v-model="CtObj.payDate"></el-input>
<el-date-picker type="date" class="w300" v-model="CtObj.payDate" value-format="yyyy-MM-dd" placeholder="支付日期选择"
:clearable="false"></el-date-picker>
</el-form-item>
</td>
</tr>
......@@ -1705,12 +1714,48 @@
backGuest: [],
content: "发送短信", //按钮显示内容
SaveLoading: false, //保存Loading
SMLoading: false,
};
},
components: {
"my-edit": MyEdit
},
methods: {
SMSnotification(){
if(this.SMLoading) return
this.$confirm("是否发送短信通知?", this.$t("tips.tips"), {
confirmButtonText: this.$t("pub.sureBtn"),
cancelButtonText: this.$t("pub.cancelBtn"),
type: "warning",
})
.then(() => {
var that = this;
let msg = {
ContractId: that.CtObj.Id,
ContractType: 1,
}
this.SMLoading = true
that.apipost(
"travelcontract_post_ReSendContract",
msg,
res => {
if (res.data.resultCode == 1) {
that.SMLoading = false
that.Success(this.$t('objFill.chaozuochenggong'));
that.getList()
} else {
that.SMLoading = false
that.Error(res.data.message);
}
},err=>{
that.SMLoading = false
}
);
})
.catch(() => {
});
},
AddGuest() {
this.CtObj.guestInfo.push({
Name: "",
......@@ -2081,21 +2126,31 @@
});
},
sendAudit() {
this.apipost(
"travelcontract_get_UpdateAuditContractService", {
AuditContract: 1,
Id: this.CtObj.Id,
},
(res) => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
},
null
);
var that = this;
var tipMsg = that.$t('objFill.tijiaoshenhe');
var postMsg = {
ID: this.CtObj.Id,
Status: 1
}
this.$confirm(tipMsg, this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning",
}).then(() => {
this.apipost(
"travelcontract_get_UpdateAuditContractService", postMsg,
(res) => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
},
null
);
});
},
//添加补充协议
addRecord() {
......
<style>
@import "../../assets/css/flex.css";
/*灰色遮罩层*/
.ContractManage .fade {
width: 100%;
......@@ -163,10 +164,11 @@
<th width="100">{{$t('visa.v_tuanhao')}}</th>
<th width="150">{{$t('hotel.product_name')}}</th>
<th width="100">{{$t('objFill.hetongzt')}}</th>
<th width="100">旅游局合同</th>
<th width="100">{{$t('active.cl_addPp')}}</th>
<th width="120">{{$t('fnc.cjshijian')}}</th>
<th width="120">{{$t('objFill.shifougz')}}</th>
<th width="130">{{$t('hotel.table_operat')}}</th>
<th width="200">{{$t('hotel.table_operat')}}</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{ item.ID }}
......@@ -194,6 +196,20 @@
<td>{{ item.C_TCNUM }}</td>
<td>{{ item.C_ProductName }}</td>
<td>{{ item.StatusStr }}</td>
<td>
<span v-if="item.ThirdContractID" class=""
:class="[item.ThirdContractFileUrl?'pointer c059FF6':'']"
@click="item.ThirdContractFileUrl?window.open(item.ThirdContractFileUrl):''">
{{item.ThirdContractID}}
<span v-if="item.ThirdContractState==0" class="c9e">待上传</span>
<span v-if="item.ThirdContractState==1" class="c3FC4FF">已生成</span>
<span v-if="item.ThirdContractState==2" class="c20C997">已签署</span>
<span v-if="item.ThirdContractState==3" class="cF1416C">已作废</span>
<span v-if="item.ThirdContractState==4" class="cff9800">待签署</span>
<span v-if="item.ThirdContractState==5" class="c9e">待作废</span>
</span>
<template v-else>-</template>
</td>
<td>{{ item.CreateByName }}</td>
<td>{{ item.CreateTimeStr }}</td>
<td> <span v-if="item.IsTravelAgencySignature==0">{{$t('objFill.weigaizhang')}}</span>
......
<style>
@import "../../assets/css/flex.css";
.shenheInfoBox{
display: flex;
flex-direction: row;
......@@ -128,6 +129,7 @@
<th width="100">{{$t('hotel.hotel_StarDate')}}</th>
<th width="100">{{$t('sm.fanhuiDate')}}</th>
<th width="80">{{$t('hotel.hotel_status')}}</th>
<th width="80">旅游局合同</th>
<th width="80">{{$t('objFill.shifougz')}}</th>
<th width="125">{{$t('active.cl_addPp')}}</th>
<th width="200">{{$t('hotel.table_operat')}}</th>
......@@ -148,6 +150,20 @@
<span v-if="item.AuditContract==1" style="color:blue;">{{$t('objFill.dsh')}}</span>
<span v-if="item.AuditContract==2" style="color:green;">{{$t('objFill.shenhetongguo')}}</span>
</td>
<td>
<span v-if="item.ThirdContractID"
:class="[item.ThirdContractFileUrl?'c3FC4FF pointer':'']"
@click="item.ThirdContractFileUrl?window.open(item.ThirdContractFileUrl):''">
{{item.ThirdContractID}}
<span v-if="item.ThirdContractState==0" class="c9e">待上传</span>
<span v-if="item.ThirdContractState==1" class="c3FC4FF">已生成</span>
<span v-if="item.ThirdContractState==2" class="c20C997">已签署</span>
<span v-if="item.ThirdContractState==3" class="cF1416C">已作废</span>
<span v-if="item.ThirdContractState==4" class="cff9800">待签署</span>
<span v-if="item.ThirdContractState==5" class="c9e">待作废</span>
</span>
<template v-else>-</template>
</td>
<td>
<span v-if="item.IsTravelAgencySignature==0">{{$t('objFill.weigaizhang')}}</span>
<span v-if="item.IsTravelAgencySignature==1" style="color:green;">{{$t('objFill.yigaizhnag')}}</span>
......@@ -301,6 +317,7 @@
<th width="100">{{$t('visa.v_tuanhao')}}</th>
<th width="150">{{$t('hotel.product_name')}}</th>
<th width="100">{{$t('objFill.hetongzt')}}</th>
<th width="100">旅游局合同</th>
<th width="100">{{$t('active.cl_addPp')}}</th>
<th width="120">{{$t('fnc.cjshijian')}}</th>
<th width="80">{{$t('objFill.shifougz')}}</th>
......@@ -335,6 +352,20 @@
<span v-else-if="item.Status==2" style="color:green;">{{$t('objFill.shenhetongguo')}}</span>
<span v-else>{{item.StatusStr}}</span>
</td>
<td>
<span v-if="item.ThirdContractID"
:class="[item.ThirdContractFileUrl?'c3FC4FF pointer':'']"
@click="item.ThirdContractFileUrl?window.open(item.ThirdContractFileUrl):''">
{{item.ThirdContractID}}
<span v-if="item.ThirdContractState==0" class="c9e">待上传</span>
<span v-if="item.ThirdContractState==1" class="c3FC4FF">已生成</span>
<span v-if="item.ThirdContractState==2" class="c20C997">已签署</span>
<span v-if="item.ThirdContractState==3" class="cF1416C">已作废</span>
<span v-if="item.ThirdContractState==4" class="cff9800">待签署</span>
<span v-if="item.ThirdContractState==5" class="c9e">待作废</span>
</span>
<template v-else>-</template>
</td>
<td>{{ item.CreateByName }}</td>
<td>{{ item.CreateTimeStr }}</td>
<td>
......@@ -630,6 +661,7 @@
Id: 0, //合同编号
AuditContract: 0, //审核状态
AuditContractReason: "", //审核原因
IsApplyContract: 0,//1 提交到旅游局
},
BoHuiObj: {
C_DayNum: '',
......@@ -715,10 +747,22 @@
},
//显示合同弹窗
showContractDialog(item, type) {
let that = this
this.auditMsg.Id = item.Id;
this.auditMsg.AuditContract = type;
if (type == 2) {
this.AuditElec();
this.$confirm('是否提交到旅游局', this.$t('tips.tips'), {
confirmButtonText: '确认提交到旅游局',
cancelButtonText: '通过',
type: "warning",
}).then(() => {
that.auditMsg.IsApplyContract = 1
that.AuditElec();
}).catch(()=>{
that.auditMsg.IsApplyContract = 0
that.AuditElec();
});
} else {
this.hetongTitle = `${this.$t('objFill.v101.administrative.hetongbohui')}`
this.isShowContract = true;
......@@ -732,6 +776,7 @@
this.Success(res.data.message);
this.getListOutTract();
this.closeContractDialog();
this.auditMsg.IsApplyContract = 0
} else {
this.Error(res.data.message);
}
......@@ -835,33 +880,51 @@
if (status == 3) {
message = this.$t('fnc.bohui');
}
this.$confirm(that.$t('objFill.shifou') + "【" + message + "】" + this.$t('objFill.v101.administrative.chihet') +
if(status==2){
this.$confirm('是否提交到旅游局', this.$t('tips.tips'), {
confirmButtonText: '确认提交到旅游局',
cancelButtonText: '通过',
type: "warning",
}).then(() => {
that.auditMsg.IsApplyContract = 1
that.setContractStatus(item,status);
}).catch(()=>{
that.auditMsg.IsApplyContract = 0
that.setContractStatus(item,status);
});
}else{
this.$confirm(that.$t('objFill.shifou') + "【" + message + "】" + this.$t('objFill.v101.administrative.chihet') +
"?", {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning"
})
.then(() => {
this.apipost('travelcontract_post_UpdateTravelContractStatusService', {
ID: item.ID,
Status: status,
AuditContractReason: status==3?this.auditMsg.AuditContractReason:'',
C_DayNum: item.C_DayNum,
C_StartDate: item.StartDateStr,
C_EndDate: item.EndDateStr,
C_NightNum: item.C_NightNum,
}, res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getOtherList();
that.closeContractDialog()
} else {
that.Error(res.data.message);
}
})
that.setContractStatus(item,status)
})
.catch(() => {});
}
},
setContractStatus(item,status){
this.apipost('travelcontract_post_UpdateTravelContractStatusService', {
ID: item.ID,
Status: status,
AuditContractReason: status==3?this.auditMsg.AuditContractReason:'',
C_DayNum: item.C_DayNum,
C_StartDate: item.StartDateStr,
C_EndDate: item.EndDateStr,
C_NightNum: item.C_NightNum,
IsApplyContract: this.auditMsg.IsApplyContract,
}, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getOtherList();
this.closeContractDialog()
this.auditMsg.IsApplyContract = 0
} else {
this.Error(res.data.message)
}
})
},
//单项、一日游、境内旅游合同
getOtherList() {
......
This diff is collapsed.
......@@ -3638,14 +3638,6 @@ export default {
title: '跟团游订单'
},
},
{ // 销售 跟团游订单
path: '/groupTourOrderOP',
name: 'groupTourOrderOP',
component: resolve => require(['@/components/SalesModule/groupTourOrder'], resolve),
meta: {
title: '跟团游订单OP'
},
},
{ // 销售 特价申请函
path: '/SpecialList',
name: 'SpecialList',
......
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