Kaynağa Gözat

前端孟祥旭

mxx 4 yıl önce
ebeveyn
işleme
68207f5cb1

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

@@ -26,9 +26,15 @@ export const API_GET_PRAAMETER = '/commonSysParameter/getInfo'
 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'
+//派车查看
+export const API_GET_AUTOMOBILE_SEE = "/tranProcessInfo/getTranProcess"
+

+ 8 - 2
src/lang/zh.js

@@ -519,10 +519,13 @@
     tranManagementVehicleDispatching: '汽车调度',
     tranManagementVehicleLook: '查看派车详情',
     tranManagementTransporTationFire: '火运调度',
+
     tranManagementShipping:'船运调度',
     tranManagementShippingArrangemen:'船次安排',
     tranManagementShippingLook:'船运调度详情',
 
+    tranManagementTransporTrainNo: '车次安排',
+    tranManagementTransporTrainDetails: '火运调度详情',
 
     // 采购模块
     procurement: '采购管理',
@@ -4724,7 +4727,8 @@
     tranManagementDriver: '司机管理',
     tranManagementDriverAdd: '添加司机',
     tranManagementDriverLook: '查看司机',
-    tranManagementDriverEdit: '编辑司机'
+    tranManagementDriverEdit: '编辑司机',
+ 
   },
   tranManagementTransport: {
     tranManagementTransport: '运输任务',
@@ -4738,7 +4742,9 @@
     tranManagementVehicleLook: '查看派车详情',
   },
   tranManagementTransporTationFire: {
-    tranManagementTransporTationFire: '火运调度'
+    tranManagementTransporTationFire: '火运调度',
+    tranManagementTransporTrainNo: '车次安排',
+    tranManagementTransporTrainDetails: '火运调度详情',
   },
   tranManagementShipping:{
     tranManagementShipping:'船运调度',

+ 1 - 1
src/model/tasksport/index.js

@@ -17,4 +17,4 @@ export const getidentity = appRx.get(API_POST_PERSON, errorCatcher, errorHandle,
 //运输任务查看
 export const lookTranTask = appRx.get(API_POST_TRAN_LOOK, errorCatcher, errorHandle, filter)
 //运输任务-添加-根据仓库类型选库名
-export const getwarehousename = appRx.get(API_GET_TRAN_TASK_WAREHOUSE, errorCatcher, errorHandle, filter)
+export const getwarehousename = appRx.get(API_GET_TRAN_TASK_WAREHOUSE, errorCatcher, errorHandle, filter)

+ 14 - 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_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,9 +58,16 @@ 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)
+//派车查看
+export const seeCat = appRx.get(API_GET_AUTOMOBILE_SEE, errorCatcher, errorHandle, filter)
+

+ 30 - 6
src/views/tranManagement/component/routers/route.js

@@ -12,7 +12,6 @@ const tranManagementRouter = {
     icon: 'cg'
   },
   children: [
-    
     //火运调度
     {
       path: 'tranManagementTransporTationFire',
@@ -26,8 +25,36 @@ const tranManagementRouter = {
         permissicon: [],
         keepAlive: true
       },
-
-
+    },
+    //车次安排
+    {
+      path: 'tranManagementTransporTrainNo',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementTransporTrainNo'),
+      name: 'tranManagementTransporTrainNo',
+      meta: {
+        title: 'tranManagementTransporTrainNo',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementTransporTrainNo',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
+     //火运调度详情
+     {
+      path: 'tranManagementTransporTrainDetails',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/tranManagement/tranManagementTransporTrainDetails'),
+      name: 'tranManagementTransporTrainDetails',
+      meta: {
+        title: 'tranManagementTransporTrainDetails',
+        shortcutEntrance: 'tranManagement',
+        module: 'tranManagement.tranManagementDriver.tranManagementTransporTrainDetails',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
     },
     //船次安排
     {
@@ -209,9 +236,6 @@ const tranManagementRouter = {
         keepAlive: true
       }
     },
-
   ],
-
 };
-
 export default tranManagementRouter;

+ 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>

+ 166 - 278
src/views/tranManagement/tranManagementTransporTationFire.vue

@@ -1,20 +1,20 @@
 //火运调度
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="20">
+    <BaseHeaderLayout :leftSpan="12">
       <template slot="left">
         <ws-button
-        class="but"
+          class="but"
           type="primary"
           @click="handleAdd()"
           v-hasPermission="
             `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
           "
-          >
+        >
           执行中</ws-button
         >
         <ws-button
-        class="but"
+          class="but"
           @click="handleLook()"
           v-hasPermission="
             `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
@@ -22,32 +22,29 @@
           >已完成</ws-button
         >
         <ws-button
-        class="but"
+          class="but"
           @click="handleEdit()"
           v-hasPermission="
             `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
           "
           >全部任务</ws-button
-        > 
-
-
-        
+        >
       </template>
       <!-- 接单开始 -->
       <template slot="left">
-            <ws-date-picker
-              v-model="deptBudgetList.inOutDate"
-              type="date"
-              placeholder="请选择开始日期"
-              value-format="yyyy-MM-dd"
-            />
-            <span>至</span>
-            <ws-date-picker
-              v-model="deptBudgetList.inOutDate"
-              type="date"
-              placeholder="请选择结束日期"
-              value-format="yyyy-MM-dd"
-            />
+        <ws-date-picker
+          v-model="deptBudgetList.inOutDate"
+          type="date"
+          placeholder="请选择开始日期"
+          value-format="yyyy-MM-dd"
+        />
+        <span>至</span>
+        <ws-date-picker
+          v-model="deptBudgetList.inOutDate"
+          type="date"
+          placeholder="请选择结束日期"
+          value-format="yyyy-MM-dd"
+        />
         <ws-input
           v-model="searchKeyWord"
           placeholder="可按照合同编号、买方名称、卖方名称进行查找"
@@ -78,169 +75,115 @@
         /></ws-button>
       </template>
     </BaseHeaderLayout>
-    <div>
+    <div class="container">
       <el-table
         class="wenzi"
-        :data="warehouseList"
+        :data="tranManagementList.records"
         style="width: 100%; margin-top: 20px"
         height="780"
       >
-        <el-table-column prop="warehouseName" label="序号" width="80">
+      <el-table-column type="index" label="序号" width="80" >
+        <template scope="scope">
+          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+          <span v-else>{{ scope.$index + 1 }}</span>
+        </template>
+      </el-table-column>
+        <el-table-column prop="processNo" label="运输任务编号" width="120">
         </el-table-column>
-        <el-table-column prop="binNumber" label="运输任务编号" width="80">
+           <el-table-column prop="goodsName" label="货名" width="80">
         </el-table-column>
-        <el-table-column prop="capacity" label="货名">
-          <template slot-scope="scope">
-            <div
-              v-if="scope.row.capacity != 'null' && scope.row.capacity != null"
-            >
-              {{ scope.row.capacity }}
-            </div>
-          </template>
+           <el-table-column prop="weight" label="重量(吨)" width="120">
         </el-table-column>
-        <el-table-column class="table_td" label="重量(吨)">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-              {{ item.inNetWeight }}
-            </div>
-          </template>
+           <el-table-column prop="send" label="发货" width="160">
         </el-table-column>
-        <el-table-column class="table_td" label="发货">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-              {{ item.outNetWeight }}
-            </div>
-          </template>
+           <el-table-column prop="receive" label="收货" width="160">
         </el-table-column>
-        <el-table-column class="table_td" label="收货">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-              {{ item.storage }}
-            </div>
-          </template>
+           <el-table-column prop="tranCycle" label="运输周期" width="160">
+              <template scope="scope">
+               {{scope.row.deliveryDateStart}} ~ {{scope.row.deliveryDateEnd}}
+             </template>
         </el-table-column>
-        <el-table-column class="table_td" label="运输周期">
+        <el-table-column prop="status" label="状态">
           <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
+            <el-popover
+              placement="left"
+              :width="285"
+              trigger="click"
+              visible-arrow="false"
+              @show="history(scope.row)"
             >
-              {{ item.storage }}
-            </div>
-          </template>
-        </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">XXXXX</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 }}
+              <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">XXXXX</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>
-            </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="接单日期">
-          <template slot-scope="scope">
-            <div
-              style="height: 24px"
-              v-for="(item, i) in scope.row.warehouseNumViewList"
-            >
-              {{ item.storage }}
-            </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 prop="receivingDate" class="table_td" label="接单日期">
+        </el-table-column>
         <el-table-column prop="seller" label="操作" width="300">
           <template slot-scope="scope">
             <ws-button
               class="completed"
-              @click="nocomplete(scope.row)"
-              v-hasPermission="
-                `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-              "
+              @click="trainSee(scope.row)"
+             
             >
-              查看({{ scope.row.number }})
+              查看
             </ws-button>
             <ws-button
               class="putstorage"
-              @click="warehousing(scope.row)"
-              v-hasPermission="
-                `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-              "
+              @click="trainNumber(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,
-  export1,
-  editstatus,
-  billoperatehis,
-} from '@/model/warehouse/index'
+ automobileList,
+ dispatchCat
+} from '@/model/transport/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -279,6 +222,7 @@ export default {
       searchTypeText: '未完成',
       searchKeyWord: '',
       contractType: 2,
+      tranTypeKey: 2,
       // 提交类型
       submitType: true,
       size: 10,
@@ -286,7 +230,7 @@ export default {
       warehouseName: '',
       compId: sessionStorage.getItem('ws-pf_compId'),
       deptCircularPage: {},
-      warehouseList: [],
+      tranManagementList: [],
       deptBudgetList: {},
       historyList: [],
       pickerBeginDateBefore: {
@@ -305,47 +249,12 @@ export default {
     this.showType = this.isShow
   },
   methods: {
-    //出库
-    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) => {
         //判断是否是第一项
 
@@ -366,46 +275,25 @@ export default {
         // }
       })
     },
-    //查看//传参
-    nocomplete(row) {
+    //查看火运调度详细
+    trainSee(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,
-        },
+        path: 'tranManagementTransporTrainDetails',
+        query:{
+          id:row.id
+        }
       })
     },
-    //盘损
-    loss(item) {
+    //车次
+    trainNumber(row) {
       this.$router.push({
-        path: 'warehouseManagementIoss',
-        query: {
-          baseId: item.warehouseId,
-          positionId: item.binNumberId,
-          warehouseName: item.warehouseName,
-          binNumber: item.binNumber,
-        },
+        path: 'tranManagementTransporTrainNo',
+        query:{
+          id : row.id
+        }
       })
     },
+   
     //查看
     handleLook() {
       this.$router.push({ path: 'tranManagementVehicleLook' })
@@ -418,10 +306,7 @@ export default {
     handleEdit() {
       this.$router.push({ path: 'tranManagementTransportEdit' })
     },
-    // 派车
-    warehousing(){
-        this.$router.push({ path: 'tranManagementVehicleDispatching'})
-    },
+
     dateFormat(fmt, date) {
       let ret
       const opt = {
@@ -457,14 +342,17 @@ export default {
       console.log(`当前页: ${val}`)
       this.getList()
     },
-    getList() {
-      getList({
+     getList() {
+      automobileList({
         compId: sessionStorage.getItem('ws-pf_compId'),
-        warehouseName: this.warehouseName,
+        contractType: this.contractType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        tranTypeKey:this.tranTypeKey
       })
         .toPromise()
         .then((response) => {
-          this.warehouseList = response
+          this.tranManagementList = response
         })
     },
     editClick(row) {
@@ -540,34 +428,34 @@ export default {
       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',
-      })
-    },
+    // 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 {
+.container {
   width: 90%;
   margin: 0 auto;
 }
@@ -613,37 +501,37 @@ export default {
 /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;
+// .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;
+.base_header_layout .grid-content {
+  margin-top: 80px;
 }
-.but{
-    margin-top: 150px;
+.but {
+  margin-top: 150px;
 }
-.el-input--small .el-input__inner{
-    margin-left: 20px;
+.el-input--small .el-input__inner {
+  margin-left: 20px;
 }
 .el-range-editor--small.el-input__inner {
-    height: 32px;
-    margin-left: -20%;
+  height: 32px;
+  margin-left: -20%;
 }
 </style>

+ 739 - 0
src/views/tranManagement/tranManagementTransporTrainDetails.vue

@@ -0,0 +1,739 @@
+//火运调度详情
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">火运调度详情</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+
+    <ws-form
+      class="position"
+      ref="deptBudgetList"
+      :rules="rules"
+      :model="deptBudgetList"
+    >
+      <div class="small-title">任务详情</div>
+      <ws-info-table>
+        <!--任务编号-->
+        <ws-form-item label="任务编号" span="1" prop="processNo">
+          {{ deptBudgetList.processNo }}
+        </ws-form-item>
+        <!--货名-->
+        <ws-form-item label="货名" span="1" prop="goodsName">
+          {{ deptBudgetList.goodsName }}
+        </ws-form-item>
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{ deptBudgetList.weight }}
+        </ws-form-item>
+        <!--发货地址-->
+        <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+          {{ deptBudgetList.sendPrivate }}{{ deptBudgetList.sendCity
+          }}{{ deptBudgetList.sendArea }}
+        </ws-form-item>
+        <!--发货人-->
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">
+          {{ deptBudgetList.sender }}
+        </ws-form-item>
+        <!--发货人电话-->
+        <ws-form-item
+          label="发货人电话"
+          span="1"
+          prop="sender"
+          class="readonly"
+        >
+          {{ deptBudgetList.senderPhone }}
+        </ws-form-item>
+        <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+          {{ deptBudgetList.receivePrivate }}{{ deptBudgetList.receiveCity
+          }}{{ deptBudgetList.receiveArea }}
+        </ws-form-item>
+        <!--收货人-->
+        <ws-form-item label="收货人" span="1" prop="receiver">
+          {{ deptBudgetList.receiver }}
+        </ws-form-item>
+        <!--收货人电话-->
+        <ws-form-item label="收货人电话" span="1" prop="receiverPhone">
+          {{ deptBudgetList.receiverPhone }}
+        </ws-form-item>
+        <!--发货日期-->
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">
+          {{ deptBudgetList.deliveryDateStart }}
+        </ws-form-item>
+        <!--最晚到货日期-->
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">
+          {{ deptBudgetList.deliveryDateEnd }}
+        </ws-form-item>
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title">联络员及车次</div>
+      <ws-info-table>
+        <!--姓名-->
+        <ws-form-item label="姓名" span="1" prop="driver" class="liaison">
+          <ws-input
+            v-model="deptBudgetList.driver"
+            placeholder="请输入姓名"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <!--电话-->
+        <ws-form-item label="电话" span="1" prop="driverPhone" class="liaison">
+          <ws-input
+            v-model="deptBudgetList.driverPhone"
+            placeholder="请输入电话"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <!--发车日期-->
+        <ws-form-item label="发车日期" span="1" prop="sendDateStart" class="liaison">
+          <ws-input
+            v-model="deptBudgetList.sendDateStart"
+            placeholder="请输入发车日期"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <!--到站日期-->
+        <ws-form-item label="到站日期" span="1" prop="receiveDateEnd" class="liaison">
+          <ws-input
+            v-model="deptBudgetList.receiveDateEnd"
+            placeholder="请输入到站日期"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <!--车型-->
+        <ws-form-item label="车型" span="1" prop="trainNo" class="liaison">
+          <ws-input
+            v-model="deptBudgetList.trainNo"
+            placeholder="请输入车型"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in freightspace"
+        >
+          <!--车厢号-->
+          <ws-form-item label="车厢号" span="1" prop="trainNo" class="liaison">
+            <ws-input
+              v-model="deptBudgetList.trainNo"
+              placeholder="请输入车厢号"
+              maxlength="20"
+              size="small"
+            />
+            <!-- <img
+              width="22"
+              height="22"
+              class="del"
+              @click="del(index)"
+              src="../../../public/img/del.png"
+              alt=""
+            /> -->
+          </ws-form-item>
+        </div>
+        <!-- <el-button class="add bg-bottom" type="primary" @click="add">
+          添加车厢
+        </el-button> -->
+      </ws-info-table>
+    </ws-form>
+
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="returnsales()"
+        >关闭</el-button
+      >
+    </div>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat } from '@/model/transport/index'
+import WsUpload from '@/components/WsUpload'
+import mapDrag from '@/components/mapdrag/mapdrag'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    mapDrag,
+  },
+  watch: {
+    vesselId(val) {
+      this.getVesselData()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    let self = this
+    return {
+      staffList: [],
+      deptBudgetList: {
+        totalStorage: 0,
+      },
+      options_: regionData,
+      heightData: '600px',
+      zoom: 7,
+      selectedOptions: [],
+      center: [116.244694, 39.517344],
+      window: '',
+      radio: 1,
+      personCharge: [],
+      district: null,
+      listDate: { country: '中国', level: 'country', city: '' },
+      citylist: [],
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      rules: {
+        warehouseName: [
+          {
+            required: true,
+            message: '请输入仓库名称',
+            trigger: 'blur',
+          },
+          {
+            min: 2,
+            max: 20,
+            message: '仓库名长度不符合要求,请输入2-20字符之内',
+            trigger: 'blur',
+          },
+        ],
+      },
+      appendixIdsAdd: '',
+      size: 10,
+      value1: '',
+      unitList: [],
+      freightspace: [
+        {
+          driver: '',
+          driverPhone: '',
+          sendDateStart: '',
+          receiveDateEnd: '',
+          trainNo: '',
+        },
+      ],
+      name: '',
+      list: [],
+    }
+  },
+  // mounted() {
+  //   this.getList()
+  // },
+  computed: {
+    totalStorage: function () {
+      var maxStorage = 0
+      for (var i = 0; i < this.freightspace.length; i++) {
+        maxStorage += Number(this.freightspace[i].maxStorage)
+      }
+      return maxStorage
+    },
+  },
+  activated() {
+    this.deptBudgetList.id = this.$route.query.id
+    this.getList()
+  },
+  methods: {
+    //联系人下拉搜索
+    // dataFilter(val) {
+    //   this.deptBudgetList.personCharge = 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
+    //     }
+    //   }
+    // },
+    marker: function (item) {
+      this.deptBudgetList.warehousePositioning =
+        item.lnglat.lat + ',' + item.lnglat.lng
+    },
+    selectedAddress(e) {
+      this.deptBudgetList.warehousePositioning =
+        e.center.lat + ',' + e.center.lng
+    },
+    confirmPositioncity() {
+      this.listDate.level = 'city'
+      this.listDate.country = this.name
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleClose() {
+      this.dialogViewSpareMoney = false
+    },
+    add() {
+      this.freightspace.push({
+        binNumber: '',
+        maxStorage: '',
+        remark: '',
+      })
+    },
+    del(index) {
+      if (this.freightspace.length > 1) {
+        this.freightspace.splice(index, 1)
+      }
+    },
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    returnsales() {
+      this.deptBudgetList = {}
+      this.freightspace = {}
+      this.selectedOptions = ''
+      this.$router.push({ path: 'tranManagementTransporTationFire' })
+    },
+    // confirmPosition() {
+    //   this.draggable = false
+    // },
+    // 上传附件
+    uploadSuccess(data, files, url) {
+      console.log(data, files, url)
+    },
+    resetForm(deptBudgetList) {
+      this.$refs[deptBudgetList].resetFields()
+    },
+
+    getList() {
+      seeCat({ id: this.deptBudgetList.id })
+        .toPromise()
+        .then((response) => {
+          this.deptBudgetList = response
+        })
+    },
+    handleExamine() {},
+    approve() {},
+    // returnsales() {
+    //   this.$router.push({ path: 'purchaseContract' })
+    // },
+    selectChapterTwo(e) {
+      for (var i = 0; i < this.ChapterTwoList.length; i++) {
+        if (this.ChapterTwoList[i].constValue == e) {
+          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+        }
+      }
+    },
+    selectunitList(e) {
+      for (var i = 0; i < this.unitList.length; i++) {
+        if (this.unitList[i].constValue == e) {
+          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+        }
+      }
+    },
+    selectgrade(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+        }
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    // 编辑
+    editClick(item, index) {
+      const map = JSON.parse(JSON.stringify(item))
+      if (Object.is(item.id, 1)) {
+        return
+      }
+      if (Object.is(this.unitList[index].flag, 'delete')) {
+        map.flag = 'check'
+        this.$set(this.unitList, index, map)
+      } else {
+        map.flag = 'delete'
+        this.$set(this.unitList, index, map)
+      }
+    },
+    // 删除
+    deleteClick(item, index) {
+      if (Object.is(item.constKey, 1)) {
+        return
+      }
+      if (!item.constValue) {
+        this.unitList.splice(index, 1)
+        return
+      }
+      delxiala({ id: this.unitList[index].id })
+        .toPromise()
+        .then((response) => {
+          this.getUnitList()
+          this.pleaseChoose = ''
+        })
+    },
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+/deep/.totalStorage .el-input__inner {
+  color: #afb5cb;
+  background: #f5f7fa;
+}
+.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;
+}
+.position {
+  position: relative;
+}
+
+.del {
+  position: absolute;
+  right: -38px;
+  top: 9px;
+  cursor: pointer;
+}
+.del {
+  right: 0px;
+}
+.amap-page-container {
+  width: 300px;
+  height: 300px;
+}
+.el-form {
+  padding: 0 15%;
+}
+/deep/.ws-info-table .el-form-item {
+  border-right: 1px solid transparent;
+  border-bottom: 1px solid transparent;
+}
+.readonly {
+  position: relative;
+}
+.readonly:after {
+  content: '*';
+  color: #ff2727;
+  position: absolute;
+  right: 8px;
+  z-index: 10;
+  top: 21%;
+  font-size: 20px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.ws-info-table {
+  border-left: 1px solid transparent;
+  border-top: 1px solid transparent;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  padding: 0 25px;
+  border-left: 1px solid transparent;
+  background: #fff;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  width: 100px;
+  text-align: center;
+  background: #fff;
+  // border: 1px solid #cdd2dc;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.box-app {
+  display: inline-block;
+  float: left;
+  margin-left: 30px;
+  line-height: 50px;
+}
+/deep/.el-dialog {
+  .el-form-item {
+    margin-bottom: 0 !important;
+    .el-input--medium {
+      textarea {
+        min-height: 100px !important;
+      }
+    }
+  }
+}
+.collapse-bottom {
+  margin-bottom: 20px;
+}
+.input-main .textarea .el-textarea__inner {
+  width: 100%;
+  z-index: 1;
+}
+.bg-left {
+  padding-left: 30px;
+}
+.bg-right {
+  padding-right: 10px;
+  text-align: right;
+}
+.bg-bottom {
+  margin: 15px 0px;
+}
+.wenzi {
+  width: 900px;
+  margin: 0 auto;
+}
+.wenzi h3 {
+  display: inline-block;
+  left: 10px;
+}
+.wenzi p {
+  display: inline-block;
+}
+.center {
+  width: 900px;
+  margin: 0 auto;
+}
+.el-form-item {
+  width: 50%;
+}
+.el-form-item__label {
+  text-align: center;
+}
+.ce {
+  width: 900px;
+  margin: 0 auto;
+}
+/*.crt-main .textarea /deep/ .el-form-item__label {*/
+/*  height: 82px;*/
+/*}*/
+// 控制select为只读的时候显示样式
+
+.hide-sel {
+  .el-input__inner {
+    border: 0px;
+  }
+  .el-icon-arrow-up {
+    display: none;
+  }
+  .el-textarea__inner {
+    background-color: #fff !important;
+    border: 0;
+  }
+  .el-date-editor {
+    i {
+      display: none;
+    }
+  }
+  .is-disabled {
+    .el-input__inner:hover {
+      background-color: #fff !important;
+      border: 0;
+    }
+    color: #606266;
+    .el-input__inner {
+      background-color: #fff !important;
+      border: 0;
+      color: #606266;
+    }
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+      color: #606266;
+    }
+  }
+}
+
+// 控制select为只读的时候显示样式
+/deep/.ws-class-table-col {
+  height: auto;
+  padding: 0px 2px;
+  /deep/.el-input__inner {
+    padding: 0px 2px;
+  }
+}
+/deep/.is-disabled {
+  .el-input__prefix,
+  .el-input__suffix {
+    display: none;
+  }
+  .el-input__inner {
+    background-color: #fff;
+    border-color: #fff !important;
+    color: #000 !important;
+    font-size: 14px;
+    cursor: text;
+    padding: 0 !important;
+  }
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.ws-info-table .el-form-item {
+  width: 33.3333%;
+}
+.readonly:after {
+  display: none;
+}
+.el-textarea__inner {
+  display: none;
+}
+.el-form {
+  margin-top: 50px;
+}
+.readonly {
+  width: 16%;
+}
+.ws-info-table .el-form-item {
+  width: 33.33%;
+}
+//去边框
+/deep/.el-form-item {
+  border-right: 0px;
+  border-bottom: 0px;
+}
+/deep/.ws-info-table {
+  border-left: 0px;
+  border-top: 0px;
+}
+.ws-info-table .el-form-item .el-form-item__content {
+  border-right: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-top: 0px;
+}
+/deep/.ws-info-table .el-form-item {
+  border-right: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-top: 0px;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  background: #f5f7fa;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  font-family: PingFangSC-Regular, PingFang SC;
+  margin-bottom: 5px;
+  background-color: #fff;
+  font-size: 14px;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  background-color: #fff;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  border: 0px;
+}
+//联络员及车次
+/deep/.container .flex .ws-info-table .el-form-item {
+  width: 20%;
+}
+/deep/.container .flex .ws-info-table .el-form-item .el-form-item__label {
+  width: 33%;
+}
+/deep/.liaison{
+  width: 20%;
+}
+</style>

+ 853 - 0
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -0,0 +1,853 @@
+//车次安排
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">车次安排</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+
+    <ws-form
+      class="position"
+      ref="deptBudgetList"
+      :rules="rules"
+      :model="deptBudgetList"
+    >
+      <div class="small-title">任务详情</div>
+      <ws-info-table>
+        <!--任务编号-->
+        <ws-form-item label="任务编号" span="1" prop="processNo">
+          {{deptBudgetList.processNo}}
+        </ws-form-item>
+        <!--货名-->
+        <ws-form-item label="货名" span="1" prop="goodsName">
+            {{deptBudgetList.goodsName}}
+        </ws-form-item>
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          {{deptBudgetList.weight}}
+        </ws-form-item>
+
+        <!--发货地址-->
+        <ws-form-item label="发货地址" span="1" prop="sendDetailedAddress">
+          <!-- <el-cascader
+            :options="options_"
+            v-model="deptBudgetList.sendDetailedAddress"
+            clearable
+            size="large"
+            placeholder="请选择发货地址"
+            style="width: 200%"
+            @change="handleChange"
+          /> -->
+           {{deptBudgetList.sendPrivate}}{{deptBudgetList.sendCity}}{{deptBudgetList.sendArea}}
+        </ws-form-item>
+
+        <!--发货人-->
+        <ws-form-item label="发货人" span="1" prop="sender" class="readonly">
+          {{deptBudgetList.sender}}
+        </ws-form-item>
+
+        <!--发货人电话-->
+        <ws-form-item label="发货人电话" span="1"  prop="senderPhone" class="readonly">
+          {{deptBudgetList.senderPhone}}
+        </ws-form-item>
+        <!--收货地址-->
+        <ws-form-item label="收货地址" span="1" prop="receiveDetailedAddress">
+          <!-- <el-cascader
+            :options="options_"
+            v-model="deptBudgetList.receiveDetailedAddress"
+            clearable
+            size="large"
+            placeholder="请选择发货地址"
+            style="width: 200%"
+            @change="handleChange"
+          /> -->
+           {{deptBudgetList.receivePrivate}}{{deptBudgetList.receiveCity}}{{deptBudgetList.receiveArea}}
+        </ws-form-item>
+        <!--收货人-->
+        <ws-form-item label="收货人" span="1" prop="receiver">
+          {{deptBudgetList.receiver}}
+        </ws-form-item>
+        <!--收货人电话-->
+        <ws-form-item label="收货人电话" span="1" prop="receiverPhone">
+          {{deptBudgetList.receiverPhone}}
+        </ws-form-item>
+        <!--发货日期-->
+        <ws-form-item label="发货日期" span="1" prop="deliveryDateStart">
+          <!-- <ws-date-picker
+            v-model="deptBudgetList.deliveryDateStart"
+            type="date"
+            placeholder="请选择发货日期"
+            value-format="yyyy-MM-dd"
+          /> -->
+          {{deptBudgetList.deliveryDateStart}}
+        </ws-form-item>
+        <!--最晚到货日期-->
+        <ws-form-item label="最晚到货日期" span="1" prop="deliveryDateEnd">
+          <!-- <ws-date-picker
+            v-model="deptBudgetList.deliveryDateEnd"
+            type="date"
+            placeholder="请选择最晚到货日期"
+            value-format="yyyy-MM-dd"
+          /> -->
+          {{deptBudgetList.deliveryDateEnd}}
+        </ws-form-item>
+        <!--合同编号-->
+        <ws-form-item label="合同编号" span="1" prop="contractNo">
+          {{deptBudgetList.contractNo}}
+        </ws-form-item>
+      </ws-info-table>
+      <div class="small-title">联络员及车皮信息</div>
+
+      <ws-info-table class="flex1">
+        <!--姓名-->
+        <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 options"
+              :key="item.value"
+              :label="item.staffName"
+              :value="item.staffName"
+            />
+          </el-select>
+        </ws-form-item>
+        <!--电话-->
+        <ws-form-item label="电话" span="1" prop="driverPhone">
+          <ws-input
+            v-model="deptBudgetList.driverPhone"
+            placeholder="请输入电话"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <!--发车日期-->
+        <ws-form-item label="发车日期" span="1" prop="sendDateStart">
+          <ws-date-picker
+            v-model="deptBudgetList.sendDateStart"
+            type="date"
+            placeholder="请选择发货日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!--到站日期-->
+        <ws-form-item label="到站日期" span="1" prop="receiveDateEnd">
+          <ws-date-picker
+            v-model="deptBudgetList.receiveDateEnd"
+            type="date"
+            placeholder="请选择发货日期"
+            value-format="yyyy-MM-dd"
+          />
+        </ws-form-item>
+        <!--车型-->
+        <ws-form-item label="车型" span="1" prop="carModel">
+          <ws-select
+            v-model="deptBudgetList.carModel"
+            placeholder="请输入车型"
+            class="typeselect"
+          >
+            <ws-option
+              v-for="item in carModel"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item>
+      </ws-info-table>
+      <ws-info-table>
+        <div
+          style="width: 100%"
+          class="flex position"
+          v-for="(item, index) in freightspace"
+        >
+          <!--车厢号-->
+          <ws-form-item
+            :label="'车厢号-' + (index + 1)"
+            span="1"
+            prop="trainNo"
+          >
+            <ws-input
+              v-model="item.trainNo"
+              placeholder="请输入车厢号"
+              maxlength="20"
+              size="small"
+            />
+            <img
+              width="22"
+              height="22"
+              class="del"
+              @click="del(index)"
+              src="../../../public/img/del.png"
+              alt=""
+            />
+          </ws-form-item>
+        </div>
+        <el-button
+          class="add bg-bottom"
+          type="primary"
+          size="small"
+          @click="add"
+          >添加车厢</el-button
+        >
+      </ws-info-table>
+    </ws-form>
+
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button
+        class="bg-bottom"
+        type="primary"
+        size="small"
+        @click="submit(deptBudgetList)"
+        >提交</el-button
+      >
+    </div>
+  </div>
+</template>
+<script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { seeCat, dispatchCat, packList } from '@/model/transport/index'
+import { getstaff } from '@/model/warehouse/index'
+import WsUpload from '@/components/WsUpload'
+import mapDrag from '@/components/mapdrag/mapdrag'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    mapDrag,
+  },
+  watch: {
+    vesselId(val) {
+      this.getVesselData()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      staffList: [],
+      deptBudgetList: {
+        totalStorage: 0,
+      },
+      options_: regionData,
+      heightData: '600px',
+      zoom: 7,
+      selectedOptions: [],
+      center: [116.244694, 39.517344],
+      window: '',
+      radio: 1,
+      personCharge: [],
+      district: null,
+      driverList: [],
+      listDate: { country: '中国', level: 'country', city: '' },
+      citylist: [],
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      tranType: 2,
+      rules: {
+        warehouseName: [
+          {
+            required: true,
+            message: '请输入仓库名称',
+            trigger: 'blur',
+          },
+          {
+            min: 2,
+            max: 20,
+            message: '仓库名长度不符合要求,请输入2-20字符之内',
+            trigger: 'blur',
+          },
+        ],
+      },
+      appendixIdsAdd: '',
+      size: 10,
+      value1: '',
+      unitList: [],
+      freightspace: [
+        {
+          trainNo: '',
+        },
+      ],
+      name: '',
+      list: [],
+      staffList: [],
+      options: [],
+      carModel: [],
+      tranCarInfoList: {},
+      arr:[],
+    }
+  },
+  mounted() {
+    this.deptBudgetList.id = this.$route.query.id
+    this.getList()
+  },
+  computed: {
+    totalStorage: function () {
+      var maxStorage = 0
+      for (var i = 0; i < this.freightspace.length; i++) {
+        maxStorage += Number(this.freightspace[i].maxStorage)
+      }
+      return maxStorage
+    },
+  },
+  methods: {
+    dataFilter(val) {
+      this.deptBudgetList.personCharge = 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.driverPhone = this.staffList[i].staffMobilePhone
+          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+        }
+      }
+    },
+    marker: function (item) {
+      this.deptBudgetList.warehousePositioning =
+        item.lnglat.lat + ',' + item.lnglat.lng
+    },
+    selectedAddress(e) {
+      this.deptBudgetList.warehousePositioning =
+        e.center.lat + ',' + e.center.lng
+    },
+    confirmPositioncity() {
+      this.listDate.level = 'city'
+      this.listDate.country = this.name
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleClose() {
+      this.dialogViewSpareMoney = false
+    },
+    add() {
+      this.freightspace.push({
+        trainNo: '',
+      })
+    },
+    del(index) {
+      if (this.freightspace.length > 1) {
+        this.freightspace.splice(index, 1)
+      }
+    },
+    //下拉司机姓名改变事件
+    selectdriver() {},
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    returnsales() {
+      this.deptBudgetList = {}
+      this.freightspace = {}
+      this.selectedOptions = ''
+      this.$router.push({ path: 'tranManagementTransporTationFire' })
+    },
+    // confirmPosition() {
+    //   this.draggable = false
+    // },
+    // 上传附件
+    uploadSuccess(data, files, url) {
+      console.log(data, files, url)
+
+      // this.deptBudgetList.
+      // this.formData.append('files', files)
+      // this.feedbackObj.uploadNameAttachment = data.appendixName
+      // this.feedbackObj.pathUploadAttachment = data.appendixPath
+      // // this.newAppendixs = files
+      // this.onChangeFlag = true
+    },
+    submit() {
+      this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          this.$refs.deptBudgetList.validate((valid) => {
+            if (valid) {
+              for (var i = 0; i < this.freightspace.length; i++) {
+                var num = this.freightspace[i].trainNo
+                this.arr.push(
+                  num  
+                )
+                 console.log(num )
+              }
+              this.deptBudgetList.totalStorage = this.totalStorage
+
+              this.tranCarInfoList.driver = this.deptBudgetList.driver
+              this.tranCarInfoList.driverPhone = this.deptBudgetList.driverPhone
+              this.tranCarInfoList.sendDateStart = this.deptBudgetList.sendDateStart
+              this.tranCarInfoList.receiveDateEnd = this.deptBudgetList.receiveDateEnd
+              this.tranCarInfoList.carModel = this.deptBudgetList.carModel
+              this.tranCarInfoList.tranType= this.tranType
+              // this.tranCarInfoList.infoId = this.infoId
+              this.tranCarInfoList.boxNo = this.arr.toString()
+              var tranCarInfo = {}
+              var tranList = [this.tranCarInfoList]
+              tranCarInfo.id = this.deptBudgetList.id
+              tranCarInfo.infoId = this.deptBudgetList.infoId
+              tranCarInfo.tranCarInfoList = tranList
+              // dispatchCat({tranCarInfo:{tranCarInfoList:[this.tranCarInfoList],id:this.deptBudgetList.id}
+              dispatchCat(tranCarInfo)
+                .toPromise()
+                .then((response) => {
+                  this.$message.success('添加成功')
+                  this.deptBudgetList = {}
+                  this.freightspace = {}
+                  this.selectedOptions = ''
+                  this.$router.push({
+                    path: 'tranManagementTransporTationFire',
+                  })
+                })
+            } else {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    resetForm(deptBudgetList) {
+      this.$refs[deptBudgetList].resetFields()
+    },
+
+    getList() {
+      seeCat({ id: this.deptBudgetList.id })
+        .toPromise()
+        .then((response) => {
+          this.deptBudgetList = response
+        })
+      //司机姓名下拉
+      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
+        .toPromise()
+        .then((response) => {
+          this.options = response
+          this.staffList = response
+        })
+      //车型
+      packList({ constId: 'TRAN5' })
+        .toPromise()
+        .then((response) => {
+          this.carModel = response
+        })
+    },
+    handleExamine() {},
+    approve() {},
+    // returnsales() {
+    //   this.$router.push({ path: 'purchaseContract' })
+    // },
+    selectChapterTwo(e) {
+      for (var i = 0; i < this.ChapterTwoList.length; i++) {
+        if (this.ChapterTwoList[i].constValue == e) {
+          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+        }
+      }
+    },
+    selectunitList(e) {
+      for (var i = 0; i < this.unitList.length; i++) {
+        if (this.unitList[i].constValue == e) {
+          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+        }
+      }
+    },
+    selectgrade(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+        }
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    // 编辑
+    editClick(item, index) {
+      const map = JSON.parse(JSON.stringify(item))
+      if (Object.is(item.id, 1)) {
+        return
+      }
+      if (Object.is(this.unitList[index].flag, 'delete')) {
+        map.flag = 'check'
+        this.$set(this.unitList, index, map)
+      } else {
+        map.flag = 'delete'
+        this.$set(this.unitList, index, map)
+      }
+    },
+    // 删除
+    deleteClick(item, index) {
+      if (Object.is(item.constKey, 1)) {
+        return
+      }
+      if (!item.constValue) {
+        this.unitList.splice(index, 1)
+        return
+      }
+      delxiala({ id: this.unitList[index].id })
+        .toPromise()
+        .then((response) => {
+          this.getUnitList()
+          this.pleaseChoose = ''
+        })
+    },
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+/deep/.totalStorage .el-input__inner {
+  color: #afb5cb;
+  background: #f5f7fa;
+}
+.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;
+}
+.position {
+  position: relative;
+}
+
+.del {
+  position: absolute;
+  right: -38px;
+  top: 9px;
+  cursor: pointer;
+}
+.del {
+  right: 0;
+}
+.amap-page-container {
+  width: 300px;
+  height: 300px;
+}
+.el-form {
+  padding: 0 15%;
+}
+/deep/.ws-info-table .el-form-item {
+  border-right: 1px solid transparent;
+  border-bottom: 1px solid transparent;
+}
+.readonly {
+  position: relative;
+}
+.readonly:after {
+  content: '*';
+  color: #ff2727;
+  position: absolute;
+  right: 8px;
+  z-index: 10;
+  top: 21%;
+  font-size: 20px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  padding: 0 25px;
+  border-left: 1px solid transparent;
+  background: #fff;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  width: 100px;
+  text-align: center;
+  background: #fff;
+  // border: 1px solid #cdd2dc;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.box-app {
+  display: inline-block;
+  float: left;
+  margin-left: 30px;
+  line-height: 50px;
+}
+/deep/.el-dialog {
+  .el-form-item {
+    margin-bottom: 0 !important;
+    .el-input--medium {
+      textarea {
+        min-height: 100px !important;
+      }
+    }
+  }
+}
+.collapse-bottom {
+  margin-bottom: 20px;
+}
+.input-main .textarea .el-textarea__inner {
+  width: 100%;
+  z-index: 1;
+}
+.bg-left {
+  padding-left: 30px;
+}
+.bg-right {
+  padding-right: 10px;
+  text-align: right;
+}
+.bg-bottom {
+  margin: 15px 0px;
+}
+.wenzi {
+  width: 900px;
+  margin: 0 auto;
+}
+.wenzi h3 {
+  display: inline-block;
+  left: 10px;
+}
+.wenzi p {
+  display: inline-block;
+}
+.center {
+  width: 900px;
+  margin: 0 auto;
+}
+.el-form-item {
+  width: 50%;
+}
+.el-form-item__label {
+  text-align: center;
+}
+.ce {
+  width: 900px;
+  margin: 0 auto;
+}
+/*.crt-main .textarea /deep/ .el-form-item__label {*/
+/*  height: 82px;*/
+/*}*/
+// 控制select为只读的时候显示样式
+
+.hide-sel {
+  .el-input__inner {
+    border: 0px;
+  }
+  .el-icon-arrow-up {
+    display: none;
+  }
+  .el-textarea__inner {
+    background-color: #fff !important;
+    border: 0;
+  }
+  .el-date-editor {
+    i {
+      display: none;
+    }
+  }
+  .is-disabled {
+    .el-input__inner:hover {
+      background-color: #fff !important;
+      border: 0;
+    }
+    color: #606266;
+    .el-input__inner {
+      background-color: #fff !important;
+      border: 0;
+      color: #606266;
+    }
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+      color: #606266;
+    }
+  }
+}
+
+// 控制select为只读的时候显示样式
+/deep/.ws-class-table-col {
+  height: auto;
+  padding: 0px 2px;
+  /deep/.el-input__inner {
+    padding: 0px 2px;
+  }
+}
+/deep/.is-disabled {
+  .el-input__prefix,
+  .el-input__suffix {
+    display: none;
+  }
+  .el-input__inner {
+    background-color: #fff;
+    border-color: #fff !important;
+    color: #000 !important;
+    font-size: 14px;
+    cursor: text;
+    padding: 0 !important;
+  }
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.ws-info-table .el-form-item {
+  width: 33.3333%;
+}
+.readonly:after {
+  display: none;
+}
+.el-textarea__inner {
+  display: none;
+}
+.el-form {
+  margin-top: 50px;
+}
+.readonly {
+  width: 16%;
+}
+
+//去边框
+/deep/.el-form-item {
+  border-right: 0px;
+  border-bottom: 0px;
+}
+/deep/.ws-info-table {
+  border-left: 0px;
+  border-top: 0px;
+}
+.ws-info-table .el-form-item .el-form-item__content {
+  border-right: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-top: 0px;
+}
+/deep/.ws-info-table .el-form-item {
+  border-right: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-top: 0px;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  background: #f5f7fa;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+  font-family: PingFangSC-Regular, PingFang SC;
+  margin-bottom: 5px;
+  background-color: #fff;
+  font-size: 14px;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+/deep/.ws-info-table .el-form-item .el-form-item__label {
+  background-color: #fff;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+}
+
+/deep/.ws-info-table .el-form-item .el-form-item__content {
+  border: 0px;
+}
+//联络员及车次
+/deep/.flex1 .ws-info-table .el-form-item {
+  width: 20%;
+}
+/deep/.flex1 .ws-info-table .el-form-item .el-form-item__label {
+  width: 20%;
+}
+</style>

+ 2 - 0
src/views/warehouse/warehouseManagementAdd.vue

@@ -589,6 +589,7 @@ mounted(){
           type: 'warning',
         })
           .then(() => {
+ 
             this.$refs.deptBudgetList.validate((valid) => {
               if (valid) {
                 this.deptBudgetList.compId =
@@ -602,6 +603,7 @@ mounted(){
                 this.deptBudgetList.warehousePositionInfoList =
                   this.freightspace
                 this.deptBudgetList.totalStorage = this.totalStorage
+          
                 increase(this.deptBudgetList)
                   .toPromise()
                   .then((response) => {

+ 1 - 1
src/views/warehouse/warehouseManagementRecord.vue

@@ -130,7 +130,7 @@
                     label="不完善粒(%)<="
                     span="1"
                     prop="imperfectGrain"
-                  >
+                  >        
                     {{ props.row.imperfectGrain }}
                   </ws-form-item>
                   <ws-form-item label="质检员" span="1" prop="qualityInspector">