Browse Source

Squashed commit of the following:

commit c1341fa3dff4ff0acc76fd96c19e849c82e65100
Author: yin_yu820 <895937358@qq.com>
Date:   Mon Apr 3 11:01:11 2023 +0800

    更新
LuChongMei 2 years ago
parent
commit
061ed67895

+ 23 - 21
package-lock.json

@@ -12513,6 +12513,29 @@
         "webpack-merge": "^5.7.3",
         "webpack-virtual-modules": "^0.4.2",
         "whatwg-fetch": "^3.6.2"
+      },
+      "dependencies": {
+        "@vue/vue-loader-v15": {
+          "version": "npm:vue-loader@15.10.1",
+          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz",
+          "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
+          "dev": true,
+          "requires": {
+            "@vue/component-compiler-utils": "^3.1.0",
+            "hash-sum": "^1.0.2",
+            "loader-utils": "^1.1.0",
+            "vue-hot-reload-api": "^2.3.0",
+            "vue-style-loader": "^4.1.0"
+          },
+          "dependencies": {
+            "hash-sum": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
+              "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
+              "dev": true
+            }
+          }
+        }
       }
     },
     "@vue/cli-shared-utils": {
@@ -12771,27 +12794,6 @@
       "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
       "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ=="
     },
-    "@vue/vue-loader-v15": {
-      "version": "npm:vue-loader@15.10.1",
-      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz",
-      "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
-      "dev": true,
-      "requires": {
-        "@vue/component-compiler-utils": "^3.1.0",
-        "hash-sum": "^1.0.2",
-        "loader-utils": "^1.1.0",
-        "vue-hot-reload-api": "^2.3.0",
-        "vue-style-loader": "^4.1.0"
-      },
-      "dependencies": {
-        "hash-sum": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
-          "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
-          "dev": true
-        }
-      }
-    },
     "@vue/web-component-wrapper": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz",

+ 1 - 6
src/App.vue

@@ -1,11 +1,6 @@
 <template>
 	<router-view></router-view>
-	<van-tabbar v-model="active" route  v-show="showStatus" >
-        <van-tabbar-item replace to="/setting" name="toBeDone" icon="notes-o">我的待办</van-tabbar-item>
-        <van-tabbar-item replace to="/setting" name="siteMan" icon="shop-o">场所管理</van-tabbar-item>
-        <van-tabbar-item replace to="/setting" name="activityMan" icon="newspaper-o">活动管理</van-tabbar-item>
-        <van-tabbar-item replace to="/setting" name="setting" icon="friends-o">个人中心</van-tabbar-item>
-    </van-tabbar>
+	
 </template>
 
 <script>

+ 16 - 0
src/api/nonReligiousInformation/nonReligiousInformationService.js

@@ -0,0 +1,16 @@
+import request from '@/utils/request'
+export default class nonReligiousInformationService {
+    // 保存
+    save(inputForm) {
+        return request.post(
+            '/nonreligiousinformation/nonReligiousInformation/save',
+            inputForm
+        )
+    }
+    list(params) {
+        return request.get(
+            `/nonreligiousinformation/nonReligiousInformation/list`,
+            params
+        )
+    }
+}

+ 10 - 1
src/api/placeRegister/placeRegister.js

@@ -1,15 +1,24 @@
 import request from "@/utils/request";
 export default class placeRegister {
+    //场所提交
     sava(inputFrom) {
         return request.post(
             `/religioussites/siteinfo/religiousSitesInfo/save`,
             inputFrom
         )
     };
+    //地点
     treeDate(params) {
         return request.get(
             `/tools/area_yc/treeData`,
             params
         )
-    }
+    };
+    //公安、宗教部门
+    list(params) {
+        return request.get(
+            `/sys/user/list`,
+            params
+        )
+    };
 }

+ 16 - 0
src/api/religiousConference/religiousConferenceService.js

@@ -0,0 +1,16 @@
+import request from '@/utils/request'
+export default class religiousConferenceService {
+    // 保存
+    save(inputForm) {
+        return request.post(
+            '/zzcssb/religiousConference/save',
+            inputForm
+        )
+    }
+    list(params) {
+        return request.get(
+            `/zzcssb/religiousConference/list`,
+            params
+        )
+    }
+}

+ 16 - 0
src/api/securityFacilitiesErr/securityFacilitiesErrService.js

@@ -0,0 +1,16 @@
+import request from '@/utils/request'
+export default class securityFacilitiesErrService {
+    // 保存
+    save(inputForm) {
+        return request.post(
+            '/afssyc/securityFacilitiesErr/save',
+            inputForm
+        )
+    }
+    list(params) {
+        return request.get(
+            `/afssyc/securityFacilitiesErr/list`,
+            params
+        )
+    }
+}

+ 7 - 0
src/api/sys/userSets.js

@@ -18,6 +18,13 @@ export default class userSets {
             params
         )
     };
