addCarDriver.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <template>
  2. <!-- 添加司机信息 -->
  3. <div class="addWagonLoad">
  4. <PageTitle>返回</PageTitle>
  5. <el-divider content-position="left">司机信息</el-divider>
  6. <div class="form-box" style="margin-right: 10rem">
  7. <dil-form :formId="311" v-model="form1" ref="from1"></dil-form>
  8. </div>
  9. <div class="inputBox">
  10. <span class="text">所属承运商</span>
  11. <el-autocomplete
  12. v-model="state"
  13. @input="onInput"
  14. :fetch-suggestions="querySearch"
  15. placeholder="请输入内容"
  16. :trigger-on-focus="false"
  17. @select="handleSelect"
  18. ></el-autocomplete>
  19. </div>
  20. <div class="photoBox">
  21. <el-upload
  22. class="upload-demo"
  23. action="http://localhost:8080/api/v1/rms/upload"
  24. :on-preview="handlePreview"
  25. :on-remove="handleRemove"
  26. :on-success="handleAvatarSuccess"
  27. :file-list="fileList"
  28. list-type="picture">
  29. <div>行驶证照片
  30. <el-button size="small" type="primary">点击上传</el-button>
  31. </div>
  32. </el-upload>
  33. </div>
  34. <div class="photoBox">
  35. <el-upload
  36. class="upload-demo"
  37. action="http://localhost:8080/api/v1/rms/upload"
  38. :on-preview="handlePreview"
  39. :on-remove="handleRemove"
  40. :on-success="handleAvatarSuccess"
  41. :file-list="fileList"
  42. list-type="picture">
  43. <div>驾驶证照片
  44. <el-button size="small" type="primary">点击上传</el-button>
  45. </div>
  46. </el-upload>
  47. </div>
  48. <div class="photoBox">
  49. <el-upload
  50. class="upload-demo"
  51. action="http://localhost:8080/api/v1/rms/upload"
  52. :on-preview="handlePreview"
  53. :on-remove="handleRemove"
  54. :on-success="handleAvatarSuccess"
  55. :file-list="fileList"
  56. list-type="picture">
  57. <div>运输证照片
  58. <el-button size="small" type="primary">点击上传</el-button>
  59. </div>
  60. </el-upload>
  61. </div>
  62. <div class="photoBox">
  63. <el-upload
  64. class="upload-demo"
  65. action="http://localhost:8080/api/v1/rms/upload"
  66. :on-preview="handlePreview"
  67. :on-remove="handleRemove"
  68. :on-success="handleAvatarSuccess"
  69. :file-list="fileList"
  70. list-type="picture">
  71. <div>从业资格证照片
  72. <el-button size="small" type="primary">点击上传</el-button>
  73. </div>
  74. </el-upload>
  75. </div>
  76. <div class="button-box">
  77. <el-button @click="cancel">取消</el-button>
  78. <el-button type="primary" @click="makeSure">确定</el-button>
  79. </div>
  80. </div>
  81. </template>
  82. <script>
  83. import PageTitle from "@/components/Page/Title";
  84. export default {
  85. components: { PageTitle },
  86. data() {
  87. return {
  88. restaurants: [],
  89. form1: {},
  90. value: undefined,
  91. fileList: [],
  92. carrierIds:"",
  93. state: "",
  94. imageUrl:"",
  95. };
  96. },
  97. mounted() {},
  98. methods: {
  99. onInput() {
  100. this.axios.post(
  101. "/api/v1/rms/getCarrierName?state="+this.state,
  102. )
  103. .then((res) => {
  104. if(res.data.code == "200"){
  105. res.data.data.forEach(element => {
  106. this.restaurants.push({
  107. value:element.carrierName,
  108. carrierIds:element.carrierId
  109. })
  110. });
  111. }
  112. });
  113. },
  114. querySearch(queryString, cb) {
  115. var restaurants = this.restaurants;
  116. var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
  117. // 调用 callback 返回建议列表的数据
  118. cb(results);
  119. },
  120. createFilter(queryString) {
  121. return (restaurant) => {
  122. return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
  123. };
  124. },
  125. handleSelect(item){
  126. this.carrierIds=item.carrierIds;
  127. console.log(item)
  128. },
  129. handleAvatarSuccess(res,file){
  130. this.imageUrl=URL.createObjectURL(file.raw);
  131. },
  132. handleRemove(file, fileList) {
  133. console.log(file, fileList);
  134. },
  135. handlePreview(file) {
  136. console.log(file);
  137. },
  138. makeSure() {
  139. console.log(this.form1);
  140. let reg = new RegExp(/^[0-9]*$/);
  141. let RmsCarDriver = {
  142. driverName: this.form1.driverName,
  143. driverSex: this.form1.driverSex,
  144. driverAge: this.form1.driverAge,
  145. driverIdentityCard: this.form1.driverIdentityCard,
  146. driverPhone: this.form1.driverPhone,
  147. transportTypeId: this.form1.transportTypeId,
  148. driverPermitNo: this.form1.driverPermitNo,
  149. state:this.state,
  150.         carrierName:this.state,
  151.         carrierIds: this.carrierIds,
  152. };
  153. if (
  154. reg.test(RmsCarDriver.driverAge) == false ||
  155. reg.test(RmsCarDriver.driverPhone) == false
  156. )
  157. this.$message.error("输入的格式不正确");
  158. else if(
  159. RmsCarDriver.driverName==null ||
  160. RmsCarDriver.driverSex==null ||
  161. RmsCarDriver.driverAge==null ||
  162. RmsCarDriver.driverIdentityCard==null ||
  163. RmsCarDriver.driverPhone==null ||
  164. RmsCarDriver.transportTypeId==null ||
  165. RmsCarDriver.carrierIds==null
  166. )this.$message.error("存在空值!");
  167. else
  168. this.axios
  169. .post("/api/v1/rms/insertCarDriver", RmsCarDriver)
  170. .then((res) => {
  171. if (res.data.code == 200) {
  172. this.$message({
  173. type: "success",
  174. message: "新增成功!",
  175. });
  176. // this.$refs.table.refreshData();
  177. this.$router.go(-1);
  178. } else {
  179. this.$message.error("新增失败,可能存在重复!");
  180. }
  181. //this.$refs['table'].resetField();
  182. });
  183. },
  184. // 取消
  185. cancel() {
  186. this.$router.go(-1);
  187. },
  188. },
  189. };
  190. </script>
  191. <style lang='scss'>
  192. .button-box{
  193. display: flex;
  194. text-align: center;
  195. align-items: center;
  196. justify-content: center;
  197. margin-top: 0.3125rem;
  198. margin-bottom: 1.25rem;
  199. }
  200. .inputBox{
  201. display: flex;
  202. text-align: center;
  203. align-items: center;
  204. justify-content: center;
  205. margin-top: 0.1000rem;
  206. margin-bottom: 0.25rem;
  207. margin-left: -12.5rem;
  208. }
  209. .photoBox{
  210. display: flex;
  211. text-align: center;
  212. align-items: center;
  213. justify-content: center;
  214. margin-top: 1rem;
  215. margin-bottom: 0.25rem;
  216. margin-left: -18rem;
  217. }
  218. .form-box{
  219. display:flex;
  220. justify-content: center;
  221. .el-form-item{
  222. display:flex;
  223. justify-content: center;
  224. .el-form-item__label{
  225. display:flex;
  226. align-items: center;
  227. }
  228. .el-form-item__content{
  229. .el-input{
  230. .el-input__inner{
  231. width:250px;
  232. }
  233. }
  234. }
  235. }
  236. }
  237. </style>