Sfoglia il codice sorgente

新加租箱和代理箱 箱轨迹模块

Qukatie 1 anno fa
parent
commit
b77fc7e256
28 ha cambiato i file con 1184 aggiunte e 370 eliminazioni
  1. 11 11
      src/api/boxManagement/boxTrack/index.js
  2. 24 0
      src/api/boxManagement/buyContainer/index.js
  3. 12 0
      src/enums/column-name.js
  4. 127 49
      src/views/basicData/container/archives.vue
  5. 398 67
      src/views/boxManagement/agentBox/detailsPage.vue
  6. 29 39
      src/views/boxManagement/agentBox/index.vue
  7. 6 4
      src/views/boxManagement/boxPoolDynamics/index.vue
  8. 164 75
      src/views/boxManagement/boxTrack/index.vue
  9. 2 2
      src/views/boxManagement/buyContainer/detailsPage.vue
  10. 5 5
      src/views/boxManagement/buyContainer/index.vue
  11. 1 1
      src/views/boxManagement/containerNumber/detailsPage.vue
  12. 1 1
      src/views/boxManagement/containerNumber/index.vue
  13. 349 31
      src/views/boxManagement/rentalBox/detailsPage.vue
  14. 8 32
      src/views/boxManagement/rentalBox/index.vue
  15. 1 1
      src/views/iosBasicData/AirtransportExport/bills/index.vue
  16. 1 1
      src/views/iosBasicData/AirtransportImport/bills/index.vue
  17. 1 1
      src/views/iosBasicData/OceanFreightImport/bills/index.vue
  18. 1 1
      src/views/iosBasicData/SeafreightExportF/bills/index.vue
  19. 1 1
      src/views/iosBasicData/aeamends/index.vue
  20. 1 1
      src/views/iosBasicData/aiamends/index.vue
  21. 2 2
      src/views/iosBasicData/costcenter/coc/index.vue
  22. 2 2
      src/views/iosBasicData/costcenter/soc/index.vue
  23. 1 1
      src/views/iosBasicData/seamends/index.vue
  24. 1 1
      src/views/iosBasicData/siamends/index.vue
  25. 11 14
      src/views/ow/owPut/detailsPage.vue
  26. 6 6
      src/views/ow/owPut/index.vue
  27. 12 15
      src/views/ow/owTask/detailsPage.vue
  28. 6 6
      src/views/ow/owTask/index.vue

+ 11 - 11
src/api/boxManagement/boxTrack/index.js

