<template>
  <div class="app-container">
    <el-row :gutter="10">
      <!--机构数据-->

      <!--搜索栏-->
      <el-col :span="24" :xs="24">
        <div class="main-right-box">
          <div class="main-search-box">
            <el-form
              :model="queryParams"
              ref="queryForm"
              size="small"
              :inline="true"
              v-show="showSearch"
            >
              <el-form-item label="行社名称">
                <org-tree
                  v-model="queryParams.orgId"
                  @defaultKey="getDefaultKey"
                  @defaultOrg="getDefaultOrg"
                  @checkChange="checkChange"
                  @click="clickTreeNode"
                  :defaultCheckSub="false"
                  hangsheTree
                  ref="orgTree"
                ></org-tree>
              </el-form-item>
              <el-form-item label="任务名称" prop="planName">
                <el-input
                  v-model="queryParams.planName"
                  placeholder="请输入关键字"
                  maxlength="50"
                  clearable
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="机构类型" prop="orgType">
                <el-select
                  style="width: 100%"
                  v-model="queryParams.orgType"
                  placeholder="请选择机构类型"
                  clearable
                  @change="changeSelect"
                >
                  <el-option
                    v-for="dict in dict.type.monitor_org"
                    :key="dict.value"
                    :label="dict.label"
                    :value="`${dict.value}`"
                  ></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="调阅人员" prop="roleId">
                <el-select
                  v-model="queryParams.roleId"
                  placeholder="请选择用户角色"
                  clearable
                >
                  <el-option
                    v-for="item in roleList"
                    :key="item.id"
                    :label="item.roleName"
                    :value="item.id"
                  ></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="任务周期" prop="planCycle">
                <el-select
                  style="width: 100%"
                  v-model="queryParams.planCycle"
                  placeholder="请选择任务周期"
                  clearable
                >
                  <el-option
                    v-for="dict in dict.type.sys_access_cycle"
                    :key="dict.value"
                    :label="dict.label"
                    :value="`${dict.value}`"
                  ></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="任务状态" prop="planStatus">
                <el-select
                  style="width: 100%"
                  v-model="queryParams.planStatus"
                  placeholder="请选择任务状态"
                  clearable
                >
                  <el-option
                    v-for="dict in dict.type.edu_plan_status"
                    :key="dict.value"
                    :label="dict.label"
                    :value="`${dict.value}`"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-form>
            <el-row :gutter="10">
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  icon="el-icon-search"
                  size="mini"
                  @click="handleQuery"
                  v-hasPermi="['core:accessPlan:list']"
                  >搜索
                </el-button>
              </el-col>
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  icon="el-icon-refresh"
                  size="mini"
                  @click="resetQuery"
                  >重置</el-button
                >
              </el-col>
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  icon="el-icon-plus"
                  size="mini"
                  @click="handleAdd"
                  v-hasPermi="['core:accessPlan:add']"
                  >新增任务
                </el-button>
              </el-col>
              <right-toolbar
                :showSearch.sync="showSearch"
                @queryTable="getList"
              ></right-toolbar>
            </el-row>
          </div>
          <el-table
            border
            height="600"
            size="small"
            v-loading="loading"
            :data="planList"
            row-key="id"
          >
            <el-table-column
              label="序号"
              type="index"
              align="center"
              width="80"
            >
              <template slot-scope="scope">
                <span>{{
                  (queryParams.pageNum - 1) * queryParams.pageSize +
                  scope.$index +
                  1
                }}</span>
              </template>
            </el-table-column>
            <el-table-column
              width="140"
              label="任务名称"
              align="center"
              prop="planName"
            />
            <el-table-column
              width="140"
              label="创建机构"
              align="center"
              prop="orgName"
            />
            <el-table-column
              width="140"
              label="行社名称"
              align="center"
              prop="organization"
            />
            <el-table-column
              label="机构类型"
              align="center"
              key="orgType"
              prop="orgType"
            >
              <template slot-scope="scope">
                <dict-tag
                  :options="dict.type.sys_org_type"
                  :value="scope.row.orgType"
                />
              </template>
            </el-table-column>
            <el-table-column label="调阅人员" align="center" prop="roleName" />

            <el-table-column
              label="任务周期"
              align="center"
              key="planCycle"
              prop="planCycle"
            >
              <template slot-scope="scope">
                <dict-tag
                  :options="dict.type.sys_access_cycle"
                  :value="scope.row.planCycle"
                />
              </template>
            </el-table-column>
            <el-table-column
              label="任务次数"
              align="center"
              prop="planFrequency"
            />

            <el-table-column
              label="任务状态"
              align="center"
              key="planStatus"
              prop="planStatus"
            >
              <template slot-scope="scope">
                <dict-tag
                  :options="dict.type.edu_plan_status"
                  :value="scope.row.planStatus"
                />
              </template>
            </el-table-column>

            <el-table-column
              label="操作"
              fixed="right"
              width="220px"
              align="center"
              class-name="small-padding fixed-width"
            >
              <template slot-scope="scope">
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-arrow-down"
                  v-show="
                    scope.row.parentId == null &&
                    scope.row.orgId == isEdit &&
                    scope.row.isDistribute == 0 &&
                    (scope.row.planStatus == 0 || scope.row.planStatus == 2)
                  "
                  @click="handDistribute(scope.row)"
                  v-hasPermi="['core:accessPlan:release']"
                  >下发
                </el-button>
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-top-left"
                  v-show="
                    scope.row.orgId == isEdit &&
                    scope.row.isDistribute == 1 &&
                    scope.row.planStatus == 1 &&
                    scope.row.parentId == null
                  "
                  @click="handWithdraw(scope.row)"
                  v-hasPermi="['core:accessPlan:withdraw']"
                  >撤回
                </el-button>
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-edit-outline"
                  @click="handleUpdate(scope.row)"
                  v-show="scope.row.orgId == isEdit"
                  v-hasPermi="['core:accessPlan:edit']"
                  >编辑
                </el-button>

                <el-button
                  size="mini"
                  type="text"
                  v-if="
                    scope.row.parentOrgId == isEdit &&
                    scope.row.parentId == null
                  "
                  icon="el-icon-delete"
                  @click="handleDelete(scope.row)"
                  v-hasPermi="['core:accessPlan:remove']"
                  >删除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.pageNum"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
        </div>
      </el-col>
    </el-row>

    <!-- 添加或修改监控调阅计划对话框 -->
    <DialogCom :title="title" :visible.sync="open" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
        <el-form-item label="任务名称" prop="planName">
          <el-input
            v-model="form.planName"
            placeholder="请输入任务名称"
            maxlength="50"
            :disabled="form.isEdit"
          />
        </el-form-item>

        <el-form-item label="机构类型" prop="orgType">

          <el-select
          :disabled="form.isEdit || form.isComplete"
            style="width: 100%"
            v-model="form.orgType"
            placeholder="请选择机构类型"
            @change="changeSelect"
          >
            <el-option
              v-for="dict in dict.type.monitor_org"
              :key="dict.value"
              :label="dict.label"
              :value="`${dict.value}`"

            ></el-option>
          </el-select>
        </el-form-item>
       
        <el-form-item label="调阅周期" prop="planCycle">
          <el-select
          :disabled="form.isEdit || form.isComplete"
            style="width: 100%"
            v-model="form.planCycle"
            placeholder="请选择调阅周期"
            @change="planCycleChanged"
          >
            <el-option
              v-for="dict in dict.type.sys_access_cycle"
              :key="dict.value"
              :label="dict.label"
              :value="`${dict.value}`"

            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="调阅人员" prop="roleId">
          <el-select
          :disabled="form.isEdit || form.isComplete"
            style="width: 100%"
            v-model="form.roleId"
            placeholder="请选择用户角色"
            @change="changeSelectOrgType"
          >
            <el-option
              v-for="item in roleList"
              :key="item.id"
              :label="item.roleName"
              :value="item.id"

            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item
          label="调阅次数"
          prop="planFrequency"
          v-if="form.isEdit == true"
        >
          <el-input
            type="number"
            @change="numChange"
            v-model.number="form.planFrequency"
            placeholder="请输入调阅次数"
            :disabled="form.isComplete"
          />
        </el-form-item>
        <el-form-item
          label="调阅次数"
          prop="planFrequency"
          v-if="form.isEdit == false || form.isEdit == null"
        >
          <el-input
            type="number"
            :min="1"
            oninput="if(value<0)value=1"
            v-model.number="form.planFrequency"
            placeholder="请输入调阅次数"
            :disabled="form.isComplete"
          />
        </el-form-item>
        <!-- <el-form-item
          label="立即生效"
          prop="immediately"
          v-if="form.planCycle != 0 && this.issue == null"
        >
          <el-checkbox
            v-model="form.immediately"
            :disabled="form.isEdit || form.isComplete"
          >
            默认从下个周期生成任务，
            <br />
            勾选后从当前周期立即生成任务
          </el-checkbox>
        </el-form-item> -->
        <el-form-item
          prop="startTime"
          v-if="form.planCycle == 0"
          label="开始日期"
        >
          <el-date-picker
            style="width: 100%"
            v-model="form.startTime"
            @change="startDateChanged"
            :picker-options="startDatepickerOptions"
            align="right"
            type="date"
            placeholder="选择开始日期"
            :disabled="form.isEdit || form.isComplete"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item
          prop="endTime"
          v-if="form.planCycle == 0"
          label="结束日期"
        >
          <el-date-picker
            style="width: 100%"
            v-model="form.endTime"
            :picker-options="endDatepickerOptions"
            align="right"
            type="date"
            placeholder="选择结束日期"
            :disabled="form.isEdit || form.isComplete"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item
          v-show="form.orgType"
          label="调阅机构"
          prop="planExecOrgIdList">
        <org-tree-select
            v-model="form.planExecOrgIdList"
            :queryData="form.orgType"
            ref="orgTreeSelect"
            checkShow="true"  
            :enabledCheckOrgTypes="parseInt(form.orgType)"
            :disabled="form.isComplete"                
          >
          </org-tree-select>
        </el-form-item>
        <el-form-item label="备注" prop="description">
          <el-input
            v-model="form.description"
            type="textarea"
            placeholder="请输入备注"
            maxlength="200"
            :disabled="form.isEdit || form.isComplete"
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>

      </div>
    </DialogCom>
    <DialogThreeState ref="DialogThreeState"> </DialogThreeState>
  </div>
