Browse Source

凯合船舶动态修改

wengyuwen 4 năm trước cách đây
mục cha
commit
db9d34de91

+ 16 - 0
src/api/kaihe/shipDynamics/oceanFreightRate.js

@@ -72,3 +72,19 @@ export function getport(query) {
     params: query
   })
 }
+//查询船舶名称
+export function getvessel(query) {
+  return request({
+    url: '/shipping/vessel/selectTVesselfNumber',
+    method: 'get',
+    params: query
+  })
+}
+//查询集装箱
+export function getcntrName(query) {
+  return request({
+    url: '/shipping/cntr/selectRcntrName',
+    method: 'get',
+    params: query
+  })
+}

+ 2 - 0
src/views/kaihe/basicdata/container/index.vue

@@ -312,12 +312,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:cntr:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:cntr:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 2 - 0
src/views/kaihe/basicdata/portinformation/index.vue

@@ -332,12 +332,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:address:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:address:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 2 - 0
src/views/kaihe/basicdata/route/index.vue

@@ -271,12 +271,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:address:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:address:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 2 - 0
src/views/kaihe/basicdata/transport/index.vue

@@ -279,12 +279,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:address:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:address:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 2 - 0
src/views/kaihe/basicdata/wharf/index.vue

@@ -284,12 +284,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:address:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:address:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 2 - 0
src/views/kaihe/basicdata/yard/index.vue

@@ -281,12 +281,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:address:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:address:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 2 - 0
src/views/kaihe/containerNews/boxInformation/index.vue

@@ -294,12 +294,14 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['shipping:cntrno:updateTCntrno']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['shipping:cntrno:remove']"
             @click="handleDelete(scope.row)"
           >移除</el-button>
         </template>

+ 337 - 181
src/views/kaihe/shipDynamics/oceanFreightRate/index.vue

@@ -2,94 +2,124 @@
   <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="fNo">
-            <el-input
-              v-model="queryParams.fNo"
+          <el-form-item label="装货港" prop="fPortofloadid" label-width="110px">
+            <el-select
+              v-model="queryParams.fPortofloadid"
               style="width:200px"
-              placeholder="请输入编号"
               clearable
+              filterable
               size="small"
-            />
+              placeholder="请输入模糊查找"
+              :remote-method="portRemoteMethod"
+            >
+              <el-option
+                v-for="item in this.portOptions"
+                :key="item.fId"
+                :label="item.fName"
+                :value="item.fId"
+              />
+            </el-select>
           </el-form-item>
-        <el-form-item label="名称" prop="fName">
-          <el-input
-            v-model="queryParams.fName"
+        <el-form-item label="目的港" prop="fDistinationid" label-width="110px">
+          <el-select
+            v-model="queryParams.fDistinationid"
             style="width:200px"
-            placeholder="请输入编号"
             clearable
             size="small"
-          />
+            placeholder="请输入模糊查找"
+            :remote-method="portRemoteMethod"
+          >
+            <el-option
+              v-for="item in this.portOptions"
+              :key="item.fId"
+              :label="item.fName"
+              :value="item.fId"
+            />
+          </el-select>
         </el-form-item>
-          <el-form-item label="状态" prop="fStatus">
+          <el-form-item label="中转港" prop="fPortoftransshipment" label-width="110px">
             <el-select
-              v-model="queryParams.fStatus"
-              style="width: 200px"
-              placeholder="请选择状态"
+              v-model="queryParams.fPortoftransshipment"
+              style="width:200px"
               clearable
               size="small"
-              @keyup.enter.native="handleQuery"
+              placeholder="请输入模糊查找"
+              :remote-method="portRemoteMethod"
             >
-              <el-option label="正常" value="T"/>
-              <el-option label="停用" value="F"/>
+              <el-option
+                v-for="item in this.portOptions"
+                :key="item.fId"
+                :label="item.fName"
+                :value="item.fId"
+              />
             </el-select>
           </el-form-item>
 
