gjy 2 éve
szülő
commit
f36366b200

+ 8 - 0
src/views/houseSelfCollect/inspectionManagementNew.vue

@@ -325,6 +325,12 @@
                   <ws-input v-model="deptBudgetList.wingNumberOther" placeholder="请输入车厢号" maxlength="20"
                           size="small" />
                 </ws-form-item> -->
+                <ws-form-item v-if="serviceManagementType == 1&&deptBudgetList.outType == '火运'" label="流向" span="1" prop="carNo">
+                  <el-select :disabled="recheck" filterable clearable
+                      v-model="deptBudgetList.fireDirection" placeholder="请选择流向" class="typeselect">
+                      <el-option v-for="item in fireDirectionList" :key="item.constKey" :label="item.boxNo" :value="item.boxNo" />
+                    </el-select>
+                </ws-form-item>
                 <ws-form-item label="船名" span="1" prop="shipName" v-if="deptBudgetList.outType == '散船'||deptBudgetList.outType == '集装箱船'">
                   <el-select filterable clearable v-model="deptBudgetList.shipName"
                     placeholder="请选择船名" class="typeselect" @change="shipInfoChange($event)">
@@ -590,6 +596,7 @@ export default {
       pageSize: 10,
       isShowPrint: false,
       typeList: ['干粮', '潮粮'],
+      fireDirectionList:[],
       disablednotarize: false,
       goodsdisabled: false,
       customerName: '',
@@ -3439,6 +3446,7 @@ export default {
               }
             }
           }else{
+            this.fireDirectionList=this.outContractNo[i].fireDirectionList
             this.shipInfoList=this.outContractNo[i].shipInfoList
             this.deptBudgetList.goodsName = this.outContractNo[i].goodsName
             this.deptBudgetList.goodsNameKey = this.outContractNo[i].goodsNameKey

+ 23 - 2
src/views/outboundManagement/weighingManagementNew.vue

@@ -154,6 +154,12 @@
                             :value="item.fleetName" />
                         </el-select>
                       </ws-form-item>
+                      <ws-form-item v-if=" weighingList.outType == '火运'" label="流向" span="1" prop="carNo">
+                    <el-select :disabled="recheck1" filterable clearable
+                      v-model="weighingList.fireDirection" placeholder="请选择流向" class="typeselect">
+                      <el-option v-for="item in fireDirectionList" :key="item.constKey" :label="item.boxNo" :value="item.boxNo" />
+                    </el-select>
+                  </ws-form-item>
                       <ws-form-item label="车牌号" span="1" prop="carNo" v-if="
                       weighingList.outType == '散船' ||
                       weighingList.outType == '汽运' ||
@@ -169,6 +175,7 @@
                         </el-select>
                         <el-button type="primary" @click="carNoTypeChange" v-if="carstatus">{{ carChange1 }}</el-button>
                       </ws-form-item>
+                      
                       <ws-form-item label="箱号-1" span="1" prop="boxNo" v-if="
                       weighingList.outType == '汽运' ||
                       weighingList.outType == '集装箱船'||
@@ -442,6 +449,7 @@
         searchKeyWord: '',
         paramType: '',
         deptBudgetTotal: 0,
+        fireDirectionList:[],
         monitorUrl1: '',
         monitorUrl2: '',
         index: 0,
@@ -864,7 +872,6 @@
             window.open('../../../../static/weightCheckOutNew.html?type=2' )
           }
       },