+    //修改密码
+    ChangePass(params) {
+        return request.put(
+            `/sys/user/savePwd`,
+            params
+        )
+    };
 
     //盐政通测试用户同步规则
     SchemaService(params) {

+ 1 - 1
src/components/editor/WangEditor.vue

@@ -93,4 +93,4 @@ export default {
   margin: 0 auto;
 }
 
-</style>
+</style>

+ 9 - 1
src/router/index.js

@@ -4,7 +4,7 @@ const routes = [{
         path: '/',
         name: 'home',
         component: () =>
-            import ('../views/login/login.vue'),
+            import ('../views/tab_a/tabAll.vue'),
         meta: {
             isShowTarbar: false,
         }
@@ -25,6 +25,14 @@ const routes = [{
             isShowTarbar: false,
         }
     }, {
+        path: '/changePassword',
+        name: 'changePassword',
+        component: () =>
+            import ('../views/login/changePassword.vue'),
+        meta: {
+            isShowTarbar: false,
+        }
+    },{
         path: '/tab_a',
         name: 'tab_a',
         component: () =>

+ 3 - 0
src/store/index.js

@@ -14,8 +14,11 @@ const store =createStore({
             window.localStorage.setItem(TOKEN_Key,state.user);
         },
         setPcToken(state,data){
+            console.log("设置token1");
             state.pctoken=data;
+            console.log("设置token2");
             window.localStorage.setItem(PCTOKEN_Key,state.pctoken);
+            console.log("设置token3"+state.pctoken);
         },
         setSelectColor(state,data){
             state.selectcolor=data;

+ 263 - 5
src/views/activityMan/nonReligiousInformation/nonReligiousInformationList.vue

@@ -1,6 +1,264 @@
 <template>
-    <div class="about">
-      <h1>This is an about page</h1>
-    </div>
-  </template>
-  
+  <van-nav-bar
+    title="其他有害信息"
+    left-text=""
+    right-text="上报"
+    left-arrow
+    @click-left="onClickLeft"
+    @click-right="onClickRight"
+  />
+  <van-search v-model="value" shape="round" placeholder="请输入搜索关键词" />
+  <van-tabs
+    v-model:active="active"
+    title-inactive-color="#bdbdbd"
+    title-active-color="#36a7f3"
+    @click-tab="onClickTab"
+  >
+    <van-tab title="未审核" name="0">
+      <van-list
+        v-model:loading="loading"
+        :finished="finished"
+        finished-text="没有更多了"
+        @load="onLoad"
+      >
+        <van-swipe-cell
+          v-for="item in list"
+          :key="item"
+          :before-close="beforeClose"
+        >
+          <div class="list_item" @click="goInfo(item.id)">
+            <div class="item-left">
+              <p style="color: #c4c4c4">{{ item.updateDate }}</p>
+              <p style="color: red">待审核</p>
+            </div>
+            <van-cell is-link >
+              <template #title >
+                {{ getCategories(item.nonReligiousCategories) }}({{ item.placeSelectName }})
+              </template>
+              <template #label>
+                {{ item.siteName.organizationName }}
+              </template>
+            </van-cell>
+            
+          </div>
+          <template #right>
+            <van-button square type="danger" text="删除" class="button" />
+            <van-button
+              square
+              type="primary"
+              text="修改"
+              class="button"
+              @click="updateItem(item)"
+            />
+          </template>
+        </van-swipe-cell>
+      </van-list>
+    </van-tab>
+    <van-tab title="已审核" name="1">
+      <van-list
+        v-model:loading="loading"
+        :finished="finished"
+        finished-text="没有更多了"
+        @load="onLoad"
+      >
+        <van-swipe-cell
+          v-for="item in list"
+          :key="item"
+          :before-close="beforeClose"
+        >
+          <div class="list_item" @click="goInfo(item.id)">
+            <div class="item-left">
+              <p style="color: #c4c4c4">{{ item.updateDate }}</p>
+              <p style="color: gray">已审核</p>
+            </div>
+            <van-cell is-link >
+              <template #title >
+                {{ getCategories(item.nonReligiousCategories) }}({{ item.placeSelectName }})
+              </template>
+              <template #label>
+                {{ item.siteName.organizationName }}
+              </template>
+            </van-cell>
+          </div>
+        </van-swipe-cell>
+      </van-list>
+    </van-tab>
+  </van-tabs>
+</template>
+
+<script>
+import { ref } from "vue";
+import router from "@/router";
+import nonReligiousInformationService from "@/api/nonReligiousInformation/nonReligiousInformationService";
+export default {
+name: "nonReligiousInformationList",
+setup() {
+  const onClickLeft = () => {
+    history.back();
+  };
+  const onClickRight = () => {
+    router.push("/nonReligiousInformationView");
+  };
+  let tabIndex = ref(0);
+  
+  //tab切换
+  let active = ref(0);
+  const onClickTab = (val) => {
+    // 清空列表数据
+    finished.value = false;
+    list.value = [];
+    // 重新加载数据
+    // 将 loading 设置为 true,表示处于加载状态
+    loading.value = true;
+    index = 0;
+    if (val.name == 0) {
+      onLoad(0);
+    } else {
+      onLoad(1);
+    }
+  };
+  // 列表
+  let list = ref([]);
+  const loading = ref(false);
+  const finished = ref(false);
+  let index = 0;
+  const onLoad = (val) => {
+    // 异步更新数据
+    new nonReligiousInformationService()
+      .list({
+        current: index + 1,
+        size: 10,
+        assessment:val ? val : 0,
+      })
+      .then((res) => {
+        list.value.push(...res.records) ;
+        // 加载状态结束
+        loading.value = false;        
+        // 数据全部加载完成
+        if (res.records.length < 10) {
+          finished.value = true;
+        }
+        index++;        
+      });
+  };
+  //字典配置
+  const getCategories= (key ) => {
+    let re="";
+    switch(key){
+      case "1":
+          re="宗教组织";
+          break;
+      case "10":
+          re="邪教组织";
+          break;
+      case "11":
+          re="地下神学院";
+          break;
+      case "2":
+          re="地下教会";
+          break;
+      case "3":
+          re="韩美境外渗透组织";
+          break;
+      case "4":
+          re="本地精神控制类有害培训机构";
+          break;      
+      case "5":
+          re="“呼喊派”骨干组织";
+          break;
+      case "6":
+          re="“改革宗”地下教会组织";
+          break;
+      case "7":
+          re="藏传佛教本地组织";
+          break;
+      case "8":
+          re="学生传教组织";
+          break;
+      case "9":
+          re="“义诊医疗”地下教会组织";
+          break;
+      case "91":
+          re="“亚文化”传教组织";
+          break;
+      case "92":
+          re="重点公司组织";
+          break;          
+    }
+    return re;
+  };
+
+  
+  
+  // 搜索
+  let value = ref("");
+  // 删除确认
+  const beforeClose = ({ position }) => {
+    switch (position) {
+      case "left":
+      case "cell":
+      case "outside":
+        return true;
+      case "right":
+        return new Promise((resolve) => {
+          showConfirmDialog({
+            title: "确定删除吗?",
+          }).then(resolve);
+        });
+    }
+  };
+  return {
+    onClickLeft,
+    onClickTab,
+    list,
+    onLoad,
+    getCategories,
+    loading,
+    finished,
+    value,
+    onClickRight,
+    tabIndex,
+    beforeClose,
+  };
+},
+};
+</script>
+
+<style>
+body {
+background: #f5f5f5;
+}
+.nav_tab {
+width: 100vw;
+display: flex;
+text-align: center;
+background: #fff;
+margin: 10px 0;
+}
+.tab {
+flex: 1;
+line-height: 40px;
+font-size: 14px;
+}
+.active {
+background: #36a7f3;
+color: #fff;
+}
+.van-list {
+height: 80%;
+margin-top: 5px;
+}
+.list_item {
+display: flex;
+background: #fff;
+}
+.item-left {
+text-align: center;
+width: 30%;
+font-size: 12px;
+border-right: 1px solid #eee;
+}
+.button {
+height: 100%;
+}
+</style>

+ 1 - 1
src/views/activityMan/placeactivity/placeActivityList.vue

@@ -219,4 +219,4 @@ export default {
 .button {
   height: 100%;
 }
-</style>
+</style>

+ 214 - 5
src/views/activityMan/religiousConference/religiousConferenceList.vue

@@ -1,6 +1,215 @@
 <template>
-    <div class="about">
-      <h1>This is an about page</h1>
-    </div>
-  </template>
-  
+  <van-nav-bar
+    title="负责人会议"
+    left-text=""
+    right-text="上报"
+    left-arrow
+    @click-left="onClickLeft"
+    @click-right="onClickRight"
+  />
+  <van-search v-model="value" shape="round" placeholder="请输入搜索关键词" />
+  <van-tabs
+    v-model:active="active"
+    title-inactive-color="#bdbdbd"
+    title-active-color="#36a7f3"
+    @click-tab="onClickTab"
+  >
+    <van-tab title="未审核" name="0">
+      <van-list
+        v-model:loading="loading"
+        :finished="finished"
+        finished-text="没有更多了"
+        @load="onLoad"
+      >
+        <van-swipe-cell
+          v-for="item in list"
+          :key="item"
+          :before-close="beforeClose"
+        >
+          <div class="list_item" @click="goInfo(item.id)">
+            <div class="item-left">
+              <p style="color: #c4c4c4">{{ item.updateDate }}</p>
+              <p style="color: red">待审核</p>
+            </div>
+            <van-cell is-link>
+              <template #title >
+                {{ item.siteName.name }}({{ item.meetingTime }})
+              </template>
+              <template #label>
+                {{ item.participants.name }}
+              </template>
+            </van-cell>
+            
+          </div>
+          <template #right>
+            <van-button square type="danger" text="删除" class="button" />
+            <van-button
+              square
+              type="primary"
+              text="修改"
+              class="button"
+              @click="updateItem(item)"
+            />
+          </template>
+        </van-swipe-cell>
+      </van-list>
+    </van-tab>
+    <van-tab title="已审核" name="1">
+      <van-list
+        v-model:loading="loading"
+        :finished="finished"
+        finished-text="没有更多了"
+        @load="onLoad"
+      >
+        <van-swipe-cell
+          v-for="item in list"
+          :key="item"
+          :before-close="beforeClose"
+        >
+          <div class="list_item" @click="goInfo(item.id)">
+            <div class="item-left">
+              <p style="color: #c4c4c4">{{ item.updateDate }}</p>
+              <p style="color: gray">已审核</p>
+            </div>            
+            <van-cell is-link>
+              <template #title >
+                {{ item.siteName.name }}({{ item.meetingTime }})
+              </template>
+              <template #label>
+                {{ item.participants.name }}
+              </template>
+            </van-cell>
+          </div>
+        </van-swipe-cell>
+      </van-list>
+    </van-tab>
+  </van-tabs>
+</template>
+
+<script>
+import { ref } from "vue";
+import router from "@/router";
+import religiousConferenceService from "@/api/religiousConference/religiousConferenceService";
+export default {
+name: "religiousConferenceList",
+setup() {
+  const onClickLeft = () => {
+    history.back();
+  };
+  const onClickRight = () => {
+    router.push("/religiousConferenceView");
+  };
+  let tabIndex = ref(0);
+  
+  //tab切换
+  let active = ref(0);
+  const onClickTab = (val) => {
+    // 清空列表数据
+    finished.value = false;
+    list.value = [];
+    // 重新加载数据
+    // 将 loading 设置为 true,表示处于加载状态
+    loading.value = true;
+    index = 0;
+    if (val.name == 0) {
+      onLoad(0);
+    } else {
+      onLoad(1);
+    }
+  };
+  // 列表
+  let list = ref([]);
+  const loading = ref(false);
+  const finished = ref(false);
+  let index = 0;
+  const onLoad = (val) => {
+    // 异步更新数据
+    console.log(val);
+    new religiousConferenceService()
+      .list({
+        current: index + 1,
+        size: 10,
+        assessment:val ? val : 0,
+      })
+      .then((res) => {
+        list.value.push(...res.records) ;
+        // 加载状态结束
+        loading.value = false;        
+        // 数据全部加载完成
+        if (res.records.length < 10) {
+          finished.value = true;
+        }
+        index++;
+      });
+  };
+  // 搜索
+  let value = ref("");
+  // 删除确认
+  const beforeClose = ({ position }) => {
+    switch (position) {
+      case "left":
+      case "cell":
+      case "outside":
+        return true;
+      case "right":
+        return new Promise((resolve) => {
+          showConfirmDialog({
+            title: "确定删除吗?",
+          }).then(resolve);
+        });
+    }
+  };
+  return {
+    onClickLeft,
+    onClickTab,
+    list,
+    onLoad,
+    loading,
+    finished,
+    value,
+    onClickRight,
+    tabIndex,
+    beforeClose,
+  };
+},
+};
+</script>
+
+<style>
+body {
+background: #f5f5f5;
+}
+.nav_tab {
+width: 100vw;
+display: flex;
+text-align: center;
+background: #fff;
+margin: 10px 0;
+}
+.tab {
+flex: 1;
+line-height: 40px;
+font-size: 14px;
+}
+.active {
+background: #36a7f3;
+color: #fff;
+}
+.van-list {
+height: 80%;
+margin-top: 5px;
+}
+.list_item {
+display: flex;
+background: #fff;
+}
+.item-left {
+text-align: center;
+width: 30%;
+font-size: 12px;
+border-right: 1px solid #eee;
+}
+.button {
+height: 100%;
+}
+</style>

+ 225 - 82
src/views/activityMan/securityFacilitiesErr/securityFacilitiesErrList.vue

@@ -1,87 +1,230 @@
 <template>
-    <van-nav-bar
-      title="安防设施异常"
-      left-text=""
-      left-arrow
-      @click-left="onClickLeft"
-    />
-    <van-search
-    v-model="value"
-    shape="round"
-    placeholder="请输入搜索关键词"
+  <van-nav-bar
+    title="安防设施异常"
+    left-text=""
+    right-text="上报"
+    left-arrow
+    @click-left="onClickLeft"
+    @click-right="onClickRight"
   />
-    <van-list
-      v-model:loading="loading"
-      :finished="finished"
-      finished-text="没有更多了"
-    >
-      <van-button type="primary" size="small" to="/placeActivity">新增</van-button>
-      <van-cell v-for="item in list" :key="item" :title="item" label="2222" is-link>
-        <template #value>
-          11111
-        </template>
-      </van-cell>
-    </van-list>
-  </template>
+  <van-search v-model="value" shape="round" placeholder="请输入搜索关键词" />
+  <van-tabs
+    v-model:active="active"
+    title-inactive-color="#bdbdbd"
+    title-active-color="#36a7f3"
+    @click-tab="onClickTab"
+  >
+    <van-tab title="未审核" name="0">
+      <van-list
+        v-model:loading="loading"
+        :finished="finished"
+        finished-text="没有更多了"
+        @load="onLoad"
+      >
+        <van-swipe-cell
+          v-for="item in list"
+          :key="item"
+          :before-close="beforeClose"
+        >
+          <div class="list_item" @click="goInfo(item.id)">
+            <div class="item-left">
+              <p style="color: #c4c4c4">{{ item.updateDate }}</p>
+              <p style="color: red">待审核</p>
+            </div>
+            <van-cell is-link v-if="item.facilityType==0">
+              <template #title >
+                {{ item.siteName.name }}({{ item.videoAudioPoint.name }})
+              </template>
+              <template #label>
+                {{ item.position }}
+              </template>
+            </van-cell>
+            <van-cell is-link v-if="item.facilityType==1">
+              <template #title >
+                {{ item.siteName.name }}({{ item.siteFireProtection.name }})
+              </template>
+              <template #label>
+                {{ item.position }}
+              </template>
+            </van-cell>
+          </div>
+          <template #right>
+            <van-button square type="danger" text="删除" class="button" />
+            <van-button
+              square
+              type="primary"
+              text="修改"
+              class="button"
+              @click="updateItem(item)"
+            />
+          </template>
+        </van-swipe-cell>
+      </van-list>
+    </van-tab>
+    <van-tab title="已审核" name="1">
+      <van-list
+        v-model:loading="loading"
+        :finished="finished"
+        finished-text="没有更多了"
+        @load="onLoad"
+      >
+        <van-swipe-cell
+          v-for="item in list"
+          :key="item"
+          :before-close="beforeClose"
+        >
+          <div class="list_item" @click="goInfo(item.id)">
+            <div class="item-left">
+              <p style="color: #c4c4c4">{{ item.updateDate }}</p>
+              <p style="color: gray">已审核</p>
+            </div>
+            <van-cell is-link v-if="item.facilityType==0">
+              <template #title >
+                {{ item.siteName.name }}({{ item.videoAudioPoint.name }})
+              </template>
+              <template #label>
+                {{ item.position }}
+              </template>
+            </van-cell>
+            <van-cell is-link v-if="item.facilityType==1">
+              <template #title >
+                {{ item.siteName.name }}({{ item.siteFireProtection.name }})
+              </template>
+              <template #label>
+                {{ item.position }}
+              </template>
+            </van-cell>
+          </div>
+        </van-swipe-cell>
+      </van-list>
+    </van-tab>
+  </van-tabs>
+</template>
 
-  <script>
-  import  qs  from "qs";
-
-  export default {
-		data() {
-			return{
-        value:"",
-        list:[],
-        loading:false,
-        finished:false,
-        title:'民宗干事',
-				username:"",
-				sms:"",
-				password:"",
-				password2:"",
-				con1:"0",
-        searchForm: {
-            siteName: {
-                id: ''
-            }
-        },
-			}
-		},
-
-		async created(){
-			let aa=qs.stringify({
-            'current': 1,
-            'size': 10,
-            'orders': [],
-            ...this.searchForm
-            },  { allowDots: true, arrayFormat: 'indices' })
-
-			let id=this.$route.query.id;
-
-			var res = await this.$API.activityMan.siteInspectionList.get(aa);
-      console.log(res);
-
-		},
-
-		methods:{
-        onClickLeft(){
-          history.back();
-        },
-      },
+<script>
+import { ref } from "vue";
+import router from "@/router";
+import securityFacilitiesErrService from "@/api/securityFacilitiesErr/securityFacilitiesErrService";
+export default {
+name: "securityFacilitiesErrList",
+setup() {
+  const onClickLeft = () => {
+    history.back();
   };
+  const onClickRight = () => {
+    router.push("/securityFacilitiesErrView");
+  };
+  let tabIndex = ref(0);
+  
+  //tab切换
+  let active = ref(0);
+  const onClickTab = (val) => {
+    // 清空列表数据
+    finished.value = false;
+    list.value = [];
+    // 重新加载数据
+    // 将 loading 设置为 true,表示处于加载状态
+    loading.value = true;
+    index = 0;
+    if (val.name == 0) {
+      onLoad(0);
+    } else {
+      onLoad(1);
+    }
+  };
+  // 列表
+  let list = ref([]);
+  const loading = ref(false);
+  const finished = ref(false);
+  let index = 0;
+  const onLoad = (val) => {
+    // 异步更新数据
+    console.log(val);
+    new securityFacilitiesErrService()
+      .list({
+        current: index + 1,
+        size: 10,
+        assessment:val ? val : 0,
+      })
+      .then((res) => {
+        list.value.push(...res.records) ;
+        // 加载状态结束
+        loading.value = false;        
+        // 数据全部加载完成
+        if (res.records.length < 10) {
+          finished.value = true;
+        }
+        index++;
+      });
+  };
+  // 搜索
+  let value = ref("");
+  // 删除确认
+  const beforeClose = ({ position }) => {
+    switch (position) {
+      case "left":
+      case "cell":
+      case "outside":
+        return true;
+      case "right":
+        return new Promise((resolve) => {
+          showConfirmDialog({
+            title: "确定删除吗?",
+          }).then(resolve);
+        });
+    }
+  };
+  return {
+    onClickLeft,
+    onClickTab,
+    list,
+    onLoad,
+    loading,
+    finished,
+    value,
+    onClickRight,
+    tabIndex,
+    beforeClose,
+  };
+},
+};
+</script>
 
-
-
-  </script>
-
-  <style>
-  .van-button {
-    top: -5px;
-  }
-
-  .van-list {
-    height: 80%;
-    margin-top: 5px;
-  }
-
-  </style>
+<style>
+body {
+background: #f5f5f5;
+}
+.nav_tab {
+width: 100vw;
+display: flex;
+text-align: center;
+background: #fff;
+margin: 10px 0;
+}
+.tab {
+flex: 1;
+line-height: 40px;
+font-size: 14px;
+}
+.active {
+background: #36a7f3;
+color: #fff;
+}
+.van-list {
+height: 80%;
+margin-top: 5px;
+}
+.list_item {
+display: flex;
+background: #fff;
+}
+.item-left {
+text-align: center;
+width: 30%;
+font-size: 12px;
+border-right: 1px solid #eee;
+}
+.button {
+height: 100%;
+}
+</style>

+ 3 - 3
src/views/activityMan/selfMeetingReport/selfMeetingList.vue

@@ -85,7 +85,7 @@
     </van-tabs>
   </div>
 </template>
-  
+
   <script>
 import { ref } from "vue";
 import PrivatePartyPointService from "@/api/privateparty/PrivatePartyPointService";
@@ -187,7 +187,7 @@ export default {
   },
 };
 </script >
-  
+
 <style scope>
 .main {
   background: #fff;
@@ -211,4 +211,4 @@ export default {
 .button {
   height: 100%;
 }
-</style>
+</style>

+ 20 - 6
src/views/activityMan/siteInspection/siteInspectionList.vue

@@ -1,6 +1,5 @@
 <template>
     <van-nav-bar
-      fixed
       title="场所检查情况"
       left-text=""
       right-text="上报"
@@ -16,10 +15,10 @@
       @load="onLoad"
     >
     <div class="nav_tab">
-      <div class="tab" :class="tabIndex ? '' : 'active'" @click="tabIndex = 0">
+      <div class="tab" :class="tabIndex ? '' : 'active'" @click="onClickTab(0)">
         未审核
       </div>
-      <div class="tab" :class="tabIndex ? 'active' : ''" @click="tabIndex = 1">
+      <div class="tab" :class="tabIndex ? 'active' : ''" @click="onClickTab(1)">
         已审核
       </div>
     </div>
@@ -31,7 +30,8 @@
       <div class="list_item">
         <div class="item-left">
           <p style="color: #c4c4c4">{{ item.supervisionTime }}</p>
-          <p style="color: red">待审核</p>
+          <p v-if="item.assessment==0" style="color: red">待审核</p>
+          <p v-if="item.assessment==1" style="color: gray">已审核</p>
         </div>
         <van-cell is-link to="siteInspectionView">
           <template #title>
@@ -57,6 +57,7 @@ import siteInspectionServer from "@/api/siteInspection/siteInspectionServer";
 export default {
   name: "siteInspectionList",
   setup() {
+    window.xm.setNavigationBarTitle({ title: '场所检查情况'})
     const onClickLeft = () => {
       history.back();
     };
@@ -68,23 +69,35 @@ export default {
     const loading = ref(false);
     const finished = ref(false);
     let index = 0;
+    //tab切换
+    const onClickTab= (wh) => {
+      tabIndex.value = wh;
+
+      // 清空列表数据
+      finished.value = false;
+      list.value = [];
+      loading.value = true;
+
+      index = 0;
+      onLoad();
+    };
     const onLoad = () => {
       // 异步更新数据
       new siteInspectionServer()
         .list({
           current: index + 1,
           size: 10,
-          assessment:0,
+          assessment:tabIndex.value,
         })
         .then((res) => {
           list.value.push(...res.records) ;
           // 加载状态结束
           loading.value = false;
-          index++;
           // 数据全部加载完成
           if (res.records.length < 10) {
             finished.value = true;
           }
+          index++;
         });
     };
     // 搜索
@@ -106,6 +119,7 @@ export default {
     };
     return {
       onClickLeft,
+      onClickTab,
       list,
       onLoad,
       loading,

+ 4 - 2
src/views/activityMan/siteInspection/siteInspectionView.vue

@@ -215,8 +215,10 @@ export default {
 
       new siteInspectionServer().save(siteInspection).then((res) => {
         if(res.data=="保存场所检查情况成功"){
-          console.log("保存成功");
-          //添加保存后跳转
+          window.xm.showToast({
+             message:"保存成功!"
+          })
+          history.back();
         }
 
       });

+ 94 - 0
src/views/login/changePassword.vue

@@ -0,0 +1,94 @@
+<template>
+	<van-nav-bar
+	  title="修改密码"
+	  left-arrow
+	  @click-left="onClickLeft"
+	/>
+	
+	<van-form @submit="onSubmit" class="main">
+	  <van-cell-group inset>
+	    	
+        <van-field
+	      v-model="oldpassword"
+	      type="password"
+	      name="旧密码"
+	      label="旧密码"
+	      placeholder="旧密码"
+	      :rules="[{ required: true, message: '请填写旧密码' }]"
+	    />
+	    <van-field
+	      v-model="password"
+	      type="password"
+	      name="新密码"
+	      label="新密码"
+	      placeholder="新密码"
+	      :rules="[{ required: true, message: '请填写新密码' }]"
+	    />
+		<van-field
+		  v-model="password2"
+		  type="password"
+		  name="确认密码"
+		  label="确认密码"
+		  placeholder="确认新密码"
+		  :rules="[{ required: true, message: '请确认新密码' }]"
+		/>
+	  </van-cell-group>
+	  <div class="submit">
+	    <van-button round block type="primary" native-type="submit" @click="save">
+	      确认修改
+	    </van-button>
+	  </div>
+	</van-form>
+	
+</template>
+
+<script>
+import userSets from "@/api/sys/userSets";
+	export default {
+		data() {
+			return{
+                oldpassword:"",
+				password:"",
+				password2:"",
+			}			
+		},
+		methods:{
+			onClickLeft(){
+				history.back();
+			},
+			save(){
+                var that=this;
+                if(that.password!=that.password2){
+                    console.log("确认密码与新密码不一致!");
+                }else{
+                    new userSets()
+                    .ChangePass({
+                        oldPassword: that.oldpassword,
+                        newPassword: that.password
+                    })
+                    .then((res) => {
+                        console.log("修改密码成功!"+"++"+this.password+"++"+this.password2);
+                    });
+                }
+           
+                
+				
+			},
+		},
+	 
+	};
+</script>
+
+<style>
+body {
+  background: #f5f5f5;
+}
+.main {
+  margin-top: 20px;
+}
+.submit{
+    margin-left: 20px;
+    margin-right: 20px;
+  margin-top: 40px;
+}
+</style>

+ 153 - 0
src/views/placeManage/ManageList.vue

@@ -0,0 +1,153 @@
+<template>
+  <div class="personList">
+    <van-list
+      v-model:loading="loading"
+      :finished="finished"
+      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 list"
+            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" v-model="checked">
+        <van-cell-group inset>
+          <van-cell
+            v-for="item in list"
+            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 placeRegister from "@/api/placeRegister/placeRegister" 
+export default {
+  name: "personList",
+  emits: ["selected"],
+  props: ["type"],
+  setup(props, { emit }) {
+    const list = ref([]);
+    const loading = ref(false);
+    const finished = ref(false);
+    let index = 0;
+    const onLoad = () => {
+      // 异步更新数据
+      new placeRegister()
+        .list({
+          current: index + 1,
+          size: 10,
+        })
+        .then(({ records }) => {
+          list.value.push(...records);
+          // 加载状态结束
+          loading.value = false;
+          index++;
+          // 数据全部加载完成
+          if (records.length < 10) {
+            finished.value = true;
+          }
+        });
+    };
+    // 搜索
+    const value = ref("");
+    const onSearch = (val) => showToast(val);
+    const onCancel = () => showToast("取消");
+    // 选择人员
+    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);
+    };
+
+    return {
+      // 人员
+      list,
+      onLoad,
+      loading,
+      finished,
+      // 搜索
+      value,
+      onSearch,
+      onCancel,
+      // 全选
+      checkAll,
+      toggle,
+      checked,
+      checkboxRefs,
+      checkboxGroup,
+      // 单选
+      selectes,
+    };
+  },
+};
+</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>

+ 1 - 1
src/views/placeManage/placePersoninfo.vue

@@ -301,7 +301,7 @@ html {
 .content {
   position: fixed;
   width: 85%;
-  top: 240px;
+  top: 180px;
   left: 50%;
   padding: 20px 10px;
   transform: translateX(-50%);

+ 77 - 16
src/views/placeManage/placeRegister.vue

@@ -140,21 +140,41 @@
       </van-cell-group>
       <van-cell-group>
         <van-field
-          v-model="placeActivity.placeData.religiousDeptManaUserName"
+          v-model="placeActivity.placeData.religiousDeptManaUserName.name"
           center
           label="宗教部门管理人员:"
           placeholder="请填写宗教部门管理人员"
           input-align="right"
+          right-icon="arrow-down"
+          @click="showPerson = true"
         />
+        <van-dialog
+          v-model:show="showPerson"
+          title="选择宗教部门管理人员"
+          show-cancel-button
+          @confirm="reselected"
+        >
+          <manage-list @selected="selected" :type="1"></manage-list>
+        </van-dialog>
       </van-cell-group>
       <van-cell-group>
         <van-field
-          v-model="placeActivity.placeData.securityDeptManaUserName"
+          v-model="placeActivity.placeData.securityDeptManaUserName.name"
           center
           label="公安部门管理人员:"
           placeholder="请填写公安部门管理人员"
           input-align="right"
-        />
+          right-icon="arrow-down"
+          @click="showReport = true"
+        />  
+        <van-dialog
+          v-model:show="showReport"
+          title="选择公安部门管理人员"
+          show-cancel-button
+          @confirm="reselected"
+        >
+          <manage-list @selected="selected" :type="0"></manage-list>
+        </van-dialog>
       </van-cell-group>
       <van-cell-group>
         <van-field
@@ -195,9 +215,11 @@
 
 <script>
 import { reactive, ref } from "vue";
+import ManageList from "../placeManage/ManageList.vue"
 import PlaceRegister from "@/api/placeRegister/placeRegister";
-import router from '@/router';
+import router from "@/router";
 export default {
+  components:{ManageList},
   setup() {
     const goback = () => {
       history.back();
@@ -215,10 +237,16 @@ export default {
         siteType: "", //场所类型
         constructionStage: "", //场所建设阶段
         nature: "", //场所性质
-        religiousDeptManaUserName: "", //宗教部门管理人员
-        securityDeptManaUserName: "", //公安部门管理人员
+        religiousDeptManaUserName: {
+          id:"",
+          name:""
+        }, //宗教部门管理人员
+        securityDeptManaUserName: {
+          id:"",
+          name:""
+        }, //公安部门管理人员
         peopleThreshold: "", //场所活动人数
-        scenesImage:""//内外景图片
+        scenesImage: "", //内外景图片
       },
       fileList1: [], //外景图片
       fileList2: [], //内景图片
@@ -266,6 +294,7 @@ export default {
       showPicker3.value = false;
       placeActivity.placeData.nature = selectedOptions[0].text;
     };
+
     //图片上传
     const afterRead = (file) => {
       // 此时可以自行将文件上传至服务器
@@ -293,17 +322,44 @@ export default {
         "/" +
         selectedOptions[2].name;
     };
+    //人员选择
+    let showPerson = ref(false);
+    let showReport = ref(false);
+    let list = {
+      value: [],
+      type: "",
+    };
+    const selected = (val, type) => {
+      
+      list.value = val;
+      list.type = type;
+      console.log(list);
+    };
+    const reselected = () => {
+      let ids = [];
+      let names = [];
+      if (list.type == 1) {
+        list.value.forEach((item) => {
+          ids.push(item.id);
+          names.push(item.name);
+        });
+      placeActivity.placeData.religiousDeptManaUserName.id =  ids.join(',')
+      placeActivity.placeData.religiousDeptManaUserName.name =  names.join(',')  
+      } else {
+      placeActivity.placeData.securityDeptManaUserName.id =  list.value.id
+      placeActivity.placeData.securityDeptManaUserName.name =  list.value.name
+      }
+    };
     //数据提交
-    const submit = ()=>{
+    const submit = () => {
       // console.log(placeActivity.placeData.scenesImage);
-      new PlaceRegister().sava(placeActivity.placeData).then((res)=>{
-        console.log("提交成功",res);
+      new PlaceRegister().sava(placeActivity.placeData).then((res) => {
+        console.log("提交成功", res);
         router.push({
-          path:'/tabAll'
-        })
-      })
-    }
-
+          path: "/tabAll",
+        });
+      });
+    };
 
     return {
       placeActivity,
@@ -332,8 +388,13 @@ export default {
       showPlace1,
       getPlace1,
       options,
+      //人员选择
+      showPerson,
+      showReport,
+      selected,
+      reselected,
       //数据提交
-      submit
+      submit,
     };
   },
 };

+ 18 - 11
src/views/tab_a/tabAll.vue

@@ -1,4 +1,5 @@
 <template>
+<div class="bg">
 	<van-nav-bar
 	  title="智慧“和顺”"
 	  left-text="民宗干事"
@@ -49,7 +50,7 @@
 	<van-grid :border="false">
 		<van-grid-item icon="../../../loginbg/csdj.png" text="场所登记" @click="goPlaceRegister"/>
 		<van-grid-item icon="../../../loginbg/csry.png" text="场所人员信息" @click="goPlacePerson" />
-		<van-grid-item icon="../../../loginbg/cspw.png" text="牌位管理" @click="goPlaceTablet"/>
+		<van-grid-item icon="../../../loginbg/cspw.png" text="牌位管理" />
 	</van-grid>
 
 	<div class="hLine"></div>
@@ -62,12 +63,13 @@
 	<van-grid :border="false" >
 		<van-grid-item icon="../../../loginbg/hd_cshd.png" @click="placeActivity" text="场所活动" />
 		<van-grid-item icon="../../../loginbg/hd_ssjhd.png" @click="selfMeetingList" text="私设聚会点" />
-		<van-grid-item icon="../../../loginbg/hd_xjqz.png" @click="differentbelieversList" text="信教群众异常" />
+		<van-grid-item icon="../../../loginbg/hd_xjqz.png" @click="abnormalCrowd" text="信教群众异常" />
 		<van-grid-item icon="../../../loginbg/hd_jc.png" text="场所检查" @click="tohd_jc" />
 		<van-grid-item icon="../../../loginbg/hd_af.png" text="安防设施异常" @click="tohd_af" />
 		<van-grid-item icon="../../../loginbg/hd_hy.png" text="负责人会议" @click="tohd_hy" />
 		<van-grid-item icon="../../../loginbg/hd_qt.png" to="/setting" text="其他" @click="tohd_qt" />
 	</van-grid>
+</div>
 </template>
 
 <script>
@@ -90,9 +92,8 @@ import userSets from "@/api/sys/userSets";
 
 		created(){
 			let id=this.$route.query.id;
+			window.xm.setNavigationBarTitle({ title: '智慧“和顺”'})
 			this.TokenLogin2();
-			this.getBannerImg();//获取轮播图
-			this.getSelectColor();//获取主题颜色
 		},
 
 		methods:{
@@ -105,9 +106,7 @@ import userSets from "@/api/sys/userSets";
 			goPlacePerson() {
               this.$router.push("/placePerson");
             },
-			goPlaceTablet(){
-				this.$router.push("/placeTablet");
-			},
+
 			onClickLeft(){
 				history.back();
 			},
@@ -122,7 +121,7 @@ import userSets from "@/api/sys/userSets";
 				this.$router.push("/religiousConferenceList");
 			},
 			tohd_qt(){
-				this.$router.push("/securityFacilitiesErrList");
+				this.$router.push("/nonReligiousInformationList");
 			},
 			// 活动场所
 			placeActivity(){
@@ -131,8 +130,8 @@ import userSets from "@/api/sys/userSets";
 			selfMeetingList(){
 				this.$router.push("/selfMeetingList")
 			},
-			differentbelieversList(){
-				this.$router.push("/differentbelieversList")
+			abnormalCrowd(){
+				this.$router.push("/abnormalCrowd")
 			},
 			async TokenLogin(){
 				let that=this;
@@ -174,10 +173,15 @@ import userSets from "@/api/sys/userSets";
 					.then((res) => {
 						that.$store.commit('setPcToken',res.PcToken);
 						that.$store.commit('setUser',res.account);
+						that.getBannerImg();//获取轮播图
+						that.getSelectColor();//获取主题颜色
 					});
 
 					//})//上线取消注释
 
+				}else{
+					that.getBannerImg();//获取轮播图
+					that.getSelectColor();//获取主题颜色
 				}
 
 
@@ -323,6 +327,9 @@ import userSets from "@/api/sys/userSets";
 </script>
 
 <style>
-
+.bg{
+	height: 100%;
+	background: #ffffff;
+}
 
 </style>

+ 3 - 1
src/views/toBeDone/toBeDone_details.vue

@@ -8,7 +8,7 @@
   <div class="content">
     <div class="content-top">
       <p>问题内容:</p>
-      <p v-html="PersonInfo.data.problemContent"></p>
+      <p v-html="PersonInfo.data.problemContent" style=""></p>
       <p>发起部门:{{ PersonInfo.createDepartment.name }}</p>
       <p>发起人:{{ PersonInfo.todoBy.name }}</p>
       <p>交办类型:{{ PersonInfo.data.assignTypeName }}</p>
@@ -106,12 +106,14 @@ html {
 .content {
   position: fixed;
   width: 85%;
+  height: 680px;
   top: 180px;
   left: 50%;
   padding: 20px 10px;
   transform: translateX(-50%);
   background-color: #fff;
   border-radius: 10px;
+  overflow: auto;
   .content-top {
     padding-bottom: 30px;
     border-bottom: 2px solid #e7e7e7;