Commit f6db8716 authored by zhengke's avatar zhengke

修改

parent b7bf1364
<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: 10,
},
isShowProcess: false, //显示旁边弹窗
processObj: {}, //传递子组件
flowObj: {
FlowId: 10,
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>
<!--组卷审核信息-->
<style>
.backbill-Dialog .drawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #f0f5fb;
padding: 5px 10px;
align-items: center;
}
.backbill-Dialog .classFirst {
color: #000000;
font-weight: bold;
}
.backbill-Dialog .className {
margin-left: 10px;
}
.backbill-Dialog .classStatus {
padding: 3px 8px;
background-color: #c8d7fc;
color: #2961fe;
font-size: 12px;
border-radius: 2px;
margin-left: 20px;
}
.backbill-Dialog .normalName {
color: #999999;
}
.backbill-Dialog .normalInner {
color: #111111;
}
.drop_NameDown {
margin-top: 20px;
width: 300px;
}
.backinfoContent .replayReason {
width: 100%;
min-height: 100px;
background-color: #f7f7f7;
border-radius: 3px;
padding: 20px;
margin: 20px 0;
}
.backinfoContent .replay_Title {
font-weight: 700;
color: #111;
}
.backinfoContent .baseInfo_Item {
margin-bottom: 20px;
}
.backinfoContent .EmpList {
background-color: #f7f7f7;
min-height: 70px;
margin-right: 15px;
border-radius: 3px;
padding: 15px;
}
.backinfoContent .EmpList:last-child {
margin-right: 0;
}
.backinfoContent .normalName {
color: #999999;
font-size: 12px;
}
.backinfoContent .normalInner {
color: #111111;
font-weight: bold;
font-size: 13px;
margin-top: 5px;
}
.changeBTable th {
font-size: 12px;
font-weight: 400;
background-color: rgba(0, 0, 0, 0.12);
height: 40px;
line-height: 40px;
}
.changeBTable td {
text-align: center;
height: 30px;
}
.BillredClass {
color: red;
}
._addUpload_box {
display: block;
margin-top: 15px;
}
._addUpload_box img {
width: 100%;
}
._addUpload_box > div {
float: left;
width: 138px;
height: 92px;
border: 1px dashed rgba(210, 210, 210, 1);
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
text-align: center;
}
._addUpload_box > div:hover {
background-color: #f5f5f5;
}
._addFile_name {
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
._addUpload_box .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
._addUpload_box .icon-excel,
._addUpload_box .icon-pdf,
._addUpload_box .icon-txt,
._addUpload_box .icon-wenjian,
._addUpload_box .icon-yasuobao,
._addUpload_box .icon-shipin,
._addUpload_box .icon-word {
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
._addUpload_box .icon-yasuobao {
color: gray;
}
._show_img_box {
position: fixed;
background: rgba(0, 0, 0, 0.6);
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 999;
text-align: center;
}
._addUpload_tips {
font-size: 12px;
color: #999999;
}
._jump_page {
cursor: pointer;
text-decoration: underline;
}
._jump_page:hover {
color: #c94052;
}
.tougao_ImgList{
width: 150px;
height: 150px;
margin: 0 5px 10px;
}
</style>
<template>
<q-dialog
v-model="persistent"
maximized
full-height
seamless
position="right"
@hide="closeShenheForm"
>
<q-card
style="margin-top: 61px; width: 850px"
class="no-border-radius backbill-Dialog"
>
<div class="drawerTop">
<div style="display: flex; align-items: center">
<div class="className">
<div class="classFirst">{{ changeTitle }}</div>
</div>
</div>
</div>
<q-tabs
style="margin: 15px"
v-model="tabCheck"
narrow-indicator
dense
align="left"
class="text-primary"
>
<q-tab :ripple="false" name="first" label="详细信息" />
<q-tab :ripple="false" name="second" label="审批记录" />
</q-tabs>
<div v-if="tabCheck == 'first'" style="margin: 0 15px">
<div class="backinfoContent">
<div>
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>基本信息
</div>
<div class="row backInfo_One">
<div class="col-6">
<span class="backInfo_Title">编号:</span>
<span class="backOtherInfo" v-if="setingObj.DataObj">
{{ setingObj.DataObj.Id }}
</span>
</div>
<div class="col-6">
<span class="backInfo_Title">申请人:</span>
<span class="backOtherInfo">{{
setingObj.CreateByName
}}</span>
</div>
</div>
<div class="row backInfo_One">
<div class="col-12">
<span class="backInfo_Title">申请时间:</span>
<span class="backOtherInfo">{{ setingObj.CreateTime }}</span>
</div>
</div>
</div>
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>详细信息
</div>
<div class="backInfo_One">
<template v-if="setingObj.DataObj.Type==1">
<div>
<el-tag>写新图文</el-tag>
</div>
<div style="margin:20px 0;display:flex;">
<div style="flex-shrink:0;">标题:</div>
<div class="backOtherInfo" v-if="setingObj.DataObj">
{{ setingObj.DataObj.Title }}
</div>
</div>
<div>
<span>作者:</span>
<span class="backOtherInfo" v-if="setingObj.DataObj">
{{ setingObj.DataObj.Author }}
</span>
</div>
<div style="margin:20px 0;" v-html="setingObj.DataObj.Content"></div>
<div style="margin-top:20px;display:flex;">
<div style="margin-bottom:10px;">封面图:</div>
<div class="tougao_ImgList">
<el-image style="width: 100%; height: 100%" :src="setingObj.DataObj.CoverImagePath" fit="cover"></el-image>
</div>
</div>
<div style="margin-top:20px;display:flex;">
<div style="margin-bottom:10px;flex-shrink:0;width:60px;">描述:</div>
<div>{{setingObj.DataObj.Description}}</div>
</div>
</template>
<template v-if="setingObj.DataObj.Type==2">
<div>
<el-tag>文本消息</el-tag>
</div>
<div style="margin-top:20px;" v-html="setingObj.DataObj.Content"></div>
</template>
<template v-if="setingObj.DataObj.Type==4">
<div>
<el-tag>音频消息</el-tag>
</div>
<div style="margin:20px 0;display:flex;">
<div style="flex-shrink:0">标题:</div>
<div class="backOtherInfo" v-if="setingObj.DataObj">
{{ setingObj.DataObj.Title }}
</div>
</div>
<div>
{{setingObj.DataObj.Description}}
</div>
<div style="margin-top:20px;width:300px;" v-if="setingObj.DataObj.VideoMediumPath">
<audio :src="setingObj.DataObj.VideoMediumPath" controls="controls"></audio>
</div>
</template>
<template v-if="setingObj.DataObj.Type==5">
<div>
<el-tag>图片消息</el-tag>
</div>
<div style="margin:20px 0;">
{{setingObj.DataObj.Description}}
</div>
<div style="display:flex;">
<div class="tougao_ImgList" v-for="(x,y) in setingObj.DataObj.ImageList" :key='y'>
<el-image style="width: 100%; height: 100%" :src="x.ImageUrl" fit="cover"></el-image>
</div>
</div>
<div style="margin-top:20px;display:flex;">
<div style="margin-bottom:10px;">封面图:</div>
<div class="tougao_ImgList">
<el-image style="width: 100%; height: 100%" :src="setingObj.DataObj.CoverImagePath" fit="cover"></el-image>
</div>
</div>
</template>
</div>
</div>
<div v-if="showType == 2">
<div
style="
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 20px;
"
>
<div>审批意见</div>
<div>
<q-radio
v-model="changeBillMsg.AuditStatus"
:val="2"
label="通过"
/>
<q-radio
v-model="changeBillMsg.AuditStatus"
:val="3"
label="驳回"
/>
</div>
</div>
<q-input
filled
stack-label
:dense="false"
v-model="changeBillMsg.Description"
type="textarea"
label="审批意见"
/>
</div>
<div style="margin-top: 20px">
<div class="row">
<div class="col-6" style="display: flex; align-items: top">
<template v-if="tempPeople.length > 0">
<div style="display: inline-block; width: 45px">抄送:</div>
<div
style="
display: inline-block;
margin-left: 5px;
width: 340px;
"
>
<span
class="chaosong_Peo"
v-for="(childItem, cindex) in tempPeople"
>
{{ getName(childItem) }}
</span>
</div>
</template>
</div>
<div
class="col-6"
style="
justify-content: flex-end;
display: flex;
align-items: center;
"
>
<i
class="iconfont icon-aite"
style="
font-size: 20px;
margin: 7px 20px 0 0;
cursor: pointer;
"
v-if="showType == 2"
>
<q-popup-proxy>
<q-banner>
<div style="width: 350px">
<div style="margin: 10px 0 15px 0">抄送</div>
<q-select
class="col-6 q-pb-lg q-pr-lg"
multiple
clearable
filled
stack-label
use-input
option-value="Id"
option-label="EmployeeName"
v-model="tempPeople"
ref="ManagerId"
:options="EmployeeList"
label="选择人员"
:dense="false"
emit-value
map-options
@filter="filterFn"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
</div>
</q-banner>
</q-popup-proxy>
</i>
<q-btn class="q-mr-md" label="关闭" @click="closeBackInfo" />
<q-btn
v-if="showType == 2"
color="accent q-px-md"
label="确认"
@click="saveBackClassInfo()"
/>
</div>
</div>
</div>
</div>
</div>
</div>
<div v-if="tabCheck == 'second'">
 <flowinfoForm
:seting-obj="setingObj"
:showType="showType"
@close="closeShenheForm"
@success="refreshPage"
>
</flowinfoForm>
</div>
</q-card>
<div
class="dialog-out-close"
@click="closeShenheForm"
style="
height: 40px !important;
border-top-left-radius: 4px !important;
border-bottom-left-radius: 4px !important;
"
>
<q-icon name="iconfont icon-jujue1" size="26px" />
</div>
<div
v-if="picIsShow"
class="_show_img_box"
@click="(picIsShow = false), (picObj = [])"
>
<div
style="
position: absolute;
max-width: 800px;
height: auto;
left: 50%;
top: 50%;
margin-left: -400px;
transform: translateY(-50%);
"
>
<el-image
style="width: 100%; height: 100%"
fit="cover"
v-for="(item, index) in picObj"
:key="index"
:src="item"
:preview-src-list="picObj"
>
</el-image>
</div>
</div>
</q-dialog>
</template>
<script>
import flowinfoForm from "../sale/flowinfo-form";
import { saveBackBillAduit } from "../../api/sale/bill";
import { queryEmployee } from "../../api/users/user";
export default {
props: {
setingObj: {
type: Object,
default: null,
},
showType: {
type: Number,
default: 1,
},
},
components: {
flowinfoForm,
},
data() {
return {
persistent: true,
tabCheck: "first", //默认选第一个
loading: false,
changeBillMsg: {
Id: 0,
Description: "", //审批意见
AuditStatus: 2, //审核状态
SpecialNode: 0, //是否特殊节点
RecipientIds: "", //抄送人
},
classPriceObj: {}, //课程价格信息
EmployeeList: [],
AllemployeeList: [],
tempPeople: [], //抄送人数组
changeTitle: "投稿审批",
dataList: [],
picIsShow: false,
picObj: [],
initialIndex: 0,
};
},
computed: {
fj() {
let arr = [];
let fjlist = this.setingObj.ReceiptFileList;
fjlist.map((item) => {
let suffix = item.split(".")[item.split(".").length - 1].toUpperCase();
if ("DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF|TXT".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 1,
suffix: suffix,
};
arr.push(obj);
} else if ("GIF|JPG|JPEG|PNG|BMP|WEBP".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 2,
suffix: suffix,
};
arr.push(obj);
} else if ("ZIP|RAR|7Z|TAR".indexOf(suffix) != "-1") {
let obj = {
url: item,
type: 3,
suffix: suffix,
};
arr.push(obj);
} else if (
"MP4|3GP|AVI|MOV|WMV|RMVB|MKV|M4V|FLV".indexOf(suffix) != "-1"
) {
let obj = {
url: item,
type: 4,
suffix: suffix,
};
arr.push(obj);
} else {
let obj = {
url: item,
type: 5,
suffix: suffix,
};
arr.push(obj);
}
});
return arr;
},
},
created() {
this.getEmployee();
},
mounted() {
this.changeBillMsg.Id = this.setingObj.Id;
this.changeBillMsg.SpecialNode = this.setingObj.SpecialNode;
},
methods: {
closeBackInfo() {
this.persistent = false;
this.$emit("close");
},
//退课单据审核
saveBackClassInfo() {
var str = "";
if (this.tempPeople && this.tempPeople.length > 0) {
this.tempPeople.forEach((item) => {
str += "," + item;
});
}
if (str && str != "") {
str = str.substr(1);
}
this.changeBillMsg.RecipientIds = str;
if (this.changeBillMsg.AuditStatus == 3) {
if (
this.changeBillMsg.Description == "" ||
!this.changeBillMsg.Description
) {
this.$q.notify({
type: "negative",
message: "请填写驳回理由",
position: "top",
timeout: 2000,
});
return;
}
this.$q
.dialog({
title: "提示信息",
message: "确定要驳回吗?",
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
})
.onOk(() => {
saveBackBillAduit(this.changeBillMsg).then((res) => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "审核成功!",
position: "top",
});
//调用父页面成功方法
this.$emit("success");
this.$emit("close");
}
});
})
.onCancel(() => {});
} else {
saveBackBillAduit(this.changeBillMsg).then((res) => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "审核成功!",
position: "top",
});
//调用父页面成功方法
this.$emit("success");
this.$emit("close");
}
});
}
},
//获取员工列表
getEmployee() {
var qMsg = {
EmployeeName: "",
};
queryEmployee(qMsg).then((res) => {
if (res.Code == 1) {
var jsonData = res.Data;
if (jsonData && jsonData.length > 0) {
this.AllemployeeList = JSON.parse(JSON.stringify(jsonData));
this.EmployeeList = JSON.parse(JSON.stringify(jsonData));
}
}
});
},
//筛选员工
filterFn(val, update) {
update(() => {
if (val === "") {
this.EmployeeList = JSON.parse(JSON.stringify(this.AllemployeeList));
} else {
const needle = val.toLowerCase();
this.EmployeeList = this.AllemployeeList.filter(
(v) => v.EmployeeName.toLowerCase().indexOf(needle) > -1
);
}
});
},
//获取员工姓名
getName(id) {
let str = "";
this.EmployeeList.forEach((x) => {
if (id == x.Id) {
str = x.EmployeeName;
}
});
return str;
},
refreshPage() {
this.persistent = false;
this.$emit("success");
},
closeShenheForm() {
this.persistent = false;
this.$emit("close");
},
},
};
</script>
...@@ -47,6 +47,10 @@ ...@@ -47,6 +47,10 @@
<!-- 请假流程 --> <!-- 请假流程 -->
<leave-form></leave-form> <leave-form></leave-form>
</template> </template>
<template v-if="tabCheck == '8'">
<!-- 投稿审批 -->
<tougao-form></tougao-form>
</template>
</div> </div>
</div> </div>
</template> </template>
...@@ -58,6 +62,7 @@ import transferForm from "../../components/flow/transfer-form"; ...@@ -58,6 +62,7 @@ import transferForm from "../../components/flow/transfer-form";
import temporaryClassForm from "../../components/flow/temporaryClass-form"; import temporaryClassForm from "../../components/flow/temporaryClass-form";
import separateForm from "../../components/flow/separate-form"; import separateForm from "../../components/flow/separate-form";
import leaveForm from "../../components/flow/leave-form"; import leaveForm from "../../components/flow/leave-form";
import tougaoForm from "../../components/flow/tougao-form";
export default { export default {
meta: { meta: {
title: "流程设置", title: "流程设置",
...@@ -70,6 +75,7 @@ export default { ...@@ -70,6 +75,7 @@ export default {
temporaryClassForm, temporaryClassForm,
separateForm, separateForm,
leaveForm, leaveForm,
tougaoForm
}, },
data() { data() {
return { return {
...@@ -102,6 +108,10 @@ export default { ...@@ -102,6 +108,10 @@ export default {
name: "7", name: "7",
label: "请假流程", label: "请假流程",
}, },
{
name: "8",
label: "投稿审批"
}
], ],
tabCheck: "1", tabCheck: "1",
}; };
......
...@@ -160,6 +160,9 @@ ...@@ -160,6 +160,9 @@
<!-- 考试申请 --> <!-- 考试申请 -->
<examBillForm v-if="isShowExamBillForm" :seting-obj="billObj" :showType="showType" @close="closeBillForm" <examBillForm v-if="isShowExamBillForm" :seting-obj="billObj" :showType="showType" @close="closeBillForm"
@success="refreshPage"></examBillForm> @success="refreshPage"></examBillForm>
<!-- 投稿审批 -->
<tougaoForm v-if="isShowTougaoForm" :seting-obj="billObj" :showType="showType" @close="closeBillForm"
@success="refreshPage"></tougaoForm>
</div> </div>
</div> </div>
</template> </template>
...@@ -179,6 +182,7 @@ ...@@ -179,6 +182,7 @@
import leaveBillForm from "../../components/sale/leavebill-form.vue"; import leaveBillForm from "../../components/sale/leavebill-form.vue";
import zujuanBillForm from "../../components/sale/zujuanbill-form.vue"; import zujuanBillForm from "../../components/sale/zujuanbill-form.vue";
import examBillForm from "../../components/sale/exambill-form.vue"; import examBillForm from "../../components/sale/exambill-form.vue";
import tougaoForm from "../../components/sale/tougao-form.vue";
export default { export default {
meta: { meta: {
title: "业务单据", title: "业务单据",
...@@ -193,6 +197,7 @@ ...@@ -193,6 +197,7 @@
leaveBillForm, leaveBillForm,
zujuanBillForm, zujuanBillForm,
examBillForm, examBillForm,
tougaoForm
}, },
data() { data() {
return { return {
...@@ -284,6 +289,7 @@ ...@@ -284,6 +289,7 @@
isShowLeaveBillForm: false, //是否显示请假申请单详情 isShowLeaveBillForm: false, //是否显示请假申请单详情
isShowZujuanBillForm: false, //是否显示组卷申请单详情 isShowZujuanBillForm: false, //是否显示组卷申请单详情
isShowExamBillForm: false, //是否显示考试申请详情 isShowExamBillForm: false, //是否显示考试申请详情
isShowTougaoForm: false //是否显示投稿申请详情
}; };
}, },
created() { created() {
...@@ -340,6 +346,7 @@ ...@@ -340,6 +346,7 @@
this.isShowLeaveBillForm = false; this.isShowLeaveBillForm = false;
this.isShowZujuanBillForm = false; this.isShowZujuanBillForm = false;
this.isShowExamBillForm = false; this.isShowExamBillForm = false;
this.isShowTougaoForm = false;
this.billObj = {}; this.billObj = {};
}, },
//显示表单 //显示表单
...@@ -376,6 +383,10 @@ ...@@ -376,6 +383,10 @@
else if (item.ReceiptType == 9) { else if (item.ReceiptType == 9) {
this.isShowExamBillForm = true; this.isShowExamBillForm = true;
} }
//投稿审批
else if (item.ReceiptType == 10){
this.isShowTougaoForm = true;
}
this.showType = type; this.showType = type;
this.billObj = item; this.billObj = item;
}, },
......
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