addCarDriver.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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="button_box">
  21. <el-button @click="cancel">取消</el-button>
  22. <el-button type="primary" @click="makeSure">确定</el-button>
  23. </div>
  24. </div>
  25. </template>
  26. <script>
  27. import PageTitle from "@/components/Page/Title";
  28. export default {
  29. components: { PageTitle },
  30. data() {
  31. return {
  32. restaurants: [],
  33. form1: {},
  34. value: undefined,
  35. fileList: [],
  36. carrierIds:"",
  37. state: "",
  38. };
  39. },
  40. mounted() {
  41. this.form1.driverSex = this.sex;
  42. },
  43. methods: {
  44. onInput() {
  45. this.axios.post(
  46. "/api/v1/rms/getCarrierName?state="+this.state,
  47. )
  48. .then((res) => {
  49. if(res.data.code == "200"){
  50. res.data.data.forEach(element => {
  51. this.restaurants.push({
  52. value:element.carrierName,
  53. carrierIds:element.carrierId
  54. })
  55. });
  56. }
  57. });
  58. },
  59. querySearch(queryString, cb) {
  60. var restaurants = this.restaurants;
  61. var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
  62. // 调用 callback 返回建议列表的数据
  63. cb(results);
  64. },
  65. createFilter(queryString) {
  66. return (restaurant) => {
  67. return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
  68. };
  69. },
  70. handleSelect(item){
  71. this.carrierIds=item.carrierIds;
  72. console.log(item)
  73. },
  74. makeSure() {
  75. console.log(this.form1);
  76. let reg = new RegExp(/^[0-9]*$/);
  77. let RmsCarDriver = {
  78. driverName: this.form1.driverName,
  79. driverSex: this.form1.driverSex,
  80. driverAge: this.form1.driverAge,
  81. driverIdentityCard: this.form1.driverIdentityCard,
  82. driverPhone: this.form1.driverPhone,
  83. transportTypeId: this.form1.transportTypeId,
  84. state:this.state,
  85.         carrierName:this.state,
  86.         carrierIds: this.carrierIds,
  87. };
  88. if (
  89. reg.test(RmsCarDriver.driverAge) == false ||
  90. reg.test(RmsCarDriver.driverPhone) == false
  91. )
  92. this.$message.error("输入的格式不正确");
  93. else if(
  94. RmsCarDriver.driverName==null ||
  95. RmsCarDriver.driverSex==null ||
  96. RmsCarDriver.driverAge==null ||
  97. RmsCarDriver.driverIdentityCard==null ||
  98. RmsCarDriver.driverPhone==null ||
  99. RmsCarDriver.transportTypeId==null ||
  100. RmsCarDriver.carrierIds==null
  101. // RmsCarDriver.carrierId==null
  102. )this.$message.error("存在空值!");
  103. else
  104. this.axios
  105. .post("/api/v1/rms/insertCarDriver", RmsCarDriver)
  106. .then((res) => {
  107. if (res.data.code == 200) {
  108. this.$message({
  109. type: "success",
  110. message: "新增成功!",
  111. });
  112. // this.$refs.table.refreshData();
  113. this.$router.go(-1);
  114. } else {
  115. this.$message.error("新增失败,可能存在重复!");
  116. }
  117. this.$refs['table'].resetField();
  118. });
  119. },
  120. // 取消
  121. cancel() {
  122. this.$router.go(-1);
  123. },
  124. },
  125. };
  126. </script>
  127. <style lang='scss'>
  128. .addWagonLoad {
  129. .form_box {
  130. width: 100%;
  131. margin-top: 30px;
  132. display: flex;
  133. justify-content: center;
  134. .el-form-item{
  135. display: flex;
  136. justify-content: center;
  137. .el-form-item__label{
  138. display: flex;
  139. align-items: center;
  140. }
  141. .el-form-item__content{
  142. .el-select{
  143. width: 250px;
  144. }
  145. .el-input{
  146. width: 250px;
  147. }
  148. }
  149. }
  150. }
  151. .photoBox{
  152. display: flex;
  153. text-align: center;
  154. align-items: center;
  155. justify-content: center;
  156. margin-top: 0.1000rem;
  157. margin-bottom: 0.25rem;
  158. }
  159. .inputBox{
  160. display: flex;
  161. justify-content: center;
  162. margin-bottom: 30px;
  163. .text{
  164. text-align: right;
  165. display: flex;
  166. align-items: center;
  167. margin-right: 5px;
  168. }
  169. .input{
  170. width: 250px;
  171. }
  172. }
  173. .button_box{
  174. display: flex;
  175. justify-content: center;
  176. .el-button{
  177. width: 80px;
  178. margin-right: 10px;
  179. }
  180. }
  181. }
  182. </style>