wzg 1 年之前
父节点
当前提交
366de7829c
共有 2 个文件被更改,包括 86 次插入72 次删除
  1. 22 13
      src/views/tenderManage/inviteTender.vue
  2. 64 59
      src/views/tenderManage/tenderDetail.vue

+ 22 - 13
src/views/tenderManage/inviteTender.vue

@@ -165,7 +165,7 @@ import api from "../../apis/fetch";
 import store from "../../store";
 import router from "../../router";
 import { ref, onMounted, reactive, computed } from "vue";
-import { ElNotification, ElMessageBox } from "element-plus";
+import { ElNotification, ElMessage, ElMessageBox } from "element-plus";
 import { mapGetters } from "vuex";
 import { useRoute } from "vue-router";
 
@@ -243,18 +243,16 @@ function changeTransType(t) {
   currentProxyCompanies.value = [];
 }
 
-async function getTenderProxyList() {
-  let { data } = await api.getTenderProxyList({
-    currentPage: 1,
-    size: 100,
-    term: "",
-  });
-  console.log(data);
-}
 const proxyCompanies = ref([]);
 
 async function getTenderProxySelect() {
-  let { data } = await api.getTenderProxySelect({});
+  if (!ruleForm.value.cargoId) {
+    ElMessage.error("请先选择货种");
+    return;
+  }
+  let { data } = await api.getTenderProxySelect({
+    cargoId: ruleForm.value.cargoId,
+  });
   if (data.status === 0) {
     proxyCompanies.value = data.result;
   } else {
@@ -265,6 +263,12 @@ async function getTenderProxySelect() {
 function selectItem({ value, key }, valueField, keyField) {
   ruleForm.value[valueField] = value;
   ruleForm.value[keyField] = key;
+  if (valueField === "cargo") {
+    currentProxyCompanies.value = [];
+    proxyCompanies.value = [];
+    ruleForm.value.proxyCompanyId = "";
+    getTenderProxySelect();
+  }
 }
 
 const currentProxyCompanies = ref([]);
@@ -321,6 +325,12 @@ function submit(saveType) {
               message: `${saveType ? "发起" : "暂存"}招标成功`,
               type: "success",
             });
+            if (saveType === 0) {
+              router.replace("/tenderManage/inviteTender?id=" + data.result);
+              getTenderDetail();
+            } else {
+              router.replace("/tenderManage/tenderDetail?id=" + data.result);
+            }
             ruleFormRef.value.resetFields();
           } else {
             ElNotification({
@@ -342,13 +352,14 @@ async function getTenderDetail() {
     ruleForm.value = data.result;
     currentProxyCompanies.value = data.result.tenderProxies.map((item) => {
       return {
-        id: item.id,
+        id: item.proxyCompanyId,
         companyName: item.proxyCompanyName,
         contactName: item.contactName,
         contactPhone: item.contactPhone,
         contactEmail: item.contactEmail,
       };
     });
+    getTenderProxySelect();
   }
 }
 
@@ -385,8 +396,6 @@ onMounted(() => {
   if (route.query.id) {
     getTenderDetail();
   }
-  getTenderProxyList();
-  getTenderProxySelect();
 });
 </script>
 

+ 64 - 59
src/views/tenderManage/tenderDetail.vue

@@ -65,13 +65,13 @@
       </div>
     </div>
     <div class="t20 mt20 mb10">运力要求</div>
-    <div class="card w50p">
+    <div class="card">
       <pre style="white-space: pre-wrap">{{
         tenderData.capacityRequirements
       }}</pre>
     </div>
     <div class="t20 mt20 mb10">报价要求</div>
-    <div class="card w50p">
+    <div class="card">
       <pre style="white-space: pre-wrap">{{ tenderData.quotationRequest }}</pre>
     </div>
     <el-divider></el-divider>
@@ -79,7 +79,12 @@
     <div class="df aic mb10">
       <div class="mr10">参与竞标公司数量:</div>
       <div class="mr20">{{ tenderData.participateProxyNum }}</div>
-      <el-button size="small" type="primary" @click="showAddTenderCompany()">
+      <el-button
+        v-if="tenderData.status === 1"
+        size="small"
+        type="primary"
+        @click="showAddTenderCompany()"
+      >
         增加竞标公司
       </el-button>
       <el-dialog v-model="isAddProxyCompanyVisible" title="增加竞标公司">
@@ -136,65 +141,63 @@
       <div class="mr10">完成竞标公司数量:</div>
       <div class="mr20">{{ tenderData.completeBidProxyNum }}</div>
     </div>
-    <div class="card">
-      <div class="card mb30" v-for="(item, index) in tenderData.tenderProxies">
-        <div class="df aic jcsb mb10">
-          <div>{{ item.proxyCompanyName }}</div>
-          <div class="df aic">
-            <div class="mr10">邮件通知状态:</div>
-            <div
-              class="mr10 fs18"
-              :style="{
-                color: item.emailSendStatus === 0 ? '#9d0016' : '#00B050',
-              }"
-            >
-              {{ item.emailSendStatus === 0 ? "未发送" : "" }}
-              {{ item.emailSendStatus === 1 ? "已发送" : "" }}
-            </div>
-            <el-button
-              v-if="item.emailSendStatus === 0"
-              size="small"
-              type="primary"
-            >
-              发送
-            </el-button>
-            <el-button
-              v-if="item.emailSendStatus === 1"
-              size="small"
-              type="primary"
-            >
-              再次发送
-            </el-button>
+
+    <div class="card mb30" v-for="(item, index) in tenderData.tenderProxies">
+      <div class="df aic jcsb mb10">
+        <div>{{ item.proxyCompanyName }}</div>
+        <div class="df aic" v-if="tenderData.status === 1">
+          <div class="mr10">邮件通知状态:</div>
+          <div
+            class="mr10 fs18"
+            :style="{
+              color: item.emailSendStatus === 0 ? '#9d0016' : '#00B050',
+            }"
+          >
+            {{ item.emailSendStatus === 0 ? "未发送" : "" }}
+            {{ item.emailSendStatus === 1 ? "已发送" : "" }}
           </div>
-        </div>
-        <AMapContainer
-          :mapId="'map' + index"
-          :ships="item.tenderProxyBids"
-          style="height: 300px"
-          class="mb10"
-        ></AMapContainer>
 
-        <el-table
-          :data="item.tenderProxyBids"
-          border
-          stripe
-          show-summary
-          :summary-method="getSummaries"
-        >
-          <el-table-column label="船名" prop="shipName"></el-table-column>
-          <el-table-column label="MMSI" prop="mmsi"></el-table-column>
-          <el-table-column label="装载吨位" prop="loadTons"></el-table-column>
-          <el-table-column
-            label="报价(元/吨)"
-            prop="quotation"
-          ></el-table-column>
-          <el-table-column
-            label="预计运费(单船)"
-            prop="estimatedCost"
-          ></el-table-column>
-        </el-table>
+          <el-button
+            v-if="item.emailSendStatus === 0"
+            size="small"
+            type="primary"
+          >
+            发送
+          </el-button>
+          <el-button
+            v-if="item.emailSendStatus === 1"
+            size="small"
+            type="primary"
+          >
+            再次发送
+          </el-button>
+        </div>
       </div>
+      <AMapContainer
+        :mapId="'map' + index"
+        :ships="item.tenderProxyBids"
+        style="height: 300px"
+        class="mb10"
+      ></AMapContainer>
+
+      <el-table
+        :data="item.tenderProxyBids"
+        border
+        stripe
+        show-summary
+        :summary-method="getSummaries"
+      >
+        <el-table-column label="船名" prop="shipName"></el-table-column>
+        <el-table-column label="MMSI" prop="mmsi"></el-table-column>
+        <el-table-column label="装载吨位" prop="loadTons"></el-table-column>
+        <el-table-column label="报价(元/吨)" prop="quotation"></el-table-column>
+        <el-table-column
+          label="预计运费(单船)"
+          prop="estimatedCost"
+        ></el-table-column>
+      </el-table>
     </div>
+
     <div v-if="tenderData.status === 1" class="df aic jcfe mt30">
       <div>
         <el-button type="default" @click="completeTender(2)">
@@ -294,7 +297,9 @@ const isAddProxyCompanyVisible = ref(false);
 const proxyCompanies = ref([]);
 
 async function getTenderProxySelect() {
-  let { data } = await api.getTenderProxySelect({});
+  let { data } = await api.getTenderProxySelect({
+    cargoId: tenderData.value.cargoId,
+  });
   if (data.status === 0) {
     proxyCompanies.value = data.result.filter(
       (item) =>