Forráskód Böngészése

Merge branch 'zhaoj'

ZhaoJing 2 éve%!(EXTRA string=óta)
szülő
commit
e1f0117a27

BIN
src/assets/home/2X.png


BIN
src/assets/home/banner3.png


BIN
src/assets/home/banner4.png


BIN
src/assets/home/banner5.png


BIN
src/assets/home/dialog.png


BIN
src/assets/images/img_upload.png


+ 3 - 0
src/pages/_home/index.vue

@@ -40,6 +40,9 @@ function gridHandle(item) {
       } else {
         switch (user._role) {
           case 'jz':
+            if(!child){
+              return showToast('家长需绑定孩子方可进入')
+            }
             window.open('https://nmlm.bozedu.net/#/stxk/jz', '_self')
              return
             // return itemRoute = '/stxk/jz'

+ 218 - 0
src/pages/_home/xszc.vue

@@ -0,0 +1,218 @@
+<template>
+  <div>
+    <van-nav-bar
+      title="学生信息注册"
+      left-text=""
+      left-arrow
+      @click-left="onClickLeft"
+    />
+    <div>
+      <van-form @submit="onSubmit" class="bg-light-50 w-full p-0">
+        <van-cell-group inset v-for="(g, i) in forms">
+          <div v-if="childrenList.length > 1" class="text-center px-6">
+            <span>学生{{ childrenList.length + 1 }}</span>
+            <span
+              class="text-red-500 float-right cursor-pointer"
+              @click="deleteStu(i)"
+              >删除</span
+            >
+          </div>
+          <div class="flex items-center w-full mt-2">
+            <span>姓名</span>
+            <input
+              class="pl-2 py-2 ml-2 w-7/9"
+              style="border: 1px solid #f2f2f2; border-radius: 5px"
+              v-model="g.name"
+              label="姓名"
+              placeholder="姓名"
+            />
+          </div>
+          <div class="flex items-center w-full mt-2">
+            <span>年级</span>
+            <select
+              @change="njChange"
+              class="w-7/9 bg-light-100 py-3 pl-2 ml-2 border_gray"
+              v-model="g.grade"
+            >
+              <option value="" label="年级" disabled class="text-gray-500">
+                年级
+              </option>
+              <option
+                v-for="n in nj"
+                :key="n.grade"
+                :value="n.grade"
+                :label="n.gradename"
+              >
+                {{ n.gradename }}
+              </option>
+            </select>
+          </div>
+          <div class="flex items-center w-full mt-2">
+            <span>班级</span>
+            <select
+              @change="classChange"
+              class="w-7/9 bg-light-100 py-3 pl-2 ml-2 border_gray"
+              v-model="g.class"
+            >
+              <option value="" label="班级" disabled>班级</option>
+              <option
+                v-for="b in bj"
+                :key="b.cm_id"
+                :value="b.cm_id"
+                :label="b.cm_name"
+              >
+                {{ b.cm_name }}
+              </option>
+            </select>
+          </div>
+          <div class="flex items-center w-full my-2">
+            <span>关系</span>
+            <input
+              placeholder="关系"
+              class="pl-2 py-2 ml-2 w-7/9"
+              style="border: 1px solid #f2f2f2; border-radius: 5px"
+              v-model="g.relative"
+            />
+          </div>
+        </van-cell-group>
+        <div style="margin: 32px 64px">
+          <van-button icon="plus" block type="primary" @click="addStu">
+            <span v-if="childrenList.length <= 1">多子女添加</span>
+            <span v-if="childrenList.length > 1">继续添加</span>
+          </van-button>
+        </div>
+        <div style="margin: 16px">
+          <van-button round block type="primary" native-type="submit">
+            申请
+          </van-button>
+        </div>
+      </van-form>
+    </div>
+    <div v-show="coverShow" class="cover"></div>
+    <div v-if="dialogShow" class="dialog_show flex flex-col justify-evenly">
+      <div></div>
+      <div class="text-center">申请成功,等待班主任审核!</div>
+      <div class="text-center">
+        <span
+          class="py-2 px-4 rounded-2xl bg-blue-500 text-white cursor-pointer"
+          @click="handleBack"
+        >
+          返回</span
+        >
+      </div>
+    </div>
+  </div>
+</template>
+<script setup>
+import { useRouter } from "vue-router";
+const router = useRouter();
+const onClickLeft = () => history.back();
+let childrenList = $ref([]);
+
+function initData() {
+  request({
+    baseURL: window.GLOBAL_CONFIG.uc,
+    timeout: 10 * 1000,
+    url: "/index.php?mod=user&action=main&do=my_child",
+    data: {},
+  }).then((res) => {
+    if (res.code == "1") {
+      childrenList = res.data.info;
+    }
+  });
+}
+initData();
+let forms = $ref([
+  {
+    name: "",
+    grade: "",
+    class: "",
+    relative: "",
+  },
+]);
+let gradePicker = $ref(false);
+let gradeColumns = $ref([
+  {
+    grade: "二年级",
+    id: "2",
+  },
+  {
+    grade: "一年级",
+    id: "1",
+  },
+]);
+
+// let data = {
+//     sm_id: user.sm_info.sm_id,
+//   };
+
+// let nj = $ref([]);
+// request({
+//   url: "https://uc.bozedu.net/index.php?mod=class&action=main&do=grade_class",
+//   data: {},
+// }).then((res) => {
+//   nj = res.data;
+// });
+
+// 添加学生信息
+function addStu() {
+  forms.push({
+    name: "",
+    grade: "",
+    class: "",
+    relative: "",
+  });
+}
+
+// 删除学生信息
+function deleteStu(i) {
+  forms.splice(i, 1);
+}
+
+let dialogShow = $ref(false);
+let coverShow = $ref(false);
+// 添加申请
+const onSubmit = (values) => {
+  console.log("submit", values);
+  dialogShow = true;
+  coverShow = true;
+};
+function handleBack() {
+  router.push("/home");
+}
+</script>
+
+<style lang="scss" scoped>
+// --van-padding-md: 0;
+.border_gray {
+  border: 1px solid #f2f2f2;
+  border-radius: 5px;
+}
+.dialog_show {
+  background-image: url("../../assets/home/dialog.png");
+  background-size: 100%;
+  background-repeat: no-repeat;
+  width: 76vw;
+  height: 86vw;
+  //   color: #333333;
+  //   background-color: #fff;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+  border-radius: 1vw;
+  z-index: 5;
+  padding: 0 5vw;
+  box-sizing: border-box;
+}
+.cover {
+  position: fixed;
+  top: 0;
+  width: 100vw;
+  height: 100vh;
+  background-color: #000000;
+  opacity: 0.3;
+}
+</style>

+ 2 - 2
src/pages/_home/zcdl.vue

@@ -8,8 +8,8 @@
       />
       <div class="p-10">
         <img class="w-20" src="../../assets/images/logo.png" alt="">
-        <p class="text-xl text-current my-3">欢迎来到南马路平台</p>
-        <p class="text-sm text-gray-500">赶快注册加入吧</p>
+        <p class="text-xl text-current my-3">欢迎来到呼和浩特南马路小学教育集团智慧校园平台</p>
+        <p class="text-sm text-gray-500 mt-4">赶快注册加入吧</p>
       </div>
       <div class="w-80 h-10 my-20 mx-auto relative">
         <img class="w-7 absolute top-2 left-15" src="../../assets/images/icon.png" alt=""> 

+ 3 - 2
src/pages/_user/index.vue

@@ -216,8 +216,9 @@ export default {
           window.location.href = "https://nmlm.bozedu.net/page/my/about.html";
           break;
         case 6:
-          window.location.href =
-            "https://nmlm.bozedu.net/page/parent/my-children.html";
+          this.$router.push('/my_children')
+          // window.location.href =
+          //   "https://nmlm.bozedu.net/page/parent/my-children.html";
           break;
         case 7:
           window.location.href =

+ 299 - 0
src/pages/myChildren/index.vue

@@ -0,0 +1,299 @@
+<template>
+  <div>
+    <van-nav-bar class="nav" left-arrow @click-left="onClickLeft">
+      <template #title>
+        <div class="color-fff">我的孩子</div>
+      </template>
+      <template #right>
+        <span class="w-10 text-white" @click="deleteChild">删除</span>
+        <span class="w-10 text-white" @click="addChild">添加</span>
+      </template>
+    </van-nav-bar>
+    <van-checkbox-group
+      v-model="checked"
+      ref="checkboxGroup"
+      @change="checkGroup"
+    >
+      <table>
+        <!-- <tr>
+          <th>
+            <input type="checkbox" class="chooseAll" @change="checkedAll()" />
+          </th>
+          <th class="name">学生姓名</th>
+          <th class="wxname">微信昵称</th>
+          <th class="relative">关系</th>
+          <th class="action">操作</th>
+          <th class="classname">报名课程</th>
+        </tr> -->
+        <van-checkbox-group v-model="checked" @change="checkGroup">
+          <tr v-for="s in childrenList" :key="s.user_id">
+            <td class="box">
+              <van-checkbox
+                :name="s.user_id"
+                shape="square"
+                icon-size="4vw"
+                class="mr-5px ml-2vw"
+              ></van-checkbox>
+            </td>
+            <td>
+              <div class="name">
+                <p>{{ s.user_realname }}</p>
+              </div>
+            </td>
+            <td>
+              <div class="wxname">
+                <!-- <p v-if="s.parent.length > 0">{{ s.parent.realname }}</p> -->
+                <!-- <p v-else></p> -->
+                <p>{{ user.user_realname }}</p>
+              </div>
+            </td>
+            <td class="relative">
+              父女
+              <!-- <p v-if="s.parent">{{ s.parent.relation }}</p> -->
+              <!-- <p v-else></p> -->
+            </td>
+            <td>
+              <div class="wxname">
+                <p>{{ s.first_cm_name }}</p>
+              </div>
+            </td>
+            <td class="action">
+              <div>
+                <span class="act_btu1" v-if="s.bind_check.statue == '0'">
+                  审核
+                </span>
+                <span class="act_btu2" v-if="s.bind_check.statue == '1'">
+                  已通过
+                </span>
+                <span
+                  class="act_btu3"
+                  v-if="s.bind_check.statue == '2'"
+                  @click="rejectData(s)"
+                >
+                  驳回
+                </span>
+              </div>
+              <!-- <div v-else></div> -->
+            </td>
+            <td>
+              <div class="classname">
+                <p>{{ s.kk_name }}</p>
+              </div>
+            </td>
+          </tr>
+        </van-checkbox-group>
+      </table>
+    </van-checkbox-group>
+    <div class="plan-nav reject-nav" v-show="rejectShow">
+      <van-icon
+        class="cha"
+        @click="cancelData"
+        name="cross"
+        size="5vw"
+      ></van-icon>
+      <h3>驳回详情</h3>
+      <p class="text-blue-600 text-4vw mt-3">已驳回</p>
+      <!-- <p>{{驳回原因}}</p> -->
+      <p class="text-gray-500 text-3vw mt-4 leading-5 tracking-wider">
+        驳回原因驳回原因驳回原因驳回原因驳回原因驳回原因驳回原因
+      </p>
+    </div>
+    <div v-show="show" class="cover"></div>
+  </div>
+</template>
+<script setup>
+import { showConfirmDialog, showToast } from "vant";
+import { user } from "../../store/user";
+import { useRouter } from "vue-router";
+const router = useRouter();
+const onClickLeft = () => history.back();
+let show = $ref(false);
+function addChild() {
+  router.push('/xszc')
+}
+function deleteChild() {
+  if (checked.length == 0) {
+    return showToast("请选择被删除人!");
+  }
+
+  showConfirmDialog({
+    title: "移除被绑定人",
+    message: "确认移除?",
+  })
+    .then(() => {
+      //   request({
+      //     baseURL: window.GLOBAL_CONFIG.uc,
+      //     timeout: 10 * 1000,
+      //     url: "/index.php?mod=user&action=main&do=unbind_child",
+      //     data: {
+      //       child_user_id: checked,
+      //     },
+      //   }).then((res) => {
+      //      if(res.code=='1'){
+      //        showToast('操作成功!')
+      //   initData()
+      //       }
+      // });
+    })
+    .catch(() => {
+      showToast("取消操作!");
+    });
+}
+
+let checked = $ref([]);
+let childrenList = $ref([]);
+
+function initData() {
+  request({
+    baseURL: window.GLOBAL_CONFIG.uc,
+    timeout: 10 * 1000,
+    url: "/index.php?mod=user&action=main&do=my_child",
+    data: {},
+  }).then((res) => {
+    if (res.code == "1") {
+      childrenList = res.data.info;
+    }
+  });
+}
+initData();
+
+function checkGroup() {
+  console.log(checked);
+}
+
+// 驳回详情
+let rejectShow = $ref(false);
+function rejectData(s) {
+  show = true;
+  rejectShow = true;
+}
+// ×
+function cancelData() {
+  show = false;
+  rejectShow = false;
+}
+</script>
+<style lang="scss" scoped>
+table {
+  width: 100%;
+  /* border-top: #c8b9ae solid 1px; */
+  border-collapse: collapse;
+  tr {
+    width: 100%;
+    height: 11vw;
+    line-height: 11vw;
+  }
+  tr td {
+    overflow: hidden;
+    //   height: 6vw;
+  }
+  tr td p {
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+  }
+  th,
+  td {
+    font-size: 3vw;
+    letter-spacing: 0;
+    text-align: left;
+  }
+  td {
+    border-bottom: #e7e2df solid 1px;
+    /* padding:10px 10px 6px; */
+  }
+  .name {
+    width: 18vw !important;
+    overflow: hidden;
+  }
+  .wxname {
+    width: 20vw;
+    overflow: hidden;
+  }
+  .relative {
+    width: 15vw;
+    overflow: hidden;
+  }
+  .action {
+    width: 20vw;
+    min-width: 15vw;
+    padding-right: 5px;
+    text-align: center;
+    cursor: pointer;
+  }
+  .action span {
+    width: 90%;
+    height: 25px;
+    font-size: 3.2vw;
+    //   color: #fff;
+    outline-color: none;
+    border-radius: 4px;
+    border: none;
+  }
+  .act_btu1 {
+    //   background-color: #003eee;
+    color: #003eee;
+  }
+  .act_btu2 {
+    //   background-color: #9d9d9d;
+    color: #666666;
+  }
+  .act_btu3 {
+    //   background-color: #efecec;
+    color: red !important;
+  }
+}
+
+.plan-nav {
+  width: 78vw;
+  height: 80vw;
+  color: #333333;
+  background-color: #fff;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+  border-radius: 1vw;
+  z-index: 5;
+  padding: 5vw;
+  box-sizing: border-box;
+  .cha {
+    display: block;
+    // width: 0.4 * 13.3vw;
+    // height: 0.4 * 13.3vw;
+    font-size: 0.5 * 13.3vw;
+    position: absolute;
+    right: 0.2 * 13.3vw;
+    top: 0.2 * 13.3vw;
+    cursor: pointer;
+  }
+  h3 {
+    width: 1.26 * 13.3vw;
+    height: 0.4 * 13.3vw;
+    font-size: 0.3 * 13.3vw;
+    position: relative;
+  }
+  h3::before {
+    position: absolute;
+    content: "";
+    width: 100%;
+    height: 0.2 * 13.3vw;
+    bottom: -0.05 * 13.3vw;
+    left: -0.02 * 13.3vw;
+    border-radius: 0.1 * 13.3vw;
+    background-color: #c5c5ff;
+    opacity: 0.6;
+  }
+}
+.cover {
+  position: fixed;
+  top: 0;
+  width: 100vw;
+  height: 100vh;
+  background-color: #000000;
+  opacity: 0.3;
+}
+</style>

+ 8 - 0
src/pages/recruit/api.js

@@ -0,0 +1,8 @@
+import { REQUEST } from "@/utils/request";
+
+export const stxk_up = (data = {}) => {
+  return REQUEST["upload"]({
+    url: "upload/main/file",
+    data: { filedata: data.file },
+  });
+};

+ 86 - 0
src/pages/recruit/components/fileUpload.vue

@@ -0,0 +1,86 @@
+<script setup>
+import { REQUEST } from "~/utils/request";
+import { resolveFileString } from "~/utils/helper";
+
+const props = defineProps({
+  // part: String,
+  // full: String,
+  limit: String,
+  isDisabled: String,
+  modelValue: String,
+});
+
+// let isDisabled =
+// const emits = defineEmits(['update:part', 'update:full'])
+const emits = defineEmits(["update:modelValue"]);
+let fileList = $ref(
+  resolveFileString(props?.modelValue).map((_) => ({ ..._, res: _ }))
+);
+
+// if (props.part) {
+//   fileList = resolveFileString(props.part)
+// }
+// if (props.full) {
+//   fileList = resolveFileString(props.full)
+// }
+let showUpload = $ref(true);
+const handleAfterRead = (fileProxy) => {
+  fileProxy.status = "uploading";
+  fileProxy.message = "上传中...";
+  const { file } = fileProxy;
+  REQUEST["upload"]({
+    url: "/upload/main/file",
+    data: { filedata: file },
+  })
+    .then((res) => {
+      console.log("res :>> ", res);
+      console.log("fileList :>> ", fileList);
+      if (res.code === "1") {
+        // fileList.value.push(res.data)
+        fileProxy.url = window.GLOBAL_CONFIG.oss + "/" + res.data.url;
+        fileProxy.res = {
+          name: res.data.file_name,
+          url: fileProxy.url,
+          origin: res.data.url,
+        };
+        fileProxy.status = "done";
+        fileProxy.message = "";
+        showUpload = false;
+
+        // emits('update:part', fileList.map((item) => item.res.name + ',' + item.res.url).join(';'))
+        // emits('update:part', fileList.map((item) => item.res.name + ',' + item.res.url).join(';'))
+        emits(
+          "update:modelValue",
+          fileList
+            .map((item) => item.res.name + "," + item.res.origin)
+            .join(";")
+        );
+      } else {
+        fileProxy.status = "failed";
+        fileProxy.message = "上传失败";
+        showUpload = true;
+      }
+    })
+    .catch((err) => {
+      console.error(err);
+    });
+};
+function beforeDelate(file, detail) {
+  fileList.splice(detail.index, 1);
+  showUpload = true;
+  return true;
+}
+</script>
+
+<template>
+  <van-uploader
+    v-model="fileList"
+    :after-read="handleAfterRead"
+    :before-delete="beforeDelate"
+    :disabled="props.isDisabled"
+    :max-count="props.limit"
+    accept=".jpg,.png,.jpeg,.webp"
+  >
+    <img v-if="showUpload" src="@/assets/images/img_upload.png" alt="" />
+  </van-uploader>
+</template>

+ 262 - 0
src/pages/recruit/index.vue

@@ -0,0 +1,262 @@
+<template>
+  <div>
+    <van-nav-bar title="申请表单" />
+    <van-form @submit="onSubmit" class="w-full">
+      <div class="bg-light-50 w-8/9 px-4 center text-3.7vw rounded-md pb-4">
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>应聘类型</span>
+          <select
+            class="w-7/10 bg-light-100 py-3 pl-2 ml-2"
+            v-model="ruleForm.type"
+          >
+            <option
+              v-for="t in typeList"
+              :key="t.value"
+              :value="t.value"
+              :label="t.name"
+            >
+              {{ t.name }}
+            </option>
+          </select>
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>姓名</span>
+          <input
+            class="pl-2 py-2 ml-2 w-7/9 text-right"
+            v-model="ruleForm.name"
+            label="姓名"
+            placeholder="请填写"
+          />
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>年龄</span>
+          <input
+            class="pl-2 py-2 ml-2 w-7/9 text-right"
+            v-model="ruleForm.age"
+            label="年龄"
+            placeholder="请填写"
+          />
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>个人照片</span>
+          <FileUploadProgress
+            class="w-20vw self-end"
+            v-model="ruleForm.img"
+            :limit="1"
+            :isDisadle="false"
+          ></FileUploadProgress>
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>申报项目</span>
+          <select
+            class="w-7/10 bg-light-100 py-3 pl-2 ml-2 text-right"
+            v-model="ruleForm.sbxm"
+          >
+            <option
+              v-for="t in typeList"
+              :key="t.value"
+              :value="t.value"
+              :label="t.name"
+            >
+              {{ t.name }}
+            </option>
+          </select>
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>毕业院校</span>
+          <input
+            class="pl-2 py-2 ml-2 w-7/10 text-right"
+            v-model="ruleForm.school"
+            label="毕业院校"
+            placeholder="请填写"
+          />
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>所学专业</span>
+          <input
+            class="pl-2 py-2 ml-2 w-7/10 text-right"
+            v-model="ruleForm.major"
+            label="所学专业"
+            placeholder="请填写"
+          />
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500">*</span>
+          <span>专业最高荣誉</span>
+          <input
+            class="pl-2 py-2 ml-2 w-6/10 text-right"
+            v-model="ruleForm.honor"
+            label="专业最高荣誉"
+            placeholder="请填写"
+          />
+        </div>
+        <van-divider />
+        <div class="py-4">
+          <div class="flex items-center w-full">
+            <div class="w-1/2">
+              <p>最高荣誉证书</p>
+              <FileUploadProgress
+                class="w-1/2"
+                v-model="ruleForm.honor_img"
+                :limit="1"
+                :isDisadle="false"
+              ></FileUploadProgress>
+            </div>
+            <div class="w-1/2">
+              <p>教师资格证</p>
+              <FileUploadProgress
+                class="w-1/2"
+                v-model="ruleForm.teacher_img"
+                :limit="1"
+                :isDisadle="false"
+              ></FileUploadProgress>
+            </div>
+          </div>
+          <p class="text-2.6vw text-gray-400">
+            *提示:最高荣誉证书、教师资格证需二选一上传
+          </p>
+        </div>
+        <van-divider />
+        <div class="flex items-center w-full mt-2">
+          <span class="text-red-500"> </span>
+          <span>教师资格更正编号</span>
+          <input
+            class="pl-2 py-2 ml-2 w-6/11 text-right"
+            v-model="ruleForm.school"
+            label="教师资格更正编号"
+            placeholder="请填写"
+          />
+        </div>
+        <van-divider />
+        <div class="w-full my-2">
+          <span class="text-red-500">*</span>
+          <span>身份证</span>
+          <div class="flex">
+            <div class="w-1/2">
+              <FileUploadProgress
+                class="w-1/2 text-center"
+                v-model="ruleForm.idCard_pro"
+                :limit="1"
+                :isDisadle="false"
+              ></FileUploadProgress>
+              <p class="w-1/2 text-center text-2vw text-gray-400">正面</p>
+            </div>
+            <div class="w-1/2">
+              <FileUploadProgress
+                class="w-1/2"
+                v-model="ruleForm.idCard_pro"
+                :limit="1"
+                :isDisadle="false"
+              ></FileUploadProgress>
+              <p class="w-1/2 text-center text-2vw text-gray-400">反面</p>
+            </div>
+          </div>
+        </div>
+        <van-divider />
+        <div class="w-full my-2">
+          <p><span class="text-red-500">*</span> <span>毕业证书</span></p>
+          <FileUploadProgress
+            class="w-1/4 text-center"
+            v-model="ruleForm.diploma"
+            :limit="1"
+            :isDisadle="false"
+          ></FileUploadProgress>
+        </div>
+        <van-divider />
+        <div class="w-full my-2">
+          <p><span class="text-red-500">*</span> <span>教师简介</span></p>
+          <!-- <textarea class="w-full bg-gray-200 rounded" rows="5" maxlength="150" show-word-limit></textarea> -->
+          <van-field
+            v-model="ruleForm.brief"
+            maxlength="150"
+            placeholder="请输入留言"
+            type="textarea"
+            class="bg-gray-200"
+            show-word-limit
+          />
+        </div>
+      </div>
+      <div style="margin: 8vw auto; width: 50vw;">
+        <van-button round block type="primary"> 提交 </van-button>
+      </div>
+    </van-form>
+  </div>
+</template>
+<script setup>
+import { stxk_up } from "./api";
+import FileUploadProgress from "./components/fileUpload.vue";
+// #region 招聘教师类型
+let typeList = $ref([
+  {
+    name: "社团老师",
+    value: "1",
+  },
+  {
+    name: "正式老师",
+    value: "2",
+  },
+]);
+// #endregion
+
+let honorDisadle = $ref(false);
+
+let ruleForm = $ref({
+  type: "",
+  name: "",
+  age: "",
+  img: "",
+  sbxm: "",
+  school: "",
+  major: "",
+  honor: "",
+  honor_img: "",
+  teacher_img: "",
+  idCard_pro: "",
+  idCard_con: "",
+  diploma: "",
+  brief: "",
+});
+
+function onSubmit(){
+    
+}
+
+</script>
+<style lang="scss" scoped>
+.center {
+  margin: 0 auto;
+}
+::v-deep .van-cell {
+  padding: 0 3vw;
+  height: 20vw;
+  .van-cell__value {
+    width: 100%;
+    background-color: #f2f2f2;
+    padding: 1vw;
+    height: 100%;
+    .van-field__body {
+      height: 80%;
+      .van-field__control {
+        height: 100%;
+      }
+    }
+  }
+}
+::v-deep .van-divider {
+  margin: 0;
+}
+</style>

+ 6 - 1
src/pages/stxkjs/stxk_js_classdetail/index.vue

@@ -32,6 +32,10 @@
               <input type="checkbox" v-model="isTellCheck" />
               <p>迟到/缺勤通知家长</p>
             </div>
+            <div class="check">
+              <input type="checkbox" v-model="plusCheck" />
+              <p>补卡</p>
+            </div>
           </div>
           <div class="submit">
             <button @click="submitDM(classdetail.member)">提交</button>
@@ -226,7 +230,8 @@ const fileList = ref([]);
 const redCheck = ref(0); //点名
 const que = ref(0);
 const back = ref(true); //课堂反馈是否提交
-const isTellCheck = ref(true);
+const isTellCheck = ref(false);
+let plusCheck = $ref(false);
 // let pic = ref("");
 
 const classdetail = ref({});

+ 15 - 0
src/router/index.js

@@ -19,6 +19,21 @@ const router = createRouter({
       component: () => import("~/pages/_home/zcdl.vue"),
     },
     {
+      path:'/xszc',
+      name:'xszc',
+      component: () => import("~/pages/_home/xszc.vue"),
+    },
+    {
+      path:'/my_children',
+      name:'my_children',
+      component: () => import("~/pages/myChildren/index.vue"),
+    },
+    {
+      path:'/recruit',
+      name:'recruit',
+      component: () => import("~/pages/recruit/index.vue"),
+    },
+    {
       path: "/chat",
       title: "消息",
       meta: { loginRequest: "true" },

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 2 - 1
src/store/user.js