qinzhipeng_v 5 年之前
父节点
当前提交
2f5eddaf09

+ 48 - 0
src/views/reportManagement/ReleaseReport/newReleaeTemplate.vue

@@ -6,7 +6,28 @@
     element-loading-text="数据上传中,请稍后"
     element-loading-spinner="el-icon-loading"
   >
+
     <el-form ref="fromCreateData" :model="from">
+
+      <div style=" margin-bottom: 10px;">
+        <span style="color: #f56b6c">*</span>
+        <span class="backStyle"> 关联任务</span>
+      </div>
+
+      <el-select v-model="from.taskIds" filterable remote reserve-keyword placeholder="🔍 请输入任务名称或ID" :remote-method="remoteMethod" style="width: 30%" size="small" @change="colseSelect">
+        <el-option v-for="item in tasksOptions" :key="item.id" :label="item.name" :value="item.id" @click.native="tasksChange(item)">
+          <div class="Layout_space_between"><span>{{ item.name }}</span></div>
+        </el-option>
+      </el-select>
+
+      <div v-if="selectTask" class="taskError">关联任务不能为空</div>
+
+      <div v-for="(item, index) in tasksDetailList" :key="index" class="Layout_space_between report-taskList">
+        <span>{{ item.taskIdSting }}</span>
+        <span>{{ item.name }}</span>
+        <i class="el-icon-circle-close didi-hover" @click="delete_task(item)" />
+      </div>
+
       <el-form-item v-if="releaseType" label="模版名称" prop="moduleName" :rules="[{ required: true, message: '模版名称不能为空', trigger: 'change'}]"><br>
         <el-input v-model="from.moduleName" size="small" style="width:100%;" placeholder="请输入模版名称(不可与现有模版重名)" />
       </el-form-item>
@@ -85,6 +106,7 @@ import '@/styles/PublicStyle/index.scss' // 公共css
 import searchTeam from '@/components/select/searchTeam' // 人员搜索
 import normalArea from '@/components/input/normalArea' // 富文本
 import 'tinymce/plugins/table'// 插入表格插件
+import { taskList as allTaskList } from '@/api/taskIndex'
 import iconDisplay from '@/views/reportManagement/ReleaseReport/components/iconDisplay.vue'
 import { settingAddReportModule, settingUpdateReportModule, settingGetReportModuleById, reportreleaseInitReportRelease, reportreleaseCreate, reportreleaseUpdate, reportreleaseGetReportById } from '@/api/reportTemplate' // 模版添删改查
 import { getContainImgHTMLNode } from '@/utils/handleTinymce' // 富文本本图片转换
@@ -106,6 +128,9 @@ export default {
       taskId: [], // 创建准出的任务
       content: {}, // from
       from: {}, // from-date
+      tasksOptions: [], // 关联任务
+      tasksDetailList: [], // 关联任务
+      taskid_arr: [],
       fromData: {},
       modelID: '',
       releaseType: false, // 新建模版还是新建准出报告
@@ -139,6 +164,7 @@ export default {
       handler(newV) {
         if (newV) {
           this.taskId = newV
+          this.judge = true
           this.reportreleaseInitReportRelease()
         }
       },
@@ -205,6 +231,28 @@ export default {
       }
     },
 
+    async remoteMethod(query) { // 远程搜索任务
+      const res = await allTaskList({ bizId: Number(localStorage.getItem('bizId')), name: query })
+      if (res.code === 200) {
+        this.tasksOptions = res.data
+        if (this.judge) {
+          this.tasksDetailList.push(res.data)
+          this.judge = false
+        }
+      }
+    },
+
+    tasksChange(data) { // 任务列表变动
+      const isEx = this.tasksDetailList.find(item => item.id === data.id)
+      if (isEx) {
+        this.$message({ message: '任务已存在', type: 'warning', duration: 1000, offset: 150 })
+        return false
+      }
+      this.tasksDetailList.push(data)
+      this.taskid_arr.push(data.id)
+      this.tasksDetailList.length <= 0 ? this.selectTask = true : this.selectTask = false
+    },
+
     // 创建准出报告
     reportreleaseCreate(val) {
       this.$refs.fromCreateData.validate(async(valid) => {

+ 1 - 1
src/views/reportManagement/daily/dailyTemplate.vue

@@ -19,7 +19,7 @@
         </el-option>
       </el-select>
 
-      <div v-if="selectTask" class="taskError">报告关联任务不能为空</div>
+      <div v-if="selectTask" class="taskError">关联任务不能为空</div>
 
       <div v-for="(item, index) in tasksDetailList" :key="index" class="Layout_space_between report-taskList">
         <span>{{ item.taskIdSting }}</span>