|
@@ -0,0 +1,167 @@
|
|
|
+<template>
|
|
|
+ <view class="main">
|
|
|
+ <view class="form_group">
|
|
|
+ <view class="lable re">兼职名称</view>
|
|
|
+ <input placeholder="请输入" v-model="item.title" />
|
|
|
+ </view>
|
|
|
+ <view class="form_group">
|
|
|
+ <view class="lable re">兼职类型</view>
|
|
|
+ <picker :disabled="true" @click="go('/pages/job/position/classification')">
|
|
|
+ <input placeholder="请选择" v-model="item.positionName" :disabled="true" />
|
|
|
+ <view class="icon more"></view>
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="form_group">
|
|
|
+ <view class="lable re">兼职描述(要求)</view>
|
|
|
+ <leditor ref="editor" v-model="item.contents" placeholder="请输入兼职描述"></leditor>
|
|
|
+ </view>
|
|
|
+ <view class="form_group">
|
|
|
+ <view class="lable re">兼职金额(元)</view>
|
|
|
+ <view class="bgm">
|
|
|
+ <input type="number" placeholder="请输入" v-model="item.salary" class="input" />
|
|
|
+ <view class="msg">
|
|
|
+ <text>{{ money }}</text>
|
|
|
+ <text @click="go('/pages/user/money/index')">充值</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="bz">
|
|
|
+ <text class="icon"></text>
|
|
|
+ <text>兼职金额从账户余额扣除,请保留充足的余额</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="form_group">
|
|
|
+ <view class="lable re">兼职时间</view>
|
|
|
+ </view>
|
|
|
+ <view class="form_group" style="display: flex">
|
|
|
+ <view class="start">
|
|
|
+ <picker mode="date" :start="end" @change="picker($event, 'startDate')">
|
|
|
+ <input placeholder="开始时间" v-model="item.startDate" :disabled="true" />
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ <view class="hor">至</view>
|
|
|
+ <view class="start">
|
|
|
+ <picker mode="date" :start="end" @change="picker($event, 'endDate')">
|
|
|
+ <input placeholder="结束时间" v-model="item.endDate" :disabled="true" />
|
|
|
+ </picker>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="form_group">
|
|
|
+ <view class="lable">兼职地点</view>
|
|
|
+ <picker :disabled="true" @click="chooseLocation()">
|
|
|
+ <input :placeholder="item.type == 0 ? '请选择' : '留空不限工作地点'" v-model="item.location" :disabled="true" />
|
|
|
+ <view class="icon more"></view>
|
|
|
+ </picker>
|
|
|
+ <input placeholder="请输入楼层/单元室/门牌号" v-model="item.mph" v-if="item.address" />
|
|
|
+ <view class="bz">如需应聘者去现场请选择兼职地点</view>
|
|
|
+ </view>
|
|
|
+ <button class="btn" @click="save()">{{ item.id ? '编辑' : '保存' }}</button>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ money: 0,
|
|
|
+ item: { type: 1 },
|
|
|
+ end: this.util.getDate('day'),
|
|
|
+ dict: {
|
|
|
+ positionName: this.util.getData('positionName'),
|
|
|
+ experience: this.util.getData('experience'),
|
|
|
+ salary: [['面议'], ['']],
|
|
|
+ location: this.util.getData('address'),
|
|
|
+ unit: this.util.getData('unit')
|
|
|
+ }
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onLoad(e) {
|
|
|
+ if (e.id) {
|
|
|
+ this.http.request({
|
|
|
+ url: '/app/position/manage/detail/' + e.id,
|
|
|
+ success: (res) => {
|
|
|
+ this.item = res.data.data;
|
|
|
+ this.$refs.editor.setContents();
|
|
|
+ uni.setNavigationBarTitle({ title: '编辑兼职' });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ uni.$on('select_position', (res) => {
|
|
|
+ this.item.positionName = res.title;
|
|
|
+ this.item.positionId = res.id;
|
|
|
+ this.$forceUpdate();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ this.money = uni.getStorageSync('money');
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ picker(e, tag) {
|
|
|
+ if (tag == 'startDate' || tag == 'endDate') {
|
|
|
+ this.item[tag] = e.detail.value;
|
|
|
+ } else {
|
|
|
+ this.item[tag] = this.dict[tag][e.detail.value];
|
|
|
+ }
|
|
|
+ this.$forceUpdate();
|
|
|
+ },
|
|
|
+ go(url) {
|
|
|
+ uni.navigateTo({ url: url });
|
|
|
+ },
|
|
|
+ chooseLocation() {
|
|
|
+ uni.chooseLocation({
|
|
|
+ success: (res) => {
|
|
|
+ let reg = /.+?(省|市|自治区|自治州|县|区)/g;
|
|
|
+ let addressList = res.address.match(reg).toString().split(',');
|
|
|
+ //注意区分直辖市;
|
|
|
+ let city = addressList.length >= 3 ? addressList[1] : addressList[0];
|
|
|
+ let region = addressList.length >= 3 ? addressList[2] : addressList[1];
|
|
|
+ this.item.location = res.name;
|
|
|
+ this.item.address = res.address;
|
|
|
+ this.item.longitude = res.longitude;
|
|
|
+ this.item.latitude = res.latitude;
|
|
|
+ this.item.regionName = region;
|
|
|
+ this.item.cityName = city;
|
|
|
+ this.$forceUpdate();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ save() {
|
|
|
+ this.http.request({
|
|
|
+ url: this.item.id ? '/app/position/manage/edit' : '/app/position/manage/add',
|
|
|
+ data: this.item,
|
|
|
+ method: 'POST',
|
|
|
+ success: (res) => {
|
|
|
+ //实名认证跳转
|
|
|
+ if (res.data.code == 7878) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '提示',
|
|
|
+ content: res.data.msg,
|
|
|
+ showCancel: false,
|
|
|
+ success: (res) => {
|
|
|
+ uni.navigateTo({ url: '/pages/user/auth' });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ uni.showToast({ title: '操作成功' });
|
|
|
+ setTimeout(() => {
|
|
|
+ uni.$emit('position');
|
|
|
+ uni.navigateBack();
|
|
|
+ }, 1500);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.bgm {
|
|
|
+ .input {
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+ .msg {
|
|
|
+ text {
|
|
|
+ padding-left: 17px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|