voyageAdd.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <template>
  2. <div class="line-container-p24">
  3. <i class="el-icon-arrow-left"></i>
  4. <div class="dib go-back ml8">返回航次列表</div>
  5. </div>
  6. <div id="map-container" class="map-container"></div>
  7. <div class="line-container-p24">
  8. <el-form
  9. :rules="rules"
  10. label-position="right"
  11. label-width="80px"
  12. :model="voyageForm"
  13. >
  14. <div class="line1 df" style="flex-wrap: wrap">
  15. <el-form-item prop="voyageName" label="航次名称">
  16. <el-input v-model="voyageForm.voyageName"></el-input>
  17. </el-form-item>
  18. <el-form-item label="货主">
  19. <el-input v-model="voyageForm.cargoOwnerId"></el-input>
  20. </el-form-item>
  21. <el-form-item label="开始时间">
  22. <el-input v-model="voyageForm.startTime"></el-input>
  23. </el-form-item>
  24. <el-form-item label="结束时间">
  25. <el-input v-model="voyageForm.endTime"></el-input>
  26. </el-form-item>
  27. <el-form-item label="装货港">
  28. <el-input v-model="voyageForm.loadPort"></el-input>
  29. </el-form-item>
  30. <el-form-item label="卸货港">
  31. <el-input v-model="voyageForm.dischargPort"></el-input>
  32. </el-form-item>
  33. <el-form-item label="货种">
  34. <el-input v-model="voyageForm.cargo"></el-input>
  35. </el-form-item>
  36. <el-form-item label="吨位">
  37. <el-input v-model="voyageForm.tons"></el-input>
  38. </el-form-item>
  39. </div>
  40. </el-form>
  41. </div>
  42. </template>
  43. <script>
  44. import { onMounted, ref, toRefs, reactive } from "vue";
  45. export default {
  46. setup() {
  47. let map = ref();
  48. const rules = reactive({
  49. rules: {
  50. voyageName: [{ required: true, message: "", trigger: "blur" }],
  51. cargoOwnerId: [{ required: true, message: "", trigger: "blur" }],
  52. startTime: [{ required: true, message: "", trigger: "blur" }],
  53. endTime: [{ required: true, message: "", trigger: "blur" }],
  54. loadPort: [{ required: true, message: "", trigger: "blur" }],
  55. dischargPort: [{ required: true, message: "", trigger: "blur" }],
  56. cargo: [{ required: true, message: "", trigger: "blur" }],
  57. tons: [{ required: true, message: "", trigger: "blur" }],
  58. },
  59. });
  60. let voyageForm = reactive({
  61. voyageForm: {
  62. voyageName: "",
  63. cargoOwnerId: "",
  64. startTime: "",
  65. endTime: "",
  66. loadPort: "",
  67. dischargPort: "",
  68. cargo: "",
  69. tons: "",
  70. },
  71. });
  72. function initMap() {
  73. var center = new TMap.LatLng(31.228721, 121.524761);
  74. //初始化地图
  75. map.value = new TMap.Map("map-container", {
  76. zoom: 12, //设置地图缩放级别
  77. center: center, //设置地图中心点坐标
  78. });
  79. }
  80. onMounted(() => {
  81. initMap();
  82. });
  83. return {
  84. ...toRefs(voyageForm),
  85. ...toRefs(rules),
  86. };
  87. },
  88. };
  89. </script>
  90. <style scoped>
  91. .go-back {
  92. font-size: 16px;
  93. font-family: PingFangSC-Medium, PingFang SC;
  94. font-weight: 500;
  95. color: #333d43;
  96. line-height: 100%;
  97. cursor: pointer;
  98. }
  99. .map-container {
  100. width: 100%;
  101. height: 658px;
  102. margin: 20px 0;
  103. }
  104. :deep() .el-form-item {
  105. margin-right: 22px;
  106. width: 280px;
  107. }
  108. </style>