zhongtianhaoyuan 4 лет назад
Родитель
Сommit
d2ef4b9e29

+ 7 - 0
src/api/V2/transport/index.js

@@ -27,6 +27,12 @@ export const API_POST_TRAN_LOOK = '/tranTaskInfo/getTranTask'
 // 汽运调度列表
 export const API_GET_AUTOMOBILE_TRAN_LIST = '/tranProcessInfo/selectTranProcessInfo'
 
+//船运调度列表
+export const API_GET_SHIPPING_TRAN_LIST = '/tranProcessInfo/selectTranProcessInfo'
+//船运调度详情
+export const API_GET_SHIPPING_TRST_LOOK = '/tranProcessInfo/getTranProcess'
+//船次安排
+export const API_POST_SHIPPING_TRAN_ARR = '/tranCarInfo/api/insertTranCar'
 //派车
 export const API_POST_AUTOMOBILE_DISPATCH= '/tranProcessInfo/api/insertTranCar'
 //派车查看
@@ -35,3 +41,4 @@ export const API_GET_AUTOMOBILE_SEE = "/tranProcessInfo/getTranProcess"
 export const API_GET_AUTOMOBILE_NAME = "/driverViewInfo/selectDriverName"
 //
 export const API_GET_AUTOMOBILE_ARRANGE = "/driverViewInfo/selectDriverDetail"
+

+ 10 - 0
src/lang/zh.js

@@ -519,6 +519,11 @@
     tranManagementVehicleDispatching: '汽车调度',
     tranManagementVehicleLook: '查看派车详情',
     tranManagementTransporTationFire: '火运调度',
+
+    tranManagementShipping:'船运调度',
+    tranManagementShippingArrangemen:'船次安排',
+    tranManagementShippingLook:'船运调度详情',
+
     tranManagementTransporTrainNo: '车次安排',
     tranManagementTransporTrainDetails: '火运调度详情',
     //发货反馈
@@ -4749,6 +4754,11 @@
     tranManagementTransporHairRespond: '发货反馈',
     tranManagementTransporFeedback:'反馈',
   },
+  tranManagementShipping:{
+    tranManagementShipping:'船运调度',
+    tranManagementShippingArrangemen:'船次安排',
+    tranManagementShippingLook:'船运调度详情'
+  },
   // 任务管理
   tranManagement: '任务管理',
   // 年度培训

+ 16 - 1
src/model/transport/index.js

@@ -17,10 +17,16 @@ import {
     API_GET_PRAAMETER,
     API_POST_TRAN_LOOK,
     API_GET_AUTOMOBILE_TRAN_LIST,
+
+    API_GET_SHIPPING_TRAN_LIST,
+    API_GET_SHIPPING_TRST_LOOK,
+    API_POST_SHIPPING_TRAN_ARR,
+    API_GET_STAFF,
     API_POST_AUTOMOBILE_DISPATCH,
     API_GET_AUTOMOBILE_SEE,
     API_GET_AUTOMOBILE_ARRANGE,
     API_GET_AUTOMOBILE_NAME,
+
 } from '@/api/V2/transport'
 // 司机列表
 export const selectDriver = appRx.get(API_GET_TRAN_DRIVERINFO, errorCatcher, errorHandle, filter)
