Prechádzať zdrojové kódy

Squashed commit of the following:

commit 690c9be6b8e5755d57ac8253c55e33e398868f5c
Merge: 460dac9 99e46be
Author: guoqing <1624870927@qq.com>
Date:   Mon Apr 10 17:56:30 2023 +0800

    Merge branch 'master' of http://123.57.226.179:8080/yin_yu820/HS_MZAP

commit 460dac9eb020959788ffff13978435b78aba752c
Author: guoqing <1624870927@qq.com>
Date:   Mon Apr 10 17:56:21 2023 +0800

    场所录入模块根据地址选择管理人员功能更新
LuChongMei 1 rok pred
rodič
commit
a09fa3c4f5

+ 122 - 60
src/views/placeManage/ManageList.vue

@@ -6,7 +6,7 @@
       finished-text="没有更多了"
       @load="onLoad"
     >
-      <van-checkbox-group
+      <!-- <van-checkbox-group
         v-if="type == 1"
         v-model="checked"
         ref="checkboxGroup"
@@ -31,8 +31,8 @@
             </template>
           </van-cell>
         </van-cell-group>
-      </van-checkbox-group>
-      <van-radio-group v-if="type == 0" v-model="checked">
+      </van-checkbox-group> -->
+      <van-radio-group v-if="type == 0 && stateType == 0" v-model="checked">
         <van-cell-group inset>
           <van-cell
             v-for="item in list3"
@@ -47,14 +47,28 @@
           </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>
 
 <script>
-import { ref } from "vue";
+import { ref, watch } from "vue";
 import placeRegister from "@/api/placeRegister/placeRegister";
-import { List } from "vant";
 export default {
   name: "personList",
   emits: ["selected"],
@@ -62,10 +76,10 @@ export default {
   setup(props, { emit }) {
     const list = ref([]);
     const list3 = ref([]);
+    const list4 = ref([]);
     const loading = ref(false);
     const finished = ref(false);
     let index = 0;
-    let placeAddress = props.placeAddress.split("/");
     let zjList = ref([]);
     let gaList = ref([]);
     const onLoad = () => {
@@ -86,60 +100,8 @@ export default {
             finished.value = true;
           }
         });
-      let mechanism1 = []; //宗教
-      let mechanism2 = []; //公安
-      new placeRegister().treeDate2().then((res) => {
-        mechanism1.push(res[0]);
-        mechanism2.push(res[1]);
-        if (props.stateType == 0) {
-          Getzj(mechanism1);
-          // console.log(zjList.value);
-          zjList.value.forEach((item1) => {
-            if (
-              
-              item1.regionLevel3 == placeAddress[0]||
-              item1.regionLevel4 == placeAddress[1]||
-              item1.regionLevel5 == placeAddress[2]
-            ) {
-              let itemId = item1.id;
-              let list2 = [];
-              list.value.forEach((item2) => {
-                if (itemId == item2.officeDTO.id) {
-                  list2.push(item2)
-                }
-              });
-              list3.value = list2;
-              console.log(list2);
-            }
-          });
-        } else {
-          Getga(mechanism2);
-          // console.log(gaList.value);
-          gaList.value.forEach((item3) => {
-            if (
-              // item3.regionLevel3 == placeAddress[0] ||
-              // (item3.regionLevel3 == placeAddress[0] &&
-              //   item3.regionLevel4 == placeAddress[1]) ||
-              // (item3.regionLevel3 == placeAddress[0] &&
-              //   item3.regionLevel4 == placeAddress[1] &&
-              //   item3.regionLevel5 == placeAddress[2])
-              item3.regionLevel3 == placeAddress[0]||
-              item3.regionLevel4 == placeAddress[1]||
-              item3.regionLevel5 == placeAddress[2]
-            ) {
-              let itemId = item3.id;
-              let list2 = [];
-              list.value.forEach((item2) => {
-                if (itemId == item2.officeDTO.id) {
-                  list2.push(item2)
-                }
-              });
-              list3.value = list2;
-            }
-          });
-        }
-      });
     };
+
     //获取宗教部门数组
     function Getzj(list) {
       list.forEach((item) => {
@@ -179,6 +141,105 @@ 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,
+      }
+    );
 
     return {
       // 人员
@@ -193,7 +254,8 @@ export default {
       checkboxGroup,
       // 单选
       selectes,
-      list3
+      list3,
+      list4,
     };
   },
 };

+ 46 - 34
src/views/placeManage/placeRegister.vue

@@ -5,13 +5,15 @@
       <p class="miniTitle">基础信息</p>
       <van-cell-group>
         <van-field
-          v-model="placeActivity.placeData.religiousType"
+          v-model="placeActivity.religiousType"
           readonly
-          label="所属宗教:"
+          label="宗教教别:"
+          name = "validator"
           placeholder="请选择宗教"
           input-align="right"
           right-icon="arrow-down"
           @click="showPicker = true"
+          :rules="[{ validator, message: '宗教教别不能为空' }]"
         />
         <van-popup v-model:show="showPicker" round position="bottom">
           <van-picker
@@ -82,7 +84,7 @@
       </van-cell-group>
       <van-cell-group>
         <van-field
-          v-model="placeActivity.placeData.siteType"
+          v-model="placeActivity.siteType"
           readonly
           label="场所类型"
           placeholder="请选择场所类型"
@@ -101,7 +103,7 @@
       </van-cell-group>
       <van-cell-group>
         <van-field
-          v-model="placeActivity.placeData.constructionStage"
+          v-model="placeActivity.constructionStage"
           readonly
           label="场所建设阶段"
           placeholder="请选择场所建设阶段"
@@ -120,7 +122,7 @@
       </van-cell-group>
       <van-cell-group>
         <van-field
-          v-model="placeActivity.placeData.nature"
+          v-model="placeActivity.nature"
           readonly
           label="场所性质"
           placeholder="请选择场所性质"
@@ -240,6 +242,7 @@ export default {
         name: "", //场所名称
         contact: "", //场所联系人
         contactNumber: "", //联系电话
+        placeSelectId:"",//场所地点id
         placeSelectName: "", //场所地点
         place: "", //详细场所地点
         siteType: "", //场所类型
@@ -254,49 +257,58 @@ export default {
       },
       fileList1: [], //外景图片
       fileList2: [], //内景图片
+      religiousType: "", //所属宗教
+      placeSelectName: "", //场所地点
+      siteType: "", //场所类型
+      constructionStage: "", //场所建设阶段
+      nature: "", //场所性质
     });
     // 宗教名称
     const places = [
-      { text: "伊斯兰教", value: "伊斯兰教" },
-      { text: "基督教", value: "基督教" },
-      { text: "天主教", value: "天主教" },
-      { text: "佛教", value: "佛教" },
-      { text: "道教", value: "道教" },
+      { text: "伊斯兰教", value: " 1" },
+      { text: "基督教", value: "2" },
+      { text: "天主教", value: "3" },
+      { text: "佛教", value: "4" },
+      { text: "道教", value: "5" },
     ];
     let showPicker = ref(false);
     const getPlace = ({ selectedOptions }) => {
       showPicker.value = false;
-      placeActivity.placeData.religiousType = selectedOptions[0].text;
+      placeActivity.placeData.religiousType = selectedOptions[0].value;
+      placeActivity.religiousType = selectedOptions[0].text;
     };
     // 场所类型
     const placeType = [
-      { text: "线下", value: "线下" },
-      { text: "线上", value: "线上" },
+      { text: "线上", value: "0" },
+      { text: "线下", value: "1" },
     ];
     let showPicker1 = ref(false);
     const getplaceType = ({ selectedOptions }) => {
       showPicker1.value = false;
-      placeActivity.placeData.siteType = selectedOptions[0].text;
+      placeActivity.placeData.siteType = selectedOptions[0].value;
+      placeActivity.siteType = selectedOptions[0].text;
     };
     // 场所建设
     const construction = [
-      { text: "筹备", value: "筹备" },
-      { text: "建设完成", value: "建设完成" },
+      { text: "筹备", value: "0" },
+      { text: "建设完成", value: "1" },
     ];
     let showPicker2 = ref(false);
     const getConstruction = ({ selectedOptions }) => {
       showPicker2.value = false;
-      placeActivity.placeData.constructionStage = selectedOptions[0].text;
+      placeActivity.placeData.constructionStage = selectedOptions[0].value;
+      placeActivity.constructionStage = selectedOptions[0].text;
     };
     // 场所性质
     const property = [
-      { text: "固定场所", value: "固定场所" },
-      { text: "寺观教堂", value: "寺观教堂" },
+      { text: "固定场所", value: "0" },
+      { text: "寺观教堂", value: "1" },
     ];
     let showPicker3 = ref(false);
     const getproperty = ({ selectedOptions }) => {
       showPicker3.value = false;
-      placeActivity.placeData.nature = selectedOptions[0].text;
+      placeActivity.placeData.nature = selectedOptions[0].value;
+      placeActivity.nature = selectedOptions[0].text;
     };
 
     //图片上传
