Browse Source

fix:协同模式带来的表单提交问题

wjj 4 years ago
parent
commit
ac0ab6e4d7
2 changed files with 16 additions and 20 deletions
  1. 14 10
      src/components/task/Task.vue
  2. 2 10
      src/components/task/TaskCreate.vue

+ 14 - 10
src/components/task/Task.vue

@@ -41,7 +41,7 @@
               <span class="badge" v-if="!isModifyMode">{{ task.serviceType }}</span>
             </el-form-item>
 
-            <el-form-item label="协同模式" prop="collaborativeType" style="width:700px;">
+            <el-form-item label="协同模式" prop="collaborativeType" style="width:700px;" v-if="currType.type==1">
               <el-radio-group v-model="task.endPoint.collaborativeType" v-if="isModifyMode">
                 <el-radio :label="0">协同</el-radio>
                 <el-radio :label="1">非协同</el-radio>
@@ -49,7 +49,7 @@
               <span v-if="!isModifyMode">{{ task.endPoint.collaborativeType ? '非协同' : '协同' }}</span>
             </el-form-item>
 
-            <el-form-item label="任务可见性" prop="resource" style="width: 700px;">
+            <el-form-item label="任务可见性" prop="resource">
               <div v-if="!isModifyMode">
                 <!--<div v-if="task.resource=='1'">{{updateLocation(task.location)}}</div>-->
                 <div v-if="task.resource==0">定向</div>
@@ -58,7 +58,6 @@
               <el-tabs
                 :tab-position="tabPosition"
                 v-model="task.resource"
-                style="max-height: 200px;"
                 v-if="isModifyMode"
               >
                 <el-tab-pane :label="resourceType[0]" name="0">
@@ -83,6 +82,7 @@
             <el-form-item v-if="!isModifyMode && task.resource==0 && showBD" label="接包人员/机构" prop="agencyName" style="width: 700px;">
               <span>{{task.agencyName}}</span>
             </el-form-item>
+
             <el-form-item label="领取人数" prop="contactPhone" v-if="isModifyMode&&task.resource !== '0' && currType.type===0">
               <el-input-number v-model="task.participantCount" :min="1" :max="1000" label="领取人数"></el-input-number>
             </el-form-item>
@@ -125,7 +125,7 @@
             </span>
             </el-form-item>
 
-            <el-form-item label="三级菜单" prop="threePageUrl" class="three-page-upload">
+            <el-form-item label="三级菜单" prop="threePageUrl" class="three-page-upload" v-if="currType.type==1">
               <el-upload
                 style="width: 400px"
                 v-if="isModifyMode"
@@ -137,7 +137,7 @@
                 :limit="1"
                 :on-exceed="handleExceed"
                 :http-request="uploadRequireDoc"
-                :file-list="task.endPoint.threePageUrl"
+                :file-list="task.threePageList"
               >
                 <i class="el-icon-upload"></i>
                 <div class="el-upload__text">
@@ -403,7 +403,8 @@ export default {
           token: '',
           threePageUrl:''
         },
-        writeReportUrl:''
+        writeReportUrl:'',
+        threePageList: []
       },
       reportList: [],
       pickerOptions: {
@@ -546,20 +547,22 @@ export default {
 
     handleTestTypeChange(val) {
       let type = this.serviceType.filter((item) => {
-        return item.code === val;
+        return item.name === val;
       });
+      console.log(type,val)
       this.currType = type[0] ? type[0] : {};
       if (this.currType.type === 0) {
         this.$refs.task.clearValidate('endPoint');
+      } else {
+        this.task.resource = '2'
       }
     },
     init() {
       console.log(CONFIG)
-
       this.taskId = this.$route.params.taskId
       this.projectId = this.$route.params.projectId
       this.setUserInfo()
-      // this.setServiceType()
+      this.setServiceType()
       //this.loadData(this.projectId, this.taskId)
       this.getTaskDetail()
       this.getWordCloud()
@@ -699,6 +702,7 @@ export default {
       this.crowdReportUrl = res.crowdTaskVO.writeReportUrl;
       this.handleFormatReport(this.acceptedUserList);
       this.handleTestTypeChange(res.crowdTaskVO.serviceType);
+      this.handleTestTypeChange(res.crowdTaskVO.serviceType);
       // this.serviceName = this.getServiceByCode(res.crowdTaskVO.serviceType);
       if (res.crowdTaskVO.endPointVO) {
         if (res.crowdTaskVO.endPointVO.token) {
@@ -831,7 +835,7 @@ export default {
       formData.append('file', param.file)
       Http.upload(Apis.FILE.REQUIREMENT_FILE.replace('{userId}', this.user.userVO.id), formData, config).then((res) => {
         notify('success', '上传成功')
-        this.uploadRequireDocSuccess(res)
+        this.uploadRequirecSuccess(res)
       }).catch((error) => {
         notify('error', '上传失败:' + error.data)
         this.uploadRequireDocFail(error)

+ 2 - 10
src/components/task/TaskCreate.vue

@@ -35,8 +35,8 @@
           </el-radio-group>
         </el-form-item>
 
-        <el-form-item label="任务可见性" prop="resource" style="width:1000px;" v-if="currType.type==0">
-          <el-tabs :tab-position="tabPosition" v-model="task.resource" style="width: 800px">
+        <el-form-item label="任务可见性" prop="resource" style="width:1000px;">
+          <el-tabs :tab-position="tabPosition" v-model="task.resource">
             <el-tab-pane :label="resourceType[0]" name="0">
               <el-radio-group v-model="task.institution">
                 <el-radio
@@ -60,14 +60,6 @@
           </el-tabs>
         </el-form-item>
 
-        <el-form-item label="任务可见性" prop="resource" style="width:700px;"
-                      v-if="currType.type ==1"
-                      required>
-          <el-tabs :tab-position="tabPosition" v-model="task.resource" value='2' style="width: 800px">
-            <el-tab-pane :label="resourceType[2]" name="2"></el-tab-pane>
-          </el-tabs>
-        </el-form-item>
-
         <el-form-item label="领取人数" prop="contactPhone" v-if="task.resource !== '0' && currType.type===0">
           <el-input-number v-model="task.participantCount" :min="1" :max="1000" label="领取人数"></el-input-number>
         </el-form-item>