徐桐章 4 years ago
parent
commit
87a698b437

+ 2 - 1
src/views/candidateManage/candidateList.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 15:25:06
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-07 09:55:05
+ * @LastEditTime: 2020-08-10 14:48:42
 -->
 <template>
   <div class="indexPage">
@@ -44,6 +44,7 @@
       width="600px"
       :before-close="close"
       :show-close="false"
+       :close-on-click-modal="false"
       >
       <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
         <el-form-item label-width="0">

+ 2 - 1
src/views/candidateManage/resumeList.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-30 09:53:19
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-07 11:57:11
+ * @LastEditTime: 2020-08-10 14:49:02
 -->
 <template>
   <div class="indexPage">
@@ -44,6 +44,7 @@
       width="600px"
       :before-close="close"
       :show-close="false"
+      :close-on-click-modal="false"
       >
       <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
         <el-form-item label-width="0">

+ 2 - 2
src/views/companyManage/formManage.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 16:24:44
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-07-31 15:27:56
+ * @LastEditTime: 2020-08-10 14:48:01
 -->
 <template>
   <div class="indexPage">
@@ -19,7 +19,7 @@
       @del="del"
     ></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
-    <el-dialog :visible.sync="dialogFormVisible" width="650px" :before-close="close">
+    <el-dialog :visible.sync="dialogFormVisible" width="650px" :before-close="close" :close-on-click-modal="false">
       <el-form :model="form" ref="form" label-width="140px" :rules="state!==2 ? rules : {}" label-position="left">
         <el-form-item label="表单名称" prop="formName">
           <el-input v-if="state!==2" v-model="form.formName" placeholder="请输入表单名称" autocomplete="off"></el-input>

+ 2 - 2
src/views/companyManage/positionInfo.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 17:19:43
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-03 11:45:15
+ * @LastEditTime: 2020-08-10 14:47:52
 -->
 <template>
   <div class="indexPage">
@@ -19,7 +19,7 @@
       @del="del"
     ></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
-    <el-dialog width="600px" :visible.sync="dialogFormVisible" :before-close="close">
+    <el-dialog width="600px" :visible.sync="dialogFormVisible" :before-close="close" :close-on-click-modal="false">
       <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
         <el-form-item label="职位名称" prop="positionName">
           <el-input v-if="state!==2" v-model="form.positionName" placeholder="请输入职位名称" autocomplete="off"></el-input>

+ 51 - 12
src/views/companyManage/procedureManage.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 16:00:46
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-07 14:22:57
+ * @LastEditTime: 2020-08-10 16:28:03
 -->
 <template>
   <div class="indexPage">
@@ -20,7 +20,7 @@
     ></v-table>
     <!-- :prop="'questionList.' + index + '.questionName'" -->
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
-    <el-dialog :visible.sync="dialogFormVisible" width="660px" :before-close="close">
+    <el-dialog :visible.sync="dialogFormVisible" width="660px" :before-close="close" :close-on-click-modal="false">
       <el-form :model="form" ref="form" label-width="140px" label-position="left">
         <el-form-item label="流程名称" prop="processName" :rules="{
             required: true, message: '问题不能为空', trigger: 'blur'
@@ -31,10 +31,10 @@
         <el-form-item
           v-for="(item, index) in form.questionList"
           :label="'面试问题' + (index + 1)"
-          :key="index"
+          :key="item.key"
           :prop="'questionList.' + index"
           :rules="{
-            required: true, validator: validatePass, trigger: 'blur'
+            required: true, validator: validatePass, trigger: 'change'
           }"
         >
           <div v-if="state!=2">
@@ -71,7 +71,7 @@
       <div slot="footer" class="dialog-footer">
         <el-button @click="close">取 消</el-button>
         <el-button @click="addDomain" type="success">新增</el-button>
-        <el-button type="primary" v-if="state!==2" @click="determine">确 定</el-button>
+        <el-button type="primary" v-if="state!==2" @click="branch">确 定</el-button>
       </div>
     </el-dialog>
   </div>
@@ -81,11 +81,10 @@
 export default {
   data () {
     let validatePass = function (rule, value, callback) {
-      console.log(rule, value)
-      if (!value.questionName.length) {
+      if (!value.questionName || !value.questionName.length) {
         callback(new Error('请输入面试问题'))
       } else {
-        if (!value.videoIdList.length) {
+        if (!value.videoIdList || !value.videoIdList.length) {
           callback(new Error('请选择面试视频'))
         }
         callback()
@@ -101,6 +100,7 @@ export default {
           { key: 1 }
         ]
       },
+      info: {},
       state: 0,
       active: 0,
       activeId: '',
@@ -187,7 +187,8 @@ export default {
         })
         .then((res) => {
           this.open()
-          this.form = res.object
+          this.form = JSON.parse(JSON.stringify(res.object))
+          this.info = res.object
         })
     },
     details (row) {
@@ -223,6 +224,42 @@ export default {
         })
       })
     },
