瀏覽代碼

页面更新

guoqing 2 年之前
父節點
當前提交
223af4a8b6
共有 3 個文件被更改,包括 284 次插入172 次删除
  1. 66 158
      src/views/placeManage/ManageList.vue
  2. 179 0
      src/views/placeManage/ManageList2.vue
  3. 39 14
      src/views/placeManage/placeRegister.vue

+ 66 - 158
src/views/placeManage/ManageList.vue

@@ -6,33 +6,7 @@
       finished-text="没有更多了"
       @load="onLoad"
     >
-      <!-- <van-checkbox-group
-        v-if="type == 1"
-        v-model="checked"
-        ref="checkboxGroup"
-      >
-        <van-button type="primary" size="mini" @click="checkAll"
-          >全选</van-button
-        >
-        <van-cell-group inset>
-          <van-cell
-            v-for="(item, index) in list3"
-            clickable
-            :key="item"
-            :title="item.name"
-            @click="toggle(index)"
-          >
-            <template #right-icon>
-              <van-checkbox
-                shape="square"
-                :name="item"
-                :ref="(el) => (checkboxRefs[index] = el)"
-              />
-            </template>
-          </van-cell>
-        </van-cell-group>
-      </van-checkbox-group> -->
-      <van-radio-group v-if="type == 0 && stateType == 0" v-model="checked">
+      <van-radio-group v-if="type == 0" v-model="checked">
         <van-cell-group inset>
           <van-cell
             v-for="item in list3"
@@ -47,21 +21,6 @@
           </van-cell>
         </van-cell-group>
       </van-radio-group>
-      <van-radio-group v-if="type == 0 && stateType == 1" v-model="checked">
-        <van-cell-group inset>
-          <van-cell
-            v-for="item in list4"
-            clickable
-            :key="item"
-            :title="item.name"
-            @click="selectes(item)"
-          >
-            <template #right-icon>
-              <van-radio :name="item" />
-            </template>
-          </van-cell>
-        </van-cell-group>
-      </van-radio-group>
     </van-list>
   </div>
 </template>
@@ -72,16 +31,14 @@ import placeRegister from "@/api/placeRegister/placeRegister";
 export default {
   name: "personList",
   emits: ["selected"],
-  props: ["type", "stateType", "placeAddress"],
+  props: ["type", "placeAddress"],
   setup(props, { emit }) {
     const list = ref([]);
     const list3 = ref([]);
-    const list4 = ref([]);
     const loading = ref(false);
     const finished = ref(false);
     let index = 0;
     let zjList = ref([]);
-    let gaList = ref([]);
     const onLoad = () => {
       // 异步更新数据
       new placeRegister()
@@ -94,12 +51,33 @@ export default {
           // 加载状态结束
           loading.value = false;
           index++;
-          // console.log(list.value);
           // 数据全部加载完成
           if (records.length < 10) {
             finished.value = true;
           }
         });
+      let placeAddress = "";
+      placeAddress = props.placeAddress.split("/");
+      let mechanism1 = ref([]); //宗教
+      new placeRegister().treeDate2().then((res) => {
+        mechanism1.value.push(res[0]);
+        Getzj(mechanism1.value);
+        let listone = [];
+        let itemId = [];
+        zjList.value.forEach((item1) => {
+          if (item1.regionLevel5 == placeAddress[2]) {
+            itemId.push(item1.id);
+          }
+        });
+        itemId.forEach((ID) => {
+          list.value.forEach((item2) => {
+            if (ID == item2.officeDTO.id) {
+              listone.push(item2);
+            }
+          });
+        });
+        list3.value = listone;
+      });
     };
     //获取宗教部门数组
     function Getzj(list) {
@@ -111,18 +89,14 @@ export default {
       });
     }
     //获取公安部门数组
-    function Getga(list) {
-      list.forEach((item) => {
-        gaList.value.push(item);
-        if (item.children) {
-          Getga(item.children);
-        }
-      });
-    }
-    // 搜索
-    const value = ref("");
-    const onSearch = (val) => showToast(val);
-    const onCancel = () => showToast("取消");
+    // function Getga(list) {
+    //   list.forEach((item) => {
+    //     gaList.value.push(item);
+    //     if (item.children) {
+    //       Getga(item.children);
+    //     }
+    //   });
+    // }
     // 选择人员
     const checked = ref([]);
     const checkboxRefs = ref([]);
