Commit a200e46f authored by 华国豪's avatar 华国豪 🙄

‘团队应收报表跳转’

parent 9be47004
...@@ -386,10 +386,10 @@ tr._item_list td:last-child { ...@@ -386,10 +386,10 @@ tr._item_list td:last-child {
._TCIDAndTCNUMList { ._TCIDAndTCNUMList {
display: flex; display: flex;
} }
.other_report{ .other_report {
padding: 0 28px 15px 28px; padding: 0 28px 15px 28px;
} }
.other_report li{ .other_report li {
float: left; float: left;
color: #fff; color: #fff;
background-color: #b00; background-color: #b00;
...@@ -488,33 +488,33 @@ tr._item_list td:last-child { ...@@ -488,33 +488,33 @@ tr._item_list td:last-child {
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="状态:"> <el-form-item label="状态:">
<el-select v-model="msg.QueryCondition" filterable class="w150"> <el-select v-model="msg.QueryCondition" filterable class="w150">
<el-option key="-1" value="-1" label="不限"></el-option> <el-option key="-1" value="-1" label="不限"></el-option>
<el-option key="0" value="0" label="待收"></el-option> <el-option key="0" value="0" label="待收"></el-option>
<el-option key="1" value="1" label="退款"></el-option> <el-option key="1" value="1" label="退款"></el-option>
<el-option key="2" value="2" label="在途"></el-option> <el-option key="2" value="2" label="在途"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item label="数据类别:"> <el-form-item label="数据类别:">
<el-select v-model="msg.DataType" filterable class="w150"> <el-select v-model="msg.DataType" filterable class="w150">
<el-option key="-1" value="-1" label="不限"></el-option> <el-option key="-1" value="-1" label="不限"></el-option>
<el-option key="0" value="1" label="团队营收"></el-option> <el-option key="0" value="1" label="团队营收"></el-option>
<el-option key="1" value="2" label="机票"></el-option> <el-option key="1" value="2" label="机票"></el-option>
<el-option key="2" value="3" label="签证"></el-option> <el-option key="2" value="3" label="签证"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<ul class="clearfix"> <ul class="clearfix">
<li class="hight_query"> <li class="hight_query">
<!-- <button class="normalBtn" @click="openKaiQiZzBox('一键开启')">一键开启</button> <!-- <button class="normalBtn" @click="openKaiQiZzBox('一键开启')">一键开启</button>
<button class="hollowFixedBtn" @click="openKaiQiZzBox('一键关闭')">一键关闭</button> --> <button class="hollowFixedBtn" @click="openKaiQiZzBox('一键关闭')">一键关闭</button>-->
<button class="normalBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button> <button class="normalBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button>
<button class="hollowFixedBtn" @click="method5()">导出</button> <button class="hollowFixedBtn" @click="method5()">导出</button>
<button class="normalBtn " @click="togbu">一键同步</button> <button class="normalBtn" @click="togbu">一键同步</button>
<!--<button class="hollowFixedBtn" @click="exportExcelCurrentPage">导出2</button>--> <!--<button class="hollowFixedBtn" @click="exportExcelCurrentPage">导出2</button>-->
</li> </li>
</ul> </ul>
...@@ -606,12 +606,13 @@ Vue.component("TCIDJump", { ...@@ -606,12 +606,13 @@ Vue.component("TCIDJump", {
path: "/" + path, path: "/" + path,
query: { id: id, blank: "y" } query: { id: id, blank: "y" }
}); });
},goUrlVisa(path, id) { },
goUrlVisa(path, id) {
this.$router.push({ this.$router.push({
path: "/" + path, path: "/" + path,
query: { VisaID: id, blank: "y" } query: { VisaID: id, blank: "y" }
}); });
}, }
} }
}); });
Vue.component("TCNUMJump", { Vue.component("TCNUMJump", {
...@@ -645,17 +646,18 @@ Vue.component("TCNUMJump", { ...@@ -645,17 +646,18 @@ Vue.component("TCNUMJump", {
path: "/" + path, path: "/" + path,
query: { id: id, blank: "y" } query: { id: id, blank: "y" }
}); });
},goUrlVisa(path, id) { },
goUrlVisa(path, id) {
this.$router.push({ this.$router.push({
path: "/" + path, path: "/" + path,
query: { VisaID: id, blank: "y" } query: { VisaID: id, blank: "y" }
}); });
}, }
} }
}); });
Vue.component("GuestNum", { Vue.component("GuestNum", {
// 人数 // 人数
template: `<span>{{rowData.GuestNum}}+{{rowData.LeaderNum}}</span>`, template: `<span style="cursor: pointer" @click="goUrl('TeamBalancePayment', rowData.DataType, rowData.TCNUM)">{{rowData.GuestNum}}+{{rowData.LeaderNum}}</span>`,
props: { props: {
rowData: { rowData: {
type: Object type: Object
...@@ -666,6 +668,42 @@ Vue.component("GuestNum", { ...@@ -666,6 +668,42 @@ Vue.component("GuestNum", {
index: { index: {
type: Number type: Number
} }
},
methods: {
goUrl(path, type, id) {
if (type === 1) {
this.$router.push({
path: "/" + path,
query: { id: id, blank: "y" }
});
}
}
}
});
Vue.component("TCIDJumpWang", {
// 人数
template: `<div>
<span style="cursor: pointer" v-if="rowData.DataType===1" @click="goUrl('TeamBalancePayment',rowData.TCID)">{{rowData[field]}}</span>
<span v-else >{{rowData[field]}}</span>
</div>`,
props: {
rowData: {
type: Object
},
field: {
type: String
},
index: {
type: Number
}
},
methods: {
goUrl(path, id) {
this.$router.push({
path: "/" + path,
query: { id: id, blank: "y" }
});
}
} }
}); });
Vue.component("Transport", { Vue.component("Transport", {
...@@ -700,8 +738,8 @@ export default { ...@@ -700,8 +738,8 @@ export default {
startDate: "", startDate: "",
endDate: "", endDate: "",
Type: 1, Type: 1,
QueryCondition:"-1", QueryCondition: "-1",
DataType:"1" DataType: "1"
}, },
getCompanyMsg: { getCompanyMsg: {
// 公司 // 公司
...@@ -737,9 +775,9 @@ export default { ...@@ -737,9 +775,9 @@ export default {
} }
}, },
disabledDate: time => { disabledDate: time => {
if(time < new Date("2018-12-31")){ if (time < new Date("2018-12-31")) {
return true; return true;
} else{ } else {
if (this.choiceDate) { if (this.choiceDate) {
const one = 365 * 24 * 3600 * 1000; const one = 365 * 24 * 3600 * 1000;
const minTime = this.choiceDate - one; const minTime = this.choiceDate - one;
...@@ -818,7 +856,8 @@ export default { ...@@ -818,7 +856,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, //,orderBy:'' }, //,orderBy:''
{ {
field: "ShiShou", field: "ShiShou",
...@@ -827,7 +866,8 @@ export default { ...@@ -827,7 +866,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "TuiKuan", field: "TuiKuan",
...@@ -836,7 +876,8 @@ export default { ...@@ -836,7 +876,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "PingTaiShuiJin", field: "PingTaiShuiJin",
...@@ -845,7 +886,8 @@ export default { ...@@ -845,7 +886,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "ZaiTu", field: "ZaiTu",
...@@ -855,6 +897,7 @@ export default { ...@@ -855,6 +897,7 @@ export default {
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true, isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "DaiShou", field: "DaiShou",
...@@ -863,7 +906,8 @@ export default { ...@@ -863,7 +906,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "YiShou", field: "YiShou",
...@@ -872,7 +916,8 @@ export default { ...@@ -872,7 +916,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "GuestNum", field: "GuestNum",
...@@ -890,7 +935,8 @@ export default { ...@@ -890,7 +935,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "CheZi", field: "CheZi",
...@@ -899,7 +945,8 @@ export default { ...@@ -899,7 +945,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "JiPiao", field: "JiPiao",
...@@ -908,7 +955,8 @@ export default { ...@@ -908,7 +955,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "GuoNeiLianYunJiPiao", field: "GuoNeiLianYunJiPiao",
...@@ -917,7 +965,8 @@ export default { ...@@ -917,7 +965,8 @@ export default {
width: 120, width: 120,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
// {field: 'Money11', title: '房费',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true}, // {field: 'Money11', title: '房费',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
{ {
...@@ -927,7 +976,8 @@ export default { ...@@ -927,7 +976,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "TiCheng", field: "TiCheng",
...@@ -935,7 +985,8 @@ export default { ...@@ -935,7 +985,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "CompensationMoney", field: "CompensationMoney",
...@@ -944,8 +995,9 @@ export default { ...@@ -944,8 +995,9 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
}, componentName: "TCIDJumpWang"
},
{ {
field: "QiTa", field: "QiTa",
formatter: this.moneyFormat, formatter: this.moneyFormat,
...@@ -953,7 +1005,8 @@ export default { ...@@ -953,7 +1005,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "DiJieZhiChu", field: "DiJieZhiChu",
...@@ -962,7 +1015,8 @@ export default { ...@@ -962,7 +1015,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "DiJieShouRu", field: "DiJieShouRu",
...@@ -971,7 +1025,8 @@ export default { ...@@ -971,7 +1025,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "ZiFei", field: "ZiFei",
...@@ -980,7 +1035,8 @@ export default { ...@@ -980,7 +1035,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "XiaoFeiShouRu", field: "XiaoFeiShouRu",
...@@ -989,7 +1045,8 @@ export default { ...@@ -989,7 +1045,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "YongJinShouRu", field: "YongJinShouRu",
...@@ -998,7 +1055,8 @@ export default { ...@@ -998,7 +1055,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "YingFu", field: "YingFu",
...@@ -1007,7 +1065,8 @@ export default { ...@@ -1007,7 +1065,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "MaoLi", field: "MaoLi",
...@@ -1016,7 +1075,8 @@ export default { ...@@ -1016,7 +1075,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "MaoLiRate", field: "MaoLiRate",
...@@ -1025,7 +1085,8 @@ export default { ...@@ -1025,7 +1085,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "ShiJiLiRun", field: "ShiJiLiRun",
...@@ -1034,7 +1095,8 @@ export default { ...@@ -1034,7 +1095,8 @@ export default {
width: 90, width: 90,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "Remark", field: "Remark",
...@@ -1182,7 +1244,7 @@ export default { ...@@ -1182,7 +1244,7 @@ export default {
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true
}, },
{ {
field: "RealIncome", field: "RealIncome",
formatter: this.moneyFormat, formatter: this.moneyFormat,
...@@ -1287,7 +1349,7 @@ export default { ...@@ -1287,7 +1349,7 @@ export default {
footer: [], footer: [],
pageSize: 6, pageSize: 6,
pageIndex: 1, pageIndex: 1,
AALloading: false, AALloading: false
}; };
}, },
created() {}, created() {},
...@@ -1297,7 +1359,7 @@ export default { ...@@ -1297,7 +1359,7 @@ export default {
allH = document.documentElement.clientHeight; allH = document.documentElement.clientHeight;
allW = document.documentElement.clientWidth; allW = document.documentElement.clientWidth;
cW = allW - 90; cW = allW - 90;
cH = allH - 350 -52; cH = allH - 350 - 52;
this.msg.pageSize = parseInt(cH / 30) - 1; this.msg.pageSize = parseInt(cH / 30) - 1;
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id = userInfo.RB_Group_id; //集团ID this.getCompanyMsg.RB_Group_Id = userInfo.RB_Group_id; //集团ID
...@@ -1308,23 +1370,29 @@ export default { ...@@ -1308,23 +1370,29 @@ export default {
this.getStartList1(); this.getStartList1();
}, },
methods: { methods: {
goEasyReport: function () { goEasyReport: function() {
let year = this.productionDate[0] ? this.productionDate[0].substring(0,4) : '' let year = this.productionDate[0]
? this.productionDate[0].substring(0, 4)
: "";
this.$router.push({ this.$router.push({
path: "/EasyReport", path: "/EasyReport",
query: { year: year, blank: "y" } query: { year: year, blank: "y" }
}); });
}, },
togbu: function () { togbu: function() {
this.AALloading = true this.AALloading = true;
this.apipost('financestatistics_post_InsertFinanceStatistics', {}, res=>{ this.apipost(
if (res.data.resultCode == 1) { "financestatistics_post_InsertFinanceStatistics",
this.$message.success(res.data.message) {},
} else { res => {
this.AALloading = false if (res.data.resultCode == 1) {
this.$message.error(res.data.message) this.$message.success(res.data.message);
} else {
this.AALloading = false;
this.$message.error(res.data.message);
}
} }
}) );
}, },
submitKaiqiZzBox: function() { submitKaiqiZzBox: function() {
// 开关闸提交 // 开关闸提交
...@@ -1585,7 +1653,8 @@ export default { ...@@ -1585,7 +1653,8 @@ export default {
return this.priceFormat(rowData.GuoNeiLianYunJiPiao); return this.priceFormat(rowData.GuoNeiLianYunJiPiao);
if (field === "Visa") return this.priceFormat(rowData.Visa); if (field === "Visa") return this.priceFormat(rowData.Visa);
if (field === "TiCheng") return this.priceFormat(rowData.TiCheng); if (field === "TiCheng") return this.priceFormat(rowData.TiCheng);
if (field === "CompensationMoney") return this.priceFormat(rowData.CompensationMoney); if (field === "CompensationMoney")
return this.priceFormat(rowData.CompensationMoney);
if (field === "QiTa") return this.priceFormat(rowData.QiTa); if (field === "QiTa") return this.priceFormat(rowData.QiTa);
if (field === "DiJieZhiChu") return this.priceFormat(rowData.DiJieZhiChu); if (field === "DiJieZhiChu") return this.priceFormat(rowData.DiJieZhiChu);
if (field === "DiJieShouRu") return this.priceFormat(rowData.DiJieShouRu); if (field === "DiJieShouRu") return this.priceFormat(rowData.DiJieShouRu);
...@@ -1598,7 +1667,8 @@ export default { ...@@ -1598,7 +1667,8 @@ export default {
return this.priceFormat(rowData.YongJinShouRu); return this.priceFormat(rowData.YongJinShouRu);
if (field === "YingFu") return this.priceFormat(rowData.YingFu); if (field === "YingFu") return this.priceFormat(rowData.YingFu);
if (field === "MaoLi") return this.priceFormat(rowData.MaoLi); if (field === "MaoLi") return this.priceFormat(rowData.MaoLi);
if (field === "MaoLiRate") return this.priceFormat(rowData.MaoLiRate*100)+'%'; if (field === "MaoLiRate")
return this.priceFormat(rowData.MaoLiRate * 100) + "%";
if (field === "ShiJiLiRun") return this.priceFormat(rowData.ShiJiLiRun); if (field === "ShiJiLiRun") return this.priceFormat(rowData.ShiJiLiRun);
if (field === "TransportCost") if (field === "TransportCost")
return this.priceFormat(rowData.TransportCost); return this.priceFormat(rowData.TransportCost);
...@@ -1754,6 +1824,15 @@ export default { ...@@ -1754,6 +1824,15 @@ export default {
this.pageIndex = this.msg.pageIndex = val; this.pageIndex = this.msg.pageIndex = val;
this.getPageList(); this.getPageList();
}, },
TCIDJumpWang(path, type, id) {
console.log(type);
if (type === 1) {
this.$router.push({
path: "/" + path,
query: { id: id, blank: "y" }
});
}
},
getPageList() { getPageList() {
// 获取列表数据 // 获取列表数据
this.loading = true; this.loading = true;
...@@ -1781,10 +1860,20 @@ export default { ...@@ -1781,10 +1860,20 @@ export default {
x.Is_Transport = x.Is_Transport === 0 ? "否" : "是"; x.Is_Transport = x.Is_Transport === 0 ? "否" : "是";
newData.push(x); newData.push(x);
} else { } else {
x.MaoLiRate = this.total===0 ? 0 : parseFloat(x.MaoLiRate/this.total); x.MaoLiRate =
x.AverageIncome = this.total===0 ? 0 : parseFloat(x.AverageIncome/this.total); this.total === 0 ? 0 : parseFloat(x.MaoLiRate / this.total);
x.AverageCost = this.total===0 ? 0 : parseFloat(x.AverageCost/this.total); x.AverageIncome =
x.AverageProfit = this.total===0 ? 0 : parseFloat(x.AverageProfit/this.total); this.total === 0
? 0
: parseFloat(x.AverageIncome / this.total);
x.AverageCost =
this.total === 0
? 0
: parseFloat(x.AverageCost / this.total);
x.AverageProfit =
this.total === 0
? 0
: parseFloat(x.AverageProfit / this.total);
x.LineName = "合计"; x.LineName = "合计";
x.TCID = ""; x.TCID = "";
x.TCNUM = ""; x.TCNUM = "";
......
<template> <template>
<div class="flexOne"> <div class="flexOne">
<div class="myApprovalMenu"> <div class="myApprovalMenu">
<li :class="{cked:liCkedIndex==1}" @click="goUrl('myApproval')">发起审批</li> <li :class="{cked:liCkedIndex==1}" @click="goUrl('myApproval')">发起审批</li>
<li :class="{cked:liCkedIndex==2}">我的审批</li> <li :class="{cked:liCkedIndex==2}">我的审批</li>
<li :class="{cked:liCkedIndex==3}" @click="goUrl('myApprovalList')">我发起的</li> <li :class="{cked:liCkedIndex==3}" @click="goUrl('myApprovalList')">我发起的</li>
<li :class="{cked:liCkedIndex==4}" @click="goUrl('sendToMeApproval')">抄送我的</li> <li :class="{cked:liCkedIndex==4}" @click="goUrl('sendToMeApproval')">抄送我的</li>
</div> </div>
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <ul>
<li> <li>
<span><em>关键字</em><el-input class='w210' v-model="msg.searchKey" placeholder="请输入申请人" @keyup.enter.native="getList"></el-input></span> <span>
</li> <em>关键字</em>
<li> <el-input
<span><em>审批类型</em><el-select v-model='msg.applyType'> class="w210"
<el-option v-for='item in ApplyTypeList' :label='item.label' :value='item.value' :key='item.value'></el-option> v-model="msg.searchKey"
</el-select></span> placeholder="请输入申请人"
</li> @keyup.enter.native="getList"
<li> ></el-input>
<span><em>审批状态</em><el-select v-model='msg.auditType'> </span>
<el-option label='不限' value='0'></el-option> </li>
<el-option label='待审核' value='1'></el-option> <li>
<el-option label='已审核' value='2'></el-option> <span>
</el-select></span> <em>审批类型</em>
</li> <el-select v-model="msg.applyType">
<li> <el-option
<span><em>申请审核状态</em><el-select v-model='msg.appAuditStatus'> v-for="item in ApplyTypeList"
<el-option v-for='item in appAuditStatusList' :label='item.label' :value='item.value' :key='item.value'></el-option> :label="item.label"
</el-select></span> :value="item.value"
</li> :key="item.value"
<li style="top:-155px!important"><input type="button" class="hollowFixedBtn" value="查询" @click="resetPageIndex(),getList()"/></li> ></el-option>
</ul> </el-select>
</div> </span>
</li>
<div class="appListparent" v-loading='loading'> <li>
<div class="forMyApprovalTable"> <span>
<li>审批标题</li> <em>审批状态</em>
<li>搜索简要</li> <el-select v-model="msg.auditType">
<li>发起时间</li> <el-option label="不限" value="0"></el-option>
<li>状态</li> <el-option label="待审核" value="1"></el-option>
<li>操作</li> <el-option label="已审核" value="2"></el-option>
</div> </el-select>
<div class="forMyApprovalItem" v-for="(item,index) in list"> </span>
<li> </li>
<img v-if="!item.userPhoto" src="../../assets/img/litheader.png" alt=""> <li>
<img v-else :src="item.userPhoto" alt="" :onerror="defaultImg"> <span>
<span>{{item.title}}</span> <em>申请审核状态</em>
</li> <el-select v-model="msg.appAuditStatus">
<li> <el-option
<p v-for="item in list[index].detial">{{item}}</p> v-for="item in appAuditStatusList"
</li> :label="item.label"
<li> :value="item.value"
<p><i class="iconfont icon-img-rili"></i> :key="item.value"
{{item.createTime}}</p></li> ></el-option>
<li>{{item.auditStatusStrt}}</li> </el-select>
<li><input type="button" class="hollowFixedBtn" value="详情" @click="getDetail(item.workFlowId,item.templateType)"></li> </span>
</div> </li>
</div> <li style="top:-155px!important">
<el-pagination background <input
@current-change="handleCurrentChange" type="button"
:current-page.sync="currentPage" class="hollowFixedBtn"
layout="total,prev, pager, next, jumper" value="查询"
:page-size=msg.pageSize @click="resetPageIndex(),getList()"
:total=total> >
</el-pagination> </li>
</ul>
</div>
<div :class="{forMyApprovalLayer:showlayer}" @click="closeLayer">
<div :class="{forMyApprovalLayercontentDiv:true,rightZero:isTransition}" @click.stop> <div class="appListparent" v-loading="loading">
<div class="title">{{detailList.Proposer}}{{detailList.TempleteTypeName}}</div> <div class="forMyApprovalTable">
<div class="user"> <li>审批标题</li>
<img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt=""> <li>搜索简要</li>
<img v-else :src="detailList.ProposerPhoto" alt="" :onerror="defaultImg"> <li>发起时间</li>
<p>{{detailList.Proposer}}</p> <li>状态</li>
<p><span style="color:#257BF1; font-size: 14px;">{{detailList.Status}}</span></p> <li>操作</li>
</div> </div>
<div class="forMyApprovalItem" v-for="(item,index) in list">
<div class="detail"> <li>
<table border="0" cellspacing="0" cellpadding="0" class="myApprovalTable"> <img v-if="!item.userPhoto" src="../../assets/img/litheader.png" alt>
<tr v-for="(item,index) in detailList.Details" v-if="(item.formType=='Image' && item.value.length>0) || item.formType!='Image'"> <img v-else :src="item.userPhoto" alt :onerror="defaultImg">
<td width="80" >{{item.title}}</td> <span>{{item.title}}</span>
</li>
<td v-if="item.formType=='String'">{{item.value}}</td> <li>
<td v-if="item.formType=='Json'"> <p v-for="item in list[index].detial">{{item}}</p>
<div v-for="(i,index) in item.value" style="border-bottom: 1px solid #ccc; padding:10px 0;"> </li>
<p style="line-height: 24px;" v-for="o in i">{{o.title}}{{o.value}}</p> <li>
</div> <p>
</td> <i class="iconfont icon-img-rili"></i>
<td v-if="item.formType=='Image'"> {{item.createTime}}
<img v-if='item.value.length>0' style="width: 50px; height: 50px; border-radius: 4px; margin:0 10px 0 0;" v-for="(img,index) in item.value" :src="img" </p>
@click="getPic(item.value)"/> </li>
</td> <li>{{item.auditStatusStrt}}</li>
</tr> <li>
</table> <input
</div> type="button"
class="hollowFixedBtn"
<div class="audit"> value="详情"
<div class="auditItem"> @click="getDetail(item.workFlowId,item.templateType)"
<img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt=""> >
<img v-else :src="detailList.ProposerPhoto" alt="" :onerror="defaultImg"> </li>
<p> </div>
<span>{{detailList.Proposer}}</span>&nbsp;&nbsp;<span>发起申请</span><span class="fr">{{detailList.ProposerTime}}</span> </div>
</p> <el-pagination
</div> background
<div class="auditItem" v-for="(item,index) in detailList.arList"> @current-change="handleCurrentChange"
<img v-if='item.AuditRecordList.length==1&&!item.AuditRecordList[0].AuditEmPhoto' src="../../assets/img/litheader.png" /> :current-page.sync="currentPage"
<img v-if='item.AuditRecordList.length==1&&item.AuditRecordList[0].AuditEmPhoto' :src='item.AuditRecordList[0].AuditEmPhoto' alt="" :onerror="defaultImg" /> layout="total,prev, pager, next, jumper"
<img v-if='item.AuditRecordList.length>1' src="../../assets/img/bg_z1@2x.png" /> :page-size="msg.pageSize"
<p v-if='item.AuditRecordList.length==1'> :total="total"
<span>{{item.AuditRecordList[0].AuditEmName}}</span> ></el-pagination>
<span :style="'color: ' + item.AuditRecordList[0].StatusColor + ' !important'">{{item.AuditRecordList[0].Stauts}}</span>
<span class="fr">{{item.AuditRecordList[0].AuditTime}}</span> <div :class="{forMyApprovalLayer:showlayer}" @click="closeLayer">
<span style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;">{{item.AuditRecordList[0].Description}}</span> <div :class="{forMyApprovalLayercontentDiv:true,rightZero:isTransition}" @click.stop>
<span v-if="item.AuditRecordList[0].CareOfList!=null" style="display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"> <div class="title">{{detailList.Proposer}}{{detailList.TempleteTypeName}}</div>
<b style="color: red;"></b>{{item.AuditRecordList[0].CareOfList[0].BeFrom}} <b style="color: red;"></b> {{item.AuditRecordList[0].CareOfList[0].Target}} <div class="user">
<br/> <img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt>
{{item.AuditRecordList[0].CareOfList[0].Remarks}} <img v-else :src="detailList.ProposerPhoto" alt :onerror="defaultImg">
</span> <p>{{detailList.Proposer}}</p>
</p> <p>
<div class="auditItemImgList" style="padding-left: 30px;"> <span style="color:#257BF1; font-size: 14px;">{{detailList.Status}}</span>
<img v-for='img in toArr(item.AuditRecordList[0].Image)' :src="img" @click="getPic(toArr(item.AuditRecordList[0].Image))"/> </p>
</div> </div>
<p v-if='item.AuditRecordList.length>1' style="cursor: pointer;">
<span>{{item.AuditDescription}}{{item.AuditWay}}</span> <div class="detail">
<i class="el-icon-arrow-right"></i> <table border="0" cellspacing="0" cellpadding="0" class="myApprovalTable">
</p> <tr
v-for="(item,index) in detailList.Details"
<div v-if='item.AuditRecordList.length>1' style=" width: 300px; height: auto; margin:15px 0; border-radius: 4px; background: #F0F3FA;"> v-if="(item.formType=='Image' && item.value.length>0) || item.formType!='Image'"
<p v-if='item.AuditWayStatus==2' style="padding: 10px; color: #666;">须以下人员全部审批通过</p> >
<p v-if='item.AuditWayStatus==3' style="padding: 10px; color: #666;">以下人员大于等于一人审批通过即可</p> <td width="80">{{item.title}}</td>
<div v-for="i in item.AuditRecordList"> <td v-if="item.formType=='String'">{{item.value}}</td>
<p class="auditItemDetailtitle"> <td v-if="item.formType=='Json'">
<img width="28" height="28" v-if="!i.AuditEmPhoto" src="../../assets/img/litheader.png" alt=""> <div
<img width="28" height="28" v-else :src="i.AuditEmPhoto" alt="" :onerror="defaultImg"> v-for="(i,index) in item.value"
<span>{{i.AuditEmName}}</span> style="border-bottom: 1px solid #ccc; padding:10px 0;"
<span :style="'color: ' + i.StatusColor + ' !important'">{{i.Stauts}}</span> >
<span style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;">{{i.Description}}</span> <p style="line-height: 24px;" v-for="o in i">{{o.title}}{{o.value}}</p>
<span v-if='i.CareOfList!=null' style="display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"> </div>
<b style="color: red;"></b>{{i.CareOfList[0].BeFrom}} <b style="color: red;"></b> {{i.CareOfList[0].Target}} </td>
<br/> <td v-if="item.formType=='Image'">
{{i.CareOfList[0].Remarks}} <img
</span> v-if="item.value.length>0"
</p> style="width: 50px; height: 50px; border-radius: 4px; margin:0 10px 0 0;"
<div class="auditItemImgList" v-if="toArr(i.Image).length>0"> v-for="(img,index) in item.value"
<img v-for='img in toArr(i.Image)' :src="img" @click="getPic(toArr(i.Image))"/> :src="img"
</div> @click="getPic(item.value)"
</div> >
</div> </td>
</div> </tr>
</div> <!--audit end--> </table>
</div>
<div class="send" v-if="detailList.AuditStatus==5"> <!--v-if="detailList.AuditStatus==5"--> <div class="audit">
<p class="sentTitle">抄送<span>审批通过后,通知抄送人</span></p> <div class="auditItem">
<div class="sendList"> <img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt>
<div v-for="(item,index) in detailList.CopyToPeopleList"> <img v-else :src="detailList.ProposerPhoto" alt :onerror="defaultImg">
<img v-if="!item.EmPhoto" src="../../assets/img/litheader.png" alt=""> <p>
<img v-else :src="item.EmPhoto" alt="" :onerror="defaultImg"> <span>{{detailList.Proposer}}</span>&nbsp;&nbsp;
<br/> <span>发起申请</span>
{{item.EmName}} <span class="fr">{{detailList.ProposerTime}}</span>
</div> </p>
</div> </div>
</div> <!--send end--> <div class="auditItem" v-for="(item,index) in detailList.arList">
<img
<div style="height: 50px; width: 100%;"><!--空白暂位,防止下面漂浮按钮遮挡内容--></div> v-if="item.AuditRecordList.length==1&&!item.AuditRecordList[0].AuditEmPhoto"
<div class="forMyApprovalLayerBtn"> src="../../assets/img/litheader.png"
<input v-if="IsAudit==1" type="button" class="hollowbtn" value="同意" @click="openDialog(IsAgree=true,detailList.WorkFlowId,detailList.TemplateType)"/> >
<input v-if="IsAudit==1" type="button" class="hollowbtn" value="不同意" @click="openDialog(IsAgree=false,detailList.WorkFlowId,detailList.TemplateType)" /> <img
<input v-if="IsAudit==1" type="button" class="hollowbtn" value="转交" @click="transferDialog(detailList.WorkFlowId,detailList.TemplateType)"/> v-if="item.AuditRecordList.length==1&&item.AuditRecordList[0].AuditEmPhoto"
<input v-if="IsCancel==1" type="button" class="hollowbtn" value="撤回" @click="withdrawAapproval(detailList.WorkFlowId,detailList.TemplateType)"/> :src="item.AuditRecordList[0].AuditEmPhoto"
<input v-if="IsUpdate==1&&detailList.TemplateType!=4" type="button" class="hollowbtn" alt
value="修改" @click="updateAapproval('leaveApproval',detailList.Cmd,detailList.SubmitCmd,detailList.WorkFlowId,detailList.TempleteId)"/> :onerror="defaultImg"
</div> >
</div> <img v-if="item.AuditRecordList.length>1" src="../../assets/img/bg_z1@2x.png">
</div> <p v-if="item.AuditRecordList.length==1">
<el-dialog custom-class='w500' :title="dialogTitle" :visible.sync="outerVisible" center :before-close="clearDialogMsg"> <span>{{item.AuditRecordList[0].AuditEmName}}</span>
<table class="layerTable" border="0" cellspacing="0" cellpadding="0"> <span
<tr> :style="'color: ' + item.AuditRecordList[0].StatusColor + ' !important'"
<td>审批意见</td> >{{item.AuditRecordList[0].Stauts}}</span>
<td> <span class="fr">{{item.AuditRecordList[0].AuditTime}}</span>
<el-input type='textarea' v-model='appMsg.Description'></el-input> <span
</td> style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
</tr> >{{item.AuditRecordList[0].Description}}</span>
<tr> <span
<td>图片</td> v-if="item.AuditRecordList[0].CareOfList!=null"
<td> style="display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
<el-upload >
:file-list="fileList" <b style="color: red;"></b>
:http-request="uploadTest" {{item.AuditRecordList[0].CareOfList[0].BeFrom}}
:multiple="true" <b
:limit="9" style="color: red;"
list-type="picture-card" ></b>
:on-remove="handleRemove" {{item.AuditRecordList[0].CareOfList[0].Target}}
:on-exceed="handleExceed" <br>
action=""> {{item.AuditRecordList[0].CareOfList[0].Remarks}}
<i class="el-icon-plus"></i> </span>
</el-upload> </p>
</td> <div class="auditItemImgList" style="padding-left: 30px;">
</tr> <img
</table> v-for="img in toArr(item.AuditRecordList[0].Image)"
<div slot="footer" class="dialog-footer"> :src="img"
<button class="hollowFixedBtn" @click="btnClearDialogMsg">取 消</button> &nbsp; @click="getPic(toArr(item.AuditRecordList[0].Image))"
<button v-if='agree' class="normalBtn" type="primary" @click="agreeApproval">确定同意</button> >
<button v-if='!agree' class="normalBtn" type="primary" @click="rejectApproval">确定不同意</button> </div>
</div> <p v-if="item.AuditRecordList.length>1" style="cursor: pointer;">
</el-dialog> <span>{{item.AuditDescription}}{{item.AuditWay}}</span>
<i class="el-icon-arrow-right"></i>
<el-dialog custom-class='w500' :title="dialogTitle1" :visible.sync="outerVisible1" center :before-close="clearTransferDialog"> </p>
<table class="layerTable" border="0" cellspacing="0" cellpadding="0">
<tr> <div
<td width="80" align="right">转交备注:</td> v-if="item.AuditRecordList.length>1"
<td> style=" width: 300px; height: auto; margin:15px 0; border-radius: 4px; background: #F0F3FA;"
<el-input type='textarea' v-model='transferMsg.Description'></el-input> >
</td> <p v-if="item.AuditWayStatus==2" style="padding: 10px; color: #666;">须以下人员全部审批通过</p>
</tr> <p v-if="item.AuditWayStatus==3" style="padding: 10px; color: #666;">以下人员大于等于一人审批通过即可</p>
<tr>
<td width="80" align="right">姓名搜索:</td> <div v-for="i in item.AuditRecordList">
<td > <p class="auditItemDetailtitle">
<el-input class='w200' placeholder="请输入姓名关键字" v-model="filterText"></el-input> <img
</td> width="28"
</tr> height="28"
<tr> v-if="!i.AuditEmPhoto"
<td colspan="2"> src="../../assets/img/litheader.png"
alt
<el-tree class='forMyApprovalProcess' >
:data="memberList" <img
:props="defaultProps" width="28"
:filter-node-method="filterNode" height="28"
show-checkbox v-else
accordion :src="i.AuditEmPhoto"
@check-change="handleNodeChange" alt
node-key="DepartmentId" :onerror="defaultImg"
ref="tree" >
check-strictly <span>{{i.AuditEmName}}</span>
> <span :style="'color: ' + i.StatusColor + ' !important'">{{i.Stauts}}</span>
</el-tree> <span
</td> style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
</tr> >{{i.Description}}</span>
</table> <span
v-if="i.CareOfList!=null"
<div slot="footer" class="dialog-footer"> style="display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
<button class="hollowFixedBtn" @click="btnClearTransferDialog">取 消</button> &nbsp; >
<button class="normalBtn" type="primary" @click="transferApproval">确定</button> <b style="color: red;"></b>
</div> {{i.CareOfList[0].BeFrom}}
</el-dialog> <b style="color: red;"></b>
<div :class="{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer"> {{i.CareOfList[0].Target}}
<i @click="closePicLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer" ></i> <br>
<el-carousel height="600px" :interval="5000" trigger="click"> {{i.CareOfList[0].Remarks}}
<el-carousel-item v-for="(item,index) in picObj" :key="index"> </span>
<img :src="item" /> </p>
</el-carousel-item> <div class="auditItemImgList" v-if="toArr(i.Image).length>0">
</el-carousel> <img v-for="img in toArr(i.Image)" :src="img" @click="getPic(toArr(i.Image))">
</div> </div>
</div>
</div> </div>
</div>
</div>
<!--audit end-->
<div class="send" v-if="detailList.AuditStatus==5">
<!--v-if="detailList.AuditStatus==5"-->
<p class="sentTitle">
抄送
<span>审批通过后,通知抄送人</span>
</p>
<div class="sendList">
<div v-for="(item,index) in detailList.CopyToPeopleList">
<img v-if="!item.EmPhoto" src="../../assets/img/litheader.png" alt>
<img v-else :src="item.EmPhoto" alt :onerror="defaultImg">
<br>
{{item.EmName}}
</div>
</div>
</div>
<!--send end-->
<div style="height: 50px; width: 100%;">
<!--空白暂位,防止下面漂浮按钮遮挡内容-->
</div>
<div class="forMyApprovalLayerBtn">
<input
v-if="IsAudit==1"
type="button"
class="hollowbtn"
value="同意"
@click="openDialog(IsAgree=true,detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if="IsAudit==1"
type="button"
class="hollowbtn"
value="不同意"
@click="openDialog(IsAgree=false,detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if="IsAudit==1"
type="button"
class="hollowbtn"
value="转交"
@click="transferDialog(detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if="IsCancel==1"
type="button"
class="hollowbtn"
value="撤回"
@click="withdrawAapproval(detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if="IsUpdate==1&&detailList.TemplateType!=4"
type="button"
class="hollowbtn"
value="修改"
@click="updateAapproval('leaveApproval',detailList.Cmd,detailList.SubmitCmd,detailList.WorkFlowId,detailList.TempleteId)"
>
</div>
</div>
</div>
<el-dialog
custom-class="w500"
:title="dialogTitle"
:visible.sync="outerVisible"
center
:before-close="clearDialogMsg"
>
<table class="layerTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>审批意见</td>
<td>
<el-input type="textarea" v-model="appMsg.Description"></el-input>
</td>
</tr>
<tr>
<td>图片</td>
<td>
<el-upload
:file-list="fileList"
:http-request="uploadTest"
:multiple="true"
:limit="9"
list-type="picture-card"
:on-remove="handleRemove"
:on-exceed="handleExceed"
action
>
<i class="el-icon-plus"></i>
</el-upload>
</td>
</tr>
</table>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="btnClearDialogMsg">取 消</button> &nbsp;
<button v-if="agree" class="normalBtn" type="primary" @click="agreeApproval">确定同意</button>
<button v-if="!agree" class="normalBtn" type="primary" @click="rejectApproval">确定不同意</button>
</div>
</el-dialog>
<el-dialog
custom-class="w500"
:title="dialogTitle1"
:visible.sync="outerVisible1"
center
:before-close="clearTransferDialog"
>
<table class="layerTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="80" align="right">转交备注:</td>
<td>
<el-input type="textarea" v-model="transferMsg.Description"></el-input>
</td>
</tr>
<tr>
<td width="80" align="right">姓名搜索:</td>
<td>
<el-input class="w200" placeholder="请输入姓名关键字" v-model="filterText"></el-input>
</td>
</tr>
<tr>
<td colspan="2">
<el-tree
class="forMyApprovalProcess"
:data="memberList"
:props="defaultProps"
:filter-node-method="filterNode"
show-checkbox
accordion
@check-change="handleNodeChange"
node-key="DepartmentId"
ref="tree"
check-strictly
></el-tree>
</td>
</tr>
</table>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="btnClearTransferDialog">取 消</button> &nbsp;
<button class="normalBtn" type="primary" @click="transferApproval">确定</button>
</div>
</el-dialog>
<div :class="{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer">
<i @click="closePicLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer"></i>
<el-carousel height="600px" :interval="5000" trigger="click">
<el-carousel-item v-for="(item,index) in picObj" :key="index">
<img :src="item">
</el-carousel-item>
</el-carousel>
</div>
</div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
filterText:"", filterText: "",
defaultProps: { defaultProps: {
children: 'ChildList', children: "ChildList",
label: 'DepartmentName', label: "DepartmentName",
disabled: "Disabled" disabled: "Disabled"
}, },
fileList:[], fileList: [],
picObj:[], picObj: [],
dspNone:true, dspNone: true,
workFlowId:'', workFlowId: "",
templateType:"", templateType: "",
agree:true, agree: true,
outerVisible:false, outerVisible: false,
outerVisible1:false, outerVisible1: false,
dialogTitle:"", dialogTitle: "",
dialogTitle1:"", dialogTitle1: "",
IsAudit:'', IsAudit: "",
IsCancel:'', IsCancel: "",
IsUpdate:'', IsUpdate: "",
showlayer:false, showlayer: false,
isTransition:false, isTransition: false,
loading:true, loading: true,
liCkedIndex:2, liCkedIndex: 2,
total:0, total: 0,
defaultImg: 'this.src="' + require('../../assets/img/litheader.png') + '"', defaultImg:
currentPage: 1, 'this.src="' + require("../../assets/img/litheader.png") + '"',
//请求数据 currentPage: 1,
msg:{ //请求数据
auditType:'0', msg: {
applyType:0, auditType: "0",
pageIndex:1, applyType: 0,
pageSize:5, pageIndex: 1,
searchKey:'', pageSize: 5,
appAuditStatus:0, searchKey: "",
}, appAuditStatus: 0
appMsg:{ },
WorkFlowId:'', appMsg: {
TemplateType:'', WorkFlowId: "",
Description:'', TemplateType: "",
Image:[], Description: "",
}, Image: []
transferMsg:{ },
WorkFlowId:'', transferMsg: {
TemplateType:'', WorkFlowId: "",
Description:'', TemplateType: "",
CareOfEmId:'-1', Description: "",
}, CareOfEmId: "-1"
},
//返回数据
list:[],
ApplyTypeList:[],
appAuditStatusList:[],
memberList:[],
detailList:{},
arr:[],
}
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
}
},
methods: {
uploadTest(file){ //上传
let newArr=[];
newArr.push(file.file)
let path="/Upload/Temporary/"
this.UploadSelfFile(path,newArr,x=>{
let url = this.domainManager().ViittoFileUrl + x.data.FilePath
this.appMsg.Image.push(url)
this.fileList.push({url:url})
});
},
handleRemove(file){ //删除
this.fileList.forEach((item,index)=>{
if(item.url==file.url)
{
this.fileList.splice(index,1)
}
})
this.appMsg.Image.forEach((item,index)=>{
if(item==file.url)
{
this.appMsg.Image.splice(index,1)
}
})
}, //返回数据
handleExceed(files, fileList) { list: [],
this.$message.warning('最多只能上传9张图片!'); ApplyTypeList: [],
}, appAuditStatusList: [],
clearDialogMsg(done){ memberList: [],
done() detailList: {},
this.appMsg.Description='' arr: []
// this.appMsg.Image=[] };
}, },
btnClearDialogMsg(){ watch: {
this.outerVisible=false filterText(val) {
this.appMsg.Description='' this.$refs.tree.filter(val);
}, }
btnClearTransferDialog(done){ },
this.outerVisible1=false methods: {
this.filterText='' uploadTest(file) {
this.transferMsg.WorkFlowId='' //上传
this.transferMsg.TemplateType='' let newArr = [];
this.transferMsg.Description='' newArr.push(file.file);
this.transferMsg.CareOfEmId='-1' let path = "/Upload/Temporary/";
this.$refs.tree.setCheckedKeys([]); this.UploadSelfFile(path, newArr, x => {
}, let url = this.domainManager().ViittoFileUrl + x.data.FilePath;
closePicLayer(){ this.appMsg.Image.push(url);
this.dspNone=true this.fileList.push({ url: url });
}, });
getPic(obj){ },
//console.log(obj) handleRemove(file) {
this.picObj=obj //删除
this.dspNone=false; this.fileList.forEach((item, index) => {
}, if (item.url == file.url) {
filterNode(value, data) { this.fileList.splice(index, 1);
if (!value) return true; }
return data.DepartmentName.indexOf(value) !== -1; });
}, this.appMsg.Image.forEach((item, index) => {
openDialog(IsAgree,workFlowId,templateType){ if (item == file.url) {
this.agree=IsAgree this.appMsg.Image.splice(index, 1);
this.dialogTitle='审批流程' }
this.outerVisible=true; });
this.workFlowId=workFlowId; },
this.templateType=templateType; handleExceed(files, fileList) {
}, this.$message.warning("最多只能上传9张图片!");
transferDialog(workFlowId,templateType){ },
this.dialogTitle1='转交流程' clearDialogMsg(done) {
this.outerVisible1=true; done();
this.workFlowId=workFlowId; this.appMsg.Description = "";
this.templateType=templateType; // this.appMsg.Image=[]
this.apipost('WorkFlow_get_GetDepartMentEmployee', {}, res => { },
if(res.data.resultCode == 1) { btnClearDialogMsg() {
//console.log(res.data.data) this.outerVisible = false;
this.memberList = res.data.data this.appMsg.Description = "";
} },
}, err => {}) btnClearTransferDialog(done) {
}, this.outerVisible1 = false;
clearTransferDialog(done){ this.filterText = "";
done() this.transferMsg.WorkFlowId = "";
this.filterText='' this.transferMsg.TemplateType = "";
this.transferMsg.WorkFlowId='' this.transferMsg.Description = "";
this.transferMsg.TemplateType='' this.transferMsg.CareOfEmId = "-1";
this.transferMsg.Description='' this.$refs.tree.setCheckedKeys([]);
this.transferMsg.CareOfEmId='-1' },
this.$refs.tree.setCheckedKeys([]); closePicLayer() {
}, this.dspNone = true;
handleNodeChange(data,checked, node){ },
if(checked){ getPic(obj) {
if(data.DepartmentId!=0){ //console.log(obj)
this.arr.push(data.DepartmentId) this.picObj = obj;
this.$refs.tree.setCheckedKeys([data.DepartmentId]); this.dspNone = false;
this.transferMsg.CareOfEmId=data.DepartmentId; },
} filterNode(value, data) {
}else{ if (!value) return true;
if(this.arr.length==1){ return data.DepartmentName.indexOf(value) !== -1;
this.arr=[] },
this.transferMsg.CareOfEmId='-1' openDialog(IsAgree, workFlowId, templateType) {
}else{ this.agree = IsAgree;
this.arr=this.arr.slice(this.arr.length-1) this.dialogTitle = "审批流程";
this.transferMsg.CareOfEmId=this.arr[this.arr.length-1] this.outerVisible = true;
} this.workFlowId = workFlowId;
} this.templateType = templateType;
//console.log(this.transferMsg.CareOfEmId) },
}, transferDialog(workFlowId, templateType) {
this.dialogTitle1 = "转交流程";
transferApproval(){ this.outerVisible1 = true;
this.transferMsg.WorkFlowId=this.workFlowId this.workFlowId = workFlowId;
this.transferMsg.TemplateType=this.templateType this.templateType = templateType;
if(this.transferMsg.CareOfEmId=='-1') this.apipost(
{ "WorkFlow_get_GetDepartMentEmployee",
this.$message.warning('请选择转交人!') {},
return res => {
} if (res.data.resultCode == 1) {
this.apipost('WorkFlow_post_SetCareOf',this.transferMsg,res=>{ //console.log(res.data.data)
if(res.data.resultCode == 1) { this.memberList = res.data.data;
this.$message.success(res.data.message) }
this.outerVisible1=false; },
this.getList() err => {}
this.closeLayer() );
}else{ },
this.$message.error(res.data.message) clearTransferDialog(done) {
} done();
},err=>{}) this.filterText = "";
}, this.transferMsg.WorkFlowId = "";
agreeApproval(){ this.transferMsg.TemplateType = "";
this.appMsg.WorkFlowId=this.workFlowId this.transferMsg.Description = "";
this.appMsg.TemplateType=this.templateType this.transferMsg.CareOfEmId = "-1";
this.apipost('WorkFlow_post_SetConsent',this.appMsg,res=>{ this.$refs.tree.setCheckedKeys([]);
if(res.data.resultCode == 1) { },
this.$message.success(res.data.message) handleNodeChange(data, checked, node) {
this.outerVisible=false; if (checked) {
this.getList() if (data.DepartmentId != 0) {
this.btnClearDialogMsg() this.arr.push(data.DepartmentId);
this.closeLayer() this.$refs.tree.setCheckedKeys([data.DepartmentId]);
this.transferMsg.CareOfEmId = data.DepartmentId;
}else{ }
this.$message.error(res.data.message) } else {
} if (this.arr.length == 1) {
},err=>{}) this.arr = [];
}, this.transferMsg.CareOfEmId = "-1";
rejectApproval(){ } else {
this.appMsg.WorkFlowId=this.workFlowId this.arr = this.arr.slice(this.arr.length - 1);
this.appMsg.TemplateType=this.templateType this.transferMsg.CareOfEmId = this.arr[this.arr.length - 1];
this.apipost('WorkFlow_post_SetNotConsent',this.appMsg,res=>{ }
if(res.data.resultCode == 1) { }
this.$message.success(res.data.message) //console.log(this.transferMsg.CareOfEmId)
this.outerVisible=false; },
this.getList()
this.btnClearDialogMsg() transferApproval() {
this.closeLayer() this.transferMsg.WorkFlowId = this.workFlowId;
}else{ this.transferMsg.TemplateType = this.templateType;
this.$message.error(res.data.message) if (this.transferMsg.CareOfEmId == "-1") {
} this.$message.warning("请选择转交人!");
},err=>{}) return;
}, }
this.apipost(
withdrawAapproval(workFlowId,templateType){ "WorkFlow_post_SetCareOf",
this.$confirm('是否撤回?', '提示', { this.transferMsg,
confirmButtonText: '确定', res => {
cancelButtonText: '取消', if (res.data.resultCode == 1) {
type: 'warning' this.$message.success(res.data.message);
}).then(() => { this.outerVisible1 = false;
this.apipost('app_user_workflow_wndoaudit',{workFlowId:workFlowId,templateType:templateType},res=>{ this.getList();
if(res.data.resultCode == 1) { this.closeLayer();
this.$message.success('撤回成功。') } else {
this.getList() this.$message.error(res.data.message);
} }
},err=>{}) },
}).catch(() => { err => {}
this.$message.info('已取消撤回。') );
}); },
}, agreeApproval() {
updateAapproval(path,cmd,submitCmd,workFlowId,templateId){ this.appMsg.WorkFlowId = this.workFlowId;
this.$router.push({ name: path, query:{cmd:cmd,submitCmd:submitCmd,workFlowId:workFlowId,templateId:templateId}}) this.appMsg.TemplateType = this.templateType;
}, this.apipost(
getBigpic(obj){ "WorkFlow_post_SetConsent",
console.log(obj) this.appMsg,
}, res => {
toArr(val){ if (res.data.resultCode == 1) {
let arr=[] this.$message.success(res.data.message);
if(val!="[]") this.outerVisible = false;
{ this.getList();
val.substring(1,val.length-1).split(',').forEach(item=>{ this.btnClearDialogMsg();
arr.push(item.substring(1,item.length-1)) this.closeLayer();
}); } else {
} this.$message.error(res.data.message);
return arr; }
}, },
getDetail(id,type){ err => {}
this.showLayer(); );
this.apipost('app_user_workflow_GetAuditInfo',{WorkFlowId:id,TemplateType:type},res=>{ },
if(res.data.resultCode == 1) { rejectApproval() {
this.detailList=res.data.data this.appMsg.WorkFlowId = this.workFlowId;
this.IsAudit=res.data.data.IsAudit this.appMsg.TemplateType = this.templateType;
this.IsCancel=res.data.data.IsCancel this.apipost(
this.IsUpdate=res.data.data.IsUpdate "WorkFlow_post_SetNotConsent",
console.log(this.detailList) this.appMsg,
} res => {
},err=>{}) if (res.data.resultCode == 1) {
}, this.$message.success(res.data.message);
getList(){ this.outerVisible = false;
this.loading=true; this.getList();
this.apipost('app_user_workflow_my_audit',this.msg,res=>{ this.btnClearDialogMsg();
if(res.data.resultCode == 1) { this.closeLayer();
//console.log(res.data.data) } else {
this.list=res.data.data.pageData; this.$message.error(res.data.message);
this.total=res.data.data.count; }
this.loading=false },
} err => {}
},err=>{}) );
}, },
getApplyType(){ //模板类型
this.apipost('app_user_workflow_get_templatetype',{},res=>{
if(res.data.resultCode == 1) {
//console.log(res.data.data)
res.data.data.forEach(item=>{
for(let key in item){
if (item.hasOwnProperty(key)){
this.ApplyTypeList.push({label:key,value:item[key]})
}
}
})
}
},err=>{})
},
getAppAuditStatus(){
this.apipost('app_user_workflow_get_myinitiate_auditstatus',{},res=>{
if(res.data.resultCode == 1) {
//console.log(res.data.data)
res.data.data.forEach(item=>{
for(let key in item){
if (item.hasOwnProperty(key)){
this.appAuditStatusList.push({label:key,value:item[key]})
}
}
})
}
},err=>{})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
}, withdrawAapproval(workFlowId, templateType) {
showLayer() { this.$confirm("是否撤回?", "提示", {
this.showlayer = true; confirmButtonText: "确定",
this.isTransition = true; cancelButtonText: "取消",
this.displayNone=false type: "warning"
}, })
closeLayer() { .then(() => {
let _this = this; this.apipost(
setTimeout(function() { "app_user_workflow_wndoaudit",
_this.showlayer = false; { workFlowId: workFlowId, templateType: templateType },
}, 300) res => {
this.isTransition = false; if (res.data.resultCode == 1) {
this.displayNone=true this.$message.success("撤回成功。");
}, this.getList();
goUrl (path,id) { }
this.$router.push({ name: path}) },
} err => {}
}, );
mounted() { })
this.getList() .catch(() => {
this.getApplyType() this.$message.info("已取消撤回。");
this.getAppAuditStatus() });
} },
} updateAapproval(path, cmd, submitCmd, workFlowId, templateId) {
this.$router.push({
name: path,
query: {
cmd: cmd,
submitCmd: submitCmd,
workFlowId: workFlowId,
templateId: templateId
}
});
},
getBigpic(obj) {
console.log(obj);
},
toArr(val) {
let arr = [];
if (val != "[]") {
val
.substring(1, val.length - 1)
.split(",")
.forEach(item => {
arr.push(item.substring(1, item.length - 1));
});
}
return arr;
},
getDetail(id, type) {
this.showLayer();
this.apipost(
"app_user_workflow_GetAuditInfo",
{ WorkFlowId: id, TemplateType: type },
res => {
if (res.data.resultCode == 1) {
this.detailList = res.data.data;
this.IsAudit = res.data.data.IsAudit;
this.IsCancel = res.data.data.IsCancel;
this.IsUpdate = res.data.data.IsUpdate;
console.log(this.detailList);
}
},
err => {}
);
},
getList() {
this.loading = true;
this.apipost(
"app_user_workflow_my_audit",
this.msg,
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data)
this.list = res.data.data.pageData;
this.total = res.data.data.count;
this.loading = false;
}
},
err => {}
);
},
getApplyType() {
//模板类型
this.apipost(
"app_user_workflow_get_templatetype",
{},
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data)
res.data.data.forEach(item => {
for (let key in item) {
if (item.hasOwnProperty(key)) {
this.ApplyTypeList.push({ label: key, value: item[key] });
}
}
});
}
},
err => {}
);
},
getAppAuditStatus() {
this.apipost(
"app_user_workflow_get_myinitiate_auditstatus",
{},
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data)
res.data.data.forEach(item => {
for (let key in item) {
if (item.hasOwnProperty(key)) {
this.appAuditStatusList.push({
label: key,
value: item[key]
});
}
}
});
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
showLayer() {
this.showlayer = true;
this.isTransition = true;
this.displayNone = false;
},
closeLayer() {
let _this = this;
setTimeout(function() {
_this.showlayer = false;
}, 300);
this.isTransition = false;
this.displayNone = true;
},
goUrl(path, id) {
this.$router.push({ name: path });
}
},
mounted() {
this.getList();
this.getApplyType();
this.getAppAuditStatus();
}
};
</script> </script>
<style> <style>
.appListparent{ overflow-x: auto;} .appListparent {
.appListparent::-webkit-scrollbar{/*滚动条整体样式*/width: 4px;/*高宽分别对应横竖滚动条的尺寸*/height: 8px;} overflow-x: auto;
.appListparent::-webkit-scrollbar-thumb{/*滚动条里面小方块*/border-radius: 4px;-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);background: #c9c9c9;} }
.appListparent::-webkit-scrollbar-track{/*滚动条里面轨道*/-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);border-radius: 4px;background: #EDEDED;} .appListparent::-webkit-scrollbar {
.forMyApprovalProcess { /*滚动条整体样式*/
background: #f8f8f8; width: 4px; /*高宽分别对应横竖滚动条的尺寸*/
max-height: 400px; height: 8px;
overflow-y: auto; }
} .appListparent::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
.auditItemImgList{} border-radius: 4px;
.auditItemImgList>img{width: 48px; height: 48px; border-radius: 4px; margin:8px 0 8px 10px;} -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
.auditItemDetailtitle{} background: #c9c9c9;
.auditItemDetailtitle>img{float: left; border-radius: 16px; margin: 0 10px 0 0;} }
.auditItemDetailtitle>span{line-height: 32px;} .appListparent::-webkit-scrollbar-track {
.forMyApprovalLayer{position: fixed; z-index: 99; background: rgba(0,0,0,.2); width: 100%; height: 100%; left: 0; top: 0;} /*滚动条里面轨道*/
.forMyApprovalLayercontentDiv{width: 400px; background: #fff; height: 100%; overflow: auto; top: 0; right:-800px; position: fixed;box-shadow: 4px 0px 10px rgba(0, 0, 0, 0.1);transition: right .5s;} -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
.forMyApprovalLayer .rightZero{right: 0px;} border-radius: 4px;
.forMyApprovalLayercontentDiv .title{height: 48px; background: #EDEEF0; line-height: 48px; font-size:16px; color: #333; text-indent: 30px;} background: #ededed;
.forMyApprovalLayercontentDiv .user{width: 340px; margin: 0 30px; border-bottom: 1px solid #E6E6E6; height: 60px; padding: 30px 0; box-sizing: content-box} }
.forMyApprovalLayercontentDiv .user>p{line-height: 28px;} .forMyApprovalProcess {
.forMyApprovalLayercontentDiv .user>img{width:58px; height: 58px; border-radius: 29px; float: left; margin:0 12px 0 0;} background: #f8f8f8;
.forMyApprovalLayercontentDiv .detail{width: 340px; margin: 0 30px; padding: 25px 0; border-bottom: 1px solid #E6E6E6; min-height: 120px;} max-height: 400px;
.forMyApprovalLayercontentDiv .audit{width: 340px; margin: 30px 30px 0; min-height: 120px; border-bottom: 1px solid #E6E6E6;} overflow-y: auto;
.forMyApprovalLayercontentDiv .audit .auditItem{min-height: 80px; width: 320px; margin-left: 20px; border-left:1px solid #EDEDED; position: relative; font-size: 14px;} }
.forMyApprovalLayercontentDiv .audit .auditItem:last-child{border-left: none;}
.forMyApprovalLayercontentDiv .audit .auditItem>p{line-height: 40px;text-indent: 40px;} .auditItemImgList {
.forMyApprovalLayercontentDiv .audit .auditItem>img{width: 40px; height: 40px; border-radius: 20px; position: absolute; left: -20px;} }
.forMyApprovalLayercontentDiv .send{width: 340px; margin: 30px 30px 0; min-height: 120px;} .auditItemImgList > img {
.forMyApprovalLayercontentDiv .send .sentTitle{height: 14px; line-height: 14px; text-indent:10px; border-left:3px solid #E95252; font-size: 14px;} width: 48px;
.forMyApprovalLayercontentDiv .send .sentTitle span{color: #666; margin-left: 20px;} height: 48px;
.forMyApprovalLayercontentDiv .send .sendList>div{float: left; margin: 10px 10px 0 0; font-size: 12px; color: #666; width: 40px; text-align: center;} border-radius: 4px;
.forMyApprovalLayercontentDiv .send .sendList>div>img{width: 40px; height: 40px; border-radius: 20px;} margin: 8px 0 8px 10px;
.forMyApprovalLayercontentDiv .myApprovalTable tr{height: 40px; font-size: 14px;} }
.forMyApprovalLayercontentDiv .myApprovalTable tr td:nth-child(1){text-align: right; color: #666; } .auditItemDetailtitle {
.forMyApprovalLayerBtn{position: fixed; bottom: 0; background: #fff; width: 100%; height: 40px; line-height: 40px; padding: 0 30px; border-top:1px solid #F0F3FA} }
.forMyApprovalLayerBtn input{margin-right: 10px;} .auditItemDetailtitle > img {
.myApprovalMenu{width: 100%; height: 40px; text-align: center; line-height: 40px; background: #fff; border-radius: 4px; margin: 30px 0;} float: left;
.myApprovalMenu li{float: left; width:25%; font-size: 14px; color: #666; cursor: pointer;} border-radius: 16px;
.myApprovalMenu li:hover{border-bottom: 2px solid #E95252;} margin: 0 10px 0 0;
.myApprovalMenu li.cked{border-bottom: 2px solid #E95252; font-size: 16px; color:#E95252;} }
.forMyApprovalTable{width: 100%; min-width: 1600px; height: 38px;} .auditItemDetailtitle > span {
.forMyApprovalTable li{float: left; width: 20%; height: 38px; line-height: 38px; font-size: 14px; text-indent: 20px;background: #EDEDED; font-family: PingFangSC-Semibold !important;} line-height: 32px;
.forMyApprovalItem{width: 100%; min-width: 1600px; min-height:80px; padding: 20px 0; background: #fff; border-bottom:1px solid #f9f9f9; overflow: hidden;} }
.forMyApprovalItem li{float:left; width: 20%; height: 100%; font-size: 14px; text-indent: 20px;} .forMyApprovalLayer {
.forMyApprovalItem li>p{line-height: 24px; color: #666;} position: fixed;
.forMyApprovalItem:hover{box-shadow:0px 0px 10px rgba(191,191,191,1);transition: all linear 0.3s; position: relative; z-index: 5;} z-index: 99;
.forMyApprovalItem li>img{float: left; width: 40px; height: 40px; border-radius: 20px; margin: 0 10px 20px 30px;} background: rgba(0, 0, 0, 0.2);
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.forMyApprovalLayercontentDiv {
width: 400px;
background: #fff;
height: 100%;
overflow: auto;
top: 0;
right: -800px;
position: fixed;
box-shadow: 4px 0px 10px rgba(0, 0, 0, 0.1);
transition: right 0.5s;
}
.forMyApprovalLayer .rightZero {
right: 0px;
}
.forMyApprovalLayercontentDiv .title {
height: 48px;
background: #edeef0;
line-height: 48px;
font-size: 16px;
color: #333;
text-indent: 30px;
}
.forMyApprovalLayercontentDiv .user {
width: 340px;
margin: 0 30px;
border-bottom: 1px solid #e6e6e6;
height: 60px;
padding: 30px 0;
box-sizing: content-box;
}
.forMyApprovalLayercontentDiv .user > p {
line-height: 28px;
}
.forMyApprovalLayercontentDiv .user > img {
width: 58px;
height: 58px;
border-radius: 29px;
float: left;
margin: 0 12px 0 0;
}
.forMyApprovalLayercontentDiv .detail {
width: 340px;
margin: 0 30px;
padding: 25px 0;
border-bottom: 1px solid #e6e6e6;
min-height: 120px;
}
.forMyApprovalLayercontentDiv .audit {
width: 340px;
margin: 30px 30px 0;
min-height: 120px;
border-bottom: 1px solid #e6e6e6;
}
.forMyApprovalLayercontentDiv .audit .auditItem {
min-height: 80px;
width: 320px;
margin-left: 20px;
border-left: 1px solid #ededed;
position: relative;
font-size: 14px;
}
.forMyApprovalLayercontentDiv .audit .auditItem:last-child {
border-left: none;
}
.forMyApprovalLayercontentDiv .audit .auditItem > p {
line-height: 40px;
text-indent: 40px;
}
.forMyApprovalLayercontentDiv .audit .auditItem > img {
width: 40px;
height: 40px;
border-radius: 20px;
position: absolute;
left: -20px;
}
.forMyApprovalLayercontentDiv .send {
width: 340px;
margin: 30px 30px 0;
min-height: 120px;
}
.forMyApprovalLayercontentDiv .send .sentTitle {
height: 14px;
line-height: 14px;
text-indent: 10px;
border-left: 3px solid #e95252;
font-size: 14px;
}
.forMyApprovalLayercontentDiv .send .sentTitle span {
color: #666;
margin-left: 20px;
}
.forMyApprovalLayercontentDiv .send .sendList > div {
float: left;
margin: 10px 10px 0 0;
font-size: 12px;
color: #666;
width: 40px;
text-align: center;
}
.forMyApprovalLayercontentDiv .send .sendList > div > img {
width: 40px;
height: 40px;
border-radius: 20px;
}
.forMyApprovalLayercontentDiv .myApprovalTable tr {
height: 40px;
font-size: 14px;
}
.forMyApprovalLayercontentDiv .myApprovalTable tr td:nth-child(1) {
text-align: right;
color: #666;
}
.forMyApprovalLayerBtn {
position: fixed;
bottom: 0;
background: #fff;
width: 100%;
height: 40px;
line-height: 40px;
padding: 0 30px;
border-top: 1px solid #f0f3fa;
}
.forMyApprovalLayerBtn input {
margin-right: 10px;
}
.myApprovalMenu {
width: 100%;
height: 40px;
text-align: center;
line-height: 40px;
background: #fff;
border-radius: 4px;
margin: 30px 0;
}
.myApprovalMenu li {
float: left;
width: 25%;
font-size: 14px;
color: #666;
cursor: pointer;
}
.myApprovalMenu li:hover {
border-bottom: 2px solid #e95252;
}
.myApprovalMenu li.cked {
border-bottom: 2px solid #e95252;
font-size: 16px;
color: #e95252;
}
.forMyApprovalTable {
width: 100%;
min-width: 1600px;
height: 38px;
}
.forMyApprovalTable li {
float: left;
width: 20%;
height: 38px;
line-height: 38px;
font-size: 14px;
text-indent: 20px;
background: #ededed;
font-family: PingFangSC-Semibold !important;
}
.forMyApprovalItem {
width: 100%;
min-width: 1600px;
min-height: 80px;
padding: 20px 0;
background: #fff;
border-bottom: 1px solid #f9f9f9;
overflow: hidden;
}
.forMyApprovalItem li {
float: left;
width: 20%;
height: 100%;
font-size: 14px;
text-indent: 20px;
}
.forMyApprovalItem li > p {
line-height: 24px;
color: #666;
}
.forMyApprovalItem:hover {
box-shadow: 0px 0px 10px rgba(191, 191, 191, 1);
transition: all linear 0.3s;
position: relative;
z-index: 5;
}
.forMyApprovalItem li > img {
float: left;
width: 40px;
height: 40px;
border-radius: 20px;
margin: 0 10px 20px 30px;
}
</style> </style>
\ No newline at end of file
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