11 files modified
1 files added
| | |
| | | method: "get" |
| | | }); |
| | | }; |
| | | export const getLiveLocationVoList = (params) => { |
| | | export const getLiveLocationVoList = params => { |
| | | return request({ |
| | | url: "/api/liveLocation/getLiveLocationVoList", |
| | | method: "get", |
| | | params: params |
| | | }); |
| | | }; |
| | | // 获取辖区列表 |
| | | export const lazyTreeJu = () => { |
| | | return request({ |
| | | url: "/api/information/lazyTreeJu", |
| | | method: "post" |
| | | }); |
| | | }; |
| | | export const noholderNum = (params) => { |
| | | export const noholderNum = params => { |
| | | return request({ |
| | | url: "/api/information/selectInCount", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const noSocialSecurity = (params) => { |
| | | export const noSocialSecurity = params => { |
| | | return request({ |
| | | url: "/api/information/selectCs", |
| | | method: "post", |
| | |
| | | export const selectFj = () => { |
| | | return request({ |
| | | url: "/api/information/selectFj", |
| | | method: "post", |
| | | method: "post" |
| | | }); |
| | | }; |
| | | export const selectBx = (params) => { |
| | | export const selectBx = params => { |
| | | return request({ |
| | | url: "/api/information/selectBx", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const selectExtype = (params) => { |
| | | export const selectExtype = params => { |
| | | return request({ |
| | | url: "/api/information/selectExtype", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const seCountUg = (params) => { |
| | | export const seCountUg = params => { |
| | | return request({ |
| | | url: "/api/information/seCountUg", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const seCountI = (params) => { |
| | | export const seCountI = params => { |
| | | return request({ |
| | | url: "/api/information/seCountI", |
| | | method: "post", |
| | |
| | | export const selectExtypeUser = () => { |
| | | return request({ |
| | | url: "/api/information/selectExtypeUser", |
| | | method: "post", |
| | | method: "post" |
| | | }); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 资格审查异常人员清单 |
| | | export const qualificationPages = () => { |
| | | return request({ |
| | | url: "/api/blade-user/pages", |
| | | method: "get" |
| | | }); |
| | | }; |
| | | // 监管处罚数量 |
| | | export const selectCf = () => { |
| | | return request({ |
| | | url: "/api/information/selectCf", |
| | | method: "post" |
| | | }); |
| | | }; |
| | | // 公司材料不全数量 |
| | | export const selectCl = () => { |
| | | return request({ |
| | | url: "/api/information/selectCl", |
| | | method: "post" |
| | | }); |
| | | }; |
| | |
| | | method: "get", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const queryYearPz = (params) => { |
| | | return request({ |
| | | url: "/api/information/queryYearPz", |
| | | method: "get", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const selectTb = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectTb", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const selectJj = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectJj", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| New file |
| | |
| | | import request from "@/router/axios"; |
| | | export const selectLi = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectLi", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const selectYw = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectYw", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const selectUIn = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectUIn", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | export const selectDis = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectDis", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | | // 服务单位下拉接口 |
| | | export const selectFw = (params) => { |
| | | return request({ |
| | | url: "/api/information/selectFw", |
| | | method: "post", |
| | | params: params |
| | | }); |
| | | }; |
| | |
| | | <div class="right-content" v-loading="right1loading"> |
| | | <span |
| | | class="left2-btn date" |
| | | :class="[poorPerformanceType === 0 ? 'bayHover' : '']" |
| | | @click="getPoorPerformance(0)" |
| | | :class="[poorPerformanceType === 1 ? 'bayHover' : '']" |
| | | @click="getPoorPerformance(1)" |
| | | >当日</span |
| | | > |
| | | <span |
| | | class="left2-btn mounce" |
| | | :class="[poorPerformanceType === 1 ? 'bayHover' : '']" |
| | | @click="getPoorPerformance(1)" |
| | | :class="[poorPerformanceType === 2 ? 'bayHover' : '']" |
| | | @click="getPoorPerformance(2)" |
| | | >当月</span |
| | | > |
| | | <span |
| | | class="left2-btn all" |
| | | :class="[poorPerformanceType === 2 ? 'bayHover' : '']" |
| | | @click="getPoorPerformance(2)" |
| | | :class="[poorPerformanceType === 3 ? 'bayHover' : '']" |
| | | @click="getPoorPerformance(3)" |
| | | >全部</span |
| | | > |
| | | <div class="card-list" style="margin-top: 21px"> |
| | |
| | | <span>{{ rightData.poorPerformance }}</span> |
| | | <span>现实表现差</span> |
| | | </div> |
| | | <div class="card-list"> |
| | | <div class="card-list" @click="getQualificationPages"> |
| | | <img src="../../../public/img/bajgxt/u4.png" /> |
| | | <img src="../../../public/img/bajgxt/u230.png" /> |
| | | <img src="../../../public/img/bajgxt/u1.png" /> |
| | |
| | | <div class="rightData rightData2"> |
| | | <img src="../../../public/img/bajgxt/u232.png" alt /> |
| | | <div class="text"> |
| | | <span>资质未过审</span> |
| | | <span>23个</span> |
| | | <span>材料不齐全</span> |
| | | <span>{{ rightData.materialNum }}个</span> |
| | | </div> |
| | | </div> |
| | | <div class="rightData rightData3"> |
| | |
| | | <img src="../../../public/img/bajgxt/111.png" alt /> |
| | | <div class="text"> |
| | | <span>监管处罚</span> |
| | | <span>6个</span> |
| | | <span>{{ rightData.punishNum }}个</span> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="card-list"> |
| | |
| | | selectExtype, |
| | | seCountUg, |
| | | seCountI, |
| | | selectExtypeUser |
| | | selectExtypeUser, |
| | | qualificationPages, |
| | | selectCf, |
| | | selectCl |
| | | } from "../../api/index/index"; |
| | | |
| | | import car from "@/assets/img/car.png"; |
| | |
| | | rightData: { |
| | | poorPerformance: 0, |
| | | qualification: 0, |
| | | socialSecurity: 0, |
| | | noholder: 0 |
| | | materialNum: 0, |
| | | punishNum: 0 |
| | | }, |
| | | carNum: 0, |
| | | peoNum: 0, |
| | |
| | | nv: 0 |
| | | }, |
| | | left2EchartType: 0, |
| | | poorPerformanceType: 2 |
| | | poorPerformanceType: 3 |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.value1 = this.options1[0].value || ""; |
| | | this.value2 = this.options2[0].value || ""; |
| | | // 获取完辖区列表之后再获取具体数据 |
| | | this.getNoholderNum(); |
| | | this.getNoSocialSecurity(); |
| | | this.getPunishNum(); |
| | | this.getMaterial(); |
| | | // this.getQualification(); |
| | | this.getPoorPerformance(2); |
| | | this.getPoorPerformance(3); |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | }); |
| | | }, |
| | | // 未持证 |
| | | getNoholderNum() { |
| | | noholderNum({ jurisdiction: this.value2 }).then(res => { |
| | | // 资格审查异常名单 |
| | | getQualificationPages() { |
| | | let params = { |
| | | current: 1, |
| | | size: 10, |
| | | examinationType: this.poorPerformanceType, |
| | | jurisdiction: this.value1 |
| | | }; |
| | | qualificationPages(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.rightData.noholder = res.data.data[0].Count; |
| | | let tableData = res.data.data; |
| | | } |
| | | }); |
| | | }, |
| | | // 公司受处罚数量 |
| | | getPunishNum() { |
| | | this.rightData.punishNum = 0; |
| | | selectCf({ jurisdiction: this.value2 }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.rightData.punishNum = res.data.data[0].count; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | this.right2loading = false; |
| | | }); |
| | | }, |
| | | // 未缴纳社保 |
| | | getNoSocialSecurity() { |
| | | noSocialSecurity({ jurisdiction: this.value2 }).then(res => { |
| | | // 公司材料不全数量 |
| | | getMaterial() { |
| | | this.rightData.materialNum = 0; |
| | | selectCl({ jurisdiction: this.value2 }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.rightData.socialSecurity = res.data.data[0].Count; |
| | | this.rightData.materialNum = res.data.data[0].count; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | |
| | | getPoorPerformance(type) { |
| | | this.right1loading = true; |
| | | this.poorPerformanceType = type; |
| | | if (type === 0) { |
| | | this.rightData.poorPerformance = 2; |
| | | this.rightData.qualification = 3; |
| | | this.rightData.poorPerformance = 0; |
| | | this.rightData.qualification = 0; |
| | | |
| | | // if (type === 1) { |
| | | // this.rightData.poorPerformance = 2; |
| | | // this.rightData.qualification = 3; |
| | | // this.right1loading = false; |
| | | // } else if (type === 2) { |
| | | // this.rightData.poorPerformance = 11; |
| | | // this.rightData.qualification = 14; |
| | | // this.right1loading = false; |
| | | // } else if (type === 3) { |
| | | // this.rightData.poorPerformance = 32; |
| | | // this.rightData.qualification = 45; |
| | | selectBx({ |
| | | jurisdiction: this.value1, |
| | | type: this.poorPerformanceType |
| | | }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.rightData.poorPerformance = res.data.data[0].count; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | this.right1loading = false; |
| | | } else if (type === 1) { |
| | | this.rightData.poorPerformance = 11; |
| | | this.rightData.qualification = 14; |
| | | this.right1loading = false; |
| | | } else if (type === 2) { |
| | | // this.rightData.poorPerformance = 32; |
| | | // this.rightData.qualification = 45; |
| | | selectBx({ jurisdiction: this.value1 }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.rightData.poorPerformance = res.data.data[0].count; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | this.right1loading = false; |
| | | }); |
| | | selectExtypeUser().then(res => { |
| | | if (res.status === 200) { |
| | | this.rightData.qualification = res.data; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | }); |
| | | } |
| | | // this.right1loading = false; |
| | | }, |
| | | // 资格审查异常 |
| | | getQualification() { |
| | | selectExtype({ jurisdiction: this.value1 }).then(res => { |
| | | }); |
| | | selectExtype({ |
| | | jurisdiction: this.value1, |
| | | type: this.poorPerformanceType |
| | | }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.rightData.qualification = res.data.data[0].count; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | }); |
| | | // selectExtypeUser().then(res => { |
| | | // if (res.status === 200) { |
| | | // this.rightData.qualification = res.data; |
| | | // } else { |
| | | // this.$message.error(res.msg); |
| | | // } |
| | | // }); |
| | | // } |
| | | // this.right1loading = false; |
| | | }, |
| | | peoWarning() { |
| | | this.right2loading = true; |
| | | this.getNoholderNum(); |
| | | this.getNoSocialSecurity(); |
| | | this.getPunishNum(); |
| | | this.getMaterial(); |
| | | }, |
| | | |
| | | companyWarning() { |
| | | this.right1loading = true; |
| | | this.getPoorPerformance(2); |
| | | this.getPoorPerformance(3); |
| | | // this.getQualification(); |
| | | }, |
| | | |
| | |
| | | this.startMove(); |
| | | this.initEchart(); |
| | | this.getHolderNum(0); |
| | | this.getPoorPerformance(2); |
| | | this.getPoorPerformance(3); |
| | | // this.getTableData("car"); |
| | | // this.initMap(); |
| | | this.getTableData(0); |
| | |
| | | </div> |
| | | <div class="box-card"> |
| | | <span>公司派遣人数</span> |
| | | <span>1121</span> |
| | | <span>较上月增加13人</span> |
| | | <span>{{ socialSecurity.paiQ }}</span> |
| | | <span>较上月增加{{ socialSecurity.addPaiQ }}人</span> |
| | | </div> |
| | | <div class="box-card"> |
| | | <span>社保缴纳人数占比</span> |
| | | <span>85%</span> |
| | | <span>较上月上涨2%</span> |
| | | <span>{{ socialSecurity.sheBPerson }}</span> |
| | | <span>较上月上涨{{ socialSecurity.addSheBPerson }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | selectTo, |
| | | queryYearSoil, |
| | | queryYearAn, |
| | | queryYearPz |
| | | } from "../../api/securityUnitOperation/securityUnitOperation"; |
| | | export default { |
| | | data() { |
| | |
| | | options0: [ |
| | | { |
| | | value: "2012", |
| | | label: "2012年", |
| | | label: "2012年" |
| | | }, |
| | | { |
| | | value: "2011", |
| | | label: "2011年", |
| | | label: "2011年" |
| | | }, |
| | | { |
| | | value: "2010", |
| | | label: "2010年", |
| | | label: "2010年" |
| | | }, |
| | | { |
| | | value: "2009", |
| | | label: "2009年", |
| | | label: "2009年" |
| | | }, |
| | | { |
| | | value: "2008", |
| | | label: "2008年", |
| | | label: "2008年" |
| | | }, |
| | | { |
| | | value: "2007", |
| | | label: "2007年", |
| | | }, |
| | | label: "2007年" |
| | | } |
| | | ], |
| | | options1: [], |
| | | options2: [], |
| | |
| | | addNum: 0, |
| | | money: 0, |
| | | addMoney: 0, |
| | | }, |
| | | paiQ: 0, |
| | | addPaiQ: 0, |
| | | sheBPerson: 0, |
| | | addSheBPerson: 0 |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | this.$router.push({ path: "/securityUnitOperation/economicTable" }); |
| | | }, |
| | | getFenju() { |
| | | lazyTreeJu().then((res) => { |
| | | lazyTreeJu().then(res => { |
| | | if (res.data.code === 200) { |
| | | this.options1 = res.data.data; |
| | | this.value1 = this.options1[0] ? this.options1[0].id : ""; |
| | |
| | | pieChange() { |
| | | let params = { |
| | | jurisdiction: this.value1, |
| | | deptid: this.value2, |
| | | deptid: this.value2 |
| | | }; |
| | | selectPCount(params).then((res) => { |
| | | selectPCount(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | let middleEchart2 = echarts.init( |
| | | document.getElementById("middleEchart2") |
| | |
| | | }); |
| | | }, |
| | | getCompanys() { |
| | | getCompanys({ jurisdiction: this.value1 }).then((res) => { |
| | | getCompanys({ jurisdiction: this.value1 }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.options2 = res.data.data; |
| | | this.value2 = this.options2[0] ? this.options2[0].departmentid : ""; |
| | |
| | | getSocialSecurity() { |
| | | let params = { |
| | | jurisdiction: this.value1, |
| | | deptid: this.value2, |
| | | deptid: this.value2 |
| | | }; |
| | | selectTo(params).then((res) => { |
| | | selectTo(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | let data = res.data.data[0]; |
| | | this.socialSecurity.num = data.thismouth; |
| | | this.socialSecurity.addNum = data.thismouth - data.lastmonth; |
| | | this.socialSecurity.money = data.thisamount; |
| | | this.socialSecurity.addMoney = data.thisamount - data.lastamount; |
| | | this.socialSecurity.paiQ = data.userpcthismouth; |
| | | this.socialSecurity.addPaiQ = |
| | | data.userpcthismouth - data.userpclastmouth; |
| | | this.socialSecurity.sheBPerson = |
| | | data.userthismouth && (data.thismouth / data.userthismouth) * 100 |
| | | ? ((data.thismouth / data.userthismouth) * 100).toFixed(2) + "%" |
| | | : 0; |
| | | this.socialSecurity.addSheBPerson = |
| | | data.userthismouth && |
| | | data.userlastmouth && |
| | | (data.thismouth / data.userthismouth) * 100 && |
| | | (data.lastmonth / data.userlastmouth) * 100 && |
| | | (data.thismouth / data.userthismouth) * 100 - |
| | | (data.lastmonth / data.userlastmouth) * 100 |
| | | ? ( |
| | | (data.thismouth / data.userthismouth) * 100 - |
| | | (data.lastmonth / data.userlastmouth) * 100 |
| | | ).toFixed(2) + "%" |
| | | : 0; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | |
| | | getQueryYearSoil() { |
| | | let params = { |
| | | jurisdiction: this.value1, |
| | | deptid: this.value2, |
| | | deptid: this.value2 |
| | | }; |
| | | queryYearSoil(params).then((res) => { |
| | | queryYearSoil(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | let middleEchart1 = echarts.init( |
| | | document.getElementById("middleEchart1") |
| | | ); |
| | | middleEchart1.setOption(echartJs.economicMiddle(res.data.data)); |
| | | queryYearPz(params).then(res1 => { |
| | | if (res1.data.code === 200) { |
| | | let middleEchart1 = echarts.init( |
| | | document.getElementById("middleEchart1") |
| | | ); |
| | | middleEchart1.setOption( |
| | | echartJs.economicMiddle(res.data.data, res1.data.data) |
| | | ); |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | |
| | | getQueryYearAn() { |
| | | let params = { |
| | | jurisdiction: this.value1, |
| | | deptid: this.value2, |
| | | deptid: this.value2 |
| | | }; |
| | | queryYearAn(params).then((res) => { |
| | | queryYearAn(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | let bottomEchart = echarts.init( |
| | | document.getElementById("bottomEchart") |
| | |
| | | this.getSocialSecurity(); |
| | | this.getQueryYearSoil(); |
| | | this.getQueryYearAn(); |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getFenju(); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <!-- <div class="operation-table"> --> |
| | | <!-- <el-row> |
| | | <el-col> |
| | | <span>时间范围:</span> |
| | | <el-date-picker |
| | | v-model="value2" |
| | | type="daterange" |
| | | align="right" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :picker-options="pickerOptions" |
| | | > |
| | | </el-date-picker> |
| | | <span>类别:</span> |
| | | <el-select v-model="typeValue" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in typeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <span>所属辖区:</span> |
| | | <el-select v-model="subofficeValue" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in subofficeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <span>公司名称:</span> |
| | | <el-input v-model="companyName"></el-input> |
| | | <el-button>查询</el-button> |
| | | <el-button>重置</el-button> |
| | | </el-col> |
| | | </el-row> --> |
| | | <!-- <el-row> |
| | | <el-col> |
| | | <div class="table"> |
| | | <el-button @click="downExcel">下载</el-button> --> |
| | | <avue-crud |
| | | :option="tableOption" |
| | | :data="tableData" |
| | | :table-loading="loading" |
| | | :page.sync="tablePage" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | @date-change="dateChange" |
| | | > |
| | | </avue-crud> |
| | | <!-- <el-table id="table" :data="tableData" style="width: 100%"> |
| | | <el-table-column type="index" label="序号" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="company" label="公司名称" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="subOffice" label="所属分局" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="time" label="时间"> </el-table-column> |
| | | <el-table-column prop="sbjnrs" label="社保缴纳人数"> |
| | | </el-table-column> |
| | | <el-table-column prop="sbjnze" label="社保缴纳总额(万)"> |
| | | </el-table-column> |
| | | <el-table-column prop="gspqrs" label="公司派遣人数"> |
| | | </el-table-column> |
| | | <el-table-column prop="sbjnrszb" label="社保缴纳人数占比(%)"> |
| | | </el-table-column> |
| | | <el-table-column prop="bz" label="备注"> </el-table-column> |
| | | </el-table> --> |
| | | <!-- <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="tableData.length" |
| | | > |
| | | </el-pagination> --> |
| | | <!-- </div> |
| | | </el-col> |
| | | </el-row> --> |
| | | <!-- </div> --> |
| | | </basic-container> |
| | | </template> |
| | | <script> |
| | | import FileSaver from "file-saver"; |
| | | import XLSX from "xlsx"; |
| | | import { mapGetters } from "vuex"; |
| | | import { selectJj } from "../../api/securityUnitOperation/securityUnitOperation"; |
| | | export default { |
| | | name: "公司经济情况智能分析详情表", |
| | | data() { |
| | |
| | | value1: "", |
| | | value2: "", |
| | | tableData: [ |
| | | { |
| | | company: "江西省永安保安服务有限公司", |
| | | subOffice: "南昌市公安局", |
| | | time: "2021-06-1", |
| | | sbjnrs: "2100", |
| | | sbjnze: "350", |
| | | gspqrs: "110", |
| | | sbjnrszb: "10", |
| | | bz: "", |
| | | }, |
| | | { |
| | | company: "南昌市赣水保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | time: "2020-05-21", |
| | | sbjnrs: "1800", |
| | | sbjnze: "310", |
| | | gspqrs: "160", |
| | | sbjnrszb: "21", |
| | | bz: "", |
| | | }, |
| | | { |
| | | company: "江西中业兴达保安服务有限公司", |
| | | subOffice: "西湖分局", |
| | | time: "2021-08-11", |
| | | sbjnrs: "2300", |
| | | sbjnze: "612", |
| | | gspqrs: "80", |
| | | sbjnrszb: "7", |
| | | bz: "", |
| | | }, |
| | | // { |
| | | // company: "江西省永安保安服务有限公司", |
| | | // subOffice: "南昌市公安局", |
| | | // time: "2021-06-1", |
| | | // sbjnrs: "2100", |
| | | // sbjnze: "350", |
| | | // gspqrs: "110", |
| | | // sbjnrszb: "10", |
| | | // bz: "" |
| | | // }, |
| | | // { |
| | | // company: "南昌市赣水保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // time: "2020-05-21", |
| | | // sbjnrs: "1800", |
| | | // sbjnze: "310", |
| | | // gspqrs: "160", |
| | | // sbjnrszb: "21", |
| | | // bz: "" |
| | | // }, |
| | | // { |
| | | // company: "江西中业兴达保安服务有限公司", |
| | | // subOffice: "西湖分局", |
| | | // time: "2021-08-11", |
| | | // sbjnrs: "2300", |
| | | // sbjnze: "612", |
| | | // gspqrs: "80", |
| | | // sbjnrszb: "7", |
| | | // bz: "" |
| | | // } |
| | | ], |
| | | tablePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | total: 0 |
| | | }, |
| | | tableOption: { |
| | | excelBtn: true, |
| | |
| | | viewBtn: true, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | label: "类别", |
| | | hide: true, |
| | | prop: "", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: true, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | }, |
| | | // cascaderItem: ["city", "area"], |
| | | // dicUrl:subofficeOptions, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "全部", |
| | | }, |
| | | { |
| | | value: "1", |
| | | label: "社保缴纳人数", |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "社保缴纳总额", |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "公司派遣人数", |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "社保缴纳人数占比", |
| | | }, |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择类别", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "类别", |
| | | // hide: true, |
| | | // prop: "", |
| | | // search: true, |
| | | // searchSpan: 4, |
| | | // display: true, |
| | | // type: "select", |
| | | // props: { |
| | | // label: "label", |
| | | // value: "value" |
| | | // }, |
| | | // // cascaderItem: ["city", "area"], |
| | | // // dicUrl:subofficeOptions, |
| | | // dicData: [ |
| | | // { |
| | | // value: "0", |
| | | // label: "全部" |
| | | // }, |
| | | // { |
| | | // value: "1", |
| | | // label: "社保缴纳人数" |
| | | // }, |
| | | // { |
| | | // value: "2", |
| | | // label: "社保缴纳总额" |
| | | // }, |
| | | // { |
| | | // value: "3", |
| | | // label: "公司派遣人数" |
| | | // }, |
| | | // { |
| | | // value: "4", |
| | | // label: "社保缴纳人数占比" |
| | | // } |
| | | // ], |
| | | // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请选择类别", |
| | | // trigger: "blur" |
| | | // } |
| | | // ] |
| | | // }, |
| | | { |
| | | label: "公司名称", |
| | | prop: "company", |
| | | prop: "enterpriseName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | display: false |
| | | }, |
| | | { |
| | | label: "所属辖区", |
| | | prop: "subOffice", |
| | | prop: "jurname", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | // cascaderItem: ["city", "area"], |
| | | // dicUrl:subofficeOptions, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "南昌市公安局", |
| | | label: "南昌市公安局" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "东湖分局", |
| | | label: "东湖分局" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "西湖分局", |
| | | label: "西湖分局" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "青云谱分局", |
| | | label: "青云谱分局" |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "青山湖分局", |
| | | }, |
| | | label: "青山湖分局" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属辖区", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "时间", |
| | | prop: "time", |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | searchSpan: 6, |
| | | searchRange: true, |
| | | search: true, |
| | | display: false, |
| | | }, |
| | | // { |
| | | // label: "时间", |
| | | // prop: "time", |
| | | // type: "date", |
| | | // format: "yyyy-MM-dd hh:mm:ss", |
| | | // valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | // searchSpan: 6, |
| | | // searchRange: true, |
| | | // search: true, |
| | | // display: false |
| | | // }, |
| | | { |
| | | label: "社保缴纳人数", |
| | | prop: "sbjnrs", |
| | | display: false, |
| | | prop: "sbnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "社保缴纳总额(万)", |
| | | prop: "sbjnze", |
| | | display: false, |
| | | prop: "sbcount", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "公司派遣人数", |
| | | prop: "gspqrs", |
| | | display: false, |
| | | prop: "pcnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "社保缴纳人数占比(%)", |
| | | prop: "sbjnrszb", |
| | | display: false, |
| | | prop: "zb", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "备注", |
| | | prop: "bz", |
| | | display: false, |
| | | }, |
| | | ], |
| | | display: false |
| | | } |
| | | ] |
| | | }, |
| | | typeValue: "0", |
| | | typeOptions: [ |
| | | { |
| | | value: "0", |
| | | label: "全部", |
| | | label: "全部" |
| | | }, |
| | | { |
| | | value: "1", |
| | | label: "社保缴纳人数", |
| | | label: "社保缴纳人数" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "社保缴纳总额", |
| | | label: "社保缴纳总额" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "公司派遣人数", |
| | | label: "公司派遣人数" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "社保缴纳人数占比", |
| | | }, |
| | | label: "社保缴纳人数占比" |
| | | } |
| | | ], |
| | | subofficeValue: "0", |
| | | subofficeOptions: [ |
| | | { |
| | | value: "0", |
| | | label: "南昌市公安局", |
| | | label: "南昌市公安局" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "东湖分局", |
| | | label: "东湖分局" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "西湖分局", |
| | | label: "西湖分局" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "青云谱分局", |
| | | label: "青云谱分局" |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "青山湖分局", |
| | | }, |
| | | label: "青山湖分局" |
| | | } |
| | | ], |
| | | companyName: "", |
| | | loading: true |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.post_add, false), |
| | | viewBtn: this.vaildData(this.permission.post_view, false), |
| | | delBtn: this.vaildData(this.permission.post_delete, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false) |
| | | }; |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | dateChange() {}, |
| | | // downExcel() { |
| | | // let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | // let etout = XLSX.write(et, { |
| | | // bookType: "xlsx", |
| | | // bookSST: true, |
| | | // type: "array" |
| | | // }); |
| | | // try { |
| | | // FileSaver.saveAs( |
| | | // new Blob([etout], { |
| | | // type: "application/octet-stream" |
| | | // }), |
| | | // `表.xlsx` |
| | | // ); //导出的文件名 |
| | | // } catch (e) { |
| | | // console.log(e, etout); |
| | | // } |
| | | // return etout; |
| | | // } |
| | | getTableData() { |
| | | selectJj().then(res => { |
| | | if (res.data.code === 200) { |
| | | this.tableData = res.data.data; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | mounted() {}, |
| | | mounted() { |
| | | this.getTableData(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | <avue-crud |
| | | :option="tableOption" |
| | | :data="tableData" |
| | | :table-loading="loading" |
| | | :page.sync="tablePage" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | |
| | | > |
| | | </avue-crud> |
| | | </basic-container> |
| | | <!-- <div class="operation-table"> |
| | | <el-row> |
| | | <el-col> |
| | | <span>时间范围:</span> |
| | | <el-date-picker |
| | | v-model="value2" |
| | | type="daterange" |
| | | align="right" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :picker-options="pickerOptions" |
| | | > |
| | | </el-date-picker> |
| | | <span>类别:</span> |
| | | <el-select v-model="typeValue" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in typeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <span>所属辖区:</span> |
| | | <el-select v-model="subofficeValue" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in subofficeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <span>公司名称:</span> |
| | | <el-input v-model="companyName"></el-input> |
| | | <el-button>查询</el-button> |
| | | <el-button>重置</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col> |
| | | <div class="table"> |
| | | <el-button @click="downExcel">下载</el-button> |
| | | <el-table id="table" :data="tableData" style="width: 100%"> |
| | | <el-table-column type="index" label="序号" width="50"> |
| | | </el-table-column> |
| | | <el-table-column prop="company" label="公司名称" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="subOffice" label="所属分局" width="180"> |
| | | </el-table-column> |
| | | <el-table-column prop="time" label="时间"> </el-table-column> |
| | | <el-table-column prop="totalSec" label="总保安人数"> |
| | | </el-table-column> |
| | | <el-table-column prop="normalSec" label="正常保安数"> |
| | | </el-table-column> |
| | | <el-table-column prop="holderSec" label="持证保安数"> |
| | | </el-table-column> |
| | | <el-table-column prop="sendSec" label="保安派遣数"> |
| | | </el-table-column> |
| | | <el-table-column prop="passSec" label="过考保安数"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="服务单位数"> </el-table-column> |
| | | <el-table-column prop="socialSec" label="缴纳社保保安数"> |
| | | </el-table-column> |
| | | <el-table-column prop="bz" label="备注"> </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="tableData.length" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> --> |
| | | </template> |
| | | <script> |
| | | import FileSaver from "file-saver"; |
| | | import XLSX from "xlsx"; |
| | | import { selectTb } from "../../api/securityUnitOperation/securityUnitOperation"; |
| | | import { lazyTreeJu } from "../../api/index/index"; |
| | | export default { |
| | | name: "公司运营情况智能分析详情表", |
| | | data() { |
| | |
| | | value1: "", |
| | | value2: "", |
| | | tableData: [ |
| | | { |
| | | company: "江西省永安保安服务有限公司", |
| | | subOffice: "南昌市公安局", |
| | | time: "2020-07-21", |
| | | totalSec: "1200", |
| | | normalSec: "1150", |
| | | holderSec: "1160", |
| | | sendSec: "1000", |
| | | passSec: "1180", |
| | | unit: "52", |
| | | socialSec: "1160", |
| | | bz: "", |
| | | }, |
| | | { |
| | | company: "南昌市赣水保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | time: "2021-06-11", |
| | | totalSec: "1360", |
| | | normalSec: "1250", |
| | | holderSec: "1258", |
| | | sendSec: "1210", |
| | | passSec: "1180", |
| | | unit: "48", |
| | | socialSec: "1200", |
| | | bz: "", |
| | | }, |
| | | { |
| | | company: "江西中业兴达保安服务有限公司", |
| | | subOffice: "西湖分局", |
| | | time: "2020-01-21", |
| | | totalSec: "1269", |
| | | normalSec: "1250", |
| | | holderSec: "1042", |
| | | sendSec: "1040", |
| | | passSec: "1180", |
| | | unit: "41", |
| | | socialSec: "1025", |
| | | bz: "", |
| | | }, |
| | | // { |
| | | // company: "江西省永安保安服务有限公司", |
| | | // subOffice: "南昌市公安局", |
| | | // time: "2020-07-21", |
| | | // totalSec: "1200", |
| | | // normalSec: "1150", |
| | | // holderSec: "1160", |
| | | // sendSec: "1000", |
| | | // passSec: "1180", |
| | | // unit: "52", |
| | | // socialSec: "1160", |
| | | // bz: "" |
| | | // }, |
| | | // { |
| | | // company: "南昌市赣水保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // time: "2021-06-11", |
| | | // totalSec: "1360", |
| | | // normalSec: "1250", |
| | | // holderSec: "1258", |
| | | // sendSec: "1210", |
| | | // passSec: "1180", |
| | | // unit: "48", |
| | | // socialSec: "1200", |
| | | // bz: "" |
| | | // }, |
| | | // { |
| | | // company: "江西中业兴达保安服务有限公司", |
| | | // subOffice: "西湖分局", |
| | | // time: "2020-01-21", |
| | | // totalSec: "1269", |
| | | // normalSec: "1250", |
| | | // holderSec: "1042", |
| | | // sendSec: "1040", |
| | | // passSec: "1180", |
| | | // unit: "41", |
| | | // socialSec: "1025", |
| | | // bz: "" |
| | | // } |
| | | ], |
| | | tablePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | total: 0 |
| | | }, |
| | | tableOption: { |
| | | excelBtn: true, |
| | |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | // cascaderItem: ["city", "area"], |
| | | // dicUrl:subofficeOptions, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "全部", |
| | | label: "全部" |
| | | }, |
| | | { |
| | | value: "1", |
| | | label: "总保安人数", |
| | | label: "总保安人数" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "正常保安数", |
| | | label: "正常保安数" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "持证保安数", |
| | | label: "持证保安数" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "保安派遣数", |
| | | label: "保安派遣数" |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "过考保安数", |
| | | label: "过考保安数" |
| | | }, |
| | | { |
| | | value: "6", |
| | | label: "服务单位数", |
| | | label: "服务单位数" |
| | | }, |
| | | { |
| | | value: "7", |
| | | label: "缴纳社保保安数", |
| | | }, |
| | | label: "缴纳社保保安数" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择类别", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "公司名称", |
| | | prop: "company", |
| | | prop: "enterpriseName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | display: false |
| | | }, |
| | | { |
| | | label: "所属辖区", |
| | | prop: "subOffice", |
| | | prop: "jurname", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | label: "title", |
| | | value: "value" |
| | | }, |
| | | // cascaderItem: ["city", "area"], |
| | | // dicUrl:subofficeOptions, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "南昌市公安局", |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "东湖分局", |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "西湖分局", |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "青云谱分局", |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "青山湖分局", |
| | | }, |
| | | ], |
| | | dicData: this.subOfficeData, |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属辖区", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "时间", |
| | | prop: "time", |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | searchSpan: 6, |
| | | searchRange: true, |
| | | search: true, |
| | | display: false, |
| | | }, |
| | | // { |
| | | // label: "时间", |
| | | // prop: "time", |
| | | // type: "date", |
| | | // format: "yyyy-MM-dd hh:mm:ss", |
| | | // valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | // searchSpan: 6, |
| | | // searchRange: true, |
| | | // search: true, |
| | | // display: false |
| | | // }, |
| | | |
| | | { |
| | | label: "总保安人数", |
| | | prop: "totalSec", |
| | | display: false, |
| | | prop: "znum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "正常保安数", |
| | | prop: "normalSec", |
| | | display: false, |
| | | prop: "zcnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "持证保安数", |
| | | prop: "holderSec", |
| | | display: false, |
| | | prop: "cznum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "保安派遣数", |
| | | prop: "sendSec", |
| | | display: false, |
| | | prop: "pcnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "过考保安数", |
| | | prop: "passSec", |
| | | display: false, |
| | | }, |
| | | // { |
| | | // label: "过考保安数", |
| | | // prop: "passSec", |
| | | // display: false |
| | | // }, |
| | | { |
| | | label: "服务单位数", |
| | | prop: "unit", |
| | | display: false, |
| | | prop: "ghnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "缴纳社保保安数", |
| | | prop: "socialSec", |
| | | display: false, |
| | | prop: "sbnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "备注", |
| | | prop: "bz", |
| | | display: false, |
| | | }, |
| | | ], |
| | | display: false |
| | | } |
| | | ] |
| | | }, |
| | | typeValue: "0", |
| | | subofficeValue: "0", |
| | | companyName: "", |
| | | subOfficeData: [], |
| | | subOfficeValue: "", |
| | | loading: true |
| | | }; |
| | | }, |
| | | methods: { |
| | | downExcel() { |
| | | let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | let etout = XLSX.write(et, { |
| | | bookType: "xlsx", |
| | | bookSST: true, |
| | | type: "array", |
| | | getSubOfficeData() { |
| | | lazyTreeJu().then(res => { |
| | | if (res.data.code === 200) { |
| | | this.subOfficeData = res.data.data; |
| | | this.subOfficeValue = this.subOfficeData[0].value || ""; |
| | | } else { |
| | | this.$message.error(res.msg); |
| | | } |
| | | }); |
| | | try { |
| | | FileSaver.saveAs( |
| | | new Blob([etout], { |
| | | type: "application/octet-stream", |
| | | }), |
| | | `表.xlsx` |
| | | ); //导出的文件名 |
| | | } catch (e) { |
| | | console.log(e, etout); |
| | | } |
| | | return etout; |
| | | }, |
| | | getTableData() { |
| | | selectTb().then(res => { |
| | | if (res.data.code === 200) { |
| | | this.tableData = res.data.data; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | } |
| | | // downExcel() { |
| | | // let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | // let etout = XLSX.write(et, { |
| | | // bookType: "xlsx", |
| | | // bookSST: true, |
| | | // type: "array" |
| | | // }); |
| | | // try { |
| | | // FileSaver.saveAs( |
| | | // new Blob([etout], { |
| | | // type: "application/octet-stream" |
| | | // }), |
| | | // `表.xlsx` |
| | | // ); //导出的文件名 |
| | | // } catch (e) { |
| | | // console.log(e, etout); |
| | | // } |
| | | // return etout; |
| | | // } |
| | | }, |
| | | mounted() {}, |
| | | mounted() { |
| | | this.getSubOfficeData(); |
| | | this.getTableData(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | return option; |
| | | } |
| | | |
| | | function economicMiddle(data) { |
| | | let data1 = []; |
| | | for (var a in data) { |
| | | data1.push(data[a]); |
| | | function economicMiddle(data1,data2) { |
| | | let sbData = []; |
| | | let pqData = []; |
| | | for (var a in data1) { |
| | | sbData.push(data1[a]); |
| | | } |
| | | for (var b in data2) { |
| | | pqData.push(data2[b]); |
| | | } |
| | | let option = { |
| | | tooltip: { |
| | |
| | | name: "缴纳社保人数", |
| | | type: "line", |
| | | stack: "总量", |
| | | data: data1 |
| | | data: sbData |
| | | }, |
| | | { |
| | | name: "公司派遣人数", |
| | | type: "line", |
| | | stack: "总量", |
| | | data: [220, 182, 191, 234, 290, 330, 310, 111, 222, 132, 143, 123] |
| | | data: pqData |
| | | } |
| | | ] |
| | | }; |
| | |
| | | :option="tableOption" |
| | | :data="tableData" |
| | | :page.sync="tablePage" |
| | | :table-loading="loading" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | @date-change="dateChange" |
| | |
| | | import FileSaver from "file-saver"; |
| | | import XLSX from "xlsx"; |
| | | import { mapGetters } from "vuex"; |
| | | import { selectYw } from "../../api/statisticalQueryManagement/statisticalQueryManagement"; |
| | | export default { |
| | | name: "业务情况统计", |
| | | data() { |
| | |
| | | value1: "", |
| | | value2: "", |
| | | tableData: [ |
| | | { |
| | | company: "江西省永安保安服务有限公司", |
| | | subOffice: "南昌市公安局", |
| | | customer: "76", |
| | | num: "1124" |
| | | }, |
| | | { |
| | | company: "南昌市赣水保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | customer: "85", |
| | | num: "1428" |
| | | }, |
| | | { |
| | | company: "江西中业兴达保安服务有限公司", |
| | | subOffice: "西湖分局", |
| | | customer: "46", |
| | | num: "974" |
| | | } |
| | | // { |
| | | // company: "江西省永安保安服务有限公司", |
| | | // subOffice: "南昌市公安局", |
| | | // customer: "76", |
| | | // num: "1124" |
| | | // }, |
| | | // { |
| | | // company: "南昌市赣水保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // customer: "85", |
| | | // num: "1428" |
| | | // }, |
| | | // { |
| | | // company: "江西中业兴达保安服务有限公司", |
| | | // subOffice: "西湖分局", |
| | | // customer: "46", |
| | | // num: "974" |
| | | // } |
| | | ], |
| | | tablePage: { |
| | | pageSize: 10, |
| | |
| | | column: [ |
| | | { |
| | | label: "公司名称", |
| | | prop: "company", |
| | | prop: "enterpriseName", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false |
| | |
| | | |
| | | { |
| | | label: "所属辖区", |
| | | prop: "subOffice", |
| | | prop: "jurname", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | |
| | | }, |
| | | { |
| | | label: "服务对象数量", |
| | | prop: "customer", |
| | | prop: "fwnum", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "保安员人数", |
| | | prop: "num", |
| | | prop: "znum", |
| | | display: false |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | loading:true, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | // if (columnIndex == 4 || columnIndex == 5) { |
| | | // } |
| | | }, |
| | | dateChange() {} |
| | | dateChange() {}, |
| | | getTableData() { |
| | | selectYw({current: 1, size: 10 }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.tableData = res.data.data; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | } |
| | | // downExcel() { |
| | | // let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | // let etout = XLSX.write(et, { |
| | |
| | | // return etout; |
| | | // } |
| | | }, |
| | | mounted() {} |
| | | mounted() { |
| | | this.getTableData(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | :option="tableOption" |
| | | :data="tableData" |
| | | :page.sync="tablePage" |
| | | :table-loading="loading" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | @date-change="dateChange" |
| | |
| | | // import FileSaver from "file-saver"; |
| | | // import XLSX from "xlsx"; |
| | | import { mapGetters } from "vuex"; |
| | | import { |
| | | selectDis, |
| | | selectFw |
| | | } from "../../api/statisticalQueryManagement/statisticalQueryManagement"; |
| | | export default { |
| | | name: "业务情况统计", |
| | | name: "业务情况统计明细", |
| | | data() { |
| | | return { |
| | | value1: "", |
| | | value2: "", |
| | | tableData: [ |
| | | { |
| | | company: "江西省永安保安服务有限公司", |
| | | subOffice: "南昌市公安局", |
| | | timeStart:'2020-07-14', |
| | | timeEnd:'2021-06-30', |
| | | customerName: "南昌市幼儿园", |
| | | num: "7", |
| | | // status: "正在服务", |
| | | bz:'', |
| | | }, |
| | | { |
| | | company: "南昌市赣水保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | timeStart:'2020-01-23', |
| | | timeEnd:'2020-12-31', |
| | | customerName: "南昌市第一人民医院", |
| | | num: "32", |
| | | // status: "已完成", |
| | | bz:'', |
| | | }, |
| | | { |
| | | company: "江西中业兴达保安服务有限公司", |
| | | subOffice: "西湖分局", |
| | | timeStart:'2020-03-16', |
| | | timeEnd:'2021-7-29', |
| | | customerName: "南昌市动物园", |
| | | num: "12", |
| | | // status: "未下单", |
| | | bz:'', |
| | | }, |
| | | // { |
| | | // company: "江西省永安保安服务有限公司", |
| | | // subOffice: "南昌市公安局", |
| | | // timeStart: "2020-07-14", |
| | | // timeEnd: "2021-06-30", |
| | | // customerName: "南昌市幼儿园", |
| | | // num: "7", |
| | | // // status: "正在服务", |
| | | // bz: "" |
| | | // }, |
| | | // { |
| | | // company: "南昌市赣水保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // timeStart: "2020-01-23", |
| | | // timeEnd: "2020-12-31", |
| | | // customerName: "南昌市第一人民医院", |
| | | // num: "32", |
| | | // // status: "已完成", |
| | | // bz: "" |
| | | // }, |
| | | // { |
| | | // company: "江西中业兴达保安服务有限公司", |
| | | // subOffice: "西湖分局", |
| | | // timeStart: "2020-03-16", |
| | | // timeEnd: "2021-7-29", |
| | | // customerName: "南昌市动物园", |
| | | // num: "12", |
| | | // // status: "未下单", |
| | | // bz: "" |
| | | // } |
| | | ], |
| | | tablePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | total: 0 |
| | | }, |
| | | tableOption: { |
| | | excelBtn: true, |
| | |
| | | column: [ |
| | | { |
| | | label: "公司名称", |
| | | prop: "company", |
| | | prop: "gsname", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | display: false |
| | | }, |
| | | |
| | | { |
| | | label: "所属辖区", |
| | | prop: "subOffice", |
| | | prop: "jurname", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | // cascaderItem: ["city", "area"], |
| | | // dicUrl:subofficeOptions, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "南昌市公安局", |
| | | label: "南昌市公安局" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "东湖分局", |
| | | label: "东湖分局" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "西湖分局", |
| | | label: "西湖分局" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "青云谱分局", |
| | | label: "青云谱分局" |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "青山湖分局", |
| | | }, |
| | | label: "青山湖分局" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属辖区", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "服务开始时间", |
| | | prop: "timeStart", |
| | | display: false, |
| | | prop: "dispatcherTime", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "服务到期时间", |
| | | prop: "timeEnd", |
| | | display: false, |
| | | prop: "end_time", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "服务单位名称", |
| | | prop: "customerName", |
| | | prop: "fwname", |
| | | searchLabelWidth: 110, |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | display: false |
| | | }, |
| | | { |
| | | label: "保安派遣人数", |
| | | prop: "num", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "备注", |
| | | prop: "bz", |
| | | display: false, |
| | | display: false |
| | | }, |
| | | // { |
| | | // label: "服务状态", |
| | | // prop: "status", |
| | | // searchSpan: 4, |
| | | // type: "select", |
| | | // props: { |
| | | // label: "label", |
| | | // value: "value", |
| | | // }, |
| | | // // cascaderItem: ["city", "area"], |
| | | // // dicUrl:subofficeOptions, |
| | | // dicData: [ |
| | | // { |
| | | // value: "0", |
| | | // label: "已完成", |
| | | // }, |
| | | // { |
| | | // value: "2", |
| | | // label: "正在服务", |
| | | // }, |
| | | // { |
| | | // value: "3", |
| | | // label: "未下单", |
| | | // }, |
| | | // ], |
| | | // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请选择服务状态", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | ], |
| | | // label: "备注", |
| | | // prop: "bz", |
| | | // display: false |
| | | // } |
| | | ] |
| | | }, |
| | | typeValue: "0", |
| | | typeOptions: [ |
| | | { |
| | | value: "0", |
| | | label: "全部", |
| | | label: "全部" |
| | | }, |
| | | { |
| | | value: "1", |
| | | label: "社保缴纳人数", |
| | | label: "社保缴纳人数" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "社保缴纳总额", |
| | | label: "社保缴纳总额" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "公司派遣人数", |
| | | label: "公司派遣人数" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "社保缴纳人数占比", |
| | | }, |
| | | label: "社保缴纳人数占比" |
| | | } |
| | | ], |
| | | subofficeValue: "0", |
| | | subofficeOptions: [ |
| | | { |
| | | value: "0", |
| | | label: "南昌市公安局", |
| | | label: "南昌市公安局" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "东湖分局", |
| | | label: "东湖分局" |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "西湖分局", |
| | | label: "西湖分局" |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "青云谱分局", |
| | | label: "青云谱分局" |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "青山湖分局", |
| | | }, |
| | | label: "青山湖分局" |
| | | } |
| | | ], |
| | | servicesList: [], |
| | | companyName: "", |
| | | loading: true |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.post_add, false), |
| | | viewBtn: this.vaildData(this.permission.post_view, false), |
| | | delBtn: this.vaildData(this.permission.post_delete, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false) |
| | | }; |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | dateChange() {}, |
| | | getTableData() { |
| | | let params = { |
| | | jurisdiction: "", |
| | | current: 1, |
| | | fid: 20, |
| | | deptid: "1412222709480509442", |
| | | size: 10 |
| | | }; |
| | | selectDis(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.tableData = res.data.data; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | }, |
| | | getFuWuList() { |
| | | selectFw().then(res => { |
| | | if (res.data.code === 200) { |
| | | this.servicesList = res.data.data; |
| | | } |
| | | }); |
| | | } |
| | | // downExcel() { |
| | | // let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | // let etout = XLSX.write(et, { |
| | |
| | | // return etout; |
| | | // } |
| | | }, |
| | | mounted() {}, |
| | | mounted() { |
| | | this.getTableData(); |
| | | this.getFuWuList(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | </style> |
| | | <style lang="scss" scoped></style> |
| | |
| | | :option="tableOption" |
| | | :data="tableData" |
| | | :page.sync="tablePage" |
| | | :table-loading="loading" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | @date-change="dateChange" |
| | |
| | | import FileSaver from "file-saver"; |
| | | import XLSX from "xlsx"; |
| | | import { mapGetters } from "vuex"; |
| | | import { selectUIn } from "../../api/statisticalQueryManagement/statisticalQueryManagement"; |
| | | export default { |
| | | name: "公司人员详情", |
| | | data() { |
| | |
| | | value1: "", |
| | | value2: "", |
| | | tableData: [ |
| | | { |
| | | name: "张强", |
| | | No: "NO.2143", |
| | | idNumber: "230229187623601221", |
| | | tel: "13728198762", |
| | | holder: "是", |
| | | socialSecurity: "是", |
| | | picture: "是", |
| | | qualification: "通过", |
| | | pass: "是", |
| | | send: "是", |
| | | }, |
| | | { |
| | | name: "张强", |
| | | No: "NO.2143", |
| | | idNumber: "230229187623601221", |
| | | tel: "13728198762", |
| | | holder: "是", |
| | | socialSecurity: "是", |
| | | picture: "是", |
| | | qualification: "通过", |
| | | pass: "是", |
| | | send: "是", |
| | | }, |
| | | { |
| | | name: "张强", |
| | | No: "NO.2143", |
| | | idNumber: "230229187623601221", |
| | | tel: "13728198762", |
| | | holder: "是", |
| | | socialSecurity: "是", |
| | | picture: "是", |
| | | qualification: "通过", |
| | | pass: "是", |
| | | send: "是", |
| | | }, |
| | | // { |
| | | // name: "张强", |
| | | // No: "NO.2143", |
| | | // idNumber: "230229187623601221", |
| | | // tel: "13728198762", |
| | | // holder: "是", |
| | | // socialSecurity: "是", |
| | | // picture: "是", |
| | | // qualification: "通过", |
| | | // pass: "是", |
| | | // send: "是" |
| | | // }, |
| | | // { |
| | | // name: "张强", |
| | | // No: "NO.2143", |
| | | // idNumber: "230229187623601221", |
| | | // tel: "13728198762", |
| | | // holder: "是", |
| | | // socialSecurity: "是", |
| | | // picture: "是", |
| | | // qualification: "通过", |
| | | // pass: "是", |
| | | // send: "是" |
| | | // }, |
| | | // { |
| | | // name: "张强", |
| | | // No: "NO.2143", |
| | | // idNumber: "230229187623601221", |
| | | // tel: "13728198762", |
| | | // holder: "是", |
| | | // socialSecurity: "是", |
| | | // picture: "是", |
| | | // qualification: "通过", |
| | | // pass: "是", |
| | | // send: "是" |
| | | // } |
| | | ], |
| | | tablePage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | total: 0 |
| | | }, |
| | | tableOption: { |
| | | excelBtn: true, |
| | |
| | | { |
| | | label: "保安员姓名", |
| | | searchLabelWidth: 110, |
| | | prop: "name", |
| | | prop: "real_name", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | display: false |
| | | }, |
| | | |
| | | { |
| | | label: "保安员编号", |
| | | prop: "No", |
| | | display: false, |
| | | prop: "securitynumber", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "身份证号", |
| | | prop: "idNumber", |
| | | display: false, |
| | | prop: "cardid", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "tel", |
| | | display: false, |
| | | prop: "phone", |
| | | display: false |
| | | }, |
| | | { |
| | | label: "是否持证", |
| | | prop: "holder", |
| | | prop: "hold", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | // cascaderItem: ["city", "area"], |
| | | // dicUrl:subofficeOptions, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "是", |
| | | label: "是" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "否", |
| | | }, |
| | | label: "否" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择是否持证", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "是否缴纳社保", |
| | | // labelWidth: 120, |
| | | searchLabelWidth: 110, |
| | | prop: "socialSecurity", |
| | | prop: "soil", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "是", |
| | | label: "是" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "否", |
| | | }, |
| | | label: "否" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择是否缴纳社保", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | { |
| | | label: "是否已采集照片", |
| | | searchLabelWidth: 120, |
| | | prop: "picture", |
| | | prop: "photo", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "是", |
| | | label: "是" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "否", |
| | | }, |
| | | label: "否" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择是否已采集照片", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "资格审查情况", |
| | | searchLabelWidth: 110, |
| | | prop: "qualification", |
| | | prop: "examination_type", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "通过", |
| | | label: "通过" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "异常", |
| | | }, |
| | | label: "异常" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择资格审查情况", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | label: "是否通过考试", |
| | | searchLabelWidth: 110, |
| | | prop: "pass", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | }, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "是", |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "否", |
| | | }, |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择是否通过考试", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "是否通过考试", |
| | | // searchLabelWidth: 110, |
| | | // prop: "pass", |
| | | // searchSpan: 4, |
| | | // type: "select", |
| | | // props: { |
| | | // label: "label", |
| | | // value: "value" |
| | | // }, |
| | | // dicData: [ |
| | | // { |
| | | // value: "0", |
| | | // label: "是" |
| | | // }, |
| | | // { |
| | | // value: "2", |
| | | // label: "否" |
| | | // } |
| | | // ], |
| | | // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请选择是否通过考试", |
| | | // trigger: "blur" |
| | | // } |
| | | // ] |
| | | // }, |
| | | { |
| | | label: "是否派遣", |
| | | prop: "send", |
| | | prop: "dispatch", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | | label: "label", |
| | | value: "value", |
| | | value: "value" |
| | | }, |
| | | dicData: [ |
| | | { |
| | | value: "0", |
| | | label: "是", |
| | | label: "是" |
| | | }, |
| | | { |
| | | value: "2", |
| | | label: "否", |
| | | }, |
| | | label: "否" |
| | | } |
| | | ], |
| | | search: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择是否派遣", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | companyName: "", |
| | | loading: true |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.post_add, false), |
| | | viewBtn: this.vaildData(this.permission.post_view, false), |
| | | delBtn: this.vaildData(this.permission.post_delete, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false) |
| | | }; |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | dateChange() {}, |
| | | getTableData() { |
| | | selectUIn({ deptid: "1412222709480509442",current: 1, size: 10 }).then( |
| | | res => { |
| | | if (res.data.code === 200) { |
| | | this.tableData = res.data.data; |
| | | this.loading = false; |
| | | } |
| | | } |
| | | ); |
| | | } |
| | | // downExcel() { |
| | | // let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | // let etout = XLSX.write(et, { |
| | |
| | | // return etout; |
| | | // } |
| | | }, |
| | | mounted() {}, |
| | | mounted() { |
| | | this.getTableData(); |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | |
| | | :option="tableOption" |
| | | :data="tableData" |
| | | :page.sync="tablePage" |
| | | :table-loading="loading" |
| | | :permission="permissionList" |
| | | :before-open="beforeOpen" |
| | | @date-change="dateChange" |
| | | @row-click="handleRowClick" |
| | | class="rowClick" |
| | | > |
| | | <template slot-scope="{ type, size }" slot="menu"> |
| | | <el-button icon="el-icon-check" :size="size" :type="type" |
| | | >自定义菜单按钮</el-button |
| | | > |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | |
| | | import FileSaver from "file-saver"; |
| | | import XLSX from "xlsx"; |
| | | import { mapGetters } from "vuex"; |
| | | import { selectLi } from "../../api/statisticalQueryManagement/statisticalQueryManagement"; |
| | | export default { |
| | | name: "业务情况统计", |
| | | data() { |
| | |
| | | value1: "", |
| | | value2: "", |
| | | tableData: [ |
| | | { |
| | | company: "江西省永安保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | total: "21540", |
| | | holder: "21520", |
| | | nosend: "10200", |
| | | send: "1320", |
| | | nopicture: "314", |
| | | qualification: "142", |
| | | pass: "21120", |
| | | socialSecurity: "21535", |
| | | }, |
| | | { |
| | | company: "南昌市赣水保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | total: "21540", |
| | | holder: "21520", |
| | | nosend: "10200", |
| | | send: "1320", |
| | | nopicture: "314", |
| | | qualification: "142", |
| | | pass: "21120", |
| | | socialSecurity: "21535", |
| | | }, |
| | | { |
| | | company: "江西中业兴达保安服务有限公司", |
| | | subOffice: "东湖分局", |
| | | total: "21540", |
| | | holder: "21520", |
| | | nosend: "10200", |
| | | send: "1320", |
| | | nopicture: "314", |
| | | qualification: "142", |
| | | pass: "21120", |
| | | socialSecurity: "21535", |
| | | }, |
| | | // { |
| | | // company: "江西省永安保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // total: "21540", |
| | | // holder: "21520", |
| | | // nosend: "10200", |
| | | // send: "1320", |
| | | // nopicture: "314", |
| | | // qualification: "142", |
| | | // pass: "21120", |
| | | // socialSecurity: "21535", |
| | | // }, |
| | | // { |
| | | // company: "南昌市赣水保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // total: "21540", |
| | | // holder: "21520", |
| | | // nosend: "10200", |
| | | // send: "1320", |
| | | // nopicture: "314", |
| | | // qualification: "142", |
| | | // pass: "21120", |
| | | // socialSecurity: "21535", |
| | | // }, |
| | | // { |
| | | // company: "江西中业兴达保安服务有限公司", |
| | | // subOffice: "东湖分局", |
| | | // total: "21540", |
| | | // holder: "21520", |
| | | // nosend: "10200", |
| | | // send: "1320", |
| | | // nopicture: "314", |
| | | // qualification: "142", |
| | | // pass: "21120", |
| | | // socialSecurity: "21535", |
| | | // }, |
| | | ], |
| | | tablePage: { |
| | | pageSize: 10, |
| | |
| | | column: [ |
| | | { |
| | | label: "公司名称", |
| | | prop: "company", |
| | | prop: "deptname", |
| | | search: true, |
| | | searchSpan: 4, |
| | | display: false, |
| | | }, |
| | | |
| | | { |
| | | label: "所属辖区", |
| | | prop: "subOffice", |
| | | prop: "jurname", |
| | | searchSpan: 4, |
| | | type: "select", |
| | | props: { |
| | |
| | | }, |
| | | { |
| | | label: "保安员总数", |
| | | prop: "total", |
| | | prop: "num", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "持证上岗人数", |
| | | prop: "holder", |
| | | prop: "cznum", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "未派遣人数", |
| | | prop: "nosend", |
| | | prop: "wpaiqnum", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "派遣人数", |
| | | prop: "send", |
| | | prop: "paiqnum", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "未采集照片人数", |
| | | prop: "nopicture", |
| | | prop: "wcaijnum", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "资格审查异常人数", |
| | | prop: "qualification", |
| | | prop: "yicnum", |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "过考保安人数", |
| | | prop: "pass", |
| | | display: false, |
| | | }, |
| | | // { |
| | | // label: "过考保安人数", |
| | | // prop: "pass", |
| | | // display: false, |
| | | // }, |
| | | { |
| | | label: "缴纳社保人数", |
| | | prop: "socialSecurity", |
| | | prop: "sbnum", |
| | | display: false, |
| | | }, |
| | | ], |
| | | }, |
| | | companyName: "", |
| | | loading:true, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.$router.push({ path: "/statisticalQueryManagement/companyDetails" }); |
| | | }, |
| | | dateChange() {}, |
| | | getTableData() { |
| | | selectLi({current: 1, size: 10 }).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.tableData = res.data.data; |
| | | this.loading = false; |
| | | } |
| | | }); |
| | | } |
| | | // downExcel() { |
| | | // let et = XLSX.utils.table_to_book(document.getElementById("table")); |
| | | // let etout = XLSX.write(et, { |
| | |
| | | // return etout; |
| | | // } |
| | | }, |
| | | mounted() {}, |
| | | mounted() { |
| | | this.getTableData(); |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |