lsc 7 місяців тому
батько
коміт
62a35c9a5b

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.0e52a78682e2991b73e20cbb678e777a.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.35dfb1d95a63059f336f.js></script><script type=text/javascript src=./static/js/app.5b1d0843d1607ea8974e.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.b583502d2243d8d7c99c474cbcedcaa3.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.35dfb1d95a63059f336f.js></script><script type=text/javascript src=./static/js/app.9ef09b679722c30cba92.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/css/app.b583502d2243d8d7c99c474cbcedcaa3.css


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/css/app.b583502d2243d8d7c99c474cbcedcaa3.css.map


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/js/app.9ef09b679722c30cba92.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/js/app.9ef09b679722c30cba92.js.map


Різницю між файлами не показано, бо вона завелика
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


+ 21 - 19
src/components/pages/aiAddCourse/addCourse.vue

@@ -13771,7 +13771,7 @@ export default {
               }
             }
 
-            this.infoData = fileInfo
+            this.teacherInfoData = this.infoData2 = this.infoData = fileInfo
 
             this.$forceUpdate();
             this.courseName = res.data[0][0].title;
@@ -13805,27 +13805,26 @@ export default {
             if(res.data[3].length){
               try {
                 this.aiJson = JSON.parse(res.data[3][0].tips);
-                this.aiJson.teacherDetail2 = this.aiJson.teacherDetail2 ? this.aiJson.teacherDetail2 : '请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。'
-                this.aiJson.aiAbstract = this.aiJson.aiAbstract ? this.aiJson.aiAbstract : '从用户提供的教案资料(文件形式)中,自动总结教案摘要与教案的学科关键词(每个学科3个)。注意,在提取信息方面你绝对不能虚拟出不存在的东西。然后,你基于用户上传的教案,生成项目的驱动性问题和最终作品。'
-                this.aiJson.aiTarget = this.aiJson.aiTarget ? this.aiJson.aiTarget : '从用户提供的教案资料中,提取出课程目标(如不存在课程目标则返回“未提取到目标”。注意,在提取信息方面你绝对不能虚拟出不存在的东西。'
-                this.aiJson.aiSearchFile = this.aiJson.aiSearchFile ? this.aiJson.aiSearchFile : '请根据<关键词>,从你的相应知识库去检索5个最相关的信息。'
-                this.aiJson.aiTarget2 = this.aiJson.aiTarget2 ? this.aiJson.aiTarget2 : '请根据课程标题<课程标题>,**从你的知识库去检索5个最相关的信息**,如果没有相关的信息,请你根据已有的知识,并参考#参考资料中的内容,生成本课程的教学目标。你仅需要输出与课程目标相关的内容。'
-                this.aiJson.aiTargetGet = this.aiJson.aiTargetGet ? this.aiJson.aiTargetGet : '从用户提供的教案资料(文件形式)中,自动提取出课程目标(如不存在课程目标则返回“未提取到目标”。注意,在提取信息方面你绝对不能虚拟出不存在的东西。'
-                this.aiJson.aiOutlineDetail2 = this.aiJson.aiOutlineDetail2 ? this.aiJson.aiOutlineDetail2 : '请参考#参考资料,重新生成该任务,生成内容需包含任务名,任务设计,评价标准。注意,你绝对不能重复已有其他任务,也不要输出其他内容'
-                this.aiJson.aiRateRule = this.aiJson.aiRateRule ? this.aiJson.aiRateRule : '根据<评价维度>和<维度描述>,制定具体的评价细则。 具体的评价细则分为6级——0星,1星,2星,3星,4星,5星。'
-                if(this.templateid == '61c628b9-3d96-11ef-b873-005056b86db5'){
-                  this.aiJson.aiOutlineTask = this.aiJson.aiOutlineTask ? this.aiJson.aiOutlineTask : '请根据<课程名字>以及该课程的<课程简要描述>来为该课程生成100字以内的序列课程任务,序列任务要求彼此连结紧密且没有重复。'
-                  this.aiJson.aiOutlineDetail = this.aiJson.aiOutlineDetail ? this.aiJson.aiOutlineDetail : '参考<课程名字>、<任务名>和<课程简要描述>的内容,为该序列生成任务详情。任务详情中需要包含教学目标,任务设计和评价标准。'
-                }
-                this.aiJson.aiTaskG1 = this.aiJson.aiTaskG1 ? this.aiJson.aiTaskG1 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的任务描述。你的主要任务是输出任务描述,用亲切的口吻告诉学生他们需要做什么。你的输出需要符合# 输出格式与要求'
-                this.aiJson.aiTaskG2 = this.aiJson.aiTaskG2 ? this.aiJson.aiTaskG2 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的互动工具列表。你的任务是,根据教案中提到的学生活动,为学生选择一些平台上有的互动工具,允许他们提交“证据”(即过程性成果)来展示他们的学习进度或者证明他们的学习成果。举例:如果学生活动有观看视频回答问题,那么你就为这一活动匹配选择【问答】工具,允许学生回答问题或者提出他们自己的疑问,如果学生活动有需要学生设计实验或者撰写报告,选用【文档】工具,如果需要学生记录数据,选用【表格】工具,如果需要学生整理或者梳理信息选用【思维导图】,如果需要学生绘制草图,选用【白板】,如果需要学生提交视频,图片,或者ppt,选用【作业提交】。你的输出需要符合# 输出格式与要求'
-                this.aiJson.aiTaskG3 = this.aiJson.aiTaskG3 ? this.aiJson.aiTaskG3 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的目标和评价系统。你最主要的任务是提取教案中目标以及评价标准。你的输出需要符合# 输出格式与要求'
-
                 this.templateid = res.data[3][0].template;
               }catch(error){
                 console.error(error)
               }
             }
+            this.aiJson.teacherDetail2 = this.aiJson.teacherDetail2 ? this.aiJson.teacherDetail2 : '请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。'
+            this.aiJson.aiAbstract = this.aiJson.aiAbstract ? this.aiJson.aiAbstract : '从用户提供的教案资料(文件形式)中,自动总结教案摘要与教案的学科关键词(每个学科3个)。注意,在提取信息方面你绝对不能虚拟出不存在的东西。然后,你基于用户上传的教案,生成项目的驱动性问题和最终作品。'
+            this.aiJson.aiTarget = this.aiJson.aiTarget ? this.aiJson.aiTarget : '从用户提供的教案资料中,提取出课程目标(如不存在课程目标则返回“未提取到目标”。注意,在提取信息方面你绝对不能虚拟出不存在的东西。'
+            this.aiJson.aiSearchFile = this.aiJson.aiSearchFile ? this.aiJson.aiSearchFile : '请根据<关键词>,从你的相应知识库去检索5个最相关的信息。'
+            this.aiJson.aiTarget2 = this.aiJson.aiTarget2 ? this.aiJson.aiTarget2 : '请根据课程标题<课程标题>,**从你的知识库去检索5个最相关的信息**,如果没有相关的信息,请你根据已有的知识,并参考#参考资料中的内容,生成本课程的教学目标。你仅需要输出与课程目标相关的内容。'
+            this.aiJson.aiTargetGet = this.aiJson.aiTargetGet ? this.aiJson.aiTargetGet : '从用户提供的教案资料(文件形式)中,自动提取出课程目标(如不存在课程目标则返回“未提取到目标”。注意,在提取信息方面你绝对不能虚拟出不存在的东西。'
+            this.aiJson.aiOutlineDetail2 = this.aiJson.aiOutlineDetail2 ? this.aiJson.aiOutlineDetail2 : '请参考#参考资料,重新生成该任务,生成内容需包含任务名,任务设计,评价标准。注意,你绝对不能重复已有其他任务,也不要输出其他内容'
+            this.aiJson.aiRateRule = this.aiJson.aiRateRule ? this.aiJson.aiRateRule : '根据<评价维度>和<维度描述>,制定具体的评价细则。 具体的评价细则分为6级——0星,1星,2星,3星,4星,5星。'
+            if(this.templateid == '61c628b9-3d96-11ef-b873-005056b86db5'){
+              this.aiJson.aiOutlineTask = this.aiJson.aiOutlineTask ? this.aiJson.aiOutlineTask : '请根据<课程名字>以及该课程的<课程简要描述>来为该课程生成100字以内的序列课程任务,序列任务要求彼此连结紧密且没有重复。'
+              this.aiJson.aiOutlineDetail = this.aiJson.aiOutlineDetail ? this.aiJson.aiOutlineDetail : '参考<课程名字>、<任务名>和<课程简要描述>的内容,为该序列生成任务详情。任务详情中需要包含教学目标,任务设计和评价标准。'
+            }
+            this.aiJson.aiTaskG1 = this.aiJson.aiTaskG1 ? this.aiJson.aiTaskG1 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的任务描述。你的主要任务是输出任务描述,用亲切的口吻告诉学生他们需要做什么。你的输出需要符合# 输出格式与要求'
+            this.aiJson.aiTaskG2 = this.aiJson.aiTaskG2 ? this.aiJson.aiTaskG2 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的互动工具列表。你的任务是,根据教案中提到的学生活动,为学生选择一些平台上有的互动工具,允许他们提交“证据”(即过程性成果)来展示他们的学习进度或者证明他们的学习成果。举例:如果学生活动有观看视频回答问题,那么你就为这一活动匹配选择【问答】工具,允许学生回答问题或者提出他们自己的疑问,如果学生活动有需要学生设计实验或者撰写报告,选用【文档】工具,如果需要学生记录数据,选用【表格】工具,如果需要学生整理或者梳理信息选用【思维导图】,如果需要学生绘制草图,选用【白板】,如果需要学生提交视频,图片,或者ppt,选用【作业提交】。你的输出需要符合# 输出格式与要求'
+            this.aiJson.aiTaskG3 = this.aiJson.aiTaskG3 ? this.aiJson.aiTaskG3 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的目标和评价系统。你最主要的任务是提取教案中目标以及评价标准。你的输出需要符合# 输出格式与要求'
             if(res.data[0][0].cpote){
               try {
                 this.cpote = JSON.parse(res.data[0][0].cpote);
@@ -13837,14 +13836,14 @@ export default {
               try {
                 this.courseJie = JSON.parse(res.data[0][0].setting).courseJie ? JSON.parse(res.data[0][0].setting).courseJie : 1;
                 this.courseTime = JSON.parse(res.data[0][0].setting).courseTime ? JSON.parse(res.data[0][0].setting).courseTime : 45;
-                this.teacherInfoData = JSON.parse(res.data[0][0].setting).teacherInfoData ? JSON.parse(res.data[0][0].setting).teacherInfoData : [];
+                this.teacherInfoData = JSON.parse(res.data[0][0].setting).teacherInfoData ? this.teacherInfoData.length ? this.teacherInfoData : JSON.parse(res.data[0][0].setting).teacherInfoData : [...this.teacherInfoData];
                 this.teacherCourseText = JSON.parse(res.data[0][0].setting).teacherCourseText ? JSON.parse(res.data[0][0].setting).teacherCourseText : "";
                 this.targetCourseText = JSON.parse(res.data[0][0].setting).targetCourseText ? JSON.parse(res.data[0][0].setting).targetCourseText : "";
                 this.cankaoInfoData = JSON.parse(res.data[0][0].setting).cankaoInfoData ? JSON.parse(res.data[0][0].setting).cankaoInfoData : [];
                 this.mubiaoInfoData = JSON.parse(res.data[0][0].setting).mubiaoInfoData ? JSON.parse(res.data[0][0].setting).mubiaoInfoData : [];
                 this.xuanzeInfoData = JSON.parse(res.data[0][0].setting).xuanzeInfoData ? JSON.parse(res.data[0][0].setting).xuanzeInfoData : [];
                 this.pingjiaInfoData = JSON.parse(res.data[0][0].setting).pingjiaInfoData ? JSON.parse(res.data[0][0].setting).pingjiaInfoData : [];
-                this.infoData2 = JSON.parse(res.data[0][0].setting).infoData2 ? JSON.parse(res.data[0][0].setting).infoData2 : [];
+                this.infoData2 = JSON.parse(res.data[0][0].setting).infoData2 ? this.infoData2.length ? this.infoData2 : JSON.parse(res.data[0][0].setting).infoData2 : [...this.infoData2];
                 this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false;
                 this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1;
                 this.targetCourseText2 = JSON.parse(res.data[0][0].setting).targetCourseText2 ? JSON.parse(res.data[0][0].setting).targetCourseText2 : '';
@@ -13858,6 +13857,9 @@ export default {
                 console.error(error)
               }
             }
+            if(this.teacherInfoData.length){
+              this.isuseT = true
+            }
             if(this.courseText){
               this.courseTextB = false
             }

+ 94 - 26
src/components/pages/test/add/addTest.vue

@@ -25,9 +25,11 @@
                 </div>
                 <div class="step_box" :style="{ width: steps == 2 && '100%' }">
                     <setInfo v-if="steps == 1 && !loading" :oid="oid" :org="org" :steps.sync="steps" :title.sync="title"
-                        :testType.sync="testType" :see.sync="see" :cJson.sync="cJson" :typeid.sync="typeid" :brief.sync="brief" :juri.sync="juri" :overDate.sync="overDate" :juriList.sync="juriList"></setInfo>
-                    <editInfo v-if="steps == 2 && !loading" :oid="oid" :org="org" :steps.sync="steps" :title.sync="title"
-                        :cJson.sync="cJson" @save="save" @publish="publish"></editInfo>
+                        :testType.sync="testType" :see.sync="see" :cJson.sync="cJson" :typeid.sync="typeid"
+                        :brief.sync="brief" :juri.sync="juri" :overDate.sync="overDate" :juriList.sync="juriList" :typeInfo.sync="typeInfo">
+                    </setInfo>
+                    <editInfo v-if="steps == 2 && !loading" :oid="oid" :org="org" :steps.sync="steps"
+                        :title.sync="title" :cJson.sync="cJson" @save="save" @publish="publish"></editInfo>
                 </div>
             </div>
         </div>
@@ -53,13 +55,14 @@ export default {
             testType: [],
             see: false,
             cJson: [],
-            loading:false,
-            look:"",
-            typeid:"",
-            brief:"",
-            juri:'0',
-            overDate:"",
-            juriList:"",
+            loading: false,
+            look: "",
+            typeid: "",
+            brief: "",
+            juri: '0',
+            overDate: "",
+            juriList: "",
+            typeInfo: [],
         }
     },
     watch: {
@@ -95,7 +98,7 @@ export default {
                         if (this.title == "") {
                             this.$message.error("请补充填写课程名称");
                             return;
-                        }else {
+                        } else {
                             this.addWork(5);
                         }
                         // else if(!this.juriList.length){
@@ -106,7 +109,7 @@ export default {
                         if (this.title == "") {
                             this.$message.error("请补充填写课程名称");
                             return;
-                        }else {
+                        } else {
                             this.updateWork(5);
                         }
                         // else if(!this.juriList.length){
@@ -135,6 +138,12 @@ export default {
             this.$router.push(path);
         },
         addWork(look) {
+            let j3 = []
+            if(this.typeInfo.length){
+                this.typeInfo.forEach(e => {
+                    j3.push(e.value)
+                })
+            }
             let params = [
                 {
                     uid: this.userid,
@@ -151,14 +160,15 @@ export default {
                     inviteCode: "",
                     typeid: this.typeid ? this.typeid : '',
                     overtime: this.overDate ? this.formatTime(this.overDate) : '',
-                    j2: this.juriList.length ? this.juriList.join(",") : ''
+                    j2: this.juriList.length ? this.juriList.join(",") : '',
+                    j3: j3.length ? j3.join(",") : '',
                 },
             ];
             this.ajax
-                .post(this.$store.state.api + "addTestCourse", params)
+                .post(this.$store.state.api + "addTestCourse3", params)
                 .then((res) => {
                     this.cid = res.data.courseId;
-                    if(look == 5){
+                    if (look == 5) {
                         this.$message.success("保存成功")
                         this.goTo(
                             "/test?userid=" +
@@ -185,10 +195,16 @@ export default {
             const year = date.getFullYear();
             const month = String(date.getMonth() + 1).padStart(2, '0');
             const day = String(date.getDate()).padStart(2, '0');
-            
+
             return `${year}-${month}-${day}`;
         },
         updateWork(look) {
+            let j3 = []
+            if(this.typeInfo.length){
+                this.typeInfo.forEach(e => {
+                    j3.push(e.value)
+                })
+            }
             let params = [
                 {
                     cid: this.cid,
@@ -206,13 +222,14 @@ export default {
                     look: look == 3 ? 2 : look == 4 ? this.look : look == 5 ? this.look : look,
                     typeid: this.typeid ? this.typeid : '',
                     overtime: this.overDate ? this.formatTime(this.overDate) : '',
-                    j2: this.juriList.length ? this.juriList.join(",") : ''
+                    j2: this.juriList.length ? this.juriList.join(",") : '',
+                    j3: j3.length ? j3.join(",") : '',
                 },
             ];
             this.ajax
-                .post(this.$store.state.api + "updateTestCourse", params)
+                .post(this.$store.state.api + "updateTestCourse3", params)
                 .then((res) => {
-                    if(look == 3){
+                    if (look == 3) {
                         this.$message.success("发布成功")
                         this.goTo(
                             "/test?userid=" +
@@ -224,11 +241,11 @@ export default {
                             "&role=" +
                             this.role
                         );
-                    }else if(look == 4){
+                    } else if (look == 4) {
                         this.$message.success("保存成功")
-                    }else if( look == 1 || look == 2){
+                    } else if (look == 1 || look == 2) {
                         // this.$message.success("保存成功")
-                    }else if(look == 5){
+                    } else if (look == 5) {
                         this.$message.success("保存成功")
                         this.goTo(
                             "/test?userid=" +
@@ -254,7 +271,7 @@ export default {
             if (this.cid == "" || this.cid == undefined) {
                 console.log("这是新增课程");
             } else {
-                if(type != 2){
+                if (type != 2) {
                     this.loading = true
                 }
                 let params = {
@@ -268,6 +285,16 @@ export default {
                         this.juri = res.data[0][0].juri ? res.data[0][0].juri : '0';
                         this.overDate = res.data[0][0].overTime ? res.data[0][0].overTime : '';
                         this.juriList = res.data[0][0].juri2 ? res.data[0][0].juri2.split(',') : [];
+                        let juri3 = res.data[0][0].juri3 ? res.data[0][0].juri3.split(',') : [];
+                        if(juri3.length > 0){
+                            this.typeInfo.forEach(e =>{
+                                let array2 = []
+                                for (var i = 0; i < e.child.length; i++) {
+                                    array2.push(e.child[i].id)
+                                }
+                                e.value = this.arrayToArray(juri3, array2)[0]
+                            })
+                        }
                         this.see = res.data[0][0].open == 1 ? true : false;
 
                         this.typeid = res.data[0][0].typeid;
@@ -279,7 +306,7 @@ export default {
                         console.log(this.testType);
                         this.look = res.data[0][0].look
                         this.$forceUpdate()
-                        if(type != 2){
+                        if (type != 2) {
                             this.loading = false
                         }
                     })
@@ -294,9 +321,50 @@ export default {
         publish() {
             this.updateWork(3)
         },
+        //获取分类类名
+        getTypeInfo() {
+            let params = {
+                oid: this.oid
+            };
+            this.ajax
+                .get(this.$store.state.api + "selectPerInfoAllTea", params)
+                .then((res) => {
+                    this.typeInfo = res.data[0];
+                    let typeInfo = res.data[1];
+                    this.typeInfo.forEach((e) => {
+                        e.child = [];
+                        e.value = '';
+                        typeInfo.forEach((i) => {
+                            if (e.id == i.parentid) {
+                                e.child.push({ id: i.id, name: i.name })
+                            }
+                        })
+                    })
+                    console.log(this.typeInfo, "typeInfo");
+                    this.getData();
+                })
+                .catch((err) => {
+                    console.error(err);
+                });
+        },
+        arrayToArray(arrayo, arrayt) {
+            let array1 = arrayo;
+            let array2 = arrayt;
+
+            let commonElements = [];
+
+            for (let i = 0; i < array1.length; i++) {
+                for (let j = 0; j < array2.length; j++) {
+                if (array1[i] === array2[j]) {
+                    commonElements.push(array1[i]);
+                }
+                }
+            }
+            return commonElements;
+        },
     },
-    mounted () {
-        this.getData();
+    mounted() {
+        this.getTypeInfo();
     },
 }
 </script>

+ 62 - 38
src/components/pages/test/add/setInfo/index.vue

@@ -9,10 +9,11 @@
                             <div>
                                 <div style="width: 100%;">
                                     <div class="course_input_box">
-                                        <div class="bb_courseIcon"><img src="../../../../../assets/icon/new/course.png" />
+                                        <div class="bb_courseIcon"><img
+                                                src="../../../../../assets/icon/new/course.png" />
                                         </div>
-                                        <input @input="titleChange" type="text" placeholder="请输入表单名称" class="binfo_input"
-                                            v-model="courseName"
+                                        <input @input="titleChange" type="text" placeholder="请输入表单名称"
+                                            class="binfo_input" v-model="courseName"
                                             style="border: 1.5px solid rgb(202, 209, 220);margin: 0px 10px 0px 0px;border-radius: 5px;font-weight: 600;padding: 12px 14px 12px 71px;" />
                                         <el-switch v-model="isTeacherSee" active-text="允许回答后查看正确答案"
                                             style="justify-content: center;" @change="seeChange"></el-switch>
@@ -52,7 +53,8 @@
                                     <div class="all_choose" v-for="(item, index) in CourseType[0]" :key="index"
                                         @change="typeChange">
                                         <span v-if="CourseTypeJson[item.id].length > 0">{{ item.name }}:</span>
-                                        <el-checkbox-group v-model="courseTypeId" v-if="CourseTypeJson[item.id].length > 0">
+                                        <el-checkbox-group v-model="courseTypeId"
+                                            v-if="CourseTypeJson[item.id].length > 0">
                                             <el-checkbox v-for="item1 in CourseTypeJson[item.id]" :key="item1.id"
                                                 :label="item1.id">{{
                                                     item1.name }}</el-checkbox>
@@ -60,6 +62,19 @@
                                     </div>
                                 </div>
                             </div>
+                            <div class="whiteBg" style="border-radius: 0; margin-top: 0px;margin-bottom: 10px;" v-if="teaType.length">
+                                <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">设置填写范围
+                                    <span style="font-weight: 500; color: #7F7979E5;">(符合以下所有条件的教师)</span>
+                                </div>
+                                <div class="typeBox" v-for="item in teaType" :key="item.id" style="margin: 0 0 10px">
+                                    <span>{{ item.name + ":" }}</span>
+                                    <el-select v-model="item.value" :placeholder="'请选择' + item.name"
+                                        @change="Ochange">
+                                        <el-option v-for="i in item.child" :key="i.id" :label="i.name" :value="i.id">
+                                        </el-option>
+                                    </el-select>
+                                </div>
+                            </div>
                             <div class="whiteBg" style="border-radius: 0; margin-top: 0px">
                                 <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">表单描述</div>
                                 <div style="width: 100%;box-sizing: border-box;">
@@ -74,12 +89,12 @@
                 </div>
             </div>
         </div>
-        <div class="e_btn" style="display: flex;justify-content: center;margin-top: 10px;" v-show="oid == 'd67940a5-510c-40ea-9c9a-2631ab03013a'">
-            <el-button type="primary" size="mini" @click="nextSteps()"
-            >下一步</el-button
-            >
+        <div class="e_btn" style="display: flex;justify-content: center;margin-top: 10px;"
+            v-show="oid == 'd67940a5-510c-40ea-9c9a-2631ab03013a'">
+            <el-button type="primary" size="mini" @click="nextSteps()">下一步</el-button>
         </div>
-        <div class="whiteBg" style="background:#fff;margin: 10px 0;min-height: 300px;" v-show="oid != 'd67940a5-510c-40ea-9c9a-2631ab03013a'">
+        <div class="whiteBg" style="background:#fff;margin: 10px 0;min-height: 300px;"
+            v-show="oid != 'd67940a5-510c-40ea-9c9a-2631ab03013a'">
             <div class="whiteBg" style="border-radius: 0">
                 <div class="c_info_title">创建表单内容</div>
                 <div class="c_info_box">
@@ -94,7 +109,8 @@
 
                     </div>
                     <div class="c_info_tab_box">
-                        <manualCreate v-if="type == 2" :manualJson.sync="manualJson" @nextSteps="nextSteps"></manualCreate>
+                        <manualCreate v-if="type == 2" :manualJson.sync="manualJson" @nextSteps="nextSteps">
+                        </manualCreate>
                     </div>
                 </div>
             </div>
@@ -168,6 +184,9 @@ export default {
         },
         juriList: {
             type: Array
+        },
+        typeInfo: {
+            type: Array
         }
     },
     data() {
@@ -195,7 +214,8 @@ export default {
             checkList2: [],
             juriDialog: false,
             checkAll: false,
-            ischeckAll: false
+            ischeckAll: false,
+            teaType: []
         }
     },
     computed: {
@@ -208,13 +228,13 @@ export default {
                     for (var i = 0; i < this.classJuri.length; i++) {
                         _people2.push(this.classJuri[i].id);
                     }
-                    for(var i = 0; i < clist.length; i++){
-                        if(_people2.indexOf(clist[i]) !== -1){
+                    for (var i = 0; i < clist.length; i++) {
+                        if (_people2.indexOf(clist[i]) !== -1) {
                             _people3.push(clist[i]);
                         }
                     }
                     for (var i = 0; i < this.classJuri.length; i++) {
-                        if(_people3.indexOf(this.classJuri[i].id) !== -1){
+                        if (_people3.indexOf(this.classJuri[i].id) !== -1) {
                             _people.push(this.classJuri[i].name);
                         }
                     }
@@ -239,6 +259,10 @@ export default {
         },
     },
     methods: {
+        Ochange() {
+            this.$forceUpdate()
+            this.$emit("update:typeInfo", this.teaType)
+        },
         handleClose(done) {
             done();
         },
@@ -370,7 +394,7 @@ export default {
             this.ajax
                 .get(this.$store.state.api + "selectTeacherOfficeBySchool", params)
                 .then((res) => {
-                    this.classJuri = res.data[0].filter((item) => {return item.parentid == '6'});
+                    this.classJuri = res.data[0].filter((item) => { return item.parentid == '6' });
                 })
                 .catch((err) => {
                     this.isLoading = false;
@@ -380,11 +404,11 @@ export default {
         checkJuri() {
             let clist = []
             let clist2 = []
-            for(var i = 0; i< this.classJuri.length;i++){
+            for (var i = 0; i < this.classJuri.length; i++) {
                 clist2.push(this.classJuri[i].id)
             }
-            for(var i = 0; i< this.checkList.length;i++){
-                if(clist2.indexOf(this.checkList[i]) !== -1){
+            for (var i = 0; i < this.checkList.length; i++) {
+                if (clist2.indexOf(this.checkList[i]) !== -1) {
                     clist.push(this.checkList[i])
                 }
             }
@@ -393,36 +417,36 @@ export default {
             this.ischeckAll = !this.checkList2.length;
             this.juriDialog = true
         },
-        checkAllChange(){
-            if(this.checkAll){
+        checkAllChange() {
+            if (this.checkAll) {
                 this.checkList2 = []
-                for(var i = 0; i < this.classJuri.length; i++){
+                for (var i = 0; i < this.classJuri.length; i++) {
                     this.checkList2.push(this.classJuri[i].id)
                 }
                 this.ischeckAll = false
-            }else{
+            } else {
                 this.checkList2 = []
                 this.ischeckAll = true
             }
         },
-        ischeckAllChange(){
-            if(this.ischeckAll){
+        ischeckAllChange() {
+            if (this.ischeckAll) {
                 this.checkAll = false
                 this.checkList2 = []
-            }else{
+            } else {
             }
             this.ischeckAll = !this.checkList2.length;
 
         },
-        pChange(val){
-            if(val.length == this.classJuri.length){
+        pChange(val) {
+            if (val.length == this.classJuri.length) {
                 this.checkAll = true
-            }else{
+            } else {
                 this.checkAll = false
             }
             this.ischeckAll = !this.checkList2.length;
         },
-        confirmCheck(){
+        confirmCheck() {
             this.checkList = JSON.parse(JSON.stringify(this.checkList2));
             this.$emit("update:juriList", this.checkList)
             this.juriDialog = false
@@ -438,7 +462,7 @@ export default {
         this.sJuri = this.depthCopy(this.juri)
         this.selectedDate = this.depthCopy(this.overDate)
         this.checkList = this.depthCopy(this.juriList)
-        
+        this.teaType = this.depthCopy(this.typeInfo)
         this.$forceUpdate()
         // this.selectAllType();
         this.selectType();
@@ -746,19 +770,19 @@ export default {
 }
 
 .people_name>>>.el-checkbox {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  margin-bottom: 10px;
+    width: 100%;
+    display: flex;
+    align-items: center;
+    margin-bottom: 10px;
 }
 
 .people_name>>>.el-checkbox__label {
-  text-overflow: ellipsis;
-  overflow: hidden;
-  width: calc(100%);
+    text-overflow: ellipsis;
+    overflow: hidden;
+    width: calc(100%);
 }
 
 .people_name2>>>.el-checkbox__label {
-  width: calc(100% - 130px);
+    width: calc(100% - 130px);
 }
 </style>

Деякі файли не було показано, через те що забагато файлів було змінено