-        <el-form-item label="录入区间" prop="cLoadDate">
+        <el-form-item label="预计开船日期" prop="fEtd" label-width="110px">
           <el-date-picker
-            v-model="queryParams.cLoadDate"
-            type="daterange"
+            v-model="queryParams.fEtd"
+            type="date"
             value-format="yyyy-MM-dd"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            style="width: 250px"
-          >
+            style="width: 200px"
+            placeholder="选择日期">
           </el-date-picker>
         </el-form-item>
       </el-row>
       <div v-show="queryParamsHidden">
         <el-row>
-            <el-form-item label="录入人" prop="createBy">
-              <el-input
-                v-model="queryParams.createBy"
+            <el-form-item label="预计到达日期" prop="fEta" label-width="110px">
+              <el-date-picker
+                v-model="queryParams.fEta"
+                type="date"
+                value-format="yyyy-MM-dd"
                 style="width: 200px"
-                placeholder="请输入录入人"
-                clearable
-                size="small"
-                @keyup.enter.native="handleQuery"
-              />
+                placeholder="选择日期">
+              </el-date-picker>
+
             </el-form-item>
-          <el-form-item label="国家代码" prop="fNationality">
-            <el-input
-              v-model="queryParams.fNationality"
+          <el-form-item label="有效期起" prop="fBegindate" label-width="110px">
+            <el-date-picker
+              v-model="queryParams.fBegindate"
+              type="date"
               style="width: 200px"
-              placeholder="请输入录入人"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
+              value-format="yyyy-MM-dd"
+              placeholder="选择日期">
+            </el-date-picker>
           </el-form-item>
-          <el-form-item label="船舶呼号" prop="fImo">
-            <el-input
-              v-model="queryParams.fImo"
+          <el-form-item label="有效期至" prop="fEnd" label-width="110px">
+            <el-date-picker
+              v-model="queryParams.fEnd"
+              type="date"
               style="width: 200px"
-              placeholder="请输入录入人"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
+              value-format="yyyy-MM-dd"
+              placeholder="选择日期">
+            </el-date-picker>
           </el-form-item>
-
-          <el-form-item label="备注" prop="remark">
-            <el-input
-              v-model="queryParams.remark"
-              type="textarea"
+          <el-form-item label="状态" prop="fImo" label-width="110px">
+            <el-select
+              v-model="queryParams.fStatus"
               style="width: 200px"
+              placeholder="请选择状态"
               clearable
               size="small"
-            />
+              @keyup.enter.native="handleQuery"
+            >
+              <el-option label="正常" value="T"/>
+              <el-option label="停用" value="F"/>
+            </el-select>
           </el-form-item>
 
+<!--          <el-form-item label="备注" prop="remark" label-width="110px">-->
+<!--            <el-input-->
+<!--              v-model="queryParams.remark"-->
+<!--              type="textarea"-->
+<!--              style="width: 200px"-->
+<!--              clearable-->
+<!--              size="small"-->
+<!--              :autosize="{ minRows: 2}"-->
+<!--            />-->
+<!--          </el-form-item>-->
+
         </el-row>
       </div>
     </el-form>
@@ -101,7 +131,7 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['shipping:items:add']"
+          v-hasPermi="['shipping:ctnprice:add']"
         >新增</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -111,7 +141,7 @@
           size="mini"
           :disabled="single"
           @click="handleUpdate"
-          v-hasPermi="['shipping:items:edit']"
+          v-hasPermi="['shipping:ctnprice:edit']"
         >修改</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -121,7 +151,7 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-          v-hasPermi="['shipping:items:remove']"
+          v-hasPermi="['shipping:ctnprice:remove']"
         >删除</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -130,7 +160,7 @@
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
-          v-hasPermi="['shipping:items:import']"
+          v-hasPermi="['shipping:ctnprice:import']"
         >导入</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -139,18 +169,18 @@
           icon="el-icon-download"
           size="mini"
           @click="handleExport"
