Commit f69511ac authored by 黄奎's avatar 黄奎
parents 1389e377 048cfb8e
......@@ -8133,6 +8133,29 @@ export const obj = {
qingsrzdrs: 'Please enter maximum number of people ',
chakpakfy: 'View pak rebate information ',
dangqianfyje: ' Current rebate amount ',
dahongbaoht: 'Big red envelope contract ',
hetongshu: 'Contract quantity ',
jiesuants: 'Billing days ',
hetongdjsts: 'The contract can be settled after a few days ',
youxiaoqks: 'Effective date starts ',
youxiaoqjs: 'Expiration date ends ',
hetongtongguo: 'The contract is approved ',
fanyongnianfen: 'Rebate year ',
hetongdhbts: 'Please fill in the settlement days, contract start date, contract end date, contract rebate year ',
xinzenghet: 'New contract ',
bianjihet: 'Edit Contract ',
suoshuyinh: 'Affiliated bank ',
qingshuryhmc: 'Please enter bank name ',
qingshurkaih: 'Please enter card number ',
quanixanren: 'Please set permissions ',
qingxuanzfynfen: 'Please select rebate year ',
hetongyxq: 'Duration of contract ',
zhuzhanghxx: 'Main account information ',
qingxzzhuzhxx: 'Please select main account info ',
jiesuanshijian: 'Submit settlement time ',
chunxuzhong: 'Still in existence ',
dakuanzhong: 'In progress ',
lianmenght: 'Alliance Contract ',
},
//#endregion
}
......
......@@ -2181,7 +2181,7 @@ export const obj = {
lvxingsjdtsdh: '旅行社監督、苦情の電話',
toushudh: '苦情の電話',
xingchengdsm: [
'「旅程表」は次のような内容に対して明確な説明をすべき:',
'「旅程表」は次のような内容に対して明確な説明をすべき: ',
'旅行日程の出発地、通過地、目的地、終了地で、路線日程の時間(自然日に基づいて計算して、飛行机、車、船などの移動時間を含みます。24時間未満は一日で計算します。)',
'旅行先の通信社の名前、住所、連絡先と連絡先の電話;',
'交通サービスの手配とその標準(明確な交通机関や等級、出発時間や中継などの情報を必要とします);',
......@@ -5725,7 +5725,7 @@ export const obj = {
goumaishen: '購買省',
qingsrgmsl: '購入数量を入力してください',
xuanzheyh: 'ユーザーを選択して',
shangpin: '商品:',
shangpin: '商品: ',
xinzengdiz: '新規アドレス',
shouhuor: '荷受人',
shenshiqu: '省市区',
......@@ -8133,6 +8133,29 @@ export const obj = {
qingsrzdrs: '最大人数を入力してください',
chakpakfy: '査看pak帰行情報',
dangqianfyje: '現在の繰返し手数料',
dahongbaoht: 'ご祝儀です',
hetongshu: '契約数」です',
jiesuants: '決済します',
hetongdjsts: '契約終了の数日後に決済できます',
youxiaoqks: '有効期日開始」です',
youxiaoqjs: '有効期日終了です',
hetongtongguo: '契約は成立しました',
fanyongnianfen: 'お帰りになりました',
hetongdhbts: '決済日数、契約開始日、契約終了日、契約返送年」を記入していただきます',
xinzenghet: '新規契約」です',
bianjihet: '編集契約書です',
suoshuyinh: '銀行に所属します',
qingshuryhmc: '銀行名を入力してください',
qingshurkaih: 'カード番号を入力してください',
quanixanren: '権限を設定してください',
qingxuanzfynfen: 'お手伝いさんに戻る年を選んでください',
hetongyxq: '契約有効期間',
zhuzhanghxx: '主アカウント情報',
qingxzzhuzhxx: '主アカウント情報を選択してください',
jiesuanshijian: '決済時間を提出します',
chunxuzhong: '継続中です',
dakuanzhong: '金をかけます',
lianmenght: 'リーグ契約」です',
},
//#endregion
}
......
......@@ -8144,6 +8144,18 @@ export const obj = {
hetongdhbts: '请填写结算天数、合同开始日期、合同结束日期、合同返佣年份',
xinzenghet: '新增合同',
bianjihet: '编辑合同',
suoshuyinh: '所属银行',
qingshuryhmc: '请输入银行名称',
qingshurkaih: '请输入卡号',
quanixanren: '请设置权限',
qingxuanzfynfen: '请选择返佣年份',
hetongyxq: '合同有效期',
zhuzhanghxx: '主账号信息',
qingxzzhuzhxx: '请选择主账号信息',
jiesuanshijian: '提交结算时间',
chunxuzhong: '存续中',
dakuanzhong: '打款中',
lianmenght: '联盟合同',
},
//#endregion
}
......
......@@ -8133,6 +8133,29 @@ export const obj = {
qingsrzdrs: '請輸入最大人數',
chakpakfy: '查看pak返傭信息',
dangqianfyje: '當前返傭金額',
dahongbaoht: '大紅包合同',
hetongshu: '合同數量',
jiesuants: '結算天數',
hetongdjsts: '合同到期幾天之後可以結算',
youxiaoqks: '有效日期開始',
youxiaoqjs: '有效日期結束',
hetongtongguo: '合同通過',
fanyongnianfen: '返傭年份',
hetongdhbts: '請填寫結算天數、合同開始日期、合同結束日期、合同返傭年份',
xinzenghet: '新增合同',
bianjihet: '編輯合同',
suoshuyinh: '所屬銀行',
qingshuryhmc: '請輸入銀行名稱',
qingshurkaih: '請輸入卡號',
quanixanren: '請設置權限',
qingxuanzfynfen: '請選擇返傭年份',
hetongyxq: '合同有效期',
zhuzhanghxx: '主賬號信息',
qingxzzhuzhxx: '請選擇主賬號信息',
jiesuanshijian: '提交結算時間',
chunxuzhong: '存續中',
dakuanzhong: '打款中',
lianmenght: '聯盟合同',
},
//#endregion
}
......
<style scoped>
.LianMengManagement .el-button {
width: 30px;
height: 30px;
line-height:0px;
text-align: center;
}
.LianMengManagement .el-button i {
color: #fff;
}
.LianMengManagement .icon-chakan {
position: relative;
top: -3px;
left: 5px;
}
.heightauto .el-input {
height: auto !important;
}
/* .LianMengManagement ._icon_btn i {
width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
outline: none;
}
.LianMengManagement ._icon_btn i.el-icon-edit {
background-color: #47BF8C;
}
.LianMengManagement ._icon_btn i.el-icon-check {
background-color: #E95252;
}
.LianMengManagement ._icon_btn i.el-icon-search {
background-color: #E6A23C;
} */
</style>
<template>
<div class="LianMengManagement">
<div class="query-box">
<ul>
<!-- <li>
<span>
<em>{{$t('system.query_airName')}}</em>
<el-input v-model="msg.AllianceName" maxlength="50" class="w150"></el-input>
</span>
</li> -->
<li>
<input type="button" class="normalBtn" :value="$t('pub.addBtn')"
@click="dialogFormVisible = true,addType = 1, iniTAddMsg" />
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="getList()" />
</li>
</ul>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th width="260">{{$t('objFill.v102.hetongyxq')}}</th>
<th>{{$t('objFill.v102.jiesuants')}}</th>
<th>{{$t('objFill.v102.jiesuanshijian')}}</th>
<th>{{$t('objFill.hetongzt')}}</th>
<th width="130">{{$t('hotel.table_operat')}}</th>
</tr>
<tr v-for="(item,index) in dataList" :key="index">
<td>{{item.StartTime}}-{{ item.EndTime }}</td>
<td>{{item.C_DayNum}}</td>
<td>{{item.C_PayDate?item.C_PayDate:'-'}}</td>
<td>
<!-- 同行大红包合同状态,1-未生效,2-存续中 3待结算 4待审核 5打款中 6已完成 -->
<span class="" v-if="item.ContractStatus == 1">{{$t('active.cl_wsxiao')}}</span>
<span class="" v-if="item.ContractStatus == 2">{{$t('objFill.v102.chunxuzhong')}}</span>
<span class="" v-if="item.ContractStatus == 3">{{$t('objFill.v101.FinancialModule.daijies')}}</span>
<span class="" v-if="item.ContractStatus == 4">{{$t('objFill.dsh')}}</span>
<span class="" v-if="item.ContractStatus == 5">{{$t('objFill.v102.dakuanzhong')}}</span>
<span class="" v-if="item.ContractStatus == 6">{{$t('leader.leader_HasCompleted')}}</span>
</td>
<!-- <td>{{ item.TravelAgency_SignAddress }}</td> -->
<td class="_icon_btn">
<!-- <el-tooltip class="item" effect="dark" :content="$t('objFill.xz')+$t('objFill.v102.lianmenght')" placement="top-start">
<el-button type="success" size="small" icon="el-icon-download" circle @click="DownLoadContract(item)">
</el-button>
</el-tooltip> -->
<el-tooltip class="item" effect="dark" :content="$t('fnc.chakan')+$t('objFill.v102.lianmenght')" placement="top-start">
<el-button type="success" size="small" icon="el-icon-view" circle @click="ViewContract(item)"></el-button>
</el-tooltip>
</td>
</tr>
</table>
<el-dialog :title="addType == 1 ?$t('objFill.v102.xinzenghet') : $t('objFill.v102.bianjihet')"
width="700px" :visible.sync="dialogFormVisible"
center :before-close="closeChangeMachie" >
<el-form label-width="110px" :model="addMsg" :rules="rules" ref="addMsg" class="demo-ruleForm">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.youxiaoqks')" prop="C_StartDate">
<el-date-picker class="h34 " style="width: 100%;"
v-model="addMsg.C_StartDate"
:picker-options="pickerBeginDateBefore"
type="date"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.youxiaoqjs')" prop="C_EndDate">
<el-date-picker class="h34" style="width: 100%;"
v-model="addMsg.C_EndDate"
type="date"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.jiesuants')" prop="C_DayNum" >
<el-input type="number" v-model="addMsg.C_DayNum" :placeholder="$t('objFill.v102.hetongdjsts')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.fanyongnianfen')" prop="C_NightNum" >
<el-select
v-model="addMsg.C_NightNum"
placeholder="Select"
size="large"
style="width: 100%"
>
<el-option
v-for="item in NightNumList"
:key="item.Year"
:label="item.Year"
:value="item.Year"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.quanxianshezhi')" prop="CustomerChildrenIdList">
<el-select
multiple
collapse-tags
collapse-tags-tooltip
v-model='addMsg.CustomerChildrenIdList'
@change="getCustomer"
class="">
<el-option v-for='item in CustomerChildrenList'
:label='item.CustomerName'
:value='item.ID'
:key='item.CustomerName'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.zhuzhanghxx')" prop="Id">
<el-select
v-model='addMsg.Id'
@change="getCustomer(1)"
class="">
<el-option v-for='item in CustomerList'
:label='item.CustomerName'
:value='item.ID'
:key='item.CustomerName'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.acc')" prop="">
<el-select v-loading="optionloading"
multiple
collapse-tags
collapse-tags-tooltip
v-model='addMsg.accountId'
@change="getCustomer(2)"
class="" clearable>
<el-option v-for='item in accountList'
:label='item.AccountHolder'
:value='item.ID'
:key='item.AccountHolder'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.khuhang')" prop="OpenBankName" >
<el-input type="text" v-model="addMsg.OpenBankName" :placeholder="$t('rule.qsrkhuhang')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.suoshuyinh')" prop="BankName" >
<el-input type="text" v-model="addMsg.BankName" :placeholder="$t('objFill.v102.qingshuryhmc')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.yhkahao')" prop="CardNum" >
<el-input type="number" v-model="addMsg.CardNum" :placeholder="$t('objFill.v102.qingshurkaih')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.khuren')" prop="AccountHolder" >
<el-input type="text" v-model="addMsg.AccountHolder" :placeholder="$t('rule.qsrkhuren')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="'WORD'+$t('objFill.fj')" prop="ContractUrl">
<el-upload class="upload-demo" style="display:inline-block;position:relative;top:-1px;left:3px;"
:http-request="UploadAttachment" :show-file-list="false" action="">
<el-button size="small" type="primary">{{$t('objFill.v101.Rest.tianjiafuj')}}</el-button>
</el-upload>
<template v-if="addMsg.ContractUrl&& addMsg.ContractUrl!='' ">
<a style="margin-left: 20px; color: blue; cursor: pointer" target="_blank"
@click="downloadFile(addMsg.ContractUrl)">{{$t('Operation.Op_downLoadword')}}</a>
<a style="margin-left: 20px; color: blue; cursor: pointer"
@click="DeleteFile()">{{$t('system.table_delete')}}</a>
</template>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="dialogFormVisible=false, iniTAddMsg">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="UpdateDate('addMsg')">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<!-- <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
</el-pagination> -->
<div class="noDataNotice" v-if="!loading&&dataList.length==0">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
</div>
</template>
<script>
export default {
data(){
return{
loading: false,
dataList: [],
DiaoChaShow: false,
YouJiShow: false,
showID: 0,
addType: 1,
dialogTitle: '',
dialogFormVisible: false,
optionloading: false,
msg: {
ParentId: '',
},
addMsg: {
Id: '',// 主账户信息(也就是customerId)
CustomerId: '',
ParentId:'',// 联盟id
ContractUrl:'',// 合同附件
CustomerChildrenIds:'',// 权限的联系人Ids
CustomerChildrenIdList:[],
Type: 0,// 0-合同和结算账户,1-合同,2-结算账户.3-查看权限的联系人信息
ContractId: 0,// 合同id默认0
C_StartDate:'',// 合同有效时间
C_EndDate:'',// 合同有效时间
C_DayNum:'',// 合同到期后第几天可以结算
C_NightNum:'',// 合同用哪一年的结算比例返佣
OpenBankName:'',// 开户支行
AccountHolder:'',// 开户人
BankName:'',// 所属银行
CardNum:'',// 卡号
accountId:'',// 结算账户id
},
currentPage:1,
total:0,
AllListBy: [],
employeeMsg: {
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
EmployeeList: [],
rules: {
Id: [
{ required: true, message: this.$t('objFill.v102.qingxzzhuzhxx'), trigger: 'change' },
],
AllianceName: [
{ required: true, message: this.$t('objFill.v101.administrative.qingshulmmc'), trigger: 'blur' },
],
C_StartDate: [
{ required: true, message: this.$t('objFill.v101.administrative.qingxzksnf'), trigger: 'change' },
],
C_EndDate: [
{ required: true, message: this.$t('objFill.v101.administrative.qingxzjsnf'), trigger: 'change' },
],
C_NightNum: [
{ required: true, message: this.$t('objFill.v102.qingxuanzfynfen'), trigger: 'change' },
],
C_DayNum: [
{ required: true, message: this.$t('objFill.v102.jiesuants'), trigger: 'blur' },
],
OpenBankName: [
{ required: true, message: this.$t('rule.qsrkhuhang'), trigger: 'blur' },
],
AccountHolder: [
{ required: true, message: this.$t('rule.qsrkhuren'), trigger: 'blur' },
],
BankName: [
{ required: true, message: this.$t('objFill.v102.qingshuryhmc'), trigger: 'blur' },
],
CardNum: [
{ required: true, message: this.$t('objFill.v102.qingshurkaih'), trigger: 'blur' },
],
CustomerChildrenIdList: [
{ type: 'array', required: true, message: this.$t('objFill.v102.quanixanren'), trigger: 'change' },
],
},
pickerBeginDateBefore: {
disabledDate: time => {
if (this.addMsg.C_EndDate == null) {
return false;
} else {
let endTime = new Date(this.addMsg.C_EndDate);
return endTime.getTime() < time.getTime();
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.addMsg.C_StartDate);
return startTime.getTime() >= time.getTime();
}
},
saveLoading: false,
CustomerList: [],
CustomerChildrenList: [],
NightNumList: [],
accountList: [],
}
},
watch: {
'$route': {
handler (val, oldVal) {
if (val.id) {
this.addMsg.ParentId = this.msg.ParentId = Number(this.$route.query.id)
this.getList();
this.getChildrenList()
}
},
deep: true,
immediate: true
}
},
mounted() {
this.addMsg.ParentId = this.msg.ParentId = Number(this.$route.query.id)
let userInfo=this.getLocalStorage();
this.employeeMsg.GroupId = userInfo.RB_Group_id; //集团ID
this.getList();
this.getChildrenList()
this.getEmployee()
},
methods: {
ViewContract(item){
window.open(item.TravelAgency_SignAddress, '_blank');
},
//下载合同
DownLoadContract(item) {
let link = document.createElement('a');
link.style.display = 'none';
link.href = item.TravelAgency_SignAddress;
link.setAttribute('download', item.Tourists_Name+'联盟合同');
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},
getCustomer(type){
if(type==1){
let list = this.CustomerList.filter(x=>{
return x.ID == this.addMsg.Id
})
if(list.length>0){
this.addMsg.CustomerId = list[0].CustomerId;
this.getAccountPageList()
}
}else if(type==2){
if(this.addMsg.accountId){
let list = this.accountList.filter(x=>{
return x.ID == this.addMsg.accountId
})
if(list.length>0){
this.addMsg.OpenBankName = list[0].OpenBankName;
this.addMsg.AccountHolder = list[0].AccountHolder;
this.addMsg.BankName = list[0].BankName;
this.addMsg.CardNum = list[0].CardNum;
}
}
}else{
this.addMsg.CustomerChildrenIds = this.addMsg.CustomerChildrenIdList.join(',')
}
},
getAccountPageList(){
this.optionloading = true
this.apipost('admin_get_GetEmpBankAccountPageList',{
"BranchId": "",
"EmpId":this.addMsg.CustomerId,
"BankId":"",
"AccountHolder":"",
"AccountAlias":"",
"pageIndex":1,
"pageSize":1000,
"Type":"8",
"AccountClassify":"",
"KeyWord":""
},
res=>{
if(res.data.resultCode===1){
this.optionloading = false
this.accountList = res.data.data.pageData;
}
}
)
},
getChildrenList(){
this.apipost('app_customer_GetAlianceCustomerChildrenList',
{
Id: this.addMsg.ParentId
}, res=>{
if (res.data.resultCode === 1) {
this.CustomerChildrenList = res.data.data;
}
}, null)
this.apipost('customer_post_GetCustomerCommissionRatioYearList',{},
res=>{
if(res.data.resultCode===1){
this.NightNumList = res.data.data.YearList;
}
}
)
this.apipost('app_customer_GetAlianceCustomerList',{
Id: this.addMsg.ParentId
},
res=>{
if(res.data.resultCode===1){
this.CustomerList = res.data.data;
let list = this.CustomerList.filter(x=>{
return x.IsMain == 1
})
if(list.length>0 ){
this.addMsg.Id = list[0].ID;
this.addMsg.CustomerId = list[0].CustomerId;
this.getAccountPageList()
}
}
}
)
},
//删除文件
DeleteFile(subIndex) {
this.addMsg.ContractUrl = '';
},
//下载文件
downloadFile(fileUrl, fileName) {
const link = document.createElement("a");
link.href = fileUrl;
if (fileName) {
link.download = fileName;
}
link.target = "_blank";
document.body.appendChild(link);
link.click();
},
UploadAttachment(file) {
//上传
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.$message.info(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(path, newArr, (x) => {
var newUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.addMsg.ContractUrl = newUrl
this.Success(this.$t("tips.scchenggong"));
});
},
jiesuan: function (ID, path, t) {
this.$router.push({
name: path,
query: {
id: ID,
blank: "y",
tab: '大红包结算',
type: t
}
});
},
goCustomerList: function (ID) {
this.$router.push({
name: 'LianMengManagementList',
query: {
id: ID,
blank: "y",
tab: '客户列表'
}
});
},
getList: function () {
this.loading = true
this.apipost('app_customer_GetAllianceContractDetailse', this.msg, res => {
if (res.data.resultCode === 1) {
this.loading = false;
this.dataList = res.data.data;
}
}, null)
},
addCustorm: function (obj) {
this.addMsg = JSON.parse(JSON.stringify(obj));
this.addType = 2;
this.dialogFormVisible = true;
},
// 保存
UpdateDate: function (formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if(this.addMsg.ContractUrl == ''){
this.$message.error(this.$t('objFill.v101.Rest.tianjiafuj'));
return
}
if(this.saveLoading) return
this.saveLoading = true
this.apipost('app_customer_SetAllianceContract', this.addMsg, res => {
if (res.data.resultCode === 1) {
this.dialogFormVisible = false;
this.iniTAddMsg();
this.getList();
this.$message.success(res.data.message);
this.saveLoading = false
} else {
this.$message.error(res.data.message);
this.saveLoading = false
}
}, err=>{
this.saveLoading = false
})
} else {
return false;
}
});
},
iniTAddMsg: function () {
this.addMsg = {
Id: this.addMsg.Id,// 主账户信息(也就是customerId)
CustomerId: this.addMsg.CustomerId,
ParentId: this.msg.ParentId,// 联盟id
ContractUrl:'',// 合同附件
CustomerChildrenIds:'',// 权限的联系人Ids
CustomerChildrenIdList:[],
Type: 0,// 0-合同和结算账户,1-合同,2-结算账户.3-查看权限的联系人信息
ContractId: 0,// 合同id默认0
C_StartDate:'',// 合同有效时间
C_EndDate:'',// 合同有效时间
C_DayNum:'',// 合同到期后第几天可以结算
C_NightNum:'',// 合同用哪一年的结算比例返佣
OpenBankName:'',// 开户支行
AccountHolder:'',// 开户人
BankName:'',// 所属银行
CardNum:'',// 卡号
accountId:'',// 结算账户id
};
this.CustomerIDs = [];
this.resetForm('addMsg');
},
handleCurrentChange(val) { //翻页
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() { // 重置页码
this.msg.pageIndex = 1;
this.currentPage = 1;
},
closeChangeMachie(done) { // 转交窗口关闭
done();
this.iniTAddMsg()
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
}, err => {})
},
}
}
</script>
......@@ -351,7 +351,7 @@
style="padding:5px;"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="下载" placement="top-start"
<el-tooltip class="item" effect="dark" :content="$t('objFill.xz')" placement="top-start"
v-if="item.Status==2||item.Status==4">
<el-button type="success" icon="el-icon-download" circle @click="DownLoadContract(item)">
</el-button>
......
......@@ -40,8 +40,8 @@
</span>
</li>
<li>
<!-- <input type="button" class="normalBtn" :value="$t('pub.addBtn')"
@click="dialogFormVisible = true,addType = 1, iniTAddMsg" /> -->
<input type="button" class="normalBtn" :value="$t('pub.addBtn')"
@click="dialogFormVisible = true,addType = 1, iniTAddMsg" />
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="getList()" />
</li>
</ul>
......@@ -49,21 +49,24 @@
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>{{$t('hotel.hotel_nameOf')}}</th>
<th>{{$t('objFill.v102.hetongshu')}}</th>
<th>{{$t('objFill.v101.administrative.mendians')}}</th>
<th>{{$t('objFill.nianfen')}}</th>
<th>{{$t('fnc.a_zongjine')}}</th>
<th>{{$t('objFill.v101.activity.shoukeshu')}}</th>
<!-- <th>{{$t('fnc.a_zongjine')}}</th> -->
<!-- <th>{{$t('objFill.v101.activity.shoukeshu')}}</th> -->
<th>{{$t('system.table_operation')}}</th>
</tr>
<tr v-for="item in dataList">
<tr v-for="(item,index) in dataList" :key="index">
<td>{{item.AllianceName}}</td>
<td @click="goContract(item)"
style="color:#33B3FF;cursor: pointer;">{{item.ContractNum?item.ContractNum:'-'}}</td>
<td><span class="cursorpointer text-decoration" @click="goCustomerList(item.ID)">{{item.CustomerCount}}</span></td>
<td>{{item.StartYear}}-{{item.EndYear}}</td>
<td>{{moneyFormat(item.TradeMoney)}}</td>
<td><span class="cursorpointer text-decoration" @click="jiesuan(item.ID, 'happyMoneyDetails')" >{{item.TotalGuestNum}}</span></td>
<!-- <td>{{moneyFormat(item.TradeMoney)}}</td> -->
<!-- <td><span class="cursorpointer text-decoration" @click="jiesuan(item.ID, 'happyMoneyDetails')" >{{item.TotalGuestNum}}</span></td> -->
<td class="_icon_btn">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.addCustomer')" placement="top">
<i class="edit el-icon-edit"@click="addCustorm(item)"></i>
<i class="edit el-icon-edit" @click="addCustorm(item)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('objFill.jiesuan')" placement="top">
<i class="edit el-icon-check" v-if="item.IsClearing == 1" @click="jiesuan(item.ID, 'happyMoney')" ></i>
......@@ -80,7 +83,7 @@
<el-form-item :label="$t('objFill.v101.administrative.lianmemc')" prop="AllianceName" >
<el-input type="text" v-model="addMsg.AllianceName" class=""></el-input>
</el-form-item>
<el-form-item :label="$t('system.table_begTime')" prop="StartYear">
<!-- <el-form-item :label="$t('system.table_begTime')" prop="StartYear">
<el-date-picker class="h34 "
v-model="addMsg.StartYear"
@change="EndYearChange"
......@@ -97,7 +100,7 @@
value-format="yyyy"
:range-separator="$t('restaurant.res_To')">
</el-date-picker>
</el-form-item>
</el-form-item> -->
<el-form-item :label="$t('visaT.sale')" prop="Contact">
<el-select filterable v-model='addMsg.Contact' class="">
<el-option v-for='item in EmployeeList'
......@@ -136,7 +139,7 @@
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size='msg.pageSize' :total='total'>
</el-pagination>
<div class="noDataNotice" v-if="dataList.length<1">
<div class="noDataNotice" v-if="!loading&&dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
......@@ -204,14 +207,18 @@ export default {
let userInfo=this.getLocalStorage();
this.employeeMsg.GroupId = userInfo.RB_Group_id; //集团ID
this.getEmployee()
},
mounted() {
this.getList();
let userInfo = this.getLocalStorage();
this.employeeMsg.GroupId = userInfo.RB_Group_id; //集团ID
this.getEmployee()
},
methods: {
goContract(item){
this.$router.push({
name: 'AllianceContract',
query: {
id: item.ID,
blank: "y",
tab: '联盟合同',
}
});
},
jiesuan: function (ID, path, t) {
this.$router.push({
name: path,
......
......@@ -23,14 +23,14 @@
<th>{{$t('objFill.v101.administrative.shifshy')}}</th>
<th>{{$t('system.table_operation')}}</th>
</tr>
<tr v-for="item in dataList">
<tr v-for="(item,index) in dataList" :key="index">
<td>{{item.CustomerName}} <span v-if="item.IsMain == 1" style="color: #E95252">({{$t('Operation.Op_zhu')}})</span> </td>
<td>{{item.Contact}}</td>
<td>{{item.ContactNumber}}</td>
<td>{{item.IsMember == 1 ? $t('pub.yes') : $t('pub.no')}}</td>
<td class="_icon_btn">
<el-tooltip class="item" effect="dark" :content="$t('objFill.v101.administrative.shiezhizmd')" placement="top">
<i class="iconfont icon-guanli2"@click="setAdmin(item)"></i>
<i class="iconfont icon-guanli2" @click="clickSetAdmin(item)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('objFill.v101.administrative.yichumend')" placement="top">
<i class="iconfont icon-img_delete_small icon-guanli2" @click="DelAllianceChild(item)"></i>
......@@ -38,13 +38,70 @@
</td>
</tr>
</table>
<div class="noDataNotice" v-if="dataList.length<1">
<div class="noDataNotice" v-if="!loading&&dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
<el-dialog :title="$t('objFill.v101.administrative.shiezhizmd')"
width="700px" :visible.sync="dialogFormVisible"
center :before-close="closeChangeMachie" >
<el-form label-width="110px" :model="addMsg" :rules="rules" ref="addMsg" class="demo-ruleForm">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('fnc.acc')" prop="">
<el-select v-loading="optionloading"
v-model='addMsg.accountId'
@change="getCustomer(2)"
class="" clearable>
<el-option v-for='item in accountList'
:label='item.AccountHolder'
:value='item.ID'
:key='item.AccountHolder'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.khuhang')" prop="OpenBankName" >
<el-input type="text" v-model="addMsg.OpenBankName" :placeholder="$t('rule.qsrkhuhang')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('objFill.v102.suoshuyinh')" prop="BankName" >
<el-input type="text" v-model="addMsg.BankName" :placeholder="$t('objFill.v102.qingshuryhmc')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.yhkahao')" prop="CardNum" >
<el-input type="number" v-model="addMsg.CardNum" :placeholder="$t('objFill.v102.qingshurkaih')"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('fnc.khuren')" prop="AccountHolder" >
<el-input type="text" v-model="addMsg.AccountHolder" :placeholder="$t('rule.qsrkhuren')"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="dialogFormVisible=false, iniTAddMsg">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="UpdateDate('addMsg')">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
</div>
</template>
<script>
import { set } from 'vue';
export default {
data(){
return{
......@@ -56,29 +113,268 @@ export default {
AllianceName: '',
Contact: '',
},
addMsg: {
Id: '',// 主账户信息(也就是customerId)
CustomerId: '',
CustomerName: '',// 主账户名称
ParentId:'',// 联盟id
ContractUrl:'',// 合同附件
CustomerChildrenIds:'',// 权限的联系人Ids
CustomerChildrenIdList:[],
Type: 2,// 0-合同和结算账户,1-合同,2-结算账户.3-查看权限的联系人信息
ContractId: 0,// 合同id默认0
C_StartDate:'',// 合同有效时间
C_EndDate:'',// 合同有效时间
C_DayNum:'',// 合同到期后第几天可以结算
C_NightNum:'',// 合同用哪一年的结算比例返佣
OpenBankName:'',// 开户支行
AccountHolder:'',// 开户人
BankName:'',// 所属银行
CardNum:'',// 卡号
accountId:'',// 结算账户id
},
dialogFormVisible: false,
rules: {
Id: [
{ required: true, message: this.$t('objFill.v102.qingxzzhuzhxx'), trigger: 'change' },
],
AllianceName: [
{ required: true, message: this.$t('objFill.v101.administrative.qingshulmmc'), trigger: 'blur' },
],
C_StartDate: [
{ required: true, message: this.$t('objFill.v101.administrative.qingxzksnf'), trigger: 'change' },
],
C_EndDate: [
{ required: true, message: this.$t('objFill.v101.administrative.qingxzjsnf'), trigger: 'change' },
],
C_NightNum: [
{ required: true, message: this.$t('objFill.v102.qingxuanzfynfen'), trigger: 'change' },
],
C_DayNum: [
{ required: true, message: this.$t('objFill.v102.jiesuants'), trigger: 'blur' },
],
OpenBankName: [
{ required: true, message: this.$t('rule.qsrkhuhang'), trigger: 'blur' },
],
AccountHolder: [
{ required: true, message: this.$t('rule.qsrkhuren'), trigger: 'blur' },
],
BankName: [
{ required: true, message: this.$t('objFill.v102.qingshuryhmc'), trigger: 'blur' },
],
CardNum: [
{ required: true, message: this.$t('objFill.v102.qingshurkaih'), trigger: 'blur' },
],
CustomerChildrenIdList: [
{ type: 'array', required: true, message: this.$t('objFill.v102.quanixanren'), trigger: 'change' },
],
},
pickerBeginDateBefore: {
disabledDate: time => {
if (this.addMsg.C_EndDate == null) {
return false;
} else {
let endTime = new Date(this.addMsg.C_EndDate);
return endTime.getTime() < time.getTime();
}
},mounted() {
let id = this.$route.query.id;
this.getList(id);
},methods: {
setAdmin: function(obj) {
let ParentId = this.$route.query.id
this.$confirm(this.$t('objFill.v101.administrative.quersz')+'“'+ obj.CustomerName + '”'+this.$t('objFill.v101.administrative.weizhumd')+'?', this.$t('tips.tips'), {
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.addMsg.C_StartDate);
return startTime.getTime() >= time.getTime();
}
},
optionloading: false,
accountList: [],
CustomerList: [],
CustomerChildrenIdList: [],
saveLoading: false,
}
},
watch: {
'$route': {
handler (val, oldVal) {
if (val.id) {
this.addMsg.ParentId = Number(this.$route.query.id)
this.getChildrenList()
}
},
deep: true,
immediate: true
}
},
mounted() {
this.addMsg.ParentId = Number(this.$route.query.id)
this.getList();
this.getChildrenList()
},
methods: {
getChildrenList(){
this.apipost('app_customer_GetAlianceCustomerChildrenList',
{
Id: this.addMsg.ParentId
}, res=>{
if (res.data.resultCode === 1) {
this.CustomerChildrenList = res.data.data;
}
}, null)
this.apipost('customer_post_GetCustomerCommissionRatioYearList',{},
res=>{
if(res.data.resultCode===1){
this.NightNumList = res.data.data.YearList;
}
}
)
this.apipost('app_customer_GetAlianceCustomerList',{
Id: this.addMsg.ParentId
},
res=>{
if(res.data.resultCode===1){
this.CustomerList = res.data.data;
let list = this.CustomerList.filter(x=>{
return x.IsMain == 1
})
if(list.length>0 ){
this.addMsg.Id = list[0].ID;
this.addMsg.CustomerId = list[0].CustomerId;
this.getAccountPageList()
}
}
}
)
},
iniTAddMsg () {
this.addMsg = {
Id: this.addMsg.Id,// 主账户信息(也就是customerId)
CustomerId: this.addMsg.CustomerId,
CustomerName: this.addMsg.CustomerName,// 主账户名称
ParentId: this.msg.ParentId,// 联盟id
ContractUrl:'',// 合同附件
CustomerChildrenIds:'',// 权限的联系人Ids
CustomerChildrenIdList:[],
Type: 0,// 0-合同和结算账户,1-合同,2-结算账户.3-查看权限的联系人信息
ContractId: 0,// 合同id默认0
C_StartDate:'',// 合同有效时间
C_EndDate:'',// 合同有效时间
C_DayNum:'',// 合同到期后第几天可以结算
C_NightNum:'',// 合同用哪一年的结算比例返佣
OpenBankName:'',// 开户支行
AccountHolder:'',// 开户人
BankName:'',// 所属银行
CardNum:'',// 卡号
accountId:'',// 结算账户id
};
this.resetForm('addMsg');
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
closeChangeMachie(done) { // 转交窗口关闭
done();
this.iniTAddMsg()
},
getCustomer(type){
if(type==1){
let list = this.CustomerList.filter(x=>{
return x.ID == this.addMsg.Id
})
if(list.length>0){
this.addMsg.CustomerId = list[0].CustomerId;
this.addMsg.CustomerName = list[0].CustomerName;
this.getAccountPageList()
}
}else if(type==2){
if(this.addMsg.accountId){
let list = this.accountList.filter(x=>{
return x.ID == this.addMsg.accountId
})
if(list.length>0){
this.addMsg.OpenBankName = list[0].OpenBankName;
this.addMsg.AccountHolder = list[0].AccountHolder;
this.addMsg.BankName = list[0].BankName;
this.addMsg.CardNum = list[0].CardNum.trim();
}
}
}else{
this.addMsg.CustomerChildrenIds = this.addMsg.CustomerChildrenIdList.join(',')
}
},
getAccountPageList(){
this.optionloading = true
this.apipost('admin_get_GetEmpBankAccountPageList',{
"BranchId": "",
"EmpId":this.addMsg.CustomerId,
"BankId":"",
"AccountHolder":"",
"AccountAlias":"",
"pageIndex":1,
"pageSize":1000,
"Type":"8",
"AccountClassify":"",
"KeyWord":""
},
res=>{
if(res.data.resultCode===1){
this.accountList = res.data.data.pageData;
setTimeout(()=>{
this.optionloading = false
},1000)
}
}
)
},
clickSetAdmin(obj){
this.addMsg.ParentId = this.$route.query.id
this.dialogFormVisible = true
this.addMsg.Id = obj.ID
this.getCustomer(1)
},
// 保存
UpdateDate: function (formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.setAdmin()
}
})
},
setAdmin() {
let that = this
if(that.saveLoading) return
this.$confirm(this.$t('objFill.v101.administrative.quersz')+'“'+ this.addMsg.CustomerName + '”'+this.$t('objFill.v101.administrative.weizhumd')+'?', this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: 'warning'
}).then(() => {
this.apipost(
"app_customer_UpdateIsMain",
{ParentId: ParentId, Id: obj.ID},
that.saveLoading = true
that.apipost(
"app_customer_SetAllianceContract",
that.addMsg,
res => {
if (res.data.resultCode === 1) {
this.$message.success(res.data.message)
this.getList(ParentId);
that.$message.success(res.data.message)
that.dialogFormVisible = false
that.getList();
that.saveLoading = false
}
},
null
err=>{
that.saveLoading = false
that.dialogFormVisible = false
}
);
// this.apipost(
// "app_customer_UpdateIsMain",
// {ParentId: ParentId, Id: obj.ID},
// res => {
// if (res.data.resultCode === 1) {
// this.$message.success(res.data.message)
// this.getList(ParentId);
// }
// },
// null
// );
}).catch(() => {
this.$message({
type: 'info',
......@@ -113,7 +409,7 @@ export default {
},
getList: function (id) {
this.loading = true
this.apipost('app_customer_GetAlianceCustomerList', {Id: id}, res=>{
this.apipost('app_customer_GetAlianceCustomerList', {Id: this.addMsg.ParentId}, res=>{
if (res.data.resultCode === 1) {
this.loading = false;
this.dataList = res.data.data;
......
......@@ -686,6 +686,14 @@ export default {
title: '联盟管理'
},
},
{
path: '/AllianceContract', //联盟合同列表
name: 'AllianceContract',
component: resolve => require(['@/components/administrative/AllianceContract'], resolve),
meta: {
title: '联盟合同'
},
},
{
path: '/Diplomaticplat', //联盟管理
name: 'Diplomaticplat',
......
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