Procházet zdrojové kódy

更新 发起招标

wzg před 1 rokem
rodič
revize
74f08b45c8
1 změnil soubory, kde provedl 86 přidání a 21 odebrání
  1. 86 21
      src/views/tenderManage/inviteTender.vue

+ 86 - 21
src/views/tenderManage/inviteTender.vue

@@ -28,7 +28,7 @@
         ref="ruleFormRef"
         :model="ruleForm"
         :rules="rules"
-        label-width="100px"
+        label-width="140px"
       >
         <el-form-item label="运输类型" prop="transType">
           <el-button-group>
@@ -96,8 +96,8 @@
             v-model="ruleForm.bidDeadlineDatetime"
             type="datetime"
             placeholder="请选择"
-            format="YYYY/MM/DD hh:mm"
-            value-format="YYYY-MM-DD h:m"
+            format="YYYY/MM/DD hh:mm:ss"
+            value-format="YYYY/MM/DD hh:mmss"
           />
         </el-form-item>
         <el-form-item label="运力要求" prop="capacityRequirements">
@@ -146,10 +146,10 @@
         </el-form-item>
         <el-form-item>
           <div class="df aic jcfe w100p">
-            <el-button class="mr20" type="primary" @click="save()">
+            <el-button class="mr20" type="primary" @click="submit(0)">
               保存
             </el-button>
-            <el-button type="primary" @click="submit()">发起招标</el-button>
+            <el-button type="primary" @click="submit(1)">发起招标</el-button>
           </div>
         </el-form-item>
       </el-form>
@@ -185,7 +185,48 @@ const ruleForm = ref({
   quotationRequest: "",
   proxyCompanyIds: "",
 });
-const rules = ref({});
+const rules = ref({
+  // 表单验证
+  tenderId: [
+    { required: true, message: "请输入招标ID", trigger: "blur" },
+    { min: 1, max: 20, message: "长度在 1 到 20 个字符", trigger: "blur" },
+  ],
+  initMethod: [{ required: true, message: "请选择招标方式", trigger: "blur" }],
+  transType: [{ required: true, message: "请选择运输方式", trigger: "blur" }],
+  cargoId: [{ required: true, message: "请选择货种", trigger: "blur" }],
+  loadPortId: [{ required: true, message: "请选择装货港", trigger: "blur" }],
+  dischargePortId: [
+    { required: true, message: "请选择卸货港", trigger: "blur" },
+  ],
+  tons: [
+    { required: true, message: "请输入发货吨位", trigger: "blur" },
+    {
+      pattern: /^[0-9]+(.[0-9]{1,2})?$/,
+      message: "请输入正确的数字",
+      trigger: "blur",
+    },
+    {
+      min: 0.01,
+      message: "吨位不能为0",
+      trigger: "blur",
+    },
+  ],
+  bidDeadlineDatetime: [
+    { required: true, message: "请选择投标截止时间", trigger: "blur" },
+  ],
+  capacityRequirements: [
+    { required: true, message: "请输入报价要求", trigger: "blur" },
+  ],
+  quotationRequest: [
+    { required: true, message: "请输入报价要求", trigger: "blur" },
+  ],
+  whiteList: [
+    { required: true, message: "请选择参与竞标代理公司", trigger: "blur" },
+  ],
+  proxyCompanyIds: [
+    { required: true, message: "请选择参与竞标代理公司", trigger: "blur" },
+  ],
+});
 function changeTransType(t) {
   ruleForm.value.transType = t;
 }
@@ -215,29 +256,53 @@ function selectItem({ value, key }, valueField, keyField) {
   ruleForm.value[keyField] = key;
 }
 
-function save() {
-  console.log(ruleForm.value);
-  ElNotification.success({
-    title: "保存成功",
-  });
-}
 const currentProxyCompanies = ref([]);
 function remove(scope) {
   currentProxyCompanies.value.splice(scope.$index, 1);
 }
-function submit() {
+function submit(saveType) {
   ruleFormRef.value.validate((valid) => {
-    if (valid) {
-      ElMessageBox.confirm("确认发起招标?", "提示", {
-        confirmButtonText: "发起",
+    if (valid || saveType === 0) {
+      ElMessageBox.confirm(`确认${saveType ? "发起" : "暂存"}招标?`, "提示", {
+        confirmButtonText: `${saveType ? "发起" : "暂存"}`,
         cancelButtonText: "取消",
         type: "warning",
       })
-        .then(() => {
-          ElMessage({
-            type: "success",
-            message: "发起成功!",
-          });
+        .then(async () => {
+          let {
+            tenderId,
+            initMethod,
+            historyTenderId,
+            transType,
+            cargoId,
+            loadPortId,
+            dischargePortId,
+            tons,
+            bidDeadlineDatetime,
+            capacityRequirements,
+            quotationRequest,
+          } = ruleForm.value;
+          let postData = {
+            saveType,
+            tenderId,
+            initMethod,
+            historyTenderId,
+            transType,
+            cargoId,
+            loadPortId,
+            dischargePortId,
+            tons,
+            bidDeadlineDatetime,
+            capacityRequirements,
+            quotationRequest,
+            proxyCompanyIds: currentProxyCompanies.value
+              .map((item) => item.id)
+              .join(","),
+          };
+          console.log(postData);
+          return;
+          let { data } = await api.addTender(postData);
+          console.log(data);
         })
         .catch(() => {});
     }