|  | @@ -347,25 +347,17 @@
 | 
	
		
			
				|  |  |                    type="text"
 | 
	
		
			
				|  |  |                    size="mini"
 | 
	
		
			
				|  |  |                    icon="el-icon-arrow-down"
 | 
	
		
			
				|  |  | -                  v-if="checkCanPublish(r.row)"
 | 
	
		
			
				|  |  | +                  v-if="showPublish(r.row)"
 | 
	
		
			
				|  |  |                    @click="showDialogDistribute(r.row)"
 | 
	
		
			
				|  |  |                    v-hasPermi="['core:checkplan:distribute']"
 | 
	
		
			
				|  |  |                    >下发</el-button
 | 
	
		
			
				|  |  |                  >
 | 
	
		
			
				|  |  | -                <el-button
 | 
	
		
			
				|  |  | -                  type="text"
 | 
	
		
			
				|  |  | -                  size="mini"
 | 
	
		
			
				|  |  | -                  icon="el-icon-arrow-down"
 | 
	
		
			
				|  |  | -                  v-if="newcheckCanPublish(r.row)"
 | 
	
		
			
				|  |  | -                  @click="newshowDialogDistribute(r.row)"
 | 
	
		
			
				|  |  | -                  v-hasPermi="['core:checkplan:distribute']"
 | 
	
		
			
				|  |  | -                  >下发</el-button
 | 
	
		
			
				|  |  | -                >
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  <el-button
 | 
	
		
			
				|  |  |                    type="text"
 | 
	
		
			
				|  |  |                    icon="el-icon-top-left"
 | 
	
		
			
				|  |  |                    size="mini"
 | 
	
		
			
				|  |  | -                  v-if="chehui(r.row)"
 | 
	
		
			
				|  |  | +                  v-if="showWithDraw(r.row)"
 | 
	
		
			
				|  |  |                    @click="chhuile(r.row)"
 | 
	
		
			
				|  |  |                    v-hasPermi="['core:checkplan:distribute']"
 | 
	
		
			
				|  |  |                    >撤回</el-button
 | 
	
	
		
			
				|  | @@ -380,7 +372,7 @@
 | 
	
		
			
				|  |  |                    >编辑</el-button
 | 
	
		
			
				|  |  |                  >
 | 
	
		
			
				|  |  |                  <el-button
 | 
	
		
			
				|  |  | -                  v-if="eqOrg2(r.row)"
 | 
	
		
			
				|  |  | +                  v-if="showDelete(r.row)"
 | 
	
		
			
				|  |  |                    size="mini"
 | 
	
		
			
				|  |  |                    type="text"
 | 
	
		
			
				|  |  |                    icon="el-icon-delete"
 | 
	
	
		
			
				|  | @@ -409,6 +401,7 @@
 | 
	
		
			
				|  |  |        :ruleTypeOptions="dict.type.rule_type"
 | 
	
		
			
				|  |  |      ></dialog-edit>
 | 
	
		
			
				|  |  |      <DialogDistribute ref="dialogDistribute" @select="sel"></DialogDistribute>
 | 
	
		
			
				|  |  | +    <DialogThreeState ref="DialogThreeState"> </DialogThreeState>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -420,6 +413,7 @@ import DialogEdit from "./dialog.edit";
 | 
	
		
			
				|  |  |  import * as api from "@/api/safetycheck/plan";
 | 
	
		
			
				|  |  |  import { statusOptions, getLabel } from "@/views/commonOption";
 | 
	
		
			
				|  |  |  import { listRole } from "@/api/system/role";
 | 
	
		
			
				|  |  | +import DialogThreeState from "@/components/message/threeStateMessageBox.vue";
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "resumptionplan",
 | 
	
		
			
				|  |  |    dicts: [
 | 
	
	
		
			
				|  | @@ -433,6 +427,7 @@ export default {
 | 
	
		
			
				|  |  |      DialogEdit,
 | 
	
		
			
				|  |  |      OrgTree,
 | 
	
		
			
				|  |  |      DialogDistribute,
 | 
	
		
			
				|  |  | +    DialogThreeState
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      const { params, query } = this.$route;
 | 
	
	
		
			
				|  | @@ -504,78 +499,109 @@ export default {
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        return false;
 | 
	
		
			
				|  |  | +    },    
 | 
	
		
			
				|  |  | +    showDialogDistribute(row) {
 | 
	
		
			
				|  |  | +      if (row.planOfOrgType == 3) {
 | 
	
		
			
				|  |  | +        this.onHSPlanDistribute(row);
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.$refs.dialogDistribute.show(row);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    eqOrg2(row) {
 | 
	
		
			
				|  |  | -      // console.log(row.planCreateOrgId,"row.planCreateOrgId");
 | 
	
		
			
				|  |  | -      // console.log(this.orgId,"this.orgId");
 | 
	
		
			
				|  |  | -      if (
 | 
	
		
			
				|  |  | -        row != null &&
 | 
	
		
			
				|  |  | -        row != undefined &&
 | 
	
		
			
				|  |  | -        row.planCreateOrgId == this.orgId &&
 | 
	
		
			
				|  |  | -        row.planOfOrgId == this.orgId
 | 
	
		
			
				|  |  | -      ) {
 | 
	
		
			
				|  |  | -        return true;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    onHSPlanDistribute(row) {
 | 
	
		
			
				|  |  | +      let msg = "";
 | 
	
		
			
				|  |  | +      if (row.planStatus == 0) {
 | 
	
		
			
				|  |  | +        msg = "是否立即生成任务?";
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        msg = "本周期未完成任务应用最新任务内容";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      if (row.planStatus == 0) {
 | 
	
		
			
				|  |  | +        msg = "请选择下发后立即生成或下周期生成任务?";
 | 
	
		
			
				|  |  | +        this.$refs["DialogThreeState"].show(
 | 
	
		
			
				|  |  | +          msg,
 | 
	
		
			
				|  |  | +          (state) => {
 | 
	
		
			
				|  |  | +            if (state == 0 || state == 1) {
 | 
	
		
			
				|  |  | +              this.distributeHS(row.id, state == 1);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            yesText: "立即生成",
 | 
	
		
			
				|  |  | +            noText: "下周期",
 | 
	
		
			
				|  |  | +            cancelText: "取消",
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        );
 | 
	
		
			
				|  |  | +      } else if (row.planStatus == 2) {
 | 
	
		
			
				|  |  | +        this.$modal
 | 
	
		
			
				|  |  | +          .confirm("因存在已完成任务,是否确定从下周期生成任务", {
 | 
	
		
			
				|  |  | +            confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +            canelButtonText: "取消",
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          .then(() => {
 | 
	
		
			
				|  |  | +            this.distributeHS(row.id, false);
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.distributeHS(row.id, false);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      return false;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    newcheckCanPublish(row) {
 | 
	
		
			
				|  |  | -      //如果计划所属机构类型为行社并且计划不为进行中并且计划创建机构为当前机构或者
 | 
	
		
			
				|  |  | -      //计划状态为停用并且不属于子计划并且计划所属机构类型为省联社
 | 
	
		
			
				|  |  | +    distributeHS(id, immediateEffect) {
 | 
	
		
			
				|  |  | +      this.loading = true;
 | 
	
		
			
				|  |  | +      api
 | 
	
		
			
				|  |  | +        .distributeHS(id, immediateEffect)
 | 
	
		
			
				|  |  | +        .then((response) => {
 | 
	
		
			
				|  |  | +          // console.log(response, "then");
 | 
	
		
			
				|  |  | +          if (response.data == 0) {
 | 
	
		
			
				|  |  | +            this.loading = false;
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            this.getList();
 | 
	
		
			
				|  |  | +            this.loading = false;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch((response) => {
 | 
	
		
			
				|  |  | +          // console.log(response, "catch");
 | 
	
		
			
				|  |  | +          this.getList();
 | 
	
		
			
				|  |  | +          this.loading = false;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    showPublish(row) {
 | 
	
		
			
				|  |  | +      //可以下发:本机构创建+状态为草稿、停用的计划
 | 
	
		
			
				|  |  |        if (
 | 
	
		
			
				|  |  | -        (row.planOfOrgType == 3 &&
 | 
	
		
			
				|  |  | -          row.planStatus != 1 &&
 | 
	
		
			
				|  |  | -          row.planCreateOrgId == this.orgId) ||
 | 
	
		
			
				|  |  | -        (row.planStatus == 2 && row.parentId != -1 && row.planOfOrgType == 1) ||
 | 
	
		
			
				|  |  | -        (row.planStatus != 1 && (row.execOrgType == 1 || row.execOrgType == 2))
 | 
	
		
			
				|  |  | +        row.planCreateOrgId == this.orgId &&
 | 
	
		
			
				|  |  | +        (row.planStatus == 0 || row.planStatus == 2)
 | 
	
		
			
				|  |  |        ) {
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // if (
 | 
	
		
			
				|  |  | +      //   row.planOfOrgId == this.orgId &&
 | 
	
		
			
				|  |  | +      //   row.planCreateOrgId != this.orgId &&
 | 
	
		
			
				|  |  | +      //   (row.planStatus == 0 || row.planStatus == 2) &&
 | 
	
		
			
				|  |  | +      //   row.distributePlanStatus == 0
 | 
	
		
			
				|  |  | +      // ) {
 | 
	
		
			
				|  |  | +      //   return true;
 | 
	
		
			
				|  |  | +      // }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        return false;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    newshowDialogDistribute(row) {
 | 
	
		
			
				|  |  | -      this.$modal
 | 
	
		
			
				|  |  | -        .confirm("是否下发!", "提示")
 | 
	
		
			
				|  |  | -        .then(() => {
 | 
	
		
			
				|  |  | -          // 用户点击了确认按钮
 | 
	
		
			
				|  |  | -          console.log("执行操作...");
 | 
	
		
			
				|  |  | -          this.loading = true;
 | 
	
		
			
				|  |  | -          api
 | 
	
		
			
				|  |  | -            .distributeCheHui(row.id)
 | 
	
		
			
				|  |  | -            .then((response) => {
 | 
	
		
			
				|  |  | -              // console.log(response, "then");
 | 
	
		
			
				|  |  | -              if (response.data == 0) {
 | 
	
		
			
				|  |  | -                this.loading = false;
 | 
	
		
			
				|  |  | -              } else {
 | 
	
		
			
				|  |  | -                this.getList();
 | 
	
		
			
				|  |  | -                this.loading = false;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | -            .catch((response) => {
 | 
	
		
			
				|  |  | -              // console.log(response, "catch");
 | 
	
		
			
				|  |  | -              this.getList();
 | 
	
		
			
				|  |  | -              this.loading = false;
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        .catch(() => {
 | 
	
		
			
				|  |  | -          // 用户点击了取消按钮
 | 
	
		
			
				|  |  | -          console.log("取消操作...");
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | +    showDelete(row) {
 | 
	
		
			
				|  |  | +      //本机构创建的计划,才能删除
 | 
	
		
			
				|  |  | +      return row.planCreateOrgId == this.orgId;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    //已完成下发的计划不显示下发按钮
 | 
	
		
			
				|  |  | -    checkCanPublish(row) {
 | 
	
		
			
				|  |  | -      // console.log(row.planOfOrgType == "1","row.planOfOrgType")
 | 
	
		
			
				|  |  | -      // console.log(row.planOfOrgType == "1"&& row.distribute==null,"row.distribute")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      //如果计划所属机构为省联社并且计划下发状态为0并且计划检查机构类型不为省联社和办事处(只有一个无法下发)
 | 
	
		
			
				|  |  | -      if (
 | 
	
		
			
				|  |  | -        row.planOfOrgType == "1" &&
 | 
	
		
			
				|  |  | -        row.distribute == 0 &&
 | 
	
		
			
				|  |  | -        row.execOrgType != "1" &&
 | 
	
		
			
				|  |  | -        row.execOrgType != "2"
 | 
	
		
			
				|  |  | -      ) {
 | 
	
		
			
				|  |  | +    showWithDraw(row) {
 | 
	
		
			
				|  |  | +      //本机构创建是自己+状态为使用中
 | 
	
		
			
				|  |  | +      if (row.planCreateOrgId == this.orgId && row.planStatus == 1) {
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +      // if (
 | 
	
		
			
				|  |  | +      //   row.planOfOrgId == this.orgId &&
 | 
	
		
			
				|  |  | +      //   row.planCreateOrgId != this.orgId &&
 | 
	
		
			
				|  |  | +      //   row.planStatus == 1 &&
 | 
	
		
			
				|  |  | +      //   row.distributePlanStatus == 0
 | 
	
		
			
				|  |  | +      // ) {
 | 
	
		
			
				|  |  | +      //   return true;
 | 
	
		
			
				|  |  | +      // }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        return false;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      splitRoleNames(val) {
 | 
	
	
		
			
				|  | @@ -586,13 +612,78 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        // 使用逗号分割字符串,得到角色名称的数组
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    sel(selectList) {
 | 
	
		
			
				|  |  | +    sel(selectList, row) {
 | 
	
		
			
				|  |  | +      let msg = "";
 | 
	
		
			
				|  |  | +      if (row.planStatus == 0) {
 | 
	
		
			
				|  |  | +        msg = "请选择立即生成或下个周期开始生成任务?";
 | 
	
		
			
				|  |  | +        this.$refs["DialogThreeState"].show(
 | 
	
		
			
				|  |  | +          msg,
 | 
	
		
			
				|  |  | +          (state) => {
 | 
	
		
			
				|  |  | +            if (state == 0 || state == 1) {
 | 
	
		
			
				|  |  | +              this.distributeInner(selectList, state == 1);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            yesText: "立即生成",
 | 
	
		
			
				|  |  | +            noText: "下周期",
 | 
	
		
			
				|  |  | +            cancelText: "取消下发",
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        );
 | 
	
		
			
				|  |  | +      } else if (row.planStatus == 2) {
 | 
	
		
			
				|  |  | +        this.$modal
 | 
	
		
			
				|  |  | +          .confirm("因存在已完成任务,本次任务下发仅支持下周期生成任务", {
 | 
	
		
			
				|  |  | +            confirmButtonText: "下周期",
 | 
	
		
			
				|  |  | +            canelButtonText: "取消下发",
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          .then(() => {
 | 
	
		
			
				|  |  | +            this.distributeInner(selectList, false);
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.distributeInner(selectList, false);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    distributeInner(selectList, imme) {
 | 
	
		
			
				|  |  |        this.loading = true;
 | 
	
		
			
				|  |  | -      api.distribute(selectList).then((response) => {
 | 
	
		
			
				|  |  | -        this.getList();
 | 
	
		
			
				|  |  | -        this.loading = false;
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | +      api
 | 
	
		
			
				|  |  | +        .distribute(selectList, imme)
 | 
	
		
			
				|  |  | +        .then((response) => {
 | 
	
		
			
				|  |  | +          this.getList();
 | 
	
		
			
				|  |  | +          this.loading = false;
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(() => {
 | 
	
		
			
				|  |  | +          this.loading = false;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    //开始撤回
 | 
	
		
			
				|  |  | +    chhuile(row) {
 | 
	
		
			
				|  |  | +      this.$modal
 | 
	
		
			
				|  |  | +        .confirm("确认撤回?", "提示")
 | 
	
		
			
				|  |  | +        .then(() => {
 | 
	
		
			
				|  |  | +          // 用户点击了确认按钮
 | 
	
		
			
				|  |  | +          // console.log("执行操作...");
 | 
	
		
			
				|  |  | +          this.loading = true;
 | 
	
		
			
				|  |  | +          api.cheHui(row.id).then((response) => {
 | 
	
		
			
				|  |  | +            this.getList();
 | 
	
		
			
				|  |  | +            this.loading = false;
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(() => {
 | 
	
		
			
				|  |  | +          // 用户点击了取消按钮
 | 
	
		
			
				|  |  | +          // console.log("取消操作...");
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    // //已下发的显示撤回
 | 
	
		
			
				|  |  | +    // chehui(row) {
 | 
	
		
			
				|  |  | +    //   if (row.distribute == 1 && row.planCreateOrgId == this.orgId) {
 | 
	
		
			
				|  |  | +    //     return true;
 | 
	
		
			
				|  |  | +    //   }
 | 
	
		
			
				|  |  | +    //   return false;
 | 
	
		
			
				|  |  | +    // },
 | 
	
		
			
				|  |  | +    // showDialogDistribute(row) {
 | 
	
		
			
				|  |  | +    //   console.log(row, "qqq");
 | 
	
		
			
				|  |  | +    //   this.$refs.dialogDistribute.show(row);
 | 
	
		
			
				|  |  | +    // },
 | 
	
		
			
				|  |  |      getRolesByOrg() {
 | 
	
		
			
				|  |  |        let params = {
 | 
	
		
			
				|  |  |          // orgId:this.queryParams.orgId
 | 
	
	
		
			
				|  | @@ -627,35 +718,6 @@ export default {
 | 
	
		
			
				|  |  |      onEdit(id, other = {}) {
 | 
	
		
			
				|  |  |        this.$refs.editDialog.show(id, other);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    //开始撤回
 | 
	
		
			
				|  |  | -    chhuile(row) {
 | 
	
		
			
				|  |  | -      this.$modal
 | 
	
		
			
				|  |  | -        .confirm("确认撤回?", "提示")
 | 
	
		
			
				|  |  | -        .then(() => {
 | 
	
		
			
				|  |  | -          // 用户点击了确认按钮
 | 
	
		
			
				|  |  | -          // console.log("执行操作...");
 | 
	
		
			
				|  |  | -          this.loading = true;
 | 
	
		
			
				|  |  | -          api.cheHui(row.id).then((response) => {
 | 
	
		
			
				|  |  | -            this.getList();
 | 
	
		
			
				|  |  | -            this.loading = false;
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        .catch(() => {
 | 
	
		
			
				|  |  | -          // 用户点击了取消按钮
 | 
	
		
			
				|  |  | -          // console.log("取消操作...");
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    //已下发的显示撤回
 | 
	
		
			
				|  |  | -    chehui(row) {
 | 
	
		
			
				|  |  | -      if (row.distribute == 1 && row.planCreateOrgId == this.orgId) {
 | 
	
		
			
				|  |  | -        return true;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      return false;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    showDialogDistribute(row) {
 | 
	
		
			
				|  |  | -      console.log(row, "qqq");
 | 
	
		
			
				|  |  | -      this.$refs.dialogDistribute.show(row);
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  |      async onDel(id, name) {
 | 
	
		
			
				|  |  |        this.$modal
 | 
	
		
			
				|  |  |          .confirm('是否确认删除名称为"' + name + '"的数据项?')
 |