car-edit.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. layui.extend({
  2. common : 'js/common',
  3. xmSelect : 'layui/dist/xm-select',
  4. }).use(['jquery','layer','common','form','upload','xmSelect'],function () {
  5. // Jquery插件
  6. var $ = layui.jquery;
  7. // 弹窗插件
  8. var layer = layui.layer;
  9. // 引入表单插件
  10. var form = layui.form;
  11. // 引入公共模块
  12. var common = layui.common;
  13. // 图片上传
  14. var upload = layui.upload;
  15. // 引入下拉列表组件
  16. var xmSelect = layui.xmSelect;
  17. //定义加载层id
  18. var loadId;
  19. //图片服务器地址
  20. var fastDfsServer = $('#fastDfsServer').val();
  21. // 页面数据
  22. var pageData = {
  23. residentialList : {},
  24. residentialNode : $('#residential_id'),
  25. };
  26. layui.form.verify({
  27. specialCharacters : function (value) {
  28. if(!/^[a-zA-Z0-9_\u4e00-\u9fa5\s·]+$/.test(value)){
  29. return '名称不能有特殊字符';
  30. }
  31. if(/(^\_)|(\__)|(\_+$)/.test(value)){
  32. return '名称首尾不能出现下划线\'_\'';
  33. }
  34. if(/^\d+\d+\d$/.test(value)){
  35. return '名称不能全为数字';
  36. }
  37. },
  38. length : function (value) {
  39. if (value.length <2 || value.length > 20){
  40. return '名称只能输入2-20个字符!'
  41. }
  42. },
  43. cardNum : function (value) {
  44. if (value != ''){
  45. if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)){
  46. return '请输入正确的身份证号码!'
  47. }
  48. }
  49. },
  50. phoneNum : function (value) {
  51. if(value != ''){
  52. // if(!/^1[3|4|5|7|8]\d{9}$/.test(value)){
  53. if(value.length != 11){
  54. return '请输入正确的手机号码!';
  55. }
  56. }
  57. },
  58. });
  59. //监听提交
  60. form.on('submit(submit_button)', function(data){
  61. common.timer($('button[lay-filter="submit_button"]'));
  62. common.sendAsyncRequest("/estate/car/edit",'POST',data.field,callbackFn);
  63. });
  64. //回调函数
  65. function callbackFn(result) {
  66. if(result.data){
  67. layer.msg("修改成功",{
  68. time: 500,
  69. shade : [0.1 , '#000' , true]
  70. },function () {
  71. //获取当前弹窗出层的名字
  72. var index = parent.layer.getFrameIndex(window.name);
  73. //关闭弹窗层
  74. parent.layer.close(index);
  75. // 父页面刷新
  76. parent.location.reload();
  77. });
  78. }else {//修改失败
  79. layer.msg("修改失败");
  80. }
  81. };
  82. //取消按钮
  83. $('#cancel_btn').on("click",function(){
  84. //获取当前弹窗出层的名字
  85. var index = parent.layer.getFrameIndex(window.name);
  86. //关闭弹窗层
  87. parent.layer.close(index);
  88. });
  89. //多图片上传
  90. upload.render({
  91. elem: '#passport_upload'
  92. ,url: '/common/file/upload'
  93. ,exts: 'jpg|png|jpeg'
  94. ,accept: 'images' //图片
  95. ,before: function(obj){
  96. $('#passport_upload').prev('.avatar').remove();
  97. //开启加载动画
  98. loadId = layer.msg('图片上传中', {
  99. icon: 16,
  100. shade: 0.4,
  101. time:false //取消自动关闭
  102. });
  103. }
  104. ,done: function(res){ //上传完毕
  105. //关闭加载动画
  106. layer.close(loadId);
  107. if(res.code=="200"){//上传成功
  108. $('#passport_upload').before('<div class="avatar" style="display: inline-block;">' +
  109. '<input type="hidden" name="passportImgUri" value="'+res.data.fullPath+'" />' +
  110. '<img src="'+fastDfsServer+ res.data.fullPath +'" class="layui-upload-img" />' +
  111. '</div>');
  112. }else{
  113. layer.msg("图片上传失败");
  114. }
  115. }
  116. ,error: function(){
  117. //关闭加载动画
  118. layer.close(loadId);
  119. layer.msg("图片上传失败");
  120. }
  121. });
  122. //多图片上传
  123. upload.render({
  124. elem: '#entry_upload'
  125. ,url: '/common/file/upload'
  126. ,exts: 'jpg|png|jpeg'
  127. ,accept: 'images' //图片
  128. ,before: function(obj){
  129. $('#entry_upload').prev('.avatar').remove();
  130. //开启加载动画
  131. loadId = layer.msg('图片上传中', {
  132. icon: 16,
  133. shade: 0.4,
  134. time:false //取消自动关闭
  135. });
  136. }
  137. ,done: function(res){ //上传完毕
  138. //关闭加载动画
  139. layer.close(loadId);
  140. if(res.code=="200"){//上传成功
  141. $('#entry_upload').before('<div class="avatar" style="display: inline-block;">' +
  142. '<input type="hidden" name="entryImgUri" value="'+res.data.fullPath+'" />' +
  143. '<img src="'+fastDfsServer+ res.data.fullPath +'" class="layui-upload-img" />' +
  144. '</div>');
  145. }else{
  146. layer.msg("图片上传失败");
  147. }
  148. }
  149. ,error: function(){
  150. //关闭加载动画
  151. layer.close(loadId);
  152. layer.msg("图片上传失败");
  153. }
  154. });
  155. //车辆类型
  156. $.ajax({
  157. type: 'GET',
  158. url: '/permissions/dict/getByCode/car_type',
  159. success: function (result) {
  160. carTypeDic.update({data: result.list}).setValue([$('#typeValue').val()])
  161. },
  162. });
  163. var carTypeDic = xmSelect.render({
  164. el: '#car_type',
  165. name: 'type',
  166. layVerify: 'required',
  167. radio: true,
  168. clickClose: true,
  169. prop: {
  170. name: 'dictValue',
  171. value: 'dictKey',
  172. },
  173. on: function (data) {},
  174. model: {
  175. label: {
  176. type: 'text',
  177. text: {
  178. left: '',
  179. right: '',
  180. separator: ', ',
  181. },
  182. }
  183. },
  184. });
  185. //车辆性质
  186. $.ajax({
  187. type: 'GET',
  188. url: '/permissions/dict/getByCode/car_properties',
  189. success: function (result) {
  190. propertiesDic.update({data: result.list}).setValue([$('#propertiesValue').val()])
  191. },
  192. });
  193. var propertiesDic = xmSelect.render({
  194. el: '#car_properties',
  195. name: 'properties',
  196. layVerify: 'required',
  197. radio: true,
  198. clickClose: true,
  199. prop: {
  200. name: 'dictValue',
  201. value: 'dictKey',
  202. },
  203. on: function (data) {},
  204. model: {
  205. label: {
  206. type: 'text',
  207. text: {
  208. left: '',
  209. right: '',
  210. separator: ', ',
  211. },
  212. }
  213. },
  214. });
  215. //燃油类别
  216. $.ajax({
  217. type: 'GET',
  218. url: '/permissions/dict/getByCode/fuel_category',
  219. success: function (result) {
  220. fuelCategoryDic.update({data: result.list}).setValue([$('#fuelCategoryValue').val()])
  221. },
  222. });
  223. var fuelCategoryDic = xmSelect.render({
  224. el: '#fuel_category',
  225. name: 'fuelCategory',
  226. layVerify: 'required',
  227. radio: true,
  228. clickClose: true,
  229. prop: {
  230. name: 'dictValue',
  231. value: 'dictKey',
  232. },
  233. on: function (data) {},
  234. model: {
  235. label: {
  236. type: 'text',
  237. text: {
  238. left: '',
  239. right: '',
  240. separator: ', ',
  241. },
  242. }
  243. },
  244. });
  245. /* //社区查询下拉列表
  246. var agencySelect = xmSelect.render({
  247. el: '#agency_id',
  248. name: 'agencyId',
  249. layVerify: 'required',
  250. radio: true,
  251. prop: {
  252. name: 'agencyName',
  253. value: 'id',
  254. },
  255. clickClose: true,
  256. paging: true,
  257. pageRemote: true,
  258. filterable: true,
  259. remoteMethod: function (val, cb, show,pageIndex) {
  260. $.ajax({
  261. type: 'GET',
  262. url: '/estate/agency/showAgencyList',
  263. data: {
  264. name : val,
  265. current : pageIndex,
  266. },
  267. success: function (result) {
  268. cb(result.data.records,result.data.pages);
  269. },
  270. error: function () {
  271. cb([],0);
  272. }
  273. });
  274. },
  275. //监听选择
  276. on: function (data) {
  277. var change = data.change;
  278. if (change.length > 0) {
  279. }
  280. if (!data.isAdd) {
  281. }
  282. },
  283. //显示方式
  284. model: {
  285. label: {
  286. type: 'text',
  287. text: {
  288. //左边拼接的字符
  289. left: '',
  290. //右边拼接的字符
  291. right: '',
  292. //中间的分隔符
  293. separator: ', ',
  294. },
  295. }
  296. },
  297. });
  298. //小区查询下拉列表
  299. var residentialSelect = xmSelect.render({
  300. el: '#residential_id',
  301. name: 'residentialId',
  302. layVerify: 'required',
  303. radio: true,
  304. prop: {
  305. name: 'name',
  306. value: 'id',
  307. },
  308. clickClose: true,
  309. paging: true,
  310. pageRemote: true,
  311. filterable: true,
  312. remoteMethod: function (val, cb, show,pageIndex) {
  313. $.ajax({
  314. type: 'GET',
  315. url: '/estate/residential/showResidentialList',
  316. data: {
  317. name : val,
  318. current : pageIndex,
  319. },
  320. success: function (result) {
  321. cb(result.data.records,result.data.pages);
  322. },
  323. error: function () {
  324. cb([],0);
  325. }
  326. });
  327. },
  328. //监听选择
  329. on: function (data) {
  330. var change = data.change;
  331. if (change.length > 0) {
  332. }
  333. if (!data.isAdd) {
  334. }
  335. },
  336. //显示方式
  337. model: {
  338. label: {
  339. type: 'text',
  340. text: {
  341. //左边拼接的字符
  342. left: '',
  343. //右边拼接的字符
  344. right: '',
  345. //中间的分隔符
  346. separator: ', ',
  347. },
  348. }
  349. },
  350. });*/
  351. });