501 lines
36 KiB
JavaScript
501 lines
36 KiB
JavaScript
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["chunk-53a1154a"], { "1e44": function(e, t, a) {
|
|
a("f4aa"), e.exports = a("ce99").Object.getOwnPropertySymbols;
|
|
}, "23d2": function(e, t, a) {
|
|
}, "655b": function(e, t, a) {
|
|
"use strict";
|
|
a("f0c6");
|
|
}, "67d5": function(e, t, a) {
|
|
"use strict";
|
|
a.d(t, "i", (function() {
|
|
return r;
|
|
})), a.d(t, "j", (function() {
|
|
return o;
|
|
})), a.d(t, "f", (function() {
|
|
return i;
|
|
})), a.d(t, "b", (function() {
|
|
return s;
|
|
})), a.d(t, "c", (function() {
|
|
return c;
|
|
})), a.d(t, "k", (function() {
|
|
return l;
|
|
})), a.d(t, "e", (function() {
|
|
return u;
|
|
})), a.d(t, "d", (function() {
|
|
return d;
|
|
})), a.d(t, "h", (function() {
|
|
return p;
|
|
})), a.d(t, "a", (function() {
|
|
return m;
|
|
})), a.d(t, "g", (function() {
|
|
return f;
|
|
}));
|
|
var n = a("b775");
|
|
function r(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/Role/pageList", method: "post", data: e2 });
|
|
}
|
|
function o(e2) {
|
|
return Object(n["a"])({ url: "/company/organizationalStructure/selectOsList", method: "post", data: e2 });
|
|
}
|
|
function i(e2) {
|
|
return Object(n["a"])({ url: "/company/organizationalStructure/findOsTree", method: "post", data: e2 });
|
|
}
|
|
function s(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/Role/create", method: "post", data: e2 });
|
|
}
|
|
function c(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/Role/delete", method: "post", data: e2 });
|
|
}
|
|
function l(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/Role/update", method: "post", data: e2 });
|
|
}
|
|
function u(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/RoleMenuRel/findByRoleIdAndClienId", method: "post", data: e2 });
|
|
}
|
|
function d(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/OrganizationRoleRel/findByRoleId", method: "post", data: e2 });
|
|
}
|
|
function p(e2) {
|
|
return Object(n["a"])({ url: "/company/member/pageListForRole", method: "post", data: e2 });
|
|
}
|
|
function m(e2) {
|
|
return Object(n["a"])({ url: "/company/MemberRoleRel/batchDelete", method: "post", data: e2 });
|
|
}
|
|
function f(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/account/findProjectByRole", method: "post", data: e2 });
|
|
}
|
|
}, "8e51": function(e, t, a) {
|
|
"use strict";
|
|
a("dc90");
|
|
}, "95b5": function(e, t, a) {
|
|
"use strict";
|
|
a.r(t);
|
|
var n = function() {
|
|
var e2 = this, t2 = e2.$createElement, a2 = e2._self._c || t2;
|
|
return a2("div", { staticClass: "app-container cardSet" }, [a2("el-tabs", { attrs: { type: "border-card" }, model: { value: e2.homeActive, callback: function(t3) {
|
|
e2.homeActive = t3;
|
|
}, expression: "homeActive" } }, [a2("el-tab-pane", { attrs: { label: "项目", name: "visitProject" } }, [a2("visit-project", { ref: "visitProject" })], 1), e2._v(" "), a2("el-tab-pane", { attrs: { label: "员工", name: "visitStaff" } }, [a2("visit-staff", { ref: "visitStaff" })], 1)], 1)], 1);
|
|
}, r = [], o = function() {
|
|
var e2 = this, t2 = e2.$createElement, a2 = e2._self._c || t2;
|
|
return a2("div", [a2("div", { staticClass: "searchBar" }, [a2("el-form", { ref: "searchForm", attrs: { model: e2.searchInfo } }, [a2("el-row", { attrs: { gutter: 24 } }, [a2("el-col", { attrs: { span: 21 } }, [a2("el-row", { attrs: { gutter: 24 } }, [a2("el-col", { attrs: { span: 3 } }, [a2("el-form-item", { attrs: { prop: "projectUuid" } }, [a2("el-select", { staticClass: "w-full", attrs: { clearable: "", filterable: "", placeholder: "请选择项目" }, model: { value: e2.searchInfo.projectUuid, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "projectUuid", t3);
|
|
}, expression: "searchInfo.projectUuid" } }, e2._l(e2.projectList, (function(e3) {
|
|
return a2("el-option", { key: e3.uuid, attrs: { label: e3.name, value: e3.uuid } });
|
|
})), 1)], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 4 } }, [a2("el-form-item", { attrs: { prop: "visitTypeList" } }, [a2("el-select", { attrs: { clearable: "", filterable: "", multiple: "", placeholder: "请选择拜访方式" }, model: { value: e2.searchInfo.visitTypeList, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "visitTypeList", t3);
|
|
}, expression: "searchInfo.visitTypeList" } }, e2._l(e2.visitWayList, (function(e3) {
|
|
return a2("el-option", { key: e3.value, attrs: { label: e3.label, value: e3.value } });
|
|
})), 1)], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 5 } }, [a2("el-form-item", { attrs: { prop: "sourceList" } }, [a2("el-select", { attrs: { clearable: "", filterable: "", multiple: "", placeholder: "请选择来源" }, model: { value: e2.searchInfo.sourceList, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "sourceList", t3);
|
|
}, expression: "searchInfo.sourceList" } }, e2._l(e2.sourceList, (function(e3) {
|
|
return a2("el-option", { key: e3.value, attrs: { label: e3.label, value: e3.value } });
|
|
})), 1)], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 6 } }, [a2("el-form-item", { attrs: { prop: "expectedTime" } }, [a2("el-date-picker", { staticClass: "time-range-picker", attrs: { type: "datetimerange", format: "yyyy-MM-dd HH:mm:ss", "value-format": "yyyy-MM-dd HH:mm:ss", "range-separator": "至", "start-placeholder": "应拜访开始时间", "end-placeholder": "应拜访结束时间", "default-time": ["00:00:00", "23:59:59"] }, on: { change: e2.handleExpectedTimeChange }, model: { value: e2.expectedTimeRange, callback: function(t3) {
|
|
e2.expectedTimeRange = t3;
|
|
}, expression: "expectedTimeRange" } })], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 6 } }, [a2("el-form-item", { attrs: { prop: "actualTime" } }, [a2("div", { staticClass: "range-line" }, [a2("el-date-picker", { staticClass: "time-range-picker", attrs: { type: "datetimerange", format: "yyyy-MM-dd HH:mm:ss", "value-format": "yyyy-MM-dd HH:mm:ss", "range-separator": "至", "start-placeholder": "实际拜访开始时间", "end-placeholder": "实际拜访结束时间", "default-time": ["00:00:00", "23:59:59"] }, on: { change: e2.handleActualTimeChange }, model: { value: e2.actualTimeRange, callback: function(t3) {
|
|
e2.actualTimeRange = t3;
|
|
}, expression: "actualTimeRange" } }), e2._v(" "), a2("el-tooltip", { staticClass: "ml-8", attrs: { placement: "top" } }, [a2("span", { attrs: { slot: "content" }, slot: "content" }, [a2("div", [e2._v("实际拜访时间是指拜访工作实际提交的时间")]), e2._v(" "), a2("div", [e2._v("\n 应拜访数不一定等于未拜访,按时拜访和超时拜访之和\n ")])]), e2._v(" "), a2("span", [a2("i", { staticClass: "el-icon-question" })])])], 1)])], 1)], 1)], 1), e2._v(" "), a2("el-col", { staticClass: "btns", attrs: { span: 3 } }, [a2("el-button", { attrs: { type: "primary" }, on: { click: e2.onSearch } }, [e2._v("查询")]), e2._v(" "), a2("el-button", { on: { click: function(t3) {
|
|
return e2.resetForm("searchForm");
|
|
} } }, [e2._v("重置")])], 1)], 1)], 1)], 1), e2._v(" "), a2("div", { staticClass: "planLst" }, [a2("el-button", { attrs: { type: "primary", loading: e2.loading }, on: { click: e2.exportExcel } }, [e2._v("\n 下载Excel\n ")])], 1), e2._v(" "), a2("el-table", { directives: [{ name: "loading", rawName: "v-loading", value: e2.tableLoading, expression: "tableLoading" }], staticStyle: { width: "100%" }, attrs: { "header-cell-style": { background: "#eef1f6", color: "#606266" }, data: e2.tableData, align: "center", border: "" } }, [a2("el-table-column", { attrs: { label: "序号", align: "center", width: "80", fixed: "" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("span", [e2._v(e2._s((e2.searchInfo.pageNumber - 1) * e2.searchInfo.pageSize + t3.$index + 1))])];
|
|
} }]) }), e2._v(" "), a2("el-table-column", { attrs: { label: "项目名称", prop: "projectName", align: "center", "show-overflow-tooltip": "" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "拜访方式", prop: "visitType", align: "center", formatter: e2.formatVisitType } }), e2._v(" "), a2("el-table-column", { attrs: { label: "来源", prop: "source", align: "center" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("span", [e2._v(e2._s(e2._f("getItemType")(t3.row.source, e2.sourceList)))])];
|
|
} }]) }), e2._v(" "), a2("el-table-column", { attrs: { label: "应拜访", prop: "total", align: "center" } }, [a2("template", { slot: "header" }, [a2("div", [e2._v("\n 应拜访\n "), a2("el-tooltip", { attrs: { placement: "top" } }, [a2("div", { attrs: { slot: "content" }, slot: "content" }, [a2("div", [e2._v("当月数据逻辑:")]), e2._v(" "), a2("div", [e2._v("应拜访 = 未拜访 + 按时拜访 + 超时拜访")])]), e2._v(" "), a2("span", [a2("i", { staticClass: "el-icon-question" })])])], 1)])], 2), e2._v(" "), a2("el-table-column", { attrs: { label: "应付金额(元)", prop: "payableAmount", align: "right" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("div", { staticStyle: { "text-align": "right" } }, [e2._v(e2._s(e2._f("formatMoney")(t3.row.payableAmount)))])];
|
|
} }]) }), e2._v(" "), a2("el-table-column", { attrs: { label: "未拜访", prop: "notVisitedNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "按时拜访", prop: "timelyVisitedNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "超时拜访", prop: "overdueVisitedNum", align: "center" } }, [a2("template", { slot: "header" }, [a2("div", [e2._v("\n 超时拜访\n "), a2("el-tooltip", { attrs: { placement: "top" } }, [a2("div", { attrs: { slot: "content" }, slot: "content" }, [a2("div", [e2._v("超时拜访指实际完成时间是在待拜访时间后完成的")]), e2._v(" "), a2("div", [e2._v("以天为单位")])]), e2._v(" "), a2("span", [a2("i", { staticClass: "el-icon-question" })])])], 1)])], 2), e2._v(" "), a2("el-table-column", { attrs: { label: "未回款(户)", prop: "unPaidNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "已回款(户)", prop: "paidNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "已回款金额(元)", prop: "receivedAmount", align: "right" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("div", { staticStyle: { "text-align": "right" } }, [e2._v(e2._s(e2._f("formatMoney")(t3.row.receivedAmount)))])];
|
|
} }]) })], 1), e2._v(" "), a2("div", { staticClass: "paginationSet" }, [a2("el-pagination", { attrs: { background: "", "current-page": e2.searchInfo.pageNumber, "page-sizes": [10, 20, 30, 50], "page-size": e2.searchInfo.pageSize, layout: "total, sizes, prev, pager, next, jumper", total: e2.total }, on: { "size-change": e2.handleSizeChange, "current-change": e2.handleCurrentChange } })], 1)], 1);
|
|
}, i = [], s = (a("e5b4"), a("1e44")), c = a.n(s);
|
|
function l(e2, t2) {
|
|
if (null == e2) return {};
|
|
var a2 = {};
|
|
for (var n2 in e2) if ({}.hasOwnProperty.call(e2, n2)) {
|
|
if (-1 !== t2.indexOf(n2)) continue;
|
|
a2[n2] = e2[n2];
|
|
}
|
|
return a2;
|
|
}
|
|
function u(e2, t2) {
|
|
if (null == e2) return {};
|
|
var a2, n2, r2 = l(e2, t2);
|
|
if (c.a) {
|
|
var o2 = c()(e2);
|
|
for (n2 = 0; n2 < o2.length; n2++) a2 = o2[n2], -1 === t2.indexOf(a2) && {}.propertyIsEnumerable.call(e2, a2) && (r2[a2] = e2[a2]);
|
|
}
|
|
return r2;
|
|
}
|
|
var d = a("67d5"), p = a("dce5"), m = a("b071"), f = ["pageNumber", "pageSize"], h = ["pageNumber", "pageSize"], b = { name: "VisitProject", data: function() {
|
|
return { visitWayList: p["Gb"], sourceList: p["Fb"], loading: false, tableLoading: false, projectList: [], tableData: [], total: 0, expectedTimeRange: [], actualTimeRange: [], expectedStart: "", expectedEnd: "", actualStart: "", actualEnd: "", searchInfo: { companyId: 0, projectUuids: [], statType: 1, startTime: "", endTime: "", submitStartTime: "", submitEndTime: "", sourceList: [], showResignedEmp: 0, pageNumber: 1, pageSize: 10, visitTypeList: [] } };
|
|
}, created: function() {
|
|
this.searchInfo.companyId = JSON.parse(localStorage.getItem("companyInfo")).osId, this.setDefaultExpectedRange(), this.getProjectInfo(), this.getList();
|
|
}, methods: { getProjectInfo: function() {
|
|
var e2 = this, t2 = JSON.parse(window.localStorage.getItem("companyInfo")).osId;
|
|
Object(d["j"])({ id: t2, attribute: 1 }).then((function(t3) {
|
|
0 === t3.code && t3.data ? e2.projectList = t3.data : e2.projectList = [];
|
|
}));
|
|
}, getList: function() {
|
|
var e2 = this;
|
|
this.tableLoading = true;
|
|
var t2 = this.searchInfo, a2 = (t2.pageNumber, t2.pageSize, u(t2, f));
|
|
Object(m["I"])(a2).then((function(t3) {
|
|
if (0 === t3.code) {
|
|
var a3 = t3.data;
|
|
if (Array.isArray(a3)) {
|
|
e2.total = a3.length;
|
|
var n2 = (e2.searchInfo.pageNumber - 1) * e2.searchInfo.pageSize, r2 = n2 + e2.searchInfo.pageSize;
|
|
e2.tableData = a3.slice(n2, r2);
|
|
} else e2.tableData = a3 && a3.records || [], e2.total = a3 && a3.total || 0;
|
|
} else e2.$message.error(t3.msg || "获取数据失败");
|
|
e2.tableLoading = false;
|
|
})).catch((function() {
|
|
e2.tableLoading = false, e2.$message.error("获取数据失败");
|
|
}));
|
|
}, formatVisitType: function(e2) {
|
|
var t2 = this.visitWayList.find((function(t3) {
|
|
return t3.value === e2.visitType;
|
|
}));
|
|
return t2 ? t2.label : "-";
|
|
}, exportExcel: function() {
|
|
var e2 = this;
|
|
this.loading = true;
|
|
var t2 = this.searchInfo, a2 = (t2.pageNumber, t2.pageSize, u(t2, h));
|
|
Object(m["J"])(a2).then((function(t3) {
|
|
var a3 = new Blob([t3], { type: "application/vnd.ms-excel;charset=UTF-8" });
|
|
if (window.navigator.msSaveOrOpenBlob) navigator.msSaveBlob(a3, "拜访工作报表.xlsx");
|
|
else {
|
|
var n2 = document.createElement("a");
|
|
n2.href = window.URL.createObjectURL(a3), n2.download = "拜访工作报表.xlsx", document.body.appendChild(n2), n2.click(), document.body.removeChild(n2), window.URL.revokeObjectURL(n2.href);
|
|
}
|
|
e2.loading = false;
|
|
})).catch((function() {
|
|
e2.loading = false, e2.$message.error("导出失败");
|
|
}));
|
|
}, handleExpectedTimeChange: function(e2) {
|
|
e2 && 2 === e2.length ? (this.searchInfo.startTime = e2[0], this.searchInfo.endTime = e2[1]) : (this.searchInfo.startTime = "", this.searchInfo.endTime = "");
|
|
}, handleActualTimeChange: function(e2) {
|
|
e2 && 2 === e2.length ? (this.searchInfo.submitStartTime = e2[0] + " 00:00:00", this.searchInfo.submitEndTime = e2[1] + " 23:59:59") : (this.searchInfo.submitStartTime = "", this.searchInfo.submitEndTime = "");
|
|
}, onSearch: function() {
|
|
this.searchInfo.pageNumber = 1, this.getList();
|
|
}, resetForm: function(e2) {
|
|
this.$refs[e2].resetFields(), this.expectedTimeRange = [], this.actualTimeRange = [], Object.assign(this.searchInfo, { projectUuids: [], startTime: "", endTime: "", submitStartTime: "", submitEndTime: "", sourceList: [], showResignedEmp: 0, pageNumber: 1 }), this.getList();
|
|
}, handleSizeChange: function(e2) {
|
|
this.searchInfo.pageSize = e2, this.searchInfo.pageNumber = 1, this.getList();
|
|
}, handleCurrentChange: function(e2) {
|
|
this.searchInfo.pageNumber = e2, this.getList();
|
|
}, setDefaultExpectedRange: function() {
|
|
var e2 = this.$moment().startOf("month").format("YYYY-MM-DD HH:mm:ss"), t2 = this.$moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"), a2 = [e2, t2];
|
|
this.expectedTimeRange = a2, this.handleExpectedTimeChange(a2);
|
|
} } }, g = b, v = (a("655b"), a("829d")), y = Object(v["a"])(g, o, i, false, null, "c02c4b72", null), T = y.exports, O = function() {
|
|
var e2 = this, t2 = e2.$createElement, a2 = e2._self._c || t2;
|
|
return a2("div", [a2("div", { staticClass: "searchBar" }, [a2("el-form", { ref: "searchForm", attrs: { model: e2.searchInfo } }, [a2("el-row", { attrs: { gutter: 24 } }, [a2("el-col", { attrs: { span: 21 } }, [a2("el-row", { attrs: { gutter: 24 } }, [a2("el-col", { attrs: { span: 3 } }, [a2("el-form-item", { attrs: { prop: "projectName" } }, [a2("el-input", { staticClass: "w-full", attrs: { placeholder: "项目名称", clearable: "" }, nativeOn: { keyup: function(t3) {
|
|
return !t3.type.indexOf("key") && e2._k(t3.keyCode, "enter", 13, t3.key, "Enter") ? null : e2.onSearch(t3);
|
|
} }, model: { value: e2.searchInfo.projectName, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "projectName", t3);
|
|
}, expression: "searchInfo.projectName" } })], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 3 } }, [a2("el-form-item", { attrs: { prop: "memberName" } }, [a2("el-input", { staticClass: "w-full", attrs: { placeholder: "员工姓名", clearable: "" }, nativeOn: { keyup: function(t3) {
|
|
return !t3.type.indexOf("key") && e2._k(t3.keyCode, "enter", 13, t3.key, "Enter") ? null : e2.onSearch(t3);
|
|
} }, model: { value: e2.searchInfo.memberName, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "memberName", t3);
|
|
}, expression: "searchInfo.memberName" } })], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 3 } }, [a2("el-form-item", { attrs: { prop: "visitTypeList" } }, [a2("el-select", { attrs: { clearable: "", filterable: "", multiple: "", placeholder: "请选择拜访方式" }, model: { value: e2.searchInfo.visitTypeList, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "visitTypeList", t3);
|
|
}, expression: "searchInfo.visitTypeList" } }, e2._l(e2.visitWayList, (function(e3) {
|
|
return a2("el-option", { key: e3.value, attrs: { label: e3.label, value: e3.value } });
|
|
})), 1)], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 3 } }, [a2("el-form-item", { attrs: { prop: "sourceList" } }, [a2("el-select", { attrs: { clearable: "", filterable: "", multiple: "", placeholder: "请选择来源" }, model: { value: e2.searchInfo.sourceList, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "sourceList", t3);
|
|
}, expression: "searchInfo.sourceList" } }, e2._l(e2.sourceList, (function(e3) {
|
|
return a2("el-option", { key: e3.value, attrs: { label: e3.label, value: e3.value } });
|
|
})), 1)], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 6 } }, [a2("el-form-item", { attrs: { prop: "expectedTime" } }, [a2("el-date-picker", { staticClass: "time-range-picker", attrs: { type: "datetimerange", format: "yyyy-MM-dd HH:mm:ss", "value-format": "yyyy-MM-dd HH:mm:ss", "range-separator": "至", "start-placeholder": "应拜访开始时间", "end-placeholder": "应拜访结束时间", "default-time": ["00:00:00", "23:59:59"] }, on: { change: e2.handleExpectedTimeChange }, model: { value: e2.expectedTimeRange, callback: function(t3) {
|
|
e2.expectedTimeRange = t3;
|
|
}, expression: "expectedTimeRange" } })], 1)], 1), e2._v(" "), a2("el-col", { attrs: { span: 6 } }, [a2("el-form-item", { attrs: { prop: "actualTime" } }, [a2("div", { staticClass: "range-line" }, [a2("el-date-picker", { staticClass: "time-range-picker", attrs: { type: "datetimerange", format: "yyyy-MM-dd HH:mm:ss", "value-format": "yyyy-MM-dd HH:mm:ss", "range-separator": "至", "start-placeholder": "实际拜访开始时间", "end-placeholder": "实际拜访结束时间", "default-time": ["00:00:00", "23:59:59"] }, on: { change: e2.handleActualTimeChange }, model: { value: e2.actualTimeRange, callback: function(t3) {
|
|
e2.actualTimeRange = t3;
|
|
}, expression: "actualTimeRange" } }), e2._v(" "), a2("el-tooltip", { staticClass: "ml-8", attrs: { placement: "top" } }, [a2("span", { attrs: { slot: "content" }, slot: "content" }, [a2("div", [e2._v("实际拜访时间是指拜访工作实际提交的时间")]), e2._v(" "), a2("div", [e2._v("\n 应拜访数不一定等于未拜访,按时拜访和超时拜访之和\n ")])]), e2._v(" "), a2("span", [a2("i", { staticClass: "el-icon-question" })])])], 1)])], 1), e2._v(" "), a2("el-col", { staticClass: "mt-8", attrs: { span: 24 } }, [a2("el-form-item", { attrs: { prop: "showResignedEmp" } }, [a2("el-checkbox", { attrs: { "true-label": 1, "false-label": 0 }, model: { value: e2.searchInfo.showResignedEmp, callback: function(t3) {
|
|
e2.$set(e2.searchInfo, "showResignedEmp", t3);
|
|
}, expression: "searchInfo.showResignedEmp" } }, [e2._v("显示离职人员")])], 1)], 1)], 1)], 1), e2._v(" "), a2("el-col", { staticClass: "btns", attrs: { span: 3 } }, [a2("el-button", { attrs: { type: "primary" }, on: { click: e2.onSearch } }, [e2._v("查询")]), e2._v(" "), a2("el-button", { on: { click: function(t3) {
|
|
return e2.resetForm("searchForm");
|
|
} } }, [e2._v("重置")])], 1)], 1)], 1)], 1), e2._v(" "), a2("div", { staticClass: "planLst" }, [a2("el-button", { attrs: { type: "primary", loading: e2.loading }, on: { click: e2.exportExcel } }, [e2._v("\n 下载Excel\n ")])], 1), e2._v(" "), a2("el-table", { directives: [{ name: "loading", rawName: "v-loading", value: e2.tableLoading, expression: "tableLoading" }], staticStyle: { width: "100%" }, attrs: { "header-cell-style": { background: "#eef1f6", color: "#606266" }, data: e2.tableData, align: "center", border: "" } }, [a2("el-table-column", { attrs: { label: "序号", align: "center", width: "80", fixed: "" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("span", [e2._v(e2._s((e2.searchInfo.pageNumber - 1) * e2.searchInfo.pageSize + t3.$index + 1))])];
|
|
} }]) }), e2._v(" "), a2("el-table-column", { attrs: { label: "项目名称", prop: "projectName", align: "center", "show-overflow-tooltip": "" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "员工姓名", prop: "memberName", align: "center", "show-overflow-tooltip": "" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "拜访方式", prop: "visitType", align: "center", formatter: e2.formatVisitType } }), e2._v(" "), a2("el-table-column", { attrs: { label: "来源", prop: "source", align: "center" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("span", [e2._v(e2._s(e2._f("getItemType")(t3.row.source, e2.sourceList)))])];
|
|
} }]) }), e2._v(" "), a2("el-table-column", { attrs: { label: "应拜访", prop: "total", align: "center" } }, [a2("template", { slot: "header" }, [a2("div", [e2._v("\n 应拜访\n "), a2("el-tooltip", { attrs: { placement: "top" } }, [a2("div", { attrs: { slot: "content" }, slot: "content" }, [a2("div", [e2._v("当月数据逻辑:")]), e2._v(" "), a2("div", [e2._v("应拜访 = 未拜访 + 按时拜访 + 超时拜访")])]), e2._v(" "), a2("span", [a2("i", { staticClass: "el-icon-question" })])])], 1)])], 2), e2._v(" "), a2("el-table-column", { attrs: { label: "应付金额", prop: "payableAmount", align: "right" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("div", { staticStyle: { "text-align": "right" } }, [e2._v(e2._s(e2._f("formatMoney")(t3.row.payableAmount)))])];
|
|
} }]) }), e2._v(" "), a2("el-table-column", { attrs: { label: "未拜访", prop: "notVisitedNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "按时拜访", prop: "timelyVisitedNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "超时拜访", prop: "overdueVisitedNum", align: "center" } }, [a2("template", { slot: "header" }, [a2("div", [e2._v("\n 超时拜访\n "), a2("el-tooltip", { attrs: { placement: "top" } }, [a2("div", { attrs: { slot: "content" }, slot: "content" }, [a2("div", [e2._v("超时拜访指实际完成时间是在待拜访时间后完成的")]), e2._v(" "), a2("div", [e2._v("以天为单位")])]), e2._v(" "), a2("span", [a2("i", { staticClass: "el-icon-question" })])])], 1)])], 2), e2._v(" "), a2("el-table-column", { attrs: { label: "未回款(户数)", prop: "unPaidNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "已回款(户数)", prop: "paidNum", align: "center" } }), e2._v(" "), a2("el-table-column", { attrs: { label: "回款金额", prop: "receivedAmount", align: "center" }, scopedSlots: e2._u([{ key: "default", fn: function(t3) {
|
|
return [a2("div", { staticStyle: { "text-align": "right" } }, [e2._v(e2._s(e2._f("formatMoney")(t3.row.receivedAmount)))])];
|
|
} }]) })], 1), e2._v(" "), a2("div", { staticClass: "paginationSet" }, [a2("el-pagination", { attrs: { background: "", "current-page": e2.searchInfo.pageNumber, "page-sizes": [10, 20, 30, 50], "page-size": e2.searchInfo.pageSize, layout: "total, sizes, prev, pager, next, jumper", total: e2.total }, on: { "size-change": e2.handleSizeChange, "current-change": e2.handleCurrentChange } })], 1)], 1);
|
|
}, S = [], k = ["pageNumber", "pageSize"], _ = ["pageNumber", "pageSize"], j = { name: "VisitStaff", data: function() {
|
|
return { visitWayList: p["Gb"], sourceList: p["Fb"], loading: false, tableLoading: false, tableData: [], total: 0, expectedTimeRange: [], actualTimeRange: [], expectedStart: "", expectedEnd: "", actualStart: "", actualEnd: "", searchInfo: { companyId: 0, memberName: "", projectName: "", statType: 2, startTime: "", endTime: "", submitStartTime: "", submitEndTime: "", showResignedEmp: 0, pageNumber: 1, pageSize: 10, visitTypeList: [], sourceList: [] } };
|
|
}, created: function() {
|
|
this.searchInfo.companyId = JSON.parse(localStorage.getItem("companyInfo")).osId, this.setDefaultExpectedRange(), this.getList();
|
|
}, methods: { getList: function() {
|
|
var e2 = this;
|
|
this.tableLoading = true;
|
|
var t2 = this.searchInfo, a2 = (t2.pageNumber, t2.pageSize, u(t2, k));
|
|
Object(m["I"])(a2).then((function(t3) {
|
|
if (0 === t3.code) {
|
|
var a3 = t3.data;
|
|
if (Array.isArray(a3)) {
|
|
e2.total = a3.length;
|
|
var n2 = (e2.searchInfo.pageNumber - 1) * e2.searchInfo.pageSize, r2 = n2 + e2.searchInfo.pageSize;
|
|
e2.tableData = a3.slice(n2, r2);
|
|
} else e2.tableData = a3 && a3.records || [], e2.total = a3 && a3.total || 0;
|
|
} else e2.$message.error(t3.msg || "获取数据失败");
|
|
e2.tableLoading = false;
|
|
})).catch((function() {
|
|
e2.tableLoading = false, e2.$message.error("获取数据失败");
|
|
}));
|
|
}, formatVisitType: function(e2) {
|
|
var t2 = this.visitWayList.find((function(t3) {
|
|
return t3.value === e2.visitType;
|
|
}));
|
|
return t2 ? t2.label : "-";
|
|
}, exportExcel: function() {
|
|
var e2 = this;
|
|
this.loading = true;
|
|
var t2 = this.searchInfo, a2 = (t2.pageNumber, t2.pageSize, u(t2, _));
|
|
Object(m["J"])(a2).then((function(t3) {
|
|
var a3 = new Blob([t3], { type: "application/vnd.ms-excel;charset=UTF-8" });
|
|
if (window.navigator.msSaveOrOpenBlob) navigator.msSaveBlob(a3, "拜访工作报表-员工.xlsx");
|
|
else {
|
|
var n2 = document.createElement("a");
|
|
n2.href = window.URL.createObjectURL(a3), n2.download = "拜访工作报表-员工.xlsx", document.body.appendChild(n2), n2.click(), document.body.removeChild(n2), window.URL.revokeObjectURL(n2.href);
|
|
}
|
|
e2.loading = false;
|
|
})).catch((function() {
|
|
e2.loading = false, e2.$message.error("导出失败");
|
|
}));
|
|
}, handleExpectedTimeChange: function(e2) {
|
|
e2 && 2 === e2.length ? (this.searchInfo.startTime = e2[0], this.searchInfo.endTime = e2[1]) : (this.searchInfo.startTime = "", this.searchInfo.endTime = "");
|
|
}, handleActualTimeChange: function(e2) {
|
|
e2 && 2 === e2.length ? (this.searchInfo.submitStartTime = e2[0], this.searchInfo.submitEndTime = e2[1]) : (this.searchInfo.submitStartTime = "", this.searchInfo.submitEndTime = "");
|
|
}, onSearch: function() {
|
|
this.searchInfo.pageNumber = 1, this.getList();
|
|
}, resetForm: function(e2) {
|
|
this.$refs[e2].resetFields(), this.expectedTimeRange = [], this.actualTimeRange = [], this.expectedStart = "", this.expectedEnd = "", this.actualStart = "", this.actualEnd = "", Object.assign(this.searchInfo, { memberName: "", startTime: "", endTime: "", submitStartTime: "", submitEndTime: "", showResignedEmp: 0, sourceList: [], pageNumber: 1 }), this.getList();
|
|
}, handleSizeChange: function(e2) {
|
|
this.searchInfo.pageSize = e2, this.searchInfo.pageNumber = 1, this.getList();
|
|
}, handleCurrentChange: function(e2) {
|
|
this.searchInfo.pageNumber = e2, this.getList();
|
|
}, setDefaultExpectedRange: function() {
|
|
var e2 = this.$moment().startOf("month").format("YYYY-MM-DD HH:mm:ss"), t2 = this.$moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"), a2 = [e2, t2];
|
|
this.expectedTimeRange = a2, this.handleExpectedTimeChange(a2);
|
|
} } }, I = j, x = (a("8e51"), Object(v["a"])(I, O, S, false, null, "4c88a1cc", null)), L = x.exports, C = { name: "VisitWorkReport", components: { visitProject: T, visitStaff: L }, data: function() {
|
|
return { homeActive: "visitProject" };
|
|
}, methods: {} }, R = C, P = (a("a2a4"), Object(v["a"])(R, n, r, false, null, "24d92544", null));
|
|
t["default"] = P.exports;
|
|
}, a2a4: function(e, t, a) {
|
|
"use strict";
|
|
a("23d2");
|
|
}, b071: function(e, t, a) {
|
|
"use strict";
|
|
a.d(t, "n", (function() {
|
|
return r;
|
|
})), a.d(t, "q", (function() {
|
|
return o;
|
|
})), a.d(t, "o", (function() {
|
|
return i;
|
|
})), a.d(t, "r", (function() {
|
|
return s;
|
|
})), a.d(t, "E", (function() {
|
|
return c;
|
|
})), a.d(t, "D", (function() {
|
|
return l;
|
|
})), a.d(t, "N", (function() {
|
|
return u;
|
|
})), a.d(t, "K", (function() {
|
|
return d;
|
|
})), a.d(t, "F", (function() {
|
|
return p;
|
|
})), a.d(t, "p", (function() {
|
|
return m;
|
|
})), a.d(t, "G", (function() {
|
|
return f;
|
|
})), a.d(t, "H", (function() {
|
|
return h;
|
|
})), a.d(t, "O", (function() {
|
|
return b;
|
|
})), a.d(t, "k", (function() {
|
|
return g;
|
|
})), a.d(t, "M", (function() {
|
|
return v;
|
|
})), a.d(t, "l", (function() {
|
|
return y;
|
|
})), a.d(t, "j", (function() {
|
|
return T;
|
|
})), a.d(t, "i", (function() {
|
|
return O;
|
|
})), a.d(t, "L", (function() {
|
|
return S;
|
|
})), a.d(t, "x", (function() {
|
|
return k;
|
|
})), a.d(t, "y", (function() {
|
|
return _;
|
|
})), a.d(t, "c", (function() {
|
|
return j;
|
|
})), a.d(t, "d", (function() {
|
|
return I;
|
|
})), a.d(t, "b", (function() {
|
|
return x;
|
|
})), a.d(t, "w", (function() {
|
|
return L;
|
|
})), a.d(t, "v", (function() {
|
|
return C;
|
|
})), a.d(t, "C", (function() {
|
|
return R;
|
|
})), a.d(t, "a", (function() {
|
|
return P;
|
|
})), a.d(t, "A", (function() {
|
|
return w;
|
|
})), a.d(t, "t", (function() {
|
|
return N;
|
|
})), a.d(t, "B", (function() {
|
|
return E;
|
|
})), a.d(t, "u", (function() {
|
|
return z;
|
|
})), a.d(t, "s", (function() {
|
|
return M;
|
|
})), a.d(t, "z", (function() {
|
|
return H;
|
|
})), a.d(t, "P", (function() {
|
|
return $;
|
|
})), a.d(t, "g", (function() {
|
|
return A;
|
|
})), a.d(t, "h", (function() {
|
|
return D;
|
|
})), a.d(t, "f", (function() {
|
|
return B;
|
|
})), a.d(t, "e", (function() {
|
|
return U;
|
|
})), a.d(t, "m", (function() {
|
|
return Y;
|
|
})), a.d(t, "I", (function() {
|
|
return V;
|
|
})), a.d(t, "J", (function() {
|
|
return F;
|
|
}));
|
|
var n = a("b775");
|
|
function r(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/currentYearTotal", method: "POST", data: e2 });
|
|
}
|
|
function o(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/employeeReport", method: "POST", data: e2 });
|
|
}
|
|
function i(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/currentYearTotalTask", method: "POST", data: e2 });
|
|
}
|
|
function s(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/employeeReportTask", method: "POST", data: e2 });
|
|
}
|
|
function c(e2) {
|
|
return Object(n["a"])({ url: "/company/Assess/pageListAssess", method: "POST", data: e2 });
|
|
}
|
|
function l(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/chargeTotal", method: "POST", data: e2 });
|
|
}
|
|
function u(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/currentTotalTask", method: "POST", data: e2 });
|
|
}
|
|
function d(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/syncTaskV2", method: "POST", data: e2 });
|
|
}
|
|
function p(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/syncUpdate", method: "POST", data: e2 });
|
|
}
|
|
function m(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/downloadChargeTotal", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function f(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/spaceTaskStatistics/pageList", method: "POST", data: e2 });
|
|
}
|
|
function h(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/spaceTaskStatistics/exportByMonth", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function b(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/spaceTaskStatistics/statistics", method: "POST", data: e2 });
|
|
}
|
|
function g(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/ContractTaskStatistics/pageList", method: "POST", data: e2 });
|
|
}
|
|
function v(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/ContractTaskStatistics/statistics", method: "POST", data: e2 });
|
|
}
|
|
function y(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/ContractTaskStatistics/pageItemList", method: "POST", data: e2 });
|
|
}
|
|
function T(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/ContractExecuteStatistics/pageList", method: "POST", data: e2 });
|
|
}
|
|
function O(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/ContractExecuteStatistics/export", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function S(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/ContractExecuteStatistics/statistics", method: "POST", data: e2 });
|
|
}
|
|
function k(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/InspectSubscribe/reportPageList", method: "POST", data: e2 });
|
|
}
|
|
function _(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/InspectSubscribe/exportReport", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function j(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/TaskStatisticsReport/pageList", method: "POST", data: e2 });
|
|
}
|
|
function I(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/TaskStatisticsReport/statistics", method: "POST", data: e2 });
|
|
}
|
|
function x(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/TaskStatisticsReport/exportReport", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function L(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/personWeekInfo", method: "POST", data: e2 });
|
|
}
|
|
function C(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/downloadWeekInfo", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function R(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/projectWxpublicUser", method: "POST", data: e2 });
|
|
}
|
|
function P(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/TaskStatisticsReport/projectPageList", method: "POST", data: e2 });
|
|
}
|
|
function w(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/PostponeWorder/projectOrderStatisticsPage", method: "POST", data: e2 });
|
|
}
|
|
function N(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/PostponeWorder/memberOrderPage", method: "POST", data: e2 });
|
|
}
|
|
function E(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/TaskStatisticsReport/projectPageByTaskType", method: "POST", data: e2 });
|
|
}
|
|
function z(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/TaskStatisticsReport/pageByTaskType", method: "POST", data: e2 });
|
|
}
|
|
function M(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/WorkOrder/memberOrderPage", method: "POST", data: e2 });
|
|
}
|
|
function H(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/PostponeWorder/export", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function $(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/WorkOrder/export", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function A(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/ChargeReportByCharge/pageList", method: "POST", data: e2 });
|
|
}
|
|
function D(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/ChargeReportByCharge/pageList/sum", method: "POST", data: e2 });
|
|
}
|
|
function B(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/ChargeReportByCharge/out/excel", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
function U(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/calculated/rate", method: "POST", data: e2 });
|
|
}
|
|
function Y(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/data/project/ChargeReportByCharge/current/by/charges", method: "POST", data: e2 });
|
|
}
|
|
function V(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/CustomerVisit/statisticsCustomerVisit", method: "POST", data: e2 });
|
|
}
|
|
function F(e2) {
|
|
return Object(n["a"])({ url: "/hakocompany/CustomerVisit/export", method: "POST", responseType: "blob", data: e2 });
|
|
}
|
|
}, dc90: function(e, t, a) {
|
|
}, f0c6: function(e, t, a) {
|
|
} }]);
|