wzg 1 anno fa
parent
commit
6b7cca1432
1 ha cambiato i file con 219 aggiunte e 3 eliminazioni
  1. 219 3
      src/views/orderManage/orderDetail.vue

+ 219 - 3
src/views/orderManage/orderDetail.vue

@@ -1,14 +1,230 @@
 <template>
-  <div class="full-container-p24"></div>
+  <div class="full-container-p24">
+    <el-form
+      ref="ruleFormRef"
+      :model="ruleForm"
+      :rules="rules"
+      label-width="100px"
+    >
+      <div class="container-title">上传签船合同</div>
+
+      <el-form-item label="" prop="contractViewUrl">
+        <Uploader
+          :params="{ type: 8 }"
+          :disabled="disabled"
+          @onSendFileList="contractFileListChange"
+          :fileList="contractFileList"
+        ></Uploader>
+      </el-form-item>
+      <div class="container-title">合同信息</div>
+
+      <el-form-item label="选择货主" prop="cargoOwnerName">
+        <RemoteSelect
+          class="w240"
+          api="getCargoOwnerSelect"
+          v-model="ruleForm.cargoOwnerName"
+          placeholder="请选择"
+          @selectItem="selectCargoOwner($event)"
+        ></RemoteSelect>
+      </el-form-item>
+      <el-form-item label="选择货种" prop="cargo">
+        <RemoteSelect
+          api="getCargoSelect"
+          v-model="ruleForm.cargo"
+          :params="{
+            cargoOwnerId: ruleForm.cargoOwnerId,
+          }"
+          :placeholder="ruleForm.cargoOwnerId ? '请选择' : '请先选择货主'"
+          @selectItem="selectCargo"
+          class="w240"
+          :disabled="!ruleForm.cargoOwnerId"
+        ></RemoteSelect>
+      </el-form-item>
+      <el-form-item label="吨位" prop="tons">
+        <el-input class="w240" v-model="ruleForm.tons"></el-input>
+      </el-form-item>
+      <el-form-item label="始发港" prop="">
+        <RemoteSelect
+          class="w240"
+          api="getCol"
+          v-model="ruleForm.loadPort"
+          placeholder="选择始发港"
+          @selectItem="selectLoadPort($event)"
+        ></RemoteSelect>
+      </el-form-item>
+      <el-form-item label="目的港" prop="">
+        <div
+          class="mb10"
+          v-for="(item, index) in ruleForm.dischargePorts"
+          :key="item"
+        >
+          <RemoteSelect
+            class="mr10 w240"
+            api="getCol"
+            v-model="ruleForm.dischargePorts[index].dischargePort"
+            placeholder="选择目的港"
+            @selectItem="selectDischargePort($event, index)"
+          ></RemoteSelect>
+          <el-button
+            v-if="ruleForm.dischargePorts.length > 1"
+            style="padding: 0 8px"
+            type="danger"
+            size="mini"
+            @click="removeDischargePort(index)"
+          >
+            删除
+          </el-button>
+        </div>
+        <el-button
+          type="primary"
+          size="mini"
+          @click="ruleForm.dischargePorts.push({})"
+        >
+          添加提前卸货港
+        </el-button>
+      </el-form-item>
+      <el-form-item label="预计到港时间" prop="arrivalLoadPortEtaTime">
+        <el-date-picker
+          style="width: 240px"
+          v-model="ruleForm.arrivalLoadPortEtaTime"
+          type="date"
+          value-format="YYYY/MM/DD"
+          placeholder="预计到港时间"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item><el-button @click="onSubmit">确定</el-button></el-form-item>
+    </el-form>
+  </div>
 </template>
 
 <script setup>
 import api from "../../apis/fetch";
 import { ref, onMounted, reactive } from "vue";
-import { ElNotification, ElMessageBox } from "element-plus";
+import { ElNotification, ElMessageBox, ElMessage } from "element-plus";
 import router from "../../router";
 import store from "../../store";
 import { subTimeStr } from "../../utils/utils";
