project init
This commit is contained in:
239
src/views/workstation/enterprise/index.vue
Normal file
239
src/views/workstation/enterprise/index.vue
Normal file
@@ -0,0 +1,239 @@
|
||||
<template>
|
||||
<div>
|
||||
<basic-container>
|
||||
<el-radio-group v-model="status" size="small" @change="radioGroup">
|
||||
<el-radio-button
|
||||
v-for="(item,key,index) in missionTypes"
|
||||
:key="index"
|
||||
:label="item.value"
|
||||
>{{item.label}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</basic-container>
|
||||
|
||||
<basic-container v-if="status === 2">
|
||||
<div class="enterpriseTip">
|
||||
<p class="title">{{status | searchStatus}}</p>
|
||||
<div style="height: 30px;"></div>
|
||||
<div style="display: flex;justify-content: space-between;flex-wrap: wrap;">
|
||||
<span class="name">企业总数 {{negativeTurnZero(companySurveyObj.companyCount)}}</span>
|
||||
<span class="name">商保<span class="smallTitle">启用</span>{{negativeTurnZero(companySurveyObj.insuranceOn)}} <span class="smallTitle">停用</span>{{negativeTurnZero(companySurveyObj.insuranceShut)}}</span>
|
||||
<span class="name">保证金<span class="smallTitle">已缴</span> {{negativeTurnZero(companySurveyObj.trialOn)}} <span class="smallTitle">免缴</span> {{negativeTurnZero(companySurveyObj.trialFree)}}<span class="smallTitle">未缴</span> {{negativeTurnZero(companySurveyObj.trialShut)}}</span>
|
||||
<span class="name">电子合同<span class="smallTitle">启用</span> {{negativeTurnZero(companySurveyObj.contractOn)}}<span class="smallTitle">停用</span> {{negativeTurnZero(companySurveyObj.contractShut)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</basic-container>
|
||||
|
||||
<basic-container>
|
||||
<!--搜索栏-->
|
||||
<el-form
|
||||
size="small"
|
||||
label-position="right"
|
||||
:inline="true"
|
||||
>
|
||||
|
||||
<el-row :span="24">
|
||||
|
||||
<el-form-item label="公司名称:">
|
||||
<el-input v-model="search.companyName" placeholder="公司名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="联系电话:">
|
||||
<el-input v-model="search.phone" placeholder="联系电话"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="status === 2" label="商保:">
|
||||
<el-select v-model="search.insuranceOn" placeholder="商保" style="width:100%">
|
||||
<el-option
|
||||
v-for="(item,key,index) in insurance"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="status === 2" label="保证金:">
|
||||
<el-select v-model="search.trialOn" placeholder="保证金" style="width:100%">
|
||||
<el-option
|
||||
v-for="(item,key,index) in bond"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="status === 2" label="电子合同:">
|
||||
<el-select v-model="search.contractOn" placeholder="电子合同" style="width:100%">
|
||||
<el-option
|
||||
v-for="(item,key,index) in contract"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<div class="searchBtn">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜 索</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="handleClear">清 空</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<!-- table -->
|
||||
<examine ref="examine"></examine>
|
||||
</basic-container>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { enterpriseState, enableState, bondState } from '@/common/dic'
|
||||
import {getCompanySurveyVO} from '@/api/workstation/enterprise'
|
||||
import examine from "./table/examine";
|
||||
import { negativeTurnZero } from "@/util/validate";
|
||||
import {setStore, getStore} from '@/util/store'
|
||||
|
||||
export default {
|
||||
name: "index",
|
||||
components: {examine},
|
||||
data() {
|
||||
return {
|
||||
missionTypes: enterpriseState,
|
||||
activeName: 'first',
|
||||
companySurveyObj: {},
|
||||
search: {
|
||||
status: 1,
|
||||
insurance: '',
|
||||
bond: '',
|
||||
contract: '',
|
||||
},
|
||||
status: 1,
|
||||
insurance: enableState,
|
||||
bond: bondState,
|
||||
contract: enableState
|
||||
};
|
||||
},
|
||||
filters: {
|
||||
searchStatus (v) {
|
||||
switch (v) {
|
||||
case 1:
|
||||
return '审核中企业概况';
|
||||
case 2:
|
||||
return '合作中企业概况';
|
||||
case 3:
|
||||
return '终止合作企业概况';
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const status = getStore({name: 'enterpriseStatus'})
|
||||
if (status) {
|
||||
this.status = Number(status)
|
||||
if (this.status === 2) {
|
||||
this.search.status = 0
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.companySurvey()
|
||||
},
|
||||
methods: {
|
||||
negativeTurnZero,
|
||||
async companySurvey(){
|
||||
if (this.search.status === 0) {
|
||||
var obj = {
|
||||
status: this.search.status
|
||||
}
|
||||
await getCompanySurveyVO(obj).then(res => {
|
||||
this.companySurveyObj = res.data.data
|
||||
})
|
||||
}
|
||||
await this.handleSearch()
|
||||
},
|
||||
radioGroup(v){
|
||||
setStore({name: 'enterpriseStatus', content: v, type: 'session'})
|
||||
// 0:合作中;1:审核中; 2:已驳回 9:终止合作
|
||||
var status = Number(v)
|
||||
if (status === 2) {
|
||||
status = 0
|
||||
} else if (status === 3) {
|
||||
status = 9
|
||||
}
|
||||
this.search = {
|
||||
status: status,
|
||||
companyName: '',
|
||||
phone: '',
|
||||
insuranceOn:'',
|
||||
trialOn:'',
|
||||
contractOn: ''
|
||||
}
|
||||
this.status = v
|
||||
this.companySurvey()
|
||||
},
|
||||
handleSearch () {
|
||||
var status = Number(this.status)
|
||||
if (status === 2) {
|
||||
status = 0
|
||||
} else if (status === 3) {
|
||||
status = 9
|
||||
}
|
||||
this.search.status = status
|
||||
this.$refs.examine.init(this.search);
|
||||
},
|
||||
handleClear () {
|
||||
let curStatus = this.search.status;
|
||||
this.search = {
|
||||
status: curStatus,
|
||||
companyName: '',
|
||||
phone: '',
|
||||
insuranceOn:'',
|
||||
trialOn:'',
|
||||
contractOn: ''
|
||||
}
|
||||
this.handleSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
p{
|
||||
margin: 0 !important;
|
||||
}
|
||||
.el-form-item {
|
||||
/*margin-bottom: 0 !important;*/
|
||||
}
|
||||
.searchBtn {
|
||||
display: inline-block;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.enterpriseTip{
|
||||
border-radius: 0px 4px 5px 4px;
|
||||
/*padding: 14px;*/
|
||||
}
|
||||
.enterpriseTip .name{
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
line-height: 25px;
|
||||
}
|
||||
.enterpriseTip .smallTitle{
|
||||
width: 36px;
|
||||
height: 25px;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
line-height: 25px;
|
||||
margin-right: 15px;
|
||||
margin-left: 40px;
|
||||
}
|
||||
.enterpriseTip .title{
|
||||
height: 30px;
|
||||
font-size: 22px;
|
||||
font-weight: 800;
|
||||
color: #333333;
|
||||
line-height: 30px;
|
||||
}
|
||||
</style>
|
||||
210
src/views/workstation/enterprise/table/examine.vue
Normal file
210
src/views/workstation/enterprise/table/examine.vue
Normal file
@@ -0,0 +1,210 @@
|
||||
<template>
|
||||
<div>
|
||||
<avue-crud
|
||||
:option="option"
|
||||
:table-loading="loading"
|
||||
:data="data"
|
||||
:page.sync="page"
|
||||
ref="crud"
|
||||
@current-change="currentChange"
|
||||
@size-change="sizeChange"
|
||||
@refresh-change="refreshChange"
|
||||
>
|
||||
<template slot="insuranceOn" slot-scope="{ row }">
|
||||
<div>{{ row.insuranceOn | insuranceOn}}</div>
|
||||
</template>
|
||||
<template slot="trialOn" slot-scope="{ row }">
|
||||
<div>{{ row.trialOn | trialOn}}</div>
|
||||
</template>
|
||||
<template slot="contractOn" slot-scope="{ row }">
|
||||
<div>{{ row.contractOn | insuranceOn}}</div>
|
||||
</template>
|
||||
<template slot="isSign" slot-scope="{ row }">
|
||||
<div>{{ row.isSign | isSign}}</div>
|
||||
</template>
|
||||
<template slot="serveCost" slot-scope="{ row }">
|
||||
<div>{{ moneyFormat(negativeTurnZero(row.serveCost))}}</div>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getCompanyStateVOList} from '@/api/workstation/enterprise'
|
||||
import { moneyFormat } from "@/util/money";
|
||||
import { negativeTurnZero } from "@/util/validate";
|
||||
export default {
|
||||
name: "examine",
|
||||
props: {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
page: {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 100,
|
||||
},
|
||||
query: {},
|
||||
data: [],
|
||||
option: {
|
||||
height: "400",
|
||||
calcHeight: 40,
|
||||
menuWidth: 420,
|
||||
align: "center",
|
||||
menuAlign: "center",
|
||||
indexLabel: "序号",
|
||||
menu:false,
|
||||
tip: false,
|
||||
addBtn: false,
|
||||
viewBtn: false,
|
||||
delBtn: false,
|
||||
editBtn: false,
|
||||
excelBtn: false,
|
||||
columnBtn: false,
|
||||
searchBtn: false,
|
||||
searchShow: false,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: false,
|
||||
dialogType: "drawer",
|
||||
dialogWidth: "60%",
|
||||
delBtnText: "取消",
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: "公司名称",
|
||||
prop: "companyName",
|
||||
display: false
|
||||
},
|
||||
{
|
||||
label: "联系人",
|
||||
prop: "name",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "联系电话",
|
||||
prop: "phone",
|
||||
display: false
|
||||
},
|
||||
{
|
||||
label: "商保",
|
||||
prop: "insuranceOn",
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "保证金",
|
||||
prop: "trialOn",
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "电子合同",
|
||||
prop: "contractOn",
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "服务费",
|
||||
prop: "serveCost",
|
||||
slot: true,
|
||||
},
|
||||
|
||||
{
|
||||
label: "服务协议",
|
||||
prop: "isSign",
|
||||
slot: true,
|
||||
},
|
||||
{
|
||||
label: "邀请码",
|
||||
prop: "inviteCode",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "注册时间",
|
||||
prop: "createTime",
|
||||
display: false,
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
insuranceOn(v){
|
||||
if (v === 0) {
|
||||
return '停用'
|
||||
} else if (v === 1) {
|
||||
return '启用'
|
||||
}
|
||||
},
|
||||
// 0:已缴费,1:未缴,2:免缴
|
||||
trialOn(v){
|
||||
if (v === 0) {
|
||||
return '已缴'
|
||||
} else if (v === 1) {
|
||||
return '未缴'
|
||||
} else if (v === 2) {
|
||||
return '免缴'
|
||||
}
|
||||
},
|
||||
// 0未签;1:已签
|
||||
isSign(v){
|
||||
if (v === 0) {
|
||||
return '未签'
|
||||
} else if (v === 1) {
|
||||
return '已签'
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
negativeTurnZero,
|
||||
moneyFormat,
|
||||
currentChange(currentPage) {
|
||||
this.page.currentPage = currentPage;
|
||||
this.listInit(this.query)
|
||||
},
|
||||
sizeChange(pageSize) {
|
||||
this.page.pageSize = pageSize;
|
||||
this.listInit(this.query)
|
||||
},
|
||||
/*刷新本页 带搜索参数*/
|
||||
refreshChange() {
|
||||
this.init(this.query)
|
||||
},
|
||||
init(search){
|
||||
this.page.currentPage = 1;
|
||||
this.query = search
|
||||
var params = {
|
||||
...search,
|
||||
current: this.page.currentPage,
|
||||
size: this.page.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
getCompanyStateVOList(params).then(res => {
|
||||
this.data = res.data.data.records
|
||||
this.page.total = res.data.data.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
listInit(search){
|
||||
this.query = search
|
||||
var params = {
|
||||
...search,
|
||||
current: this.page.currentPage,
|
||||
size: this.page.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
getCompanyStateVOList(params).then(res => {
|
||||
this.data = res.data.data.records
|
||||
this.page.total = res.data.data.total
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
311
src/views/workstation/task/index.vue
Normal file
311
src/views/workstation/task/index.vue
Normal file
@@ -0,0 +1,311 @@
|
||||
<template>
|
||||
<div>
|
||||
<basic-container>
|
||||
<el-radio-group v-model="search.status" size="small" @change="radioGroup">
|
||||
<el-radio-button
|
||||
v-for="(item,key,index) in missionTypes"
|
||||
:key="index"
|
||||
:label="item.value"
|
||||
>{{item.label}}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</basic-container>
|
||||
|
||||
<basic-container >
|
||||
<div class="taskTip">
|
||||
<p class="title">{{search.status | searchStatus}}</p>
|
||||
<div style="height: 30px;"></div>
|
||||
<div v-if="search.status === 1" style="display: flex;flex-wrap: wrap;">
|
||||
<span class="name">任务总数 {{taskGather.totalCount}}</span>
|
||||
<span class="name" style="margin-left: 30px;">
|
||||
任务阶段
|
||||
<span class="smallTitle">招聘中</span>{{taskGather.recruitCount}}
|
||||
<span class="smallTitle">任务中</span>{{taskGather.startCount}}
|
||||
<span class="smallTitle">已完成</span>{{taskGather.completCount}}
|
||||
<span class="smallTitle">已失效</span>{{taskGather.invalidCount}}
|
||||
<span class="smallTitle">审核未通过</span>{{taskGather.rejectCount}}
|
||||
</span>
|
||||
<!-- <span class="name">-->
|
||||
<!-- 任务工资-->
|
||||
<!-- <span class="smallTitle">待支付</span>{{taskGather.nonPaycount}}-->
|
||||
<!-- <span class="smallTitle">已支付</span>{{taskGather.payCount}}-->
|
||||
<!-- <span class="smallTitle">已发放</span>{{taskGather.userPayCount}}-->
|
||||
<!-- <span class="smallTitle">已逾期</span>{{taskGather.expiryCount}}-->
|
||||
<!-- </span>-->
|
||||
</div>
|
||||
|
||||
<div v-if="search.status === 2" style="display: flex;flex-wrap: wrap;">
|
||||
<span class="name" style="margin-right: 40px;">任务总数 {{taskDetail.totalCount}}</span>
|
||||
<span class="name">
|
||||
人员情况
|
||||
<span class="smallTitle">招聘总人数</span>{{taskDetail.enListCount}}
|
||||
<span class="smallTitle">申请总人数</span>{{taskDetail.applyCount}}
|
||||
<span class="smallTitle">录用总人数</span>{{taskDetail.employedCount}}
|
||||
<span class="smallTitle">发工资总人数</span>{{taskDetail.userPayCount}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</basic-container>
|
||||
|
||||
<basic-container>
|
||||
<!-- 搜索栏 -->
|
||||
<el-form
|
||||
size="small"
|
||||
label-position="right"
|
||||
:inline="true"
|
||||
>
|
||||
<el-row :span="24" v-if="search.status === 1">
|
||||
|
||||
<el-form-item label="公司名称:">
|
||||
<el-input v-model="search.companyName" placeholder="公司名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="联系电话:">
|
||||
<el-input v-model="search.callTel" placeholder="联系电话"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="距离最后发任务时间:">-->
|
||||
<!-- <el-radio-group v-model="search.status" size="small" @change="radioGroup">-->
|
||||
<!-- <el-radio-button-->
|
||||
<!-- v-for="(item,key,index) in missionTypes"-->
|
||||
<!-- :key="index"-->
|
||||
<!-- :label="item.value"-->
|
||||
<!-- >{{item.label}}</el-radio-button>-->
|
||||
<!-- </el-radio-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<div class="searchBtn">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜 索</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="handleClear">清 空</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row :span="24" v-if="search.status === 2">
|
||||
|
||||
<el-form-item label="公司名称:">
|
||||
<el-input v-model="search.companyName" placeholder="公司名称"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="任务编号:">
|
||||
<el-input v-model="search.missionNo" placeholder="任务编号" ></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="任务标题:">
|
||||
<el-input v-model="search.missionTitle" placeholder="任务标题" ></el-input>
|
||||
</el-form-item>
|
||||
<br>
|
||||
<el-form-item>
|
||||
<el-select v-model="search.reviewState" placeholder="请选择搜索时间类型" style="width:100%">
|
||||
<el-option
|
||||
v-for="(item,key,index) in timeStatus"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-date-picker
|
||||
:disabled="search.reviewState === ''"
|
||||
v-model="search.taskTime"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="完成时间"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd"
|
||||
@change="dateChangeSubTime">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<tool-tip></tool-tip>
|
||||
|
||||
<el-form-item label="任务状态:">
|
||||
<el-select v-model="search.jobStatus" placeholder="任务状态" style="width:100%">
|
||||
<el-option
|
||||
v-for="(item,key,index) in jobStatus"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<div class="searchBtn">
|
||||
<el-button type="primary" size="small" icon="el-icon-search" @click="handleSearch">搜 索</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="handleClear">清 空</el-button>
|
||||
<el-button size="small" icon="el-icon-delete" @click="taskOut">导 出</el-button>
|
||||
</div>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
<!-- table -->
|
||||
<gather v-if="search.status === 1" ref="gather" @searchCompanyName="searchCompanyName"></gather>
|
||||
<detail v-if="search.status === 2" ref="detail"></detail>
|
||||
</basic-container>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { taskState, jobStatus, timeStatus } from '@/common/dic'
|
||||
import {gatherInfo, detailInfo} from '@/api/workstation/task'
|
||||
import gather from "./table/gather";
|
||||
import detail from "./table/detail";
|
||||
import {setStore, getStore} from '@/util/store'
|
||||
export default {
|
||||
name: "index",
|
||||
components: {gather, detail},
|
||||
data() {
|
||||
return {
|
||||
disabled: true,
|
||||
missionTypes: taskState,
|
||||
jobStatus: jobStatus,
|
||||
timeStatus: timeStatus,
|
||||
activeName: 'first',
|
||||
taskTime: '',
|
||||
taskGather: {},
|
||||
taskDetail: {},
|
||||
search: {
|
||||
status: 1,
|
||||
},
|
||||
};
|
||||
},
|
||||
filters: {
|
||||
searchStatus (v) {
|
||||
switch (v) {
|
||||
case 1:
|
||||
return '任务概况';
|
||||
case 2:
|
||||
return '任务概况';
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const status = getStore({name: 'taskStatus'})
|
||||
if (status) {
|
||||
this.search.status = Number(status)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.handleSearch()
|
||||
},
|
||||
methods: {
|
||||
searchCompanyName (companyName) {
|
||||
this.search.status = 2
|
||||
setStore({name: 'taskStatus', content: 2, type: 'session'})
|
||||
this.search.companyName = companyName
|
||||
this.handleSearch()
|
||||
},
|
||||
dateChangeSubTime(val){
|
||||
if(val){
|
||||
this.search.stime = val[0]+" 00:00:00";
|
||||
this.search.etime = val[1]+" 23:59:59";
|
||||
} else{
|
||||
this.search.stime = '';
|
||||
this.search.etime = '';
|
||||
}
|
||||
},
|
||||
gatherInfoInit () {
|
||||
gatherInfo().then(res => {
|
||||
this.taskGather = res.data.data
|
||||
})
|
||||
},
|
||||
detailInfoInit () {
|
||||
detailInfo().then(res => {
|
||||
this.taskDetail = res.data.data
|
||||
})
|
||||
},
|
||||
radioGroup(v) {
|
||||
setStore({name: 'taskStatus', content: v, type: 'session'})
|
||||
this.handleClear()
|
||||
},
|
||||
handleSearch () {
|
||||
if (this.search.status === 1) {
|
||||
this.gatherInfoInit()
|
||||
var gatherObj = {
|
||||
companyName: this.search.companyName,
|
||||
callTel: this.search.callTel
|
||||
}
|
||||
this.$refs.gather.init(gatherObj)
|
||||
} else if (this.search.status === 2) {
|
||||
this.detailInfoInit()
|
||||
var detailObj = {
|
||||
status: this.search.jobStatus ? this.search.jobStatus : '',
|
||||
companyName: this.search.companyName ? this.search.companyName : '',
|
||||
missionNo: this.search.missionNo ? this.search.missionNo : '',
|
||||
missionTitle: this.search.missionTitle ? this.search.missionTitle : '',
|
||||
reviewState: this.search.reviewState ? this.search.reviewState : 0,
|
||||
stime: this.search.stime ? this.search.stime : '',
|
||||
etime: this.search.etime ? this.search.etime : ''
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.detail.init(detailObj)
|
||||
})
|
||||
}
|
||||
},
|
||||
handleClear(){
|
||||
this.search = {
|
||||
status: this.search.status,
|
||||
companyName: '',
|
||||
callTel: '',
|
||||
missionNo:'',
|
||||
missionTitle: '',
|
||||
reviewState: '',
|
||||
jobStatus: '',
|
||||
};
|
||||
this.handleSearch()
|
||||
},
|
||||
taskOut(){
|
||||
var detailObj = {
|
||||
status: this.search.jobStatus ? this.search.jobStatus : '',
|
||||
companyName: this.search.companyName ? this.search.companyName : '',
|
||||
missionNo: this.search.missionNo ? this.search.missionNo : '',
|
||||
missionTitle: this.search.missionTitle ? this.search.missionTitle : '',
|
||||
reviewState: this.search.reviewState ? this.search.reviewState : '',
|
||||
stime: this.search.stime ? this.search.stime : '',
|
||||
etime: this.search.etime ? this.search.etime : ''
|
||||
}
|
||||
this.$refs.detail.taskOut(detailObj)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
p{
|
||||
margin: 0 !important;
|
||||
}
|
||||
.el-form-item {
|
||||
margin-right: 18px !important;
|
||||
/*margin-bottom: 0 !important;*/
|
||||
}
|
||||
.searchBtn {
|
||||
display: inline-block;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.taskTip{
|
||||
border-radius: 0px 4px 5px 4px;
|
||||
/*padding: 14px;*/
|
||||
}
|
||||
.taskTip .name{
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
line-height: 25px;
|
||||
}
|
||||
.taskTip .smallTitle{
|
||||
width: 36px;
|
||||
height: 25px;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
line-height: 25px;
|
||||
margin-right: 15px;
|
||||
margin-left: 40px;
|
||||
}
|
||||
.taskTip .title{
|
||||
height: 30px;
|
||||
font-size: 22px;
|
||||
font-weight: 800;
|
||||
color: #333333;
|
||||
line-height: 30px;
|
||||
}
|
||||
</style>
|
||||
254
src/views/workstation/task/table/detail.vue
Normal file
254
src/views/workstation/task/table/detail.vue
Normal file
@@ -0,0 +1,254 @@
|
||||
<template>
|
||||
<div>
|
||||
<avue-crud
|
||||
:option="option"
|
||||
:table-loading="loading"
|
||||
:data="data"
|
||||
:page.sync="page"
|
||||
@current-change="currentChange"
|
||||
@size-change="sizeChange"
|
||||
@refresh-change="refreshChange"
|
||||
>
|
||||
<template slot="status" slot-scope="{ row }">
|
||||
<div>{{ row.status | jobStatus}}</div>
|
||||
</template>
|
||||
<template slot="wage" slot-scope="{ row }">
|
||||
<div>{{ row.wage}}元/人/天</div>
|
||||
</template>
|
||||
<template slot="etimePub" slot-scope="{ row }">
|
||||
<div>{{ dateFormat(new Date(row.etimePub), "yyyy/MM/dd")}}</div>
|
||||
</template>
|
||||
<template slot="etime" slot-scope="{ row }">
|
||||
<div>{{ dateFormat(new Date(row.etime), "yyyy/MM/dd")}}</div>
|
||||
</template>
|
||||
<template slot="stime" slot-scope="{ row }">
|
||||
<div>{{ dateFormat(new Date(row.stime), "yyyy/MM/dd")}}</div>
|
||||
</template>
|
||||
<template slot="expiryTime" slot-scope="{ row }">
|
||||
<div>{{ dateFormat(new Date(row.expiryTime), "yyyy/MM/dd")}}</div>
|
||||
</template>
|
||||
<!--自定义操作栏-->
|
||||
<div slot="menu" slot-scope="{ size, type, row }">
|
||||
<el-button
|
||||
icon="el-icon-view"
|
||||
:size="size"
|
||||
:type="type"
|
||||
@click.stop="rowView(row)"
|
||||
>查看</el-button>
|
||||
</div>
|
||||
</avue-crud>
|
||||
<el-drawer title="详情" :visible.sync="viewDrawer" size="60%">
|
||||
<mission-view :model="view"></mission-view>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getDetail,
|
||||
} from "@/api/manage/mission";
|
||||
import missionView from "@/views/util/mission-view";
|
||||
import {detailList, stationExport} from '@/api/workstation/task'
|
||||
import {dateFormat} from '@/util/date'
|
||||
// import {download} from '@/util/util'
|
||||
|
||||
export default {
|
||||
name: "task",
|
||||
components: {missionView},
|
||||
filters: {
|
||||
jobStatus (v) {
|
||||
switch (v) {
|
||||
case 1:
|
||||
return '招聘中'
|
||||
case 2:
|
||||
return '任务中'
|
||||
case 3:
|
||||
return '已完成'
|
||||
case 4:
|
||||
return '已失效'
|
||||
case 9:
|
||||
return '审核未通过'
|
||||
}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
viewDrawer: false,
|
||||
loading: false,
|
||||
view: {},
|
||||
page: {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 100,
|
||||
},
|
||||
query: {},
|
||||
data: [],
|
||||
option: {
|
||||
height: "400",
|
||||
calcHeight: 40,
|
||||
menuWidth: 120,
|
||||
align: "center",
|
||||
menuAlign: "center",
|
||||
indexLabel: "序号",
|
||||
menu:true,
|
||||
tip: false,
|
||||
addBtn: false,
|
||||
viewBtn: false,
|
||||
delBtn: false,
|
||||
editBtn: false,
|
||||
excelBtn: false,
|
||||
columnBtn: false,
|
||||
searchBtn: false,
|
||||
searchShow: false,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: false,
|
||||
dialogType: "drawer",
|
||||
dialogWidth: "60%",
|
||||
delBtnText: "取消",
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: "任务标题",
|
||||
prop: "missionTitle",
|
||||
},
|
||||
{
|
||||
label: "任务编码",
|
||||
prop: "missionNo",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "公司名称",
|
||||
prop: "companyName",
|
||||
},
|
||||
{
|
||||
label: "任务状态",
|
||||
prop: "status",
|
||||
slot: true
|
||||
},
|
||||
{
|
||||
label: "招聘人数",
|
||||
prop: "peopleNum",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "申请人数",
|
||||
prop: "applyCount",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "录用人数",
|
||||
prop: "employedCount",
|
||||
},
|
||||
{
|
||||
label: "发工资人数",
|
||||
prop: "userPayCount",
|
||||
},
|
||||
|
||||
{
|
||||
label: "工资",
|
||||
prop: "wage",
|
||||
slot: true
|
||||
},
|
||||
{
|
||||
label: "报名截止日期",
|
||||
prop: "etimePub",
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "开始时间",
|
||||
prop: "stime",
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "结束时间",
|
||||
prop: "etime",
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "工资发放逾期时间",
|
||||
prop: "expiryTime",
|
||||
slot: true,
|
||||
display: false,
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
rowView(row) {
|
||||
getDetail(row.missionNo).then((resp) => {
|
||||
this.viewDrawer = true;
|
||||
this.view = resp.data.data;
|
||||
});
|
||||
},
|
||||
currentChange(currentPage) {
|
||||
this.page.currentPage = currentPage;
|
||||
this.listInit(this.query)
|
||||
},
|
||||
sizeChange(pageSize) {
|
||||
this.page.pageSize = pageSize;
|
||||
this.listInit(this.query)
|
||||
},
|
||||
/*刷新本页 带搜索参数*/
|
||||
refreshChange() {
|
||||
this.init(this.query)
|
||||
},
|
||||
init(search){
|
||||
this.page.currentPage = 1
|
||||
this.query = search
|
||||
var params = {
|
||||
...search,
|
||||
current: this.page.currentPage,
|
||||
size: this.page.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
detailList(params).then(res => {
|
||||
this.data = res.data.data.records
|
||||
this.page.total = res.data.data.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
listInit(search){
|
||||
this.query = search
|
||||
var params = {
|
||||
...search,
|
||||
current: this.page.currentPage,
|
||||
size: this.page.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
detailList(params).then(res => {
|
||||
this.data = res.data.data.records
|
||||
this.page.total = res.data.data.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 导出
|
||||
taskOut(search){
|
||||
this.query = search
|
||||
var query = this.query
|
||||
window.open(
|
||||
stationExport(
|
||||
query.status,
|
||||
query.companyName,
|
||||
query.missionNo,
|
||||
query.missionTitle,
|
||||
query.reviewState,
|
||||
query.stime,
|
||||
query.etime,
|
||||
this.page.currentPage,
|
||||
this.page.pageSize
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
198
src/views/workstation/task/table/gather.vue
Normal file
198
src/views/workstation/task/table/gather.vue
Normal file
@@ -0,0 +1,198 @@
|
||||
<template>
|
||||
<div>
|
||||
<avue-crud
|
||||
:option="option"
|
||||
:table-loading="loading"
|
||||
:data="data"
|
||||
:page.sync="page"
|
||||
@current-change="currentChange"
|
||||
@size-change="sizeChange"
|
||||
@refresh-change="refreshChange"
|
||||
>
|
||||
<template slot="openTime" slot-scope="{ row }">
|
||||
<div :style="{'color': (row.isExpiry===1?'red':'')}">{{ row.openTime ? dateFormat(new Date(row.openTime), "yyyy-MM-dd") : ''}}</div>
|
||||
</template>
|
||||
<!--自定义操作栏-->
|
||||
<div slot="menu" slot-scope="{ size, type, row }">
|
||||
|
||||
<el-button
|
||||
icon="el-icon-view"
|
||||
:size="size"
|
||||
:type="type"
|
||||
@click.stop="rowView(row)"
|
||||
>查看</el-button>
|
||||
</div>
|
||||
</avue-crud>
|
||||
<el-drawer title="详情" :visible.sync="viewDrawer" size="60%">
|
||||
<mission-view :model="view"></mission-view>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import missionView from "@/views/util/mission-view";
|
||||
import {gatherList} from '@/api/workstation/task'
|
||||
import {dateFormat} from '@/util/date'
|
||||
|
||||
|
||||
export default {
|
||||
name: "task",
|
||||
components: {missionView},
|
||||
data () {
|
||||
return {
|
||||
viewDrawer: false,
|
||||
loading: false,
|
||||
view: {},
|
||||
page: {
|
||||
pageSize: 10,
|
||||
currentPage: 1,
|
||||
total: 100,
|
||||
},
|
||||
query: {},
|
||||
data: [],
|
||||
option: {
|
||||
height: "400",
|
||||
calcHeight: 40,
|
||||
menuWidth: 120,
|
||||
align: "center",
|
||||
menuAlign: "center",
|
||||
indexLabel: "序号",
|
||||
menu:true,
|
||||
tip: false,
|
||||
addBtn: false,
|
||||
viewBtn: false,
|
||||
delBtn: false,
|
||||
editBtn: false,
|
||||
excelBtn: false,
|
||||
columnBtn: false,
|
||||
searchBtn: false,
|
||||
searchShow: false,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: false,
|
||||
dialogType: "drawer",
|
||||
dialogWidth: "60%",
|
||||
delBtnText: "取消",
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: "公司名称",
|
||||
prop: "companyName",
|
||||
},
|
||||
{
|
||||
label: "联系人",
|
||||
prop: "callName",
|
||||
},
|
||||
{
|
||||
label: "联系电话",
|
||||
prop: "callTel",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "招聘中",
|
||||
prop: "recruitCount",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "任务中",
|
||||
prop: "startCount",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "已完成",
|
||||
prop: "completCount",
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: "已失效",
|
||||
prop: "invalidCount",
|
||||
},
|
||||
{
|
||||
label: "审核未通过",
|
||||
prop: "rejectCount",
|
||||
display: false,
|
||||
},
|
||||
|
||||
// {
|
||||
// label: "待支付(人)",
|
||||
// prop: "nonPaycount",
|
||||
// display: false,
|
||||
// },
|
||||
// {
|
||||
// label: "已支付",
|
||||
// prop: "payCount",
|
||||
// display: false,
|
||||
// },
|
||||
// {
|
||||
// label: "已发放",
|
||||
// prop: "userPayCount",
|
||||
// display: false,
|
||||
// },
|
||||
// {
|
||||
// label: "工资发放逾期",
|
||||
// prop: "expiryCount",
|
||||
// display: false,
|
||||
// },
|
||||
{
|
||||
label: "最新发布任务时间",
|
||||
prop: "openTime",
|
||||
slot: true,
|
||||
display: false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dateFormat,
|
||||
rowView(row) {
|
||||
this.$emit('searchCompanyName', row.companyName)
|
||||
},
|
||||
currentChange(currentPage) {
|
||||
this.page.currentPage = currentPage;
|
||||
this.listInit(this.query)
|
||||
},
|
||||
sizeChange(pageSize) {
|
||||
this.page.pageSize = pageSize;
|
||||
this.listInit(this.query)
|
||||
},
|
||||
/*刷新本页 带搜索参数*/
|
||||
refreshChange() {
|
||||
this.init(this.query)
|
||||
},
|
||||
init(search){
|
||||
this.page.currentPage = 1
|
||||
this.query = search
|
||||
var params = {
|
||||
...search,
|
||||
current: this.page.currentPage,
|
||||
size: this.page.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
gatherList(params).then(res => {
|
||||
this.data = res.data.data.records
|
||||
this.page.total = res.data.data.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
listInit(search){
|
||||
this.query = search
|
||||
var params = {
|
||||
...search,
|
||||
current: this.page.currentPage,
|
||||
size: this.page.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
gatherList(params).then(res => {
|
||||
this.data = res.data.data.records
|
||||
this.page.total = res.data.data.total
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
417
src/views/workstation/workbench/index.vue
Normal file
417
src/views/workstation/workbench/index.vue
Normal file
@@ -0,0 +1,417 @@
|
||||
<template>
|
||||
<div class="benchWarp">
|
||||
<!-- top -->
|
||||
<div class="benchTop">
|
||||
<!-- 合作企业概况 -->
|
||||
<div class="bgWhite survey">
|
||||
<div class="title">合作企业概况</div>
|
||||
<div class="content">
|
||||
<div class="box" v-for="item in survey" :key="item.title">
|
||||
<p class="surveyTitle">{{item.title}}</p>
|
||||
<p class="surveyNum">{{negativeTurnZero(item.num)}}</p>
|
||||
<button class="lookDetail" @click="goEnterprise(item)">查看明细</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 待处理事项 -->
|
||||
<div class="bgWhite pending">
|
||||
<div class="title">待处理事项</div>
|
||||
<div class="content">
|
||||
<div class="box" v-for="item in pending" :key="item.title">
|
||||
<p class="pendingTitle">{{item.title}}</p>
|
||||
<p class="pendingNum">{{negativeTurnZero(item.num)}}</p>
|
||||
<button class="lookDetail" @click="goTask(item)">去跟进</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- bottom -->
|
||||
<div class="benchBottom">
|
||||
<!-- 邀请码动态 -->
|
||||
<div class="bgWhite invitationCode">
|
||||
<div class="title">邀请码动态</div>
|
||||
<div style="height: 19px;"></div>
|
||||
<bench :table-data="benchData" :total="total" :width="tableWidth" @handleSizeChange="handleSizeChange" @handleCurrentChange="handleCurrentChange"></bench>
|
||||
</div>
|
||||
<!-- 在线客服 -->
|
||||
<div class="tips">
|
||||
<div class="bgWhite customerService">
|
||||
<div class="title">在线客服</div>
|
||||
<div class="customerContent">
|
||||
<div class="img"></div>
|
||||
<div class="font">
|
||||
<p>扫码在线咨询</p>
|
||||
<div style="height: 10px;"></div>
|
||||
<p>周一至周六 9:00-18:00</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 消息中心 -->
|
||||
<div class="bgWhite tip">
|
||||
<div class="tipTop">
|
||||
<div class="title">客户消息</div>
|
||||
<div class="more" @click="goUrl('/tenant/news/index')">更多></div>
|
||||
</div>
|
||||
<div style="height: 9px;"></div>
|
||||
<div v-if="manage.length === 0" style="text-align: center;color: #909399;height: 276px;line-height: 276px;">暂无数据</div>
|
||||
<div v-else class="tipListBox">
|
||||
<div v-for="item in manage" :key="item">
|
||||
<p @click="lookNews(item)" style="cursor:pointer;">[<span>{{item.categoryName}}</span>] {{item.title}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-drawer
|
||||
title="查看"
|
||||
:with-header="false"
|
||||
:visible.sync="drawer"
|
||||
:direction="direction"
|
||||
:size="drawerSize">
|
||||
<div v-html="content">
|
||||
</div>
|
||||
</el-drawer>
|
||||
|
||||
<!-- 占位 -->
|
||||
<div style="height: 35px;"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import bench from "./table/bench";
|
||||
import {getWorkbenchCompanySurveyVO, getMissionTodoVO, getinviteDynamicVOList} from '@/api/workstation/workbench'
|
||||
import { getList } from "@/api/tenant/notice";
|
||||
import { getNotice } from "@/api/desk/notice";
|
||||
import {setStore} from '@/util/store'
|
||||
import { negativeTurnZero } from "@/util/validate";
|
||||
export default {
|
||||
name: "index",
|
||||
components: {bench},
|
||||
data() {
|
||||
return {
|
||||
drawer: false,
|
||||
direction: 'rtl',
|
||||
drawerSize: '1000px',
|
||||
content: '',
|
||||
tableWidth: 100+'%',
|
||||
current: 1,
|
||||
size: 10,
|
||||
total: 0,
|
||||
survey: [
|
||||
{
|
||||
title: '绑定企业',
|
||||
num: 0,
|
||||
status: 2
|
||||
},
|
||||
{
|
||||
title: '审核中企业',
|
||||
num: 0,
|
||||
status: 1
|
||||
},
|
||||
{
|
||||
title: '已开户企业',
|
||||
num: 0,
|
||||
status: 2
|
||||
},
|
||||
],
|
||||
pending: [
|
||||
// {
|
||||
// title: '逾期未支付任务',
|
||||
// num: 0,
|
||||
// status: 2,
|
||||
// url: '/workstation/task/index'
|
||||
// },
|
||||
{
|
||||
title: '逾期未支付的服务费订单',
|
||||
num: 0,
|
||||
status: 1,
|
||||
url: `/workstation/orderGoods/index?jlStatus=jlStatus`
|
||||
},
|
||||
{
|
||||
title: '超30天未发任务',
|
||||
num: 0,
|
||||
status: 1,
|
||||
url: '/workstation/task/index'
|
||||
},
|
||||
],
|
||||
manage: [],
|
||||
benchData: []
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
await this.getWorkbenchCompanySurveyVO()
|
||||
await this.getMissionTodoVO()
|
||||
await this.getinviteDynamicVOList()
|
||||
await this.newsInit()
|
||||
},
|
||||
mounted() {
|
||||
this.tableWidth = document.getElementsByClassName('benchWarp')[0].clientWidth - 305 + 'px'
|
||||
},
|
||||
methods: {
|
||||
negativeTurnZero,
|
||||
lookNews (item) {
|
||||
getNotice(item.id).then((res) => {
|
||||
const data = res.data.data;
|
||||
this.drawer = true
|
||||
this.content = data.content
|
||||
});
|
||||
},
|
||||
newsInit() {
|
||||
var userType = 3
|
||||
if (this.loginType === 'Type-T') {
|
||||
userType = 1
|
||||
} else if (this.loginType === 'Type-S') {
|
||||
userType = 3
|
||||
}
|
||||
getList(
|
||||
1,
|
||||
10,
|
||||
{},
|
||||
userType
|
||||
).then((res) => {
|
||||
this.manage = res.data.data.records;
|
||||
});
|
||||
},
|
||||
goUrl (url) {
|
||||
this.$router.push(url)
|
||||
},
|
||||
getinviteDynamicVOList () {
|
||||
var params = {
|
||||
current: this.current,
|
||||
size: this.size
|
||||
}
|
||||
getinviteDynamicVOList(params).then(res => {
|
||||
this.benchData = res.data.data.records
|
||||
this.total = res.data.data.total
|
||||
})
|
||||
},
|
||||
getWorkbenchCompanySurveyVO(){
|
||||
getWorkbenchCompanySurveyVO().then(e => {
|
||||
this.survey[0].num = e.data.data.bind
|
||||
this.survey[1].num = e.data.data.examine
|
||||
this.survey[2].num = e.data.data.openAccount
|
||||
})
|
||||
},
|
||||
getMissionTodoVO(){
|
||||
getMissionTodoVO().then(e => {
|
||||
this.pending[0].num = e.data.data.overdueInsure
|
||||
this.pending[1].num = e.data.data.missionBeforeMarch
|
||||
})
|
||||
},
|
||||
goTask(item){
|
||||
setStore({name: 'taskStatus', content: item.status, type: 'session'})
|
||||
this.$router.push(item.url)
|
||||
},
|
||||
goEnterprise (item){
|
||||
setStore({name: 'enterpriseStatus', content: item.status, type: 'session'})
|
||||
this.$router.push('/workstation/enterprise/index')
|
||||
},
|
||||
handleSizeChange(val){
|
||||
this.size = val
|
||||
this.getinviteDynamicVOList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.current = val
|
||||
this.getinviteDynamicVOList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
p{
|
||||
margin: 0 !important;
|
||||
}
|
||||
/* 底色 */
|
||||
.bgWhite{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
/* 标题 */
|
||||
.title{
|
||||
font-weight: bold;
|
||||
height: 30px;
|
||||
font-size: 22px;
|
||||
color: #333333;
|
||||
line-height: 30px;
|
||||
}
|
||||
.benchWarp{
|
||||
padding: 0 20px !important;
|
||||
margin-top: 4px;
|
||||
}
|
||||
.benchTop{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.survey, .pending{
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.survey{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.pending{
|
||||
margin-left: 10px;
|
||||
}
|
||||
.content{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
padding: 0 30px;
|
||||
}
|
||||
.content .box{
|
||||
text-align: center;
|
||||
}
|
||||
.content .box .surveyTitle, .pendingTitle{
|
||||
/*width: 71px;*/
|
||||
height: 25px;
|
||||
font-size: 18px;
|
||||
/*font-family: Alibaba-PuHuiTi-R, Alibaba-PuHuiTi;*/
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
line-height: 25px;
|
||||
|
||||
/*font-size: 13px;*/
|
||||
/*color: #999999;*/
|
||||
margin-top: 30px !important;
|
||||
}
|
||||
.content .box .surveyNum, .pendingNum{
|
||||
/*width: 36px;*/
|
||||
height: 42px;
|
||||
font-size: 30px;
|
||||
/*font-family: Alibaba-PuHuiTi-B, Alibaba-PuHuiTi;*/
|
||||
font-weight: normal;
|
||||
color: #333333;
|
||||
line-height: 42px;
|
||||
|
||||
|
||||
/*font-size: 16px;*/
|
||||
/*font-weight: 650;*/
|
||||
margin: 15px 0 !important;
|
||||
}
|
||||
|
||||
.content .box .lookDetail{
|
||||
font-size: 18px;
|
||||
/*font-family: Alibaba-PuHuiTi-R, Alibaba-PuHuiTi;*/
|
||||
font-weight: normal;
|
||||
color: #3F9EFF;
|
||||
line-height: 25px;
|
||||
width: 119px;
|
||||
height: 39px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #3F9EFF;
|
||||
|
||||
|
||||
/*color: #999999;*/
|
||||
/*border: 1px solid #999999;*/
|
||||
background: #FFFFFF;
|
||||
/*border-radius: 10px;*/
|
||||
/*font-size: 12px;*/
|
||||
}
|
||||
.content .box .goJob{
|
||||
width: 80px;
|
||||
height: 20px;
|
||||
color: #0066FF;
|
||||
border: 1px solid #0066FF;
|
||||
background: #FFFFFF;
|
||||
border-radius: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.benchBottom{
|
||||
display: flex;
|
||||
}
|
||||
.invitationCode{
|
||||
width: calc(100% - 550px);
|
||||
padding: 18px 30px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.tips{
|
||||
width: 250px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
.customerService{
|
||||
width: 414px;
|
||||
/*height: 224px;*/
|
||||
background: #FFFFFF;
|
||||
border-radius: 4px;
|
||||
|
||||
/*height: 120px;*/
|
||||
margin-bottom: 20px;
|
||||
padding: 18px 30px;
|
||||
}
|
||||
.customerService .customerContent{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
}
|
||||
.customerService .customerContent .img{
|
||||
width: 115px;
|
||||
height: 115px;
|
||||
background: #D8D8D8;
|
||||
margin-right: 15px;
|
||||
margin-top: 20px;
|
||||
background: url("/manage/img/kefu.jpg") no-repeat;
|
||||
background-size: 115px 115px;
|
||||
}
|
||||
.customerService .customerContent .font{
|
||||
/*width: 96px;*/
|
||||
height: 30px;
|
||||
font-size: 16px;
|
||||
/*font-family: PingFangSC-Regular, PingFang SC;*/
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
/*line-height: 30px;*/
|
||||
|
||||
|
||||
/*font-size: 12px;*/
|
||||
/*color: #666666;*/
|
||||
}
|
||||
.tip{
|
||||
padding: 18px 30px;
|
||||
width: 414px;
|
||||
/*height: 375px;*/
|
||||
background: #FFFFFF;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.tip .tipTop{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.tip .tipTop .more{
|
||||
cursor: pointer;
|
||||
height: 22px;
|
||||
font-size: 16px;
|
||||
/*font-family: Alibaba-PuHuiTi-R, Alibaba-PuHuiTi;*/
|
||||
font-weight: normal;
|
||||
color: #3F9EFF;
|
||||
line-height: 22px;
|
||||
}
|
||||
.tipListBox{
|
||||
height: 276px;
|
||||
overflow: auto;
|
||||
}
|
||||
.tipListBox div{
|
||||
display: flex;
|
||||
margin: 11px 0;
|
||||
}
|
||||
.tipListBox p{
|
||||
width: 400px;
|
||||
height: 30px;
|
||||
font-size: 16px;
|
||||
/*font-family: PingFangSC-Regular, PingFang SC;*/
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
line-height: 30px;
|
||||
|
||||
|
||||
/*margin: 7px 0 !important;*/
|
||||
/*font-size: 12px;*/
|
||||
overflow: hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.tipListBox span{
|
||||
color: #3F9EFF;
|
||||
}
|
||||
</style>
|
||||
131
src/views/workstation/workbench/table/bench.vue
Normal file
131
src/views/workstation/workbench/table/bench.vue
Normal file
@@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<div class="table">
|
||||
<el-table
|
||||
:data="tableData"
|
||||
border
|
||||
:style="{'width': width}"
|
||||
:height="height">
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="inviteCode"
|
||||
label="邀请码">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="realName"
|
||||
label="绑定人">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="手机号">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.phone}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="city"
|
||||
label="绑定企业">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #3F9EFF;">{{negativeTurnZero(scope.row.bind)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="address"
|
||||
label="审核中企业">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #3F9EFF;">{{negativeTurnZero(scope.row.examine)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="zip"
|
||||
label="已开户企业">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #3F9EFF;">{{negativeTurnZero(scope.row.openAccount)}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
fixed="right"
|
||||
label="操作"
|
||||
width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="goUrl('/workstation/InvitationCode/index')">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 占位 -->
|
||||
<div style="height: 20px;"></div>
|
||||
<div :style="{'width': width}" style="overflow: auto">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="pageSizes"
|
||||
:page-size="pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { negativeTurnZero } from "@/util/validate";
|
||||
/*
|
||||
* width 表格宽度滚动
|
||||
* pageSizes 分页数组
|
||||
* pageSize 分页默认选中
|
||||
* total 合计
|
||||
* height 表格高度
|
||||
* tableData 表格数据
|
||||
* */
|
||||
export default {
|
||||
name: "bench",
|
||||
props: {
|
||||
width: {
|
||||
type: String,
|
||||
default: 1375 + 'px'
|
||||
},
|
||||
pageSizes: {
|
||||
default: [10, 20, 30, 40]
|
||||
},
|
||||
pageSize: {
|
||||
type: Number,
|
||||
default: 10
|
||||
},
|
||||
total: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
height: {
|
||||
type: Number,
|
||||
default: 400
|
||||
},
|
||||
tableData: []
|
||||
},
|
||||
data(){
|
||||
return {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
negativeTurnZero,
|
||||
goUrl(url){
|
||||
this.$router.push(url)
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.$emit('handleSizeChange', val)
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.$emit('handleCurrentChange', val)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.table{
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user