Browse Source

安全检查状态变更调试

jiawuxian 1 năm trước cách đây
mục cha
commit
b13fb5f1ae

+ 4 - 4
src/api/safetycheck/plan.js

@@ -16,9 +16,9 @@ export function cheHui(id) {
   })
 }
 // 查询【请填写功能名称】详细
-export function distributeHS(id) {
+export function distributeSingle(id,immediate) {
   return request({
-    url: '/core/checkplan/distributehs/' + id,
+    url: `/core/checkplan/distributesingle/${id}/${immediate}`,
     method: 'get'
   })
 }
@@ -30,9 +30,9 @@ export function itemfind(id) {
   })
 }
 // 查询【请填写功能名称】详细
-export function distribute(query) {
+export function distribute(query,immediate) {
   return request({
-    url: '/core/checkplan/distribute' ,
+    url: '/core/checkplan/distribute/'+immediate ,
     method: 'post',
     data: query
   })

+ 1 - 3
src/views/resumption/plan/dialog.edit.vue

@@ -134,7 +134,7 @@
                   clearable
                 >
                   <el-option
-                    v-for="item in dict.type.sys_org_type"
+                    v-for="item in orgTypeOptions"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -497,8 +497,6 @@ export default {
 
     cannotEdit() {
       //停用和使用中的任务,只能编辑名称和履职内容
-      // let f = this.formData;
-      //
       if (this.formData.planStatus == null) {
         return false;
       }

+ 8 - 2
src/views/resumption/plan/index.vue

@@ -341,7 +341,7 @@
     <dialog-edit
       ref="editDialog"
       @success="getList()"
-      :orgTypeOptions="dict.type.sys_org_type"
+      :orgTypeOptions="orgTypeOptions"
       :ruleTypeOptions="dict.type.rule_type"
     ></dialog-edit>
     <DialogDistribute ref="dialogDistribute" @select="sel"></DialogDistribute>
@@ -422,8 +422,14 @@ export default {
   props: {},
   watch: {},
   computed: {
-    ...mapState([]),
     ...mapGetters(["orgId", "orgName"]),
+    orgTypeOptions(){
+     if(!this.dict || !this.dict.type.sys_org_type==null)  {
+      return []
+     }
+     
+     return this.dict.type.sys_org_type.filter(t=>!["1","2","7","8"].includes(t.value))
+    }
   },
   methods: {
     ...mapMutations([]),

+ 45 - 48
src/views/safetycheck/plan/dialog.edit.vue

@@ -19,7 +19,7 @@
             <el-col :span="6">
               <el-form-item prop="planName" label="任务名称:">
                 <el-input
-                  :disabled="canEdit()"
+                  :disabled="cannotEditName()"
                   v-model.trim="formData.planName"
                   :maxlength="50"
                   name="planName"
@@ -33,7 +33,7 @@
               <el-form-item prop="checkType" label="任务类型:">
                 <el-select
                   @change="changeData"
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   label="任务类型"
                   v-model="formData.checkType"
                   placeholder="请选择任务类型"
@@ -52,7 +52,7 @@
             <el-col :span="6">
               <el-form-item prop="planCycle" label="任务周期:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   prop="planCycle"
                   label="任务周期"
                   v-model="formData.planCycle"
@@ -68,23 +68,7 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item
-                prop="buildTaskNow"
-                label="立即生效:"
-                v-if="NowBuild()"
-                ><div class="checkbox-wrapper">
-                  <el-checkbox
-                    :disabled="isbuildTaskNow()"
-                    v-model="formData.buildTaskNow"
-                    size="medium"
-                    @change="handleCheckboxChange"
-                    >默认从下个周期生成任务,<br />勾选后从当前周期立即生成任务</el-checkbox
-                  >
-                </div>
-              </el-form-item>
-            </el-col>
+            </el-col>            
             <el-col :span="6">
               <el-form-item
                 prop="startDate"
@@ -92,7 +76,7 @@
                 v-if="formData.planCycle == 6"
               >
                 <el-date-picker
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.startDate"
                   style="width: 240px"
                   value-format="yyyy-MM-dd 00:00:00"
@@ -110,7 +94,7 @@
                 v-if="formData.planCycle == 6"
               >
                 <el-date-picker
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.endDate"
                   style="width: 240px"
                   value-format="yyyy-MM-dd 23:59:59"
@@ -124,7 +108,7 @@
             <el-col :span="6">
               <el-form-item prop="execOrgType" label="检查主体类型:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   @change="cleanExecOrgList"
                   prop="execOrgType"
                   label="机构类型"
@@ -133,10 +117,10 @@
                   clearable
                 >
                   <el-option
-                    v-for="item in dict.type.sys_org_type"
+                    v-for="item in  dict.type.sys_org_type"
                     :key="item.value"
                     :label="item.label"
-                    :value="item.value"
+                    :value="parseInt(item.value)"
                   >
                   </el-option>
                 </el-select>
@@ -147,7 +131,7 @@
             <el-col :span="6">
               <el-form-item prop="roleIds" label="检查人员:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   label="检查人员"
                   v-model="formData.roleIds"
                   placeholder="请选择用户角色"
@@ -168,7 +152,7 @@
             <el-col :span="6">
               <el-form-item prop="checkOrgTypes" label="受检机构类型:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   @change="cleanCheckOrgList"
                   prop="checkOrgTypes"
                   label="受检机构类型"
@@ -178,7 +162,7 @@
                   multiple
                 >
                   <el-option
-                    v-for="item in dict.type.sys_org_type"
+                    v-for="item in orgTypeOptions"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -204,7 +188,7 @@
             <el-col :span="6">
               <el-form-item :span="6" prop="execOrgIds" label="检查主体">
                 <org-tree-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.execOrgIds"
                   :queryData="parseInt(formData.execOrgType)"
                   ref="execorgTreeSelect"
@@ -217,7 +201,7 @@
             <el-col :span="6">
               <el-form-item :span="6" prop="checkOrgIds" label="受检机构">
                 <org-tree-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.checkOrgIds"
                   :queryData="parseInt(formData.checkOrgType)"
                   ref="checkorgTreeSelect"
@@ -253,17 +237,17 @@
           </el-row>
           <el-form-item :span="6" prop="description" label="备注">
             <el-input
-              :disabled="canEdit()"
+              :disabled="cannotEdit()"
               v-model="formData.description"
               :maxlength="255"
               clearable
             />
           </el-form-item>
         </el-form>
-        <el-button @click="openSelect"
+        <el-button @click="openSelect"  v-if="formData.id==null || formData.planOfOrgId == orgId"
           ><span class="requiredlabel">选择检查内容</span>
         </el-button>
-        <el-button @click="deleteSelected">批量删除</el-button>
+        <el-button @click="deleteSelected"  v-if="formData.id==null || formData.planOfOrgId == orgId">批量删除</el-button>
         <el-table
           :data="tableData"
           style="width: 100%; margin-top: 15px"
@@ -322,7 +306,7 @@
           <el-table-column prop="areaName" label="操作">
             <template v-slot="{ row }">
               <el-button
-                v-if="getshenglianshe(row)"
+                v-if="getshenglianshe(row) && (formData.Id==null || formData.planOfOrgId == orgId)"
                 type="text"
                 @click="removeRow(row)"
                 >删除</el-button
@@ -400,6 +384,8 @@ export default {
         count: [{ required: true, message: "请选择任务次数" }],
         checkOrgTypes: [{ required: true, message: "请选择受检机构类型" }],
         roleIds: [{ required: true, message: "请选择检查人员" }],
+        startDate:[{ required: true, message: "请选择开始时间" }],
+        endDate:[{ required: true, message: "请选择结束时间" }]
       },
       statusOptions: statusOptions,
     };
@@ -564,15 +550,29 @@ export default {
       } else return false;
     },
     //编辑内容判断
-    canEdit() {
+    cannotEdit() {
       //停用和使用中的任务,只能编辑名称和履职内容
-      // let f = this.formData;
-      //
-      let r = !(
-        this.formData.planStatus == null || this.formData.planStatus == "0"
-      );
-      //行社不能编辑省联社计划的名称;省联社也不能单独编辑子计划的名称
-      r &= this.formData.planOfOrgId == this.orgId;
+      if (this.formData.planStatus == null) {
+        return false;
+      }
+
+      if (this.formData.planOfOrgId != this.orgId) {
+        return true;
+      }
+
+      let r = !(this.formData.planStatus == 0);
+
+      return r;
+    },
+    //只能编辑创建机构和所属机构是自己的
+    cannotEditName() {
+      if (this.formData.planStatus == null) {
+        return false;
+      }
+
+      let r =
+        this.formData.planOfOrgId != this.orgId ||
+        this.formData.planCreateOrgId != this.orgId;
       return r;
     },
     NowBuild() {
@@ -811,12 +811,9 @@ export default {
       this.$refs.form.validate(async (isValidate) => {
         if (!isValidate) return;
         this.loading = true;
-        let status = 0;
         // console.log(this.formData.hasEdit,"this.formData.hasEdit")
         this.formData.planCreateOrgId = this.orgId;
         this.formData.planCreateOrgName = this.orgName;
-        status = this.formData.planStatus;
-        this.formData.planStatus = 0;
 
         this.formData.rulePointList =
           this.tableData == null ? [] : this.tableData;
@@ -830,7 +827,7 @@ export default {
         //   this.formData.buildTaskNow = true;
         // }
 
-        if (this.formData.planStatus == "1") {
+        if (this.formData.planStatus == 1) {
           let msg;
           let imme;
           if (this.formData.taskHasCompleted == 1) {
@@ -844,14 +841,14 @@ export default {
           this.$modal.confirm(msg).then(() => {
             this.update(this.formData, imme);
           });
-        } else if (this.formData.planStatus == "2") {
+        } else if (this.formData.planStatus == 2) {
           this.update(this.formData, false);
         } else {
           this.update(this.formData, false);
         }
       });
     },
-    async update(data, immediateEffect) {
+    async update(data, immediateEffect) {      
       await api
         .add(data, immediateEffect)
         .then((data) => {

+ 7 - 5
src/views/safetycheck/plan/distribute.vue

@@ -9,7 +9,7 @@
     append-to-body
   >
     <div class="el-dialog-div">
-      <el-row :gutter="10" >
+      <el-row :gutter="10">
         <el-col :span="1.5">
           <el-input
             size="mini"
@@ -62,7 +62,7 @@
       <el-button type="primary" @click="onSubmit">确定</el-button>
       <el-button @click="onHide">关闭</el-button>
     </div>
- </DialogCom>
+  </DialogCom>
 </template>
 <script>
 import { listByTypes } from "@/api/system/org.js";
@@ -75,6 +75,7 @@ export default {
       info: this.emptyInfo(),
       tableData: [],
       filterName: null,
+      plan: null,
     };
   },
   computed: {},
@@ -89,6 +90,7 @@ export default {
   },
   methods: {
     show(plan) {
+      this.plan = plan;
       this.info.id = plan.id;
       getDesignateHangshe(plan.id).then((r) => {
         if (r.data && r.data.length > 0) {
@@ -130,7 +132,7 @@ export default {
     },
     onSubmit() {
       console.info(this.info);
-      this.$emit("select", this.info);
+      this.$emit("select", this.info, this.plan);
       this.onHide();
     },
     emptyInfo() {
@@ -147,7 +149,7 @@ export default {
 .el-dialog-div {
   overflow: auto;
 }
-.dialog-footer{
-  margin-top:20px;
+.dialog-footer {
+  margin-top: 20px;
 }
 </style>

+ 86 - 44
src/views/safetycheck/plan/index.vue

@@ -397,7 +397,7 @@
     <dialog-edit
       ref="editDialog"
       @success="getList()"
-      :orgTypeOptions="dict.type.sys_org_type"
+      :orgTypeOptions="orgTypeOptions"
       :ruleTypeOptions="dict.type.rule_type"
     ></dialog-edit>
     <DialogDistribute ref="dialogDistribute" @select="sel"></DialogDistribute>
@@ -427,7 +427,7 @@ export default {
     DialogEdit,
     OrgTree,
     DialogDistribute,
-    DialogThreeState
+    DialogThreeState,
   },
   data() {
     const { params, query } = this.$route;
@@ -482,6 +482,13 @@ export default {
   computed: {
     ...mapState([]),
     ...mapGetters(["orgId", "orgName"]),
+    orgTypeOptions(){
+     if(!this.dict || !this.dict.type.sys_org_type==null)  {
+      return []
+     }
+     
+     return this.dict.type.sys_org_type.filter(t=>!["7","8"].includes(t.value))
+    }
   },
   methods: {
     ...mapMutations([]),
@@ -499,48 +506,68 @@ export default {
         return true;
       }
       return false;
-    },    
+    },
     showDialogDistribute(row) {
-      if (row.planOfOrgType == 3) {
-        this.onHSPlanDistribute(row);
+      //行社的计划,或检查机构类型是省联社、办事处,走单个下发
+      if (
+        row.planOfOrgType == 3 ||
+        row.checkOrgType == 1 ||
+        row.checkOrgType == 2
+      ) {
+        this.onSinglePlanDistribute(row);
       } else {
         this.$refs.dialogDistribute.show(row);
       }
     },
 
-    onHSPlanDistribute(row) {
+    onSinglePlanDistribute(row) {
       if (row.planStatus == 0) {
-        let msg = "请选择下发后立即生成或下周期生成任务";
-        this.$refs["DialogThreeState"].show(
-          msg,
-          (state) => {
-            if (state == 0 || state == 1) {
-              this.distributeHS(row.id, state == 1);
+        if (row.planCycle == 6) {
+          //无周期任务,
+          let msg = "无周期任务下发后将立即生成任务,确定下发?";
+          this.$modal.confirm(msg).then(() => {
+            this.distributeSingle(row.id, true);
+          });
+        } else {
+          let msg = "请选择下发后立即生成或下周期生成任务";
+          this.$refs["DialogThreeState"].show(
+            msg,
+            (state) => {
+              if (state == 0 || state == 1) {
+                this.distributeSingle(row.id, state == 1);
+              }
+            },
+            {
+              yesText: "立即生成",
+              noText: "下周期",
+              cancelText: "取消",
             }
-          },
-          {
-            yesText: "立即生成",
-            noText: "下周期",
-            cancelText: "取消",
-          }
-        );
+          );
+        }
       } else if (row.planStatus == 2) {
+        let msg = "";
+
+        if (row.planCycle == 6) {
+          msg = "已存在已完成任务,是否确定下发?";
+        } else {
+          msg = "因存在已完成任务,是否确定从下周期生成任务?";
+        }
         this.$modal
-          .confirm("因存在已完成任务,是否确定从下周期生成任务?", {
+          .confirm(msg, {
             confirmButtonText: "确定",
             canelButtonText: "取消",
           })
           .then(() => {
-            this.distributeHS(row.id, false);
+            this.distributeSingle(row.id, false);
           });
       } else {
-        this.distributeHS(row.id, false);
+        this.distributeSingle(row.id, false);
       }
     },
-    distributeHS(id, immediateEffect) {
+    distributeSingle(id, immediateEffect) {
       this.loading = true;
       api
-        .distributeHS(id, immediateEffect)
+        .distributeSingle(id, immediateEffect)
         .then((response) => {
           // console.log(response, "then");
           if (response.data == 0) {
@@ -558,7 +585,7 @@ export default {
     },
     showPublish(row) {
       //有父计划且父计划不是使用中状态,不能下发
-      if (row.parentStatus != 1 && row.parentId) {
+      if (row.parentStatus != 1 && row.parentId > 0) {
         return false;
       }
       //可以下发:本机构创建+状态为草稿、停用的计划
@@ -612,23 +639,36 @@ export default {
     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);
+        if (row.planCycle == 6) {
+          //无周期任务,
+          let msg = "无周期任务下发后将立即生成任务,确定下发?";
+          this.$modal.confirm(msg).then(() => {
+            this.distributeInner(selectList, true);
+          });
+        } else {
+          msg = "请选择下发后立即生成或下周期生成任务。";
+          this.$refs["DialogThreeState"].show(
+            msg,
+            (state) => {
+              if (state == 0 || state == 1) {
+                this.distributeInner(selectList, state == 1);
+              }
+            },
+            {
+              yesText: "立即生成",
+              noText: "下周期",
+              cancelText: "取消",
             }
-          },
-          {
-            yesText: "立即生成",
-            noText: "下周期",
-            cancelText: "取消",
-          }
-        );
+          );
+        }
       } else if (row.planStatus == 2) {
+        if (row.planCycle == 6) {
+          msg = "已存在已完成任务,是否确定下发?";
+        } else {
+          msg = "因存在已完成任务,是否确定从下周期生成任务?";
+        }
         this.$modal
-          .confirm("因存在已完成任务,是否确定从下周期生成任务?")
+          .confirm(msg)
           .then(() => {
             this.distributeInner(selectList, false);
           });
@@ -648,11 +688,12 @@ export default {
           this.loading = false;
         });
     },
-    
+
     //开始撤回
     chhuile(row) {
       let msg;
-      if (row.taskHasCompleted == 1) {
+      
+      if (row.taskHasCompleted != 1) {        
         msg = "因不存在已完成任务,撤回后将删除所有生成任务?";
       } else {
         msg = "因存在已完成任务,撤回后下周期起将不再生成任务?";
@@ -747,7 +788,7 @@ export default {
           // console.log("执行操作...");
           this.loading = true;
           api
-            .delelte(id)
+            .delelte(row.id)
             .then(() => {
               this.getList();
               this.loading = false;
@@ -757,7 +798,8 @@ export default {
               this.loading = false;
             });
         })
-        .catch(() => {
+        .catch((ex) => {
+          console.error(ex)
           // 用户点击了取消按钮
           // console.log("取消操作...");
         });
@@ -773,7 +815,7 @@ export default {
       this.resetForm("search");
       this.queryParams.orgId = this.orgId;
       this.queryParams.checkSub = false;
-      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
+      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub);
       // this.$refs.tree.setCurrentKey(null);
       this.getList();
     },

+ 1 - 1
src/views/safetycheck/ruleManager/dialog.select.point.vue

@@ -13,7 +13,7 @@
       <g-search-table
         ref="st"
         url="/core/safetycheck/ruleItem/pointSelectionPage"
-        method="get"
+        method="post"
         :search-data="search"
         :manual="true"
         :pageable="true"