</template>

<script>
import {
  listPlan,
  getPlan,
  delPlan,
  addPlan,
  updatePlan,
  distribute,
  withdraw,
} from "@/api/core/accessPlan";
import OrgTreeSelect from "@/components/orgTreeSelect";
import { listRole, findRoleByType, getRole, allRole } from "@/api/system/role";
import tableList from "@/mixins/tableList";
import orgTree from "@/components/orgTree/orgQuerySelector.vue";
import { deptTreeSelect } from "@/api/system/public";
import KFileUpload from "@/components/K-FileUpload/index.vue";
import { mapGetters } from "vuex";
import DialogThreeState from "@/components/message/threeStateMessageBox.vue";
import * as api from "@/api/core/accessPlan";
export default {
  dicts: [
    "sys_org_type",
    "sys_access_cycle",
    "sys_normal_disable",
    "plan_status",
    "is_full",
    "edu_plan_status",
    "monitor_org",
  ],

  name: "Plan",

  components: {
    orgTree,
    DialogThreeState,
    OrgTreeSelect,
  },

  data() {
    return {
      startDatepickerOptions: {
        disabledDate(time) {
          const date = new Date();
          date.setTime(date.getTime() - 3600 * 1000 * 24);
          return time.getTime() < date;
        },
      },
      endDatepickerOptions: {
        disabledDate: this.disabledDate,
      },
      // 遮罩层
      loading: true,
      // 选中数组
      ids: [],
      names: [],
      // 非单个停用
      single: true,
      // 非多个停用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 监控调阅计划表格数据
      planList: [],
      check: null,
      //角色列表
      roleList: [],
      allRoleList:[],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        planName: null,
        orgId: null,
        orgPath: null,
        orgName: null,
        orgType: null,
        roleId: null,
        planCycle: null,
        planFrequency: null,
        planStatus: null,
        description: null,
        isDeleted: null,
        isDistribute: null,
        checkSub: false,
      },
      // 表单参数
      form: {
        isEdit: null,
        parentOrgId: null,
        isComplete: null,
        parentFrequency: null,
      },
      isEdit: null,
      isComplete: null,
      // 表单校验
      rules: {
        planName: [
          { required: true, message: "请输入任务名称", trigger: "change" },
        ],
        orgType: [
          { required: true, message: "请选择机构类型", trigger: "change" },
        ],
        planCycle: [
          { required: true, message: "请选择调阅周期", trigger: "change" },
        ],
        roleId: [
          { required: true, message: "请选择调阅人员", trigger: "change" },
        ],
        planFrequency: [
          { required: true, message: "请选择调阅频次", trigger: "change" },
        ],
        startTime: [{ required: true, message: "请选择开始日期" }],
        endTime: [{ required: true, message: "请选择结束日期" }],
      },
      initNum: null,
      issue: null,
    };
  },

  computed: {
    ...mapGetters(["orgId"]),
  },

  created() {
    allRole().then((response) => {
      this.roleList = response.data;
      this.allRoleList=response.data;
    });
  },

  methods: {
    numChange(value) {
      if (value <= 0) this.form.planFrequency = 0;
      if (value <= this.initNum) this.form.planFrequency = this.initNum;
      //value = parseInt(value);
    },

    getPageIndex($index) {
      //表格序号
      return (
        (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
      );
    },
    getDefaultOrg(org) {
      this.orgName = org.name;
    },
    /** 查询监控调阅计划列表 */
    getList() {
      this.loading = true;
      listPlan(this.queryParams).then((response) => {
        this.planList = response.data.rows;
        this.check = response.check;
        this.isEdit = response.isEdit;
        this.xf = response.xf;
        this.total = response.data.total;
        this.loading = false;
      });
    },
    // 取消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // 表单重置
    reset() {
      this.form = {
        id: null,
        planName: null,
        orgId: null,
        orgPath: null,
        orgName: null,
        orgType: "4",
        roleId: "121",
        planCycle: "2",
        planFrequency: 1,
        planStatus: "0",
        immediately: false,
        createTime: null,
        createBy: null,
        updateTime: null,
        updateBy: null,
        description: null,
        isDeleted: null,
      };
      this.resetForm("form");
    },
    getDefaultKey(key) {
      this.queryParams.orgId = key;
      this.getList();
    },
    //单选框状态改变
    checkChange(state) {
      this.queryParams.checkSub = state;
      this.handleQuery();
    },
    startDateChanged(time) {
      if (this.form.startTime > this.form.endTime) {
        this.form.endTime = this.form.startTime;
      }
    },
    planCycleChanged()
    {
      if(this.form.planCycle!=0)
      {
        this.form.startTime=null;
        this.form.endTime=null;
      }
      
    },
    disabledDate(time) {
      //小于开始日期禁止选择
      let startTime = new Date();
      startTime.setTime(startTime.getTime() - 3600 * 1000 * 24);
      if (this.form.startTime) {
        startTime = new Date(
          this.formatTime(this.form.startTime, "YYYY-MM-DD")
        );
        startTime.setTime(startTime.getTime() - 3600 * 1000 * 24);
      }
      return time.getTime() < new Date(startTime).getTime();
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    // 节点单击事件
    clickTreeNode(data) {
      //this.initPlanRoleList();
      this.queryParams.orgId = data.id;
      this.handleQuery();
    },
    changeSelectOrgType(val) {
      getRole(val).then((response) => {
        this.form.orgType = response.data.orgType;
      });
    },
    changeSelect(val) {
      if(!val) {
        this.roleList=this.allRoleList;
        return;
      };
      findRoleByType(val).then((response) => {
        this.roleList = response;
        this.queryParams.roleId = null;
        this.form.roleId = null;
      });
    },
    /** 查询机构树数据 */
    getDeptTree() {
      deptTreeSelect().then((response) => {
        this.deptOptions = response.data;

        this.handleQuery();
      });
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");
      this.queryParams.orgId = this.orgId;
      this.queryParams.checkSub = false;
      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
      this.handleQuery();
      allRole().then((response) => {
        this.roleList = response.data;
      });
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.id);
      this.names = selection.map((item) => item.planName);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      allRole().then((response) => {
        this.roleList = response.data;
      });
      this.issue = null;
      this.open = true;
      this.title = "新增监控调阅任务";
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids;
      getPlan(id).then((response) => {
        this.form = response.data;
        this.initNum = response.data.parentFrequency;
        this.issue = response.data.updateBy;
        this.open = true;
        this.title = "编辑监控调阅任务";
        findRoleByType(this.form.orgType).then((response) => {
          this.roleList = response;
        });
      });
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          let request = {...this.form};
          if (request.id != null) {
            let msg = "";
            if (request.planStatus == 1) {
              if(request.isComplete==true){
              if (request.planCycle==0) {
                this.$modal
         .confirm("因存在已完成任务，无周期任务如需修改，请删除后重新下发”。")
         .then(() => {

                this.open = false;
                this.getList();

              })
              }else{
                msg = "因存在已完成任务，本次修改内容将下周期生效";
                this.$modal
              .confirm(msg)
              .then(function () {
                return updatePlan(request);
              })
              .then(() => {
                this.$modal.msgSuccess("编辑成功");
                this.open = false;
                this.getList();

              })
              .catch(() => {
              });
              }

              }else{
                if (request.isHaveTask==false) {
                  msg = "是否确认修改?";
              this.$modal
              .confirm(msg)
              .then(function () {
                return updatePlan(request);
              })
              .then(() => {
                this.$modal.msgSuccess("编辑成功");
                this.open = false;
                this.getList();

              })
              .catch(() => {
              });
                }else{
                  msg =  "因不存在已完成任务，本次修改内容将立即生效";

              this.$modal
            .confirm(msg)
            .then(function () {
              return updatePlan(request);
            })
            .then(() => {
              this.$modal.msgSuccess("编辑成功");
              this.open = false;
              this.getList();

            })
            .catch(() => {
            });
                }

              }

            }else{
              msg = "是否确认修改?";
              this.$modal
              .confirm(msg)
              .then(function () {
                return updatePlan(request);
              })
              .then(() => {
                this.$modal.msgSuccess("编辑成功");
                this.open = false;
                this.getList();

              })
              .catch(() => {
              });
            }


          } else {
            addPlan(this.form).then((response) => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const ids = row.id || this.ids;
      const names = row.planName || this.names;
      let msg = "";
      if (row.planStatus == 1) {
    if(row.planCycle==1){
      msg = "本次删除将强制删除今日所有任务?";
    }else{
      msg = "本次删除将强制删除当前任务时间及以后所有任务";
    }
      }else {
        msg = '是否确认删除名称为"' + row.planName + '"的任务？';
      }
      // this.$modal
      //   .confirm("删除计划会清除本周期所有任务,确定执行？")
      //   .then(function () {
      //     return delPlan(ids);
      //   })
      //   .then(() => {
      //     this.getList();
      //     this.$modal.msgSuccess("删除成功");
      //   })
      //   .catch(() => {});
      this.$modal
        .confirm(msg)
        .then(() => {
          // 用户点击了确认按钮
          console.log("执行操作...");
          this.loading = true;
          api
            .delPlan(row.id)
            .then(() => {
              this.getList();
              this.loading = false;
              this.$modal.msgSuccess("删除成功");
            })
            .catch(() => {
              this.loading = false;
            });
        })
        .catch(() => {
          // 用户点击了取消按钮
          console.log("取消操作...");
          this.loading = false;
        });
    },
    // handDistribute(row) {
    //   let msg = "";
    //   if(row.planStatus==0){
    //     this.$modal
    //     .confirm("请选择下发后立即生成或下周期生成任务")
    //     .then(function () {
    //       return distribute(row.id);
    //     })
    //     .then(() => {
    //       this.getList();
    //       this.$modal.msgSuccess("下发成功");
    //     })
    //     .catch(() => {});
    //   }

    // },

    handDistribute(row) {
      let msg = "";
      if(row.planStatus==0){
        if (row.planCycle==0) {
          this.$modal
          .confirm("确定下发任务并立即生成任务？")
          .then(() => {
            this.distribute(row.id, true);
          });
        }else{
          let   msg = "请选择下发后立即生成或下周期生成任务?";
        this.$refs["DialogThreeState"].show(
          msg,
          (state) => {
            if (state == 0 || state == 1) {
              this.distribute(row.id, state == 1);
            }
          },
          {
            yesText: "立即生成",
            noText: "下周期",
            cancelText: "取消",
          }
        );
        }

      }else if(row.planCycle==0 &&row.planStatus==2){
        this.distribute(row.id, true);
        // this.$modal
        // .confirm("确定下发任务并立即生成任务？")
        //   .then(() => {
        //     this.distribute(row.id, true);
        //   });
      } else{
        this.$modal
          .confirm("因存在已完成任务，是否确定从下周期生成任务？")
          .then(() => {
            this.distribute(row.id, false);
          });
      }

    },
    distribute(id, immediateEffect) {
      this.loading = true;
      api
        .distribute(id, immediateEffect)
        .then((response) => {
          if (response.data == 0) {
            this.getList();
            this.loading = false;
          } else {
            this.getList();
            this.loading = false;
          }
        })
        .catch((response) => {
          this.getList();
          this.loading = false;
        });
    },
    handWithdraw(row) {
      getPlan(row.id).then((response) => {
        console.log("handWithdraw",response)
          if (response.data.isComplete) {
            if (row.planCycle==0) {
            this.$modal
          .confirm("存在已完成任务，无周期任务不允许撤回，如需删除下发任务请点击“删除”。")
          .then(() => {
            this.getList();

          })
          }else{
            this.$modal
          .confirm("因存在已完成任务，撤回后下周期起将不再生成任务")
          .then(function () {
            return withdraw(row.id);
          })
          .then(() => {
            this.getList();
            this.$modal.msgSuccess("撤回成功");
          })
          .catch(() => {});
          }
         
        }else{
         
          this.$modal.confirm("因不存在已完成任务，撤回后将删除所有生成任务")
            .then(function () {
              return withdraw(row.id);
            })
            .then(() => {
              this.getList();
              this.$modal.msgSuccess("撤回成功");
            })
            .catch(() => {});
        }
      });
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download(
        "system/plan/export",
        {
          ...this.queryParams,
        },
        `plan_${new Date().getTime()}.xlsx`
      );
    },
  }
};
</script>

