Explorar el Código

Merge branch 'master' of git.echepei.com:zhujiawei/Warehouse_management_ui into master

qukaidi hace 4 años
padre
commit
2beb59ee06

+ 6 - 1
src/api/finance/applyForInvoice/invoiceInformation.js

@@ -7,4 +7,9 @@ export function listCorps(query) {
     params: query
   })
 }
-
+export function listDelete(fId) {
+  return request({
+    url: '/financial/invoiceApplyFor/queryRemove/'+ fId,
+    method: 'delete'
+  })
+}

+ 1 - 1
src/api/fleet/carManage.js

@@ -54,4 +54,4 @@ export function deleted(fId) {
     url: '/fleet/carManage/' + fId,
     method: 'delete'
   })
-}
+}

+ 63 - 0
src/api/jiGang/index.js

@@ -0,0 +1,63 @@
+import request from '@/utils/request'
+
+// 查询客户详情列表
+export function listCorps(query) {
+  return request({
+    // url: '/basicdata/corps/selectCustomerDriverList',
+    url: '/basicdata/corps/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询客户详情列表
+export function listCorps_s() {
+  return request({
+    url: '/warehouseBusiness/containerPort/list',
+    method: 'get',
+  })
+}
+// 查询单条数据
+export function single(fId) {
+  return request({
+    // url: '/basicdata/corps/selectCustomerDriverList',
+    url: '/warehouseBusiness/containerPort/' + fId,
+    method: 'get',
+  })
+}
+// 新增
+export function preservation(data) {
+  return request({
+    url: '/warehouseBusiness/containerPort/saveContainerPort',
+    method: 'post',
+    data: data
+  })
+}
+// 删除
+export function singleDeletion(fId) {
+  return request({
+    url: '/warehouseBusiness/containerPort/removeContainerPort/' + fId,
+    method: 'get'
+  })
+}
+// 撤销
+export function revokeContainerPort(fId) {
+  return request({
+    url: '/warehouseBusiness/containerPort/revokeContainerPort/' + fId,
+    method: 'get'
+  })
+}
+// 提交
+export function submit(data) {
+  return request({
+    url: '/warehouseBusiness/containerPort/addContainerPort',
+    method: 'post',
+    data: data
+  })
+}
+// 基础资料
+export function allInformation() {
+  return request({
+    url: '/warehouseBusiness/containerPort/selectBasicInformation',
+    method: 'get',
+  })
+}

+ 7 - 3
src/views/finance/applyForInvoice/feeDetail/index.vue

@@ -260,7 +260,7 @@
             size="mini"
             type="text"
             icon="el-icon-delete"
-            @click.native.prevent="deleteRow(scope.$index, invoiceList)"
+            @click.native.prevent="deleteRow(scope.$index, feeList)"
           >删除
           </el-button>
         </template>
@@ -328,7 +328,7 @@
             size="mini"
             type="text"
             icon="el-icon-delete"
-            @click.native.prevent="deleteRow(scope.$index, invoiceList)"
+            @click.native.prevent="deleteRoww(scope.$index, invoiceList)"
           >删除
           </el-button>
         </template>
@@ -783,7 +783,8 @@ export default {
         fSrcid:fSrcid,
         fSrcpid:fSrcpid,
         fCorpid:this.queryParams.fCorpidName,
-        billsType:this.queryParams.fBilltype
+        billsType:this.queryParams.fBilltype,
+        fId:this.queryParams.fId
       }
       this.$router.push({
         path:'/finance/generalLedger',
@@ -996,6 +997,9 @@ export default {
     deleteRow(index, rows) {
       rows.splice(index, 1);
     },
+    deleteRoww(index, rows) {
+      rows.splice(index, 1);
+    },
 
   }
 }

+ 13 - 50
src/views/finance/applyForInvoice/invoiceInformation/index.vue

@@ -316,7 +316,7 @@
 </template>
 
 <script>
-import { listCorps } from "@/api/finance/applyForInvoice/invoiceInformation";
+import { listCorps,listDelete } from "@/api/finance/applyForInvoice/invoiceInformation";
 import { listFees } from "@/api/basicdata/fees";
 import AddOrUpdate from "@/views/viewApproval";
 import ApprovalComments from "@/views/startApproval";
@@ -528,7 +528,7 @@ export default {
     this.getRow();
   },
   activated() {
-
+    this.getList();
   },
   methods: {
 
@@ -766,55 +766,18 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const fIds = row.fId || this.ids;
-      let tips = "";
-      if (Cookies.get("sysType") == 1) {
-        //大木
-        delCharge_s(fIds).then((data) => {
-          switch (data.msg) {
-            case "0": {
-              this.$message.error("当前数据已被其他操作员操作请刷新页面");
-              break;
-            }
-            case "1": {
-              tips = "当前主表有数据从表无数据是否删除";
-              this.delete_S(fIds, tips);
-              break;
-            }
-            case "2": {
-              tips = "当前主表有数据从表有数据是否删除";
-              this.delete_S(fIds, tips);
-              break;
-            }
-            default: {
-              return this.$message.error("未知错误,无状态");
-            }
-          }
-        });
-      } else if (Cookies.get("sysType") == 2) {
-        // 车队;
-        delCharge_ss(fIds).then((data) => {
-          switch (data.msg) {
-            case "0": {
-              this.$message.error("当前数据已被其他操作员操作请刷新页面");
-              break;
-            }
-            case "1": {
-              tips = "当前主表有数据从表无数据是否删除";
-              this.delete_S(fIds, tips);
-              break;
-            }
-            case "2": {
-              tips = "当前主表有数据从表有数据是否删除";
-              this.delete_S(fIds, tips);
-              break;
-            }
-            default: {
-              return this.$message.error("未知错误,无状态");
-            }
-          }
+      this.$confirm( '是否删除此条数据',"警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+      .then(function(){
+        return listDelete(row.fId);
+      })
+        .then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
         });
-      }
     },
     delete_S(fIds, tips) {
       this.$confirm(tips, "警告", {

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 403 - 364
src/views/finance/charge/index.vue


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 399 - 358
src/views/finance/contrast/index.vue


+ 105 - 44
src/views/finance/generalLedger/index.vue

@@ -471,6 +471,8 @@ import Vue from "vue";
 import Cookies from "js-cookie";
 import { addSet, select } from "@/api/system/set";
 import { getVesselName, listChange } from '@/api/finance/applyForInvoice/feeDetail'
+import { MessageBox } from 'element-ui'
+import store from '@/store'
 Vue.directive("dialogDrag", {
   bind(el, binding, vnode, oldVnode) {
     const dialogHeaderEl = el.querySelector(".el-dialog__header");
@@ -787,30 +789,35 @@ export default {
     // this.getRow();
   },
   activated() {
-    this.doNot = true
-    listCorps().then((response) => {
-      this.fMblnoOptions = response;
-      let data = JSON.parse(this.$route.query.data)
-      this.queryParams.fCorpid = data.fCorpid
-      this.queryParams.fSrcidList = data.fSrcid
-      this.queryParams.fSrcpidList = data.fSrcpid
-      this.queryParams.billsType = data.billsType
-      let list = this.queryParams
-      console.log(this.fMblnoOptions)
-      for (let item in this.fMblnoOptions){
-        console.log(data.fCorpid)
-        if (data.fCorpid == this.fMblnoOptions[item].fName){
-          list.fCorpid = this.fMblnoOptions[item].fId
-          console.log('1111')
-          getcontrastList(list).then(response=>{
-            console.log(response)
-            if(response.rows){
-              this.chargeList = response.rows
-            }
-          })
+    if(this.$route.query.data){
+      listCorps().then((response) => {
+        this.fMblnoOptions = response;
+        let data = JSON.parse(this.$route.query.data)
+        let queryParams = {}
+        this.queryParams.fCorpid = data.fCorpid
+        queryParams.fCorpid = data.fCorpid
+        queryParams.fCorpid = data.fCorpid
+        queryParams.fSrcidList = data.fSrcid
+        queryParams.fSrcpidList = data.fSrcpid
+        queryParams.billsType = data.billsType
+        this.queryParams.fId = data.fId
+        // let list = queryParams
+        for (let item in this.fMblnoOptions){
+          if (data.fCorpid == this.fMblnoOptions[item].fName){
+            this.doNot = true
+            queryParams.fCorpid = this.fMblnoOptions[item].fId
+            this.queryParams.fCorpid = this.fMblnoOptions[item].fId
+            console.log(queryParams.fCorpid)
+            getcontrastList(queryParams).then(response=>{
+              console.log(response)
+              if(response.rows){
+                this.chargeList = response.rows
+              }
+            })
+          }
         }
-      }
-    });
+      });
+    }
   },
   methods: {
     //提交按钮
@@ -828,34 +835,84 @@ export default {
           }
           if(value === 1 ){
             for(let item in this.fMblnoOptions){
-              this.queryParams.fCtrlcorpid = this.fMblnoOptions[item].fName
+              if(this.queryParams.fCtrlcorpid == this.fMblnoOptions[item].fId){
+                this.queryParams.fCtrlcorpid = this.fMblnoOptions[item].fName
+              }
+              console.log(this.fMblnoOptions[item].fName)
+            }
+          }
+          let aug = []
+          let bug = []
+          for (let item in this.selection) {
+            for (let li in this.selection) {
+              if (item != li) {
+                if (this.selection[item].fSrcid == this.selection[li].fSrcid) {
+                  console.log(this.selection[item], this.selection[li])
+                  aug.push({
+                    index: this.selection[item].fSrcid,
+                    id: item,
+                    index2: this.selection[li].fSrcid,
+                    id2: li
+                  })
+                }
+              }
             }
           }
-          this.queryParams.tMblno = this.queryParams.fMblno
-          let formData = new window.FormData();
-          formData.append('tFee',JSON.stringify(this.queryParams))
-          formData.append('tFeeDo',JSON.stringify(this.chargeList))
-          formData.append('billsType',this.queryParams.billsType)
-          formData.append('tFeeInvoice','')
-          addPreservation(formData).then(response=>{
-            this.$message.success("操作成功")
-            if(this.queryParams.billsType == 'ApplyFP'){
-              this.$router.push({path:'/finance/invoiceInformation'})
 
-            }else if(this.queryParams.billsType == 'DZ'){
-              this.$router.push({path:'/finance/contrast'})
+          console.log(aug)
+          let add =''
+          let addold =''
+          for(let li in aug){
+            for(let item in aug)
+            if(aug[item].id == aug[li].id2 && aug[item].id2 == aug[li].id){
+              aug.splice(item, 1);
+            }
+          }
+          if(aug.length != 0){
+            for (let item in aug){
+              addold = parseInt(aug[item].id2)+1
+              add += Number(aug[item].id)+1 +'行、'+ addold + '行/'
+            }
+            MessageBox.confirm("第" + add + "重复,请重新选择",{
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+              }
+            ).then(() => {
+              return
+            })
+          }else {
+            this.queryParams.tMblno = this.queryParams.fMblno
+            for(let item in this.fMblnoOptions){
+              if(this.queryParams.fToCorpid == this.fMblnoOptions[item].fId){
+                this.queryParams.fToCorpid = this.fMblnoOptions[item].fName
+              }
+            }
+            let formData = new window.FormData();
+            formData.append('tFee',JSON.stringify(this.queryParams))
+            formData.append('tFeeDo',JSON.stringify(this.selection))
+            formData.append('billsType',this.queryParams.billsType)
+            formData.append('tFeeInvoice','')
+            addPreservation(formData).then(response=>{
+              this.$message.success("操作成功")
+              if(this.queryParams.billsType == 'ApplyFP'){
+                this.$router.push({path:'/finance/invoiceInformation'})
 
-            }else if(this.queryParams.billsType == 'SF'){
-              this.$router.push({path:'/finance/charge'})
+              }else if(this.queryParams.billsType == 'DZ'){
+                this.$router.push({path:'/finance/contrast'})
 
-            }else if(this.queryParams.billsType == 'FF'){
-              this.$router.push({path:'/finance/payment'})
+              }else if(this.queryParams.billsType == 'SF'){
+                this.$router.push({path:'/finance/charge'})
 
-            }else if(this.queryParams.billsType == 'invoiceFP'){
-              this.$router.push({path:'/finance/controlOverInvoices/invoice'})
+              }else if(this.queryParams.billsType == 'FF'){
+                this.$router.push({path:'/finance/payment'})
 
-            }
-          })
+              }else if(this.queryParams.billsType == 'invoiceFP'){
+                this.$router.push({path:'/finance/controlOverInvoices/invoice'})
+
+              }
+            })
+          }
         }
       })
     },
@@ -1060,7 +1117,11 @@ export default {
     getList() {
       this.loading = true;
       getcontrastList(this.queryParams).then((response) => {
+        if(this.doNot == true){
+          this.chargeList = this.chargeList.concat(response.rows)
+        }else {
           this.chargeList = response.rows;
+        }
           this.total = response.total;
           this.loading = false;
         });

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 985 - 314
src/views/finance/payment/index.vue


+ 4 - 4
src/views/index.vue

@@ -174,7 +174,7 @@
                   <span v-else-if="item.refno2 === 'FF'">付费</span>
                   <span v-else-if="item.refno2 === 'JSCCF'">计算仓储费</span>
                 </div>
-                <div class="home_stock_table" @click="approval(item.refno2)">
+                <div class="home_stock_table" @click="approval(item)">
                   查看详情
                 </div>
               </div>
@@ -699,7 +699,7 @@ export default {
     },
     //跳转审批页面
     approval(row) {
-      switch (row) {
+      switch (row.refno2) {
         case "SJRK": {
           this.$router.push({
             path: "/business/inStock",
@@ -1331,8 +1331,8 @@ export default {
   align-self: center;
   p{
   display: inline-block;
-  white-space: nowrap; 
-  width: 100%; 
+  white-space: nowrap;
+  width: 100%;
   overflow: hidden;
   text-overflow:ellipsis;
   }

+ 918 - 0
src/views/jiGang/index.vue

@@ -0,0 +1,918 @@
+<template>
+  <div class="app-container">
+    <div v-show="jiGang == false">
+      <el-form
+        :model="query"
+        ref="queryForm"
+        :inline="true"
+        label-width="88px"
+      >
+        <el-row>
+          <el-form-item label="提单号" prop="fMblno">
+            <el-input
+              v-model="query.fMblno"
+              placeholder="请输入提单号"
+              clearable
+              size="small"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button
+              type="cyan"
+              icon="el-icon-search"
+              size="mini"
+              @click="getList"
+            >搜索
+            </el-button
+            >
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+            >重置
+            </el-button
+            >
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAdd()"
+            v-hasPermi="['warehouseBusiness:containerPort:add']"
+          >新增
+          </el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="success"
+            icon="el-icon-edit"
+            size="mini"
+            :disabled="single"
+            @click="handleUpdate"
+            v-hasPermi="['agreement:agreementTask:edit']"
+          >修改
+          </el-button>
+        </el-col>
+        <!--      <el-col :span="1.5">-->
+        <!--        <el-button-->
+        <!--          type="danger"-->
+        <!--          icon="el-icon-delete"-->
+        <!--          size="mini"-->
+        <!--          :disabled="multiple"-->
+        <!--          @click="handleDelete"-->
+        <!--          v-hasPermi="['agreement:agreementTask:remove']"-->
+        <!--        >删除-->
+        <!--        </el-button>-->
+        <!--      </el-col>-->
+        <!--    <el-col :span="1.5">-->
+        <!--      <el-button-->
+        <!--        type="info"-->
+        <!--        icon="el-icon-download"-->
+        <!--        size="mini"-->
+        <!--        :disabled="single"-->
+        <!--        @click="handleUpdate(null, 2)"-->
+        <!--        v-hasPermi="['agreement:agreementStorage:export']"-->
+        <!--      >复制新增-->
+        <!--      </el-button>-->
+        <!--    </el-col>-->
+        <right-toolbar
+          :showSearch.sync="showSearch"
+          @queryTable="getList"
+        ></right-toolbar>
+      </el-row>
+      <el-table
+        v-loading="loading"
+        :data="agreementList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55" align="center"/>
+        <el-table-column type="index" label="行号" align="center" fixed width="60"/>
+        <el-table-column
+          label="日期"
+          sortable
+          align="center"
+          prop="fBsdate"
+          fixed
+          show-overflow-tooltip
+        />
+        <el-table-column
+          label="提单号"
+          sortable
+          align="center"
+          prop="fMblno"
+          fixed
+          show-overflow-tooltip
+        />
+        <el-table-column
+          label="制单人"
+          sortable
+          align="center"
+          prop="createBy"
+          fixed
+          show-overflow-tooltip
+        />
+        <el-table-column
+          label="状态"
+          sortable
+          align="center"
+          prop="fBillstatus"
+          fixed
+          show-overflow-tooltip
+        />
+        <el-table-column
+          label="操作"
+          align="center"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="handleUpdate(scope.row)"
+            >查看
+            </el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+              v-if="scope.row.fBillstatus === '暂存'"
+              v-hasPermi="['warehouseBusiness:containerPort:edit']"
+            >修改
+            </el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-if="scope.row.fBillstatus === '暂存'"
+              v-hasPermi="['warehouseBusiness:containerPort:remove']"
+            >删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div style="padding-top: 10px;float: right;padding-bottom: 20px">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :page-sizes="[10, 20, 30, 40]"
+          background
+          layout="sizes, prev, pager, next"
+          :total="total">
+        </el-pagination>
+      </div>
+    </div>
+    <div v-show="jiGang == true">
+      <div style="margin-bottom: 20px;">
+        <el-button round icon="el-icon-arrow-left" @click="open" size="small">返回列表</el-button>
+        <el-button type="primary" round size="small" @click="submitForm" icon="el-icon-edit">保 存</el-button>
+        <el-button type="success" round size="small" @click="submit" icon="el-icon-check" :disabled="disabled">提 交</el-button>
+        <el-button type="danger" round size="small" icon="el-icon-close" @click="cancellation"
+                   v-if="queryParams.fBillstatus >2">撤销提交
+        </el-button>
+      </div>
+      <el-form
+        :model="queryParams"
+        ref="rules"
+        :rules="rules"
+        :inline="true"
+        label-width="88px"
+      >
+        <el-row>
+          <el-form-item label="日期" prop="fBsdate">
+            <el-date-picker
+              v-model="queryParams.fBsdate"
+              type="date"
+              value-format="yyyy-MM-dd"
+              :disabled="disabled"
+              clearable
+              size="small"
+              placeholder="选择日期"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="提单号" prop="fMblno">
+            <el-input
+              v-model="queryParams.fMblno"
+              placeholder="请输入提单号"
+              :disabled="disabled"
+              clearable
+              size="small"
+            />
+          </el-form-item>
+        </el-row>
+      </el-form>
+
+      <h3><i class="el-icon-circle-plus"></i>收款信息</h3>
+      <div
+        class="dialogTableTitle flex a-center jlr"
+        style="
+              display: flex;
+              justify-content: space-between;
+              align-items: center;
+              margin: 10px 0;
+            "
+      >
+        <div>
+          <el-button
+            size="small"
+            type="primary"
+            @click.prevent="addCollection()"
+            :disabled="disabled"
+          >新行
+          </el-button>
+          <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
+          >删除
+        </el-button> -->
+        </div>
+      </div>
+      <el-table
+        :data="warehouseDrList"
+        ref="table"
+        tooltip-effect="dark"
+        border
+        stripe
+        show-summary
+        :disabled="disabled"
+        :summary-method="warehouseDrSummaries"
+      >
+        <el-table-column type="selection" width="55" align="center"/>
+        <el-table-column label="序号" type="index" width="80">
+        </el-table-column>
+        <el-table-column
+          prop="fCorpid"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="客户名称"
+        >
+          <template slot-scope="scope">
+            <el-select
+              v-model="scope.row.fCorpid"
+              filterable
+              remote
+              :remote-method="corpsRemoteMethod"
+              placeholder="客户名称"
+              :disabled="disabled"
+            >
+              <el-option
+                v-for="(dict, index) in KHblnoOptions"
+                :key="index.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fFeeunitid"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="码头"
+        >
+          <template slot-scope="scope">
+            <el-select
+              style="width: 80%"
+              v-model="scope.row.fFeeunitid"
+              filterable
+              :disabled="disabled"
+            >
+              <el-option
+                v-for="(dict, index) in businessTypeOption"
+                :key="index.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+
+
+        <el-table-column
+          prop="fFeeid"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="费用名称"
+        >
+          <template slot-scope="scope">
+            <el-select
+              style="width: 80%"
+              v-model="scope.row.fFeeid"
+              filterable
+              :disabled="disabled"
+            >
+              <el-option
+                v-for="(dict, index) in fFeeid_s"
+                :key="index.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          prop="fInventoryDays"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="箱型"
+        >
+          <template slot-scope="scope">
+            <el-select
+              v-model="scope.row.fInventoryDays"
+              placeholder="请选择箱型"
+              clearable
+              :disabled="disabled"
+            >
+              <el-option
+                v-for="(dict, index) in jFeetunitOptions"
+                :key="index.fId"
+                :label="dict.fNo"
+                :value="dict.fId"
+              />
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fQty"
+          header-align="center"
+          align="center"
+          width="130px"
+          label="箱量"
+        >
+          <template slot-scope="scope">
+            <el-input
+              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+              v-model="scope.row.fQty"
+              placeholder="箱量"
+              @input="calculation(scope.row)"
+              show-word-limit
+              :disabled="disabled"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fUnitprice"
+          header-align="center"
+          align="center"
+          width="130px"
+          label="单价"
+        >
+          <template slot-scope="scope">
+            <el-input
+              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+              v-model="scope.row.fUnitprice"
+              placeholder="单价"
+              show-word-limit
+              @input="calculation(scope.row)"
+              :disabled="disabled"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fAmt"
+          header-align="center"
+          align="center"
+          width="130px"
+          label="金额"
+        >
+          <template slot-scope="scope">
+            <el-input
+              :disabled="disabled"
+              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+              v-model="scope.row.fAmt"
+              placeholder="金额"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          header-align="center"
+          align="center"
+          label="操作"
+        >
+          <template slot-scope="scope">
+            <el-button
+              @click.native.prevent="
+                    deleteRow(scope.$index, warehouseDrList)
+                  "
+              size="small"
+              :disabled="disabled"
+            >移除
+            </el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <h3><i class="el-icon-remove"></i>付款信息</h3>
+      <div
+        class="dialogTableTitle flex a-center jlr"
+        style="
+              display: flex;
+              justify-content: space-between;
+              align-items: center;
+              margin: 10px 0;
+            "
+      >
+        <div>
+          <el-button
+            type="primary"
+            @click.prevent="addpayment()"
+            size="small"
+            :disabled="disabled"
+          >新行
+          </el-button>
+        </div>
+      </div>
+      <el-table
+        :data="warehouseCrList"
+        :disabled="disabled"
+        ref="table"
+        tooltip-effect="dark"
+        border
+        stripe
+        show-summary
+        :summary-method="warehouseDrSummaries"
+      >
+        <el-table-column type="selection" width="55" align="center"/>
+        <el-table-column label="序号" type="index" width="80">
+        </el-table-column>
+        <el-table-column
+          prop="fCorpid"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="客户名称"
+        >
+          <template slot-scope="scope">
+            <el-select
+              v-model="scope.row.fCorpid"
+              filterable
+              :disabled="disabled"
+              remote
+              :remote-method="corpsRemoteMethod"
+              placeholder="客户名称"
+            >
+              <el-option
+                v-for="(dict, index) in blnoOptions"
+                :key="index.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fFeeunitid"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="码头"
+        >
+          <template slot-scope="scope">
+            <el-select
+              style="width: 80%"
+              v-model="scope.row.fFeeunitid"
+              filterable
+              :disabled="disabled"
+            >
+              <el-option
+                v-for="(dict, index) in businessTypeOption"
+                :key="index.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fFeeid"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="费用名称"
+        >
+          <template slot-scope="scope">
+            <el-select
+              style="width: 80%"
+              v-model="scope.row.fFeeid"
+              filterable
+              :disabled="disabled"
+            >
+              <el-option
+                v-for="(dict, index) in fFeeid_s"
+                :key="index.fId"
+                :label="dict.fName"
+                :value="dict.fId"
+              ></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fInventoryDays"
+          header-align="center"
+          align="center"
+          width="180px"
+          label="箱型"
+        >
+          <template slot-scope="scope">
+            <el-select
+              v-model="scope.row.fInventoryDays"
+              placeholder="请选择箱型"
+              :disabled="disabled"
+              clearable
+            >
+              <el-option
+                v-for="(dict, index) in jFeetunitOptions"
+                :key="index.fId"
+                :label="dict.fNo"
+                :value="dict.fId"
+              />
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fQty"
+          header-align="center"
+          align="center"
+          width="130px"
+          label="箱量"
+        >
+          <template slot-scope="scope">
+            <el-input
+              :disabled="disabled"
+              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+              v-model="scope.row.fQty"
+              placeholder="箱量"
+              @input="calculation(scope.row)"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fUnitprice"
+          header-align="center"
+          align="center"
+          width="130px"
+          label="单价"
+        >
+          <template slot-scope="scope">
+            <el-input
+              :disabled="disabled"
+              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+              v-model="scope.row.fUnitprice"
+              @input="calculation(scope.row)"
+              placeholder="单价"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="fAmt"
+          header-align="center"
+          align="center"
+          width="130px"
+          label="金额"
+        >
+          <template slot-scope="scope">
+            <el-input
+              :disabled="disabled"
+              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+              v-model="scope.row.fAmt"
+              placeholder="金额"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column
+          header-align="center"
+          align="center"
+          label="操作"
+        >
+          <template slot-scope="scope">
+            <!-- <el-button size="small">审核费用</el-button> -->
+            <el-button
+              @click.native.prevent="
+                    deleteRoww(scope.$index, warehouseCrList)
+                  "
+              size="small"
+              :disabled="disabled"
+            >移除
+            </el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </div>
+</template>
+
+<script>
+import {
+  listCorps,
+  preservation,
+  submit,
+  allInformation,
+  single,
+  singleDeletion,
+  listCorps_s,
+  revokeContainerPort
+} from '@/api/jiGang'
+import {listFees} from '@/api/basicdata/fees'
+
+export default {
+  name: 'jiGang',
+  data() {
+    return {
+      rules:{
+        fBsdate:[{required: true, message: ' ', trigger: 'blur'}],
+        fMblno:[{required: true, message: ' ', trigger: 'blur'}]
+      },
+      showSearch: true,
+      jiGang: false,
+      disabled: false,
+      agreementList: [],
+      warehouseCrList: [],
+      fCNameOptions: [],
+      fFeeid_s: [],
+      fStltypeOptions: [],
+      jFeetunitOptions: [],
+      KHblnoOptions: [],
+      browseStatus: false,
+      fDNameOptions: [],
+      warehouseDrList: [],
+      businessTypeOption: [],
+      loading: true,
+      blnoOptions: [],
+      single: true,
+      total: 0,
+      query: {
+        pageNum: 1,
+        pageSize: 10
+      },
+      selection: [],
+      queryParams: {}
+    }
+  },
+  created() {
+    allInformation().then(res => {
+      console.log(res)
+      if (res.data.corpList) {
+        this.KHblnoOptions = res.data.corpList
+      }
+      if (res.data.pierList) {
+        this.businessTypeOption = res.data.pierList
+      }
+      if (res.data.cntrList) {
+        this.jFeetunitOptions = res.data.cntrList
+      }
+      if (res.data.fees) {
+        this.fFeeid_s = res.data.fees
+      }
+    })
+    this.getList()
+  },
+  methods: {
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+      this.query.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.query.pageNum = val
+      this.getList()
+    },
+    getList() {
+      listCorps_s(this.query).then(res => {
+        this.total = res.total
+        console.log(res)
+        this.loading = false
+        this.agreementList = res.rows
+      })
+    },
+    corpsRemoteMethod(name) {
+      if (name == null || name === '') {
+        return false
+      }
+      let queryParams = {pageNum: 1, fName: name, type: 1}
+      listCorps(queryParams).then((response) => {
+        console.log(response)
+        this.fMblnoOptions = response.rows
+        this.blnoOptions = response.rows
+      })
+    },
+    changeFeeId(row) {
+      for (let li in this.fWbuOptions) {
+        if (row.fFeeid === this.fWbuOptions[li].fId) {
+          this.$set(row, 'fFeeunitid', this.fWbuOptions[li].fFeeunitid + '')
+          this.changeFeeUnit(row)
+          break
+        }
+      }
+    },
+    resetQuery() {
+      this.query = {
+        pageNum: 1,
+        pageSize: 10
+      }
+    },
+    open() {
+      this.$confirm('是否确定返回列表?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.jiGang = false
+      }).catch(() => {
+      })
+    },
+    handleSelectionChange(selection) {
+      console.log(selection)
+      this.selection = selection
+      if (selection.length === 1) {
+        this.single = false
+      } else {
+        this.single = true
+      }
+    },
+    handleUpdate(row) {
+      let fId
+      if (this.selection.length == 1) {
+        fId = this.selection[0].fId
+      } else {
+        fId = row.fId
+      }
+      single(fId).then(res => {
+        if (res.code === 200) {
+          this.jiGang = true
+          this.queryParams = res.data.warehouseBills
+          this.warehouseDrList = res.data.feesDrList
+          this.warehouseCrList = res.data.feesCrList
+          for (let item in this.warehouseDrList){
+            this.warehouseDrList[item].fFeeunitid = this.warehouseDrList[item].fFeeunitid + ''
+          }
+          for (let item in this.warehouseCrList){
+            this.warehouseCrList[item].fFeeunitid = this.warehouseCrList[item].fFeeunitid + ''
+          }
+          if (this.queryParams.fBillstatus !== 2) {
+            this.disabled = true
+          } else {
+            this.disabled = false
+          }
+        }
+      })
+    },
+    handleDelete(row) {
+      singleDeletion(row.fId).then(res => {
+        console.log(res)
+        if (res.code === 200){
+          this.$message.success(res.msg);
+          this.getList()
+        }
+      })
+    },
+    handleAdd() {
+      this.jiGang = true
+      this.disabled = false
+      this.queryParams = {}
+      this.warehouseDrList = []
+      this.warehouseCrList = []
+    },
+    addpayment() {
+      this.warehouseCrList.push({
+        fCorpid: '',
+        fFeeunitid: '',
+        fInventoryDays: '',
+        fQty: '',
+        fUnitprice: '',
+        fAmt: '',
+        fFeeid: ''
+      })
+      this.fWbuOptions = []
+      let queryParams = {pageNum: 1, fDc: 'C'}
+      listFees(queryParams).then((response) => {
+        this.fCNameOptions = response.rows
+      })
+    },
+    deleteRoww(index, rows) {
+      rows.splice(index, 1)
+    },
+    deleteRow(index, rows) {
+      rows.splice(index, 1)
+    },
+    submitForm() {
+      this.$refs["rules"].validate((valid) => {
+        if (valid) {
+          let formDatae = new window.FormData()
+          formDatae.append('warehouseBills', JSON.stringify(this.queryParams))
+          formDatae.append('feesDr', JSON.stringify(this.warehouseDrList))
+          formDatae.append('feesCr', JSON.stringify(this.warehouseCrList))
+          preservation(formDatae).then(res => {
+            console.log(res)
+            if (res.code === 200) {
+              this.$message.success('保存成功');
+              this.getList()
+              this.jiGang = false
+            }
+          })
+        }
+      });
+    },
+    submit() {
+      this.$refs["rules"].validate((valid) => {
+        if (valid) {
+          let formDatae = new window.FormData()
+          formDatae.append('warehouseBills', JSON.stringify(this.queryParams))
+          formDatae.append('feesDr', JSON.stringify(this.warehouseDrList))
+          formDatae.append('feesCr', JSON.stringify(this.warehouseCrList))
+          submit(formDatae).then(res => {
+            console.log(res)
+            if (res.code === 200) {
+              this.$message.success('提交成功');
+              this.getList()
+              this.jiGang = false
+            }
+          })
+        }
+      });
+    },
+    cancellation() {
+      // let formDatae = new window.FormData()
+      // formDatae.append('warehouseBills', JSON.stringify(this.queryParams))
+      // formDatae.append('feesDr', JSON.stringify(this.warehouseDrList))
+      // formDatae.append('feesCr', JSON.stringify(this.warehouseCrList))
+      revokeContainerPort(this.queryParams.fId).then(res => {
+        console.log(res)
+        if (res.code === 200) {
+          this.$message.success('撤销成功');
+          this.getList()
+          this.jiGang = false
+        }
+      })
+    },
+    calculation(row) {
+      console.log(row)
+      if (row.fQty && row.fUnitprice) {
+        row.fAmt = Number(row.fQty) * Number(row.fUnitprice)
+      }
+    },
+    addCollection() {
+      this.warehouseDrList.push({
+        fCorpid: '',
+        fFeeunitid: '',
+        fInventoryDays: '',
+        fQty: '',
+        fUnitprice: '',
+        fAmt: '',
+        fFeeid: ''
+      })
+      this.fWbuOptions = []
+      let queryParams = {pageNum: 1, fDc: 'D'}
+      listFees(queryParams).then((response) => {
+        this.fDNameOptions = response.rows
+      })
+    },
+    // 付款合计
+    warehouseDrSummaries(param) {
+      const {columns, data} = param
+      const sums = []
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计'
+          return
+        }
+        const values = data.map((item) => Number(item[column.property]))
+        if (
+          column.property === 'fUnitprice' ||
+          column.property === 'fAmount' ||
+          column.property === 'fQty' ||
+          column.property === 'fQty'
+        ) {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+            } else {
+              return prev
+            }
+          }, 0)
+          sums[index] = sums[index].toFixed(2)
+        }
+      })
+      return sums
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 14 - 0
src/views/track/cabinet/index.vue

@@ -764,6 +764,20 @@ export default {
           checked: 0,
           width: 100,
         },
+        {
+          surface: "37",
+          label: "mBillNo",
+          name: "主单号",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "38",
+          label: "billKind",
+          name: "单据类型",
+          checked: 0,
+          width: 100,
+        },
       ],
       allCheck: false,
       title: "",

+ 1 - 1
src/views/warehouseBusiness/cargoClearance/index.vue

@@ -4039,7 +4039,7 @@ export default {
     },
     Jump() {
       this.approval = this.$route.query.data;
-      if (this.approval) {
+      if (this.approval && this.approval !== "{}") {
         let queryParams = { pageNum: 1, fDc: "C" };
         listFees(queryParams).then((response) => {
           this.fCNameOptions = response.rows;

+ 2 - 2
src/views/warehouseBusiness/goodsTransfer/index.vue

@@ -2682,7 +2682,7 @@ export default {
           index === 13 ||
           index === 11 ||
           index === 12 ||
-          index === 14 || 
+          index === 14 ||
           index === 15
         ) {
           const values = data.map((item) => Number(item[column.property]));
@@ -2740,7 +2740,7 @@ export default {
     },
     Jump() {
       this.approval = this.$route.query.data;
-      if (this.approval) {
+      if (this.approval && this.approval !== "{}") {
         this.getTreeselect();
         this.reset();
         this.colseButton = false;

+ 1 - 1
src/views/warehouseBusiness/inStock/index.vue

@@ -4633,7 +4633,7 @@ export default {
     //首页审批跳转
     adoPt() {
       this.approval = this.$route.query.data;
-      if (this.approval) {
+      if (this.approval && this.approval !== "{}") {
         let queryParams = { pageNum: 1, fDc: "C" };
         listFees(queryParams).then((response) => {
           this.fCNameOptions = response.rows;

+ 1 - 1
src/views/warehouseBusiness/outStock/index.vue

@@ -4586,7 +4586,7 @@ export default {
     //审批页面跳转
     adoPt() {
       this.approval = this.$route.query.data;
-      if (this.approval) {
+      if (this.approval && this.approval !== "{}") {
         let queryParams = { pageNum: 1, fDc: "C" };
         listFees(queryParams).then((response) => {
           this.fCNameOptions = response.rows;

+ 1 - 1
src/views/warehouseBusiness/stockTransfer/index.vue

@@ -4232,7 +4232,7 @@ export default {
     },
     Jump() {
       this.approval = this.$route.query.data;
-      if (this.approval) {
+      if (this.approval && this.approval !== "{}") {
         let queryParams = { pageNum: 1, fDc: "C" };
         listFees(queryParams).then((response) => {
           this.fCNameOptions = response.rows;

+ 2 - 2
vue.config.js

@@ -36,9 +36,9 @@ module.exports = {
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://192.168.137.1:9010`,
         // target: `http://engineering.echepei.com:9010/`,
-        //  target: `http://test.tms.tubaosoft.com:9010/`,
+         target: `http://test.tms.tubaosoft.com:9010/`,
         //  target: `https://test.fms.tubaosoft.com/prod-api/`,
-         target: `http://192.168.1.143:9010`,
+        //  target: `http://192.168.1.143:9010`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio