ReligiousPeopleReportList.vue 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. <template>
  2. <van-nav-bar
  3. fixed
  4. title="信教群众异常"
  5. right-text="上报"
  6. left-arrow
  7. @click-left="onClickLeft"
  8. @click-right="onClickRight"
  9. >
  10. <template #right>
  11. <van-icon name="plus" size="18" />
  12. </template>
  13. </van-nav-bar>
  14. <div class="main">
  15. <van-search
  16. v-model="searchVal"
  17. clearable
  18. show-action
  19. shape="round"
  20. placeholder="请输入搜索关键词"
  21. label="姓名"
  22. input-align="center"
  23. @search="onSearch"
  24. @cancel="onCancel"
  25. />
  26. <van-tabs
  27. v-show="!searchShow"
  28. v-model:active="active"
  29. title-inactive-color="#bdbdbd"
  30. title-active-color="#36a7f3"
  31. >
  32. <van-tab title="未审核" name="0">
  33. <van-list
  34. v-model:loading="loading"
  35. :finished="finished"
  36. finished-text="没有更多了"
  37. @load="onLoad"
  38. >
  39. <van-swipe-cell v-for="item in list" :key="item">
  40. <div class="list_item" @click="goInfo(item.id)">
  41. <div class="item-left">
  42. <p v-show="item.partyTime != ''" style="color: #c4c4c4">
  43. {{ item.partyTime }}
  44. </p>
  45. <p style="color: red">待审核</p>
  46. </div>
  47. <van-cell>
  48. <template #title>
  49. <van-text-ellipsis
  50. rows="2"
  51. :content="`${item.abnormalName}存在${item.abnormalBehavior}异常行为`"
  52. />
  53. </template>
  54. <template #label>
  55. {{ item.currentResidence }}
  56. </template>
  57. </van-cell>
  58. </div>
  59. <template #right>
  60. <van-button
  61. square
  62. type="danger"
  63. text="删除"
  64. class="button"
  65. @click="deleteItem(item.id)"
  66. />
  67. <van-button
  68. square
  69. type="primary"
  70. text="修改"
  71. class="button"
  72. @click="updateItem(item)"
  73. />
  74. </template>
  75. </van-swipe-cell>
  76. </van-list>
  77. </van-tab>
  78. <van-tab title="已审核" name="1">
  79. <van-list
  80. v-model:loading="loading1"
  81. :finished="finished1"
  82. finished-text="没有更多了"
  83. @load="onLoad1"
  84. >
  85. <van-swipe-cell v-for="item in readList" :key="item">
  86. <div class="list_item" @click="goInfo(item.id)">
  87. <div class="item-left">
  88. <p style="color: #c4c4c4">{{ item.partyTime }}</p>
  89. <p style="color: red">已审核</p>
  90. </div>
  91. <van-cell>
  92. <template #title>
  93. <van-text-ellipsis
  94. rows="2"
  95. :content="`${item.abnormalName}存在${item.abnormalBehavior}异常行为`"
  96. />
  97. </template>
  98. <template #label>
  99. {{ item.currentResidence }}
  100. </template>
  101. </van-cell>
  102. </div>
  103. </van-swipe-cell>
  104. </van-list>
  105. </van-tab>
  106. </van-tabs>
  107. <!-- 搜索结果 -->
  108. <van-list
  109. v-show="searchShow"
  110. v-model:loading="loading"
  111. :finished="finished"
  112. finished-text="没有更多了"
  113. @load="onLoad"
  114. >
  115. <van-swipe-cell v-for="item in searchList" :key="item">
  116. <div class="list_item" @click="goInfo(item.id)">
  117. <div class="item-left">
  118. <p style="color: #c4c4c4">{{ item.partyTime }}</p>
  119. <p style="color: red">已审核</p>
  120. </div>
  121. <van-cell>
  122. <template #title>
  123. <van-text-ellipsis
  124. rows="2"
  125. :content="`${item.abnormalName}存在${item.abnormalBehavior}异常行为`"
  126. />
  127. </template>
  128. <template #label>
  129. {{ item.currentResidence }}
  130. </template>
  131. </van-cell>
  132. </div>
  133. </van-swipe-cell>
  134. </van-list>
  135. </div>
  136. </template>
  137. <script>
  138. import { ref } from "vue";
  139. import ReligiousPeopleReportService from "@/api/differentbelievers/ReligiousPeopleReportService";
  140. import { useRouter } from "vue-router";
  141. export default {
  142. name: "ReligiousPeopleReportList",
  143. setup() {
  144. const onClickLeft = () => {
  145. history.back();
  146. };
  147. // 上报
  148. const onClickRight = () => {
  149. router.push("/differentbelievers");
  150. };
  151. // 切换
  152. let active = ref(0);
  153. // 未审核列表
  154. let list = ref([]);
  155. // 已审核列表
  156. let readList = ref([]);
  157. const loading = ref(false);
  158. const finished = ref(false);
  159. let index = 0;
  160. const onLoad = () => {
  161. loading.value = true;
  162. finished.value = false;
  163. // 异步更新数据
  164. new ReligiousPeopleReportService()
  165. .list({
  166. current: index + 1,
  167. size: 10,
  168. assessment: 0,
  169. })
  170. .then(({ records, pages }) => {
  171. list.value.push(...records);
  172. // 加载状态结束
  173. loading.value = false;
  174. // 数据全部加载完成
  175. if (index + 1 >= pages) {
  176. finished.value = true;
  177. }
  178. index++;
  179. });
  180. };
  181. const loading1 = ref(false);
  182. const finished1 = ref(false);
  183. let index1 = 0;
  184. const onLoad1 = () => {
  185. loading1.value = true;
  186. finished1.value = false;
  187. // 异步更新数据
  188. new ReligiousPeopleReportService()
  189. .list({
  190. current: index1 + 1,
  191. size: 10,
  192. assessment: 1,
  193. })
  194. .then(({ records, pages }) => {
  195. readList.value.push(...records);
  196. // 加载状态结束
  197. loading1.value = false;
  198. // 数据全部加载完成
  199. if (index1 + 1 >= pages) {
  200. finished1.value = true;
  201. }
  202. index1++;
  203. });
  204. };
  205. // 搜索
  206. let searchShow = ref(false);
  207. let searchList = ref([]);
  208. const searchVal = ref("");
  209. const onSearch = () => {
  210. searchShow.value = true;
  211. searchList.value = [];
  212. new ReligiousPeopleReportService()
  213. .list({
  214. current: 1,
  215. size: 10000,
  216. abnormalName: searchVal.value,
  217. })
  218. .then(({ records }) => {
  219. searchList.value.push(...records);
  220. // 加载状态结束
  221. loading.value = false;
  222. });
  223. };
  224. const onCancel = () => {
  225. searchVal.value = "";
  226. searchShow.value = false;
  227. };
  228. // 删除
  229. const deleteItem = (val) => {
  230. xm.showConfirm({
  231. title: "删除确认",
  232. message: "确认删除该记录",
  233. }).then((result) => {
  234. if (result == "ok") {
  235. new ReligiousPeopleReportService().delete(val).then((res) => {
  236. if (res.status == 200 || res.statusText == "OK") {
  237. xm.showToast({
  238. message: res.data,
  239. });
  240. }
  241. index = 0;
  242. loading.value = true;
  243. list.value = [];
  244. readList.value = [];
  245. onLoad();
  246. });
  247. }
  248. });
  249. };
  250. let router = useRouter();
  251. // 修改跳转
  252. const updateItem = (val) => {
  253. router.push({
  254. path: "/differentbelievers",
  255. query: { id: val.id },
  256. });
  257. };
  258. // 详情跳转
  259. const goInfo = (val) => {
  260. router.push({
  261. path: "/differentbelieversInfo",
  262. query: { id: val },
  263. });
  264. };
  265. return {
  266. active,
  267. onClickLeft,
  268. list,
  269. readList,
  270. onLoad,
  271. loading,
  272. finished,
  273. onLoad1,
  274. loading1,
  275. finished1,
  276. searchShow,
  277. searchVal,
  278. searchList,
  279. onSearch,
  280. onCancel,
  281. onClickRight,
  282. updateItem,
  283. goInfo,
  284. deleteItem,
  285. };
  286. },
  287. };
  288. </script >
  289. <style scope>
  290. </style>