@@ -140,105 +114,40 @@ export default {
       checked.value = val;
       emit("selected", checked.value, 0);
     };
-    let placeAddress = "";
-    watch(
-      () => props.placeAddress,
-      (val) => {
-        placeAddress = props.placeAddress.split("/");
-        let mechanism1 = ref([]); //宗教
-        let mechanism2 = ref([]); //公安
-        new placeRegister().treeDate2().then((res) => {
-          mechanism1.value.push(res[0]);
-          mechanism2.value.push(res[1]);
-          Getzj(mechanism1.value);
-          Getga(mechanism2.value);
-          console.log(zjList);
-          console.log(gaList);
-          if (props.stateType == 0) {
-            let listone = [];
-             console.log('0')
-            zjList.value.forEach((item1) => {
-               console.log('00')
-              if (
-                item1.regionLevel5 == placeAddress[2]
-              ) {
-                let itemId = item1.id;
-                list.value.forEach((item2) => {
-                  if (itemId == item2.officeDTO.id) {
-                    listone.push(item2);
-                  }
-                });
-                list3.value = listone;
-              }if (
-                item1.regionLevel4 == placeAddress[1]
-              ) {
-                let itemId = item1.id;
-                list.value.forEach((item2) => {
-                  if (itemId == item2.officeDTO.id) {
-                    listone.push(item2);
-                  }
-                });
-                list3.value = listone;
-              }
-              if (
-                item1.regionLevel4 == placeAddress[0]
-              ) {
-                let itemId = item1.id;
-                list.value.forEach((item2) => {
-                  if (itemId == item2.officeDTO.id) {
-                    listone.push(item2);
-                  }
-                });
-                list3.value = listone;
-              }
-            });
-          }
-          if (props.stateType == 1) {
-            let listtwo = [];
-            gaList.value.forEach((item3) => {
-              if (
-                item3.regionLevel5 == placeAddress[2]
-              ) {
-                let itemId = item3.id;
-                list.value.forEach((item2) => {
-                  if (itemId == item2.officeDTO.id) {
-                    listtwo.push(item2);
-                  }
-                });
-                list4.value = listtwo;
-              }
-              if (item3.regionLevel4 == placeAddress[1]) {
-                let itemId = item3.id;
-                list.value.forEach((item2) => {
-                  if (itemId == item2.officeDTO.id) {
-                    listtwo.push(item2);
-                  }
-                });
-                list4.value = listtwo;
-              }
-              if (item3.regionLevel3 == placeAddress[0]) {
-                let itemId = item3.id;
-                list.value.forEach((item2) => {
-                  if (itemId == item2.officeDTO.id) {
-                    listtwo.push(item2);
-                  }
-                });
-                list4.value = listtwo;
-              }
-              console.log(listtwo)
-            });
-          }
-        });
-      },
-      {
-        //如果加了这个参数,值为true的话,就消除了惰性,watch会在创建后立即执行一次
-        //那么首次执行,val为默认值,preVal为undefined
-        immediate: true,
-        //这个参数代表监听对象时,可以监听深度嵌套的对象属性
-        //比如message是一个对象的话,可以监听到message.a.b.c,也就是message下的所有属性
-        deep: true,
-      }
-    );
+
+    // let placeAddress = "";
+    // watch(
+    //   () => props.placeAddress,
+    //   (val) => {
+    //     placeAddress = val.split("/");
+    //     let mechanism1 = ref([]); //宗教
+    //     new placeRegister().treeDate2().then((res) => {
+    //       mechanism1.value.push(res[0]);
+    //       Getzj(mechanism1.value);
+    //       let listone = [];
+    //       zjList.value.forEach((item1) => {
+    //         let itemId = '';
+    //         if (item1.regionLevel5 == placeAddress[2]) {
+    //           itemId = item1.id;
+    //           list.value.forEach((item2) => {
+    //             if (itemId == item2.officeDTO.id) {
+    //               listone.push(item2);
+    //             }
+    //           });
+    //           list3.value = listone;
+    //         }
+    //       });
+    //     });
+    //   },
+    //   {
+    //     //如果加了这个参数,值为true的话,就消除了惰性,watch会在创建后立即执行一次
+    //     //那么首次执行,val为默认值,preVal为undefined
+    //     immediate: true,
+    //     //这个参数代表监听对象时,可以监听深度嵌套的对象属性
+    //     //比如message是一个对象的话,可以监听到message.a.b.c,也就是message下的所有属性
+    //     deep: true,
+    //   }
+    // );
 
     return {
       // 人员
@@ -254,7 +163,6 @@ export default {
       // 单选
       selectes,
       list3,
-      list4,
     };
   },
 };