-          v-hasPermi="['shipping:items:export']"
+          v-hasPermi="['shipping:ctnprice:export']"
         >导出</el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="info"
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['basicdata:yard:list']"
-        >取消</el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="info"-->
+<!--          icon="el-icon-download"-->
+<!--          size="mini"-->
+<!--          @click="handleExport"-->
+<!--          v-hasPermi="['basicdata:yard:list']"-->
+<!--        >取消</el-button>-->
+<!--      </el-col>-->
       <el-col  style="position: absolute;left:70%" :span="5" >
         <el-button  size="small" @click="queryParamsHidden ? (queryParamsHidden = false) : (queryParamsHidden = true)">{{ queryParamsHidden ? '隐藏' : '更多' }}</el-button>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -235,58 +265,61 @@
     <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" fixed="left"/>
-<!--      <el-table-column-->
-<!--        v-for="(item, index) in getRowList"-->
-<!--        :key="index"-->
-<!--        :label="item.name"-->
-<!--        :width="item.width"-->
-<!--        :prop="item.label"-->
-<!--        align="center"-->
-<!--        :fixed="item.fixed"-->
-<!--        :show-overflow-tooltip="true"-->
-<!--        sortable-->
-<!--      >-->
-<!--        <template slot-scope="scope">-->
-<!--          <span v-if="item.label == 'fNo'">{{scope.row.fNo}}</span>-->
-<!--          <span v-if="item.label == 'fName'">{{scope.row.fName}}</span>-->
-<!--          <span v-if="item.label == 'fEname'">{{scope.row.fEname}}</span>-->
-<!--          <span v-if="item.label == 'fNationality'">{{scope.row.fNationality}}</span>-->
-<!--          <span v-if="item.label == 'fImo'">{{scope.row.fImo}}</span>-->
-<!--          <span v-if="item.label == 'fStatus'">{{scope.row.fStatus}}</span>-->
-<!--          <span v-if="item.label == 'remark'">{{scope.row.remark}}</span>-->
-<!--          <span v-if="item.label == 'createBy'">{{scope.row.createBy}}</span>-->
-<!--          <span v-if="item.label == 'createTime'">{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>-->
-<!--          <span v-if="item.label == 'updateBy'">{{scope.row.updateBy}}</span>-->
-<!--          <span v-if="item.label == 'updateTime'">{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>-->
-<!--        </template>-->
-<!--      </el-table-column>-->
-<!--      <el-table-column label="编号" align="center" prop="fNo" width="100px"/>-->
-      <el-table-column :show-overflow-tooltip="true" label="装货港" align="center" prop="fPortofloadid" width="100px"/>
-      <el-table-column :show-overflow-tooltip="true" label="目的港" align="center" width="100px" prop="fDistinationid" />
-      <el-table-column :show-overflow-tooltip="true" label="中转港" align="center" prop="fPortoftransshipment" />
-      <el-table-column :show-overflow-tooltip="true" label="预计开船日期" align="center" prop="fEtd" />
-      <el-table-column :show-overflow-tooltip="true" label="预计到达日期" align="center" prop="fEta" />
-      <el-table-column :show-overflow-tooltip="true" label="航期" align="center" prop="fDays" />
-      <el-table-column :show-overflow-tooltip="true" label="有效期起" align="center" prop="fBegindate" />
-      <el-table-column :show-overflow-tooltip="true" label="有效期至" align="center" prop="fEnd" />
-      <el-table-column :show-overflow-tooltip="true" label="总teu" align="center" prop="fTeu" />
-      <el-table-column :show-overflow-tooltip="true" label="航期" align="center" prop="fDates" />
-      <el-table-column :show-overflow-tooltip="true" label="单价" align="center" prop="fPrice" />
-      <el-table-column :show-overflow-tooltip="true" label="集装箱" align="center" prop="fCntrid" />
-      <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">
+      <el-table-column
+        v-for="(item, index) in getRowList"
+        :key="index"
+        :label="item.name"
+        :width="item.width"
+        :prop="item.label"
+        align="center"
+        :fixed="item.fixed"
+        :show-overflow-tooltip="true"
+        sortable
+      >
         <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="100px">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
+          <span v-if="item.label == 'portofloadidName'">{{scope.row.portofloadidName}}</span>
+          <span v-if="item.label == 'distinationidName'">{{scope.row.distinationidName}}</span>
+          <span v-if="item.label == 'portoftransshipmentName'">{{scope.row.portoftransshipmentName}}</span>
+          <span v-if="item.label == 'fEtd'">{{scope.row.fEtd}}</span>
+          <span v-if="item.label == 'fEta'">{{scope.row.fEta}}</span>
+          <span v-if="item.label == 'fDays'">{{scope.row.fDays}}</span>
+          <span v-if="item.label == 'fBegindate'">{{scope.row.fBegindate}}</span>
+          <span v-if="item.label == 'fEnd'">{{scope.row.fEnd}}</span>
+          <span v-if="item.label == 'fTeu'">{{scope.row.fTeu}}</span>
+          <span v-if="item.label == 'fDates'">{{scope.row.fDates}}</span>
+          <span v-if="item.label == 'fStatus'">{{scope.row.fStatus}}</span>
+          <span v-if="item.label == 'createBy'">{{scope.row.createBy}}</span>
+          <span v-if="item.label == 'createTime'">{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+          <span v-if="item.label == 'updateBy'">{{scope.row.updateBy}}</span>
+          <span v-if="item.label == 'updateTime'">{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
+<!--      <el-table-column :show-overflow-tooltip="true" label="装货港" align="center" prop="portofloadidName" width="100px"/>-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="目的港" align="center" width="100px" prop="distinationidName" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="中转港" align="center" prop="portoftransshipmentName" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="预计开船日期" align="center" prop="fEtd" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="预计到达日期" align="center" prop="fEta" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="航期" align="center" prop="fDays" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="有效期起" align="center" prop="fBegindate" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="有效期至" align="center" prop="fEnd" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="总teu" align="center" prop="fTeu" />-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="航期" align="center" prop="fDates" />-->
+<!--&lt;!&ndash;      <el-table-column :show-overflow-tooltip="true" label="单价" align="center" prop="fPrice" />&ndash;&gt;-->
+<!--&lt;!&ndash;      <el-table-column :show-overflow-tooltip="true" label="集装箱" align="center" prop="fCntrid" />&ndash;&gt;-->
+<!--      <el-table-column :show-overflow-tooltip="true" label="状态" align="center" prop="fStatus" />-->
+<!--&lt;!&ndash;      <el-table-column :show-overflow-tooltip="true" label="备注" align="center" prop="remark" />&ndash;&gt;-->
+<!--      <el-table-column label="录入人" align="center" prop="createBy" />-->
+<!--      <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="100px">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
 
       <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="120px">
         <template slot-scope="scope">
@@ -294,7 +327,7 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
-            v-hasPermi="['shipping:items:edit']"
+            v-hasPermi="['shipping:ctnprice:edit']"
             @click="handleUpdate(scope.row)"
           >查看</el-button>
           <el-button
@@ -346,6 +379,7 @@
                 style="width: 80%"
                 clearable
                 filterable
+                :disabled="doNot"
                 placeholder="请输入模糊查找"
                 :remote-method="portRemoteMethod"
               >
@@ -364,6 +398,7 @@
                 v-model="form.fDistinationid"
                 placeholder="请输入模糊查找"
                 clearable
+                :disabled="doNot"
                 filterable
                 style="width: 80%"
                 :remote-method="portRemoteMethod"
@@ -384,6 +419,7 @@
                 style="width: 80%"
                 clearable
                 filterable
+                :disabled="doNot"
                 placeholder="请输入模糊查找"
                 :remote-method="portRemoteMethod"
               >
@@ -403,6 +439,7 @@
               <el-date-picker
                 v-model="form.fEtd"
                 type="date"
+                :disabled="doNot"
                 value-format="yyyy-MM-dd"
                 style="width: 80%"
                 placeholder="选择日期">
@@ -414,6 +451,7 @@
               <el-date-picker
                 v-model="form.fEta"
                 type="date"
+                :disabled="doNot"
                 value-format="yyyy-MM-dd"
                 style="width: 80%"
                 placeholder="选择日期">
@@ -426,6 +464,8 @@
               <el-input
                 v-model="form.fDays"
                 style="width: 80%"
+                clearable
+                :disabled="doNot"
                 value-format="yyyy-MM-dd"
                 placeholder="请输入"
               >
@@ -438,6 +478,7 @@
               <el-date-picker
                 v-model="form.fBegindate"
                 type="date"
+                :disabled="doNot"
                 style="width: 80%"
                 value-format="yyyy-MM-dd"
                 placeholder="选择日期">
@@ -449,6 +490,7 @@
               <el-date-picker
                 v-model="form.fEnd"
                 type="date"
+                :disabled="doNot"
                 style="width: 80%"
                 value-format="yyyy-MM-dd"
                 placeholder="选择日期">
@@ -460,6 +502,7 @@
               <el-input
                 v-model="form.fTeu"
                 style="width: 80%"
+                :disabled="doNot"
                 placeholder="请输入"
               >
               </el-input>
@@ -469,10 +512,22 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="航期" prop="fDates" label-width="110px">
-              <el-input
+              <el-select
                 v-model="form.fDates"
                 style="width: 80%"
-              />
+                :disabled="doNot"
+                clearable
+                multiple
+                placeholder="请输入航期"
+              >
+                <el-option label="周一" value="周一"/>
+                <el-option label="周二" value="周二"/>
+                <el-option label="周三" value="周三"/>
+                <el-option label="周四" value="周四"/>
+                <el-option label="周五" value="周五"/>
+                <el-option label="周六" value="周六"/>
+                <el-option label="周天" value="周天"/>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -480,6 +535,7 @@
               <el-select
                 v-model="form.fStatus"
                 style="width: 80%"
+                :disabled="doNot"
                 placeholder="请选择状态"
                 clearable
                 size="small"
@@ -500,6 +556,7 @@
           </template>
           <div>
             <el-button
+              :disabled="doNot"
               type="primary"
               @click.prevent="addRelevant()"
               size="small"
@@ -516,15 +573,18 @@
           >
             <el-table-column type="selection" width="55" align="center" />
             <el-table-column label="序号" type="index" width="80" />
-            <el-table-column  prop="fPid" header-align="center" align="center" width="150px" label="船名">
+            <el-table-column prop="fCntrid" header-align="center" align="center"  label="集装箱">
               <template slot-scope="scope">
-                <el-select v-model="scope.row.fPid" filterable>
-                </el-select>
-              </template>
-            </el-table-column>
-            <el-table-column prop="fCntrid" header-align="center" align="center" width="140px" label="集装箱">
-              <template slot-scope="scope">
-                <el-select v-model="scope.row.fCntrid">
+                <el-select
+                  v-model="scope.row.fCntrid"
+                  :disabled="doNot"
+                  size="small"
+                  clearable>
+                  <el-option
+                  v-for="item in cntrOptions"
+                  :key="item.fId"
+                  :label="item.fNo"
+                  :value="item.fId"/>
                 </el-select>
 
               </template>
@@ -533,15 +593,17 @@
               prop="fPrice"
               header-align="center"
               align="center"
-              width="140px"
               label="单价"
             >
               <template slot-scope="scope">
                 <el-input
+                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
                   v-model="scope.row.fPrice"
-                size="small">
-
-                </el-input>
+                  :disabled="doNot"
+                  placeholder="单价"
+                  clearable
+                  show-word-limit
+                />
               </template>
             </el-table-column>
             <el-table-column
@@ -555,6 +617,8 @@
                 <el-input
                   v-model="scope.row.remark"
                   size="small"
+                  :disabled="doNot"
+                  clearable
                   placeholder=""
                 >
                 </el-input>
@@ -564,11 +628,11 @@
               prop="fStatus"
               header-align="center"
               align="center"
-              width="140px"
               label="状态"
             >
               <template slot-scope="scope">
                 <el-select
+                  :disabled="doNot"
                   v-model="scope.row.fStatus"
                 >
                   <el-option label="正常" value="T" />
@@ -581,10 +645,10 @@
               header-align="center"
               align="center"
               label="操作"
-              width="130PX"
             >
               <template slot-scope="scope">
                 <el-button
+                  :disabled="doNot"
                   @click.native.prevent="wDeleteRow(scope.$index, dataList)"
                   size="small"
                 >移除</el-button
@@ -606,7 +670,7 @@
 </template>
 
 <script>
-  import { getyard,listCorps, getCorps, delCorps, addyard,getport,getyardNo, getyardName, changeCorpsStatus,exportCorps } from "@/api/kaihe/shipDynamics/oceanFreightRate";
+  import { getvessel,listCorps, getCorps, delCorps, addyard,getport,getcntrName, getyardName, changeCorpsStatus,exportCorps } from "@/api/kaihe/shipDynamics/oceanFreightRate";
   import Vue from 'vue'
   import draggable from "vuedraggable";
   import { getportinformation } from '@/api/kaihe/basicdata/portinformation'
@@ -674,6 +738,10 @@
     },
     data() {
       return {
+        //集装箱下拉搜索
+        cntrOptions:[],
+        //船名下拉搜索
+        vesselOptions:[],
         portOptions:[],
         dataList: [],
         activeNames: ['1'],
@@ -682,82 +750,110 @@
         tableDate: [
           {
             surface: "1",
-            label: "fNo",
-            name: "编号",
+            label: "portofloadidName",
+            name: "装货港",
             fixed:"left",
             checked: 0,
             width: 120,
           },
           {
             surface: "2",
-            label: "fName",
-            name: "名称",
+            label: "distinationidName",
+            name: "目的港",
             fixed:"left",
             checked: 0,
             width: 120,
           },
           {
             surface: "3",
-            label: "fEname",
-            name: "英文全称",
+            label: "portoftransshipmentName",
+            name: "中转港",
             fixed:"left",
             checked: 0,
             width: 120,
           },
           {
             surface: "4",
-            label: "fNationality",
-            name: "国家代码",
+            label: "fEtd",
+            name: "预计开船日期",
             fixed:"left",
             checked: 0,
             width: 120,
           },
           {
             surface: "5",
-            label: "fImo",
-            name: "船舶呼号",
+            label: "fEta",
+            name: "预计到达日期",
             fixed:"left",
             checked: 0,
             width: 120,
           },
           {
             surface: "6",
-            label: "fStatus",
-            name: "状态",
+            label: "fDays",
+            name: "航期",
             fixed:"left",
             checked: 0,
             width: 120,
           },
           {
             surface: "7",
-            label: "remark",
-            name: "备注",
+            label: "fBegindate",
+            name: "有效期起",
             checked: 0,
             width: 120,
           },
           {
             surface: "8",
+            label: "fEnd",
+            name: "有效期至",
+            checked: 0,
+            width: 120,
+          },
+          {
+            surface: "9",
+            label: "fTeu",
+            name: "总teu",
+            checked: 0,
+            width: 120,
+          },
+          {
+            surface: "10",
+            label: "fDates",
+            name: "航期",
+            checked: 0,
+            width: 120,
+          },
+          {
+            surface: "11",
+            label: "fStatus",
+            name: "状态",
+            checked: 0,
+            width: 120,
+          },
+          {
+            surface: "12",
             label: "createBy",
             name: "录入人",
             checked: 0,
             width: 120,
           },
           {
-            surface: "9",
+            surface: "13",
             label: "createTime",
             name: "录入时间",
             checked: 0,
             width: 120,
           },
           {
-            surface: "10",
+            surface: "14",
             label: "updateBy",
             name: "最新修改人",
             checked: 0,
             width: 120,
           },
           {
-            surface: "11",
+            surface: "15",
             label: "updateTime",
             name: "最新修改时间",
             checked: 0,
@@ -805,14 +901,14 @@
         queryParams: {
           pageNum: 1,
           pageSize: 10,
-          fNo:null,
-          fName:null,
-          fStatus:null,
-          cLoadDate:null,
-          createBy:null,
-          fNationality:null,
-          fImo:null,
-          remark:null
+          fPortofloadid:null,
+          fDistinationid:null,
+          fPortoftransshipment:null,
+          fEtd:null,
+          fEta:null,
+          fBegindate:null,
+          fEnd:null,
+          fStatus:null
         },
         // 表单参数
         form: {
@@ -830,20 +926,23 @@
         },
         // 表单校验
         rules: {
-           fTypeid: [
-            { required: true, message: "客户类别不能为空", trigger: "blur" }
+           fPortofloadid: [
+            { required: true, message: "装货港不能为空", trigger: "blur" }
           ],
-          fNo: [
-            { required: true, message: "编号不能为空", trigger: "blur" }
+          fDistinationid: [
+            { required: true, message: "目的港不能为空", trigger: "blur" }
           ],
-          fName: [
-            { required: true, message: "名称不能为空", trigger: "blur" }
+          fPortoftransshipment: [
+            { required: true, message: "中转港不能为空", trigger: "blur" }
           ],
-          fCname:[
-            { required: true, message: "简称不能为空", trigger: "blur" }
+          fEtd:[
+            { required: true, message: "预计开船日期不能为空", trigger: "blur" }
           ],
-          fStatus: [
-            { required: true, message: "状态默认 T ,正常T 停用F 下拉选择不能为空", trigger: "blur" }
+          fEta: [
+            { required: true, message: "预计到达日期不能为空", trigger: "blur" }
+          ],
+          fBegindate: [
+            { required: true, message: "有效期起不能为空", trigger: "blur" }
           ],
         }
       };
@@ -856,19 +955,42 @@
         this.fTypesOptions = response.data;
       });
       this.portRemoteMethod()
+      this.vesselRemoteMethod()
+      this.cntrRemoteMethod()
       this.getRow()
     },
     methods: {
+      //集装箱下拉搜索
+      cntrRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getcntrName(queryParams).then(response=>{
+          console.log(response)
+          this.cntrOptions = response.rows
+        })
+      },
+      //船名下拉搜索
+      vesselRemoteMethod(){
+        let queryParams = { pageNum: 1,};
+        getvessel(queryParams).then(response=>{
+          console.log(response)
+          this.vesselOptions = response.rows
+          console.log(this.vesselOptions)
+        })
+      },
       wDeleteRow(index, rows) {
         rows.splice(index, 1);
       },
       addRelevant(){
-        this.dataList.push({
-          fPid:null,
-          fCntrid:null,
-          fPrice:null,
-          remarks:null,
-          fStatus:null
+        this.$refs["form"].validate((valid) => {
+          if (valid) {
+            this.dataList.push({
+              fPid:null,
+              fCntrid:null,
+              fPrice:null,
+              remarks:null,
+              fStatus:'T'
+            })
+          }
         })
       },
       Selectinventory(selection) {
@@ -960,6 +1082,9 @@
       getList() {
         this.loading = true;
         listCorps(this.queryParams).then(response => {
+          for(let li in response.rows){
+            response.rows[li].fDates = JSON.parse(response.rows[li].fDates).join(",")
+          }
           this.corpsList = response.rows;
           this.total = response.total;
           this.loading = false;
@@ -1032,16 +1157,32 @@
       handleAdd() {
         this.doNot = false
         this.reset();
+        this.dataList = []
         this.open = true;
         this.title = "添加客户详情";
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
+       this.vesselRemoteMethod()
         this.doNot = true
         this.reset();
         const fId = row.fId || this.ids
         getCorps(fId).then(response => {
-          this.form = response.data;
+          console.log(response)
+          this.form = response.data.tCtnprice;
+          if(this.form.fDates){
+            this.form.fDates = JSON.parse(this.form.fDates)
+          }
+          if(response.data.tCtnprice){
+
+          }
+          if(response.data.tCtnprice){
+            this.dataList = response.data.ctnpriceItems
+            this.$set(this.dataList,'fPid',response.data.ctnpriceItems)
+          }
+
+
+          console.log(this.form.fDates)
           this.open = true;
           this.title = "修改客户详情";
         });
@@ -1050,10 +1191,25 @@
       submitForm() {
         this.$refs["form"].validate(valid => {
           if (valid) {
-            console.log(this.form)
-              addyard(this.form).then(response => {
+            if(this.form.fBegindate > this.form.fEnd){
+              this.$message.error("有效期至不能小于有效期起")
+              return false
+            }
+            if(this.form.fEtd > this.form.fEta){
+              this.$message.error("到达日期不能小于开船日期")
+              return false
+            }
+            let formData = new window.FormData();
+            // this.form.fDates = JSON.stringify(this.form.fDates)
+            formData.append("tCtnprice", JSON.stringify(this.form));
+            formData.append("tCtnpriceItems", JSON.stringify(this.dataList));
+              addyard(formData).then(response => {
                 this.msgSuccess("操作成功");
-                this.open = false;
+                this.form = response.data.ctnprice
+                this.dataList = response.data.ctnpriceItems
+                this.form.fDates = JSON.parse(this.form.fDates)
+                console.log(response)
+                this.open = true;
                 this.getList();
               })
             }

+ 18 - 17
src/views/kaihe/shipDynamics/vesselDetail/index.vue

@@ -588,8 +588,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
           <el-col :span="12">
             <el-form-item label="联系方式" prop="fTel" label-width="110px">
               <el-input
@@ -600,16 +598,6 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="航期" prop="fDays" label-width="110px">
-              <el-input
-                v-model="form.fDays"
-                style="width: 80%"
-                placeholder=""
-                :disabled="doNot"
-              />
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
@@ -637,6 +625,24 @@
             </el-form-item>
           </el-col>
         </el-row>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="航期" prop="fDays" label-width="110px">
+                <el-input
+                  v-model="form.fDays"
+                  style="width: 80%"
+                  placeholder=""
+                  :disabled="doNot"
+                />
+              </el-form-item>
+            </el-col>
+          <el-col :span="12">
+            <el-form-item label="总teu" prop="fTeu" label-width="110px">
+              <el-input style="width: 80%" size="small" v-model="form.fTeu" :disabled="doNot"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
         <el-row>
           <el-col :span="12">
             <el-form-item label="状态" prop="fStatus" label-width="110px">
@@ -646,11 +652,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="总teu" prop="fTeu" label-width="110px">
-              <el-input style="width: 80%" size="small" v-model="form.fTeu" :disabled="doNot"/>
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">

+ 3 - 7
src/views/kaihe/shipDynamics/vesselList/index.vue

@@ -630,7 +630,7 @@
         },
         // 表单校验
         rules: {
-           fTypeid: [
+          fImo: [
             { required: true, message: "客户类别不能为空", trigger: "blur" }
           ],
           fNo: [
@@ -639,9 +639,8 @@
           fName: [
             { required: true, message: "名称不能为空", trigger: "blur" }
           ],
-          fEname: [
-            {
-              validator: function(rule, value, callback) {
+          fEname: [{ required: true, message: "英文名不能为空", trigger: "blur" },
+            { validator: function(rule, value, callback) {
                 //  校验英文的正则
                 if (/[a-zA-z]$/.test(value) == false) {
                   callback(new Error("请输入英文字母"));
@@ -656,9 +655,6 @@
           fCname:[
             { required: true, message: "简称不能为空", trigger: "blur" }
           ],
-          fStatus: [
-            { required: true, message: "状态默认 T ,正常T 停用F 下拉选择不能为空", trigger: "blur" }
-          ],
         }
       };
     },