Parcourir la source

完善保存时的loading;机构下拉框

jiawuxian il y a 2 ans
Parent
commit
0e889726f3

+ 1 - 0
src/api/resumption/protection.js

@@ -23,6 +23,7 @@ export function update(data) {
     url: "/core/resumption/protection/edit",
     method: "post",
     data: data,
+    showLoading: true,
   });
 }
 

+ 1 - 0
src/api/resumption/rule.js

@@ -41,6 +41,7 @@ export function update(data) {
     url: "/core/resumption/rule/edit",
     method: "post",
     data: data,
+    showLoading: true,
   });
 }
 

+ 2 - 1
src/api/resumption/ruleManager.js

@@ -39,7 +39,8 @@ export function update(data) {
   return request({
     url: '/core/resumption/ruleItem/edit',
     method: 'post',
-    data: data
+    data: data,
+    showLoading: true,
   })
 }
 

+ 0 - 0
src/components/computed.sync.ts → src/components/computed.sync.js


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

@@ -5,55 +5,56 @@
     :normalizer="normalizer"
     v-bind="$attrs"
     @select="select"
+    ref="tree"
   />
 </template>
 <script>
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { deptTreeSelect } from "@/api/system/public";
-import sync from '@/components/computed.sync.ts'
+import sync from "@/components/computed.sync.js";
 export default {
-  name: "orgTree",
-  prop:{
-    // value:{
-    //   type:String
-    // }
+  name: "orgDropTree",
+  data() {
+    return {
+      deptOptions: []
+    };
   },
-  watch:{
+  props: {
+    value: {
+      type:String,      
+    },
+  },
+  watch: {
     // value(v){
-    //   debugger
-    //   this.val=value
-    // },
-    // val(v){
-    //   this.$emit('input',v) 
-    // }
+    //   // debugger
+    //   // console.info("watch",v);
+    // }   
   },
-  computed:{
-    val:sync('value')
+  computed: {
+    val:sync('value')     ,
   },
   components: { Treeselect },
-  data(){
-      return {
-        deptOptions:[]
-      }
-    },
+  
   methods: {
-    
     /** 查询机构下拉树结构 */
     getDeptTree() {
       deptTreeSelect().then((response) => {
         this.deptOptions = response.data;
-        console.log(this.deptOptions, " this.deptOptions");
+        // console.log(this.deptOptions, " this.deptOptions");
         if (response.data && response.data.length > 0) {
           // this.val = response.data[0].id;
-          // this.$emit('input',response.data[0].id) 
+          // this.value = response.data[0].id;
+          // let t=this.$refs.tree;
+          // debugger;
+          // this.$emit("input", response.data[0].id);
           // this.$emit("select", response.data[0]);
         }
       });
     },
     /** 转换机构数据结构 */
     normalizer(node) {
-      if (node.children && !node.children.length) {
+      if (node.children == null || node.children.length == 0) {
         delete node.children;
       }
       return {
@@ -62,9 +63,9 @@ export default {
         children: node.children,
       };
     },
-    select(node){
-      this.$emit('select',node);
-    }
+    select(node) {
+      this.$emit("select", node);
+    },
   },
   mounted() {
     this.getDeptTree();

+ 28 - 20
src/views/resumption/protection/dialog.edit.vue

@@ -3,6 +3,7 @@
     <el-dialog
       :title="id ? '编辑防区' : '新增防区'"
       :visible.sync="isShow"
+      @close="onHide"
       width="500px"
     >
       <div class="page-body">
@@ -16,11 +17,15 @@
           label-prefix=":"
         >
           <el-form-item label="所属机构" prop="orgId">
-            <orgDropDown v-model="formData.orgId" placeholder="选择所属机构" @select="onOrgSelect"/>
+            <orgDropDown
+              v-model="formData.orgId"
+              placeholder="选择所属机构"
+              @select="onOrgSelect"
+            />
           </el-form-item>
           <el-form-item prop="name" label="防区名称:">
             <el-input
-              v-model="formData.name"
+            v-model="formData.name"
               :maxlength="50"
               name="name"
               placeholder="请输入防区名称"
@@ -40,7 +45,7 @@
       </div>
 
       <div slot="footer" class="dialog-footer">
-        <el-button @click="onHide">取消</el-button>
+        <el-button @click="isShow=false">取消</el-button>
         <el-button type="primary" @click="onSubmit">确定</el-button>
       </div>
     </el-dialog>
@@ -48,7 +53,7 @@
 </template>
 
 <script>
-import { mapState, mapMutations } from "vuex";
+import { mapState, mapMutations, mapGetters } from "vuex";
 import * as api from "@/api/resumption/protection";
 import orgDropDown from "../../../components/orgTree/orgDropDown.vue";
 export default {
@@ -59,15 +64,21 @@ export default {
       formData: this.reset(),
       // 机构树选项
       formDataRules: {
-        name: [{ required: true, message: "请选择所属机构" }],
+        orgId: [{ required: true, message: "请选择所属机构" }],
         name: [{ required: true, message: "请输入防区名称" }],
       },
     };
   },
   props: {},
-  watch: {},
+  watch: {
+    // "formData.orgId":{
+    //   handler(v){
+    //     console.info("formData.orgId",v)
+    //   }
+    // }
+  },
   computed: {
-    ...mapState([]),
+    ...mapGetters(["orgId"]),
   },
   methods: {
     ...mapMutations([]),
@@ -75,8 +86,8 @@ export default {
       return {
         id: null,
         orgId: null,
-        orgPath:null,
-        orgName:null,
+        orgPath: null,
+        orgName: null,
         name: null,
         allHour: null,
       };
@@ -92,25 +103,22 @@ export default {
 
     // 事件
     onHide() {
-      this.$refs.form.resetFields();
-      this.formData=this.reset();
-      this.isShow = false;
+      this.$refs.form.resetFields();     
     },
     onSubmit() {
       this.$refs.form.validate(async (isValidate) => {
         if (!isValidate) return;
         await api.update(this.formData);
         this.$emit("success");
-        this.onHide();
+        this.isShow = false;
       });
-    },  
-    onOrgSelect(node){      
-      this.formData.orgPath=node.path;
-      this.formData.orgName=node.name;
-    }
-  },
-  created() {
+    },
+    onOrgSelect(node) {
+      this.formData.orgPath = node.path;
+      this.formData.orgName = node.name;
+    },
   },
+  created() {},
   mounted() {},
   components: { orgDropDown },
 };