Преглед изворни кода

前端 运输任务样式及移库查看 sdy

zhongtianhaoyuan пре 4 година
родитељ
комит
323cad0944

+ 2 - 0
src/api/V2/warehouse/index.js

@@ -53,6 +53,8 @@ export const API_GET_WAREHOUSE_RECORDSS = '/warehouseInOutInfo/selectInfoTempora
 export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList'
 //临时仓库待完成
 export const API_GET_WAREHOUSE_LIST = '/warehouseInOutInfo/selectWarehouseInOutInfoTemporary'
+//任务列表
+export const API_GET_WAREHOUSE_TASKLIST = '/inOutWarehouseTask/selectInOutWarehouseTask'
 
 
 

+ 4 - 0
src/lang/zh.js

@@ -501,6 +501,8 @@
     warehouseManagementRecord: '记录',
     warehouseManagementNoComplete: '待完成',
     warehouseManagementPerfectput: '编辑',
+    warehouseManagementPutOut:'任务',
+    warehouseManagementPutOutLook:'查看',
     //运输管理
     tranManagement: '运输管理',
     tranManagementDriver: '司机管理',
@@ -4733,6 +4735,8 @@
     warehouseManagementNoComplete: '待完成',
     warehouseManagementPerfectput: '编辑',
     warehouseManagementPerfectDelivery: '编辑',
+    warehouseManagementPutOut:'任务',
+    warehouseManagementPutOutLook:'查看',
 
   },
   //运输管理

+ 4 - 1
src/model/warehouse/index.js

@@ -25,7 +25,8 @@ import {
     API_GET_STAFF,
     API_GET_WAREHOUSE_RECORDSS,
     API_GET_GOODSNAME_XIALA,
-    API_GET_WAREHOUSE_LIST
+    API_GET_WAREHOUSE_LIST,
+    API_GET_WAREHOUSE_TASKLIST,
 } from '@/api/V2/warehouse'
 // import { app } from 'electron'
 // 列表
