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;
...@@ -511,10 +511,10 @@ tr._item_list td:last-child { ...@@ -511,10 +511,10 @@ tr._item_list td:last-child {
<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,7 +995,8 @@ export default { ...@@ -944,7 +995,8 @@ export default {
width: 100, width: 100,
titleAlign: "left", titleAlign: "left",
columnAlign: "left", columnAlign: "left",
isResize: true isResize: true,
componentName: "TCIDJumpWang"
}, },
{ {
field: "QiTa", field: "QiTa",
...@@ -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",
...@@ -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(
"financestatistics_post_InsertFinanceStatistics",
{},
res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.$message.success(res.data.message) this.$message.success(res.data.message);
} else { } else {
this.AALloading = false this.AALloading = false;
this.$message.error(res.data.message) 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 = "";
......
...@@ -9,30 +9,64 @@ ...@@ -9,30 +9,64 @@
<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>
<em>关键字</em>
<el-input
class="w210"
v-model="msg.searchKey"
placeholder="请输入申请人"
@keyup.enter.native="getList"
></el-input>
</span>
</li> </li>
<li> <li>
<span><em>审批类型</em><el-select v-model='msg.applyType'> <span>
<el-option v-for='item in ApplyTypeList' :label='item.label' :value='item.value' :key='item.value'></el-option> <em>审批类型</em>
</el-select></span> <el-select v-model="msg.applyType">
<el-option
v-for="item in ApplyTypeList"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</span>
</li> </li>
<li> <li>
<span><em>审批状态</em><el-select v-model='msg.auditType'> <span>
<el-option label='不限' value='0'></el-option> <em>审批状态</em>
<el-option label='待审核' value='1'></el-option> <el-select v-model="msg.auditType">
<el-option label='已审核' value='2'></el-option> <el-option label="不限" value="0"></el-option>
</el-select></span> <el-option label="待审核" value="1"></el-option>
<el-option label="已审核" value="2"></el-option>
</el-select>
</span>
</li> </li>
<li> <li>
<span><em>申请审核状态</em><el-select v-model='msg.appAuditStatus'> <span>
<el-option v-for='item in appAuditStatusList' :label='item.label' :value='item.value' :key='item.value'></el-option> <em>申请审核状态</em>
</el-select></span> <el-select v-model="msg.appAuditStatus">
<el-option
v-for="item in appAuditStatusList"
:label="item.label"
:value="item.value"
:key="item.value"
></el-option>
</el-select>
</span>
</li>
<li style="top:-155px!important">
<input
type="button"
class="hollowFixedBtn"
value="查询"
@click="resetPageIndex(),getList()"
>
</li> </li>
<li style="top:-155px!important"><input type="button" class="hollowFixedBtn" value="查询" @click="resetPageIndex(),getList()"/></li>
</ul> </ul>
</div> </div>
<div class="appListparent" v-loading='loading'> <div class="appListparent" v-loading="loading">
<div class="forMyApprovalTable"> <div class="forMyApprovalTable">
<li>审批标题</li> <li>审批标题</li>
<li>搜索简要</li> <li>搜索简要</li>
...@@ -42,53 +76,76 @@ ...@@ -42,53 +76,76 @@
</div> </div>
<div class="forMyApprovalItem" v-for="(item,index) in list"> <div class="forMyApprovalItem" v-for="(item,index) in list">
<li> <li>
<img v-if="!item.userPhoto" src="../../assets/img/litheader.png" alt=""> <img v-if="!item.userPhoto" src="../../assets/img/litheader.png" alt>
<img v-else :src="item.userPhoto" alt="" :onerror="defaultImg"> <img v-else :src="item.userPhoto" alt :onerror="defaultImg">
<span>{{item.title}}</span> <span>{{item.title}}</span>
</li> </li>
<li> <li>
<p v-for="item in list[index].detial">{{item}}</p> <p v-for="item in list[index].detial">{{item}}</p>
</li> </li>
<li> <li>
<p><i class="iconfont icon-img-rili"></i> <p>
{{item.createTime}}</p></li> <i class="iconfont icon-img-rili"></i>
{{item.createTime}}
</p>
</li>
<li>{{item.auditStatusStrt}}</li> <li>{{item.auditStatusStrt}}</li>
<li><input type="button" class="hollowFixedBtn" value="详情" @click="getDetail(item.workFlowId,item.templateType)"></li> <li>
<input
type="button"
class="hollowFixedBtn"
value="详情"
@click="getDetail(item.workFlowId,item.templateType)"
>
</li>
</div> </div>
</div> </div>
<el-pagination background <el-pagination
background
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page.sync="currentPage" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize :page-size="msg.pageSize"
:total=total> :total="total"
</el-pagination> ></el-pagination>
<div :class="{forMyApprovalLayer:showlayer}" @click="closeLayer"> <div :class="{forMyApprovalLayer:showlayer}" @click="closeLayer">
<div :class="{forMyApprovalLayercontentDiv:true,rightZero:isTransition}" @click.stop> <div :class="{forMyApprovalLayercontentDiv:true,rightZero:isTransition}" @click.stop>
<div class="title">{{detailList.Proposer}}{{detailList.TempleteTypeName}}</div> <div class="title">{{detailList.Proposer}}{{detailList.TempleteTypeName}}</div>
<div class="user"> <div class="user">
<img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt=""> <img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt>
<img v-else :src="detailList.ProposerPhoto" alt="" :onerror="defaultImg"> <img v-else :src="detailList.ProposerPhoto" alt :onerror="defaultImg">
<p>{{detailList.Proposer}}</p> <p>{{detailList.Proposer}}</p>
<p><span style="color:#257BF1; font-size: 14px;">{{detailList.Status}}</span></p> <p>
<span style="color:#257BF1; font-size: 14px;">{{detailList.Status}}</span>
</p>
</div> </div>
<div class="detail"> <div class="detail">
<table border="0" cellspacing="0" cellpadding="0" class="myApprovalTable"> <table border="0" cellspacing="0" cellpadding="0" class="myApprovalTable">
<tr v-for="(item,index) in detailList.Details" v-if="(item.formType=='Image' && item.value.length>0) || item.formType!='Image'"> <tr
<td width="80" >{{item.title}}</td> v-for="(item,index) in detailList.Details"
v-if="(item.formType=='Image' && item.value.length>0) || item.formType!='Image'"
>
<td width="80">{{item.title}}</td>
<td v-if="item.formType=='String'">{{item.value}}</td> <td v-if="item.formType=='String'">{{item.value}}</td>
<td v-if="item.formType=='Json'"> <td v-if="item.formType=='Json'">
<div v-for="(i,index) in item.value" style="border-bottom: 1px solid #ccc; padding:10px 0;"> <div
v-for="(i,index) in item.value"
style="border-bottom: 1px solid #ccc; padding:10px 0;"
>
<p style="line-height: 24px;" v-for="o in i">{{o.title}}{{o.value}}</p> <p style="line-height: 24px;" v-for="o in i">{{o.title}}{{o.value}}</p>
</div> </div>
</td> </td>
<td v-if="item.formType=='Image'"> <td v-if="item.formType=='Image'">
<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" <img
@click="getPic(item.value)"/> 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"
@click="getPic(item.value)"
>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -96,90 +153,180 @@ ...@@ -96,90 +153,180 @@
<div class="audit"> <div class="audit">
<div class="auditItem"> <div class="auditItem">
<img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt=""> <img v-if="!detailList.ProposerPhoto" src="../../assets/img/litheader.png" alt>
<img v-else :src="detailList.ProposerPhoto" alt="" :onerror="defaultImg"> <img v-else :src="detailList.ProposerPhoto" alt :onerror="defaultImg">
<p> <p>
<span>{{detailList.Proposer}}</span>&nbsp;&nbsp;<span>发起申请</span><span class="fr">{{detailList.ProposerTime}}</span> <span>{{detailList.Proposer}}</span>&nbsp;&nbsp;
<span>发起申请</span>
<span class="fr">{{detailList.ProposerTime}}</span>
</p> </p>
</div> </div>
<div class="auditItem" v-for="(item,index) in detailList.arList"> <div class="auditItem" v-for="(item,index) in detailList.arList">
<img v-if='item.AuditRecordList.length==1&&!item.AuditRecordList[0].AuditEmPhoto' src="../../assets/img/litheader.png" /> <img
<img v-if='item.AuditRecordList.length==1&&item.AuditRecordList[0].AuditEmPhoto' :src='item.AuditRecordList[0].AuditEmPhoto' alt="" :onerror="defaultImg" /> v-if="item.AuditRecordList.length==1&&!item.AuditRecordList[0].AuditEmPhoto"
<img v-if='item.AuditRecordList.length>1' src="../../assets/img/bg_z1@2x.png" /> src="../../assets/img/litheader.png"
<p v-if='item.AuditRecordList.length==1'> >
<img
v-if="item.AuditRecordList.length==1&&item.AuditRecordList[0].AuditEmPhoto"
:src="item.AuditRecordList[0].AuditEmPhoto"
alt
:onerror="defaultImg"
>
<img v-if="item.AuditRecordList.length>1" src="../../assets/img/bg_z1@2x.png">
<p v-if="item.AuditRecordList.length==1">
<span>{{item.AuditRecordList[0].AuditEmName}}</span> <span>{{item.AuditRecordList[0].AuditEmName}}</span>
<span :style="'color: ' + item.AuditRecordList[0].StatusColor + ' !important'">{{item.AuditRecordList[0].Stauts}}</span> <span
:style="'color: ' + item.AuditRecordList[0].StatusColor + ' !important'"
>{{item.AuditRecordList[0].Stauts}}</span>
<span class="fr">{{item.AuditRecordList[0].AuditTime}}</span> <span class="fr">{{item.AuditRecordList[0].AuditTime}}</span>
<span style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;">{{item.AuditRecordList[0].Description}}</span> <span
<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;"> style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
<b style="color: red;"></b>{{item.AuditRecordList[0].CareOfList[0].BeFrom}} <b style="color: red;"></b> {{item.AuditRecordList[0].CareOfList[0].Target}} >{{item.AuditRecordList[0].Description}}</span>
<br/> <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;"
>
<b style="color: red;"></b>
{{item.AuditRecordList[0].CareOfList[0].BeFrom}}
<b
style="color: red;"
></b>
{{item.AuditRecordList[0].CareOfList[0].Target}}
<br>
{{item.AuditRecordList[0].CareOfList[0].Remarks}} {{item.AuditRecordList[0].CareOfList[0].Remarks}}
</span> </span>
</p> </p>
<div class="auditItemImgList" style="padding-left: 30px;"> <div class="auditItemImgList" style="padding-left: 30px;">
<img v-for='img in toArr(item.AuditRecordList[0].Image)' :src="img" @click="getPic(toArr(item.AuditRecordList[0].Image))"/> <img
v-for="img in toArr(item.AuditRecordList[0].Image)"
:src="img"
@click="getPic(toArr(item.AuditRecordList[0].Image))"
>
</div> </div>
<p v-if='item.AuditRecordList.length>1' style="cursor: pointer;"> <p v-if="item.AuditRecordList.length>1" style="cursor: pointer;">
<span>{{item.AuditDescription}}{{item.AuditWay}}</span> <span>{{item.AuditDescription}}{{item.AuditWay}}</span>
<i class="el-icon-arrow-right"></i> <i class="el-icon-arrow-right"></i>
</p> </p>
<div v-if='item.AuditRecordList.length>1' style=" width: 300px; height: auto; margin:15px 0; border-radius: 4px; background: #F0F3FA;"> <div
<p v-if='item.AuditWayStatus==2' style="padding: 10px; color: #666;">须以下人员全部审批通过</p> v-if="item.AuditRecordList.length>1"
<p v-if='item.AuditWayStatus==3' style="padding: 10px; color: #666;">以下人员大于等于一人审批通过即可</p> style=" width: 300px; height: auto; margin:15px 0; border-radius: 4px; background: #F0F3FA;"
>
<p v-if="item.AuditWayStatus==2" style="padding: 10px; color: #666;">须以下人员全部审批通过</p>
<p v-if="item.AuditWayStatus==3" style="padding: 10px; color: #666;">以下人员大于等于一人审批通过即可</p>
<div v-for="i in item.AuditRecordList"> <div v-for="i in item.AuditRecordList">
<p class="auditItemDetailtitle"> <p class="auditItemDetailtitle">
<img width="28" height="28" v-if="!i.AuditEmPhoto" src="../../assets/img/litheader.png" alt=""> <img
<img width="28" height="28" v-else :src="i.AuditEmPhoto" alt="" :onerror="defaultImg"> width="28"
height="28"
v-if="!i.AuditEmPhoto"
src="../../assets/img/litheader.png"
alt
>
<img
width="28"
height="28"
v-else
:src="i.AuditEmPhoto"
alt
:onerror="defaultImg"
>
<span>{{i.AuditEmName}}</span> <span>{{i.AuditEmName}}</span>
<span :style="'color: ' + i.StatusColor + ' !important'">{{i.Stauts}}</span> <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> <span
<span v-if='i.CareOfList!=null' style="display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"> style="display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
<b style="color: red;"></b>{{i.CareOfList[0].BeFrom}} <b style="color: red;"></b> {{i.CareOfList[0].Target}} >{{i.Description}}</span>
<br/> <span
v-if="i.CareOfList!=null"
style="display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
>
<b style="color: red;"></b>
{{i.CareOfList[0].BeFrom}}
<b style="color: red;"></b>
{{i.CareOfList[0].Target}}
<br>
{{i.CareOfList[0].Remarks}} {{i.CareOfList[0].Remarks}}
</span> </span>
</p> </p>
<div class="auditItemImgList" v-if="toArr(i.Image).length>0"> <div class="auditItemImgList" v-if="toArr(i.Image).length>0">
<img v-for='img in toArr(i.Image)' :src="img" @click="getPic(toArr(i.Image))"/> <img v-for="img in toArr(i.Image)" :src="img" @click="getPic(toArr(i.Image))">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <!--audit end--> </div>
<!--audit end-->
<div class="send" v-if="detailList.AuditStatus==5">
<div class="send" v-if="detailList.AuditStatus==5"> <!--v-if="detailList.AuditStatus==5"--> <!--v-if="detailList.AuditStatus==5"-->
<p class="sentTitle">抄送<span>审批通过后,通知抄送人</span></p> <p class="sentTitle">
抄送
<span>审批通过后,通知抄送人</span>
</p>
<div class="sendList"> <div class="sendList">
<div v-for="(item,index) in detailList.CopyToPeopleList"> <div v-for="(item,index) in detailList.CopyToPeopleList">
<img v-if="!item.EmPhoto" src="../../assets/img/litheader.png" alt=""> <img v-if="!item.EmPhoto" src="../../assets/img/litheader.png" alt>
<img v-else :src="item.EmPhoto" alt="" :onerror="defaultImg"> <img v-else :src="item.EmPhoto" alt :onerror="defaultImg">
<br/> <br>
{{item.EmName}} {{item.EmName}}
</div> </div>
</div> </div>
</div> <!--send end--> </div>
<!--send end-->
<div style="height: 50px; width: 100%;"><!--空白暂位,防止下面漂浮按钮遮挡内容--></div> <div style="height: 50px; width: 100%;">
<!--空白暂位,防止下面漂浮按钮遮挡内容-->
</div>
<div class="forMyApprovalLayerBtn"> <div class="forMyApprovalLayerBtn">
<input v-if="IsAudit==1" type="button" class="hollowbtn" value="同意" @click="openDialog(IsAgree=true,detailList.WorkFlowId,detailList.TemplateType)"/> <input
<input v-if="IsAudit==1" type="button" class="hollowbtn" value="不同意" @click="openDialog(IsAgree=false,detailList.WorkFlowId,detailList.TemplateType)" /> v-if="IsAudit==1"
<input v-if="IsAudit==1" type="button" class="hollowbtn" value="转交" @click="transferDialog(detailList.WorkFlowId,detailList.TemplateType)"/> type="button"
<input v-if="IsCancel==1" type="button" class="hollowbtn" value="撤回" @click="withdrawAapproval(detailList.WorkFlowId,detailList.TemplateType)"/> class="hollowbtn"
<input v-if="IsUpdate==1&&detailList.TemplateType!=4" type="button" class="hollowbtn" value="同意"
value="修改" @click="updateAapproval('leaveApproval',detailList.Cmd,detailList.SubmitCmd,detailList.WorkFlowId,detailList.TempleteId)"/> @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> </div>
</div> </div>
<el-dialog custom-class='w500' :title="dialogTitle" :visible.sync="outerVisible" center :before-close="clearDialogMsg"> <el-dialog
custom-class="w500"
:title="dialogTitle"
:visible.sync="outerVisible"
center
:before-close="clearDialogMsg"
>
<table class="layerTable" border="0" cellspacing="0" cellpadding="0"> <table class="layerTable" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<td>审批意见</td> <td>审批意见</td>
<td> <td>
<el-input type='textarea' v-model='appMsg.Description'></el-input> <el-input type="textarea" v-model="appMsg.Description"></el-input>
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -193,7 +340,8 @@ ...@@ -193,7 +340,8 @@
list-type="picture-card" list-type="picture-card"
:on-remove="handleRemove" :on-remove="handleRemove"
:on-exceed="handleExceed" :on-exceed="handleExceed"
action=""> action
>
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
</td> </td>
...@@ -201,29 +349,35 @@ ...@@ -201,29 +349,35 @@
</table> </table>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="btnClearDialogMsg">取 消</button> &nbsp; <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="agreeApproval">确定同意</button>
<button v-if='!agree' class="normalBtn" type="primary" @click="rejectApproval">确定不同意</button> <button v-if="!agree" class="normalBtn" type="primary" @click="rejectApproval">确定不同意</button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog custom-class='w500' :title="dialogTitle1" :visible.sync="outerVisible1" center :before-close="clearTransferDialog"> <el-dialog
custom-class="w500"
:title="dialogTitle1"
:visible.sync="outerVisible1"
center
:before-close="clearTransferDialog"
>
<table class="layerTable" border="0" cellspacing="0" cellpadding="0"> <table class="layerTable" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<td width="80" align="right">转交备注:</td> <td width="80" align="right">转交备注:</td>
<td> <td>
<el-input type='textarea' v-model='transferMsg.Description'></el-input> <el-input type="textarea" v-model="transferMsg.Description"></el-input>
</td> </td>
</tr> </tr>
<tr> <tr>
<td width="80" align="right">姓名搜索:</td> <td width="80" align="right">姓名搜索:</td>
<td > <td>
<el-input class='w200' placeholder="请输入姓名关键字" v-model="filterText"></el-input> <el-input class="w200" placeholder="请输入姓名关键字" v-model="filterText"></el-input>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<el-tree
<el-tree class='forMyApprovalProcess' class="forMyApprovalProcess"
:data="memberList" :data="memberList"
:props="defaultProps" :props="defaultProps"
:filter-node-method="filterNode" :filter-node-method="filterNode"
...@@ -233,8 +387,7 @@ ...@@ -233,8 +387,7 @@
node-key="DepartmentId" node-key="DepartmentId"
ref="tree" ref="tree"
check-strictly check-strictly
> ></el-tree>
</el-tree>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -245,77 +398,77 @@ ...@@ -245,77 +398,77 @@
</div> </div>
</el-dialog> </el-dialog>
<div :class="{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer"> <div :class="{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer">
<i @click="closePicLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer" ></i> <i @click="closePicLayer" class="el-icon-circle-close-outline clolseViewBigPicLayer"></i>
<el-carousel height="600px" :interval="5000" trigger="click"> <el-carousel height="600px" :interval="5000" trigger="click">
<el-carousel-item v-for="(item,index) in picObj" :key="index"> <el-carousel-item v-for="(item,index) in picObj" :key="index">
<img :src="item" /> <img :src="item">
</el-carousel-item> </el-carousel-item>
</el-carousel> </el-carousel>
</div> </div>
</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:
'this.src="' + require("../../assets/img/litheader.png") + '"',
currentPage: 1, currentPage: 1,
//请求数据 //请求数据
msg:{ msg: {
auditType:'0', auditType: "0",
applyType:0, applyType: 0,
pageIndex:1, pageIndex: 1,
pageSize:5, pageSize: 5,
searchKey:'', searchKey: "",
appAuditStatus:0, appAuditStatus: 0
}, },
appMsg:{ appMsg: {
WorkFlowId:'', WorkFlowId: "",
TemplateType:'', TemplateType: "",
Description:'', Description: "",
Image:[], Image: []
}, },
transferMsg:{ transferMsg: {
WorkFlowId:'', WorkFlowId: "",
TemplateType:'', TemplateType: "",
Description:'', Description: "",
CareOfEmId:'-1', CareOfEmId: "-1"
}, },
//返回数据 //返回数据
list:[], list: [],
ApplyTypeList:[], ApplyTypeList: [],
appAuditStatusList:[], appAuditStatusList: [],
memberList:[], memberList: [],
detailList:{}, detailList: {},
arr:[], arr: []
} };
}, },
watch: { watch: {
filterText(val) { filterText(val) {
...@@ -323,244 +476,302 @@ ...@@ -323,244 +476,302 @@
} }
}, },
methods: { methods: {
uploadTest(file){ //上传 uploadTest(file) {
let newArr=[]; //上传
newArr.push(file.file) let newArr = [];
let path="/Upload/Temporary/" newArr.push(file.file);
this.UploadSelfFile(path,newArr,x=>{ let path = "/Upload/Temporary/";
let url = this.domainManager().ViittoFileUrl + x.data.FilePath this.UploadSelfFile(path, newArr, x => {
this.appMsg.Image.push(url) let url = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.fileList.push({url:url}) this.appMsg.Image.push(url);
this.fileList.push({ url: url });
}); });
}, },
handleRemove(file){ //删除 handleRemove(file) {
this.fileList.forEach((item,index)=>{ //删除
if(item.url==file.url) this.fileList.forEach((item, index) => {
{ if (item.url == file.url) {
this.fileList.splice(index,1) this.fileList.splice(index, 1);
} }
}) });
this.appMsg.Image.forEach((item,index)=>{ this.appMsg.Image.forEach((item, index) => {
if(item==file.url) if (item == file.url) {
{ this.appMsg.Image.splice(index, 1);
this.appMsg.Image.splice(index,1)
} }
}) });
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {
this.$message.warning('最多只能上传9张图片!'); this.$message.warning("最多只能上传9张图片!");
}, },
clearDialogMsg(done){ clearDialogMsg(done) {
done() done();
this.appMsg.Description='' this.appMsg.Description = "";
// this.appMsg.Image=[] // this.appMsg.Image=[]
}, },
btnClearDialogMsg(){ btnClearDialogMsg() {
this.outerVisible=false this.outerVisible = false;
this.appMsg.Description='' this.appMsg.Description = "";
}, },
btnClearTransferDialog(done){ btnClearTransferDialog(done) {
this.outerVisible1=false this.outerVisible1 = false;
this.filterText='' this.filterText = "";
this.transferMsg.WorkFlowId='' this.transferMsg.WorkFlowId = "";
this.transferMsg.TemplateType='' this.transferMsg.TemplateType = "";
this.transferMsg.Description='' this.transferMsg.Description = "";
this.transferMsg.CareOfEmId='-1' this.transferMsg.CareOfEmId = "-1";
this.$refs.tree.setCheckedKeys([]); this.$refs.tree.setCheckedKeys([]);
}, },
closePicLayer(){ closePicLayer() {
this.dspNone=true this.dspNone = true;
}, },
getPic(obj){ getPic(obj) {
//console.log(obj) //console.log(obj)
this.picObj=obj this.picObj = obj;
this.dspNone=false; this.dspNone = false;
}, },
filterNode(value, data) { filterNode(value, data) {
if (!value) return true; if (!value) return true;
return data.DepartmentName.indexOf(value) !== -1; return data.DepartmentName.indexOf(value) !== -1;
}, },
openDialog(IsAgree,workFlowId,templateType){ openDialog(IsAgree, workFlowId, templateType) {
this.agree=IsAgree this.agree = IsAgree;
this.dialogTitle='审批流程' this.dialogTitle = "审批流程";
this.outerVisible=true; this.outerVisible = true;
this.workFlowId=workFlowId; this.workFlowId = workFlowId;
this.templateType=templateType; this.templateType = templateType;
}, },
transferDialog(workFlowId,templateType){ transferDialog(workFlowId, templateType) {
this.dialogTitle1='转交流程' this.dialogTitle1 = "转交流程";
this.outerVisible1=true; this.outerVisible1 = true;
this.workFlowId=workFlowId; this.workFlowId = workFlowId;
this.templateType=templateType; this.templateType = templateType;
this.apipost('WorkFlow_get_GetDepartMentEmployee', {}, res => { this.apipost(
if(res.data.resultCode == 1) { "WorkFlow_get_GetDepartMentEmployee",
{},
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data) //console.log(res.data.data)
this.memberList = res.data.data this.memberList = res.data.data;
} }
}, err => {}) },
}, err => {}
clearTransferDialog(done){ );
done() },
this.filterText='' clearTransferDialog(done) {
this.transferMsg.WorkFlowId='' done();
this.transferMsg.TemplateType='' this.filterText = "";
this.transferMsg.Description='' this.transferMsg.WorkFlowId = "";
this.transferMsg.CareOfEmId='-1' this.transferMsg.TemplateType = "";
this.transferMsg.Description = "";
this.transferMsg.CareOfEmId = "-1";
this.$refs.tree.setCheckedKeys([]); this.$refs.tree.setCheckedKeys([]);
}, },
handleNodeChange(data,checked, node){ handleNodeChange(data, checked, node) {
if(checked){ if (checked) {
if(data.DepartmentId!=0){ if (data.DepartmentId != 0) {
this.arr.push(data.DepartmentId) this.arr.push(data.DepartmentId);
this.$refs.tree.setCheckedKeys([data.DepartmentId]); this.$refs.tree.setCheckedKeys([data.DepartmentId]);
this.transferMsg.CareOfEmId=data.DepartmentId; this.transferMsg.CareOfEmId = data.DepartmentId;
} }
}else{ } else {
if(this.arr.length==1){ if (this.arr.length == 1) {
this.arr=[] this.arr = [];
this.transferMsg.CareOfEmId='-1' this.transferMsg.CareOfEmId = "-1";
}else{ } else {
this.arr=this.arr.slice(this.arr.length-1) this.arr = this.arr.slice(this.arr.length - 1);
this.transferMsg.CareOfEmId=this.arr[this.arr.length-1] this.transferMsg.CareOfEmId = this.arr[this.arr.length - 1];
} }
} }
//console.log(this.transferMsg.CareOfEmId) //console.log(this.transferMsg.CareOfEmId)
}, },
transferApproval(){ transferApproval() {
this.transferMsg.WorkFlowId=this.workFlowId this.transferMsg.WorkFlowId = this.workFlowId;
this.transferMsg.TemplateType=this.templateType this.transferMsg.TemplateType = this.templateType;
if(this.transferMsg.CareOfEmId=='-1') if (this.transferMsg.CareOfEmId == "-1") {
{ this.$message.warning("请选择转交人!");
this.$message.warning('请选择转交人!') return;
return
} }
this.apipost('WorkFlow_post_SetCareOf',this.transferMsg,res=>{ this.apipost(
if(res.data.resultCode == 1) { "WorkFlow_post_SetCareOf",
this.$message.success(res.data.message) this.transferMsg,
this.outerVisible1=false; res => {
this.getList() if (res.data.resultCode == 1) {
this.closeLayer() this.$message.success(res.data.message);
}else{ this.outerVisible1 = false;
this.$message.error(res.data.message) this.getList();
this.closeLayer();
} else {
this.$message.error(res.data.message);
} }
},err=>{}) },
}, err => {}
agreeApproval(){ );
this.appMsg.WorkFlowId=this.workFlowId },
this.appMsg.TemplateType=this.templateType agreeApproval() {
this.apipost('WorkFlow_post_SetConsent',this.appMsg,res=>{ this.appMsg.WorkFlowId = this.workFlowId;
if(res.data.resultCode == 1) { this.appMsg.TemplateType = this.templateType;
this.$message.success(res.data.message) this.apipost(
this.outerVisible=false; "WorkFlow_post_SetConsent",
this.getList() this.appMsg,
this.btnClearDialogMsg() res => {
this.closeLayer() if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
}else{ this.outerVisible = false;
this.$message.error(res.data.message) this.getList();
this.btnClearDialogMsg();
this.closeLayer();
} else {
this.$message.error(res.data.message);
} }
},err=>{}) },
}, err => {}
rejectApproval(){ );
this.appMsg.WorkFlowId=this.workFlowId },
this.appMsg.TemplateType=this.templateType rejectApproval() {
this.apipost('WorkFlow_post_SetNotConsent',this.appMsg,res=>{ this.appMsg.WorkFlowId = this.workFlowId;
if(res.data.resultCode == 1) { this.appMsg.TemplateType = this.templateType;
this.$message.success(res.data.message) this.apipost(
this.outerVisible=false; "WorkFlow_post_SetNotConsent",
this.getList() this.appMsg,
this.btnClearDialogMsg() res => {
this.closeLayer() if (res.data.resultCode == 1) {
}else{ this.$message.success(res.data.message);
this.$message.error(res.data.message) this.outerVisible = false;
this.getList();
this.btnClearDialogMsg();
this.closeLayer();
} else {
this.$message.error(res.data.message);
} }
},err=>{}) },
err => {}
);
}, },
withdrawAapproval(workFlowId,templateType){ withdrawAapproval(workFlowId, templateType) {
this.$confirm('是否撤回?', '提示', { this.$confirm("是否撤回?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning"
}).then(() => { })
this.apipost('app_user_workflow_wndoaudit',{workFlowId:workFlowId,templateType:templateType},res=>{ .then(() => {
if(res.data.resultCode == 1) { this.apipost(
this.$message.success('撤回成功。') "app_user_workflow_wndoaudit",
this.getList() { workFlowId: workFlowId, templateType: templateType },
res => {
if (res.data.resultCode == 1) {
this.$message.success("撤回成功。");
this.getList();
} }
},err=>{}) },
}).catch(() => { err => {}
this.$message.info('已取消撤回。') );
})
.catch(() => {
this.$message.info("已取消撤回。");
}); });
}, },
updateAapproval(path,cmd,submitCmd,workFlowId,templateId){ updateAapproval(path, cmd, submitCmd, workFlowId, templateId) {
this.$router.push({ name: path, query:{cmd:cmd,submitCmd:submitCmd,workFlowId:workFlowId,templateId:templateId}}) this.$router.push({
name: path,
query: {
cmd: cmd,
submitCmd: submitCmd,
workFlowId: workFlowId,
templateId: templateId
}
});
}, },
getBigpic(obj){ getBigpic(obj) {
console.log(obj) console.log(obj);
}, },
toArr(val){ toArr(val) {
let arr=[] let arr = [];
if(val!="[]") if (val != "[]") {
{ val
val.substring(1,val.length-1).split(',').forEach(item=>{ .substring(1, val.length - 1)
arr.push(item.substring(1,item.length-1)) .split(",")
.forEach(item => {
arr.push(item.substring(1, item.length - 1));
}); });
} }
return arr; return arr;
}, },
getDetail(id,type){ getDetail(id, type) {
this.showLayer(); this.showLayer();
this.apipost('app_user_workflow_GetAuditInfo',{WorkFlowId:id,TemplateType:type},res=>{ this.apipost(
if(res.data.resultCode == 1) { "app_user_workflow_GetAuditInfo",
this.detailList=res.data.data { WorkFlowId: id, TemplateType: type },
this.IsAudit=res.data.data.IsAudit res => {
this.IsCancel=res.data.data.IsCancel if (res.data.resultCode == 1) {
this.IsUpdate=res.data.data.IsUpdate this.detailList = res.data.data;
console.log(this.detailList) this.IsAudit = res.data.data.IsAudit;
this.IsCancel = res.data.data.IsCancel;
this.IsUpdate = res.data.data.IsUpdate;
console.log(this.detailList);
} }
},err=>{})
}, },
getList(){ err => {}
this.loading=true; );
this.apipost('app_user_workflow_my_audit',this.msg,res=>{ },
if(res.data.resultCode == 1) { getList() {
this.loading = true;
this.apipost(
"app_user_workflow_my_audit",
this.msg,
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data) //console.log(res.data.data)
this.list=res.data.data.pageData; this.list = res.data.data.pageData;
this.total=res.data.data.count; this.total = res.data.data.count;
this.loading=false this.loading = false;
} }
},err=>{})
}, },
getApplyType(){ //模板类型 err => {}
this.apipost('app_user_workflow_get_templatetype',{},res=>{ );
if(res.data.resultCode == 1) { },
getApplyType() {
//模板类型
this.apipost(
"app_user_workflow_get_templatetype",
{},
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data) //console.log(res.data.data)
res.data.data.forEach(item=>{ res.data.data.forEach(item => {
for(let key in item){ for (let key in item) {
if (item.hasOwnProperty(key)){ if (item.hasOwnProperty(key)) {
this.ApplyTypeList.push({label:key,value:item[key]}) this.ApplyTypeList.push({ label: key, value: item[key] });
} }
} }
}) });
} }
},err=>{})
}, },
getAppAuditStatus(){ err => {}
this.apipost('app_user_workflow_get_myinitiate_auditstatus',{},res=>{ );
if(res.data.resultCode == 1) { },
getAppAuditStatus() {
this.apipost(
"app_user_workflow_get_myinitiate_auditstatus",
{},
res => {
if (res.data.resultCode == 1) {
//console.log(res.data.data) //console.log(res.data.data)
res.data.data.forEach(item=>{ res.data.data.forEach(item => {
for(let key in item){ for (let key in item) {
if (item.hasOwnProperty(key)){ if (item.hasOwnProperty(key)) {
this.appAuditStatusList.push({label:key,value:item[key]}) this.appAuditStatusList.push({
label: key,
value: item[key]
});
} }
} }
}) });
} }
},err=>{}) },
err => {}
);
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
...@@ -568,81 +779,282 @@ ...@@ -568,81 +779,282 @@
}, },
resetPageIndex() { resetPageIndex() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.currentPage = 1 this.currentPage = 1;
}, },
showLayer() { showLayer() {
this.showlayer = true; this.showlayer = true;
this.isTransition = true; this.isTransition = true;
this.displayNone=false this.displayNone = false;
}, },
closeLayer() { closeLayer() {
let _this = this; let _this = this;
setTimeout(function() { setTimeout(function() {
_this.showlayer = false; _this.showlayer = false;
}, 300) }, 300);
this.isTransition = false; this.isTransition = false;
this.displayNone=true this.displayNone = true;
}, },
goUrl (path,id) { goUrl(path, id) {
this.$router.push({ name: path}) this.$router.push({ name: path });
} }
}, },
mounted() { mounted() {
this.getList() this.getList();
this.getApplyType() this.getApplyType();
this.getAppAuditStatus() 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 { /*滚动条整体样式*/
width: 4px; /*高宽分别对应横竖滚动条的尺寸*/
height: 8px;
}
.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;
}
.forMyApprovalProcess {
background: #f8f8f8; background: #f8f8f8;
max-height: 400px; max-height: 400px;
overflow-y: auto; overflow-y: auto;
} }
.auditItemImgList{} .auditItemImgList {
.auditItemImgList>img{width: 48px; height: 48px; border-radius: 4px; margin:8px 0 8px 10px;} }
.auditItemDetailtitle{} .auditItemImgList > img {
.auditItemDetailtitle>img{float: left; border-radius: 16px; margin: 0 10px 0 0;} width: 48px;
.auditItemDetailtitle>span{line-height: 32px;} height: 48px;
.forMyApprovalLayer{position: fixed; z-index: 99; background: rgba(0,0,0,.2); width: 100%; height: 100%; left: 0; top: 0;} border-radius: 4px;
.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;} margin: 8px 0 8px 10px;
.forMyApprovalLayer .rightZero{right: 0px;} }
.forMyApprovalLayercontentDiv .title{height: 48px; background: #EDEEF0; line-height: 48px; font-size:16px; color: #333; text-indent: 30px;} .auditItemDetailtitle {
.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;} .auditItemDetailtitle > img {
.forMyApprovalLayercontentDiv .user>img{width:58px; height: 58px; border-radius: 29px; float: left; margin:0 12px 0 0;} float: left;
.forMyApprovalLayercontentDiv .detail{width: 340px; margin: 0 30px; padding: 25px 0; border-bottom: 1px solid #E6E6E6; min-height: 120px;} border-radius: 16px;
.forMyApprovalLayercontentDiv .audit{width: 340px; margin: 30px 30px 0; min-height: 120px; border-bottom: 1px solid #E6E6E6;} margin: 0 10px 0 0;
.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;} .auditItemDetailtitle > span {
.forMyApprovalLayercontentDiv .audit .auditItem>p{line-height: 40px;text-indent: 40px;} line-height: 32px;
.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;} .forMyApprovalLayer {
.forMyApprovalLayercontentDiv .send .sentTitle{height: 14px; line-height: 14px; text-indent:10px; border-left:3px solid #E95252; font-size: 14px;} position: fixed;
.forMyApprovalLayercontentDiv .send .sentTitle span{color: #666; margin-left: 20px;} z-index: 99;
.forMyApprovalLayercontentDiv .send .sendList>div{float: left; margin: 10px 10px 0 0; font-size: 12px; color: #666; width: 40px; text-align: center;} background: rgba(0, 0, 0, 0.2);
.forMyApprovalLayercontentDiv .send .sendList>div>img{width: 40px; height: 40px; border-radius: 20px;} width: 100%;
.forMyApprovalLayercontentDiv .myApprovalTable tr{height: 40px; font-size: 14px;} height: 100%;
.forMyApprovalLayercontentDiv .myApprovalTable tr td:nth-child(1){text-align: right; color: #666; } left: 0;
.forMyApprovalLayerBtn{position: fixed; bottom: 0; background: #fff; width: 100%; height: 40px; line-height: 40px; padding: 0 30px; border-top:1px solid #F0F3FA} top: 0;
.forMyApprovalLayerBtn input{margin-right: 10px;} }
.myApprovalMenu{width: 100%; height: 40px; text-align: center; line-height: 40px; background: #fff; border-radius: 4px; margin: 30px 0;} .forMyApprovalLayercontentDiv {
.myApprovalMenu li{float: left; width:25%; font-size: 14px; color: #666; cursor: pointer;} width: 400px;
.myApprovalMenu li:hover{border-bottom: 2px solid #E95252;} background: #fff;
.myApprovalMenu li.cked{border-bottom: 2px solid #E95252; font-size: 16px; color:#E95252;} height: 100%;
.forMyApprovalTable{width: 100%; min-width: 1600px; height: 38px;} overflow: auto;
.forMyApprovalTable li{float: left; width: 20%; height: 38px; line-height: 38px; font-size: 14px; text-indent: 20px;background: #EDEDED; font-family: PingFangSC-Semibold !important;} top: 0;
.forMyApprovalItem{width: 100%; min-width: 1600px; min-height:80px; padding: 20px 0; background: #fff; border-bottom:1px solid #f9f9f9; overflow: hidden;} right: -800px;
.forMyApprovalItem li{float:left; width: 20%; height: 100%; font-size: 14px; text-indent: 20px;} position: fixed;
.forMyApprovalItem li>p{line-height: 24px; color: #666;} box-shadow: 4px 0px 10px rgba(0, 0, 0, 0.1);
.forMyApprovalItem:hover{box-shadow:0px 0px 10px rgba(191,191,191,1);transition: all linear 0.3s; position: relative; z-index: 5;} transition: right 0.5s;
.forMyApprovalItem li>img{float: left; width: 40px; height: 40px; border-radius: 20px; margin: 0 10px 20px 30px;} }
.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