index.axml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. <import-sjs from='../../utils/index/utils.sjs' name='util'>
  2. <view class="page">
  3. <view class="{{isPortraitScreen?'portrait-main':'main'}}" onTap="closeCauseMatter">
  4. <top-title ref="saveRef" countdown="{{snDisposition.chooseVisiteeTimeout}}" onFinish="finish" />
  5. <!-- <top-title ref="saveRef" countdown="99999" onFinish="finish" />-->
  6. <view class="interviewee-content">
  7. <!-- 访客信息 -->
  8. <view class="interviewee-content-left">
  9. <view class="tit-box">访客信息</view>
  10. <view class="userInfo-box">
  11. <image
  12. a:if="{{ remainingInfo.avatar }}"
  13. class="avatar"
  14. mode="scaleToFill"
  15. src="{{remainingInfo.avatar.indexOf('http')>-1?remainingInfo.avatar:'data:image/png;base64,'+remainingInfo.avatar}}"
  16. />
  17. <image
  18. a:elif="{{ !remainingInfo.avatar }}"
  19. class="avatar"
  20. mode="scaleToFill"
  21. src="{{remainingInfo.idCardPhoto.indexOf('http')>-1?remainingInfo.idCardPhoto:'data:image/png;base64,'+remainingInfo.idCardPhoto}}"
  22. />
  23. <view class="avatar" a:elif="{{ !remainingInfo.idCardPhoto }}">
  24. </view>
  25. <view class="info-box">
  26. <view>
  27. {{ util.desensitization(remainingInfo.visitorName, 1, 2,'VisitorLog',1,snDisposition.registerNotDesensitizedColumn)}}
  28. </view>
  29. <view>
  30. {{util.desensitization(remainingInfo.visitorIdCard, 6, 14,'VisitorLog',2,snDisposition.registerNotDesensitizedColumn)}}
  31. </view>
  32. <view class="userInfo-phone" onTap="closeCanNot">
  33. <!-- 手机号 -->
  34. <input
  35. type="number"
  36. class="phone-input"
  37. value="{{remainingInfo.visitorPhone}}"
  38. onInput="getValue"
  39. data-type="visitorPhone"
  40. maxlength="11"
  41. />
  42. <image class="phone-icon" mode="scaleToFill" src="https://tx.hz-hanghui.com:8088/yx-fyzd/file/upload/imagesnew/static/interviewee/phone.png" />
  43. </view>
  44. </view>
  45. </view>
  46. <view class="remainingInfo-box">
  47. <view class="box-item" onTap="closeCanNot">
  48. <text>单位</text>
  49. <input
  50. class="input"
  51. value="{{remainingInfo.visitorUnit}}"
  52. onInput="getValue"
  53. placeholder="请输入单位名称"
  54. placeholder-class="input-pl"
  55. data-type="visitorUnit"
  56. />
  57. </view>
  58. <view class="box-item">
  59. <text>车牌</text>
  60. <view class='input hei' onTap="backKeyboard" disabled="{{canNotChange}}">
  61. <block a:for="{{8}}">
  62. <text class="{{carnum.length==index?'carnum-blue':''}}">
  63. {{carnum.split('')[index]}}
  64. </text>
  65. </block>
  66. </view>
  67. </view>
  68. <view class="box-item" onTap="closeCanNot">
  69. <text>人数</text>
  70. <input
  71. type="number"
  72. placeholder-class="input-pl"
  73. class="input"
  74. value="{{remainingInfo.peopleNum}}"
  75. onInput="getValue"
  76. data-type="peopleNum"
  77. />
  78. </view>
  79. <view class="box-item" onTap="closeCanNot">
  80. <text>事由</text>
  81. <view class="input {{ !remainingInfo.causeMatterName? 'input-pl': ''}}" catchTap="openChoose" >
  82. {{remainingInfo.causeMatterName ? remainingInfo.causeMatterName : '请选择事由'}}
  83. </view>
  84. <view a:if="{{ isShowCauseMatter }}" class="select-area">
  85. <view a:if="{{causeMatterList.length>0}}">
  86. <view
  87. a:for="{{ causeMatterList }}"
  88. class="item"
  89. catchTap="getCauseMatterVal"
  90. data-item="{{item}}"
  91. >
  92. {{item}}
  93. </view>
  94. </view>
  95. <view a:else class="item">暂无数据~</view>
  96. </view>
  97. </view>
  98. </view>
  99. </view>
  100. <!-- 手动输入受访人 -->
  101. <view a:if="{{ isEnterInterviewee}}" class="interviewee-content-right">
  102. <!-- 顶部 -->
  103. <view class="flex2">
  104. <view class="tit-box">受访人</view>
  105. <view class="manual-operation magnify" onTap="chooseInterviewee">选择受访人</view>
  106. </view>
  107. <view class="enter flex1">
  108. <view a:for="{{ searchList}}" class="enter-item flex2" a:key="index">
  109. <text>{{item.name}}</text>
  110. <input
  111. a:if="{{ item.name!='楼层' }}"
  112. placeholder="{{item.placeholder}}"
  113. placeholder-class="enter-input-placeholder"
  114. class="enter-input input-shadow"
  115. value="{{intervieweeForm[item.value]}}"
  116. data-type="{{item.value}}"
  117. onInput="getIntervieweeValue"
  118. />
  119. <view
  120. a:if="{{ item.name=='楼层' && intervieweeForm[item.value].length==0 }}"
  121. class="enter-input input-shadow enter-input-placeholder"
  122. onTap="openFloor"
  123. >
  124. {{item.placeholder}}
  125. </view>
  126. <view
  127. a:if="{{ item.name=='楼层' && intervieweeForm[item.value].length > 0 }}"
  128. class="enter-input input-shadow"
  129. onTap="openFloor"
  130. >
  131. {{intervieweeForm[item.value]}}
  132. </view>
  133. </view>
  134. </view>
  135. <!--清空重填 -->
  136. <view class="enter-clear magnify" onTap="clearIntervieweeValue">
  137. 清空重填
  138. </view>
  139. </view>
  140. <!-- 选择受访人 -->
  141. <view a:if="{{ !isEnterInterviewee}}" class="interviewee-content-right">
  142. <!-- 顶部 -->
  143. <view class="right-top">
  144. <view class="right-top-tit">
  145. <view class="tit-box">受访人</view>
  146. <view class="manual-operation magnify" onTap="chooseInterviewee">手动输入</view>
  147. </view>
  148. <view class="right-top-screen">
  149. <view a:if="{{ !isShowSearch && searchForm.floor }}" class="floor">
  150. {{searchForm.floor}}层
  151. </view>
  152. <view class="screen" onTap="getIsShow">
  153. 筛选
  154. <image
  155. a:if="{{ !isShowSearch }}"
  156. class="hidden-icon"
  157. mode="scaleToFill"
  158. src="https://tx.hz-hanghui.com:8088/yx-fyzd/file/upload/imagesnew/static/interviewee/hidden.png"
  159. />
  160. <image
  161. a:if="{{ isShowSearch }}"
  162. class="hidden-icon"
  163. mode="scaleToFill"
  164. src="https://tx.hz-hanghui.com:8088/yx-fyzd/file/upload/imagesnew/static/interviewee/show.png"
  165. />
  166. </view>
  167. </view>
  168. </view>
  169. <!-- 搜索 -->
  170. <!-- a:if="{{ isShowSearch }}"-->
  171. <view class="search-content {{!isShowSearch ? 'search-content-min' : 'search-content-max'}}">
  172. <!-- 搜索项 -->
  173. <view class="content-top">
  174. <view
  175. a:for="{{searchList}}"
  176. a:if="{{ item.show }}"
  177. class="search-item"
  178. a:key="index"
  179. >
  180. <text>{{item.name}}</text>
  181. <input
  182. placeholder="{{item.placeholder}}"
  183. placeholder-class="search-input-placeholder"
  184. class="search-input input-shadow"
  185. value="{{searchForm[item.value]}}"
  186. data-type="{{item.value}}"
  187. onInput="getSearchValue"
  188. />
  189. </view>
  190. </view>
  191. <!-- 搜索按钮 -->
  192. <view class="search-btn">
  193. <view class="click-search magnify" onTap="inquireFun">
  194. 查询
  195. </view>
  196. <view class="click-clear magnify" onTap="clearFun">
  197. 清空
  198. </view>
  199. </view>
  200. </view>
  201. <!-- 楼层层数 -->
  202. <view class="right-floor">
  203. <view
  204. a:for="{{ floorNum }}"
  205. class="right-floor-item magnify"
  206. a:key="index"
  207. onTap="chooseFloor"
  208. data-item="{{item}}"
  209. >
  210. {{item}}
  211. </view>
  212. <view class="right-floor-item magnify" onTap="delFloor">
  213. 返回
  214. </view>
  215. </view>
  216. <!-- 楼层详情 -->
  217. <view class="floor-detail flex2">
  218. <view
  219. a:for="{{ tableList }}"
  220. class="floor-detail-item"
  221. a:key="index"
  222. onTap="chooesFloor"
  223. onTouchstart="touchStart"
  224. onTouchend="touchEnd"
  225. data-item="{{item}}"
  226. >
  227. <view>
  228. {{item.floor}}
  229. </view>
  230. <view>
  231. {{item.showTitle}}
  232. </view>
  233. </view>
  234. </view>
  235. <!-- 页数 -->
  236. <view class="num-page">
  237. <view class="previous magnify" onTap="previousFun">上一页</view>
  238. <view class="total">
  239. {{pageSize}}/{{pageNum}}
  240. </view>
  241. <view class="next magnify" onTap="nextFun">下一页</view>
  242. </view>
  243. </view>
  244. <!-- 楼层多选 -->
  245. <view a:if="{{ isShowfloor }}" class="floor-box">
  246. <view class="floor-tit">
  247. 楼层选择
  248. </view>
  249. <view class="floor-content">
  250. <view class="box-content">
  251. <view class="floor-item">
  252. <!-- choose-floor-item -->
  253. <view
  254. a:for="{{ allFloorList }}"
  255. class="{{ util.floorCss(index,chooseFloorIndex)}}"
  256. onTap="multipleChoiceFloor"
  257. data-index="{{index}}"
  258. data-item="{{item}}"
  259. >
  260. {{item.actualityFloor}}
  261. </view>
  262. </view>
  263. <view class="floor-btn">
  264. <view class="floor-btn-css floor-cancel" onTap="floorCancel">取消</view>
  265. <view class="floor-btn-css floor-sure" onTap="floorSure">确定</view>
  266. </view>
  267. </view>
  268. <view class="selected-floor">
  269. <view
  270. a:for="{{ chooseFloorItem }}"
  271. class="selected-floor-item"
  272. onTap="delmultipleChoiceFloor"
  273. data-index="{{index}}"
  274. >
  275. {{item }}
  276. <image class="delete-icon" mode="scaleToFill" src="../../image/delete-icon.png" />
  277. </view>
  278. </view>
  279. </view>
  280. </view>
  281. <!-- 键盘结构 -->
  282. <view class="keyboard" hidden="{{hiddenPro&&hiddenStr}}" catchTap="stopPropagation">
  283. <view class="keyboard-tit">
  284. 车牌选择
  285. </view>
  286. <view class="keyboard-mini">
  287. <!-- 限制键盘 -->
  288. <!-- 省键盘 -->
  289. <view class="provinces" hidden="{{hiddenPro}}">
  290. <view
  291. a:for="{{provinceArr}}"
  292. class="pro-li"
  293. catchTap="proTap"
  294. data-province="{{item}}"
  295. >
  296. {{item}}
  297. </view>
  298. </view>
  299. <!-- 号码键盘 -->
  300. <view class="keyNums" hidden="{{hiddenStr}}">
  301. <view
  302. a:for="{{strArr}}"
  303. class="pro-li"
  304. :key="{{index}}"
  305. catchTap="strTap"
  306. disabled="{{strDisabled||(notNum&&index<10)}}"
  307. data-str="{{item}}"
  308. >
  309. {{item}}
  310. </view>
  311. </view>
  312. <!-- 提交按钮 -->
  313. <view class="kb-btn-box">
  314. <view class="kb-delete-btn" catchTap="backSpace">删除</view>
  315. <view
  316. class="kb-sure-btn {{downBtn=='完成'?'down-blue':''}}"
  317. catchTap="applyNum"
  318. >
  319. {{downBtn}}
  320. </view>
  321. </view>
  322. </view>
  323. </view>
  324. </view>
  325. <bottom-parnel suerName="确定" onSure="sure" isCustomBack="{{true}}" onBack="back" />
  326. </view>
  327. </view>