Commit 8f836f96 authored by zhengke's avatar zhengke

修改

parents 16588b52 e90a3643
...@@ -147,14 +147,22 @@ ...@@ -147,14 +147,22 @@
</div> </div>
</q-td> </q-td>
</template> --> </template> -->
<template v-slot:body-cell-Money="props"> <template v-slot:body-cell-Status="props">
<q-td :props="props"> <q-td :props="props">
<span v-if="props.row.PaymentWay == 6" <span v-if="props.row.Status===0">正常</span>
>星星支付:{{ props.row.TotalPoint }}</span <span v-if="props.row.Status===1">删除</span>
> </q-td>
<span v-if="props.row.PaymentWay == 1" </template>
>现金支付:{{ props.row.Money }}</span <template v-slot:body-cell-OrderStatus="props">
> <q-td :props="props">
<span v-if="props.row.OrderStatus===0">未支付</span>
<span v-if="props.row.OrderStatus===1">已支付</span>
</q-td>
</template>
<template v-slot:body-cell-IsApplyForCancel="props">
<q-td :props="props">
<span v-if="props.row.IsApplyForCancel===1"></span>
<span v-if="props.row.IsApplyForCancel===2"></span>
</q-td> </q-td>
</template> </template>
<!-- <template v-slot:body-cell-optioned="props"> <!-- <template v-slot:body-cell-optioned="props">
...@@ -186,14 +194,14 @@ ...@@ -186,14 +194,14 @@
data: [], data: [],
loading: true, loading: true,
msg: { msg: {
// pageIndex: 1, pageIndex: 1,
// pageSize: 10, pageSize: 10,
LinkMan: '', ActivityName:""
EnrollState: 1,
ActivityId: 0
}, },
pageCount: 0, pageCount: 0,
columns: [{ columns: [
{
name: "LinkMan", name: "LinkMan",
label: "联系人", label: "联系人",
field: "LinkMan", field: "LinkMan",
...@@ -206,30 +214,57 @@ ...@@ -206,30 +214,57 @@
align: "left" align: "left"
}, },
{ {
name: "PeopleNum", name: "UnitPrice",
required: true, label: "单价",
label: "人数", field:"UnitPrice",
field:"PeopleNum",
align: "left", align: "left",
}, },
{ {
name: "Money", name: "Money",
label: "付款方式", label: "应收",
field:"Money", field:"Money",
align: "left",
},
{
name: "Status",
label: "状态",
field:"Status",
align: "left" align: "left"
}, },
{ {
name: "Remark", name: "OrderNo",
label: "备注", required: true,
field:"Remark", label: "订单号",
field:"OrderNo",
align: "left",
},
{
name: "OrderStatus",
required: true,
label: "订单状态",
field:"OrderStatus",
align: "left",
},
{
name: "PaymentTime",
label: "支付时间",
field:"PaymentTime",
align: "left" align: "left"
}, },
{ {
name: "CreateTimeStr", name: " IsApplyForCancel",
label: "报名时间", label: "是否申请取消",
field:"CreateTimeStr", field:" IsApplyForCancel",
align: "left" align: "left"
}, },
{
name: "Remark",
label: "备注",
field:"Remark",
align: "left"
},
// { // {
// name: 'optioned', // name: 'optioned',
// label: '操作', // label: '操作',
...@@ -242,15 +277,15 @@ ...@@ -242,15 +277,15 @@
}, },
mounted() { mounted() {
if(this.$route.query.Id){ if(this.$route.query.ActivityName){
this.msg.ActivityId = this.$route.query.Id; this.msg.ActivityName = this.$route.query.name;
} }
this.getList(); this.getList();
}, },
methods: { methods: {
getList(){ getList(){
this.loading = true; this.loading = true;
this.apipostDS("/api/Education/GetCommerceConsultPage",this.msg,(res)=>{ this.apipostDS("/api/Education/GetCommerceConsultAndFinancePage",this.msg,(res)=>{
this.loading = false this.loading = false
if(res.data.resultCode===1){ if(res.data.resultCode===1){
this.data = res.data.data; this.data = res.data.data;
......
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
color="accent" style="font-weight:400" label="删除" @click="delActive(props.row)" /> color="accent" style="font-weight:400" label="删除" @click="delActive(props.row)" />
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;"> <q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;">
<q-list> <q-list>
<q-item clickable v-close-popup @click="goUrl('/activity/activeSignUpList',props.row)"> <q-item clickable v-close-popup @click="goUrl('/activity/activeSignUpList',props.row,1)">
<q-item-section> <q-item-section>
<q-item-label>报名列表</q-item-label> <q-item-label>报名列表</q-item-label>
</q-item-section> </q-item-section>
...@@ -471,7 +471,15 @@ import ActiveForm from '../../components/activity/active-from' ...@@ -471,7 +471,15 @@ import ActiveForm from '../../components/activity/active-from'
closeruleset() { closeruleset() {
this.showForm = false; this.showForm = false;
}, },
goUrl(url,item){ goUrl(url,item,type=0){
if(type===1){
this.$router.push({
path:url,
query:{
name:item.ActivityName
}
})
}else{
this.$router.push({ this.$router.push({
path:url, path:url,
query:{ query:{
...@@ -479,6 +487,8 @@ import ActiveForm from '../../components/activity/active-from' ...@@ -479,6 +487,8 @@ import ActiveForm from '../../components/activity/active-from'
} }
}) })
} }
}
} }
} }
......
...@@ -28,12 +28,8 @@ ...@@ -28,12 +28,8 @@
<span>{{item.Name}}</span> <span>{{item.Name}}</span>
</el-col> </el-col>
<el-col class="blue" :span="6"> <el-col class="blue" :span="6">
<span v-if="scgroupMsg.Recycled==1" @click.prevent="EditGroup(item)">编辑 |</span> <span @click.prevent="EditGroup(item)">编辑 |</span>
<span v-if="scgroupMsg.Recycled==2" @click.prevent="HYGroup(item)">还原 |</span> <span @click.prevent="delGroup(item)">删除</span>
<!-- 回收 -->
<span v-if="scgroupMsg.Recycled==1" @click.prevent="HsGroup(item)">删除</span>
<!--回收站删除 -->
<span v-if="scgroupMsg.Recycled==2" @click.prevent="DeleteGroup(item)">删除</span>
</el-col> </el-col>
</div> </div>
</li> </li>
...@@ -42,7 +38,7 @@ ...@@ -42,7 +38,7 @@
</div> </div>
</div> </div>
</div> </div>
<div flex="dir:top" class="box"> <div flex="dir:top" class="box" style="width:100%">
<div> <div>
<div class="basefix" style="margin-bottom:12px"> <div class="basefix" style="margin-bottom:12px">
<span>全部</span> <span>全部</span>
...@@ -55,19 +51,16 @@ ...@@ -55,19 +51,16 @@
</div> </div>
<el-checkbox style="margin-left:12px" :indeterminate="isIndeterminate" v-model="checkAll" <el-checkbox style="margin-left:12px" :indeterminate="isIndeterminate" v-model="checkAll"
@change="CheckAllChange">全选</el-checkbox> @change="CheckAllChange">全选</el-checkbox>
<el-button v-if="PageMsg.Recycled==1" @click="HsPage" style="margin:0 12px" size="small">删除 <el-button @click="DeletePage" style="margin:0 12px" size="small">删除
</el-button> </el-button>
<el-button v-if="PageMsg.Recycled==2" @click="HYPage" style="margin-left:12px" size="small">还原 <!-- <el-dropdown v-if="scgroupMsg.Recycled==1" size="small" split-button>
</el-button>
<el-button v-if="PageMsg.Recycled==2" @click="DeletePage" size="small">删除</el-button>
<el-dropdown v-if="scgroupMsg.Recycled==1" size="small" split-button>
移动至 移动至
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item,index) in groupList" :key="index"> <el-dropdown-item v-for="(item,index) in groupList" :key="index">
<div @click="SelectPageId(item)">{{item.Name}}</div> <div @click="SelectPageId(item)">{{item.Name}}</div>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown> -->
</div> </div>
</div> </div>
...@@ -77,7 +70,7 @@ ...@@ -77,7 +70,7 @@
<div class="material-item material-upload"> <div class="material-item material-upload">
<el-upload class="avatar-uploader" action="" accept="image/jpeg,image/gif,image/png,image/bmp" <el-upload class="avatar-uploader" action="" accept="image/jpeg,image/gif,image/png,image/bmp"
:show-file-list="false" :http-request="UploadImage" multiple> :show-file-list="false" :http-request="UploadImage" multiple>
<div class="app-upload" flex="main:center cross:center" style="width: 140px; height: 140px;"> <div class="app-upload" flex="main:center cross:center" style="width: 140px; height: 140px;display:flex;justify-content:center;align-items:center">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
</div> </div>
</el-upload> </el-upload>
...@@ -87,7 +80,7 @@ ...@@ -87,7 +80,7 @@
<div @click="PageSelect(item,index)" :class="item.Selected ? 'selected' :''" <div @click="PageSelect(item,index)" :class="item.Selected ? 'selected' :''"
class="el-tooltip item material-item "> class="el-tooltip item material-item ">
<img :src="getIconLink(item.Path)" class="material-img" style="width: 140px; height: 140px;"> <img :src="getIconLink(item.Path)" class="material-img" style="width: 140px; height: 140px;">
<div flex="dir:left" style="margin-top: 5px;"> <div flex="dir:left" style="margin-top: 5px; display:flex">
<div class="material-name">{{item.Name}}</div> <div class="material-name">{{item.Name}}</div>
<div style="margin: 0px 5px;">|</div> <div style="margin: 0px 5px;">|</div>
<div> <div>
...@@ -104,7 +97,7 @@ ...@@ -104,7 +97,7 @@
<el-upload class="avatar-uploader" action="" :before-upload="beforeAvatarUpload" <el-upload class="avatar-uploader" action="" :before-upload="beforeAvatarUpload"
accept="video/mp4,video/ogg,video/webm" :show-file-list="false" :http-request="UploadVideo" accept="video/mp4,video/ogg,video/webm" :show-file-list="false" :http-request="UploadVideo"
multiple> multiple>
<div class="app-upload" flex="main:center cross:center" style="width: 140px; height: 140px;"> <div class="app-upload" flex="main:center cross:center" style="width: 140px; height: 140px;display:flex;justify-content:center;align-items:center">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
</div> </div>
</el-upload> </el-upload>
...@@ -116,7 +109,7 @@ ...@@ -116,7 +109,7 @@
<img :src="getIconLink(item.Image)" class="material-img" style="width: 140px; height: 140px;"> <img :src="getIconLink(item.Image)" class="material-img" style="width: 140px; height: 140px;">
<div class="material-video-info"><i class="el-icon-video-play"></i> <div class="material-video-info"><i class="el-icon-video-play"></i>
<span>{{Time(item.VideoTime)}}</span></div> <span>{{Time(item.VideoTime)}}</span></div>
<div flex="dir:left" style="margin-top: 5px;"> <div flex="dir:left" style="margin-top: 5px;display:flex">
<div class="material-name">{{item.Name}}</div> <div class="material-name">{{item.Name}}</div>
<div style="margin: 0px 5px;">|</div> <div style="margin: 0px 5px;">|</div>
<div> <div>
...@@ -133,7 +126,7 @@ ...@@ -133,7 +126,7 @@
<div class="material-item material-upload"> <div class="material-item material-upload">
<el-upload class="avatar-uploader" action="" accept=".pdf,.PDF,.ppt,.PPT,.doc,.docx" <el-upload class="avatar-uploader" action="" accept=".pdf,.PDF,.ppt,.PPT,.doc,.docx"
:show-file-list="false" :http-request="UploadpdfFile" multiple> :show-file-list="false" :http-request="UploadpdfFile" multiple>
<div class="app-upload" flex="main:center cross:center" style="width: 140px; height: 140px;"> <div class="app-upload" flex="main:center cross:center" style="width: 140px; height: 140px;display:flex;justify-content:center;align-items:center">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
</div> </div>
</el-upload> </el-upload>
...@@ -151,7 +144,7 @@ ...@@ -151,7 +144,7 @@
<div class="mater_MyFileType" v-if="getFileType(item.Name)==3"> <div class="mater_MyFileType" v-if="getFileType(item.Name)==3">
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/pdf.png" alt=""> <img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/pdf.png" alt="">
</div> </div>
<div flex="dir:left" style="margin-top: 5px;"> <div flex="dir:left" style="margin-top: 5px;display:flex">
<div class="material-name">{{item.Name}}</div> <div class="material-name">{{item.Name}}</div>
<div style="margin: 0px 5px;">|</div> <div style="margin: 0px 5px;">|</div>
<div> <div>
...@@ -227,7 +220,11 @@ ...@@ -227,7 +220,11 @@
Id: 0, Id: 0,
Name: '', Name: '',
Type: 1, Type: 1,
Recycled: 1, // Recycled: 1,
ActivityId:0,
pageIndex:1,
pageSize:10,
}, },
isIndeterminate: false, isIndeterminate: false,
groupList: [], groupList: [],
...@@ -236,6 +233,7 @@ ...@@ -236,6 +233,7 @@
Name: '', Name: '',
Type: '', Type: '',
Sort: '', Sort: '',
ActivityId:0
}, },
addGroupMsgrules: { addGroupMsgrules: {
Name: [{ Name: [{
...@@ -254,7 +252,8 @@ ...@@ -254,7 +252,8 @@
Id: 0, Id: 0,
Name: '', Name: '',
Type: 1, Type: 1,
Recycled: 1, // Recycled: 1,
ActivityId:0,
pageIndex: 1, pageIndex: 1,
pageSize: 20, pageSize: 20,
GroupId: 0, GroupId: 0,
...@@ -270,7 +269,8 @@ ...@@ -270,7 +269,8 @@
Image: '', Image: '',
VideoTime: 0, VideoTime: 0,
WithHeight: 0, WithHeight: 0,
PathType:0 PathType:0,
ActivityId:0,
}, },
pageMsgDig: false, pageMsgDig: false,
checkList: [], checkList: [],
...@@ -280,6 +280,12 @@ ...@@ -280,6 +280,12 @@
} }
}, },
created() { created() {
if(this.$route.query.Id){
this.scgroupMsg.ActivityId=this.$route.query.Id
this.addGroupMsg.ActivityId=this.$route.query.Id
this.PageMsg.ActivityId=this.$route.query.Id
this.addpageMsg.ActivityId=this.$route.query.Id
}
this.GetMemberGradeList(); this.GetMemberGradeList();
this.GetPageList(); this.GetPageList();
localStorage.removeItem("uploadInfo"); localStorage.removeItem("uploadInfo");
...@@ -292,8 +298,10 @@ ...@@ -292,8 +298,10 @@
methods: { methods: {
//登录后获取上传配置 //登录后获取上传配置
getUpConfig(){ getUpConfig(){
this.apipostDS("/api/MallBase/GetDefaultFileStore", {}, res => { this.apipostDS("/api/MallBase/GetDefaultFileStore", {}, res => {
if(res.data.resultCode == 1){ if(res.data.resultCode == 1){
console.log(312,res)
var upData = res.data.data; var upData = res.data.data;
localStorage.uploadInfo = JSON.stringify(upData); localStorage.uploadInfo = JSON.stringify(upData);
}else{ }else{
...@@ -328,30 +336,30 @@ ...@@ -328,30 +336,30 @@
} }
return result; return result;
}, },
SelectPageId(item) { // SelectPageId(item) {
this.PageList.forEach(item => { // this.PageList.forEach(item => {
if (item.Selected) { // if (item.Selected) {
this.checkList.push(item.Id) // this.checkList.push(item.Id)
} // }
}) // })
if (this.checkList.length == 0) { // if (this.checkList.length == 0) {
this.Error("至少选择一项!"); // this.Error("至少选择一项!");
return; // return;
} // }
let MaterialIds = this.checkList.join(","); // let MaterialIds = this.checkList.join(",");
let msg = { // let msg = {
MaterialIds: MaterialIds, // MaterialIds: MaterialIds,
GroupId: item.Id, // GroupId: item.Id,
Type: this.commonType // Type: this.commonType
} // }
this.apipostDS("/api/product/SetMaterialInfoTransfer", msg, res => { // this.apipostDS("/api/product/SetMaterialInfoTransfer", msg, res => {
this.loading = false; // this.loading = false;
if (res.data.resultCode == 1) { // if (res.data.resultCode == 1) {
this.GetPageList(); // this.GetPageList();
this.checkList = []; // this.checkList = [];
} // }
}) // })
}, // },
// 全选 // 全选
CheckAllChange(val) { CheckAllChange(val) {
this.PageList.forEach(item => { this.PageList.forEach(item => {
...@@ -363,8 +371,9 @@ ...@@ -363,8 +371,9 @@
} }
}) })
}, },
// 删除 // 删除素材
DeletePage() { DeletePage() {
let that=this
this.checkList = []; this.checkList = [];
this.PageList.forEach(item => { this.PageList.forEach(item => {
if (item.Selected) { if (item.Selected) {
...@@ -375,9 +384,15 @@ ...@@ -375,9 +384,15 @@
this.Error("至少选择一项!"); this.Error("至少选择一项!");
return; return;
} }
that.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let MaterialIds = this.checkList.join(","); let MaterialIds = this.checkList.join(",");
this.loading = true; this.loading = true;
this.apipostDS("/api/product/DelMaterialInfo", { this.apipostDS("/api/Education/DelMaterialInfo", {
MaterialIds: MaterialIds MaterialIds: MaterialIds
}, res => { }, res => {
this.loading = false; this.loading = false;
...@@ -386,54 +401,56 @@ ...@@ -386,54 +401,56 @@
this.checkList = []; this.checkList = [];
} }
}) })
}).catch(() => {});
}, },
// 还原 // 还原
HYPage() { HYPage() {
this.checkList = []; // this.checkList = [];
this.PageList.forEach(item => { // this.PageList.forEach(item => {
if (item.Selected) { // if (item.Selected) {
this.checkList.push(item.Id) // this.checkList.push(item.Id)
} // }
}) // })
if (this.checkList.length == 0) { // if (this.checkList.length == 0) {
this.Error("至少选择一项!"); // this.Error("至少选择一项!");
return; // return;
} // }
let MaterialIds = this.checkList.join(","); // let MaterialIds = this.checkList.join(",");
this.loading = true; // this.loading = true;
this.apipostDS("/api/product/SetMaterialInfoRestore", { // this.apipostDS("/api/product/SetMaterialInfoRestore", {
MaterialIds: MaterialIds // MaterialIds: MaterialIds
}, res => { // }, res => {
this.loading = false; // this.loading = false;
if (res.data.resultCode == 1) { // if (res.data.resultCode == 1) {
this.GetPageList(); // this.GetPageList();
this.checkList = []; // this.checkList = [];
} // }
}) // })
}, },
// 回收 // // 回收
HsPage() { HsPage() {
this.checkList = []; // this.checkList = [];
this.PageList.forEach(item => { // this.PageList.forEach(item => {
if (item.Selected) { // if (item.Selected) {
this.checkList.push(item.Id) // this.checkList.push(item.Id)
} // }
}) // })
if (this.checkList.length == 0) { // if (this.checkList.length == 0) {
this.Error("至少选择一项!"); // this.Error("至少选择一项!");
return; // return;
} // }
let MaterialIds = this.checkList.join(","); // let MaterialIds = this.checkList.join(",");
this.loading = true; // this.loading = true;
this.apipostDS("/api/product/SetMaterialInfoRecycled", { // this.apipostDS("/api/product/SetMaterialInfoRecycled", {
MaterialIds: MaterialIds // MaterialIds: MaterialIds
}, res => { // }, res => {
this.loading = false; // this.loading = false;
if (res.data.resultCode == 1) { // if (res.data.resultCode == 1) {
this.GetPageList(); // this.GetPageList();
this.checkList = []; // this.checkList = [];
} // }
}) // })
}, },
// 单个删除 // 单个删除
...@@ -468,7 +485,7 @@ ...@@ -468,7 +485,7 @@
pagesubmitForm(formName) { pagesubmitForm(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.apipostDS('/api/product/SetGetMaterialInfo', this.addpageMsg, this.apipostDS('/api/Education/SetGetMaterialInfo', this.addpageMsg,
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.GetPageList(); this.GetPageList();
...@@ -513,7 +530,8 @@ ...@@ -513,7 +530,8 @@
//上传视频 //上传视频
UploadVideo(file) { UploadVideo(file) {
var that = this; var that = this;
this.UploadSelfFile(this.FileType().Video, file.file, res => { this.UploadFileToTencent(this.FileType().Video, file.file, res => {
console.log(526,res)
if (res.resultCode == 1) { if (res.resultCode == 1) {
that.addpageMsg.Image = res.VideoCoverImg; that.addpageMsg.Image = res.VideoCoverImg;
that.addpageMsg.Path = res.FileUrl; that.addpageMsg.Path = res.FileUrl;
...@@ -547,7 +565,7 @@ ...@@ -547,7 +565,7 @@
if(upInfo){ if(upInfo){
this.addpageMsg.PathType=upInfo.StoreType; this.addpageMsg.PathType=upInfo.StoreType;
} }
this.apipostDS("/api/product/SetGetMaterialInfo", this.addpageMsg, res => { this.apipostDS("/api/Education/SetGetMaterialInfo", this.addpageMsg, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.GetPageList(); this.GetPageList();
this.$forceUpdate(); this.$forceUpdate();
...@@ -560,6 +578,7 @@ ...@@ -560,6 +578,7 @@
this.GetMemberGradeList(); this.GetMemberGradeList();
this.GetPageList(); this.GetPageList();
}, },
// 修改分组
EditGroup(item) { EditGroup(item) {
this.addGroupMsgDig = true; this.addGroupMsgDig = true;
this.addGroupMsg = { this.addGroupMsg = {
...@@ -569,14 +588,15 @@ ...@@ -569,14 +588,15 @@
Sort: item.Sort, Sort: item.Sort,
} }
}, },
HYGroup(item) { // 删除分组
delGroup(item){
let that = this; let that = this;
that.$confirm('是否还原?', '提示', { that.$confirm('是否删除?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.apipostDS('/api/product/SetMaterialGroupRestore', { this.apipostDS('/api/Education/DelMaterialGroupInfo', {
GroupId: item.Id GroupId: item.Id
}, },
res => { res => {
...@@ -591,65 +611,92 @@ ...@@ -591,65 +611,92 @@
); );
}).catch(() => {}); }).catch(() => {});
}, },
// HYGroup(item) {
// let that = this;
// that.$confirm('是否还原?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// this.apipostDS('/api/product/SetMaterialGroupRestore', {
// GroupId: item.Id
// },
// res => {
// if (res.data.resultCode === 1) {
// this.GetMemberGradeList();
// this.Success(res.data.message)
// } else {
// this.Error(res.data.message);
// }
// },
// null
// );
// }).catch(() => {});
// },
HsGroup(item) { HsGroup(item) {
let that = this; // let that = this;
that.$confirm('是否删除?', '提示', { // that.$confirm('是否删除?', '提示', {
confirmButtonText: '确定', // confirmButtonText: '确定',
cancelButtonText: '取消', // cancelButtonText: '取消',
type: 'warning' // type: 'warning'
}).then(() => { // }).then(() => {
this.apipostDS('/api/product/SetMaterialGroupRecycled', { // this.apipostDS('/api/product/SetMaterialGroupRecycled', {
GroupId: item.Id // GroupId: item.Id
}, // },
res => { // res => {
if (res.data.resultCode === 1) { // if (res.data.resultCode === 1) {
this.GetMemberGradeList(); // this.GetMemberGradeList();
this.Success(res.data.message) // this.Success(res.data.message)
} else { // } else {
this.Error(res.data.message); // this.Error(res.data.message);
} // }
}, // },
null // null
); // );
}).catch(() => {}); // }).catch(() => {});
}, },
DeleteGroup(item) { DeleteGroup(item) {
let that = this; // let that = this;
that.$confirm('是否删除?', '提示', { // that.$confirm('是否删除?', '提示', {
confirmButtonText: '确定', // confirmButtonText: '确定',
cancelButtonText: '取消', // cancelButtonText: '取消',
type: 'warning' // type: 'warning'
}).then(() => { // }).then(() => {
this.apipostDS('/api/product/DelMaterialGroupInfo', { // this.apipostDS('/api/product/DelMaterialGroupInfo', {
GroupId: item.Id // GroupId: item.Id
}, // },
res => { // res => {
if (res.data.resultCode === 1) { // if (res.data.resultCode === 1) {
this.GetMemberGradeList(); // this.GetMemberGradeList();
this.Success(res.data.message) // this.Success(res.data.message)
} else { // } else {
this.Error(res.data.message); // this.Error(res.data.message);
} // }
}, // },
null // null
); // );
}).catch(() => {}); // }).catch(() => {});
}, },
addGroup() { addGroup() {
this.addGroupMsgDig = true; this.addGroupMsgDig = true;
this.addGroupMsg = { // this.addGroupMsg = {
Id: 0, // Id: 0,
Name: '', // Name: '',
Type: this.commonType, // Type: this.commonType,
Sort: '', // Sort: '',
} // }
}, this.addGroupMsg.Id=0
this.addGroupMsg.Name=""
this.addGroupMsg.Type=this.commonType
this.addGroupMsg.Sort=""
},
// 修改图片视频分组
GroupsubmitForm(formName) { GroupsubmitForm(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.apipostDS('/api/product/SetMaterialGroupInfo', this.addGroupMsg, this.apipostDS('/api/Education/SetMaterialGroupInfo', this.addGroupMsg,
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.GetMemberGradeList(); this.GetMemberGradeList();
...@@ -667,17 +714,22 @@ ...@@ -667,17 +714,22 @@
} }
}); });
}, },
//获取图片视频分组
GetMemberGradeList() { GetMemberGradeList() {
this.loading = true; this.loading = true;
this.apipostDS("/api/product/GetMaterialGroupList", this.scgroupMsg, res => { this.apipostDS("/api/Education/GetMaterialGroupList", this.scgroupMsg, res => {
this.loading = false; this.loading = false;
if(res.data.resultCode===1){
this.groupList = res.data.data; this.groupList = res.data.data;
}
}) })
}, },
// 获取素材列表
GetPageList() { GetPageList() {
this.loading = true; this.loading = true;
this.PageList = []; this.PageList = [];
this.apipostDS("/api/product/GetMaterialInfoPageList", this.PageMsg, res => { this.apipostDS("/api/Education/GetMaterialInfoPageList", this.PageMsg, res => {
this.loading = false; this.loading = false;
this.total = res.data.data.count; this.total = res.data.data.count;
let data = res.data.data.pageData; let data = res.data.data.pageData;
......
<style>
.paymentDetail .p_title {
font-weight: bold;
color: #000000;
font-size: 14px;
margin-bottom: 20px;
}
.paymentDetail .paymentList {
height: 170px;
border-radius: 3px;
box-shadow: 0 0 5px #d1d1d1;
margin-right: 10px;
padding: 12px;
}
.paymentDetail .paymentList:last-child {
margin-right: 0;
}
.paymentDetail .pay_topList {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.paymentDetail .pay_Title {
margin-left: 5px;
color: #111111;
font-size: 13px;
font-weight: bold;
}
.paymentDetail .pay_ListMent {
display: flex;
font-size: 12px;
margin-bottom: 6px;
}
.paymentDetail .pay_ListOne {
width: 50px;
color: #999999;
text-align: left;
}
.paymentDetail .pay_Inner {
margin-left: 10px;
color: #111111;
font-weight: bold;
}
.paymentDetail .orangeStyle {
color: #F28C1D;
}
.paymentDetail .pay_ListTwo {
width: 25px;
color: #999999;
text-align: left;
}
.paymentDetail .pay_InorOut {
margin-top: 20px;
}
.paymentDetail .Pay_Line {
width: 3px;
height: 11px;
margin-right: 10px;
background-color: #3FC4FF;
display: inline-block;
}
.paymentDetail .pay_TopTitle {
font-weight: bold;
color: #000000;
font-size: 13px;
}
.paymentDetail .payTable {
width: 100%;
border-collapse: collapse;
}
.paymentDetail .payTable tr th {
background: #fff;
height: 40px;
font-size: 12px;
font-weight: bold;
color: #2D2D2D;
background: #DDDEE0;
}
.paymentDetail .payTable tr {
background: #fff;
text-align: center;
height: 40px;
}
.paymentDetail .payTable tr td {
font-size: 13px;
text-align: center;
color: #2D2D2D;
padding: 10px 0;
font-weight: bold;
border-bottom: 1px solid #E5E5E5;
}
.paymentDetail .finince_Order {
color: #2961FE;
text-decoration: underline;
cursor: pointer;
font-weight: bold;
}
.paymentDetail .finice_pass {
display: inline-block;
width: 50px;
height: 25px;
line-height: 25px;
background: #ccf3eb;
color: #02C499;
border-radius: 2px;
}
.paymentDetail .financeYing {
width: 110px;
text-align: left;
margin: auto;
}
.p_titleList {
position: relative;
}
</style>
<template>
<div class="page-body paymentDetail">
<div class="page-search items-center">
<div class="p_titleList">
<div class="p_title">活动收支</div>
<q-btn label="导出" color="accent q-px-md" size="sm"
style="font-weight:400 !important;position:absolute;right:0;top:0" @click="exportOrder" />
</div>
<div class="row">
<div class="col paymentList" v-if="dataList&&dataList.ClassInfo">
<div class="pay_topList">
<img src="../../assets/images/myimg/bjqk.png" alt="" />
<span class="pay_Title">活动情况</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">班级名称</div>
<div class="pay_Inner">{{dataList.ClassInfo.ClassName}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">课程名称</div>
<div class="pay_Inner">{{dataList.ClassInfo.CourseName}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">开课时间</div>
<div class="pay_Inner">{{dataList.ClassInfo.OpenTime}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">带课老师</div>
<div class="pay_Inner">{{dataList.ClassInfo.TeacherName}}</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/bjsr.png" alt="" />
<span class="pay_Title">班级收入</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">应收</div>
<div class="pay_Inner">¥{{dataList.IncomeReceive}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">实收</div>
<div class="pay_Inner orangeStyle">¥{{dataList.IncomeActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">待收</div>
<div class="pay_Inner orangeStyle">¥{{getShiShou(dataList.IncomeReceive,dataList.IncomeActual)}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo"></div>
<div class="pay_Inner">应收=订单应收总额,实收=订单 实收总额</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/qt.png" alt="" />
<span class="pay_Title">其他</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">应收</div>
<div class="pay_Inner">¥{{dataList.OtherIncomeReceive}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">实收</div>
<div class="pay_Inner orangeStyle">¥{{dataList.OtherIncomeActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">待收</div>
<div class="pay_Inner orangeStyle">¥{{getShiShou(dataList.OtherIncomeReceive,dataList.OtherIncomeActual)}}
</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo"></div>
<div class="pay_Inner">此处不进入"利润"计算,单纯只统计除班级费外的其他总收入</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/zc.png" alt="" />
<span class="pay_Title">支出</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">应付</div>
<div class="pay_Inner">¥{{dataList.PayReceive}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">实付</div>
<div class="pay_Inner orangeStyle">¥{{dataList.PayActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo">待付</div>
<div class="pay_Inner orangeStyle ">¥{{getShiShou(dataList.PayReceive,dataList.PayActual)}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListTwo"></div>
<div class="pay_Inner">成本单据总额(含退款)+销售提成+ 课时费</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/lr.png" alt="" />
<span class="pay_Title">利润</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">实际利润</div>
<div class="pay_Inner">¥{{dataList.ProfitActual}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">当前利润</div>
<div class="pay_Inner orangeStyle">¥{{dataList.ProfitNow}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne"></div>
<div class="pay_Inner">实收-(应付/实付)+其他收入-总支出</div>
</div>
</div>
<div class="col paymentList">
<div class="pay_topList">
<img src="../../assets/images/myimg/tc.png" alt="" />
<span class="pay_Title">提成</span>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">销售提成</div>
<div class="pay_Inner">¥{{dataList.SaleCommission}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">课时费</div>
<div class="pay_Inner">¥{{dataList.TeacherProfitNow}}</div>
</div>
<div class="pay_ListMent">
<div class="pay_ListOne">绩效奖励</div>
<div class="pay_Inner orangeStyle ">¥{{dataList.MeritsProfit}}</div>
</div>
</div>
</div>
<div class="pay_InorOut">
<div class="pay_TopTitle" style="display:flex;justify-content: space-between;align-items:center;">
<div><span class="Pay_Line"></span>收入</div>
<q-btn label="新增收款" color="accent q-px-md" size="sm" style="font-weight:400 !important;"
@click="goShoukuan(1)" />
</div>
<div class="pay_TopTitle" style="margin:15px 0 15px 20px;font-size:12px;">
<span class="Pay_Line" style="background-color:#02C499;"></span>学费收入
</div>
<table class="payTable">
<tr>
<th width="180">单号</th>
<th width="200">费用类型</th>
<th width="500">交易明细</th>
<th width="300">金额</th>
<th width="200">交易日期</th>
<th width="250">制单人员</th>
<th width='180'>审核状态</th>
<th width="200">当前审核人</th>
</tr>
<tr v-if="dataList && dataList.FiniceReciveList==0">
<td :colspan="8" align="center">暂无数据</td>
</tr>
<tr v-for="(item,index) in dataList.FiniceReciveList" :key="index">
<td>
<span class="finince_Order" @click="goOrderDetail('FinancialDocumentsDetail',item)">{{item.FrID}}</span>
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}</span></td>
<td style="text-align:left;">
<div v-for="childItem in item.TradeWayList">
支付方式:{{childItem.Alias}}<span class="TB_Rate"> 币种:{{childItem.CurrencyName}}</span>
<span class="Team_Coins orangeStyle">{{childItem.OriginalMoney}}*{{childItem.Rate}}</span>
<span class="TB_Rate" style="margin-left:10px;">汇率:{{childItem.Rate}}</span>
</div>
</td>
<td>
<div class="financeYing">
应收:{{item.Money}}<br />
实收:{{item.PayMoney}}
</div>
</td>
<td>{{item.TradeDate}}</td>
<td>
<div>{{item.RB_CreateByName}}</div>
<div>{{item.CreateDate}}</div>
</td>
<td>
<div class="finice_pass">{{item.StatusStr}}</div>
</td>
<td>
<div v-for="AuditItem in item.AuditList">
{{AuditItem.AuditEmName}}
<span class="TB_Rate">{{AuditItem.AuditDate}}</span>
</div>
</td>
</tr>
</table>
<div class="pay_TopTitle" style="margin:30px 0 15px 20px;font-size:12px;">
<span class="Pay_Line" style="background-color:#02C499;"></span>其他收入
</div>
<table class="payTable">
<tr>
<th width="180">单号</th>
<th width="200">费用类型</th>
<th width="500">交易明细</th>
<th width="300">金额</th>
<th width="200">交易日期</th>
<th width="250">制单人员</th>
<th width='180'>审核状态</th>
<th width="200">当前审核人</th>
</tr>
<tr v-if="dataList && dataList.OtherFiniceReciveList==0">
<td :colspan="8" align="center">暂无数据</td>
</tr>
<tr v-for="(item,index) in dataList.OtherFiniceReciveList" :key="index">
<td>
<span class="finince_Order">{{item.FrID}}</span>
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}</span></td>
<td style="text-align:left;">
<div v-for="childItem in item.TradeWayList">
支付方式:{{childItem.Alias}}<span class="TB_Rate"> 币种:{{childItem.CurrencyName}}</span>
<span class="Team_Coins orangeStyle">{{childItem.OriginalMoney}}*{{childItem.Rate}}</span>
<span class="TB_Rate" style="margin-left:10px;">汇率:{{childItem.Rate}}</span>
</div>
</td>
<td>
<div class="financeYing">
应收:{{item.Money}}<br />
实收:{{item.PayMoney}}
</div>
</td>
<td>{{item.TradeDate}}</td>
<td>
<div>{{item.RB_CreateByName}}</div>
<div>{{item.CreateDate}}</div>
</td>
<td>
<div class="finice_pass">{{item.StatusStr}}</div>
</td>
<td>
<div v-for="AuditItem in item.AuditList">
{{AuditItem.AuditEmName}}
<span class="TB_Rate">{{AuditItem.AuditDate}}</span>
</div>
</td>
</tr>
</table>
<div class="pay_TopTitle"
style="margin-top:30px;display:flex;justify-content: space-between;align-items:center;">
<div><span class="Pay_Line" style="background:#F72E52;"></span>支出</div>
<q-btn label="新增付款" color="accent q-px-md" size="sm" style="font-weight:400 !important;"
@click="goShoukuan(2)" />
</div>
<div class="pay_TopTitle" style="margin:15px 0 15px 20px;font-size:12px;">
<span class="Pay_Line" style="background-color:#F28C1D;"></span>其他支出
</div>
<table class="payTable">
<tr>
<th width="180">单号</th>
<th width="200">费用类型</th>
<th width="500">交易明细</th>
<th width="300">金额</th>
<th width="200">交易日期</th>
<th width="250">制单人员</th>
<th width='180'>审核状态</th>
<th width="200">当前审核人</th>
</tr>
<tr v-if="dataList && dataList.OtherFinicePayList==0">
<td :colspan="8" align="center">暂无数据</td>
</tr>
<tr v-for="(item,index) in dataList.OtherFinicePayList" :key="index">
<td>
<span class="finince_Order" @click="goOrderDetail('FinancialDocumentsDetail',item)">{{item.FrID}}</span>
</td>
<td><span v-for="subItem in item.CostTypeList" :key="subItem.subCode">{{subItem}}</span></td>
<td style="text-align:left;">
<div v-for="childItem in item.TradeWayList">
支付方式:{{childItem.Alias}}<span class="TB_Rate">币种:{{childItem.CurrencyName}}</span>
<span class="Team_Coins orangeStyle">-{{childItem.OriginalMoney}}*{{childItem.Rate}}</span>
<span class="TB_Rate" style="margin-left:10px;">汇率:{{childItem.Rate}}</span>
</div>
</td>
<td>
<div class="financeYing">
应付:{{item.Money}}<br />
实付:{{item.PayMoney}}
</div>
</td>
<td>{{item.TradeDate}}</td>
<td>
<div>{{item.RB_CreateByName}}</div>
<div>{{item.CreateDate}}</div>
</td>
<td>
<div class="finice_pass">{{item.StatusStr}}</div>
</td>
<td>
<div v-for="AuditItem in item.AuditList">
{{AuditItem.AuditEmName}}
<span class="TB_Rate">{{AuditItem.AuditDate}}</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
import {
GetClassBalanceSheet,
} from '../../api/finance/index';
import {
EduDownLoad,
} from '../../api/common/common';
export default {
props: {},
components: {},
data() {
return {
dataList: [], //数据
msg: {
ClassId: 0,
School_Id: 0
},
}
},
created() {},
mounted() {
if (this.$route.query.ClassId && this.$route.query.School_Id) {
this.msg.ClassId = this.$route.query.ClassId;
this.msg.School_Id = this.$route.query.School_Id;
}
this.getData();
},
methods: {
getData() {
GetClassBalanceSheet(this.msg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data;
}
})
},
//减法 得实收
getShiShou(num1, num2) {
if (num1!=='' && num2!=='') {
return parseInt(num1) - parseInt(num2);
} else {
return 0;
}
},
//跳转到订单详情
goOrderDetail(path, item) {
this.$router.push({
path: '/financial/financalDocument/' + path,
query: {
"id": item.FrID,
blank: 'y',
tab: '单据详情'
}
})
},
//导出单据
exportOrder() {
var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad("/Finance/GetClassBalanceSheetToExcel", msg, "收支明细.xls")
},
//跳转到收款单
goShoukuan(type) {
let TCIDARR = []
TCIDARR.push(this.msg.ClassId)
let orderObj = {
OrderID: 0,
OrderSource: 17,
Obj: {},
SourceID: 0,
TCIDList: TCIDARR
}
this.$router.push({
path: '/financial/financalDocument/ChoiceAddFinancialDocuments',
query: {
"Type": type,
"companyID": this.msg.School_Id,
"path": "",
'blank': 'y',
'orderObj': JSON.stringify(orderObj),
'tradeWay': '',
}
});
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<template v-slot:top="props"> <template v-slot:top="props">
<q-space /> <q-space />
<div class="page-option"> <div class="page-option">
<q-btn color="accent" size="sm" icon="add" @click="preservation()" ref="addBtn" label="保存规则" /> <q-btn color="accent" size="sm" v-if='isSalerule_preserve == true' @click="preservation()" ref="addBtn" label="保存规则" />
</div> </div>
</template> </template>
<template v-slot:body="props"> <template v-slot:body="props">
...@@ -181,9 +181,18 @@ ...@@ -181,9 +181,18 @@
pageCount: 0, pageCount: 0,
persistent: false, persistent: false,
listData: {}, listData: {},
isSalerule_preserve:false,
} }
}, },
created() {}, created() {
let userinfo = this.getLocalStorage();
userinfo.ActionMenuList.map(x=>{//判断权限
if(x.FunctionCode == "Salerule_preserve"){//判断是否有保存的权限
this.isSalerule_preserve = true;
return
}
})
},
mounted() { mounted() {
this.getRuleList(); //获取规则 this.getRuleList(); //获取规则
......
<template> <template>
<div class="page-body"> <div class="page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-4">
<div class="col-4 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="msg.StartClassDate" value-format="yyyy-MM-dd" type="date" placeholder="开始时间"
size="small" style="width:47%;" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
<el-date-picker v-model="msg.EndClassDate" value-format="yyyy-MM-dd" type="date" placeholder="结束时间"
size="small" style="width:47%;" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
</template>
</q-field>
</div>
</div>
<div class="col-3">
<q-select @input="resetSearch" filled option-value="TId" option-label="TeacherName" v-model="msg.TeacherId"
:options="TeacherList" emit-value map-options label="老师" clearable />
</div>
<div class="col-3">
<q-select @input="resetSearch" filled stack-label option-value="RoomId" option-label="RoomName"
v-model="msg.ClassRoomId" ref="ClassRoomId" :options="ClassRoomList" label="关联教室" clearable :dense="false"
class="col-6 q-pb-lg" emit-value map-options />
</div>
</div>
</div>
<q-table :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table sticky-right-column-table" <q-table :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table sticky-right-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name"> separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props"> <template v-slot:top="props">
...@@ -23,7 +51,7 @@ ...@@ -23,7 +51,7 @@
<q-item-label>流单</q-item-label> <q-item-label>流单</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="OperateVitior(props.row,3)" > <q-item clickable v-close-popup @click="OperateVitior(props.row,3)">
<q-item-section> <q-item-section>
<q-item-label>取消</q-item-label> <q-item-label>取消</q-item-label>
</q-item-section> </q-item-section>
...@@ -40,6 +68,7 @@ ...@@ -40,6 +68,7 @@
<yuekeForm v-if="isShowYue" :ChoiceType="ChoiceType" :save-obj="visitorItem" @close="closeYuekeForm" @success="refreshPage"></yuekeForm> <yuekeForm v-if="isShowYue" :ChoiceType="ChoiceType" :save-obj="visitorItem" @close="closeYuekeForm" @success="refreshPage"></yuekeForm>
<exorderForm v-if="isShowExOrder" :save-obj="orderObj" @close="closeOrderForm" @success="refreshPage"></exorderForm> <exorderForm v-if="isShowExOrder" :save-obj="orderObj" @close="closeOrderForm" @success="refreshPage"></exorderForm>
<appodetailForm v-if="isShowDetail" :save-obj="orderObj" @close="closeAppForm"></appodetailForm> <appodetailForm v-if="isShowDetail" :save-obj="orderObj" @close="closeAppForm"></appodetailForm>
<exorderForm v-if="isShowExOrder" :save-obj="visitorItem" @close="closeOrderForm" @success="refreshPage"></exorderForm>
</div> </div>
</template> </template>
...@@ -47,6 +76,10 @@ ...@@ -47,6 +76,10 @@
import { import {
queryVisitorReservePage queryVisitorReservePage
} from '../../api/scheduling/schedu' } from '../../api/scheduling/schedu'
import {
getTeacherDropDownList,
queryClassRoomList
} from "../../api/school/index";
import yuekeForm from '../../components/schedul/yueke-form' import yuekeForm from '../../components/schedul/yueke-form'
import exorderForm from '../../components/schedul/exorder-form' import exorderForm from '../../components/schedul/exorder-form'
import appodetailForm from '../../components/schedul/appodetail-form' import appodetailForm from '../../components/schedul/appodetail-form'
...@@ -63,7 +96,12 @@ ...@@ -63,7 +96,12 @@
return { return {
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 10 pageSize: 10,
rowsPerPage: 10,
StartClassDate: "", //开始日期
EndClassDate: "", //结束日期
TeacherId: "",
ClassRoomId: "",
}, },
dataList: [], dataList: [],
loading: false, loading: false,
...@@ -130,11 +168,30 @@ ...@@ -130,11 +168,30 @@
isShowDetail:false //显示详情 isShowDetail:false //显示详情
} }
}, },
created() {
this.GetTeacherList();
this.getClassRoomList();
},
mounted() { mounted() {
this.getList() this.getList()
}, },
methods: { methods: {
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
}
});
},
//获取教室下拉
getClassRoomList() {
queryClassRoomList({}).then(res => {
if (res.Code == 1) {
this.ClassRoomList = res.Data;
}
})
},
//重新查询 //重新查询
resetSearch() { resetSearch() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
...@@ -154,11 +211,10 @@ ...@@ -154,11 +211,10 @@
}) })
}, },
//预约操作按钮 //预约操作按钮
OperateVitior(item,type) OperateVitior(item, type) {
{
this.ChoiceType = type; this.ChoiceType = type;
this.isShowYue = true; this.isShowYue = true;
this.visitorItem=item; this.visitorItem = item;
}, },
//关闭弹窗 //关闭弹窗
closeYuekeForm() { closeYuekeForm() {
...@@ -175,7 +231,7 @@ ...@@ -175,7 +231,7 @@
this.getList(); this.getList();
}, },
ExchangeOrder(item){ ExchangeOrder(item){
this.orderObj = item; this.visitorItem = item;
this.isShowExOrder=true; this.isShowExOrder=true;
}, },
//查看详情 //查看详情
......
...@@ -675,6 +675,11 @@ const routes = [{ ...@@ -675,6 +675,11 @@ const routes = [{
component: () => component: () =>
import("pages/activity/materialMan.vue") import("pages/activity/materialMan.vue")
}, },
{
path: "/activity/payment", //活动 活动收支
component: () =>
import("pages/activity/payment.vue")
},
{ {
path: "/sale/appointManagement", //销售 约课管理 path: "/sale/appointManagement", //销售 约课管理
component: () => component: () =>
......
...@@ -83,15 +83,21 @@ export default { ...@@ -83,15 +83,21 @@ export default {
let domainUrl = 'http://192.168.20.24'; let domainUrl = 'http://192.168.20.24';
let viewFileUrl = 'http://192.168.20.214:8120'; let viewFileUrl = 'http://192.168.20.214:8120';
let mallUrl = "http://192.168.20.17:8014"; let mallUrl = "http://192.168.20.17:8014";
let vtUploadUrl = "http://192.168.20.214:8120";
let vtViewUrl = "http://192.168.20.214:8130";
let locationName = window.location.hostname; let locationName = window.location.hostname;
if (locationName.indexOf('testerp.oytour') !== -1) { if (locationName.indexOf('testerp.oytour') !== -1) {
domainUrl = "http://testapi.oytour.com"; domainUrl = "http://testapi.oytour.com";
viewFileUrl = "http://upload.oytour.com"; viewFileUrl = "http://upload.oytour.com";
mallUrl = "https://mallapi.oytour.com"; mallUrl = "https://mallapi.oytour.com";
vtUploadUrl = "http://upload.oytour.com";
vtViewUrl = "https://imgfile.oytour.com";
} else if (locationName.indexOf('oytour') !== -1) { } else if (locationName.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com"; domainUrl = "http://reborn.oytour.com";
viewFileUrl = "http://upload.oytour.com"; viewFileUrl = "http://upload.oytour.com";
mallUrl = "https://mallapi.oytour.com"; mallUrl = "https://mallapi.oytour.com";
vtUploadUrl = "http://upload.oytour.com";
vtViewUrl = "https://imgfile.oytour.com";
} }
var obj = { var obj = {
//主地址 //主地址
...@@ -106,7 +112,9 @@ export default { ...@@ -106,7 +112,9 @@ export default {
LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi", LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi",
//文件预览地址 //文件预览地址
ViewFileUrl: viewFileUrl, ViewFileUrl: viewFileUrl,
mallUrl: mallUrl mallUrl: mallUrl,
VTUploadUrl: vtUploadUrl,
vtViewUrl: vtViewUrl
}; };
return obj; return obj;
}, },
...@@ -390,6 +398,125 @@ export default { ...@@ -390,6 +398,125 @@ export default {
}); });
window.open(newUrl.href, '_blank'); window.open(newUrl.href, '_blank');
}, },
//文件类型数组
Vue.prototype.FileType = function () {
var fileTypeJson = {
//主地址npm
UserImg: "User", //用户相图片
//常用提交数据URL
GoodsImg: "Goods", //素材相关文件
SetImg: "Set", //用户相图片
Video: "Video", //视频
};
return fileTypeJson;
},
//上传文件到云存储
Vue.prototype.UploadFileToTencent = function (path, fileObj, callback) {
// debugger;
var upInfo = JSON.parse(localStorage.uploadInfo);
let maxSize = 500 * 1024
if ((fileObj.type == "image/png" || fileObj.type == "image/jpeg") && fileObj.size > maxSize) {
let that = this
lrz(fileObj, {
width: 750,
quality: 0.8
})
.then(function (rst) {
//成功时执行
var arr = rst.base64.split(',');
var mime = arr[0].match(/:(.*?);/)[1];
var bstr = atob(arr[1]);
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
var newFile = new File([u8arr], fileObj.name, {
type: mime
});
if (upInfo && upInfo.IsDefault == 1) {
if (upInfo.StoreType == 1) {
that.uploadStart(path, newFile, callback)
}
if (upInfo.StoreType == 2) {
that.uploadToAli(path, newFile, callback)
}
} else {
that.Error('请先配置上传');
}
}).catch(function (error) {
if (upInfo && upInfo.IsDefault == 1) {
if (upInfo.StoreType == 1) {
that.uploadStart(path, fileObj, callback)
}
if (upInfo.StoreType == 2) {
that.uploadToAli(path, fileObj, callback)
}
} else {
that.Error('请先配置上传');
}
}).always(function () {
//不管成功或失败,都会执行
})
} else {
if (upInfo && upInfo.IsDefault == 1) {
if (upInfo.StoreType == 1) {
this.uploadStart(path, fileObj, callback)
}
if (upInfo.StoreType == 2) {
this.uploadToAli(path, fileObj, callback)
}
} else {
this.Error('请先配置上传');
}
}
},
Vue.prototype.uploadStart = function (path, fileObj, callback) {
var upInfo = JSON.parse(localStorage.uploadInfo);
//获取文件扩展名
var filename = fileObj.name;
var index = filename.lastIndexOf(".");
var suffix = filename.substr(index);
var timestamp1 = Date.parse(new Date()) + "_" + (Math.ceil(Math.random() * 1000));
let str = '';
if (this.isOnline()) {
str = "/Test"
}
var newFileName = str + '/Upload/' + path + "/" + timestamp1 + "" + suffix;
var uploadMsg = {
Bucket: upInfo.Bucket,
Region: upInfo.Region,
SecretId: upInfo.SecretId,
SecretKey: upInfo.SecretKey,
};
var COS = require('cos-js-sdk-v5');
var cos = new COS({
SecretId: uploadMsg.SecretId,
SecretKey: uploadMsg.SecretKey,
});
cos.putObject({
Bucket: uploadMsg.Bucket,
Region: uploadMsg.Region, //存储桶所在地域,必须字段
Key: newFileName, //文件名
StorageClass: 'STANDARD',
Body: fileObj, // 上传文件对象
onProgress: function (progressData) { }
}, function (err, data) {
if (data && data.statusCode == 200) {
var uploadResult = {
resultCode: 1,
FileName: fileObj.name,
FileUrl: "https://" + data.Location
}
if (callback) {
callback(uploadResult);
}
} else {
/*上传文件异常*/
console.log(err || data);
}
});
},
//公用判断图片地址 判断是否包含http //公用判断图片地址 判断是否包含http
Vue.prototype.getIconLink = function (url) { Vue.prototype.getIconLink = function (url) {
let str = '' let str = ''
...@@ -401,6 +528,35 @@ export default { ...@@ -401,6 +528,35 @@ export default {
} }
return str; return str;
} }
},
//是否是线上环境【发布时修改为true】
Vue.prototype.isOnline = function () {
return process.env.NODE_ENV !== 'development';
},
//上传文件到本地服务器
Vue.prototype.UploadSelfFile = function (path, file, callback) {
var that = this;
that.Info('上传中...')
var newPath = '/Upload/' + path + "/";
var formData = new FormData();
var uploadUrl = that.domainManager().VTUploadUrl + "/Upload?filePath=" + newPath + "&isCreateCover=1";
formData.append("myfile", file);
that.$http.post(uploadUrl, formData, {})
.then(res => {
if (res && res.status == 200 && res.data && res.data.FilePath) {
var uploadResult = {
resultCode: 1,
FileName: file.name,
FileUrl: that.domainManager().VTViewUrl + res.data.FilePath,
VideoCoverImg: that.domainManager().VTViewUrl + res.data.VideoCoverImg
}
if (callback) {
callback(uploadResult);
}
}
}).catch(function (reason) {
console.log(reason)
});
} }
} }
} }
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