소스 검색

发票申请修改

wengyuwen 4 년 전
부모
커밋
85c0659b0e

+ 15 - 0
src/api/finance/applyForInvoice/feeDetail.js

@@ -46,3 +46,18 @@ export function getVoyageName(query) {
     params: query
   })
 }
+//查看、修改
+export function listChange(fId) {
+  return request({
+    url: '/financial/invoiceApplyFor/' + fId,
+    method: 'get'
+  })
+}
+//提交
+export function addPreservation(data) {
+  return request({
+    url: '/financial/invoiceApplyFor/add',
+    method: 'post',
+    data: data
+  })
+}

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

@@ -7,3 +7,4 @@ export function listCorps(query) {
     params: query
   })
 }
+

+ 208 - 469
src/views/finance/applyForInvoice/feeDetail/index.vue

@@ -4,90 +4,96 @@
       :model="queryParams"
       :inline="true"
       v-show="showSearch"
-      label-width="100px"
+      label-width="120px"
     >
-      <el-form-item label="申请编号" prop="fCtrlcorpid">
+      <el-form-item label="申请编号" prop="fBillno">
         <el-input
-          :disabled="doNot"
-          v-model="queryParams.fCtrlcorpid"
-          placeholder="请输入货权方"
-          clearable
+          v-model="queryParams.fBillno"
+          disabled
           size="small"
           style="width: 200px"
-        />
+        >
+        </el-input>
       </el-form-item>
-      <el-form-item label="客户名称" prop="fCorpid">
-        <el-input
-          :disabled="doNot"
-          v-model="queryParams.fCorpid"
+      <el-form-item label="客户名称" prop="fCtrlcorpid">
+        <el-select
+          v-model="queryParams.fCtrlcorpid"
           filterable
           remote
           clearable
+          disabled
           size="small"
           style="width: 200px"
-          placeholder="请输入结算单位"
+          :remote-method="corpsRemoteMethod"
         >
-        </el-input>
+          <el-option
+            v-for="(dict, index) in fMblnoOptions"
+            :key="index.fId"
+            :label="dict.fName"
+            :value="dict.fId"
+          ></el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="开票单位" prop="fAccbilldate">
-        <el-date-picker
+      <el-form-item label="开票单位" prop="fCorpidName">
+        <el-select
+          v-model="queryParams.fCorpidName"
+          filterable
+          remote
           clearable
-          :disabled="doNot"
+          disabled
           size="small"
           style="width: 200px"
-          v-model="queryParams.fAccbilldate"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择账单日期"
+          :remote-method="corpsRemoteMethod"
         >
-        </el-date-picker>
+          <el-option
+            v-for="(dict, index) in fMblnoOptions"
+            :key="index.fId"
+            :label="dict.fName"
+            :value="dict.fId"
+          ></el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="申请人" prop="fBillno">
+      <el-form-item label="申请人" prop="createBy">
         <el-input
-          :disabled="doNot"
-          v-model="queryParams.fBillno"
-          placeholder="请输入系统编号"
+          disabled
+          v-model="queryParams.createBy"
           clearable
           style="width: 200px"
           size="small"
         />
       </el-form-item>
-      <el-form-item label="金额合计" prop="chargingMethod">
+      <el-form-item label="金额合计(元)" prop="fAmtdr">
         <el-input
-          :disabled="doNot"
-          v-model="queryParams.chargingMethod"
-          placeholder="请选择收费方式"
+          disabled
+          v-model="queryParams.fAmtdr"
           clearable
           style="width: 200px"
           size="small"
         >
         </el-input>
       </el-form-item>
-      <el-form-item label="申请日期" prop="bank">
+      <el-form-item label="申请日期" prop="createTime">
         <el-input
-          :disabled="doNot"
-          v-model="queryParams.bank"
-          placeholder="请输入收款银行"
+          disabled
+          v-model="queryParams.createTime"
           clearable
           size="small"
           style="width: 200px"
         />
       </el-form-item>
-      <el-form-item label="税率" prop="invoiceNo">
+      <el-form-item label="税率(%)" prop="fTaxrate">
         <el-input
-          :disabled="doNot"
-          v-model="queryParams.invoiceNo"
-          placeholder="请输入发票号"
+          disabled
+          v-model="queryParams.fTaxrate"
           clearable
           size="small"
           style="width: 200px"
         />
       </el-form-item>
-      <el-form-item label="备注" prop="fRemarks">
+      <el-form-item label="备注" prop="remark">
         <el-input
-          :disabled="doNot"
-          v-model="queryParams.fRemarks"
-          placeholder="请输入备注"
+          disabled
+          v-model="queryParams.remark"
           clearable
           size="small"
           style="width: 200px"
@@ -108,7 +114,7 @@
       <div class="tabSetting">
         <right-toolbar
           :showSearch.sync="showSearch"
-          @queryTable="getList"
+
         ></right-toolbar>
         <div style="margin: 0 12px">
           <el-button
@@ -275,36 +281,41 @@
         :width="item.width"
         :prop="item.label"
         align="center"
