tb-driver-add.html 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>司机-添加/修改</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8. <!-- 所有的 css js 资源 -->
  9. <link rel="stylesheet" href="https://unpkg.com/element-ui@2.13.0/lib/theme-chalk/index.css">
  10. <link rel="stylesheet" href="../../static/sa.css">
  11. <script src="../../static/kj/vue.min.js"></script>
  12. <script src="../../static/kj/element-ui/index.js"></script>
  13. <script src="../../static/kj/httpVueLoader.js"></script>
  14. <script src="../../static/kj/jquery.min.js"></script>
  15. <script src="../../static/kj/layer/layer.js"></script>
  16. <script src="../../static/sa.js"></script>
  17. <script src="../../static/kj/upload-util.js"></script>
  18. <script src="../../static/kj/citydata.js"></script>
  19. <script src="../../static/kj/validator.js"></script>
  20. <style type="text/css">
  21. .c-panel .el-form .c-label {
  22. width: 7em !important;
  23. }
  24. .c-panel .el-form .el-input,
  25. .c-panel .el-form .el-textarea__inner {
  26. width: 250px;
  27. }
  28. table {
  29. font-family: arial, sans-serif;
  30. border-collapse: collapse;
  31. width: 90%;
  32. margin-top: 22px;
  33. margin-left: auto;
  34. margin-right: auto;
  35. }
  36. th {
  37. border: 1px solid darkgray;
  38. text-align: left;
  39. height: 22px;
  40. padding: 8px;
  41. background-color: #dddddd;
  42. }
  43. td {
  44. border: 1px solid darkgray;
  45. text-align: left;
  46. padding: 8px;
  47. }
  48. .image-box{ display: flex;}
  49. </style>
  50. </head>
  51. <body>
  52. <div class="vue-box" :class="{sbot: id}" style="display: none;" :style="'display: block;'">
  53. <!-- ------- 内容部分 ------- -->
  54. <div class="s-body">
  55. <div class="c-panel">
  56. <div class="c-title" v-if="id == 0">添加司机</div>
  57. <div class="c-title" v-else>修改司机</div>
  58. <el-form v-if="m">
  59. <table>
  60. <tr>
  61. <th><label style="color: red">*</label>司机姓名</th>
  62. <td>
  63. <el-input size="mini" v-model="m.name"></el-input>
  64. </td>
  65. <th><label style="color: red">*</label>性别</th>
  66. <td>
  67. <sa-item type="enum" v-model="m.sex" :jv="{1: '男', 2: '女'}" jtype="3"></sa-item>
  68. </td>
  69. </tr>
  70. <tr>
  71. <th><label style="color: red">*</label>身份证号</th>
  72. <td>
  73. <el-input size="mini" v-model="m.idCard"></el-input>
  74. </td>
  75. <th>出生日期</th>
  76. <td>
  77. <el-date-picker
  78. v-model="m.birthday"
  79. type="date"
  80. format="yyyy-MM-dd"
  81. value-format="yyyy-MM-dd"
  82. placeholder="选择日期">
  83. </el-date-picker>
  84. </td>
  85. </tr>
  86. <tr>
  87. <th><label style="color: red">*</label>手机号码</th>
  88. <td>
  89. <el-input size="mini" v-model="m.phone"></el-input>
  90. </td>
  91. <th>联系地址</th>
  92. <td>
  93. <el-input size="mini" v-model="m.address"></el-input>
  94. </td>
  95. </tr>
  96. <tr>
  97. <th><label style="color: red">*</label>驾照类型</th>
  98. <td>
  99. <el-select v-model="m.driverType" size="mini">
  100. <el-option label="A2(重型牵引挂车)" value="6"></el-option>
  101. <el-option label="B2(大型货车)" value="7"></el-option>
  102. <el-option label="C1(小型汽车)" value="19"></el-option>
  103. <el-option label="C2(小型自动挡汽车)" value="20"></el-option>
  104. </el-select>
  105. </td>
  106. <th>驾驶证号</th>
  107. <td>
  108. <el-input size="mini" v-model="m.drivingLicenseId"></el-input>
  109. </td>
  110. </tr>
  111. <tr>
  112. <th><label style="color: red">*</label>身份证照片</th>
  113. <td>
  114. <sa-item type="img-list" v-model="m.idCardImg" ></sa-item>
  115. </td>
  116. <th><label style="color: red">*</label>驾驶证照片</th>
  117. <td>
  118. <sa-item type="img-list" v-model="m.drivingLicenseImg"></sa-item>
  119. </td>
  120. </tr>
  121. </table>
  122. <sa-item name="" class="s-ok" br>
  123. <el-button type="primary" icon="el-icon-plus" @click="ok()">保存</el-button>
  124. </sa-item>
  125. </el-form>
  126. </div>
  127. </div>
  128. <!-- ------- 底部按钮 ------- -->
  129. <div class="s-foot">
  130. <el-button type="primary" @click="ok()">确定</el-button>
  131. <el-button @click="sa.closeCurrIframe()">取消</el-button>
  132. </div>
  133. </div>
  134. <script>
  135. var app = new Vue({
  136. components: {
  137. "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue')
  138. },
  139. el: '.vue-box',
  140. data: {
  141. id: sa.p('id', 0), // 获取超链接中的id参数(0=添加,非0=修改)
  142. m: null, // 实体对象
  143. cityOptions: citydata
  144. },
  145. methods: {
  146. // 创建一个 默认Model
  147. createModel: function () {
  148. return {
  149. name: '', // 姓名
  150. age: '', // 年龄
  151. sex: '', // 性别性别(1=男,2=女)
  152. phone: '', // 手机号
  153. address: '', // 联系地址
  154. // bankCode: '', // 银行卡号
  155. // bankName: '', // 银行名称
  156. idCard: '', // 身份证号
  157. // idCardImg: '', // 身份证照片
  158. drivingLicenseId: '', // 驾驶证号
  159. drivingLicenseImg: '', // 驾驶证照片
  160. vehicleDrivingId: '', // 车辆行驶证号
  161. vehicleDrivingImg: '', // 车辆行驶证照片
  162. vehicleImg: '', // 车辆前脸照
  163. // registerTime: '', // 注册时间
  164. // isLock: '', // 是否被锁定
  165. // deleteStatus: '', // 删除状态
  166. // auditStatus: '', // 审核状态(0=待审核,1=已通过,2=不通过)
  167. // auditBy: '', // 审核人
  168. // auditTime: '', // 审核时间
  169. // nopassReason: '', // 审核不通过原因
  170. }
  171. },
  172. // 提交数据
  173. ok: function () {
  174. // 表单校验
  175. let m = this.m;
  176. sa.checkNull(m.name, '请输入 [姓名]');
  177. sa.checkNull(m.sex, '请输入 [性别]');
  178. sa.checkNull(m.idCard, '请输入 [身份证号]');
  179. //sa.checkNull(m.birthday, '请输入 [出生日期]');
  180. sa.checkNull(m.phone, '请输入 [手机号]');
  181. //sa.checkNull(m.address, '请输入 [联系地址]');
  182. // sa.checkNull(m.bankCode, '请输入 [银行卡号]');
  183. // sa.checkNull(m.bankName, '请输入 [银行名称]');
  184. sa.checkNull(m.driverType, '请输入 [驾照类型]');
  185. //sa.checkNull(m.drivingLicenseId, '请输入 [驾驶证号]');
  186. sa.checkNull(m.idCardImg, '请上传 [身份证照片]');
  187. sa.checkNull(m.drivingLicenseImg, '请上传 [驾驶证照片]');
  188. if(validateIDCard(m.idCard)==false){
  189. sa.errorMsg('身份证号格式不正确'); return;
  190. }
  191. if(checkBirthMatch(m.idCard, m.birthday)==false){
  192. sa.errorMsg('出生日期与身份证信息不一致'); return;
  193. }
  194. if(validatePhone(m.phone)==false){
  195. sa.errorMsg('手机号格式不正确'); return;
  196. }
  197. ///if(!/^\d{12}$/.test(m.drivingLicenseId)) {
  198. // sa.alert('请输入12位驾驶证号'); return;
  199. //}
  200. // 开始增加或修改
  201. // this.m.createTime = undefined; // 不提交属性创建时间
  202. // this.m.updateTime = undefined; // 不提交属性更新时间
  203. if (this.id <= 0) { // 添加
  204. sa.ajax('/transport-server/TbDriver/add', m, function (res) {
  205. sa.alert('添加成功', this.clean);
  206. }.bind(this));
  207. } else { // 修改
  208. sa.confirm('信息修改后需要重新审核,您确定要修改吗?', function () {
  209. sa.ajax('/transport-server/TbDriver/update', m, function (res) {
  210. sa.alert('信息已修改,待审核!', this.clean);
  211. }.bind(this));
  212. }.bind(this));
  213. }
  214. },
  215. // 添加/修改 完成后的动作
  216. clean: function () {
  217. if (this.id == 0) {
  218. this.m = this.createModel();
  219. } else {
  220. parent.app.f5(); // 刷新父页面列表
  221. sa.closeCurrIframe(); // 关闭本页
  222. }
  223. }
  224. },
  225. mounted: function () {
  226. // 初始化数据
  227. if (this.id <= 0) {
  228. this.m = this.createModel();
  229. } else {
  230. sa.ajax('/transport-server/TbDriver/getById?id=' + this.id, function (res) {
  231. this.m = res.data;
  232. if (res.data == null) {
  233. sa.alert('未能查找到 id=' + this.id + " 详细数据");
  234. }else if(res.data.auditStatus==3){
  235. sa.alert('该司机当前审核中,不能修改');
  236. //this.clean();
  237. }
  238. }.bind(this))
  239. }
  240. }
  241. })
  242. </script>
  243. </body>
  244. </html>