+ 179 - 0
src/views/placeManage/ManageList2.vue

@@ -0,0 +1,179 @@
+<template>
+  <div class="personList">
+    <van-list
+      v-model:loading="loading"
+      :finished="finished"
+      finished-text="没有更多了"
+      @load="onLoad"
+    >
+      <van-radio-group v-if="type == 0" v-model="checked">
+        <van-cell-group inset>
+          <van-cell
+            v-for="item in list4"
+            clickable
+            :key="item"
+            :title="item.name"
+            @click="selectes(item)"
+          >
+            <template #right-icon>
+              <van-radio :name="item" />
+            </template>
+          </van-cell>
+        </van-cell-group>
+      </van-radio-group>
+    </van-list>
+  </div>
+</template>
+
+<script>
+import { ref, watch } from "vue";
+import placeRegister from "@/api/placeRegister/placeRegister";
+export default {
+  name: "personList",
+  emits: ["selected"],
+  props: ["type", "placeAddress"],
+  setup(props, { emit }) {
+    const list = ref([]);
+    const list4 = ref([]);
+    const loading = ref(false);
+    const finished = ref(false);
+    let index = 0;
+    let gaList = ref([]);
+    const onLoad = () => {
+      // 异步更新数据
+      new placeRegister()
+        .list({
+          current: index + 1,
+          size: 10,
+        })
+        .then(({ records }) => {
+          list.value.push(...records);
+          // 加载状态结束
+          loading.value = false;
+          index++;
+          // console.log(list.value);
+          // 数据全部加载完成
+          if (records.length < 10) {
+            finished.value = true;
+          }
+        });
+      let placeAddress = "";
+      placeAddress = props.placeAddress.split("/");
+      let mechanism2 = ref([]); //公安
+      new placeRegister().treeDate2().then((res) => {
+        mechanism2.value.push(res[1]);
+        Getga(mechanism2.value);
+        let listtwo = [];
+        let itemId = [];
+        gaList.value.forEach((item3) => {
+          if (item3.regionLevel5 == placeAddress[2]) {
+            itemId.push(item3.id);
+          }
+        });
+        list.value.forEach((item2) => {
+          itemId.forEach((ID) => {
+            if (ID == item2.officeDTO.id) {
+              listtwo.push(item2);
+            }
+          });
+          list4.value = listtwo;
+        });
+      });
+    };
+    //获取公安部门数组
+    function Getga(list) {
+      list.forEach((item) => {
+        gaList.value.push(item);
+        if (item.children) {
+          Getga(item.children);
+        }
+      });
+    }
+    //获取宗教部门数组
+    // function Getzj(list) {
+    //   list.forEach((item) => {
+    //     zjList.value.push(item);
+    //     if (item.children) {
+    //       Getzj(item.children);
+    //     }
+    //   });
+    // }
+
+    // 选择人员
+    const checked = ref([]);
+    const checkboxRefs = ref([]);
+    const checkboxGroup = ref(null);
+    const toggle = (index) => {
+      checkboxRefs.value[index].toggle();
+      emit("selected", checked.value, 1);
+    };
+    // 全选
+    const checkAll = () => {
+      checkboxGroup.value.toggleAll(true);
+      emit("selected", checked.value, 1);
+    };
+    const selectes = (val) => {
+      checked.value = val;
+      emit("selected", checked.value, 0);
+    };
+    // let placeAddress = "";
+    // watch(
+    //   () => props.placeAddress,
+    //   (val) => {
+    //     placeAddress = val.split("/");
+
+    //   },
+    //   {
+    //     //如果加了这个参数,值为true的话,就消除了惰性,watch会在创建后立即执行一次
+    //     //那么首次执行,val为默认值,preVal为undefined
+    //     immediate: true,
+    //     //这个参数代表监听对象时,可以监听深度嵌套的对象属性
+    //     //比如message是一个对象的话,可以监听到message.a.b.c,也就是message下的所有属性
+    //     deep: true,
+    //   }
+    // );
+
+    return {
+      // 人员
+      onLoad,
+      loading,
+      finished,
+      // 全选
+      checkAll,
+      toggle,
+      checked,
+      checkboxRefs,
+      checkboxGroup,
+      // 单选
+      selectes,
+      list4,
+    };
+  },
+};
+</script>
+
+<style scoped>
+.personList {
+  height: 65vh;
+  overflow: auto;
+  margin: 10px;
+}
+.van-button {
+  top: -5px;
+}
+.search {
+  height: 40px;
+  line-height: 40px;
+}
+.van-list {
+  height: 80%;
+  margin-top: 5px;
+}
+.keyword {
+  width: 70%;
+  height: 25px;
+  border-radius: 25px;
+  border: 1px solid;
+  padding-left: 15px;
+}
+</style>

