瀏覽代碼

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

jingyuanchao 2 年之前
父節點
當前提交
10dba4cf4f

+ 3 - 1
src/components/K-FileUpload/index.vue

@@ -307,7 +307,9 @@ export default {
         a.click();
       },
       clearFiles(){
-        this.$refs["fileUpload"].clearFiles();
+        if(this.$refs["fileUpload"])
+          this.$refs["fileUpload"].clearFiles();
+        
         this.fileList = [];
         this.fileValueList = [];
       },

+ 50 - 28
src/components/orgTree/orgDropDown.vue

@@ -1,14 +1,6 @@
 <template>
-  <treeselect
-    v-model="val"
-    :options="deptOptions"
-    :normalizer="normalizer"
-    v-bind="$attrs"
-    @select="select"
-    ref="tree"
-    noResultsText="暂无符合条件的数据"
-    clearValueText="清除"
-  />
+  <treeselect v-model="val" :options="deptOptions" :normalizer="normalizer" v-bind="$attrs" @select="select" ref="tree"
+    noResultsText="暂无符合条件的数据" clearValueText="清除" />
 </template>
 <script>
 import Treeselect from "@riophae/vue-treeselect";
@@ -20,6 +12,7 @@ export default {
   data() {
     return {
       deptOptions: [],
+      currentNode: null,
     };
   },
   props: {
@@ -32,10 +25,19 @@ export default {
     },
   },
   watch: {
-    // value(v){
-    //   // debugger
-    //   // console.info("watch",v);
-    // }
+    value(v) {
+      if(!v){
+        return;
+      }
+      if (!this.currentNode || this.currentNode.id != v) {        
+        this.currentNode = this.findNodeInOptions(v);
+      }
+      
+      if (this.currentNode) {
+        console.info(this.currentNode)
+        this.$emit("select", this.currentNode);
+      }
+    }
   },
   computed: {
     val: sync("value"),
@@ -45,20 +47,40 @@ export default {
   methods: {
     /** 查询机构下拉树结构 */
     getDeptTree() {
-      deptTreeSelect().then((response) => {
-        this.deptOptions = response.data;
-        // console.log(this.deptOptions, " this.deptOptions");
-        if (response.data && response.data.length > 0) {
-          // this.val = response.data[0].id;
-          // this.value = response.data[0].id;
-          // let t=this.$refs.tree;
-          // debugger;
-          // this.$emit("input", response.data[0].id);
-          if(this.val){
-            this.$emit("select", response.data[0]);
+      this.deptOptions = this.$store.getters.wholeTree;
+      if (this.deptOptions && this.deptOptions.length > 0) {
+        if (this.val) {
+          this.currentNode = this.findNodeInOptions(this.val);
+          if (this.currentNode) {
+            this.$emit("select", this.currentNode);
           }
         }
-      });
+      }
+    },
+    findNodeInOptions(id) {
+      if (!id) {
+        return;
+      }
+
+      let func = (nodes) => {
+        if (!nodes || nodes.length == 0) {
+          return null;
+        }
+
+        let n = nodes.find(n => n.id == id);
+        if (n) {
+          return n;
+        }
+        for (let index in nodes) {
+          let node = nodes[index]
+          n = func(node.children);
+          if (n) {
+            return n;
+          }
+        }
+      }
+
+      return func(this.deptOptions)
     },
     /** 转换机构数据结构 */
     normalizer(node) {
@@ -72,7 +94,7 @@ export default {
       };
     },
     select(node) {
-      this.$emit("select", node);
+      this.currentNode = node;
     },
   },
   mounted() {
@@ -88,7 +110,7 @@ export default {
     max-height: 300px !important;
   }
 
-  
+
   .vue-treeselect__label {
     overflow: unset;
 

+ 7 - 2
src/components/table/gx.search.table.vue

@@ -30,7 +30,8 @@
               @sort-change="onSort"
               v-if="$slots['columns']"
               :data="dataList"
-              :max-height="tableHeight"
+              :max-height="tableMaxHeight"
+              :height="tableHeight"
               border
               stripe
               :row-key="rowKey"
@@ -110,9 +111,13 @@ export default {
         return []
       },
     },
-    tableHeight:{
+    tableMaxHeight:{
       type:Number,
       default:400
+    },
+    tableHeight:{
+      type:Number,
+      default:250
     }
   },
   model: {

+ 45 - 10
src/views/check/dialog.edit.vue

@@ -30,6 +30,7 @@
             <el-col :span="6">
               <el-form-item prop="checkType" label="检查类型:">
                 <el-select
+                  :disabled="isChildren()"
                   label="检查类型"
                   v-model="formData.checkType"
                   placeholder="请选择检查类型"
@@ -48,6 +49,7 @@
             <el-col :span="6">
               <el-form-item prop="planCycle" label="检查周期:">
                 <el-select
+                  :disabled="isChildren()"
                   prop="planCycle"
                   label="检查周期"
                   v-model="formData.planCycle"
@@ -71,10 +73,11 @@
                 v-if="NowBuild()"
               >
                 <el-checkbox
+                  :disabled="isChildren()"
                   v-model="formData.buildTaskNow"
                   size="medium"
                   @change="handleCheckboxChange"
-                  >默认从下个周期生成任务,<br>勾选后从当前周期立即生成任务</el-checkbox
+                  >默认从下个周期生成任务,<br />勾选后从当前周期立即生成任务</el-checkbox
                 >
               </el-form-item>
             </el-col>
@@ -85,6 +88,7 @@
                 v-if="formData.planCycle == 6"
               >
                 <el-date-picker
+                  :disabled="isChildren()"
                   v-model="formData.startDate"
                   style="width: 240px"
                   value-format="yyyy-MM-dd hh:mm:ss"
@@ -102,6 +106,7 @@
                 v-if="formData.planCycle == 6"
               >
                 <el-date-picker
+                  :disabled="isChildren()"
                   v-model="formData.endDate"
                   style="width: 240px"
                   value-format="yyyy-MM-dd hh:mm:ss"
@@ -115,6 +120,7 @@
             <el-col :span="6">
               <el-form-item prop="execOrgType" label="检查机构类型:">
                 <el-select
+                  :disabled="isChildren()"
                   @change="cleanExecOrgList"
                   prop="execOrgType"
                   label="检查机构类型"
@@ -137,6 +143,7 @@
             <el-col :span="6">
               <el-form-item prop="roleIds" label="检查角色:">
                 <el-select
+                  :disabled="isChildren()"
                   label="检查角色"
                   v-model="formData.roleIds"
                   placeholder="请选择检查角色"
@@ -157,6 +164,7 @@
             <el-col :span="6">
               <el-form-item prop="checkOrgType" label="受检机构类型:">
                 <el-select
+                  :disabled="isChildren()"
                   @change="cleanCheckOrgList"
                   prop="checkOrgType"
                   label="受检机构类型"
@@ -177,6 +185,7 @@
             <el-col :span="6">
               <el-form-item prop="count" label="检查次数:">
                 <el-input-number
+                  :disabled="isChildren()"
                   style="margin-left: 10px"
                   v-model="formData.count"
                   controls-position="right"
@@ -186,12 +195,12 @@
                 ></el-input-number>
               </el-form-item>
             </el-col>
-           
           </el-row>
           <el-row>
             <el-col :span="6">
               <el-form-item :span="6" prop="execOrgIds" label="检查机构">
                 <org-tree-select
+                  :disabled="isChildren()"
                   v-model="formData.execOrgIds"
                   :queryData="parseInt(formData.execOrgType)"
                   ref="execorgTreeSelect"
@@ -204,6 +213,7 @@
             <el-col :span="6">
               <el-form-item :span="6" prop="checkOrgIds" label="受检机构">
                 <org-tree-select
+                  :disabled="isChildren()"
                   v-model="formData.checkOrgIds"
                   :queryData="parseInt(formData.checkOrgType)"
                   ref="checkorgTreeSelect"
@@ -239,6 +249,7 @@
           </el-row>
           <el-form-item :span="6" prop="description" label="备注">
             <el-input
+              :disabled="isChildren()"
               v-model="formData.description"
               :maxlength="255"
               clearable
@@ -250,7 +261,7 @@
         <el-table :data="tableData" style="width: 100%" height="400px">
           <el-table-column label="是否扫描">
             <template v-slot="{ row }">
-              <el-switch
+              <el-switch :disabled="!getshenglianshe(row)"
                 v-model="row.pointScan"
                 active-text="是"
                 inactive-text="否"
@@ -261,7 +272,7 @@
 
           <el-table-column label="必完成项">
             <template v-slot="{ row }">
-              <el-switch
+              <el-switch :disabled="!getshenglianshe(row)"
                 v-model="row.required"
                 active-text="是"
                 inactive-text="否"
@@ -272,6 +283,7 @@
           <el-table-column prop="ruleName" label="检查手册"> </el-table-column>
           <el-table-column prop="itemName" label="检查项"> </el-table-column>
           <el-table-column prop="pointName" label="检查内容"> </el-table-column>
+          <el-table-column v-if="false" prop="ofOrgId" label="所属机构id"> </el-table-column>
           <el-table-column prop="areaName" label="检查区域"> </el-table-column>
           <el-table-column prop="businessType" label="数据来源">
             <template slot-scope="r">
@@ -282,7 +294,12 @@
           </el-table-column>
           <el-table-column prop="areaName" label="操作">
             <template v-slot="{ row }">
-              <el-button type="text" @click="removeRow(row)">删除</el-button>
+              <el-button
+                v-if="getshenglianshe(row)"
+                type="text"
+                @click="removeRow(row)"
+                >删除</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
@@ -310,7 +327,7 @@ import OrgTree from "@/components/orgTree";
 import korgTree from "@/components/k-orgTree";
 import * as api from "@/api/safetycheck/plan";
 import { statusOptions } from "@/views/commonOption";
-import { findAllRole,findRoleByType } from "@/api/system/role";
+import { findAllRole, findRoleByType } from "@/api/system/role";
 import { getLabel } from "@/views/commonOption";
 import DialogSelect from "@/views/safetycheck/ruleManager/dialog.select.point.vue";
 export default {
@@ -369,6 +386,22 @@ export default {
     ...mapGetters(["orgId", "orgName"]),
   },
   methods: {
+    //省联社内容不能删除
+    getshenglianshe(row) {
+      if (row.ofOrgId == this.orgId) {
+        return true;
+      } else return false;
+    },
+    //编辑内容判断
+    isChildren() {
+      // console.log(this.formData.distributePlanStatus,"distributePlanStatus")
+      if (
+        this.formData.distributePlanStatus != 1 &&
+        (this.formData.hasEdit != 1 || this.id == null)
+      ) {
+        return false;
+      } else return true;
+    },
     NowBuild() {
       if (this.formData.planCycle == 6) return false;
       else return true;
@@ -379,14 +412,14 @@ export default {
     cleanExecOrgList() {
       this.execOrgIds = null;
       this.formData.execOrgList = [];
-      this.formData.roleIds=[];
-      this.formData.execOrgIds=[];
+      this.formData.roleIds = [];
+      this.formData.execOrgIds = [];
       this.getRolesByOrg();
     },
     cleanCheckOrgList() {
       this.checkOrgIds = null;
       this.formData.checkOrgList = [];
-      this.formData.checkOrgIds=[];
+      this.formData.checkOrgIds = [];
     },
     tenantIdnormalizer(node, instanceId) {
       if (node.children && !node.children.length) {
@@ -438,7 +471,7 @@ export default {
       //   orgType: null,
       // };
       findRoleByType(this.formData.execOrgType).then((res) => {
-        console.log(res,"res")
+        console.log(res, "res");
         this.planRoles = res;
       });
     },
@@ -494,12 +527,14 @@ export default {
         this.formData.checkOrgIds = null;
         this.formData.execOrgIds = null;
         this.formData.rulePointIds = null;
+        this.formData.distributePlanStatus = null;
       }
     },
     onSelect(selectList) {
       // console.log(selectList,"selectList");
       for (let i = 0; i < selectList.length; i++) {
         let tem = {
+          ofOrgId:this.orgId,
           pointScan: selectList[i].pointScan,
           required: !selectList[i].required,
           ruleName: selectList[i].ruleName,

+ 84 - 28
src/views/check/index.vue

@@ -283,6 +283,7 @@
           <el-table-column label="操作">
             <template slot-scope="r">
               <el-button
+              v-if="eqOrg(r.row)"
                 size="mini"
                 type="text"
                 icon="el-icon-edit-outline"
@@ -291,6 +292,7 @@
                 >修改</el-button
               >
               <el-button
+              v-if="eqOrg2(r.row)"
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
@@ -310,6 +312,14 @@
                 size="mini"
                 type="text"
                 icon="el-icon-arrow-down"
+                v-if="newcheckCanPublish(r.row)"
+                @click="newshowDialogDistribute(r.row)"
+                v-hasPermi="['core:checkplan:distribute']"
+                >下发</el-button>
+                <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-arrow-down"
                 v-if="chehui(r.row)"
                 @click="chhuile(r.row)"
                 v-hasPermi="['core:checkplan:distribute']"
@@ -340,7 +350,7 @@
 <script>
 import DialogDistribute from "./distribute.vue";
 import OrgTree from "@/components/orgTree";
-import { mapState, mapMutations } from "vuex";
+import { mapState, mapMutations,mapGetters } from "vuex";
 import DialogEdit from "./dialog.edit";
 import * as api from "@/api/safetycheck/plan";
 import { statusOptions, getLabel } from "@/views/commonOption";
@@ -410,9 +420,64 @@ export default {
   watch: {},
   computed: {
     ...mapState([]),
+    ...mapGetters(["orgId", "orgName"]),
   },
   methods: {
     ...mapMutations([]),
+    
+    //判断是否跟当前用户同机构
+    eqOrg(row) {
+      // console.log(row.planCreateOrgId,"row.planCreateOrgId");
+      // console.log(this.orgId,"this.orgId");
+      if (row != null && row != undefined && row.planOfOrgId == this.orgId) {
+        return true;
+      }
+      return true;
+    },
+    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;
+      }
+      return false;
+    },
+    newcheckCanPublish(row){
+      if (row.planStatus==2&& row.parentId != -1&& row.planOfOrgType ==1) {
+        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("取消操作...");
+        });
+
+    },
         //已完成下发的计划不显示下发按钮
     checkCanPublish(row) {
       // console.log(row.planOfOrgType == "1","row.planOfOrgType")
@@ -491,39 +556,30 @@ export default {
       return false;
     },
     showDialogDistribute(row){
-      this.loading = true;
-      api
-        .distributeCheHui(row.id)
-        .then((response) => {
-          // console.log(response, "then");
-          if (response.data == 0) {
-            this.loading = false;
-            this.$refs.dialogDistribute.show(row);
-          } else {
-            this.getList();
-            this.loading = false;
-          }
-        })
-        .catch((response) => {
-          // console.log(response, "catch");
-          this.getList();
-          this.loading = false;
-          this.$refs.dialogDistribute.show(row);
-        });
+      console.log(row,"qqq")
+      this.$refs.dialogDistribute.show(row);
     },
     async onDel(id, name) {
+
       this.$modal
         .confirm('是否确认删除名称为"' + name + '"的数据项?')
-        .then(function () {
-          return api.delelte(id);
-        })
         .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
+          // 用户点击了确认按钮
+          console.log("执行操作...");
+          this.loading = true;
+          api.delelte(id).then(() => {
+            this.getList();
+            this.loading = false;
+            this.$modal.msgSuccess("删除成功");
+            
+          }).catch(()=>{
+            this.loading = false;
+          });
         })
-        .catch(() => {});
-      // await api.delelte(id);
-      // this.getList();
+        .catch(() => {
+          // 用户点击了取消按钮
+          console.log("取消操作...");
+        });
     },
     // 多选框选中数据
     handleSelectionChange(selection) {

+ 2 - 3
src/views/core/drill/plan/dialog.select.file.vue

@@ -36,12 +36,11 @@
           <el-table-column
             prop="orgName"
             label="资料上传机构"
-           min-width="40%"
+           width="250"
           ></el-table-column>
-          <el-table-column label="资料标题" prop="title" min-width="40%"> </el-table-column>
+          <el-table-column label="资料标题" prop="title" width="300"> </el-table-column>
           <el-table-column
             label="资料附件"
-            min-width="20%"
           >
           <template slot-scope="scope">
             <template v-if="scope.row.fileList">

+ 3 - 4
src/views/core/edu/plan/dialog.select.file.vue

@@ -8,7 +8,7 @@
     top="10vh"
     append-to-body
   >
-    <div class="el-dialog-div">
+    <div class="el-dialog-div" style="margin-bottom:20px">
       <g-search-table
         ref="st"
         url="/core/materials/fileList"
@@ -35,12 +35,11 @@
           <el-table-column
             prop="orgName"
             label="资料上传机构"
-           min-width="40%"
+            width="250"
           ></el-table-column>
-          <el-table-column label="资料标题" prop="title" min-width="40%"> </el-table-column>
+          <el-table-column label="资料标题" prop="title" width="300"> </el-table-column>
           <el-table-column
             label="资料附件"
-            min-width="20%"
           >
           <template slot-scope="scope">
             <template v-if="scope.row.fileList">

+ 5 - 5
src/views/core/edu/plan/index.vue

@@ -13,7 +13,7 @@
 
           <el-form-item label="培训主题" prop="planName">
             <el-input v-model="queryParams.planName" placeholder="请输入培训主题" clearable
-                      maxlength="50" show-word-limit
+                      maxlength="50"
                       @keyup.enter.native="handleQuery"/>
           </el-form-item>
           <el-form-item label="培训机构类型" prop="execOrgType">
@@ -83,8 +83,8 @@
           size="small" :data="planList" @selection-change="handleSelectionChange" row-key="id">
           <!-- :tree-props="{ children: 'children' }" -->
           <el-table-column label="序号" align="center" prop="no" width="60"/>
-          <el-table-column label="培训主题" align="left" width="200" prop="planName"/>
-          <el-table-column label="创建机构" align="left" width="180" prop="createOrgName"/>
+          <el-table-column label="培训主题" align="left" header-align="center" width="200" prop="planName"/>
+          <el-table-column label="创建机构" align="left" header-align="center" width="180" prop="createOrgName"/>
           <!-- <el-table-column label="所属机构" align="left" width="180" prop="belongOrgName"/> -->
           <el-table-column label="培训机构类型" align="center" width="180" prop="execOrgType">
             <template slot-scope="scope">
@@ -147,7 +147,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="培训主题" prop="planName" class="endItem" >
-              <el-input v-model="form.planName" maxlength="50" show-word-limit placeholder="请输入培训主题"/>
+              <el-input v-model="form.planName" maxlength="50" placeholder="请输入培训主题"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -241,7 +241,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" maxlength="200" type="textarea" show-word-limit placeholder="请输入备注"/>
+              <el-input v-model="form.remark" maxlength="200" :autosize="{ minRows: 2, maxRows: 4}" type="textarea" show-word-limit placeholder="请输入备注"/>
             </el-form-item>
           </el-col>
         </el-row>

+ 2 - 3
src/views/core/edu/task/index.vue

@@ -14,7 +14,6 @@
           placeholder="请输入培训主题"
           clearable
           maxlength="50"
-          show-word-limit
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -87,8 +86,8 @@
       height="600"
       size="small" v-loading="loading" :data="eduTaskList" @selection-change="handleSelectionChange">
       <el-table-column label="序号" align="center" width="70" prop="no" />
-      <el-table-column label="培训主题" width="200" align="left" prop="title" />
-      <el-table-column label="培训机构" width="200" align="left" prop="orgName" />
+      <el-table-column label="培训主题" width="200" align="left" header-align="center" prop="title" />
+      <el-table-column label="培训机构" width="200" align="left" header-align="center" prop="orgName" />
       <!-- <el-table-column label="开始时间" align="center" prop="startDate" width="180">
       </el-table-column>
       <el-table-column label="截止时间" align="center" prop="endDate" width="180"></el-table-column> -->

+ 11 - 4
src/views/core/message/index.vue

@@ -174,12 +174,13 @@
             :queryData="parseInt(form.tagOrgType)"
             ref="orgTreeSelect"
             :enabledCheckOrgTypes="parseInt(form.tagOrgType)"
-            :disable="true" :disabled="!isSubmit">
+            :disable="true" :disabled="!isSubmit"
+          >
           </org-tree-select>
         </el-form-item>
         <!-- </el-form-item>-->
         <el-form-item label="目标角色" v-if="isShow" prop="tagRoleIds">
-          <el-select v-model="form.tagRoleIds" placeholder="请选择" :disabled="!isSubmit" multiple>
+          <el-select v-model="form.tagRoleIds" placeholder="请选择目标角色" :disabled="!isSubmit" multiple>
             <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
@@ -358,7 +359,10 @@ export default {
       const id = row.id || this.ids
       getNotification(id).then(response => {
         this.form = response.data;
-        if(this.form.tagRoleIds!=null&&this.form.tagRoleIds.length>0){
+/*        if(this.form.tagRoleIds!=null&&this.form.tagRoleIds.length>0){
+          this.isShow=true;
+        }*/
+        if(this.form.messagType==1){
           this.isShow=true;
         }
         roleList(this.form.tagOrgType).then(res => {
@@ -375,9 +379,12 @@ export default {
       const id = row.id || this.ids
       getNotification(id).then(response => {
         this.form = response.data;
-        if(this.form.tagRoleIds!=null&&this.form.tagRoleIds.length>0){
+        if(this.form.messagType==1){
           this.isShow=true;
         }
+    /*    if(this.form.tagRoleIds!=null&&this.form.tagRoleIds.length>0){
+          this.isShow=true;
+        }*/
         roleList(this.form.tagOrgType).then(res => {
           this.roleList = res.data;
         });

+ 10 - 10
src/views/core/send/index.vue

@@ -52,7 +52,7 @@
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button size="mini" type="text" v-if="scope.row.sendStatus == 2" icon="el-icon-edit-outline"
-            @click="handleUpdate(scope.row)" v-hasPermi="['core:send:edit']">修改</el-button>
+            @click="handleUpdate(scope.row)" v-hasPermi="['core:send:edit']">编辑</el-button>
 
           <el-button size="mini" type="text" v-if="scope.row.sendStatus == 2" icon="el-icon-delete"
             @click="handleDelete(scope.row)" v-hasPermi="['core:send:remove']">删除</el-button>
@@ -100,7 +100,7 @@
         </el-form-item>
         <el-form-item prop="sendTime" v-if="form.sendTimeType == 2" label="指定时间">
           <el-date-picker style="width: 100%;" v-model="form.sendTime" @change="startDateChanged"
-            :picker-options="startDatepickerOptions" align="right" type="date" placeholder="选择指定时间">
+            :picker-options="startDatepickerOptions" align="right" type="datetime" placeholder="选择指定时间">
           </el-date-picker>
         </el-form-item>
       </el-form>
@@ -117,9 +117,9 @@
           <el-input readonly v-model="form.title" maxlength="50" placeholder="请输入标题" />
         </el-form-item>
         <el-form-item label="类型" prop="type">
-          <el-select v-model="form.type" style="width: 100%" placeholder="请选择类型">
+          <el-select v-model="form.type" style="width: 100%" placeholder="请选择类型" :disabled="true">
             <el-option v-for="dict in dict.type.message_type" :key="dict.value" :label="dict.label"
-              :value="`${dict.value}`" :disabled="true"></el-option>
+              :value="`${dict.value}`" ></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="内容" prop="content">
@@ -127,12 +127,12 @@
         </el-form-item>
 
         <el-form-item label="发送目标" prop="sendUser">
-          <el-select mode="multiple" style="width: 100%;" v-model="form.sendUser" placeholder="按用户选择">
+          <el-select mode="multiple" style="width: 100%;" v-model="form.sendUser" placeholder="按用户选择" :disabled="true">
             <el-option v-for="item in userOptions" :key="item.id" :label="item.name" :value="item.id"
               :disabled="true"></el-option>
           </el-select>
 
-          <el-select mode="multiple" style="width: 100%;" v-model="form.sendRole" placeholder="按角色选择">
+          <el-select mode="multiple" style="width: 100%;" v-model="form.sendRole" placeholder="按角色选择" :disabled="true">
             <el-option v-for="item in roleOptions" :key="item.id" :label="item.roleName" :value="item.id"
               :disabled="true"></el-option>
           </el-select>
@@ -144,9 +144,9 @@
             </el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item prop="sendTime" v-if="form.sendTimeType == 2" label="指定时间">
+        <el-form-item prop="sendTime" v-if="form.sendTimeType == 2" label="指定时间" :disabled="true">
           <el-date-picker readonly style="width: 100%;" v-model="form.sendTime" @change="startDateChanged"
-            :picker-options="startDatepickerOptions" align="right" type="date" placeholder="选择指定时间">
+            :picker-options="startDatepickerOptions" align="right" type="datetime" placeholder="选择指定时间">
           </el-date-picker>
         </el-form-item>
       </el-form>
@@ -316,7 +316,7 @@ export default {
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "添加";
+      this.title = "新增消息";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -325,7 +325,7 @@ export default {
       getSend(id).then(response => {
         this.form = response.data;
         this.open = true;
-        this.title = "修改";
+        this.title = "编辑消息";
       });
     },
     /**

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

@@ -621,6 +621,7 @@ export default {
       for (let i = 0; i < selectList.length; i++) {
         let item = selectList[i];
         let exist = this.tableData.find((d) => d.id == item.id);
+        console.log(this.orgId,"this.orgId")
         if (!exist) {
           let tem = {
             ofOrgId:this.orgId,

+ 69 - 7
src/views/resumption/plan/index.vue

@@ -292,7 +292,7 @@
                 >编辑</el-button
               >
               <el-button
-                v-if="eqOrg(r.row)"
+                v-if="eqOrg2(r.row)"
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
@@ -313,6 +313,15 @@
                 size="mini"
                 type="text"
                 icon="el-icon-arrow-down"
+                v-if="newcheckCanPublish(r.row)"
+                @click="newshowDialogDistribute(r.row)"
+                v-hasPermi="['system:user:remove']"
+                >下发</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-arrow-down"
                 v-if="chehui(r.row)"
                 @click="chhuile(r.row)"
                 v-hasPermi="['system:user:remove']"
@@ -424,12 +433,27 @@ export default {
       if (row != null && row != undefined && row.planOfOrgId == this.orgId) {
         return true;
       }
+      return true;
+    },
+    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;
+      }
       return false;
     },
     //已完成下发的计划不显示下发按钮
     checkCanPublish(row) {
-      // console.log(row.planOfOrgType,"row.planOfOrgType")
-      if (row.planOfOrgType == "1" && row.distribute == 0) {
+
+      // console.log(row.planStatus,"row.planStatus")
+      if ((row.planOfOrgType == "1" && row.distribute == 0)) {
+        return true;
+      }
+      return false;
+    },
+    newcheckCanPublish(row){
+      if (row.planStatus==2&& row.parentId != -1&& row.planOfOrgType ==1) {
         return true;
       }
       return false;
@@ -504,15 +528,19 @@ export default {
     onEdit(id, other = {}) {
       this.$refs.editDialog.show(id, other);
     },
-    showDialogDistribute(row) {
-      this.loading = true;
+    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;
-            this.$refs.dialogDistribute.show(row);
           } else {
             this.getList();
             this.loading = false;
@@ -522,8 +550,40 @@ export default {
           // console.log(response, "catch");
           this.getList();
           this.loading = false;
-          this.$refs.dialogDistribute.show(row);
         });
+        })
+        .catch(() => {
+          // 用户点击了取消按钮
+          console.log("取消操作...");
+        });
+
+
+
+
+
+
+    },
+    showDialogDistribute(row) {
+      // this.loading = true;
+      // api
+      //   .distributeCheHui(row.id)
+      //   .then((response) => {
+      //     // console.log(response, "then");
+      //     if (response.data == 0) {
+      //       this.loading = false;
+      //       this.$refs.dialogDistribute.show(row);
+      //     } else {
+      //       this.getList();
+      //       this.loading = false;
+      //     }
+      //   })
+      //   .catch((response) => {
+      //     // console.log(response, "catch");
+      //     this.getList();
+      //     this.loading = false;
+      //     this.$refs.dialogDistribute.show(row);
+      //   });
+      this.$refs.dialogDistribute.show(row);
     },
     async onDel(id, name) {
       this.$modal
@@ -537,6 +597,8 @@ export default {
             this.loading = false;
             this.$modal.msgSuccess("删除成功");
             
+          }).catch(()=>{
+            this.loading = false;
           });
         })
         .catch(() => {

+ 2 - 1
src/views/resumption/protection/dialog.edit.vue

@@ -104,7 +104,7 @@ export default {
     reset() {
       return {
         id: null,
-        orgId: null,
+        orgId:null,
         orgPath: null,
         orgName: null,
         name: null,
@@ -135,6 +135,7 @@ export default {
       });
     },
     onOrgSelect(node) {
+      // console.info(node)
       this.formData.orgPath = node.path;
       this.formData.orgName = node.shortName;
       listIdName({ orgId: node.id, deviceType: 1, assetType: 2 }).then((d) => {

+ 1 - 1
src/views/system/dept/extend.vue

@@ -593,7 +593,7 @@ export default {
         // { label: "是否可用", key: "isLock" },
         { label: "更新时间", key: "updateTime" },
         { label: "同步时间", key: "createTime" },
-       
+
       ],
 
       type: null,

+ 17 - 13
src/views/system/device/index.vue

@@ -10,12 +10,12 @@
           <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
             label-width="68px">
             <el-form-item label="设备名称" prop="deviceName">
-              <el-input v-model="queryParams.deviceName" placeholder="请输入设备名称" clearable
+              <el-input v-model="queryParams.deviceName" placeholder="请输入设备名称" 
                 @keyup.enter.native="handleQuery" />
             </el-form-item>
             <el-form-item label="资产类别" prop="assetType">
 
-              <el-select style="width: 100%;" clearable v-model="queryParams.assetType" placeholder="请选择"
+              <el-select style="width: 100%;"  v-model="queryParams.assetType" placeholder="请选择"
                 @change="changeSelectDevice">
                 <el-option v-for="dict in dict.type.sys_asset_type" :key="dict.value" :label="dict.label"
                   :value="`${dict.value}`"></el-option>
@@ -24,7 +24,7 @@
 
             <el-form-item label="设备分类" prop="deviceType">
 
-              <el-select style="width: 100%;" clearable v-model="queryParams.deviceType" placeholder="请选择">
+              <el-select style="width: 100%;"  v-model="queryParams.deviceType" placeholder="请选择">
                 <el-option v-for="item in devices" :key="item.dictValue" :label="item.dictLabel"
                   :value="item.dictValue"></el-option>
               </el-select>
@@ -97,14 +97,15 @@
 
     </el-row>
 
-
-
-
-
-
     <!-- 添加或修改【请填写功能名称】对话框 -->
-    <el-dialog :title="title" :visible="open" width="800px" append-to-body @close="cancel">
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+    <DialogCom
+      :title="title"
+      :visible.sync="open"
+      width="700px"
+      @close="closeHandler"
+      append-to-body
+    >
+    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="20">
             <el-form-item label="所属机构" prop="orgId">
@@ -121,8 +122,6 @@
             </el-form-item>
           </el-col>
         </el-row>
-
-
         <el-row>
           <el-col :span="12">
             <el-form-item label="资产类别" prop="assetType">
@@ -189,7 +188,7 @@
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
-    </el-dialog>
+  </DialogCom>
 
         <!-- 设备导入对话框 -->
         <DialogCom :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
@@ -205,6 +204,7 @@
         <el-button @click="upload.open = false">取 消</el-button>
       </div>
     </DialogCom>
+   
   </div>
 </template>
 
@@ -471,6 +471,9 @@ export default {
       this.open = false;
       this.reset();
     },
+    closeHandler() {
+      this.reset();
+    },
     // 表单重置
     reset() {
       this.form = {
@@ -518,6 +521,7 @@ export default {
       this.form.orgId = this.selectOrgId;
       this.dept.id=this.selectOrgId;
       this.changeSelect(this.dept);
+      this.devices=null;
     },
     changeSelectDevice(val) {
       if (val) {