Browse Source

前端gjy

gjy 4 years ago
parent
commit
ec3c59f188
32 changed files with 2866 additions and 327 deletions
  1. 7 0
      src/api/V2/transport/index.js
  2. 4 4
      src/api/V2/warehouse/index.js
  3. 18 0
      src/lang/zh.js
  4. 15 1
      src/model/transport/index.js
  5. 5 5
      src/model/warehouse/index.js
  6. 12 15
      src/store/modules/user.js
  7. 1 1
      src/views/contractManagement/purchaseContract.vue
  8. 2 3
      src/views/contractManagement/purchaseContractAdd.vue
  9. 3 3
      src/views/contractManagement/purchaseContractEdit.vue
  10. 20 21
      src/views/contractManagement/purchaseContractExamine.vue
  11. 4 2
      src/views/taskManagement/tranManagementTransportAdd.vue
  12. 2 2
      src/views/taskManagement/tranManagementTransportEdit.vue
  13. 91 2
      src/views/tranManagement/component/routers/route.js
  14. 10 17
      src/views/tranManagement/tranManagementDriver.vue
  15. 7 2
      src/views/tranManagement/tranManagementDriverAdd.vue
  16. 600 0
      src/views/tranManagement/tranManagementShipping.vue
  17. 757 0
      src/views/tranManagement/tranManagementShippingArrangemen.vue
  18. 687 0
      src/views/tranManagement/tranManagementShippingLook.vue
  19. 0 0
      src/views/tranManagement/tranManagementTransporFeedback.vue
  20. 447 0
      src/views/tranManagement/tranManagementTransporHairRespond.vue
  21. 1 54
      src/views/tranManagement/tranManagementTransporTationFire.vue
  22. 74 69
      src/views/tranManagement/tranManagementTransporTrainDetails.vue
  23. 18 15
      src/views/tranManagement/tranManagementTransporTrainNo.vue
  24. 4 31
      src/views/tranManagement/tranManagementVehicle.vue
  25. 1 1
      src/views/tranManagement/tranManagementVehicleDispatching.vue
  26. 35 39
      src/views/warehouse/warehouseManagementAdd.vue
  27. 2 2
      src/views/warehouse/warehouseManagementDelete.vue
  28. 2 2
      src/views/warehouse/warehouseManagementEdit.vue
  29. 6 8
      src/views/warehouse/warehouseManagementList.vue
  30. 2 2
      src/views/warehouse/warehouseManagementLook.vue
  31. 8 5
      src/views/warehouse/warehouseManagementPerfectDelivery.vue
  32. 21 21
      src/views/warehouse/warehouseManagementPerfectput.vue

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

@@ -27,6 +27,12 @@ export const API_POST_TRAN_LOOK = '/tranTaskInfo/getTranTask'
 // 汽运调度列表
 // 汽运调度列表
 export const API_GET_AUTOMOBILE_TRAN_LIST = '/tranProcessInfo/selectTranProcessInfo'
 export const API_GET_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_POST_AUTOMOBILE_DISPATCH= '/tranProcessInfo/api/insertTranCar'
 //派车查看
 //派车查看
@@ -35,3 +41,4 @@ export const API_GET_AUTOMOBILE_SEE = "/tranProcessInfo/getTranProcess"
 export const API_GET_AUTOMOBILE_NAME = "/driverViewInfo/selectDriverName"
 export const API_GET_AUTOMOBILE_NAME = "/driverViewInfo/selectDriverName"
 //
 //
 export const API_GET_AUTOMOBILE_ARRANGE = "/driverViewInfo/selectDriverDetail"
 export const API_GET_AUTOMOBILE_ARRANGE = "/driverViewInfo/selectDriverDetail"
+

+ 4 - 4
src/api/V2/warehouse/index.js

@@ -39,19 +39,19 @@ export const API_POST_WAREHOUSE_DEL_INOUTINFO = '/warehouseInOutInfo/api/deleteW
 //临时仓库增加
 //临时仓库增加
 export const API_POST_WAREHOUSE_ADD = '/warehouseBaseInfo/api/addTemporaryWarehouse'
 export const API_POST_WAREHOUSE_ADD = '/warehouseBaseInfo/api/addTemporaryWarehouse'
 
 
-//临时库清仓
+//临时库清仓
 export const API_POST_WAREHOUSE_CLEARANCEE = '/warehouseBaseInfo/api/editCleared'
 export const API_POST_WAREHOUSE_CLEARANCEE = '/warehouseBaseInfo/api/editCleared'
 
 
 //临时出入库合同编号下拉
 //临时出入库合同编号下拉
 export const API_GET_WAREHOUSE_NO = '/warehouseBaseInfo/selectContractNoList'
 export const API_GET_WAREHOUSE_NO = '/warehouseBaseInfo/selectContractNoList'
 // 获取负责人
 // 获取负责人
 export const API_GET_STAFF = '/staff/query/getStaffListByCompId'
 export const API_GET_STAFF = '/staff/query/getStaffListByCompId'
-//临时库记录
-export const API_GET_WAREHOUSE_RECORDSS ='/warehouseInOutInfo/selectInfoTemporary'
+//临时库记录
+export const API_GET_WAREHOUSE_RECORDSS = '/warehouseInOutInfo/selectInfoTemporary'
 
 
 //临时出库货名下拉
 //临时出库货名下拉
 export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList'
 export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList'
-//临时库待完成
+//临时库待完成
 export const API_GET_WAREHOUSE_LIST = '/warehouseInOutInfo/selectWarehouseInOutInfoTemporary'
 export const API_GET_WAREHOUSE_LIST = '/warehouseInOutInfo/selectWarehouseInOutInfoTemporary'
 
 
 
 

+ 18 - 0
src/lang/zh.js

@@ -519,8 +519,17 @@
     tranManagementVehicleDispatching: '汽车调度',
     tranManagementVehicleDispatching: '汽车调度',
     tranManagementVehicleLook: '查看派车详情',
     tranManagementVehicleLook: '查看派车详情',
     tranManagementTransporTationFire: '火运调度',
     tranManagementTransporTationFire: '火运调度',
+
+    tranManagementShipping:'船运调度',
+    tranManagementShippingArrangemen:'船次安排',
+    tranManagementShippingLook:'船运调度详情',
+
     tranManagementTransporTrainNo: '车次安排',
     tranManagementTransporTrainNo: '车次安排',
     tranManagementTransporTrainDetails: '火运调度详情',
     tranManagementTransporTrainDetails: '火运调度详情',
+    //发货反馈
+    tranManagementTransporHairRespond: '发货反馈',
+    tranManagementTransporFeedback: '反馈',
+
 
 
     // 采购模块
     // 采购模块
     procurement: '采购管理',
     procurement: '采购管理',
@@ -4741,6 +4750,15 @@
     tranManagementTransporTrainNo: '车次安排',
     tranManagementTransporTrainNo: '车次安排',
     tranManagementTransporTrainDetails: '火运调度详情',
     tranManagementTransporTrainDetails: '火运调度详情',
   },
   },
+  tranManagementTransporHairRespond:{
+    tranManagementTransporHairRespond: '发货反馈',
+    tranManagementTransporFeedback:'反馈',
+  },
+  tranManagementShipping:{
+    tranManagementShipping:'船运调度',
+    tranManagementShippingArrangemen:'船次安排',
+    tranManagementShippingLook:'船运调度详情'
+  },
   // 任务管理
   // 任务管理
   tranManagement: '任务管理',
   tranManagement: '任务管理',
   // 年度培训
   // 年度培训

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