@@ -52,6 +58,14 @@ export const packList = appRx.get(API_GET_PRAAMETER, errorCatcher, errorHandle,
 export const lookTranTask = appRx.get(API_POST_TRAN_LOOK, errorCatcher, errorHandle, filter)
 //汽运调度列表
 export const automobileList = appRx.get(API_GET_AUTOMOBILE_TRAN_LIST, errorCatcher, errorHandle, filter)
+
+//船运调度列表
+export const shippingList = appRx.get(API_GET_SHIPPING_TRAN_LIST,errorCatcher , errorHandle ,filter)
+//船运调度详情
+export const shippingLook = appRx.get(API_GET_SHIPPING_TRST_LOOK, errorCatcher, errorHandle , filter)
+//船次安排
+export const shippingArrangemen = appRx.post(API_POST_SHIPPING_TRAN_ARR,errorCatcher, errorHandle , filter )
+
 //派车提交
 export const dispatchCat = appRx.post(API_POST_AUTOMOBILE_DISPATCH, errorCatcher, errorHandle, filter)
 //派车查看
@@ -59,4 +73,5 @@ export const seeCat = appRx.get(API_GET_AUTOMOBILE_SEE, errorCatcher, errorHandl
 //
 export const nameXiala = appRx.get(API_GET_AUTOMOBILE_NAME, errorCatcher, errorHandle, filter)
 //
-export const arrange = appRx.get(API_GET_AUTOMOBILE_ARRANGE, errorCatcher, errorHandle, filter)
+export const arrange = appRx.get(API_GET_AUTOMOBILE_ARRANGE, errorCatcher, errorHandle, filter)
+

+ 60 - 2
src/views/tranManagement/component/routers/route.js

@@ -56,10 +56,38 @@ const tranManagementRouter = {
       },
       hidden: true
     },
+    //船次安排
+    {
+      path: 'tranManagementShippingArrangemen',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementShippingArrangemen'),
+      name: 'tranManagementShippingArrangemen',
+      meta: {
+        title: 'tranManagementShippingArrangemen',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementShippingArrangemen',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
 
+    },
+    //船运调度详情
+    {
+      path: 'tranManagementShippingLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementShippingLook'),
+      name: 'tranManagementShippingLook',
+      meta: {
+        title: 'tranManagementShippingLook',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementShippingLook',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
 
-
-
+    },
     //添加司机
     {
       path: 'tranManagementDriverAdd',
@@ -105,6 +133,36 @@ const tranManagementRouter = {
       },
 
     },
+    //船运调度
+    {
+      path: 'tranManagementShipping',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementShipping'),
+      name: 'tranManagementShipping',
+      meta: {
+        title: 'tranManagementShipping',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementShipping',
+        permissicon: [],
+        keepAlive: true
+      },
+     
+    },
+    //编辑司机
+    {
+      path: 'tranManagementDriverEdit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementDriverEdit'),
+      name: 'tranManagementDriverEdit',
+      meta: {
+        title: 'tranManagementDriverEdit',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementDriverEdit',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
     //司机查看
     {
       path: 'tranManagementDriverLook',

+ 600 - 0
src/views/tranManagement/tranManagementShipping.vue

@@ -0,0 +1,600 @@
+//船运调度
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="14">
+      <template slot="left">
+        <ws-button
+        class="but"
+          type="primary"
+          @click="handleAdd()"
+          >
+          执行中</ws-button
+        >
+        <ws-button
+        class="but"
+          @click="app()"
+          
+          >已完成</ws-button
+        >
+        <ws-button
+        class="but"
+          @click="handleEdit()"
+          
+          >全部任务</ws-button
+        > 
+      </template>
+      <!-- 接单开始 -->
+      <template slot="left">
+            <ws-date-picker
+              v-model="deptBudgetList.startDate"
+              type="date"
+              placeholder="请选择开始日期"
+              value-format="yyyy-MM-dd"
+            />
+            <span>至</span>
+            <ws-date-picker
+              v-model="deptBudgetList.endDate"
+              type="date"
+              placeholder="请选择结束日期"
+              value-format="yyyy-MM-dd"
+            />
+        <ws-input
+          v-model="searchKeyWord"
+          placeholder="可按照合同编号、买方名称、卖方名称进行查找"
+          clearable
+          maxlength="500"
+          type="input"
+          class="findValue"
+        ></ws-input>
+        <ws-button
+          class="find"
+          type="primary"
+          @click="find()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+      </template>
+    </BaseHeaderLayout>
+    <div>
+      <el-table
+        class="wenzi"
+        :data="warehouseList.records"
+        style="width: 100%; margin-top: 20px"
+        height="780"
+      >
+        <el-table-column type="index" label="序号" width="80" >
+        </el-table-column>
+        <el-table-column class="table_td" prop="processNo" label="运输任务编号">
+        </el-table-column>
+        <el-table-column class="table_td" prop="goodsName" label="货名">
+
+        </el-table-column>
+        <el-table-column class="table_td" label="重量(吨)" prop="weight">
+         
+        </el-table-column>
+        <el-table-column class="table_td" label="发货" prop="send">
+          
+        </el-table-column>
+        <el-table-column class="table_td" label="收货" prop="receive">
+          
+        </el-table-column>
+        <el-table-column class="table_td" label="运输周期" prop="tranCycle">
+         
+        </el-table-column>
+      <el-table-column prop="status" label="状态">
+        <template slot-scope="scope">
+          <el-popover
+          placement="left"
+          :width="285"
+          trigger="click"
+          visible-arrow="false"
+          @show="history(scope.row)"
+          >
+          <template>
+            <span slot="reference">
+              <span
+              v-if="scope.row.status =='待执行'"
+              class="executory"
+              ></span>
+            <span
+            v-if="scope.row.status == '执行中'"
+            class="inExecution"
+            ></span>
+            <span v-if="scope.row.status == '已完成'" class="done"></span
+            >{{scope.row.status}}
+            </span>
+          </template>
+          <div>
+              <p style="margin-top: 0; padding-left: 10px"></p>
+              <div v-for="(item, index) in historyList" class="flex">
+                <div class="vertical-text vertical-text-left">
+                  {{ item.updateDate }}
+                </div>
+                <div>
+                  <div class="vertical-circle"></div>
+                  <div
+                    v-if="index != historyList.length - 1"
+                    class="vertical-line"
+                  ></div>
+                </div>
+                <div class="vertical-text">
+                  {{ item.operateUser }}<br />{{ item.dealMsg }}
+                </div>
+              </div>
+            </div>
+          </el-popover>
+          <img
+            width="17"
+            height="18"
+            style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/edit.png"
+            @click="editClick(scope.row)"
+            alt=""
+          />
+        </template>
+      </el-table-column>
+      <el-table-column class="table_td" label="接单日期" prop="receivingDate">
+        </el-table-column>
+        <el-table-column prop="seller" label="操作" width="300">
+          <template slot-scope="scope">
+            <ws-button
+              class="completed"
+              @click="handleLook(scope.row)"
+              
+            >
+              查看({{ scope.row.number }})
+            </ws-button>
+            <ws-button
+              class="putstorage"
+              @click="shipping(scope.row)"
+            >
+              船次
+            </ws-button>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column prop="address" label="操作" width="200">
+          <template slot-scope="scope">
+            <div class="record" @click="record(scope.row)">记录</div>
+            <div class="adjustment" @click="loss(scope.row)">盘损</div>
+          </template>
+        </el-table-column> -->
+      </el-table>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getList,
+ 
+  shippingList,
+} from '@/model/transport/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      currentPage: 1,
+      tranTypeKey:3,
+      pageSize: 10,
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      warehouseName: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      deptBudgetList: {},
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    getList(){
+      console.log(123456)
+      shippingList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage:this.currentPage,
+        pageSize:this.pageSize,
+        contractType:this.contractType,
+        tranTypeKey: this.tranTypeKey, 
+      })
+      .toPromise()
+      .then((response)=>{
+        this.warehouseList = response 
+        
+      })
+    },
+    
+    delivery(item) {
+      this.$router.push({
+        path: 'warehouseManagementDelivery',
+        query: {
+          baseId: item.warehouseId,
+          positionId: item.binNumberId,
+          warehouseName: item.warehouseName,
+          binNumber: item.binNumber,
+          capacity: item.capacity,
+        },
+      })
+    },
+    
+    // warehousing(item) {
+    //   var free = 0
+    //   for (var i = 0; i < item.warehouseNumViewList.length; i++) {
+    //     free += Number(item.warehouseNumViewList[i].storage)
+    //   }
+    //   this.$router.push({
+    //     path: 'tranManagementVehicleDispatching',
+    //     query: {
+    //       baseId: item.warehouseId,
+    //       positionId: item.binNumberId,
+    //       warehouseName: item.warehouseName,
+    //       binNumber: item.binNumber,
+    //       capacity:item.capacity - free ,
+    //     },
+    //   })
+    // },
+    getSpanArr(data) {
+      let that = this
+
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+
+      that.spanArr = []
+
+      that.pos = 0
+
+      // //遍历数据
+
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        if (index === 0) {
+          this.spanArr.push(1)
+          this.pos = 0
+        } else {
+        //不是第一项时,就根据标识去存储
+        if (data[index].warehouseNumViewList.length > 1) {
+          查找到符合条件的数据时每次要把之前存储的数据+1
+          this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+          this.spanArr.push(0)
+        } else {
+          // 没有符合的数据时,要记住当前的index
+          this.spanArr.push(1)
+          this.pos = index
+        }
+        }
+      })
+    },
+    //查看//传参
+    nocomplete(row) {
+      this.$router.push({
+        path: 'tranManagementVehicleLook',
+        // query: {
+        //   baseId: row.warehouseId,
+        //   positionId: row.binNumberId,
+        //   warehouseName: row.warehouseName,
+        //   binNumber: row.binNumber,
+        // },
+      })
+    },
+    //记录
+    record(item) {
+      this.$router.push({
+        name: 'warehouseManagementRecord',
+        query: {
+          baseId: item.warehouseId,
+          positionId: item.binNumberId,
+          warehouseName: item.warehouseName,
+        },
+        params: {
+          remark: item.remark,
+          binNumber: item.binNumber,
+          capacity: item.capacity,
+        },
+      })
+    },
+    
+    handleAdd(){
+        this.$router.push({
+            path: 'tranManagementShippingArrangemen',
+        })
+    },
+    //查看
+    handleLook(row) {
+      this.$router.push({ 
+        name: 'tranManagementShippingLook',
+        query: { id: row.id },
+         })
+    },
+
+    // 派船
+    shipping(row){
+        this.$router.push({
+           name: 'tranManagementShippingArrangemen',
+           query:{
+                 id: row.id , 
+              // infoId:row.infoId,
+              // processId:row.processId,
+              //  driver:row.driver,
+              //  driverType:row.driver,
+              //  driverPhone:row.driverPhone,
+              //  shipNo:row.shipNo,
+              //   loadWeight:row.loadWeight,
+              //   shipName:row.shipName,
+              //   shipType:row.shipType,
+              //   boxNumber:row.boxNumber,
+              //    positionWeight:row.positionWeight,
+              //    sendDateStart:row.sendDateStart,
+              //     receiveDateEnd:row.receiveDateEnd,      
+           }
+           })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待执行' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          editstatus({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '状态修改成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+.el-row{
+    height: 150px;
+}
+.base_header_layout .grid-content{
+    margin-top: 80px;
+}
+.but{
+    margin-top: 150px;
+}
+.el-input--small .el-input__inner{
+    margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+    height: 32px;
+    margin-left: -20%;
+}
+</style>

+ 757 - 0
src/views/tranManagement/tranManagementShippingArrangemen.vue

@@ -0,0 +1,757 @@
+// 船次管理
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">船次管理</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="center">
+    <ws-form ref="deptBudgetList" :model="deptBudgetList" :rules="rules">
+      <div class="basicInformation">
+        <h2> 任务编号 </h2>
+        <ws-info-table>
+          <!-- 任务编号 -->
+          <ws-form-item label="任务编号" span="1" prop="processNo">
+            <ws-input
+             
+              v-model="deptBudgetList.processNo"
+              placeholder="请输入任务编号"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
+        <!-- 货名 -->
+          <ws-form-item label="货名" span="1" prop="goodsName">
+            <ws-input
+              v-model="deptBudgetList.goodsName"
+              placeholder="请输入货名"
+              maxlength="20"
+              size="small"
+              />
+          </ws-form-item>
+          <!--重量(吨)-->
+          <ws-form-item
+            label="重量(吨)"
+            span="1"
+            prop="weight"
+            class="readonly"
+          >
+            <ws-input
+             
+              v-model="deptBudgetList.weight"
+              placeholder="请输入重重"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+
+          <!--发货地址-->
+          <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+            <ws-input
+              readonly="readonly"
+              v-model="deptBudgetList.sendDetailedAddress"
+              placeholder=""
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
+         <!--发货人-->
+          <ws-form-item label="发货人" span="1" prop="sender">
+            <ws-input
+              v-model="deptBudgetList.sender"
+              placeholder="请输入发货人姓名"
+              maxlength="100"
+              size="small"
+          />
+          </ws-form-item>
+
+          <!--发货人电话-->
+          <ws-form-item label="发货人电话" span="1" prop="senderPhone">
+            <ws-input
+              v-model="deptBudgetList.senderPhone"
+              placeholder="请输入发货人电话"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+            <ws-input
+              readonly="readonly"
+              v-model="deptBudgetList.receiveDetailedAddress"
+              placeholder=""
+              maxlength="120"
+              size="small"
+            />
+        </ws-form-item>
+         <!--收货人-->
+          <ws-form-item label="收货人" span="1" prop="receiver">
+            <ws-input
+              v-model="deptBudgetList.receiver"
+              placeholder="请输入发货人"
+              maxlength="100"
+              size="small"
+          />
+          </ws-form-item>
+
+          <!--收货人电话-->
+          <ws-form-item label="收货人电话" span="1" prop="receiverPhone">
+            <ws-input
+              v-model="deptBudgetList.receiverPhone"
+              placeholder="请输入收货人电话"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--发货日期-->
+          <ws-form-item
+            label="发货日期"
+            span="1"
+            prop="deliveryDateStart"
+            class="deliverydate"
+          >
+            <ws-date-picker
+              v-model="deptBudgetList.deliveryDateStart"
+              type="date"
+              placeholder="请选择发货日期"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
+           <!--最晚发货日期-->
+          <ws-form-item
+            label="最晚发货日期"
+            span="1"
+            prop="deliveryDateEnd"
+            class="deliverydate"
+          >
+            <ws-date-picker
+              v-model="deptBudgetList.deliveryDateEnd"
+              type="date"
+              placeholder="请选择最晚发货日期"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
+          <!--合同编号-->
+          <ws-form-item label="合同编号" span="1" prop="contractNo">
+            <ws-input
+              v-model="deptBudgetList.contractNo"
+              placeholder="请输入合同编号"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          
+        </ws-info-table>
+      
+      <div class="small-title"><h2>联络员及航次</h2></div>
+        <div
+          style="width: 100%"
+          class="flex position"
+          
+        >
+        <ws-info-table>
+          <!--姓名-->
+         <ws-form-item label="姓名" span="1" prop="driver">
+            <el-select
+              v-model="deptBudgetList.driver"
+              placeholder="请选择负责人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in driver"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </ws-form-item>
+          <!--电话-->
+          <ws-form-item label="电话" span="1" prop="driverPhone" class="siji">
+            <ws-select
+                v-model="deptBudgetList.driverPhone"
+                placeholder="联络员电话"
+            ></ws-select>
+          </ws-form-item>
+          <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart" class="siji">
+            <ws-select
+                v-model="deptBudgetList.sendDateStart"
+                placeholder="请选择日期"
+                class="typeselect"
+               
+            ></ws-select>
+          </ws-form-item>
+          <!--预计到港日-->
+          <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd" class="siji">
+            <ws-input
+              v-model="deptBudgetList.receiveDateEnd"
+              type="date"
+              placeholder="请选择日期"
+              value-format="yyyy-MM-dd"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 船名 -->
+          <ws-form-item label="船名" span="1" prop="shipName" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipName"
+              placeholder="请输入船名"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!-- 航次 -->
+          <ws-form-item label="航次" span="1" prop="shipNo" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipNo"
+              placeholder="请选择航次"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="tranType" class="siji">
+          <ws-select
+          v-model="deptBudgetList.impurity"
+          placeholder=""
+          size="small"
+          ></ws-select>
+        </ws-form-item>
+        <ws-form-item label="数量" span="1" prop="boxNumber" class="siji">
+          <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入数量"
+          size="small"
+          ></ws-input>
+        </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div class="small-title"><h2>联络员及航次</h2></div>
+      <div
+          style="width: 100%"
+          class="flex position"
+         
+        >
+        <ws-info-table>
+          <!-- 姓名 -->
+          <ws-form-item label="姓名" span="1" prop="driver" class="siji">
+            <ws-select
+            v-model="deptBudgetList.driver"
+            placeholder="请选择联络员"
+            size="small"
+            ></ws-select>
+          </ws-form-item>
+          <!-- 电话 -->
+          <ws-form-item label="电话" span="1" prop="driverPhone" class="siji">
+            <ws-input
+            v-model="deptBudgetList.driverPhone"
+            placeholder="联络员电话"
+            size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="deliveryDateStart" class="siji">
+            <ws-select
+                v-model="deptBudgetList.deliveryDateStart"
+                placeholder="请选择日期"
+            ></ws-select>
+          </ws-form-item>
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd" class="siji">
+          <ws-input
+              v-model="deptBudgetList.receiveDateEnd"
+              type="date"
+              placeholder="请选择日期"
+              value-format="yyyy-MM-dd"
+              size="small"
+            />
+        </ws-form-item>
+          <!-- 船名 -->
+          <ws-form-item label="船名" span="1" prop="shipName" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipName"
+              placeholder="请输入船名"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!-- 航次 -->
+          <ws-form-item label="航次" span="1" prop="shipNo" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipNo"
+              placeholder="请选择航次"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="tranType" class="siji">
+          <ws-select
+          v-model="deptBudgetList.tranType"
+          placeholder=""
+          size="small"
+          ></ws-select>
+        </ws-form-item>
+        <ws-form-item label="数量" span="1" prop=" boxNumber" class="siji">
+          <ws-input
+          v-model="deptBudgetList. boxNumber"
+          placeholder="请输入数量"
+          size="small"
+          ></ws-input>
+        </ws-form-item>
+        </ws-info-table>
+        </div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in freightspace"
+        >
+     <ws-info-table>
+        <ws-form-item :label="'仓位号1-'+ (index+1)" span="1" prop="impurity" class="bot">
+            <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入仓位号"
+          size="small"
+          ></ws-input>
+          </ws-form-item>
+          <!-- 重量(吨) -->
+          <ws-form-item label="重量(吨)" span="1" prop="positionWeight" class="bot">
+          <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入装仓重量"
+          size="small"
+          ></ws-input>
+        </ws-form-item>
+        
+     </ws-info-table>
+      <img
+            width="22"
+            height="22"
+            class="del"
+            @click="del(index)"
+            src="../../../public/img/del.png"
+            alt=""
+          />
+
+      </div>
+      <el-button
+          class="add"
+          type="primary"
+          size="small"
+          @click="add()"
+          >添加仓位</el-button
+        >
+      <div style="text-align: right; padding: 10px">
+        
+        <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+      </div>
+    </ws-form>
+    </div>
+  </div>
+  
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import {shippingLook,shippingList } from '@/model/transport/index'
+import{getstaff}from '@/model/warehouse/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: {},
+      // 提交类型
+      submitType: true,
+      storageType: [],
+      readonly: true,
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      onChange: {},
+      driver:[],
+        options:[],
+        staffList :[],
+
+      gradeList: [],
+       freightspace: [{ binNumber: '', maxStorage: '', remark: '' }],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur',
+          },
+        ],
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {
+        warehouseInOutDetail: {},
+      },
+      historyList: [],
+
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  mounted() {
+    this.deptBudgetList.infoId = this.$route.query.infoId
+    this.deptBudgetList.processId = this.$route.query.processId
+    this.deptBudgetList.driver = this.$route.query.driver
+    this.deptBudgetList.driverType = this.$route.query.driverType
+    this.deptBudgetList.driverPhone = this.$route.query.driverPhone
+    this.deptBudgetList.shipNo = this.$route.query.shipNo
+    this.deptBudgetList.loadWeight = this.$route.query.loadWeight
+    this.deptBudgetList.shipName = this.$route.query.shipName
+    this.deptBudgetList.shipType = this.$route.query.shipType
+    this.deptBudgetList.boxNumber = this.$route.query.boxNumber
+    this.deptBudgetList.positionWeight = this.$route.query.positionWeight
+    this.deptBudgetList.sendDateStart = this.$route.query.sendDateStart
+    this.deptBudgetList.receiveDateEnd = this.$route.query.receiveDateEnd
+    this.getList1()
+    
+  },
+ activated(){
+   this.loaddata()
+ },
+  methods: {
+    getList(){
+    
+     getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
+        .toPromise()
+        .then((response) => {
+          // this.agent = response
+          this.options = response
+           this.staffList = response
+
+        })
+
+   },
+    dataFilter(val) {
+      this.deptBudgetList.driver = val
+      if (val) {
+        console.log(val)
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
+          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    loaddata() {
+      shippingLook({ id: this.$route.query.id })
+        .toPromise()
+        .then((response) => {
+          this.deptBudgetList = response
+    })
+  },
+    getList1(){
+      console.log(123456)
+      shippingList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage:this.currentPage,
+        pageSize:this.pageSize,
+        contractType:this.contractType,
+        tranTypeKey: this.tranTypeKey, 
+      })
+      .toPromise()
+      .then((response)=>{
+        this.warehouseList = response 
+      })
+    },
+    //返回按钮
+    revert() {
+      this.$router.push({ path: 'tranManagementVehicle' })
+    },
+    del(index){
+        if(this.freightspace.length > 1 ){
+            this.freightspace.splice(index,1)
+        }
+    },
+      add() {
+      this.freightspace.push({
+        binNumber: '',
+        maxStorage: '',
+        remark: '',
+      })
+    },
+    //提交按钮
+    submit() { 
+      this.$confirm(`暂存后可在待完成页面查看,确定暂存`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              this.deptBudgetList.compId = sessionStorage.getItem(
+                'ws-pf_compId'
+              )
+              this.deptBudgetList.inOutFlag = 2
+              this.deptBudgetList.statusFlag = 1
+              addstorageputList(this.deptBudgetList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('暂存成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  //  getList() {
+  //     shippingArrangemen({  
+  //       compId: sessionStorage.getItem('ws-pf_compId'),
+  //       currentPage:this.currentPage,
+  //       pageSize:this.pageSize,
+  //       contractType:this.contractType,
+  //       tranTypeKey: this.tranTypeKey,
+  //       })
+  //       .toPromise()
+  //       .then((response) => {
+  //         this.warehouseList = response
+  //       })
+  //   },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    // getList() {
+    //   // 货名
+    //   pullDown({ constId: 'CON2' })
+    //     .toPromise()
+    //     .then((response) => {
+    //       this.goodnameList = response
+    //     })
+    //   // 品级
+    //   pullDown({ constId: 'CON3' })
+    //     .toPromise()
+    //     .then((response) => {
+    //       this.gradeList = response
+    //     })
+    //   // 类型
+    //   pullDown({ constId: 'CON5' })
+    //     .toPromise()
+    //     .then((response) => {
+    //       this.storageType = response
+    //     })
+    // },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    // fujian(row) {
+    //   if (
+    //     row.receiveAttachmentPath === null ||
+    //     row.receiveAttachmentPath === ''
+    //   ) {
+    //     EventBus.$emit(
+    //       'warning',
+    //       this.$t('system.noticeCircular.NoInformation')
+    //     )
+    //   } else {
+    //     this.accessoryTFs = true
+    //   }
+    //   this.appendixIdss = row.receiveAttachmentPath
+    // },
+    approve() {},
+    listQuery() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .ws-info-table {
+    border: none;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    .el-form-item__label {
+      background: transparent;
+      border: none;
+    }
+    .el-form-item__content {
+      border: none;
+    }
+  }
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 10%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center{
+  width: 80%;
+  margin: 0 auto;
+}
+
+//表格文字
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: left;
+  font-size: 14px;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+//蓝标
+.small-title {
+  position: relative;
+  padding: 10px;
+  font-weight: 600;
+}
+.small-title::before {
+  position: absolute;
+  content: '';
+  display: block;
+  background: #5473e8;
+  width: 4px;
+  height: 14px;
+  left: 0px;
+  top: 13px;
+  padding: 4px 2px;
+}
+.position{
+  width: 90%;
+}
+.position .siji{
+  width: 23%;
+}
+/deep/.position .ws-info-table .el-form-item .el-form-item__label{
+  width: 40%;
+  text-align: center;
+}
+.position .zaizhong{
+  width: 16%;
+}
+//减号
+.del {
+  right: -70px;
+}
+.bot{
+  width: 30%;
+}
+</style>

+ 687 - 0
src/views/tranManagement/tranManagementShippingLook.vue

@@ -0,0 +1,687 @@
+// 船运调度详情
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="20">
+        <h2 class="bg-left title">船运调度详情</h2>
+      </el-col>
+      <el-col :span="4" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="revert()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="center">
+    <ws-form ref="deptBudgetList" :model="deptBudgetList">
+      <div class="basicInformation">
+        <h2> 任务编号 </h2>
+        <ws-info-table>
+          <!-- 任务编号 -->
+          <ws-form-item label="任务编号" span="1"  prop="processNo">
+            <ws-input
+              v-model="deptBudgetList.processNo" 
+              placeholder="请输入任务编号"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
+        <!-- 货名 -->
+          <ws-form-item label="货名" span="1" prop="goodsName">
+            <ws-input
+              v-model="deptBudgetList.goodsName"
+              placeholder="请输入货名"
+              maxlength="20"
+              size="small"
+              />
+          </ws-form-item>
+          <!--重量(吨)-->
+          <ws-form-item
+            label="重量(吨)"
+            span="1"
+            prop="weight"
+            class="readonly"
+          >
+            <ws-input
+              v-model="deptBudgetList.weight"
+              placeholder="请输入重重"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+
+          <!--发货地址-->
+          <ws-form-item label="发货地址" span="1">
+            <!-- <ws-input
+              readonly="readonly"
+              v-model="deptBudgetList.sendDetailedAddress"
+              placeholder=""
+              maxlength="120"
+              size="small"
+            /> -->
+             {{deptBudgetList.sendPrivate}}{{deptBudgetList.sendCity}}{{deptBudgetList.sendArea}}
+          </ws-form-item>
+         <!--发货人-->
+          <ws-form-item label="发货人" span="1" prop="sender">
+            <ws-input
+              v-model="deptBudgetList.sender"
+              placeholder="请输入发货人姓名"
+              maxlength="100"
+              size="small"
+          />
+          </ws-form-item>
+
+          <!--发货人电话-->
+          <ws-form-item label="发货人电话" span="1" prop="senderPhone">
+            <ws-input
+              v-model="deptBudgetList.senderPhone"
+              placeholder="请输入发货人电话"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+            <!-- <el-cascader
+            v-model="deptBudgetList.receiveDetailedAddress"
+            clearable
+            size="large"
+            placeholder="请选择发货地址"
+            style="width: 200%"
+          /> -->
+          {{deptBudgetList.receivePrivate}}{{deptBudgetList.receiveCity}}{{deptBudgetList.receiveArea}}
+        </ws-form-item>
+         <!--收货人-->
+          <ws-form-item label="收货人" span="1" prop="receiver">
+            <ws-input
+              v-model="deptBudgetList.receiver"
+              placeholder="请输入发货人"
+              maxlength="100"
+              size="small"
+          />
+          </ws-form-item>
+
+          <!--收货人电话-->
+          <ws-form-item label="收货人电话" span="1" prop="receiverPhone">
+            <ws-input
+              v-model="deptBudgetList.receiverPhone"
+              placeholder="请输入收货人电话"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--发货日期-->
+          <ws-form-item
+            label="发货日期"
+            span="1"
+            prop="deliveryDateStart"
+            class="deliverydate"
+          >
+            <ws-date-picker
+              v-model="deptBudgetList.deliveryDateStart"
+              type="date"
+              placeholder="请选择发货日期"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
+           <!--最晚发货日期-->
+          <ws-form-item
+            label="最晚发货日期"
+            span="1"
+            prop="deliveryDateEnd"
+            class="deliverydate"
+          >
+            <ws-date-picker
+              v-model="deptBudgetList.deliveryDateEnd"
+              type="date"
+              placeholder="请选择最晚发货日期"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
+          <!--合同编号-->
+          <ws-form-item label="合同编号" span="1" prop="contractNo">
+            <ws-input
+              v-model="deptBudgetList.contractNo"
+              placeholder="请输入合同编号"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          
+        </ws-info-table>
+      
+      <div class="small-title"><h2>联络员及航次</h2></div>
+        <div
+          style="width: 100%"
+          class="flex position"
+          :model="deptBudgetList"
+          
+        >
+        <ws-info-table>
+          <!--姓名-->
+          <ws-form-item label="姓名" span="1"  prop="driver" class="siji" >
+            <ws-input
+                v-model="deptBudgetList.driver"
+                placeholder="请选择联络员"
+
+            ></ws-input>
+          </ws-form-item>
+         <!-- 电话 -->
+          <ws-form-item label="电话" span="1" prop="driverPhone" class="siji">
+            <ws-input
+            v-model="deptBudgetList.driverPhone"
+            placeholder="联络员电话"
+            size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart" class="siji">
+            <ws-select
+                v-model="deptBudgetList.sendDateStart"
+                placeholder="请选择日期"
+                
+            ></ws-select>
+          </ws-form-item>
+          <!--预计到港日-->
+          <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd" class="siji">
+            <ws-input
+              v-model="deptBudgetList.receiveDateEnd"
+              type="date"
+              placeholder="请选择日期"
+              value-format="yyyy-MM-dd"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 船名 -->
+          <ws-form-item label="船名" span="1" prop="shipName" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipName"
+              placeholder="请输入船名"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!-- 航次 -->
+          <ws-form-item label="航次" span="1" prop="shipNo" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipNo"
+              placeholder="请选择航次"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="impurity" class="siji">
+          <ws-select
+          v-model="deptBudgetList.impurity"
+          placeholder=""
+          size="small"
+          ></ws-select>
+        </ws-form-item>
+        <ws-form-item label="数量" span="1" prop="impurity" class="siji">
+          <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入数量"
+          size="small"
+          ></ws-input>
+        </ws-form-item>
+        </ws-info-table>
+      </div>
+      <div class="small-title"><h2>联络员及航次</h2></div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          :model="deptBudgetList"
+         
+        >
+        <ws-info-table>
+          <!-- 姓名 -->
+          <ws-form-item label="姓名" span="1" prop="driver" class="siji">
+            <ws-select
+            v-model="deptBudgetList.driver"
+            placeholder="请选择联络员"
+            size="small"
+            ></ws-select>
+          </ws-form-item>
+          <!-- 电话 -->
+          <ws-form-item label="电话" span="1" prop="driverPhone" class="siji">
+            <ws-input
+            v-model="deptBudgetList.driverPhone"
+            placeholder="联络员电话"
+            size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!--发船日期-->
+          <ws-form-item label="发船日期" span="1" prop="sendDateStart" class="siji">
+            <ws-input
+                v-model="deptBudgetList.sendDateStart"
+                placeholder="请选择日期"
+                
+            ></ws-input>
+          </ws-form-item>
+        <ws-form-item label="预计到港日期" span="1" prop="receiveDateEnd" class="siji">
+          <ws-input
+              v-model="deptBudgetList.receiveDateEnd"
+              type="date"
+              placeholder="请选择日期"
+              value-format="yyyy-MM-dd"
+              size="small"
+            />
+        </ws-form-item>
+          <!-- 船名 -->
+          <ws-form-item label="船名" span="1" prop="shipName" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipName"
+              placeholder="请输入船名"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+          <!-- 航次 -->
+          <ws-form-item label="航次" span="1" prop="shipNo" class="siji">
+            <ws-input 
+              v-model="deptBudgetList.shipNo"
+              placeholder="请选择航次"
+              maxlength="100"
+              size="small"
+            ></ws-input>
+          </ws-form-item>
+        <!-- 类型 -->
+        <ws-form-item label="类型" span="1" prop="impurity" class="siji">
+          <ws-select
+          v-model="deptBudgetList.impurity"
+          placeholder=""
+          size="small"
+          ></ws-select>
+        </ws-form-item>
+        <ws-form-item label="数量" span="1" prop="impurity" class="siji">
+          <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入数量"
+          size="small"
+          ></ws-input>
+        </ws-form-item>
+        </ws-info-table>
+        </div>
+      <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in freightspace"
+        >
+     <ws-info-table>
+        <ws-form-item :label="'仓位号1-'+ (index+1)" span="1" prop="impurity" class="bot">
+            <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入仓位号"
+          size="small"
+          ></ws-input>
+          </ws-form-item>
+          <!-- 重量(吨) -->
+          <ws-form-item label="重量(吨)" span="1" prop="positionWeight" class="bot">
+          <ws-input
+          v-model="deptBudgetList.impurity"
+          placeholder="请输入装仓重量"
+          size="small"
+          ></ws-input>
+        </ws-form-item>
+        
+     </ws-info-table>
+      <img
+            width="22"
+            height="22"
+            class="del"
+            @click="del(index)"
+            src="../../../public/img/del.png"
+            alt=""
+          />
+      </div>
+      <el-button
+          class="add"
+          type="primary"
+          size="small"
+          @click="add()"
+          >添加仓位</el-button
+        >
+      <div style="text-align: right; padding: 10px">
+        
+        <el-button
+          class="bg-bottom-up"
+          type="primary"
+          size="small"
+          @click="submit()"
+          >提交</el-button
+        >
+      </div>
+      </div>
+    </ws-form>
+    </div>
+  </div>
+  
+</template>
+<script>
+import {shippingList,shippingLook } from '@/model/transport/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: {},
+      // 提交类型
+      submitType: true,
+      storageType: [],
+      readonly: true,
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      onChange: {},
+      gradeList: [],
+       freightspace: [{ binNumber: '', maxStorage: '', remark: '' }],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur',
+          },
+        ],
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM'),
+      },
+      contractList: [],
+      deptBudgetList: {
+        warehouseInOutDetail: {},
+      },
+      historyList: [],
+
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  mounted() {
+    this.deptBudgetList.baseId = this.$route.query.baseId
+    this.deptBudgetList.positionId = this.$route.query.positionId
+    this.deptBudgetList.warehouseName = this.$route.query.warehouseName
+    this.deptBudgetList.binNumber = this.$route.query.binNumber
+    this.getList()
+  },
+ activated(){
+    this.loaddata()
+    
+ },
+  methods: {
+    loaddata() {
+      shippingLook({ id: this.$route.query.id })
+        .toPromise()
+        .then((response) => {
+          this.deptBudgetList = response
+    })
+  },
+    getList(){
+      console.log(123456)
+      shippingList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage:this.currentPage,
+        pageSize:this.pageSize,
+        contractType:this.contractType,
+        tranTypeKey: this.tranTypeKey, 
+      })
+      .toPromise()
+      .then((response)=>{
+        this.warehouseList = response 
+      })
+    },
+    //返回按钮
+    revert() {
+      this.$router.push({ path: 'tranManagementVehicle' })
+    },
+    del(index){
+        if(this.freightspace.length > 1 ){
+            this.freightspace.splice(index,1)
+        }
+    },
+      add() {
+      this.freightspace.push({
+        binNumber: '',
+        maxStorage: '',
+        remark: '',
+      })
+    },
+    //提交按钮
+    submit() { 
+      this.$confirm(`暂存后可在待完成页面查看,确定暂存`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              this.deptBudgetList.compId = sessionStorage.getItem(
+                'ws-pf_compId'
+              )
+              this.deptBudgetList.inOutFlag = 2
+              this.deptBudgetList.statusFlag = 1
+              addstorageputList(this.deptBudgetList)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('暂存成功')
+                  this.$router.push({ path: 'warehouseManagementList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    getList() {
+      // 货名
+      pullDown({ constId: 'CON2' })
+        .toPromise()
+        .then((response) => {
+          this.goodnameList = response
+        })
+      // 品级
+      pullDown({ constId: 'CON3' })
+        .toPromise()
+        .then((response) => {
+          this.gradeList = response
+        })
+      // 类型
+      pullDown({ constId: 'CON5' })
+        .toPromise()
+        .then((response) => {
+          this.storageType = response
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    // fujian(row) {
+    //   if (
+    //     row.receiveAttachmentPath === null ||
+    //     row.receiveAttachmentPath === ''
+    //   ) {
+    //     EventBus.$emit(
+    //       'warning',
+    //       this.$t('system.noticeCircular.NoInformation')
+    //     )
+    //   } else {
+    //     this.accessoryTFs = true
+    //   }
+    //   this.appendixIdss = row.receiveAttachmentPath
+    // },
+    approve() {},
+    listQuery() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .ws-info-table {
+    border: none;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    .el-form-item__label {
+      background: transparent;
+      border: none;
+    }
+    .el-form-item__content {
+      border: none;
+    }
+  }
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 10%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center{
+  width: 80%;
+  margin: 0 auto;
+}
+
+//表格文字
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  text-align: left;
+  font-size: 14px;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+//蓝标
+.small-title {
+  position: relative;
+  padding: 10px;
+  font-weight: 600;
+}
+.small-title::before {
+  position: absolute;
+  content: '';
+  display: block;
+  background: #5473e8;
+  width: 4px;
+  height: 14px;
+  left: 0px;
+  top: 13px;
+  padding: 4px 2px;
+}
+.position{
+  width: 90%;
+}
+.position .siji{
+  width: 23%;
+}
+/deep/.position .ws-info-table .el-form-item .el-form-item__label{
+  width: 40%;
+  text-align: center;
+}
+.position .zaizhong{
+  width: 16%;
+}
+//减号
+.del {
+  right: -70px;
+}
+.bot{
+  width: 30%;
+}
+</style>

+ 6 - 18
src/views/tranManagement/tranManagementVehicle.vue

@@ -7,26 +7,20 @@
           class="but"
           type="primary"
           @click="handleAdd()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
+          
         >
           执行中</ws-button
         >
         <ws-button
           class="but"
           @click="handleLook()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
+          
           >已完成</ws-button
         >
         <ws-button
           class="but"
           @click="handleEdit()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
+          
           >全部任务</ws-button
         >
       </template>
@@ -58,9 +52,7 @@
           class="find"
           type="primary"
           @click="find()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
+          
           ><img
             width="16"
             height="16"
@@ -203,18 +195,14 @@
             <ws-button
               class="completed"
               @click="nocomplete(scope.row)"
-              v-hasPermission="
-                `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-              "
+              
             >
               查看({{ scope.row.number }})
             </ws-button>
             <ws-button
               class="putstorage"
               @click="warehousing(scope.row)"
-              v-hasPermission="
-                `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-              "
+              
             >
               派车
             </ws-button>

+ 1 - 1
vue.config.js

@@ -144,7 +144,7 @@ module.exports = {
         // target: 'http://standard-dev.winsea.com/', //目标地址
         // target: 'http://localhost:8090/',
         // target: 'http://192.168.1.121:8090/',
-        target: 'http://192.168.1.115:8090/',
+        target: 'http://192.168.1.119:8090/',
         // target: 'http://192.168.1.119:8090/',
         // target: 'http://192.168.24.5:8098',//目标地址
         // target: 'http://product-server.winsea.com/',