Selaa lähdekoodia

新增 过期时间功能

王智慧 3 vuotta sitten
vanhempi
commit
1455d25065

+ 11 - 0
src/apis/fetch.js

@@ -386,7 +386,18 @@ export default {
     return $http("/port/trans/list", data);
   },
 
+  // 获取货主下拉
   getCargoOwnerSelect(data) {
     return $http("/proxy/detail/cargoOwner/select", data);
   },
+
+  // 货主公司更新有效期
+  updateCargoOwnerExpiredTime(data) {
+    return $http("/cargoOwner/updateExpiredTime", data);
+  },
+
+  // 代理公司更新有效期
+  updateAgencyExpiredTime(data) {
+    return $http("/proxy/updateExpiredTime", data);
+  },
 };

+ 73 - 10
src/views/agencyManage/agencyCompanyDetail.vue

@@ -9,13 +9,51 @@
     </div>
   </div>
   <div class="container-title">代理信息</div>
-  <div class="line-container-p24 df aic">
-    <div class="normal-label">代理名称</div>
-    <div class="show-input">{{ proxyName }}</div>
-    <div class="normal-label">联系人</div>
-    <div class="show-input">{{ contactName }}</div>
-    <div class="normal-label">联系人手机号</div>
-    <div class="show-input">{{ contactPhone }}</div>
+  <div class="line-container-p24">
+    <div class="df aic">
+      <div class="normal-label">代理名称</div>
+      <div class="show-input">{{ proxyName }}</div>
+      <div class="normal-label">联系人</div>
+      <div class="show-input">{{ contactName }}</div>
+      <div class="normal-label">联系人手机号</div>
+      <div class="show-input">{{ contactPhone }}</div>
+    </div>
+    <div class="df aic mt20">
+      <div class="normal-label">过期时间</div>
+      <el-date-picker
+        v-model="expiredTime"
+        class="mr20"
+        type="datetime"
+        format="YYYY/MM/DD"
+        value-format="YYYY/MM/DD"
+        placeholder="过期时间"
+        :disabled="!expiredTimeEditable"
+        size="small"
+      ></el-date-picker>
+      <el-button
+        v-if="!expiredTimeEditable"
+        @click="editExpiredTime"
+        size="mini"
+        type="primary"
+      >
+        修改
+      </el-button>
+      <el-button
+        v-if="expiredTimeEditable"
+        @click="submitExpiredTime"
+        size="mini"
+        type="primary"
+      >
+        提交
+      </el-button>
+      <el-button
+        v-if="expiredTimeEditable"
+        @click="cancelExpiredTime"
+        size="mini"
+      >
+        取消
+      </el-button>
+    </div>
   </div>
   <div class="container-title">子账号信息</div>
   <div class="line-container-p24">
@@ -128,8 +166,8 @@
         >
           <template v-slot="scope">
             {{ scope.row.roleName || "暂无职位" }}
-          </template></el-table-column
-        >
+          </template>
+        </el-table-column>
       </el-table>
       <div style="width: 100%; text-align: right; margin-top: 43px">
         <el-pagination
@@ -231,8 +269,9 @@
               type="danger"
               size="small"
               @click="unrelateCargoAgency(scope.row.cargoOwnerId)"
-              >取消关联</el-button
             >
+              取消关联
+            </el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -348,6 +387,7 @@ async function getAgencyCompanyDetail() {
     proxyName.value = res.data.result.proxyName;
     contactName.value = res.data.result.contactName;
     contactPhone.value = res.data.result.contactPhone;
+    expiredTime.value = res.data.result.expiredTime;
   } else {
     console.log(res);
   }
@@ -460,6 +500,29 @@ const unrelateCargoAgency = (cargoOwnerId) => {
     });
 };
 