@@ -15,10 +15,16 @@ import {
     API_GET_PRAAMETER,
     API_GET_PRAAMETER,
     API_POST_TRAN_LOOK,
     API_POST_TRAN_LOOK,
     API_GET_AUTOMOBILE_TRAN_LIST,
     API_GET_AUTOMOBILE_TRAN_LIST,
+
+    API_GET_SHIPPING_TRAN_LIST,
+    API_GET_SHIPPING_TRST_LOOK,
+    API_POST_SHIPPING_TRAN_ARR,
+    API_GET_STAFF,
     API_POST_AUTOMOBILE_DISPATCH,
     API_POST_AUTOMOBILE_DISPATCH,
     API_GET_AUTOMOBILE_SEE,
     API_GET_AUTOMOBILE_SEE,
     API_GET_AUTOMOBILE_ARRANGE,
     API_GET_AUTOMOBILE_ARRANGE,
     API_GET_AUTOMOBILE_NAME,
     API_GET_AUTOMOBILE_NAME,
+
 } from '@/api/V2/transport'
 } from '@/api/V2/transport'
 // 司机列表
 // 司机列表
 export const selectDriver = appRx.get(API_GET_TRAN_DRIVERINFO, errorCatcher, errorHandle, filter)
 export const selectDriver = appRx.get(API_GET_TRAN_DRIVERINFO, errorCatcher, errorHandle, filter)
