移动端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

317 line
7.8 KiB

  1. <template>
  2. <div class="app-container">
  3. <div class="header_main">
  4. 执行人员
  5. <div class="return_btn" @click="onClickLeft"></div>
  6. </div>
  7. <div style="height: 58px;"></div>
  8. <div class="search_box">
  9. <van-popover
  10. v-model="showPopover"
  11. trigger="click"
  12. :actions="belongTeamOptions"
  13. @select="popChange"
  14. placement="bottom-start"
  15. >
  16. <template #reference>
  17. <div class="select_box">
  18. <p>{{popValue}}</p>
  19. <van-icon name="arrow-down" color="#1D6FE9" />
  20. </div>
  21. </template>
  22. </van-popover>
  23. <div class="search">
  24. <input type="text" placeholder="请输入执行人姓名/证号" v-model="queryParams.nameOrEnforceNum" />
  25. <img src="../../../../static/images/lawEnforcement/new/index_icon_19.png" @click="goSearch">
  26. </div>
  27. </div>
  28. <div class="main_box" style="margin-top: 10px;">
  29. <div class="peopleList">
  30. <van-row class="peoplett">
  31. <van-col :span="4">执行主体</van-col>
  32. <van-col :span="20">执行人员</van-col>
  33. </van-row>
  34. <van-checkbox-group v-model="result">
  35. <van-row v-for="(item,index) in enforcerList" :key="index" >
  36. <van-col :span="4">{{item.belongTeam}}</van-col>
  37. <van-col :span="6">{{item.name}}</van-col>
  38. <van-col :span="10">{{item.enforceNum}}</van-col>
  39. <van-col :span="4">
  40. <div class="icon_box">
  41. <van-checkbox :name="item" shape="square"></van-checkbox>
  42. </div>
  43. </van-col>
  44. </van-row>
  45. </van-checkbox-group>
  46. </div>
  47. </div>
  48. <p class="submitButton" @click="choiceEnforcer">确定</p>
  49. </div>
  50. </template>
  51. <script>
  52. import { listEnforcer } from "@/api/lawEnforcement/index";
  53. import Cookies from "js-cookie";
  54. export default {
  55. name: "programmeDetail",
  56. data() {
  57. return {
  58. showPopover: false,
  59. form:{},
  60. result:[],
  61. queryParams: {
  62. // 分页
  63. pageNum: 1,
  64. pageSize: 999,
  65. // 查询排序
  66. orderByColumn: "id",
  67. isAsc: "desc",
  68. nameOrEnforceNum: null, // 搜索参数-执行人姓名或证件号
  69. belongTeam: '1', // 搜索参数-所在中队
  70. },
  71. enforcerList:[],
  72. searchInput:'',
  73. belongTeamOptions:[],
  74. belongTeamOptions2:[],
  75. popValue:'一中队'
  76. };
  77. },
  78. created() {
  79. this.getDicts("team_category").then(response => {
  80. for (var i = 0; i < response.data.length; i++) {
  81. this.belongTeamOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
  82. }
  83. this.belongTeamOptions2 = response.data;
  84. });
  85. this.getDictionaries()
  86. },
  87. methods: {
  88. getDictionaries(){
  89. listEnforcer(this.queryParams).then((response) => {
  90. response.rows.map(res=>{
  91. res.belongTeam = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, res.belongTeam);
  92. this.enforcerList.push(res);
  93. })
  94. });
  95. },
  96. goSearch(){
  97. this.enforcerList = [];
  98. this.getDictionaries()
  99. },
  100. popChange(action,index){
  101. this.popValue = action.text;
  102. this.queryParams.belongTeam = action.value;
  103. this.enforcerList = [];
  104. this.getDictionaries();
  105. },
  106. choiceEnforcer(){
  107. const list = [];
  108. this.result.map(res=>{
  109. let obj = {};
  110. obj.relationType = "2";
  111. obj.enforcerId = res.id; // 执法人员ID -- 执法人员选择页面带回值
  112. obj.enforcerName = res.name; // 执法人员姓名 -- 执法人员选择页面带回值
  113. obj.enforcerNum = res.enforceNum; // 执法证号 -- 执法人员选择页面带回值
  114. obj.enforcerLeader = ""; // 是否带队 --勾选赋值
  115. list.push(obj)
  116. })
  117. Cookies.set("enforcer", list);
  118. Cookies.set("enforcerOld", this.result);
  119. history.back(-1);
  120. }
  121. },
  122. }
  123. </script>
  124. <style scoped lang="scss">
  125. .app-container {
  126. padding: 2% 0;
  127. }
  128. /deep/ .van-collapse-item__content{
  129. padding: 0;
  130. }
  131. /deep/ .van-checkbox{
  132. justify-content: center;
  133. }
  134. .icon_box{
  135. display: flex;
  136. justify-content: space-around;
  137. }
  138. .search_box{
  139. display: flex;
  140. justify-content: space-between;
  141. align-items: center;
  142. width: 92%;
  143. margin: 0PX auto;
  144. .select_box{
  145. border: 1px solid #1D6FE9;
  146. border-radius: 8PX;
  147. padding: 0 12PX ;
  148. background: #ffffff;
  149. height: 30PX;
  150. line-height: 30PX;
  151. display: flex;
  152. justify-content: space-around;
  153. align-items: center;
  154. }
  155. .search{
  156. flex: 1;
  157. background: #ffffff;
  158. display: flex;
  159. justify-content: space-between;
  160. align-items: center;
  161. width: 70%;
  162. margin: 10PX 0 10PX 10PX;
  163. border: 1px solid #1D6FE9;
  164. padding: 1PX 1PX 1PX 12PX ;
  165. border-radius: 8PX;
  166. input{
  167. flex: 1;
  168. background: transparent;
  169. }
  170. }
  171. }
  172. .cf{
  173. padding: 0 3%;
  174. margin-top: 20PX;
  175. margin-bottom: 20PX;
  176. .van-row{
  177. background: #F0F3F5;
  178. .van-col{
  179. padding: 5PX 0;
  180. font-size: 12PX!important;
  181. text-align: center;
  182. p{
  183. color: #1D6FE9;
  184. }
  185. }
  186. &:first-child{
  187. background: transparent;
  188. }
  189. }
  190. }
  191. .header_main{
  192. height: 116px;
  193. background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
  194. background-size: 100% 100%;
  195. position: fixed;
  196. top: 0;
  197. left: 0;
  198. width: 100%;
  199. font-size: 36px;
  200. line-height: 116px;
  201. text-align: center;
  202. color: #fff;
  203. z-index: 999;
  204. .return_btn{
  205. width: 24px;
  206. height: 43.2px;
  207. background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
  208. background-size: 20px 36px;
  209. position: absolute;
  210. left: 38px;
  211. top: 36px;
  212. }
  213. .add_btn{
  214. width: 56.4px;
  215. height: 40.8px;
  216. background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
  217. background-size: 47px 34px;
  218. position: absolute;
  219. right: 38px;
  220. top: 36px;
  221. }
  222. }
  223. /deep/ .van-radio--horizontal{
  224. margin-left: 0.32rem;
  225. margin-right: 0;
  226. }
  227. .peopleList{
  228. padding: 3%;
  229. text-align: center;
  230. .van-row{
  231. margin-bottom: 10PX;
  232. background: rgba(196,218,249,0.3);
  233. border-radius: 5PX;
  234. .van-col{
  235. text-align: center;
  236. font-size: 14PX;
  237. color: #333333;
  238. padding: 5PX 0;
  239. }
  240. }
  241. .peoplett{
  242. background: none;
  243. .van-col{
  244. padding: 0;
  245. color: #1D6FE9;
  246. }
  247. }
  248. }
  249. .main_title{
  250. font-size: 0.4rem;
  251. color: #1D6FE9;
  252. margin: 0.2rem 6%;
  253. margin-top: 0;
  254. position: relative;
  255. }
  256. .main_box{
  257. width: 96%;
  258. margin: 0 auto;
  259. border-radius: 10PX;
  260. box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  261. overflow: hidden;
  262. background-color: #FFF;
  263. .van-icon{
  264. vertical-align: middle;
  265. }
  266. .custom-title{
  267. font-size: 17PX;
  268. color: #333333;
  269. vertical-align: middle;
  270. line-height: 1;
  271. position: relative;
  272. }
  273. .tap{
  274. color: #1D6FE9;
  275. }
  276. .bgBlue{
  277. display: block;
  278. position: absolute;
  279. width: 17PX;
  280. height: 17PX;
  281. border-radius: 50%;
  282. background-color: rgba(29,111,233,0.26);
  283. top: -2PX;
  284. right: -8PX;
  285. }
  286. }
  287. .submitButton{
  288. width: 45%;
  289. margin: 0 auto;
  290. background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
  291. text-align: center;
  292. color: #ffffff;
  293. height: 70px;
  294. line-height: 70px;
  295. border-radius: 8PX;
  296. margin-top: 25PX;
  297. }
  298. .addFamily{
  299. position: absolute;
  300. top: -2px;
  301. right: 0;
  302. border-radius: 50%;
  303. }
  304. </style>