Commit f4fe1a4e authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/luochao/confucius into master

parents 0a210e4d 32af06f6
......@@ -229,6 +229,23 @@ export function setFinanceMonthStatementInfo(data) {
});
}
// 财务流程 获取活动配置
export function getActivityConfigInfo(data) {
return request({
url: '/Activity/GetActivityConfigInfo',
method: 'post',
data
});
}
// 财务流程 新增/修改 活动配置
export function setActivityConfig(data) {
return request({
url: '/Activity/SetActivityConfig',
method: 'post',
data
});
}
......@@ -344,4 +344,15 @@ export function GetSelectClassOrderList(data) {
})
}
/**
* 今日订单 修改订单的关联老师
*
*/
export function setOrderHelpEnterId(data) {
return request({
url: '/Order/SetOrderHelpEnterId',
method: 'post',
data
})
}
......@@ -81,7 +81,7 @@
</div>
<div class="row wrap">
<div class="col-6">
<q-input filled stack-label @keyup.native="checkPrice(objOption, 'ClassHours')" reverse-fill-mask
<q-input filled stack-label :disable="!isHaveCourseHoursEdit" @keyup.native="checkPrice(objOption, 'ClassHours')" reverse-fill-mask
v-model="objOption.ClassHours" ref="ClassHours" class="col-6 q-pr-lg q-pb-lg" label="课时数量"
:rules="[val => !!val || '请填写课时信息']" />
</div>
......@@ -130,6 +130,9 @@
UploadSelfFile
} from "../../api/common/common";
import extEditor from "../common/ext-editor";
import {
mapState
} from "vuex";
export default {
components: {
......@@ -172,17 +175,31 @@
SaleplatList: [], //销售端口
choosePlat: [], //选择的平台
chooseTeacher: [], //选择老师
isShowPrice: 0 //是否显示价格【hk2021-03-05新增】
isShowPrice: 0, //是否显示价格【hk2021-03-05新增】
};
},
created() {
this.GetTeacherList();
this.getSaleplat();
},
computed: mapState({
isHaveCourseHoursEdit(state) {
if (state.user.userInfo && state.user.userInfo.ActionMenuList && state.user.userInfo.ActionMenuList.length >
0) {
let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "Edit_CourseClassHours") {
return x;
}
});
if(action){
return true
}
}
return false;
}
}),
mounted() {
this.initObj();
},
methods: {
//获取教师下拉
......
......@@ -296,7 +296,7 @@
<template v-slot:body-cell-CheckNum="props">
<q-td>
<div v-for="(item,index) in props.row.TimeList" class="lessForm_Class">
<span style="color:green;">{{item.CheckNum}}</span>/<span style="color:red;">{{item.NoCheckNum}}</span>
<span style="color:green;">{{item.CheckNum}}</span>/<span style="color:red;">{{item.NoCheckNum}}</span>/<span style="color:orange;">{{item.AskForLeaveNum}}</span>
</div>
</q-td>
</template>
......@@ -711,7 +711,7 @@
},
{
name: 'CheckNum',
label: '签到人数/缺勤人数',
label: '签到/缺勤/请假',
field: 'CheckNum',
align: 'left'
},
......
......@@ -106,9 +106,9 @@
</q-card-section>
<div style="margin:20px;border-bottom:1px solid #E2E2E2">
<div class="apply_List" v-for="(item,index) in studentList" v-if="item.IsShow">
<span style="width:10%">{{item.GuestName}}</span>
<span style="width:10%">{{item.SexStr}}</span>
<span style="width:10%">{{item.Age}}</span>
<span style="width:15%">{{item.GuestName}}</span>
<span style="width:7%">{{item.SexStr}}</span>
<span style="width:8%">{{item.Age}}</span>
<span style="width:20%">{{item.Mobile}}</span>
<span style="width:20%">
<template v-if="item.ClassHours">已学:{{item.ClassHours}}课时</template>
......
......@@ -372,7 +372,6 @@
EmployeeName: '不限'
}
this.EmployeeList.unshift(obj);
this.AllemployeeList.unshift(obj);
}
}).catch(() => {})
},
......
......@@ -73,6 +73,9 @@
<template v-if="item.JoinType==4">
从【{{item.SourceClassName}}】转入。关联订单号{{item.SourceOrderId}}
</template>
<template v-if="item.JoinType==5">
从【{{item.SourceClassName}}】分拆插班转入。关联订单号{{item.SourceOrderId}}
</template>
</div>
<div class="order_OferTitle" v-if="item.TargetJoinType==3">
续费订单:{{item.TargetOrderId}}
......@@ -80,6 +83,9 @@
<div class="order_OferTitle" v-if="item.TargetJoinType==4">
已转班【{{item.TargetClassName}}】,关联订单号{{item.TargetOrderId}}
</div>
<div class="order_OferTitle" v-if="item.TargetJoinType==5">
已分拆插班【{{item.TargetClassName}}】,关联订单号{{item.TargetOrderId}}
</div>
<div>{{item.EnterName}}</div>
<div style="margin-top: 10px">{{item.CreateTime}}</div>
<template v-if="AuthorityObj.isShowName">
......@@ -213,10 +219,30 @@
</div>
</td>
<td style="border:none" v-if="viewType==0">
<template v-if="isEditOrder||AuthorityObj.isShowEdit">
<template v-if="(isEditOrder||AuthorityObj.isShowEdit) && comefrom == 0">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="editOrder(item)" />
</template>
<template v-if="comefrom==1">
<q-btn flat size="xs" color="accent" style="font-weight:400" label="关联老师"
@click="gettanchuteacher(item)" >
<q-popup-proxy >
<q-banner v-if="isShowteacher">
<div class="calenderDialog">
<div style="margin:10px 0 15px 0;">请选择关联教师</div>
<q-select standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
v-model="teacherMsg.HelpEnterId" :options="TeacherList" emit-value map-options label="请选择关联教师" />
<q-card-actions align="right" class="bg-white" style="margin-top:20px;">
<q-btn label="取消" flat color="grey-10" size="sm" @click="isShowteacher=false"
style="font-weight:400 !important" />
<q-btn label="确认" color="accent q-px-md" size="sm" style="font-weight:400 !important"
@click="setCheckStatus()" />
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</q-btn>
</template>
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;">
<q-list>
<q-item clickable v-close-popup>
......@@ -249,7 +275,7 @@
<q-item-label>校长备注</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-if="isEditOrder">
<q-item clickable v-close-popup v-if="isEditOrder && comefrom == 0">
<q-item-section @click="editOrder(item)">
<q-item-label>总经理修改</q-item-label>
</q-item-section>
......@@ -270,34 +296,35 @@
<q-item-label>额外奖励</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup disabled
v-if="(item.FinanceList&&item.FinanceList.length>0)||(item.RefundFinanceList&&item.RefundFinanceList.length>0)">
<q-item-section>
<q-item-label>
取消订单
</q-item-label>
<q-tooltip anchor="center left" self="center right" content-class="bg-red">
已有财务单据无法取消
</q-tooltip>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-else>
<q-item-section @click="CancelOrder(item)">
<q-item-label>取消订单</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-close-popup v-if="AuthorityObj.isShowBackClass">
<div v-if="comefrom == 0">
<q-item clickable v-close-popup disabled
v-if="(item.FinanceList&&item.FinanceList.length>0)||(item.RefundFinanceList&&item.RefundFinanceList.length>0) ">
<q-item-section>
<q-item-label>
取消订单
</q-item-label>
<q-tooltip anchor="center left" self="center right" content-class="bg-red">
已有财务单据无法取消
</q-tooltip>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-else>
<q-item-section @click="CancelOrder(item)">
<q-item-label>取消订单</q-item-label>
</q-item-section>
</q-item>
</div>
<q-item clickable v-close-popup v-if="AuthorityObj.isShowBackClass">
<q-item-section>
<q-item-label @click="showBackClassForm(item)">退课</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-close-popup v-if="AuthorityObj.isShowRenewClass">
<q-item clickable v-close-popup v-if="AuthorityObj.isShowRenewClass">
<q-item-section>
<q-item-label @click="showContinueClass(item)">续课</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-close-popup v-if="AuthorityObj.isShowTransClassOrder">
<q-item clickable v-close-popup v-if="AuthorityObj.isShowTransClassOrder">
<q-item-section>
<q-item-label @click="transferClass(item,1)">转班</q-item-label>
</q-item-section>
......@@ -847,6 +874,7 @@
import eduinfoForm from '../sale/eduinfo-form'
import {
setOrderHelpEnterId,//老师关联
cancelClassOrder, //取消订单
} from '../../api/sale/sale'
......@@ -857,7 +885,9 @@
SetOrderReceiveContract, //领取合同
SetEducationContractAudit
} from '../../api/sale/contract'
import {
getTeacherDropDownList
} from '../../api/school/index'
export default {
components: {
editorderForm,
......@@ -900,6 +930,11 @@
viewType: {
type: Number,
default: 0
},
//因为今天订单 取消了一些操作
comefrom:{//来自 1是来自 学管今日订单
type: Number,
default: 0
}
},
data() {
......@@ -954,12 +989,16 @@
newModityOrderType: 0,
isChaBan: 0, //是否插班(0-正常报入,1-插班报入)
isShowTransferClass: false, //是否显示转班
ChangeType:1 //1-转班 2-分拆
ChangeType:1, //1-转班 2-分拆
isShowteacher:false,//关联教师显示
teacherMsg:{OrderId:0,HelpEnterId:'',},//关联老师参数
TeacherList:[],//下拉老师
}
},
created() {
this.initAuth();
this.Employee();
this.GetTeacherList()//获取老师数据
var localStorageData = window.localStorage["loginUserInfo"];
let ActionMenuList = JSON.parse(localStorageData).data.ActionMenuList
if (ActionMenuList && ActionMenuList.length > 0) {
......@@ -1425,7 +1464,54 @@
this.$emit('success');
}
})
}
},
//获取教师下拉
GetTeacherList() {
var qMsg = {
AccountTypeStr:2
}
queryEmployee(qMsg).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
}
})
},
gettanchuteacher(item){
this.isShowteacher = true
this.teacherMsg.OrderId = item.OrderId;
this.teacherMsg.HelpEnterId = item.HelpEnterId>0?item.HelpEnterId:'';
},
setCheckStatus(){
if( this.teacherMsg.HelpEnterId==0 || this.teacherMsg.HelpEnterId==''){
this.$q.notify({
icon: 'close',
color: 'accent',
timeout: 2000,
message: '请选择关联老师',
position: 'top'
})
return
}
setOrderHelpEnterId(this.teacherMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
//调用父页面成功方法
this.isShowteacher = false
this.$emit('success');
}
})
}
}
}
......
......@@ -116,9 +116,9 @@
</q-card-section>
<div style="margin:20px;border-bottom:1px solid #E2E2E2">
<div class="apply_List" v-for="(item,index) in studentList" v-if="item.IsShow">
<span style="width:10%">{{item.GuestName}}</span>
<span style="width:10%">{{item.SexStr}}</span>
<span style="width:10%">{{item.Age}}</span>
<span style="width:15%">{{item.GuestName}}</span>
<span style="width:7%">{{item.SexStr}}</span>
<span style="width:8%">{{item.Age}}</span>
<span style="width:20%">{{item.Mobile}}</span>
<span style="width:20%">
<template v-if="item.ClassHours">已学:{{item.ClassHours}}课时</template>
......
<style>
.activityDeploy .Period-rules {
display: flex;
margin-bottom: 24px;
padding-left: 20px;
}
.activityDeploy .Period_Spreate {
flex: 1;
min-width: 200px;
margin-right: 32px;
}
.activityDeploy .Period-rule-title {
color: #646a73;
margin-bottom: 4px;
display: flex;
align-items: center;
}
.activityDeploy .Period-info-icon {
margin-left: 8px;
color: #8f959e;
line-height: 1;
vertical-align: top;
}
.baseSetForm_Dialog {
margin: 20px;
}
.cycle_Title {
font-size: 20px;
font-weight: 500;
color: #1f2329;
}
.Period-alert {
padding: 9px 16px;
border-radius: 4px;
background-color: #f0f4ff;
line-height: 22px;
color: #1f2329;
display: flex;
align-items: center;
margin-top: 20px;
margin-bottom: 12px;
font-size: 13px;
}
.Okr_Length {
font-weight: 500;
color: #1f2329;
margin-top: 15px;
}
.FormItem-asterisk {
position: relative;
top: 3px;
margin-left: 3px;
color: #f54a45;
line-height: 1;
}
.baseSetForm_Dialog .el-radio {
display: block;
margin-bottom: 15px;
}
</style>
<template>
<div class="page-body activityDeploy">
<div class="page-search row items-center" style="justify-content: space-between;">
<span style="font-size: 20px;font-weight: 400;">活动配置 <span style="font-size: 16px;"></span> </span>
<q-btn color="accent" size="sm" class="q-mr-md" @click="getedit" label="修改基础配置" />
</div>
<div v-if="activityobj">
<div class="Period-rules">
<div class="Period_Spreate">
<div class="Period-rule-title">活动类型</div>
<div>{{activityobj.Type==1?'按人头':'百分比'}}</div>
</div>
<div class="Period_Spreate">
<div class="Period-rule-title">{{activityobj.Type==1?'提成金额':'比例'}}</div>
<div>{{activityobj.Type==1?activityobj.CommissionMoney+'元':activityobj.CommissionMoney+'%'}}</div>
</div>
</div>
<div class="Period-rules">
<div class="Period_Spreate">
<div class="Period-rule-title">操作人</div>
<div>{{activityobj.UpdateByName}}</div>
</div>
<div class="Period_Spreate">
<div class="Period-rule-title">操作时间</div>
<div>{{activityobj.UpdateTime}}</div>
</div>
</div>
</div>
<q-dialog v-model="persistent" maximized full-height seamless position="right" @hide="closeProcess">
<q-card style="margin-top:61px;width:400px" class="no-border-radius classinfo_Dialog">
<div class="baseSetForm_Dialog">
<div class="cycle_Title">周期设置</div>
<div class="Okr_Length">活动类型<span class="FormItem-asterisk">*</span></div>
<div class="q-gutter-sm" style="margin: 10px 0;">
<q-radio v-model="addMsg.Type" val="1" label="人头" @input="getradio"/>
<q-radio v-model="addMsg.Type" val="2" label="百分比" @input="getradio"/>
</div>
<div class="Okr_Length" v-if="addMsg.Type==1">金额<span class="FormItem-asterisk">*</span></div>
<el-input v-if="addMsg.Type==1" type="text" v-model="addMsg.CommissionMoney" style="margin: 10px 0;" onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''" size="small">
<template slot="append"></template>
</el-input>
<div class="Okr_Length" v-if="addMsg.Type==2">百分比<span class="FormItem-asterisk">*</span></div>
<el-input v-if="addMsg.Type==2" type="number" :min='1' :max='100' v-model="addMsg.CommissionMoney" style="margin: 10px 0;" @input="getbaifenbi" size="small">
<template slot="append">%</template>
</el-input>
<q-card-actions align="right" class="bg-white" style="margin-top:20px;">
<q-btn label="取消" flat color="grey-10" size="sm" @click="closeProcess"
style="font-weight:400 !important" />
<q-btn label="确认" color="accent q-px-md" size="sm" style="font-weight:400 !important"
@click="setCheckStatus()" />
</q-card-actions>
</div>
</q-card>
<div class="dialog-out-close" @click="closeProcess"
style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;">
<q-icon name="iconfont icon-jujue1" size="26px" />
</div>
</q-dialog>
</div>
</template>
<script>
import {
getActivityConfigInfo,
setActivityConfig
} from '../../../api/finance/index'
export default {
meta: {
title: "活动配置"
},
components: {
},
data() {
return {
loading:false,
persistent:false,
activityobj:null,
addMsg:{
Id:0,
Type:'1',
CommissionMoney:1,
},
}
},
mounted() {
this.getActivityInfo()
},
methods: {
getActivityInfo() {
this.loading = true;
getActivityConfigInfo({}).then(res => {
if (res.Code == 1) {
this.loading = false;
this.activityobj = res.Data
}
})
},
//关闭流程设置
closeProcess() {
this.persistent = false;
},
getedit(){
this.addMsg.Id = this.activityobj.Id
this.addMsg.Type = (this.activityobj.Type).toString()
this.addMsg.CommissionMoney = this.activityobj.CommissionMoney
this.persistent = true;
},
getradio(){
this.$forceUpdate()
if(this.addMsg.Type == 2){
if(this.addMsg.CommissionMoney>100){
this.addMsg.CommissionMoney = 100
}else if( this.addMsg.CommissionMoney<1){
this.addMsg.CommissionMoney = 1
}
if(this.addMsg.CommissionMoney && (this.addMsg.CommissionMoney.toString()).indexOf('.')!=-1){
this.addMsg.CommissionMoney = this.addMsg.CommissionMoney?this.addMsg.CommissionMoney.toFixed(0):1
}
}
},
getbaifenbi(e){
this.addMsg.CommissionMoney=this.addMsg.CommissionMoney?this.addMsg.CommissionMoney.replace(/\D/g,''):''
if( this.addMsg.CommissionMoney>100){
this.addMsg.CommissionMoney = 100
}else if( this.addMsg.CommissionMoney<1){
this.addMsg.CommissionMoney = 1
}
},
setCheckStatus(){
if(this.addMsg.CommissionMoney<1){
this.$q.notify({
icon: 'close',
color: 'accent',
timeout: 2000,
message: '金额或者百分比数值大于0',
position: 'top'
})
return
}
setActivityConfig(this.addMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
this.persistent = false;
this.getActivityInfo()
}
})
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -68,6 +68,10 @@
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id"
option-label="EmployeeName" v-model="msg.EnterID" :options="EmployeeList" emit-value map-options label="业务员" use-input @filter="filterFn2"/>
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id"
option-label="EmployeeName" v-model="msg.HelpEnterId" :options="TeacherList" emit-value map-options label="关联教师" use-input @filter="filterFn3"/>
</div>
</div>
</div>
<div class="col row wrap q-gutter-x-md" v-if="data.Statistics">
......@@ -181,6 +185,8 @@
PlatformTax: 0, //平台税金
EnterID:'',//业务员id
ClassNo:'',//班号
HelpEnterId:'',//关联教师
},
//订单状态
OrderStateList: [],
......@@ -203,6 +209,8 @@
},
EmployeeList:[],//业务员
AllemployeeList:[],
TeacherList:[],//关联教师
AllTeacherList:[],
}
},
created() {
......@@ -234,6 +242,8 @@
mounted() {
this.getList();
this.getEmployee(0);
this.getglteacher()
},
methods: {
//订单状态
......@@ -330,6 +340,33 @@
closeClass() {
this.isShowClassInfo = false;
},
getglteacher(){
var qMsg = {
AccountTypeStr:2
}
queryEmployee(qMsg).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
let obj={
Id:"",
EmployeeName:"不限"
}
this.TeacherList.unshift(obj)
this.AllTeacherList = JSON.parse(JSON.stringify(this.TeacherList));
}
})
},
//筛选关联老师
filterFn3(val, update) {
update(() => {
if (val === '') {
this.TeacherList = JSON.parse(JSON.stringify(this.AllTeacherList))
} else {
const needle = val.toLowerCase()
this.TeacherList = this.AllTeacherList.filter(v => v.EmployeeName.toLowerCase().indexOf(needle) > -1)
}
})
},
//业务员
getEmployee(id) {
var qMsg = {
......
<template>
<div class="page-body myOrder">
<div style="width: 100%;display: flex;justify-content: space-between">
<span style="font-size: 20px;font-weight: 400; ">报名统计</span>
<span style="font-size: 20px;font-weight: 400; ">今日订单</span>
<div style="display: flex;align-items: center;">
<span>
......@@ -68,6 +68,10 @@
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id"
option-label="EmployeeName" v-model="msg.EnterID" :options="EmployeeList" emit-value map-options label="业务员" use-input @filter="filterFn2"/>
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id"
option-label="EmployeeName" v-model="msg.HelpEnterId" :options="TeacherList" emit-value map-options label="关联教师" use-input @filter="filterFn3"/>
</div>
</div>
</div>
<div class="col row wrap q-gutter-x-md" v-if="data.Statistics">
......@@ -119,7 +123,7 @@
</div>
</div>
<div class="page-content">
<orderlist :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="3" ref="orderL" >
<orderlist :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="3" :comefrom="comefrom" ref="orderL" >
</orderlist>
<div class="row" style="justify-content: flex-end;padding: 5px 20px">
<q-pagination v-model="msg.pageIndex" :max="pageCount" @input="changePage" class="full-width justify-end"
......@@ -149,7 +153,7 @@
} from '../../api/common/common';
export default {
meta: {
title: "报名统计"
title: "今日订单"
},
components: {
myOrderForm,
......@@ -181,6 +185,7 @@
PlatformTax: 0, //平台税金
EnterID:'',//业务员id
ClassNo:'',//班号
HelpEnterId:'',//关联教师
},
//订单状态
OrderStateList: [],
......@@ -201,8 +206,11 @@
isShowBackClass:false,//不显示退课
isShowRenewClass:false,//不显示续课
},
comefrom:1,
EmployeeList:[],//业务员
AllemployeeList:[],
TeacherList:[],//关联教师
AllTeacherList:[],
}
},
created() {
......@@ -234,6 +242,7 @@
mounted() {
this.getList();
this.getEmployee(0);
this.getglteacher()
},
methods: {
//订单状态
......@@ -330,6 +339,33 @@
closeClass() {
this.isShowClassInfo = false;
},
getglteacher(){
var qMsg = {
AccountTypeStr:2
}
queryEmployee(qMsg).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
let obj={
Id:"",
EmployeeName:"不限"
}
this.TeacherList.unshift(obj)
this.AllTeacherList = JSON.parse(JSON.stringify(this.TeacherList));
}
})
},
//筛选关联老师
filterFn3(val, update) {
update(() => {
if (val === '') {
this.TeacherList = JSON.parse(JSON.stringify(this.AllTeacherList))
} else {
const needle = val.toLowerCase()
this.TeacherList = this.AllTeacherList.filter(v => v.EmployeeName.toLowerCase().indexOf(needle) > -1)
}
})
},
//业务员
getEmployee(id) {
var qMsg = {
......@@ -350,6 +386,7 @@
})
},
//筛选业务员
filterFn2(val, update) {
update(() => {
......
......@@ -557,6 +557,12 @@ const routes = [{
component: () =>
import("pages/financial/reportform/settleAccounts.vue")
},
{
path: "/financial/reportform/activityDeploy", //财务流程 获取活动配置
component: () =>
import("pages/financial/reportform/activityDeploy.vue")
},
{
path: "/administration/document", //行政公告
component: () =>
......
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