+ 39 - 14
src/views/placeManage/placeRegister.vue

@@ -161,7 +161,6 @@
           <manage-list
             @selected="selected"
             :type="0"
-            :stateType="0"
             :placeAddress="placeAddress"
           ></manage-list>
         </van-dialog>
@@ -180,14 +179,13 @@
           v-model:show="showReport"
           title="公安部门管理人员"
           show-cancel-button
-          @confirm="reselected"
+          @confirm="reselected2"
         >
-          <manage-list
-            @selected="selected"
+          <manage-list-2
+            @selected="selected2"
             :type="0"
-            :stateType="1"
             :placeAddress="placeAddress"
-          ></manage-list>
+          ></manage-list-2>
         </van-dialog>
       </van-cell-group>
       <van-cell-group>
@@ -230,9 +228,10 @@
 <script>
 import { reactive, ref } from "vue";
 import ManageList from "../placeManage/ManageList.vue";
+import ManageList2 from "../placeManage/ManageList2.vue";
 import PlaceRegister from "@/api/placeRegister/placeRegister";
 export default {
-  components: { ManageList },
+  components: { ManageList, ManageList2 },
   setup() {
     const onClickLeft = () => {
       history.back();
@@ -339,13 +338,6 @@ export default {
     });
     let showPlace1 = ref(false);
     const getPlace1 = ({ selectedOptions }) => {
-      placeAddress.value =
-        selectedOptions[0].id +
-        "/" +
-        selectedOptions[1].id +
-        "/" +
-        selectedOptions[2].id;
-      placeActivity.placeData.placeSelectId = placeAddress.value;
       showPlace1.value = false;
       placeActivity.placeData.placeSelectName =
         selectedOptions[0].name +
@@ -353,6 +345,13 @@ export default {
         selectedOptions[1].name +
         "/" +
         selectedOptions[2].name;
+      placeAddress.value =
+        selectedOptions[0].id +
+        "/" +
+        selectedOptions[1].id +
+        "/" +
+        selectedOptions[2].id;
+      placeActivity.placeData.placeSelectId = placeAddress.value;
     };
     //人员选择
     let showPerson = ref(false);
@@ -361,10 +360,18 @@ export default {
       value: [],
       type: "",
     };
+    let list2 = {
+      value: [],
+      type: "",
+    };
     const selected = (val, type) => {
       list.value = val;
       list.type = type;
     };
+    const selected2 = (val, type) => {
+      list2.value = val;
+      list2.type = type;
+    };
     const reselected = () => {
       let ids = [];
       let names = [];
@@ -375,6 +382,21 @@ export default {
         });
         placeActivity.placeData.religiousDeptManaUser = ids.join(",");
         placeActivity.placeData.religiousDeptManaUserName = names.join(",");
+      } else {
+        placeActivity.placeData.religiousDeptManaUser = list.value.id;
+        placeActivity.placeData.religiousDeptManaUserName = list.value.name;
+      }
+    };
+    const reselected2 = () => {
+      let ids = [];
+      let names = [];
+      if (list.type == 1) {
+        list.value.forEach((item) => {
+          ids.push(item.id);
+          names.push(item.name);
+        });
+        placeActivity.placeData.securityDeptManaUser = ids.join(",");
+        placeActivity.placeData.securityDeptManaUserName = names.join(",");
       } else {
         placeActivity.placeData.securityDeptManaUser = list.value.id;
         placeActivity.placeData.securityDeptManaUserName = list.value.name;
@@ -427,7 +449,9 @@ export default {
       showPerson,
       showReport,
       selected,
+      selected2,
       reselected,
+      reselected2,
       //数据提交
       submit,
     };
@@ -441,6 +465,7 @@ export default {
 }
 .main {
   background: #fff;
+  top: 0px !important;
 }
 .main p {
   height: 40px;