Commit c6b57a9c authored by liudong1993's avatar liudong1993

1

parent 7f87ddcc
<template>
<div class="page_FProcessManagement">
<ul class="_nav clearfix">
<li style="color: red;">{{$t('objFill.v101.FinancialModule.zhumpbjrrtjl')}}</li>
<input type="button" class="hollowFixedBtn" :value="$t('pub.addBtn')" @click="AddMsg"/>
<input type="button" class="normalBtn" style="position: absolute; right: 90px;top: 9px;" :value="$t('pub.searchBtn')" @click="getList"/>
</ul>
<div
class="cm_content"
style="width: 100%;margin-bottom: 35px;margin-top: 30px;"
v-for="(item,index ) in dataList "
:key="index"
>
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<tr>
<th width="100" style="min-width: 100px;max-width: 100px;">{{$t('objFill.v101.FinancialModule.fanganmc')}}</th>
<th width="100" class="left-text-indent">{{$t('objFill.v101.FinancialModule.gongssygncfxl')}}</th>
<th width="150" style="min-width: 150px;max-width: 150px;">{{$t('sm.xiugaishijian')}}</th>
<th width="150" style="min-width: 150px;max-width: 150px;">{{$t('hotel.table_operat')}}</th>
</tr>
<tr>
<td>
<span>{{item.Name}}</span>
</td>
<td style="padding: 0 10px;" class="left-text-indent">
{{$t('objFill.xiaosoue')}} {{item.SalesRate}}%
</td>
<td style="padding: 0 10px;">
<p>{{item.UpdateBy}}</p>
<span>
{{item.UpdateDate}}
</span>
</td>
<td>
<el-button @click="SetRules(item)" style="padding:4px" type="primary" icon="el-icon-edit" circle>
</el-button>
<el-button @click="Delete(item)" style="padding:4px" type="danger" icon="el-icon-delete" circle></el-button>
</td>
</tr>
</table>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;display: flex;"
cellspacing="0"
cellpadding="0"
>
<tr rowspan="3" style="min-width: 150px;width: 150px;background: #fff;font-size: 13px;padding: 10px;
display: flex;align-items: center;justify-content: center;text-align: center;height: 122px;">
<span>{{$t('objFill.v101.FinancialModule.chengdxstgozbc')}}</span>
<!-- <p>未达标最低人数需要募捐,年终也需满足此规则</p> -->
</tr>
<template v-for="( son , sIndex ) in item.EuropeExtendRuleList">
<tr style="display: flex;flex-direction: column;height: 122px;">
<td colspan="3" style="line-height: 40px;">{{son.Name}}<p></p> </td>
<table class="po_content singeRowTable" style="height: 80px;"
cellspacing="0"
cellpadding="0">
<tr>
<th style="min-width: 220px;">
{{$t('objFill.zuidirenshu')}}
</th>
<th style="min-width: 220px;">
{{$t('objFill.v101.FinancialModule.mujuanje')}}
</th>
<th style="min-width: 220px;">
{{$t('objFill.v101.FinancialModule.chanyuxs')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;">
{{son.PeopleNum}}
</td>
<td style="min-width: 220px;">
{{son.Money}}
</td>
<td style="min-width: 220px;">
{{son.EmpNameStr}}
</td>
</tr>
</table>
</tr>
<!-- <tr>
<td style="min-width: 220px;">
{{son.PeopleNum}}
</td>
<td style="min-width: 220px;">
{{son.Money}}
</td>
<td style="min-width: 220px;">
{{son.EmpNameStr}}
</td>
</tr> -->
</template>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.ribxtcbl')}}<p>{{$t('objFill.v101.FinancialModule.dangyuegrmllr')}}</p> </td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.ProfitRuleList"
:key="sIndex"
>{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<='+$t('objFill.v101.FinancialModule.dangyuemlr')+'<':'<='+$t('objFill.v101.FinancialModule.dangyuemlr')}}</span>
<span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span>
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.ProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.ouzxtcbl')}}<p>{{$t('objFill.v101.FinancialModule.dangyuegrmllr')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.EuropeProfitRuleList"
:key="sIndex"
>{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<='+$t('objFill.v101.FinancialModule.dangyuemlr')+'<':'<='+$t('objFill.v101.FinancialModule.dangyuemlr')}}</span>
<span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span>
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.EuropeProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.qitaxtcbl')}}<p>{{$t('objFill.v101.FinancialModule.dangyuegrmllr')}}</p> </td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.OtherProfitRuleList"
:key="sIndex"
>{{ son.StartValue }} <span>{{son.EndValue && son.EndValue!=-1?'<='+$t('objFill.v101.FinancialModule.dangyuemlr')+'<':'<='+$t('objFill.v101.FinancialModule.dangyuemlr')}}</span>
<span v-if="son.EndValue && son.EndValue!=-1">{{ son.EndValue }}</span>
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.OtherProfitRuleList" :key="sIndex"> {{ son.Rate }}%</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.ribxrtjl')}}<p>{{$t('objFill.v101.FinancialModule.chengjrs')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.AwardRuleList"
:key="sIndex"
>
{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' '+$t('hotel.hotel_people'):' '+$t('objFill.v101.FinancialModule.renyishang')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.AwardRuleList" :key="sIndex">{{ son.Rate }} {{$t('hotel.hotel_yuan')}}</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.ouzxrtjl')}}<p>{{$t('objFill.v101.FinancialModule.chengjrs')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.EuropeAwardRuleList"
:key="sIndex"
>{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' '+$t('hotel.hotel_people'):' '+$t('objFill.v101.FinancialModule.renyishang')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.EuropeAwardRuleList" :key="sIndex"> {{ son.Rate }} {{$t('hotel.hotel_yuan')}}</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.qitaxrtjl')}}<p>{{$t('objFill.v101.FinancialModule.chengjrs')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.OtherAwardRuleList"
:key="sIndex"
>
{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' '+$t('hotel.hotel_people'):' '+$t('objFill.v101.FinancialModule.renyishang')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.OtherAwardRuleList" :key="sIndex">{{ son.Rate }} {{$t('hotel.hotel_yuan')}}</td>
</tr>
</table>
</div>
<div style="width:100%;overflow-x: auto;">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{$t('objFill.v101.FinancialModule.nianzhongjl')}}<p>{{$t('objFill.v101.FinancialModule.meiyuert')}}{{item.BonusMinPNum}}{{$t('objFill.v101.FinancialModule.renyishang')}}</p></td>
<th style="min-width: 220px;"
v-for="( son , sIndex ) in item.BonusRuleList"
:key="sIndex"
>{{ son.StartValue }} {{$t('objFill.v101.FinancialModule.geyuedb')}}
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.BonusRuleList" :key="sIndex">{{ son.Rate }} {{$t('hotel.hotel_yuan')}}</td>
</tr>
</table>
</div>
</div>
<div v-if="dataList.length==0"
style="width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;margin-top: 30px;"
>{{$t('system.content_noData')}}</div>
<el-dialog :title="titleName" :visible.sync="ruleVisible" width="750px" @close="resetForm('form')">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<div class="ImpressionTicketing-msgbox bottom0">
<el-form-item :label="$t('objFill.v101.FinancialModule.fanganmc')" prop="Name">
<el-input v-model="form.Name" clearable></el-input>
</el-form-item>
<el-form-item :label="$t('objFill.v101.FinancialModule.dabiaors')" prop="BonusMinPNum">
<el-input type="Number" v-model="form.BonusMinPNum" clearable></el-input>
</el-form-item>
<el-form-item :label="$t('objFill.v101.FinancialModule.tichengbil')" prop="SalesRate">
<div class="Impression-ratio-box">
<el-input type="Number" v-model="form.SalesRate" clearable></el-input>
<span class="Impression-ratio-right">%</span>
</div>
</el-form-item>
</div>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.chengdxstgoz')}}</p>
<div class="ImpressionTicketing-msgbox ImpressionTicketing-msgboxBC"
v-for="(item,index) in form.EuropeExtendRuleList" :key="index">
<div style="flex: 0 0 100%;display: flex;flex-direction: row;">
<div>
<el-form-item
:label="form.EuropeExtendRuleList.length>0?`${$t('fnc.gzmingcheng')} ${index+1} `:` ` "
:prop="`EuropeExtendRuleList.${index}.Name`"
:rules="rules.Name"
label-width="100px"
label-position="left">
<el-input
v-model="item.Name" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeExtendRuleList.length>0?`${$t('objFill.zuidirenshu')} ${index+1} `:` ` "
:prop="`EuropeExtendRuleList.${index}.PeopleNum`"
:rules="rules.PeopleNum"
label-width="100px"
label-position="left">
<el-input :placeholder="$t('objFill.zuidirenshu')" onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.PeopleNum" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeExtendRuleList.length>0?`${$t('objFill.v101.FinancialModule.mujuanje')} ${index+1} `:` ` "
:prop="`EuropeExtendRuleList.${index}.Money`"
:rules="rules.Money"
label-width="100px"
label-position="left">
<el-input :placeholder="$t('objFill.v101.FinancialModule.mujuanje')" onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Money"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,8)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,8)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
<el-form-item label-width="0" style="width: 100%;padding: 5px 0 0 0;background-color: #eee;">
<div class="EmpGroupListBox"
v-for="(child,i) in item.EmpGroupList">
<div>
<el-form-item
:label="form.EuropeExtendRuleList.length>0&&form.EuropeExtendRuleList[index].EmpGroupList.length>0?`${$t('objFill.v101.FinancialModule.chanyuxs')} ${i+1} `:` ` "
:prop="`EuropeExtendRuleList.${index}.EmpGroupList.${i}.EmpIdList`"
:rules="rules.EmpIdList"
label-width=""
label-position="left">
<el-select style="width: 200px;" v-model="child.EmpIdList" filterable multiple
:placeholder="$t('objFill.v101.FinancialModule.chanyuxs')" @change="getEmpIds(index,i)">
<el-option v-for="(x,i) in EmployeeList" :label="x.EmName"
:value="x.EmployeeId"
:key="i"></el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeExtendRuleList.length>0&&form.EuropeExtendRuleList[index].EmpGroupList.length>0?`${$t('objFill.v101.FinancialModule.chanyurq')} ${i+1} `:` ` "
:prop="`EuropeExtendRuleList.${index}.EmpGroupList.${i}.EnableDate`"
:rules="rules.EnableDate"
label-width=""
label-position="left">
<el-date-picker
style="width: 200px;"
class="h34"
v-model="child.EnableDate"
type="month"
value-format="yyyy-MM"
align="right" :placeholder="$t('objFill.v101.FinancialModule.chanyurq')"
></el-date-picker>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but" style="flex: 0 0 36px;">
<span @click="addEmpDate(item,index,i,8)" v-if="i==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteEmpDate(item,index,i,8)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.ribxrtjl')}}</p>
<div class="ImpressionTicketing-msgbox"
v-for="(item,index) in form.AwardRuleList" :key="index">
<div>
<el-form-item
:label="form.AwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`AwardRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.AwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`AwardRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.AwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jiangli')} ${index+1} `:` ` "
:prop="`AwardRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,1)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,1)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.ribxtcbl')}}</p>
<div class="ImpressionTicketing-msgbox" v-for="(item,index) in form.ProfitRuleList" :key="index">
<div>
<el-form-item
:label="form.ProfitRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`ProfitRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.ProfitRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`ProfitRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.ProfitRuleList.length>0?`${$t('op.BL')} ${index+1} `:` ` "
:prop="`ProfitRuleList.${index}.Rate`"
:rules="rules.Rate2"
label-width="100px"
label-position="left">
<div class="Impression-ratio-box">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
<span class="Impression-ratio-right">%</span>
</div>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,2)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,2)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.ouzxrtjl')}}</p>
<div class="ImpressionTicketing-msgbox"
v-for="(item,index) in form.EuropeAwardRuleList" :key="index">
<div>
<el-form-item
:label="form.EuropeAwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`EuropeAwardRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeAwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`EuropeAwardRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeAwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jiangli')} ${index+1} `:` ` "
:prop="`EuropeAwardRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,3)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,3)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.ouzxtcbl')}}</p>
<div class="ImpressionTicketing-msgbox"
v-for="(item,index) in form.EuropeProfitRuleList" :key="index">
<div>
<el-form-item
:label="form.EuropeProfitRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`EuropeProfitRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeProfitRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`EuropeProfitRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.EuropeProfitRuleList.length>0?`${$t('op.BL')} ${index+1} `:` ` "
:prop="`EuropeProfitRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<div class="Impression-ratio-box">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
<span class="Impression-ratio-right">%</span>
</div>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,4)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,4)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.qitaxrtjl')}}</p>
<div class="ImpressionTicketing-msgbox"
v-for="(item,index) in form.OtherAwardRuleList" :key="index">
<div>
<el-form-item
:label="form.OtherAwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`OtherAwardRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.OtherAwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`OtherAwardRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.OtherAwardRuleList.length>0?`${$t('objFill.v101.FinancialModule.jiangli')} ${index+1} `:` ` "
:prop="`OtherAwardRuleList.${index}.Rate`"
:rules="rules.Rate"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,7)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,7)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.qitaxtcbl')}}</p>
<div class="ImpressionTicketing-msgbox" v-for="(item,index) in form.OtherProfitRuleList" :key="index">
<div>
<el-form-item
:label="form.OtherProfitRuleList.length>0?`${$t('objFill.v101.FinancialModule.kaishizhi')} ${index+1} `:` ` "
:prop="`OtherProfitRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.OtherProfitRuleList.length>0?`${$t('objFill.v101.FinancialModule.jishuzhi')} ${index+1} `:` ` "
:prop="`OtherProfitRuleList.${index}.EndValue`"
:rules="rules.EndValue"
label-width="100px"
label-position="left">
<el-input-number type="number" :min="-1" :max="99999999"
v-model="item.EndValue" clearable :controls="false"></el-input-number>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.OtherProfitRuleList.length>0?`${$t('op.BL')} ${index+1} `:` ` "
:prop="`OtherProfitRuleList.${index}.Rate`"
:rules="rules.Rate2"
label-width="100px"
label-position="left">
<div class="Impression-ratio-box">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
<span class="Impression-ratio-right">%</span>
</div>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,6)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,6)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
<el-form-item class="ImpressionTicketing-OuterFrame" label-width="0px">
<p class="ImpressionTicketing-title">{{$t('objFill.v101.FinancialModule.nianzhongjl')}}</p>
<div class="ImpressionTicketing-msgbox" v-for="(item,index) in form.BonusRuleList" :key="index">
<div>
<el-form-item
:label="form.BonusRuleList.length>0?`${$t('objFill.v101.FinancialModule.lianxudb')} ${index+1} `:` ` "
:prop="`BonusRuleList.${index}.StartValue`"
:rules="rules.StartValue"
label-width="100px"
label-position="left">
<div class="Impression-ratio-box">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.StartValue" clearable></el-input>
<span class="Impression-ratio-right">{{$t('pub.month')}}</span>
</div>
</el-form-item>
</div>
<div>
<el-form-item
:label="form.BonusRuleList.length>0?`${$t('objFill.v101.FinancialModule.jiangli')} ${index+1} `:` ` "
:prop="`BonusRuleList.${index}.Rate`"
:rules="rules.Rate2"
label-width="100px"
label-position="left">
<el-input onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" :min="0" :max="99999999"
v-model="item.Rate"></el-input>
</el-form-item>
</div>
<div class="ImpressionTicketing-msg-but">
<span @click="addRule(item,index,5)" v-if="index==0" class="el-icon-circle-plus-outline itc-outline"></span>
<span @click="deleteRule(item,index,5)" v-else class="el-icon-delete itc-delete"></span>
</div>
</div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="ruleVisible = false">{{$t('pub.cancelBtn')}}</el-button>
<el-button size="small" type="danger" @click="RulesOk('form')" :loading="ruleLoading">{{$t('pub.sureBtn')}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
EmployeeList: [],
value:"",
rules: {
Name: [{ required: true, message: this.$t('rule.qsrgzmingcheng'), trigger: "blur"}],
BonusMinPNum: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrdbrs'), trigger: "blur"}],
SalesRate: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrtcbl'), trigger: "blur"}],
EmployeeId: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingxzcyrs'), trigger: 'change'}],
StartValue: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrksz'), trigger: "blur"}],
EndValue: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrksz'), trigger: "blur"}],
Rate: [{ required: true, message: this.$t('rule.qsrjine'), trigger: "blur"}],
Rate2: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrbl'), trigger: "blur"}],
Content: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrxz'), trigger: "blur"}],
Name: [{ required: true, message: this.$t('objFill.qsrgzmingcheng'), trigger: "blur"}],
PeopleNum: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingsrzdrs'), trigger: "blur"}],
Money: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qiingsrmjje'), trigger: "blur"}],
EmpIdList: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingxzcyxs'), trigger: 'change'}],
EnableDate: [{ required: true, message: this.$t('objFill.v101.FinancialModule.qingxzcyrq'), trigger: 'change'}],
},
AwardRuleList:{ StartValue:0, EndValue:null, Rate:null},
ProfitRuleList:{ StartValue:0, EndValue:null, Rate:null},
EuropeAwardRuleList:{ StartValue:0, EndValue:null, Rate:null},
EuropeProfitRuleList:{ StartValue:0, EndValue:null, Rate:null},
OtherAwardRuleList:{ StartValue:0, EndValue:null, Rate:null},
OtherProfitRuleList:{ StartValue:0, EndValue:null, Rate:null},
BonusRuleList:{ StartValue:0, Rate:null},
EuropeExtendRuleList:{Name:'',PeopleNum:null,Money:null,EmpIds:'',EmpIdList:[],
EmpGroupList:[{EmpIdList:[],EnableDate:''}]
},
form:{
Id:0,
Name:'',
SalesRate: 0,
BonusMinPNum: 0,
AwardRuleList:[ { StartValue:0, EndValue:null, Rate:null }],
ProfitRuleList:[ { StartValue:0, EndValue:null, Rate:null }],
EuropeAwardRuleList:[ { StartValue:0, EndValue:null, Rate:null }],
EuropeProfitRuleList:[ { StartValue:0, EndValue:null, Rate:null }],
OtherAwardRuleList:[{ StartValue:0, EndValue:null, Rate:null}],
OtherProfitRuleList:[{ StartValue:0, EndValue:null, Rate:null}],
BonusRuleList:[ { StartValue:0, Rate:null }],
EuropeExtendRuleList:[{
Name:'',PeopleNum:null,Money:null,EmpIds:'',EmpIdList:[],
EmpGroupList:[{EmpIdList:[],EnableDate:''}]
}
]
},
EmpGroupObj: {EmpIdList:[],EnableDate:''},
ruleLoading: false,
ruleVisible:false,
titleName: this.$t('fnc.tcguize'),
loading: false,
dataList:[],
}
},
created() {},
mounted() {
this.getList()
this.getEmployeeList()
},
methods: {
getEmpIds(index,i){
let list = this.form.EuropeExtendRuleList[index].EmpGroupList[i].EmpIdList
this.form.EuropeExtendRuleList[index].EmpGroupList[i].EmpIds = list.join(',')
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
let userInfo = this.getLocalStorage();
let msg = {
GroupId: userInfo.RB_Group_id,
BranchId: "-1",
DepartmentId: "-1",
PostId: "-1",
IsLeave: "0"
};
this.apipost(
"admin_get_EmployeeGetList", {},
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
err => {}
);
},
// 初始化表单
resetForm(formName) {
this.$refs[formName].resetFields();
},
// 添加规则
addRule(row,index,type){
if(type==1){
this.form.AwardRuleList.push(JSON.parse(JSON.stringify(this.AwardRuleList)))
}else if(type==2){
this.form.ProfitRuleList.push(JSON.parse(JSON.stringify(this.ProfitRuleList)))
}else if(type==3){
this.form.EuropeAwardRuleList.push(JSON.parse(JSON.stringify(this.EuropeAwardRuleList)))
}else if(type==4){
this.form.EuropeProfitRuleList.push(JSON.parse(JSON.stringify(this.EuropeProfitRuleList)))
}else if(type==6){
this.form.OtherAwardRuleList.push(JSON.parse(JSON.stringify(this.OtherAwardRuleList)))
}else if(type==7){
this.form.OtherProfitRuleList.push(JSON.parse(JSON.stringify(this.OtherProfitRuleList)))
}else if(type==8){
this.form.EuropeExtendRuleList.push(JSON.parse(JSON.stringify(this.EuropeExtendRuleList)))
}else{
this.form.BonusRuleList.push(JSON.parse(JSON.stringify(this.BonusRuleList)))
}
},
addEmpDate(row,index,i,type){
if(type==8)this.form.EuropeExtendRuleList[index].EmpGroupList.push(JSON.parse(JSON.stringify(this.EmpGroupObj)))
},
// 删除规则
deleteRule(row,index,type){
if(type==1){
this.form.AwardRuleList.splice(index,1)
}else if(type==2){
this.form.ProfitRuleList.splice(index,1)
}else if(type==3){
this.form.EuropeAwardRuleList.splice(index,1)
}else if(type==4){
this.form.EuropeProfitRuleList.splice(index,1)
}else if(type==6){
this.form.OtherAwardRuleList.splice(index,1)
}else if(type==7){
this.form.OtherProfitRuleList.splice(index,1)
}else if(type==8){
this.form.EuropeExtendRuleList.splice(index,1)
}else{
this.form.BonusRuleList.splice(index,1)
}
},
deleteEmpDate(row,index,i,type){
if(type==8)this.form.EuropeExtendRuleList[index].EmpGroupList.splice(i,1)
},
AddMsg(){//新增
this.ruleVisible = true
this.titleName = this.$t('fnc.tcguize')
},
SetRules(item){//编辑
this.ruleVisible = true;
item = JSON.parse(JSON.stringify(item))
this.form = {
Id:item.Id,
Name:item.Name,//规则名称
SalesRate:item.SalesRate,
BonusMinPNum:item.BonusMinPNum,
AwardRuleList:item.AwardRuleList,
ProfitRuleList:item.ProfitRuleList,
EuropeAwardRuleList:item.EuropeAwardRuleList,
EuropeProfitRuleList:item.EuropeProfitRuleList,
OtherAwardRuleList:item.OtherAwardRuleList,
OtherProfitRuleList:item.OtherProfitRuleList,
BonusRuleList:item.BonusRuleList,
EuropeExtendRuleList: item.EuropeExtendRuleList?item.EuropeExtendRuleList:[this.EuropeExtendRuleList]
}
},
Delete(item){//删除
this.$confirm(this.$t('objFill.shifouscbkhf'), this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning"
})
.then(() => {
this.apipost('sellcommission_DelTYSaleCommissionRule', {
RuleId: item.Id
}, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message)
this.getList()
} else {
this.Error(res.data.message)
}
})
})
.catch(() => {});
},
// 点击确定
RulesOk(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleLoading = true
this.apipost(
'sellcommission_SetTYSaleCommissionRule', this.form,
res => {
if (res.data.resultCode == 1) {
this.resetForm('form')
this.getList();
this.ruleVisible = false;
this.ruleLoading = false
this.Success(res.data.message)
} else {
this.Error(res.data.message)
}
},
err => {}
)
}
});
},
// 获取列表数据
getList() {
this.loading = true;
this.apipost("sellcommission_GetTYSaleCommissionRuleList", {}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
}else{
this.Error(res.data.message)
}
});
},
// 重置表单
resetForm(formName) {
this.ruleVisible = false;
// 重置表单
this.form = {
Id:0,
Name:'',
SalesRate: 0,
BonusMinPNum: 0,
AwardRuleList:[
{
StartValue:0,
EndValue:null,
Rate:null
}
],
ProfitRuleList:[
{
StartValue:0,
EndValue:null,
Rate:null
}
],
EuropeAwardRuleList:[
{
StartValue:0,
EndValue:null,
Rate:null
}
],
EuropeProfitRuleList:[
{
StartValue:0,
EndValue:null,
Rate:null
}
],
BonusRuleList:[
{
StartValue:0,
Rate:null
}
],
};
this.$refs[formName].resetFields();
},
}
}
</script>
<style scoped>
.hollowFixedBtn{
position: absolute;
top: 9px;
right: 20px;
}
._nav li{float: left;font-size: 14px;color: #666666;padding: 15px 10px;background-color: #F1F1F1;cursor: pointer;position: relative;}
._nav li._active{background-color:#FFFFFF;color: #333333 }
._nav li._active::after{content: "";width: 20px;height: 3px;background-color: #E95252;display: inline-block;position: absolute;bottom: 0;left: 38%;}
.ImpressionTicketing-OuterFrame{
padding: 10px 20px 20px 20px;
box-shadow: 0 1px 8px rgb(0 0 0 / 20%), 0 3px 4px rgb(0 0 0 / 14%), 0 3px 3px -2px rgb(0 0 0 / 12%);
}
.ImpressionTicketing-msgbox{
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 20px;
}
.ImpressionTicketing-msgbox.bottom0{
margin-bottom: 0;
}
.ImpressionTicketing-msgbox div{
flex: 1;
}
.ImpressionTicketing-msgbox div.ImpressionTicketing-msg-but{
flex: 0 0 36px !important;
}
.itc-delete{
color: #E95252;
font-size: 16px;
cursor: pointer;
display: inline-block;
padding: 10px;
}
.itc-outline{
color: #409EFF;
font-size: 16px;
cursor: pointer;
display: inline-block;
padding: 10px;
}
.ImpressionTicketing-title{
padding: 0;
}
.left-text-indent{
text-align: left;
text-indent: 20px
}
/deep/.el-input-number{
width: inherit;
}
/deep/.el-input-number .el-input__inner{
text-align: left;
height: 34px;
}
.Impression-ratio-box{
display: flex;
justify-content: space-between;
}
.Impression-ratio-right{
font-size: 13px;
margin-left: 5px;
}
/deep/.line-heigh .el-input-number{
line-height: 32px;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC{
flex-wrap: wrap;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC div{
flex: 0 0 220px;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC div:last-child{
flex: 0 0 auto;
}
.EmpGroupListBox{
display: flex;flex-direction: row; flex-wrap: nowrap;
justify-content: space-between;
/* box-shadow: 0 1px 2px rgb(0 0 0 / 20%), 0 1px 4px rgb(0 0 0 / 14%), 0 1px 1px -1px rgb(0 0 0 / 12%); */
margin-bottom: 5px;
}
.EmpGroupListBox:last-child{
/* margin-bottom: 0; */
}
.EmpGroupListBox>div{
flex: 0 0 220px;
}
.EmpGroupListBox>div:nth-child(2){
/* margin-left: 50px; */
}
/deep/.EmpGroupListBox .el-form-item__content{
/* width: 100%; */
}
</style>
<template>
<div class="page_FProcessManagement">
<ul class="_nav clearfix">
<!-- <li style="color: red;">{{$t('objFill.v101.FinancialModule.zhumpbjrrtjl')}}</li> -->
<!-- <input type="button" class="hollowFixedBtn" :value="$t('pub.addBtn')" @click="AddMsg"/> -->
<input type="button" class="normalBtn" style="position: absolute; right: 90px;top: 9px;" :value="$t('pub.searchBtn')" @click="getList"/>
</ul>
<div
class="cm_content"
style="width: 100%;margin-bottom: 35px;margin-top: 90px;"
>
<div style="width:100%;overflow-x: auto;" v-for="(item,index ) in dataList " :key="index">
<table
class="po_content singeRowTable"
style="border:1px solid #E6E6E6;"
cellspacing="0"
cellpadding="0"
>
<tr>
<td rowspan="2" width="150" style="min-width: 150px;">{{item.BranchName}}</td>
<td rowspan="2" width="150" style="min-width: 150px;">{{item.LineNameStr}}</td>
<th style="min-width: 220px;" v-for="( son , sIndex ) in item.RuleList" :key="sIndex">
<span v-if="item.Type==1">{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' '+$t('hotel.hotel_people'):' '+$t('objFill.v101.FinancialModule.renyishang')}}</span>
<span v-else>{{ son.StartValue }}{{son.EndValue&&son.EndValue!=-1?' ~ '+son.EndValue+' '+$t('hotel.hotel_yuan'):' '+$t('objFill.v101.FinancialModule.renyishang')}}</span>
</th>
</tr>
<tr>
<td style="min-width: 220px;" v-for="( son , sIndex ) in item.RuleList" :key="sIndex">{{ son.Rate }} {{$t('hotel.hotel_yuan')}}</td>
</tr>
</table>
</div>
</div>
<div v-if="dataList.length==0"
style="width: 100%;border:1px solid #E6E6E6;display: flex;align-items: center;justify-content: center;height: 60px;margin-top: 30px;"
>{{$t('system.content_noData')}}</div>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
dataList:[],
}
},
created() {},
mounted() {
this.getList()
},
methods: {
// 获取列表数据
getList() {
this.loading = true;
this.apipost("sellorder_post_GetTravelLessPriceRuleList", {}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
}else{
this.Error(res.data.message)
}
});
},
}
}
</script>
<style scoped>
.hollowFixedBtn{
position: absolute;
top: 9px;
right: 20px;
}
._nav li{float: left;font-size: 14px;color: #666666;padding: 15px 10px;background-color: #F1F1F1;cursor: pointer;position: relative;}
._nav li._active{background-color:#FFFFFF;color: #333333 }
._nav li._active::after{content: "";width: 20px;height: 3px;background-color: #E95252;display: inline-block;position: absolute;bottom: 0;left: 38%;}
.ImpressionTicketing-OuterFrame{
padding: 10px 20px 20px 20px;
box-shadow: 0 1px 8px rgb(0 0 0 / 20%), 0 3px 4px rgb(0 0 0 / 14%), 0 3px 3px -2px rgb(0 0 0 / 12%);
}
.ImpressionTicketing-msgbox{
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 20px;
}
.ImpressionTicketing-msgbox.bottom0{
margin-bottom: 0;
}
.ImpressionTicketing-msgbox div{
flex: 1;
}
.ImpressionTicketing-msgbox div.ImpressionTicketing-msg-but{
flex: 0 0 36px !important;
}
.itc-delete{
color: #E95252;
font-size: 16px;
cursor: pointer;
display: inline-block;
padding: 10px;
}
.itc-outline{
color: #409EFF;
font-size: 16px;
cursor: pointer;
display: inline-block;
padding: 10px;
}
.ImpressionTicketing-title{
padding: 0;
}
.left-text-indent{
text-align: left;
text-indent: 20px
}
/deep/.el-input-number{
width: inherit;
}
/deep/.el-input-number .el-input__inner{
text-align: left;
height: 34px;
}
.Impression-ratio-box{
display: flex;
justify-content: space-between;
}
.Impression-ratio-right{
font-size: 13px;
margin-left: 5px;
}
/deep/.line-heigh .el-input-number{
line-height: 32px;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC{
flex-wrap: wrap;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC div{
flex: 0 0 220px;
}
.ImpressionTicketing-msgbox.ImpressionTicketing-msgboxBC div:last-child{
flex: 0 0 auto;
}
.EmpGroupListBox{
display: flex;flex-direction: row; flex-wrap: nowrap;
justify-content: space-between;
/* box-shadow: 0 1px 2px rgb(0 0 0 / 20%), 0 1px 4px rgb(0 0 0 / 14%), 0 1px 1px -1px rgb(0 0 0 / 12%); */
margin-bottom: 5px;
}
.EmpGroupListBox:last-child{
/* margin-bottom: 0; */
}
.EmpGroupListBox>div{
flex: 0 0 220px;
}
.EmpGroupListBox>div:nth-child(2){
/* margin-left: 50px; */
}
/deep/.EmpGroupListBox .el-form-item__content{
/* width: 100%; */
}
</style>
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