lrf402788946 před 5 roky
rodič
revize
18b4c47ca2
3 změnil soubory, kde provedl 91 přidání a 56 odebrání
  1. 16 6
      src/views/teacher/index.vue
  2. 74 49
      src/views/teacher/verify.vue
  3. 1 1
      vue.config.js

+ 16 - 6
src/views/teacher/index.vue

@@ -56,29 +56,39 @@ export default {
     ],
     fields: [
       { label: '姓名', prop: 'name' },
-      { label: '性别', prop: 'gender' },
+      { label: '性别', prop: 'gender', options: { width: `80px` } },
       { label: '手机号', prop: 'phone' },
 
       { label: '学校名称', prop: 'schname' },
       { label: '邮箱', prop: 'email' },
-      { label: '年龄', prop: 'age' },
+      { label: '年龄', prop: 'age', options: { width: `80px` } },
 
       { label: '专业', prop: 'major' },
       {
         label: '是/否是礼仪老师',
-        prop: 'is_etiquette_teacher',
+        prop: 'islyteacher',
         format: item => {
           return item === '0' ? '否' : item === '1' ? '是' : '其他';
         },
       },
-      { label: '资料评分', prop: 'file_score' },
-      { label: '面试评分', prop: 'interview_score' },
+      { label: '资料评分', prop: 'file_score', options: { width: `100px` } },
+      { label: '面试评分', prop: 'interview_score', options: { width: `100px` } },
 
       {
         label: '状态',
         prop: 'status',
         format: item => {
-          return item === '0' ? '注册' : item === '1' ? '确定身份' : item === '2' ? '资料评分' : item === '3' ? '面试评分' : item === '4' ? '确认入库' : '其他';
+          return item === '0'
+            ? '注册'
+            : item === '1'
+            ? '已确定身份'
+            : item === '2'
+            ? '已上传资料'
+            : item === '3'
+            ? '已选择面试'
+            : item === '4'
+            ? '确认入库'
+            : '其他';
         },
       },
     ],

+ 74 - 49
src/views/teacher/verify.vue

@@ -1,19 +1,57 @@
 <template>
   <div id="detail">
     <detail-frame :title="mainTitle" returns="./index">
-      <!-- <data-form :fields="fields" :rules="rules" @save="handleSave" :isNew="isNew" :data="info">
-        <template #custom="{ item, form, fieldChange }">
-          {{ status }}
-
-          <el-col :span="24"></el-col>
-        </template>
-      </data-form> -->
-      <el-form label-width="80px">
-        <el-col :span="24" class="state"> 状态{{ status }}</el-col>
-        <el-form-item>
-          <el-col class="anniu"><el-button type="mini" @click="handleSave">审核通过</el-button></el-col>
-        </el-form-item>
-      </el-form>
+      <el-card>
+        <el-form label-width="120px">
+          <el-tabs v-model="tabs">
+            <el-tab-pane label="基本信息" name="1">
+              <el-form-item label="姓名">{{ info.name }}</el-form-item>
+              <el-form-item label="学校">{{ info.schname }}</el-form-item>
+              <el-form-item label="性别">{{ info.gender }}</el-form-item>
+            </el-tab-pane>
+            <el-tab-pane label="教师资格" name="2">
+              <el-form-item label="职业资格证号" prop="zynumber">
+                {{ info.zynumber }}
+              </el-form-item>
+              <el-form-item label="职业资格证图片" prop="zynumberfile" v-if="info.zynumberfile">
+                <pic :src="info.zynumberfile"></pic>
+              </el-form-item>
+            </el-tab-pane>
+            <el-tab-pane label="教学资料" name="3">
+              <template v-if="info.file">
+                <template v-for="(file, findex) in info.file">
+                  <template v-if="file.type === '文件'">
+                    <template v-for="(url, uindex) in file.url">
+                      <el-form-item :key="`${findex}-${uindex}`">
+                        <el-tooltip content="点击下载" placement="top" effect="dark">
+                          <el-button type="text">{{ url.name }}</el-button>
+                        </el-tooltip>
+                      </el-form-item>
+                    </template>
+                  </template>
+                  <template v-else>
+                    <template v-for="(url, uindex) in file.url">
+                      <el-form-item :key="`${findex}-${uindex}`">
+                        <video width="320" height="240" controls="controls" :key="`${findex}-${uindex}`">
+                          <source :src="url.uri" />
+                        </video>
+                      </el-form-item>
+                    </template>
+                  </template>
+                </template>
+              </template>
+            </el-tab-pane>
+          </el-tabs>
+          <el-row type="flex" justify="center" :gutter="20">
+            <el-col :span="4">
+              <el-form-item label="资料评分">
+                <el-input type="number" size="small" v-model="info.zlscore" placeholder="请填写资料评分" :min="0" :max="100"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="5"><el-button size="mini" type="primary" plain @click="handleSave">通知面试</el-button></el-col>
+          </el-row>
+        </el-form>
+      </el-card>
     </detail-frame>
   </div>
 </template>