-        :show-overflow-tooltip="true"
         sortable
         :fixed="item.fixed"
       >
         <template slot-scope="scope">
-          <el-select v-model="scope.row.fFeeName" v-if="item.label == 'fFeeName'">
+          <el-select v-model="scope.row.fFeeName" @change="changeId" v-if="item.label == 'fFeeName'">
               <el-option
-                v-for="(dict, index) in fDNameOptions"
-                :key="index.fId"
+                v-for="dict in fDNameOptions"
+                :key="dict.fId"
                 :label="dict.fName"
                 :value="dict.fId"
               ></el-option>
           </el-select>
           <el-input v-model="scope.row.fModel" v-if="item.label == 'fModel'"/>
-          <el-input v-model="scope.row.fSbuName" v-if="item.label == 'fSbuName'"/>
-          <el-input v-model="scope.row.fNumber" v-if="item.label == 'fNumber'"/>
-          <el-input v-model="scope.row.fUnitprice" v-if="item.label == 'fUnitprice'"/>
-          <el-input v-model="scope.row.fMoney" v-if="item.label == 'fMoney'"/>
-          <el-input v-model="scope.row.fTaxrate" v-if="item.label == 'fTaxrate'"/>
-          <el-input v-model="scope.row.fTax" v-if="item.label == 'fTax'"/>
-          <el-input v-model="scope.row.fAmount" v-if="item.label == 'fAmount'"/>
+          <el-select v-model="scope.row.fSbu" v-if="item.label == 'fSbu'">
+            <el-option
+              v-for="dict in unitOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"/>
+          </el-select>
+          <el-input v-model="scope.row.fNumber" @change="priceTotal" v-if="item.label == 'fNumber'"/>
+          <el-input v-model="scope.row.fUnitprice" @change="priceTotal" v-if="item.label == 'fUnitprice'"/>
+          <el-input v-model="scope.row.fMoney" disabled v-if="item.label == 'fMoney'"/>
+          <el-input v-model="scope.row.fTaxrate" @change="priceTotal" v-if="item.label == 'fTaxrate'"/>
+          <el-input v-model="scope.row.fTax" disabled v-if="item.label == 'fTax'"/>
+          <el-input v-model="scope.row.fAmount" disabled v-if="item.label == 'fAmount'"/>
           <el-select v-model="scope.row.fStatus" v-if="item.label == 'fStatus'">
             <el-option label="是" value="0"/>
             <el-option label="否" value="1"/>
           </el-select>
           <el-input v-model="scope.row.remarks" v-if="item.label == 'remarks'"/>
-          <el-input v-model="scope.row.createBy" v-if="item.label == 'createBy'"/>
-          <el-input v-model="scope.row.createTime" v-if="item.label == 'createTime'"/>
-          <el-input v-model="scope.row.updateBy" v-if="item.label ==  'updateBy' && scope.row.fStatus == '0'"/>
-          <el-input v-model="scope.row.updateTime" v-if="item.label == 'updateTime' && scope.row.fStatus == '0'"/>
+          <el-input v-model="scope.row.createBy" disabled v-if="item.label == 'createBy'"/>
+          <el-date-picker v-model="scope.row.createTime" style="width:100%" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-if="item.label == 'createTime'"/>
+          <el-input v-model="scope.row.updateBy" disabled v-if="item.label ==  'updateBy' && scope.row.fStatus == '0'"/>
+          <el-date-picker v-model="scope.row.updateTime" style="width:100%" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-if="item.label == 'updateTime' && scope.row.fStatus == '0'"/>
         </template>
       </el-table-column>
       <el-table-column
@@ -327,221 +338,7 @@
 
       <el-button type="primary" :disabled="doNot" @click="submit">保 存</el-button>
     </div>
