|  | @@ -0,0 +1,1014 @@
 | 
	
		
			
				|  |  | +<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="reminderType">
 | 
	
		
			
				|  |  | +                <el-select
 | 
	
		
			
				|  |  | +                  style="width: 100%"
 | 
	
		
			
				|  |  | +                  v-model="queryParams.reminderType"
 | 
	
		
			
				|  |  | +                  placeholder="请选择提醒类型"
 | 
	
		
			
				|  |  | +                  clearable
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <el-option
 | 
	
		
			
				|  |  | +                    v-for="dict in dict.type.reminder_type"
 | 
	
		
			
				|  |  | +                    :key="dict.value"
 | 
	
		
			
				|  |  | +                    :label="dict.label"
 | 
	
		
			
				|  |  | +                    :value="`${dict.value}`"
 | 
	
		
			
				|  |  | +                  ></el-option>
 | 
	
		
			
				|  |  | +                </el-select>
 | 
	
		
			
				|  |  | +              </el-form-item>
 | 
	
		
			
				|  |  | +              <el-form-item label="业务类型" prop="sendModule">
 | 
	
		
			
				|  |  | +                <el-select
 | 
	
		
			
				|  |  | +                  v-model="queryParams.sendModule"
 | 
	
		
			
				|  |  | +                  placeholder="请选择业务类型"
 | 
	
		
			
				|  |  | +                  clearable
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <el-option
 | 
	
		
			
				|  |  | +                    v-for="dict in dict.type.reminder_business_type"
 | 
	
		
			
				|  |  | +                    :key="dict.value"
 | 
	
		
			
				|  |  | +                    :label="dict.label"
 | 
	
		
			
				|  |  | +                    :value="`${dict.value}`"
 | 
	
		
			
				|  |  | +                  ></el-option>
 | 
	
		
			
				|  |  | +                </el-select>
 | 
	
		
			
				|  |  | +              </el-form-item>
 | 
	
		
			
				|  |  | +              <el-form-item label="启用状态" prop="enabled">
 | 
	
		
			
				|  |  | +                <el-select
 | 
	
		
			
				|  |  | +                  style="width: 100%"
 | 
	
		
			
				|  |  | +                  v-model="queryParams.enabled"
 | 
	
		
			
				|  |  | +                  placeholder="请选择启用状态"
 | 
	
		
			
				|  |  | +                  clearable
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <el-option
 | 
	
		
			
				|  |  | +                    v-for="item in enabledOptions"
 | 
	
		
			
				|  |  | +                    :key="item.value"
 | 
	
		
			
				|  |  | +                    :label="item.label"
 | 
	
		
			
				|  |  | +                    :value="item.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"
 | 
	
		
			
				|  |  | +            :disable="true"
 | 
	
		
			
				|  |  | +            :disabled="form.isEdit || form.isComplete"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +          </org-tree-select>
 | 
	
		
			
				|  |  | +          <!-- :enabledCheckOrgTypes="parseInt(form.orgType)" -->
 | 
	
		
			
				|  |  | +        </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',
 | 
	
		
			
				|  |  | +    'reminder_business_type',
 | 
	
		
			
				|  |  | +    'reminder_type',
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  name: "reminder",
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  components: {
 | 
	
		
			
				|  |  | +    orgTree,
 | 
	
		
			
				|  |  | +    DialogThreeState,
 | 
	
		
			
				|  |  | +    OrgTreeSelect,
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      startDatepickerOptions: {
 | 
	
		
			
				|  |  | +        disabledDate(time) {
 | 
	
		
			
				|  |  | +          const date = new Date();
 | 
	
		
			
				|  |  | +          date.setTime(date.getTime() - 3600 * 1000 * 24);
 | 
	
		
			
				|  |  | +          return time.getTime() < date;
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      enabledOptions: [{
 | 
	
		
			
				|  |  | +        label: "启用",
 | 
	
		
			
				|  |  | +        value: true
 | 
	
		
			
				|  |  | +      }, {
 | 
	
		
			
				|  |  | +        label: "禁用",
 | 
	
		
			
				|  |  | +        value: false
 | 
	
		
			
				|  |  | +      }],
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      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,
 | 
	
		
			
				|  |  | +        reminderType: null,
 | 
	
		
			
				|  |  | +        remindBusinessType: null,
 | 
	
		
			
				|  |  | +        sendModule: null,
 | 
	
		
			
				|  |  | +        enabled: null,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      // 表单参数
 | 
	
		
			
				|  |  | +      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: null,
 | 
	
		
			
				|  |  | +        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();
 | 
	
		
			
				|  |  | +      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>
 | 
	
		
			
				|  |  | +
 |