+import { useRoute } from "vue-router";
+
+const route = useRoute();
+async function getOrderDetail() {
+  let { data } = await api.getOrderDetail({
+    orderId: route.query.id,
+  });
+  console.log(data);
+}
+
+const ruleFormRef = ref(null);
+const ruleForm = ref({
+  dischargePorts: [{}],
+});
+const rules = ref({
+  orderId: [
+    { required: true, message: "请输入订单号", trigger: "blur" },
+    { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
+  ],
+});
+const disabled = ref(false);
+function contractFileListChange(fileList) {
+  console.log(fileList);
+}
+const contractFileList = ref([
+  {
+    name: "wx.jpg",
+    percentage: 100,
+    status: "success",
+    size: 83292,
+    raw: {
+      uid: 1711264262609,
+    },
+    uid: 1711264262609,
+    url: "https://hhd-pat-1255802371.cos.ap-shanghai.myqcloud.com/order/contract/d4bace44-f0c2-4d5f-83c4-4e76e0ab38631711264262785.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKID4xb091cy4tRikV0EBrGOGsCF1WkhMlum%26q-sign-time%3D1711264262%3B93158697600%26q-key-time%3D1711264262%3B93158697600%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D22bd6e31c0f67d4c03c67ebdb243abd82487afa6",
+    response: {
+      result: {
+        fileName: "wx.jpg",
+        uploadStatus: "success",
+        key: "order/contract/d4bace44-f0c2-4d5f-83c4-4e76e0ab38631711264262785.jpg",
+        viewUrl:
+          "https://hhd-pat-1255802371.cos.ap-shanghai.myqcloud.com/order/contract/d4bace44-f0c2-4d5f-83c4-4e76e0ab38631711264262785.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKID4xb091cy4tRikV0EBrGOGsCF1WkhMlum%26q-sign-time%3D1711264262%3B93158697600%26q-key-time%3D1711264262%3B93158697600%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D22bd6e31c0f67d4c03c67ebdb243abd82487afa6",
+        downloadUrl:
+          "https://hhd-pat-1255802371.cos.ap-shanghai.myqcloud.com/order/contract/d4bace44-f0c2-4d5f-83c4-4e76e0ab38631711264262785.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKID4xb091cy4tRikV0EBrGOGsCF1WkhMlum%26q-sign-time%3D1711264262%3B93156019200%26q-key-time%3D1711264262%3B93156019200%26q-header-list%3Dhost%26q-url-param-list%3Dresponse-cache-control%3Bresponse-content-disposition%3Bresponse-content-language%3Bresponse-content-type%3Bresponse-expires%26q-signature%3Dd9b2397064045e3f1d5ce30ca40bbb046494ffcc&response-cache-control=no-cache&response-content-disposition=filename%3D%22wx.jpg%22&response-content-language=zh-CN&response-expires=Mon%2C%2025%20Mar%202024%2007%3A11%3A02%20GMT&response-content-type=application%2Foctet-stream",
+        type: 8,
+      },
+      status: 0,
+      msg: "上传成功",
+    },
+  },
+  {
+    name: "xxb.jpg",
+    percentage: 100,
+    status: "success",
+    size: 64375,
+    raw: {
+      uid: 1711264272486,
+    },
+    uid: 1711264272486,
+    url: "https://hhd-pat-1255802371.cos.ap-shanghai.myqcloud.com/order/contract/93ff96c3-c6db-4baa-83ba-74eed2bd3ae61711264272643.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKID4xb091cy4tRikV0EBrGOGsCF1WkhMlum%26q-sign-time%3D1711264272%3B93158697600%26q-key-time%3D1711264272%3B93158697600%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D06c4eb07a3c11a5974cf9373bcd7b75463a93f51",
+    response: {
+      result: {
+        fileName: "xxb.jpg",
+        uploadStatus: "success",
+        key: "order/contract/93ff96c3-c6db-4baa-83ba-74eed2bd3ae61711264272643.jpg",
+        viewUrl:
+          "https://hhd-pat-1255802371.cos.ap-shanghai.myqcloud.com/order/contract/93ff96c3-c6db-4baa-83ba-74eed2bd3ae61711264272643.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKID4xb091cy4tRikV0EBrGOGsCF1WkhMlum%26q-sign-time%3D1711264272%3B93158697600%26q-key-time%3D1711264272%3B93158697600%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D06c4eb07a3c11a5974cf9373bcd7b75463a93f51",
+        downloadUrl:
+          "https://hhd-pat-1255802371.cos.ap-shanghai.myqcloud.com/order/contract/93ff96c3-c6db-4baa-83ba-74eed2bd3ae61711264272643.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKID4xb091cy4tRikV0EBrGOGsCF1WkhMlum%26q-sign-time%3D1711264272%3B93156019200%26q-key-time%3D1711264272%3B93156019200%26q-header-list%3Dhost%26q-url-param-list%3Dresponse-cache-control%3Bresponse-content-disposition%3Bresponse-content-language%3Bresponse-content-type%3Bresponse-expires%26q-signature%3D3e65457866396f4673e911b280a38407648d0ca2&response-cache-control=no-cache&response-content-disposition=filename%3D%22xxb.jpg%22&response-content-language=zh-CN&response-expires=Mon%2C%2025%20Mar%202024%2007%3A11%3A12%20GMT&response-content-type=application%2Foctet-stream",
+        type: 8,
+      },
+      status: 0,
+      msg: "上传成功",
+    },
+  },
+]);
+function selectCargoOwner({ value, key }) {
+  ruleForm.value.cargoOwnerId = key;
+  ruleForm.value.cargoOwnerName = value;
+}
+function selectCargo({ value, key }) {
+  ruleForm.value.cargoId = key;
+  ruleForm.value.cargo = value;
+}
+
+function selectLoadPort(item) {}
+function selectDischargePort(item, index) {}
+function removeDischargePort(index) {
+  ruleForm.value.dischargePorts.splice(index, 1);
+}
+
+function onSubmit() {
+  ruleFormRef.value.validate((valid) => {
+    console.log(ruleForm.value);
+    return;
+    if (valid) {
+      ElMessageBox.confirm("是否确认提交", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          ElNotification({
+            title: "成功",
+            message: "提交成功",
+            type: "success",
+          });
+        })
+        .catch(() => {
+          ElNotification();
+        });
+    }
+  });
+}
+onMounted(() => {
+  getOrderDetail();
+});
 </script>
 
-<style scoped></style>
+<style scoped>
+.w240 {
+  width: 240px;
+}
+</style>