addTruck.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <view>
  3. <u--form class="truckInfo-con" labelPosition="top" labelWidth="100" :model="truckInfo" ref="uForm">
  4. <u-form-item label="货车类型" prop="truckInfo.idTruckType" borderBottom @click="showTruckType = true"
  5. ref="itemTruckType">
  6. <u--input v-model="truckInfo.truckTypeName" disabled placeholder="请选择货车类型"
  7. border="none"></u--input>
  8. <u-icon slot="right" name="arrow-right"></u-icon>
  9. </u-form-item>
  10. <u-form-item label="车牌号" prop="truckInfo.truckCode" borderBottom ref="itemTruckCode">
  11. <u--input placeholder="请输入车牌号" v-model="truckInfo.truckCode" border="none"></u--input>
  12. </u-form-item>
  13. <u-form-item label="能源类型" prop="truckInfo.energyType" borderBottom ref="itemEnergyType">
  14. <u--input placeholder="请输入能源类型" v-model="truckInfo.energyType" border="none"></u--input>
  15. </u-form-item>
  16. <u-form-item label="备注" prop="truckInfo.truckMemo" borderBottom ref="itemMemo">
  17. <u--textarea v-model="truckInfo.truckMemo" placeholder="请输入备注" border="none"></u--textarea>
  18. </u-form-item>
  19. <u-button @click="submit" type="primary" size="large" text="提交"></u-button>
  20. </u--form>
  21. <u-picker :show="showTruckType" :columns="pickerColumns" closeOnClickOverlay @close="onPickerClose" @cancel="onPickerClose" @confirm="onPickerConfirm"
  22. keyName="truckTypeName"></u-picker>
  23. </view>
  24. </template>
  25. <script>
  26. import request from '@/common/libs/request.js';
  27. export default {
  28. mounted() {
  29. this.initData()
  30. },
  31. data() {
  32. return {
  33. truckInfo: {
  34. id: 0,
  35. idTruckType: 0,
  36. truckTypeName: '',
  37. truckCode: '',
  38. energyType: '',
  39. truckMemo: ''
  40. },
  41. showTruckType: false,
  42. pickerColumns:[],
  43. truckTypes: [],
  44. }
  45. },
  46. methods: {
  47. submit() {
  48. let _that = this;
  49. if(!_that.truckInfo.truckCode){
  50. uni.showToast({
  51. title: "请输入车牌号",
  52. icon: "error"
  53. })
  54. return
  55. }
  56. var trukData = {
  57. "idTruckType": _that.truckInfo.idTruckType,
  58. "truckCode":_that.truckInfo.truckCode,
  59. "energyType": _that.truckInfo.energyType,
  60. "truckMemo": _that.truckInfo.truckMemo
  61. }
  62. var truckInfo = {
  63. "truckInfo": JSON.stringify(trukData),
  64. };
  65. request.httpPost("/dnyDriver/addTruckInfo", truckInfo, false).then(res => {
  66. // console.log(res);
  67. if (res.httpCode == 200) {
  68. uni.reLaunch({
  69. url: '/pages/index/myTruckList',
  70. })
  71. } else {
  72. uni.showToast({
  73. title: res.msg,
  74. icon: "error"
  75. })
  76. }
  77. })
  78. },
  79. initData() {
  80. let _that = this;
  81. request.httpPost("/dnyDriver/getTruckTypeList", {}).then(res => {
  82. if (res.httpCode == 200) {
  83. _that.truckTypes = res.data
  84. _that.pickerColumns.push(_that.truckTypes)
  85. } else {
  86. uni.showToast({
  87. title: res.msg,
  88. icon: "error"
  89. })
  90. }
  91. });
  92. },
  93. onPickerClose() {
  94. this.showTruckType = false
  95. },
  96. onPickerConfirm(item) {
  97. // console.log(item)
  98. this.truckInfo.idTruckType = item.value[0].id
  99. this.truckInfo.truckTypeName = item.value[0].truckTypeName
  100. this.showTruckType = false
  101. }
  102. }
  103. }
  104. </script>
  105. <style lang="scss" scoped>
  106. .truckInfo-con {
  107. margin: 30rpx 30rpx;
  108. }
  109. </style>