jianghaili 2 settimane fa
parent
commit
6f81f162a6
3 ha cambiato i file con 185 aggiunte e 6 eliminazioni
  1. 158 0
      package/jobIntention/editJob.vue
  2. 8 0
      pages.json
  3. 19 6
      pages/my/jobPosting.vue

+ 158 - 0
package/jobIntention/editJob.vue

@@ -0,0 +1,158 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="岗位描述" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="title">岗位描述</view>
+        <view class="desc"
+          >请勿填写QQ、微信、电话等联系方式及特殊符号,性别歧视词、
+          违反劳动法相关内容,否则有可能导致账号封禁。</view
+        >
+        <view class="check-box">
+          <textarea
+            v-model="text"
+            placeholder="1.工作内容
+2.任务要求
+3.特别说明"
+            maxlength="500"
+            @input="onInput"
+            class="textarea"
+          ></textarea>
+          <view class="word-count">
+            <text>{{ text ? text.length : 0 }}</text> /500</view
+          >
+        </view>
+      </view>
+    </view>
+    <view class="submit-btn" @click="goJobPosting">确定</view>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      peopleList: [
+        "0-20人",
+        "20-99人",
+        "100-499人",
+        "500-999人",
+        "1000-9999人",
+        "10000人以上",
+      ],
+      text: "",
+      check: 0,
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    onInput(e) {
+      //   console.log(e);
+      // 如果需要额外的输入控制
+      //   this.text = e.detail.value;
+    },
+    goJobPosting() {
+      uni.navigateTo({
+        url: `/pages/my/jobPosting?text=${this.text}`,
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 40rpx;
+        font-weight: 600;
+      }
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-box {
+        width: 100%;
+        border-radius: 12rpx;
+        background: rgba(240, 240, 240, 1);
+        padding: 34rpx;
+        padding-top: 40rpx;
+        box-sizing: border-box;
+        .word-count {
+          font-family: DM Sans;
+          font-size: 20rpx;
+          font-weight: 400;
+          line-height: 26rpx;
+          text-align: right;
+          text {
+            color: #016bf6;
+          }
+        }
+      }
+    }
+  }
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 20rpx;
+  }
+}
+::v-deep .textarea-placeholder {
+  color: rgba(153, 153, 153, 1);
+  font-family: DM Sans;
+  font-size: 20rpx !important;
+  font-weight: 400;
+  line-height: 26rpx;
+}
+::v-deep .uni-textarea-textarea {
+  font-size: 20rpx;
+}
+</style>

+ 8 - 0
pages.json

@@ -474,6 +474,14 @@
 						"enablePullDownRefresh": false,
 						"navigationStyle": "custom"
 					}
+				},
+						{
+					"path": "jobIntention/editJob",
+					"style": {
+						"navigationBarTitleText": "岗位描述",
+						"enablePullDownRefresh": false,
+						"navigationStyle": "custom"
+					}
 				},
 				{
 					"path": "jobIntention/edit",

+ 19 - 6
pages/my/jobPosting.vue

@@ -20,13 +20,15 @@
           >
         </view>
         <view class="check-title-big">招聘职位</view>
-        <view class="check-select">
+        <view class="check-select" @click="goJob">
           <view class="select-txt">请选择要招聘的职位</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         <view class="check-title-big">岗位描述</view>
-        <view class="check-select">
-          <view class="select-txt">介绍工作内容、职位要求</view>
+        <view class="check-select" @click="goJobContent">
+          <view class="select-txt">{{
+            this.text ? this.text : "介绍工作内容、职位要求"
+          }}</view>
           <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         <view class="txt-desc">注:职位名称、职位类型等发布后不可修改</view>
@@ -42,6 +44,7 @@ export default {
     return {
       peopleList: ["社招全职", "应届生校园招聘", "实习生招聘", "兼职招聘"],
       check: 0,
+      text: "",
       numList: [
         {
           name: "填写基本信息",
@@ -55,6 +58,11 @@ export default {
   components: {
     navBar,
   },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
   methods: {
     goBusinessLicense() {
       uni.navigateTo({ url: "/pages/my/businessLicense" });
@@ -62,9 +70,14 @@ export default {
     checkPeople(index) {
       this.check = index;
     },
-    goJobPosting() {
+    goJob() {
+      uni.navigateTo({
+        url: "/package/jobIntention/jobList",
+      });
+    },
+    goJobContent() {
       uni.navigateTo({
-        url: "/pages/my/jobPosting",
+        url: `/package/jobIntention/editJob?text=${this.text}`,
       });
     },
   },
@@ -171,7 +184,7 @@ export default {
       }
     }
   }
-  .step{
+  .step {
     width: 100%;
     padding: 32rpx 0;
     box-sizing: border-box;