Commit 43466279 authored by 沈良进's avatar 沈良进

页面修改

parent 73831c5c
<template>
<div class="domesticCommissionRule">
<div class="commonContent">
<div>
<div style="display: flex;justify-content: space-between;align-items: center;">
<p class="sfd_tit clearfix"><span>手配费单据配置</span></p>
<div style="text-align: right;">
<input type="button" class="normalBtn" value="新增手配费单据配置" @click="addNew(1)">
</div>
<div class="domesticCommissionRule">
<div class="commonContent">
<div>
<div style="display: flex;justify-content: space-between;align-items: center;">
<p class="sfd_tit clearfix"><span>手配费单据配置</span></p>
<div style="text-align: right;">
<input type="button" class="normalBtn" value="新增手配费单据配置" @click="addNew(1)">
</div>
</div>
<table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
......@@ -15,10 +15,10 @@
<th>公司</th>
<th width="400px">付款对象</th>
<th>类型</th>
<th>金额</th>
<th>费用类型</th>
<th>总部制单流程</th>
<th>分公司制单流程</th>
<th>金额</th>
<th>费用类型</th>
<th>总部制单流程</th>
<th>分公司制单流程</th>
<th>币种</th>
<th>操作人</th>
<th v-if="S_CheckAllOrder">操作</th>
......@@ -32,11 +32,13 @@
</td>
<td v-if="childIndex==0" :rowspan="subItem.DetailList.length">
{{subItem.ClientName}}
<el-popover v-if="subItem.HistoryClientList.length>0" style="width: 500px;overflow: hidden;" trigger="click" popper-class="pro_tripDetails">
<div v-if="Details.length>0" style="display: flex;flex-wrap: wrap;">
<el-popover v-if="subItem.HistoryClientList.length>0" style="width: 500px;overflow: hidden;"
trigger="click" popper-class="pro_tripDetails">
<div v-if="Details.length>0" style="display: flex;flex-wrap: wrap;">
<el-tag v-for="(ds, din) in Details" :key="din" size="small">{{ds.ClientName}}</el-tag>
</div>
<span slot="reference" @click="getDetails(subIndex,1)" style="color: #409EFF;cursor: pointer;">历史付款对象</span>
</div>
<span slot="reference" @click="getDetails(subIndex,1)"
style="color: #409EFF;cursor: pointer;">历史付款对象</span>
</el-popover>
</td>
<td><span v-if="childItem.Type==1"></span>
......@@ -47,129 +49,131 @@
<span v-if="childItem.Type==6">餐费送客手数料</span>
<span v-if="childItem.Type==7">门票送客手数料</span>
</td>
<td>{{childItem.Unit_Price}}</td>
<td>{{childItem.CostTypeName}}</td>
<td>{{childItem.FlowZName}}</td>
<td>{{childItem.FlowFName}}</td>
<td>{{subItem.CurrencyName}}</td>
<td>{{childItem.Unit_Price}}</td>
<td>{{childItem.CostTypeName}}</td>
<td>{{childItem.FlowZName}}</td>
<td>{{childItem.FlowFName}}</td>
<td>{{subItem.CurrencyName}}</td>
<td>
<p>{{subItem.UpdateByName}}</p>
<p>{{subItem.UpdateDate}}</p>
</td>
<td v-if="S_CheckAllOrder&&childIndex==0" :rowspan="subItem.DetailList.length">
<el-button-group size='mini'>
<el-tooltip class="item" effect="dark" content="编辑手配费" placement="top-start">
<el-button type="primary" icon="el-icon-edit"
@click="isShowDIv = true,divTitle='编辑手配费',getEdit(subItem,1)">
</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete" @click="DeleteRules(subItem.Id,1)">
</el-button>
</el-tooltip>
</el-button-group>
<el-tooltip class="item" effect="dark" content="编辑手配费" placement="top-start">
<el-button type="primary" icon="el-icon-edit"
@click="isShowDIv = true,divTitle='编辑手配费',getEdit(subItem,1)">
</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete" @click="DeleteRules(subItem.Id,1)">
</el-button>
</el-tooltip>
</el-button-group>
</td>
</tr>
</template>
</template>
<tr v-if="DataList.length==0">
<td colspan="11" align="center">暂无数据</td>
</tr>
</table>
</div>
<div style="margin-top: 20px;">
<div style="display: flex;justify-content: space-between;align-items: center;">
<p class="sfd_tit clearfix"><span>单项签证单据配置</span></p>
<div style="text-align: right;">
<input type="button" class="normalBtn" value="新增单项签证单据配置" @click="addNew()">
</div>
</div>
<div style="margin-top: 20px;">
<div style="display: flex;justify-content: space-between;align-items: center;">
<p class="sfd_tit clearfix"><span>单项签证单据配置</span></p>
<div style="text-align: right;">
<input type="button" class="normalBtn" value="新增单项签证单据配置" @click="addNew()">
</div>
<table v-loading="loadingVisa" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th>类型</th>
<th>费用类型</th>
<th>是否启用月结</th>
<th>总公司流程</th>
<th>分公司流程</th>
<th>月结总公司流程</th>
<th>月结分公司流程</th>
<th>操作人</th>
<th>操作</th>
</tr>
</thead>
<template v-for="(subItem,subIndex) in visaDataList">
<tr>
<td>{{subItem.SetUpTypeStr}}</td>
<td >
{{subItem.ExpenseAccountStr}}
</td>
<td>
<span style="color: red;" v-if="subItem.IsMonthly">启用</span>
</td>
<td>
{{subItem.CompanyCourseStr}}
</td>
<td>
{{subItem.BranchCourseStr}}
</td>
<td>
{{subItem.MonthlyCourseStr}}
</td>
<td>
{{subItem.BranchMonthlyCourseStr}}
</td>
<td>
<p>{{subItem.CreateByStr}}</p>
<p>{{subItem.CreateDate}}</p>
</td>
<td v-if="S_CheckAllOrder">
<el-button-group size='mini'>
<el-tooltip class="item" effect="dark" content="编辑单项签证单据配置" placement="top-start">
<el-button type="primary" icon="el-icon-edit"
@click="isShowDIv = true,divTitle='编辑单项签证单据配置',getEdit(subItem)">
</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete" @click="DeleteRules(subItem.Id)">
</el-button>
</el-tooltip>
</el-button-group>
</td>
</tr>
</template>
<tr v-if="visaDataList.length==0">
<td colspan="11" align="center">暂无数据</td>
</div>
<table v-loading="loadingVisa" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th>类型</th>
<th>费用类型</th>
<th>是否启用月结</th>
<th>总公司流程</th>
<th>分公司流程</th>
<th>月结总公司流程</th>
<th>月结分公司流程</th>
<th>操作人</th>
<th>操作</th>
</tr>
</thead>
<template v-for="(subItem,subIndex) in visaDataList">
<tr>
<td>{{subItem.SetUpTypeStr}}</td>
<td>
{{subItem.ExpenseAccountStr}}
</td>
<td>
<span style="color: red;" v-if="subItem.IsMonthly">启用</span>
</td>
<td>
{{subItem.CompanyCourseStr}}
</td>
<td>
{{subItem.BranchCourseStr}}
</td>
<td>
{{subItem.MonthlyCourseStr}}
</td>
<td>
{{subItem.BranchMonthlyCourseStr}}
</td>
<td>
<p>{{subItem.CreateByStr}}</p>
<p>{{subItem.CreateDate}}</p>
</td>
<td v-if="S_CheckAllOrder">
<el-button-group size='mini'>
<el-tooltip class="item" effect="dark" content="编辑单项签证单据配置" placement="top-start">
<el-button type="primary" icon="el-icon-edit"
@click="isShowDIv = true,divTitle='编辑单项签证单据配置',getEdit(subItem)">
</el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete" @click="DeleteRules(subItem.Id)">
</el-button>
</el-tooltip>
</el-button-group>
</td>
</tr>
</template>
<tr v-if="visaDataList.length==0">
<td colspan="11" align="center">暂无数据</td>
</tr>
</table>
</div>
</table>
</div>
</div>
<el-dialog :title="divTitle" :visible.sync="showVisible" width="970px" @close="close">
<el-form ref="addMsg" :model="addMsg" :rules="rules" label-width="90px">
<template v-if="divTitle.indexOf('手配费')!=-1">
<el-dialog :title="divTitle" :visible.sync="showVisible" width="970px" @close="close">
<el-form ref="addMsg" :model="addMsg" :rules="rules" label-width="90px">
<template v-if="divTitle.indexOf('手配费')!=-1">
<el-row>
<el-col :span="8">
<el-form-item label="名称" prop="Name">
<el-input type="text" v-model="addMsg.Name"></el-input>
</el-form-item>
<el-form-item label="名称" prop="Name">
<el-input type="text" v-model="addMsg.Name"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="付款对象" prop="ClientID">
<el-select filterable v-model="addMsg.ClientID" placeholder="选择付款对象" style="width: 100%;">
<el-option v-for="item in ClientAccountList"
:label="item.AccountAlias" :value="item.ID" :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="付款对象" prop="ClientID">
<el-select filterable v-model="addMsg.ClientID" placeholder="选择付款对象" style="width: 100%;">
<el-option v-for="item in ClientAccountList" :label="item.AccountAlias" :value="item.ID"
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="历史对象" prop="ClientIdList">
<el-select filterable v-model="addMsg.ClientIdList" multiple collapse-tags placeholder="历史对象" style="width: 100%;">
<el-option v-for="(item,index) in ClientAccountList" :key="item.ID" :label="item.AccountAlias" :value="item.ID">
<el-select filterable v-model="addMsg.ClientIdList" multiple collapse-tags placeholder="历史对象"
style="width: 100%;">
<el-option v-for="(item,index) in ClientAccountList" :key="item.ID" :label="item.AccountAlias"
:value="item.ID">
</el-option>
</el-select>
</el-form-item>
......@@ -184,8 +188,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="币种" prop="CurrencyId">
<el-select placeholder="选择币种"
v-model="addMsg.CurrencyId" style="width: 100%;" @change="getCurrent(addMsg.CurrencyId)">
<el-select placeholder="选择币种" v-model="addMsg.CurrencyId" style="width: 100%;"
@change="getCurrent(addMsg.CurrencyId)">
<el-option v-for="item in allCurrencyList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
......@@ -196,44 +200,38 @@
<div style="width: 100%;border-bottom: 1px solid #e2e2e2;padding-bottom: 10px;margin-top: 10px;"
v-for="(x,y) in addMsg.DetailList" :key='y'>
<div style="display: flex;align-items: center;margin-bottom: 10px;">
<el-form-item label="类型">
<el-select style="width: 80px;" v-model="x.Type" @change="gettdName(x.Id,y,1)"
clearable disabled>
<el-option v-for="item in TypeListArr" :key="item.Id" :label="item.Name" :disabled="item.disabled"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.Unit_Price'" :rules="productGroup.Unit_Price"
label="金额">
<el-input style="width: 100px;" type="Number" v-model="x.Unit_Price"
@keyup.native="checkPrice(x,'Unit_Price',true)">
</el-input>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.CostTypeId'"
:rules="productGroup.CostTypeId" label="费用类型">
<el-select filterable v-model="x.CostTypeId" style="width: 100px;" @change="gettdName(x.Id,y,2)"
clearable>
<el-option v-for="item in costType" :key="item.ID" :label="item.Name"
:value="item.ID"></el-option>
</el-select>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.FlowZId'"
:rules="productGroup.FlowZId" label="总部流程">
<el-select filterable v-model="x.FlowZId" style="width: 100px;" @change="gettdName(x.Id,y,3)"
clearable>
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.FlowFId'"
:rules="productGroup.FlowFId" label="分部流程">
<el-select filterable v-model="x.FlowFId" style="width: 100px;" @change="gettdName(x.Id,y,4)"
clearable>
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型">
<el-select style="width: 80px;" v-model="x.Type" @change="gettdName(x.Id,y,1)" clearable disabled>
<el-option v-for="item in TypeListArr" :key="item.Id" :label="item.Name" :disabled="item.disabled"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.Unit_Price'" :rules="productGroup.Unit_Price" label="金额">
<el-input style="width: 100px;" type="Number" v-model="x.Unit_Price"
@keyup.native="checkPrice(x,'Unit_Price',true)">
</el-input>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.CostTypeId'" :rules="productGroup.CostTypeId" label="费用类型">
<el-select filterable v-model="x.CostTypeId" style="width: 100px;" @change="gettdName(x.Id,y,2)"
clearable>
<el-option v-for="item in costType" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.FlowZId'" :rules="productGroup.FlowZId" label="总部流程">
<el-select filterable v-model="x.FlowZId" style="width: 100px;" @change="gettdName(x.Id,y,3)"
clearable>
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item :prop="'DetailList.'+ y +'.FlowFId'" :rules="productGroup.FlowFId" label="分部流程">
<el-select filterable v-model="x.FlowFId" style="width: 100px;" @change="gettdName(x.Id,y,4)"
clearable>
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<div>
<!-- <el-button style="margin-left: 15px;padding: 6px;" type="danger" size="mini" class="el-icon-delete" circle
v-if="addMsg.DetailList.length>1" @click="addMsg.DetailList.splice(y,1)">
......@@ -246,299 +244,322 @@
<!-- <el-button size="mini" type="primary"
class="el-icon-circle-plus-outline" circle @click="addDetailList"></el-button> -->
</el-form-item>
</template>
<template v-if="divTitle.indexOf('配置')!=-1">
<el-row style="height: 100px;">
<el-col :span="8">
<el-form-item label="类型" prop="SetUpType">
<el-select filterable v-model="addMsg.SetUpType" placeholder="选择类型" style="width: 100%;"
clearable>
<el-option v-for="item in SetUpTypeList" :key="item.ID" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
</template>
<template v-if="divTitle.indexOf('配置')!=-1">
<el-row style="height: 100px;">
<el-col :span="8">
<el-form-item label="类型" prop="SetUpType">
<el-select filterable v-model="addMsg.SetUpType" placeholder="选择类型" style="width: 100%;" clearable>
<el-option v-for="item in SetUpTypeList" :key="item.ID" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="费用类型" prop="ExpenseAccount">
<el-select filterable v-model="addMsg.ExpenseAccount" placeholder="选择费用类型" style="width: 100%;"
>
<el-option v-for="(item,index) in costType" :key="index" :label="item.Name" :value='item.ID'></el-option>
<el-select filterable v-model="addMsg.ExpenseAccount" placeholder="选择费用类型" style="width: 100%;">
<el-option v-for="(item,index) in costType" :key="index" :label="item.Name" :value='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总司流程" prop="CompanyCourse">
<el-select filterable v-model="addMsg.CompanyCourse" placeholder="选择总公司流程" style="width: 100%;">
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分司流程" prop="BranchCourse">
<el-select filterable v-model="addMsg.BranchCourse" placeholder="选择分公司流程" style="width: 100%;">
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
</el-form-item>
</el-col>
<template v-if="addMsg.IsMonthly==1">
</el-col>
<el-col :span="8">
<el-form-item label="总司流程" prop="CompanyCourse">
<el-select filterable v-model="addMsg.CompanyCourse" placeholder="选择总公司流程" style="width: 100%;">
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分司流程" prop="BranchCourse">
<el-select filterable v-model="addMsg.BranchCourse" placeholder="选择分公司流程" style="width: 100%;">
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<template v-if="addMsg.IsMonthly==1">
<el-col :span="8">
<el-form-item label="月总流程" prop="MonthlyCourse">
<el-select filterable v-model="addMsg.MonthlyCourse" placeholder="选择月结总公司流程" style="width: 100%;">
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name"
:value="item.Id"></el-option>
</el-select>
<el-option v-for="item in TemplateGetList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="月分流程" prop="BranchMonthlyCourse">
<el-select filterable v-model="addMsg.BranchMonthlyCourse" placeholder="选择月结分公司流程" style="width: 100%;">
<el-select filterable v-model="addMsg.BranchMonthlyCourse" placeholder="选择月结分公司流程"
style="width: 100%;">
<el-option v-for="item in TemplateGetList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-col>
</template>
<el-col v-if="addMsg.IsMonthly==1" :span="16">
<el-form-item label="" prop="">
&nbsp;
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="启用月结" prop="">
<el-switch
v-model="addMsg.IsMonthly"
active-value="1"
inactive-value="0">
</el-switch>
</el-form-item>
</el-col>
</el-row>
</template>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="showVisible = false">取 消</el-button>
<el-button size="small" type="danger" @click="submit('addMsg')" :loading="submitLoading">确 定</el-button>
</span>
</el-dialog>
</template>
<el-col v-if="addMsg.IsMonthly==1" :span="16">
<el-form-item label="" prop="">
&nbsp;
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="启用月结" prop="">
<el-switch v-model="addMsg.IsMonthly" active-value="1" inactive-value="0">
</el-switch>
</el-form-item>
</el-col>
</el-row>
</template>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="showVisible = false">取 消</el-button>
<el-button size="small" type="danger" @click="submit('addMsg')" :loading="submitLoading">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Vue from "vue";
const addobj = {
Id: 0,
Name: '',
ClientID: null,
ClientIdList:[],
ClientIds:'',
DetailList: [{
Type: 1,
Unit_Price: null,
CostTypeId: null,
FlowZId: null,
FlowFId: null
}],
</div>
</template>
<script>
import Vue from "vue";
const addobj = {
Id: 0,
Name: '',
ClientID: null,
ClientIdList: [],
ClientIds: '',
DetailList: [{
Type: 1,
Unit_Price: null,
CostTypeId: null,
FlowZId: null,
FlowFId: null
}],
// 单项签证单据配置
SetUpType: null,
ExpenseAccount: null,
CompanyCourse: null,
BranchCourse: null,
IsMonthly: null,
MonthlyCourse: null,
BranchMonthlyCourse: null,
}
export default {
data() {
return {
submitLoading: false,
loadingVisa: false,
divTitle: '',
visaDataList:[],
costType: [],
TemplateGetList:[],
Details:[],
S_CheckAllOrder: false,
CurrentNmae: '',
//所有币种
allCurrencyList: [],
companyList: [],
getCompanyMsg: {
RB_Group_Id: '0',
Status: '0',
// 单项签证单据配置
SetUpType: null,
ExpenseAccount: null,
CompanyCourse: null,
BranchCourse: null,
IsMonthly: null,
MonthlyCourse: null,
BranchMonthlyCourse: null,
}
export default {
data() {
return {
submitLoading: false,
loadingVisa: false,
divTitle: '',
visaDataList: [],
costType: [],
TemplateGetList: [],
Details: [],
S_CheckAllOrder: false,
CurrentNmae: '',
//所有币种
allCurrencyList: [],
companyList: [],
getCompanyMsg: {
RB_Group_Id: '0',
Status: '0',
},
msg: {
BranchId: -1,
},
loading: false, //加载层
DataList: [],
total: 0,
SetUpTypeList: [],
TypeListArr: [{
Name: '房',
Id: 1,
disabled: false
},
msg: {
BranchId: -1,
{
Name: '餐',
Id: 2,
disabled: false
},
loading: false, //加载层
DataList: [],
total: 0,
SetUpTypeList:[],
TypeListArr: [
{Name:'房',Id:1,disabled:false},
{Name:'餐',Id:2,disabled:false},
{Name:'车',Id:3,disabled:false},
{Name:'门票',Id:4,disabled:false},
{Name:'房费送客手数料',Id:5,disabled:false},
{Name:'餐费送客手数料',Id:6,disabled:false},
{Name:'门票送客手数料',Id:7,disabled:false},
], //类型
ClientAccountList: [], //付款对象
showVisible: false, //弹窗的显示
addMsg: Object.assign({}, addobj),
rules: {
Name: [{
required: true,
message: '请输入名称',
trigger: 'blur'
}],
ClientID: [{
required: true,
message: '请选择付款对象',
trigger: 'change'
}],
BranchId: [{
required: true,
message: '请选择适配公司',
trigger: 'change'
}],
CurrencyId: [{
required: true,
message: '请选择币种',
trigger: 'change'
}],
ClientIdList: [{
required: true,
message: '请选择历史付款对象',
trigger: 'change'
}],
SetUpType: [{
required: true,
message: '请选择类型',
trigger: 'change'
}],
ExpenseAccount: [{
required: true,
message: '请选择费用类型',
trigger: 'change'
}],
CompanyCourse: [{
required: true,
message: '请选择总公司流程',
trigger: 'change'
}],
BranchCourse: [{
required: true,
message: '请选择分公司流程',
trigger: 'change'
}],
MonthlyCourse: [{
required: true,
message: '请选择月结总公司流程',
trigger: 'change'
}],
BranchMonthlyCourse: [{
required: true,
message: '请选择月结分公司流程',
trigger: 'change'
}],
{
Name: '车',
Id: 3,
disabled: false
},
productGroupRules2:{
Id: [{
required: true,
// message: '请选择人员',
trigger: 'change'
}],
{
Name: '门票',
Id: 4,
disabled: false
},
productGroup: {
Type: [{
required: true,
message: '请选择类型',
trigger: 'change'
}],
Unit_Price: [{
required: true,
message: '金额不能为空',
trigger: 'blur'
}],
CostTypeId: [{
required: true,
message: '请选择费用类型',
trigger: 'change'
}],
FlowZId: [{
required: true,
message: '请选择总公司流程',
trigger: 'change'
}],
FlowFId: [{
required: true,
message: '请选择分公司流程',
trigger: 'change'
}],
{
Name: '房费送客手数料',
Id: 5,
disabled: false
},
StencilFlowList:[],//签证制单流程
CostTypeList:[],//签证费用类型
};
},
created() {
let userInfo = this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id = userInfo.RB_Group_id; //集团
this.GetVisaSetUpList()
this.getList()
this.getFKList()
this.getCompany()
this.getAllCurrency()
this.FinancialFlowTemplate_post_GetList()
this.getTemplateCostTypeList()
},
methods: {
close() {
// 小技巧,直接给表单数据对象赋值为空
this.addMsg = {}
// 清空表单校验
this.$refs.addMsg.clearValidate();
// 移除校验结果并重置字段值
this.$refs["addMsg"].resetFields();
{
Name: '餐费送客手数料',
Id: 6,
disabled: false
},
{
Name: '门票送客手数料',
Id: 7,
disabled: false
},
], //类型
ClientAccountList: [], //付款对象
showVisible: false, //弹窗的显示
addMsg: Object.assign({}, addobj),
rules: {
Name: [{
required: true,
message: '请输入名称',
trigger: 'blur'
}],
ClientID: [{
required: true,
message: '请选择付款对象',
trigger: 'change'
}],
BranchId: [{
required: true,
message: '请选择适配公司',
trigger: 'change'
}],
CurrencyId: [{
required: true,
message: '请选择币种',
trigger: 'change'
}],
ClientIdList: [{
required: true,
message: '请选择历史付款对象',
trigger: 'change'
}],
SetUpType: [{
required: true,
message: '请选择类型',
trigger: 'change'
}],
ExpenseAccount: [{
required: true,
message: '请选择费用类型',
trigger: 'change'
}],
CompanyCourse: [{
required: true,
message: '请选择总公司流程',
trigger: 'change'
}],
BranchCourse: [{
required: true,
message: '请选择分公司流程',
trigger: 'change'
}],
MonthlyCourse: [{
required: true,
message: '请选择月结总公司流程',
trigger: 'change'
}],
BranchMonthlyCourse: [{
required: true,
message: '请选择月结分公司流程',
trigger: 'change'
}],
},
// 获取所有费用类型
getTemplateCostTypeList(){
// 单项签证制单费用类型
// this.apipost('Financial_post_GetTemplateCostTypeList',{},res=>{
// if(res.data.resultCode==1){
// this.CostTypeList=res.data.data;
// }else{}
// },err=>{})
// 手配费费用类型
this.apipost('financeinfo_post_GetCostTypeList',{Type:null},res=>{
if(res.data.resultCode==1){
this.costType=res.data.data;
}else{
}
},err=>{})
// 单项签证制单类型
this.apipost('Financial_post_GetSetUpTypeEnumList',{},res=>{
if(res.data.resultCode==1){
this.SetUpTypeList=res.data.data;
}else{}
},err=>{})
productGroupRules2: {
Id: [{
required: true,
// message: '请选择人员',
trigger: 'change'
}],
},
// 所有审核流程
FinancialFlowTemplate_post_GetList() {
// 手配费流程
this.apipost(
"FinancialFlowTemplate_post_GetSingleList",
{},
res => {
if (res.data.resultCode == 1) {
this.TemplateGetList = res.data.data;
} else {
}
productGroup: {
Type: [{
required: true,
message: '请选择类型',
trigger: 'change'
}],
Unit_Price: [{
required: true,
message: '金额不能为空',
trigger: 'blur'
}],
CostTypeId: [{
required: true,
message: '请选择费用类型',
trigger: 'change'
}],
FlowZId: [{
required: true,
message: '请选择总公司流程',
trigger: 'change'
}],
FlowFId: [{
required: true,
message: '请选择分公司流程',
trigger: 'change'
}],
},
StencilFlowList: [], //签证制单流程
CostTypeList: [], //签证费用类型
};
},
created() {
let userInfo = this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id = userInfo.RB_Group_id; //集团
this.GetVisaSetUpList()
this.getList()
this.getFKList()
this.getCompany()
this.getAllCurrency()
this.FinancialFlowTemplate_post_GetList()
this.getTemplateCostTypeList()
},
methods: {
close() {
// 小技巧,直接给表单数据对象赋值为空
this.addMsg = {}
// 清空表单校验
this.$refs.addMsg.clearValidate();
// 移除校验结果并重置字段值
this.$refs["addMsg"].resetFields();
},
// 获取所有费用类型
getTemplateCostTypeList() {
// 单项签证制单费用类型
// this.apipost('Financial_post_GetTemplateCostTypeList',{},res=>{
// if(res.data.resultCode==1){
// this.CostTypeList=res.data.data;
// }else{}
// },err=>{})
// 手配费费用类型
this.apipost('financeinfo_post_GetCostTypeList', {
Type: null
}, res => {
if (res.data.resultCode == 1) {
this.costType = res.data.data;
} else {}
}, err => {})
// 单项签证制单类型
this.apipost('Financial_post_GetSetUpTypeEnumList', {}, res => {
if (res.data.resultCode == 1) {
this.SetUpTypeList = res.data.data;
} else {}
}, err => {})
},
// 所有审核流程
FinancialFlowTemplate_post_GetList() {
// 手配费流程
this.apipost(
"FinancialFlowTemplate_post_GetSingleList", {},
res => {
if (res.data.resultCode == 1) {
this.TemplateGetList = res.data.data;
} else {}
},
err => {}
);
......@@ -555,11 +576,11 @@
// err => {}
// );
},
//获取历史详情
getDetails(index,type) {
this.Details = type==1?this.DataList[index].HistoryClientList:this.DataList[index].DetailList;
},
//获取当前下拉选中币种
//获取历史详情
getDetails(index, type) {
this.Details = type == 1 ? this.DataList[index].HistoryClientList : this.DataList[index].DetailList;
},
//获取当前下拉选中币种
getCurrent(currencyId) {
this.allCurrencyList.forEach(x => {
if (x.ID == currencyId) {
......@@ -567,206 +588,200 @@
}
});
},
//获取所有币种
getAllCurrency() {
this.apipost(
"financeinfo_post_GetList",
{},
res => {
if (res.data.resultCode == 1) {
this.allCurrencyList = res.data.data;
}
},
err => { }
);
},
//获取公司
getCompany() {
this.apipost('admin_get_BranchGetList', this.getCompanyMsg, res => {
//获取所有币种
getAllCurrency() {
this.apipost(
"financeinfo_post_GetList", {},
res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
} else {}
}, err => {})
},
handleCurrentChange(val) {
//翻页功能按钮
this.msg.pageIndex = val;
this.getList();
},
getList() {
this.loading = true;
this.apipost(
"handfee_post_GetHandFeeList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.DataList = res.data.data;
// this.total = res.data.data.count;
}
},
err => {}
);
this.allCurrencyList = res.data.data;
}
},
err => {}
);
},
//获取公司
getCompany() {
this.apipost('admin_get_BranchGetList', this.getCompanyMsg, res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
} else {}
}, err => {})
},
handleCurrentChange(val) {
//翻页功能按钮
this.msg.pageIndex = val;
this.getList();
},
getList() {
this.loading = true;
this.apipost(
"handfee_post_GetHandFeeList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.DataList = res.data.data;
// this.total = res.data.data.count;
}
},
err => {}
);
},
GetVisaSetUpList(){
this.loadingVisa = true
this.apipost(
"Financial_post_GetVisaSetUpList",
{},
res => {
this.loadingVisa = false;
if (res.data.resultCode == 1) {
this.visaDataList = res.data.data;
}
},
err => {}
);
},
gettdName(id, index,type) { //获取团队类型名称
if(type==1){
this.TypeListArr.map(x => {
if (x.Id == id) {
this.addMsg.DetailList[index].Name = x.Name;
return false
}
})
},
GetVisaSetUpList() {
this.loadingVisa = true
this.apipost(
"Financial_post_GetVisaSetUpList", {},
res => {
this.loadingVisa = false;
if (res.data.resultCode == 1) {
this.visaDataList = res.data.data;
}
},
//获取付款列表
getFKList() {
let msg = {
ID:0,
Type:0,
ObjID:0,
CardNum:''
},
err => {}
);
},
gettdName(id, index, type) { //获取团队类型名称
if (type == 1) {
this.TypeListArr.map(x => {
if (x.Id == id) {
this.addMsg.DetailList[index].Name = x.Name;
return false
}
this.apipost(
"financeinfo_post_GetClientAccountList", msg,
res => {
if (res.data.resultCode == 1) {
this.ClientAccountList = res.data.data;
}
})
}
},
//获取付款列表
getFKList() {
let msg = {
ID: 0,
Type: 0,
ObjID: 0,
CardNum: ''
}
this.apipost(
"financeinfo_post_GetClientAccountList", msg,
res => {
if (res.data.resultCode == 1) {
this.ClientAccountList = res.data.data;
}
);
},
getEdit(row,type) { //修改
let data = JSON.parse(JSON.stringify(row))
this.addMsg = data
console.log("data",data);
if(type==1){
this.addMsg.DetailList.forEach(item=>{
item.Unit_Price = Number(item.Unit_Price)
})
this.addMsg.ClientIdList = data.ClientIds.split(',').map(Number)
}
this.addMsg = Object.assign({}, this.addMsg)
if(!type){
this.addMsg.SetUpType = String(row.SetUpType)
this.addMsg.IsMonthly = String(row.IsMonthly)
this.addMsg.MonthlyCourse = row.MonthlyCourse?row.MonthlyCourse:null
this.addMsg.BranchMonthlyCourse = row.BranchMonthlyCourse?row.BranchMonthlyCourse:null
}
this.showVisible = true;
},
DeleteRules(ID,type) { //删除
let text
let cmd
if(type==1){
text = '是否删除手配费单据配置'
cmd = 'handfee_post_DelHandFee'
}else{
text = '是否删除单项签证单据配置'
cmd = 'Financial_post_DelVisaSetUp'
}
this.$confirm(text, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.apipost(cmd, {
Id: ID
}, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message)
if(type==1){
this.getList()
}else{
this.GetVisaSetUpList()
}
);
},
getEdit(row, type) { //修改
let data = JSON.parse(JSON.stringify(row))
this.addMsg = data
if (type == 1) {
this.addMsg.DetailList.forEach(item => {
item.Unit_Price = Number(item.Unit_Price)
})
this.addMsg.ClientIdList = data.ClientIds.split(',').map(Number)
}
this.addMsg = Object.assign({}, this.addMsg)
if (!type) {
this.addMsg.SetUpType = String(row.SetUpType)
this.addMsg.IsMonthly = String(row.IsMonthly)
this.addMsg.MonthlyCourse = row.MonthlyCourse ? row.MonthlyCourse : null
this.addMsg.BranchMonthlyCourse = row.BranchMonthlyCourse ? row.BranchMonthlyCourse : null
}
this.showVisible = true;
},
DeleteRules(ID, type) { //删除
let text
let cmd
if (type == 1) {
text = '是否删除手配费单据配置'
cmd = 'handfee_post_DelHandFee'
} else {
text = '是否删除单项签证单据配置'
cmd = 'Financial_post_DelVisaSetUp'
}
this.$confirm(text, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.apipost(cmd, {
Id: ID
}, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message)
if (type == 1) {
this.getList()
} else {
this.Error(res.data.message)
this.GetVisaSetUpList()
}
})
} else {
this.Error(res.data.message)
}
})
.catch(() => {});
},
addNew(type) { //新增
this.addMsg = {
Id: 0,
Name: '',
ClientID: null,
ClientIdList:[],
ClientIds:'',
DetailList: [{
Type: 1,
Unit_Price: null,
CostTypeId: null,
FlowZId: null,
FlowFId: null
}],
})
.catch(() => {});
},
addNew(type) { //新增
this.addMsg = {
Id: 0,
Name: '',
ClientID: null,
ClientIdList: [],
ClientIds: '',
DetailList: [{
Type: 1,
Unit_Price: null,
CostTypeId: null,
FlowZId: null,
FlowFId: null
}],
// 单项签证单据配置
SetUpType: null,
ExpenseAccount: null,
CompanyCourse: null,
BranchCourse: null,
IsMonthly: null,
MonthlyCourse: null,
BranchMonthlyCourse: null,
}
this.divTitle = type==1?'新增手配费':'新增单项签证单据配置'
this.showVisible = true;
this.addDetailList()
},
addDetailList() { //新增类型
// let isdisabled = false
// let isdisabledXHS = false
for(let i = 2;i<8;i++){
let obj = {
Type: i,
Unit_Price: null,
CostTypeId: null,
FlowZId: null,
FlowFId: null
}
this.addMsg.DetailList.push(obj)
}
},
submit(formName) {
if(this.divTitle.indexOf('手配费')!=-1){
this.addMsg.ClientIds = this.addMsg.ClientIdList.join(',')
// 单项签证单据配置
SetUpType: null,
ExpenseAccount: null,
CompanyCourse: null,
BranchCourse: null,
IsMonthly: null,
MonthlyCourse: null,
BranchMonthlyCourse: null,
}
this.divTitle = type == 1 ? '新增手配费' : '新增单项签证单据配置'
this.showVisible = true;
this.addDetailList()
},
addDetailList() { //新增类型
// let isdisabled = false
// let isdisabledXHS = false
for (let i = 2; i < 8; i++) {
let obj = {
Type: i,
Unit_Price: null,
CostTypeId: null,
FlowZId: null,
FlowFId: null
}
this.$refs[formName].validate((valid) => {
if (valid) {
if(this.divTitle.indexOf('手配费')!=-1){
let addMsg = {
Id: this.addMsg.Id,
Name: this.addMsg.Name,
ClientID: this.addMsg.ClientID,
ClientIdList:this.addMsg.ClientIdList,
ClientIds:this.addMsg.ClientIds,
DetailList:this.addMsg.DetailList,
BranchId:this.addMsg.BranchId,
CurrencyId:this.addMsg.CurrencyId,
}
this.submitLoading = true
this.apipost(
this.addMsg.DetailList.push(obj)
}
},
submit(formName) {
if (this.divTitle.indexOf('手配费') != -1) {
this.addMsg.ClientIds = this.addMsg.ClientIdList.join(',')
}
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.divTitle.indexOf('手配费') != -1) {
let addMsg = {
Id: this.addMsg.Id,
Name: this.addMsg.Name,
ClientID: this.addMsg.ClientID,
ClientIdList: this.addMsg.ClientIdList,
ClientIds: this.addMsg.ClientIds,
DetailList: this.addMsg.DetailList,
BranchId: this.addMsg.BranchId,
CurrencyId: this.addMsg.CurrencyId,
}
this.submitLoading = true
this.apipost(
'handfee_post_SetHandFeeInfo', addMsg,
res => {
this.submitLoading = false
......@@ -776,24 +791,24 @@
this.Success(res.data.message)
} else {
this.Error(res.data.message)
}
},
err => {}
)
}else{
let addMsg = {
Id: this.addMsg.Id,
SetUpType: this.addMsg.SetUpType,
ExpenseAccount: this.addMsg.ExpenseAccount,
CompanyCourse: this.addMsg.CompanyCourse,
BranchCourse: this.addMsg.BranchCourse,
IsMonthly: this.addMsg.IsMonthly,
MonthlyCourse: this.addMsg.MonthlyCourse,
BranchMonthlyCourse: this.addMsg.BranchMonthlyCourse,
}
this.submitLoading = true
this.apipost(
this.Error(res.data.message)
}
},
err => {}
)
} else {
let addMsg = {
Id: this.addMsg.Id,
SetUpType: this.addMsg.SetUpType,
ExpenseAccount: this.addMsg.ExpenseAccount,
CompanyCourse: this.addMsg.CompanyCourse,
BranchCourse: this.addMsg.BranchCourse,
IsMonthly: this.addMsg.IsMonthly,
MonthlyCourse: this.addMsg.MonthlyCourse,
BranchMonthlyCourse: this.addMsg.BranchMonthlyCourse,
}
this.submitLoading = true
this.apipost(
'Financial_post_SetVisaSetUp', addMsg,
res => {
this.submitLoading = false
......@@ -803,52 +818,56 @@
this.Success(res.data.message)
} else {
this.Error(res.data.message)
}
},
err => {}
)
}
this.Error(res.data.message)
}
},
err => {}
)
}
});
},
}
});
},
mounted() {
let userInfo = this.getLocalStorage();
let ActionMenuCode = userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf('S_CheckAllOrder') != -1 ){
this.S_CheckAllOrder = true
}
if(!this.S_CheckAllOrder){
this.msg.BranchId = userInfo.RB_Group_id
}
},
mounted() {
let userInfo = this.getLocalStorage();
let ActionMenuCode = userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf('S_CheckAllOrder') != -1) {
this.S_CheckAllOrder = true
}
if (!this.S_CheckAllOrder) {
this.msg.BranchId = userInfo.RB_Group_id
}
};
}
};
</script>
<style scoped>
@import "../../../assets/css/cssReset.css";
</script>
<style scoped>
@import "../../../assets/css/cssReset.css";
/* .rule-box .el-select__tags{
/* .rule-box .el-select__tags{
top: 100%;
} */
.domesticCommissionRule .query-box input {
height: 34px !important;
}
.p-5{
padding: 5px 0;
}
/deep/.el-tag--small{
margin: 0 2px 2px;
padding: 0 3px;
}
.sfd_tit {
border-left: 3px solid #E95252;
text-indent: 10px;
font-size: 16px;
line-height: 30px;
margin: 20px 0 10px 0;
}
.domesticCommissionRule .query-box input {
height: 34px !important;
}
.p-5 {
padding: 5px 0;
}
/deep/.el-tag--small {
margin: 0 2px 2px;
padding: 0 3px;
}
.sfd_tit {
border-left: 3px solid #E95252;
text-indent: 10px;
font-size: 16px;
line-height: 30px;
margin: 20px 0 10px 0;
}
</style>
</style>
......@@ -2144,6 +2144,7 @@
<span class="RL-redType RL-remarkCon" v-if="item.guestList.length > 0">
<span v-for="childItem in item.guestList" style="color: blue">{{ childItem.userName }}
<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">({{ $t("salesModule.Zhao") }})</span>
&nbsp;&nbsp;</span>
<span v-if="item.photoNum > 0">({{ $t("salesModule.NoPhoto") }} {{ item.photoNum
......
......@@ -2336,13 +2336,20 @@
IsLookOrder ||
isUpdateOrder)
">
<span v-for="childItem in item.guestList" style="color: blue">{{childItem.userName}}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span><span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-for="childItem in item.guestList" style="color: blue">
{{childItem.userName}}
<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span
v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-if="item.photoNum > 0">(照片一人 {{ item.photoNum }}份)</span>
</span>
<p v-if="item.cancelGuestList && item.cancelGuestList.length > 0">
<span class="">取消名单:</span>
<span class="RL-redType RL-remarkCon">
<span style="color: red" n v-for="(childItem, childIndex) in item.cancelGuestList" :key="childIndex+150000">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
<span style="color: red" n v-for="(childItem, childIndex) in item.cancelGuestList"
:key="childIndex+150000">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
</span>
</p>
<span style="display: block">房间信息<span v-if="item.oneSex > 0"
......@@ -2885,13 +2892,21 @@
IsLookOrder ||
isUpdateOrder)
">
<span v-for="childItem in item.guestList" style="color: blue">{{ childItem.userName}}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span><span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>&nbsp;&nbsp;</span>
<span v-for="childItem in item.guestList" style="color: blue">
{{ childItem.userName}}
<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">(照)</span>
</span>
<span v-if="item.photoNum > 0">(照片一人 {{ item.photoNum }}份)</span>
</span>
<p v-if="item.cancelGuestList && item.cancelGuestList.length > 0">
<span class="">取消名单:</span>
<span class="RL-redType RL-remarkCon">
<span style="color: red" v-for="(childItem, childIndex) in item.cancelGuestList" :key="childIndex+260000">{{ childItem.userName }}<span style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
<span style="color: red" v-for="(childItem, childIndex) in item.cancelGuestList"
:key="childIndex+260000">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.visaType==1?'(个签)':''}}</span> &nbsp;&nbsp;</span>
</span>
</p>
<span style="display: block">房间信息<span v-if="item.oneSex > 0"
......
......@@ -426,7 +426,6 @@
this.msg,
res => {
this.QueryMsg.loading = false;
console.log("res", res.data);
if (res.data.resultCode == 1) {
this.msg.total = res.data.data.count;
this.QueryMsg.dataList = res.data.data.pageData;
......
......@@ -2097,8 +2097,8 @@
<span style="color: blue !important" v-for="(childItem,childIndex) in item.GuestList" :key="childIndex"
@click="goToPassenger(childItem, 2)">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.VisaType==1?'(个签)':''}}</span>
<!-- <span style="color:#f56c6c">{{childItem.TicketOutTypeStr}}
</span> -->
<span style="color:#f56c6c">{{childItem.TicketOutTypeStr}}
</span>
</span>
</p>
<p v-if="item.CancelGuestList.length > 0">
......@@ -2638,8 +2638,8 @@
@click="goToPassenger2(msg.TCID, fourthItem.OrderId, 2)">{{ fourthItem.userName }}
<span style="color:#f56c6c">{{fourthItem.VisaType==1?'(个签)':''}}
</span>
<!-- <span style="color:#f56c6c">{{fourthItem.TicketOutTypeStr}}
</span> -->
<span style="color:#f56c6c">{{fourthItem.TicketOutTypeStr}}
</span>
</span>
</template>
</span>
......
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