@@ -46,6 +52,14 @@ export const packList = appRx.get(API_GET_PRAAMETER, errorCatcher, errorHandle,
 export const lookTranTask = appRx.get(API_POST_TRAN_LOOK, errorCatcher, errorHandle, filter)
 export const 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 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 dispatchCat = appRx.post(API_POST_AUTOMOBILE_DISPATCH, errorCatcher, errorHandle, filter)
 //派车查看
 //派车查看
@@ -53,4 +67,4 @@ export const seeCat = appRx.get(API_GET_AUTOMOBILE_SEE, errorCatcher, errorHandl
 //司机姓名手机号
 //司机姓名手机号
 export const nameXiala = appRx.get(API_GET_AUTOMOBILE_NAME, errorCatcher, errorHandle, filter)
 export const nameXiala = appRx.get(API_GET_AUTOMOBILE_NAME, errorCatcher, errorHandle, filter)
 //司机其他信息
 //司机其他信息
-export const arrange = appRx.get(API_GET_AUTOMOBILE_ARRANGE, errorCatcher, errorHandle, filter)
+export const arrange = appRx.get(API_GET_AUTOMOBILE_ARRANGE, errorCatcher, errorHandle, filter)

+ 5 - 5
src/model/warehouse/index.js

@@ -64,18 +64,18 @@ export const complete = appRx.get(API_GET_WAREHOUSE_COMPLETE, errorCatcher, erro
 export const delPosition = appRx.post(API_POST_WAREHOUSE_DEL_POSITION, errorCatcher, errorHandle, filter)
 export const delPosition = appRx.post(API_POST_WAREHOUSE_DEL_POSITION, errorCatcher, errorHandle, filter)
 //删除待完善记录
 //删除待完善记录
 export const delInOut = appRx.post(API_POST_WAREHOUSE_DEL_INOUTINFO, errorCatcher, errorHandle, filter)
 export const delInOut = appRx.post(API_POST_WAREHOUSE_DEL_INOUTINFO, errorCatcher, errorHandle, filter)
-//临时库增加add
+//临时库增加add
 export const increase = appRx.post(API_POST_WAREHOUSE_ADD, errorCatcher, errorHandle, filter)
 export const increase = appRx.post(API_POST_WAREHOUSE_ADD, errorCatcher, errorHandle, filter)
-//临时库清仓
+//临时库清仓
 export const clearancee = appRx.post(API_POST_WAREHOUSE_CLEARANCEE, errorCatcher, errorHandle, filter)
 export const clearancee = appRx.post(API_POST_WAREHOUSE_CLEARANCEE, errorCatcher, errorHandle, filter)
 //获取负责人
 //获取负责人
 export const getstaff = appRx.get(API_GET_STAFF, errorCatcher, errorHandle, filter)
 export const getstaff = appRx.get(API_GET_STAFF, errorCatcher, errorHandle, filter)
-//临时库记录
-export const recordss = appRx.get(API_GET_WAREHOUSE_RECORDSS, errorCatcher , errorHandle , filter)
+//临时库记录
+export const recordss = appRx.get(API_GET_WAREHOUSE_RECORDSS, errorCatcher, errorHandle, filter)
 
 
 //临时出库货名下拉
 //临时出库货名下拉
 export const goodsnameXiala = appRx.get(API_GET_GOODSNAME_XIALA, errorCatcher, errorHandle, filter)
 export const goodsnameXiala = appRx.get(API_GET_GOODSNAME_XIALA, errorCatcher, errorHandle, filter)
-//临时库待完成
+//临时库待完成
 export const completeList = appRx.get(API_GET_WAREHOUSE_LIST, errorCatcher, errorHandle, filter)
 export const completeList = appRx.get(API_GET_WAREHOUSE_LIST, errorCatcher, errorHandle, filter)
 //临时出入库合同编号下拉
 //临时出入库合同编号下拉
 export const xialaNo = appRx.get(API_GET_WAREHOUSE_NO, errorCatcher, errorHandle, filter)
 export const xialaNo = appRx.get(API_GET_WAREHOUSE_NO, errorCatcher, errorHandle, filter)

+ 12 - 15
src/store/modules/user.js

@@ -1,6 +1,5 @@
 import { fastLogin, logout, login, getRoule, getCurrentUserInfo, companyInfo, isLandBased, getAccountLoginHistoryCount, updateShowInfo }
 import { fastLogin, logout, login, getRoule, getCurrentUserInfo, companyInfo, isLandBased, getAccountLoginHistoryCount, updateShowInfo }
   from '@/model/indexRx'
   from '@/model/indexRx'
-import { getBaseInfo } from '@/model/system'
 import { getNoviceGuideData, findVesselSysVersion, getStaffHomeShowList } from '@/model/indexRx'
 import { getNoviceGuideData, findVesselSysVersion, getStaffHomeShowList } from '@/model/indexRx'
 import { setToken, getCompanyId, clearStorage } from '../../utils/auth'
 import { setToken, getCompanyId, clearStorage } from '../../utils/auth'
 import { resetRouter, asyncRoutes } from '../../router'
 import { resetRouter, asyncRoutes } from '../../router'
@@ -78,7 +77,7 @@ const mutations = {
 }
 }
 
 
 const actions = {
 const actions = {
-  async login ({ commit, dispatch }, userInfo) {
+  async login({ commit, dispatch }, userInfo) {
     const { username, password, domainName, companyName } = userInfo
     const { username, password, domainName, companyName } = userInfo
     const data = await login({
     const data = await login({
       username: username.trim(),
       username: username.trim(),
@@ -123,7 +122,7 @@ const actions = {
     setToken('Admin-Token')
     setToken('Admin-Token')
     return data
     return data
   },
   },
-  async fastLogin ({ dispatch }, userInfo) {
+  async fastLogin({ dispatch }, userInfo) {
     const { mobilePhone, veriCode } = userInfo
     const { mobilePhone, veriCode } = userInfo
     const data = await fastLogin({
     const data = await fastLogin({
       mobilePhone: mobilePhone,
       mobilePhone: mobilePhone,
@@ -168,7 +167,7 @@ const actions = {
 
 
   },
   },
   // get user info
   // get user info
-  getRoule ({ commit, state }) {
+  getRoule({ commit, state }) {
     return new Promise(async (resolve, reject) => {
     return new Promise(async (resolve, reject) => {
       try {
       try {
         const data = await getRoule(state.roles)
         const data = await getRoule(state.roles)
@@ -182,7 +181,7 @@ const actions = {
   },
   },
 
 
   // user logout
   // user logout
-  logout ({ commit, state }) {
+  logout({ commit, state }) {
     return new Promise((resolve, reject) => {
     return new Promise((resolve, reject) => {
       logout(state.token).toPromise()
       logout(state.token).toPromise()
         .then(() => {
         .then(() => {
@@ -204,7 +203,7 @@ const actions = {
   },
   },
 
 
   // remove token
   // remove token
-  resetToken ({ commit }) {
+  resetToken({ commit }) {
     return new Promise(resolve => {
     return new Promise(resolve => {
       commit('SET_TOKEN', '')
       commit('SET_TOKEN', '')
       commit('SET_ROLES', [])
       commit('SET_ROLES', [])
@@ -213,7 +212,7 @@ const actions = {
     })
     })
   },
   },
 
 
-  async getBaseInfo ({ commit }, params) {
+  async getBaseInfo({ commit }, params) {
     // debugger
     // debugger
     if (process.env.VUE_APP_PACKAGE_ENV === 'ship') {
     if (process.env.VUE_APP_PACKAGE_ENV === 'ship') {
       findVesselSysVersion().toPromise().then(res => {
       findVesselSysVersion().toPromise().then(res => {
@@ -223,24 +222,22 @@ const actions = {
         })
         })
       })
       })
     } else {
     } else {
-      const baseInfo = await getBaseInfo().toPromise()
-      commit('SET_BASE_INFO', baseInfo)
     }
     }
 
 
   },
   },
-  setScheduleState ({ commit }, params) {
+  setScheduleState({ commit }, params) {
     commit('SET_SCHEDULE_STATE', params)
     commit('SET_SCHEDULE_STATE', params)
   },
   },
-  async getTrainInfo ({ commit }, params) {
+  async getTrainInfo({ commit }, params) {
     let guideData = await getNoviceGuideData().toPromise()
     let guideData = await getNoviceGuideData().toPromise()
     commit('SET_GUIDE_INFO', guideData.data)
     commit('SET_GUIDE_INFO', guideData.data)
   },
   },
 
 
-  async getNewLogin ({ commit }, params) {
+  async getNewLogin({ commit }, params) {
     // let res = await getAccountLoginHistoryCount().toPromise()
     // let res = await getAccountLoginHistoryCount().toPromise()
     // commit('SET_TRAIN', res * 1 <= 0 ? 'new' : 'old')
     // commit('SET_TRAIN', res * 1 <= 0 ? 'new' : 'old')
   },
   },
-  async getUserInfo ({ commit, dispatch }, { vesselBankFlag = 'B', compName = '' }) {
+  async getUserInfo({ commit, dispatch }, { vesselBankFlag = 'B', compName = '' }) {
     const response = await getCurrentUserInfo().toPromise()
     const response = await getCurrentUserInfo().toPromise()
     const {
     const {
       staffName, deptId, deptName, deptNameEn, vessels = [],
       staffName, deptId, deptName, deptNameEn, vessels = [],
@@ -271,7 +268,7 @@ const actions = {
     sessionStorage.setItem('ws-pf_roleId', roleId || roles[0].roleId)
     sessionStorage.setItem('ws-pf_roleId', roleId || roles[0].roleId)
 
 
   },
   },
-  async toSetShow ({ commit, dispatch }, { userId = '' }) {
+  async toSetShow({ commit, dispatch }, { userId = '' }) {
     const data = await getStaffHomeShowList({
     const data = await getStaffHomeShowList({
       staffId: userId
       staffId: userId
     }).toPromise()
     }).toPromise()
@@ -281,7 +278,7 @@ const actions = {
     })
     })
     commit('SET_USERSETTING', showObject)
     commit('SET_USERSETTING', showObject)
   },
   },
-  async changeVesslBank ({ commit, dispatch, state }, showVal) {
+  async changeVesslBank({ commit, dispatch, state }, showVal) {
     await updateShowInfo(showVal).toPromise()
     await updateShowInfo(showVal).toPromise()
     dispatch('toSetShow', { userId: sessionStorage.getItem('ws-pf_userId') })
     dispatch('toSetShow', { userId: sessionStorage.getItem('ws-pf_userId') })
   }
   }

+ 1 - 1
src/views/contractManagement/purchaseContract.vue

@@ -587,7 +587,7 @@ export default {
       var text = ''
       var text = ''
       if (row.deliverType == 1) {
       if (row.deliverType == 1) {
         text =
         text =
-          '删除该合同将同时永久删除合同对应的临时库相关数据,是否确定删除?'
+          '删除该合同将同时永久删除合同对应的临时库相关数据,是否确定删除?'
       } else {
       } else {
         text = '合同删除后不可恢复,是否继续删除?'
         text = '合同删除后不可恢复,是否继续删除?'
       }
       }

+ 2 - 3
src/views/contractManagement/purchaseContractAdd.vue

@@ -317,13 +317,13 @@
         </ws-form-item>
         </ws-form-item>
         <ws-form-item
         <ws-form-item
           v-show="deptBudgetList.deliverType == 1"
           v-show="deptBudgetList.deliverType == 1"
-          label="临时库负责人"
+          label="临时库负责人"
           span="1"
           span="1"
           prop="packingMethod"
           prop="packingMethod"
         >
         >
           <el-select
           <el-select
             v-model="deptBudgetList.personCharge"
             v-model="deptBudgetList.personCharge"
-            placeholder="请选择临时库负责人"
+            placeholder="请选择临时库负责人"
             filterable
             filterable
             :filter-method="dataFilter"
             :filter-method="dataFilter"
             @change="selectstaff"
             @change="selectstaff"
@@ -664,7 +664,6 @@ export default {
     this.deptBudgetList.contractProcessInfo.gradeKey = 1
     this.deptBudgetList.contractProcessInfo.gradeKey = 1
     this.deptBudgetList.contractGoodsInfo.grade = '一等品'
     this.deptBudgetList.contractGoodsInfo.grade = '一等品'
     this.deptBudgetList.contractGoodsInfo.gradeKey = 1
     this.deptBudgetList.contractGoodsInfo.gradeKey = 1
-    console.log(1111)
     getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
     getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
       .toPromise()
       .toPromise()
       .then((response) => {
       .then((response) => {

+ 3 - 3
src/views/contractManagement/purchaseContractEdit.vue

@@ -304,16 +304,16 @@
           />
           />
         </ws-form-item>
         </ws-form-item>
 
 
-        <!-- 临时库负责人 -->
+        <!-- 临时库负责人 -->
         <ws-form-item
         <ws-form-item
-          label="临时库负责人"
+          label="临时库负责人"
           span="1"
           span="1"
           prop="packingMethod"
           prop="packingMethod"
           v-show="deptBudgetList.deliverType == 1"
           v-show="deptBudgetList.deliverType == 1"
         >
         >
           <el-select
           <el-select
             v-model="deptBudgetList.personCharge"
             v-model="deptBudgetList.personCharge"
-            placeholder="请选择临时库负责人"
+            placeholder="请选择临时库负责人"
             filterable
             filterable
             :filter-method="dataFilter"
             :filter-method="dataFilter"
             @change="selectstaff"
             @change="selectstaff"

+ 20 - 21
src/views/contractManagement/purchaseContractExamine.vue

@@ -52,19 +52,19 @@
         <ws-form-item label="卖方" span="1" prop="seller"
         <ws-form-item label="卖方" span="1" prop="seller"
           >{{ deptBudgetList.seller }}
           >{{ deptBudgetList.seller }}
         </ws-form-item>
         </ws-form-item>
-        <ws-form-item label="交货方式" span="1" prop="deliverType1"  
+        <ws-form-item label="交货方式" span="1" prop="deliverType1"
           >{{ deptBudgetList.deliverType1 }}
           >{{ deptBudgetList.deliverType1 }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="买方电话" span="1" prop="buyerPhone"
         <ws-form-item label="买方电话" span="1" prop="buyerPhone"
           >{{ deptBudgetList.buyerPhone }}
           >{{ deptBudgetList.buyerPhone }}
         </ws-form-item>
         </ws-form-item>
-         <ws-form-item label="包装方式" span="1" prop="packingMethod">
+        <ws-form-item label="包装方式" span="1" prop="packingMethod">
           {{ deptBudgetList.packingMethod }}
           {{ deptBudgetList.packingMethod }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
         <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
           {{ deptBudgetList.sellerPhone }}
           {{ deptBudgetList.sellerPhone }}
         </ws-form-item>
         </ws-form-item>
-        <ws-form-item label="验收方式" span="1" prop="acceptanceMethod" >
+        <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
           {{ deptBudgetList.acceptanceMethod }}
           {{ deptBudgetList.acceptanceMethod }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="重量(吨)" span="1" prop="weight">
         <ws-form-item label="重量(吨)" span="1" prop="weight">
@@ -89,31 +89,30 @@
         <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice">
         <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice">
           {{ deptBudgetList.totalContractPrice }}
           {{ deptBudgetList.totalContractPrice }}
         </ws-form-item>
         </ws-form-item>
-        <ws-form-item label="货源所在地区" span="1" >
-          {{deptBudgetList. sourceProvince}}
-          {{deptBudgetList.sourceCity}}
-          {{deptBudgetList.sourceArea}}
-
+        <ws-form-item label="货源所在地区" span="1">
+          {{ deptBudgetList.sourceProvince }}
+          {{ deptBudgetList.sourceCity }}
+          {{ deptBudgetList.sourceArea }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
         <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
-          {{deptBudgetList.sourceGoods}}
+          {{ deptBudgetList.sourceGoods }}
         </ws-form-item>
         </ws-form-item>
-        <ws-form-item label="交货地所在地区" span="1" >
-          {{deptBudgetList.deliveryProvince}}
-          {{deptBudgetList.deliveryCity}}
-          {{deptBudgetList. deliveryArea}}
+        <ws-form-item label="交货地所在地区" span="1">
+          {{ deptBudgetList.deliveryProvince }}
+          {{ deptBudgetList.deliveryCity }}
+          {{ deptBudgetList.deliveryArea }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="交货地详细地址" span="1" prop=" placeDelivery">
         <ws-form-item label="交货地详细地址" span="1" prop=" placeDelivery">
-          {{deptBudgetList.placeDelivery}}
+          {{ deptBudgetList.placeDelivery }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="签订日期" span="1" prop="signingDate">
         <ws-form-item label="签订日期" span="1" prop="signingDate">
           {{ deptBudgetList.signingDate }}
           {{ deptBudgetList.signingDate }}
         </ws-form-item>
         </ws-form-item>
         <ws-form-item label="最终实际交易量(吨)" span="1" prop="TradingVolume">
         <ws-form-item label="最终实际交易量(吨)" span="1" prop="TradingVolume">
-          {{deptBudgetList.sourceRegion}}
+          {{ deptBudgetList.sourceRegion }}
         </ws-form-item>
         </ws-form-item>
-        <ws-form-item label="临时库负责人" span="1" prop="sourceRegion">
-          {{deptBudgetList.sourceRegion}}
+        <ws-form-item label="临时库负责人" span="1" prop="sourceRegion">
+          {{ deptBudgetList.sourceRegion }}
         </ws-form-item>
         </ws-form-item>
       </ws-info-table>
       </ws-info-table>
       <!--面试信息-->
       <!--面试信息-->
@@ -263,10 +262,10 @@ export default {
         .toPromise()
         .toPromise()
         .then((response) => {
         .then((response) => {
           this.deptBudgetList = response
           this.deptBudgetList = response
-          if(this.deptBudgetList.deliverType == 1){
-            this.deptBudgetList.deliverType1 = "我方自提"
-          }else if(this.deptBudgetList.deliverType == 2){
-            this.deptBudgetList.deliverType1 = "对方送货" 
+          if (this.deptBudgetList.deliverType == 1) {
+            this.deptBudgetList.deliverType1 = '我方自提'
+          } else if (this.deptBudgetList.deliverType == 2) {
+            this.deptBudgetList.deliverType1 = '对方送货'
           }
           }
         })
         })
       // 包装方式
       // 包装方式

+ 4 - 2
src/views/taskManagement/tranManagementTransportAdd.vue

@@ -91,10 +91,10 @@
       <ws-info-table class="el-table">
       <ws-info-table class="el-table">
         <div class="start-address">
         <div class="start-address">
           <el-radio v-model="deptBudgetList.warehouseType" label="1"
           <el-radio v-model="deptBudgetList.warehouseType" label="1"
-            >自有库发货</el-radio
+            >常用仓库发货</el-radio
           >
           >
           <el-radio v-model="deptBudgetList.warehouseType" label="2"
           <el-radio v-model="deptBudgetList.warehouseType" label="2"
-            >临时库发货</el-radio
+            >临时库发货</el-radio
           >
           >
           <el-select
           <el-select
             v-model="deptBudgetList.sendWarehouse"
             v-model="deptBudgetList.sendWarehouse"
@@ -412,6 +412,7 @@ export default {
             receiver: '',
             receiver: '',
             senderPhone: '',
             senderPhone: '',
             receiverPhone: '',
             receiverPhone: '',
+            endFlag: '0',
           },
           },
         ],
         ],
       },
       },
@@ -565,6 +566,7 @@ export default {
         receiver: '',
         receiver: '',
         senderPhone: '',
         senderPhone: '',
         receiverPhone: '',
         receiverPhone: '',
+        endFlag: '0',
       })
       })
     },
     },
     del(index) {
     del(index) {

+ 2 - 2
src/views/taskManagement/tranManagementTransportEdit.vue

@@ -91,10 +91,10 @@
       <ws-info-table class="el-table">
       <ws-info-table class="el-table">
         <div class="start-address">
         <div class="start-address">
           <el-radio v-model="deptBudgetList.warehouseType" label="1"
           <el-radio v-model="deptBudgetList.warehouseType" label="1"
-            >自有库发货</el-radio
+            >常用仓库发货</el-radio
           >
           >
           <el-radio v-model="deptBudgetList.warehouseType" label="2"
           <el-radio v-model="deptBudgetList.warehouseType" label="2"
-            >临时库发货</el-radio
+            >临时库发货</el-radio
           >
           >
           <el-select
           <el-select
             v-model="deptBudgetList.sendWarehouse"
             v-model="deptBudgetList.sendWarehouse"

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

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

+ 10 - 17
src/views/tranManagement/tranManagementDriver.vue

@@ -3,14 +3,7 @@
   <div>
   <div>
     <BaseHeaderLayout :leftSpan="20">
     <BaseHeaderLayout :leftSpan="20">
       <template slot="right">
       <template slot="right">
-        <ws-button
-          type="primary"
-          @click="handleAdd()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
-          >添加</ws-button
-        >
+        <ws-button type="primary" @click="handleAdd()">添加</ws-button>
       </template>
       </template>
       <template slot="left">
       <template slot="left">
         <!-- <ws-select
         <!-- <ws-select
@@ -393,7 +386,7 @@ export default {
       searchTypeText: '',
       searchTypeText: '',
       outerVisible: false,
       outerVisible: false,
       //图片
       //图片
-      fileList:[],
+      fileList: [],
       // 提交类型
       // 提交类型
       submitType: true,
       submitType: true,
       size: 10,
       size: 10,
@@ -439,10 +432,10 @@ export default {
     },
     },
     //查找
     //查找
     handleLook() {
     handleLook() {
-      if(this.value2){
-        this.startDate = this.dateFormat('YYYY-mm-dd',this.value2[0])
-        this.endDate = this.dateFormat('YYYY-mm-dd',this.value2[1])
-      }else{
+      if (this.value2) {
+        this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
+        this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
+      } else {
         this.startDate = ''
         this.startDate = ''
         this.endDate = ''
         this.endDate = ''
       }
       }
@@ -566,7 +559,7 @@ export default {
             if (response.records[i].addressUrl != null) {
             if (response.records[i].addressUrl != null) {
               response.records[i].addressUrlArray =
               response.records[i].addressUrlArray =
                 response.records[i].addressUrl.split(',')
                 response.records[i].addressUrl.split(',')
-                this.fileList[i] = response.records[i].addressUrl.split(',')
+              this.fileList[i] = response.records[i].addressUrl.split(',')
             } else {
             } else {
               response.records[i].addressUrlArray = []
               response.records[i].addressUrlArray = []
             }
             }
@@ -576,7 +569,7 @@ export default {
           this.deptCircularPage.pageSize = response.size
           this.deptCircularPage.pageSize = response.size
           this.deptBudgetTotal = response.total
           this.deptBudgetTotal = response.total
           this.driverList = response
           this.driverList = response
-          console.log(this.fileList,1212121212121212)
+          console.log(this.fileList, 1212121212121212)
         })
         })
     },
     },
     editClick(row) {
     editClick(row) {
@@ -611,9 +604,9 @@ export default {
         })
         })
     },
     },
     selecttaskType(e) {
     selecttaskType(e) {
-      this.currentPage =1
+      this.currentPage = 1
       this.getList()
       this.getList()
-       
+
       // this.selectedOptions = e
       // this.selectedOptions = e
     },
     },
     fujian(row) {
     fujian(row) {

+ 7 - 2
src/views/tranManagement/tranManagementDriverAdd.vue

@@ -81,6 +81,7 @@
             class="readonly"
             class="readonly"
           >
           >
             <ws-input
             <ws-input
+              @input="cardchange"
               v-model="deptBudgetList.numberCard"
               v-model="deptBudgetList.numberCard"
               placeholder="请输入身份证号"
               placeholder="请输入身份证号"
               maxlength="100"
               maxlength="100"
@@ -88,7 +89,7 @@
             />
             />
           </ws-form-item>
           </ws-form-item>
         </ws-info-table>
         </ws-info-table>
-        {{ age }}
+        {{ age }}
       </div>
       </div>
     </ws-form>
     </ws-form>
 
 
@@ -560,7 +561,6 @@ export default {
       citylist: [],
       citylist: [],
       compId: sessionStorage.getItem('ws-pf_compId'),
       compId: sessionStorage.getItem('ws-pf_compId'),
       mainReportAdd: {},
       mainReportAdd: {},
-      appendixIdsAdd: '',
       size: 10,
       size: 10,
       value1: '',
       value1: '',
       unitList: [],
       unitList: [],
@@ -598,6 +598,11 @@ export default {
   },
   },
   computed: {},
   computed: {},
   methods: {
   methods: {
+    cardchange(e) {
+      if (e.length == 15 || e.length == 18) {
+        this.IdCard(e)
+      }
+    },
     IdCard(UUserCard) {
     IdCard(UUserCard) {
       //获取年龄
       //获取年龄
       var myDate = new Date()
       var myDate = new Date()

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

+ 0 - 0
src/views/tranManagement/tranManagementTransporFeedback.vue


+ 447 - 0
src/views/tranManagement/tranManagementTransporHairRespond.vue

@@ -0,0 +1,447 @@
+//发货反馈
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="12">
+      <template slot="left">
+        <ws-button
+          class="but"
+          type="primary"
+          @click="handleAdd()"
+        >
+          执行中</ws-button
+        >
+        <ws-button
+          class="but"
+          @click="handleLook()" 
+          >已完成</ws-button
+        >
+        <ws-button
+          class="but"
+          @click="handleEdit()"  
+          >全部任务</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-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 class="container">
+      <el-table
+        class="wenzi"
+        :data="tranManagementList.records"
+        style="width: 100%; margin-top: 20px"
+        height="780"
+      >
+        <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="goodsName" label="运输方式" width="80">
+        </el-table-column>
+         <el-table-column prop="goodsName" label="货名" width="80">
+        </el-table-column>
+        <el-table-column prop="weight" label="重量(吨)" width="120">
+        </el-table-column>
+        <el-table-column prop="send" label="发货" width="160">
+        </el-table-column>
+        <el-table-column prop="receive" label="收货" width="160">
+        </el-table-column>
+        <el-table-column prop="tranCycle" label="运输周期" width="160">
+          <template scope="scope">
+            {{ scope.row.deliveryDateStart }} ~ {{ scope.row.deliveryDateEnd }}
+          </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 }}
+                  </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 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="trainSee(scope.row)">
+              查看
+            </ws-button>
+            <ws-button class="putstorage" @click="feedback(scope.row)">
+              反馈
+            </ws-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </div>
+</template>
+<script>
+import { automobileList } 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,
+      pageSize: 10,
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      tranTypeKey: 2,
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      warehouseName: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      tranManagementList: [],
+      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: {
+    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
+        }
+        // }
+      })
+    },
+    //查看火运调度详细
+    trainSee(row) {
+      this.$router.push({
+        path: 'tranManagementTransporTrainDetails',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    //反馈
+    feedback(row) {
+      this.$router.push({
+        path: 'tranManagementTransporFeedback',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+
+    //查看
+    handleLook() {
+      this.$router.push({ path: 'tranManagementVehicleLook' })
+    },
+    //添加
+    handleAdd() {
+      this.$router.push({ path: 'tranManagementTransportAdd' })
+    },
+    //编辑
+    handleEdit() {
+      this.$router.push({ path: 'tranManagementTransportEdit' })
+    },
+
+    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()
+    },
+    getList() {
+      automobileList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        contractType: this.contractType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        tranTypeKey: this.tranTypeKey,
+      })
+        .toPromise()
+        .then((response) => {
+          this.tranManagementList = response
+        })
+    },
+    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
+        }
+      }
+    },
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.container {
+  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;
+}
+
+.el-row {
+  height: 150px;
+}
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+//待完成三按钮
+.but {
+  margin-top: 150px;
+  margin-left: 110px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin-left: -20%;
+}
+</style>

+ 1 - 54
src/views/tranManagement/tranManagementTransporTationFire.vue

@@ -7,26 +7,17 @@
           class="but"
           class="but"
           type="primary"
           type="primary"
           @click="handleAdd()"
           @click="handleAdd()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
         >
         >
           执行中</ws-button
           执行中</ws-button
         >
         >
         <ws-button
         <ws-button
           class="but"
           class="but"
           @click="handleLook()"
           @click="handleLook()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
           >已完成</ws-button
           >已完成</ws-button
         >
         >
         <ws-button
         <ws-button
           class="but"
           class="but"
           @click="handleEdit()"
           @click="handleEdit()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
           >全部任务</ws-button
           >全部任务</ws-button
         >
         >
       </template>
       </template>
@@ -58,9 +49,6 @@
           class="find"
           class="find"
           type="primary"
           type="primary"
           @click="find()"
           @click="find()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
           ><img
           ><img
             width="16"
             width="16"
             height="16"
             height="16"
@@ -182,9 +170,7 @@
 <script>
 <script>
 import {
 import {
  automobileList,
  automobileList,
- dispatchCat
 } from '@/model/transport/index'
 } from '@/model/transport/index'
-import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
 import WsUpload from '@/components/WsUpload'
 import { dayjs, fmoney, EventBus } from 'base-core-lib'
 import { dayjs, fmoney, EventBus } from 'base-core-lib'
@@ -428,29 +414,6 @@ export default {
       this.currentPage = 1
       this.currentPage = 1
       this.getList()
       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>
 </script>
@@ -501,23 +464,6 @@ export default {
 /deep/.el-table tr th.is-leaf:first-child {
 /deep/.el-table tr th.is-leaf:first-child {
   border-left: 1px solid #e9ecf7;
   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 {
 .el-row {
   height: 150px;
   height: 150px;
 }
 }
@@ -526,6 +472,7 @@ export default {
 }
 }
 .but {
 .but {
   margin-top: 150px;
   margin-top: 150px;
+  margin-left: 110px;
 }
 }
 .el-input--small .el-input__inner {
 .el-input--small .el-input__inner {
   margin-left: 20px;
   margin-left: 20px;

+ 74 - 69
src/views/tranManagement/tranManagementTransporTrainDetails.vue

@@ -1,4 +1,4 @@
-//火运调度详情
+
 <template>
 <template>
   <div class="container">
   <div class="container">
     <el-row>
     <el-row>
@@ -87,89 +87,81 @@
         </ws-form-item>
         </ws-form-item>
       </ws-info-table>
       </ws-info-table>
       <div class="small-title">联络员及车次</div>
       <div class="small-title">联络员及车次</div>
-      <ws-info-table>
-        <!--姓名-->
-        <ws-form-item label="姓名" span="1" prop="driver" class="liaison">
-          <ws-input
-            v-model="deptBudgetList.tranCarInfoList.driver"
+      <div class="liaison">
+        <ws-info-table v-for="(item, index) in freightspace">
+          <!--姓名-->
+          <ws-form-item label="姓名" span="1" prop="driver">
+            <!-- <ws-input 
+            v-model="item.driver"
             placeholder="请输入姓名"
             placeholder="请输入姓名"
             maxlength="20"
             maxlength="20"
             size="small"
             size="small"
-          />
-        </ws-form-item>
-        <!--电话-->
-        <ws-form-item label="电话" span="1" prop="driverPhone" class="liaison">
-          <ws-input
-            v-model="deptBudgetList.driverPhone"
+          /> -->
+            {{ item.driver }}
+          </ws-form-item>
+          <!--电话-->
+          <ws-form-item label="电话" span="1" prop="driverPhone">
+            <!-- <ws-input
+            v-model="item.driverPhone"
             placeholder="请输入电话"
             placeholder="请输入电话"
             maxlength="20"
             maxlength="20"
             size="small"
             size="small"
-          />
-        </ws-form-item>
-        <!--发车日期-->
-        <ws-form-item
-          label="发车日期"
-          span="1"
-          prop="sendDateStart"
-          class="liaison"
-        >
-          <ws-input
-            v-model="deptBudgetList.sendDateStart"
+          /> -->
+            {{ item.driverPhone }}
+          </ws-form-item>
+          <!--发车日期-->
+          <ws-form-item label="发车日期" span="1" prop="sendDateStart">
+            <!-- <ws-input
+            v-model="item.sendDateStart"
             placeholder="请输入发车日期"
             placeholder="请输入发车日期"
             maxlength="20"
             maxlength="20"
             size="small"
             size="small"
-          />
-        </ws-form-item>
-        <!--到站日期-->
-        <ws-form-item
-          label="到站日期"
-          span="1"
-          prop="receiveDateEnd"
-          class="liaison"
-        >
-          <ws-input
-            v-model="deptBudgetList.receiveDateEnd"
+          /> -->
+            {{ item.sendDateStart }}
+          </ws-form-item>
+          <!--到站日期-->
+          <ws-form-item label="到站日期" span="1" prop="receiveDateEnd">
+            <!-- <ws-input
+            v-model="item.receiveDateEnd"
             placeholder="请输入到站日期"
             placeholder="请输入到站日期"
             maxlength="20"
             maxlength="20"
             size="small"
             size="small"
-          />
-        </ws-form-item>
-        <!--车型-->
-        <ws-form-item label="车型" span="1" prop="trainNo" class="liaison">
-          <ws-input
-            v-model="deptBudgetList.trainNo"
+          /> -->
+            {{ item.receiveDateEnd }}
+          </ws-form-item>
+          <!--车型-->
+          <ws-form-item label="车型" span="1" prop="carModel">
+            <!-- <ws-input
+            v-model="item.carModel"
             placeholder="请输入车型"
             placeholder="请输入车型"
             maxlength="20"
             maxlength="20"
             size="small"
             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"
+          /> -->
+            {{ item.carModel }}
+          </ws-form-item>
+          <div
+            style="width: 100%"
+            class="flex position liaison1"
+            v-for="(item, index) in freightspace"
+          >
+            <!--车厢号-->
+            <ws-form-item
+              label="车厢号"
+              span="1"
+              prop="trainNo"
+              class="liaison"
+            >
+              <!-- <ws-input
+              v-model="item.trainNo"
               placeholder="请输入车厢号"
               placeholder="请输入车厢号"
               maxlength="20"
               maxlength="20"
               size="small"
               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>
+              {{ item.trainNo }}
+            </ws-form-item>
+          </div>
+        </ws-info-table>
+      </div>
     </ws-form>
     </ws-form>
 
 
     <!-- 提交 -->
     <!-- 提交 -->
@@ -349,7 +341,14 @@ export default {
         .toPromise()
         .toPromise()
         .then((response) => {
         .then((response) => {
           this.deptBudgetList = response
           this.deptBudgetList = response
-          this.freightspace = response.tranCarInfoList
+          this.freightspace = this.deptBudgetList.tranCarInfoList
+          //  for(var i = 0 ; i < this.deptBudgetList.tranCarInfoList.length;i++ ){
+          //    var varchar = this.deptBudgetList.tranCarInfoList[i].boxNo
+          //    this.list.push(
+          //      this.list = varchar.split(",")
+          //     )
+          //  }
+          //  console.log(this.list,"字符串")
         })
         })
     },
     },
     handleExamine() {},
     handleExamine() {},
@@ -728,16 +727,22 @@ export default {
 }
 }
 
 
 /deep/.ws-info-table .el-form-item .el-form-item__content {
 /deep/.ws-info-table .el-form-item .el-form-item__content {
-  border: 0px;
+  background: #f5f7fa;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
 }
 }
 //联络员及车次
 //联络员及车次
-/deep/.container .flex .ws-info-table .el-form-item {
+/deep/.liaison .ws-info-table .el-form-item {
   width: 20%;
   width: 20%;
 }
 }
-/deep/.container .flex .ws-info-table .el-form-item .el-form-item__label {
+/deep/.liaison.ws-info-table .el-form-item .el-form-item__label {
   width: 33%;
   width: 33%;
 }
 }
+
 /deep/.liaison {
 /deep/.liaison {
   width: 20%;
   width: 20%;
 }
 }
+/deep/.liaison .flex {
+  display: contents;
+}
 </style>
 </style>

+ 18 - 15
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -113,8 +113,8 @@
         </ws-form-item>
         </ws-form-item>
       </ws-info-table>
       </ws-info-table>
       <div class="small-title">联络员及车皮信息</div>
       <div class="small-title">联络员及车皮信息</div>
-
-      <ws-info-table class="flex1">
+     <div class="liaison">
+      <ws-info-table >
         <!--姓名-->
         <!--姓名-->
         <ws-form-item label="姓名" span="1" prop="driver">
         <ws-form-item label="姓名" span="1" prop="driver">
           <el-select
           <el-select
@@ -203,14 +203,15 @@
             />
             />
           </ws-form-item>
           </ws-form-item>
         </div>
         </div>
-        <el-button
+      </ws-info-table>
+     </div>
+       <el-button
           class="add bg-bottom"
           class="add bg-bottom"
           type="primary"
           type="primary"
           size="small"
           size="small"
           @click="add"
           @click="add"
           >添加车厢</el-button
           >添加车厢</el-button
         >
         >
-      </ws-info-table>
     </ws-form>
     </ws-form>
 
 
     <!-- 提交 -->
     <!-- 提交 -->
@@ -379,13 +380,6 @@ export default {
     // 上传附件
     // 上传附件
     uploadSuccess(data, files, url) {
     uploadSuccess(data, files, url) {
       console.log(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() {
     submit() {
       this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
       this.$confirm(`提交成功后,任务将下发给相关人员,是否确定提交?`, {
@@ -411,7 +405,6 @@ export default {
               this.tranCarInfoList.receiveDateEnd = this.deptBudgetList.receiveDateEnd
               this.tranCarInfoList.receiveDateEnd = this.deptBudgetList.receiveDateEnd
               this.tranCarInfoList.carModel = this.deptBudgetList.carModel
               this.tranCarInfoList.carModel = this.deptBudgetList.carModel
               this.tranCarInfoList.tranType= this.tranType
               this.tranCarInfoList.tranType= this.tranType
-              // this.tranCarInfoList.infoId = this.infoId
               this.tranCarInfoList.boxNo = this.arr.toString()
               this.tranCarInfoList.boxNo = this.arr.toString()
               var tranCarInfo = {}
               var tranCarInfo = {}
               var tranList = [this.tranCarInfoList]
               var tranList = [this.tranCarInfoList]
@@ -841,13 +834,23 @@ export default {
 }
 }
 
 
 /deep/.ws-info-table .el-form-item .el-form-item__content {
 /deep/.ws-info-table .el-form-item .el-form-item__content {
+  background: #f5f7fa;
+  border-radius: 4px;
+  border: 1px solid #d8dce6;
+}
+/deep/.flex .ws-info-table .el-form-item .el-form-item__content{
   border: 0px;
   border: 0px;
 }
 }
 //联络员及车次
 //联络员及车次
-/deep/.flex1 .ws-info-table .el-form-item {
+/deep/.liaison .ws-info-table .el-form-item {
   width: 20%;
   width: 20%;
 }
 }
-/deep/.flex1 .ws-info-table .el-form-item .el-form-item__label {
-  width: 20%;
+/deep/.liaison .ws-info-table .el-form-item .el-form-item__label {
+
+  width: 25%;
+}
+/deep/.liaison .flex{
+  display: contents;
 }
 }
+
 </style>
 </style>

+ 4 - 31
src/views/tranManagement/tranManagementVehicle.vue

@@ -3,32 +3,11 @@
   <div>
   <div>
     <BaseHeaderLayout :leftSpan="20">
     <BaseHeaderLayout :leftSpan="20">
       <template slot="left">
       <template slot="left">
-        <ws-button
-          class="but"
-          type="primary"
-          @click="handleAdd()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
-        >
+        <ws-button class="but" type="primary" @click="handleAdd()">
           执行中</ws-button
           执行中</ws-button
         >
         >
-        <ws-button
-          class="but"
-          @click="handleLook()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
-          >已完成</ws-button
-        >
-        <ws-button
-          class="but"
-          @click="handleEdit()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
-          >全部任务</ws-button
-        >
+        <ws-button class="but" @click="handleLook()">已完成</ws-button>
+        <ws-button class="but" @click="handleEdit()">全部任务</ws-button>
       </template>
       </template>
       <!-- 接单开始 -->
       <!-- 接单开始 -->
       <template slot="left">
       <template slot="left">
@@ -54,13 +33,7 @@
           class="findValue"
           class="findValue"
         ></ws-input>
         ></ws-input>
         <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
         <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
-        <ws-button
-          class="find"
-          type="primary"
-          @click="find()"
-          v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
-          "
+        <ws-button class="find" type="primary" @click="find()"
           ><img
           ><img
             width="16"
             width="16"
             height="16"
             height="16"

+ 1 - 1
src/views/tranManagement/tranManagementVehicleDispatching.vue

@@ -358,7 +358,7 @@ export default {
     total: function () {
     total: function () {
       var maxStorage = 0
       var maxStorage = 0
       for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
       for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-        maxStorage += Number(this.deptBudgetList.tranCarInfoList[i].carLoad)
+        maxStorage += Number(this.deptBudgetList.tranCarInfoList[i].loadWeight)
       }
       }
       return maxStorage
       return maxStorage
     },
     },

+ 35 - 39
src/views/warehouse/warehouseManagementAdd.vue

@@ -29,11 +29,10 @@
       :model="deptBudgetList"
       :model="deptBudgetList"
     >
     >
       <el-radio-group v-model="radio">
       <el-radio-group v-model="radio">
-        <el-radio :label="1">自有库</el-radio>
-        <el-radio :label="2">临时库</el-radio>
+        <el-radio :label="1">常用仓库</el-radio>
+        <el-radio :label="2">临时库</el-radio>
       </el-radio-group>
       </el-radio-group>
-      <!-- <el-radio v-model="radio" label="1" checked="true">自有库</el-radio>
-      <el-radio v-model="radio" label="2">临时库</el-radio> -->
+
       <div class="small-title">基本信息</div>
       <div class="small-title">基本信息</div>
       <ws-info-table>
       <ws-info-table>
         <!--仓库名称-->
         <!--仓库名称-->
@@ -46,22 +45,22 @@
           />
           />
         </ws-form-item>
         </ws-form-item>
         <!--负责人-->
         <!--负责人-->
-          <ws-form-item label="负责人" span="1" prop="personCharge">
-            <el-select
-              v-model="deptBudgetList.personCharge"
-              placeholder="请选择负责人"
-              filterable
-              :filter-method="dataFilter"
-              @change="selectstaff"
-            >
-              <el-option
-                v-for="item in personCharge"
-                :key="item.value"
-                :label="item.staffName"
-                :value="item.staffName"
-              />
-            </el-select>
-          </ws-form-item>
+        <ws-form-item label="负责人" span="1" prop="personCharge">
+          <el-select
+            v-model="deptBudgetList.personCharge"
+            placeholder="请选择负责人"
+            filterable
+            :filter-method="dataFilter"
+            @change="selectstaff"
+          >
+            <el-option
+              v-for="item in personCharge"
+              :key="item.value"
+              :label="item.staffName"
+              :value="item.staffName"
+            />
+          </el-select>
+        </ws-form-item>
         <!--负责人电话-->
         <!--负责人电话-->
         <ws-form-item label="负责人电话" span="1" prop="personPhone">
         <ws-form-item label="负责人电话" span="1" prop="personPhone">
           <ws-input
           <ws-input
@@ -242,7 +241,7 @@ export default {
       center: [116.244694, 39.517344],
       center: [116.244694, 39.517344],
       window: '',
       window: '',
       radio: 1,
       radio: 1,
-      personCharge:[],
+      personCharge: [],
       polygons: [
       polygons: [
         {
         {
           pName: 'Geolocation', //定位
           pName: 'Geolocation', //定位
@@ -290,9 +289,9 @@ export default {
       list: [],
       list: [],
     }
     }
   },
   },
-mounted(){
-  this.getList()
-},
+  mounted() {
+    this.getList()
+  },
   computed: {
   computed: {
     totalStorage: function () {
     totalStorage: function () {
       var maxStorage = 0
       var maxStorage = 0
@@ -303,7 +302,7 @@ mounted(){
     },
     },
   },
   },
   methods: {
   methods: {
-     dataFilter(val) {
+    dataFilter(val) {
       this.deptBudgetList.personCharge = val
       this.deptBudgetList.personCharge = val
       if (val) {
       if (val) {
         console.log(val)
         console.log(val)
@@ -589,7 +588,6 @@ mounted(){
           type: 'warning',
           type: 'warning',
         })
         })
           .then(() => {
           .then(() => {
- 
             this.$refs.deptBudgetList.validate((valid) => {
             this.$refs.deptBudgetList.validate((valid) => {
               if (valid) {
               if (valid) {
                 this.deptBudgetList.compId =
                 this.deptBudgetList.compId =
@@ -603,7 +601,7 @@ mounted(){
                 this.deptBudgetList.warehousePositionInfoList =
                 this.deptBudgetList.warehousePositionInfoList =
                   this.freightspace
                   this.freightspace
                 this.deptBudgetList.totalStorage = this.totalStorage
                 this.deptBudgetList.totalStorage = this.totalStorage
-          
+
                 increase(this.deptBudgetList)
                 increase(this.deptBudgetList)
                   .toPromise()
                   .toPromise()
                   .then((response) => {
                   .then((response) => {
@@ -671,18 +669,16 @@ mounted(){
     //   let key = this.unitList.find((item) => item.constValue === val).constKey
     //   let key = this.unitList.find((item) => item.constValue === val).constKey
     //   this.pleaseChoose = val
     //   this.pleaseChoose = val
     // },
     // },
-   getList(){
-    
-     getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-        .toPromise()
-        .then((response) => {
-          // this.agent = response
-//           this.options = response
-//            this.staffList = response
-        this.personCharge = response
-        })
-
-   },
+    getList() {
+      getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
+        .toPromise()
+        .then((response) => {
+          // this.agent = response
+          //           this.options = response
+          //            this.staffList = response
+          this.personCharge = response
+        })
+    },
     handleExamine() {},
     handleExamine() {},
     approve() {},
     approve() {},
     // returnsales() {
     // returnsales() {

+ 2 - 2
src/views/warehouse/warehouseManagementDelete.vue

@@ -30,8 +30,8 @@
               @change="changeradio"
               @change="changeradio"
               size="small"
               size="small"
             >
             >
-              <el-radio-button label="1">自有库</el-radio-button>
-              <el-radio-button label="2">临时库</el-radio-button>
+              <el-radio-button label="1">常用仓库</el-radio-button>
+              <el-radio-button label="2">临时库</el-radio-button>
             </el-radio-group>
             </el-radio-group>
           </div>
           </div>
         </template>
         </template>

+ 2 - 2
src/views/warehouse/warehouseManagementEdit.vue

@@ -17,8 +17,8 @@
     <div>
     <div>
       <ws-form ref="deptBudgetList" :model="deptBudgetList">
       <ws-form ref="deptBudgetList" :model="deptBudgetList">
         <el-radio-group v-model="warehouseType" @change="warehouseTypechange">
         <el-radio-group v-model="warehouseType" @change="warehouseTypechange">
-          <el-radio label="1">自有库</el-radio>
-          <el-radio label="2">临时库</el-radio>
+          <el-radio label="1">常用仓库</el-radio>
+          <el-radio label="2">临时库</el-radio>
         </el-radio-group>
         </el-radio-group>
         <div class="small-title">基本信息</div>
         <div class="small-title">基本信息</div>
         <!--基本信息-->
         <!--基本信息-->

+ 6 - 8
src/views/warehouse/warehouseManagementList.vue

@@ -25,8 +25,8 @@
             @change="changeradio"
             @change="changeradio"
             size="small"
             size="small"
           >
           >
-            <el-radio-button label="1">自有库</el-radio-button>
-            <el-radio-button label="2">临时库</el-radio-button>
+            <el-radio-button label="1">常用仓库</el-radio-button>
+            <el-radio-button label="2">临时库</el-radio-button>
           </el-radio-group>
           </el-radio-group>
         </div>
         </div>
       </template>
       </template>
@@ -152,7 +152,7 @@
         </el-table-column>
         </el-table-column>
         <el-table-column prop="warehouseName" label="仓库名" width="80">
         <el-table-column prop="warehouseName" label="仓库名" width="80">
         </el-table-column>
         </el-table-column>
-        <el-table-column prop="address" label="临时库地址">
+        <el-table-column prop="address" label="临时库地址">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <div
             <div
               v-if="scope.row.address != 'null' && scope.row.address != null"
               v-if="scope.row.address != 'null' && scope.row.address != null"
@@ -340,10 +340,8 @@ export default {
       }
       }
     },
     },
 
 
-
     //出库
     //出库
     delivery(item) {
     delivery(item) {
-
       this.$router.push({
       this.$router.push({
         path: 'warehouseManagementDelivery',
         path: 'warehouseManagementDelivery',
         query: {
         query: {
@@ -353,7 +351,7 @@ export default {
           binNumber: item.binNumber,
           binNumber: item.binNumber,
           capacity: item.capacity,
           capacity: item.capacity,
           warehouseType: this.warehouseType,
           warehouseType: this.warehouseType,
-          warehouseId: item.warehouseId
+          warehouseId: item.warehouseId,
         },
         },
       })
       })
     },
     },
@@ -418,13 +416,13 @@ export default {
             positionId: row.binNumberId,
             positionId: row.binNumberId,
             warehouseName: row.warehouseName,
             warehouseName: row.warehouseName,
             binNumber: row.binNumber,
             binNumber: row.binNumber,
-             warehouseType: this.warehouseType,
+            warehouseType: this.warehouseType,
           },
           },
         })
         })
       }
       }
     },
     },
     //记录
     //记录
-    record(item) { 
+    record(item) {
       this.$router.push({
       this.$router.push({
         name: 'warehouseManagementRecord',
         name: 'warehouseManagementRecord',
         query: {
         query: {

+ 2 - 2
src/views/warehouse/warehouseManagementLook.vue

@@ -22,8 +22,8 @@
     </el-row>
     </el-row>
     <div class="center">
     <div class="center">
       <el-radio-group v-model="warehouseType" @change="warehouseTypechange">
       <el-radio-group v-model="warehouseType" @change="warehouseTypechange">
-        <el-radio label="1">自有库</el-radio>
-        <el-radio label="2">临时库</el-radio>
+        <el-radio label="1">常用仓库</el-radio>
+        <el-radio label="2">临时库</el-radio>
       </el-radio-group>
       </el-radio-group>
       <ws-form ref="deptBudgetList" :model="deptBudgetList">
       <ws-form ref="deptBudgetList" :model="deptBudgetList">
         <div class="small-title">基本信息</div>
         <div class="small-title">基本信息</div>

+ 8 - 5
src/views/warehouse/warehouseManagementPerfectDelivery.vue

@@ -30,9 +30,7 @@
           <span class="position" v-show="this.$route.query.warehouseType == 1">
           <span class="position" v-show="this.$route.query.warehouseType == 1">
             {{ this.deptBudgetList1.binNumber }}仓位
             {{ this.deptBudgetList1.binNumber }}仓位
           </span>
           </span>
-           <span  v-show="this.$route.query.warehouseType == 2">
-             (临)
-          </span>
+          <span v-show="this.$route.query.warehouseType == 2"> (临) </span>
         </h2>
         </h2>
         <div class="small-title">基本信息</div>
         <div class="small-title">基本信息</div>
         <ws-info-table>
         <ws-info-table>
@@ -283,7 +281,12 @@
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
-import { pullDown, addstorageputList ,xialaNo,getstaff,} from '@/model/warehouse/index'
+import {
+  pullDown,
+  addstorageputList,
+  xialaNo,
+  getstaff,
+} from '@/model/warehouse/index'
 import { downloadFile } from '@/utils/batchDown'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
 import WsUpload from '@/components/WsUpload'
@@ -862,7 +865,7 @@ export default {
             this.deliveryType = response
             this.deliveryType = response
           })
           })
       } else if (this.$route.query.warehouseType == '2') {
       } else if (this.$route.query.warehouseType == '2') {
-        //临时库出库类型
+        //临时库出库类型
         pullDown({ constId: 'WARE2' })
         pullDown({ constId: 'WARE2' })
           .toPromise()
           .toPromise()
           .then((response) => {
           .then((response) => {

+ 21 - 21
src/views/warehouse/warehouseManagementPerfectput.vue

@@ -26,7 +26,9 @@
       <div class="basicInformation">
       <div class="basicInformation">
         <h2>
         <h2>
           {{ deptBudgetList1.warehouseName }}库
           {{ deptBudgetList1.warehouseName }}库
-          <span class="position" v-show="this.$route.query.warehouseType == 1"> {{ deptBudgetList1.binNumber }}仓位 </span>
+          <span class="position" v-show="this.$route.query.warehouseType == 1">
+            {{ deptBudgetList1.binNumber }}仓位
+          </span>
           <span v-show="this.$route.query.warehouseType == 2">(临)</span>
           <span v-show="this.$route.query.warehouseType == 2">(临)</span>
         </h2>
         </h2>
         <div class="small-title">基本信息</div>
         <div class="small-title">基本信息</div>
@@ -102,7 +104,7 @@
             </ws-select>
             </ws-select>
           </ws-form-item>
           </ws-form-item>
 
 
-         <!--经办人-->
+          <!--经办人-->
           <ws-form-item label="经办人" span="1" prop="agent">
           <ws-form-item label="经办人" span="1" prop="agent">
             <el-select
             <el-select
               v-model="dataList.agent"
               v-model="dataList.agent"
@@ -169,25 +171,24 @@
               size="small"
               size="small"
             />
             />
           </ws-form-item> -->
           </ws-form-item> -->
-           <ws-form-item label="合同编号" span="1">
-              <ws-select
-                v-model="dataList.contractNo"
-                placeholder="请选择合同编号"
-                class="typeselect"
-              >
-                <ws-option
-                  v-for="item in outContractNo"
-                  :key="item.constKey"
-                  :label="item.contractNo"
-                  :value="item.contractNo"
-                />
-              </ws-select>
-           </ws-form-item>
+          <ws-form-item label="合同编号" span="1">
+            <ws-select
+              v-model="dataList.contractNo"
+              placeholder="请选择合同编号"
+              class="typeselect"
+            >
+              <ws-option
+                v-for="item in outContractNo"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              />
+            </ws-select>
+          </ws-form-item>
         </ws-info-table>
         </ws-info-table>
         <div warehouseType>
         <div warehouseType>
           <el-checkbox v-model="checked" checked>退库并出库</el-checkbox>
           <el-checkbox v-model="checked" checked>退库并出库</el-checkbox>
-          <ws-info-table
-            v-show="checked == true">
+          <ws-info-table v-show="checked == true">
             <!-- 出库类型 -->
             <!-- 出库类型 -->
             <ws-form-item label="出库类型" span="1">
             <ws-form-item label="出库类型" span="1">
               <ws-select
               <ws-select
@@ -941,14 +942,13 @@ export default {
             this.storageType = response
             this.storageType = response
           })
           })
       } else if (this.$route.query.warehouseType == '2') {
       } else if (this.$route.query.warehouseType == '2') {
-    
-        //临时库入库类型
+        //临时仓库入库类型
         pullDown({ constId: 'WARE1' })
         pullDown({ constId: 'WARE1' })
           .toPromise()
           .toPromise()
           .then((response) => {
           .then((response) => {
             this.storageType = response
             this.storageType = response
           })
           })
-        //临时库出库类型
+        //临时库出库类型
         pullDown({ constId: 'WARE2' })
         pullDown({ constId: 'WARE2' })
           .toPromise()
           .toPromise()
           .then((response) => {
           .then((response) => {