-    <el-dialog
-      v-dialogDrag
-      :fullscreen="dialogFull"
-      :close-on-click-modal="false"
-      width="70%"
-      :visible.sync="innerVisible"
-      title="导入数据"
-      append-to-body
-    >
-      <el-form
-        ref="form"
-        :model="queryParameter"
-        label-width="80px"
-        style="display: flex; flex-wrap: wrap"
-      >
-        <el-form-item label="客户名称" prop="fCorpid">
-          <el-select
-            v-model="queryParameter.fCorpid"
-            filterable
-            remote
-            style="width: 200px"
-            placeholder="客户名称"
-          >
-            <el-option
-              v-for="item in nameOptions"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="提单号" prop="fMblno">
-          <el-input
-            v-model="queryParameter.fMblno"
-            filterable
-            remote
-            clearable
-            size="small"
-            style="width: 200px"
-            placeholder="请输入结算单位"
-          >
-          </el-input>
-        </el-form-item>
-        <el-form-item label="审核日期" prop="timeExamine">
-          <el-date-picker
-            v-model="queryParameter.timeExamine"
-            type="daterange"
-            range-separator="至"
-            @change="timeMethods"
-            value-format="yyyy-MM-dd"
-            style="width: 250px"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="业务类型" prop="fBusinessType">
-          <template>
-            <el-select
-              v-model="queryParameter.fBusinessType"
-              filterable
-              remote
-              size="small"
-              style="width: 200px"
-              placeholder="请选择业务类型"
-              multiple
-            >
-              <el-option
-                v-for="dict in businessTypeOptions"
-                :key="dict.dictValue"
-                :label="dict.dictLabel"
-                :value="dict.dictValue"
-              ></el-option>
-            </el-select>
-          </template>
-        </el-form-item>
-        <el-form-item label="船名" prop="fVslid">
-          <el-select
-            filterable
-            v-model="queryParameter.fVslid"
-            size="small"
-            style="width: 200px"
-            placeholder="请选择仓储业务"
-          >
-            <el-option
-              v-for="item in vesselOptions"
-              :key="item.fId"
-              :label="item.fName"
-              :value="item.fId"/>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="航次" prop="fVoyid">
-          <el-select
-            v-model="queryParameter.fVoyid"
-            filterable
-            remote
-            size="small"
-            style="width: 200px"
-          >
-            <el-option
-              v-for="item in voyageOptions"
-              :key="item.fId"
-              :label="item.fNo"
-              :value="item.fId"/>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="收/付" prop="fDc">
-          <el-select
-            v-model="queryParameter.fDc"
-            filterable
-            remote
-            size="small"
-            style="width: 200px">
-            <el-option label="收" value="D"/>
-<!--            <el-option label="付" value="C"/>-->
-          </el-select>
-        </el-form-item>
-        <el-form-item label="费用名称" label-width="85px" prop="fFeeid">
-          <el-select
-            v-model="queryParameter.fFeeid"
-            filterable
-            remote
-            clearable
-            size="small"
-            style="width: 200px">
-            <el-option
-              v-for="(dict, index) in fDNameOptions"
-              :key="index.fId"
-              :label="dict.fName"
-              :value="dict.fId"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="业务日期" prop="createTimeList">
-          <el-date-picker
-            v-model="queryParameter.createTimeList"
-            type="daterange"
-            range-separator="至"
-            style="width: 250px"
-            value-format="yyyy-MM-dd"
-            @change="changeTime"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期">
-          </el-date-picker>
-        </el-form-item>
 
