Browse Source

凯合基础资料调试

wengyuwen 4 years ago
parent
commit
8d2c8e15c7

+ 74 - 0
src/api/kaihe/basicdata/container.js

@@ -0,0 +1,74 @@
+// 查询航线详情列表
+import request from '@/utils/request'
+
+export function listCorps(query) {
+  return request({
+    url: '/shipping/cntr/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询港口详情详细
+export function getCorps(fId) {
+  return request({
+    url: '/shipping/cntr/' + fId,
+    method: 'get'
+  })
+}
+
+// 新增
+export function addcontainer(data) {
+  return request({
+    url: '/shipping/cntr',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改航线详情
+export function updateCorps(data) {
+  return request({
+    url: '/shipping/address/edit',
+    method: 'put',
+    data: data
+  })
+}
+// 状态修改
+export function changeCorpsStatus(fId, fStatus) {
+  const data = {
+    fId,
+    fStatus
+  }
+  return request({
+    url: '/shipping/route',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除客户详情
+export function delCorps(fId) {
+  return request({
+    url: '/shipping/route/' + fId,
+    method: 'delete'
+  })
+}
+
+// 导出客户详情
+export function exportCorps(query) {
+  return request({
+    url: '/shipping/route/export',
+    method: 'get',
+    params: query
+  })
+}
+
+//查询港口名称
+export function getyard(query) {
+  return request({
+    url: '/shipping/address/selectStorageName',
+    method: 'get',
+    params: query
+  })
+}

+ 20 - 11
src/api/kaihe/basicdata/portinformation.js

@@ -1,35 +1,35 @@
-// 查询客户详情列表
+// 查询航线详情列表
 import request from '@/utils/request'
 
 export function listCorps(query) {
   return request({
-    url: '/shipping/port/list',
+    url: '/shipping/address/selectPortDump',
     method: 'get',
     params: query
   })
 }
 
-// 查询客户详情详细
+// 查询港口详情详细
 export function getCorps(fId) {
   return request({
-    url: '/shipping/port/' + fId,
+    url: '/shipping/address/' + fId,
     method: 'get'
   })
 }
 
 // 新增
-export function addroute(data) {
+export function addportinformation(data) {
   return request({
-    url: '/shipping/port',
+    url: '/shipping/address',
     method: 'post',
     data: data
   })
 }
 
-// 修改客户详情
+// 修改航线详情
 export function updateCorps(data) {
   return request({
-    url: '/shipping/port',
+    url: '/shipping/address/edit',
     method: 'put',
     data: data
   })
@@ -41,7 +41,7 @@ export function changeCorpsStatus(fId, fStatus) {
     fStatus
   }
   return request({
-    url: '/shipping/port',
+    url: '/shipping/route',
     method: 'put',
     data: data
   })
@@ -50,7 +50,7 @@ export function changeCorpsStatus(fId, fStatus) {
 // 删除客户详情
 export function delCorps(fId) {
   return request({
-    url: '/shipping/port/' + fId,
+    url: '/shipping/route/' + fId,
     method: 'delete'
   })
 }
@@ -58,7 +58,16 @@ export function delCorps(fId) {
 // 导出客户详情
 export function exportCorps(query) {
   return request({
-    url: '/shipping/port/export',
+    url: '/shipping/route/export',
+    method: 'get',
+    params: query
+  })
+}
+
+//查询港口名称
+export function getportinformation(query) {
+  return request({
+    url: '/shipping/address/selectPortName',
     method: 'get',
     params: query
   })

+ 16 - 7
src/api/kaihe/basicdata/route.js

@@ -1,18 +1,18 @@
-// 查询客户详情列表
+// 查询航线详情列表
 import request from '@/utils/request'
 
 export function listCorps(query) {
   return request({
-    url: '/shipping/route/list',
+    url: '/shipping/address/list',
     method: 'get',
     params: query
   })
 }
 
-// 查询客户详情详细
+// 查询航线详情详细
 export function getCorps(fId) {
   return request({
-    url: '/shipping/route/' + fId,
+    url: '/shipping/address/' + fId,
     method: 'get'
   })
 }
@@ -20,16 +20,16 @@ export function getCorps(fId) {
 // 新增
 export function addroute(data) {
   return request({
-    url: '/shipping/route',
+    url: '/shipping/address',
     method: 'post',
     data: data
   })
 }
 
-// 修改客户详情
+// 修改航线详情
 export function updateCorps(data) {
   return request({
-    url: '/shipping/route',
+    url: '/shipping/address/edit',
     method: 'put',
     data: data
   })
@@ -63,3 +63,12 @@ export function exportCorps(query) {
     params: query
   })
 }
+
+//查询航线名称
+export function getroute(query) {
+  return request({
+    url: '/shipping/address/selectAirLineName',
+    method: 'get',
+    params: query
+  })
+}

+ 17 - 8
src/api/kaihe/basicdata/wharf.js

@@ -1,35 +1,35 @@
-// 查询客户详情列表
+// 查询航线详情列表
 import request from '@/utils/request'
 
 export function listCorps(query) {
   return request({
-    url: '/shipping/route/list',
+    url: '/shipping/address/selectWarfDump',
     method: 'get',
     params: query
   })
 }
 
-// 查询客户详情详细
+// 查询港口详情详细
 export function getCorps(fId) {
   return request({
-    url: '/shipping/route/' + fId,
+    url: '/shipping/address/' + fId,
     method: 'get'
   })
 }
 
 // 新增
-export function addroute(data) {
+export function addwharf(data) {
   return request({
-    url: '/shipping/route',
+    url: '/shipping/address',
     method: 'post',
     data: data
   })
 }
 
-// 修改客户详情
+// 修改航线详情
 export function updateCorps(data) {
   return request({
-    url: '/shipping/route',
+    url: '/shipping/address/edit',
     method: 'put',
     data: data
   })
@@ -63,3 +63,12 @@ export function exportCorps(query) {
     params: query
   })
 }
+
+//查询港口名称
+export function getwharf(query) {
+  return request({
+    url: '/shipping/address/selectWharfName',
+    method: 'get',
+    params: query
+  })
+}

+ 17 - 8
src/api/kaihe/basicdata/yard.js

@@ -1,35 +1,35 @@
-// 查询客户详情列表
+// 查询航线详情列表
 import request from '@/utils/request'
 
 export function listCorps(query) {
   return request({
-    url: '/shipping/route/list',
+    url: '/shipping/address/selectStockDump',
     method: 'get',
     params: query
   })
 }
 
-// 查询客户详情详细
+// 查询港口详情详细
 export function getCorps(fId) {
   return request({
-    url: '/shipping/route/' + fId,
+    url: '/shipping/address/' + fId,
     method: 'get'
   })
 }
 
 // 新增
-export function addroute(data) {
+export function addyard(data) {
   return request({
-    url: '/shipping/route',
+    url: '/shipping/address',
     method: 'post',
     data: data
   })
 }
 
-// 修改客户详情
+// 修改航线详情
 export function updateCorps(data) {
   return request({
-    url: '/shipping/route',
+    url: '/shipping/address/edit',
     method: 'put',
     data: data
   })
@@ -63,3 +63,12 @@ export function exportCorps(query) {
     params: query
   })
 }
+
+//查询港口名称
+export function getyard(query) {
+  return request({
+    url: '/shipping/address/selectStorageName',
+    method: 'get',
+    params: query
+  })
+}

+ 3 - 0
src/views/basicdata/corps/index.vue

@@ -800,6 +800,7 @@
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.fId != null) {
+
               let formDate= new FormData()
             for (let index in this.fTypeidOptions){
               for (let item in this.form.fTypeid){
@@ -812,6 +813,7 @@
               formDate.append('corps',JSON.stringify(this.form));
               formDate.append('customerContacts',JSON.stringify(this.contactList));
               addCorps(formDate).then(response => {
+                console.log("111")
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
@@ -829,6 +831,7 @@
               formDate.append('corps',JSON.stringify(this.form));
               formDate.append('customerContacts',JSON.stringify(this.contactList));
               addCorps(formDate).then(response => {
+                console.log("222")
                 this.msgSuccess("新增成功");
                 this.open = false;
                 this.getList();

+ 136 - 200
src/views/kaihe/basicdata/container/index.vue

@@ -3,22 +3,16 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="编号" prop="fTypeid">
-            <el-select style="width: 250px" v-model="queryParams.fTypeid" placeholder="请选择客户类别" clearable size="small">
-              <el-option
-                v-for="dict in fTypeidOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
-              />
-            </el-select>
+          <el-form-item label="编号" prop="fNo">
+            <el-input style="width: 250px" v-model="queryParams.fNo" placeholder="请选择客户类别" clearable size="small">
+            </el-input>
           </el-form-item>
 
         </el-col>
         <el-col :span="8">
-          <el-form-item label="名称" prop="fNo">
+          <el-form-item label="名称" prop="fName">
             <el-input
-              v-model="queryParams.fNo"
+              v-model="queryParams.fName"
               style="width: 250px"
               placeholder="请输入名称"
               clearable
@@ -29,15 +23,17 @@
 
         </el-col>
         <el-col :span="8">
-          <el-form-item label="状态" prop="fName">
+          <el-form-item label="状态" prop="fStatus">
             <el-select
-              v-model="queryParams.fName"
+              v-model="queryParams.fStatus"
               style="width: 250px"
               placeholder="请输入或选择"
               clearable
               size="small"
               @keyup.enter.native="handleQuery"
             >
+              <el-option label="正常" value="T"/>
+              <el-option label="停用" value="F"/>
             </el-select>
           </el-form-item>
         </el-col>
@@ -45,40 +41,43 @@
       <div v-show="queryParamsHidden">
         <el-row>
           <el-col :span="8">
-            <el-form-item label="箱种类" prop="fTel">
-              <el-input
-                v-model="queryParams.fTel"
+            <el-form-item label="箱种类" prop="fType">
+              <el-select
+                v-model="queryParams.fType"
                 style="width: 250px"
-                placeholder="请输入电话"
+                placeholder=""
                 clearable
                 size="small"
                 @keyup.enter.native="handleQuery"
-              />
-            </el-form-item>
-
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="中文名" prop="fStatus">
-              <el-select
-                v-model="queryParams.fStatus"
-                placeholder="客户状态"
-                clearable
-                size="small"
-                style="width: 250px"
               >
                 <el-option
-                  v-for="dict in statusOptions"
+                  v-for="dict in containerOptions"
                   :key="dict.dictValue"
                   :label="dict.dictLabel"
                   :value="dict.dictValue"
                 />
               </el-select>
+
             </el-form-item>
 
           </el-col>
+<!--          <el-col :span="8">-->
+<!--            <el-form-item label="中文名" prop="fName">-->
+<!--              <el-input-->
+<!--                v-model="queryParams.fName"-->
+<!--                placeholder="客户状态"-->
+<!--                clearable-->
+<!--                size="small"-->
+<!--                style="width: 250px"-->
+<!--              >-->
+<!--              </el-input>-->
+<!--            </el-form-item>-->
+
+<!--          </el-col>-->
           <el-col :span="8">
             <el-form-item label="UNCODE">
               <el-input
+                v-model="queryParams.fUncode"
                 style="width: 250px"
                 clearable
                 size="small"
@@ -89,9 +88,9 @@
         </el-row>
         <el-row>
           <el-col :span="8">
-            <el-form-item label="录入人" prop="fTel">
+            <el-form-item label="录入人" prop="createBy">
               <el-input
-                v-model="queryParams.fTel"
+                v-model="queryParams.createBy"
                 style="width: 250px"
                 placeholder="请输入电话"
                 clearable
@@ -102,30 +101,27 @@
 
           </el-col>
           <el-col :span="8">
-            <el-form-item label="录入区间" prop="fStatus">
-              <el-select
-                v-model="queryParams.fStatus"
-                placeholder="客户状态"
-                clearable
-                size="small"
+            <el-form-item label="录入区间" prop="cLoadDate">
+              <el-date-picker
+                v-model="queryParams.cLoadDate"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
                 style="width: 250px"
               >
-                <el-option
-                  v-for="dict in statusOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                />
-              </el-select>
+              </el-date-picker>
             </el-form-item>
 
           </el-col>
           <el-col :span="8">
-            <el-form-item label="备注">
+            <el-form-item label="备注" prop="remark">
               <el-input
                 style="width: 250px"
                 clearable
                 size="small"
+                v-model="queryParams.remark"
               />
             </el-form-item>
 
@@ -202,18 +198,18 @@
     <el-table v-loading="loading" :data="corpsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" width="55" label="行号" align="center" />
-      <el-table-column :show-overflow-tooltip="true" label="编号" align="center" prop="fTypename" width="200px"/>
-      <el-table-column label="名称" align="center" prop="fNo" width="100px"/>
-      <el-table-column :show-overflow-tooltip="true" label="箱类型" align="center" prop="fName" width="100px"
+      <el-table-column :show-overflow-tooltip="true" label="编号" align="center" prop="fNo" width="200px"/>
+      <el-table-column label="名称" align="center" prop="fName" width="100px"/>
+      <el-table-column :show-overflow-tooltip="true" label="箱类型" align="center" prop="typeName" width="100px"
       />
-      <el-table-column :show-overflow-tooltip="true" label="英文名" align="center" width="100px" prop="fCname" />
-      <el-table-column :show-overflow-tooltip="true" label="UNCODE" align="center" prop="fEname" />
-      <el-table-column :show-overflow-tooltip="true" label="TEU" align="center" prop="fTel" />
+      <el-table-column :show-overflow-tooltip="true" label="英文名" align="center" width="100px" prop="fEname" />
+      <el-table-column :show-overflow-tooltip="true" label="UNCODE" align="center" prop="fUncode" />
+      <el-table-column :show-overflow-tooltip="true" label="TEU" align="center" prop="fTeu" />
 
-      <el-table-column label="箱容量(立方)" align="center" prop="createBy" />
-      <el-table-column label="毛重(T)" align="center" prop="createBy" />
-      <el-table-column label="状态" align="center" prop="createBy" />
-      <el-table-column label="备注" align="center" prop="createBy" />
+      <el-table-column label="箱容量(立方)" align="center" prop="fCbm" />
+      <el-table-column label="毛重(T)" align="center" prop="fWeight" />
+      <el-table-column label="状态" align="center" prop="fStatus" />
+      <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="录入人" align="center" prop="createBy" />
       <el-table-column label="录入时间" align="center" prop="createTime" width="100">
         <template slot-scope="scope">
@@ -279,80 +275,80 @@
 
         <el-row>
           <el-col :span="12">
-            <el-form-item label="箱种类" prop="fTypeid" label-width="90px">
-              <el-select style="width: 80%" v-model="form.fTypeid" :multiple="true" placeholder="请选择客户类别">
+            <el-form-item label="箱种类" prop="fType" label-width="90px">
+              <el-select style="width: 80%" :disabled="doNot" v-model="form.fType" placeholder="请选择客户类别">
                 <el-option
-                  v-for="dict in fTypeidOptions"
+                  v-for="dict in containerOptions"
                   :key="dict.dictValue"
                   :label="dict.dictLabel"
                   :value="dict.dictValue"
-                ></el-option>
+                />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="UNCODE" prop="fNo" label-width="90px">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" />
+            <el-form-item label="UNCODE" prop="fUncode" label-width="90px">
+              <el-input v-model="form.fUncode" :disabled="doNot" style="width: 80%" placeholder="请输入编号" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="编号" prop="fNo" label-width="90px">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" />
+              <el-input v-model="form.fNo" :disabled="doNot" style="width: 80%" placeholder="请输入编号" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="TEU" prop="fNo" label-width="90px">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" />
+            <el-form-item label="TEU" prop="fTeu" label-width="90px">
+              <el-input v-model="form.fTeu" :disabled="doNot" style="width: 80%" placeholder="请输入编号" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="名称" prop="fName" label-width="90px">
-              <el-input v-model="form.fName" style="width: 80%" placeholder="请输入名称" />
+              <el-input v-model="form.fName" :disabled="doNot" style="width: 80%" placeholder="请输入名称" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="英文名" prop="fCname" label-width="90px">
-              <el-input v-model="form.fCname" style="width: 80%" placeholder="请输入简称" />
+            <el-form-item label="英文名" prop="fEname" label-width="90px">
+              <el-input v-model="form.fEname" :disabled="doNot" style="width: 80%" placeholder="请输入简称" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="毛重" prop="fEname" label-width="90px">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" />
+            <el-form-item label="毛重" prop="fWeight" label-width="90px">
+              <el-input v-model="form.fWeight" :disabled="doNot" style="width: 80%" placeholder="请输入英文名称" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="容积" prop="fNo" label-width="90px">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" />
+            <el-form-item label="容积" prop="fCbm" label-width="90px">
+              <el-input v-model="form.fCbm" :disabled="doNot" style="width: 80%" placeholder="请输入编号" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="12">
-            <el-form-item label="箱类型" prop="fEname" label-width="90px">
-              <el-select v-model="form.fEname" style="width: 80%" placeholder="请输入内容" >
-                <el-option label="普柜" value=""></el-option>
-                <el-option label="冻柜" value=""></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="箱类型" prop="fEname" label-width="90px">-->
+<!--              <el-select v-model="form.fEname" style="width: 80%" placeholder="请输入内容" >-->
+<!--                <el-option label="普柜" value=""></el-option>-->
+<!--                <el-option label="冻柜" value=""></el-option>-->
+<!--              </el-select>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
         </el-row>
         <el-row>
           <el-col :span="12" label-width="90px">
-            <el-form-item label="email" prop="尺码值" label-width="90px">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入内容" />
+            <el-form-item label="尺码值" prop="fCntrsize" label-width="90px">
+              <el-input v-model="form.fCntrsize" :disabled="doNot" style="width: 80%" placeholder="请输入内容" />
             </el-form-item>
           </el-col>
           <el-col :span="12" label-width="90px">
-            <el-form-item label="状态" prop="fEname" label-width="90px">
-              <el-select v-model="form.fEname" style="width: 80%" placeholder="请输入内容" >
-                <el-option label="正常" value=""></el-option>
-                <el-option label="停用" value=""></el-option>
+            <el-form-item label="状态" prop="fStatus" label-width="90px">
+              <el-select v-model="form.fStatus" style="width: 80%" :disabled="doNot" placeholder="请输入内容" >
+                <el-option label="正常" value="T"/>
+                <el-option label="停用" value="F"/>
               </el-select>
             </el-form-item>
           </el-col>
@@ -360,14 +356,14 @@
         <el-row>
           <el-col :span="24" label-width="90px">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" style="width: 100%" placeholder="请输入电话" />
+              <el-input v-model="form.remark" style="width: 100%" :disabled="doNot" placeholder="请输入电话" />
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="info" round @click="submitForm">修 改</el-button>
-        <el-button type="success" round @click="submitForm">保 存</el-button>
+        <el-button type="info" round @click="doNot = false">修 改</el-button>
+        <el-button type="success" round @click="submitForm" :disabled="doNot">保 存</el-button>
         <el-button @click="cancel" round>关 闭</el-button>
       </div>
     </el-dialog>
@@ -375,7 +371,7 @@
 </template>
 
 <script>
-  import { listCorps, getCorps, delCorps, addCorps, updateCorps, changeCorpsStatus,exportCorps } from "@/api/basicdata/corps";
+  import { listCorps, getCorps, delCorps, addcontainer, updateCorps, changeCorpsStatus,exportCorps } from "@/api/kaihe/basicdata/container";
   import {queryUserVal} from "@/api/system/user";
   import { isArray } from '@/utils/validate'
   import Vue from 'vue'
@@ -440,6 +436,11 @@
     },
     data() {
       return {
+        //字典表箱种类
+        containerOptions:[],
+        //查看置灰
+        doNot:true,
+
         //默认显示第一行
         queryParamsHidden:false,
         //全屏放大
@@ -475,53 +476,32 @@
         queryParams: {
           pageNum: 1,
           pageSize: 10,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
+          fNo:null,
+          fName:null,
+          fStatus:null,
+          fType:null,
+          fUncode:null,
+          createBy:null,
+          cLoadDate:null,
+          remark:null
         },
         // 表单参数
-        form: {},
+        form: {
+          fType:null,
+          fUncode:null,
+          fNo:null,
+          fTeu:null,
+          fName:null,
+          fEname:null,
+          fWeight:null,
+          fCbm:null,
+          fCntrsize:null,
+          fStatus:'T',
+          remark:null
+        },
         // 表单校验
         rules: {
-           fTypeid: [
-            { required: true, message: "客户类别不能为空", trigger: "blur" }
-          ],
-          fNo: [
-            { required: true, message: "编号不能为空", trigger: "blur" }
-          ],
-          fName: [
-            { required: true, message: "名称不能为空", trigger: "blur" }
-          ],
-          fCname:[
-            { required: true, message: "简称不能为空", trigger: "blur" }
-          ],
-          fStatus: [
-            { required: true, message: "状态默认 T ,正常T 停用F 下拉选择不能为空", trigger: "blur" }
-          ],
+
         }
       };
     },
@@ -539,6 +519,11 @@
       this.getDicts("sys_normal_disable").then(response => {
         this.statusOptions = response.data;
       });
+      this.getDicts("f_type").then(response => {
+        console.log(response)
+        this.containerOptions = response.data;
+      });
+
     },
     methods: {
       full(){
@@ -587,40 +572,17 @@
       // 表单重置
       reset() {
         this.form = {
-          fId: null,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
-          delFlag: null,
-          createBy: null,
-          createTime: null,
-          updateBy: null,
-          updateTime: null,
-          remark: null
+          fType:null,
+          fUncode:null,
+          fNo:null,
+          fTeu:null,
+          fName:null,
+          fEname:null,
+          fWeight:null,
+          fCbm:null,
+          fCntrsize:null,
+          fStatus:'T',
+          remark:null
         };
         this.resetForm("form");
       },
@@ -661,6 +623,7 @@
       },
       /** 新增按钮操作 */
       handleAdd() {
+        this.doNot = false
         this.reset();
         this.query();
         this.contList();
@@ -669,56 +632,29 @@
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
+        this.doNot = true
         this.reset();
         const fId = row.fId || this.ids
         getCorps(fId).then(response => {
-          this.form = response.data["corp"];
-          var contactList1=response.data["customerContact"];
-          this.form.fTypeid = this.form.fTypeid.replace(/\[|]/g,'').replace(/\"/g, "").split(",")
-          if(contactList1!=null){
-            this.contactList=contactList1;
-          }else {
-            this.query();
-          }
+          console.log(response)
+          this.form = response.data;
+          this.form.fType = response.data.fType + ''
           this.open = true;
           this.title = "修改客户详情";
         });
       },
       /** 提交按钮 */
       submitForm() {
-        this.form.fTypename = ''
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.fId != null) {
-              let formDate= new FormData()
-            for (let index in this.fTypeidOptions){
-              for (let item in this.form.fTypeid){
-                if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                  this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                }
-              }
-            }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addcontainer(this.form).then(response => {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
               });
             } else {
-              let formDate= new FormData()
-              for (let index in this.fTypeidOptions){
-                for (let item in this.form.fTypeid){
-                  if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                    this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                  }
-                }
-              }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addcontainer(this.form).then(response => {
                 this.msgSuccess("新增成功");
                 this.open = false;
                 this.getList();

+ 194 - 223
src/views/kaihe/basicdata/portinformation/index.vue

@@ -2,56 +2,56 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-row>
-          <el-form-item label="港口名称" prop="fTypeid">
-            <el-select style="width: 240px" v-model="queryParams.fName" placeholder="请选择客户类别" clearable size="small">
+          <el-form-item label="港口名称" prop="fName">
+            <el-select
+              style="width: 240px"
+              v-model="queryParams.fName"
+              placeholder=""
+              clearable size="small"
+              :remote-method="portRemoteMethod">
               <el-option
-                v-for="dict in fTypeidOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
+                v-for="dict in portNameOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="航线" prop="fLaneid">
-            <el-input
-              v-model="queryParams.fLaneid"
+          <el-form-item label="航线" prop="portName">
+            <el-select
+              v-model="queryParams.portName"
               style="width: 240px"
               placeholder="请输入名称"
               clearable
               size="small"
               @keyup.enter.native="handleQuery"
-            />
+            >
+              <el-option
+                v-for="dict in routeOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
+              />
+            </el-select>
           </el-form-item>
 
           <el-form-item label="UNCODE" prop="fUncode">
-            <el-select
+            <el-input
               v-model="queryParams.fUncode"
               style="width: 240px"
-              placeholder="请输入或选择"
+              placeholder="请输入"
               clearable
               size="small"
               @keyup.enter.native="handleQuery"
             >
-            </el-select>
+            </el-input>
           </el-form-item>
-          <el-form-item label="港口" prop="fPortid">
-            <el-select
-              v-model="queryParams.fPortid"
-              style="width: 240px"
-              placeholder="请输入或选择"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            >
-            </el-select>
-          </el-form-item>
-
       </el-row>
       <div v-show="queryParamsHidden">
         <el-row>
-          <el-form-item label="国家" prop="fTel">
+          <el-form-item label="国家" prop="fCountry">
             <el-input
-              v-model="queryParams.fTel"
+              v-model="queryParams.fCountry"
               style="width: 240px"
               placeholder="请输入电话"
               clearable
@@ -60,37 +60,25 @@
             />
           </el-form-item>
 
-          <el-form-item label="省" prop="fStatus">
-            <el-select
-              v-model="queryParams.fStatus"
+          <el-form-item label="省" prop="fProvince">
+            <el-input
+              v-model="queryParams.fProvince"
               placeholder="客户状态"
               clearable
               size="small"
               style="width: 240px"
             >
-              <el-option
-                v-for="dict in statusOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
-              />
-            </el-select>
+            </el-input>
           </el-form-item>
-          <el-form-item label="市" prop="fStatus">
-            <el-select
-              v-model="queryParams.fStatus"
+          <el-form-item label="市" prop="fCity">
+            <el-input
+              v-model="queryParams.fCity"
               placeholder="客户状态"
               clearable
               size="small"
               style="width: 240px"
             >
-              <el-option
-                v-for="dict in statusOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
-              />
-            </el-select>
+            </el-input>
           </el-form-item>
           <el-form-item label="状态" prop="fStatus">
             <el-select
@@ -100,40 +88,33 @@
               size="small"
               style="width: 240px"
             >
-              <el-option
-                v-for="dict in statusOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
-              />
+              <el-option label="正常" value="T"/>
+              <el-option label="停用" value="F"/>
             </el-select>
           </el-form-item>
         </el-row>
         <el-row>
           <el-form-item label="录入人" prop="createBy">
-            <el-select
+            <el-input
               v-model="queryParams.createBy"
               placeholder=""
               clearable
               size="small"
               style="width: 240px"
             >
-              <el-option
-                v-for="dict in statusOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
-              />
-            </el-select>
+            </el-input>
           </el-form-item>
-          <el-form-item label="录入区间" prop="fStatus">
-            <el-input
-              v-model="queryParams.fStatus"
-              placeholder="客户状态"
-              clearable
-              size="small"
-              style="width: 240px"
-            />
+          <el-form-item label="录入区间" prop="cLoadDate">
+            <el-date-picker
+              v-model="queryParams.cLoadDate"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              style="width: 250px"
+            >
+            </el-date-picker>
 
           </el-form-item>
         </el-row>
@@ -217,32 +198,32 @@
     <el-table v-loading="loading" :data="corpsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" width="55" label="行号" align="center" />
-      <el-table-column :show-overflow-tooltip="true" label="港口类型" align="center" prop="fTypename" width="200px"/>
+      <el-table-column :show-overflow-tooltip="true" label="港口类型" align="center" prop="havenName" width="200px"/>
       <el-table-column label="港口编号" align="center" prop="fNo" width="100px"/>
-      <el-table-column :show-overflow-tooltip="true" label="港口简称" align="center" prop="fName" width="100px"
-      />
-      <el-table-column :show-overflow-tooltip="true" label="中文全称" align="center" width="100px" prop="fCname" />
+<!--      <el-table-column :show-overflow-tooltip="true" label="港口简称" align="center" prop="fName" width="100px"-->
+<!--      />-->
+      <el-table-column :show-overflow-tooltip="true" label="中文全称" align="center" width="100px" prop="fName" />
       <el-table-column :show-overflow-tooltip="true" label="英文全称" align="center" prop="fEname" />
-      <el-table-column :show-overflow-tooltip="true" label="航线" align="center" prop="fTel" />
+      <el-table-column :show-overflow-tooltip="true" label="航线" align="center" prop="fLaneid" />
 
-      <el-table-column label="UNCODE" align="center" prop="createBy" />
-      <el-table-column label="国家" align="center" prop="createBy" />
-      <el-table-column label="省" align="center" prop="createTime" width="100">
+      <el-table-column label="UNCODE" align="center" prop="fUncode" />
+      <el-table-column label="国家" align="center" prop="fCountry" />
+      <el-table-column label="省" align="center" prop="fProvince" width="100"/>
+      <el-table-column label="市" align="center" prop="fCity" width="100px"/>
+      <el-table-column label="状态" align="center" prop="fStatus" width="100"/>
+      <el-table-column label="备注" align="center" prop="remark" width="100"/>
+      <el-table-column label="录入人" align="center" prop="createBy" width="100"/>
+      <el-table-column label="录入时间" align="center" prop="createTime" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="市" align="center" prop="updateBy" width="100px"/>
-      <el-table-column label="状态" align="center" prop="updateTime" width="100">
+      <el-table-column label="最新修改人" align="center" prop="updateBy" width="100"/>
+      <el-table-column label="最新修改时间" align="center" prop="updateTime" width="100">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" class-name="small-padding fixed-width" width="100"/>
-      <el-table-column label="录入人" align="center" class-name="small-padding fixed-width" width="100"/>
-      <el-table-column label="录入时间" align="center" class-name="small-padding fixed-width" width="100"/>
-      <el-table-column label="最新修改人" align="center" class-name="small-padding fixed-width" width="100"/>
-      <el-table-column label="最新修改时间" align="center" class-name="small-padding fixed-width" width="100"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
         <template slot-scope="scope">
           <el-button
@@ -297,75 +278,95 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="港口类型" prop="fPort" label-width="90px">
-              <el-input style="width: 80%" v-model="form.fPort" :multiple="true" placeholder="请选择客户类别"/>
+              <el-select style="width: 80%" v-model="form.fPort"  placeholder="请选择港口类型" :disabled="doNot">
+                <el-option
+                  v-for="dict in portOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                  />
+              </el-select>
 
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="UNCODE" prop="fUncode" label-width="90px">
-              <el-input v-model="form.fUncode" style="width: 80%" placeholder="请输入编号" />
+              <el-input v-model="form.fUncode" style="width: 80%" placeholder="请输入编号" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="港口编号" prop="fNo" label-width="90px">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入名称" />
+              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入名称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="港口简称" prop="fCname" label-width="90px">
-              <el-input  style="width: 80%" placeholder="请输入简称" />
+            <el-form-item label="类型" prop="fTypes" label-width="90px">
+              <el-select style="width: 80%" v-model="form.fTypes" :disabled="doNot" placeholder="请输入编号">
+                <el-option
+                  v-for="(dict, index) in fTypesOptions"
+                  :key="index.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
-
         <el-row>
-
           <el-col :span="12">
-            <el-form-item label="全称" prop="fName" label-width="90px">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" />
+            <el-form-item label="港口全称" prop="fName" label-width="90px">
+              <el-input v-model="form.fName" style="width: 80%" placeholder="请输入英文名称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="英文名" prop="fEname" label-width="90px">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" />
+              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
         <el-col :span="12">
           <el-form-item label="航线" prop="fLaneid" label-width="90px">
-            <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" />
+            <el-select
+              v-model="form.fLaneid"
+              style="width: 80%"
+              placeholder="请输入"
+              :disabled="doNot"
+              :remote-method="routeRemoteMethod">
+              <el-option
+                v-for="dict in routeOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              />
+            </el-select>
           </el-form-item>
         </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="email" prop="国家" label-width="90px">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入内容" />
+            <el-form-item label="国家" prop="fCountry" label-width="90px">
+              <el-input v-model="form.fCountry" style="width: 80%" placeholder="请输入内容" :disabled="doNot"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="省" prop="fEname" label-width="90px">
-              <el-select v-model="form.fEname" style="width: 80%" placeholder="请输入内容" >
-                <el-option label="正常" value=""></el-option>
-                <el-option label="停用" value=""></el-option>
-              </el-select>
+            <el-form-item label="省" prop="fProvince" label-width="90px">
+              <el-input v-model="form.fProvince" style="width: 80%" placeholder="请输入内容" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="email" prop="市" label-width="90px">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入内容" />
+            <el-form-item label="市" prop="fCity" label-width="90px">
+              <el-input v-model="form.fCity" style="width: 80%" placeholder="请输入内容" :disabled="doNot"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="状态" prop="fEname" label-width="90px">
-              <el-select v-model="form.fEname" style="width: 80%" placeholder="请输入内容" >
-                <el-option label="正常" value=""></el-option>
-                <el-option label="停用" value=""></el-option>
+            <el-form-item label="状态" prop="fStatus" label-width="90px">
+              <el-select v-model="form.fStatus" style="width: 80%" placeholder="请输入内容" :disabled="doNot">
+                <el-option label="正常" value="T"></el-option>
+                <el-option label="停用" value="F"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -373,14 +374,14 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" style="width: 100%" placeholder="请输入电话" />
+              <el-input v-model="form.remark" style="width: 100%" placeholder="请输入电话" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="info" round @click="submitForm">修 改</el-button>
-        <el-button type="success" round @click="submitForm">保 存</el-button>
+        <el-button type="info" round @click="doNot = false">修 改</el-button>
+        <el-button type="success" round @click="submitForm" :disabled="doNot">保 存</el-button>
         <el-button @click="cancel" round>关 闭</el-button>
       </div>
     </el-dialog>
@@ -388,10 +389,11 @@
 </template>
 
 <script>
-  import { listCorps, getCorps, delCorps, addCorps, updateCorps, changeCorpsStatus,exportCorps } from "@/api/basicdata/corps";
+  import { listCorps, getCorps, delCorps, getportinformation, addportinformation,updateCorps, changeCorpsStatus,exportCorps } from "@/api/kaihe/basicdata/portinformation";
   import {queryUserVal} from "@/api/system/user";
   import { isArray } from '@/utils/validate'
   import Vue from 'vue'
+  import { getroute } from '@/api/kaihe/basicdata/route'
   Vue.directive('dialogDrag', {
     bind(el, binding, vnode, oldVnode) {
       const dialogHeaderEl = el.querySelector('.el-dialog__header')
@@ -455,6 +457,17 @@
       return {
         //默认显示第一行
         queryParamsHidden:false,
+        //查看置灰
+        doNot:true,
+        //港口类型字典表
+        fTypesOptions:[],
+        //港口类型数据字典
+        portOptions:[],
+        //模糊查询航线名称
+        routeOptions:[],
+        //模糊查询港口名称
+        portNameOptions:[],
+
         //全屏放大
         dialogFull:false,
         contactList:[],
@@ -488,53 +501,35 @@
         queryParams: {
           pageNum: 1,
           pageSize: 10,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
+          fName:null,
+          portName:null,
+          fUncode:null,
+          fPortid:null,
+          fCountry:null,
+          fProvince:null,
+          fCity:null,
+          fStatus:null,
+          createBy:null,
+          createTime:null,
         },
         // 表单参数
-        form: {},
+        form: {
+          fPort:null,
+          fUncode:null,
+          fNo:null,
+          fTypes:null,
+          fName:null,
+          fEname:null,
+          fLaneid:null,
+          fCountry:null,
+          fProvince:null,
+          fCity:null,
+          fStatus:'T',
+          remark:null
+        },
         // 表单校验
         rules: {
-           fTypeid: [
-            { required: true, message: "客户类别不能为空", trigger: "blur" }
-          ],
-          fNo: [
-            { required: true, message: "编号不能为空", trigger: "blur" }
-          ],
-          fName: [
-            { required: true, message: "名称不能为空", trigger: "blur" }
-          ],
-          fCname:[
-            { required: true, message: "简称不能为空", trigger: "blur" }
-          ],
-          fStatus: [
-            { required: true, message: "状态默认 T ,正常T 停用F 下拉选择不能为空", trigger: "blur" }
-          ],
+
         }
       };
     },
@@ -552,8 +547,33 @@
       this.getDicts("sys_normal_disable").then(response => {
         this.statusOptions = response.data;
       });
+      this.getDicts("f_types").then(response => {
+        this.fTypesOptions = response.data;
+      });
+      this.getDicts("f_port").then(response => {
+        console.log(response)
+        this.portOptions = response.data;
+      });
+      this.routeRemoteMethod()
+      this.portRemoteMethod()
     },
     methods: {
+      //模糊查询航线名称
+      routeRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getroute(queryParams).then((response) => {
+          console.log(response)
+          this.routeOptions = response.rows;
+          console.log(this.routeOptions)
+        });
+      },
+      //模糊查询港口名称
+      portRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getportinformation(queryParams).then(response =>{
+          this.portNameOptions = response.rows
+        })
+      },
       full(){
         this.dialogFull = !this.dialogFull
       },
@@ -575,6 +595,7 @@
       getList() {
         this.loading = true;
         listCorps(this.queryParams).then(response => {
+          console.log(response)
           this.corpsList = response.rows;
           this.total = response.total;
           this.loading = false;
@@ -600,40 +621,18 @@
       // 表单重置
       reset() {
         this.form = {
-          fId: null,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
-          delFlag: null,
-          createBy: null,
-          createTime: null,
-          updateBy: null,
-          updateTime: null,
-          remark: null
+          fPort:null,
+          fUncode:null,
+          fNo:null,
+          fTypes:null,
+          fName:null,
+          fEname:null,
+          fLaneid:null,
+          fCountry:null,
+          fProvince:null,
+          fCity:null,
+          fStatus:'T',
+          remark:null
         };
         this.resetForm("form");
       },
@@ -674,6 +673,7 @@
       },
       /** 新增按钮操作 */
       handleAdd() {
+        this.doNot = false
         this.reset();
         this.query();
         this.contList();
@@ -682,56 +682,27 @@
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
+        this.doNot = true
         this.reset();
         const fId = row.fId || this.ids
         getCorps(fId).then(response => {
-          this.form = response.data["corp"];
-          var contactList1=response.data["customerContact"];
-          this.form.fTypeid = this.form.fTypeid.replace(/\[|]/g,'').replace(/\"/g, "").split(",")
-          if(contactList1!=null){
-            this.contactList=contactList1;
-          }else {
-            this.query();
-          }
+          this.form = response.data;
           this.open = true;
           this.title = "修改客户详情";
         });
       },
       /** 提交按钮 */
       submitForm() {
-        this.form.fTypename = ''
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.fId != null) {
-              let formDate= new FormData()
-            for (let index in this.fTypeidOptions){
-              for (let item in this.form.fTypeid){
-                if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                  this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                }
-              }
-            }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addportinformation(this.form).then(response => {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
               });
             } else {
-              let formDate= new FormData()
-              for (let index in this.fTypeidOptions){
-                for (let item in this.form.fTypeid){
-                  if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                    this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                  }
-                }
-              }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addportinformation(this.form).then(response => {
                 this.msgSuccess("新增成功");
                 this.open = false;
                 this.getList();

+ 79 - 31
src/views/kaihe/basicdata/route/index.vue

@@ -4,12 +4,18 @@
       <el-row>
         <el-col :span="8">
           <el-form-item label="航线名称" prop="fName">
-            <el-select style="width: 250px" v-model="queryParams.fName" placeholder="请选择客户类别" clearable size="small">
+            <el-select
+              style="width: 250px"
+              v-model="queryParams.fName"
+              placeholder="请选择航线名称"
+              clearable size="small"
+              :remote-method="routeRemoteMethod"
+            >
               <el-option
-                v-for="dict in fTypeidOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
+                v-for="dict in routeOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
               />
             </el-select>
           </el-form-item>
@@ -38,6 +44,8 @@
               size="small"
               @keyup.enter.native="handleQuery"
             >
+              <el-option label="正常" value="T"/>
+              <el-option label="停用" value="F"/>
             </el-select>
           </el-form-item>
         </el-col>
@@ -58,21 +66,17 @@
 
           </el-col>
           <el-col :span="8">
-            <el-form-item label="录入区间" prop="fStatus">
-              <el-select
-                v-model="queryParams.fStatus"
-                placeholder="客户状态"
-                clearable
-                size="small"
+            <el-form-item label="录入区间" prop="cLoadDate">
+              <el-date-picker
+                v-model="queryParams.cLoadDate"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
                 style="width: 250px"
               >
-                <el-option
-                  v-for="dict in statusOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                />
-              </el-select>
+              </el-date-picker>
             </el-form-item>
           </el-col>
         </el-row>
@@ -227,8 +231,14 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="简称" prop="" label-width="90px">
-              <el-input style="width: 80%" :disabled="doNot" placeholder="请输入编号" />
+            <el-form-item label="类型" prop="fTypes" label-width="90px">
+              <el-select style="width: 80%" v-model="form.fTypes" :disabled="doNot" placeholder="请输入编号">
+                <el-option
+                  v-for="(dict, index) in fTypesOptions"
+                  :key="index.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -249,26 +259,39 @@
 
           <el-col :span="12">
             <el-form-item label="航线管理员" prop="fManagerid" label-width="90px">
-              <el-input v-model="form.fManagerid" :disabled="doNot" style="width: 80%" placeholder="请输入英文名称" />
+              <el-input v-model="form.fManagerid" :disabled="doNot" style="width: 80%" placeholder="请输入英文名称">
+
+              </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="联系电话" prop="fTel" label-width="90px">
-              <el-input v-model="form.fTel" :disabled="doNot" style="width: 80%" placeholder="请输入英文名称" />
+              <el-input
+                v-model="form.fTel"
+                :disabled="doNot"
+                style="width: 80%"
+                placeholder="请输入英文名称"
+                oninput="this.value = this.value.replace(/[^\d]/g,'')"
+                maxlength="11"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="email" prop="fEmail" label-width="90px">
-              <el-input v-model="form.fEmail" :disabled="doNot" style="width: 80%" placeholder="请输入内容" />
+              <el-input
+                v-model="form.fEmail"
+                :disabled="doNot"
+                style="width: 80%"
+                placeholder="请输入内容"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="状态" prop="fStatus" label-width="90px">
               <el-select v-model="form.fStatus" style="width: 80%" :disabled="doNot" placeholder="请输入内容" >
-                <el-option label="正常" value="T"></el-option>
-                <el-option label="停用" value="F"></el-option>
+                <el-option label="正常" value='T'></el-option>
+                <el-option label="停用" value='F'></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -276,7 +299,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" style="width: 100%" :disabled="doNot" placeholder="请输入电话" />
+              <el-input v-model="form.remark" style="width: 100%" :disabled="doNot" placeholder="" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -291,7 +314,7 @@
 </template>
 
 <script>
-  import { addroute,listCorps,getCorps,delCorps} from "@/api/kaihe/basicdata/route";
+  import { addroute,listCorps,getCorps,delCorps,getroute,updateCorps} from "@/api/kaihe/basicdata/route";
   import {queryUserVal} from "@/api/system/user";
   import { isArray } from '@/utils/validate'
   import Vue from 'vue'
@@ -360,6 +383,10 @@
         queryParamsHidden:false,
         //查看置灰
         doNot:true,
+        //港口类型字典表
+        fTypesOptions:[],
+        //模糊查询航线名称
+        routeOptions:[],
 
 
         //全屏放大
@@ -399,18 +426,20 @@
           fManagerid:null,
           fStatus:null,
           createBy:null,
+          cLoadDate:null,
 
         },
         // 表单参数
         form: {
           fNo:null,
+          fTypes:null,
           fName:null,
           fEname:null,
           fManagerid:null,
           fTel:null,
           fEmail:null,
-          fStatus:'T',
-          remark:null
+          fStatus:null,
+          remark:null,
         },
         // 表单校验
         rules: {
@@ -432,8 +461,23 @@
       this.getDicts("sys_normal_disable").then(response => {
         this.statusOptions = response.data;
       });
+      this.getDicts("f_types").then(response => {
+        console.log(response)
+        this.fTypesOptions = response.data;
+      });
+      this.routeRemoteMethod()
+
     },
     methods: {
+      //模糊查询航线名称
+      routeRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getroute(queryParams).then((response) => {
+          console.log(response)
+          this.routeOptions = response.rows;
+          console.log(this.routeOptions)
+        });
+      },
       full(){
         this.dialogFull = !this.dialogFull
       },
@@ -454,7 +498,10 @@
       /** 查询客户详情列表 */
       getList() {
         this.loading = true;
+        console.log(this.queryParams.cLoadDate)
+
         listCorps(this.queryParams).then(response => {
+          console.log(response)
           this.corpsList = response.rows;
           this.total = response.total;
           this.loading = false;
@@ -544,21 +591,22 @@
           this.form = response.data;
           this.open = true;
           this.title = "修改客户详情";
-          console.log(this.doNot)
         });
-        console.log(this.doNot)
       },
       /** 提交按钮 */
       submitForm() {
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.fId != null) {
+              console.log("111")
+              console.log(this.form.fStatus)
               addroute(this.form).then(response => {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
               });
             } else {
+              console.log(this.form)
               addroute(this.form).then(response => {
                 this.msgSuccess("新增成功");
                 this.open = false;

+ 151 - 163
src/views/kaihe/basicdata/wharf/index.vue

@@ -3,41 +3,58 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="港口名称" prop="fTypeid">
-            <el-select style="width: 250px" v-model="queryParams.fTypeid" placeholder="请选择客户类别" clearable size="small">
+          <el-form-item label="港口名称" prop="fPort">
+            <el-select
+              style="width: 250px"
+              v-model="queryParams.fPort"
+              placeholder="请选择客户类别"
+              clearable
+              size="small"
+              filterable
+              :remote-method="portRemoteMethod"
+            >
               <el-option
-                v-for="dict in fTypeidOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
+                v-for="dict in portNameOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
               />
             </el-select>
           </el-form-item>
 
         </el-col>
         <el-col :span="8">
-          <el-form-item label="码头" prop="fNo">
-            <el-input
-              v-model="queryParams.fNo"
+          <el-form-item label="码头" prop="fName">
+            <el-select
+              v-model="queryParams.fName"
               style="width: 250px"
               placeholder="请输入名称"
               clearable
               size="small"
               @keyup.enter.native="handleQuery"
-            />
+            >
+              <el-option
+                v-for="dict in wharfOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
+              />
+            </el-select>
           </el-form-item>
 
         </el-col>
         <el-col :span="8">
-          <el-form-item label="状态" prop="fName">
+          <el-form-item label="状态" prop="fStatus">
             <el-select
-              v-model="queryParams.fName"
+              v-model="queryParams.fStatus"
               style="width: 250px"
               placeholder="请输入或选择"
               clearable
               size="small"
               @keyup.enter.native="handleQuery"
             >
+              <el-option label="正常" value="T"/>
+              <el-option label="停用" value="F"/>
             </el-select>
           </el-form-item>
         </el-col>
@@ -46,9 +63,9 @@
       <div v-show="queryParamsHidden">
         <el-row>
           <el-col :span="8">
-            <el-form-item label="录入人" prop="fTel">
+            <el-form-item label="录入人" prop="createBy">
               <el-input
-                v-model="queryParams.fTel"
+                v-model="queryParams.createBy"
                 style="width: 250px"
                 placeholder="请输入电话"
                 clearable
@@ -59,27 +76,24 @@
 
           </el-col>
           <el-col :span="8">
-            <el-form-item label="录入区间" prop="fStatus">
-              <el-select
-                v-model="queryParams.fStatus"
-                placeholder="客户状态"
-                clearable
-                size="small"
+            <el-form-item label="录入区间" prop="fBsdate">
+              <el-date-picker
+                v-model="queryParams.cLoadDate"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
                 style="width: 250px"
               >
-                <el-option
-                  v-for="dict in statusOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                />
-              </el-select>
+              </el-date-picker>
             </el-form-item>
 
           </el-col>
           <el-col :span="8">
             <el-form-item label="备注">
               <el-input
+                v-model="queryParams.remark"
                 style="width: 250px"
                 clearable
                 size="small"
@@ -160,13 +174,13 @@
     <el-table v-loading="loading" :data="corpsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" width="55" label="行号" align="center" />
-      <el-table-column :show-overflow-tooltip="true" label="港口名称" align="center" prop="fTypename" width="200px"/>
+      <el-table-column :show-overflow-tooltip="true" label="港口名称" align="center" prop="fPort" width="200px"/>
       <el-table-column label="码头编号" align="center" prop="fNo" width="100px"/>
       <el-table-column :show-overflow-tooltip="true" label="码头全称" align="center" prop="fName" width="100px"
       />
-      <el-table-column :show-overflow-tooltip="true" label="英文全称" align="center" width="100px" prop="fCname" />
-      <el-table-column :show-overflow-tooltip="true" label="状态" align="center" prop="fEname" />
-      <el-table-column :show-overflow-tooltip="true" label="备注" align="center" prop="fTel" />
+      <el-table-column :show-overflow-tooltip="true" label="英文全称" align="center" width="100px" prop="fEname" />
+      <el-table-column :show-overflow-tooltip="true" label="状态" align="center" prop="fStatus" />
+      <el-table-column :show-overflow-tooltip="true" label="备注" align="center" prop="remark" />
 
       <el-table-column label="录入人" align="center" prop="createBy" />
       <el-table-column label="录入时间" align="center" prop="createTime" width="100">
@@ -233,14 +247,21 @@
 
         <el-row>
           <el-col :span="24">
-            <el-form-item label="港口简称" prop="fTypeid">
-              <el-select style="width: 90%" v-model="form.fTypeid" :multiple="true" placeholder="请选择客户类别">
+            <el-form-item label="港口简称" prop="fPort">
+              <el-select
+                style="width: 90%"
+                v-model="form.fPort"
+                placeholder="请选择客户类别"
+                :disabled="doNot"
+                filterable
+                :remote-method="portRemoteMethod"
+              >
                 <el-option
-                  v-for="dict in fTypeidOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                ></el-option>
+                  v-for="dict in portNameOptions"
+                  :key="dict.fId"
+                  :label="dict.fName"
+                  :value="dict.fName"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -248,26 +269,32 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="码头编号" prop="fNo">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" />
+              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" :disabled="doNot"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="码头称" prop="fName">
-              <el-input v-model="form.fName" style="width: 78%" placeholder="请输入名称" />
+            <el-form-item label="码头称" prop="fName">
+              <el-input v-model="form.fName" style="width: 78%" placeholder="请输入名称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
 
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="全称" prop="fName">
-              <el-input v-model="form.fName" style="width: 80%" placeholder="请输入名称" />
-            </el-form-item>
-          </el-col>
+          <el-form-item label="类型" prop="fTypes" label-width="90px">
+            <el-select style="width: 80%" v-model="form.fTypes" :disabled="doNot" placeholder="请输入编号">
+              <el-option
+                v-for="(dict, index) in fTypesOptions"
+                :key="index.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"/>
+            </el-select>
+          </el-form-item>
+        </el-col>
 
           <el-col :span="12">
-            <el-form-item label="英文名" prop="fCname">
-              <el-input v-model="form.fCname" style="width: 78%" placeholder="请输入简称" />
+            <el-form-item label="英文名" prop="fEname">
+              <el-input v-model="form.fEname" style="width: 78%" placeholder="请输入简称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -275,22 +302,25 @@
         <el-row>
 
           <el-col :span="12">
-            <el-form-item label="状态" prop="fEname">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" />
+            <el-form-item label="状态" prop="fStatus">
+              <el-select v-model="form.fStatus" style="width: 80%" placeholder="请输入英文名称" :disabled="doNot">
+                <el-option label="正常" value="T"/>
+                <el-option label="停用" value="F"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" style="width: 90%" placeholder="请输入电话" />
+              <el-input v-model="form.remark" style="width: 90%" placeholder="请输入电话" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="info" round @click="submitForm">修 改</el-button>
-        <el-button type="success" round @click="submitForm">保 存</el-button>
+        <el-button type="info" round @click="doNot = false">修 改</el-button>
+        <el-button type="success" round @click="submitForm" :disabled="doNot">保 存</el-button>
         <el-button @click="cancel" round>关 闭</el-button>
       </div>
     </el-dialog>
@@ -298,10 +328,12 @@
 </template>
 
 <script>
-  import { listCorps, getCorps, delCorps, addCorps, updateCorps, changeCorpsStatus,exportCorps } from "@/api/basicdata/corps";
+  import { getwharf,listCorps, getCorps, delCorps, addwharf, updateCorps, changeCorpsStatus,exportCorps } from "@/api/kaihe/basicdata/wharf";
   import {queryUserVal} from "@/api/system/user";
   import { isArray } from '@/utils/validate'
   import Vue from 'vue'
+  import { getportinformation } from '@/api/kaihe/basicdata/portinformation'
+  import { getyard } from '@/api/kaihe/basicdata/yard'
   Vue.directive('dialogDrag', {
     bind(el, binding, vnode, oldVnode) {
       const dialogHeaderEl = el.querySelector('.el-dialog__header')
@@ -365,6 +397,16 @@
       return {
         //默认显示第一行
         queryParamsHidden:false,
+        //查看置灰
+        doNot:true,
+        //模糊查询港口名称
+        portNameOptions:[],
+        //港口类型字典表
+        fTypesOptions:[],
+        //模糊查询码头
+        wharfOptions:[],
+
+
         //全屏放大
         dialogFull:false,
         contactList:[],
@@ -398,53 +440,26 @@
         queryParams: {
           pageNum: 1,
           pageSize: 10,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
+          fPort:null,
+          fName:null,
+          fStatus:null,
+          createBy:null,
+          fBsdate:null,
+          remark:null
         },
         // 表单参数
-        form: {},
+        form: {
+          fPort:null,
+          fNo:null,
+          fName:null,
+          fTypes:null,
+          fEname:null,
+          fStatus:'T',
+          remark:null
+        },
         // 表单校验
         rules: {
-           fTypeid: [
-            { required: true, message: "客户类别不能为空", trigger: "blur" }
-          ],
-          fNo: [
-            { required: true, message: "编号不能为空", trigger: "blur" }
-          ],
-          fName: [
-            { required: true, message: "名称不能为空", trigger: "blur" }
-          ],
-          fCname:[
-            { required: true, message: "简称不能为空", trigger: "blur" }
-          ],
-          fStatus: [
-            { required: true, message: "状态默认 T ,正常T 停用F 下拉选择不能为空", trigger: "blur" }
-          ],
+
         }
       };
     },
@@ -462,8 +477,36 @@
       this.getDicts("sys_normal_disable").then(response => {
         this.statusOptions = response.data;
       });
+      this.getDicts("f_types").then(response => {
+        this.fTypesOptions = response.data;
+      });
+      this.portRemoteMethod()
+      this.wharfRemoteMethod()
     },
     methods: {
+      //模糊查询港口名称
+      portRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getportinformation(queryParams).then(response =>{
+          this.portNameOptions = response.rows
+        })
+      },
+      //模糊查询码头名称
+      wharfRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getwharf(queryParams).then((response) => {
+          console.log(response)
+          this.wharfOptions = response.rows;
+          console.log(this.wharfOptions)
+        });
+      },
+      //模糊查询港口名称
+      portRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getportinformation(queryParams).then(response =>{
+          this.portNameOptions = response.rows
+        })
+      },
       full(){
         this.dialogFull = !this.dialogFull
       },
@@ -510,40 +553,13 @@
       // 表单重置
       reset() {
         this.form = {
-          fId: null,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
-          delFlag: null,
-          createBy: null,
-          createTime: null,
-          updateBy: null,
-          updateTime: null,
-          remark: null
+          fPort:null,
+          fNo:null,
+          fName:null,
+          fTypes:null,
+          fEname:null,
+          fStatus:'T',
+          remark:null
         };
         this.resetForm("form");
       },
@@ -584,6 +600,7 @@
       },
       /** 新增按钮操作 */
       handleAdd() {
+        this.doNot = false
         this.reset();
         this.query();
         this.contList();
@@ -592,56 +609,27 @@
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
+        this.doNot = true
         this.reset();
         const fId = row.fId || this.ids
         getCorps(fId).then(response => {
-          this.form = response.data["corp"];
-          var contactList1=response.data["customerContact"];
-          this.form.fTypeid = this.form.fTypeid.replace(/\[|]/g,'').replace(/\"/g, "").split(",")
-          if(contactList1!=null){
-            this.contactList=contactList1;
-          }else {
-            this.query();
-          }
+          this.form = response.data;
           this.open = true;
           this.title = "修改客户详情";
         });
       },
       /** 提交按钮 */
       submitForm() {
-        this.form.fTypename = ''
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.fId != null) {
-              let formDate= new FormData()
-            for (let index in this.fTypeidOptions){
-              for (let item in this.form.fTypeid){
-                if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                  this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                }
-              }
-            }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addwharf(this.form).then(response => {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
               });
             } else {
-              let formDate= new FormData()
-              for (let index in this.fTypeidOptions){
-                for (let item in this.form.fTypeid){
-                  if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                    this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                  }
-                }
-              }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addwharf(this.form).then(response => {
                 this.msgSuccess("新增成功");
                 this.open = false;
                 this.getList();

+ 132 - 138
src/views/kaihe/basicdata/yard/index.vue

@@ -3,28 +3,42 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-row>
         <el-col :span="8">
-          <el-form-item label="港口名称" prop="fPortid">
-            <el-select style="width: 250px" v-model="queryParams.fPortid" placeholder="请选择客户类别" clearable size="small">
+          <el-form-item label="港口名称" prop="portName">
+            <el-select
+              style="width: 250px"
+              v-model="queryParams.portName"
+              placeholder="请选择客户类别"
+              clearable size="small"
+              filterable
+              :remote-method="portRemoteMethod"
+            >
               <el-option
-                v-for="dict in fTypeidOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
+                v-for="dict in portNameOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
               />
             </el-select>
           </el-form-item>
 
         </el-col>
         <el-col :span="8">
-          <el-form-item label="堆场" prop="fNo">
-            <el-input
-              v-model="queryParams.fNo"
+          <el-form-item label="堆场" prop="fName">
+            <el-select
+              v-model="queryParams.fName"
               style="width: 250px"
               placeholder="请输入名称"
               clearable
               size="small"
               @keyup.enter.native="handleQuery"
-            />
+            >
+              <el-option
+                v-for="dict in yardOptions"
+                :key="dict.fId"
+                :label="dict.fName"
+                :value="dict.fName"
+              />
+            </el-select>
           </el-form-item>
 
         </el-col>
@@ -38,6 +52,8 @@
               size="small"
               @keyup.enter.native="handleQuery"
             >
+              <el-option label="正常" value="T"/>
+              <el-option label="停用" value="F"/>
             </el-select>
           </el-form-item>
 
@@ -59,21 +75,17 @@
 
           </el-col>
           <el-col :span="8">
-            <el-form-item label="录入区间" prop="fStatus">
-              <el-select
-                v-model="queryParams.fStatus"
-                placeholder=""
-                clearable
-                size="small"
+            <el-form-item label="录入区间" prop="cLoadDate">
+              <el-date-picker
+                v-model="queryParams.cLoadDate"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
                 style="width: 250px"
               >
-                <el-option
-                  v-for="dict in statusOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                />
-              </el-select>
+              </el-date-picker>
             </el-form-item>
 
           </el-col>
@@ -160,7 +172,7 @@
     <el-table v-loading="loading" :data="corpsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" width="55" label="行号" align="center" />
-      <el-table-column :show-overflow-tooltip="true" label="港口名称" align="center" prop="fPortid" width="200px"/>
+      <el-table-column :show-overflow-tooltip="true" label="港口名称" align="center" prop="portName" width="200px"/>
       <el-table-column label="堆场编号" align="center" prop="fNo" width="100px"/>
       <el-table-column :show-overflow-tooltip="true" label="堆场全称" align="center" prop="fName" width="100px"
       />
@@ -233,14 +245,21 @@
 
         <el-row>
           <el-col :span="24">
-            <el-form-item label="港口简称" prop="fTypeid">
-              <el-select style="width: 90%" v-model="form.fTypeid" :multiple="true" placeholder="请选择客户类别">
+            <el-form-item label="港口简称" prop="fPortid">
+              <el-select
+                style="width: 90%"
+                v-model="form.fPortid"
+                placeholder="请选择客户类别"
+                :disabled="doNot"
+                filterable
+                :remote-method="portRemoteMethod"
+              >
                 <el-option
-                  v-for="dict in fTypeidOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                ></el-option>
+                  v-for="dict in portNameOptions"
+                  :key="dict.fId"
+                  :label="dict.fName"
+                  :value="dict.fId"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -248,19 +267,35 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="堆场编号" prop="fNo">
-              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" />
+              <el-input v-model="form.fNo" style="width: 80%" placeholder="请输入编号" :disabled="doNot"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="类型" prop="fTypes" label-width="90px">
+              <el-select
+                style="width: 80%"
+                v-model="form.fTypes"
+                :disabled="doNot"
+                placeholder="请输入编号"
+              >
+                <el-option
+                  v-for="(dict, index) in fTypesOptions"
+                  :key="index.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="全称" prop="fName">
-              <el-input v-model="form.fName" style="width: 80%" placeholder="请输入名称" />
+              <el-input v-model="form.fName" style="width: 80%" placeholder="请输入名称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="英文名" prop="fCname">
-              <el-input v-model="form.fCname" style="width: 78%" placeholder="请输入简称" />
+            <el-form-item label="英文名" prop="fEname">
+              <el-input v-model="form.fEname" style="width: 78%" placeholder="请输入简称" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -268,22 +303,25 @@
         <el-row>
 
           <el-col :span="12">
-            <el-form-item label="状态" prop="fEname">
-              <el-input v-model="form.fEname" style="width: 80%" placeholder="请输入英文名称" />
+            <el-form-item label="状态" prop="fStatus">
+              <el-select v-model="form.fStatus" style="width: 80%" placeholder="请输入英文名称" :disabled="doNot">
+                <el-option label="正常" value="T"/>
+                <el-option label="停用" value="F"/>
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" style="width: 90%" placeholder="请输入电话" />
+              <el-input v-model="form.remark" style="width: 90%" placeholder="" :disabled="doNot"/>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="info" round @click="submitForm">修 改</el-button>
-        <el-button type="success" round @click="submitForm">保 存</el-button>
+        <el-button type="info" round @click="doNot = false">修 改</el-button>
+        <el-button type="success" round @click="submitForm" :disabled="doNot">保 存</el-button>
         <el-button @click="cancel" round>关 闭</el-button>
       </div>
     </el-dialog>
@@ -291,10 +329,12 @@
 </template>
 
 <script>
-  import { listCorps, getCorps, delCorps, addCorps, updateCorps, changeCorpsStatus,exportCorps } from "@/api/basicdata/corps";
+  import { getyard,listCorps, getCorps, delCorps, addyard,addCorps, updateCorps, changeCorpsStatus,exportCorps } from "@/api/kaihe/basicdata/yard";
   import {queryUserVal} from "@/api/system/user";
   import { isArray } from '@/utils/validate'
   import Vue from 'vue'
+  import { getportinformation } from '@/api/kaihe/basicdata/portinformation'
+  import { getroute } from '@/api/kaihe/basicdata/route'
   Vue.directive('dialogDrag', {
     bind(el, binding, vnode, oldVnode) {
       const dialogHeaderEl = el.querySelector('.el-dialog__header')
@@ -358,6 +398,14 @@
       return {
         //默认显示第一行
         queryParamsHidden:false,
+        //查看置灰
+        doNot:true,
+        //模糊查询港口名称
+        portNameOptions:[],
+        //港口类型字典表
+        fTypesOptions:[],
+        //模糊查询堆场名称
+        yardOptions:[],
 
         //全屏放大
         dialogFull:false,
@@ -392,41 +440,22 @@
         queryParams: {
           pageNum: 1,
           pageSize: 10,
-          fPortid:null,
+          portName:null,
+          fName:null,
           fStatus:null,
           createBy:null,
+          fBsdate:null,
           remark:null,
-
-
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
         },
         // 表单参数
-        form: {},
+        form: {
+          fNo:null,
+          fName:null,
+          fEname:null,
+          fStatus:'T',
+          remark:null,
+          fPortid:null
+        },
         // 表单校验
         rules: {
            fTypeid: [
@@ -461,8 +490,29 @@
       this.getDicts("sys_normal_disable").then(response => {
         this.statusOptions = response.data;
       });
+      this.getDicts("f_types").then(response => {
+        this.fTypesOptions = response.data;
+      });
+      this.portRemoteMethod()
+      this.yardRemoteMethod()
     },
     methods: {
+      //模糊查询航线名称
+      yardRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getyard(queryParams).then((response) => {
+          console.log(response)
+          this.yardOptions = response.rows;
+          console.log(this.yardOptions)
+        });
+      },
+      //模糊查询港口名称
+      portRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getportinformation(queryParams).then(response =>{
+          this.portNameOptions = response.rows
+        })
+      },
       full(){
         this.dialogFull = !this.dialogFull
       },
@@ -509,40 +559,12 @@
       // 表单重置
       reset() {
         this.form = {
-          fId: null,
-          fTypeid: null,
-          fNo: null,
-          fName: null,
-          fCname: null,
-          fEname: null,
-          fTel: null,
-          fFax: null,
-          fEmail: null,
-          fManage: null,
-          fAddr: null,
-          fEaddr: null,
-          fScale: null,
-          fProvince: null,
-          fCity: null,
-          fStltypeid: null,
-          fStldays: null,
-          fContractno: null,
-          fContractb: null,
-          fContracte: null,
-          fTax: null,
-          fInvtel: null,
-          fInvaddr: null,
-          fBankno: null,
-          fBankname: null,
-          fUbankno: null,
-          fUbankname: null,
-          fStatus: null,
-          delFlag: null,
-          createBy: null,
-          createTime: null,
-          updateBy: null,
-          updateTime: null,
-          remark: null
+          fNo:null,
+          fName:null,
+          fEname:null,
+          fStatus:'T',
+          remark:null,
+          fPortid:null
         };
         this.resetForm("form");
       },
@@ -583,6 +605,7 @@
       },
       /** 新增按钮操作 */
       handleAdd() {
+        this.doNot = false
         this.reset();
         this.query();
         this.contList();
@@ -591,56 +614,27 @@
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
+        this.doNot = true
         this.reset();
         const fId = row.fId || this.ids
         getCorps(fId).then(response => {
-          this.form = response.data["corp"];
-          var contactList1=response.data["customerContact"];
-          this.form.fTypeid = this.form.fTypeid.replace(/\[|]/g,'').replace(/\"/g, "").split(",")
-          if(contactList1!=null){
-            this.contactList=contactList1;
-          }else {
-            this.query();
-          }
+          this.form = response.data;
           this.open = true;
           this.title = "修改客户详情";
         });
       },
       /** 提交按钮 */
       submitForm() {
-        this.form.fTypename = ''
         this.$refs["form"].validate(valid => {
           if (valid) {
             if (this.form.fId != null) {
-              let formDate= new FormData()
-            for (let index in this.fTypeidOptions){
-              for (let item in this.form.fTypeid){
-                if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                  this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                }
-              }
-            }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addyard(this.form).then(response => {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
               });
             } else {
-              let formDate= new FormData()
-              for (let index in this.fTypeidOptions){
-                for (let item in this.form.fTypeid){
-                  if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                    this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
-                  }
-                }
-              }
-              this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-              formDate.append('corps',JSON.stringify(this.form));
-              formDate.append('customerContacts',JSON.stringify(this.contactList));
-              addCorps(formDate).then(response => {
+              addyard(this.form).then(response => {
                 this.msgSuccess("新增成功");
                 this.open = false;
                 this.getList();