@@ -330,7 +342,7 @@ export default {
         selectedOptions[1].id +
         "/" +
         selectedOptions[2].id;
-      // console.log(placeAddress.value);
+      placeActivity.placeData.placeSelectId = placeAddress.value
       showPlace1.value = false;
       placeActivity.placeData.placeSelectName =
         selectedOptions[0].name +
@@ -349,7 +361,6 @@ export default {
     const selected = (val, type) => {
       list.value = val;
       list.type = type;
-      console.log(list);
     };
     const reselected = () => {
       let ids = [];
@@ -366,15 +377,19 @@ export default {
         placeActivity.placeData.securityDeptManaUserName = list.value.name;
       }
     };
+    //数据校验
+    const validator = (val) => {
+      console.log(val);
+    };
     //数据提交
     const submit = () => {
-      // console.log(placeActivity.placeData.scenesImage);
-      new PlaceRegister().sava(placeActivity.placeData).then((res) => {
-        console.log("提交成功", res);
-        // router.push({
-        //   path: "/tabAll",
-        // });
-      });
+      console.log(placeActivity.placeData);
+      // new PlaceRegister().sava(placeActivity.placeData).then((res) => {
+      //   console.log("提交成功", res);
+      //   // router.push({
+      //   //   path: "/tabAll",
+      //   // });
+      // });
     };
 
     return {
@@ -416,8 +431,6 @@ export default {
   },
 };
 </script>
-
-<style src="../../styles/style.css"  scoped></style>
 <style lang="less">
 * {
   margin: 0;
@@ -425,7 +438,6 @@ export default {
 }
 .main {
   background: #fff;
-  margin-top: 25pt;
 }
 .main p {
   height: 40px;
@@ -434,12 +446,12 @@ export default {
   border-bottom: 1px solid #eee;
 }
 .title {
-  font-size: 17pt;
+  font-size: 25px;
   font-weight: 700;
   padding-left: 20px;
 }
 .miniTitle {
-  font-size: 14pt;
+  font-size: 18px;
 }
 .formArea {
   padding: 0px 20px;