-    
       makeEWjjSelectPrintList() {
         let _selectPrint_EWjjSelectPrintList = JSON.parse(JSON.stringify(this.dialogDataList));
         for (let i = 0; i < _selectPrint_EWjjSelectPrintList.length; i++) {
@@ -1096,7 +1103,20 @@
             }else{
               this.recheckPrice = false
             }
-
+            if(this.weighingList.outType=='汽运'){
+              if(this.carChange1 == '手动填写'){
+                this.carjudge=false
+              }else{
+                this.weighingList.selfLoading = '1'
+                this.carjudge=true
+              }
+            }else if(this.weighingList.outType=='散船'){
+              this.carjudge=true
+            }else if(this.weighingList.outType=='集装箱船'){
+              this.carjudge=true
+            }else if(this.weighingList.outType=='火运'){
+              this.carjudge=true
+            }
             // this.weighingList.carNo =
               // response.qualityInspectionManagement.carNumber
         this.$set(this.weighingList,'carNo', response.qualityInspectionManagement.carNumber)
@@ -2126,6 +2146,7 @@
         for (var i = 0; i < this.outContractNo.length; i++) {
           if (this.outContractNo[i].contractNo == this.weighingList.contractNo) {
             this.shipInfoList=this.outContractNo[i].shipInfoList
+            this.fireDirectionList=this.outContractNo[i].fireDirectionList
             this.weighingList.goodsName = this.outContractNo[i].goodsName
             if (this.weighingList.goodsName == '玉米(潮粮)') {
               this.weighingList.type = '潮粮'

+ 137 - 2
src/views/statisticalReport/autoSettlementList.vue

@@ -83,6 +83,8 @@
             </div>
           </template>
         </el-table-column>
+        <el-table-column width="120" class="table_td" prop="transportDamage" label="公司承担运损">
+        </el-table-column>
         <el-table-column width="100" class="table_td" prop="lossWeight" label="损耗(吨)"><template slot-scope="scope">
             <span v-if="scope.row.unloadingWeight == null">--</span>
             <span v-else-if="
@@ -92,7 +94,55 @@
             <span v-else style="font-weight: 600">{{ scope.row.lossWeight }}</span>
           </template>
         </el-table-column>
-        <el-table-column width="120" class="table_td" prop="transportPrice" label="运输单价(元/吨)"></el-table-column>
+        <el-table-column width="120" class="table_td" prop="actualLoss" label="实际损耗">
+          <template
+            slot-scope="scope">
+            <span v-if="
+              !scope.row.actualLosschange && scope.row.actualLoss
+            ">{{ scope.row.actualLoss }}</span>
+            <input v-if="scope.row.actualLosschange" style="width: 60px" v-model="actualLoss" type="text" />
+            <!--改结算重量-->
+            <i @click="changeactualLoss(scope.row)" v-if="
+              (scope.row.actualLosschange &&
+                scope.row.status == '待请款') ||
+              (scope.row.actualLosschange &&
+                scope.row.status == '已驳回')
+            " class="iconfont icon-dui"></i>
+            <img v-if="
+              (!scope.row.actualLosschange &&
+                scope.row.actualLoss &&
+                scope.row.status == '待请款') ||
+              (!scope.row.actualLosschange &&
+                scope.row.actualLoss &&
+                scope.row.status == '已驳回')
+            " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
+              src="../../../public/img/edit.png" @click="editactualLoss(scope.row)" alt="" />
+          </template>
+        </el-table-column>
+        <el-table-column width="120" class="table_td" prop="transportPrice" label="预计单价(元/吨)"></el-table-column>
+        <el-table-column width="120" class="table_td" prop="settlementPrice" label="结算单价(元/吨)">
+          <template slot-scope="scope">
+            <span v-if="
+              !scope.row.settlementPricechange && scope.row.settlementPrice
+            ">{{ scope.row.settlementPrice }}</span>
+            <input v-if="scope.row.settlementPricechange" style="width: 60px" v-model="settlementPrice" type="text" />
+            <i @click="changesettlementPrice(scope.row)" v-if="
+              (scope.row.settlementPricechange &&
+                scope.row.status == '待请款') ||
+              (scope.row.settlementPricechange &&
+                scope.row.status == '已驳回')
+            " class="iconfont icon-dui"></i>
+            <img v-if="
+              (!scope.row.settlementPricechange &&
+                scope.row.settlementWeight &&
+                scope.row.status == '待请款') ||
+              (!scope.row.settlementPricechange &&
+                scope.row.settlementWeight &&
+                scope.row.status == '已驳回')
+            " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
+              src="../../../public/img/edit.png" @click="editsettlementPrice(scope.row)" alt="" />
+          </template>
+        </el-table-column>
         <el-table-column width="120" class="table_td" prop="settlementWeight" label="结算重量(吨)"><template
             slot-scope="scope">
             <span v-if="scope.row.unloadingWeight == '未卸车'">{{ scope.row.loadingWeight }}}</span>
@@ -117,6 +167,8 @@
             " width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
               src="../../../public/img/edit.png" @click="editsettlementWeight(scope.row)" alt="" />
           </template></el-table-column>
+          <el-table-column width="120" class="table_td" prop="cargoDamage" label="货损">
+          </el-table-column>
         <el-table-column width="120" class="table_td" prop="deductionAmount" label="扣款(元)"><template slot-scope="scope">
             <span v-if="
               !scope.row.deductionAmountchange && scope.row.deductionAmount
@@ -487,9 +539,10 @@ export default {
         paymentScreenshot: '',
         id: '',
       },
-
+      settlementPrice:0,
       amountNotPayable: 0,
       amountEdPayable: 0,
+      actualLoss:0,
       paymentScreenshotUrls: [],
       carryovercontractnolist: [],
       historyList: [],
@@ -884,6 +937,78 @@ export default {
           this.$message.warning('修改结算重量失败')
         })
     },
+    changeactualLoss(item) {
+      if (!this.actualLoss) {
+        this.$message({
+          message: '实际损耗不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        (this.actualLoss &&
+          String(this.actualLoss).indexOf('.') != -1 &&
+          String(this.actualLoss).length -
+          (String(this.actualLoss).indexOf('.') + 1) >
+          2)   ) {
+        this.$message({
+          message: '实际损耗输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      this.reviewer = localStorage.getItem('ws-pf_roleName') + localStorage.getItem('ws-pf_staffName')
+      editauto({
+        actualLoss: Math.abs(this.actualLoss),
+        id: item.id,
+        reviewer: this.reviewer,
+        flag: 5,
+      })
+        .toPromise()
+        .then((response) => {
+          this.$message.success('修改实际损耗成功')
+          this.getList()
+        })
+        .catch((req) => {
+          this.$message.warning('修改实际损耗失败')
+        })
+    },
+    changesettlementPrice(item) {
+      if (!this.settlementPrice) {
+        this.$message({
+          message: '结算单价不能为空!',
+          type: 'warning',
+        })
+        return
+      }
+      if (
+        (this.settlementPrice &&
+          String(this.settlementPrice).indexOf('.') != -1 &&
+          String(this.settlementPrice).length -
+          (String(this.settlementPrice).indexOf('.') + 1) >
+          2) ) {
+        this.$message({
+          message: '结算单价输入错误',
+          type: 'warning',
+        })
+        return
+      }
+      this.reviewer = localStorage.getItem('ws-pf_roleName') + localStorage.getItem('ws-pf_staffName')
+      editauto({
+        settlementPrice: Math.abs(this.settlementPrice),
+        id: item.id,
+        reviewer: this.reviewer,
+        flag: 6,
+      })
+        .toPromise()
+        .then((response) => {
+          this.$message.success('修改结算单价成功')
+          this.getList()
+        })
+        .catch((req) => {
+          this.$message.warning('修改结算单价失败')
+        })
+    },
     //设置本次账户
     bankCard(item, id) {
       editauto({
@@ -905,6 +1030,14 @@ export default {
       this.settlementWeight = item.settlementWeight
       item.settlementWeightchange = true
     },
+    editsettlementPrice(item) {
+      this.settlementPrice = item.settlementPrice
+      item.settlementPricechange = true
+    },
+    editactualLoss(item) {
+      this.actualLoss = item.actualLoss
+      item.actualLosschange = true
+    },
     //修改扣款
     changedeductionAmount(item) {
       if (!this.deductionAmount) {
@@ -1211,6 +1344,8 @@ export default {
         .then((response) => {
           for (var i = 0; i < response.records.length; i++) {
             response.records[i].settlementWeightchange = false
+            response.records[i].actualLosschange = false
+            response.records[i].settlementPricechange = false
             response.records[i].deductionAmountchange = false
             response.records[i].amountIngPayable = response.records[i].amountIngPayable.toFixed(2)
             response.records[i].amountEdPayable = response.records[i].amountEdPayable.toFixed(2)

+ 232 - 40
src/views/statisticalReport/huoyunList.vue

@@ -3,41 +3,48 @@
   <div class="container">
     <el-scrollbar style="height: 100%">
       <el-row>
-        <el-col style="padding-left: 15px" :span="8">
-          <ws-button :type="searchType == 1 ? 'primary' : ''" @click="handlestatus(1)">待审核</ws-button>
+        <el-col style="padding-left: 15px" :span="10">
+          <!-- <ws-button :type="searchType == 1 ? 'primary' : ''" @click="handlestatus(1)">待审核</ws-button>
           <ws-button :type="searchType == 2 ? 'primary' : ''" @click="handlestatus(2)">待结算</ws-button>
           <ws-button :type="searchType == 3 ? 'primary' : ''" @click="handlestatus(3)">已结算</ws-button>
           <ws-button :type="searchType == '' ? 'primary' : ''" @click="handlestatus('')">全部</ws-button>
           <ws-button type="primary" v-hasPermission="`report.transportationReport.view`" @click="handlepass()">通过
           </ws-button>
           <ws-button type="primary" v-hasPermission="`report.transportationReport.view`" @click="handlereject()">驳回
-          </ws-button>
+          </ws-button> -->
           <!-- <ws-button
             type="primary"
             v-hasPermission="`report.transportationReport.payment`"
             @click="handlepayment"
             >申请结算</ws-button
           > -->
-          <ws-button type="primary" v-hasPermission="`report.transportationReport.payment`" @click="handlepayment">付款
-          </ws-button>
+          <!-- <ws-button type="primary" v-hasPermission="`report.transportationReport.payment`" @click="handlepayment">付款
+          </ws-button> -->
           <!-- <ws-button
             type="primary"
             v-hasPermission="`report.transportationReport.draw`"
             @click="handleninvoice"
             >开发票</ws-button
           > -->
-        </el-col>
+          <div v-if="contractNo!='全部合同'">
+          <div style="display:inline-block;margin-right:10px;"> 火运装车大票重量(吨):<span v-if="shippedWeight>0">{{shippedWeight}}<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/fujian.png" @click="fujian1()" alt="" /></span><ws-button v-if="!shippedWeight" type="primary" @click="handlefeedback()">反馈</ws-button></div>
+            <div style="display:inline-block;margin-right:10px;"> 火运卸车大票重量(吨):<span v-if="unloadingWeight>0">{{unloadingWeight}}<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/fujian.png" @click="fujian2()" alt="" /></span><ws-button v-if="!unloadingWeight" type="primary" @click="handledownfeedback()">反馈</ws-button></div>
+          </div>
+          &nbsp;
+          </el-col>
         <el-col style="display: flex; justify-content:flex-end;margin-top:13px" :span="14">
           <el-select v-model="contractNo" placeholder="请选择合同" filterable clearable @change="contractchange"
             maxlength="500" class="findValue">
             <el-option v-for="item in options" :key="item.constKey" :label="item.contractNo" :value="item.contractNo" />
           </el-select>
-          <!-- <el-select v-model="taskNo" placeholder="请选择运输任务编号" @change="taskNochange" maxlength="500" class="findValue"
+          <el-select v-model="taskNo" placeholder="请选择运输任务编号" @change="taskNochange" maxlength="500" class="findValue"
             filterable clearable>
             <el-option v-for="item in taskNoList" :key="item.taskNoKey" :label="item.taskNoValue "
               :value="item.taskNoValue" />
           </el-select>
-          <el-select v-model="processNo" placeholder="请选择运输阶段编号" @change="processNochange" maxlength="500"
+         <!--  <el-select v-model="processNo" placeholder="请选择运输阶段编号" @change="processNochange" maxlength="500"
             class="findValue" filterable clearable>
             <el-option v-for="item in processNoList" :key="item.processNoKey" :label="item.processNoValue "
               :value="item.processNoValue" />
@@ -82,6 +89,11 @@
           label="类型"
         ></el-table-column> -->
         <!-- <el-table-column class="boxNo" prop="boxNo" label="车厢号"></el-table-column> -->
+        <el-table-column class="table_td" prop="carNo" label="车牌号"></el-table-column>
+        <el-table-column class="boxNo" prop="boxNo" label="箱号-1"></el-table-column>
+        <el-table-column class="boxNo" prop="boxNoOther" label="箱号-2"></el-table-column>
+        <el-table-column class="boxNo" prop="titleNo" label="封号-1"></el-table-column>
+        <el-table-column class="boxNo" prop="titleNoOther" label="封号-2"></el-table-column>
         <el-table-column class="table_td" prop="loadingWeight" label="装车净重(吨)"></el-table-column>
         <el-table-column class="table_td" prop="unloadingWeight" label="卸车净重(吨)">
         </el-table-column>
@@ -194,6 +206,52 @@
       <p>查看装车磅单</p>
       <img width="100" height="100" :src="loadingImg1" alt="" />
     </WinseaContentModal> -->
+    <WinseaContentModal v-model="editshow" title="装车反馈"
+      @on-cancel="editshow = false">
+      <el-form :model="taskform">
+        <el-form-item label="重量(吨)" >
+          <el-input type='number' v-model="taskform.shippedWeight" autocomplete="off" placeholder="输入火运装车大票重量"></el-input>
+        </el-form-item>
+        <el-form-item label="大票截图" >
+          <ws-upload ref="upload" :comp-id="compId" :appendix-ids="taskform.enclosure" 
+        @onChange="onChange"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+      </el-form>
+        
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="editshow = false">取 消</el-button>
+        <el-button @click="taskconfirm">确定</el-button>
+      </div>
+    </WinseaContentModal>
+    <WinseaContentModal v-model="editshow1" title="卸车反馈"
+      @on-cancel="editshow = false">
+      <el-form :model="taskform">
+        <el-form-item label="重量(吨)" >
+          <el-input type='number' v-model="taskform.unloadingWeight" autocomplete="off" placeholder="输入火运卸车大票重量"></el-input>
+        </el-form-item>
+        <el-form-item label="大票截图" >
+          <ws-upload ref="upload1" :comp-id="compId" :appendix-ids="taskform.unEnclosure" 
+        @onChange="onChange1"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
+        </el-form-item>
+      </el-form>
+        
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="editshow1 = false">取 消</el-button>
+        <el-button @click="taskconfirm1">确定</el-button>
+      </div>
+    </WinseaContentModal>
+    <WinseaContentModal v-model="accessoryTFs1" :title="$t('system.noticeCircular.information')"
+      @on-cancel="accessoryTFs1 = false">
+        <ws-upload ref="upload1" :comp-id="compId" :appendix-ids="enclosure" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+    </WinseaContentModal>
+    <WinseaContentModal v-model="accessoryTFs2" :title="$t('system.noticeCircular.information')"
+      @on-cancel="accessoryTFs2 = false">
+        <ws-upload ref="upload" :comp-id="compId" :appendix-ids="unEnclosure" :editable="false"
+				accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+    </WinseaContentModal>
     <WinseaContentModal v-model="accesscard" title="磅单信息" @on-cancel="handleClose1">
       <p>查看卸车磅单</p>
       <img width="100" height="100" :src="unloadingImg1" alt="" />
@@ -225,7 +283,8 @@
     openinvoicelist,
     getYunShuXiaLa,
     getYunShuNumber,
-    SetYunShuPrice
+    SetYunShuPrice,
+    edittrantask
     // postaudit,
     //   getselectctcontractno,
   } from '@/model/statisticalReport/index'
@@ -281,6 +340,12 @@
           basis: '',
         },
         currect: true,
+        taskform:{
+          enclosure:'',
+          shippedWeight:'',
+          unEnclosure:'',
+          unloadingWeight:''
+        },
         formLabelWidth: '120px',
         formLabelWidth1: '140px',
         barWidth: 0,
@@ -306,7 +371,7 @@
         deptBudgetTotal: 0,
         currentPage: 1,
         pageSize: 10,
-        searchType: '1',
+        searchType: '',
         manualFlag: '',
         searchTypeText: '未完成',
         searchKeyWord: '',
@@ -365,7 +430,7 @@
           paymentScreenshot: '',
           id: '',
         },
-
+        currecttask:{},
         amountNotPayable: 0,
         amountEdPayable: 0,
         paymentScreenshotUrls: [],
@@ -376,6 +441,15 @@
             return time.getTime() > Date.now()
           },
         },
+        taskNoList1:[],
+        editshow:false,
+        editshow1:false,
+        accessoryTFs1:false,
+        accessoryTFs2:false,
+        unEnclosure:'',
+        enclosure:'',
+        unloadingWeight:'',
+        shippedWeight:'',
         amountEdPayable: "", //已付金额
         alreadyInvoice: "", //未付金额
         priceStatus: "", //状态
@@ -383,10 +457,128 @@
       }
     },
     activated() {
+      this.contractNoList = []
+      getYunShuXiaLa({
+            flag: 2,
+          })
+          .toPromise()
+          .then((response) => {
+            for (let i = 0; i < response.length; i++) {
+              this.contractNoList.push({
+                constKey: i,
+                contractNo: response[i],
+              })
+            }
+            this.contractNoList.unshift({
+              contractNo: '全部合同'
+            })
+            this.options = this.contractNoList
+          })
       this.getList()
       this.showType = this.isShow
     },
     methods: {
+      onChange() {
+        this.$refs.upload
+          .handleSaveBill()
+          .then(async response => {
+            this.taskform.enclosure = response
+          })
+          .catch(res => {
+            EventBus.$emit('error', (JSON.parse(res) || {}).message)
+            this.$refs.upload.clearFiles()
+          })
+      },
+      onChange1() {
+        this.$refs.upload1
+          .handleSaveBill()
+          .then(async response => {
+            this.taskform.unEnclosure = response
+          })
+          .catch(res => {
+            EventBus.$emit('error', (JSON.parse(res) || {}).message)
+            this.$refs.upload1.clearFiles()
+          })
+      },
+      fujian1() {
+        console.log(this.enclosure)
+          this.accessoryTFs1 = true
+      },
+      fujian2() {
+        console.log(this.enclosure)
+          this.accessoryTFs2 = true
+      },
+      handlefeedback(){
+        this.taskform.enclosure=this.enclosure
+        this.taskform.shippedWeight=this.shippedWeight
+        this.editshow=true
+      },
+      handledownfeedback(){
+        this.taskform.unEnclosure=this.unEnclosure
+        this.taskform.unloadingWeight=this.unloadingWeight
+        this.editshow1=true
+      },
+      taskconfirm(){
+        if(!this.taskform.shippedWeight){
+          this.$message.warning('火运装车大票重量不能为空')
+          return
+        }
+        console.log()
+        if(!this.taskform.enclosure){
+          this.$message.warning('至少上传一个大票截图')
+          return
+        }
+        this.$confirm(`火运装车信息提交后不可修改,确认提交?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          edittrantask({id:this.currecttask.id,shippedWeight:this.taskform.shippedWeight,enclosure:this.taskform.enclosure,tranProcessInfoList:[]}).toPromise().then((response) => {
+              this.editshow=false
+              this.$refs.upload.clearFiles()
+              this.$message.success('提交成功')
+              this.$nextTick(()=>{
+                this.shippedWeight=this.taskform.shippedWeight
+                this.enclosure=this.taskform.enclosure
+                this.taskform={}
+              })
+            })
+            .catch((response) => {
+              EventBus.$emit('error', response.message)
+            })
+        })
+      },
+      taskconfirm1(){
+        console.log(this.taskform)
+        if(!this.taskform.unloadingWeight){
+          this.$message.warning('火运卸车大票重量不能为空')
+          return
+        }
+        if(!this.taskform.unEnclosure){
+          this.$message.warning('至少上传一个大票截图')
+          return
+        }
+        this.$confirm(`火运卸车信息提交后不可修改,确认提交?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          edittrantask({id:this.currecttask.id,unloadingWeight:this.taskform.unloadingWeight,unEnclosure:this.taskform.unEnclosure,tranProcessInfoList:[]}).toPromise().then((response) => {
+              this.editshow=false
+              this.$refs.upload1.clearFiles()
+              this.$message.success('提交成功')
+              this.$nextTick(()=>{
+                this.unloadingWeight=this.taskform.unloadingWeight
+                this.unEnclosure=this.taskform.unEnclosure
+                this.taskform={}
+              })
+              
+            })
+            .catch((response) => {
+              EventBus.$emit('error', response.message)
+            })
+        })
+      },
       find(){
         this.getList()
       },
@@ -946,31 +1138,46 @@
           })
           .toPromise()
           .then((response) => {
+            this.taskNoList1=response
             for (let i = 0; i < response.length; i++) {
               this.taskNoList.push({
                 taskNoKey: i,
                 taskNoValue: response[i].taskNo,
                 processNo: response[i].tranProcessInfoList
               })
+              this.taskNo=response[0].taskNo
+              this.shippedWeight=response[0].shippedWeight
+              this.enclosure=response[0].enclosure
+              this.unloadingWeight=response[0].unloadingWeight
+              this.unEnclosure=response[0].unEnclosure
+              this.currecttask=response[0]
+              this.getList()
             }
           })
+          
       },
       taskNochange(e) {
         this.taskNo = e
         this.processNoList = []
         this.processNo = ""
-        for (let i = 0; i < this.taskNoList.length; i++) {
-          if (e == this.taskNoList[i].taskNoValue) {
-            for (let j = 0; j < this.taskNoList.length; j++) {
-              this.processNoList.push({
-                processNoKey: i,
-                processNoValue: this.taskNoList[i].processNo[j].processNo,
-                actualFreight: this.taskNoList[i].processNo[j].actualFreight,
-                id: this.taskNoList[i].processNo[j].id,
-                tranPriceIng: this.taskNoList[i].processNo[j].tranPrice,
-                priceStatus: this.taskNoList[i].processNo[j].priceStatus
-              })
-            }
+        this.getList()
+        for (let i = 0; i < this.taskNoList1.length; i++) {
+          if (e == this.taskNoList1[i].taskNo) {
+            this.enclosure=this.taskNoList1[i].enclosure
+            this.shippedWeight=this.taskNoList1[i].shippedWeight
+            this.unEnclosure=this.taskNoList1[i].unEnclosure
+            this.unloadingWeight=this.taskNoList1[i].unloadingWeight
+            this.currecttask=this.taskNoList1[i]
+        //     for (let j = 0; j < this.taskNoList.length; j++) {
+        //       this.processNoList.push({
+        //         processNoKey: i,
+        //         processNoValue: this.taskNoList[i].processNo[j].processNo,
+        //         actualFreight: this.taskNoList[i].processNo[j].actualFreight,
+        //         id: this.taskNoList[i].processNo[j].id,
+        //         tranPriceIng: this.taskNoList[i].processNo[j].tranPrice,
+        //         priceStatus: this.taskNoList[i].processNo[j].priceStatus,
+        //       })
+        //     }
           }
         }
       },
@@ -1033,23 +1240,8 @@
             this.deptBudgetTotal = response.total
             this.warehouseList = response
           })
-        this.contractNoList = []
-        getYunShuXiaLa({
-            flag: 2,
-          })
-          .toPromise()
-          .then((response) => {
-            for (let i = 0; i < response.length; i++) {
-              this.contractNoList.push({
-                constKey: i,
-                contractNo: response[i]
-              })
-            }
-            this.contractNoList.unshift({
-              contractNo: '全部合同'
-            })
-            this.options = this.contractNoList
-          })
+        
+        
       },
       handleRemove(file) {
         console.log(file)

+ 40 - 20
src/views/statisticalReport/shippingList.vue

@@ -4,7 +4,7 @@
     <el-scrollbar style="height: 100%">
       <el-row>
         <el-col style="padding-left: 15px" :span="6">
-          <ws-button :type="searchType == 1 ? 'primary' : ''" @click="handlestatus(1)">待审核</ws-button>
+          <!-- <ws-button :type="searchType == 1 ? 'primary' : ''" @click="handlestatus(1)">待审核</ws-button>
           <ws-button :type="searchType == 2 ? 'primary' : ''" @click="handlestatus(2)">待结算</ws-button>
           <ws-button :type="searchType == 3 ? 'primary' : ''" @click="handlestatus(3)">已结算</ws-button>
           <ws-button :type="searchType == '' ? 'primary' : ''" @click="handlestatus('')">全部</ws-button>
@@ -13,13 +13,14 @@
           <ws-button type="primary" v-hasPermission="`report.transportationReport.view`" @click="handlereject()"
             v-if="processNo">驳回</ws-button>
           <ws-button type="primary" v-hasPermission="`report.transportationReport.payment`" @click="handlepayment"
-            v-if="processNo">付款</ws-button>
+            v-if="processNo">付款</ws-button> -->
           <!-- <ws-button
             type="primary"
             v-hasPermission="`report.transportationReport.draw`"
             @click="handleninvoice"
             >开发票</ws-button
           > -->
+          &nbsp;
         </el-col>
         <el-col style="text-align: right; line-height: 60px; padding-right: 10px" :span="18">
           <el-select v-model="contractNo" placeholder="请选择合同" clearable filterable @change="contractchange"
@@ -55,9 +56,9 @@
             <span style="display:inline-block;margin-right:10px;">船名:{{shipName}}</span> 
             <span style="display:inline-block;margin-right:10px;">航次:{{shipNo}}</span>  
             <div style="display:inline-block;margin-right:10px;"> 水单装船重量(吨):<span v-if="shippedWeight>0">{{shippedWeight}}<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/fujian.png" @click="fujian1()" alt="" /></span><ws-button v-if="shippedWeight==0" type="primary" @click="handlefeedback()">反馈</ws-button></div>
+            src="../../../public/img/fujian.png" @click="fujian1()" alt="" /></span><ws-button v-if="!shippedWeight" type="primary" @click="handlefeedback()">反馈</ws-button></div>
             <div style="display:inline-block;margin-right:10px;"> 水单卸船重量(吨):<span v-if="unloadingWeight>0">{{unloadingWeight}}<img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/fujian.png" @click="fujian2()" alt="" /></span><ws-button v-if="unloadingWeight==0" type="primary" @click="handledownfeedback()">反馈</ws-button></div>
+            src="../../../public/img/fujian.png" @click="fujian2()" alt="" /></span><ws-button v-if="!unloadingWeight" type="primary" @click="handledownfeedback()">反馈</ws-button></div>
           </div>
         </el-col>
       </el-row>
@@ -228,10 +229,10 @@
       @on-cancel="editshow = false">
       <el-form :model="taskform">
         <el-form-item label="重量(吨)" >
-          <el-input type='number' v-model="shippedWeight" autocomplete="off" placeholder="输入水单装船重量"></el-input>
+          <el-input type='number' v-model="taskform.shippedWeight" autocomplete="off" placeholder="输入水单装船重量"></el-input>
         </el-form-item>
         <el-form-item label="水单截图" >
-          <ws-upload ref="upload" :comp-id="compId" :appendix-ids="unEnclosure" 
+          <ws-upload ref="upload" :comp-id="compId" :appendix-ids="taskform.unEnclosure" 
         @onChange="onChange"
 				accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
         </el-form-item>
@@ -246,10 +247,10 @@
       @on-cancel="editshow = false">
       <el-form :model="taskform">
         <el-form-item label="重量(吨)" >
-          <el-input type='number' v-model="unloadingWeight" autocomplete="off" placeholder="输入水单卸船重量"></el-input>
+          <el-input type='number' v-model="taskform.unloadingWeight" autocomplete="off" placeholder="输入水单卸船重量"></el-input>
         </el-form-item>
         <el-form-item label="水单截图" >
-          <ws-upload ref="upload" :comp-id="compId" :appendix-ids="enclosure" 
+          <ws-upload ref="upload1" :comp-id="compId" :appendix-ids="taskform.enclosure" 
         @onChange="onChange1"
 				accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
         </el-form-item>
@@ -257,7 +258,7 @@
         
       <div slot="footer" class="dialog-footer">
         <el-button @click="editshow1 = false">取 消</el-button>
-        <el-button @click="taskconfirm">确定</el-button>
+        <el-button @click="taskconfirm1">确定</el-button>
       </div>
     </WinseaContentModal>
     <WinseaContentModal v-model="accessoryTFs1" :title="$t('system.noticeCircular.information')"
@@ -327,7 +328,12 @@
         checked: true,
         alreadyInvoice: '',
         needReapply: true,
-        taskform:{},
+        taskform:{
+          enclosure:'',
+          shippedWeight:'',
+          unEnclosure:'',
+          unloadingWeight:''
+        },
         accessoryTFs1:false,
         editshow1:false,
         accessoryTFs2:false,
@@ -509,7 +515,7 @@
         this.$refs.upload
           .handleSaveBill()
           .then(async response => {
-            this.enclosure = response
+            this.taskform.enclosure = response
           })
           .catch(res => {
             EventBus.$emit('error', (JSON.parse(res) || {}).message)
@@ -517,28 +523,32 @@
           })
       },
       onChange1() {
-        this.$refs.upload
+        this.$refs.upload1
           .handleSaveBill()
           .then(async response => {
-            this.unEnclosure = response
+            this.taskform.unEnclosure = response
           })
           .catch(res => {
             EventBus.$emit('error', (JSON.parse(res) || {}).message)
-            this.$refs.upload.clearFiles()
+            this.$refs.upload1.clearFiles()
           })
       },
       handlefeedback(){
+        this.taskform.enclosure=this.enclosure
+        this.taskform.shippedWeight=this.shippedWeight
         this.editshow=true
       },
       handledownfeedback(){
+        this.taskform.unEnclosure=this.unEnclosure
+        this.taskform.unloadingWeight=this.unloadingWeight
         this.editshow1=true
       },
       taskconfirm(){
-        if(!this.shippedWeight){
+        if(!this.taskform.shippedWeight){
           this.$message.warning('水单装船重量不能为空')
           return
         }
-        if(!this.enclosure){
+        if(!this.taskform.enclosure){
           this.$message.warning('至少上传一个水单截图')
           return
         }
@@ -547,9 +557,14 @@
           confirmButtonText: '确定',
           type: 'warning',
         }).then(() => {
-          edittrantask({id:this.currecttask.id,shippedWeight:this.shippedWeight,enclosure:this.enclosure,tranProcessInfoList:[]}).toPromise().then((response) => {
+          edittrantask({id:this.currecttask.id,shippedWeight:this.taskform.shippedWeight,enclosure:this.taskform.enclosure,tranProcessInfoList:[]}).toPromise().then((response) => {
               this.editshow=false
+              this.taskform={}
+              this.$refs.upload.clearFiles()
               this.$message.success('提交成功')
+              this.$nextTick(()=>{
+                this.$router.go(0)
+              })
             })
             .catch((response) => {
               EventBus.$emit('error', response.message)
@@ -557,11 +572,11 @@
         })
       },
       taskconfirm1(){
-        if(!this.shippedWeight){
+        if(!this.taskform.unloadingWeight){
           this.$message.warning('水单卸船重量不能为空')
           return
         }
-        if(!this.unEnclosure){
+        if(!this.taskform.unEnclosure){
           this.$message.warning('至少上传一个水单截图')
           return
         }
@@ -570,9 +585,14 @@
           confirmButtonText: '确定',
           type: 'warning',
         }).then(() => {
-          edittrantask({id:this.currecttask.id,unloadingWeight:this.unloadingWeight,unEnclosure:this.unEnclosure,tranProcessInfoList:[]}).toPromise().then((response) => {
+          edittrantask({id:this.currecttask.id,unloadingWeight:this.taskform.unloadingWeight,unEnclosure:this.taskform.unEnclosure,tranProcessInfoList:[]}).toPromise().then((response) => {
               this.editshow=false
+              this.taskform={}
+              this.$refs.upload1.clearFiles()
               this.$message.success('提交成功')
+              this.$nextTick(()=>{
+                this.$router.go(0)
+              })
             })
             .catch((response) => {
               EventBus.$emit('error', response.message)

+ 7 - 7
src/views/tranManagement/tranManagementTransporTrainDetails.vue

@@ -114,31 +114,31 @@
       >
         <ws-info-table>
           <!--姓名-->
-          <ws-form-item label="姓名:" span="1" prop="driver">
+          <ws-form-item v-if="item.tranType==2" label="姓名:" span="1" prop="driver">
             {{ item.driver }}
           </ws-form-item>
 
           <!--电话-->
-          <ws-form-item label="电话:" span="1" prop="driverPhone">
+          <ws-form-item v-if="item.tranType==2" label="电话:" span="1" prop="driverPhone">
             {{ item.driverPhone }}
           </ws-form-item>
 
           <!--发车日期-->
-          <ws-form-item label="发车日期:" span="1" prop="sendDateStart">
+          <ws-form-item v-if="item.tranType==2" label="发车日期:" span="1" prop="sendDateStart">
             {{ item.sendDateStart }}
           </ws-form-item>
 
           <!--到站日期-->
-          <ws-form-item label="预计到站日期:" span="1" prop="receiveDateEnd">
+          <ws-form-item v-if="item.tranType==2" label="预计到站日期:" span="1" prop="receiveDateEnd">
             {{ item.receiveDateEnd }}
           </ws-form-item>
 
           <!--车型-->
-          <ws-form-item label="车型:" span="1" prop="carModel">
+          <!-- <ws-form-item label="车型:" span="1" prop="carModel">
             {{ item.carModel }}
-          </ws-form-item>
+          </ws-form-item> -->
           <!--车厢号-->
-            <ws-form-item label="车厢号:" span="1" prop="boxNo">
+            <ws-form-item v-if="item.tranType==2" label="流向:" span="1" prop="boxNo">
               {{ item.boxNo }}
             </ws-form-item>
         </ws-info-table>

+ 30 - 23
src/views/tranManagement/tranManagementTransporTrainNo.vue

@@ -134,7 +134,7 @@
         :key="index"
       >
         <ws-info-table>
-          <ws-form-item label="姓名" span="1" prop="driver" v-show="index==0">
+          <ws-form-item label="姓名" span="1" prop="driver" v-show="item.tranType==2">
             <el-select
               v-model="item.driver"
               placeholder="请选择姓名"
@@ -150,7 +150,7 @@
               />
             </el-select>
           </ws-form-item>
-          <ws-form-item label="电话" span="1" prop="driverPhone"  v-show="index==0">
+          <ws-form-item label="电话" span="1" prop="driverPhone"  v-show="item.tranType==2">
             <ws-input
               v-model="item.driverPhone"
               readonly
@@ -160,7 +160,7 @@
               size="small"
             />
           </ws-form-item>
-          <ws-form-item label="发车日期" span="1" prop="sendDateStart"  v-show="index==0">
+          <ws-form-item label="发车日期" span="1" prop="sendDateStart"  v-show="item.tranType==2">
             <ws-date-picker
               v-model="item.sendDateStart"
               type="date"
@@ -168,7 +168,7 @@
               value-format="yyyy-MM-dd"
             />
           </ws-form-item>
-          <ws-form-item label="预计到站日期" span="1" prop="receiveDateEnd"  v-show="index==0">
+          <ws-form-item label="预计到站日期" span="1" prop="receiveDateEnd"  v-show="item.tranType==2">
             <ws-date-picker
               v-model="item.receiveDateEnd"
               type="date"
@@ -176,6 +176,14 @@
               value-format="yyyy-MM-dd"
             />
           </ws-form-item>
+          <ws-form-item label="流向" span="1" prop="boxNo" v-show="item.tranType==2"> 
+            <ws-input
+              v-model="item.boxNo"
+              placeholder="请输入流向"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
           <!-- <ws-form-item label="车型" span="1" prop="carModel"  v-show="index==0">
             <el-select
               v-model="item.carModel"
@@ -199,7 +207,7 @@
             />
           </ws-form-item> -->
         </ws-info-table>
-        <span
+        <!-- <span
           v-if="
             item.status == '未装车' || item.status == '' || item.status == null
           "
@@ -210,7 +218,7 @@
           src="../../../public/img/del.png"
           alt=""
           >×</span
-        >
+        > -->
       </div>
       <!-- <el-button class="add bg-bottom" type="primary" size="small" @click="add">
         <img width="22" height="22" src="../../../public/img/add.png" alt="" />
@@ -406,28 +414,28 @@ export default {
       }
       else{
       for (var i = 0; i < this.deptBudgetList.tranCarInfoList.length; i++) {
-        if (!this.deptBudgetList.tranCarInfoList[i].driver) {
+        if (!this.deptBudgetList.tranCarInfoList[i].driver&&this.deptBudgetList.tranCarInfoList[i].tranType==2) {
           this.$message({
             message: '姓名不能为空!',
             type: 'warning',
           })
           return
         }
-        if (!this.deptBudgetList.tranCarInfoList[i].driverPhone) {
+        if (!this.deptBudgetList.tranCarInfoList[i].driverPhone&&this.deptBudgetList.tranCarInfoList[i].tranType==2) {
           this.$message({
             message: '电话不能为空!',
             type: 'warning',
           })
           return
         }
-        if (!this.deptBudgetList.tranCarInfoList[i].sendDateStart) {
+        if (!this.deptBudgetList.tranCarInfoList[i].sendDateStart&&this.deptBudgetList.tranCarInfoList[i].tranType==2) {
           this.$message({
             message: '发车日期不能为空!',
             type: 'warning',
           })
           return
         }
-        if (!this.deptBudgetList.tranCarInfoList[i].receiveDateEnd) {
+        if (!this.deptBudgetList.tranCarInfoList[i].receiveDateEnd&&this.deptBudgetList.tranCarInfoList[i].tranType==2) {
           this.$message({
             message: '到站日期不能为空',
             type: 'warning',
@@ -440,7 +448,7 @@ export default {
           ).getTime() >
           new Date(
             this.deptBudgetList.tranCarInfoList[i].receiveDateEnd
-          ).getTime()
+          ).getTime()&&this.deptBudgetList.tranCarInfoList[i].tranType==2
         ) {
           this.$message({
             message: '发车时间不能大于到站时间!',
@@ -448,16 +456,16 @@ export default {
           })
           return
         }
-        if (!this.deptBudgetList.tranCarInfoList[i].carModel) {
-          this.$message({
-            message: '车型不能为空!',
-            type: 'warning',
-          })
-          return
-        }
-        if (!this.deptBudgetList.tranCarInfoList[i].boxNo) {
+        // if (!this.deptBudgetList.tranCarInfoList[i].carModel) {
+        //   this.$message({
+        //     message: '车型不能为空!',
+        //     type: 'warning',
+        //   })
+        //   return
+        // }
+        if (!this.deptBudgetList.tranCarInfoList[i].boxNo&&this.deptBudgetList.tranCarInfoList[i].tranType==2) {
           this.$message({
-            message: '车厢号不能为空',
+            message: '流向不能为空',
             type: 'warning',
           })
           return
@@ -474,7 +482,6 @@ export default {
               var tranCarInfo = {}
               tranCarInfo.id = this.deptBudgetList.id
               tranCarInfo.infoId = this.deptBudgetList.infoId
-              tranCarInfo.tranType = '2'
               tranCarInfo.tranCarInfoList = this.deptBudgetList.tranCarInfoList
               dispatchCat(tranCarInfo)
                 .toPromise()
@@ -839,8 +846,8 @@ export default {
 .del {
   position: absolute;
   cursor: pointer;
-  margin-left: 224px;
-  margin-top: -52px;
+  // margin-left: 224px;
+  // margin-top: -52px;
 }
 .winseaview-view {
   padding: 0 0 20px;