@@ -2,7 +2,7 @@ import request from '@/router/axios';
 //查询箱号
 export const selectArchivesList = (params) => {
   return request({
-    url: '/api/blade-box-tube/archives/selectArchivesList',
+    url: '/api/blade-los/archives/selectArchivesList',
     method: 'get',
     params: params
   })
@@ -10,7 +10,7 @@ export const selectArchivesList = (params) => {
 //查询列表
 export const getList = (params) => {
   return request({
-    url: '/api/blade-box-tube/archivestrajectory/list',
+    url: '/api/blade-los/archivestrajectory/list',
     method: 'get',
     params: params
   })
@@ -18,7 +18,7 @@ export const getList = (params) => {
 //查询明细
 export const detail = (params) => {
   return request({
-    url: '/api/blade-box-tube/tradingBox/detail',
+    url: '/api/blade-los/tradingBox/detail',
     method: 'get',
     params: params
   })
@@ -26,7 +26,7 @@ export const detail = (params) => {
 //删除
 export const remove = (ids) => {
   return request({
-    url: '/api/blade-box-tube/archivestrajectory/remove',
+    url: '/api/blade-los/archivestrajectory/remove',
     method: 'post',
     params: {
       ids,
@@ -36,7 +36,7 @@ export const remove = (ids) => {
 //删除图片
 export const tradingBoxFiles = (ids) => {
   return request({
-    url: '/api/blade-box-tube/tradingBoxFiles/remove',
+    url: '/api/blade-los/tradingBoxFiles/remove',
     method: 'post',
     params: {
       ids,
@@ -46,7 +46,7 @@ export const tradingBoxFiles = (ids) => {
 //修改
 export function update(params){
   return request({
-    url:'/api//blade-box-tube/archivestrajectory/update',
+    url:'/api//blade-los/archivestrajectory/update',
     method:'post',
     params: params
   })
@@ -54,7 +54,7 @@ export function update(params){
 //删除明细
 export const tradingBoxItem = (ids) => {
   return request({
-    url: '/api/blade-box-tube/tradingBoxItem/remove',
+    url: '/api/blade-los/tradingBoxItem/remove',
     method: 'post',
     params: {
       ids,
@@ -64,7 +64,7 @@ export const tradingBoxItem = (ids) => {
 //删除费用明细
 export const tradingBoxFees = (ids) => {
   return request({
-    url: '/api/blade-box-tube/tradingBoxFees/remove',
+    url: '/api/blade-los/tradingBoxFees/remove',
     method: 'post',
     params: {
       ids,
@@ -74,7 +74,7 @@ export const tradingBoxFees = (ids) => {
 //新增删除
 export function submit(data){
   return request({
-    url:'/api/blade-box-tube/tradingBox/submit',
+    url:'/api/blade-los/tradingBox/submit',
     method:'post',
     data
   })
@@ -84,7 +84,7 @@ export function submit(data){
 // 请核
 export function pleaseCheck(data) {
   return request({
-    url: '/api/blade-box-tube/tradingBox/checkTradingBox',
+    url: '/api/blade-los/tradingBox/checkTradingBox',
     method: 'post',
     data: data
   })
@@ -92,7 +92,7 @@ export function pleaseCheck(data) {
 // 撤销
 export function repealCancel(data) {
   return request({
-    url: '/api/blade-box-tube/tradingBox/withdrawTradingBox',
+    url: '/api/blade-los/tradingBox/withdrawTradingBox',
     method: 'post',
     data: data
   })

+ 24 - 0
src/api/boxManagement/buyContainer/index.js

@@ -53,6 +53,22 @@ export const tradingBoxFees = (data) => {
 
   })
 }
+//租金条款明细删除
+export const renttermRemove = (data) => {
+  return request({
+    url: '/api/blade-los/rentterm/remove',
+    method: 'post',
+    params: data
+  })
+}
+//租金条款明细删除
+export const boxRemove = (data) => {
+  return request({
+    url: '/api/blade-los/tradingboxtype/remove',
+    method: 'post',
+    params: data
+  })
+}
 //新增删除
 export function submit(data){
   return request({
@@ -62,6 +78,14 @@ export function submit(data){
   })
 }
 //明细保存
+export function submitBoxList(data){
+  return request({
+    url:'/api/blade-los/tradingboxtype/submitList',
+    method:'post',
+    data
+  })
+}
+//明细保存
 export function submitItemList(data){
   return request({
     url:'/api/blade-los/tradingBoxItem/submitList',

+ 12 - 0
src/enums/column-name.js

@@ -2058,6 +2058,18 @@ const columnName = [{
   },{
     code: 471,
     name: '永发-箱管-OW放明细表'
+  },{
+    code: 472,
+    name: '永发-箱管-租箱-列表页'
+  },{
+    code: 473,
+    name: '永发-箱管-租箱-详情页明细表'
+  },{
+    code: 474,
+    name: '永发-箱管-代理箱-列表页'
+  },{
+    code: 475,
+    name: '永发-箱管-代理箱-详情页明细表'
   }
 ]
 export const getColumnName = (key) => {

+ 127 - 49
src/views/basicData/container/archives.vue

@@ -27,8 +27,8 @@
           @row-update="rowUpdateTrack"
           @resetColumn="resetColumnTwo('crudTrack', 'optionTrack', 'optionTrackBack', 234.1)"
           @saveColumn="saveColumnTwo('crudTrack', 'optionTrack', 'optionTrackBack', 234.1)" v-model="formTrack">
-          <template slot-scope="{type,size,row,index,disabled}" slot="contractNo">
-            <span class="el-button--text" style="cursor: pointer" @click="contractNoJump(row)">{{ row.contractNo
+          <template slot-scope="{type,size,row,index,disabled}" slot="code">
+            <span class="el-button--text" style="cursor: pointer" @click="contractNoJump(row)">{{ row.code
               }}</span>
           </template>
           <template slot-scope="{type,size,row,index,disabled}" slot="menu">
@@ -73,7 +73,7 @@ export default {
         span: 8,
         searchMenuPosition: "right",
         searchSpan: 6,
-        searchMenuSpan: 12,
+        searchMenuSpan: 18,
         searchIcon: true,
         searchIndex: 3,
         addRowBtn: false,
@@ -85,62 +85,140 @@ export default {
         dialogWidth: "80%",
         column: [
           {
-            label: '合同号',
-            prop: 'contractNo',
-            overHidden: true
-          }, {
             label: '箱号',
             prop: 'code',
             overHidden: true,
-          }, {
-            label: '地点',
-            prop: 'address',
-            overHidden: true,
-            formProp: 'address',
             search: true
-          }, {
-            label: '日期',
+          }, 
+          {
+            label: '放箱号',
+            prop: 'containerNumber',
+            overHidden: true,
+          }, 
+          {
+            label: '箱型',
+            prop: 'boxType',
+            overHidden: true,
+          }, 
+          {
+            label: '箱东',
+            prop: 'boxEastName',
+            overHidden: true,
+          }, 
+          {
+            label: '箱种类',
+            prop: 'boxCategory',
+            overHidden: true,
+          }, 
+          {
+            label: '箱动态',
+            prop: 'boxDynamics',
+            overHidden: true,
+          }, 
+          {
+            label: '动态日期',
             prop: 'newDate',
-            search: true,
-            searchProp: 'newDateList',
             overHidden: true,
-            type: "date",
-            searchRange: true,
-            searchDefaultTime: ["00:00:00", "23:59:59"],
-            format: "yyyy-MM-dd",
-            valueFormat: "yyyy-MM-dd HH:mm:ss"
-          }, {
+          }, 
+          {
+            label: '港口',
+            prop: 'portCname',
+            overHidden: true,
+          }, 
+          {
+            label: '场站',
+            prop: 'stationCname',
+            overHidden: true,
+          }, 
+          {
             label: '客户名称',
             prop: 'corpName',
-            overHidden: true
+            overHidden: true,
+          }, 
+          {
+            label: '提单号',
+            prop: 'mblno',
+            overHidden: true,
+          }, 
+          {
+            label: '船名',
+            prop: 'shipCname',
+            overHidden: true,
+          }, 
+          {
+            label: '航次',
+            prop: 'voyage',
+            overHidden: true,
           }, 
-          // {
-          //   label: '收款对象',
-          //   prop: 'corpNameCollect',
-          //   overHidden: true
-          // }, {
-          //   label: '应收',
-          //   prop: 'collect',
-          //   overHidden: true
-          // }, {
-          //   label: '付款对象',
-          //   prop: 'corpNameCollect',
-          //   overHidden: true
-          // }, 
-          // {
-          //   label: '应付',
-          //   prop: 'pay',
-          //   overHidden: true
-          // }, 
           {
-            label: '业务类型',
-            prop: 'billType',
-            overHidden: true
-          }, {
-            label: '状态',
-            prop: 'status',
-            overHidden: true
-          }]
+            label: 'ETD',
+            prop: 'etd',
+            overHidden: true,
+          }, 
+          {
+            label: 'POL堆场',
+            prop: 'polCyCname',
+            overHidden: true,
+          }, 
+          {
+            label: 'POL免箱使天数',
+            prop: 'polFreeBoxUseDays',
+            width:110,
+            overHidden: true,
+          }, 
+          {
+            label: 'POL提前出场日期',
+            prop: 'polPreAppearanceDate',
+            width:120,
+            overHidden: true,
+          }, 
+          {
+            label: 'POL场站空箱出场日期',
+            prop: 'polStationEmptyContainerExitDate',
+            width:140,
+            overHidden: true,
+          }, 
+          {
+            label: 'POL还箱日期',
+            prop: 'polReturnDate',
+            width:100,
+            overHidden: true,
+          }, 
+          {
+            label: 'POL超期箱使天数',
+            prop: 'polOverdueBoxUseDays',
+            width:120,
+            overHidden: true,
+          }, 
+          {
+            label: 'ETA',
+            prop: 'eta',
+            overHidden: true,
+          }, 
+          {
+            label: 'POD空箱还箱日期',
+            prop: 'podEmptyContainerReturnDate',
+            width:120,
+            overHidden: true,
+          }, 
+          {
+            label: 'POD场站',
+            prop: 'podStationCname',
+            overHidden: true,
+          }, 
+          {
+            label: 'POD免箱使天数',
+            prop: 'containerNumber',
+            width:110,
+            overHidden: true,
+          }, 
+          {
+            label: 'POD箱使天数',
+            prop: 'podFreeBoxUseDays',
+            width:100,
+            overHidden: true,
+          }
+        ]
       },
       excelBox: false,
       loading: false,

+ 398 - 67
src/views/boxManagement/agentBox/detailsPage.vue

@@ -35,10 +35,15 @@
           <trade-card title="基础信息">
             <avue-form :option="optionForm" v-model="form" ref="form">
               <tempalte slot="purchaseCompanyName">
-                <dic-select v-model="form.purchaseCompanyName" placeholder="出售方" key="id" label="cnName" res="records"
-                  url="/blade-los/bcorps/selectList?corpTypeName=箱东" :filterable="true" :remote="true" dataName="cnName"
+                <dic-select v-model="form.purchaseCompanyName" placeholder="代理名称" key="id" label="cnName" res="records"
+                  url="/blade-los/bcorps/selectList?corpTypeName=国外同行及代理" :filterable="true" :remote="true" dataName="cnName"
                   @selectChange="dicChange('purchaseCompanyName', $event)"></dic-select>
               </tempalte>
+              <tempalte slot="podCname">
+                <dic-select v-model="form.podCname" placeholder="目的港" key="id" label="cnName" res="records"
+                  url="/blade-los/blocations/list" :filterable="true" :remote="true" dataName="cnName"
+                  @selectChange="dicChange('podCname', $event)"></dic-select>
+              </tempalte>
               <tempalte slot="stationCname">
                 <dic-select v-model="form.stationCname" placeholder="场站" key="id" label="cnName" res="records"
                   url="/blade-los/blocations/list" :filterable="true" :remote="true" dataName="cnName"
@@ -51,13 +56,68 @@
               </tempalte>
             </avue-form>
           </trade-card>
+          <trade-card title="箱型箱量">
+            <avue-crud ref="crudBox" :option="boxOption" :data="form.boxTypeList"
+              @selection-change="boxSelectionChange">
+              <template slot="menuLeft">
+                <el-button type="info" plain size="small" :disabled="editDisabled || !form.id"
+                  @click="allClick('box一键保存')">一键保存</el-button>
+                <el-button type="info" plain size="small" :disabled="editDisabled || form.boxTypeList.length == 0"
+                  @click="allClick('box一键编辑')">一键编辑</el-button>
+                <el-button type="danger" plain size="small" :disabled="editDisabled || boxSelectionList.length == 0"
+                  @click="allClick('box批量删除')">批量删除</el-button>
+              </template>
+              <template slot="indexHeader" slot-scope="{row,index}">
+                <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle
+                  @click="boxAddRow()">
+                </el-button>
+              </template>
+              <template slot="index" slot-scope="{row,index}">
+                <span>{{ index + 1 }}</span>
+              </template>
+              <template slot="boxTypeForm" slot-scope="{ row }">
+                <dic-select v-if="row.$cellEdit" v-model="row.boxType" key="id" label="cnName" res="records"
+                  url="/blade-los/bcntrtypes/list?status=0&current=1&size=20" :filterable="true" :remote="true"
+                  dataName="cnName" @selectChange="rowDicChange('boxType', $event, row)"></dic-select>
+                <span v-else>{{ row.boxType }}</span>
+              </template>
+              <!-- <template slot="rentTermList" slot-scope="{ row,index }">
+                <div>
+                  <el-link type="primary" :underline="false" @click.stop="openRtDialog(row, index)">阶梯计算</el-link>
+                  <el-dialog title="阶梯计算" append-to-body :visible.sync="rtDialog" width="50%"
+                    :close-on-click-modal="false">
+                    <avue-crud :option="rtOption" :data="rulesList" id="out-table"
+                      :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
+                      :cell-style="{ height: '20px', padding: '0px' }">
+                      <template slot="indexHeader" slot-scope="{row,index}">
+                        <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle
+                          @click="rtAddRow()">
+                        </el-button>
+                      </template>
+                      <template slot="index" slot-scope="{row,index}">
+                        <span>{{ index + 1 }}</span>
+                      </template>
+                      <template slot="menu" slot-scope="{ row, index }">
+                        <el-button size="small" icon="el-icon-edit" type="text" @click="rowItemEdit(row)">编辑</el-button>
+                        <el-button size="small" icon="el-icon-delete" type="text"
+                          @click="rowItemDel(row)">删除</el-button>
+                      </template>
+                    </avue-crud>
+                    <span slot="footer" class="dialog-footer">
+                      <el-button type="primary" @click="rowSave(row, rulesList)" size="mini">保 存</el-button>
+                    </span>
+                  </el-dialog>
+                </div>
+              </template> -->
+            </avue-crud>
+          </trade-card>
           <trade-card title="基础明细">
             <avue-crud :option="option" :data="form.tradingBoxItemsList" id="out-table" ref="crud"
               :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
               :cell-style="{ height: '20px', padding: '0px' }" @selection-change="selectionChange"
               @select="selectHandle" @row-update="rowUpdate"
-              @resetColumn="resetColumn('crud', 'option', 'optionBack', 235.1)"
-              @saveColumn="saveColumn('crud', 'option', 'optionBack', 235.1)">
+              @resetColumn="resetColumn('crud', 'option', 'optionBack', 475)"
+              @saveColumn="saveColumn('crud', 'option', 'optionBack', 475)">
               <template slot="menuLeft">
                 <el-button type="info" plain size="small" :disabled="editDisabled || !form.id"
                   @click="allClick('一键保存')">一键保存</el-button>
@@ -70,9 +130,9 @@
                 <el-button type="info" size="small" @click="allClick('启用')"
                   :disabled="selectionList.length == 0">启用</el-button>
                 <!-- <el-button type="primary" size="small" @click="allClick('卖箱')">卖箱</el-button> -->
-                <!-- <el-button size="small" style="margin-right: 8px" :disabled="!form.id"
+                <el-button size="small" style="margin-right: 8px" :disabled="!form.id || true"
                   @click="$refs.print.openDialog()">打印账单
-                </el-button> -->
+                </el-button>
               </template>
               <template slot="indexHeader" slot-scope="{row,index}">
                 <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle
@@ -88,9 +148,16 @@
                   dataName="cnName" @selectChange="rowDicChange('boxType', $event, row)"></dic-select>
                 <span v-else>{{ row.boxType }}</span>
               </template>
+              <tempalte slot="agentNameForm" slot-scope="{ row }">
+                <dic-select v-if="row.$cellEdit" v-model="row.agentName" placeholder="代理名称" key="id" label="cnName"
+                  res="records" url="/blade-los/bcorps/selectList?corpTypeName=国外同行及代理" :filterable="true"
+                  :remote="true" dataName="cnName">
+                </dic-select>
+                <span v-else>{{ row.agentName }}</span>
+              </tempalte>
               <template slot="currencyForm" slot-scope="{ row }">
                 <dic-select v-if="row.$cellEdit" v-model="row.currency" placeholder="币别" label="code"
-                  :url="'/blade-los/bcurrency/getExrate?date=' + form.purchaseDate + '&dc=C'" :filterable="true"
+                  :url="'/blade-los/bcurrency/getExrate?date=' + form.effectiveDate + '&dc=C'" :filterable="true"
                   @selectChange="rowDicChange('currency', $event, row)"></dic-select>
                 <span v-else>{{ row.currency }}</span>
               </template>
@@ -171,8 +238,8 @@
                 <span v-else>{{ row.cntrNo }}</span>
               </template>
               <template slot="corpCnNameForm" slot-scope="{ row,index }">
-                <dic-select v-if="row.$cellEdit" :key="updateSearchKey" v-model="row.corpCnName"
-                  placeholder="付费对象" label="cnName" res="records"
+                <dic-select v-if="row.$cellEdit" :key="updateSearchKey" v-model="row.corpCnName" placeholder="付费对象"
+                  label="cnName" res="records"
                   :url="'/blade-los/bcorps/selectList?status=0&current=1&size=20&corpTypeName=' + row.billType"
                   :filterable="true" :remote="true" dataName="cnName"
                   @selectChange="rowDicChange('corpCnName', $event, row)"></dic-select>
@@ -191,7 +258,7 @@
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
                 <dic-select v-if="row.$cellEdit" v-model="row.curCode" placeholder="币别" label="code"
-                  :url="'/blade-los/bcurrency/getExrate?date=' + form.purchaseDate + '&dc=C'" :filterable="true"
+                  :url="'/blade-los/bcurrency/getExrate?date=' + form.effectiveDate + '&dc=C'" :filterable="true"
                   @selectChange="rowDicChange('curCode', $event, row)"></dic-select>
                 <span v-else>{{ row.curCode }}</span>
               </template>
@@ -286,7 +353,9 @@ import {
   tradingBoxFees,
   submitItemList,
   submitFeeList,
-  enable
+  enable,
+  submitBoxList,
+  boxRemove
 } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -300,6 +369,127 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      boxSelectionList: [],
+      rulesList: [],
+      rtOption: {
+        border: true,
+        align: 'center',
+        menuWidth: 120,
+        // menu: false,
+        editBtn: false,
+        delBtn: false,
+        header: false,
+        addBtn: false,
+        height: '400px',
+        column: [
+          {
+            label: "index",
+            prop: "index",
+            width: "55",
+            headerslot: true,
+          },
+          {
+            label: '起',
+            prop: 'riseDays',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '止',
+            prop: 'stopDays',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '费率',
+            prop: 'rate',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '币别',
+            prop: 'curCode',
+            cell: true,
+            type: 'select',
+            dicData: [{
+              label: 'CNY',
+              value: 'CNY',
+            }, {
+              label: 'USD',
+              value: 'USD',
+            }],
+            overHidden: true,
+          },
+        ]
+      },
+      rtDialog: false,
+      boxOption: {
+        calcHeight: 30,
+        menuWidth: 120,
+        menu: false,
+        tip: false,
+        border: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        // header: false,
+        columnBtn: false,
+        refreshBtn: false,
+        selection: true,
+        align: 'center',
+        column: [
+          {
+            label: "index",
+            prop: "index",
+            width: "55",
+            headerslot: true,
+          },
+          {
+            label: "箱型",
+            prop: "boxType",
+            cell: true,
+            slot: true,
+            formslot: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请选择箱型",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "箱量",
+            prop: "number",
+            cell: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入箱量",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "箱/天",
+            prop: "price",
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入箱/天",
+              trigger: "blur"
+            }]
+          },
+        ]
+      },
       excelBox: false,
       excelForm: {},
       excelLoading: false,
@@ -390,10 +580,11 @@ export default {
       editButton: false,
       editDisabled: false,
       form: {
-        type: "BUY",
+        type: "DL",
         agreement: '到协议场站',
         boxCondition: '新',
         log: '否',
+        boxTypeList: [],
         tradingBoxItemsList: [],
         feeCenterList: [],
         tradingBoxFilesList: [],
@@ -406,7 +597,7 @@ export default {
         labelWidth: 100,
         column: [
           {
-            label: '出售方',
+            label: '代理名称',
             prop: 'purchaseCompanyName',
             rules: [{
               required: true,
@@ -426,8 +617,8 @@ export default {
             disabled: false
           },
           {
-            label: '购买日期',
-            prop: 'purchaseDate',
+            label: '日期',
+            prop: 'effectiveDate',
             type: "date",
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd HH:mm:ss",
@@ -439,30 +630,22 @@ export default {
             disabled: false
           },
           {
-            label: '箱型箱量',
-            prop: 'boxTypeQuantityOne',
-            disabled: false
-          },
-          {
-            label: '箱型箱量2',
-            prop: 'boxTypeQuantityTwo',
-            disabled: false
-          },
-          {
-            label: '提/送箱',
-            prop: 'agreement',
-            disabled: false,
-            type: 'select',
-            dicUrl: "/api/blade-system/dict-biz/dictionary?code=agreement",
-            props: {
-              label: "dictValue",
-              value: "dictValue"
-            },
+            label: '到期日期',
+            prop: 'expiryDate',
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
             rules: [{
               required: true,
               message: " ",
               trigger: "blur"
-            }]
+            }],
+            disabled: false
+          },
+          {
+            label: '放箱号',
+            prop: 'containerNumber',
+            disabled: false,
           },
           {
             label: '场站',
@@ -485,35 +668,9 @@ export default {
             }]
           },
           {
-            label: '箱况',
-            prop: 'boxCondition',
-            disabled: false,
-            type: 'select',
-            dicData: [{
-              label: '新',
-              value: '新',
-            }, {
-              label: '旧',
-              value: '旧',
-            }],
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: 'LOGO',
-            prop: 'log',
+            label: '目的港',
+            prop: 'podCname',
             disabled: false,
-            type: 'select',
-            dicData: [{
-              label: '是',
-              value: '是',
-            }, {
-              label: '否',
-              value: '否',
-            }]
           },
           {
             label: '备注',
@@ -608,6 +765,15 @@ export default {
             }]
           },
           {
+            label: '代理名称',
+            prop: 'agentName',
+            cell: true,
+            slot: true,
+            formslot: true,
+            overHidden: true,
+            width: 100
+          },
+          {
             label: '箱型',
             prop: 'boxType',
             width: 100,
@@ -1099,7 +1265,7 @@ export default {
   },
   async created() {
     this.roleName = localStorage.getItem('roleName').split(',')
-    this.option = await this.getColumnData(this.getColumnName(235.1), this.optionBack);
+    this.option = await this.getColumnData(this.getColumnName(475), this.optionBack);
     this.feecOption = await this.getColumnData(this.getColumnName(235.2), this.feecOptionBack);
     if (this.detailData.id) {
       // this.editButton = true
@@ -1115,6 +1281,15 @@ export default {
     }
   },
   methods: {
+    openRtDialog(row) {
+      this.rulesList = row.rentTermList
+      this.rtDialog = true
+    },
+    rowSave(row, list) {
+      console.log(row)
+      row.rentTermList = list
+      this.rtDialog = false
+    },
     countChange(row) {
       if (row.curCode == 'CNY') {
         row.amount = _.round(_.multiply(row.price, row.quantity), 2)
@@ -1192,6 +1367,18 @@ export default {
           this.form.addressCname = null
         }
       }
+      if (name == 'podCname') {
+        if (row) {
+          this.form.podId = row.id
+          this.form.podCode = row.code
+          this.form.podEname = row.enName
+        } else {
+          this.form.podId = null
+          this.form.podCode = null
+          this.form.podEname = null
+          this.form.podCname = null
+        }
+      }
       if (name == 'stationCname') {
         if (row) {
           this.form.stationId = row.id
@@ -1252,7 +1439,7 @@ export default {
     rowDicChange(name, row, el, index) {
       if (name == 'currency') {
         if (row) {
-          bcurrencyGetExrate({ date: this.form.purchaseDate, dc: 'C' }).then(res => {
+          bcurrencyGetExrate({ date: this.form.effectiveDate, dc: 'C' }).then(res => {
             res.data.data.forEach(e => {
               if (el.currency == e.code) {
                 this.$set(el, 'exrate', e.exrate)
@@ -1265,7 +1452,7 @@ export default {
       }
       if (name == 'curCode') {
         if (row) {
-          bcurrencyGetExrate({ date: this.form.purchaseDate, dc: 'C' }).then(res => {
+          bcurrencyGetExrate({ date: this.form.effectiveDate, dc: 'C' }).then(res => {
             res.data.data.forEach(e => {
               if (el.curCode == e.code) {
                 this.$set(el, 'exrate', e.exrate)
@@ -1355,13 +1542,52 @@ export default {
       }
     },
     rowEdit(row) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    rowItemEdit(row) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    rowItemDel(row, index) {
+      this.$confirm("确定删除数据?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (row.id) {
+          tradingBoxItem({ ids: row.id }).then(res => {
+            this.rulesList.splice(index, 1);
+            this.$message.success("成功删除");
+          })
+        } else {
+          this.rulesList.splice(index, 1);
+        }
+      });
+    },
+    boxAddRow() {
+      this.form.boxTypeList.push(
+        {
+          pid: this.form.id ? this.form.id : null,
+          $cellEdit: true
+        }
+      )
+    },
+    rtAddRow() {
+      this.rulesList.push({ curCode: 'CNY', $cellEdit: true })
     },
     addRow() {
       if (!this.form.id) {
         return this.$message.error("请保存数据");
       }
       this.$refs.crud.dicInit();
-      bcurrencyGetExrate({ date: this.form.purchaseDate, dc: 'C' }).then(res => {
+      bcurrencyGetExrate({ date: this.form.effectiveDate, dc: 'C' }).then(res => {
         res.data.data.forEach(e => {
           if (e.code == 'USD') {
             this.form.tradingBoxItemsList.push({
@@ -1402,6 +1628,9 @@ export default {
     selectionChange(list) {
       this.selectionList = list;
     },
+    boxSelectionChange(list) {
+      this.boxSelectionList = list;
+    },
     feecChange(list) {
       let ids = []
       list.forEach(e => {
@@ -1505,6 +1734,75 @@ export default {
       });
     },
     allClick(name) {
+      if (name == 'box一键保存') {
+        if (!this.form.boxTypeList.length) {
+          return this.$message.error("请添加数据");
+        }
+        for (let row of this.form.boxTypeList) {
+          if (!row.boxType || !row.number || !row.price) {
+            this.$refs.crudBox.rowCell(row, row.$index)
+            return this.$message.error("请完善箱型箱量");
+          }
+        }
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        submitBoxList(this.form.boxTypeList).then(res => {
+          this.$message.success("保存成功");
+          this.form.boxTypeList = res.data.data
+        }).finally(() => {
+          loading.close();
+        })
+      }
+      if (name == 'box一键编辑') {
+        for (let row of this.form.boxTypeList) {
+          this.$set(row, "$cellEdit", true);
+        }
+      }
+      if (name == 'box批量删除') {
+        for (let item of this.selectionList) {
+          if (item.whetherEnable == '是') {
+            return this.$message.error("启用状态不能删除!");
+          }
+        }
+        let multiList = []
+        let arr = []
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          multiList = this.boxSelectionList
+          arr = this.form.boxTypeList
+          // 获取有id 的数据
+          const itemsWithId = multiList.filter(item => item.hasOwnProperty('id'));
+          let arrIds = itemsWithId.map(item => item.id) // 获取id 数据
+          // 把选中的删除掉
+          multiList.forEach((item) => {
+            for (let index in arr) {
+              if (JSON.stringify(item) == JSON.stringify(arr[index])) {
+                arr.splice(Number(index), 1)
+              }
+            }
+          })
+          if (itemsWithId.length != 0) {
+            const loading = this.$loading({
+              lock: true,
+              text: '加载中',
+              spinner: 'el-icon-loading',
+              background: 'rgba(255,255,255,0.7)'
+            });
+            boxRemove({ ids: arrIds.join(',') }).then(res => {
+              this.$message.success("删除成功");
+            }).finally(() => {
+              loading.close();
+            })
+          }
+        })
+      }
       if (name == '一键保存') {
         if (!this.form.tradingBoxItemsList.length) {
           return this.$message.error("请添加数据");
@@ -1577,6 +1875,33 @@ export default {
           }
         })
       }
+      if (name == '起租') {
+        this.$confirm('是否起租?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+
+        })
+      }
+      if (name == '生成租金') {
+        this.$confirm('是否生成租金?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+
+        })
+      }
+      if (name == '退租') {
+        this.$confirm('是否退租?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+
+        })
+      }
       if (name == '导入') {
         this.excelBox = true
       }
@@ -1659,6 +1984,12 @@ export default {
       this.$refs["form"].validate((valid, done) => {
         done();
         if (valid) {
+          for (let row of this.form.boxTypeList) {
+            if (!row.boxType || !row.number || !row.price) {
+              this.$refs.crudBox.rowCell(row, row.$index)
+              return this.$message.error("请完善箱型箱量");
+            }
+          }
           for (let row of this.form.tradingBoxItemsList) {
             if (!row.code || !row.boxType || !row.boxBelongsTo || !row.boxCategory || !row.boxStatus || !row.boxCondition || !row.amount || !row.currency || !row.exrate || !row.stationCname || !row.restrictedPortsName || !row.restrictingShippingCompaniesName || !row.status) {
               this.$refs.crud.rowCell(row, row.$index)

+ 29 - 39
src/views/boxManagement/agentBox/index.vue

@@ -5,15 +5,15 @@
         v-model="form" id="out-table" :header-cell-class-name="headerClassName" ref="crud" @row-del="rowDel"
         @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
         @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
-        @resetColumn="resetColumn('crud', 'option', 'optionBack', 235)"
-        @saveColumn="saveColumn('crud', 'option', 'optionBack', 235)" @on-load="onLoad">
+        @resetColumn="resetColumn('crud', 'option', 'optionBack', 474)"
+        @saveColumn="saveColumn('crud', 'option', 'optionBack', 474)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
+          </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length != 1||true" @click="copyButton">复制单据
+          </el-button>
+          <el-button type="warning" size="small"  disabled @click="outExport">导 出
           </el-button>
-          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button> -->
-          <!-- <el-button type="warning" size="small" @click="outExport">导 出
-          </el-button> -->
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
@@ -47,7 +47,7 @@ export default {
       isShow: true,
       form: {},
       query: {
-        type: "BUY",
+        type: "DL",
       },
       loading: false,
       page: {
@@ -63,7 +63,7 @@ export default {
         menuWidth: 140,
         tip: false,
         searchShow: true,
-        searchMenuSpan: 24,
+        searchMenuSpan: 18,
         border: true,
         index: true,
         addBtn: false,
@@ -85,7 +85,7 @@ export default {
         ],
         column: [
           {
-            label: '出售方',
+            label: '代理名称',
             prop: 'purchaseCompanyId',
             width: 150,
             search: true,
@@ -95,7 +95,7 @@ export default {
             type: 'select',
             filterable: true,
             remote: true,
-            dicUrl: "/api/blade-los/bcorps/selectList?corpTypeName=箱东&cnName={{key}}",
+            dicUrl: "/api/blade-los/bcorps/selectList?corpTypeName=国外同行及代理&cnName={{key}}",
             props: {
               label: 'cnName',
               value: 'id',
@@ -103,7 +103,7 @@ export default {
             },
           },
           {
-            label: '出售方',
+            label: '代理名称',
             prop: 'purchaseCompanyName',
             width: 150,
             overHidden: true,
@@ -123,12 +123,12 @@ export default {
             overHidden: true
           },
           {
-            label: '购买日期',
-            prop: 'purchaseDate',
+            label: '日期',
+            prop: 'effectiveDate',
             width: 100,
             search: true,
             searchOrder: 3,
-            searchProp: 'purchaseDateList',
+            searchProp: 'effectiveDateList',
             overHidden: true,
             type: "date",
             searchRange: true,
@@ -137,16 +137,18 @@ export default {
             valueFormat: "yyyy-MM-dd HH:mm:ss"
           },
           {
-            label: '箱型箱量',
-            prop: 'boxTypeQuantityOne',
-            overHidden: true,
-            width: 100
-          },
-          {
-            label: '箱型箱量2',
-            prop: 'boxTypeQuantityTwo',
+            label: '到期日期',
+            prop: 'expiryDate',
+            width: 100,
+            search: true,
+            searchOrder: 5,
+            searchProp: 'expiryDateList',
             overHidden: true,
-            width: 100
+            type: "date",
+            searchRange: true,
+            searchDefaultTime: ["00:00:00", "23:59:59"],
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
           },
           {
             label: '箱号',
@@ -156,12 +158,6 @@ export default {
             showColumn:false,
             search: true,
             searchOrder: 4,
-            overHidden: true,
-          },
-          {
-            label: '提/送箱',
-            prop: 'agreement',
-            width: 90,
             overHidden: true
           },
           {
@@ -177,14 +173,8 @@ export default {
             overHidden: true
           },
           {
-            label: '箱况',
-            prop: 'boxCondition',
-            width: 80,
-            overHidden: true
-          },
-          {
-            label: 'LOGO',
-            prop: 'log',
+            label: '目的港',
+            prop: 'podCname',
             width: 80,
             overHidden: true
           },
@@ -224,7 +214,7 @@ export default {
     detailsPage
   },
   async created() {
-    this.option = await this.getColumnData(this.getColumnName(235), this.optionBack);
+    this.option = await this.getColumnData(this.getColumnName(474), this.optionBack);
   },
   activated() {
     setTimeout(() => {

+ 6 - 4
src/views/boxManagement/boxPoolDynamics/index.vue

@@ -21,9 +21,11 @@
                             <!-- <el-button type="primary" plain size="small"
                                 @click="allClick('空箱出场(EDI)')">空箱出场(EDI)</el-button> -->
                             <el-button type="success" plain size="small"
-                                @click="allClick('空箱出场(excel)')">空箱出场(excel)</el-button>
+                                @click="allClick('POL空箱出场(EXCEL)')">POL空箱出场(EXCEL)</el-button>
+                            <el-button type="primary" plain size="small"
+                                @click="allClick('POL返场(EXCEL)')">POL返场(EXCEL)</el-button>
                             <el-button type="info" plain size="small"
-                                @click="allClick('空箱进场(EDI)')">空箱进场(EDI)</el-button>
+                                @click="allClick('POD返场(EXCEL)')">POD返场(EXCEL)</el-button>
                             <el-button type="warning" plain size="small"
                                 @click="allClick('空箱进场(excel)')">空箱进场(excel)</el-button>
                             <el-button type="danger" plain size="small"
@@ -596,11 +598,11 @@ export default {
                 }=${getToken()}`
             );
         },
-        rowDownload(row){
+        rowDownload(row) {
             window.open(row.url);
         },
         allClick(name) {
-            if (name == '空箱出场(excel)') {
+            if (name == 'POL空箱出场(EXCEL)') {
                 this.excelBox = true
             }
         },

+ 164 - 75
src/views/boxManagement/boxTrack/index.vue

@@ -1,28 +1,14 @@
 <template>
   <div>
     <basic-container v-show="!detailsOpen">
-      <avue-crud
-          :option="option"
-          :search.sync="search"
-          v-model="form"
-          :table-loading="loading"
-          :data="dataList"
-          ref="crud"
-          :key="key"
-          @on-load="onLoad"
-          @search-change="searchChange"
-          @row-del="rowDel"
-          @row-update="rowUpdate"
-          @refresh-change="refreshChange"
-          @resetColumn="resetColumnTwo('crud','option','optionList',241)"
-          @saveColumn="saveColumnTwo('crud','option','optionList',241)"
-          :page.sync="page">
-        <template slot="corpNameSearch">
-          <crop-select v-model="search.corpId" corpType="KH"/>
-        </template>
+      <avue-crud :option="option" :search.sync="search" v-model="form" :table-loading="loading" :data="dataList"
+        ref="crud" :key="key" @on-load="onLoad" @search-change="searchChange" @row-del="rowDel" @row-update="rowUpdate"
+        @refresh-change="refreshChange" @resetColumn="resetColumnTwo('crud', 'option', 'optionList', 241)"
+        @saveColumn="saveColumnTwo('crud', 'option', 'optionList', 241)" :page.sync="page">
         <template slot-scope="{type,size,row,$index}" slot="menu">
-<!--          <el-button icon="el-icon-view" :size="size" :type="type" @click="$refs.crud.rowUpdate(row,$index)">编辑</el-button>-->
-          <el-button icon="el-icon-delete" :size="size" v-if="row.status == 0" :type="type" @click="$refs.crud.rowDel(row,$index)">删除
+          <!--          <el-button icon="el-icon-view" :size="size" :type="type" @click="$refs.crud.rowUpdate(row,$index)">编辑</el-button>-->
+          <el-button icon="el-icon-delete" :size="size" v-if="row.status == 0" :type="type"
+            @click="$refs.crud.rowDel(row, $index)">删除
           </el-button>
         </template>
       </avue-crud>
@@ -32,7 +18,7 @@
 </template>
 
 <script>
-import {getList, remove,update} from "@/api/boxManagement/boxTrack/index.js";
+import { getList, remove, update } from "@/api/boxManagement/boxTrack/index.js";
 import detailsPage from "./detailsPage"
 
 export default {
@@ -54,7 +40,7 @@ export default {
         total: 0,
         pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
       },
-      key:0,
+      key: 0,
       option: {},
       optionList: {
         viewBtn: false,
@@ -62,54 +48,155 @@ export default {
         delBtn: true,
         addBtn: false,
         index: true,
-        span: 8,
+        span: 6,
         border: true,
-        height:"auto",
+        height: "auto",
         searchMenuPosition: "right",
         align: "center",
-        menuWidth:140,
-        searchSpan: 8,
+        menuWidth: 140,
+        menu:false,
+        searchShow: true,
+        searchMenuSpan: 18,
         searchIcon: true,
-        searchIndex: 2,
+        searchIndex: 3,
         highlightCurrentRow: true,
         dialogWidth: "70%",
-        column: [{
-          label: '客户名称',
-          prop: 'corpName',
-          width: 170,
-          search: true,
-        },{
-          label: '箱号',
-          prop: 'code',
-          width: 170,
-          search: true,
-        }, {
-          label: '地点',
-          prop: 'address',
-          width: 300,
-          search: true,
-        }, {
-          label: '日期',
-          prop: 'newDate',
-          width: 100,
-          search: true,
-          searchProp: 'purchaseDateList',
-          overHidden: true,
-          type: "date",
-          searchRange: true,
-          searchDefaultTime: ["00:00:00", "23:59:59"],
-          format: "yyyy-MM-dd",
-          valueFormat: "yyyy-MM-dd HH:mm:ss"
-        }, {
-          label: '业务类型',
-          prop: 'status',
-          width: 140
-        },{
-          label: '合同号',
-          prop: 'contractNo',
-          width: 300,
-          search: true
-        }]
+        column: [
+          {
+            label: '箱号',
+            prop: 'code',
+            overHidden: true,
+            search: true
+          },
+          {
+            label: '放箱号',
+            prop: 'containerNumber',
+            overHidden: true,
+          },
+          {
+            label: '箱型',
+            prop: 'boxType',
+            overHidden: true,
+          },
+          {
+            label: '箱东',
+            prop: 'boxEastName',
+            overHidden: true,
+          },
+          {
+            label: '箱种类',
+            prop: 'boxCategory',
+            overHidden: true,
+          },
+          {
+            label: '箱动态',
+            prop: 'boxDynamics',
+            overHidden: true,
+          },
+          {
+            label: '动态日期',
+            prop: 'newDate',
+            overHidden: true,
+          },
+          {
+            label: '港口',
+            prop: 'portCname',
+            overHidden: true,
+          },
+          {
+            label: '场站',
+            prop: 'stationCname',
+            overHidden: true,
+          },
+          {
+            label: '客户名称',
+            prop: 'corpName',
+            overHidden: true,
+          },
+          {
+            label: '提单号',
+            prop: 'mblno',
+            overHidden: true,
+          },
+          {
+            label: '船名',
+            prop: 'shipCname',
+            overHidden: true,
+          },
+          {
+            label: '航次',
+            prop: 'voyage',
+            overHidden: true,
+          },
+          {
+            label: 'ETD',
+            prop: 'etd',
+            overHidden: true,
+          },
+          {
+            label: 'POL堆场',
+            prop: 'polCyCname',
+            overHidden: true,
+          },
+          {
+            label: 'POL免箱使天数',
+            prop: 'polFreeBoxUseDays',
+            width: 110,
+            overHidden: true,
+          },
+          {
+            label: 'POL提前出场日期',
+            prop: 'polPreAppearanceDate',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: 'POL场站空箱出场日期',
+            prop: 'polStationEmptyContainerExitDate',
+            width: 140,
+            overHidden: true,
+          },
+          {
+            label: 'POL还箱日期',
+            prop: 'polReturnDate',
+            width: 100,
+            overHidden: true,
+          },
+          {
+            label: 'POL超期箱使天数',
+            prop: 'polOverdueBoxUseDays',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: 'ETA',
+            prop: 'eta',
+            overHidden: true,
+          },
+          {
+            label: 'POD空箱还箱日期',
+            prop: 'podEmptyContainerReturnDate',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: 'POD场站',
+            prop: 'podStationCname',
+            overHidden: true,
+          },
+          {
+            label: 'POD免箱使天数',
+            prop: 'containerNumber',
+            width: 110,
+            overHidden: true,
+          },
+          {
+            label: 'POD箱使天数',
+            prop: 'podFreeBoxUseDays',
+            width: 100,
+            overHidden: true,
+          }
+        ]
       }
     }
   },
@@ -121,7 +208,7 @@ export default {
         check: this.$route.query.check,
       };
       this.form = {
-        id:this.$route.query.check.billId
+        id: this.$route.query.check.billId
       }
       this.detailsOpen = true
       this.$router.$avueRouter.closeTag(window.location.hash.slice(1))
@@ -141,24 +228,24 @@ export default {
     }
   },
   methods: {
-    check(row){
+    check(row) {
       this.form = row
       this.detailsOpen = true
     },
     backToList(type) {
       this.form = {}
       this.detailsOpen = false
-      if (type === 0){
+      if (type === 0) {
         this.detailData = {}
       }
-      this.onLoad(this.page,this.search)
+      this.onLoad(this.page, this.search)
     },
     //刷新
     refreshChange() {
       this.onLoad(this.page, this.search)
     },
-    rowUpdate(form,index){
-      update(form).then(res=>{
+    rowUpdate(form, index) {
+      update(form).then(res => {
         this.$message({
           type: 'success',
           message: '修改成功!'
@@ -202,7 +289,7 @@ export default {
       })
     },
 
-//自定义列保存
+    //自定义列保存
     async saveColumnTwo(ref, option, optionBack, code) {
       /**
        * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
@@ -216,7 +303,7 @@ export default {
         this.$refs[ref].$refs.dialogColumn.columnBox = false;
       }
     },
-//自定义列重置
+    //自定义列重置
     async resetColumnTwo(ref, option, optionBack, code) {
       this[option] = this[optionBack];
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
@@ -229,6 +316,8 @@ export default {
 }
 </script>
 
-<style scoped>
-
+<style lang="scss" scoped>
+::v-deep .el-col-md-8 {
+  width: 24.33333%;
+}
 </style>

+ 2 - 2
src/views/boxManagement/buyContainer/detailsPage.vue

@@ -70,9 +70,9 @@
                 <el-button type="info" size="small" @click="allClick('启用')"
                   :disabled="selectionList.length == 0">启用</el-button>
                 <!-- <el-button type="primary" size="small" @click="allClick('卖箱')">卖箱</el-button> -->
-                <!-- <el-button size="small" style="margin-right: 8px" :disabled="!form.id"
+                <el-button size="small" style="margin-right: 8px" :disabled="!form.id||true"
                   @click="$refs.print.openDialog()">打印账单
-                </el-button> -->
+                </el-button>
               </template>
               <template slot="indexHeader" slot-scope="{row,index}">
                 <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle

+ 5 - 5
src/views/boxManagement/buyContainer/index.vue

@@ -8,12 +8,12 @@
         @resetColumn="resetColumn('crud', 'option', 'optionBack', 235)"
         @saveColumn="saveColumn('crud', 'option', 'optionBack', 235)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
+          </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length != 1||true" @click="copyButton">复制单据
+          </el-button>
+          <el-button type="warning" size="small"  disabled @click="outExport">导 出
           </el-button>
-          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button> -->
-          <!-- <el-button type="warning" size="small" @click="outExport">导 出
-          </el-button> -->
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>

+ 1 - 1
src/views/boxManagement/containerNumber/detailsPage.vue

@@ -255,7 +255,7 @@ export default {
         labelWidth: 120,
         column: [
           {
-            label: '箱东',
+            label: 'USER',
             prop: 'boxEastName',
             disabled: true
           },

+ 1 - 1
src/views/boxManagement/containerNumber/index.vue

@@ -72,7 +72,7 @@ export default {
                 searchIndex: 3,
                 column: [
                     {
-                        label: '箱东',
+                        label: 'USER',
                         prop: 'boxEastName',
                         width: 150,
                         overHidden: true,

+ 349 - 31
src/views/boxManagement/rentalBox/detailsPage.vue

@@ -35,12 +35,12 @@
           <trade-card title="基础信息">
             <avue-form :option="optionForm" v-model="form" ref="form">
               <tempalte slot="purchaseCompanyName">
-                <dic-select v-model="form.purchaseCompanyName" placeholder="出方" key="id" label="cnName" res="records"
+                <dic-select v-model="form.purchaseCompanyName" placeholder="出方" key="id" label="cnName" res="records"
                   url="/blade-los/bcorps/selectList?corpTypeName=箱东" :filterable="true" :remote="true" dataName="cnName"
                   @selectChange="dicChange('purchaseCompanyName', $event)"></dic-select>
               </tempalte>
               <tempalte slot="polStationCname">
-                <dic-select v-model="form.polStationCname" placeholder="场站" key="id" label="cnName" res="records"
+                <dic-select v-model="form.polStationCname" placeholder="退/还箱地" key="id" label="cnName" res="records"
                   url="/blade-los/blocations/list" :filterable="true" :remote="true" dataName="cnName"
                   @selectChange="dicChange('polStationCname', $event)"></dic-select>
               </tempalte>
@@ -56,13 +56,68 @@
               </tempalte>
             </avue-form>
           </trade-card>
+          <trade-card title="箱型箱量">
+            <avue-crud ref="crudBox" :option="boxOption" :data="form.boxTypeList"
+              @selection-change="boxSelectionChange">
+              <template slot="menuLeft">
+                <el-button type="info" plain size="small" :disabled="editDisabled || !form.id"
+                  @click="allClick('box一键保存')">一键保存</el-button>
+                <el-button type="info" plain size="small" :disabled="editDisabled || form.boxTypeList.length == 0"
+                  @click="allClick('box一键编辑')">一键编辑</el-button>
+                <el-button type="danger" plain size="small" :disabled="editDisabled || boxSelectionList.length == 0"
+                  @click="allClick('box批量删除')">批量删除</el-button>
+              </template>
+              <template slot="indexHeader" slot-scope="{row,index}">
+                <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle
+                  @click="boxAddRow()">
+                </el-button>
+              </template>
+              <template slot="index" slot-scope="{row,index}">
+                <span>{{ index + 1 }}</span>
+              </template>
+              <template slot="boxTypeForm" slot-scope="{ row }">
+                <dic-select v-if="row.$cellEdit" v-model="row.boxType" key="id" label="cnName" res="records"
+                  url="/blade-los/bcntrtypes/list?status=0&current=1&size=20" :filterable="true" :remote="true"
+                  dataName="cnName" @selectChange="rowDicChange('boxType', $event, row)"></dic-select>
+                <span v-else>{{ row.boxType }}</span>
+              </template>
+              <!-- <template slot="rentTermList" slot-scope="{ row,index }">
+                <div>
+                  <el-link type="primary" :underline="false" @click.stop="openRtDialog(row, index)">阶梯计算</el-link>
+                  <el-dialog title="阶梯计算" append-to-body :visible.sync="rtDialog" width="50%"
+                    :close-on-click-modal="false">
+                    <avue-crud :option="rtOption" :data="rulesList" id="out-table"
+                      :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
+                      :cell-style="{ height: '20px', padding: '0px' }">
+                      <template slot="indexHeader" slot-scope="{row,index}">
+                        <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle
+                          @click="rtAddRow()">
+                        </el-button>
+                      </template>
+                      <template slot="index" slot-scope="{row,index}">
+                        <span>{{ index + 1 }}</span>
+                      </template>
+                      <template slot="menu" slot-scope="{ row, index }">
+                        <el-button size="small" icon="el-icon-edit" type="text" @click="rowItemEdit(row)">编辑</el-button>
+                        <el-button size="small" icon="el-icon-delete" type="text"
+                          @click="rowItemDel(row)">删除</el-button>
+                      </template>
+                    </avue-crud>
+                    <span slot="footer" class="dialog-footer">
+                      <el-button type="primary" @click="rowSave(row, rulesList)" size="mini">保 存</el-button>
+                    </span>
+                  </el-dialog>
+                </div>
+              </template> -->
+            </avue-crud>
+          </trade-card>
           <trade-card title="基础明细">
             <avue-crud :option="option" :data="form.tradingBoxItemsList" id="out-table" ref="crud"
               :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
               :cell-style="{ height: '20px', padding: '0px' }" @selection-change="selectionChange"
               @select="selectHandle" @row-update="rowUpdate"
-              @resetColumn="resetColumn('crud', 'option', 'optionBack', 235.1)"
-              @saveColumn="saveColumn('crud', 'option', 'optionBack', 235.1)">
+              @resetColumn="resetColumn('crud', 'option', 'optionBack', 473)"
+              @saveColumn="saveColumn('crud', 'option', 'optionBack', 473)">
               <template slot="menuLeft">
                 <el-button type="info" plain size="small" :disabled="editDisabled || !form.id"
                   @click="allClick('一键保存')">一键保存</el-button>
@@ -71,13 +126,19 @@
                   @click="allClick('一键编辑')">一键编辑</el-button>
                 <el-button type="danger" plain size="small" :disabled="editDisabled || selectionList.length == 0"
                   @click="allClick('批量删除')">批量删除</el-button>
+                <el-button type="primary" plain size="small" @click="allClick('起租')"
+                  :disabled="selectionList.length == 0">起租</el-button>
+                <el-button type="success" plain size="small" @click="allClick('生成租金')"
+                  :disabled="selectionList.length == 0">生成租金</el-button>
+                <el-button type="warning" plain size="small" @click="allClick('退租')"
+                  :disabled="selectionList.length == 0">退租</el-button>
                 <el-button type="success" size="small">导入</el-button>
                 <el-button type="info" size="small" @click="allClick('启用')"
                   :disabled="selectionList.length == 0">启用</el-button>
                 <!-- <el-button type="primary" size="small" @click="allClick('卖箱')">卖箱</el-button> -->
-                <!-- <el-button size="small" style="margin-right: 8px" :disabled="!form.id"
+                <el-button size="small" style="margin-right: 8px" :disabled="!form.id || true"
                   @click="$refs.print.openDialog()">打印账单
-                </el-button> -->
+                </el-button>
               </template>
               <template slot="indexHeader" slot-scope="{row,index}">
                 <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle
@@ -176,8 +237,8 @@
                 <span v-else>{{ row.cntrNo }}</span>
               </template>
               <template slot="corpCnNameForm" slot-scope="{ row,index }">
-                <dic-select v-if="row.$cellEdit" :key="updateSearchKey" v-model="row.corpCnName"
-                  placeholder="付费对象" label="cnName" res="records"
+                <dic-select v-if="row.$cellEdit" :key="updateSearchKey" v-model="row.corpCnName" placeholder="付费对象"
+                  label="cnName" res="records"
                   :url="'/blade-los/bcorps/selectList?status=0&current=1&size=20&corpTypeName=' + row.billType"
                   :filterable="true" :remote="true" dataName="cnName"
                   @selectChange="rowDicChange('corpCnName', $event, row)"></dic-select>
@@ -291,7 +352,9 @@ import {
   tradingBoxFees,
   submitItemList,
   submitFeeList,
-  enable
+  enable,
+  submitBoxList,
+  boxRemove
 } from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -305,6 +368,127 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      boxSelectionList: [],
+      rulesList: [],
+      rtOption: {
+        border: true,
+        align: 'center',
+        menuWidth: 120,
+        // menu: false,
+        editBtn: false,
+        delBtn: false,
+        header: false,
+        addBtn: false,
+        height: '400px',
+        column: [
+          {
+            label: "index",
+            prop: "index",
+            width: "55",
+            headerslot: true,
+          },
+          {
+            label: '起',
+            prop: 'riseDays',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '止',
+            prop: 'stopDays',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '费率',
+            prop: 'rate',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '币别',
+            prop: 'curCode',
+            cell: true,
+            type: 'select',
+            dicData: [{
+              label: 'CNY',
+              value: 'CNY',
+            }, {
+              label: 'USD',
+              value: 'USD',
+            }],
+            overHidden: true,
+          },
+        ]
+      },
+      rtDialog: false,
+      boxOption: {
+        calcHeight: 30,
+        menuWidth: 120,
+        menu: false,
+        tip: false,
+        border: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        // header: false,
+        columnBtn: false,
+        refreshBtn: false,
+        selection: true,
+        align: 'center',
+        column: [
+          {
+            label: "index",
+            prop: "index",
+            width: "55",
+            headerslot: true,
+          },
+          {
+            label: "箱型",
+            prop: "boxType",
+            cell: true,
+            slot: true,
+            formslot: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请选择箱型",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "箱量",
+            prop: "number",
+            cell: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入箱量",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "箱/天",
+            prop: "price",
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入箱/天",
+              trigger: "blur"
+            }]
+          },
+        ]
+      },
       excelBox: false,
       excelForm: {},
       excelLoading: false,
@@ -399,6 +583,7 @@ export default {
         agreement: '到协议场站',
         boxCondition: '新',
         log: '否',
+        boxTypeList: [],
         tradingBoxItemsList: [],
         feeCenterList: [],
         tradingBoxFilesList: [],
@@ -457,26 +642,6 @@ export default {
             disabled: false
           },
           {
-            label: '箱型箱量',
-            prop: 'boxTypeQuantityOne',
-            disabled: false
-          },
-          {
-            label: '箱型箱量2',
-            prop: 'boxTypeQuantityTwo',
-            disabled: false
-          },
-          {
-            label: '20租金规则',
-            prop: 'rentRulesOne',
-            disabled: false
-          },
-          {
-            label: '40租金规则',
-            prop: 'rentRulesTwo',
-            disabled: false
-          },
-          {
             label: '租/还箱标准',
             prop: 'standard',
             disabled: false,
@@ -1106,7 +1271,7 @@ export default {
   },
   async created() {
     this.roleName = localStorage.getItem('roleName').split(',')
-    this.option = await this.getColumnData(this.getColumnName(235.1), this.optionBack);
+    this.option = await this.getColumnData(this.getColumnName(473), this.optionBack);
     this.feecOption = await this.getColumnData(this.getColumnName(235.2), this.feecOptionBack);
     if (this.detailData.id) {
       // this.editButton = true
@@ -1122,6 +1287,15 @@ export default {
     }
   },
   methods: {
+    openRtDialog(row) {
+      this.rulesList = row.rentTermList
+      this.rtDialog = true
+    },
+    rowSave(row, list) {
+      console.log(row)
+      row.rentTermList = list
+      this.rtDialog = false
+    },
     countChange(row) {
       if (row.curCode == 'CNY') {
         row.amount = _.round(_.multiply(row.price, row.quantity), 2)
@@ -1199,7 +1373,7 @@ export default {
           this.form.addressCname = null
         }
       }
-      if(name=='polStationCname'){
+      if (name == 'polStationCname') {
         if (row) {
           this.form.polStationId = row.id
           this.form.polStationCode = row.code
@@ -1374,6 +1548,45 @@ export default {
       }
     },
     rowEdit(row) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    rowItemEdit(row) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    rowItemDel(row, index) {
+      this.$confirm("确定删除数据?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (row.id) {
+          tradingBoxItem({ ids: row.id }).then(res => {
+            this.rulesList.splice(index, 1);
+            this.$message.success("成功删除");
+          })
+        } else {
+          this.rulesList.splice(index, 1);
+        }
+      });
+    },
+    boxAddRow() {
+      this.form.boxTypeList.push(
+        {
+          pid: this.form.id ? this.form.id : null,
+          $cellEdit: true
+        }
+      )
+    },
+    rtAddRow() {
+      this.rulesList.push({ curCode: 'CNY', $cellEdit: true })
     },
     addRow() {
       if (!this.form.id) {
@@ -1421,6 +1634,9 @@ export default {
     selectionChange(list) {
       this.selectionList = list;
     },
+    boxSelectionChange(list) {
+      this.boxSelectionList = list;
+    },
     feecChange(list) {
       let ids = []
       list.forEach(e => {
@@ -1524,6 +1740,75 @@ export default {
       });
     },
     allClick(name) {
+      if (name == 'box一键保存') {
+        if (!this.form.boxTypeList.length) {
+          return this.$message.error("请添加数据");
+        }
+        for (let row of this.form.boxTypeList) {
+          if (!row.boxType || !row.number || !row.price) {
+            this.$refs.crudBox.rowCell(row, row.$index)
+            return this.$message.error("请完善箱型箱量");
+          }
+        }
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        submitBoxList(this.form.boxTypeList).then(res => {
+          this.$message.success("保存成功");
+          this.form.boxTypeList = res.data.data
+        }).finally(() => {
+          loading.close();
+        })
+      }
+      if (name == 'box一键编辑') {
+        for (let row of this.form.boxTypeList) {
+          this.$set(row, "$cellEdit", true);
+        }
+      }
+      if (name == 'box批量删除') {
+        for (let item of this.selectionList) {
+          if (item.whetherEnable == '是') {
+            return this.$message.error("启用状态不能删除!");
+          }
+        }
+        let multiList = []
+        let arr = []
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          multiList = this.boxSelectionList
+          arr = this.form.boxTypeList
+          // 获取有id 的数据
+          const itemsWithId = multiList.filter(item => item.hasOwnProperty('id'));
+          let arrIds = itemsWithId.map(item => item.id) // 获取id 数据
+          // 把选中的删除掉
+          multiList.forEach((item) => {
+            for (let index in arr) {
+              if (JSON.stringify(item) == JSON.stringify(arr[index])) {
+                arr.splice(Number(index), 1)
+              }
+            }
+          })
+          if (itemsWithId.length != 0) {
+            const loading = this.$loading({
+              lock: true,
+              text: '加载中',
+              spinner: 'el-icon-loading',
+              background: 'rgba(255,255,255,0.7)'
+            });
+            boxRemove({ ids: arrIds.join(',') }).then(res => {
+              this.$message.success("删除成功");
+            }).finally(() => {
+              loading.close();
+            })
+          }
+        })
+      }
       if (name == '一键保存') {
         if (!this.form.tradingBoxItemsList.length) {
           return this.$message.error("请添加数据");
@@ -1596,6 +1881,33 @@ export default {
           }
         })
       }
+      if (name == '起租') {
+        this.$confirm('是否起租?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+
+        })
+      }
+      if (name == '生成租金') {
+        this.$confirm('是否生成租金?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+
+        })
+      }
+      if (name == '退租') {
+        this.$confirm('是否退租?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+
+        })
+      }
       if (name == '导入') {
         this.excelBox = true
       }
@@ -1678,6 +1990,12 @@ export default {
       this.$refs["form"].validate((valid, done) => {
         done();
         if (valid) {
+          for (let row of this.form.boxTypeList) {
+            if (!row.boxType || !row.number || !row.price) {
+              this.$refs.crudBox.rowCell(row, row.$index)
+              return this.$message.error("请完善箱型箱量");
+            }
+          }
           for (let row of this.form.tradingBoxItemsList) {
             if (!row.code || !row.boxType || !row.boxBelongsTo || !row.boxCategory || !row.boxStatus || !row.boxCondition || !row.amount || !row.currency || !row.exrate || !row.stationCname || !row.restrictedPortsName || !row.restrictingShippingCompaniesName || !row.status) {
               this.$refs.crud.rowCell(row, row.$index)

+ 8 - 32
src/views/boxManagement/rentalBox/index.vue

@@ -5,15 +5,15 @@
         v-model="form" id="out-table" :header-cell-class-name="headerClassName" ref="crud" @row-del="rowDel"
         @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
         @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
-        @resetColumn="resetColumn('crud', 'option', 'optionBack', 235)"
-        @saveColumn="saveColumn('crud', 'option', 'optionBack', 235)" @on-load="onLoad">
+        @resetColumn="resetColumn('crud', 'option', 'optionBack', 472)"
+        @saveColumn="saveColumn('crud', 'option', 'optionBack', 472)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
+          </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length != 1||true" @click="copyButton">复制单据
+          </el-button>
+          <el-button type="warning" size="small"  disabled @click="outExport">导 出
           </el-button>
-          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button> -->
-          <!-- <el-button type="warning" size="small" @click="outExport">导 出
-          </el-button> -->
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
@@ -161,30 +161,6 @@ export default {
             overHidden: true
           },
           {
-            label: '箱型箱量',
-            prop: 'boxTypeQuantityOne',
-            overHidden: true,
-            width: 100
-          },
-          {
-            label: '箱型箱量2',
-            prop: 'boxTypeQuantityTwo',
-            overHidden: true,
-            width: 100
-          },
-          {
-            label: '20租金规则',
-            prop: 'rentRulesOne',
-            overHidden: true,
-            width: 100
-          },
-          {
-            label: '40租金规则',
-            prop: 'rentRulesTwo',
-            overHidden: true,
-            width: 100
-          },
-          {
             label: '租/还箱标准',
             prop: 'standard',
             width: 100,
@@ -244,7 +220,7 @@ export default {
     detailsPage
   },
   async created() {
-    this.option = await this.getColumnData(this.getColumnName(235), this.optionBack);
+    this.option = await this.getColumnData(this.getColumnName(472), this.optionBack);
   },
   activated() {
     setTimeout(() => {

+ 1 - 1
src/views/iosBasicData/AirtransportExport/bills/index.vue

@@ -303,7 +303,7 @@
                 <!--</template>-->
                 <!--#endregion-->
                 <template slot="menuLeft">
-                    <el-button type="primary" size="small" @click="addbtnfun()">新建业务
+                    <el-button type="primary" size="small" @click="addbtnfun()">创建单据
                     </el-button>
                     <el-button type="primary" size="small" plain @click="CopyDocumentsfun">复制单据
                     </el-button>

+ 1 - 1
src/views/iosBasicData/AirtransportImport/bills/index.vue

@@ -321,7 +321,7 @@
               <!--</template>-->
               <!--#endregion-->
               <template slot="menuLeft">
-                  <el-button type="primary" size="small" @click="addbtnfun()">新建业务
+                  <el-button type="primary" size="small" @click="addbtnfun()">创建单据
                   </el-button>
                   <el-button type="primary"
                              size="small"

+ 1 - 1
src/views/iosBasicData/OceanFreightImport/bills/index.vue

@@ -311,7 +311,7 @@
                 <!--#endregion-->
 
                 <template slot="menuLeft">
-                    <el-button type="primary" size="small" @click="addbtnfun()">新建业务
+                    <el-button type="primary" size="small" @click="addbtnfun()">创建单据
                     </el-button>
                     <el-button type="primary" size="small" plain @click="CopyDocumentsfun">复制单据
                     </el-button>

+ 1 - 1
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -310,7 +310,7 @@
                 <!--#endregion-->
 
                 <template slot="menuLeft">
-                    <el-button type="primary" size="small" @click="addbtnfun()">新建业务
+                    <el-button type="primary" size="small" @click="addbtnfun()">创建单据
                     </el-button>
                     <el-button type="primary" size="small" plain @click="CopyDocumentsfun">复制单据
                     </el-button>

+ 1 - 1
src/views/iosBasicData/aeamends/index.vue

@@ -27,7 +27,7 @@
                   <el-button type="primary"
                              size="small"
                              icon="el-icon-plus"
-                             @click="addbtnfun()">新建AMEND
+                             @click="addbtnfun()">创建单据
                   </el-button>
                   <el-button type="danger"
                              size="small"

+ 1 - 1
src/views/iosBasicData/aiamends/index.vue

@@ -27,7 +27,7 @@
                   <el-button type="primary"
                              size="small"
                              icon="el-icon-plus"
-                             @click="addbtnfun()">新建AMEND
+                             @click="addbtnfun()">创建单据
                   </el-button>
                   <el-button type="danger"
                              size="small"

+ 2 - 2
src/views/iosBasicData/costcenter/coc/index.vue

@@ -15,10 +15,10 @@
                     </el-radio-group>
                 </template>
                 <template slot="menuLeft">
-                    <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+                    <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
                     </el-button>
                     <el-button type="success" size="small" :disabled="selectionList.length != 1"
-                        @click="copyButton">复制
+                        @click="copyButton">复制单
                     </el-button>
                     <el-button type="warning" size="small" @click="outExport">导 出
                     </el-button>

+ 2 - 2
src/views/iosBasicData/costcenter/soc/index.vue

@@ -15,10 +15,10 @@
                     </el-radio-group>
                 </template>
                 <template slot="menuLeft">
-                    <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+                    <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
                     </el-button>
                     <el-button type="success" size="small" :disabled="selectionList.length != 1"
-                        @click="copyButton">复制
+                        @click="copyButton">复制单
                     </el-button>
                     <el-button type="warning" size="small" @click="outExport">导 出
                     </el-button>

+ 1 - 1
src/views/iosBasicData/seamends/index.vue

@@ -9,7 +9,7 @@
         @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 322)"
         @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 322)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">新建AMEND
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">创建单据
           </el-button>
           <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDelete">批量删除
           </el-button>

+ 1 - 1
src/views/iosBasicData/siamends/index.vue

@@ -9,7 +9,7 @@
         @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 322)"
         @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 322)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">新建AMEND
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">创建单据
           </el-button>
           <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDelete">批量删除
           </el-button>

+ 11 - 14
src/views/ow/owPut/detailsPage.vue

@@ -35,7 +35,7 @@
           <trade-card title="基础信息">
             <avue-form :option="optionForm" v-model="form" ref="form">
               <tempalte slot="purchaseCompanyName">
-                <dic-select v-model="form.purchaseCompanyName" placeholder="箱东" key="id" label="cnName" res="records"
+                <dic-select v-model="form.purchaseCompanyName" placeholder="USER" key="id" label="cnName" res="records"
                   @selectChange="dicChange('purchaseCompanyName', $event)"
                   url="/blade-los/bcorps/selectList?corpTypeName=箱东" :filterable="true" :remote="true"
                   dataName="cnName">
@@ -95,9 +95,9 @@
                 <el-button type="success" size="small">导入</el-button>
                 <el-button type="info" size="small" @click="allClick('启用')">启用</el-button>
                 <!-- <el-button type="primary" size="small" @click="allClick('卖箱')">卖箱</el-button> -->
-                <!-- <el-button size="small" style="margin-right: 8px" :disabled="!form.id"
+                <el-button size="small" style="margin-right: 8px" :disabled="!form.id||true"
                   @click="$refs.print.openDialog()">打印账单
-                </el-button> -->
+                </el-button>
               </template>
               <template slot="index" slot-scope="{row,index}">
                 <span>{{ index + 1 }}</span>
@@ -462,6 +462,7 @@
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
+          <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row)">删除</el-button>
         </template>
       </avue-crud>
       <span slot="footer" class="dialog-footer">
@@ -481,7 +482,8 @@ import {
   tradingBoxFees,
   submitItemList,
   submitFeeList,
-  enable
+  enable,
+  renttermRemove
 } from "@/api/boxManagement/buyContainer";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -613,7 +615,7 @@ export default {
         labelWidth: 120,
         column: [
           {
-            label: '箱东',
+            label: 'USER',
             prop: 'purchaseCompanyName',
             disabled: false
           },
@@ -1656,7 +1658,7 @@ export default {
       rtOption: {
         border: true,
         align: 'center',
-        menuWidth: 80,
+        menuWidth: 120,
         // menu: false,
         editBtn: false,
         delBtn: false,
@@ -2172,12 +2174,12 @@ export default {
         type: "warning"
       }).then(() => {
         if (row.id) {
-          tradingBoxItem({ ids: row.id }).then(res => {
-            this.form.tradingBoxItemsList.splice(index, 1);
+          renttermRemove({ ids: row.id }).then(res => {
+            this.form.rentTermList.splice(index, 1);
             this.$message.success("成功删除");
           })
         } else {
-          this.form.tradingBoxItemsList.splice(index, 1);
+          this.form.rentTermList.splice(index, 1);
         }
       });
     },
@@ -2215,11 +2217,6 @@ export default {
         }
       }
       if (name == '批量删除') {
-        for (let item of this.selectionListt) {
-          if (item.whetherEnable == '是') {
-            return this.$message.error("启用状态不能删除!");
-          }
-        }
         let multiList = []
         let arr = []
         this.$confirm("确定将选择数据删除?", {

+ 6 - 6
src/views/ow/owPut/index.vue

@@ -8,12 +8,12 @@
         @resetColumn="resetColumn('crud', 'option', 'optionBack', 470)"
         @saveColumn="saveColumn('crud', 'option', 'optionBack', 470)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
+          </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length != 1||true" @click="copyButton">复制单据
+          </el-button>
+          <el-button type="warning" size="small"  disabled @click="outExport">导 出
           </el-button>
-          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button> -->
-          <!-- <el-button type="warning" size="small" @click="outExport">导 出
-          </el-button> -->
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
@@ -85,7 +85,7 @@ export default {
         ],
         column: [
           {
-            label: '箱东',
+            label: 'USER',
             prop: 'purchaseCompanyId',
             width: 150,
             overHidden: true,

+ 12 - 15
src/views/ow/owTask/detailsPage.vue

@@ -35,7 +35,7 @@
           <trade-card title="基础信息">
             <avue-form :option="optionForm" v-model="form" ref="form">
               <tempalte slot="purchaseCompanyName">
-                <dic-select v-model="form.purchaseCompanyName" placeholder="箱东" key="id" label="cnName" res="records"
+                <dic-select v-model="form.purchaseCompanyName" placeholder="USER" key="id" label="cnName" res="records"
                   @selectChange="dicChange('purchaseCompanyName', $event)"
                   url="/blade-los/bcorps/selectList?corpTypeName=箱东" :filterable="true" :remote="true"
                   dataName="cnName">
@@ -95,9 +95,9 @@
                 <el-button type="success" size="small">导入</el-button>
                 <el-button type="info" size="small" @click="allClick('启用')">启用</el-button>
                 <!-- <el-button type="primary" size="small" @click="allClick('卖箱')">卖箱</el-button> -->
-                <!-- <el-button size="small" style="margin-right: 8px" :disabled="!form.id"
+                <el-button size="small" style="margin-right: 8px" :disabled="!form.id||true"
                   @click="$refs.print.openDialog()">打印账单
-                </el-button> -->
+                </el-button>
               </template>
               <template slot="index" slot-scope="{row,index}">
                 <span>{{ index + 1 }}</span>
@@ -462,10 +462,11 @@
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
+          <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row)">删除</el-button>
         </template>
       </avue-crud>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="rtDialog = false" size="mini">关 闭</el-button>
+        <el-button type="primary" @click="rtDialog = false" size="mini">保 存</el-button>
       </span>
     </el-dialog>
   </div>
@@ -481,7 +482,8 @@ import {
   tradingBoxFees,
   submitItemList,
   submitFeeList,
-  enable
+  enable,
+  renttermRemove
 } from "@/api/boxManagement/buyContainer";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -613,7 +615,7 @@ export default {
         labelWidth: 120,
         column: [
           {
-            label: '箱东',
+            label: 'USER',
             prop: 'purchaseCompanyName',
             disabled: false
           },
@@ -1656,7 +1658,7 @@ export default {
       rtOption: {
         border: true,
         align: 'center',
-        menuWidth: 80,
+        menuWidth: 120,
         // menu: false,
         editBtn: false,
         delBtn: false,
@@ -2172,12 +2174,12 @@ export default {
         type: "warning"
       }).then(() => {
         if (row.id) {
-          tradingBoxItem({ ids: row.id }).then(res => {
-            this.form.tradingBoxItemsList.splice(index, 1);
+          renttermRemove({ ids: row.id }).then(res => {
+            this.form.rentTermList.splice(index, 1);
             this.$message.success("成功删除");
           })
         } else {
-          this.form.tradingBoxItemsList.splice(index, 1);
+          this.form.rentTermList.splice(index, 1);
         }
       });
     },
@@ -2215,11 +2217,6 @@ export default {
         }
       }
       if (name == '批量删除') {
-        for (let item of this.selectionListt) {
-          if (item.whetherEnable == '是') {
-            return this.$message.error("启用状态不能删除!");
-          }
-        }
         let multiList = []
         let arr = []
         this.$confirm("确定将选择数据删除?", {

+ 6 - 6
src/views/ow/owTask/index.vue

@@ -8,12 +8,12 @@
         @resetColumn="resetColumn('crud', 'option', 'optionBack', 461)"
         @saveColumn="saveColumn('crud', 'option', 'optionBack', 461)" @on-load="onLoad">
         <template slot="menuLeft">
-          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
+          </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length != 1||true" @click="copyButton">复制单据
+          </el-button>
+          <el-button type="warning" size="small"  disabled @click="outExport">导 出
           </el-button>
-          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button> -->
-          <!-- <el-button type="warning" size="small" @click="outExport">导 出
-          </el-button> -->
         </template>
         <template slot="menu" slot-scope="{ row, index }">
           <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
@@ -85,7 +85,7 @@ export default {
         ],
         column: [
           {
-            label: '箱东',
+            label: 'USER',
             prop: 'purchaseCompanyId',
             width: 150,
             overHidden: true,