Просмотр исходного кода

民宗App场所登记列表页,详情页修改完毕,场所人员信息列表页修改完毕,详情页修改过半

guoqing 2 лет назад
Родитель
Сommit
6c551d2699

+ 3 - 2
src/config/index.js

@@ -1,10 +1,11 @@
 var defaultConfig = {
 
-    baseUrl : 'http://2.142.215.98:8010/hs',//政务网环境地址
+    // baseUrl : 'http://2.142.215.98:8010/hs',//政务网环境地址
 
     //baseUrl : 'http://192.168.1.102:3000',
 
-    baseUrl: 'http://localhost:3000',
+    // baseUrl: 'http://localhost:3000',
+    baseUrl: '/api',
 
     timeout: '50000',
 

+ 9 - 0
src/router/index.js

@@ -259,6 +259,15 @@ const routes = [{
             isShowTarbar: false,
         }
     },
+    {
+        path: '/placePersonAdd',
+        name: 'placePersonAdd',
+        component: () =>
+            import ('../views/placeManage/placePerson/placePersonAdd.vue'),
+        meta: {
+            isShowTarbar: false,
+        }
+    },
     {
         path: '/placePersoninfo',
         name: 'placePersoninfo',

+ 160 - 147
src/views/placeManage/placePerson/placePerson.vue

@@ -4,8 +4,13 @@
     title="人员档案管理"
     left-arrow
     @click-left="onClickLeft"
+    @click-right="onClickright"
     :style="{ 'background-color': selectColor }"
-  />
+  >
+    <template #right>
+      <van-icon name="plus" size="18" />
+    </template>
+  </van-nav-bar>
   <div class="main">
     <div class="serach">
       <van-search
@@ -28,123 +33,108 @@
         </template>
       </van-search>
     </div>
+
     <div class="PersonList" v-if="value1 == 0 || value == ''">
-      <div v-if="dataList.length>0">
-        <div
-        class="PersonItem"
-        v-for="item in dataList"
-        :key="item.id"
-        @click="goPlacePersonInfo(item)"
-      >
-        <van-row>
-          <van-col span="18">
-            <p>
-              {{ item.name }}(<span style="color: #36a7f3">{{
-                item.idcard
-              }}</span
-              >)
-            </p>
-          </van-col>
-          <van-col span="6" style="text-align: right">
-            <span v-if="item.sex == 1" style="color: #36a7f3">男</span>
-            <span v-if="item.sex == 2" style="color: #d3c701">女</span>
-          </van-col>
-        </van-row>
-        <van-row>
-          <van-col span="18">
-            <span style="color: #a2a2a2" v-if="item.locationName">{{
-              item.locationName
-            }}</span>
-          </van-col>
-          <van-col span="6" style="text-align: right; font-size: 12px">
-            <span v-if="item.personnelType == 1">宗教从业人员</span>
-            <span v-else-if="item.personnelType == 2">民族场所从业人员</span>
-            <span v-else-if="item.personnelType == 3">教职人员</span>
-            <span v-else-if="item.personnelType == 4">固定信徒</span>
-            <span v-else-if="item.personnelType == 5">场所居住人员</span>
-            <span v-else-if="item.personnelType == 6">境外人员</span>
-            <span v-else-if="item.personnelType == 7">非本市人员</span>
-            <span v-else-if="item.personnelType == 8">非本教人员</span>
-            <span v-else-if="item.personnelType == 9">新增信徒人员</span>
-            <span v-else-if="item.personnelType == 10">临时人员</span>
-            <span v-else-if="item.personnelType == 11">异常人员</span>
-            <span v-else-if="item.personnelType == 12">邪教人员</span>
-            <span v-else-if="item.personnelType == 13">管理人员</span>
-            <span v-else-if="item.personnelType == 14">全能神离家人员</span>
-            <span v-else-if="item.personnelType == 15">全能神骨干人员</span>
-            <span v-else-if="item.personnelType == 16">网络运营人员</span>
-            <span v-else-if="item.personnelType == 17">涉政有害活动人员</span>
-            <span v-else-if="item.personnelType == 18">境内外记者</span>
-            <span v-else-if="item.personnelType == 19">境外法轮功骨干人员</span>
-            <span v-else-if="item.personnelType == 20">其他邪教骨干人员</span>
-            <span v-else-if="item.personnelType == 21">心灵法门骨干人员</span>
-            <span v-else>“精神控制”有害培训骨干人员</span>
-          </van-col>
-        </van-row>
-      </div>
-      </div>
-      <div style="position: relative;width:100%;text-align:center;height:100%" v-if="PersonList.length<=0" >
-        <span class="tishi">暂无人员信息</span>
-      </div>
+      <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
+        <van-list
+          v-model:loading="loading"
+          :finished="finished"
+          finished-text="没有更多了"
+          @load="onLoad"
+        >
+          <van-swipe-cell
+            v-for="item in dataList"
+            :key="item"
+          >
+            <div class="PersonItem" @click="goPlacePersonInfo(item)">
+              <van-row>
+              <van-col span="18">
+                <p>
+                  {{ item.name }}(<span style="color: #36a7f3">{{
+                    item.idcard
+                  }}</span
+                  >)
+                </p>
+              </van-col>
+              <van-col span="6" style="text-align: right">
+                <span v-if="item.sex == 1" style="color: #36a7f3">男</span>
+                <span v-if="item.sex == 2" style="color: #d3c701">女</span>
+              </van-col>
+            </van-row>
+            <van-row>
+              <van-col span="18">
+                <span style="color: #a2a2a2" v-if="item.locationName">{{
+                  item.locationName
+                }}</span>
+              </van-col>
+              <van-col
+                span="6"
+                style="
+                  text-align: right;
+                  font-size: 12px;
+                  white-space: nowrap;
+                  overflow: hidden;
+                  text-overflow: ellipsis;
+                "
+              >
+                <span>{{ item.personnelTypeName }}</span>
+              </van-col>
+            </van-row>
+            </div>
+          </van-swipe-cell>
+        </van-list>
+      </van-pull-refresh>
     </div>
     <div class="PersonList" v-if="value1 != 0 && value != ''">
-      <div v-if="PersonList.length>0">
-        <div
-        class="PersonItem"
-        v-for="item in PersonList"
-        :key="item.id"
-        @click="goPlacePersonInfo(item)"
-      >
-        <van-row>
-          <van-col span="18">
-            <p>
-              {{ item.name }}(<span style="color: #36a7f3">{{
-                item.idcard
-              }}</span
-              >)
-            </p>
-          </van-col>
-          <van-col span="6" style="text-align: right">
-            <span v-if="item.sex == 1" style="color: #36a7f3">男</span>
-            <span v-if="item.sex == 2" style="color: #d3c701">女</span>
-          </van-col>
-        </van-row>
-        <van-row>
-          <van-col span="18">
-            <span style="color: #a2a2a2" v-if="item.locationName">{{
-              item.locationName
-            }}</span>
-          </van-col>
-          <van-col span="6" style="text-align: right; font-size: 12px">
-            <span v-if="item.personnelType == 1">宗教从业人员</span>
-            <span v-else-if="item.personnelType == 2">民族场所从业人员</span>
-            <span v-else-if="item.personnelType == 3">教职人员</span>
-            <span v-else-if="item.personnelType == 4">固定信徒</span>
-            <span v-else-if="item.personnelType == 5">场所居住人员</span>
-            <span v-else-if="item.personnelType == 6">境外人员</span>
-            <span v-else-if="item.personnelType == 7">非本市人员</span>
-            <span v-else-if="item.personnelType == 8">非本教人员</span>
-            <span v-else-if="item.personnelType == 9">新增信徒人员</span>
-            <span v-else-if="item.personnelType == 10">临时人员</span>
-            <span v-else-if="item.personnelType == 11">异常人员</span>
-            <span v-else-if="item.personnelType == 12">邪教人员</span>
-            <span v-else-if="item.personnelType == 13">管理人员</span>
-            <span v-else-if="item.personnelType == 14">全能神离家人员</span>
-            <span v-else-if="item.personnelType == 15">全能神骨干人员</span>
-            <span v-else-if="item.personnelType == 16">网络运营人员</span>
-            <span v-else-if="item.personnelType == 17">涉政有害活动人员</span>
-            <span v-else-if="item.personnelType == 18">境内外记者</span>
-            <span v-else-if="item.personnelType == 19">境外法轮功骨干人员</span>
-            <span v-else-if="item.personnelType == 20">其他邪教骨干人员</span>
-            <span v-else-if="item.personnelType == 21">心灵法门骨干人员</span>
-            <span v-else>“精神控制”有害培训骨干人员</span>
-          </van-col>
-        </van-row>
-      </div>
-      </div>
-      <div style="position: relative;width:100%;text-align:center;height:100%" v-if="PersonList.length<=0" >
-        <span class="tishi">暂无人员信息</span>
-      </div>
+      <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
+        <van-list
+          v-model:loading="loading"
+          :finished="finished"
+          finished-text="没有更多了"
+          @load="onLoad"
+        >
+          <van-swipe-cell
+            v-for="item in PersonList"
+            :key="item"
+          >
+            <div class="PersonItem" @click="goPlacePersonInfo(item)">
+              <van-row >
+              <van-col span="18">
+                <p>
+                  {{ item.name }}(<span style="color: #36a7f3">{{
+                    item.idcard
+                  }}</span
+                  >)
+                </p>
+              </van-col>
+              <van-col span="6" style="text-align: right">
+                <span v-if="item.sex == 1" style="color: #36a7f3">男</span>
+                <span v-if="item.sex == 2" style="color: #d3c701">女</span>
+              </van-col>
+            </van-row>
+            <van-row>
+              <van-col span="18">
+                <span style="color: #a2a2a2" v-if="item.locationName">{{
+                  item.locationName
+                }}</span>
+              </van-col>
+              <van-col
+                span="6"
+                style="
+                  text-align: right;
+                  font-size: 12px;
+                  white-space: nowrap;
+                  overflow: hidden;
+                  text-overflow: ellipsis;
+                "
+              >
+                <span>{{ item.personnelTypeName }}</span>
+              </van-col>
+            </van-row>
+            </div>
+          </van-swipe-cell>
+        </van-list>
+      </van-pull-refresh>
     </div>
   </div>
 </template>
@@ -155,16 +145,24 @@ import { useRouter } from "vue-router";
 import UserManage from "@/api/user/UserManage";
 export default {
   setup() {
+    const searchForm = ref({
+      name: "",
+      sex: "",
+      idType: "",
+      idcard: "",
+      phone: "",
+      location: {
+        id: "",
+      },
+      typeOfEmployees: "",
+      personnelType: "",
+      religion: "",
+      sjfw: [],
+      nativePlace: "",
+      currentResidence: "",
+    });
     const value = ref("");
     const value1 = ref(0);
-    // const option1 = [
-    //   { text: "所有教别", value: 0 },
-    //   { text: "伊斯兰教", value: 1 },
-    //   { text: "基督教", value: 2 },
-    //   { text: "天主教", value: 3 },
-    //   { text: "佛教", value: 4 },
-    //   { text: "道教", value: 5 },
-    // ];
     // 导航栏颜色
     const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
     const option1 = [
@@ -178,22 +176,36 @@ export default {
     //数据获取
     const loading = ref(false);
     const finished = ref(false);
-    new UserManage()
-      .list({
-        current: 1,
-        size: 10,
-      })
-      .then((res) => {
-        let list2 = [];
-        list2.push(...res.records);
-        list2.forEach((n1) => {
-          let id = n1.id;
-          new UserManage().queryById(id).then((LP) => {
-            n1.userManagenmetDetailsDTOList = LP.userManagenmetDetailsDTOList;
-          });
+    const refreshing = ref(false);
+    let index = 0;
+    const onLoad = () => {
+      loading.value = true;
+      finished.value = false;
+      new UserManage()
+        .list({
+          current: index + 1,
+          size: 11,
+          ...searchForm.value,
+        })
+        .then(({ records, pages }) => {
+          dataList.value = dataList.value.concat(records);
+          // 加载状态结束
+          loading.value = false;
+          if (index + 1 >= pages) {
+            finished.value = true;
+          }
+          index++;
         });
-        dataList.value = list2;
-      });
+    };
+    const onRefresh = () => {
+      // 清空列表数据
+      finished.value = false;
+
+      // 重新加载数据
+      // 将 loading 设置为 true,表示处于加载状态
+      loading.value = true;
+      onLoad();
+    };
     //跳转
     let router = useRouter();
     const goPlacePersonInfo = (item) => {
@@ -203,6 +215,10 @@ export default {
         query: { data: data },
       });
     };
+    //进入场所录入页面
+    const onClickright = () => {
+      router.push("/placePersonAdd");
+    };
     //宗教选择
     const changeValue = (value2) => {
       if (value.value != "") {
@@ -244,16 +260,21 @@ export default {
     };
     return {
       onClickLeft,
+      searchForm,
       value,
       value1,
       option1,
       loading,
       finished,
+      refreshing,
+      onLoad,
+      onRefresh,
       goPlacePersonInfo,
       changeValue,
       PersonList,
       dataList,
       selectColor,
+      onClickright,
     };
   },
 };
@@ -265,17 +286,10 @@ html {
   padding: 0;
   background-color: #f2f2f2;
 }
-.tishi{
-  position: absolute;
-  left: 50%;
-  color: #D3D3D3;
-  transform: translate(-50%);
-}
 .van-nav-bar {
   background-color: #36a7f3;
   .van-nav-bar__title {
     color: #fff;
-    
   }
   .van-badge__wrapper {
     color: #fff;
@@ -290,8 +304,6 @@ html {
 }
 .PersonList {
   background-color: #fff;
-  margin-top: 20px;
-  height: 100vh;
   p {
     margin: 0;
     padding: 0;
@@ -300,6 +312,7 @@ html {
     padding: 10px 10px;
     font-size: 16px;
     border-bottom: 1px solid #f2f2f2;
+    overflow: hidden;
     .van-row {
       &:nth-child(1) {
         margin-bottom: 10px;

+ 638 - 0
src/views/placeManage/placePerson/placePersonAdd.vue

@@ -0,0 +1,638 @@
+<template>
+  <van-nav-bar
+    fixed
+    title="人员信息录入"
+    left-arrow
+    @click-left="onClickLeft"
+    :style="{ 'background-color': selectColor }"
+  />
+  <div class="main">
+    <div class="formArea">
+      <p class="miniTitle">场所信息</p>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.religiousName"
+          readonly
+          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
+            title="证件类型"
+            :columns="places"
+            @cancel="showPicker = false"
+            @confirm="getPlace"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.name"
+          center
+          label="证件号码:"
+          placeholder="请填写证件号码"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.contact"
+          center
+          label="姓名:"
+          placeholder="请填写姓名"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field name="uploader" label-align="top" label="工作照片:">
+          <template #input>
+            <van-uploader
+              v-model="fileList"
+              :after-read="afterRead1"
+              :max-count="6"
+              capture="camera"
+              accept=""
+              :before-delete="fjdelete"
+            >
+            </van-uploader>
+          </template>
+        </van-field>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.contactNumber"
+          center
+          label="曾用名:"
+          placeholder="请填写曾用名"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.siteType"
+          readonly
+          label="民族:"
+          placeholder="请选择民族"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker1 = true"
+        />
+        <van-popup v-model:show="showPicker1" round position="bottom">
+          <van-picker
+            title="民族类型"
+            :columns="placeType"
+            @cancel="showPicker1 = false"
+            @confirm="getplaceType"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.siteType"
+          readonly
+          label="性别:"
+          placeholder="请选择选择"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker1 = true"
+        />
+        <van-popup v-model:show="showPicker1" round position="bottom">
+          <van-picker
+            title="选择"
+            :columns="placeType"
+            @cancel="showPicker1 = false"
+            @confirm="getplaceType"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.contactNumber"
+          center
+          label="手机号:"
+          placeholder="请填写手机号"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.contactNumber"
+          center
+          label="籍贯:"
+          placeholder="请填写籍贯"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.siteType"
+          readonly
+          label="教育程度"
+          placeholder="请选择教育程度"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker1 = true"
+        />
+        <van-popup v-model:show="showPicker1" round position="bottom">
+          <van-picker
+            title="教育程度"
+            :columns="placeType"
+            @cancel="showPicker1 = false"
+            @confirm="getplaceType"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.contactNumber"
+          center
+          label="毕业院校:"
+          placeholder="请填写毕业院校"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.religiousName"
+          readonly
+          label="教别:"
+          name="validator"
+          placeholder="请选择教别"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker = true"
+        />
+        <van-popup v-model:show="showPicker" round position="bottom">
+          <van-picker
+            title="教别"
+            :columns="places"
+            @cancel="showPicker = false"
+            @confirm="getPlace"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.contactNumber"
+          center
+          label="宗教称谓:"
+          placeholder="请填写宗教称谓"
+          input-align="right"
+        />
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.siteType"
+          readonly
+          label="所属场所:"
+          placeholder="请选择所属场所"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker1 = true"
+        />
+        <van-popup v-model:show="showPicker1" round position="bottom">
+          <van-picker
+            title="所属场所"
+            :columns="placeType"
+            @cancel="showPicker1 = false"
+            @confirm="getplaceType"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.siteType"
+          readonly
+          label="任职情况:"
+          placeholder="请选择场所任职情况"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker1 = true"
+        />
+        <van-popup v-model:show="showPicker1" round position="bottom">
+          <van-picker
+            title="任职情况"
+            :columns="placeType"
+            @cancel="showPicker1 = false"
+            @confirm="getplaceType"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.placeSelectName"
+          center
+          readonly
+          label="现居地:"
+          placeholder="请填写现居地"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPlace1 = true"
+        />
+        <van-popup v-model:show="showPlace1" round position="bottom">
+          <van-picker
+            title="现居地选择"
+            :columns="options"
+            :columns-field-names="customFieldName"
+            @cancel="showPlace1 = false"
+            @confirm="getPlace1"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.place"
+          center
+          label="详细地址:"
+          placeholder="请填写详细场所"
+          input-align="right"
+        >
+          <template #right-icon>
+            <van-icon name="location" @click="getLocation" />
+          </template>
+        </van-field>
+      </van-cell-group>
+      
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.constructionStage"
+          readonly
+          label="人员类型:"
+          placeholder="请选择人员类型"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker2 = true"
+        />
+        <van-popup v-model:show="showPicker2" round position="bottom">
+          <van-picker
+            title="人员类型"
+            :columns="construction"
+            @cancel="showPicker2 = false"
+            @confirm="getConstruction"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.nature"
+          readonly
+          label="宗教组织:"
+          placeholder="请选择宗教组织"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker3 = true"
+        />
+        <van-popup v-model:show="showPicker3" round position="bottom">
+          <van-picker
+            title="宗教组织"
+            :columns="property"
+            @cancel="showPicker3 = false"
+            @confirm="getproperty"
+          />
+        </van-popup>
+      </van-cell-group>
+      <van-cell-group>
+        <van-field
+          v-model="placeActivity.placeData.peopleThreshold"
+          center
+          label="任职情况:"
+          placeholder="请填写团体任职情况"
+          input-align="right"
+        />
+      </van-cell-group>
+            <van-cell-group>
+        <van-field
+          v-model="placeActivity.nature"
+          readonly
+          label="非法活动参加:"
+          placeholder="请选择是否参加非法活动"
+          input-align="right"
+          right-icon="arrow-down"
+          @click="showPicker3 = true"
+        />
+        <van-popup v-model:show="showPicker3" round position="bottom">
+          <van-picker
+            title="宗教组织"
+            :columns="property"
+            @cancel="showPicker3 = false"
+            @confirm="getproperty"
+          />
+        </van-popup>
+      </van-cell-group>
+    </div>
+    <div class="subbtn">
+      <van-button type="primary" @click="submit">提交</van-button>
+      <van-button @click="onClickLeft" type="default" hairline>取消</van-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { reactive, ref } from "vue";
+import ManageList from "../ManageList.vue";
+import ManageList2 from "../ManageList2.vue";
+import PlaceRegister from "@/api/placeRegister/placeRegister";
+import tools from "@/api/sys/tools";
+export default {
+  components: { ManageList, ManageList2 },
+  setup() {
+    const onClickLeft = () => {
+      history.back();
+    };
+    // 导航栏颜色
+    const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
+    //场所录入
+    const placeActivity = reactive({
+      placeData: {
+        religiousType: "", //所属宗教
+        name: "", //场所名称
+        contact: "", //场所联系人
+        contactNumber: "", //联系电话
+        placeSelectId: "", //场所地点id
+        placeSelectName: "", //场所地点
+        place: "", //详细场所地点
+        siteType: "", //场所类型
+        constructionStage: "", //场所建设阶段
+        nature: "", //场所性质
+        religiousDeptManaUser: "", //宗教部门管理人员id
+
+        securityDeptManaUser: "", //公安部门管理人员id
+
+        peopleThreshold: "", //场所活动人数
+        approvalProcedures: "", //场所建设审批手续
+        etiquetteSpace: "", //宗教礼仪空间(附件)
+        filingNo: "", //场所备案号
+        latitude: "", //经度
+        longitude: "", //维度
+        mainRoads: "", //出入口主要道路
+        placeSelectType3: "",
+        placeSelectType4: "",
+        placeSelectType5: "",
+        placeSelectType6: "",
+        plan: "", //场所规划
+        publicArea: "", //外围公共区域
+        religiousName: "", //教别名称
+        remake: "", //备注
+        scenesImage: "", //内外景图片地址
+        tyshxydm: "", //统一社会代码
+        website: "", //网址
+        state: "1", //状态
+      },
+      inputForm:{
+        id: '',
+          userManagenmetDetailsDTOList: [],
+          name: '',
+          sex: '',
+          idType: '',
+          idcard: '',
+          phone: '',
+          location: {
+            id: ''
+          },
+          typeOfEmployees: '',
+          workPicture: '',
+          nativePlace: '',
+          currentResidence: '',
+          currentResidenceDetail: '',
+          personnelType: '',
+          currentResidenceId: '100000/320000/320900',
+          currentResidenceLevel1: '100000',
+          currentResidenceLevel2: '320000',
+          currentResidenceLevel3: '320900',
+          currentResidenceLevel4: '',
+          currentResidenceLevel5: '',
+          currentResidenceLevel6: '',
+          beforeUsedName: '',
+          nation: '',
+          religion: '',
+          religiousAppellation: '',
+          nationalEducationLevel: '',
+          graduatedFrom: '',
+          zjzzJob:'',
+          zjzz: {
+            id: ''
+          },
+          bkcheck:''
+      },
+      religiousDeptManaUserName: "", //宗教部门管理人员
+      securityDeptManaUserName: "", //公安部门管理人员
+      placeSelectName: "", //场所地点
+      siteType: "", //场所类型
+      constructionStage: "", //场所建设阶段
+      nature: "", //场所性质
+    });
+    // 宗教名称
+    const places = [
+      { 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].value;
+      placeActivity.placeData.religiousName = selectedOptions[0].text;
+    };
+    // 场所类型
+    const placeType = [
+      { text: "线上", value: "0" },
+      { text: "线下", value: "1" },
+    ];
+    let showPicker1 = ref(false);
+    const getplaceType = ({ selectedOptions }) => {
+      showPicker1.value = false;
+      placeActivity.placeData.siteType = selectedOptions[0].value;
+      placeActivity.siteType = selectedOptions[0].text;
+    };
+    // 场所建设
+    const construction = [
+      { text: "筹备", value: "0" },
+      { text: "建设完成", value: "1" },
+    ];
+    let showPicker2 = ref(false);
+    const getConstruction = ({ selectedOptions }) => {
+      showPicker2.value = false;
+      placeActivity.placeData.constructionStage = selectedOptions[0].value;
+      placeActivity.constructionStage = selectedOptions[0].text;
+    };
+    // 场所性质
+    const property = [
+      { text: "固定场所", value: "0" },
+      { text: "寺观教堂", value: "1" },
+    ];
+    let showPicker3 = ref(false);
+    const getproperty = ({ selectedOptions }) => {
+      showPicker3.value = false;
+      placeActivity.placeData.nature = selectedOptions[0].value;
+      placeActivity.nature = selectedOptions[0].text;
+    };
+
+    //图片上传
+    let fileList = ref([]);
+    let fileImg = ref([]);
+    const afterRead1 = (file) => {
+      new tools()
+        .uploadFile(file, `religioussites/siteinfo/religiousSitesInfo`)
+        .then(({ data }) => {
+          data.name = decodeURIComponent(
+            data.url.substring(data.url.lastIndexOf("/") + 1)
+          );
+          placeActivity.placeData.scenesImage += "" + data.url;
+          fileImg.value.push(data);
+        });
+    };
+    const fjdelete = (file) => {
+      //删除文件操作
+      for (let index = 0; index < fileList.value.length; index++) {
+        if (file.file == fileList.value[index].file) {
+          let delurl = fileImg.value[index].url;
+          new tools().uploadFiledelete("", delurl).then(({ data }) => {});
+          fileImg.value.splice(index, 1);
+          fileList.value.splice(index, 1);
+        }
+      }
+    };
+    //详细地址定位
+    const getLocation = () => {
+      xm.getLocation().then((data) => {
+        placeActivity.placeData.place = data.POIName;
+      });
+    };
+    // 地区选择
+    let placeAddress = ref("");
+    const customFieldName = {
+      text: "name",
+      value: "id",
+    };
+    // 选项列表,children 代表子选项,支持多级嵌套
+    const options = ref([]);
+    // 获取地区数据树
+    new PlaceRegister().treeDate().then((res) => {
+      options.value.push(...res);
+    });
+    let showPlace1 = ref(false);
+    const getPlace1 = ({ selectedOptions }) => {
+      showPlace1.value = false;
+      placeActivity.placeData.placeSelectName =
+        selectedOptions[0].name +
+        "/" +
+        selectedOptions[1].name +
+        "/" +
+        selectedOptions[2].name;
+      placeAddress.value =
+        selectedOptions[0].id +
+        "/" +
+        selectedOptions[1].id +
+        "/" +
+        selectedOptions[2].id;
+      placeActivity.placeData.placeSelectType3 = selectedOptions[0].id;
+      placeActivity.placeData.placeSelectType4 = selectedOptions[1].id;
+      placeActivity.placeData.placeSelectType5 = selectedOptions[2].id;
+      placeActivity.placeData.placeSelectId = placeAddress.value;
+    };
+    //人员选择
+    let showPerson = ref(false);
+    let showReport = ref(false);
+    let list = {
+      value: [],
+      type: "",
+    };
+    let list2 = {
+      value: [],
+      type: "",
+    };
+    const selected = (val) => {
+      list.value = val;
+    };
+    const selected2 = (val) => {
+      list2.value = val;
+    };
+    const reselected = () => {
+      placeActivity.placeData.religiousDeptManaUser = list.value.id;
+      placeActivity.religiousDeptManaUserName = list.value.name;
+    };
+    const reselected2 = () => {
+      placeActivity.placeData.securityDeptManaUser = list2.value.id;
+      placeActivity.securityDeptManaUserName = list2.value.name;
+    };
+    //数据提交
+    const submit = () => {
+      new PlaceRegister().sava(placeActivity.placeData).then((res) => {
+        router.push({
+          path: "/tabAll",
+        });
+      });
+    };
+
+    return {
+      placeActivity,
+      // 活动场所
+      showPicker,
+      places,
+      getPlace,
+      //场所类型
+      showPicker1,
+      placeType,
+      getplaceType,
+      //场所建设阶段
+      showPicker2,
+      construction,
+      getConstruction,
+      //场所性质
+      showPicker3,
+      property,
+      getproperty,
+      //图片上传
+      fileList,
+      afterRead1,
+      //图片删除
+      fjdelete,
+      // 返回
+      onClickLeft,
+      // 详细地址定位
+      getLocation,
+      // 地区选择
+      placeAddress,
+      customFieldName,
+      showPlace1,
+      getPlace1,
+      options,
+      //人员选择
+      showPerson,
+      showReport,
+      selected,
+      selected2,
+      reselected,
+      reselected2,
+      //数据提交
+      submit,
+      selectColor,
+    };
+  },
+};
+</script>
+<style lang="less">
+.subbtn {
+  margin: 20px;
+  text-align: center;
+}
+.subbtn .van-button {
+  width: 40%;
+  margin: 5px;
+}
+.van-uploader .van-button {
+  border: none;
+  color: #36a7f3;
+  top: -4px;
+}
+.van-radio {
+  margin-right: 10px;
+}
+</style>

+ 66 - 228
src/views/placeManage/placePerson/placePersoninfo.vue

@@ -11,18 +11,14 @@
       <img src="../../../../public/loginbg/banner.jpg" alt="" />
     </div>
     <div class="info">
-      <p class="miniTitle">个人信息-{{ data.data.name }}</p>
+      <p class="miniTitle">个人信息-{{ data.name }}</p>
       <van-row justify="space-between">
         <van-col span="14">
           <van-row class="item">
             <van-col span="24">
               <van-row justify="space-between">
-                <!-- <van-col span="8"> 姓名: </van-col>
-                <van-col span="8" style="text-align: right">
-                  {{ data.data.name }}
-                </van-col> -->
                 <van-field
-                  v-model="data.data.name"
+                  v-model="data.name"
                   center
                   readonly
                   clearable
@@ -36,28 +32,26 @@
             <van-col span="24">
               <van-row justify="space-between">
                 <van-field
-                  v-model="data.data.sex"
+                  v-model="data.sex"
                   center
                   readonly
                   clearable
                   label="性别:"
                   input-align="right"
-                />
+                >
+                  <template #input>
+                    <template v-if="data.sex == 1">女</template>
+                    <template v-if="data.sex == 0">男</template>
+                  </template>
+                </van-field>
               </van-row>
             </van-col>
           </van-row>
           <van-row class="item">
             <van-col span="24">
               <van-row justify="space-between">
-                <!-- <van-col span="12"> 证件类型: </van-col>
-                <van-col span="6" style="text-align: right">
-                  <span v-if="data.data.idType == 1">身份证</span>
-                  <span v-if="data.data.idType == 2">护照</span>
-                  <span v-if="data.data.idType == 3">港澳通行证</span>
-                  <span v-if="data.data.idType == 4">其他</span>
-                </van-col> -->
                 <van-field
-                  v-model="data.data.idType"
+                  v-model="data.idType"
                   center
                   readonly
                   clearable
@@ -65,10 +59,10 @@
                   input-align="right"
                 >
                   <template #input>
-                    <template v-if="data.data.idType == 1">身份证</template>
-                    <template v-if="data.data.idType == 2">护照</template>
-                    <template v-if="data.data.idType == 3">港澳通行证</template>
-                    <template v-if="data.data.idType == 4">其他</template>
+                    <template v-if="data.idType == 1">身份证</template>
+                    <template v-if="data.idType == 2">护照</template>
+                    <template v-if="data.idType == 3">港澳通行证</template>
+                    <template v-if="data.idType == 4">其他</template>
                   </template>
                 </van-field>
               </van-row>
@@ -76,14 +70,14 @@
           </van-row>
         </van-col>
         <van-col span="8">
-          <van-image width="100" height="100" :src="data.data.workPicture" />
+          <van-image width="100" height="100" :src="data.workPicture" />
         </van-col>
       </van-row>
       <van-row class="item">
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.idcard"
+              v-model="data.idcard"
               center
               readonly
               clearable
@@ -96,12 +90,8 @@
       <van-row class="item">
         <van-col span="24">
           <van-row justify="space-between">
-            <!-- <van-col span="10"> 手机号: </van-col>
-            <van-col span="14" style="text-align: right">
-              {{ data.data.phone }}
-            </van-col> -->
             <van-field
-              v-model="data.data.phone"
+              v-model="data.phone"
               center
               readonly
               clearable
@@ -115,7 +105,7 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.locationName"
+              v-model="data.locationName"
               center
               readonly
               clearable
@@ -129,79 +119,13 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.personnelType"
+              v-model="data.personnelTypeName"
               center
               readonly
               clearable
               label="人员类型:"
               input-align="right"
             >
-              <template #input>
-                <template v-if="data.data.personnelType == 1"
-                  >宗教从业人员</template
-                >
-                <template v-else-if="data.data.personnelType == 2"
-                  >民族场所从业人员</template
-                >
-                <template v-else-if="data.data.personnelType == 3"
-                  >教职人员</template
-                >
-                <template v-else-if="data.data.personnelType == 4"
-                  >固定信徒</template
-                >
-                <template v-else-if="data.data.personnelType == 5"
-                  >场所居住人员</template
-                >
-                <template v-else-if="data.data.personnelType == 6"
-                  >境外人员</template
-                >
-                <template v-else-if="data.data.personnelType == 7"
-                  >非本市人员</template
-                >
-                <template v-else-if="data.data.personnelType == 8"
-                  >非本教人员</template
-                >
-                <template v-else-if="data.data.personnelType == 9"
-                  >新增信徒人员</template
-                >
-                <template v-else-if="data.data.personnelType == 10"
-                  >临时人员</template
-                >
-                <template v-else-if="data.data.personnelType == 11"
-                  >异常人员</template
-                >
-                <template v-else-if="data.data.personnelType == 12"
-                  >邪教人员</template
-                >
-                <template v-else-if="data.data.personnelType == 13"
-                  >管理人员</template
-                >
-                <template v-else-if="data.data.personnelType == 14"
-                  >全能神离家人员</template
-                >
-                <template v-else-if="data.data.personnelType == 15"
-                  >全能神骨干人员</template
-                >
-                <template v-else-if="data.data.personnelType == 16"
-                  >网络运营人员</template
-                >
-                <template v-else-if="data.data.personnelType == 17"
-                  >涉政有害活动人员</template
-                >
-                <template v-else-if="data.data.personnelType == 18"
-                  >境内外记者</template
-                >
-                <template v-else-if="data.data.personnelType == 19"
-                  >境外法轮功骨干人员</template
-                >
-                <template v-else-if="data.data.personnelType == 20"
-                  >其他邪教骨干人员</template
-                >
-                <template v-else-if="data.data.personnelType == 21"
-                  >心灵法门骨干人员</template
-                >
-                <template v-else>“精神控制”有害培训骨干人员</template>
-              </template>
             </van-field>
           </van-row>
         </van-col>
@@ -210,29 +134,39 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.typeOfEmployees"
+              v-model="data.typeOfEmployees"
               center
               readonly
               clearable
-              label="从业类型:"
+              label="场所担任情况:"
               input-align="right"
             >
               <template #input>
-                <template v-if="data.data.typeOfEmployees == 1"
-                  >场所负责人</template
-                >
-                <template v-if="data.data.typeOfEmployees == 2"
-                  >堂管会成员</template
-                >
-                <template v-if="data.data.typeOfEmployees == 3"
-                  >小组负责人</template
-                >
-                <template v-if="data.data.typeOfEmployees == 4">财会</template>
-                <template v-if="data.data.typeOfEmployees == 5">义工</template>
-                <template v-if="data.data.typeOfEmployees == 6">保安</template>
-                <template v-if="data.data.typeOfEmployees == 7"
-                  >信息审核员</template
-                >
+                <template v-if="data.typeOfEmployees == 1">场所负责人</template>
+                <template v-if="data.typeOfEmployees == 2">堂委</template>
+                <template v-if="data.typeOfEmployees == 3">主要教职人员</template>
+                <template v-if="data.typeOfEmployees == 4">财会</template>
+                <template v-if="data.typeOfEmployees == 5">传道(已退休)</template>
+                <template v-if="data.typeOfEmployees == 6">保安</template>
+                <template v-if="data.typeOfEmployees == 7">信息审核员</template>
+                <template v-if="data.typeOfEmployees == 8">常住</template>
+                <template v-if="data.typeOfEmployees == 9">传道</template>
+                <template v-if="data.typeOfEmployees == 10">道士</template>
+                <template v-if="data.typeOfEmployees == 11">法人</template>
+                <template v-if="data.typeOfEmployees == 12">法务</template>
+                <template v-if="data.typeOfEmployees == 13">副主任</template>
+                <template v-if="data.typeOfEmployees == 14">副组长</template>
+                <template v-if="data.typeOfEmployees == 15">监院</template>
+                <template v-if="data.typeOfEmployees == 16">清众</template>
+                <template v-if="data.typeOfEmployees == 17">僧职</template>
+                <template v-if="data.typeOfEmployees == 18">僧值</template>
+                <template v-if="data.typeOfEmployees == 19">退居</template>
+                <template v-if="data.typeOfEmployees == 20">维那</template>
+                <template v-if="data.typeOfEmployees == 21">长老</template>
+                <template v-if="data.typeOfEmployees == 22">知客</template>
+                <template v-if="data.typeOfEmployees == 23">住持</template>
+                <template v-if="data.typeOfEmployees == 24">组长</template>
+                <template v-if="data.typeOfEmployees == 25">组长及讲道</template>
               </template>
             </van-field>
           </van-row>
@@ -242,7 +176,7 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.nativePlace"
+              v-model="data.nativePlace"
               center
               readonly
               clearable
@@ -256,7 +190,7 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.currentResidence"
+              v-model="data.currentResidence"
               center
               readonly
               clearable
@@ -270,7 +204,7 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="data.data.currentResidenceDetail"
+              v-model="data.currentResidenceDetail"
               center
               readonly
               clearable
@@ -281,113 +215,47 @@
         </van-col>
       </van-row>
       <p class="miniTitle">拓展信息</p>
-      <van-row
-        class="item"
-        v-for="(item, index) in data.data.userManagenmetDetailsDTOList"
-        :key="index"
-      >
-        <van-col
-          span="24"
-          v-if="item.dataType === '1' && item.dataDictionary == ''"
-        >
+      <van-row class="item">
+        <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="item.value"
+              v-model="data.currentResidence"
               center
               readonly
               clearable
-              :label="item.chineseName"
+              label="教职身份:"
               input-align="right"
             />
           </van-row>
         </van-col>
-        <van-col
-          span="24"
-          v-if="
-            item.dataType === '1' && item.dataDictionary == 'hs_religion_type'
-          "
-        >
-          <van-row justify="space-between">
-            <van-field
-              v-model="data.data.idType"
-              center
-              readonly
-              clearable
-              :label="item.chineseName"
-              input-align="right"
-            >
-              <template #input>
-                <template v-if="item.value == 1">伊斯兰教</template>
-                <template v-if="item.value == 2">基督教</template>
-                <template v-if="item.value == 3">天主教</template>
-                <template v-if="item.value == 4">佛教</template>
-                <template v-if="item.value == 5">道教</template>
-              </template>
-            </van-field>
-          </van-row>
-        </van-col>
-        <van-col
-          span="24"
-          v-if="
-            item.dataType === '1' && item.dataDictionary == 'hs_faculty_type'
-          "
-        >
-          <van-row justify="space-between">
-            <van-field
-              v-model="data.data.idType"
-              center
-              readonly
-              clearable
-              :label="item.chineseName"
-              input-align="right"
-            >
-              <template #input>
-                <template v-if="item.value == 1">负责人</template>
-                <template v-if="item.value == 2">牧师</template>
-                <template v-if="item.value == 3">长老</template>
-                <template v-if="item.value == 4">传道员</template>
-                <template v-if="item.value == 5">神学生</template>
-              </template>
-            </van-field>
-          </van-row>
-        </van-col>
-        <van-col span="24" v-if="item.dataType === '5'">
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="item.value"
+              v-model="data.currentResidence"
               center
               readonly
               clearable
-              :label="item.chineseName"
+              label="教职身份:"
               input-align="right"
             />
           </van-row>
         </van-col>
-        <van-col span="24" v-if="item.dataType === '6'">
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="item.value"
+              v-model="data.currentResidence"
               center
               readonly
               clearable
-              :label="item.chineseName"
+              label="教职身份:"
               input-align="right"
             />
           </van-row>
         </van-col>
-        <van-col span="24" v-if="item.dataType === '4'">
-          <van-field
-            center
-            readonly
-            clearable
-            :label="item.chineseName"
-            label-align="top"
-          >
-            <template #input>
-              <van-image width="100" height="100" :src="item.value" />
-            </template>
-          </van-field>
-        </van-col>
       </van-row>
     </div>
   </div>
@@ -395,48 +263,18 @@
 
 <script>
 import { useRouter } from "vue-router";
-import { onMounted, reactive, ref } from "vue";
+import { onMounted,ref } from "vue";
 import $base from "@/utils/config";
 export default {
   setup() {
-    const data = reactive({
-      //个人数据
-      data: {},
-      idType: "",
-    });
+    const data = ref({});
     // 导航栏颜色
     const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
     //数据接收
     const router = useRouter();
     onMounted(() => {
       var item = JSON.parse(router.currentRoute.value.query.data);
-      data.data = item;
-      if (data.data.sex == 1) {
-        data.data.sex = "男";
-      } else {
-        data.data.sex = "女";
-      }
-      switch (data.data.idType) {
-        case 1:
-          data.idType = "身份证";
-          break;
-        case 2:
-          data.idType = "护照";
-          break;
-        case 3:
-          data.idType = "港澳通行证";
-          break;
-        case 4:
-          data.idType = "其他";
-          break;
-      }
-
-      data.data.workPicture = `${$base}` + data.data.workPicture;
-      data.data.userManagenmetDetailsDTOList.forEach((item2) => {
-        if (item2.dataType === "4") {
-          item2.value = `${$base}` + item2.value;
-        }
-      });
+      data.value = item;
     });
     //返回
     const onClickLeft = () => {

+ 176 - 28
src/views/placeManage/placeRegister/placeRegisterInfo.vue

@@ -18,7 +18,7 @@
             <van-col span="24">
               <van-row justify="space-between">
                 <van-field
-                  v-model="dataitem.brandName"
+                  v-model="dataitem.name"
                   center
                   readonly
                   clearable
@@ -32,13 +32,21 @@
             <van-col span="24">
               <van-row justify="space-between">
                 <van-field
-                  v-model="data.siteName.name"
+                  v-model="dataitem.religiousType"
                   center
                   readonly
                   clearable
                   label="宗教类型:"
                   input-align="right"
-                />
+                >
+                  <template #input>
+                    <span v-if="dataitem.religiousType == 1">伊斯兰教</span>
+                    <span v-if="dataitem.religiousType == 2">基督教</span>
+                    <span v-if="dataitem.religiousType == 3">天主教</span>
+                    <span v-if="dataitem.religiousType == 4">佛教</span>
+                    <span v-if="dataitem.religiousType == 5">道教</span>
+                  </template>
+                </van-field>
               </van-row>
             </van-col>
           </van-row>
@@ -46,11 +54,11 @@
             <van-col span="24">
               <van-row justify="space-between">
                 <van-field
-                  v-model="dataitem.memorialTabletHolder"
+                  v-model="dataitem.tyshxydm"
                   center
                   readonly
                   clearable
-                  label="场所联系人:"
+                  label="社会信用代码:"
                   input-align="right"
                 />
               </van-row>
@@ -62,11 +70,39 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="dataitem.memorialTabletHolderPhone"
+              v-model="dataitem.filingNo"
+              center
+              readonly
+              clearable
+              label="场所备案号:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.approvedEstablishmentTime"
+              center
+              readonly
+              clearable
+              label="设立时间:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.approveOffice"
               center
               readonly
               clearable
-              label="联系电话:"
+              label="登记机关:"
               input-align="right"
             />
           </van-row>
@@ -76,11 +112,11 @@
         <van-col span="24">
           <van-row justify="space-between">
             <van-field
-              v-model="dataitem.contactInformation"
+              v-model="dataitem.registrationDate"
               center
               readonly
               clearable
-              label="场所地址:"
+              label="登记日期:"
               input-align="right"
             />
           </van-row>
@@ -94,45 +130,158 @@
               center
               readonly
               clearable
-              label="信用代码:"
+              label="主要教职人员:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.registrationAuthority"
+              center
+              readonly
+              clearable
+              label="批准设立机关:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.contact"
+              center
+              readonly
+              clearable
+              label="场所联系人:"
               input-align="right"
             />
           </van-row>
         </van-col>
       </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.contactNumber"
+              center
+              readonly
+              clearable
+              label="联系人电话:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.placeSelectName"
+              center
+              readonly
+              clearable
+              label="场所地点:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.place"
+              center
+              readonly
+              clearable
+              label="详细地点:"
+              input-align="right"
+            />
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.siteType"
+              center
+              readonly
+              clearable
+              label="场所类型:"
+              input-align="right"
+            >
+              <template #input>
+                <span v-if="dataitem.siteType == 1">线下</span>
+                <span v-if="dataitem.siteType == 0">线上</span>
+              </template>
+            </van-field>
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.constructionStage"
+              center
+              readonly
+              clearable
+              label="场所建设阶段:"
+              input-align="right"
+            >
+            <template #input>
+                <span v-if="dataitem.siteType == 1">建设完成</span>
+                <span v-if="dataitem.siteType == 0">筹备</span>
+              </template>
+            </van-field>
+          </van-row>
+        </van-col>
+      </van-row>
+      <van-row class="item">
+        <van-col span="24">
+          <van-row justify="space-between">
+            <van-field
+              v-model="dataitem.nature"
+              center
+              readonly
+              clearable
+              label="场所性质:"
+              input-align="right"
+            >
+            <template #input>
+                <span v-if="dataitem.siteType == 1">寺观教堂</span>
+                <span v-if="dataitem.siteType == 0">固定场所</span>
+              </template>
+            </van-field>
+          </van-row>
+        </van-col>
+      </van-row>
     </div>
   </div>
 </template>
 
 <script>
 import { useRouter } from "vue-router";
-import { onMounted, reactive, ref } from "vue";
-import $base from "@/utils/config";
+import { onMounted, ref } from "vue";
 export default {
   setup() {
-    const data = reactive({
-      siteName: {},
-      pic: [],
-    });
     // 导航栏颜色
     const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
-    //牌位数据
+    //场所数据
     let dataitem = ref({});
     //数据接收
     const router = useRouter();
     onMounted(() => {
       var item = JSON.parse(router.currentRoute.value.query.data);
+      console.log(item, "============================>item");
       dataitem.value = item;
-      data.siteName = dataitem.value.siteName;
-      let pic = [];
-      pic = dataitem.value.pic.split("|");
-      dataitem.value.pic = pic;
-      data.pic = dataitem.value.pic;
-      let picList = [];
-      data.pic.forEach((item1) => {
-        picList.push(`${$base}` + item1);
-      });
-      data.pic = picList;
     });
     //返回
     const onClickLeft = () => {
@@ -140,7 +289,6 @@ export default {
     };
     return {
       onClickLeft,
-      data,
       dataitem,
       selectColor,
     };

+ 88 - 66
src/views/placeManage/placeRegister/placeRegisterList.vue

@@ -26,40 +26,43 @@
       @cancel="onCancel"
       @click-input="showPlace = true"
     />
+    <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
       <van-list
-        v-model:loading="loading"
-        :finished="finished"
-        finished-text="没有更多了"
-        @load="onLoad"
-      >
-        <van-swipe-cell v-for="item in list" :key="item">
-          <div class="list-item">
-            <div class="item_top">
-              <div class="item_top_left">
-                {{ item.name }}
-              </div>
-              <div class="item_top_right">
-                <span v-if="item.religious_type == 1">伊斯兰教</span>
-                <span v-if="item.religious_type == 2">基督教</span>
-                <span v-if="item.religious_type == 3">天主教</span>
-                <span v-if="item.religious_type == 4">佛教</span>
-                <span v-if="item.religious_type == 5">道教</span>
-              </div>
+      v-model:loading="loading"
+      :finished="finished"
+      finished-text="没有更多了"
+      @load="onLoad"
+    >
+      <van-swipe-cell v-for="item in list" :key="item" >
+        <div class="list-item" @click="gotoplaceRegister(item)">
+          <div class="item_top">
+            <div class="item_top_left">
+              {{ item.name }}
             </div>
-            <div class="item_center">
-              {{ item.place }}
+            <div class="item_top_right">
+              <span v-if="item.religiousType == 1">伊斯兰教</span>
+              <span v-if="item.religiousType == 2">基督教</span>
+              <span v-if="item.religiousType == 3">天主教</span>
+              <span v-if="item.religiousType == 4">佛教</span>
+              <span v-if="item.religiousType == 5">道教</span>
             </div>
-            <div class="item_down">
-              <div class="item_down_left">
-                {{ item.contact }}
-              </div>
-              <div class="item_down_right">
-                {{ item.contact_number }}
-              </div>
+          </div>
+          <div class="item_center">
+            {{ item.place }}
+          </div>
+          <div class="item_down">
+            <div class="item_down_left">
+              {{ item.contact }}
+            </div>
+            <div class="item_down_right">
+              {{ item.contactNumber }}
             </div>
           </div>
-        </van-swipe-cell>
-      </van-list>
+        </div>
+      </van-swipe-cell>
+    </van-list>
+    </van-pull-refresh>
+    
   </div>
 </template>
 
@@ -70,30 +73,21 @@ import PlaceRegister from "@/api/placeRegister/placeRegister";
 export default {
   setup() {
     //暂时列表数据
-    const list = [
-      {
-        name: "盐城市盐都区金航财富大厦",
-        place: "金航财富大厦",
-        religious_type: 2,
-        contact: "郭**",
-        contact_number: "15730232627",
-      },
-      {
-        name: "盐城市盐都区金航财富大厦",
-        place: "金航财富大厦",
-        religious_type: 2,
-        contact: "郭**",
-        contact_number: "15730232627",
+    const list = ref([]);
+    const searchForm = ref({
+      religiousType: "",
+      name: "",
+      filingNo: "",
+      contact: "",
+      place: "",
+      siteType: "",
+      constructionStage: "",
+      nature: "",
+      state: "",
+      createBy: {
+        id: "",
       },
-      {
-        name: "盐城市盐都区金航财富大厦",
-        place: "金航财富大厦",
-        religious_type: 2,
-        contact: "郭**",
-        contact_number: "15730232627",
-      },
-    ];
-
+    });
     // 导航栏颜色
     const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
     //返回取消按钮
@@ -106,40 +100,65 @@ export default {
     const onClickright = () => {
       router.push("/placeRegister");
     };
+    //进入地点详情页面
+    const gotoplaceRegister =(item)=>{
+      var data = JSON.stringify(item);
+      router.push({
+        path: "/placeRegisterInfo",
+        query: { data: data },
+      });
+    }
     const loading = ref(false);
     const finished = ref(false);
+    const refreshing = ref(false);
+    let index = 0;
     const onLoad = () => {
       loading.value = true;
       finished.value = false;
       // 异步更新数据
-      new PlaceRegister().religiousList().then((res) => {
-        list.value.push(...res.records);
-        // 加载状态结束
-      });
-      loading.value = false;
-        // 数据全部加载完成
-      finished.value = true;
+      new PlaceRegister()
+        .religiousList({
+          current: index + 1,
+          size: 11,
+        })
+        .then(({ records, pages }) => {
+          list.value= list.value.concat(records);
+          // 加载状态结束
+          loading.value = false;
+          if (index + 1 >= pages) {
+            finished.value = true;
+          }
+          index++;
+        });
+    };
+    const onRefresh = () => {
+      // 清空列表数据
+      finished.value = false;
+
+      // 重新加载数据
+      // 将 loading 设置为 true,表示处于加载状态
+      loading.value = true;
+      onLoad();
     };
     // 搜索
     let searchShow = ref(false);
     let searchList = ref([]);
     const searchVal = ref("");
-    const searchValId = ref("");    
+    const searchValId = ref("");
     const onSearch = () => {
       searchShow.value = true;
       searchList.value = [];
-      
     };
     const onCancel = () => {
       searchVal.value = "";
       searchValId.value = "";
-      searchShow.value = false;
-
+      searchShow.value = false
       finished.value = false;
       list.value = [];
       loading.value = true;
       onLoad();
     };
+    
     return {
       //返回取消按钮
       onClickLeft,
@@ -147,17 +166,21 @@ export default {
       onClickright,
       //背景色
       selectColor,
+      searchForm,
       list,
       loading,
       finished,
+      refreshing,
       onLoad,
+      onRefresh,
       //搜索
       searchShow,
       searchVal,
       searchValId,
       searchList,
       onSearch,
-      onCancel, 
+      onCancel,
+      gotoplaceRegister,
     };
   },
 };
@@ -171,7 +194,6 @@ html {
   background-color: #f2f2f2;
 }
 .main {
-   
   .list-item {
     background-color: #fff;
     padding: 10px;
@@ -199,7 +221,7 @@ html {
       overflow: hidden;
     }
     .item_down {
-        overflow: hidden;
+      overflow: hidden;
       width: 100%;
       font-size: 12px;
       .item_down_left {

+ 4 - 4
src/views/tab_a/tabAll.vue

@@ -98,7 +98,7 @@ import $base from "@/utils/config";
 
 		created(){
 			let id=this.$route.query.id;
-			window.xm.setNavigationBarTitle({ title: '智慧“和顺”'})
+			// window.xm.setNavigationBarTitle({ title: '智慧“和顺”'})
 			this.TokenLogin2();
 		},
 
@@ -192,8 +192,8 @@ import $base from "@/utils/config";
 				if(this.$store.state.pctoken==""||this.$store.state.pctoken==undefined){
 
 					//SDK中 getToken() 方法获取免登token
-					window.xm.getToken().then(async function(token){//上线取消注释
-					//let token="test";//上线注释	
+					// window.xm.getToken().then(async function(token){//上线取消注释
+					let token="test";//上线注释	
 					
 
 					new userSets()
@@ -208,7 +208,7 @@ import $base from "@/utils/config";
 						that.dataNumber();//获取待办事项数
 					});
 
-					})//上线取消注释
+					// })//上线取消注释
 
 				}else{
 					that.getBannerImg();//获取轮播图