-        <el-form-item>
-          <el-button
-            type="cyan"
-            icon="el-icon-search"
-            size="mini"
-            @click="getataDList"
-          >搜索</el-button
-          >
-          <el-button icon="el-icon-refresh" size="mini" @click=""
-          >重置</el-button
-          >
-        </el-form-item>
-      </el-form>
-      <el-table
-        v-loading="loading"
-        :data="chargeList_s"
-        ref="chargeList"
-        show-summary
-        @selection-change="handleSelectionChange_s"
-      >
-        <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="序号" type="index" width="55" align="center"/>
-        <el-table-column label="货权方" align="center" prop="fName" />
-        <el-table-column label="提单号" align="center" prop="fMblno" />
-<!--        <el-table-column label="品名" align="center" prop="fProductName" />-->
-        <el-table-column label="业务日期" align="center">
-          <template slot-scope="scope" v-if="scope.row.createTime">
-            <span>{{ scope.row.createTime.slice(0, 10) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="业务类型" align="center" prop="businessName">
-<!--          <template slot-scope="scope">-->
-<!--            <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>-->
-<!--            <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>-->
-<!--            <span v-else>{{ scope.row.fBilltype }}</span>-->
-<!--          </template>-->
-        </el-table-column>
-<!--        <el-table-column label="作业类型" align="center" prop="fBusinessType"/>-->
-        <el-table-column label="审核日期" align="center" prop="fReviewDate" />
-        <el-table-column label="费用名称" align="center" prop="fFeeName" />
-        <el-table-column label="金额" align="center" prop="fAmtdr" />
-<!--        <el-table-column label="本次金额" align="center" prop="fAmt" width="100">-->
-<!--          <template slot-scope="scope">-->
-<!--            <el-input-->
-<!--              v-model="scope.row.fAmt"-->
-<!--              placeholder="请输入本次金额"-->
-<!--              clearable-->
-<!--              size="small"-->
-<!--              oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'-->
-<!--              @change=""-->
-<!--            />-->
-<!--          </template>-->
-<!--        </el-table-column>-->
-        <el-table-column label="备注" align="center" prop="fRemarks">
-          <template slot-scope="scope">
-            <el-input
-              v-model="scope.row.fRemarks"
-              placeholder="请输入备注"
-              clearable
-              size="small"
-              width="100"
-            />
-          </template>
-        </el-table-column>
-      </el-table>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="determine">确 定</el-button>
-        <el-button @click="innerVisible = false">取 消</el-button>
-      </div>
-    </el-dialog>
 
   </div>
 
@@ -550,10 +347,12 @@
 <script>
 import Vue from 'vue'
 import Cookies from 'js-cookie'
-import { getVoyageName, getVesselName,getcontrastList } from '@/api/finance/applyForInvoice/feeDetail'
+import { getVoyageName, getVesselName,getcontrastList,listChange,addPreservation } from '@/api/finance/applyForInvoice/feeDetail'
 import { addSet, select } from '@/api/system/set'
 import draggable from "vuedraggable";
 import { getFName, listFees } from '@/api/kaihe/domesticTrade/orderInformation'
+import { listCorps } from '@/api/finance/applyForInvoice/invoiceInformation'
+import { queryUserVal } from '@/api/warehouseBusiness/agreement'
 
 Vue.directive("dialogDrag", {
   bind(el, binding, vnode, oldVnode) {
@@ -619,6 +418,9 @@ export default {
   },
   data(){
     return{
+      Lander:null,
+      unitOptions:[],
+      fMblnoOptions: [],
       empty: [],
       nothing: [],
       pass: {
@@ -626,8 +428,6 @@ export default {
         fMblno: "", //提单号
         fName: "", //货权方
       },
-      voyageOptions:[],
-      vesselOptions:[],
       businessTypeOptions:[],
       fDNameOptions: [],
       nameOptions:[],
@@ -635,7 +435,7 @@ export default {
       tableDate: [
         {
           surface: "1",
-          label: "fBillno",
+          label: "srcBillNo",
           name: "业务编号",
           checked: 0,
           fixed: "left",
@@ -658,63 +458,63 @@ export default {
         },
         {
           surface: "4",
-          label: "tMblno",
+          label: "fMblno",
           name: "提单号",
           checked: 0,
           width: 100,
         },
         {
           surface: "5",
-          label: "fAccbilldate",
+          label: "fFeeName",
           name: "费用名称",
           checked: 0,
           width: 100,
         },
         {
           surface: "6",
-          label: "fCurreny",
+          label: "fCurrency",
           name: "币别",
           checked: 0,
           width: 100,
         },
         {
           surface: "7",
-          label: "chargingMethod",
+          label: "fAmtdr",
           name: "金额",
           checked: 0,
           width: 100,
         },
         {
           surface: "8",
-          label: "invoiceNo",
+          label: "fExrate",
           name: "汇率",
           checked: 0,
           width: 100,
         },
         {
           surface: "9",
-          label: "bank",
+          label: "fBilltype",
           name: "业务类型",
           checked: 0,
           width: 100,
         },
         {
           surface: "10",
-          label: "waterBillNo",
+          label: "fStatusName",
           name: "状态",
           checked: 0,
           width: 100,
         },
         {
           surface: "11",
-          label: "审核日期",
+          label: "updateTime",
           name: "审核日期",
           checked: 0,
           width: 100,
         },
         {
           surface: "12",
-          label: "审核日期",
+          label: "remark",
           name: "备注",
           checked: 0,
           width: 100,
@@ -737,7 +537,7 @@ export default {
         },
         {
           surface: "3",
-          label: "fSbuName",
+          label: "fSbu",
           name: "单位",
           checked: 0,
           width: 100,
@@ -766,7 +566,7 @@ export default {
         {
           surface: "7",
           label: "fTaxrate",
-          name: "税率",
+          name: "税率(%)",
           checked: 0,
           width: 100,
         },
@@ -780,7 +580,7 @@ export default {
         {
           surface: "9",
           label: "fAmount",
-          name: "合计金额",
+          name: "合计金额(元)",
           checked: 0,
           width: 100,
         },
@@ -835,7 +635,6 @@ export default {
       showSetting2: false,
       allCheck: false,
       showSetting: false,
-      chargeList_s:[],
       queryParameter:{
         fCorpid:null,
         fMblno:null,
@@ -864,149 +663,103 @@ export default {
     }
   },
   created(){
+    this.setRowList = this.tableDate;
+    this.getRowList = this.tableDate;
+    this.setRowList2 = this.tableDate2;
+    this.getRowList2 = this.tableDate2;
     this.getDicts("data_billType").then((response) => {
       if (response.data) {
         this.businessTypeOptions = response.data
       }
     });
-    this.setRowList = this.tableDate;
-    this.getRowList = this.tableDate;
-    this.setRowList2 = this.tableDate2;
-    this.getRowList2 = this.tableDate2;
+    this.getDicts("data_unitfees").then((response) => {
+      if (response.data) {
+        this.unitOptions = response.data
+      }
+    });
+    queryUserVal().then((response) => {
+      this.Lander = response.user.userName;
+    });
     this.getRow();
     this.nameRemoteMethod()
-    this.vessleRemthod()
-    this.voyageRemthods()
-    // this.getRow2();
+    this.corpsRemoteMethod()
+    this.getRow2();
+    this.feeName()
   },
   activated() {
     if(this.$route.query.data){
-      if(this.$route.query.data.Num === 0){
+      let data = JSON.parse(this.$route.query.data)
+      if(data.Num === 0){
         this.doNot = true
       }else{
         this.doNot = false
       }
-    }
-  },
-  methods:{
-    //确定带入从表
-    determine(){
-      console.log(this.selection)
-      this.pass.fAmtdr = 0;
-      for (let item in this.selection) {
-        this.pass.fAmtdr = Number(this.pass.fAmtdr);
-        this.pass.fAmtdr += Number(this.selection[item].fAmtdr);
-      }
-      console.log(this.pass.fAmtdr)
-      if (!this.selection.length) {
-        this.$message.error("未选择导入行");
-      }else{
-        for (let item in this.selection) {
-          console.log(this.selection)
-          this.empty.push(this.selection[item].fMblno);
-          this.nothing.push(this.selection[item].fName);
-          console.log(this.empty, this.nothing)
-
-          if (this.feeList.length === 0) {
-            this.feeList = this.feeList.concat(this.selection);
-            //去重提单号
-            this.empty = new Set(this.empty);
-            this.empty = Array.from(this.empty);
-            //去重货权方
-            this.nothing = new Set(this.nothing);
-            this.nothing = Array.from(this.nothing);
-            if (this.empty.length <= 1) {
-              this.pass.fMblno = this.empty[0];
-            } else {
-              this.pass.fMblno = this.empty[0] + "...";
-            }
-            if (this.nothing.length <= 1) {
-              this.pass.fName = this.nothing[0];
-            } else {
-              this.pass.fName = this.nothing[0] + "...";
-            }
-            // this.queryParams.tMblno = this.pass.fMblno; //提单号
-            this.queryParams.fCtrlcorpid = this.pass.fName;
-            // this.queryParams.fAmtdr = this.pass.fAmtdr;
-            this.innerVisible = false
-            this.chargeList_s = []
-            this.queryParameter = {
-              fCorpid: "",
-              fMblno: "",
-              timeExamine: "",
-              fBusinessType: "",
-              fVslid: "",
-              fVoyid: "",
-              fDc: 'D',
-              fFeeid: "",
-              createTimeList: ""
+      listChange(data.fId).then(response=>{
+        if(response.data.tFee){
+          this.queryParams = response.data.tFee
+          this.$set(this.queryParams,'createTime',this.queryParams.createTime.slice(0,10))
+        }
+        if(response.data.feeDoList){
+          this.feeList = response.data.feeDoList
+        }
+        if(response.data.tFeeInvoiceList){
+          this.invoiceList = response.data.tFeeInvoiceList
+          for(let item in response.data.tFeeInvoiceList){
+            for(let li in this.invoiceList){
+              if(this.invoiceList[li].fId == response.data.tFeeInvoiceList[item].fId){
+                this.invoiceList[li].fSbu = response.data.tFeeInvoiceList[item].fSbu + ''
+              }
             }
-            return
           }
-        else {
-            for (let li in this.feeList) {
-              if (this.selection[item].fSrcid !== this.feeList[li].fSrcid) {
-                this.Fee = this.feeList.concat(this.selection);
-                let result = [];
-                let obj = {};
-                for (let lis in this.Fee) {
-                  if (!obj[this.Fee[lis].fSrcid]) {
-                    result.push(this.Fee[lis]);
-                    obj[this.Fee[lis].fSrcid] = true;
-                  }
-                }
-                //去重提单号
-                this.empty = new Set(this.empty);
-                this.empty = Array.from(this.empty);
-                //去重货权方
-                this.nothing = new Set(this.nothing);
-                this.nothing = Array.from(this.nothing);
-                if (this.empty.length <= 1) {
-                  this.pass.fMblno = this.empty[0];
-                } else {
-                  this.pass.fMblno = this.empty[0] + "...";
-                }
-                if (this.nothing.length <= 1) {
-                  this.pass.fName = this.nothing[0];
-                } else {
-                  this.pass.fName = this.nothing[0] + "...";
-                }
-                this.innerVisible = false
-                this.chargeList_s = []
-                this.queryParameter = {
-                  fCorpid: "",
-                  fMblno: "",
-                  timeExamine: "",
-                  fBusinessType: "",
-                  fVslid: "",
-                  fVoyid: "",
-                  fDc: 'D',
-                  fFeeid: "",
-                  createTimeList: ""
-                }
-                this.feeList = result
-              }else {
-                let i = Number(item) + 1;
-                this.$message.error("行号为" + i + "重复");
+          for(let li in this.fDNameOptions){
+            for(let item in this.invoiceList){
+              if(this.invoiceList[item].fFeeName == this.fDNameOptions[li].fName){
+                this.invoiceList[item].fFeeid = this.fDNameOptions[li].fId
               }
             }
           }
         }
-        console.log(this.feeList)
-      }
-      // this.chargeList_s = this.feeList
-    },
-    voyageRemthods(){
-      getVoyageName().then(response=>{
-        console.log(response)
-        this.voyageOptions = response.rows
       })
+    }
+  },
+  methods:{
+    changeId(){
+        for(let item in this.invoiceList){
+          this.invoiceList[item].fFeeid = this.invoiceList[item].fFeeName
+        }
     },
-    vessleRemthod(){
-      getVesselName().then(response=>{
-        console.log(response)
-        this.vesselOptions = response.rows
-      })
+    //获取服务费名称
+    feeName(){
+      let query = { pageNum: 1, fDc: "D" };
+      listFees(query).then((response) => {
+        this.fDNameOptions = response.rows;
+      });
+    },
+    //金额(含税)
+    priceTotal(){
+      for(let li in this.invoiceList){
+        if(this.invoiceList[li].fNumber || this.invoiceList[li].fUnitprice){
+          this.$set(this.invoiceList[li],'fMoney',(this.invoiceList[li].fNumber * this.invoiceList[li].fUnitprice).toFixed(2))
+        }
+        if(this.invoiceList[li].fTaxrate && this.invoiceList[li].fNumber
+          || this.invoiceList[li].fTaxrate && this.invoiceList[li].fUnitprice
+          || this.invoiceList[li].fNumber && this.invoiceList[li].fUnitprice){
+          this.$set(this.invoiceList[li],'fTax',(this.invoiceList[li].fMoney * (this.invoiceList[li].fTaxrate/100)/ (1 + this.invoiceList[li].fTaxrate/100) ).toFixed(2))
+          if(this.invoiceList[li].fMoney && this.invoiceList[li].fTax){
+            this.$set(this.invoiceList[li],'fAmount',(this.invoiceList[li].fMoney - this.invoiceList[li].fTax).toFixed(2))
+          }
+        }
+      }
+    },
+    /** 远程模糊查询用户 */
+    corpsRemoteMethod(name) {
+      if (name == null || name === "") {
+        return false;
+      }
+      let queryParams = { fName: name };
+      listCorps(queryParams).then((response) => {
+        this.fMblnoOptions = response;
+      });
     },
     changeTime(){
       this.queryParameter.createTimeList[0] = this.queryParameter.createTimeList[0]+" 00:00:00"
@@ -1017,24 +770,25 @@ export default {
       this.queryParameter.timeExamine[1] = this.queryParameter.timeExamine[1]+" 23:59:59"
     },
     openSearch(){
-      this.$router.push({path:'/finance/generalLedger'})
-      // this.queryParameter = {
-      //   fCorpid:null,
-      //     fMblno:null,
-      //     timeExamine:null,
-      //     fBusinessType:null,
-      //     fVslid:null,
-      //     fVoyid:null,
-      //     fDc:'D',
-      //     fFeeid:null,
-      //     createTimeList:null
-      // },
-      // this.chargeList_s = []
-      // let query = { pageNum: 1, fDc: "D" };
-      // listFees(query).then((response) => {
-      //   this.fDNameOptions = response.rows;
-      // });
-      // this.innerVisible = true
+      let res = {}
+      let fSrcpid = []
+      let fSrcid = []
+      console.log(this.feeList)
+      for(let li in this.feeList){
+        fSrcpid.push(this.feeList[li].fSrcpid)
+        fSrcpid = Array.from(new Set(fSrcpid))
+        fSrcid.push(this.feeList[li].fSrcid)
+      }
+      res = {
+        fSrcid:fSrcid,
+        fSrcpid:fSrcpid,
+        fCorpid:this.queryParams.fCorpidName,
+        billsType:this.queryParams.fBilltype
+      }
+      this.$router.push({
+        path:'/finance/generalLedger',
+        query:{ data:JSON.stringify(res) }
+      })
     },
     //获取客户名称下拉
     nameRemoteMethod(){
@@ -1043,15 +797,18 @@ export default {
         this.nameOptions = response.data
       })
     },
-    getataDList(){
-      getcontrastList(this.queryParameter).then(res=>{
-        console.log(res)
-        this.chargeList_s = res.rows
-
-      })
-    },
     submit(){
-
+      if(this.invoiceList[0].fTaxrate){
+        this.queryParams.fTaxrate = this.invoiceList[0].fTaxrate
+      }
+      let formData = new window.FormData()
+      formData.append('tFee',JSON.stringify(this.queryParams))
+      formData.append('tFeeDo',JSON.stringify(this.feeList))
+      formData.append('billsType',this.queryParams.fBilltype)
+      formData.append('tFeeInvoice',JSON.stringify(this.invoiceList))
+      addPreservation(formData).then(response=>{
+        this.$message.success("操作成功")
+      })
     },
     //列设置全选
     allChecked() {
@@ -1188,33 +945,6 @@ export default {
       this.drag = false;
     },
 
-    /** 查询财务数据主列表 */
-    getList() {
-      this.loading = true;
-      this.getDicts("approval_process").then((response) => {
-        this.options = response.data;
-      });
-      if (Cookies.get("sysType") == 1) {
-        //大木
-        listCharge(this.tableFilter).then((response) => {
-          this.chargeList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        });
-      } else if (Cookies.get("sysType") == 2) {
-        //车队
-        listCharges(this.tableFilter).then((response) => {
-          response.rows.map((e) => {
-            if (e.createTime) {
-              e.createTime = e.createTime.substring(0, 10);
-            }
-          });
-          this.chargeList = response.rows;
-          this.total = response.total;
-          this.loading = false;
-        });
-      }
-    },
     //sheet切换
     handleSelect(key, keyPath) {
       if(key === '1') {
@@ -1227,13 +957,22 @@ export default {
     },
     //发票信息新行
     addList(){
-      let query = { pageNum: 1, fDc: "D" };
-      listFees(query).then((response) => {
-        this.fDNameOptions = response.rows;
-      });
-      this.invoiceList.push({
-
-      })
+        this.invoiceList.push({
+          fModel:null,
+          fSbu:'1',
+          fNumber:null,
+          fUnitprice:null,
+          fMoney:null,
+          fTaxrate:null,
+          fTax:null,
+          fAmount:null,
+          fStatus:'1',
+          remarks:null,
+          createBy:this.Lander,
+          createTime:null,
+          updateBy:this.Lander,
+          updateTime:null,
+        })
     },
     // 导入多选框
     handleSelectionChange_s(selection) {

+ 20 - 27
src/views/finance/applyForInvoice/invoiceInformation/index.vue

@@ -99,16 +99,16 @@
     </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="['finance:charge:add']"
-          >新增
-        </el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-plus"-->
+<!--          size="mini"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['finance:charge:add']"-->
+<!--          >新增-->
+<!--        </el-button>-->
+<!--      </el-col>-->
       <el-col :span="1.5">
         <el-button
           type="success"
@@ -316,14 +316,10 @@
 </template>
 
 <script>
-import { listCharge, delCharge, delCharges, exportCharge, listCorps, delCharge_s, delCharge_ss,exportWarehousebillsitems,
-} from "@/api/finance/applyForInvoice/invoiceInformation";
+import { listCorps } from "@/api/finance/applyForInvoice/invoiceInformation";
 import { listFees } from "@/api/basicdata/fees";
-import print from "print-js";
 import AddOrUpdate from "@/views/viewApproval";
 import ApprovalComments from "@/views/startApproval";
-import { queryUserVal } from "@/api/warehouseBusiness/agreement";
-import Global from "@/layout/components/global";
 import draggable from "vuedraggable";
 import Vue from "vue";
 import Cookies from "js-cookie";
@@ -401,7 +397,7 @@ export default {
         },
         {
           surface: "2",
-          label: "fCorpidName",
+          label: "fCtrlcorpid",
           name: "客户名称",
           fixed:"left",
           checked: 0,
@@ -409,7 +405,7 @@ export default {
         },
         {
           surface: "3",
-          label: "fCtrlcorpid ",
+          label: "fCorpidName",
           name: "开票单位",
           fixed:"left",
           checked: 0,
@@ -455,7 +451,7 @@ export default {
         },
         {
           surface: "9",
-          label: "updateTime",
+          label: "fAccbilldate",
           name: "审核日期",
           checked: 0,
           width: 120,
@@ -469,7 +465,7 @@ export default {
         },
         {
           surface: "11",
-          label: "remark",
+          label: "fRemarks",
           name: "备注",
           checked: 0,
           width: 120,
@@ -634,7 +630,7 @@ export default {
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = "合计";
-        } else if (index === 5|| index === 13) {
+        } else if (column.label === '金额') {
           const values = data.map((item) => Number(item[column.property]));
           if (!values.every((value) => isNaN(value))) {
             sums[index] = values.reduce((prev, curr) => {
@@ -651,15 +647,14 @@ export default {
       return sums;
     },
     // 查看按钮
-    check(row, status) {
-      console.log(status)
+    check(row,status) {
       let res = {
         fId:row.fId,
         Num:status
       }
       this.$router.push({
         path:'/finance/feeDetail',
-        query: { data: res }
+        query: { data: JSON.stringify(res) }
       })
     },
     // 多选框选中数据
@@ -679,8 +674,8 @@ export default {
     /** 查询财务数据主列表 */
     getList() {
       this.loading = true;
-      this.queryParams.money = [this.moneys,this.moneye]
       console.log(this.queryParams)
+      this.queryParams.fBilltype = 'ApplyFP'
       listCorps(this.queryParams).then((response) => {
           this.chargeList = response.rows;
           this.total = response.total;
@@ -760,15 +755,13 @@ export default {
     },
     /** 修改按钮操作 */
     handleUpdate(row,status) {
-      console.log(row)
-      console.log(status)
       let res = {
         fId:row.fId,
         Num:status
       }
       this.$router.push({
         path:'/finance/feeDetail',
-        query:{ data : res }
+        query:{ data : JSON.stringify(res) }
       })
     },
     /** 删除按钮操作 */

+ 62 - 17
src/views/finance/generalLedger/index.vue

@@ -8,9 +8,9 @@
       :rules="rules"
       label-width="80px"
     >
-      <el-form-item label="客户名称" prop="fCorpid">
+      <el-form-item label="客户名称" prop="fToCorpid">
         <el-select
-          v-model="queryParams.fCorpid"
+          v-model="queryParams.fToCorpid"
           filterable
           remote
           clearable
@@ -28,12 +28,13 @@
           ></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="结算单位" prop="fToCorpid">
+      <el-form-item label="结算单位" prop="fCorpid">
         <el-select
-          v-model="queryParams.fToCorpid"
+          v-model="queryParams.fCorpid"
           filterable
           remote
           clearable
+          :disabled="doNot"
           size="small"
           style="width: 200px"
           @keyup.enter.native="handleQuery"
@@ -245,7 +246,7 @@
           type="primary"
           icon="el-icon-plus"
           size="mini"
-          @click="handleAdd"
+          @click="Submit"
           :disabled="queryParams.billsType != 'DZ'"
           v-hasPermi="['finance:charge:add']"
           >对账确认
@@ -256,7 +257,7 @@
           type="success"
           icon="el-icon-edit"
           size="mini"
-          @click="handleUpdate"
+          @click="Submit"
           :disabled="queryParams.billsType != 'SF'"
           v-hasPermi="['finance:charge:edit']"
           >收款确认
@@ -267,7 +268,7 @@
           type="danger"
           icon="el-icon-delete"
           size="mini"
-          @click="handleDelete"
+          @click="Submit"
           :disabled="queryParams.billsType != 'FF' || multiple"
           v-hasPermi="['finance:charge:remove']"
           >付款确认
@@ -278,7 +279,7 @@
           type="warning"
           icon="el-icon-download"
           size="mini"
-          @click="handleExport"
+          @click="Submit"
           v-hasPermi="['finance:charge:export']"
           >付款申请
         </el-button>
@@ -289,7 +290,7 @@
           icon="el-icon-download"
           size="mini"
           :disabled="queryParams.billsType != 'ApplyFP' || multiple"
-          @click="Submit(null, 2)"
+          @click="Submit(1)"
           v-hasPermi="['agreement:agreementStorage:export']"
         >开票申请
         </el-button>
@@ -300,7 +301,7 @@
           icon="el-icon-download"
           size="mini"
           :disabled="queryParams.billsType != 'invoiceFP' || multiple"
-          @click="handleUpdate(null, 2)"
+          @click="Submit"
           v-hasPermi="['agreement:agreementStorage:export']"
         >开票确认
         </el-button>
@@ -469,7 +470,7 @@ import draggable from "vuedraggable";
 import Vue from "vue";
 import Cookies from "js-cookie";
 import { addSet, select } from "@/api/system/set";
-import { getVesselName } from '@/api/finance/applyForInvoice/feeDetail'
+import { getVesselName, listChange } from '@/api/finance/applyForInvoice/feeDetail'
 Vue.directive("dialogDrag", {
   bind(el, binding, vnode, oldVnode) {
     const dialogHeaderEl = el.querySelector(".el-dialog__header");
@@ -531,7 +532,9 @@ export default {
   name: "Charge",
   data() {
     return {
+      doNot:false,
       rules: {
+        fCorpid:[{ required: true, message: "客户名称不能为空", trigger: "blur"}],
         fToCorpid: [{ required: true, message: "结算单位不能为空", trigger: "blur" }],
         fBilltype: [{ required: true, message: "单据类型不能为空", trigger: "blur" }]
       },
@@ -728,8 +731,6 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-      totAL: 0,
-      Ttime: 0,
       moneys:'',
       moneye:'',
       // 财务数据主表格数据
@@ -786,11 +787,34 @@ 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
+            }
+          })
+        }
+      }
+    });
   },
   methods: {
     //提交按钮
-    Submit(){
+    Submit(value){
       this.$refs["queryForm"].validate((valid) => {
         if (valid) {
           if (this.chargeList.length === 0) {
@@ -802,10 +826,16 @@ export default {
               this.queryParams.fMblno = this.chargeList[0].fMblno
             }
           }
+          if(value === 1 ){
+            for(let item in this.fMblnoOptions){
+              this.queryParams.fCtrlcorpid = this.fMblnoOptions[item].fName
+            }
+          }
+          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',JSON.stringify(this.queryParams.billsType))
+          formData.append('billsType',this.queryParams.billsType)
           formData.append('tFeeInvoice','')
           addPreservation(formData).then(response=>{
             this.$message.success("操作成功")
@@ -948,6 +978,7 @@ export default {
 
     //收费页面合计
     listTotal(param) {
+      this.total = 0
       const { columns, data } = param;
       const sums = [];
       if(this.selection.length === 0){
@@ -972,7 +1003,7 @@ export default {
         columns.forEach((column, index) => {
           if (index === 0) {
             sums[index] = "合计";
-          } else if (column.label == '金额'|| column.label == '本次金额') {
+          } else if (column.label == '金额') {
             const values = this.selection.map((selection) => Number(selection[column.property]));
             if (!values.every((value) => isNaN(value))) {
               sums[index] = values.reduce((prev, curr) => {
@@ -984,9 +1015,23 @@ export default {
                 }
               }, 0);
             }
+          }else if(column.label == '本次金额'){
+            const values = this.selection.map((selection) => Number(selection[column.property]));
+            if (!values.every((value) => isNaN(value))) {
+              sums[index] = values.reduce((prev, curr) => {
+                const value = Number(curr);
+                if (!isNaN(value)) {
+                  return prev + curr;
+                } else {
+                  return prev;
+                }
+              }, 0);
+            }
+            this.queryParams.fAmtdr = sums[index]
           }
         });
       }
+
       return sums;
     },
     // 查看按钮