@@ -79,6 +80,8 @@ export const goodsnameXiala = appRx.get(API_GET_GOODSNAME_XIALA, errorCatcher, e
 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 taskList = appRx.get(API_GET_WAREHOUSE_TASKLIST,errorCatcher, errorHandle, filter)
 
 
 

+ 41 - 42
src/views/taskManagement/tranManagementTransport.vue

@@ -1,45 +1,34 @@
 <!--运输任务-->
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="20">
-      <template slot="right">
-        <ws-button class="but" type="primary" @click="handleAdd()"
-          >添加</ws-button
-        >
-      </template>
+    <BaseHeaderLayout :leftSpan="15">
       <template slot="left">
-        <ws-button class="but" type="primary" @click="handlestatus(1)">
-          执行中</ws-button
-        >
-        <ws-button class="but" @click="handlestatus(2)">已完成</ws-button>
-        <ws-button class="but" @click="handlestatus('')">全部任务</ws-button>
-      </template>
-      <template slot="left">
-        <ws-input
+        <span style='width: 134px;
+    display: inline-block;'>起点:</span>
+        <el-input
           label="起点"
           placeholder="请输入起点"
           clearable
           maxlength="200"
           type="input"
-          class="find"
-        ></ws-input>
-
-        <ws-input
+        ></el-input>
+        <span style='width: 134px;
+    display: inline-block;'>终点:</span>
+        <el-input
           label="终点"
           placeholder="请输入终点"
           clearable
           maxlength="200"
           type="input"
-          class="find"
-        ></ws-input>
-        <ws-input
+        ></el-input>
+        <el-input
           v-model="warehouseName"
           placeholder="可按合同编号或运输任务编号查找"
           clearable
           maxlength="500"
           type="input"
           class="findValue"
-        ></ws-input>
+        ></el-input>
         <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
         <div class="search">
           <ws-button class="find" type="primary" @click="lookUp()"
@@ -57,15 +46,25 @@
           /></ws-button>
         </div>
       </template>
+      <template slot="right">
+        <ws-button class="but" type="primary" @click="handleAdd()"
+          >添加</ws-button
+        >
+      </template>
     </BaseHeaderLayout>
     <div>
+        <ws-button class="but" :type="primary==1?'primary':''" @click="handlestatus(1)">
+          执行中</ws-button
+        >
+        <ws-button class="but" :type="primary==2?'primary':''" @click="handlestatus(2)">已完成</ws-button>
+        <ws-button class="but" :type="primary==3?'primary':''" @click="handlestatus('')">全部任务</ws-button>
       <el-table
         class="wenzi"
         :data="gainList.records"
         style="width: 100%; margin-top: 20px"
         height="780"
       >
-        <el-table-column type="index" label="序号">
+        <el-table-column type="index">
           <template scope="scope">
             <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
             <span v-else>{{ scope.$index + 1 }}</span>
@@ -204,6 +203,7 @@ export default {
       year: '',
       gainList: [],
       currentPage: 1,
+      primary:1,
       pageSize: 10,
       searchType: 1,
       searchTypeText: '未完成',
@@ -275,6 +275,14 @@ export default {
     },
     handlestatus(status) {
       this.searchType = status
+      if(status==1){
+        this.primary=1
+      }else if(status==2){
+        this.primary=2
+      }else{
+        this.primary=3
+      }
+      
       this.getList()
     },
     //编辑
@@ -513,11 +521,6 @@ export default {
   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;
@@ -539,24 +542,20 @@ export default {
   height: 12px;
   background: #e9ecf7;
 }
-.el-row {
-  height: 150px;
-}
-.base_header_layout .grid-content {
-  margin-top: 80px;
+ /deep/.base_header_layout .grid-content {
+ margin-bottom: 60px;
 }
-.but {
-  margin-top: 150px;
+/deep/.el-table td, /deep/.el-table th.is-leaf {
+    border-right: 1px solid transparent; 
 }
-.findValue {
+.findValue.el-input {
   width: 50%;
-  margin-left: 25%;
+  margin:0;
 }
-/deep/.el-input--small .el-input__inner {
-  margin-left: -230px;
-  width: 300px;
+.el-input{
+  margin:0 10px;
 }
-.search {
-  margin-left: -100px;
+/deep/.search .el-button--small{
+  padding:0;
 }
 </style>

+ 37 - 2
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -74,7 +74,7 @@
             </el-select>
           </el-form-item>
           <!-- 合同编号 -->
-          <el-form-item label="合同编号">
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="合同编号">
             <el-select
               v-model="dataList.contractNo"
               placeholder="请输入合同编号"
@@ -88,6 +88,21 @@
               ></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item v-if='dataList.taskTypeKey == 3' label="移库任务编号">
+            <el-select
+            @change="selectTaskNo"
+              v-model="dataList.moveTaskNo"
+              placeholder="请输入移库任务编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <!-- 货名 -->
           <el-form-item label="货名">
             <el-select
@@ -242,7 +257,7 @@
             </el-select>
           </el-form-item>
           <!-- 合同编号 -->
-          <el-form-item label="合同编号">
+          <el-form-item v-if='dataList1.taskTypeKey != 3' label="合同编号">
             <el-select
               v-model="dataList1.contractNo"
               placeholder="请输入合同编号"
@@ -256,6 +271,21 @@
               ></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item v-if='dataList1.taskTypeKey == 3' label="移库任务编号">
+            <el-select
+            disabled
+              v-model="dataList1.moveTaskNo"
+              placeholder="请输入移库任务编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <!-- 货名 -->
           <el-form-item label="货名">
             <el-select
@@ -525,6 +555,11 @@ export default {
 
       return arr.join('')
     },
+    selectTaskNo(e){
+      if(this.dataList.taskTypeKey==3){
+          this.dataList1.moveTaskNo=e
+      }
+    },
     dataFilter(val) {
       // console.log(val,"名")
       this.deptBudgetList.staffList = val

+ 57 - 41
src/views/tranManagement/tranManagementReceivingFeedback.vue

@@ -3,51 +3,38 @@
   <div>
     <BaseHeaderLayout :leftSpan="14">
       <template slot="left">
-        <ws-button
-        class="but"
-          type="primary"
-          @click="handlestatus(1)"
-          >
+        <ws-button class="but" type="primary" @click="statusquery(1)">
           执行中</ws-button
         >
-        <ws-button
-        class="but"
-          @click="handlestatus(1)"
-          
-          >已完成</ws-button
-        >
-        <ws-button
-        class="but"
-          @click="handlestatus('')"
-          
-          >全部任务</ws-button
-        > 
+        <ws-button class="but" @click="statusquery(2)">已完成</ws-button>
+        <ws-button class="but" @click="statusquery()">全部任务</ws-button>
       </template>
       <!-- 接单开始 -->
-      <template slot="left">
-            <el-date-picker
-          v-model="value2"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
+      <template slot="right">
+        <span style="display: inline-block; width: 290px;color: #8890B1;">接单日期</span>
+        <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="可按照合同编号、买方名称、卖方名称进行查找"
+          placeholder="可按发货人、收货人、任务编号查找"
           clearable
           maxlength="500"
           type="input"
           class="findValue"
         ></ws-input>
-        <ws-button
-          class="find"
-          type="primary"
-          @click="find()"
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <ws-button class="find" type="primary" @click="find()"
           ><img
             width="16"
             height="16"
@@ -123,7 +110,7 @@
                 </span>
               </template>
           <div>
-              <p style="margin-top: 0; padding-left: 10px"></p>
+              <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 }}
@@ -184,6 +171,7 @@
 <script>
 import {
  shippingList,
+ state,
 } from '@/model/transport/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
@@ -256,7 +244,9 @@ export default {
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
-        contractType:this.contractType,
+        contractType: this.contractType,
+        searchType: this.searchType,
+        
       })
         .toPromise()
         .then((response) => {
@@ -266,7 +256,7 @@ export default {
           this.deptBudgetTotal = response.total
         })
     },
-    handlestatus(){
+    statusquery(status){
       this.searchType = status
       this.getList()
     },
@@ -322,8 +312,7 @@ export default {
             id: row.id,
           },
         })
-      }
-        
+      }  
     },
 
     //反馈
@@ -384,7 +373,7 @@ export default {
         type: 'warning',
       })
         .then(() => {
-          editstatus({ id: row.id })
+          state({ id: row.id })
             .toPromise()
             .then((response) => {
               this.$notify.success({
@@ -549,5 +538,32 @@ export default {
     height: 32px;
     margin-left: -20%;
 }
- 
+//状态样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record, .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+    font-size: 14px;
+}
 </style>

+ 16 - 18
src/views/tranManagement/tranManagementReceivingloading.vue

@@ -110,7 +110,7 @@
             <ws-info-table>
               <div class="catNos" v-show="item.temporaryDriverFlag == 0">司机-{{index+1}}</div>
              <div class="catNos catNosCor" v-show="item.temporaryDriverFlag != 0">司机-{{index+1}}(临)</div>
-              <!--司机-->
+              <!--姓名-->
               <ws-form-item
               label="姓名:"
               span="1"
@@ -179,9 +179,10 @@
                   @click="fujian(scope.row)"
                   alt=""
                 />
-                <div v-show="item.temporaryDriverFlag == 0">
+                <span v-if="scope.row.loadPoundImgArray.length >0">{{scope.row.loadPoundImgArray.length}}</span>
+                <!-- <div v-show="item.temporaryDriverFlag == 0">
                   {{ item.signStatus }}
-                </div>
+                </div> -->
               </template>
             </ws-form-item>
             </ws-info-table>
@@ -321,21 +322,17 @@ export default {
         this.deptBudgetList.tranCarInfoList.splice(index, 1)
       }
     },
-    // add() {
-    //   console.log(this.deptBudgetList.tranCarInfoList, 'sasasasas')
-    //   this.deptBudgetList.tranCarInfoList.push({
-    //     driverName: '',
-    //     driverPhone: '',
-    //     carLength: 0,
-    //     carLengthKey: '',
-    //     loadWeight: null,
-    //     carModel: '',
-    //     carModelKey: '',
-    //     carNumber: '',
-    //     disabled: false,
-    //     tranType: '1',
-    //   })
-    // },
+    fujian(row){
+      if (row.loadPoundImg === null || row.loadPoundImg ==='') {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      }else{
+        this.accessoryTFs = true
+      }
+      
+    },
     selectwaterContent() {},
     //提交按钮
     submit() {
@@ -417,6 +414,7 @@ export default {
               this.freightspace[i].loadNetWeight = 0
             }
           }
+          
         })
    },
     carchange(val, index) {

+ 111 - 92
src/views/tranManagement/tranManagementShipping.vue

@@ -1,53 +1,40 @@
 //船运调度
 <template>
   <div>
-    <BaseHeaderLayout :leftSpan="14">
+    <BaseHeaderLayout :leftSpan="12">
       <template slot="left">
-        <ws-button
-        class="but"
-          type="primary"
-          @click="handlestatus(1)"
-          >
+        <ws-button class="but" type="primary" @click="statusquery(1)">
           执行中</ws-button
         >
-        <ws-button
-        class="but"
-          @click="handlestatus(2)"
-          
-          >已完成</ws-button
-        >
-        <ws-button
-        class="but"
-          @click="handlestatus('')"
-          
-          >全部任务</ws-button
-        > 
+        <ws-button class="but" @click="statusquery(2)">已完成</ws-button>
+        <ws-button class="but" @click="statusquery()">全部任务</ws-button>
       </template>
       <!-- 接单开始 -->
-      <template slot="left">
-        <el-date-picker
-          v-model="value2"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
+      <template slot="right">
+        <span style="display: inline-block; width: 290px;color: #8890B1;">接单日期</span>
+        <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="可按照合同编号、买方名称、卖方名称进行查找"
+          placeholder="可按发货人、收货人、任务编号查找"
           clearable
           maxlength="500"
           type="input"
           class="findValue"
         ></ws-input>
-        <ws-button
-          class="find"
-          type="primary"
-          @click="find()"
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <ws-button class="find" type="primary" @click="find()"
           ><img
             width="16"
             height="16"
@@ -60,6 +47,7 @@
             src="../../../public/img/sousuo.png"
             alt=""
         /></ws-button>
+       
       </template>
     </BaseHeaderLayout>
     <div>
@@ -91,67 +79,67 @@
              </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"></p>
-              <div v-for="(item, index) in historyList" class="flex">
-                <div class="vertical-text vertical-text-left">
-                  {{ item.updateDate }}
-                </div>
-                <div>
-                  <div class="vertical-circle"></div>
-                  <div
-                    v-if="index != historyList.length - 1"
-                    class="vertical-line"
-                  ></div>
-                </div>
-                <div class="vertical-text">
-                  {{ item.operateUser }}<br />{{ item.dealMsg }}
+          <template 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" :key="index">
+                  <div class="vertical-text vertical-text-left">
+                    {{ item.updateDate }}
+                  </div>
+                  <div>
+                    <div class="vertical-circle"></div>
+                    <div
+                      v-if="index != historyList.length - 1"
+                      class="vertical-line"
+                    ></div>
+                  </div>
+                  <div class="vertical-text">
+                    {{ item.operateUser }}<br />{{ item.dealMsg }}
+                  </div>
                 </div>
               </div>
-            </div>
-          </el-popover>
-          <img
-            width="17"
-            height="18"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/edit.png"
-            @click="editClick(scope.row)"
-            alt=""
-          />
-        </template>
+            </el-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)">
+            <div class="record" @click="handleLook(scope.row)">
               查看
-            </ws-button>
-            <ws-button class="putstorage" @click="shipping(scope.row)">
+            </div>
+            <div class="adjustment" @click="shipping(scope.row)">
               船次
-            </ws-button>
+            </div>
           </template>
         </el-table-column>
       </el-table>
@@ -172,6 +160,7 @@
 import {
   getList,
   shippingList,
+  alsostate,
 } from '@/model/transport/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
@@ -252,19 +241,21 @@ export default {
         pageSize:this.pageSize,
         contractType:this.contractType,
         tranTypeKey: this.tranTypeKey, 
+        searchType:this.searchType,
+
       })
       .toPromise()
       .then((response)=>{
         this.warehouseList = response
         this.deptCircularPage.currentPage = response.current
-          this.deptCircularPage.pageSize = response.size
-          this.deptBudgetTotal = response.total
+        this.deptCircularPage.pageSize = response.size
+        this.deptBudgetTotal = response.total
         
         
       })
     },