+let expiredTime = ref("");
+let expiredTimeEditable = ref(false);
+let expiredTimeCache = "";
+function editExpiredTime() {
+  expiredTimeCache = expiredTime.value;
+  expiredTimeEditable.value = true;
+}
+async function submitExpiredTime() {
+  let res = await api.updateAgencyExpiredTime({
+    expiredTime: expiredTime.value,
+    proxyId: route.query.id,
+  });
+  if (res.data.status == 0) {
+    expiredTimeEditable.value = false;
+  } else {
+    console.log(res);
+  }
+}
+function cancelExpiredTime() {
+  expiredTime.value = expiredTimeCache;
+  expiredTimeEditable.value = false;
+}
+
 onMounted(() => {
   getAgencyCompanyDetail();
   getCargoOwnerCompanyByAgencyCompany();

+ 18 - 3
src/views/agencyManage/agencyCompanyList.vue

@@ -41,6 +41,16 @@
                 v-model="ruleForm.contactPhone"
               ></el-input>
             </el-form-item>
+            <el-form-item prop="expiredTime" label="过期时间">
+              <el-date-picker
+                v-model="ruleForm.expiredTime"
+                style="width: 280px"
+                type="datetime"
+                format="YYYY/MM/DD"
+                value-format="YYYY/MM/DD"
+                placeholder="过期时间"
+              ></el-date-picker>
+            </el-form-item>
           </el-form>
         </template>
         <template v-slot:footer>
@@ -137,11 +147,14 @@ const rules = ref({
   companyName: [
     { required: true, message: "请填写代理公司名称", trigger: "blur" },
   ],
-  contactName: [{ required: true, message: "请填写联系人", trigger: "blur" }],
+  contactName: [{ required: false, message: "请填写联系人", trigger: "blur" }],
   contactPhone: [
-    { required: true, message: "请填写手机号", trigger: "blur" },
+    { required: false, message: "请填写手机号", trigger: "blur" },
     { min: 11, max: 11, message: "请正确填写手机号", trigger: "blur" },
   ],
+  expiredTime: [
+    { required: false, message: "请填写过期时间", trigger: "blur" },
+  ],
 });
 async function getAgencyCompanyList(page) {
   currentPage.value = page || currentPage.value;
@@ -167,11 +180,13 @@ function resetForm() {
 async function addAgencyCompany() {
   form.value.validate(async (valid) => {
     if (valid) {
-      let { companyName, contactName, contactPhone } = ruleForm.value;
+      let { companyName, contactName, contactPhone, expiredTime } =
+        ruleForm.value;
       let res = await api.addAgencyCompany({
         companyName,
         contactName,
         contactPhone,
+        expiredTime,
       });
       console.log(res);
       if (res.data.status == 0) {

+ 68 - 7
src/views/cargoOwnerManage/cargoOwnerCompanyDetail.vue

@@ -9,13 +9,50 @@
     </div>
   </div>
   <div class="container-title">货主信息</div>
-  <div class="line-container-p24 df aic">
-    <div class="normal-label">货主名称</div>
-    <div class="show-input">{{ cargoOwnerName }}</div>
-    <div class="normal-label">联系人</div>
-    <div class="show-input">{{ contactName }}</div>
-    <div class="normal-label">联系人手机号</div>
-    <div class="show-input">{{ contactPhone }}</div>
+  <div class="line-container-p24">
+    <div class="df aic">
+      <div class="normal-label">货主名称</div>
+      <div class="show-input">{{ cargoOwnerName }}</div>
+      <div class="normal-label">联系人</div>
+      <div class="show-input">{{ contactName }}</div>
+      <div class="normal-label">联系人手机号</div>
+      <div class="show-input">{{ contactPhone }}</div>
+    </div>
+    <div class="df aic mt20">
+      <div class="normal-label">过期时间</div>
+      <el-date-picker
+        v-model="expiredTime"
+        class="mr20"
+        type="datetime"
+        format="YYYY/MM/DD"
+        value-format="YYYY/MM/DD"
+        placeholder="过期时间"
+        :disabled="!expiredTimeEditable"
+      ></el-date-picker>
+      <el-button
+        v-if="!expiredTimeEditable"
+        @click="editExpiredTime"
+        size="mini"
+        type="primary"
+      >
+        修改
+      </el-button>
+      <el-button
+        v-if="expiredTimeEditable"
+        @click="submitExpiredTime"
+        size="mini"
+        type="primary"
+      >
+        提交
+      </el-button>
+      <el-button
+        v-if="expiredTimeEditable"
+        @click="cancelExpiredTime"
+        size="mini"
+      >
+        取消
+      </el-button>
+    </div>
   </div>
   <div class="container-title">账号信息</div>
   <div class="line-container-p24">
@@ -262,6 +299,7 @@ async function getCargoOwnerCompanyDetail() {
     cargoOwnerName.value = res.data.result.cargoOwnerName;
     contactName.value = res.data.result.contactName;
     contactPhone.value = res.data.result.contactPhone;
+    expiredTime.value = res.data.result.expiredTime;
   } else {
     console.log(res);
   }
@@ -440,6 +478,29 @@ async function relateCargoAgency() {
   });
 }
 
+let expiredTime = ref("");
+let expiredTimeEditable = ref(false);
+let expiredTimeCache = "";
+function editExpiredTime() {
+  expiredTimeCache = expiredTime.value;
+  expiredTimeEditable.value = true;
+}
+async function submitExpiredTime() {
+  let res = await api.updateCargoOwnerExpiredTime({
+    expiredTime: expiredTime.value,
+    cargoOwnerId: route.query.id,
+  });
+  if (res.data.status == 0) {
+    expiredTimeEditable.value = false;
+  } else {
+    console.log(res);
+  }
+}
+function cancelExpiredTime() {
+  expiredTime.value = expiredTimeCache;
+  expiredTimeEditable.value = false;
+}
+
 onMounted(() => {
   getCargoOwnerCompanyDetail();
   getCargoOwnerAccountList();

+ 18 - 3
src/views/cargoOwnerManage/cargoOwnerCompanyList.vue

@@ -41,6 +41,16 @@
                 v-model="ruleForm.contactPhone"
               ></el-input>
             </el-form-item>
+            <el-form-item prop="expiredTime" label="过期时间">
+              <el-date-picker
+                v-model="ruleForm.expiredTime"
+                style="width: 280px"
+                type="datetime"
+                format="YYYY/MM/DD"
+                value-format="YYYY/MM/DD"
+                placeholder="过期时间"
+              ></el-date-picker>
+            </el-form-item>
           </el-form>
         </template>
         <template v-slot:footer>
@@ -137,11 +147,14 @@ const rules = ref({
   companyName: [
     { required: true, message: "请填写货主公司名称", trigger: "blur" },
   ],
-  contactName: [{ required: true, message: "请填写联系人", trigger: "blur" }],
+  contactName: [{ required: false, message: "请填写联系人", trigger: "blur" }],
   contactPhone: [
-    { required: true, message: "请填写手机号", trigger: "blur" },
+    { required: false, message: "请填写手机号", trigger: "blur" },
     { min: 11, max: 11, message: "请正确填写手机号", trigger: "blur" },
   ],
+  expiredTime: [
+    { required: false, message: "请填写过期时间", trigger: "blur" },
+  ],
 });
 async function getCargoOwnerCompanyList(page) {
   currentPage.value = page || currentPage.value;
@@ -166,11 +179,13 @@ function resetForm() {
 async function addCargoOwnerCompany() {
   form.value.validate(async (valid) => {
     if (valid) {
-      let { companyName, contactName, contactPhone } = ruleForm.value;
+      let { companyName, contactName, contactPhone, expiredTime } =
+        ruleForm.value;
       let res = await api.addCargoOwnerCompany({
         companyName,
         contactName,
         contactPhone,
+        expiredTime,
       });
       console.log(res);
       if (res.data.status == 0) {