@@ -21,34 +59,44 @@
 <script>
 import detailFrame from '@frame/layout/admin/detail-frame';
 import dataForm from '@frame/components/form';
-import upload from '@frame/components/upload';
+import pic from '@frame/components/pic';
 import { createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('teacher');
 
 export default {
-  metaInfo: { title: '题库详情页' },
+  metaInfo: { title: '教师资料审核' },
   name: 'detail',
-  form: {
-    name: '',
-    region: '',
-    date1: '',
-    date2: '',
-    delivery: false,
-    type: [],
-    resource: '',
-    desc: '',
-  },
+  form: {},
   props: {},
   components: {
     detailFrame,
+    pic,
     // dataForm,
   },
   data: () => ({
-    info: {},
+    tabs: '1',
+    info: {
+      zlscore: 0,
+    },
     fields: [{ label: '状态', required: true, model: 'status', custom: true }],
     rules: {},
   }),
   created() {},
+  methods: {
+    ...mapActions(['fetch', 'create', 'update']),
+    async search() {
+      const res = await this.fetch(this.id);
+      if (this.$checkRes(res)) this.$set(this, `info`, res.data);
+      this.loading = false;
+    },
+    async handleSave() {
+      let res;
+      let msg;
+      res = await this.update({ status: '3', id: this.id, zlscore: this.info.zlscore || 0 });
+      msg = `${this.keyWord}审核成功`;
+      if (this.$checkRes(res, msg)) this.$router.push({ path: '/teacher/index' });
+    },
+  },
   computed: {
     status() {
       return this.info.status == '2' ? '资料评分' : this.info.status == '3' ? '面试评分' : '其他';
@@ -81,29 +129,6 @@ export default {
       },
     },
   },
-  methods: {
-    ...mapActions(['fetch', 'create', 'update']),
-    async search() {
-      const res = await this.fetch(this.id);
-      if (this.$checkRes(res)) this.$set(this, `info`, res.data);
-      this.loading = false;
-    },
-    async handleSave({ isNew, data }) {
-      let res = +this.info.status + 1;
-
-      let msg;
-      if (isNew) {
-        res = await this.create(data);
-        msg = `${this.keyWord}添加成功`;
-      } else {
-        console.log({ status: res, id: this.$route.query.id });
-        res = await this.update({ status: res, id: this.$route.query.id });
-        console.log(res);
-        msg = `${this.keyWord}审核成功`;
-      }
-      if (this.$checkRes(res, msg)) this.$router.push({ path: '/teacher/index' });
-    },
-  },
 };
 </script>
 

+ 1 - 1
vue.config.js

@@ -29,7 +29,7 @@ module.exports = {
         ws: true,
       },
       '/files': {
-        target: 'http://smart.cc-lotus.info',
+        target: 'http://free.liaoningdoupo.com',
         changeOrigin: true,
         ws: true,
       },