Просмотр исходного кода

新增 新增船东功能(船东代注册)

wzh 4 лет назад
Родитель
Сommit
78fb080f13
2 измененных файлов с 115 добавлено и 0 удалено
  1. 5 0
      src/apis/fetch.js
  2. 110 0
      src/views/shipOwnerManage/shipOwnerList.vue

+ 5 - 0
src/apis/fetch.js

@@ -15,6 +15,11 @@ export default {
     return $http("post", "user/backstage/add", data);
   },
 
+  // 添加船东
+  addShipOwner(data){
+    return $http("post", "user/backstage/saveShipOwner", data);
+  },
+
   // 获取用户详情
   getUserDetail(data) {
     return $http("post", "user/backstage/details", data);

+ 110 - 0
src/views/shipOwnerManage/shipOwnerList.vue

@@ -11,6 +11,50 @@
         ></el-input>
         <div class="seach-btn" @click="getShipOwnerList">查询</div>
       </div>
+      <div class="cargo-owner-add" @click="dialogFormVisible = true">
+        添加船东
+      </div>
+      <el-dialog title="添加船东" v-model="dialogFormVisible">
+        <template v-slot:default>
+          <el-form
+            :model="ruleForm"
+            :rules="rules"
+            ref="form"
+            label-width="110px"
+            label-position="left"
+          >
+            <el-form-item prop="userName" label="船东姓名">
+              <el-input
+                style="width: 280px"
+                v-model="ruleForm.userName"
+              ></el-input>
+            </el-form-item>
+            <el-form-item prop="phone" label="手机号">
+              <el-input
+                style="width: 280px"
+                v-model="ruleForm.phone"
+              ></el-input>
+            </el-form-item>
+            <el-form-item prop="shipname" label="船名">
+              <el-input
+                style="width: 280px"
+                v-model="ruleForm.shipname"
+              ></el-input>
+            </el-form-item>
+            <el-form-item prop="mmsi" label="MMSI">
+              <el-input style="width: 280px" v-model="ruleForm.mmsi"></el-input>
+            </el-form-item>
+          </el-form>
+        </template>
+        <template v-slot:footer>
+          <div class="dialog-footer">
+            <el-button @click="resetForm">取 消</el-button>
+            <el-button type="primary" @click="addShipOwner(ruleForm)">
+              确 定
+            </el-button>
+          </div>
+        </template>
+      </el-dialog>
     </div>
     <div style="margin-top: 24px">
       <el-table :data="tableData" stripe style="width: 100%">
@@ -71,6 +115,65 @@ import api from "../../apis/fetch";
 
 export default {
   setup() {
+    let dialogFormVisible = ref(false);
+    let form = ref(null);
+    let ruleForm = reactive({
+      ruleForm: {
+        userName: "",
+        phone: "",
+        shipname: "",
+        mmsi: "",
+      },
+    });
+    async function resetForm() {
+      dialogFormVisible.value = false;
+      form.value.resetFields();
+    }
+    const rules = reactive({
+      rules: {
+        userName: [
+          { required: true, message: "请填写船东名称", trigger: "blur" },
+        ],
+        shipname: [{ required: true, message: "请填写船名", trigger: "blur" }],
+        mmsi: [{ required: true, message: "请填写MMSI", trigger: "blur" }],
+        phone: [
+          { required: true, message: "请填写手机号", trigger: "blur" },
+          { min: 11, max: 11, message: "请正确填写手机号", trigger: "blur" },
+        ],
+      },
+    });
+    async function addShipOwner() {
+      form.value.validate(async (valid) => {
+        if (valid) {
+          let { userName, shipname, mmsi, phone } = ruleForm.ruleForm;
+          let res = await api.addShipOwner({
+            userName,
+            shipname,
+            mmsi,
+            phone,
+          });
+          console.log(res);
+          if (res.data.status == 0) {
+            ElNotification.success({
+              title: "添加成功",
+              duration: 0,
+              message: `${userName}:${res.data.msg}`,
+              type: "success",
+            });
+            resetForm();
+            getShipOwnerList();
+          } else {
+            ElNotification.error({
+              title: "失败",
+              duration: 3000,
+              message: res.data.msg,
+            });
+          }
+        } else {
+          return false;
+        }
+      });
+    }
     let currentPage = ref(1);
     let term = ref();
     let tableData = ref();
@@ -112,6 +215,13 @@ export default {
       getShipOwnerList,
       shipOwnerDetail,
       pageChange,
+      dialogFormVisible,
+      ...toRefs(ruleForm),
+      resetForm,
+      addShipOwner,
+      dialogFormVisible,
+      form,
+      ...toRefs(rules),
     };
   },
 };