Commit a5ee2005 authored by 罗超's avatar 罗超

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

# Conflicts:
#	src/pages/course/prepareclassDetails.vue
parents 95f842c5 62843a21
......@@ -212,6 +212,22 @@ export function getAllClassNowMonthStatistics(data) {
});
}
// 财务轧账月份列表
export function getFinanceMonthStatementPageList(data) {
return request({
url: '/finance/GetFinanceMonthStatementPageList',
method: 'post',
data
});
}
// 财务轧账月份n 新增修改
export function setFinanceMonthStatementInfo(data) {
return request({
url: '/finance/SetFinanceMonthStatementInfo',
method: 'post',
data
});
}
......
......@@ -556,3 +556,15 @@ export function propertyGetPageList(data) {
data
});
}
/**
* 保存调课申请单
*/
export function SetChangeClassPlan(data) {
return request({
url: '/ChangePlan/SetChangeClassPlan',
method: 'post',
data
});
}
This diff is collapsed.
......@@ -66,6 +66,11 @@
font-size: 12px;
margin-bottom: 20px;
}
.planTimeLi2 tbody::before{
content: '';
display: table-row;
height: 20px;
}
</style>
<template>
......@@ -260,7 +265,7 @@
</div>
</div>
<template v-if="DefaultPlanTimeList&&DefaultPlanTimeList.length>0">
<table style="width:100%;">
<table style="width:100%;border-collapse: collapse;" class="planTimeLi2">
<thead>
<tr>
<th>
......
......@@ -155,8 +155,6 @@
}
},
mounted() {
// this.queryClassInfo();
console.log(this.isShowEditBtn,'this.isShowEditBtn');
if(this.isShowEditBtn==1){
this.isShowMyBtn=1
}
......
......@@ -310,7 +310,7 @@
</template>
<template v-slot:body-cell-optioned="props" v-if="isShowBtn">
<q-td :props="props" style="width:130px;">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400;display:none;" label="编辑"
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400;" label="编辑"
@click="getInfo(props.row)">
<q-popup-proxy>
<q-banner v-if="isShowEdit">
......@@ -558,7 +558,7 @@
<template v-else><span style="color:red;">{{props.row.GuestName}}</span></template>
  <q-tooltip :offset="[0, 10]" v-if="props.row.IsChaBan==1">
 插班报入 <br />
开始课时:{{props.row.StartClassHours}} <br />
开始课时:{{props.row.StartClassHours}} <br />
 生效状态:{{props.row.EffectStatusStr}} <br />
 生效时间:{{props.row.EffectTime}} <br />
 <template v-if="props.row.UpOrderId&&props.row.UpOrderId>0">
......
......@@ -69,7 +69,6 @@
},
watch: {
value(newVal, oldVal) {
console.log("监听到变化1",newVal,this.ue.isReady,this.isInputChange)
if (!this.isInputChange) {
if (this.ue) {
if (this.ue.isReady !== 1) {
......@@ -85,7 +84,7 @@
}, 100);
return;
}
console.log("监听到变化",newVal)
("监听到变化",newVal)
this.ue.setContent(newVal);
} else {
this.tempContent = newVal;
......
<style>
.processSet {
width: 350px;
}
.processSet .processList {
width: 100%;
height: auto;
}
.processSet .processTop {
width: 100%;
height: 54px;
background-color: #F1F1F1;
color: #000000;
text-align: center;
line-height: 54px;
border-radius: 2px;
cursor: pointer;
position: relative;
}
.processSet .processLine {
width: 100%;
height: 54px;
background-color: #fff;
color: #bbb6b6;
text-align: center;
line-height: 54px;
}
.processSet .processLine i {
font-size: 25px;
font-weight: bold;
}
.processSet .otherList {
background-color: #2961FE !important;
color: #fff;
font-weight: bold;
}
.processSet .process_TwoList {
display: flex;
background-color: #2961FE !important;
color: #fff;
font-weight: bold;
align-items: center;
justify-content: center;
}
.processSet .process_He {
width: 36px;
height: 36px;
background-color: #3FC4FF;
text-align: center;
line-height: 36px;
color: #fff;
border-radius: 50%;
}
.processSet .process_Left {
width: 40%;
height: 100%;
text-align: right;
}
.processSet .process_center {
width: 20%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.processSet .process_Right {
width: 40%;
height: 100%;
text-align: left;
}
.processSet .process_OR {
background-color: #F28C1D;
}
.processSet .addProcessBtn {
width: 100%;
height: 45px;
text-align: center;
line-height: 45px;
color: #2961FE;
border: 1px dashed #2961FE;
border-radius: 2px;
cursor: pointer;
}
.processSet .process_BtnList {
margin-top: 30px;
width: 100%;
display: flex;
justify-content: center;
}
.processSet .process_BtnOne {
width: 90px;
height: 38px;
text-align: center;
line-height: 38px;
border-radius: 2px;
border: 1px solid #A1AAB2;
color: #000000;
cursor: pointer;
margin-right: 50px;
}
.processSet .SetShouSun {
display: inline-block;
border-radius: 2px;
background-color: #8175FB;
color: #fff;
position: absolute;
right: 10px;
width: 60px;
height: 27px;
left: 0;
top: 0;
line-height: 27px;
font-size: 13px;
}
.processSet .operationDiv {
position: absolute;
right: 0;
top: 0;
height: 30px;
line-height: 30px;
padding-right: 10px;
vertical-align: top;
}
.processSet .operationDiv i:first-child {
font-size: 13px;
}
.processSet .operationDiv i:hover {
color: red;
}
.processSet .justTwoClass {
margin-left: 8px;
}
</style>
<template>
<div class="processSet">
<div class="processList">
<div class="processTop">发起人</div>
<div class="processLine">
<i class="iconfont icon-down"></i>
</div>
</div>
<template v-for="(item,index) in flowObj.FlowNodeList">
<div class="processList" @click="getItem(index)">
<template v-if="item.FlowAduitList&&item.FlowAduitList.length==1">
<div class="processTop otherList">
{{item.FlowAduitList[0].AduitName}}
<template v-if="item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1">
<span class="SetShouSun">设定收损</span>
</template>
<div class="operationDiv">
<i class="iconfont icon-shanchu" style="position:relative;top:-2px;" @click.stop="DeleteNode(index)"></i>
<i style="margin:0 8px;" class="iconfont icon-shangyi2" v-if="index!=0"
@click.stop="moveDown(index,0)"></i>
<i class="iconfont icon-xiayi" :class="{'justTwoClass':index==0}" @click.stop="moveDown(index,1)"
v-if="index!=flowObj.FlowNodeList.length-1"></i>
</div>
</div>
<div class="processLine" v-if="index!=flowObj.FlowNodeList.length-1">
<i class="iconfont icon-down"></i>
</div>
</template>
<template v-else>
<div class="processTop process_TwoList">
<div class="process_Left">{{item.FlowAduitList[0].AduitName}}</div>
<div class="process_center">
<template v-if="item.FlowAduitList[0].AuditWay==2">
<div class="process_He"></div>
</template>
<template v-if="item.FlowAduitList[0].AuditWay==3">
<div class="process_He process_OR">或者</div>
</template>
</div>
<div class="process_Right">
<template v-for="(subItem,subIndex) in item.FlowAduitList" v-if="subIndex>0">
{{subItem.AduitName}}
</template>
</div>
<template v-if="item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1">
<span class="SetShouSun">设定收损</span>
</template>
<div class="operationDiv">
<i class="iconfont icon-shanchu" style="position:relative;top:-2px;" @click.stop="DeleteNode(index)"></i>
<i style="margin:0 8px;" class="iconfont icon-shangyi2" v-if="index!=0"
@click.stop="moveDown(index,0)"></i>
<i class="iconfont icon-xiayi" :class="{'justTwoClass':index==0}" @click.stop="moveDown(index,1)"
v-if="index!=flowObj.FlowNodeList.length-1"></i>
</div>
</div>
<div class="processLine" v-if="index!=flowObj.FlowNodeList.length-1">
<i class="iconfont icon-down"></i>
</div>
</template>
</div>
</template>
<br />
<div class="addProcessBtn" @click="AddNode">新增节点</div>
<div class="process_BtnList">
<!-- <div class="process_BtnOne">日志信息</div> -->
<q-btn label="保存" color="accent q-px-md" style="font-weight:400 !important" @click="setBackClassFlow" />
</div>
<process-form v-if="isShowProcess" :save-obj="processObj" :NodeIndex="ChooseNodeIndex" @close="closeProcessForm"
@success="refreshPage" :authObj="showObj">
</process-form>
</div>
</template>
<script>
import processForm from '../../components/flow/process-form';
import {
queryBackClassFlow,
saveBackClassFlow
} from '../../api/system/index'
export default {
meta: {
title: ""
},
components: {
processForm
},
data() {
return {
msg: {
FlowId: 1
},
isShowProcess: false, //显示旁边弹窗
processObj: {}, //传递子组件
flowObj: {
FlowId: 1,
FlowName: "退课流程",
FlowNodeList: [], //审核节点列表
},
//显示对象
showObj: {
isShowShouSun: 1, //显示收损
},
ChooseNodeIndex: 0,
}
},
created() {},
mounted() {
this.getBackClassFlow();
},
methods: {
//新增节点
AddNode() {
this.flowObj.FlowNodeList.push({
FlowId: 0,
NodeId: 0,
NodeName: "新增节点",
SortNum: 0,
FlowAduitList: [{
AduitName: "新增节点",
AuditType: 2,
AuditWay: 2,
CheckId: 0,
FlowId: 0,
IsSpecNode: 0,
NodeId: 8,
PostType: 0,
UserId: 0,
}]
});
},
//删除节点
DeleteNode(index) {
this.$q.dialog({
title: '提示信息',
message: '是否确定删除该流程',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
this.flowObj.FlowNodeList.splice(index, 1);
}).onCancel(() => {
});
},
getBackClassFlow() {
queryBackClassFlow(this.msg).then(res => {
if (res.Code == 1 && res.Data) {
this.flowObj = res.Data;
}
})
},
//点开旁边
getItem(nodeIndex) {
this.processObj = this.flowObj;
this.ChooseNodeIndex = nodeIndex;
this.isShowProcess = true;
},
//关闭
closeProcessForm() {
this.isShowProcess = false
},
//成功刷新
refreshPage() {
this.isShowProcess = false;
this.getBackClassFlow();
},
//保存退课流程
setBackClassFlow() {
saveBackClassFlow(this.flowObj).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
this.refreshPage();
}
})
},
//下移下移
moveDown(index, IsUp) {
var currentItem = this.flowObj.FlowNodeList[index];
if (IsUp == 0) {
if (index > 0) {
var upItem = this.flowObj.FlowNodeList[index - 1];
this.$set(this.flowObj.FlowNodeList, index - 1, currentItem);
this.$set(this.flowObj.FlowNodeList, index, upItem);
}
} else {
if (index != this.flowObj.FlowNodeList.length - 1) {
var downItem = this.flowObj.FlowNodeList[index + 1];
this.$set(this.flowObj.FlowNodeList, index + 1, currentItem);
this.$set(this.flowObj.FlowNodeList, index, downItem);
}
}
}
}
}
</script>
<style>
.changeClassProcess {
width: 350px;
}
.changeClassProcess .processList {
width: 100%;
height: auto;
}
.changeClassProcess .processTop {
width: 100%;
height: 54px;
background-color: #F1F1F1;
color: #000000;
text-align: center;
line-height: 54px;
border-radius: 2px;
cursor: pointer;
position: relative;
}
.changeClassProcess .processLine {
width: 100%;
height: 54px;
background-color: #fff;
color: #bbb6b6;
text-align: center;
line-height: 54px;
}
.changeClassProcess .processLine i {
font-size: 25px;
font-weight: bold;
}
.changeClassProcess .otherList {
background-color: #2961FE !important;
color: #fff;
font-weight: bold;
}
.changeClassProcess .process_TwoList {
display: flex;
background-color: #2961FE !important;
color: #fff;
font-weight: bold;
align-items: center;
justify-content: center;
}
.changeClassProcess .process_He {
width: 36px;
height: 36px;
background-color: #3FC4FF;
text-align: center;
line-height: 36px;
color: #fff;
border-radius: 50%;
}
.changeClassProcess .process_Left {
width: 40%;
height: 100%;
text-align: right;
}
.changeClassProcess .process_center {
width: 20%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.changeClassProcess .process_Right {
width: 40%;
height: 100%;
text-align: left;
}
.changeClassProcess .process_OR {
background-color: #F28C1D;
}
.changeClassProcess .addProcessBtn {
width: 100%;
height: 45px;
text-align: center;
line-height: 45px;
color: #2961FE;
border: 1px dashed #2961FE;
border-radius: 2px;
cursor: pointer;
}
.changeClassProcess .process_BtnList {
margin-top: 30px;
width: 100%;
display: flex;
justify-content: center;
}
.changeClassProcess .process_BtnOne {
width: 90px;
height: 38px;
text-align: center;
line-height: 38px;
border-radius: 2px;
border: 1px solid #A1AAB2;
color: #000000;
cursor: pointer;
margin-right: 50px;
}
.changeClassProcess .SetShouSun {
display: inline-block;
border-radius: 2px;
background-color: #8175FB;
color: #fff;
position: absolute;
right: 10px;
width: 60px;
height: 27px;
left: 0;
top: 0;
line-height: 27px;
font-size: 13px;
}
.changeClassProcess .operationDiv {
position: absolute;
right: 0;
top: 0;
height: 30px;
line-height: 30px;
padding-right: 10px;
vertical-align: top;
}
.changeClassProcess .operationDiv i:first-child {
font-size: 13px;
}
.changeClassProcess .operationDiv i:hover {
color: red;
}
.changeClassProcess .justTwoClass {
margin-left: 8px;
}
</style>
<template>
<div class="changeClassProcess">
<div class="processList">
<div class="processTop">发起人</div>
<div class="processLine">
<i class="iconfont icon-down"></i>
</div>
</div>
<template v-for="(item,index) in flowObj.FlowNodeList">
<div class="processList" @click="getItem(index)">
<template v-if="item.FlowAduitList&&item.FlowAduitList.length==1">
<div class="processTop otherList">
{{item.FlowAduitList[0].AduitName}}
<template v-if="item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1">
<span class="SetShouSun">设定收损</span>
</template>
<div class="operationDiv">
<i class="iconfont icon-shanchu" style="position:relative;top:-2px;" @click.stop="DeleteNode(index)"></i>
<i style="margin:0 8px;" class="iconfont icon-shangyi2" v-if="index!=0"
@click.stop="moveDown(index,0)"></i>
<i class="iconfont icon-xiayi" :class="{'justTwoClass':index==0}" @click.stop="moveDown(index,1)"
v-if="index!=flowObj.FlowNodeList.length-1"></i>
</div>
</div>
<div class="processLine" v-if="index!=flowObj.FlowNodeList.length-1">
<i class="iconfont icon-down"></i>
</div>
</template>
<template v-else>
<div class="processTop process_TwoList">
<div class="process_Left">{{item.FlowAduitList[0].AduitName}}</div>
<div class="process_center">
<template v-if="item.FlowAduitList[0].AuditWay==2">
<div class="process_He"></div>
</template>
<template v-if="item.FlowAduitList[0].AuditWay==3">
<div class="process_He process_OR">或者</div>
</template>
</div>
<div class="process_Right">
<template v-for="(subItem,subIndex) in item.FlowAduitList" v-if="subIndex>0">
{{subItem.AduitName}}
</template>
</div>
<template v-if="item.FlowAduitList&&item.FlowAduitList.length>0 && item.FlowAduitList[0].IsSpecNode==1">
<span class="SetShouSun">设定收损</span>
</template>
<div class="operationDiv">
<i class="iconfont icon-shanchu" style="position:relative;top:-2px;" @click.stop="DeleteNode(index)"></i>
<i style="margin:0 8px;" class="iconfont icon-shangyi2" v-if="index!=0"
@click.stop="moveDown(index,0)"></i>
<i class="iconfont icon-xiayi" :class="{'justTwoClass':index==0}" @click.stop="moveDown(index,1)"
v-if="index!=flowObj.FlowNodeList.length-1"></i>
</div>
</div>
<div class="processLine" v-if="index!=flowObj.FlowNodeList.length-1">
<i class="iconfont icon-down"></i>
</div>
</template>
</div>
</template>
<br />
<div class="addProcessBtn" @click="AddNode">新增节点</div>
<div class="process_BtnList">
<q-btn label="保存" color="accent q-px-md" style="font-weight:400 !important" @click="setBackClassFlow" />
</div>
<process-form v-if="isShowProcess" :save-obj="processObj" :NodeIndex="ChooseNodeIndex" @close="closeProcessForm"
@success="refreshPage" :authObj="showObj">
</process-form>
</div>
</template>
<script>
import processForm from '../../components/flow/process-form';
import {
queryBackClassFlow,
saveBackClassFlow
} from '../../api/system/index'
export default {
meta: {
title: ""
},
components: {
processForm
},
data() {
return {
msg: {
FlowId: 2
},
isShowProcess: false, //显示旁边弹窗
processObj: {}, //传递子组件
flowObj: {
FlowId: 2,
FlowName: "调课流程",
FlowNodeList: [], //审核节点列表
},
//显示对象
showObj: {
isShowShouSun: 0,//不显示收损
},
ChooseNodeIndex: 0,
}
},
created() {},
mounted() {
this.getBackClassFlow();
},
methods: {
//新增节点
AddNode() {
this.flowObj.FlowNodeList.push({
FlowId: 0,
NodeId: 0,
NodeName: "新增节点",
SortNum: 0,
FlowAduitList: [{
AduitName: "新增节点",
AuditType: 2,
AuditWay: 2,
CheckId: 0,
FlowId: 0,
IsSpecNode: 0,
NodeId: 8,
PostType: 0,
UserId: 0,
}]
});
},
//删除节点
DeleteNode(index) {
this.$q.dialog({
title: '提示信息',
message: '是否确定删除该流程',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
this.flowObj.FlowNodeList.splice(index, 1);
}).onCancel(() => {
});
},
getBackClassFlow() {
queryBackClassFlow(this.msg).then(res => {
if (res.Code == 1 && res.Data) {
this.flowObj = res.Data;
}
})
},
//点开旁边
getItem(nodeIndex) {
this.processObj = this.flowObj;
this.ChooseNodeIndex = nodeIndex;
this.isShowProcess = true;
},
//关闭
closeProcessForm() {
this.isShowProcess = false
},
//成功刷新
refreshPage() {
this.isShowProcess = false;
this.getBackClassFlow();
},
//保存退课流程
setBackClassFlow() {
saveBackClassFlow(this.flowObj).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
this.refreshPage();
}
})
},
//下移下移
moveDown(index, IsUp) {
var currentItem = this.flowObj.FlowNodeList[index];
if (IsUp == 0) {
if (index > 0) {
var upItem = this.flowObj.FlowNodeList[index - 1];
this.$set(this.flowObj.FlowNodeList, index - 1, currentItem);
this.$set(this.flowObj.FlowNodeList, index, upItem);
}
} else {
if (index != this.flowObj.FlowNodeList.length - 1) {
var downItem = this.flowObj.FlowNodeList[index + 1];
this.$set(this.flowObj.FlowNodeList, index + 1, currentItem);
this.$set(this.flowObj.FlowNodeList, index, downItem);
}
}
}
}
}
</script>
......@@ -123,13 +123,15 @@
position: absolute;
background-color: #E9EFFF;
}
.process_InnerLineTwo{
.process_InnerLineTwo {
width: 5px;
top:65px;
top: 65px;
height: 12px;
position: absolute;
background-color: #E9EFFF;
}
.processAddzhai {
height: 50px;
border: 1px dashed #2961FE !important;
......@@ -141,13 +143,15 @@
margin: 0 20px;
border-radius: 5px !important;
}
.ProcessShanchu{
.ProcessShanchu {
position: absolute;
right:10px;
top:10px;
color:red;
right: 10px;
top: 10px;
color: red;
cursor: pointer;
}
</style>
<template>
<q-dialog v-model="persistent" maximized full-height seamless position="right" @hide="closeProcess">
......@@ -159,6 +163,7 @@
<div class="q-gutter-sm" style="padding-top:20px;">
<q-radio left-label v-model="aItem.AuditType" :val="2" label="指定人员" />
<q-radio left-label v-model="aItem.AuditType" :val="3" label="内置角色" />
<q-radio left-label v-model="aItem.AuditType" :val="4" label="系统角色" />
</div>
<div style="margin:10px 0;">
<q-select class="col-6 q-pb" v-if="aItem.AuditType==2" clearable filled stack-label use-input
......@@ -174,23 +179,28 @@
</template>
</q-select>
<q-select class="col-6 q-pb" v-if="aItem.AuditType==3" clearable filled stack-label use-input
option-value="Id" option-label="Name" v-model="aItem.PostType" ref="ManagerId" :options="roleList"
label="选择角色" :dense="false" emit-value map-options @input="changeType(aItem)">
option-value="Id" option-label="Name" v-model="aItem.PostType" :options="roleList" label="选择角色"
:dense="false" emit-value map-options @input="changeType(aItem)">
</q-select>
<q-select class="col-6 q-pb" v-if="aItem.AuditType==4" clearable filled stack-label use-input
option-value="PostId" option-label="PostName" v-model="aItem.PostType" :options="PostList" label="选择角色"
:dense="false" emit-value map-options @input="changeType(aItem)">
</q-select>
</div>
<q-toggle
v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0"
v-if="AuthorityObj.isShowShouSun==1 &&saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0"
v-model="saveObj.FlowNodeList[NodeIndex].FlowAduitList[0].IsSpecNode" label="设定收损" left-label
:true-value="1" :false-value="0"
@input="changeSpecNode(saveObj.FlowNodeList[NodeIndex].FlowAduitList[0])" />
<div class="process_Warm"
v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0">
v-if="AuthorityObj.isShowShouSun==1&&saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex==0">
<i class="iconfont icon-jinggao"></i>
只能由一个人开启,一旦开启其他关闭
</div>
</div>
<i class="iconfont icon-shanchu ProcessShanchu" v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex>0"
@click="DelAduitInfo(aIndex)"></i>
<i class="iconfont icon-shanchu ProcessShanchu"
v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex>0"
@click="DelAduitInfo(aIndex)"></i>
</div>
<div class="process_LineTwo"
v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0"
......@@ -204,8 +214,7 @@
</div>
<div class="process_InnerLineTwo"></div>
</div>
<!-- <a v-if="saveObj.FlowNodeList[NodeIndex].FlowAduitList&&saveObj.FlowNodeList[NodeIndex].FlowAduitList.length>0 && aIndex>0"
@click="DelAduitInfo(aIndex)">删除</a> -->
</div>
<div class="processAddzhai" @click="AddAduitInfo">新增审核人</div>
<div class="process_Btn_List">
......@@ -221,9 +230,14 @@
</template>
<script>
//员工列表
import {
queryEmployee
} from '../../api/users/user'
//系统角色列表
import {
getPostList
} from '../../api/system/post'
import {
saveBackClassFlow
} from '../../api/system/index'
......@@ -237,6 +251,11 @@
NodeIndex: {
type: Number,
default: 0,
},
//显示设置
authObj: {
type: Object,
default: null
}
},
components: {},
......@@ -245,6 +264,7 @@
persistent: true,
AllemployeeList: [], //所有员工列表
EmployeeList: [], //员工列表
PostList: [], //系统角色列表
//固定角色列表
roleList: [{
Name: '班级老师',
......@@ -268,16 +288,38 @@
}, {
Name: '或签',
Id: 3
}]
}],
//权限显示对象
AuthorityObj: {
isShowShouSun: 0, //是否收损【默认不显示】
},
}
},
created() {
this.queryPostList();
this.getEmployee();
},
mounted() {
this.initAuth();
},
methods: {
//初始化权限信息
initAuth() {
if (this.authObj) {
if (this.authObj.isShowShouSun != null && this.authObj.isShowShouSun == 1) {
this.AuthorityObj.isShowShouSun = this.authObj.isShowShouSun;
}
}
},
queryPostList() {
getPostList({}).then(res => {
if (res.Code == 1) {
this.PostList = res.Data;
}
});
},
changeSpecNode(item) {
if (item.IsSpecNode == 1) {
this.saveObj.FlowNodeList.forEach(item => {
......@@ -308,6 +350,14 @@
item.UserId = 0;
}
}
//系统角色
else if (item.AuditType == 4) {
var chooseRole = this.PostList.filter(v => v.PostId == item.PostType);
if (chooseRole && chooseRole.length > 0) {
item.AduitName = chooseRole[0].PostName;
item.UserId = 0;
}
}
},
//新增审核人
AddAduitInfo() {
......@@ -319,8 +369,8 @@
AduitName: "",
IsSpecNode: 0,
NodeId: 0,
PostType: 0,
UserId: 0,
PostType: "",
UserId: "",
});
},
//删除审核人
......@@ -360,23 +410,23 @@
},
//保存退课流程
setBackClassFlow() {
for(let i=0;i<this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList.length;i++){
if(this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].AuditType==2){
if(!this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].UserId){
for (let i = 0; i < this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList.length; i++) {
if (this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].AuditType == 2) {
if (!this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].UserId) {
this.$q.notify({
type: 'negative',
position: "top",
message: '请选择审批人'+(i+1)+'指定人员名称'
type: 'negative',
position: "top",
message: '请选择审批人' + (i + 1) + '指定人员名称'
})
return;
}
}
if(this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].AuditType==3){
if(!this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].PostType){
if (this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].AuditType == 3) {
if (!this.saveObj.FlowNodeList[this.NodeIndex].FlowAduitList[i].PostType) {
this.$q.notify({
type: 'negative',
position: "top",
message: '请选择审批人'+(i+1)+'角色'
type: 'negative',
position: "top",
message: '请选择审批人' + (i + 1) + '角色'
})
return;
}
......
......@@ -109,7 +109,6 @@
this.OrderMsg.EduUserId = data.Id
this.OrderMsg.TenantId = data.JHTenantId
this.OrderMsg.MallBaseId = data.JHMallBaseId
console.log(66, this.saveObj)
if (this.saveObj) {
if (this.sourceType === 1) {
this.OrderMsg.ActivityId = this.saveObj.Id
......@@ -119,8 +118,6 @@
this.OrderMsg.ActivityId = this.saveObj.ActivityId
this.OrderMsg.UnitPrice = this.saveObj.UnitPrice
this.OrderMsg.EduStudentId = this.saveObj.EduStudentId
// this.OrderMsg.EduUserId=this.saveObj.EduUserIds
}
this.OrderMsg.LinkMan = this.saveObj.LinkMan
this.OrderMsg.LinkTel = this.saveObj.LinkTel
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<style>
.backflowMain {
.eduflowMain {
width: 90%;
margin: auto;
height: auto;
......@@ -8,14 +8,14 @@
padding-bottom: 15px;
}
.backflowMain .backflow_Top {
.eduflowMain .backflow_Top {
position: relative;
width: 100%;
height: 36px;
line-height: 36px;
}
.backflowMain .back_Circle {
.eduflowMain .back_Circle {
width: 36px;
height: 36px;
background-color: #2961FE;
......@@ -29,13 +29,13 @@
font-size: 12px;
}
.backflowMain .back_Name {
.eduflowMain .back_Name {
color: #2D2D2D;
font-weight: bold;
font-size: 15px;
}
.backflowMain .back_OrderStatus {
.eduflowMain .back_OrderStatus {
padding: 1px 5px;
background: #FEB528;
color: #fff;
......@@ -44,29 +44,29 @@
border-radius: 3px;
}
.backflowMain .back_Bottom {
.eduflowMain .back_Bottom {
height: auto;
margin: 10px 0 0 10px;
padding-bottom: 15px;
}
.backflowMain .back_subList {
.eduflowMain .back_subList {
display: flex;
align-items: center;
justify-content: space-between;
}
.backflowMain .back_Time {
.eduflowMain .back_Time {
color: #2D2D2D;
font-size: 12px;
}
.backflowMain .back_Names {
.eduflowMain .back_Names {
color: #2D2D2D;
font-size: 14px;
}
.backflowMain .back_remark {
.eduflowMain .back_remark {
position: relative;
background-color: #EEEEEF;
min-height: 40px;
......@@ -76,11 +76,11 @@
}
.back_Bottom:last-child,
.backflowMain:last-child {
.eduflowMain:last-child {
padding-bottom: 0;
}
.backflowMain .triangle_border_up {
.eduflowMain .triangle_border_up {
width: 0;
height: 0;
border-width: 0 7px 10px;
......@@ -93,27 +93,28 @@
left: 15px;
}
.backflowContent {
.eduflowContent {
padding-bottom: 40px;
height: 770px;
overflow: auto;
margin-bottom: 40px;
}
.backflowContent::-webkit-scrollbar {
.eduflowContent::-webkit-scrollbar {
width: 3px;
height: 3px;
background-color: #F5F5F5;
}
/*!*定义滚动条轨道 内阴影+圆角*!*/
.backflowContent::-webkit-scrollbar-track {
.eduflowContent::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #F5F5F5;
}
/*!*定义滑块 内阴影+圆角*!*/
.backflowContent::-webkit-scrollbar-thumb {
.eduflowContent::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, rgba(255, 255, 255, .2)), color-stop(.5, transparent), to(transparent));
background-color: #0ae;
......@@ -121,12 +122,13 @@
</style>
<template>
<div class="backflowContent">
<div class="backflowMain" v-for="(item,index) in DataList" :key="index">
<div class="eduflowContent">
<div class="eduflowMain" v-for="(item,index) in DataList" :key="index">
<div class="backflow_Top">
<div class="back_Circle">{{item.AduitStatusName}}</div>
<span class="back_Name">{{item.NodeName}}</span>
<span class="back_OrderStatus" v-if="item.AuditWayName && item.SubList&&item.SubList.length>1">{{item.AuditWayName}}</span>
<span class="back_OrderStatus"
v-if="item.AuditWayName && item.SubList&&item.SubList.length>1">{{item.AuditWayName}}</span>
</div>
<div class="back_Bottom" v-for="(subItem,subIndex) in item.SubList" :key="subIndex">
<div class="back_subList">
......@@ -139,7 +141,12 @@
</div>
<div class="back_remark" v-if="subItem.AuditStatus!=1">
<div class="triangle_border_up"></div>
{{subItem.Description}}
<template v-if="subItem.Description&&subItem.Description!=''">
{{subItem.Description}}
</template>
<template v-else>
</template>
</div>
</div>
</div>
......@@ -148,7 +155,7 @@
<script>
import {
GetEduReceiptInfo
GetEduReceiptInfo
} from '../../api/teacher/index'
export default {
props: {
......@@ -177,7 +184,7 @@
},
methods: {
getStuBaclFlow() {
GetEduReceiptInfo (this.qMsg).then(res => {
GetEduReceiptInfo(this.qMsg).then(res => {
if (res.Code == 1) {
this.DataList = res.Data
}
......
......@@ -12,7 +12,7 @@
<div
style="background: rgba(2, 196, 153, 0.2);border-radius: 4px;text-align: center;padding: 2px 13px;margin-left: 30px">
<!-- <span style="color: #02C499">{{Detail.OrderStateName}}</span> -->
<span style="color: #02C499" v-if="saveObj.Status ===0">正常</span>
<span style="color: #02C499" v-if="saveObj.Status ===1">已取消</span>
</div>
......@@ -108,7 +108,7 @@
</div>
<div class="col-6 row">
<span class="two-left">实收:</span>
<div class="two-r">
<template v-if="saveObj.Income>0 ">
{{getTwoWei(saveObj.Income)}}
......@@ -125,24 +125,24 @@
<div class="col-6 row">
<span class="two-left">平台税金:</span>
<div class="two-r">
<template v-if="saveObj.PlatformTax>0">
{{getTwoWei(saveObj.PlatformTax)}}
<template v-if="saveObj.PlatformTax>0">
{{getTwoWei(saveObj.PlatformTax)}}
</template>
<template v-else>
<span class="redstyle">0</span>
</template>
</div>
</div>
<div class="col-6 row">
<span class="two-left">结束时间:</span>
<span class="two-r">{{saveObj.EndTime}}</span>
</div>
<div class="col-6 row">
<div class="col-6 row">
<span class="two-left">退款:</span>
<div class="two-r">
<template v-if="saveObj.RefundPrice>0">
{{getTwoWei(saveObj.RefundPrice)}}
{{getTwoWei(saveObj.RefundPrice)}}
</template>
<template v-else>
<span class="redstyle">0</span>
......@@ -218,20 +218,20 @@
</div>
</el-timeline-item> -->
<el-timeline-item color="#2961FE">
<div v-if="saveObj.Remark">
{{saveObj.Remark}}
</div>
<div v-else>
暂无
</div>
<div v-if="saveObj.Remark">
{{saveObj.Remark}}
</div>
<div v-else>
暂无
</div>
</el-timeline-item>
<el-timeline-item color="#8175FB">
<div v-if="saveObj.CancelRemark">
{{saveObj.CancelRemark}}
{{saveObj.CancelRemark}}
</div>
<div v-else>
暂无
</div>
<div v-else>
暂无
</div>
</el-timeline-item>
</el-timeline>
<!-- <q-pagination class="full-width justify-end" v-model="msg2.PageIndex" color="primary" :max="pageCount2"
......@@ -575,19 +575,14 @@
}
},
created() {
console.log(507, this.saveObj)
if (this.saveObj.tab) {
this.tab = (this.saveObj.tab).toString();
}
this.msg.OrderId = this.saveObj.OrderId;
this.msg2.OrderId = this.saveObj.OrderId;
this.msg3.SourceId = this.saveObj.OrderId;
this.msg.ClassId = this.saveObj.ClassId;
this.getOrderInfo()
// this.getRolelist()
// this.getRemarkList()
// this.OrderLogList()
},
methods: {
Financial_post_GetFinancLogList: function (id) { // 获取单据日志
......@@ -606,22 +601,11 @@
}
}, null)
},
// getOrderInfo() {
// getClassOrderForDetail({
// OrderId: this.saveObj.Id
// }).then(res => {
// this.Detail = res.Data;
// this.getfinanciaALLPageList(1, this.Detail.ClassId, this.Detail.OrderId) //财务单据
// }).catch(() => {
// })
// },
getOrderInfo() {
this.apipostDS("/api/Education/GetActivityBalanceSheet", {
Id: this.saveObj.ActivityId,
OrderId: this.saveObj.Id
}, (res) => {
console.log(553, this.dataList)
if (res.data.resultCode === 1) {
this.dataList = res.data.data.FiniceReciveList;
this.dataListp = res.data.data.FinicePayList;
......
......@@ -89,8 +89,8 @@
}
this.addMsg.StartTime = this.date[0]
this.addMsg.EndTime = this.date[1]
console.log(97, this.date, this.addMsg)
if (this.addMsg.StartTime == "" || this.addMsg.EndTime == ""||!this.addMsg.StartTime||!this.addMsg.EndTime) {
if (this.addMsg.StartTime == "" || this.addMsg.EndTime == "" || !this.addMsg.StartTime || !this.addMsg
.EndTime) {
this.$q.notify({
icon: "error",
color: "negative",
......@@ -99,15 +99,14 @@
})
return
}
setHolidayPlan(this.addMsg).then(res=>{
if(res.Code===1){
this.Success(res.Message)
this.closeVisitForm();
this.$emit("success")
}
setHolidayPlan(this.addMsg).then(res => {
if (res.Code === 1) {
this.Success(res.Message)
this.closeVisitForm();
this.$emit("success")
}
})
},
}
};
......
This diff is collapsed.
......@@ -195,11 +195,10 @@
...this.msg,
...this.activeBaseData
}
console.log(144, msg)
this.apipostDS("/api/Education/SetActivity", msg, (res) => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
// this.getDetail()
this.$router.push("/activity/activityList")
} else {
this.Error(res.data.message);
......
......@@ -313,12 +313,10 @@
},
//同意
agreeApply(item) {
console.log(305,item)
this.bdMsg.Id = item.Id;
this.bdMsg.ApplyForCancelStatus = 1;
this.apipostDS("/api/Education/SetCommerceConsultApplyCancel", this.bdMsg, res => {
if (res.data.resultCode == 1) {
// location.reload();
this.Success("操作成功")
this.getList()
} else {
......
<style>
@import "../../assets/css/advert/advmanager.css";
@import "../../assets/css/advert/advmanager.css";
</style>
<template>
<div class="advmanager-box page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select @input="getaddatas(0)" standout="bg-primary text-white" v-model="adMsg.IsFee" :options="statusOpts"
emit-value map-options label="类型" />
</div>
</div>
<q-btn label="新增" size="sm" color="accent q-px-md" style="font-weight:400 !important" @click="add" />
<div class="advmanager-box page-body">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select @input="getaddatas(0)" standout="bg-primary text-white" v-model="adMsg.IsFee" :options="statusOpts"
emit-value map-options label="类型" />
</div>
<div class="content" >
<vueWaterfallEasy :imgsArr="addatas" ref="waterfall" @scrollReachBottom="handleCurrentChange" :maxCols='7' :imgWidth='208' :enablePullDownEvent='true' v-if="addatas.length>0">
<template slot-scope="props">
<span class="money" v-if="props.value.IsFee==1">{{props.value.ChargeAmount.toFixed(2)}}</span>
<span class="free" v-else>{{$t('advmanager.v_free')}}</span>
<div class="star-box">
<i class="iconfont icon-star star"></i>&nbsp; {{props.value.AdvertisingCount}}
</div>
<div class="label-box" v-if="props.value.LableList.length>0">
<div v-for="(item,index) in props.value.LableList" :key="index" class="ad-label" v-if="index<3">
{{ item }}
</div>
</div>
<div class="zezhao">
<i class="el-icon-edit" :title="$t('pub.updateMsg')" @click="update(props.value)"></i>
<i class="el-icon-delete" :title="$t('system.table_delete')" @click="delAD(props.value.ID)" ></i>
</div>
</template>
<div slot="waterfall-over">没有更多了</div>
</vueWaterfallEasy>
<div v-if="addatas.length===0" style="text-align:center">
暂无数据
</div>
<q-btn label="新增" size="sm" color="accent q-px-md" style="font-weight:400 !important" @click="add" />
</div>
<div class="content">
<vueWaterfallEasy :imgsArr="addatas" ref="waterfall" @scrollReachBottom="handleCurrentChange" :maxCols='7'
:imgWidth='208' :enablePullDownEvent='true' v-if="addatas.length>0">
<template slot-scope="props">
<span class="money" v-if="props.value.IsFee==1">{{props.value.ChargeAmount.toFixed(2)}}</span>
<span class="free" v-else>{{$t('advmanager.v_free')}}</span>
<div class="star-box">
<i class="iconfont icon-star star"></i>&nbsp; {{props.value.AdvertisingCount}}
</div>
<div class="label-box" v-if="props.value.LableList.length>0">
<div v-for="(item,index) in props.value.LableList" :key="index" class="ad-label" v-if="index<3">
{{ item }}
</div>
</div>
<!-- 新增修改广告图 -->
<AdvmanagerForm v-if="showForm" @close="closeruleset" :save-obj="model" @success="getaddatas(0)">
</AdvmanagerForm>
</div>
<div class="zezhao">
<i class="el-icon-edit" :title="$t('pub.updateMsg')" @click="update(props.value)"></i>
<i class="el-icon-delete" :title="$t('system.table_delete')" @click="delAD(props.value.ID)"></i>
</div>
</template>
<div slot="waterfall-over">没有更多了</div>
</vueWaterfallEasy>
<div v-if="addatas.length===0" style="text-align:center">
暂无数据
</div>
</div>
<!-- 新增修改广告图 -->
<AdvmanagerForm v-if="showForm" @close="closeruleset" :save-obj="model" @success="getaddatas(0)">
</AdvmanagerForm>
</div>
</template>
<script>
import vueWaterfallEasy from 'vue-waterfall-easy';
import AdvmanagerForm from "../../components/activity/advmanager-form"
import {getAdvertisingList,delAd} from '../../api/AD/index.js'
export default {
data(){
return{
addatas:[],
model:{},
statusOpts:[
{
import vueWaterfallEasy from 'vue-waterfall-easy';
import AdvmanagerForm from "../../components/activity/advmanager-form"
import {
getAdvertisingList,
delAd
} from '../../api/AD/index.js'
export default {
data() {
return {
addatas: [],
model: {},
statusOpts: [{
label: "全部",
value: 0
},
......@@ -65,90 +69,90 @@ export default {
label: "免费",
value: 2
}
],
showForm:false,
adMsg:{
pageIndex:1,
pageSize:10,
IsFee:0
}
],
showForm: false,
adMsg: {
pageIndex: 1,
pageSize: 10,
IsFee: 0
}
}
},
mounted(){
this.getaddatas(0)
mounted() {
this.getaddatas(0)
},
components: {
vueWaterfallEasy,
AdvmanagerForm
vueWaterfallEasy,
AdvmanagerForm
},
methods:{
//关闭弹窗
methods: {
//关闭弹窗
closeruleset() {
this.showForm = false;
},
// 新增
add(){
this.showForm=true
this.model={
ID:0,
IsFee:2,
ChargeAmount:0,
PictureUrl:"",
SamplePicturesUrl:"",
Title:"",
LableList:[]
}
// 新增
add() {
this.showForm = true
this.model = {
ID: 0,
IsFee: 2,
ChargeAmount: 0,
PictureUrl: "",
SamplePicturesUrl: "",
Title: "",
LableList: []
}
},
update(x){
console.log(x)
this.showForm=true
this.model=x
},
handleCurrentChange() {
this.adMsg.pageIndex++
this.getaddatas(1)
},
//获取广告图列表
getaddatas(type){
if(type===0){
this.adMsg.pageIndex=1
}
getAdvertisingList(this.adMsg).then(res=>{
if(res.Code===1){
console.log(397,res)
res.Data.PageData.forEach(x=>{
x.src=`${x.SamplePicturesUrl}?x-oss-process=image/resize,w_200`
x.id=x.ID
})
if(type==0){
this.addatas=res.Data.PageData
}else{
this.addatas=this.addatas.concat(res.Data.PageData)
}
this.total=res.Data.Count
if (res.Data.PageData.length == 0) {
this.$refs.waterfall.waterfallOver()
}
}
})
},
//删除广告图
delAD(id){
delAd({BAID:id}).then(res=>{
if(res.Code===1){
this.$message.success('删除成功')
this.getaddatas(0)
}else{
this.$message.error(res.message)
}
})
update(x) {
this.showForm = true
this.model = x
},
handleCurrentChange() {
this.adMsg.pageIndex++
this.getaddatas(1)
},
//获取广告图列表
getaddatas(type) {
if (type === 0) {
this.adMsg.pageIndex = 1
}
getAdvertisingList(this.adMsg).then(res => {
if (res.Code === 1) {
res.Data.PageData.forEach(x => {
x.src = `${x.SamplePicturesUrl}?x-oss-process=image/resize,w_200`
x.id = x.ID
})
if (type == 0) {
this.addatas = res.Data.PageData
} else {
this.addatas = this.addatas.concat(res.Data.PageData)
}
this.total = res.Data.Count
if (res.Data.PageData.length == 0) {
this.$refs.waterfall.waterfallOver()
}
}
})
},
//删除广告图
delAD(id) {
delAd({
BAID: id
}).then(res => {
if (res.Code === 1) {
this.$message.success('删除成功')
this.getaddatas(0)
} else {
this.$message.error(res.message)
}
})
}
}
}
</script>
}
</script>
......@@ -653,7 +653,7 @@
new browserMD5File(blob, function (err, md5) {
msg.SecretKey = md5;
saveMakeAd(msg).then(res => {
console.log(651, res)
})
})
}
......@@ -844,16 +844,6 @@
});
},
uploadImage(name, file) {
// let newArr = [];
// newArr.push(file);
// var path = `/Adv/user/${this.user.EmployeeId}/${name}`;
// this.uploadSelfBlob(path, newArr, x => {
// console.log(848,x)
// });
// UploadViittoBlobFile ("ad",file,(res)=>{
// console.log(864,res);
// })
},
operation(type) {
......@@ -1317,7 +1307,6 @@
(res) => {
if (res.data.resultCode == 1) {
if (res.data.data) {
console.log(this.domainManager().mallUrl,res.data.data)
let getBlob = this.getAnyFileBlob(this.domainManager().mallUrl + res.data.data)
let that = this
getBlob.then(blob => {
......
......@@ -527,7 +527,6 @@
});
},
UploadImage(file) {
console.log(530,file)
this.UploadFileToTencent(this.FileType().GoodsImg, file.file, res => {
if (res.resultCode == 1) {
this.Success('上传成功')
......@@ -540,27 +539,11 @@
}
})
},
//上传视频
// UploadVideo(file) {
// var that = this;
// UploadViittoFile('Edu/Video', file.file, res => {
// console.log("res",res);
// if (res.Code == 1) {
// this.Success('上传成功')
// that.addpageMsg.Image = res.VideoCoverImg;
// that.addpageMsg.Path = res.FileUrl;
// that.addpageMsg.Name = res.FileName;
// that.addPageList();
// that.$forceUpdate();
// }
// })
// },
UploadVideo(file) {
var that = this;
this.UploadFileToTencent(this.FileType().Video, file.file, res => {
if (res.resultCode == 1) {
this.Success('上传成功')
console.log(561,res)
if (this.addpageMsg.Type == 2) {
this.addpageMsg.Image = "";
}
......@@ -731,13 +714,10 @@
//截取视频第一帧
captureImage(video) {
let canvas = document.createElement('canvas')
// canvas.width = video.videoWidth
// canvas.height = video.videoHeight
canvas.width = '140px'
canvas.height = '140px'
let ctx=canvas.getContext('2d')
console.log(816,ctx)
ctx.drawImage(video, 0, 0, canvas.width, canvas.height)
let ctx=canvas.getContext('2d')
ctx.drawImage(video, 0, 0, canvas.width, canvas.height)
return canvas.toDataURL('image/png')
}
},
......
......@@ -110,7 +110,7 @@
watch: {
dataList: {
handler(val) {
console.log(78, val)
}
}
}
......
......@@ -211,8 +211,6 @@
}).then(r => {
this.updateNo = true;
this.getchaperTree();
//this.$refs.chapterTree.remove(data.ChapterId);
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
......@@ -223,7 +221,7 @@
});
})
.onCancel(() => {
// console.log('>>>> Cancel')
});
},
batchUpdate() {
......@@ -248,14 +246,12 @@
return list;
},
rowsClick(row, column, event) {
//console.log(row,event)
this.$refs.chapterTab.toggleRowExpansion(row);
},
//新增修改章节
EditChapter(obj) {
// this.$router.push({
// path: '/chapter-editor?courseId='+this.CourseId
// });
if (!obj) {
openURL(
window.location.origin +
......@@ -281,7 +277,7 @@
res.Data.forEach(x => {
this.expandKeys.push(x.ChapterId);
});
console.log(this.expandKeys);
this.dataList = res.Data;
if (this.updateNo) {
......
......@@ -218,7 +218,6 @@
})
},
changeNode(data, node, ev) {
console.log(data,'data');
if (this.chapter && this.chapter.ChapterId > 0) {
if (this.defauRateObj.Id != 0) {
this.chapter.CourseRate = this.defauRateObj.Id
......@@ -314,7 +313,7 @@
})
})
}).onCancel(() => {
// console.log('>>>> Cancel')
})
},
......@@ -367,7 +366,7 @@
moveUp() {
let data = this.$refs.chapterTree.getCurrentNode()
let node = this.$refs.chapterTree.getNode(data.ChapterId)
console.log(data)
if (node) {
let noTemp = data.ChapterNo.toString().split('.')
let no = parseInt(noTemp[noTemp.length - 1]) - 1
......@@ -389,7 +388,7 @@
moveDown() {
let data = this.$refs.chapterTree.getCurrentNode()
let node = this.$refs.chapterTree.getNode(data.ChapterId)
console.log(data)
if (node) {
let noTemp = data.ChapterNo.toString().split('.')
let no = parseInt(noTemp[noTemp.length - 1]) - 1
......@@ -468,19 +467,18 @@
}
},
handleDragStart(node, ev) {
console.log('drag start', node);
},
handleDragEnter(draggingNode, dropNode, ev) {
console.log('tree drag enter: ', dropNode.label);
},
handleDragLeave(draggingNode, dropNode, ev) {
console.log('tree drag leave: ', dropNode.label);
},
handleDragOver(draggingNode, dropNode, ev) {
console.log('tree drag over: ', dropNode.label);
},
handleDragEnd(draggingNode, dropNode, dropType, ev) {
console.log(draggingNode, dropNode, dropType)
this.updateChapters = []
if (dropType == 'inner') {
draggingNode.data.ParentId = dropNode.data.ChapterId
......@@ -494,11 +492,7 @@
},
handleDrop(draggingNode, dropNode, dropType, ev) {},
allowDrop(draggingNode, dropNode, type) {
// if (dropNode.data.ChapterName === '二级 3-1') {
// return type !== 'inner';
// } else {
return true;
//}
},
allowDrag(draggingNode) {
return true;
......@@ -508,7 +502,6 @@
queryChapterTree({
CourseId: this.courseId
}).then(r => {
console.log(r);
this.dataList = r.Data
this.canOptions = false
if (this.defaultChapterId != 0) {
......@@ -587,7 +580,7 @@
},
batchUpdate() {
batchUpdateChapterNo(this.updateChapters).then(r => {
console.log(x)
})
},
//点击导入
......
......@@ -81,9 +81,7 @@
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;"
v-if="props.row.State==1 || ((props.row.State==1 || props.row.State==2) && props.row.FrIdList==0) || (props.row.State==2 && props.row.FrIdList==0 && props.row.Money>0) "
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;" v-if="props.row.State!= 3"
>
<q-list>
<q-item clickable v-close-popup v-if="props.row.State==1">
......@@ -91,6 +89,11 @@
<q-item-label>确认</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup v-if="(props.row.State==2) && props.row.Money>0">
<q-item-section @click="generalFinancacls(props.row)">
<q-item-label>制单</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup
v-if="(props.row.State==1 || props.row.State==2) && props.row.FrIdList==0">
<q-item-section @click="gostudent(props.row,2)">
......@@ -102,11 +105,7 @@
<q-item-label>制单</q-item-label>
</q-item-section>
</q-item> -->
<q-item clickable v-close-popup v-if="props.row.State==2 && props.row.FrIdList==0 && props.row.Money>0">
<q-item-section @click="generalFinancacls(props.row)">
<q-item-label>制单</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<q-btn flat size="xs" icon="iconfont icon-xiangqing-" style="font-weight:400;color: #3FC4FF" class="q-mr-xs"
......@@ -581,7 +580,6 @@
},
generalFinancacls(item){
this.CheckID = item.Id
console.log(item)
if(item.Money>0){
this.getcomSendEmployeeList()
}else{
......@@ -630,14 +628,14 @@
this.saveLoading = true
setTeachingRewardsSendEmployee({PeriodId:this.CheckID,EmpIds:EmpIds}).then(res => {
this.saveLoading = false
this.goaddFinancial(this.totalAmount,this.CheckID)
this.goaddFinancial(this.totalAmount,this.CheckID,EmpIds)
this.$message.success('设置成功');
}).catch(() => {
})
});
},
goaddFinancial(Money,Id){
goaddFinancial(Money,Id,EmpIds){
let School_Id = 0;
let obj = {
......@@ -648,7 +646,8 @@
School_Id:0,
OtherType:26,
ReFinanceId:Id,
ReFinanceId2:0
ReFinanceId2:0,
EduCommissionEmp:EmpIds
}
let query = {
blank: "y",
......
......@@ -34,6 +34,10 @@
<q-input @change="getClassList" clearable standout="bg-primary text-white" v-model="msg.ClassName"
label="班级名称" @clear="getClassList" maxlength="20" />
</div>
<div class="col-3">
<q-input @change="getClassList" clearable standout="bg-primary text-white" v-model="msg.ClassNo"
label="班号" @clear="getClassList" maxlength="20" />
</div>
<div class="col-3">
<q-select @input="getClassList" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.ClassStatus" :options="classStatusList" emit-value map-options label="班级状态" />
......@@ -327,6 +331,7 @@
TeacherName: '', //带班老师
CourseName: '', //学习课程
School_Id: -1, //关联校区
ClassNo:'',//班号
},
//班级状态
classStatusList: [],
......
......@@ -380,17 +380,14 @@ export default {
methods: {
getList() {
GetClassLessPlan(this.msg).then(res => {
console.log(res.Data)
if (res.Code == 1) {
let data = res.Data;
if (data.Chapter && data.Chapter.length>0) {
if(!data.Chapter[0].ChildList || data.Chapter[0].ChildList.length==0){
console.log(data.Chapter[0].ChildList.length)
data.Chapter[0].ChildList=[]
data.Chapter[0].ChildList.push(data.Chapter[0])
}
this.chapters = data.Chapter
}
this.courseName=data.CourseName
// this.addMsg.CourseNum = data.CourseNum;
......
......@@ -584,14 +584,12 @@
let data=res.Data;
if (data.Chapter && data.Chapter.length>0) {
if(!data.Chapter[0].ChildList || data.Chapter[0].ChildList.length==0){
// console.log(data.Chapter[0].ChildList.length)
data.Chapter[0].ChildList=[]
data.Chapter[0].ChildList.push(data.Chapter[0])
}
this.chapters = data.Chapter
}
this.data = data;
console.log(595,this.data)
this.plmsg.TeacherId = res.Data.UpdateBy;
var beginTimes = this.nowDate.replace(/-/g, "/"); //当前
var endTimes = this.data.ClassEndTime.replace(/-/g, "/"); //结束
......
......@@ -181,10 +181,11 @@
data: [],
loading: true,
msg: {
rowsPerPage: 999,
rowsPerPage: 9999,
BonusId: 0,
TeacherId: 0,
Type: 0
Type: 0,
TeacherIds:'',
},
TeacherList: [], //关联教师下拉数据
TypeList: [{
......@@ -205,7 +206,12 @@
created() {
if (this.$route.query) {
this.msg.BonusId = this.$route.query.Id;
this.msg.TeacherId = Number(this.$route.query.TeacherId);
if(this.$route.query.TeacherId){
this.msg.TeacherId = Number(this.$route.query.TeacherId);
}
if(this.$route.query.TeacherIds){
this.msg.TeacherIds = this.$route.query.TeacherIds;
}
}
this.getList();
this.GetTeacherList()
......
......@@ -107,6 +107,7 @@
<template slot-scope="scope">
<div><span style="cursor: pointer;text-decoration: underline;" @click="goUrlclass('/course/classManage',scope.row.ClassName)">{{scope.row.ClassName}}</span> {{scope.row.ClassTypeName}}<span style="color: #409EFF;" v-if='scope.row.IsContinueClass==1'>(续)</span></div>
<div>学生数量:{{scope.row.StudentCount}}</div>
<div>班号:{{scope.row.ClassNo}}</div>
</template>
</el-table-column>
<el-table-column prop="OrderId" label="订单号" >
......
......@@ -776,6 +776,17 @@
@click="goHand(1,GetDetail)">团号:{{GetDetail.TCNUM}}</span>
<span style="text-decoration: underline;" @click="goHand(2,GetDetail)">相关单据:{{GetDetail.ReFinanceId}}</span>
</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==31"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教育资产采购:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==32"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教育耗材采购:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==33"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教育耗材出库:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==39"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 销售提成:{{GetDetail.ReFinanceId}}</span>
<span class="fr" style="text-decoration: underline;cursor: pointer;" v-if="GetDetail.OtherType==26"
@click="goassets2(GetDetail.ReFinanceId,GetDetail.OtherType)"> 教师课时:{{GetDetail.ReFinanceId}}</span>
<span v-if="GetDetail.OtherType==18&&GetDetail.ReFinanceId>0"
style="cursor: pointer;float: right;color: #000;font-size: 12px;">
<span @click="goOrderDetails(GetDetail.ReFinanceId)">账单:{{GetDetail.ReFinanceId}}</span>
......@@ -3382,6 +3393,24 @@
})
}
},
goassets2(ID,OtherType){
var tempStr = ''
if(OtherType==31){
tempStr = '/financial/financalDocument/PropertyProcurementDetails?id='+ID;
}else if(OtherType==32){
tempStr = '/financial/financalDocument/SuppliesProcurementDetail?id='+ID;
}else if(OtherType==33){
tempStr = '/financial/financalDocument/InAndOutDdetails?id='+ID;
}else if(OtherType==39){
tempStr = '/financial/userCommissionDetails?UserIds='+this.GetDetail.EduCommissionEmp+'&preriodId='+ID;
}else if(OtherType==26){
tempStr = '/course/rewardDetailed?TeacherIds='+this.GetDetail.EduCommissionEmp+'&Id='+ID;
}
this.$router.push({
path: tempStr
});
},
},
created() {
if (this.$route.query.pageIndex) {
......
......@@ -873,6 +873,7 @@
InvoiceType:1,
InvoiceMoney:'0',
InvoiceRemark:'',
EduCommissionEmp:'',
},
detailList: {
ID: 0,
......@@ -1195,6 +1196,7 @@
this.msg.OtherType = this.orderObj.OtherType ? this.orderObj.OtherType : 0;
this.msg.ReFinanceId = this.orderObj.ReFinanceId ? this.orderObj.ReFinanceId : 0;
this.msg.ReFinanceId2 = this.orderObj.ReFinanceId2 ? this.orderObj.ReFinanceId2 : 0;
this.msg.EduCommissionEmp = this.orderObj.EduCommissionEmp ? this.orderObj.EduCommissionEmp : '';
this.msg.ECOrderList = this.orderObj.ECOrderList ? this.orderObj.ECOrderList : [];
}
// 2019-12-3 18:29:31 新增费用类型判断
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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