authenticationSearch.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. <template>
  2. <view class="page">
  3. <!-- 公共组件-每个页面必须引入 -->
  4. <public-module></public-module>
  5. <service-widget @btnClick="btn_click"></service-widget>
  6. <view class="headers " :style="headerStyle">
  7. <view class="dis a-c j-start ">
  8. <u-icon name="arrow-left" size="40" @tap="back"></u-icon>
  9. <u-search v-model="pageRequest.criteria" @search="search" @custom="custom" :shape="shape" :height='68'
  10. bg-color="#E8E8E9" color="#000" :input-style="{background:'transparent'}" margin=" 0 0 0 30rpx"
  11. placeholder-color="rgba(51,51,51,0.6)" :clearabled="clearabled" :show-action="showAction"
  12. :input-align="inputAlign" @clear="clear" :action-style="{background:'#fff'}"
  13. placeholder="请输入工号、姓名、手机号查询"></u-search>
  14. </view>
  15. </view>
  16. <view style="padding: 114px 16px 50px 16px;">
  17. <view class="Paging dis f-c " v-for="(item,index) in list" :key="index">
  18. <view class="pa-title dis a-c"
  19. :style="{background:item.status==1?'linear-gradient( 90deg, #F5F7FF 0%, #E4EBFF 100%)':'linear-gradient( 90deg, #FDF9F4 0%, #FFF1E0 100%)',borderBottom:item.status==1?'1px solid #E7EFFF':'1px solid #FFF1E7'}">
  20. <view class="colorBlock dis a-c j-c " :style="{background:item.status==1?'#3D7BFE':'#FF984E'}">
  21. <text>{{item.status==1?'认证通过':'申请加入'}}</text>
  22. </view>
  23. <text :style="{color:item.status==1?'#3D7BFE':'#E37D34'}">{{item.updateTime}}</text>
  24. </view>
  25. <view class="pa-cent dis f-c " @click.stop="detail(item)">
  26. <view class="title dis a-c j-s">
  27. <view class="dis a-c">
  28. <text>{{item.name}}</text>
  29. <image v-if="item.levelName=='一级代理'" src="../../../static/image/team/proxy1.png" mode="">
  30. </image>
  31. <image v-if="item.levelName=='二级代理'" src="../../../static/image/team/proxy3.png" mode="">
  32. </image>
  33. <image v-if="item.levelName=='三级代理'" src="../../../static/image/team/proxy2.png" mode="">
  34. </image>
  35. <image v-if="item.levelName=='临时代理'" src="../../../static/image/team/proxy4.png" mode="">
  36. </image>
  37. </view>
  38. <u-icon name="arrow-right" color="#C7C6CA" size="26"></u-icon>
  39. </view>
  40. <text>工号:{{item.id}}</text>
  41. <view class="dis j-s a-c">
  42. <text>手机号:{{item.mobile}}</text>
  43. <view class="callPhone dis a-c j-c" @click.stop="callPhone(item.mobile)">
  44. <text>联系TA</text>
  45. </view>
  46. <!-- <image src="../../../static/image/addStaff/phone.png" mode="" >
  47. </image> -->
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. </view>
  53. </template>
  54. <script>
  55. import {
  56. mapState
  57. } from "vuex"
  58. export default {
  59. data() {
  60. return {
  61. userAuthType: [{
  62. name: '全部'
  63. }, {
  64. name: '未认证'
  65. }, {
  66. name: '认证通过'
  67. },
  68. {
  69. name: '认证驳回'
  70. }
  71. ],
  72. current: 0,
  73. headerStyle: {
  74. backgroundColor: '',
  75. backgroundImage: '',
  76. backgroundSize: '',
  77. backgroundPosition: '',
  78. boxShadow: ''
  79. // 其他样式属性...
  80. },
  81. shape: 'square',
  82. clearabled: true,
  83. showAction: true,
  84. inputAlign: 'left',
  85. pageRequest: { //查询的默认条件
  86. pageNum: 1,
  87. pageSize: 20,
  88. authenticationStatus: null,
  89. criteria: "",
  90. },
  91. list: [],
  92. status: 'loadmore',
  93. totalPages: 0, //订单总页数
  94. }
  95. },
  96. onLoad() {},
  97. computed: {
  98. ...mapState(['userInfo', 'sources']),
  99. },
  100. methods: {
  101. btn_click() {
  102. uni.navigateTo({
  103. url: '/pages/chat/chat'
  104. })
  105. },
  106. async querylist() {
  107. let res = await this.$http.post('/app/customer/authenticationQuery', this.pageRequest);
  108. if (res.code == '200') {
  109. this.list = res.data.content;
  110. this.totalPages = res.data.totalPages;
  111. }
  112. },
  113. detail(item) {
  114. this.navigate({
  115. url: '/pages/tools/addStaff/authenticationdetails?id=' + item.id + "&status=" + item.status
  116. }, "navigateTo", true);
  117. },
  118. callPhone(tel) {
  119. uni.makePhoneCall({
  120. phoneNumber: tel,
  121. success: () => {
  122. console.log("成功拨打电话")
  123. }
  124. })
  125. },
  126. //页面返回按钮
  127. back() {
  128. uni.navigateBack({
  129. delta: 1, // 返回的页面数,如果是1表示返回上一页
  130. success: function() {}
  131. });
  132. },
  133. custom(val) {
  134. this.querylist();
  135. },
  136. //回车搜索事件
  137. search(val) {
  138. this.querylist();
  139. },
  140. //搜索按钮事件
  141. clear(val) {
  142. this.list = [];
  143. this.pageRequest.criteria = "";
  144. },
  145. }
  146. }
  147. </script>
  148. <style lang="scss" scoped>
  149. page {
  150. background-color: #F8FAFE;
  151. height: 100%;
  152. }
  153. .active {
  154. position: relative;
  155. background: rgba(0, 82, 255, 0.1);
  156. color: #0052FF;
  157. border: 1px solid #0052FF;
  158. font-weight: 700;
  159. }
  160. .term {
  161. height: 100%;
  162. .title {
  163. font-size: 14px;
  164. font-weight: bold;
  165. color: #232832;
  166. padding: 10px 0;
  167. border-bottom: 1px solid #f2f2f2;
  168. }
  169. >text {
  170. font-size: 13px;
  171. font-weight: bold;
  172. color: #232832;
  173. margin-bottom: 10px;
  174. }
  175. .status-data {
  176. padding: 4px 10px;
  177. box-sizing: border-box;
  178. margin-right: 10px;
  179. font-size: 12px;
  180. border: 1px solid #eee;
  181. cursor: pointer;
  182. }
  183. .operateBtn {
  184. font-weight: bold;
  185. font-size: 16px;
  186. .cancel {
  187. width: 50%;
  188. height: 46px;
  189. color: #0052FF;
  190. background-color: #EAEAEA;
  191. }
  192. .confirm {
  193. width: 50%;
  194. height: 46px;
  195. color: #fff;
  196. background-color: #0052FF;
  197. }
  198. }
  199. }
  200. .search {
  201. width: 100%;
  202. .numberOfPeople {
  203. text {
  204. width: 25%;
  205. text-align: center;
  206. font-weight: 500;
  207. font-size: 14px;
  208. color: #333;
  209. }
  210. }
  211. }
  212. .headers {
  213. position: fixed;
  214. top: 0;
  215. left: 0;
  216. height: auto;
  217. width: 100%;
  218. z-index: 999999;
  219. padding: 50px 16px 16px;
  220. height: auto;
  221. background: #fff;
  222. text {
  223. font-size: 18px;
  224. font-weight: bold;
  225. color: #000;
  226. }
  227. }
  228. .Paging {
  229. background: #FFFFFF;
  230. border-radius: 4px;
  231. border-bottom: 1px solid #E7EFFF;
  232. margin-bottom: 10px;
  233. .pa-title {
  234. background: linear-gradient(90deg, #FDF9F4 0%, #FFF1E0 100%);
  235. border-radius: 4px 4px 0px 0px;
  236. border-bottom: 1px solid #FFF1E7;
  237. .colorBlock {
  238. background: #FF984E;
  239. border-radius: 4px 0px 4px 0px;
  240. color: #fff;
  241. font-size: 12px;
  242. margin-right: 6px;
  243. padding: 3px 8px;
  244. }
  245. >text {
  246. font-size: 12px;
  247. color: #E37D34;
  248. }
  249. }
  250. .pa-cent {
  251. padding: 10px;
  252. .title {
  253. text {
  254. font-size: 16px;
  255. color: #333;
  256. font-weight: bold;
  257. }
  258. image {
  259. width: 49px;
  260. height: 17px;
  261. margin-left: 8px;
  262. }
  263. }
  264. >text {
  265. font-size: 14px;
  266. color: #666;
  267. }
  268. .callPhone {
  269. background: linear-gradient(90deg, #3793FF 0%, #0075FF 100%);
  270. box-shadow: 0px 2px 2px 0px rgba(0, 178, 255, 0.15);
  271. border-radius: 4px;
  272. padding: 2px 6px;
  273. color: #fff;
  274. font-size: 12px;
  275. }
  276. }
  277. }
  278. </style>