Commit f65503ff authored by Mac's avatar Mac

单据详情

parent 6bd1734b
......@@ -8,9 +8,11 @@ import {VTable,VPagination} from 'vue-easytable'
import commonUtils from '../pages/financial/utils/commonUtils'
import 'viewerjs/dist/viewer.css'
import Viewer from 'v-viewer'
import AuthCode from '../pages/financial/utils/AuthCode' //权限编码JS
Vue.http = Vue.prototype.$http = axios
Vue.commonUtils = Vue.prototype.$commonUtils=commonUtils
Vue.AuthCode=Vue.prototype.$AuthCode=AuthCode
// 时间扩展格式化
Date.prototype.Format = function (fmt) {
......
<style>
@import url('../css/TicketingModule.css');
</style>
<template>
<div v-if="dataList.length < 1">
</div>
<div v-else>
<div class="m_TicketingModule" v-if="type !== 7">
<div class="_tit">
<span class="_text">挂账冲抵列表</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="_padding_20_15">
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th>费用类型</th>
<th>团号</th>
<th>财务单据</th>
<th>收支类型</th>
<th>冲抵金额</th>
<th>对象名称</th>
<th>备注</th>
<th>制单时间</th>
<th>制单人</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{item.CostTypeName}}</td>
<td>{{item.TCNUM}}</td>
<td>{{item.FrID}}</td>
<td>{{item.HangingAccountsTypeStr}}</td>
<td>{{item.fmrMoney}}</td>
<td>{{item.RemitterName}}</td>
<td>{{item.Remark}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.createByStr}}</td>
</tr>
</table>
</div>
</div>
<div v-else class="m_TicketingModule" >
<div class="_tit">
<span class="_text">挂账冲抵列表</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="_padding_20_15">
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th>财务单据</th>
<th>费用类型</th>
<th>收支类型</th>
<th>金额</th>
<th>备注</th>
<th>制单时间</th>
<th>制单人</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{item.FrID}}</td>
<td>
<span v-for="(t, index) in item.DetailList">{{t.CostTypeName}} <span v-if="index!==item.DetailList.length-1">,</span> </span>
</td>
<td>{{item.Type === 1 ? '收' : '支'}}</td>
<td>{{item.Money}}</td>
<td>{{item.Remark}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.createByStr}}</td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
props:["dataList", 'type'],
data(){
return{
tableShow:false,
}
},watch:{
},created(){
},mounted(){
},methods:{
}
}
</script>
This diff is collapsed.
<style>
@import url('../css/TicketingModule.css');
.sanjiao-box{
position: relative;
}
._sanjiao_{
position: absolute;
top: 0px;
left: 0px;
width: 0px;
height: 0px;
border-top: 20px solid #e73828;
border-bottom: 20px solid transparent;
border-left: 20px solid #e73828;
border-right: 20px solid transparent;
}
.sanjiao-box ._sanjiao_:after{
content: '关';
position: absolute;
top: -15px;
left: -14px;
white-space: nowrap;
color: #FFFFFF;
font-size: 12px;
}
.sanjiao-box .Receipt_table td{
padding: 0 10px;
}
.hover_text span{
cursor: pointer;
text-decoration: underline;
}
</style>
<template>
<div class="m_TicketingModule" >
<div class="_tit">
<span class="_text">{{tit}}</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="sanjiao-box _padding_20_15">
<div class="_sanjiao_"></div>
<table border="1" class="_border_color_b Receipt_table" bordercolor="#c94052" style="border-collapse:collapse;width: 100%;" v-loading='loading'>
<tr>
<th rowspan="2" width="100">{{$t('system.query_company')}}</th>
<th rowspan="2" width="70">{{$t('fnc.danhao')}}</th>
<th rowspan="2" width="120">{{$t('fnc.fyshuoming')}}</th>
<th rowspan="2">{{$t('hotel.hotel_Currency')}}</th>
<th colspan="3">{{$t('fnc.jine')}}</th>
<th rowspan="2">{{$t('hotel.hotel_remark')}}</th>
<th rowspan="2" width="70">{{$t('fnc.zhidanren')}}</th>
</tr>
<tr>
<th width="88">{{$t('fnc.yuanbi')}}</th>
<th width="90">{{$t('hotel.hotel_CurrentRate')}}</th>
<th width="75">{{$t('fnc.bweibi')}}</th>
</tr>
<template v-if="details&&details.length">
<tr v-for="(item) in details" class="_color_b">
<td height="34px">{{item.BName}}</td>
<td height="34px" @click="goDetail(item.FinanceId)" class="hover_text"><span>{{item.FinanceId}}</span></td>
<td height="34px">{{item.CostTypeName}}</td>
<td height="34px">{{item.CurrencyName}}</td>
<td height="34px">{{item.OriginalMoney}}</td>
<td height="34px">{{item.Rate}}</td>
<td height="34px">{{item.Money}}</td>
<td height="34px" style="max-width: 120px;">{{item.Remark}}</td>
<td height="34px">{{item.EmName}}</td>
</tr>
</template>
<tr v-if="details&&details.length<2">
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
</tr>
<tr v-if="details&&details.length<3">
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
</tr>
<tr v-if="details&&details.length<4">
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
props:["FrID", "TemplateId"],
data(){
return{
tableShow: true,
tit: '',
details: [],
loading: true,
}
},watch:{
},created(){
if (this.TemplateId == 59 || this.TemplateId == 63) {
this.tit = '相关地接报账单据'
}
if (this.TemplateId == 43 || this.TemplateId == 48 || this.TemplateId == 53 || this.TemplateId == 56) {
this.tit = '相关领队用款单据'
}
this.getDetails()
},mounted(){
},methods:{
goDetail(id){
this.$router.push({ name: 'FinancialDocumentsDetail',query:{"id":id,blank:'y',tab:'单据详情'} })
},
getDetails(){
this.loading = true
this.apipost('Financial_post_GetLeaderFinaceRelevance', {FrId: this.FrID}, res=>{
if(res.data.resultCode == 1) {
this.loading = false
let data= res.data.data;
this.details = data;
}
}, null)
}
}
}
</script>
<style>
@import url('../css/TicketingModule.css');
.sanjiao-box{
position: relative;
}
._sanjiao_{
position: absolute;
top: 0px;
left: 0px;
width: 0px;
height: 0px;
border-top: 20px solid #e73828;
border-bottom: 20px solid transparent;
border-left: 20px solid #e73828;
border-right: 20px solid transparent;
}
.sanjiao-box ._sanjiao_:after{
content: '关';
position: absolute;
top: -15px;
left: -14px;
white-space: nowrap;
color: #FFFFFF;
font-size: 12px;
}
.sanjiao-box .Receipt_table td{
padding: 0 10px;
}
.hover_text span{
cursor: pointer;
text-decoration: underline;
}
</style>
<template>
<div class="m_TicketingModule" >
<div class="_tit">
<span class="_text">{{tit}}</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="sanjiao-box _padding_20_15">
<div class="_sanjiao_"></div>
<table border="1" class="_border_color_b Receipt_table" bordercolor="#c94052" style="border-collapse:collapse;width: 100%;" v-loading='loading'>
<tr>
<th rowspan="2">{{$t('system.query_company')}}</th>
<th rowspan="2">{{$t('fnc.danhao')}}</th>
<th rowspan="2">{{$t('fnc.fyshuoming')}}</th>
<th rowspan="2">{{$t('hotel.hotel_Currency')}}</th>
<th colspan="3">{{$t('fnc.jine')}}</th>
<th rowspan="2">{{$t('hotel.hotel_remark')}}</th>
<th rowspan="2">{{$t('fnc.zhidanren')}}</th>
</tr>
<tr>
<th width="88">{{$t('fnc.yuanbi')}}</th>
<th width="50">{{$t('hotel.hotel_CurrentRate')}}</th>
<th width="68">{{$t('fnc.bweibi')}}</th>
</tr>
<template v-if="details&&details.length">
<tr v-for="(item) in details" class="_color_b">
<td height="34px">{{item.BName}}</td>
<td height="34px" @click="goDetail(item.FinanceId)" class="hover_text"><span>{{item.FinanceId}}</span></td>
<td height="34px">{{item.CostTypeName}}</td>
<td height="34px">{{item.CurrencyName}}</td>
<td height="34px">{{item.OriginalMoney}}</td>
<td height="34px">{{item.Rate}}</td>
<td height="34px">{{item.Money}}</td>
<td height="34px" style="max-width: 120px;">{{item.Remark}}</td>
<td height="34px">{{item.EmName}}</td>
</tr>
</template>
<tr v-else-if="details&&details.length<1">
<td colspan="9" height="34px" style="text-align: center">暂无数据</td>
</tr>
<template v-else>
<tr v-if="details&&details.length<2">
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
</tr>
<tr v-if="details&&details.length<3">
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
</tr>
<tr v-if="details&&details.length<4">
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
<td height="34px"></td>
</tr>
</template>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
props:["FrID", "TemplateId"],
data(){
return{
tableShow: true,
tit: '',
details: [],
loading: true,
}
},watch:{
},created(){
this.tit = '团相关机票单据'
this.getDetails()
},mounted(){
},methods:{
goDetail(id){
this.$router.push({ name: 'FinancialDocumentsDetail',query:{"id":id,blank:'y',tab:'单据详情'} })
},
getDetails(){
this.loading = true
this.apipost('Financial_post_GetTicketFinanceRelevance', {FrId: this.FrID}, res=>{
if(res.data.resultCode == 1) {
let data= res.data.data;
this.details = data;
}
this.loading = false
}, null)
}
}
}
</script>
<style>
@import url('../css/TicketingModule.css');
</style>
<template>
<div class="m_TicketingModule">
<div class="_tit">
<span class="_text">签证信息</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i></span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i></span>
</div>
</div>
<div v-show="tableShow" class="_padding_20_15">
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th width='80'>订单编号</th>
<th>订单人数</th>
<th>实收价格</th>
<th>应收价格</th>
<th>创建人</th>
<th>产品名称</th>
<th width='150'>送签时间</th>
</tr>
<tr v-for="(item,index) in dataList" :key="index">
<td>{{item.Id}}</td>
<td>{{item.PeopleNum}}</td>
<td>¥{{moneyFormat(item.Income)}}</td>
<td>¥{{moneyFormat(item.TotalPrice)}}</td>
<td>{{item.CreateBy}}</td>
<td>{{item.Name}}</td>
<td>{{item.SendStartDate}}</td>
</tr>
</table>
</div>
</div>
</template>
<script>
export default {
props:["SourceID","OrderID"],
data(){
return{
tableShow:true,
dataList:[],
}
},watch:{
},created(){
},mounted(){
let id = this.OrderID;
let SourceID = this.SourceID;
this.getDate(id,SourceID);
},methods:{
getDate(id,SourceID){
let msg = {
visaOrderId:id,
visaId:SourceID,
}
this.apipost('dmc_get_visa_GetOrderByVisaId',msg,r=>{
if(r.data.resultCode==1){
let data = r.data.data;
this.dataList = data;
}
},null)
}
}
}
</script>
<style>
@import url("../css/TicketingModule.css");
</style>
<template>
<div class="m_TicketingModule">
<div class="_tit">
<span class="_text">机票信息</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i></span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i></span>
</div>
</div>
<div v-show="tableShow" class="_padding_20_15">
<table class="singeRowTable" border="0" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th>航空公司</th>
<th>航班号</th>
<th>时间</th>
<th>出发城市</th>
<th>到达城市</th>
<th>使用数量</th>
<th>状态</th>
</tr>
<tr v-for="item in DataList.FlightList">
<td>{{item.AlName}}</td>
<td>
{{item.Flight_number}}
</td>
<td>
{{item.FlightDateStr}} {{item.Departure_time}}
</td>
<td>
{{item.DepartureName}}
</td>
<td>
{{item.ArrivalCityName}}
</td>
<td>{{DataList.UseAccount}}</td>
<td v-if="Type">{{getTypeStr()}}</td>
</tr>
</table>
</div>
</div>
</template>
<script>
export default {
props:["SourceID","id","Callback"],
data() {
return {
tableShow: false,
//机票编号
// SourceID: 0,
//数据列表
DataList: {},
//数据对象
// Callback: {},
//定金类型
Type: null
};
},
methods: {
getTypeStr() {
var str = "";
switch (this.Type) {
case 1:
str = "一定";
break;
case 2:
str = "二定";
break;
case 3:
str = "三定";
break;
case 4:
str = "四定";
break;
case 5:
str = "尾款";
break;
}
return str;
},
getList() {
this.apipost(
"AirTicket_Get_GetAirticketById",
{
ID: this.SourceID
},
r => {
if (r.data.resultCode == 1) {
this.DataList = r.data.data;
}
},
null
);
}
},
mounted() {
let obj = JSON.parse(this.Callback);
this.Type = obj.Type;
this.getList();
}
};
</script>
<template>
<div class="zj_carouselCont">
<ul ref='ul' @mouseenter="play" @mouseleave="pause">
<li v-for="(item,index) in imgArr">
<img :src="item.Url" />
</li>
</ul>
<!--'+?x-oss-process=image/resize,m_lfit,h_120,w_160'-->
</div>
</template>
<script>
export default {
props: ["imgArr"],
data() {
return {
i:0,
isPlay:false,
timer:null
};
},
mounted() {
this.$refs.ul.style.width=this.imgArr.length*120+'px';
},
computed: {},
methods: {
play(){
this.isPlay=true,
this.timer=setInterval(()=>{
if(this.isPlay==true){
if(this.i<this.imgArr.length-1){
this.i++
}else{
this.i=0
}
this.$refs.ul.style.left=-120*this.i+'px'
}
},3000)
},
pause(){
this.isPlay=false
clearInterval(this.timer)
}
},
created() {}
};
</script>
<style>
.zj_carouselCont{width: 120px; height: 80px; overflow: hidden; position: relative;}
.zj_carouselCont ul{width: auto; height: 80px; position: absolute; left:0; transition: left .2s;}
.zj_carouselCont ul li{float: left; width: 120px; height: 80px; border: none; overflow: hidden;}
.zj_carouselCont ul li>img{width: 120px; height: 80px;}
</style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
.m_TicketingModule{
border: 1px solid #DDDDDD;
border-bottom: none;
}
.m_TicketingModule ._tit{
padding-left: 10px;
font-size: 14px;
color: #000;
padding: 8px 15px;
background-color: white;
display: flex;
justify-content: space-between;
}
.m_TicketingModule ._text{
border-left: 3px solid #e95252;
padding-left: 10px;
}
.m_TicketingModule ._tit ._btn{
font-size: 12px;
color: #333333;
cursor: pointer;
}
.m_TicketingModule ._tit ._btn:hover{
color: #E95252;
}
.m_TicketingModule ._tit ._btn .iconfont{
font-size: 12px;
display: inline-block;
margin-left: 10px;
}
.m_TicketingModule ._rotate{
transform:rotate(180deg);
}
.m_TicketingModule .singeRowTable{
color:#333333
}
.m_TicketingModule ._padding_20_15{
padding: 20px 15px;
background-color: white;
}
......@@ -1789,9 +1789,9 @@
}, err => {});
}
},
goUrl() {
this.dialogFormVisible = true;
},
// goUrl() {
// this.dialogFormVisible = true;
// },
UpdateTradeDate() {
if (!this.updateMsg.TradeDate) return this.$message.error(this.$t('rule.qxztzhdjyriqi'));
if (!this.updateMsg.Description) return this.$message.error(this.$t('rule.qtxshuoming'));
......@@ -2285,10 +2285,10 @@
this.currentPage = 1;
},
goUrl(path, id, Conditon, pageIndex) {
console.log(path, 'path');
return;
console.log( path, 'path');
// return;
this.$router.push({
name: path,
path:'/financial/financalDocument/' + path,
query: {
"id": id,
"Conditon": Conditon,
......@@ -2309,7 +2309,7 @@
if (type === 1) {
path = 'addReceivablesDocuments'
this.$router.push({
name: path,
path:'/financial/financalDocument/' + path,
query: {
"type": type,
"FrID": id,
......@@ -2326,7 +2326,7 @@
} else {
path = 'addFinancialDocuments'
this.$router.push({
name: path,
path:'/financial/financalDocument/'+ path,
query: {
"type": type,
"FrID": id,
......
......@@ -678,8 +678,8 @@
<div>
<p>{{$t('fnc.fygsbumen')}}:<span>
<el-select filterable v-model='msg.RB_Depart_Id' class="w135 _border_b_1">
<el-option v-for='item in departmentList' :label='item.DepartmentName' :value='item.DepartmentID'
:key='item.DepartmentID'>
<el-option v-for='item in departmentList' :label='item.DeptName' :value='item.DeptId'
:key='item.DeptId'>
</el-option>
</el-select>
</span></p>
......@@ -790,6 +790,8 @@
</template>
<script>
import myFlowChartModule from "../components/FlowChartModule.vue";
import {getDeptList} from '../../../api/system/dept'
import {UploadSelfFile} from '../../../api/common/common'
import {
getSchoolPage
} from '../../../api/school/index'
......@@ -1082,18 +1084,20 @@
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info(this.$t('tips.shangchuanzhong'))
this.UploadSelfFileT(path, newArr, x => {
UploadSelfFile('Temporary', file.file, x => {
let fileSize = file.file.size < 1024 ? file.file.size : (file.file.size / 1024).toFixed(0);
this.saveMsg.push({
Content: x.data.FilePath,
Content: x.FileUrl,
ID: 0,
Type: fileTypeNumber,
Url: this.domainManager().ViittoFileUrl + x.data.FilePath,
Url: x.FileUrl,
})
this.$message.success(this.$t('tips.scchenggong'))
}, 1);
},
AuditOrRefund() {
this.$router.go(-1)
this.MsgBus.$emit('msg');
// this.$router.push({
// name:'FinancialDocuments',
......@@ -1228,7 +1232,7 @@
type: 'warning'
}).then(() => {
this.$router.push({
name: 'addFinancialDocuments',
path: '/financial/financalDocument/addFinancialDocuments',
query: {
"id": this.$route.query.id,
"Name": this.$route.query.Name,
......@@ -1241,7 +1245,7 @@
})
}).catch(() => {
this.$router.push({
name: 'FinancialDocuments',
path: '/financial/financalDocument/FinancialDocuments',
query: {
'Type': this.$route.query.Type,
'InPay': this.$route.query.InPay
......@@ -1564,10 +1568,10 @@
if (!this.orderObj && id > 0) {
this.msg.RB_Branch_Id = this.msg.RB_Branch_Id
} else {
this.msg.RB_Branch_Id = this.getLocalStorage().RB_Branch_id
this.msg.RB_Branch_Id = this.getLocalStorage().School_Id
}
} else {
this.msg.RB_Branch_Id = this.msg.RB_Branch_Id == 0 ? this.getLocalStorage().RB_Branch_id : this.msg
this.msg.RB_Branch_Id = this.msg.RB_Branch_Id == 0 ? this.getLocalStorage().School_Id : this.msg
.RB_Branch_Id;
}
if (this.orderObj && this.orderObj.companyIDList && this.orderObj.companyIDList.length > 0) {
......@@ -1697,17 +1701,29 @@
// this.departmentMsg.RB_Branch_Id = Bid ? Bid : -1;
this.departmentMsg.RB_Branch_Id = -1;
this.msg.RB_Depart_Id = '';
this.apipost('admin_get_DepartmentGetList', this.departmentMsg, res => {
if (res.data.resultCode == 1) {
this.departmentList = res.data.data;
getDeptList(this.departmentMsg).then(res => {
if (res.Code == 1) {
this.departmentList = res.Data;
if (this.orderObj && this.orderObj.companyIDList && this.orderObj.companyIDList.length > 0) {
} else {
this.msg.RB_Depart_Id = this.msg.RB_Depart_Id ? this.msg.RB_Depart_Id : this.getLocalStorage()
.RB_Department_Id;
this.msg.RB_Depart_Id = this.msg.RB_Depart_Id ? this.msg.RB_Depart_Id : this.getLocalStorage().DeptId;
}
}
}, err => {})
}).catch(() => {
})
// this.apipost('admin_get_DepartmentGetList', this.departmentMsg, res => {
// if (res.data.resultCode == 1) {
// this.departmentList = res.data.data;
// if (this.orderObj && this.orderObj.companyIDList && this.orderObj.companyIDList.length > 0) {
//
// } else {
// this.msg.RB_Depart_Id = this.msg.RB_Depart_Id ? this.msg.RB_Depart_Id : this.getLocalStorage()
// .DeptId;
// }
// }
// }, err => {})
},
getCompany() { //公司
getSchoolPage(this.schoolMsg).then(res => {
......@@ -1861,7 +1877,7 @@
let userInfo = this.getLocalStorage();
this.department = userInfo.DeptName;
this.EmployeeId = userInfo.Id;
this.emplyeeName = userInfo.emName;
this.emplyeeName = userInfo.GroupName;
this.DepartIDs = this.msg.RB_Depart_Id = userInfo.DeptId;
this.RB_Branch_id = this.departmentMsg.RB_Branch_Id = this.msg.RB_Branch_Id = userInfo.School_Id;
this.companyMsg.RB_Group_Id = this.departmentMsg.RB_Group_Id = userInfo.Group_Id;
......
......@@ -1246,6 +1246,8 @@
}, err => {})
},
AuditOrRefund() {
this.$router.go(-1)
this.MsgBus.$emit('msg');
},
handleInput2(e) {
......
/**
* Created by Administrator on 2018/7/17.
*/
var AuthCode = {
EidtCoupon:"IsEidtCoupon",//优惠券修改权限
LeaderAudit:'IsLeaderAudit', //领队报账审核权限
EditOrderCreateBy:"EditOrderCreateBy",//修改业务员
EditRoomDinnerTIcket:"EditRoomDinnerTIcket",//房餐景点修改权限
EditQuotation:"EditQuotation",//报价单修改权限
SupperOrderEdit:"SupperOrderEdit",//获取总经理副总经理超级修改权限
LookOrder:"LookOrder",//出纳查看订单权限
LookAllTeam:"LookAllTeam",//查看所有团控
V_PersonalCenter:"V_PersonalCenter",//个人中心导航查看权限,
F_InvoiceManagement:'F_InvoiceManagement', //发票
F_Finance_Create:'F_Finance_Create',//制单权限
F_ContractManagement:'F_ContractManagement',//合同
F_PayMoney_CapitalPool:'F_PayMoney_CapitalPool',//账户类型
S_Travel_Share:'S_Travel_Share',//广告分享
A_AppMenu_Allot:'A_AppMenu_Allot',//APP菜单分配
TeamShouZhi:"TeamShouZhi",//团队收支明细权限
OutHotel:"OutHotel",//酒店下架权限
FenXiaoLianYun:"FenXiaoLianYun",//分销联运
ShangChuanFenFangbiao:"ShangChuanFenFangbiao",//上传分房表
ChaKanGuest:"ChaKanGuest",//查看旅客调查
FenFangBiaoXiaZai:"FenFangBiaoXiaZai",//分房表下载
LookOPCommission:"LookOPCommission",//查看OP提成
IsSanKeTicket:"IsSanKeTicket",//是否有散客票权限
F_Disbursement_Schedule:'F_Disbursement_Schedule',//财务团队用款计划权限
F_Advance_Match:'F_Advance_Match',//预付款冲抵
};
export default AuthCode;
......@@ -276,6 +276,11 @@ const routes = [{
component: () =>
import("pages/financial/financalDocument/addFinancialDocuments.vue")
},
{
path: "/financial/financalDocument/FinancialDocumentsDetail", //我的财务单据详情
component: () =>
import("pages/financial/financalDocument/FinancialDocumentsDetail.vue")
},
{
path: "/test", //API测试
component: () =>
......
......@@ -302,6 +302,90 @@ export default{
value = '-' + value;
}
item[filed] = value;
},
//用户权限验证
Vue.prototype.CheckUserAuth = function (authCode, successCall, faildCall) {
let localStorageJson = this.getLocalStorage();
var newCode = ',' + authCode + ',';
if (("," + localStorageJson.ActionMenuCode + ",").indexOf(newCode) > -1) {
var data = {
resultCode: 1,
data: 1,
};
var res = {
data: data
}
successCall(res);
} else {
this.apipost("userauth_get_GetCheckUserAuthService", {
actionMenuCode: authCode
}, successCall, faildCall);
}
},
Vue.prototype.QjGroupId = function (msg) {
let GroupId = 2;
return GroupId;
},
Vue.prototype.orderBy = function (source, orders, type) {
if (
source instanceof Array &&
orders instanceof Array &&
orders.length > 0
) {
var ordersc = orders.concat([]);
var sorttype = type || "asc";
var results = [];
var totalSum = {};
function grouporder(source, orders, totalSum) {
source.sort(function (a, b) {
var convertA = a[orders[0]];
var convertB = b[orders[0]];
if (typeof convertA == "string" && typeof convertB == "string") {
if (sorttype.toUpperCase() == "ASC") {
return convertA.localeCompare(convertB);
} else {
return convertB.localeCompare(convertA);
}
} else {
if (sorttype.toUpperCase() == "ASC") {
return convertA - convertB;
} else {
return convertB - convertA;
}
}
});
var groupmap = new Map();
source.forEach(item => {
if (groupmap.has(item[orders[0]])) {
groupmap.get(item[orders[0]]).push(item);
} else {
groupmap.set(item[orders[0]], []);
groupmap.get(item[orders[0]]).push(item);
}
});
orders.shift();
for (let [key, val] of groupmap) {
totalSum[key] = {};
totalSum[key].name = key;
totalSum[key].value = val.length;
if (orders.length == 0) {
results = results.concat(val);
} else {
totalSum[key].children = {};
var orderscopy = orders.concat([]);
grouporder(val, orderscopy, totalSum[key].children);
}
}
}
grouporder(source, ordersc, totalSum);
return {
results: results,
totalSum: totalSum
};
} else {
return source;
}
}
}
......
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