Compare commits

...

1 Commits

Author SHA1 Message Date
  15576629987 fa369b035a liusr 5 months ago
12 changed files with 996 additions and 822 deletions
Split View
  1. +34
    -10
      common/api.js
  2. +3
    -2
      common/config.js
  3. +58
    -50
      pages/auth/index.vue
  4. +78
    -47
      pages/home/component/enterprise.vue
  5. +129
    -108
      pages/home/index.vue
  6. +52
    -55
      pages/login/index.vue
  7. +117
    -68
      pages/order/component/enterprise.vue
  8. +100
    -67
      pages/order/component/master.vue
  9. +55
    -47
      pages/user/index.vue
  10. +15
    -14
      pages_subpack/master-detail/index.vue
  11. +178
    -203
      pages_subpack/release/component/enterprise.vue
  12. +177
    -151
      pages_subpack/release/component/master.vue

+ 34
- 10
common/api.js View File

@ -1,4 +1,6 @@
const { http } = uni.$u
const {
http
} = uni.$u
console.info(http)
// 获取菜单
@ -9,7 +11,9 @@ export const fetchMenu = (params, config = {}) => http.post('/ebapi/public_api/i
* 登录的接口
*/
// 微信登录接口
export const appletLogin = (params) => http.get('/employ-api/user/login', {params:params})
export const appletLogin = (params) => http.get('/employ-api/user/login', {
params: params
})
// 招聘方填写信息
export const roleBoss = (params) => http.post('/employ-api/user/roleBoss', params)
// 求职者填写信息
@ -17,19 +21,31 @@ export const role = (params) => http.post('/employ-api/user/role', params)
// 首页行业菜单
export const industryList = (params) => http.get('/employ-api/index/industryList', {params:params})
export const industryList = (params) => http.get('/employ-api/index/industryList', {
params: params
})
// 获取banner列表
export const bannerList = (params) => http.post('/employ-api/index/bannerList', params)
// 招聘大厅列表查询
export const taskList = (params) => http.get('/employ-api/index/taskList', {params:params})
export const taskList = (params) => http.get('/employ-api/index/taskList', {
params: params
})
// 求职大厅列表查询
export const rolelist = (params) => http.get('/employ-api/index/rolelist1', {params:params})
export const rolelist = (params) => http.get('/employ-api/index/rolelist1', {
params: params
})
// 公司发布任务
export const addTask = (params) => http.post('/employ-api/user/addTask', params)
// 求职者发布订单
export const addTask2 = (params) => http.post("/employ-api/user/addTask2", params)
// 根据行业id查询工种
export const industryById = (params) => http.get('/employ-api/index/getIndustryById', {params:params})
export const industryById = (params) => http.get('/employ-api/index/getIndustryById', {
params: params
})
// tb_user_role-通过id查询
export const getTaskById = (params) => http.get('/employ-api/user/getTaskById', {params:params})
export const getTaskById = (params) => http.get('/employ-api/user/getTaskById', {
params: params
})
// 我的头像昵称,平台客户电话等信息
export const userInfo = (params) => http.post('/employ-api/index/index', params)
@ -47,16 +63,24 @@ export const withdrawal = (params) => http.post('/employ-api/pay/withdrawal', pa
export const orderTask = (params) => http.post('/employ-api/order/addTask', params)
export const orderDetail = (params) => http.get('/employ-api/order/queryById', {params:params})
export const orderDetail = (params) => http.get('/employ-api/order/queryById', {
params: params
})
// 订单支付
export const payOrder = (params) => http.post('/employ-api/pay/order', params)
// 招聘方订单分页列表查询
export const bossOrderList = (params) => http.get('/employ-api/order/bossOrderList', {params:params})
export const bossOrderList = (params) => http.get('/employ-api/order/bossOrderList', {
params: params
})
// 求职方订单分页列表查询
export const workOrderList = (params) => http.get('/employ-api/order/workOrderList', {params:params})
export const workOrderList = (params) => http.get('/employ-api/order/workOrderList', {
params: params
})
// 获取平台隐私政策,协议等
export const getSysText = (params) => http.post('/employ-api/index/getSysText', params)
// 公告列表
export const noticeList = () => http.get("/employ-api/index/noticeList")

+ 3
- 2
common/config.js View File

@ -1,4 +1,5 @@
module.exports = {
// baseUrl: 'http://3fl8266127.qicp.vip'
baseUrl:"https://employadmin.hhlm1688.com"
}
// baseUrl: "https://employadmin.hhlm1688.com"
baseUrl: "http://augcl.natapp1.cc"
}

+ 58
- 50
pages/auth/index.vue View File

@ -5,11 +5,12 @@
<view class="se-flex se-flex-h-c se-fs-34 se-fw-6 se-c-black se-mt-40">
智选猎头
</view>
</view>
<view class="se-pb-200 se-pos-cb se-w-p-100">
<button @getuserinfo="onLogin" open-type="getUserInfo" class="se-mx-80 se-br-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
<button @getuserinfo="onLogin" open-type="getUserInfo"
class="se-mx-80 se-br-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
<image class="se-w-45 se-h-35" src="@/static/image/wechat.png" mode=""></image>
<text class="se-ml-10">微信登录</text>
</button>
@ -18,13 +19,14 @@
</view> -->
<view class="se-mx-80 se-br-40 se-mt-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-24 se-c-33">
<u-checkbox-group @change="checkboxChange" v-model="checked">
<u-checkbox name="1" activeColor="#07C160" label-size="12" shape="circle" label="阅读并同意"></u-checkbox>
<u-checkbox name="1" activeColor="#07C160" label-size="12" shape="circle"
label="阅读并同意"></u-checkbox>
</u-checkbox-group>
<text class="se-c-green" @click="show=true">隐私政策</text>
<text class="se-c-green" @click="show=true">服务条款</text>
</view>
</view>
<u-popup :show="show" :custom-style="{alignItems:'center'}" mode="center" bg-color="transparent">
<view class="se-w-600 se-bgc-white se-br-40 se-p-40">
<view class="se-flex se-flex-h-c">
@ -42,10 +44,12 @@
<text>了解详细信息如你同意请点击下方按钮开始接受我们的服务</text> -->
</view>
<view class="se-flex se-flex-h-sb se-mt-40">
<view @click="onCancel" class="se-br-20 se-flex-1 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-66 se-bgc-f5">
<view @click="onCancel"
class="se-br-20 se-flex-1 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-66 se-bgc-f5">
<text>不同意</text>
</view>
<view @click="onAgree" class="se-br-20 se-ml-20 se-flex-1 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
<view @click="onAgree"
class="se-br-20 se-ml-20 se-flex-1 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
<text class="se-ml-10">同意</text>
</view>
</view>
@ -55,52 +59,56 @@
</template>
<script>
import { appletLogin,userInfo,getSysText } from "@/common/api.js"
import {
appletLogin,
userInfo,
getSysText
} from "@/common/api.js"
export default {
name : 'Auth',
name: 'Auth',
data() {
return {
checked:[],
show:false,
sysList:[]
checked: [],
show: false,
sysList: []
}
},
mounted() {
this.onSysText()
},
filter:{
filter: {
},
methods: {
getValueByName(name) {
const item = this.sysList.find((item) => item.name == name);
return item ? item.value : "";
},
onSysText(){
onSysText() {
let that = this
let params={}
getSysText(params).then(response=>{
that.sysList=response.result
let params = {}
getSysText(params).then(response => {
that.sysList = response.result
uni.setStorageSync('sysList', response.result)
}).catch(error=>{
}).catch(error => {
})
},
checkboxChange(n) {
console.log('change', n);
},
onCancel(){
this.show=false;
this.checked=[];
onCancel() {
this.show = false;
this.checked = [];
},
onAgree(){
this.show=false;
this.checked=['1'];
onAgree() {
this.show = false;
this.checked = ['1'];
},
onLogin(event){
console.info(event)
onLogin(event) {
console.info('登陆', event)
let that = this
if(that.checked.length==0){
if (that.checked.length == 0) {
return uni.showToast({
icon: "none",
title: "请勾选隐私协议"
@ -112,42 +120,42 @@
uni.login({
success(res) {
console.info(res.code)
if(res.errMsg != "login:ok"){
if (res.errMsg != "login:ok") {
return
}
let params={
code : res.code,
let params = {
code: res.code,
encryptedData: event.detail.encryptedData,
headimgurl:event.detail.userInfo.avatarUrl,
iv:event.detail.iv,
nickName:event.detail.userInfo.nickName,
session_key:"",
shareId:uni.getStorageSync('userId'),
vid:""
headimgurl: event.detail.userInfo.avatarUrl,
iv: event.detail.iv,
nickName: event.detail.userInfo.nickName,
session_key: "",
shareId: uni.getStorageSync('userId'),
vid: ""
}
appletLogin(params).then((response) => {
console.info(`response`,response)
console.info(`response`, response)
uni.hideLoading()
uni.setStorageSync('token', response.result.token)
uni.setStorageSync('company', response.result.company)
uni.setStorageSync('boss', response.result.boss)
uni.setStorageSync('worker', response.result.worker)
uni.setStorageSync('userInfo', response.result.userInfo)
userInfo({}).then(response=>{
if(!response.result.headImage && !response.result.nickName){
userInfo({}).then(response => {
if (!response.result.headImage && !response.result.nickName) {
uni.navigateTo({
url:"/pages/login/index"
url: "/pages/login/index"
})
}else{
} else {
uni.navigateTo({
url:"/pages/identity/index"
url: "/pages/identity/index"
})
}
}).catch(err=>{
}).catch(err => {
})
}).catch((error) =>{
}).catch((error) => {
})
}
})
@ -160,10 +168,10 @@
complete: () => {}
})
}
}
}
</script>
<style scoped lang="scss">
</style>
</style>

+ 78
- 47
pages/home/component/enterprise.vue View File

@ -35,8 +35,9 @@
<screenWork :filterData='filterData' :defaultIndex='defaultIndex' @onSelected='onSelected' @onIntellect="onIntellect"></screenWork>
-->
<view class="se-mt-10">
<view class="se-m-20 se-br-20 se-bs-b se-bgc-white se-py-20 se-px-30" v-for="(items,indexs) in rolelist" :key="indexs">
<view class="se-flex se-flex-h-sb" @click.capture="onMasterDetail(items)">
<view class="se-m-20 se-br-20 se-bs-b se-bgc-white se-py-20 se-px-30" v-for="(items,indexs) in rolelist"
:key="indexs">
<view class="se-flex se-flex-h-sb" @click.capture="onMasterDetail(items)">
<view class="se-flex">
<view class="se-a-80">
<image class="se-a-80 se-br-p-50 se-bgc-f5" :src="items.headImage" mode=""></image>
@ -46,7 +47,7 @@
<text class="se-fs-24 se-c-text-third">{{items.gender==1?'男':'女'}}-汉族</text>
</view>
<view class="se-flex se-flex-h-c">
<view class="se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-ml-20 se-fw-6" >
<view class="se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-ml-20 se-fw-6">
{{items.industryName}}
</view>
</view>
@ -60,8 +61,9 @@
</view> -->
<view class="se-flex se-flex-h-sb">
<text class="se-c-text-sub se-fs-24">{{items.detail}}</text>
<view @click.capture="onCustomerService(items.phone)" class="se-flex se-flex-h-c se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-fw-6">
<u-icon color="#FF7A31" name="phone-fill"></u-icon>
<view @click.capture="onCustomerService(items.phone)"
class="se-flex se-flex-h-c se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-fw-6">
<u-icon color="#FF7A31" name="phone-fill"></u-icon>
<text class="se-ml-5">联系他</text>
</view>
</view>
@ -77,93 +79,122 @@
<script>
// import screenWork from "./screen-work.vue"
export default{
props:["rolelist"],
components:{
export default {
props: ["rolelist"],
components: {
// screenWork
},
data(){
data() {
return {
keyword:"",
name:"",
keyword: "",
name: "",
list: [
'https://cdn.uviewui.com/uview/swiper/swiper2.png'
],
filterData:[
[
{ text: '全国', value: '', select:true },
{ text: '状态1', value: 1, select:false },
{ text: '状态2', value: 2, select:false },
{ text: '状态3', value: 3, select:false }
filterData: [
[{
text: '全国',
value: '',
select: true
},
{
text: '状态1',
value: 1,
select: false
},
{
text: '状态2',
value: 2,
select: false
},
{
text: '状态3',
value: 3,
select: false
}
],
[
{ text: '选择工种', value: '', select:true },
{ text: '类型1', value: 1, select:false },
{ text: '类型2', value: 2, select:false },
{ text: '类型3', value: 3, select:false },
[{
text: '选择工种',
value: '',
select: true
},
{
text: '类型1',
value: 1,
select: false
},
{
text: '类型2',
value: 2,
select: false
},
{
text: '类型3',
value: 3,
select: false
},
]
],
defaultIndex:[0,0]
defaultIndex: [0, 0]
}
},
mounted() {
console.info(this)
},
methods:{
onCustomerService(phome){
methods: {
onCustomerService(phome) {
let that = this
// let obj = that.$utils.getkeyContent('phone')
if (uni.canIUse('makePhoneCall')) {
uni.makePhoneCall({
phoneNumber: String(phome),
success: function () {
console.log('拨打电话成功');
},
fail: function () {
console.log('拨打电话失败');
}
phoneNumber: String(phome),
success: function() {
console.log('拨打电话成功');
},
fail: function() {
console.log('拨打电话失败');
}
});
} else {
console.log('你的设备不支持拨打电话功能');
}
},
onSelected(res){
onSelected(res) {
console.info(res)
},
onIntellect(res){
console.info(res)
onIntellect(res) {
console.info(res)
},
change(event){
change(event) {
console.info(event)
},
click(event){
click(event) {
console.info(event)
},
toNavigator(){
toNavigator() {
uni.navigateTo({
url:"/pages_subpack/release/index?status=1"
url: "/pages_subpack/release/index?status=1"
})
},
onMasterDetail(event){
console.info("event",event)
onMasterDetail(item) {
uni.navigateTo({
url:"/pages_subpack/master-detail/index?id="+event.industryId
url: "/pages_subpack/master-detail/index?id=" + item.id
})
}
}
}
</script>
<style lang="scss" scoped>
.release-box{
.release-box {
width: 250rpx;
height: 80rpx;
background: #ff5d18;
border: 4rpx solid rgba(255,255,255,0.68);
border: 4rpx solid rgba(255, 255, 255, 0.68);
border-radius: 44rpx;
box-shadow: 0px 6rpx 12rpx 0px rgba(0,0,0,0.16);
box-shadow: 0px 6rpx 12rpx 0px rgba(0, 0, 0, 0.16);
display: flex;
justify-content: center;
align-items: center;


+ 129
- 108
pages/home/index.vue View File

@ -1,6 +1,7 @@
<template>
<view>
<view class="se-bgc-orange se-pos se-pos-lt se-w-vw-100 se-h-vh-30" style="z-index: -1;border-bottom-left-radius: 120rpx;border-bottom-right-radius: 120rpx;"></view>
<view class="se-bgc-orange se-pos se-pos-lt se-w-vw-100 se-h-vh-30"
style="z-index: -1;border-bottom-left-radius: 120rpx;border-bottom-right-radius: 120rpx;"></view>
<view class="se-flex se-flex-h-sb se-px-40 se-pb-30 se-pt-10 se-bgc-orange se-zi-s">
<view class="se-c-white se-fs-28" @click="getLocation()">
<view class="se-bgc-white se-py-5 se-px-10 se-fw-6 se-br-12 se-c-orange se-fs-24 se-display-ib">
@ -17,45 +18,48 @@
</view>
<view class="se-pb-20 se-pt-40 se-zi-s">
<view class="se-px-20">
<u-swiper height="300rpx" :indicator="true" style="background-color: #f5f5f5;height: 300rpx;" :list="swiperList" keyName="image" @change="change" @click="click"></u-swiper>
</view>
<view class="se-pt-10 se-bgc-white se-px-0 se-py-10 se-ta-l se-c-orange se-flex se-flex-ai-c se-fs-26">
<image class="se-a-80" src="@/static/image/aed60x.png" mode=""></image>
<text class="se-ml-10">今日有6个工作息新发布....</text>
<u-swiper height="300rpx" :indicator="true" style="background-color: #f5f5f5;height: 300rpx;"
:list="swiperList" keyName="image" @change="change" @click="click"></u-swiper>
</view>
<swiper :autoplay="true" :interval="3000" :duration="1000" circular class="notice" vertical>
<swiper-item v-for="item in noticeData" :key="item.id">
<view
class="se-pt-10 se-bgc-white se-px-0 se-py-10 se-ta-l se-c-orange se-flex se-flex-ai-c se-fs-26">
<image class="se-a-80" src="@/static/image/aed60x.png" mode=""></image>
<text class="se-ml-10">{{item.title}}</text>
</view>
</swiper-item>
</swiper>
</view>
<view class="se-my-20 se-bgc-white se-grid">
<navigator :url="`/pages_subpack/category/index`+item.id" v-for="(item, index) in tabList" :key="index" class="se-flex-v-c se-pt-30 se-mb-20">
<navigator :url="`/pages_subpack/category/index`+item.id" v-for="(item, index) in tabList" :key="index"
class="se-flex-v-c se-pt-30 se-mb-20">
<image class="se-a-100 se-br-20 se-bgc-f5" :src="item.icon" mode=""></image>
<text class="se-w-150 se-h-60 se-lh-30 se-c-black se-fs-22 se-ta-c se-mt-10 se-toe-2">{{item.name}}</text>
<text
class="se-w-150 se-h-60 se-lh-30 se-c-black se-fs-22 se-ta-c se-mt-10 se-toe-2">{{item.name}}</text>
</navigator>
</view>
<view class="se-my-20 se-bgc-white se-p-20 se-flex">
<view @click="toNavigator(1)" class="se-flex-1 se-flex-h-c se-flex-ai-c se-c-white se-py-20 se-fw-6 enterprise">
<view @click="toNavigator(1)"
class="se-flex-1 se-flex-h-c se-flex-ai-c se-c-white se-py-20 se-fw-6 enterprise">
<!-- 找工作 -->
招聘
</view>
<view @click="toNavigator(2)" class="se-flex-1 se-ml-20 se-flex-h-c se-flex-ai-c se-c-white se-py-20 se-fw-6 master">
<view @click="toNavigator(2)"
class="se-flex-1 se-ml-20 se-flex-h-c se-flex-ai-c se-c-white se-py-20 se-fw-6 master">
<!-- 找师傅 -->
求职
</view>
</view>
<u-tabs
:current="current"
lineWidth="30"
lineColor="#FF7A31"
:activeStyle="{
<u-tabs :current="current" lineWidth="30" lineColor="#FF7A31" :activeStyle="{
color: '#303133',
fontWeight: 'bold',
transform: 'scale(1.05)'
}"
:inactiveStyle="{
}" :inactiveStyle="{
color: '#606266',
transform: 'scale(1)'
}"
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
:list="navList"
@click="navClick($event)">
}" itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;" :list="navList" @click="navClick($event)">
</u-tabs>
<!-- 企业端 求职大厅 -->
<enterpriseBox :rolelist="rlist" v-if="current==0" />
@ -71,42 +75,43 @@
taskList,
rolelist,
industryList,
getSysText
getSysText,
noticeList
} from "@/common/api.js"
import enterpriseBox from "./component/enterprise.vue"
import masterBox from "./component/master.vue"
import QQMapWX from "@/util/qqmap-wx-jssdk.min.js"
export default{
components:{
export default {
components: {
enterpriseBox,
masterBox
},
data(){
data() {
return {
status:1,
status: 1,
list: [
"https://cdn.uviewui.com/uview/swiper/swiper1.png"
],
tabList:[],//
swiperList:[],//
current:0,
navList:[
{
tabList: [], //
swiperList: [], //
current: 0,
navList: [{
name: '求职大厅',
},
},
{
name: '招聘大厅',
}
],
rpageNo:1,
rpageSize:20,
rlist:[],
latitude:'34.00',
longitude:'134.65',
tpageNo:1,
tpageSize:20,
tList:[]
rpageNo: 1,
rpageSize: 20,
rlist: [],
latitude: '34.00',
longitude: '134.65',
tpageNo: 1,
tpageSize: 20,
tList: [],
noticeData: [], //
}
},
mounted() {
@ -116,10 +121,11 @@
this.onIndustryList()
this.getLocation()
this.onSysText()
this.getNotice()
},
onPullDownRefresh() {
let that = this
that.rpageNo = 1
that.rpageNo = 1
that.rlist = []
that.onRolelist()
},
@ -128,123 +134,138 @@
that.rpageNo = that.rpageNo + 1
that.onRolelist()
},
methods:{
onSysText(){
methods: {
//
async getNotice() {
const {
code,
result
} = await noticeList()
if (code === 200) {
this.noticeData = result || []
}
},
onSysText() {
let that = this
let params={}
getSysText(params).then(response=>{
localStorage.setItem("sysList",response.result)
}).catch(error=>{
let params = {}
getSysText(params).then(response => {
localStorage.setItem("sysList", response.result)
}).catch(error => {
})
},
getLocation(){
getLocation() {
const that = this;
console.log('当前位置的经度:');
wx.getLocation({
type: 'wgs84',
success: function (res) {
console.log('位置',res);
type: 'wgs84',
success: function(res) {
console.log('位置', res);
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
const qqmapsdk = new QQMapWX({
key: 'TT7BZ-Z3LW4-KOAUB-KWHOA-SBJJ6-Y5B6R' //
key: 'TT7BZ-Z3LW4-KOAUB-KWHOA-SBJJ6-Y5B6R' //
});
qqmapsdk.reverseGeocoder({
location: {
latitude: res.latitude,
longitude: res.longitude
},
success: function(response) {
location: {
latitude: res.latitude,
longitude: res.longitude
},
success: function(response) {
// that.city = response.result.ad_info.city
console.log('逆地理编码结果:', response);
},
fail: function(error) {
console.error('逆地理编码失败:', error);
}
console.log('逆地理编码结果:', response);
},
fail: function(error) {
console.error('逆地理编码失败:', error);
}
});
}
})
},
onIndustryList(){
industryList({}).then(response=>{
console.info("industryList",response);
onIndustryList() {
industryList({}).then(response => {
console.info("industryList", response);
this.tabList = response.result
}).catch(error=>{
}).catch(error => {
})
},
onBannerList(){
bannerList({}).then(response=>{
console.info("banner",response)
onBannerList() {
bannerList({}).then(response => {
console.info("banner", response)
this.swiperList = response.result[0]
}).catch(error=>{
}).catch(error => {
})
},
onTaskList(){
onTaskList() {
taskList({
latitude:this.latitude,
longitude:this.longitude,
pageNo:this.tpageNo,
pageSize:this.tpageSize
}).then(response=>{
if(this.tpageNo==1){
latitude: this.latitude,
longitude: this.longitude,
pageNo: this.tpageNo,
pageSize: this.tpageSize
}).then(response => {
if (this.tpageNo == 1) {
this.tList = response.result.records
}else{
} else {
this.tList = this.tList.concat(response.result.records)
}
console.info("taskList",response)
}).catch(error=>{
console.info("taskList", response)
}).catch(error => {
})
},
onRolelist(){
onRolelist() {
rolelist({
pageNo:this.rpageNo,
pageSize:this.rpageSize
}).then(response=>{
console.info("response",response)
if(this.rpageNo==1){
pageNo: this.rpageNo,
pageSize: this.rpageSize
}).then(response => {
if (this.rpageNo == 1) {
this.rlist = response.result.records
}else{
} else {
this.rlist = this.rlist.concat(response.result.records)
}
}).catch(error=>{
}).catch(error => {
})
},
navClick(event){
this.current=event.index
navClick(event) {
this.current = event.index
},
change(event){
change(event) {
console.info(event)
},
click(event){
click(event) {
console.info(event)
},
toNavigator(event){
toNavigator(event) {
uni.navigateTo({
url:"/pages_subpack/release/index?status="+event
url: "/pages_subpack/release/index?status=" + event
})
},
}
}
</script>
<style>
page{
<style scoped>
page {
background-color: #f5f5f5;
}
.enterprise{
.enterprise {
background: #ff7a31;
border: 4rpx solid rgba(255,255,255,0.50);
border: 4rpx solid rgba(255, 255, 255, 0.50);
border-radius: 14rpx;
}
.master{
.master {
background: #f0b744;
border: 4rpx solid rgba(255,255,255,0.50);
border: 4rpx solid rgba(255, 255, 255, 0.50);
border-radius: 14rpx;
}
.notice {
height: 108rpx;
}
</style>

+ 52
- 55
pages/login/index.vue View File

@ -13,27 +13,20 @@
<view class="se-b-t se-b-b se-flex se-h-140 se-lh-140 se-flex-h-sb">
<text>头像</text>
<button class="se-w-100 se-h-100 se-p-0 se-m-0" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
<image v-if="imagUrl" class="se-w-100 se-h-100" :src="imagUrl"></image>
<image v-if="imagUrl" class="se-w-100 se-h-100" :src="imagUrl"></image>
<image v-else class="se-w-100 se-h-100" src="@/static/image/header.png" mode=""></image>
</button>
</view>
<view class=" se-b-b se-flex se-h-140 se-lh-140 se-flex-h-sb">
<text>昵称</text>
<input type="nickname" placeholder="请输入昵称" v-model="nameUser"
@blur="bindblur" class="se-h-80 se-lh-80 se-w-320 se-fs-24 se-ta-r" placeholder-class="se-fs-24 se-ta-r" />
<input type="nickname" placeholder="请输入昵称" v-model="nameUser" @blur="bindblur"
class="se-h-80 se-lh-80 se-w-320 se-fs-24 se-ta-r" placeholder-class="se-fs-24 se-ta-r" />
</view>
<!-- <view class=" se-b-b se-flex se-h-140 se-lh-140 se-flex-h-sb">
<text>手机号</text>
<button v-if="phone" class="default-btn se-h-100 se-p-0 se-m-0" open-type="getPhoneNumber" @getphonenumber="onPhonenumber">{{phone}}</button>
<button v-else class="se-w-140 se-h-60 se-lh-60 se-fs-20 se-bgc-green se-c-white se-py-0 se-br-30 se-px-20 se-m-0" open-type="getPhoneNumber" @getphonenumber="onPhonenumber">
获取手机号
</button>
</view> -->
</view>
<view class="se-mx-40">
<view @click="onUpdateInfo" class="se-br-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
<view @click="onUpdateInfo"
class="se-br-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
确认
</view>
</view>
@ -41,19 +34,21 @@
</template>
<script>
import { appletLogin } from "@/common/api.js"
import {
appletLogin
} from "@/common/api.js"
export default {
name : 'Login',
name: 'Login',
data() {
return {
nameUser:"",
imagUrl:"",
phone:"",
back:0
nameUser: "",
imagUrl: "",
phone: "",
back: 0
}
},
onLoad(options) {
if(options.back==1){
if (options.back == 1) {
this.imagUrl = uni.getStorageSync('userInfo').headImage
this.nameUser = uni.getStorageSync('userInfo').nickName
this.phone = uni.getStorageSync('userInfo').phone
@ -65,31 +60,32 @@
this.nameUser = event.target.value
},
onChooseAvatar(res) {
let self = this
self.$Oss.ossUpload(res.target.avatarUrl).then(url => {
self.imagUrl = url
})
console.log("获取头像消息", res)
// let self = this
// self.$Oss.ossUpload(res.target.avatarUrl).then(url => {
// self.imagUrl = url
// })
},
onPhonenumber(event){
onPhonenumber(event) {
let that = this
var detail = event.detail;
if(detail.errMsg=='getPhoneNumber:ok'){
let params={
code : detail.code,
if (detail.errMsg == 'getPhoneNumber:ok') {
let params = {
code: detail.code,
encryptedData: detail.encryptedData,
iv:detail.iv,
iv: detail.iv,
sessionKey: uni.getStorageSync('sessionKey'),
openid:uni.getStorageSync('userInfo').appletOpenid
openid: uni.getStorageSync('userInfo').appletOpenid
}
bindPhone(params).then((response) => {
console.info(response)
that.phone = response.result
}).catch(error=>{
}).catch(error => {
})
}
},
onUpdateInfo(){
onUpdateInfo() {
let that = this
uni.showLoading({
title: '保存中...'
@ -97,53 +93,54 @@
uni.login({
success(res) {
console.info(res.code)
if(res.errMsg != "login:ok"){
if (res.errMsg != "login:ok") {
return
}
let params={
code : res.code,
headimgurl:that.imagUrl,
nickName:that.nameUser,
openid:uni.getStorageSync('userInfo').appletOpenid
let params = {
code: res.code,
headimgurl: that.imagUrl,
nickName: that.nameUser,
openid: uni.getStorageSync('userInfo').appletOpenid
// phone:that.phone
}
// &&that.phone
if(that.imagUrl&&that.nameUser){
if (that.imagUrl && that.nameUser) {
appletLogin(params).then((response) => {
if(this.back==1){
if (this.back == 1) {
uni.navigateBack({
delta:1
delta: 1
})
}else{
} else {
uni.navigateTo({
url:"/pages/identity/index"
url: "/pages/identity/index"
})
}
}).catch((error) =>{
}).catch((error) => {
})
}else{
} else {
return uni.showToast({
icon:"none",
title:"头像和昵称不能为空!"
icon: "none",
title: "头像和昵称不能为空!"
})
}
}
})
}
}
}
</script>
<style scoped lang="scss">
.default-btn{
.default-btn {
background-color: #fff;
}
.default-btn::after{
.default-btn::after {
content: "";
border: none;
}
</style>
</style>

+ 117
- 68
pages/order/component/enterprise.vue View File

@ -1,49 +1,47 @@
<template>
<view>
<u-sticky bgColor="#ff7a31">
<u-tabs :list="nav"
:current="current"
lineColor="#ffffff"
:activeStyle="{
<u-tabs :list="nav" :current="current" lineColor="#ffffff" :activeStyle="{
color: '#ffffff',
transform: 'scale(1.05)'
}"
:inactiveStyle="{
}" :inactiveStyle="{
color: '#f5f5f5',
transform: 'scale(1)'
}"
:scrollable="true"
itemStyle="padding-left: 60rpx; padding-right: 60rpx;font-size:22rpx; height: 100rpx;"
@click="tabClick"></u-tabs>
}" :scrollable="true" itemStyle="padding-left: 60rpx; padding-right: 60rpx;font-size:22rpx; height: 100rpx;"
@change="handleChangeTab"></u-tabs>
</u-sticky>
<view class="se-p-40">
<view class="se-px-40 se-mb-30 se-py-30 se-bgc-white se-br-40 se-bs-b" v-for="(items,indexs) in 20" :key="indexs">
<view class="se-px-40 se-mb-30 se-py-30 se-bgc-white se-br-40 se-bs-b" v-for="item in list" :key="item.id">
<view class="se-flex se-flex-h-sb se-fw-6 se-fs-32 se-pb-20">
<view class="se-flex">
<text>工装石膏板搬运</text>
<text>{{item.title}}</text>
<u-icon name="arrow-right"></u-icon>
</view>
<view class="se-c-red">
已完成
{{getOrderStatus(item.orderStatus)}}
</view>
</view>
<view class="se-flex">
<view class="se-w-160 se-h-160">
<image class="se-w-160 se-h-160 se-br-10" src="https://cdn.uviewui.com/uview/album/1.jpg" mode=""></image>
<image class="se-w-160 se-h-160 se-br-10" src="https://cdn.uviewui.com/uview/album/1.jpg"
mode=""></image>
</view>
<view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs">
<view class="se-fw-6 se-c-black se-fs-30 se-display-ib">泰山工装石膏板搬运</view>
<view class="se-fs-24 se-c-text-third se-display-ib">所属行业:水泥搬运</view>
<view class="se-fs-24 se-c-text-third se-display-ib">所属工种:中午搬运</view>
<view class="se-fw-6 se-c-black se-fs-30 se-display-ib">{{item.companyName}}</view>
<view class="se-fs-24 se-c-text-third se-display-ib">所属行业:{{item.industryName}}</view>
<view class="se-fs-24 se-c-text-third se-display-ib">所属工种:{{item.industryName}}</view>
</view>
</view>
<view class="se-flex se-flex-h-sb se-w-p-100 se-pt-20">
<view class="se-fs-24 se-display-ib">
<text class="se-c-black">总价格</text>
<text class="se-c-orange se-fs-30 se-fw-6"><text class="se-fs-24"></text>6000</text>
<text class="se-c-orange se-fs-30 se-fw-6"><text
class="se-fs-24"></text>{{item.payMoney}}</text>
</view>
<view class="se-display-ib se-px-20 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-fs-24 se-c-66 se-b">
<view
class="po-r se-display-ib se-px-20 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-fs-24 se-c-66 se-b">
<text>联系客服</text>
<button open-type="contact" class="contact"></button>
</view>
</view>
</view>
@ -55,91 +53,142 @@
import {
bossOrderList
} from "@/common/api.js"
export default{
components:{
export default {
components: {
},
data(){
return{
current:0,
nav: [
{
data() {
return {
current: 0,
nav: [{
name: '全部',
index: null
},
{
name: '待聘用',
index: 0
},
},
{
name: '已接单',
index: 1
},
},
{
name: '进行中',
index: 2
},
},
{
name: '试工完成',
index: 3
},
{
name: '企业确认',
index: 4
},
},
{
name: '已支付',
index: 5
},
},
{
name: '已完成',
index: 6
},
},
{
name: '已取消',
index: 7
},
},
{
name: '发起支付',
index: 8
}
],
list:[],
orderStatus:null,
pageNo:1,
pageSize:20,
list: [],
orderStatus: "",
pageNo: 1,
pageSize: 20,
}
},
computed: {
getOrderStatus() {
return function(status) {
let text = ''
switch (status) {
case 0:
text = "待聘用"
break;
case 1:
text = "已接单"
break;
case 2:
text = "进行中"
break;
case 3:
text = "试工完成"
break;
case 4:
text = "企业确认"
break;
case 5:
text = "已支付"
break;
case 6:
text = "已完成"
break;
case 7:
text = "已取消"
break;
case 8:
text = "发起支付"
break;
}
return text;
}
}
},
mounted() {
this.onOrder();
},
methods:{
onOrder(){
methods: {
onOrder(selectNew) {
let that = this;
let params={
orderStatus:that.orderStatus,
pageNo:that.pageNo,
pageSize:that.pageSize
let params = {
orderStatus: that.orderStatus,
pageNo: that.pageNo,
pageSize: that.pageSize
}
bossOrderList(params).then(response=>{
if(this.pageNo==1){
this.list = response.result.records
}else{
this.list = this.list.concat(response.result.records)
bossOrderList(params).then(response => {
const {
code,
result
} = response
if (code === 200) {
if (selectNew) {
this.list = response.result.records
} else {
this.list = [...this.list, ...response.result.records]
}
}
}).catch(error=>{
}).catch(error => {
})
},
tabClick(event){
console.info(event)
this.current = event.index
this.orderStatus = this.nav[event.index].index
this.onOrder()
}
handleChangeTab(item) {
const {
index
} = item
this.current = index
this.orderStatus = index === 0 ? "" : index - 1
this.pageNo = 1
this.onOrder(true)
},
},
onReachBottom() {
console.log("触底加载")
}
}
</script>
<style>
<style scoped lang="scss">
.po-r {
position: relative;
}
.contact {
width: 160rpx;
height: 60rpx;
position: absolute;
left: 0;
top: 0;
opacity: 0;
}
</style>

+ 100
- 67
pages/order/component/master.vue View File

@ -1,48 +1,44 @@
<template>
<view>
<u-sticky bgColor="#ff7a31">
<u-tabs :list="nav"
:current="current"
lineColor="#ffffff"
:activeStyle="{
<u-tabs :list="nav" :current="current" lineColor="#ffffff" :activeStyle="{
color: '#ffffff',
transform: 'scale(1.05)'
}"
:inactiveStyle="{
}" :inactiveStyle="{
color: '#f5f5f5',
transform: 'scale(1)'
}"
:scrollable="true"
itemStyle="padding-left: 60rpx; padding-right: 60rpx;font-size:22rpx; height: 100rpx;"
@click="tabClick"></u-tabs>
}" :scrollable="true" itemStyle="padding-left: 60rpx; padding-right: 60rpx;font-size:22rpx; height: 100rpx;"
@change="handleChangeTab"></u-tabs>
</u-sticky>
<view class="se-p-40">
<view class="se-px-40 se-mb-30 se-py-30 se-bgc-white se-br-40 se-bs-b" v-for="(items,indexs) in 20" :key="indexs">
<view class="se-px-40 se-mb-30 se-py-30 se-bgc-white se-br-40 se-bs-b" v-for="item in list" :key="item.id">
<view class="se-flex se-flex-h-sb se-fw-6 se-fs-32 se-pb-20">
<view class="se-flex">
<text>工装石膏板搬运</text>
<text>{{item.companyName}}</text>
<u-icon name="arrow-right"></u-icon>
</view>
<view class="se-c-red">
已完成
{{getOrderStatus(item.orderStatus)}}
</view>
</view>
<view class="se-flex se-bgc-f5 se-br-20">
<view class="se-w-160 se-h-160">
<image class="se-w-160 se-h-160 se-br-10" src="https://cdn.uviewui.com/uview/album/1.jpg" mode=""></image>
<image class="se-w-160 se-h-160 se-br-10" src="https://cdn.uviewui.com/uview/album/1.jpg"
mode=""></image>
</view>
<view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs">
<view class="se-fs-24 se-c-text-third se-display-ib">师傅姓名: **</view>
<view class="se-fs-24 se-c-text-third se-display-ib">接单时间: 2024-03-25 15:39</view>
<view class="se-fs-24 se-c-text-third se-display-ib">联系电话: 13189698115</view>
<view class="se-fs-24 se-c-text-third se-display-ib">师傅姓名: {{item.workName}}</view>
<view class="se-fs-24 se-c-text-third se-display-ib">接单时间: {{item.createTime}}</view>
<view class="se-fs-24 se-c-text-third se-display-ib">联系电话: {{item.phone}}</view>
</view>
</view>
<view class="se-flex se-flex-h-sb se-w-p-100 se-pt-20">
<view class="se-fs-24 se-display-ib">
<text class="se-c-black">总价格</text>
<text class="se-c-orange se-fs-30 se-fw-6"><text class="se-fs-24"></text>6000</text>
<text class="se-c-orange se-fs-30 se-fw-6"><text class="se-fs-24"></text>{{item.amount}}</text>
</view>
<view class="se-display-ib se-px-20 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-fs-24 se-c-66 se-b">
<view
class="se-display-ib se-px-20 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-fs-24 se-c-66 se-b">
<text>联系客服</text>
</view>
</view>
@ -55,87 +51,124 @@
import {
workOrderList
} from "@/common/api.js"
export default{
components:{
export default {
components: {
},
data(){
return{
current:0,
nav: [
{
data() {
return {
current: 0,
nav: [{
name: '全部',
index: null
},
{
name: '待接单',
index: 0
},
},
{
name: '已接单',
index: 1
},
},
{
name: '进行中',
index: 2
},
},
{
name: '试工完成',
index: 3
},
{
name: '企业确认',
index: 4
},
},
{
name: '已支付',
index: 5
},
},
{
name: '已完成',
index: 6
},
},
{
name: '已取消',
index: 7
},
},
{
name: '发起支付',
index: 8
}
],
list:[],
orderStatus:null,
pageNo:1,
pageSize:20,
list: [],
orderStatus: null,
pageNo: 1,
pageSize: 20,
}
},
computed: {
getOrderStatus() {
return function(status) {
let text = ''
switch (status) {
case 0:
text = "待聘用"
break;
case 1:
text = "已接单"
break;
case 2:
text = "进行中"
break;
case 3:
text = "试工完成"
break;
case 4:
text = "企业确认"
break;
case 5:
text = "已支付"
break;
case 6:
text = "已完成"
break;
case 7:
text = "已取消"
break;
case 8:
text = "发起支付"
break;
}
return text;
}
}
},
created() {
//
},
mounted() {
this.onOrder()
},
methods:{
onOrder(){
let that = this;
let params={
orderStatus:that.orderStatus,
pageNo:that.pageNo,
pageSize:that.pageSize
methods: {
onOrder(selectNew) {
let params = {
orderStatus: this.orderStatus,
pageNo: this.pageNo,
pageSize: this.pageSize
}
workOrderList(params).then(response=>{
if(this.pageNo==1){
this.list = response.result.records
}else{
this.list = this.list.concat(response.result.records)
workOrderList(params).then(response => {
const {
code,
result
} = response
if (code === 200) {
if (selectNew) {
this.list = result.records
} else {
this.list = [...this.list, ...result.records]
}
}
}).catch(error=>{
}).catch(error => {
})
},
tabClick(event){
console.info(event)
this.current = event.index
this.orderStatus = this.nav[event.index].index
this.onOrder()
handleChangeTab({
index
}) {
this.pageNo = 1
this.current = index
this.orderStatus = index === 0 ? "" : index - 1
this.onOrder(true)
}
}
}


+ 55
- 47
pages/user/index.vue View File

@ -6,7 +6,7 @@
<view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs">
<view class="se-flex">
<text class="se-fw-6 se-fs-30">{{nickName}}</text>
<view class="se-flex se-flex-ai-c se-ml-20">
<view class="se-flex se-flex-ai-c se-ml-20" @click="editInfo">
<image class="se-a-25 se-mr-10" src="@/static/image/pencil.png" mode=""></image>
<text class="se-fs-22">修改资料</text>
</view>
@ -22,7 +22,8 @@
<view class="se-flex se-flex-h-fs se-b-r se-flex-1">
<view class="se-pos se-w-130">
<image src="@/static/image/wall.png" class="se-w-120 se-h-120" mode=""></image>
<view @click="onNavigateTo()" class="se-w-80 se-ta-c se-b-orange se-br-30 se-bgc-orange se-py-5 se-px-22 se-c-white se-fs-20 se-pos-cb">
<view @click="onNavigateTo()"
class="se-w-80 se-ta-c se-b-orange se-br-30 se-bgc-orange se-py-5 se-px-22 se-c-white se-fs-20 se-pos-cb">
钱包
</view>
</view>
@ -51,7 +52,8 @@
</view>
</view>
<view class="se-px-40 se-py-30 se-mt-80">
<u-swiper height="200rpx" style="background-color: #f5f5f5;height: 200rpx;" :indicator="true" :list="swiperList" keyName="image" @change="change" @click="click"></u-swiper>
<u-swiper height="200rpx" style="background-color: #f5f5f5;height: 200rpx;" :indicator="true"
:list="swiperList" keyName="image" @change="change" @click="click"></u-swiper>
<!-- <u-swiper :height="100" :list="list" @click="swiperClick"></u-swiper> -->
<!-- <image class="se-h-200 se-w-p-100" src="@/static/image/59.png" mode=""></image> -->
</view>
@ -75,7 +77,7 @@
</view>
<text class="se-h-60 se-lh-60 se-c-33 se-fs-26 se-ta-c se-mt-10 se-toe-2">系统设置</text>
</view>
<view class="se-flex-v-c se-mb-20 se-mt-20 se-cursor-p" @click="onFeedback()">
<view class="se-flex-v-c se-mb-20 se-mt-20 se-cursor-p" @click="onFeedback()">
<view class="se-w-80 se-h-80 se-flex se-flex-v-c">
<image class="se-a-50" src="@/static/image/setting.png" mode=""></image>
</view>
@ -100,87 +102,93 @@
export default {
data() {
return {
swiperList:[],
swiperList: [],
list: [
'@/static/image/59.png'
],
id:"",
headImage:"",
myMoney:0,
nickName:"",
phone:"",
worker:{},
boss:{},
company:{},
id: "",
headImage: "",
myMoney: 0,
nickName: "",
phone: "",
worker: {},
boss: {},
company: {},
}
},
mounted() {
},
onShow() {
this.onUserInfo()
this.onBannerList()
},
methods: {
onBannerList(){
bannerList({}).then(response=>{
console.info("banner",response)
//
editInfo() {
uni.navigateTo({
url: "/pages/login/index"
})
},
onBannerList() {
bannerList({}).then(response => {
console.info("banner", response)
this.swiperList = response.result[1]
}).catch(error=>{
}).catch(error => {
})
},
onUserInfo(){
let params={}
userInfo(params).then(response=>{
console.info("userInfo",response)
this.id=response.result.id
this.headImage=response.result.headImage
this.myMoney=response.result.myMoney?response.result.myMoney:0
this.nickName=response.result.nickName?response.result.nickName:"微信昵称"
this.phone=response.result.phone?response.result.phone:""
this.worker=response.result.worker?response.result.worker:""
this.boss=response.result.boss?response.result.boss:""
this.company=response.result.company?response.result.company:""
}).catch(error=>{
onUserInfo() {
let params = {}
userInfo(params).then(response => {
console.info("userInfo", response)
this.id = response.result.id
this.headImage = response.result.headImage
this.myMoney = response.result.myMoney ? response.result.myMoney : 0
this.nickName = response.result.nickName ? response.result.nickName : "微信昵称"
this.phone = response.result.phone ? response.result.phone : ""
this.worker = response.result.worker ? response.result.worker : ""
this.boss = response.result.boss ? response.result.boss : ""
this.company = response.result.company ? response.result.company : ""
}).catch(error => {
})
},
swiperClick(event) {
console.info(event);
},
onNavigateTo(){
onNavigateTo() {
uni.navigateTo({
url:"/pages_subpack/wallet/index"
url: "/pages_subpack/wallet/index"
})
},
onRecord(){
onRecord() {
uni.navigateTo({
url:"/pages_subpack/record/index"
url: "/pages_subpack/record/index"
})
},
onSystem(){
onSystem() {
uni.navigateTo({
url:"/pages_subpack/system/index"
url: "/pages_subpack/system/index"
})
},
onFeedback(){
onFeedback() {
uni.navigateTo({
url:"/pages_subpack/feedback/index"
url: "/pages_subpack/feedback/index"
})
},
onVersion(){
onVersion() {
uni.navigateTo({
url:"/pages_subpack/version/index"
url: "/pages_subpack/version/index"
})
},
onCustomerService(){
onCustomerService() {
uni.showModal({
title: '联系客服',
content: '确定拨打客服电话?',
success: function (res) {
success: function(res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {


+ 15
- 14
pages_subpack/master-detail/index.vue View File

@ -4,7 +4,7 @@
<view class="se-flex">
<view>
<image class="se-a-120 se-br-p-50" src="https://cdn.uviewui.com/uview/album/1.jpg" mode=""></image>
<view class="se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-mt-10 se-fw-6" >
<view class="se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-mt-10 se-fw-6">
装配电工
</view>
</view>
@ -78,10 +78,10 @@
import {
getTaskById
} from "@/common/api.js"
export default{
data(){
return{
detail:`<p>
export default {
data() {
return {
detail: `<p>
1全日制大专以上学历艺术设计类相关专业;<br/>
2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;<br/>
3具备一定的设计提案能力能完整的呈现设计思路与创意能清晰的表达设计逻辑与思考;<br/>
@ -91,24 +91,25 @@
}
},
onLoad(options) {
console.info(options)
this.id = options.id
this.onTask()
},
methods:{
onTask(){
methods: {
onTask() {
let that = this
getTaskById({id:that.id}).then(response=>{
console.info('getTaskById',response);
getTaskById({
id: that.id
}).then(response => {
console.info('getTaskById', response);
that.items = response.result
}).catch(error=>{
}).catch(error => {
})
},
onEmploy(){
onEmploy() {
console.info(`立即聘用`)
uni.navigateTo({
url:"/pages_subpack/employ-progress/index"
url: "/pages_subpack/employ-progress/index"
})
}
}


+ 178
- 203
pages_subpack/release/component/enterprise.vue View File

@ -44,7 +44,7 @@
<u--input v-model="form.dayMoney" placeholder="期望日薪"></u--input>
</u-form-item>
<u-form-item label="结算方式" prop="settlement">
<u-radio-group v-model="form.settlement" placement="row">
<u-radio-group v-model="form.settlement" placement="row">
<u-radio activeColor="#FF7A31" name="0" label="提前支付"></u-radio>
<u-radio activeColor="#FF7A31" class="se-ml-20" name="1" label="试用以后支付"></u-radio>
</u-radio-group>
@ -56,11 +56,10 @@
<u--input v-model="form.dateMax" disabled placeholder="结束时间"></u--input>
</u-form-item>
<u-form-item label="联系电话" prop="mobile">
<u--input v-model="form.mobile" placeholder="请输入联系方式"></u--input>
<u--input v-model="form.mobile" placeholder="请输入联系方式"></u--input>
</u-form-item>
<u-form-item label="工作内容" prop="introduce">
<u--textarea v-model="form.introduce" count
placeholder="请选择工作内容"></u--textarea>
<u--textarea v-model="form.introduce" count placeholder="请选择工作内容"></u--textarea>
</u-form-item>
</view>
</view>
@ -92,7 +91,8 @@
</view>
</u--form>
<!-- 性别 -->
<u-action-sheet :show="showIndustry" :actions="indList" title="请选择行业" @close="showIndustry = false" @select="industrySelect">
<u-action-sheet :show="showIndustry" :actions="indList" title="请选择行业" @close="showIndustry = false"
@select="industrySelect">
</u-action-sheet>
<!-- 种类 -->
<u-action-sheet :show="showType" :actions="typeList" title="请选择种类" @close="showType = false"
@ -101,44 +101,33 @@
<!-- 地址 -->
<citySelect v-model="showPicker" @city-change="handleCityChange"></citySelect>
<!-- 时间 Min-->
<u-datetime-picker
:show="showMinDate"
:value="form.dateMin"
mode="datetime"
closeOnClickOverlay
@confirm="dateMinConfirm"
@cancel="dateMinClose"
@close="dateMinClose"
></u-datetime-picker>
<u-datetime-picker
:show="showMaxDate"
:value="form.dateMax"
mode="datetime"
closeOnClickOverlay
@confirm="dateMaxConfirm"
@cancel="dateMaxClose"
@close="dateMaxClose"
></u-datetime-picker>
<u-datetime-picker :show="showMinDate" :value="form.dateMin" mode="datetime" closeOnClickOverlay
@confirm="dateMinConfirm" @cancel="dateMinClose" @close="dateMinClose"></u-datetime-picker>
<u-datetime-picker :show="showMaxDate" :value="form.dateMax" mode="datetime" closeOnClickOverlay
@confirm="dateMaxConfirm" @cancel="dateMaxClose" @close="dateMaxClose"></u-datetime-picker>
</view>
</template>
<script>
import { addTask,industryList,industryById } from "@/common/api.js"
import {
addTask,
industryList,
industryById
} from "@/common/api.js"
import citySelect from '@/components/cityselect/index.vue'
export default {
components:{
components: {
citySelect
},
data() {
return {
showMinDate:false,
showMaxDate:false,
showMinDate: false,
showMaxDate: false,
showPicker: false,
showIndustry: false,
indList:[],
industryList: [
{
indList: [],
industryList: [{
name: '打铁',
},
{
@ -148,103 +137,86 @@
showType: false,
typeList: [],
form: {
title:"宜佳营业员",
area:'河北省-秦皇岛市-抚宁区',
address:'',
industryId:"1865294357074157570",
industryName:"建筑",
settlement:'0',
date:"",
dateMin:"2016-02-01 09:00:00",
dateMax:"2016-12-05 18:00:00",
title: "宜佳营业员",
area: '河北省-秦皇岛市-抚宁区',
address: '',
industryId: "1865294357074157570",
industryName: "建筑",
settlement: '0',
date: "",
dateMin: "2016-02-01 09:00:00",
dateMax: "2016-12-05 18:00:00",
mobile: '13189698114',
typeId: '',
typeName:"",
salary:'',
dayMoney:"300",
typeName: "",
salary: '',
dayMoney: "300",
salaryMin: '6000',
salaryMax: '8000',
introduce: '宜佳营业员,每天工作8个小时,上班轻松!',
fileList: [
{
url: "https://tennis-oss.xzaiyp.top/2024-12-31/4b65131c-41f8-4714-a31e-491d08dfb8c4.jpg"
}
],
latitude:'12.34',
longitude:"146.74"
fileList: [{
url: "https://tennis-oss.xzaiyp.top/2024-12-31/4b65131c-41f8-4714-a31e-491d08dfb8c4.jpg"
}],
latitude: '12.34',
longitude: "146.74"
},
rules: {
title:[
{
type: 'string',
required: true,
message: '请在此输入标题',
trigger: ['blur', 'change']
}
],
area:[
{
type: 'string',
required: true,
message: '请选择地址',
trigger: ['blur', 'change']
}
],
address:[
{
type: 'string',
required: true,
message: '请填写详细地址',
trigger: ['blur', 'change']
}
],
industryName:[
{
type: 'string',
required: true,
message: '请选择行业',
trigger: ['blur', 'change']
}
],
typeId:[
{
type: 'string',
required: true,
message: '请选择工种',
trigger: ['blur', 'change']
}
],
dayMoney:[
{
type: 'string',
required: true,
message: '期望日薪',
trigger: ['blur', 'change']
}
],
settlement:[
{
type: 'string',
title: [{
type: 'string',
required: true,
message: '请在此输入标题',
trigger: ['blur', 'change']
}],
area: [{
type: 'string',
required: true,
message: '请选择地址',
trigger: ['blur', 'change']
}],
address: [{
type: 'string',
required: true,
message: '请填写详细地址',
trigger: ['blur', 'change']
}],
industryName: [{
type: 'string',
required: true,
message: '请选择行业',
trigger: ['blur', 'change']
}],
typeId: [{
type: 'string',
required: true,
message: '请选择工种',
trigger: ['blur', 'change']
}],
dayMoney: [{
type: 'string',
required: true,
message: '期望日薪',
trigger: ['blur', 'change']
}],
settlement: [{
type: 'string',
required: true,
message: '请选择结算方式',
trigger: ['blur', 'change']
}],
mobile: [{
required: true,
message: '请选择结算方式',
trigger: ['blur', 'change']
}
],
mobile: [
{
required: true,
message: '请输入手机号',
trigger: ['change','blur'],
trigger: ['change', 'blur'],
},
{
validator: (rule, value, callback) => {
return uni.$u.test.mobile(value);
},
message: '手机号码不正确',
trigger: ['change','blur'],
trigger: ['change', 'blur'],
},
],
date: [{
type: 'string',
max: 1,
@ -264,81 +236,80 @@
message: '请输入工作内容',
trigger: ['blur', 'change']
}],
fileList:[
{
validator: (rule, value, callback) => {
if (value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0)) {
fileList: [{
validator: (rule, value, callback) => {
if (value === null || value === undefined || value === '' || (Array.isArray(
value) && value.length === 0)) {
callback(new Error('照片不能为空'));
} else {
} else {
callback();
}
},
trigger: 'blur'
}
],
}
},
trigger: 'blur'
}],
},
}
},
watch: {
'form.salaryMin': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMax)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMax)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
},
'form.salaryMax': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMin)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMin)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
},
'form.dateMin': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMax)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMax)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
},
'form.dateMax': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMin)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMin)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
},
},
methods: {
dateMinConfirm(event){
dateMinConfirm(event) {
console.info(event)
this.showMinDate = false
this.form.dateMin = uni.$u.timeFormat(event.value, 'yyyy-mm-dd hh:MM:ss')
},
dateMinClose(){
dateMinClose() {
this.showMinDate = false
},
dateMaxConfirm(event){
dateMaxConfirm(event) {
this.showMaxDate = false
this.form.dateMax = uni.$u.timeFormat(event.value, 'yyyy-mm-dd hh:MM:ss')
},
dateMaxClose(){
dateMaxClose() {
this.showMaxDate = false
},
handleAreaChange(){
handleAreaChange() {
this.showPicker = true
},
handleCityChange(e) {
@ -349,23 +320,24 @@
this.showIndustry = true
},
industrySelect(e) {
this.form.industryId=e.id
this.form.industryId = e.id
this.form.industryName = e.name
this.$refs.uForm.validateField('industryName')
this.onIndustryById()
},
onIndustryById(){
onIndustryById() {
let that = this
industryById({pid:that.form.industryId}).then(response=>{
console.info("response",response);
industryById({
pid: that.form.industryId
}).then(response => {
that.typeList = response.result
}).catch(error=>{
}).catch(error => {
})
},
handleTypeChange() {
if(!this.form.industryId){
if (!this.form.industryId) {
return uni.$u.toast('请选择行业')
}
this.showType = true
@ -376,7 +348,6 @@
this.$refs.uForm.validateField('typeId')
},
submit() {
console.info(this.form)
this.$refs.uForm.validate().then(res => {
this.onaddTask()
// uni.$u.toast('')
@ -384,38 +355,43 @@
// uni.$u.toast('')
})
},
onaddTask(){
onaddTask() {
let that = this
let params ={
"bossPhone": that.form.mobile,//
"dayMoney": that.form.dayMoney,//
"endTime": that.form.dateMax,
// "industryId": that.form.industryId,
// "industryName": that.form.industryName,
"industryId": that.form.typeId,
"industryName": that.form.typeName,
"latitude": that.form.latitude,
"longitude": that.form.longitude,
"moneymax": that.form.salaryMax,//
"moneymin": that.form.salaryMin,//
"payType": that.form.settlement,// 0 1
"startTime": that.form.dateMin,
"title": that.form.title,//
"workAddress": that.form.area,//
"workDetail": that.form.introduce,
"workPic": that.form.fileList.map(item => item.url).join(','),//
let params = {
"bossPhone": that.form.mobile, //
"dayMoney": that.form.dayMoney, //
"endTime": that.form.dateMax,
// "industryId": that.form.industryId,
// "industryName": that.form.industryName,
"industryId": that.form.typeId,
"industryName": that.form.typeName,
"latitude": that.form.latitude,
"longitude": that.form.longitude,
"moneymax": that.form.salaryMax, //
"moneymin": that.form.salaryMin, //
"payType": that.form.settlement, // 0 1
"startTime": that.form.dateMin,
"title": that.form.title, //
"workAddress": that.form.area, //
"workDetail": that.form.introduce,
"workPic": that.form.fileList.map(item => item.url).join(','), //
}
addTask(params).then(response=>{
console.info("response",response)
uni.$u.toast("提交成功!")
setTimeout(()=>{
uni.switchTab({
url:"/pages/home/index"
})
},1500)
}).catch(error=>{
addTask(params).then(response => {
const {
code
} = response
if (code === 200) {
uni.$u.toast("提交成功!")
setTimeout(() => {
uni.switchTab({
url: "/pages/home/index"
})
}, 1500)
}
}).catch(error => {
})
},
deletePic(event) {
@ -431,12 +407,11 @@
})
})
},
onIndustryList(){
industryList({}).then(response=>{
console.info("industryList",response);
onIndustryList() {
industryList({}).then(response => {
this.indList = response.result
}).catch(error=>{
}).catch(error => {
})
},
},


+ 177
- 151
pages_subpack/release/component/master.vue View File

@ -3,16 +3,17 @@
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" labelWidth="80">
<view class="se-p-20">
<view class="se-px-20 se-bgc-white se-br-10 se-fs-20">
<!-- @click="showPicker=true" -->
<!-- @click="showPicker=true" -->
<u-form-item label="请选择地址" class="se-b-b" prop="area" @click="handleAreaChange()">
<u--input readonly v-model="form.area" placeholder="请选择地址" border="none"></u--input>
<u-icon slot="right" name="arrow-right" ></u-icon>
<u--input readonly v-model="form.area" placeholder="请选择地址" border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<!-- <u-form-item label="详细地址" prop="address">
<u--textarea v-model="form.address" count placeholder="请输入详细地址"></u--textarea>
</u-form-item> -->
<u-form-item label="所属行业" class="se-b-b" prop="industry" @click="handleindustryChange()">
<u--input @click="handleindustryChange" readonly v-model="form.industry" placeholder="请选择行业" border="none"></u--input>
<u--input @click="handleindustryChange" readonly v-model="form.industry" placeholder="请选择行业"
border="none"></u--input>
<u-icon @click="handleindustryChange" slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="所属工种" class="se-b-b" prop="type" @click="handleTypeChange">
@ -25,29 +26,34 @@
border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item> -->
<u-form-item label="出行方式" labelPosition="top" prop="travel">
<u-form-item label="出行方式" labelPosition="top" prop="travel">
<view class="se-flex se-flex-ai-c se-flex-ff-rw se-pt-10">
<view class="se-py-10 se-px-30 se-fs-22 se-br-10 se-mr-15 se-mt-10" :class="item.select ? 'se-bgc-orange se-c-white se-b-orange' : 'se-b se-c-text'" @click="handleIntellect(index)" v-for="(item,index) in travelList" :key="index">
<view class="se-py-10 se-px-30 se-fs-22 se-br-10 se-mr-15 se-mt-10"
:class="item.select ? 'se-bgc-orange se-c-white se-b-orange' : 'se-b se-c-text'"
@click="handleIntellect(index)" v-for="(item,index) in travelList" :key="index">
{{item.text}}
</view>
</view>
</u-form-item>
<u-form-item label="结算方式" prop="settlement">
<u-radio-group v-model="form.settlement" placement="row">
<u-radio activeColor="#FF7A31" name="1" label="直接支付日薪"></u-radio>
<u-radio activeColor="#FF7A31" class="se-ml-20" name="2" label="试用以后支付"></u-radio>
<u-radio-group v-model="form.settlement" placement="row">
<u-radio activeColor="#FF7A31" name="0" label="直接支付日薪"></u-radio>
<u-radio activeColor="#FF7A31" class="se-ml-20" name="1" label="试用以后支付"></u-radio>
</u-radio-group>
</u-form-item>
<u-form-item label="薪资区间" prop="salary">
<view class="se-flex se-flex-h-c">
<u--input v-model="form.salaryMin" type="number" class="se-w-200" placeholder="最小值"></u--input>
<u--input v-model="form.salaryMin" type="number" class="se-w-200"
placeholder="最小值"></u--input>
<text class="se-mx-10">~</text>
<u--input v-model="form.salaryMax" type="number" class="se-w-200" placeholder="最大值"></u--input>
<u--input v-model="form.salaryMax" type="number" class="se-w-200"
placeholder="最大值"></u--input>
</view>
</u-form-item>
<u-form-item label="日薪" prop="dailywage">
<view class="se-flex se-flex-h-c">
<u--input v-model="form.dailywage" type="number" class="se-w-200" placeholder="固定值"></u--input>
<u--input v-model="form.dailywage" type="number" class="se-w-200"
placeholder="固定值"></u--input>
</view>
</u-form-item>
<!-- <u-form-item label="时间" prop="date">
@ -61,12 +67,11 @@
<u--input v-model="form.mobile" placeholder="请输入联系方式"></u--input>
</u-form-item> -->
<u-form-item label="工作内容" prop="introduce">
<u--textarea v-model="form.introduce" count
placeholder="请选择工作内容"></u--textarea>
<u--textarea v-model="form.introduce" count placeholder="请选择工作内容"></u--textarea>
</u-form-item>
</view>
</view>
<view class="se-px-20 se-pt-20">
<view class="se-px-20 se-pb-80 se-fs-20 se-flex">
<view @click="submit"
@ -77,133 +82,129 @@
</view>
</u--form>
<!-- 行业 -->
<u-action-sheet :show="showIndustry" :actions="industryList" title="请选择行业" @close="showIndustry = false" @select="industrySelect">
<u-action-sheet :show="showIndustry" :actions="industryList" title="请选择行业" @close="showIndustry = false"
@select="industrySelect">
</u-action-sheet>
<!-- 种类 -->
<u-action-sheet :show="showType" :actions="typeList" title="请选择种类" @close="showType = false" @select="typeSelect">
<u-action-sheet :show="showType" :actions="typeList" title="请选择种类" @close="showType = false"
@select="typeSelect">
</u-action-sheet>
</view>
</template>
<script>
import QQMapWX from "@/util/qqmap-wx-jssdk.min.js"
import { industryById,industryList } from "@/common/api.js"
import {
industryById,
industryList,
addTask2
} from "@/common/api.js"
export default {
components:{
components: {
},
data() {
return {
show:false,
show: false,
showPicker: false,
showIndustry: false,
industryList: [],
showType: false,
typeList: [],
travelList:[
{
text:"出租车",
value:"all",
select:true
travelList: [{
text: "出租车",
value: "all",
select: true
},
{
text:"网约车",
value:"all",
select:false
text: "网约车",
value: "all",
select: false
},
{
text:"公交/地铁",
value:"all",
select:false
text: "公交/地铁",
value: "all",
select: false
},
{
text:"无",
value:"all",
select:false
text: "无",
value: "all",
select: false
}
],
dates:[
['2024','2025','2026','2027','2028'],
['01','02','03','04','05','06','07','08','09','10','11','12'],
['01','02','03','04','05','06','07','08','09','10','11','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30'],
dates: [
['2024', '2025', '2026', '2027', '2028'],
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '13', '14', '15', '16', '17',
'18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'
],
],
form: {
title:"",
area:'',
address:'',
industryId:"",
industry:"",
settlement:1,
date:"",
dateMin:"",
dateMax:"",
title: "",
area: '',
address: '',
industryId: "",
industry: "",
settlement: 1,
date: "",
dateMin: "",
dateMax: "",
mobile: '',
typeId:"",
typeId: "",
type: '',
salary:'',
salary: '',
salaryMin: '',
salaryMax: '',
dailywage:'',
dailywage: '',
introduce: '',
longitude:'',
latitude:''
longitude: '',
latitude: ''
},
rules: {
title:[
{
type: 'string',
required: true,
message: '请在此输入标题',
trigger: ['blur', 'change']
}
],
area:[
{
type: 'string',
required: true,
message: '请选择地址',
trigger: ['blur', 'change']
}
],
address:[
{
type: 'string',
required: true,
message: '请填写详细地址',
trigger: ['blur', 'change']
}
],
industry:[
{
type: 'string',
required: true,
message: '请选择行业',
trigger: ['blur', 'change']
}
],
settlement:[
{
type: 'string',
title: [{
type: 'string',
required: true,
message: '请在此输入标题',
trigger: ['blur', 'change']
}],
area: [{
type: 'string',
required: true,
message: '请选择地址',
trigger: ['blur', 'change']
}],
address: [{
type: 'string',
required: true,
message: '请填写详细地址',
trigger: ['blur', 'change']
}],
industry: [{
type: 'string',
required: true,
message: '请选择行业',
trigger: ['blur', 'change']
}],
settlement: [{
type: 'string',
required: true,
message: '请选择结算方式',
trigger: ['blur', 'change']
}],
mobile: [{
required: true,
message: '请选择结算方式',
trigger: ['blur', 'change']
}
],
mobile: [
{
required: true,
message: '请输入手机号',
trigger: ['change','blur'],
trigger: ['change', 'blur'],
},
{
validator: (rule, value, callback) => {
return uni.$u.test.mobile(value);
},
message: '手机号码不正确',
trigger: ['change','blur'],
trigger: ['change', 'blur'],
},
],
date: [{
type: 'string',
max: 1,
@ -223,83 +224,83 @@
message: '请输入工作内容',
trigger: ['blur', 'change']
}],
},
}
},
watch: {
'form.salaryMin': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMax)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMax)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
},
'form.salaryMax': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMin)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMin)) {
this.form.salary = '有'
} else {
this.form.salary = ''
}
},
immediate: true
},
'form.dateMin': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMax)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMax)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
},
'form.dateMax': {
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMin)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
handler(newVal, oldVal) {
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMin)) {
this.form.date = '有'
} else {
this.form.date = ''
}
},
immediate: true
},
},
mounted() {
industryList({}).then(response=>{
industryList({}).then(response => {
this.industryList = response.result
}).catch(error=>{
}).catch(error => {
})
},
methods: {
dateConfirm(event){
this.form.date = event.value[0]+"-"+event.value[1]+"-"+event.value[2]
dateConfirm(event) {
this.form.date = event.value[0] + "-" + event.value[1] + "-" + event.value[2]
console.info(event.value)
this.show = false
},
handleIntellect(index){
this.travelList.forEach((items)=>{
items.select=false
handleIntellect(index) {
this.travelList.forEach((items) => {
items.select = false
})
this.travelList[index].select = !this.travelList[index].select
},
handleAreaChange(){
handleAreaChange() {
const that = this;
wx.chooseLocation({
// type: 'wgs84',
success: function (res) {
success: function(res) {
const qqmapsdk = new QQMapWX({
key: 'TT7BZ-Z3LW4-KOAUB-KWHOA-SBJJ6-Y5B6R' //
});
uni.showLoading({
title:"获取中...."
title: "获取中...."
})
qqmapsdk.reverseGeocoder({
location: {
@ -331,10 +332,12 @@
this.form.industry = e.name
this.form.typeId = ""
this.form.type = ""
industryById({pid:e.id}).then(response=>{
this.typeList=response.result
}).catch(error=>{
industryById({
pid: e.id
}).then(response => {
this.typeList = response.result
}).catch(error => {
})
this.$refs.uForm.validateField('industry')
},
@ -347,12 +350,35 @@
this.$refs.uForm.validateField('type')
},
submit() {
console.info(this.form)
this.$refs.uForm.validate().then(res => {
uni.$u.toast('校验通过')
}).catch(errors => {
// uni.$u.toast('')
this.submitApi()
}).catch(errors => {})
},
async submitApi() {
const params = {
dayMoney: this.form.dailywage,
industryId: this.form.typeId,
industryName: this.form.typeName,
latitude: this.form.latitude,
longitude: this.form.longitude,
moneymax: this.form.salaryMax,
moneymin: this.form.salaryMin,
payType: this.form.settlement,
workDetail: this.form.workDetail
}
const {
code
} = await addTask2({
...params
})
if (code === 200) {
uni.$u.toast("提交成功!")
setTimeout(() => {
uni.switchTab({
url: "/pages/home/index"
})
}, 1500)
}
}
},
onReady() {


Loading…
Cancel
Save