cyl/master-apply
parent
945b6ebcc7
commit
3f75d553c6
@ -1,195 +0,0 @@
|
||||
<template>
|
||||
<div class="team-manage-container g_bg_page">
|
||||
<div class="g_h_10"></div>
|
||||
<rh-form-slot
|
||||
:list="[
|
||||
{
|
||||
icon: '',
|
||||
label: '姓名',
|
||||
result: '',
|
||||
value: memberInfo.aliasName,
|
||||
path: '',
|
||||
placeholder: '请输入成员姓名',
|
||||
tip: 'slot-name',
|
||||
type: 'slot',
|
||||
pColumn: 8,
|
||||
require: true,
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
label: '手机号',
|
||||
result: '',
|
||||
value: memberInfo.tel,
|
||||
path: '',
|
||||
tip: 'slot-mobile',
|
||||
placeholder: '请输入成员手机号',
|
||||
type: 'slot',
|
||||
pColumn: 8,
|
||||
require: true,
|
||||
disabled: memberInfo.agencyRoleName.indexOf('创建人') > -1,
|
||||
},
|
||||
]"
|
||||
@changeName="changeName"
|
||||
@changeMobile="changeMobile"
|
||||
></rh-form-slot>
|
||||
<div class="g_text_c g_mt_90">
|
||||
<rh-button primaryColor='#3578f6' btnText="确定" type="primary" class="" @clickBtn="subMemberInfo"></rh-button>
|
||||
<div class="g_c_sub g_mt_16" v-if="memberInfo.id && memberInfo.agencyRoleName.indexOf('创建人') == -1" @click="delMember">删除成员</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
memberInfo: {},
|
||||
};
|
||||
},
|
||||
onShow() {},
|
||||
onLoad(options) {
|
||||
if (options.info) {
|
||||
console.log("options.info", options.info);
|
||||
this.memberInfo = JSON.parse(options.info);
|
||||
uni.setNavigationBarTitle({
|
||||
title: "修改成员信息",
|
||||
});
|
||||
} else {
|
||||
uni.setNavigationBarTitle({
|
||||
title: "添加成员",
|
||||
});
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(123123);
|
||||
},
|
||||
|
||||
methods: {
|
||||
getMemberList() {
|
||||
let that = this;
|
||||
this.G.Get(this.api.order_peopleList, {}, (res) => {
|
||||
console.log("报名人列表:", res);
|
||||
that.memberList = res.recordList;
|
||||
});
|
||||
},
|
||||
addMember() {
|
||||
this.addMemberShow = true;
|
||||
},
|
||||
subMemberInfo() {
|
||||
let that = this;
|
||||
if (this.memberInfo.aliasName == "") {
|
||||
uni.showToast({
|
||||
title: "请输入成员姓名",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.memberInfo.tel == "") {
|
||||
uni.showToast({
|
||||
title: "请输入成员手机号",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
let exp = /^1[3-9]\d{9}$/;
|
||||
console.log("that.memberInfo. tel", that.memberInfo.tel);
|
||||
console.log("exp.test(that.memberInfo.tel)", exp.test(that.memberInfo.tel));
|
||||
if (!exp.test(that.memberInfo.tel)) {
|
||||
uni.showToast({
|
||||
title: "请输入正确的手机号",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
let url = "order_addMember";
|
||||
if (this.memberInfo.id) {
|
||||
// 判断是否是编辑成员
|
||||
url = "order_updateMember";
|
||||
}
|
||||
this.G.Post(this.api[url], this.memberInfo, (res) => {
|
||||
console.log("resresresres", res);
|
||||
uni.showToast({
|
||||
title: "提交成功",
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
detail: 1,
|
||||
});
|
||||
}, 1500);
|
||||
});
|
||||
},
|
||||
delMember() {
|
||||
let that = this;
|
||||
this.G.handleConfirm({
|
||||
title: "删除",
|
||||
content: "确定要删除该成员吗?",
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
that.G.Post(that.api.order_checkMemberDel, { id: that.memberInfo.id }, (checkRes) => {
|
||||
if (checkRes) {
|
||||
that.G.handleConfirm({
|
||||
title: "删除",
|
||||
content: res,
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
that.subDel();
|
||||
}
|
||||
},
|
||||
});
|
||||
} else {
|
||||
that.subDel();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
subDel() {
|
||||
let that = this;
|
||||
that.G.Post(that.api.order_delMember, { id: that.memberInfo.id }, (res) => {
|
||||
console.log(res);
|
||||
uni.showToast({
|
||||
title: "删除成功",
|
||||
});
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
detail: 1,
|
||||
});
|
||||
}, 1500);
|
||||
});
|
||||
},
|
||||
changeName(e) {
|
||||
console.log("e", e);
|
||||
this.memberInfo.aliasName = e;
|
||||
},
|
||||
changeMobile(e) {
|
||||
console.log("e", e);
|
||||
this.memberInfo.tel = e;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.creator {
|
||||
color: #46c7bb;
|
||||
border: 1px solid #46c7bb;
|
||||
background-color: #46c7ba3d;
|
||||
}
|
||||
.member {
|
||||
color: #f9676e;
|
||||
border: 1px solid #f9676e;
|
||||
background-color: #f9676e3d;
|
||||
}
|
||||
.manager {
|
||||
color: #0066d6;
|
||||
border: 1px solid #0066d6;
|
||||
background-color: #0066d63d;
|
||||
}
|
||||
.sticky {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 999;
|
||||
}
|
||||
</style>
|
||||
@ -1,118 +0,0 @@
|
||||
<template>
|
||||
<div class="g_pb_32">
|
||||
<div v-for="(item, index) in applyList">
|
||||
<div class="g_pb_8 g_pt_16 g_pl_16 g_border_e_b g_c_9" v-if="item.length > 0">
|
||||
{{ index == "near" ? "近三天" : "三天前" }}
|
||||
</div>
|
||||
<div class="g_flex_row_between flex_center i-items" style="padding: 20px 16px 8px" v-for="i in item" :key="item.id">
|
||||
<div class="g_mr_12">
|
||||
<img class="g_w_48 g_h_48 g_radius_50" :src="i.imgSrc || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/dailibaoming/APP/default.svg'" alt="" />
|
||||
</div>
|
||||
<div class="g_flex_row_between flex_center g_flex_1 g_h_48">
|
||||
<div>
|
||||
<div class="g_fs_18">
|
||||
{{ i.applyUsername }}
|
||||
</div>
|
||||
<div class="g_fs_14 g_c_9 g_mt_4">
|
||||
{{ i.userName }}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span v-if="i.past && i.status === 0" class="g_fs_14 g_c_9">已过期</span>
|
||||
<span v-else-if="i.status == 1" class="g_fs_14 g_c_9">已通过</span>
|
||||
<span v-else-if="i.status == 2" class="g_fs_14 g_c_9">已拒绝</span>
|
||||
<div class="g_flex_row_end" v-else>
|
||||
<div class="g_mr_8">
|
||||
<rh-button primaryColor='#3578f6' btnText="拒绝" fontSize="14" color="#000" customBgColor="#d8d8d8" size="height" type="disabled" height="24" width="50" @clickBtn="approve(i, 'reject')"></rh-button>
|
||||
</div>
|
||||
<div>
|
||||
<rh-button primaryColor='#3578f6' btnText="通过" type="primary" fontSize="14" size="height" height="24" width="50" @clickBtn="approve(i, 'resolve')"></rh-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
applyList: [],
|
||||
query: { page: 1, size: 30 },
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
this.getUserApplyList();
|
||||
this.setTeamManagerStatus();
|
||||
},
|
||||
created() {},
|
||||
|
||||
methods: {
|
||||
setTeamManagerStatus() {
|
||||
this.G.Get(this.api.order_updateApplyNumHasViewed, {}, (res) => {
|
||||
uni.$emit('updateMember')
|
||||
});
|
||||
},
|
||||
getUserApplyList() {
|
||||
let that = this;
|
||||
this.G.Post(this.api.order_getUserApplyList, { pageNum: that.query.page, pageSize: that.query.size }, (res) => {
|
||||
console.log("order_getUserApplyList", res);
|
||||
let obj = {
|
||||
near: [],
|
||||
far: [],
|
||||
};
|
||||
res.forEach((item) => {
|
||||
let diffTime = new Date().getTime() - item.createTime;
|
||||
if (diffTime <= 3 * 24 * 60 * 60 * 1000) {
|
||||
obj.near.push(item);
|
||||
} else {
|
||||
if (diffTime > 10 * 24 * 60 * 60 * 1000) {
|
||||
item.past = true;
|
||||
} else {
|
||||
item.past = false;
|
||||
}
|
||||
obj.far.push(item);
|
||||
}
|
||||
});
|
||||
that.applyList = obj;
|
||||
});
|
||||
},
|
||||
approve(_item, type) {
|
||||
console.log(_item);
|
||||
console.log(type);
|
||||
// return;
|
||||
this.G.Post(this.api.order_userApplyApprove, { id: _item.id, status: type == "reject" ? 2 : 1 }, (res) => {
|
||||
console.log(res);
|
||||
_item.status = type == "reject" ? 2 : 1;
|
||||
uni.showToast({
|
||||
title: "操作成功",
|
||||
icon: "none",
|
||||
});
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.i-items {
|
||||
// border-bottom: 1px solid #eee;
|
||||
position: relative;
|
||||
&:not(:first-child):after {
|
||||
content: "";
|
||||
display: block;
|
||||
height: 1rpx;
|
||||
width: calc(100% - 76px);
|
||||
background: #eee;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
// &:last-child:after {
|
||||
// border-bottom: none;
|
||||
// }
|
||||
}
|
||||
</style>
|
||||
@ -1,184 +0,0 @@
|
||||
<template>
|
||||
<view class="p-root-job-labels g_w_all g_h_all g_bg_f_5">
|
||||
<view class="m-nav">
|
||||
<u-navbar :is-back="false" title="添加标签"
|
||||
:background="{
|
||||
'background-color':'#f5f5f5'
|
||||
}"
|
||||
>
|
||||
<view class="g_flex_row_start g_fs_16 g_fw_500 g_pl_16">
|
||||
<view class="m-btn" @click="goReturn">
|
||||
取消
|
||||
</view>
|
||||
<view class="m-btn g_ml_12" @click="goReturn">
|
||||
确定
|
||||
</view>
|
||||
</view>
|
||||
</u-navbar>
|
||||
</view>
|
||||
<view class="m-input g_flex_column_center g_pl_16 g_pr_16">
|
||||
<view class="g_flex_row_start">
|
||||
<view class="m-basics-label">模拟选中标签</view>
|
||||
<view></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-label">
|
||||
<view class="tip g_flex_row_between">
|
||||
<view class="lef">全部标签</view>
|
||||
<view></view>
|
||||
</view>
|
||||
<view class="m-link g_flex_row_start"
|
||||
>
|
||||
<view class="m-item"
|
||||
:class="item.isSelect ? 'm-active' : ''"
|
||||
v-for="(item,index) in labels" :key="index"
|
||||
@click="updateIndex(item,index)"
|
||||
>
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="m-item g_flex_row_center" @click="updateIndex({},9)">
|
||||
<view class="g_mr_2 g_fs_22 g_flex_column_center" style="height: 22px;overflow: hidden;margin-top: -3px;">+</view>
|
||||
<view class="g_flex_column_center">新建标签</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<u-popup v-model="popSelect.isShow" mode="center" uZindex="9999" border-radius="12" :closeable="true" :mask-close-able="true">
|
||||
<view class="g_pt_32">
|
||||
<view class="g_fs_18 g_fw_bold g_mb_32 g_text_c">新建标签</view>
|
||||
<view>
|
||||
<input type="text" placeholder="" style="background-color: #fff;border-radius: 8px;">
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
data(){
|
||||
return {
|
||||
popSelect:{
|
||||
isShow:false
|
||||
},
|
||||
labels:[
|
||||
{
|
||||
name:'标签',
|
||||
isSelect:true
|
||||
},
|
||||
{
|
||||
name:'工厂',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'门店',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'类型',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'标表表表表签',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'工表表厂',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'门表表表店',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'类表表表表表表表表型',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'标表签',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'工表厂',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'门表表表店',
|
||||
isSelect:false
|
||||
},
|
||||
{
|
||||
name:'类型表表',
|
||||
isSelect:false
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
goReturn(){
|
||||
uni.navigateBack();
|
||||
},
|
||||
updateIndex($item,$index){
|
||||
let that = this;
|
||||
if($index == 9){
|
||||
that.popSelect.isShow = true;
|
||||
}else{
|
||||
// $item.isSelect = !$item.isSelect;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.p-root-job-labels{
|
||||
.m-nav{
|
||||
margin-left: 16px;
|
||||
.m-btn{
|
||||
background-color: #f5f5f5;
|
||||
color: #333;
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
&:last-child{
|
||||
background-color: rgba(0,0,0,0.05);
|
||||
color: rgba(0,0,0,0.15);
|
||||
}
|
||||
}
|
||||
}
|
||||
.m-input{
|
||||
height: 48px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.m-label{
|
||||
.tip{
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
padding: 16px;
|
||||
}
|
||||
.m-link{
|
||||
padding-left: 16px;
|
||||
.m-item{
|
||||
background-color: rgba(0,0,0,0.08);
|
||||
color: rgba(0,0,0,0.5);
|
||||
border-radius: 50px;
|
||||
padding: 3px 6px;
|
||||
margin: 0 12px 12px 0;
|
||||
border: 1px solid transparent;;
|
||||
&:last-child{
|
||||
background-color: transparent;
|
||||
border: 1px solid rgba(0,0,0,0.08);;
|
||||
}
|
||||
}
|
||||
.m-active{
|
||||
background: rgba(53,120,246, 0.1);
|
||||
color: #3578f6;
|
||||
}
|
||||
}
|
||||
}
|
||||
.m-basics-label{
|
||||
border-radius: 50px;
|
||||
padding: 3px 6px;
|
||||
background: rgba(53,120,246, 0.1);
|
||||
color: #3578f6;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,229 +0,0 @@
|
||||
<template>
|
||||
<view class="p-bil-index g_w_all g_h_all g_bg_f_5 g_kuaishou" :data-env="ENV_VERSION">
|
||||
<scroll-view class="m-list" :style="{ height: `calc(100vh - ${tabbarHeight}px` }" :scroll-y="true" @scrolltolower="reachBottom">
|
||||
<view class="m-search flex_center g_bg_f g_pr_10 g_pt_8 g_mb_10" :class="ENV_VERSION == 'develop' || ENV_VERSION == 'trial' ? '' : 'g_pb_8'">
|
||||
<view class="g_flex_row_between">
|
||||
<u-search bar-width="0" class="g_flex_1 g_pl_10" @btnSearch="getSearch" height="80" v-model="keyword" :placeholder="placeholder" bg-color="#f5f5f5" :show-action="false" @change="getSearch" @clear="getSearch" @custom="getSearch" @search="getSearch" search-icon-color="#cccccc" :maxlength="20"></u-search>
|
||||
</view>
|
||||
<view class="g_bg_f" v-if="ENV_VERSION == 'develop' || ENV_VERSION == 'trial'">
|
||||
<u-tabs bg-color="transparent" :list="tabInfo.list" :is-scroll="false" :current="tabInfo.active" :active-color="appid != 'wxb0c590fd696b79be' ? '#3578f6' : '#ff4400'" bar-width="64" bar-height="6" @change="handleUpdateTab" font-size="32" duration="0.1" height="76"></u-tabs>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 0px" data-loading="loading" data-speed="speed"></view>
|
||||
<rh-job-list from="tob" class="g_h_all" :list="query.list" @clickCard="goDetail" :loading="loading" :speed="speed" :query="query" emptyText="暂无数据" pt="0" />
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
onReady() {
|
||||
this.G.setNavStyle();
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return this.G.shareFun();
|
||||
},
|
||||
onLoad(options) {
|
||||
console.log(options);
|
||||
this.navInfo = this.G.getNavInfo();
|
||||
|
||||
// this.placeholder = "搜索职位名称";
|
||||
},
|
||||
onShow() {
|
||||
let that = this;
|
||||
that.navInfo = that.G.getNavInfo();
|
||||
console.log("0901 003", this.show, this.cuindex);
|
||||
},
|
||||
created() {
|
||||
console.log("0901 001", this.show, this.cuindex);
|
||||
this.speed = -1;
|
||||
this.loading = true;
|
||||
this.getList();
|
||||
},
|
||||
mounted() {
|
||||
console.log("0901 002", this.show, this.cuindex);
|
||||
},
|
||||
|
||||
props: {
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: () => {
|
||||
return false;
|
||||
},
|
||||
},
|
||||
cuindex: {
|
||||
type: Number,
|
||||
default: () => {
|
||||
return 0;
|
||||
},
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
show: {
|
||||
handler(newVal) {
|
||||
console.log("是否执行newVal", newVal);
|
||||
if (newVal) {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
// 组件状态值
|
||||
data() {
|
||||
return {
|
||||
ENV_VERSION: uni.getAccountInfoSync().miniProgram.envVersion,
|
||||
appid: uni.getAccountInfoSync().miniProgram.appId,
|
||||
tabbarHeight: uni.getStorageSync("TABBAR_HEIGHT"),
|
||||
// ENV_VERSION: "develop",
|
||||
fadanBaseImg: this.G.store().fadanBaseImg,
|
||||
whichPage: "home",
|
||||
keyword: "",
|
||||
loading: false,
|
||||
speed: -1,
|
||||
applyType: 0,
|
||||
query: {
|
||||
page: 1,
|
||||
size: 50,
|
||||
list: [],
|
||||
isFinish: -1,
|
||||
jobType: "",
|
||||
},
|
||||
placeholder: "搜索职位名称",
|
||||
navInfo: {},
|
||||
tabInfo: {
|
||||
list: [
|
||||
{
|
||||
name: "全部",
|
||||
tip: "",
|
||||
},
|
||||
{
|
||||
name: "自有",
|
||||
tip: 2,
|
||||
},
|
||||
{
|
||||
name: "平台",
|
||||
tip: 1,
|
||||
},
|
||||
],
|
||||
active: 0,
|
||||
},
|
||||
};
|
||||
},
|
||||
// 计算属性
|
||||
computed: {},
|
||||
|
||||
// 组件方法
|
||||
methods: {
|
||||
goPage($path) {
|
||||
uni.navigateTo({
|
||||
url: $path,
|
||||
});
|
||||
},
|
||||
handleUpdateTab(e) {
|
||||
this.tabInfo.active = e;
|
||||
this.query.jobType = this.tabInfo.list[e].tip;
|
||||
this.speed = -1;
|
||||
this.query.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
goDetail($item) {
|
||||
console.log("前往详情页", $item);
|
||||
if (uni.getStorageSync("apply-userinfo")) {
|
||||
uni.navigateTo({
|
||||
url: "/root/detail/job?id=" + $item.id,
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/root/login/index",
|
||||
});
|
||||
}
|
||||
},
|
||||
reachBottom() {
|
||||
let that = this;
|
||||
console.log("tolow");
|
||||
// if (!uni.getStorageSync("apply-token") && that.tabInfo.active == 1) {
|
||||
// return false;
|
||||
// }
|
||||
that.query.page++;
|
||||
that.getList("concat");
|
||||
},
|
||||
getSearch(e) {
|
||||
console.log(e);
|
||||
this.speed = -1;
|
||||
this.keyword = e;
|
||||
this.query.page = 1;
|
||||
console.log(this.whichPage);
|
||||
this.getList();
|
||||
},
|
||||
backPrev() {
|
||||
console.log("backPrev");
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
});
|
||||
},
|
||||
getList($type = "init") {
|
||||
let that = this;
|
||||
that.G.Post(
|
||||
that.api.job_myJobList,
|
||||
{
|
||||
pageNum: that.query.page,
|
||||
pageSize: that.query.size,
|
||||
keys: that.keyword,
|
||||
jobType: that.query.jobType,
|
||||
agencyId: uni.getStorageSync("AGENCY_ID"),
|
||||
},
|
||||
(res) => {
|
||||
console.log("一才职位列表:", res);
|
||||
that.computeCode = 1;
|
||||
if (res.pageBean.recordCount == 0) {
|
||||
that.loading = false;
|
||||
} else {
|
||||
that.loading = true;
|
||||
}
|
||||
that.speed = res.pageBean.recordCount;
|
||||
that.query.isFinish = res.pageBean.recordList.length;
|
||||
if (res.pageBean.recordList && res.pageBean.recordList.length > 0) {
|
||||
res.pageBean.recordList = that.G.toGetAddressv3(res.pageBean.recordList);
|
||||
res.pageBean.recordList = that.G.toGetAge(res.pageBean.recordList);
|
||||
res.pageBean.recordList = that.G.yijobCopy(res.pageBean.recordList);
|
||||
}
|
||||
if ($type == "init") {
|
||||
that.query.list = [];
|
||||
that.query.list =
|
||||
res.pageBean.recordList && res.pageBean.recordList.length > 0
|
||||
? res.pageBean.recordList.map((item, index) => {
|
||||
return {
|
||||
...item,
|
||||
collected: item.collected ? true : false,
|
||||
cus_price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValueHtml(item.salaryClassify, item.salaryClassifyValue) : "月薪",
|
||||
fuWuFei: that.G.setReturnFee(item.returnFee / 100, item.returnFeeType, 1),
|
||||
gender: that.G.getGenderByMinAge(item),
|
||||
recruitmentValue: item.recruitment == 1 ? true : false,
|
||||
};
|
||||
})
|
||||
: [];
|
||||
} else {
|
||||
that.query.list = that.query.list.concat(
|
||||
res.pageBean.recordList && res.pageBean.recordList.length > 0
|
||||
? res.pageBean.recordList.map((item, index) => {
|
||||
return {
|
||||
...item,
|
||||
collected: item.collected ? true : false,
|
||||
cus_price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValueHtml(item.salaryClassify, item.salaryClassifyValue) : "月薪",
|
||||
fuWuFei: that.G.setReturnFee(item.returnFee / 100, item.returnFeeType, 1),
|
||||
gender: that.G.getGenderByMinAge(item),
|
||||
recruitmentValue: item.recruitment == 1 ? true : false,
|
||||
};
|
||||
})
|
||||
: []
|
||||
);
|
||||
}
|
||||
console.log("that.query.list ", that.query.list);
|
||||
}
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less"></style>
|
||||
@ -1,430 +0,0 @@
|
||||
<template>
|
||||
<div class="" style="overflow:hidden">
|
||||
<!-- 今日数据 -->
|
||||
<div class="g_bg_f g_radius_8 g_ml_10 g_mr_10 g_mt_10" v-if="isAdmin">
|
||||
<div class="content g_flex_row_start g_h_92">
|
||||
<div v-for="(i, index) in userNum" :key="i.type" :class="index > 0 ? 'g_border_f5_l' : ''" class="g_flex_1 g_text_c g_flex_column_center" @click="goDetail('/root/merchantManagement/todayData')">
|
||||
<div class="g_fs_20 g_fw_600 g_c_3 g_mb_4">
|
||||
{{ i.num || 0 }}
|
||||
</div>
|
||||
<div>
|
||||
{{ i.label || "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 今日数据 -->
|
||||
<div class="g_bg_f g_radius_8 g_ml_10 g_mr_10 g_mt_10" v-if="isAdmin">
|
||||
<!-- <div class="title g_flex_row_between g_h_46 flex_center g_pl_12 g_pr_10 g_border_f5_b">
|
||||
<div class="g_fw_600 g_fs_16">今日数据</div>
|
||||
<div class="iconfont icon-gengduo11 g_c_9 g_fs_12 g_w_120 g_text_r" @click="goDetail('/root/merchantManagement/todayData')"></div>
|
||||
</div> -->
|
||||
<div class="content g_flex_row_start g_h_74">
|
||||
<div v-for="(i, index) in todayData" :key="i.type" :class="index > 0 ? 'g_border_f5_l' : ''" class="g_flex_1 g_text_c g_flex_column_center" @click="goDetail('/root/merchantManagement/todayData')">
|
||||
<div class="g_fs_20 g_fw_600 g_c_3 g_mb_4">
|
||||
{{ map.agencyData[i.type] || 0 }}
|
||||
</div>
|
||||
<div>
|
||||
{{ i.label || "-" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="g_mt_10">
|
||||
<g-panel-card-num :list="applyData" subhead="全部" titleNav="/root/person/enrollList?from=tob" :speed="1" :marginBottom="16" :height="26" :num="4" cusTitle="当前工单" @clickItem="handleClickNum">
|
||||
<view v-if="hasNewResume > 0" style="font-size: 12px; color: #ffffff; background-color: #fa3534; display: inline-flex; justify-content: center; align-items: center; line-height: 24rpx; padding: 4rpx 8rpx; border-radius: 100rpx; z-index: 9">
|
||||
{{ hasNewResume }}
|
||||
</view>
|
||||
</g-panel-card-num>
|
||||
</div>
|
||||
<div class="g_bg_f g_radius_8 g_mt_10 g_ml_10 g_mr_10" v-if="false">
|
||||
<div class="title g_flex_row_between g_h_46 flex_center g_pl_12 g_pr_10 g_border_f5_b">
|
||||
<div class="g_fw_600 g_fs_16">当前工单</div>
|
||||
<div class="g_fs_14 g_flex_row_between flex_center g_position_rela" @click="goDetail('/root/person/enrollList?from=tob')">全部<i class="iconfont icon-gengduo11 g_c_9 g_fs_12 g_ml_4"></i><u-badge v-if="hasNewResume > 0" :offset="[-10, -10]" :count="hasNewResume"></u-badge></div>
|
||||
</div>
|
||||
<div class="content g_flex_row_start">
|
||||
<div v-for="(i, index) in applyData" :key="i.classify" :class="index > 0 ? 'g_border_f5_l' : ''" @click="goDetail('/root/person/enrollList?from=tob', i)" class="g_text_c g_flex_column_center g_border_f5_b g_h_74" style="width: 25%; box-sizing: border-box">
|
||||
<div class="g_fs_20 g_fw_600 g_c_3 g_mb_4">
|
||||
{{ i.num || 0 }}
|
||||
</div>
|
||||
<div>
|
||||
{{ i.name || "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="g_bg_f g_radius_8 g_mt_10 g_ml_10 g_mr_10">
|
||||
<div class="title g_flex_row_between g_h_46 flex_center g_pl_12 g_pr_10 g_border_f5_b">
|
||||
<div class="g_fw_600 g_fs_16">我的老乡</div>
|
||||
<div class="g_fs_14 g_flex_row_between flex_center" @click="goDetail('/root/other/empty?type=我的老乡')">全部<i class="iconfont icon-gengduo11 g_c_9 g_fs_12 g_ml_4"></i></div>
|
||||
</div>
|
||||
<div class="content g_flex_row_start g_h_74">
|
||||
<div v-for="(i, index) in townsManData" :key="i.type" :class="index > 0 && index < 4 ? 'g_border_f5_l' : ''" class="g_flex_1 g_text_c g_flex_column_center">
|
||||
<div class="g_fs_20 g_fw_600 g_c_3 g_mb_4">
|
||||
{{ i.type == "total" ? map.userBinded0 + map.userBinded1 : map[i.type] || map[i.type] === 0 ? map[i.type] : "" }}
|
||||
</div>
|
||||
<div>
|
||||
{{ i.label || "" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="g_mt_10 g_pb_40" v-if="isAdmin">
|
||||
<g-panel-card-num :list="serverList" class="" :marginBottom="20" :height="32" :speed="1" :num="4" cusType="image" cusTitle="商家服务" @clickItem="handleClickNum" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
onLoad() {
|
||||
this.getData();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
hasPermission: uni.getStorageSync("HAS_PERMISSION") == 1 ? true : false, // 登陆者是否有权限查看
|
||||
isAdmin: uni.getStorageSync("IS_MINIAPP_ADMIN"), // 管理员判断
|
||||
userNum: [
|
||||
{
|
||||
type: "total",
|
||||
label: "总用户",
|
||||
num: 320,
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "todayAdd",
|
||||
label: "今日新增",
|
||||
num: 23,
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "dua",
|
||||
label: "今日活跃",
|
||||
num: 42,
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "apply",
|
||||
label: "今日报名",
|
||||
num: 12,
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
],
|
||||
todayData: [
|
||||
{
|
||||
type: "signUps",
|
||||
label: "约面",
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "arrived",
|
||||
label: "到面",
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "passed",
|
||||
label: "通过",
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "entry",
|
||||
label: "入职",
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
{
|
||||
type: "obJob",
|
||||
label: "在职",
|
||||
path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
},
|
||||
],
|
||||
applyData: [
|
||||
{
|
||||
name: "新简历",
|
||||
path: "/root/person/enrollList?from=tob&active=0",
|
||||
classify: 50,
|
||||
active: 0,
|
||||
},
|
||||
{
|
||||
name: "推工作",
|
||||
path: "/root/person/enrollList?from=tob&active=1",
|
||||
classify: 60,
|
||||
active: 1,
|
||||
},
|
||||
{
|
||||
name: "审核中",
|
||||
path: "/root/person/enrollList?from=tob&active=2",
|
||||
classify: 40,
|
||||
active: 2,
|
||||
},
|
||||
{
|
||||
name: "跟面试",
|
||||
path: "/root/person/enrollList?from=tob&active=3",
|
||||
classify: 70,
|
||||
active: 3,
|
||||
},
|
||||
{
|
||||
name: "跟入职",
|
||||
path: "/root/person/enrollList?from=tob&active=4",
|
||||
classify: 80,
|
||||
active: 4,
|
||||
},
|
||||
{
|
||||
name: "跟在职",
|
||||
path: "/root/person/enrollList?from=tob&active=5",
|
||||
classify: 90,
|
||||
active: 5,
|
||||
},
|
||||
{
|
||||
name: "已完成",
|
||||
path: "/root/person/enrollList?from=tob&active=6",
|
||||
classify: 110,
|
||||
active: 6,
|
||||
},
|
||||
],
|
||||
// townsManData: [
|
||||
// {
|
||||
// type: "total",
|
||||
// label: "全部",
|
||||
// },
|
||||
// {
|
||||
// type: "userBinded1",
|
||||
// label: "属于我",
|
||||
// },
|
||||
// {
|
||||
// type: "userBinded0",
|
||||
// label: "服务过",
|
||||
// },
|
||||
// {},
|
||||
// {},
|
||||
// ],
|
||||
map: {
|
||||
agencyData: {},
|
||||
userBinded0: 0,
|
||||
userBinded1: 0,
|
||||
},
|
||||
serverList: [],
|
||||
hasNewApply: 0,
|
||||
};
|
||||
},
|
||||
props: {
|
||||
hasNewResume: {
|
||||
default: 0,
|
||||
},
|
||||
},
|
||||
created() {
|
||||
let that = this;
|
||||
let appId = getApp().globalData.appId;
|
||||
uni.$on("updateMember", () => {
|
||||
this.getMemberNum();
|
||||
});
|
||||
console.log("appId", appId);
|
||||
// if (appId == "wx57e965905e6b4530") {
|
||||
// this.serverList = [
|
||||
// {
|
||||
// name: "平台职位",
|
||||
// icon: "cloud",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/platformJobList?type=平台职位",
|
||||
// },
|
||||
// {
|
||||
// name: "联系我们",
|
||||
// icon: "comment",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/relationUs?type=联系我们",
|
||||
// },
|
||||
// // {
|
||||
// // name: "动态公告",
|
||||
// // icon: "sound",
|
||||
// // iconType: 1,
|
||||
// // path: "/root/merchantManagement/dynamicNotice?type=动态公告",
|
||||
// // },
|
||||
// {
|
||||
// name: "团队管理",
|
||||
// icon: "team",
|
||||
// iconType: 1,
|
||||
// path: "/root/other/empty?type=团队管理",
|
||||
// },
|
||||
// {
|
||||
// name: "门店管理",
|
||||
// icon: "apartment",
|
||||
// iconType: 1,
|
||||
// path: "/root/other/empty?type=门店管理",
|
||||
// },
|
||||
// {
|
||||
// name: "站内消息",
|
||||
// icon: "bell",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/message?type=站内消息",
|
||||
// },
|
||||
// {
|
||||
// name: "频道管理",
|
||||
// icon: "earth",
|
||||
// iconType: 1,
|
||||
// path: "/root/other/empty?type=频道管理",
|
||||
// },
|
||||
// // {
|
||||
// // name: "数据报表",
|
||||
// // icon: "barchart",
|
||||
// // iconType: 1,
|
||||
// // path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
// // },
|
||||
// {
|
||||
// name: "海报管理",
|
||||
// icon: "file-image",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/posterShare?type=海报管理",
|
||||
// },
|
||||
// {
|
||||
// name: "配置",
|
||||
// icon: "setting",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/setting?type=配置",
|
||||
// },
|
||||
// ];
|
||||
// } else {
|
||||
|
||||
// }
|
||||
this.getUserData();
|
||||
this.getApplyNum();
|
||||
this.getMemberNum();
|
||||
this.setService();
|
||||
},
|
||||
|
||||
methods: {
|
||||
getMemberNum() {
|
||||
let that = this;
|
||||
that.G.Get(that.api.order_getNewApplyNumNotViewed, {}, (resapply) => {
|
||||
that.hasNewApply = resapply;
|
||||
that.setService();
|
||||
that.$forceUpdate();
|
||||
});
|
||||
},
|
||||
setService() {
|
||||
// 获取完数据后刷新商家服务的小红点
|
||||
this.serverList = [
|
||||
{
|
||||
name: "平台职位",
|
||||
icon: "cloud",
|
||||
iconType: 1,
|
||||
path: "/root/merchantManagement/platformJobList?type=平台职位",
|
||||
},
|
||||
{
|
||||
name: "海报分享",
|
||||
icon: "file-image",
|
||||
iconType: 1,
|
||||
path: "/root/merchantManagement/posterShare?type=海报分享",
|
||||
},
|
||||
{
|
||||
name: "团队管理",
|
||||
icon: "team",
|
||||
iconType: 1,
|
||||
path: "/root/merchantManagement/teamManage",
|
||||
tip: this.hasNewApply,
|
||||
},
|
||||
// {
|
||||
// name: "动态公告",
|
||||
// icon: "sound",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/dynamicNotice?type=动态公告",
|
||||
// },
|
||||
// {
|
||||
// name: "联系我们",
|
||||
// icon: "comment",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/relationUs?type=联系我们",
|
||||
// },
|
||||
// {
|
||||
// name: "数据报表",
|
||||
// icon: "barchart",
|
||||
// iconType: 1,
|
||||
// path: "/root/merchantManagement/todayData?type=数据报表",
|
||||
// },
|
||||
{
|
||||
name: "谁看过我",
|
||||
icon: "zhengyan1",
|
||||
iconType: 1,
|
||||
path: "/root/merchantManagement/watchedMe",
|
||||
},
|
||||
{
|
||||
name: "配置",
|
||||
icon: "setting",
|
||||
iconType: 1,
|
||||
path: "/root/merchantManagement/setting?type=配置",
|
||||
},
|
||||
];
|
||||
},
|
||||
getApplyNum() {
|
||||
console.log("getApplyNum");
|
||||
let that = this;
|
||||
that.G.Post(
|
||||
that.api.status_num_list,
|
||||
{
|
||||
keys: "",
|
||||
},
|
||||
(res) => {
|
||||
console.log("res.statusMap", res.statusMap);
|
||||
that.applyData.forEach((item) => {
|
||||
for (const key in item) {
|
||||
if (key == "classify") {
|
||||
item.num = res.statusMap[key + item[key]];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
that.$forceUpdate();
|
||||
console.log("that.applyData", that.applyData);
|
||||
}
|
||||
);
|
||||
},
|
||||
getData() {
|
||||
this.G.Get(this.api.person_dataValue, {}, (res) => {
|
||||
console.log(res);
|
||||
// 空值测试
|
||||
// for (var k in res) {
|
||||
// if (typeof res[k] != "object") {
|
||||
// res[k] = 0;
|
||||
// } else {
|
||||
// for (var j in res[k]) {
|
||||
// res[k][j] = 0;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
this.map = res;
|
||||
});
|
||||
},
|
||||
goDetail(e, _item) {
|
||||
console.log("_item", _item);
|
||||
if (_item) {
|
||||
uni.navigateTo({
|
||||
url: `${e}&active=${_item.active}`,
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: e,
|
||||
});
|
||||
}
|
||||
},
|
||||
handleClickNum(e) {
|
||||
console.log("我的服务:", e);
|
||||
this.G.isLogin();
|
||||
if (this.G.isLogin()) {
|
||||
uni.navigateTo({
|
||||
url: e.item.path,
|
||||
});
|
||||
}
|
||||
},
|
||||
getUserData() {
|
||||
let that = this;
|
||||
this.G.Get(this.api.merchantManagement_userData, {}, (res) => {
|
||||
console.log(res);
|
||||
that.userNum.forEach((i) => {
|
||||
i.num = res[i.type];
|
||||
});
|
||||
console.log("that.userNum", that.userNum);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,173 +0,0 @@
|
||||
<template>
|
||||
<div class="p-merchantManagement-container g_bg_page">
|
||||
<div v-show="currentPage === 0" class="">
|
||||
<workbench :hasNewResume="hasNewResume" :hasNewApply="hasNewApply"></workbench>
|
||||
</div>
|
||||
<div v-if="currentPage === (isAdmin ? 1 : 2)">
|
||||
<jobList :show="showJob" :cuindex="cuindex"></jobList>
|
||||
</div>
|
||||
<div v-if="currentPage === (isAdmin ? 2 : 1)">
|
||||
<resumeNew />
|
||||
</div>
|
||||
<div v-show="currentPage === 3">
|
||||
<tools :firstLoad="firstLoad"></tools>
|
||||
</div>
|
||||
<u-tabbar :iconSize="48" imgType="custom" v-model="currentPage" :hideTabBar="false" :list="list" :active-color="themeColor" :before-switch="handleTab" class="tabbar" iconSize="48" @change="handleChange"></u-tabbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import workbench from "./child/workbench.vue";
|
||||
import jobList from "./child/jobList.vue";
|
||||
import tools from "./child/tools.vue";
|
||||
import resumeNew from "./child/resumeNew.vue";
|
||||
|
||||
export default {
|
||||
onLoad() {},
|
||||
onShow() {
|
||||
this.getResumeInfo();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isAdmin: uni.getStorageSync("IS_MINIAPP_ADMIN") || true, // 管理员判断
|
||||
hasNewResume: 0,
|
||||
hasNewApply: 0,
|
||||
|
||||
cdnBaseImg: this.G.store().cdnBaseImg,
|
||||
themeColor: getApp().globalData.themeColor,
|
||||
showJob: false,
|
||||
currentPage: 0,
|
||||
list: [],
|
||||
pageTitle: "工作台",
|
||||
firstLoad: false,
|
||||
appid: uni.getAccountInfoSync().miniProgram.appId,
|
||||
cuindex: 0,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
workbench,
|
||||
jobList,
|
||||
tools,
|
||||
resumeNew,
|
||||
},
|
||||
watch: {
|
||||
showJob(val) {
|
||||
console.log(val);
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.list = this.isAdmin
|
||||
? [
|
||||
{
|
||||
iconPath: "icon-appstore g_c_9 iconfont ",
|
||||
selectedIconPath: "icon-appstore g_c_main iconfont ",
|
||||
// iconPath: this.cdnBaseImg + "home.png",
|
||||
// selectedIconPath: this.cdnBaseImg + "homeActive0925.png",
|
||||
text: "工作台",
|
||||
customIcon: true,
|
||||
imgType: "custom",
|
||||
iconSize: 48,
|
||||
// pagePath: "/pages/home/index",
|
||||
},
|
||||
{
|
||||
iconPath: "icon-detail g_c_9 iconfont ",
|
||||
selectedIconPath: "icon-detail g_c_main iconfont ",
|
||||
// iconPath: this.cdnBaseImg + "bill.png",
|
||||
// selectedIconPath: this.cdnBaseImg + "billActive0925.png",
|
||||
text: "职位管理",
|
||||
customIcon: true,
|
||||
imgType: "custom",
|
||||
iconSize: 48,
|
||||
// pagePath: "/pages/bill/index",
|
||||
},
|
||||
{
|
||||
iconPath: "icon-solution g_c_9 iconfont ",
|
||||
selectedIconPath: "icon-solution g_c_main iconfont ",
|
||||
// iconPath: this.cdnBaseImg + "apply.png",
|
||||
// selectedIconPath: this.cdnBaseImg + "applyActive0925.png",
|
||||
text: "简历工单",
|
||||
customIcon: true,
|
||||
imgType: "custom",
|
||||
iconSize: 48,
|
||||
// pagePath: "/pages/bill/index",
|
||||
},
|
||||
// {
|
||||
// iconPath: this.cdnBaseImg + "apply.png",
|
||||
// selectedIconPath: this.cdnBaseImg + "applyActive0925.png",
|
||||
// text: "工具",
|
||||
// customIcon: false,
|
||||
// // pagePath: "/pages/apply/index",
|
||||
// },
|
||||
]
|
||||
: [
|
||||
{
|
||||
iconPath: "icon-appstore g_c_9",
|
||||
selectedIconPath: "icon-appstore g_c_main",
|
||||
// iconPath: this.cdnBaseImg + "home.png",
|
||||
// selectedIconPath: this.cdnBaseImg + "homeActive0925.png",
|
||||
text: "工作台",
|
||||
customIcon: true,
|
||||
imgType: "custom",
|
||||
// pagePath: "/pages/home/index",
|
||||
},
|
||||
{
|
||||
iconPath: "icon-solution g_c_9",
|
||||
selectedIconPath: "icon-solution g_c_main",
|
||||
// iconPath: this.cdnBaseImg + "apply.png",
|
||||
// selectedIconPath: this.cdnBaseImg + "applyActive0925.png",
|
||||
text: "简历工单",
|
||||
customIcon: false,
|
||||
imgType: "custom",
|
||||
// pagePath: "/pages/bill/index",
|
||||
},
|
||||
];
|
||||
},
|
||||
|
||||
methods: {
|
||||
handleChange(e) {
|
||||
console.log("ee", e);
|
||||
this.cuindex = e;
|
||||
if (e == 1) {
|
||||
this.showJob = true;
|
||||
} else {
|
||||
this.showJob = false;
|
||||
}
|
||||
},
|
||||
getResumeInfo() {
|
||||
let that = this;
|
||||
that.G.Get(`/yishoudan/order/helper/check/neworder`, {}, (res) => {
|
||||
console.log("res", res);
|
||||
if (res > 0) {
|
||||
that.hasNewResume = res;
|
||||
}
|
||||
console.log("that.hasNewResume", that.hasNewResume);
|
||||
that.$forceUpdate();
|
||||
});
|
||||
},
|
||||
leftClick() {
|
||||
console.log("leftClick");
|
||||
},
|
||||
handleTab(e) {
|
||||
console.log(e);
|
||||
this.pageTitle = this.list[e].text;
|
||||
uni.setNavigationBarTitle({
|
||||
title: this.list[e].text,
|
||||
});
|
||||
return true;
|
||||
},
|
||||
goBack() {
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.p-merchantManagement-container {
|
||||
}
|
||||
page {
|
||||
/* background-color: #f5f5f5; */
|
||||
}
|
||||
</style>
|
||||
@ -1,178 +0,0 @@
|
||||
<template>
|
||||
<view class="p-bill-index g_w_all g_h_all g_bg_f_5 g_kuaishou">
|
||||
<scroll-view class="m-list" :style="{ height: `calc(100vh - 0px)` }" :scroll-y="true" @scrolltolower="reachBottom">
|
||||
<view class="m-search g_flex_row_between flex_center g_bg_f g_pl_10 g_pr_10 g_pb_8 g_pt_8 g_mb_10">
|
||||
<u-search class="g_flex_1" @btnSearch="getSearch" height="80" v-model="keyword" :placeholder="placeholder" bg-color="#f5f5f5" :show-action="false" @clear="getSearch" @custom="getSearch" @search="getSearch" search-icon-color="#999999" :maxlength="20"></u-search>
|
||||
<!-- @change="getSearch" -->
|
||||
<!-- <view class="g_ml_8 g_fs_16" style="color: #576b95" hover-class="thover" @click="backPrev">取消</view> -->
|
||||
</view>
|
||||
<rh-job-list from="tob" class="g_h_all" :list="query.list" @clickCard="goDetail" :loading="loading" :speed="speed" :query="query" emptyText="暂无数据" pt="0" />
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
onReady() {
|
||||
this.G.setNavStyle();
|
||||
},
|
||||
onShareAppMessage() {
|
||||
return this.G.shareFun();
|
||||
},
|
||||
onLoad(options) {
|
||||
console.log(options);
|
||||
this.navInfo = this.G.getNavInfo();
|
||||
// this.placeholder = "搜索职位名称";
|
||||
},
|
||||
onShow() {
|
||||
let that = this;
|
||||
that.navInfo = that.G.getNavInfo();
|
||||
},
|
||||
created() {
|
||||
console.log(this.show);
|
||||
this.loading = true;
|
||||
this.speed = -1;
|
||||
this.getList();
|
||||
},
|
||||
mounted() {},
|
||||
|
||||
props: {
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: () => {
|
||||
return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
show: {
|
||||
handler(newVal) {
|
||||
console.log(newVal);
|
||||
if (newVal) {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
// 组件状态值
|
||||
data() {
|
||||
return {
|
||||
whichPage: "home",
|
||||
keyword: "",
|
||||
loading: false,
|
||||
speed: -1,
|
||||
applyType: 0,
|
||||
query: {
|
||||
page: 1,
|
||||
size: 20,
|
||||
list: [],
|
||||
isFinish: -1,
|
||||
},
|
||||
placeholder: "搜索职位名称",
|
||||
navInfo: {},
|
||||
};
|
||||
},
|
||||
// 计算属性
|
||||
computed: {},
|
||||
|
||||
// 组件方法
|
||||
methods: {
|
||||
goDetail($item) {
|
||||
console.log("前往详情页", $item);
|
||||
if (uni.getStorageSync("apply-userinfo")) {
|
||||
uni.navigateTo({
|
||||
url: "/root/detail/job?id=" + $item.id,
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/root/login/index",
|
||||
});
|
||||
}
|
||||
},
|
||||
reachBottom() {
|
||||
let that = this;
|
||||
console.log("tolow");
|
||||
// if (!uni.getStorageSync("apply-token") && that.tabInfo.active == 1) {
|
||||
// return false;
|
||||
// }
|
||||
that.query.page++;
|
||||
that.getList("concat");
|
||||
},
|
||||
getSearch(e) {
|
||||
console.log(e);
|
||||
this.speed = -1;
|
||||
this.keyword = e;
|
||||
this.query.page = 1;
|
||||
console.log(this.whichPage);
|
||||
this.getList();
|
||||
},
|
||||
backPrev() {
|
||||
console.log("backPrev");
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
});
|
||||
},
|
||||
getList($type = "init") {
|
||||
let that = this;
|
||||
that.G.Post(
|
||||
// that.api.job_list,
|
||||
that.api.new_job_list,
|
||||
{
|
||||
pageNum: that.query.page,
|
||||
pageSize: that.query.size,
|
||||
keys: that.keyword,
|
||||
// agencyId: uni.getStorageSync("AGENCY_ID"),
|
||||
},
|
||||
(res) => {
|
||||
console.log("一才职位列表:", res);
|
||||
that.computeCode = 1;
|
||||
if (res.recordCount == 0) {
|
||||
that.loading = false;
|
||||
} else {
|
||||
that.loading = true;
|
||||
}
|
||||
that.speed = res.recordCount;
|
||||
that.query.isFinish = res.recordList.length;
|
||||
if (res.recordList && res.recordList.length > 0) {
|
||||
res.recordList = that.G.toGetAddressv3(res.recordList);
|
||||
res.recordList = that.G.toGetAge(res.recordList);
|
||||
res.recordList = that.G.yijobCopy(res.recordList);
|
||||
}
|
||||
if ($type == "init") {
|
||||
that.query.list = [];
|
||||
that.query.list =
|
||||
res.recordList && res.recordList.length > 0
|
||||
? res.recordList.map((item, index) => {
|
||||
return {
|
||||
...item,
|
||||
collected: item.collected ? true : false,
|
||||
cus_price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValueHtml(item.salaryClassify, item.salaryClassifyValue) : "月薪",
|
||||
fuWuFei: that.G.setReturnFee(item.returnFee / 100, item.returnFeeType, 1),
|
||||
gender: that.G.getGenderByMinAge(item),
|
||||
};
|
||||
})
|
||||
: [];
|
||||
} else {
|
||||
that.query.list = that.query.list.concat(
|
||||
res.recordList && res.recordList.length > 0
|
||||
? res.recordList.map((item, index) => {
|
||||
return {
|
||||
...item,
|
||||
collected: item.collected ? true : false,
|
||||
cus_price: item.salaryClassify != 7 ? that.G.getSalaryClassifyValueHtml(item.salaryClassify, item.salaryClassifyValue) : "月薪",
|
||||
fuWuFei: that.G.setReturnFee(item.returnFee / 100, item.returnFeeType, 1),
|
||||
gender: that.G.getGenderByMinAge(item),
|
||||
};
|
||||
})
|
||||
: []
|
||||
);
|
||||
}
|
||||
console.log("that.query.list ", that.query.list);
|
||||
}
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="less"></style>
|
||||
@ -1,169 +0,0 @@
|
||||
<template>
|
||||
<view class="p-root-merchantManagement-relationUs g_bg_f_5 g_pt_10 g_pb_120" style="min-height: 100vh">
|
||||
<!-- 图片区 -->
|
||||
<view class="g_flex_row_center">
|
||||
<span class="g_position_abso g_c_6" style="left: 40px; top: 20px">预览:</span>
|
||||
<view class="g_bg_f g_mt_36 g_mb_24 g_p_10 g_flex_column_center flex_center g_radius_8" style="width: calc(100vw - 80px)">
|
||||
<view class="g_pt_18 g_fw_600 g_pb_24 g_fs_18">联系我们</view>
|
||||
<view class="g_pb_4 g_fs_14 g_c_6">联系人: {{ submitInfo.contactUserName || "-" }}</view>
|
||||
<view class="g_pb_10 g_fs_14 g_c_6">联系电话: {{ submitInfo.contactTel || "-" }}</view>
|
||||
<image class="g_w_184 g_h_184" :src="submitInfo.contactWechatQrcode || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/pugongying/wr.png'" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" show-menu-by-longpress> </image>
|
||||
<view class="g_mt_8 g_fs_14 g_pb_24 g_fw_600">长按识别二维码</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="g_h_10"></view>
|
||||
<!-- 表单区 -->
|
||||
<rh-form-slot
|
||||
:list="[
|
||||
{
|
||||
icon: '',
|
||||
label: '联系人',
|
||||
result: '',
|
||||
value: submitInfo.contactUserName,
|
||||
path: '',
|
||||
tip: 'slot-name',
|
||||
placeholder: '输入姓名',
|
||||
type: 'slot',
|
||||
pColumn: 8,
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
label: '联系电话',
|
||||
result: '',
|
||||
path: '',
|
||||
value: submitInfo.contactTel,
|
||||
tip: 'slot-mobile',
|
||||
placeholder: '请输入手机号',
|
||||
type: 'slot',
|
||||
pColumn: 8,
|
||||
},
|
||||
{
|
||||
icon: '',
|
||||
label: '二维码',
|
||||
result: '',
|
||||
path: '',
|
||||
tip: 'update-QRCode',
|
||||
img: submitInfo.contactWechatQrcode || 'https://bocai-cms.oss-cn-beijing.aliyuncs.com/web-resource/pugongying/wr.png',
|
||||
type: 'slot',
|
||||
pColumn: 12,
|
||||
},
|
||||
]"
|
||||
@changeName="changeName"
|
||||
@updateFile="uploadPhoto"
|
||||
@changeMobile="changeMobile"
|
||||
/>
|
||||
<!-- 提交区 -->
|
||||
<!-- -->
|
||||
<view v-if="!idauth">
|
||||
<view class="g_flex_row_center g_mt_32 m-submit">
|
||||
<rh-button primaryColor='#3578f6' btnText="确定"
|
||||
:loading='isSubmitLoading'
|
||||
:type="isChange ? 'primary' : 'disabled'"
|
||||
@clickBtn="subNameInfo" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
onShareAppMessage() {
|
||||
return this.G.shareFun();
|
||||
},
|
||||
onLoad(options) {
|
||||
let appInfo = uni.getStorageSync("miniApp-info");
|
||||
this.sqlObj = uni.getStorageSync("miniApp-info");
|
||||
this.submitInfo = appInfo;
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isChange:false,
|
||||
isSubmitLoading:false,
|
||||
sqlObj:{},
|
||||
submitInfo: {
|
||||
contactUserName: "",
|
||||
contactTel: "",
|
||||
contactWechatQrcode: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
changeName(e) {
|
||||
if(this.sqlObj.contactUserName == e){
|
||||
this.isChange = false;
|
||||
}else{
|
||||
this.isChange = true;
|
||||
}
|
||||
this.submitInfo.contactUserName = e;
|
||||
},
|
||||
uploadPhoto(e) {
|
||||
if(this.sqlObj.contactWechatQrcode == e){
|
||||
this.isChange = false;
|
||||
}else{
|
||||
this.isChange = true;
|
||||
}
|
||||
this.submitInfo.contactWechatQrcode = e;
|
||||
},
|
||||
changeMobile(e) {
|
||||
if(this.sqlObj.contactTel == e){
|
||||
this.isChange = false;
|
||||
}else{
|
||||
this.isChange = true;
|
||||
}
|
||||
this.submitInfo.contactTel = e;
|
||||
},
|
||||
subNameInfo() {
|
||||
let that = this;
|
||||
let params = {
|
||||
recordId: this.submitInfo.id,
|
||||
fullName: this.submitInfo.fullName,
|
||||
agencyName: this.submitInfo.agencyName,
|
||||
desp: this.submitInfo.desp,
|
||||
contactUserName: this.submitInfo.contactUserName,
|
||||
contactTel: this.submitInfo.contactTel,
|
||||
contactWechatQrcode: this.submitInfo.contactWechatQrcode,
|
||||
address: this.submitInfo.address,
|
||||
lat: this.submitInfo.lat,
|
||||
lng: this.submitInfo.lng,
|
||||
slogan: this.submitInfo.slogan,
|
||||
};
|
||||
if(!that.isChange){
|
||||
return false;
|
||||
}
|
||||
that.isSubmitLoading = true;
|
||||
that.G.Post(that.api.user_changeTobeSupplierInfo, params, (res) => {
|
||||
that.isSubmitLoading = false;
|
||||
that.isChange = false;
|
||||
console.log(res);
|
||||
uni.showToast({
|
||||
title: "修改成功",
|
||||
icon: "none",
|
||||
});
|
||||
that.G.getAgencyInfo();
|
||||
},()=>{
|
||||
that.isSubmitLoading = false;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.p-root-person-idform {
|
||||
.m-submit {
|
||||
.bocai_btn_type_infro {
|
||||
background: #ccc !important;
|
||||
color: #fff !important;
|
||||
font-weight: 600 !important;
|
||||
font-size: 18px !important;
|
||||
}
|
||||
}
|
||||
.cardText {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,441 +0,0 @@
|
||||
<template>
|
||||
<div class="g_pt_10">
|
||||
<div class="g_bg_f">
|
||||
<!-- <u-tabs bg-color="transparent" from="index" :list="tabInfo.list" :is-scroll="true" :current="tabInfo.active" bar-width="120" item-width="50vw" active-color="#3578f6" bar-height="6" @change="handleUpdateTab" font-size="34" duration="0.05" height="76"></u-tabs> -->
|
||||
</div>
|
||||
<div class="g_flex_row_between g_pt_10 g_pb_10 g_pr_12">
|
||||
<div class="g_flex_row_start g_pl_12 g_pr_10">
|
||||
<div @click="setOutDate(6)" :class="dateVal == 6 ? 'g_c_main' : ''" class="g_cursor_pointer g_mr_20">今日</div>
|
||||
<div @click="setOutDate(2)" :class="dateVal == 2 ? 'g_c_main' : ''" class="g_cursor_pointer g_mr_20">本周</div>
|
||||
<div @click="setOutDate(4)" :class="dateVal == 4 ? 'g_c_main' : ''" class="g_cursor_pointer g_mr_20">本月</div>
|
||||
<rh-quickconfirm :dropdownShow="dropdownShow" @hideDropdown="(e) => (dropdownShow = e)">
|
||||
<template v-slot:title>
|
||||
<div :class="dateType ? 'g_c_main' : ''" @click="showDroundown">{{ dateType || "更多" }}</div>
|
||||
</template>
|
||||
<template v-slot:content>
|
||||
<div :class="dateType == item.name ? 'ysd-base-color' : ''" class="g_border_b_d g_pt_10 g_pb_10 g_text_c" v-for="(item, index) in dateList" :key="index" @click="setDate(item)">{{ item.name }}</div>
|
||||
</template>
|
||||
</rh-quickconfirm>
|
||||
</div>
|
||||
<div>
|
||||
<rh-quickconfirm :dropdownShow="customDateShow" @hideDropdown="(e) => (customDateShow = e)" width="calc(100vw - 48rpx)">
|
||||
<template v-slot:title>
|
||||
<div :class="!notCustom ? 'g_c_main' : ''" @click="customDateShow = true">自定义</div>
|
||||
</template>
|
||||
<template v-slot:content>
|
||||
<div class="g_flex_row_between flex_center dateSelect" hover-class="none" hover-stop-propagation="false">
|
||||
<div class="g_flex_row_start">
|
||||
<picker mode="date" :value="startTime" :end="notAllowTime" @change="changeDateTime($event, 'start')" style="color: #333">{{ !!startTime ? startTime : "----" }}</picker>
|
||||
<i class="iconfont icon-rili g_fs_16 g_ml_10 g_c_9" style="line-height: 1"></i>
|
||||
</div>
|
||||
-
|
||||
<div class="afterDate g_flex_row_start">
|
||||
<picker mode="date" :value="endTime" :end="notAllowTime" @change="changeDateTime($event, 'end')" style="color: #333">{{ !!endTime ? endTime : "----" }}</picker>
|
||||
<i class="iconfont icon-rili g_fs_16 g_ml_10 g_c_9" style="line-height: 1"></i>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</rh-quickconfirm>
|
||||
</div>
|
||||
</div>
|
||||
<div class="g_bg_f g_ml_10 g_mr_10 g_radius_8" v-if="dataList.length > 0">
|
||||
<div class="tableTitle g_fw_600 g_fs_12">
|
||||
<div class="show_all" style="width: 80px">姓名</div>
|
||||
<div class="g_flex_1 g_flex_row_between">
|
||||
<div class="dataNum">用户</div>
|
||||
<div class="dataNum">活跃</div>
|
||||
<div class="dataNum">报名</div>
|
||||
<div class="dataNum">约面</div>
|
||||
<div class="dataNum">到面</div>
|
||||
<div class="dataNum">通过</div>
|
||||
<div class="dataNum">入职</div>
|
||||
<div class="dataNum">
|
||||
在职
|
||||
<!-- <i class="t-icon t-icon-zhuyi f14" @click="showToast"></i> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tableSub g_fs_12">
|
||||
<div class="show_all g_pl_10" style="box-sizing: border-box">其他</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.userNum || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.activeUserNum || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.applyClueNum || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.signUps || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.arrived || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.passed || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.entry || 0 }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.obJob || 0 }}</div>
|
||||
</div>
|
||||
<div class="tableSub g_fs_12" v-for="(item, index) in dataList" :key="index">
|
||||
<div class="g_text_l show_all" style>{{ index * 1 + 1 + " " }}{{ item.aliasName || item.agencyTeamName }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 10)">{{ item.userNum }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 10)">{{ item.activeUserNum }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 10)">{{ item.applyClueNum }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 10)">{{ item.signUps }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 20)">{{ item.arrived }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 30)">{{ item.passed }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 40)">{{ item.entry }}</div>
|
||||
<div class="dataNum" hover-class="thover" @click="toDataDetail(item, 50)">{{ item.obJob }}</div>
|
||||
</div>
|
||||
|
||||
<div class="tableSub g_fw_600 g_fs_12">
|
||||
<div class="show_all g_pl_12" style="width: 80px; box-sizing: border-box">总计</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.userNum + totalObj.userNum }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.activeUserNum + totalObj.activeUserNum }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ globalData.applyClueNum + totalObj.applyClueNum }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ totalObj.signUps }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ totalObj.arrived }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ totalObj.passed }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ totalObj.entry }}</div>
|
||||
<div class="g_text_c g_flex_1">{{ totalObj.obJob }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import dayjs from "dayjs";
|
||||
// import moment from "moment";
|
||||
export default {
|
||||
onLoad() {
|
||||
this.getGroupList();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dateVal: 6,
|
||||
globalData: {},
|
||||
dateType: "",
|
||||
dropdownShow: false,
|
||||
customDateShow: false,
|
||||
startTime: dayjs(new Date()).format("YYYY-MM-DD"),
|
||||
endTime: dayjs(new Date()).format("YYYY-MM-DD"),
|
||||
notAllowTime: dayjs(new Date()).format("YYYY-MM-DD"),
|
||||
sortType: 0,
|
||||
notCustom: true, // 是否自定义时间
|
||||
groupDataList: [], // 团队原始数据
|
||||
dataList: [], // 数据列表
|
||||
totalObj: {}, // 数据总计
|
||||
dateList: [
|
||||
{
|
||||
name: "昨日",
|
||||
value: 7,
|
||||
},
|
||||
{
|
||||
name: "上周",
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
name: "上月",
|
||||
value: 5,
|
||||
},
|
||||
{
|
||||
name: "近7日",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
name: "近30日",
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
tabInfo: {
|
||||
list: [
|
||||
{
|
||||
name: "全部成员",
|
||||
num: 0,
|
||||
tip: 0,
|
||||
classify: 2,
|
||||
},
|
||||
{
|
||||
name: "团队排序",
|
||||
num: 0,
|
||||
tip: 1,
|
||||
classify: 3,
|
||||
},
|
||||
],
|
||||
active: 0,
|
||||
},
|
||||
dateList: [
|
||||
{
|
||||
name: "昨日",
|
||||
value: 7,
|
||||
},
|
||||
{
|
||||
name: "上周",
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
name: "上月",
|
||||
value: 5,
|
||||
},
|
||||
{
|
||||
name: "近7日",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
name: "近30日",
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
watch: {
|
||||
dropdownShow(nval, oval) {
|
||||
console.log(nval, oval);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleUpdateTab(e) {
|
||||
console.log(e);
|
||||
this.tabInfo.active = e;
|
||||
this.sortType = e;
|
||||
this.getGroupList("all");
|
||||
},
|
||||
showDroundown() {
|
||||
uni.vibrateShort({
|
||||
type: "heavy",
|
||||
success: function (e) {
|
||||
console.log(e);
|
||||
},
|
||||
});
|
||||
this.dropdownShow = !this.dropdownShow;
|
||||
},
|
||||
setDate(e) {
|
||||
let that = this;
|
||||
console.log(e);
|
||||
uni.vibrateShort({
|
||||
type: "heavy",
|
||||
success: function (e) {
|
||||
console.log(e);
|
||||
},
|
||||
});
|
||||
that.dateList.forEach((item) => {
|
||||
if (item.value == e.value) {
|
||||
console.log(item.value);
|
||||
that.dateType = item.name;
|
||||
that.dateVal = item.value;
|
||||
that.dropdownShow = false;
|
||||
that.notCustom = true;
|
||||
}
|
||||
});
|
||||
that.formatDate(that.dateVal);
|
||||
},
|
||||
setOutDate(e) {
|
||||
console.log(e);
|
||||
uni.vibrateShort({
|
||||
type: "heavy",
|
||||
success: function (e) {
|
||||
console.log(e);
|
||||
},
|
||||
});
|
||||
this.dateType = "";
|
||||
this.dateVal = e;
|
||||
this.notCustom = true;
|
||||
this.formatDate(this.dateVal);
|
||||
},
|
||||
changeDateTime(e, type) {
|
||||
console.log(e);
|
||||
if (type == "start") {
|
||||
this.startTime = e.detail.value;
|
||||
} else if (type == "end") {
|
||||
this.endTime = e.detail.value;
|
||||
}
|
||||
let time1 = new Date(this.startTime).getTime();
|
||||
let time2 = new Date(this.endTime).getTime();
|
||||
console.log(time1);
|
||||
console.log(time2);
|
||||
if (time1 > time2) {
|
||||
uni.showToast({
|
||||
duration: 2000,
|
||||
title: "结束时间不能早于开始时间",
|
||||
mask: true,
|
||||
icon: "none",
|
||||
});
|
||||
return;
|
||||
}
|
||||
this.dateVal = -1;
|
||||
this.notCustom = false;
|
||||
this.getGroupList();
|
||||
},
|
||||
formatDate(tag) {
|
||||
let start, end;
|
||||
console.log(tag);
|
||||
if (tag == 0) {
|
||||
start = dayjs().add(-6, "day").format("YYYY-MM-DD");
|
||||
end = dayjs().format("YYYY-MM-DD");
|
||||
} else if (tag == 1) {
|
||||
start = dayjs().add(-29, "day").format("YYYY-MM-DD");
|
||||
end = dayjs().format("YYYY-MM-DD");
|
||||
} else if (tag == 2) {
|
||||
start = dayjs().startOf("week").format("YYYY-MM-DD");
|
||||
end = dayjs().format("YYYY-MM-DD");
|
||||
} else if (tag == 3) {
|
||||
start = dayjs()
|
||||
.week(dayjs().week() - 1)
|
||||
.startOf("week")
|
||||
.format("YYYY-MM-DD");
|
||||
end = dayjs()
|
||||
.week(dayjs().week() - 1)
|
||||
.endOf("week")
|
||||
.format("YYYY-MM-DD");
|
||||
console.log(start);
|
||||
console.log(end);
|
||||
} else if (tag == 4) {
|
||||
start = dayjs().startOf("month").format("YYYY-MM-DD");
|
||||
end = dayjs().format("YYYY-MM-DD");
|
||||
} else if (tag == 5) {
|
||||
start = dayjs().subtract(1, "month").startOf("month").format("YYYY-MM-DD");
|
||||
end = dayjs().subtract(1, "month").endOf("month").format("YYYY-MM-DD");
|
||||
} else if (tag == 6) {
|
||||
start = dayjs().add(0, "day").format("YYYY-MM-DD");
|
||||
end = dayjs().format("YYYY-MM-DD");
|
||||
} else if (tag == 7) {
|
||||
start = dayjs().subtract(1, "day").format("YYYY-MM-DD");
|
||||
end = dayjs().subtract(1, "day").format("YYYY-MM-DD");
|
||||
}
|
||||
this.startTime = start;
|
||||
this.endTime = end;
|
||||
console.log(start);
|
||||
console.log(end);
|
||||
this.getGroupList();
|
||||
},
|
||||
/**
|
||||
* 获取团队列表
|
||||
*/
|
||||
getGroupList() {
|
||||
let that = this;
|
||||
that.G.Post(that.api.merchantManagement_userGlobalData, { start: this.startTime, end: this.endTime }, (res) => {
|
||||
console.log(res);
|
||||
that.globalData = res.data;
|
||||
});
|
||||
that.G.Post(that.api.merchantManagement_todayData, { start: this.startTime, end: this.endTime }, (res) => {
|
||||
let list = [];
|
||||
res.list.forEach((item) => {
|
||||
list = list.concat(item.users);
|
||||
});
|
||||
|
||||
console.log(list);
|
||||
let totalObj = {
|
||||
arrived: 0,
|
||||
entry: 0,
|
||||
obJob: 0,
|
||||
passed: 0,
|
||||
signUps: 0,
|
||||
userNum: 0,
|
||||
applyClueNum: 0,
|
||||
activeUserNum: 0,
|
||||
finshedGPA: 0,
|
||||
entryGPA: 0,
|
||||
};
|
||||
list.forEach((item, index) => {
|
||||
console.log(item);
|
||||
totalObj.arrived += item.arrived;
|
||||
totalObj.entry += item.entry;
|
||||
totalObj.obJob += item.obJob;
|
||||
totalObj.passed += item.passed;
|
||||
totalObj.signUps += item.signUps;
|
||||
totalObj.userNum = totalObj.userNum + Number(item.userNum) || 0;
|
||||
totalObj.applyClueNum = totalObj.applyClueNum + Number(item.applyClueNum) || 0;
|
||||
totalObj.activeUserNum = totalObj.activeUserNum + Number(item.activeUserNum) || 0;
|
||||
totalObj.finshedGPA += item.finshedGPA;
|
||||
totalObj.entryGPA += item.entryGPA;
|
||||
totalObj.index = index + 2;
|
||||
});
|
||||
that.totalObj = totalObj;
|
||||
console.log("totalObj", totalObj);
|
||||
let newList = [];
|
||||
// list.forEach((item, index) => {
|
||||
// newList = newList.concat(item.users);
|
||||
// console.log(item);
|
||||
// console.log(index);
|
||||
// });
|
||||
console.log(newList);
|
||||
// if (that.sortType != 0) {
|
||||
that.dataList = that.G.fullCopy(list);
|
||||
if (that.currentGroup) {
|
||||
that.selectGroup(that.currentGroup);
|
||||
}
|
||||
// } else {
|
||||
// list.sort((a, b) => b.funnel - a.funnel);
|
||||
// that.dataList = that.G.fullCopy(list);
|
||||
// }
|
||||
console.log("that.dataList", that.dataList);
|
||||
that.groupDataList = that.G.fullCopy(list);
|
||||
|
||||
// that.isspinning = false
|
||||
|
||||
that.groupDataList.forEach((item) => {
|
||||
console.log(item);
|
||||
item.title = item.agencyTeamName;
|
||||
});
|
||||
that.groupDataList.unshift({
|
||||
title: "全部部门",
|
||||
agencyTeamId: 12,
|
||||
agencyTeamIdx: 2,
|
||||
arrived: 3,
|
||||
entry: 1,
|
||||
entryGPA: 0.03,
|
||||
finshedGPA: 1.86,
|
||||
funnel: 3.2,
|
||||
obJob: 71,
|
||||
packageIdx: 138,
|
||||
passed: 2,
|
||||
signUps: 8,
|
||||
});
|
||||
});
|
||||
},
|
||||
toDataDetail() {},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
page {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.dateSelect {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.dateSelect > div {
|
||||
width: 147px;
|
||||
height: 30px;
|
||||
border: 1px solid #cccccc;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.tableTitle {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
// padding-right: 24px;
|
||||
}
|
||||
.tableSub {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px;
|
||||
border-top: 1px solid #f5f5f5;
|
||||
/* overflow: hidden; */
|
||||
.dataNum {
|
||||
/* padding-left: 8px; */
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
// color: #576b95;
|
||||
// text-decoration: underline;
|
||||
}
|
||||
}
|
||||
.show_all {
|
||||
width: 80px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
@ -1,72 +0,0 @@
|
||||
|
||||
let data = {
|
||||
/**
|
||||
* canvas绘图 start
|
||||
*/
|
||||
/**
|
||||
* 文字绘制
|
||||
*/
|
||||
fillTextLineBreak (ctx, text, x, y, lw, lh, color = "#333", font = "32", weight = "500") {
|
||||
// , align = "center"
|
||||
var i = 0;
|
||||
var n = 0;
|
||||
var r = -1;
|
||||
// var initHeight = 0;
|
||||
ctx.font = weight + " " + font + "px Arial"; //字体大小
|
||||
ctx.fillStyle = color; //字体颜色
|
||||
// ctx.textBaseline = align;
|
||||
// ctx.textAlign = align;
|
||||
while (i < text.length) {
|
||||
while (ctx.measureText(text.substring(n, i)).width < lw && i < text.length) {
|
||||
i++;
|
||||
}
|
||||
r++;
|
||||
ctx.fillText(text.substring(n, i), x, y + lh * r);
|
||||
n = i;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 背景图绘制
|
||||
*/
|
||||
roundRect (ctx, img, bg_x, bg_y, bg_w, bg_h, bg_r) {
|
||||
// 开始绘制
|
||||
ctx.save();
|
||||
ctx.beginPath();
|
||||
ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5);
|
||||
ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2);
|
||||
ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5);
|
||||
ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI);
|
||||
ctx.clip();
|
||||
ctx.drawImage(img, bg_x, bg_y, bg_w, bg_h);
|
||||
// 恢复之前保存的绘图上下文
|
||||
ctx.restore();
|
||||
},
|
||||
roundRect_yuan (ctx, x, y, size) {
|
||||
// 开始绘制
|
||||
ctx.save(); // 保存
|
||||
ctx.beginPath(); // 开始绘制
|
||||
// ctx.arc(100, 75, 50, 0, 2 * Math.PI)
|
||||
ctx.arc(size / 2 + x, size / 2 + y, size / 2, 0, Math.PI * 2, false);
|
||||
ctx.clip();
|
||||
// 恢复之前保存的绘图上下文
|
||||
ctx.restore();
|
||||
},
|
||||
|
||||
roundRect1 (ctx, x, y, w, h, r, color) {
|
||||
//绘制圆角矩形(无填充色))
|
||||
ctx.save();
|
||||
ctx.fillStyle = color;
|
||||
ctx.strokeStyle = color;
|
||||
ctx.lineJoin = "round"; //交点设置成圆角
|
||||
ctx.lineWidth = r;
|
||||
ctx.strokeRect(x + r / 2, y + r / 2, w - r, h - r);
|
||||
ctx.fillRect(x + r, y + r, w - r * 2, h - r * 2);
|
||||
ctx.stroke();
|
||||
ctx.closePath();
|
||||
},
|
||||
/**
|
||||
* canvas绘图 end
|
||||
*/
|
||||
}
|
||||
|
||||
export default data;
|
||||
Loading…
Reference in New Issue