-    handlestatus(status){
-      this.searchType = status
+    statusquery(state){
+      this.searchType = state
       this.getList()
     },
     delivery(item) {
@@ -403,7 +394,7 @@ export default {
         type: 'warning',
       })
         .then(() => {
-          editstatus({ id: row.id })
+          alsostate({ id: row.id })
             .toPromise()
             .then((response) => {
               this.$notify.success({
@@ -583,4 +574,32 @@ export default {
     height: 32px;
     margin-left: -20%;
 }
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record, .adjustment{
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
 </style>

+ 12 - 2
src/views/tranManagement/tranManagementShippingArrangemen.vue

@@ -706,7 +706,7 @@ export default {
 /deep/.ws-info-table .el-form-item .el-form-item__content {
   background: #f5f7fa;
   border-radius: 4px;
-  border: 1px solid #d8dce6;
+
   font-family: PingFangSC-Regular, PingFang SC;
   margin-bottom: 5px;
   // background-color: #fff;
@@ -829,5 +829,15 @@ export default {
     border-block-color:  #F6F7FC;
     background: #F6F7FC;
 }
-
+// .ws-info-table .el-form-item .el-form-item__content {
+//     background: #f5f7fa;
+//     border-radius: 4px;
+//     /* border: 1px solid #d8dce6; */
+//     font-family: PingFangSC-Regular, PingFang SC;
+//     margin-bottom: 5px;
+//     font-size: 14px;
+//     font-weight: 400;
+//     color: #8890b1;
+//     line-height: 16px;
+// }
 </style>

+ 33 - 1
src/views/warehouse/component/router/index.js

@@ -212,7 +212,39 @@ const warehouseManagementRouter = {
         // module: 'procurement.sparepart.applDetail'
       },
       hidden: true
-    },      
+    },
+    // 出入库任务
+    {
+      path: 'warehouseManagementPutOut',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementPutOut'),
+      name: 'warehouseManagementPutOut',
+      meta: {
+        title: 'warehouseManagementPutOut',
+        shortcutEntrance: 'warehouseManagementPutOut',
+        module: 'warehouse.warehouseManagementPutOut',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
+    // 出入库任务查看
+    {
+      path: 'warehouseManagementPutOutLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/warehouse/warehouseManagementPutOutLook'),
+      name: 'warehouseManagementPutOutLook',
+      meta: {
+        title: 'warehouseManagementPutOutLook',
+        shortcutEntrance: 'warehouseManagementPutOutLook',
+        module: 'warehouse.warehouseManagementPutOutLook',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },                        
   ],
 };
 export default warehouseManagementRouter;

+ 5 - 0
src/views/warehouse/warehouseManagementList.vue

@@ -17,6 +17,7 @@
         <ws-button @click="handleLook()">查看</ws-button>
         <ws-button @click="handleEdit()">编辑</ws-button>
         <ws-button @click="handleDelete()">删除</ws-button>
+        <ws-button @click="handlTask()">任务{{}}</ws-button>
       </template>
       <template slot="left">
         <div style="margin-top: 2px">
@@ -468,6 +469,10 @@ export default {
     handleDelete() {
       this.$router.push({ path: 'warehouseManagementDelete' })
     },
+    //任务
+    handlTask(){
+      this.$router.push({path:'warehouseManagementPutOut'})
+    },
     dateFormat(fmt, date) {
       let ret
       const opt = {

+ 580 - 0
src/views/warehouse/warehouseManagementPutOut.vue

@@ -0,0 +1,580 @@
+//出入库任务
+<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>
+    <BaseHeaderLayout :leftSpan="12">
+      <template slot="left">
+        <ws-button class="but" type="primary" @click="statusquery(1)">
+          执行中</ws-button
+        >
+        <ws-button class="but" @click="statusquery(2)">已完成</ws-button>
+      </template>
+      <!-- 接单开始 -->
+      <template slot="right">
+        <ws-input
+          v-model="searchKeyWord"
+          placeholder="可按发货人、收货人、任务编号查找"
+          clearable
+          maxlength="500"
+          type="input"
+          class="findValue"
+        ></ws-input>
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <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="inOutTaskNo" label="任务编号">
+        </el-table-column>
+        <el-table-column class="table_td" prop="contractNo" label="合同编号">
+
+        </el-table-column>
+        <el-table-column class="table_td"  prop="warehouseName" label="库房名" >
+         
+        </el-table-column>
+        <el-table-column class="table_td"  prop="inOutType" label="出入库类型">
+          
+        </el-table-column>
+        <el-table-column class="table_td" prop="goodsName" label="货名" >
+          
+        </el-table-column>
+        <el-table-column class="table_td"  prop="weight" label="重量(吨)" >
+         
+        </el-table-column>
+        <el-table-column class="table_td"  prop="send" label="已完成(吨)">
+          
+        </el-table-column>
+        <el-table-column class="table_td" prop="predictDate" label="预计时间" >
+          
+        </el-table-column>
+        <el-table-column class="table_td" prop="agent" label="经办人" >
+          
+        </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" :key="index">
+                  <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="establishDate">
+        </el-table-column>
+        <el-table-column prop="seller" label="详情" width="300">
+          <template slot-scope="scope">
+            <div class="record" @click="handleLook(scope.row)">
+              查看
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- 页数 -->
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="deptCircularPage.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="deptBudgetTotal"
+      >
+      </el-pagination>
+    </div>
+  </div>
+</template>
+<script>
+import {
+ taskList,
+} from '@/model/warehouse/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: '',
+      pickerOptions:{
+        
+      },
+      value2: '',
+      deptBudgetTotal:0,
+      currentPage: 1,
+      tranTypeKey:1,
+      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)
+      taskList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage:this.currentPage,
+        pageSize:this.pageSize,
+        contractType:this.contractType,
+        tranTypeKey: this.tranTypeKey, 
+        searchType:this.searchType,
+
+      })
+      .toPromise()
+      .then((response)=>{
+        this.warehouseList = response  
+      })
+    },
+    statusquery(state){
+      this.searchType = state
+      this.getList()
+    },
+    delivery(item) {
+      this.$router.push({
+        path: 'warehouseManagementDelivery',
+        query: {
+          baseId: item.warehouseId,
+          positionId: item.binNumberId,
+          warehouseName: item.warehouseName,
+          binNumber: item.binNumber,
+          capacity: item.capacity,
+        },
+      })
+    },
+    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
+        }
+        }
+      })
+    },
+    //查看
+    handleLook(row) {
+      this.$router.push({ 
+        path: 'warehouseManagementPutOutLook',
+        query: { 
+           relevanceId: row.relevanceId,
+         }
+         })
+    },
+    //返回
+    revert(){
+        this.$router.push({path:'warehouseManagementList'})
+    },
+    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(() => {
+          alsostate({ 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',
+      })
+    },
+    total(){},
+  },
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+//分页
+.el-pagination {
+  padding: 10px 15px;
+  margin-bottom: 0;
+  text-align: center;
+}
+/deep/.el-pager li.active {
+  color: #5878e8;
+  cursor: default;
+}
+/deep/.el-pager li:hover {
+  color: #5878e8;
+  cursor: default;
+}
+.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%;
+}
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record, .adjustment{
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.container {
+  overflow: scroll;
+}
+</style>

+ 690 - 0
src/views/warehouse/warehouseManagementPutOutLook.vue

@@ -0,0 +1,690 @@
+// 出入库任务查看
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">任务详情</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button
+          class="bg-bottom"
+          type="primary"
+          size="small"
+          @click="returnsales()"
+          ><img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt=""
+          />返回</el-button
+        >
+      </el-col>
+    </el-row>
+    <div class="basicInformation">
+        <div class="small-title">
+        </div>
+        <el-form ref="dataList" :model="dataList" label-width="140px">
+          <!-- 任务编号 -->
+          <el-form-item label="任务编号">
+            <el-select
+              disabled
+              v-model="dataList.warehouseName"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in warehouseNameList"
+                :key="item.constKey"
+                :label="item.warehouseName"
+                :value="item.warehouseName"
+              />
+            </el-select>
+          </el-form-item>
+          
+          <!-- 合同编号 -->
+          <el-form-item label="合同编号">
+            <el-select
+              disabled
+              v-model="dataList.contractNo"
+              placeholder="请输入合同编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 库房名 -->
+          <el-form-item label="库房名">
+            <el-select
+              disabled
+              v-model="dataList.goodsName"
+              placeholder="货名"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 类型-->
+          <el-form-item label="类型">
+            <el-select
+              disabled
+              v-model="dataList.goodsName"
+              placeholder="货名"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="货名">
+            <el-select
+              disabled
+              v-model="dataList.goodsName"
+              placeholder="货名"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!--重量(吨)-->
+          <el-form-item label="重量(吨)">
+            <el-input
+              disabled
+              v-model="dataList.weight"
+              placeholder="请输入重量"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!-- 预计日期 -->
+          <el-form-item
+            label="预计日期"
+            span="1"
+            prop="predictDate"
+            class="deliverydate"
+          >
+            <el-date-picker
+              disabled
+              v-model="dataList.predictDate"
+              type="date"
+              placeholder="请选择预计出库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </el-form-item>
+          <!--经办人-->
+          <el-form-item label="经办人">
+            <el-select
+              disabled
+              v-model="dataList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 品级 -->
+          <el-form-item label="品级">
+            <el-select
+              v-model="dataList.grade"
+              placeholder=""
+              class="typeselect"
+              disabled
+            >
+              <el-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!--容重(克/升)>=-->
+          <el-form-item label="容重(克/升)>=">
+            <el-input
+              disabled
+              v-model="dataList.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--水分(%)<=-->
+          <el-form-item label="水分(%)<=">
+            <el-input
+              disabled
+              v-model="dataList.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--单价(元/吨)-->
+          <el-form-item label="单价(元/吨)">
+            <el-input
+              disabled
+              v-model="dataList.unitPrice"
+              placeholder="请输入单价"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+         <!--发布人-->
+          <el-form-item label="发布人">
+            <el-input
+              disabled
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--审核人-->
+          <el-form-item label="审核人">
+            <el-input
+              disabled
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+         <!--仓位-->
+          <el-form-item label="仓位">
+            <el-input
+              disabled
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--业务描述=-->
+          <el-form-item label="业务描述">
+            <el-input
+              disabled
+              v-model="dataList.businessDescribe"
+              placeholder="请输入业务描述,不超过150字"
+              maxlength="150"
+              size="small"
+            />
+          </el-form-item>
+        </el-form>
+      </div>
+      
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
+        >提交</el-button
+      >
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getwarehousename,
+  xialaNo,
+  addoreditoutput,
+  outexamine,
+} from '@/model/tasksport/index'
+import { packList } from '@/model/contarct/index'
+import { pullDown, getstaff } from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import { mapActions, mapGetters, mapState } from 'vuex'
+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
+    },
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList']),
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      contractNoList: [],
+      deptBudgetTotal: 0,
+      readonly: true,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      radio: '1',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: [],
+      checked: true,
+      form: {},
+
+      staffList: [],
+      options: [],
+      storageType: [],
+      storageType1: [],
+      outContractNo: [],
+      // 提交类型
+      submitType: true,
+      status: [],
+      unitPricechange: [],
+      warehouseNameList: [],
+      warehouseNameList1: [],
+      waterContentchange: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      warehouseInOutDetail: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      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: [],
+      inOutTaskNo: '',
+      inOutTaskNo1: '',
+      dataList: { taskTypeKey: '1' },
+      dataList1: { taskTypeKey: '1' },
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    returnsales() {
+      this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
+    },
+    // 获取当前年月日
+    getdate() {
+      var date = new Date()
+      var year = date.getFullYear() //获取完整的年份(4位)
+      var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
+      var datetime = date.getDate() //获取当前日(1-31)
+      if (mouth < 10) {
+        mouth = '0' + mouth
+      }
+      if (datetime < 10) {
+        datetime = '0' + datetime
+      }
+      return year + mouth + datetime
+    },
+    // 随机验证码
+    verifyinit() {
+      var arr = []
+      for (var i = 48; i < 123; i++) {
+        if (i > 57 && i < 65) continue
+        if (i > 90 && i < 97) continue
+        arr.push(String.fromCharCode(i))
+      }
+      arr.sort(function () {
+        return Math.random() - 0.5
+      })
+      arr.length = 4
+
+      return arr.join('')
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter((item) => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    selectstaff1(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList1.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    requestadd(list, status) {
+      this.$refs.dataList.validate((valid) => {
+        if (valid) {
+          list.compId = sessionStorage.getItem('ws-pf_compId')
+          list.publisher =
+            sessionStorage.getItem('ws-pf_roleName') +
+            sessionStorage.getItem('ws-pf_staffName')
+          addoreditoutput(list)
+            .toPromise()
+            .then((response) => {
+              this.$message.success('添加成功')
+              this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
+            })
+        } else {
+          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+          return false
+        }
+      })
+    },
+    //提交按钮
+    submit() {
+      if (this.dataList.taskTypeKey == 1) {
+        this.dataList.inOutTaskNo = this.inOutTaskNo
+        this.requestadd(this.dataList)
+      } else if (this.dataList.taskTypeKey == 2) {
+        this.dataList.inOutTaskNo = this.inOutTaskNo1
+        this.requestadd(this.dataList)
+      } else if (
+        this.dataList.taskTypeKey == 3 ||
+        this.dataList.taskTypeKey == 4
+      ) {
+        this.dataList.inOutTaskNo = this.inOutTaskNo
+        this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
+        this.requestadd(this.dataList, 'repetition')
+        this.dataList1.inOutTaskNo = this.inOutTaskNo1
+        this.dataList1.relevanceId = this.dataList.relevanceId
+        this.requestadd(this.dataList1, 'repetition')
+      }
+    },
+    selectwarehouseName() {},
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectgoodsName1(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList1.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.dataList.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod1(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.dataList1.packingMethodKey = this.packtypeList[i].constKey
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    selectstorageType1(e) {
+      for (var i = 0; i < this.storageType1.length; i++) {
+        if (this.storageType1[i].constValue == e) {
+          this.dataList1.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    tasktypechange() {
+      this.tasknumber()
+    },
+    GetRandomNum(Min, Max) {
+      var Range = Max - Min
+      var Rand = Math.random()
+      return Min + Math.round(Rand * Range)
+    },
+    getList() {
+      console.log(11111)
+      outexamine({ relevanceId: this.$route.query.relevanceId })
+        .toPromise()
+        .then((response) => {
+          if (response.length > 1) {
+            this.dataList = response[0]
+            this.dataList1 = response[1]
+          } else {
+            this.dataList = response[0]
+          }
+        })
+    },
+
+    // deletecontract(){},
+    //删除
+    approve() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .el-info-table {
+    border: none;
+    position: relative;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    margin: 0;
+    .el-form-item__label {
+      text-align: left;
+      font-size: 14px;
+      font-family: PingFangSC-Regular, PingFang SC;
+      font-weight: 400;
+      color: #8890b1;
+    }
+    .el-form-item__content {
+      padding-left: 0px;
+      padding-right: 10px;
+      background: #fff;
+      white-space: nowrap;
+      height: 40px;
+      display: flex;
+      -webkit-box-align: center;
+      align-items: center;
+      text-align: left;
+      overflow: hidden;
+    }
+  }
+}
+/deep/.el-radio {
+  color: #606266;
+  font-weight: 500;
+  line-height: 1;
+  cursor: pointer;
+  white-space: nowrap;
+  outline: 0;
+  margin-right: 30px;
+  margin-top: 15px;
+}
+/deep/.el-radio__inner {
+  border: 1px solid #dcdfe6;
+  border-radius: 100%;
+  width: 14px;
+  height: 14px;
+  background-color: #fff;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 100px;
+}
+/deep/.el-radio__input {
+  white-space: nowrap;
+  cursor: pointer;
+  outline: 0;
+  line-height: 1;
+  vertical-align: middle;
+  margin-top: -1px;
+}
+.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 15%;
+  display: flex;
+  flex-wrap: wrap;
+  margin-left: -50px;
+  margin-top: 15px;
+  width: 110%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+  margin-right: 180px;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+.inspector {
+  width: 50%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: left;
+}
+/deep/.el-input--small {
+  font-size: 13px;
+  position: relative;
+  display: inline-block;
+}
+.center1 .small-title {
+  margin-left: 150px;
+}
+.center1 {
+  width: 90%;
+  margin: 0 auto;
+  margin-left: 10px;
+  margin-top: 25px;
+}
+/deep/.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+}
+/deep/.el-select {
+  display: inline-block;
+  position: relative;
+  width: 100%;
+}
+</style>