WXL
2024-07-04 a46f2000f85c91b0e118a0af1bc6022a16feadcb
src/views/followvisit/tasklist/index.vue
@@ -77,7 +77,11 @@
      <el-divider></el-divider>
      <el-row :gutter="10" class="mb8">
        <el-col :span="1.5">
          <el-select v-model="tasktopic" placeholder="请选择新增类型">
          <el-select
            @change="handleQuery"
            v-model="tasktopic"
            placeholder="请选择新增类型"
          >
            <el-option
              v-for="item in taskoptions"
              :key="item.value"
@@ -97,29 +101,7 @@
            >新增</el-button
          >
        </el-col>
        <el-col :span="1.5">
          <el-button
            type="success"
            plain
            icon="el-icon-edit"
            size="medium"
            :disabled="single"
            @click="handleUpdate"
            >修改</el-button
          >
        </el-col>
        <el-col :span="1.5">
          <el-button
            type="danger"
            plain
            icon="el-icon-delete"
            size="medium"
            :disabled="multiple"
            @click="handleDelete"
            v-hasPermi="['system:user:remove']"
            >删除</el-button
          >
        </el-col>
        <el-col :span="19">
          <div class="documentf">
            <div class="document">
@@ -142,12 +124,7 @@
              @queryTable="getList"
              :columns="columns"
            ></right-toolbar> -->
      <el-table
        v-loading="loading"
        :data="userList"
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="50" align="center" />
      <el-table v-loading="loading" :data="userList">
        <el-table-column
          label="序号"
          fixed
@@ -200,15 +177,21 @@
            <span>{{ parseTime(scope.row.createTime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="状态"
          fixed="right"
          align="center"
          key="phonenumber"
          prop="phonenumber"
          key="sendState"
          prop="sendState"
          width="120"
        />
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.task_status"
              :value="scope.row.sendState"
            />
          </template>
        </el-table-column>
        <el-table-column
          label="操作"
          fixed="right"
@@ -366,6 +349,9 @@
  getTaskInfo,
  Editsingletask,
  delTaskInfo,
  Questionnairetasklist,
  Questionnairetaskget,
  Questionnairetasksponsor,
  TaskTemplateSendExecution,
} from "@/api/AiCentre/index";
@@ -374,7 +360,7 @@
export default {
  name: "User",
  dicts: ["sys_normal_disable", "sys_user_sex"],
  dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
  components: { Treeselect },
  data() {
    return {
@@ -453,7 +439,7 @@
          label: "问卷服务",
        },
      ],
      tasktopic: null, //新增类型
      tasktopic: "2", //新增类型
      value: [],
      list: [],
      loading: false,
@@ -640,7 +626,27 @@
  methods: {
    /** 查询任务列表 */
    getList() {
      // this.loading = true;
      this.loading = true;
      this.tasktopic = this.$route.query.tasktopic
        ? this.$route.query.tasktopic
        : this.tasktopic;
      if (this.tasktopic == 1) {
        this.topqueryParams.type = 3;
      } else if (this.tasktopic == 2) {
        this.topqueryParams.type = 1;
      } else if (this.tasktopic == 3) {
        this.topqueryParams.type = 1;
      } else if (this.tasktopic == 4) {
        this.topqueryParams.type = 1;
      } else if (this.tasktopic == 5) {
        this.topqueryParams.type = 1;
      } else if (this.tasktopic == 6) {
        this.topqueryParams.type = 2;
      }
      this.topqueryParams.typename = this.findLabelByValue(
        this.taskoptions,
        this.tasktopic
      );
      getTasklist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
@@ -725,17 +731,42 @@
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.$router.push({
        path: "/followvisit/particty",
        query: { type: this.tasktopic },
      });
      const typename = this.findLabelByValue(this.taskoptions, this.tasktopic);
      if (
        this.tasktopic == 2 ||
        this.tasktopic == 3 ||
        this.tasktopic == 4 ||
        this.tasktopic == 5
      ) {
        this.$router.push({
          path: "/followvisit/particty",
          query: { type: 1, typename: typename },
        });
      } else if (this.tasktopic == 6) {
        this.$router.push({
          path: "/followvisit/QuestionnaireTask",
          query: { type: 2, typename: typename },
        });
      }
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.$router.push({
        path: "/followvisit/particty",
        query: { type: row.hospType, id: row.taskid },
        query: { type: this.tasktopic, id: row.taskid },
      });
      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
        this.$router.push({
          path: "/followvisit/particty",
          query: { type: this.tasktopic, id: row.taskid },
        });
      } else if (this.tasktopic == 6) {
        this.$router.push({
          path: "/followvisit/QuestionnaireTask",
          query: { type: this.tasktopic, id: row.taskid },
        });
      }
    },
    // 删除任务
    deletefn() {},
@@ -771,12 +802,22 @@
    confirmSponsor(row) {
      this.TaskOperation.taskId = row.taskid;
      this.TaskOperation.sendState = 2;
      this.taskType();
      TaskTemplateSendExecution(this.TaskOperation).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("任务已成功加入执行队列");
          this.taskformVisible = false;
          this.getList();
        }
      });
    },
    // 判断类型
    taskType(row) {
      if (this.tasktopic == 2 || this.tasktopic == 3) {
        this.TaskOperation.taskType = 1;
      } else if (this.tasktopic == 6) {
        this.TaskOperation.taskType = 2;
      }
    },
    // 立即执行
    immediateExecution(row) {
@@ -813,7 +854,8 @@
      if (row.sendState == 2) {
        this.TaskOperation.taskId = row.taskId;
        this.TaskOperation.sendState = 3;
        TaskTemplateSendExecution().then((res) => {
        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
          this.$modal.msgSuccess("任务已暂停");
          this.getList();
        });
      }
@@ -863,6 +905,10 @@
        `user_${new Date().getTime()}.xlsx`
      );
    },
    findLabelByValue(data, value) {
      const item = data.find((item) => item.value === value);
      return item ? item.label : null;
    },
  },
};
</script>