placePerson.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <template>
  2. <div>
  3. <van-nav-bar title="人员档案管理" left-arrow @click-left="onClickLeft" />
  4. </div>
  5. <div class="serach">
  6. <van-search
  7. v-model="value"
  8. show-action
  9. shape="round"
  10. placeholder="请输入姓名/身份证/场所名称"
  11. >
  12. <template #action>
  13. <div>
  14. <van-dropdown-menu>
  15. <van-dropdown-item
  16. overlay="false"
  17. v-model="value1"
  18. :options="option1"
  19. @change="changeValue(value1)"
  20. />
  21. </van-dropdown-menu>
  22. </div>
  23. </template>
  24. </van-search>
  25. </div>
  26. <div class="PersonList" v-if="value1 == 0 || value == ''">
  27. <div
  28. class="PersonItem"
  29. v-for="item in dataList"
  30. :key="item.id"
  31. @click="goPlacePersonInfo(item)"
  32. >
  33. <van-row>
  34. <van-col span="18">
  35. <p>
  36. {{ item.name }}(<span style="color: #36a7f3">{{
  37. item.idcard
  38. }}</span
  39. >)
  40. </p>
  41. </van-col>
  42. <van-col span="6" style="text-align: right">
  43. <!-- <div
  44. v-for="(item2, index) in item.userManagenmetDetailsDTOList"
  45. :key="index"
  46. style="font-size: 12px"
  47. >
  48. <p
  49. v-if="
  50. item2.dataType == 1 &&
  51. item2.dataDictionary == 'hs_religion_type'
  52. "
  53. style="color: #36a7f3"
  54. >
  55. <span v-if="item2.value == 1" style="color: #1eba56"
  56. >伊斯兰教</span
  57. >
  58. <span v-if="item2.value == 2" style="color: #36a7f3">基督教</span>
  59. <span v-if="item2.value == 3" style="color: #ffa500">天主教</span>
  60. <span v-if="item2.value == 4" style="color: #d3c701">佛教</span>
  61. <span v-if="item2.value == 5" style="color: #a0522d">道教</span>
  62. </p>
  63. </div> -->
  64. <span v-if="item.sex == 1" style="color: #36a7f3">男</span>
  65. <span v-if="item.sex == 2" style="color: #d3c701">女</span>
  66. </van-col>
  67. </van-row>
  68. <van-row>
  69. <van-col span="18">
  70. <span style="color: #a2a2a2" v-if="item.locationName">{{
  71. item.locationName
  72. }}</span>
  73. </van-col>
  74. <van-col span="6" style="text-align: right; font-size: 12px">
  75. <span v-if="item.personnelType == 1">宗教从业人员</span>
  76. <span v-else-if="item.personnelType == 2">民族场所从业人员</span>
  77. <span v-else-if="item.personnelType == 3">教职人员</span>
  78. <span v-else-if="item.personnelType == 4">固定信徒</span>
  79. <span v-else-if="item.personnelType == 5">场所居住人员</span>
  80. <span v-else-if="item.personnelType == 6">境外人员</span>
  81. <span v-else-if="item.personnelType == 7">非本市人员</span>
  82. <span v-else-if="item.personnelType == 8">非本教人员</span>
  83. <span v-else-if="item.personnelType == 9">新增信徒人员</span>
  84. <span v-else-if="item.personnelType == 10">临时人员</span>
  85. <span v-else-if="item.personnelType == 11">异常人员</span>
  86. <span v-else-if="item.personnelType == 12">邪教人员</span>
  87. <span v-else-if="item.personnelType == 13">管理人员</span>
  88. <span v-else-if="item.personnelType == 14">全能神离家人员</span>
  89. <span v-else-if="item.personnelType == 15">全能神骨干人员</span>
  90. <span v-else-if="item.personnelType == 16">网络运营人员</span>
  91. <span v-else-if="item.personnelType == 17">涉政有害活动人员</span>
  92. <span v-else-if="item.personnelType == 18">境内外记者</span>
  93. <span v-else-if="item.personnelType == 19">境外法轮功骨干人员</span>
  94. <span v-else-if="item.personnelType == 20">其他邪教骨干人员</span>
  95. <span v-else-if="item.personnelType == 21">心灵法门骨干人员</span>
  96. <span v-else>“精神控制”有害培训骨干人员</span>
  97. </van-col>
  98. </van-row>
  99. </div>
  100. </div>
  101. <div class="PersonList" v-if="value1 != 0 && value != ''">
  102. <div
  103. class="PersonItem"
  104. v-for="item in PersonList"
  105. :key="item.id"
  106. @click="goPlacePersonInfo(item)"
  107. >
  108. <van-row>
  109. <van-col span="18">
  110. <p>
  111. {{ item.name }}(<span style="color: #36a7f3">{{
  112. item.idcard
  113. }}</span
  114. >)
  115. </p>
  116. </van-col>
  117. <van-col span="6" style="text-align: right">
  118. <!-- <div
  119. v-for="(item2, index) in item.userManagenmetDetailsDTOList"
  120. :key="index"
  121. style="font-size: 12px"
  122. >
  123. <p
  124. v-if="
  125. item2.dataType == 1 &&
  126. item2.dataDictionary == 'hs_religion_type'
  127. "
  128. style="color: #36a7f3"
  129. >
  130. <span v-if="item2.value == 1" style="color: #1eba56"
  131. >伊斯兰教</span
  132. >
  133. <span v-if="item2.value == 2" style="color: #36a7f3">基督教</span>
  134. <span v-if="item2.value == 3" style="color: #ffa500">天主教</span>
  135. <span v-if="item2.value == 4" style="color: #d3c701">佛教</span>
  136. <span v-if="item2.value == 5" style="color: #a0522d">道教</span>
  137. </p>
  138. </div> -->
  139. <span v-if="item.sex == 1" style="color: #36a7f3">男</span>
  140. <span v-if="item.sex == 2" style="color: #d3c701">女</span>
  141. </van-col>
  142. </van-row>
  143. <van-row>
  144. <van-col span="18">
  145. <span style="color: #a2a2a2" v-if="item.locationName">{{
  146. item.locationName
  147. }}</span>
  148. </van-col>
  149. <van-col span="6" style="text-align: right; font-size: 12px">
  150. <span v-if="item.personnelType == 1">宗教从业人员</span>
  151. <span v-else-if="item.personnelType == 2">民族场所从业人员</span>
  152. <span v-else-if="item.personnelType == 3">教职人员</span>
  153. <span v-else-if="item.personnelType == 4">固定信徒</span>
  154. <span v-else-if="item.personnelType == 5">场所居住人员</span>
  155. <span v-else-if="item.personnelType == 6">境外人员</span>
  156. <span v-else-if="item.personnelType == 7">非本市人员</span>
  157. <span v-else-if="item.personnelType == 8">非本教人员</span>
  158. <span v-else-if="item.personnelType == 9">新增信徒人员</span>
  159. <span v-else-if="item.personnelType == 10">临时人员</span>
  160. <span v-else-if="item.personnelType == 11">异常人员</span>
  161. <span v-else-if="item.personnelType == 12">邪教人员</span>
  162. <span v-else-if="item.personnelType == 13">管理人员</span>
  163. <span v-else-if="item.personnelType == 14">全能神离家人员</span>
  164. <span v-else-if="item.personnelType == 15">全能神骨干人员</span>
  165. <span v-else-if="item.personnelType == 16">网络运营人员</span>
  166. <span v-else-if="item.personnelType == 17">涉政有害活动人员</span>
  167. <span v-else-if="item.personnelType == 18">境内外记者</span>
  168. <span v-else-if="item.personnelType == 19">境外法轮功骨干人员</span>
  169. <span v-else-if="item.personnelType == 20">其他邪教骨干人员</span>
  170. <span v-else-if="item.personnelType == 21">心灵法门骨干人员</span>
  171. <span v-else>“精神控制”有害培训骨干人员</span>
  172. </van-col>
  173. </van-row>
  174. </div>
  175. </div>
  176. </template>
  177. <script>
  178. import { ref } from "vue";
  179. import { useRouter } from "vue-router";
  180. import UserManage from "@/api/user/UserManage";
  181. export default {
  182. setup() {
  183. const value = ref("");
  184. const value1 = ref(0);
  185. // const option1 = [
  186. // { text: "所有教别", value: 0 },
  187. // { text: "伊斯兰教", value: 1 },
  188. // { text: "基督教", value: 2 },
  189. // { text: "天主教", value: 3 },
  190. // { text: "佛教", value: 4 },
  191. // { text: "道教", value: 5 },
  192. // ];
  193. const option1 = [
  194. { text: "搜索选择", value: 0 },
  195. { text: "姓名", value: 1 },
  196. { text: "身份证号", value: 2 },
  197. { text: "场所名称", value: 3 },
  198. ];
  199. let PersonList = ref([]);
  200. let dataList = ref([]);
  201. //数据获取
  202. const loading = ref(false);
  203. const finished = ref(false);
  204. new UserManage()
  205. .list({
  206. current: 1,
  207. size: 10,
  208. })
  209. .then((res) => {
  210. let list2 = [];
  211. list2.push(...res.records);
  212. list2.forEach((n1) => {
  213. let id = n1.id;
  214. new UserManage().queryById(id).then((LP) => {
  215. n1.userManagenmetDetailsDTOList = LP.userManagenmetDetailsDTOList;
  216. });
  217. });
  218. dataList.value = list2;
  219. });
  220. //跳转
  221. let router = useRouter();
  222. const goPlacePersonInfo = (item) => {
  223. var data = JSON.stringify(item);
  224. router.push({
  225. path: "/placePersoninfo",
  226. query: { data: data },
  227. });
  228. };
  229. //宗教选择
  230. const changeValue = (value2) => {
  231. if (value.value != "") {
  232. switch (value2) {
  233. case 0:
  234. PersonList.value = dataList.value;
  235. break;
  236. case 1:
  237. dataList.value.forEach((s1) => {
  238. if (s1.name == value.value) {
  239. PersonList.value.push(s1);
  240. }
  241. });
  242. break;
  243. case 2:
  244. dataList.value.forEach((s1) => {
  245. if (s1.idcard == value.value) {
  246. PersonList.value.push(s1);
  247. }
  248. });
  249. break;
  250. case 3:
  251. dataList.value.forEach((s1) => {
  252. if (s1.locationName == value.value) {
  253. PersonList.value.push(s1);
  254. }
  255. });
  256. break;
  257. default:
  258. break;
  259. }
  260. }else{
  261. PersonList.value.splice(0,PersonList.value.length)
  262. }
  263. };
  264. //返回
  265. const onClickLeft = () => {
  266. history.back();
  267. };
  268. return {
  269. onClickLeft,
  270. value,
  271. value1,
  272. option1,
  273. loading,
  274. finished,
  275. goPlacePersonInfo,
  276. changeValue,
  277. PersonList,
  278. dataList,
  279. };
  280. },
  281. };
  282. </script>
  283. <style lang="less">
  284. body,
  285. html {
  286. margin: 0;
  287. padding: 0;
  288. background-color: #f2f2f2;
  289. }
  290. .van-nav-bar {
  291. background-color: #36a7f3;
  292. .van-nav-bar__title {
  293. color: #fff;
  294. }
  295. .van-badge__wrapper {
  296. color: #fff;
  297. }
  298. }
  299. .search {
  300. background-color: #fff;
  301. .van-dropdown-menu__item {
  302. width: 20px;
  303. height: 50px;
  304. }
  305. }
  306. .PersonList {
  307. background-color: #fff;
  308. margin-top: 20px;
  309. height: 100vh;
  310. p {
  311. margin: 0;
  312. padding: 0;
  313. }
  314. .PersonItem {
  315. padding: 10px 10px;
  316. font-size: 16px;
  317. border-bottom: 1px solid #f2f2f2;
  318. .van-row {
  319. &:nth-child(1) {
  320. margin-bottom: 10px;
  321. .van-col {
  322. &:nth-child(1) {
  323. p {
  324. font-weight: 700;
  325. }
  326. }
  327. &:nth-child(2) {
  328. p {
  329. text-align: right;
  330. }
  331. }
  332. }
  333. }
  334. &:nth-child(2) {
  335. .van-col {
  336. &:nth-child(1) {
  337. p {
  338. color: #d0d0d0;
  339. }
  340. }
  341. &:nth-child(2) {
  342. p {
  343. text-align: right;
  344. color: #d0d0d0;
  345. }
  346. }
  347. }
  348. }
  349. }
  350. }
  351. }
  352. </style>