+    branch () {
+      if (this.state) {
+        this.uploadQuestion()
+      } else {
+        this.determine()
+      }
+    },
+    uploadQuestion () {
+      let a
+      this.$refs['form'].validate((valid) => {
+        a = valid
+      })
+      if (!a) return
+      let list = this.form.questionList.filter(item => !item.id)
+      let b = 0
+      list.length
+        ? list.forEach(item => {
+          let reqdata = item
+          reqdata.processId = this.form.id
+          this.$api
+            .post('/question/saveQuestion', {
+              reqdata
+            })
+            .then((res) => {
+              b++
+              item.id = res.object.id
+              // this.form.questionList[this.form.questionList.length - index - 1].id = res.object.id
+              console.log(this.form)
+              // console.log(b, num)
+              if (b === list.length) {
+                this.determine()
+              }
+            })
+        })
+        : this.determine()
+    },
     determine () {
       let a
       this.$refs['form'].validate((valid) => {
@@ -236,9 +273,9 @@ export default {
           item.questionId = item.id
           return item
         })
-        this.delId.forEach(item => {
-          reqdata.questionList.push({ questionId: item })
-        })
+        // this.delId.forEach(item => {
+        //   reqdata.questionList.push({ questionId: item })
+        // })
       }
       this.$api
         .post(url, {
@@ -264,6 +301,8 @@ export default {
       this.dialogFormVisible = false
       this.form = { processName: '', questionList: [] }
       this.form.questionList.push({ key: 1, questionName: '' })
+      this.$forceUpdate()
+      console.log(this.form)
     },
     addDomain () {
       this.form.questionList.push({

+ 2 - 2
src/views/companyManage/sceneManage.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 16:12:21
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-07-31 15:31:14
+ * @LastEditTime: 2020-08-10 14:48:10
 -->
 <template>
   <div class="indexPage">
@@ -19,7 +19,7 @@
       @del="del"
     ></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
-    <el-dialog :visible.sync="dialogFormVisible" width="650px" :before-close="close">
+    <el-dialog :visible.sync="dialogFormVisible" width="650px" :before-close="close" :close-on-click-modal="false">
       <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
         <el-form-item label="场景名称" prop="sceneName">
           <el-input v-if="state!==2" v-model="form.sceneName" placeholder="请输入场景名称" autocomplete="off"></el-input>

+ 2 - 2
src/views/companyManage/templateManage.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 16:28:13
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-07-31 15:27:25
+ * @LastEditTime: 2020-08-10 14:48:18
 -->
 <template>
   <div class="indexPage">
@@ -19,7 +19,7 @@
       @del="del"
     ></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
-    <el-dialog :visible.sync="dialogFormVisible" :before-close="close">
+    <el-dialog :visible.sync="dialogFormVisible" :before-close="close" :close-on-click-modal="false">
       <el-form :model="form" ref="form" label-width="140px" :rules="rules" label-position="left">
         <el-form-item label="模板名称" prop="templateName">
           <el-input v-if="state !== 2" v-model="form.templateName" placeholder="请输入模板名称" autocomplete="off"></el-input>

+ 2 - 2
src/views/companyManage/videoManage.vue

@@ -4,7 +4,7 @@
  * @Autor: XuTongZhang
  * @Date: 2020-07-28 16:06:20
  * @LastEditors: XuTongZhang
- * @LastEditTime: 2020-08-02 16:32:18
+ * @LastEditTime: 2020-08-10 14:48:29
 -->
 <template>
   <div class="indexPage">
@@ -19,7 +19,7 @@
       @del="del"
     ></v-table>
     <v-pager @page="callPage" :total="totalrecords"></v-pager>
-    <el-dialog width="650px" :visible.sync="dialogFormVisible" :before-close="close">
+    <el-dialog width="650px" :visible.sync="dialogFormVisible" :before-close="close" :close-on-click-modal="false">
       <el-form :model="form" ref="form" label-width="100px" :rules="state !== 2 ? rules : {}" label-position="left">
         <el-form-item label="视频名称" prop="videoName">
           <el-input v-if="state!==2" v-model="form.videoName" placeholder="请输入视频名称" autocomplete="off"></el-input>