Просмотр исходного кода

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

tong 4 лет назад
Родитель
Сommit
c0d3448981

+ 9 - 0
src/api/finance/charge.js

@@ -68,3 +68,12 @@ export function listCorps(query) {
     params: query
   })
 }
+
+// 确认收费
+export function collectFee(queryParameter) {
+  return request({
+    url: '/finance/charge/confirm',
+    method: 'post',
+    data:queryParameter
+  })
+}

+ 15 - 4
src/api/finance/contrast.js

@@ -20,7 +20,7 @@ export function getFee(fId) {
 // 新增财务数据主
 export function addFee(data) {
   return request({
-    url: '/finance/contrast',
+    url: '/finance/contrast/add',
     method: 'post',
     data: data
   })
@@ -29,8 +29,8 @@ export function addFee(data) {
 // 修改财务数据主
 export function updateFee(data) {
   return request({
-    url: '/finance/contrast',
-    method: 'put',
+    url: '/finance/contrast/add',
+    method: 'post',
     data: data
   })
 }
@@ -55,10 +55,21 @@ export function exportFee(query) {
 // 导入搜索
 export function importFee(TWareHouseFees) {
   return request({
-    url: '/finance/charge/chargeList',
+    url: '/finance/contrast/contrastList',
+    // url:'/finance/charge/chargeList',
     method: 'get',
     params: TWareHouseFees,
     tFee:TWareHouseFees,
     tFeeDo:TWareHouseFees
   })
+}
+// 确认对账
+export function Cfee(TWareHouseFees) {
+  return request({
+    url:'/finance/contrast/confirm',
+    method: 'post',
+    data: TWareHouseFees
+    // tFee:TWareHouseFees,
+    // tFeeDo:TWareHouseFees
+  })
 }

+ 70 - 0
src/api/finance/payment.js

@@ -0,0 +1,70 @@
+import request from '@/utils/request'
+
+// 查询财务数据主列表
+export function listCharge(query) {
+  return request({
+    url: '/finance/payment/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询财务数据主详细
+export function getCharge(fId) {
+  return request({
+    url: '/finance/payment/' + fId,
+    method: 'get'
+  })
+}
+
+// 新增财务数据主
+export function addCharge(data) {
+  return request({
+    url: '/finance/payment/add',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改财务数据主
+export function updateCharge(data) {
+  return request({
+    url: '/finance/payment',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除财务数据主
+export function delCharge(fId) {
+  return request({
+    url: '/finance/payment/' + fId,
+    method: 'delete'
+  })
+}
+
+// 导出财务数据主
+export function exportCharge(query) {
+  return request({
+    url: '/finance/payment/export',
+    method: 'get',
+    params: query
+  })
+}
+// 导入搜索
+export function search(queryParameter) {
+  return request({
+    url: '/finance/payment/paymentList',
+    method: 'get',
+    params: queryParameter
+  })
+}
+
+// 查询客户详情列表
+export function listCorps(query) {
+  return request({
+    url: '/basicdata/customerDetails/corps/list',
+    method: 'get',
+    params: query
+  })
+}

+ 25 - 0
src/api/system/auditPaths-add-or-update.js

@@ -0,0 +1,25 @@
+import request from '@/utils/request'
+
+// 提交数据主
+export function addCharge(data) {
+  return request({
+    url: '/warehouse/paths/add',
+    method: 'post',
+    data: data
+  })
+}
+// 查询审核人
+export function reviewer() {
+  return request({
+    url: '/system/role/auditGetRolelist',
+    method: 'get',
+  })
+}
+
+//修改主表
+export function modify(fId) {
+  return request({
+    url: '/warehouse/paths/' + fId,
+    method: 'get'
+  })
+}

+ 17 - 0
src/api/system/toConfigure.js

@@ -0,0 +1,17 @@
+import request from '@/utils/request'
+
+// 查询主列表
+export function addCharge(data) {
+  return request({
+    url: '/warehouse/paths/list',
+    method: 'get',
+    params: data
+  })
+}
+//删除主表
+export function delCharge(fId) {
+  return request({
+    url: '/warehouse/paths/' + fId,
+    method: 'delete'
+  })
+}

+ 18 - 6
src/views/basicdata/corps/index.vue

@@ -107,12 +107,23 @@
 
     <el-table v-loading="loading" :data="corpsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="客户类别" align="center" prop="fTypeid" :formatter="fTypeidFormat" />
+      <el-table-column
+        :show-overflow-tooltip="true"
+        label="客户类别" align="center" prop="fTypeid" :formatter="fTypeidFormat" />
       <el-table-column label="编号" align="center" prop="fNo" />
-      <el-table-column label="名称" align="center" prop="fName" />
-      <el-table-column label="简称" align="center" prop="fCname" />
-      <el-table-column label="英文名称" align="center" prop="fEname" />
-      <el-table-column label="电话" align="center" prop="fTel" />
+      <el-table-column
+        :show-overflow-tooltip="true"
+        label="名称" align="center" prop="fName"
+      />
+      <el-table-column
+        :show-overflow-tooltip="true"
+        label="简称" align="center" prop="fCname" />
+      <el-table-column
+        :show-overflow-tooltip="true"
+        label="英文名称" align="center" prop="fEname" />
+      <el-table-column
+        :show-overflow-tooltip="true"
+        label="电话" align="center" prop="fTel" />
 
       <el-table-column label="录入人" align="center" prop="createBy" />
       <el-table-column label="录入时间" align="center" prop="createTime" width="180">
@@ -136,7 +147,8 @@
           ></el-switch>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
+      <el-table-column
+        label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
         <template slot-scope="scope">
           <el-button

+ 5 - 5
src/views/basicdata/fees/index.vue

@@ -119,13 +119,13 @@
     <el-table v-loading="loading" :data="feesList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" label="序号" align="center"/>
-      <el-table-column label="编号" align="center" prop="fNo" />
-      <el-table-column label="名称" align="center" prop="fName" />
-      <el-table-column label="费用属性" align="center" prop="fFeetype" :formatter="fFeetypeFormat" />
+      <el-table-column label="编号" align="center" prop="fNo" :show-overflow-tooltip="true" />
+      <el-table-column label="名称" align="center" prop="fName" :show-overflow-tooltip="true" />
+      <el-table-column label="费用属性" align="center" prop="fFeetype" :formatter="fFeetypeFormat"  />
       <el-table-column label="计量单位" align="center" prop="fFeeunitid" :formatter="fFeeunitidFormat" />
-      <el-table-column label="币种" align="center" prop="fCurrency" />
+      <el-table-column label="币种" align="center" prop="fCurrency" :show-overflow-tooltip="true"  />
       <el-table-column label="状态" align="center" prop="fStatus" :formatter="statusFormat" />
-      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button

+ 8 - 8
src/views/basicdata/goods/index.vue

@@ -146,13 +146,13 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" label="序号" align="center"/>
       <!--<el-table-column label="存储id" align="center" prop="fTypeid" />--><!-- 后期添加 -->
-      <el-table-column label="编号" align="center" prop="fNo" />
-      <el-table-column label="名称" align="center" prop="fName" />
-      <el-table-column label="英文名称" align="center" prop="fEnam" />
-      <el-table-column label="规格" align="center" prop="fSpecs" />
-      <el-table-column label="包装规格" align="center" prop="fPackagespecs" />
-      <el-table-column label="颜色" align="center" prop="fColor" />
-      <el-table-column label="海关编码" align="center" prop="fHscode" />
+      <el-table-column label="编号" align="center" prop="fNo" :show-overflow-tooltip="true" />
+      <el-table-column label="名称" align="center" prop="fName" :show-overflow-tooltip="true" />
+      <el-table-column label="英文名称" align="center" prop="fEnam" :show-overflow-tooltip="true" />
+      <el-table-column label="规格" align="center" prop="fSpecs" :show-overflow-tooltip="true" />
+      <el-table-column label="包装规格" align="center" prop="fPackagespecs" :show-overflow-tooltip="true"  />
+      <el-table-column label="颜色" align="center" prop="fColor" :show-overflow-tooltip="true" />
+      <el-table-column label="海关编码" align="center" prop="fHscode" :show-overflow-tooltip="true" />
       <el-table-column label="包装类型" align="center" prop="fPackageid" />
       <el-table-column label="状态" align="center" prop="fStatus" >
         <template slot-scope="scope">
@@ -164,7 +164,7 @@
           ></el-switch>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
         <template slot-scope="scope">
           <el-button

+ 4 - 4
src/views/basicdata/warehouse/index.vue

@@ -98,9 +98,9 @@
     <el-table v-loading="loading" :data="warehouseList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="index" label="序号" align="center"/>
-      <el-table-column label="编号" align="center" prop="fNo" />
-      <el-table-column label="名称" align="center" prop="fName" />
-      <el-table-column label="地址" align="center" prop="fAddr" />
+      <el-table-column label="编号" align="center" prop="fNo" :show-overflow-tooltip="true" />
+      <el-table-column label="名称" align="center" prop="fName" :show-overflow-tooltip="true" />
+      <el-table-column label="地址" align="center" prop="fAddr" :show-overflow-tooltip="true" />
       <el-table-column label="状态" align="center">
         <template slot-scope="scope">
           <el-switch
@@ -111,7 +111,7 @@
           ></el-switch>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button

+ 102 - 38
src/views/finance/charge/index.vue

@@ -111,7 +111,7 @@
 
     <el-table v-loading="loading" :data="chargeList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column label="序1号" type="index" width="55" align="center"/>
+      <el-table-column label="序号" type="index" width="55" align="center"/>
       <el-table-column label="系统编号" align="center" prop="fBillno"/>
       <el-table-column label="货权方" align="center" prop="fCtrlcorpid"/>
       <!--      <el-table-column label="账单日期" align="center" prop="fAccbilldate" width="180">-->
@@ -216,6 +216,7 @@
             v-model="queryParams.fBillno"
             placeholder="请输入系统编号"
             clearable
+            disabled
             size="small"
             @keyup.enter.native="handleQuery"
           />
@@ -231,14 +232,14 @@
         </el-form-item>
       </el-form>
       <div style="width: 100%;">
-        <el-button type="warning" size="small" @click="innerVisible = true">收费</el-button>
-        <el-button type="primary" size="small">确认收费</el-button>
+        <el-button type="warning" size="small" @click="charGe">收费</el-button>
+        <el-button type="primary" size="small" @click="confirmCharge">确认收费</el-button>
         <el-button type="success" size="small">导出</el-button>
         <el-button type="info" size="small">打印</el-button>
         <el-button type="danger" size="small">删除</el-button>
       </div>
       <el-table v-loading="loading" :data="increase_s" @selection-change="handleSelectionChange_s">
-        <el-table-column type="selection" width="55" align="center"/>
+        <!-- <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="fMblno"/>
         <el-table-column label="存货单号" align="center" prop="fBscorpno"/>
@@ -263,9 +264,9 @@
             <span v-else>{{scope.row.fBilltype}}</span>
           </template>
         </el-table-column>
+        <el-table-column label="金额" align="center" prop="fAmtdr"/>
         <el-table-column label="本次金额" align="center" prop="fAmt"/>
         <el-table-column label="备注" align="center" prop="fRemarks"/>
-
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
             <el-button
@@ -374,12 +375,12 @@
           </el-form-item>
           <el-form-item>
             <el-button type="cyan" icon="el-icon-search" size="mini" @click="importSearch">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery_s">重1置</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery_s">重置</el-button>
           </el-form-item>
         </el-form>
-        <el-table v-loading="loading" :data="chargeList_s" show-summary :summary-method="getSummaries" @selection-change="handleSelectionChange_s">
+        <el-table v-loading="loading" :data="chargeList_s" ref="chargeList" show-summary :summary-method="getSummaries" @selection-change="handleSelectionChange_s">
           <el-table-column type="selection" width="55" align="center"/>
-          <el-table-column label="序2号" type="index" 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"/>
@@ -387,7 +388,6 @@
           <el-table-column label="业务类型" align="center" prop="fBilltype">
             <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>
@@ -402,12 +402,12 @@
                 placeholder="请输入本次金额"
                 clearable
                 size="small"
-                oninput="value=value.replace(/[^\d]/g,'')"
-                @input="imgChange1(scope.row.fAmtdr,scope.row.fAmt)"
+                oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                @change="imgChangeI(scope.row)"
               />
             </template>
           </el-table-column>
-          <el-table-column label="备1注" align="center" prop="fRemarks">
+          <el-table-column label="备注" align="center" prop="fRemarks">
             <template slot-scope="scope">
               <el-input
                 v-model="scope.row.fRemarks"
@@ -424,11 +424,13 @@
         </div>
       </el-dialog>
     </el-dialog>
+
   </div>
 </template>
 
 <script>
 import {
+  collectFee,
   listCharge,
   getCharge,
   delCharge,
@@ -447,6 +449,7 @@ export default {
   data() {
     return {
       browseStatus: true,
+      nothing:[],
       //导入状态
       state_s: true ,
       fWbuOptions: [],
@@ -487,6 +490,7 @@ export default {
         timeExamine: '',
         timeInterval: ''
       },
+      empty:[],
       //导入从表传主表
       pass:{
         fAmtdr:'',    //应收合计
@@ -565,6 +569,23 @@ export default {
     this.getList()
   },
   methods: {
+    // 确认收费
+    confirmCharge() {
+      this.queryParams.fBillstatus = '4'
+      let formDate = new window.FormData()
+        formDate.append('tFee',JSON.stringify(this.queryParams))
+        formDate.append("tFeeDo", JSON.stringify(this.increase_s))
+
+        collectFee(formDate).then(response=>{
+          console.log(response)
+          this.msgSuccess("操作成功")
+        })
+        this.open = false
+    },
+    charGe(){
+      this.queryParameter.fToCorpid = this.queryParams.fCorpid
+      this.innerVisible = true
+    },
     getSummaries(param) {
       const { columns, data } = param;
       const sums = [];
@@ -581,47 +602,63 @@ export default {
           }, 0);
           sums[0] = '合计';
           sums[3] = '';
-          this.pass.fAmtdr = sums[9]
-          this.pass.fAmtcr = sums[10]
         }
       });
       return sums;
     },
-    imgChange1(fAmtdr,fAmt){
-      if (fAmt <= fAmtdr){
-        console.log("小了!")
+    imgChangeI(row){
+      if (row.fAmt && Number(row.fAmt) > Number(row.fAmtdr)){
+        this.$set(row, 'fAmt', row.fAmtdr)
         this.state_s = true
-      }else if(fAmt > fAmtdr){
-        console.log("大了!")
-        this.$message.error('本次金额不能大于原定金额');
-        this.state_s = false
       }
+      console.log('数据:' + JSON.stringify(this.selection))
+      // this.$refs.chargeList.clearSelection()
     },
     //确认导入
     confirmImport() {
       console.log(this.state_s)
-      if(this.state_s == true){
+      for (let item in this.selection) {
+        this.pass.fAmtcr = Number(this.pass.fAmtcr)
+        this.pass.fAmtdr = Number(this.pass.fAmtdr)
+        this.pass.fAmtcr += Number(this.selection[item].fAmt)
+        this.pass.fAmtdr += Number(this.selection[item].fAmtdr)
+        console.log(this.pass.fAmtcr)
+        console.log(this.pass.fAmtdr)
+      }
+      if (this.state_s == true) {
         if (this.selection.length == '0') {
           console.log('未选择')//写入提示
-        }else {
+          this.$message.error('未选择导入行')
+        } else {
           console.log(this.selection[0].fMblno)
-          for (let item in this.selection){
-            console.log(this.selection[item])
-            console.log(this.selection[item].fMblno)
-
-            console.log(this.selection[item].fName)
-            if(item > 1){
-              this.pass.fMblno = this.selection[item].fMblno + "..."
-              this.pass.fName = this.selection[item].fName + "..."
+          for (let item in this.selection) {
+            this.empty.push(this.selection[item].fMblno)
+            this.nothing.push(this.selection[item].fName)
+          }
+          //去重提单号
+          this.empty = new Set(this.empty)
+          this.empty = Array.from(this.empty)
+          //去重货权方
+          this.nothing = new Set(this.nothing)
+          this.nothing = Array.from(this.nothing)
 
-            }else if(item == 0){
-              this.pass.fMblno = this.selection[item].fMblno
-              this.pass.fName = this.selection[item].fName
-            }
+          if(this.empty.length <= 1){
+            this.pass.fMblno = this.empty[0]
+            console.log(this.pass.fMblno)
+          }else {
+            this.pass.fMblno = this.empty[0] + "..."
+            console.log(this.pass.fMblno)
+          }
+          if (this.nothing.length <= 1){
+            this.pass.fName = this.nothing[0]
+          }else {
+            this.pass.fName = this.nothing[0] + "..."
           }
+
           this.increase_s = this.selection
           this.queryParams.tMblno = this.pass.fMblno //提单号
           this.queryParams.fCtrlcorpid = this.pass.fName
+          this.queryParams.fCorpid = this.queryParameter.fToCorpid
           this.queryParams.fAmtcr = this.pass.fAmtcr
           this.queryParams.fAmtdr = this.pass.fAmtdr
           console.log(this.queryParams)
@@ -637,15 +674,14 @@ export default {
             timeInterval: ''
           }
         }
-      }else if(this.state_s == false){
-        this.$message.error('本次金额不能大于原定金额');
+      } else if (this.state_s == false) {
+        this.$message.error('本次金额不能大于原定金额')
       }
     },
     /** 查询财务数据主列表 */
     getList() {
       this.loading = true
       this.getDicts("approval_process").then((response) => {
-        console.log(response.data)
         this.options = response.data
       });
       listCharge(this.queryParams_s).then(response => {
@@ -750,11 +786,20 @@ export default {
     },
     // 导入多选框
     handleSelectionChange_s(selection) {
+      console.log(selection)
       this.selection = selection
     },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset()
+      this.pass={
+        fAmtdr:'',    //应收合计
+        fAmtcr:'',    //应付合计
+        fMblno:'',    //提单号
+        fName:'',      //货权方
+        fFeesName:'',   //结算单位
+        fCorpid:''     //结算单位ID
+      },
       // this.queryParams = []
       this.increase_s = []
       this.queryParams = {
@@ -780,6 +825,14 @@ export default {
     handleUpdate(row) {
       console.log(row)
       this.reset()
+      this.pass={
+        fAmtdr:'',    //应收合计
+        fAmtcr:'',    //应付合计
+        fMblno:'',    //提单号
+        fName:'',      //货权方
+        fFeesName:'',   //结算单位
+        fCorpid:''     //结算单位ID
+      }
       const fId = row.fId || this.ids
       console.log(fId)
       getCharge(fId).then(response => {
@@ -858,7 +911,18 @@ export default {
     },
     //清空一行
     deleteRow(index, rows) {
+      this.queryParams.fAmtcr = 0
+      this.queryParams.fAmtdr = 0
       rows.splice(index, 1);
+      for(let item in this.increase_s) {
+        console.log(this.increase_s[item])
+        this.queryParams.fAmtcr += this.increase_s[item].fAmt
+        this.queryParams.fAmtdr += this.increase_s[item].fAmtdr
+        
+      }
+      console.log(this.queryParams.fAmtdr)
+      console.log(this.queryParams.fAmtcr)
+
     },
   }
 }

+ 371 - 121
src/views/finance/contrast/index.vue

@@ -2,27 +2,30 @@
   <div class="app-container">
     <el-form
       :model="queryParams_s"
-      ref="TWareHouseFees"
+      ref="queryParams_s"
       :inline="true"
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="货权方" prop="fCorpid">
-        <el-select
-          v-model="queryParams_s.fCorpid"
+      <el-form-item label="货权方" prop="fCtrlcorpid">
+        <el-input
+          v-model="queryParams_s.fCtrlcorpid"
           placeholder="请输入客户名称"
+          filterable
+          remote
           clearable
-          size="small"
+          style="width:200px"
           @keyup.enter.native="handleQuery"
           :remote-method="corpsRemoteMethod"
-        >
-          <el-option
+          />
+
+          <!-- <el-option
             v-for="(dict, index) in fMblnoOptions"
             :key="index.fId"
             :label="dict.fName"
             :value="dict.fId"
           ></el-option>
-        </el-select>
+        </el-select> -->
       </el-form-item>
 
       <el-form-item label="结算单位" prop="fCorpid">
@@ -47,11 +50,11 @@
 
       <el-form-item label="录入人" prop="createBy">
         <el-input
-          v-model="TWareHouseFees.createBy"
-          :disabled="true"
-          placeholder="默认录入人"
-          clearable
+          v-model="queryParams_s.createBy"
+
+
           size="small"
+          disabled
         />
       </el-form-item>
 
@@ -202,28 +205,39 @@
       :data="contrastList"
       @selection-change="handleSelectionChange"
     >
-      <el-table-column width="55" align="center" type="selection" />
+      <el-table-column width="50" align="center" type="selection" />
       <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
-      <el-table-column label="行号" align="center" type="index" width="55" />
-      <el-table-column label="系统编号" align="center" prop="fBillno" />
-      <el-table-column label="货权方" align="center" prop="fCtrlcorpid" />
-      <el-table-column label="结算单位" align="center" prop="fCorpid" />
-      <el-table-column label="账单日期" align="center" prop="createTime">
+      <el-table-column label="行号" align="center" type="index"/>
+      <el-table-column label="系统编号" align="center" prop="fBillno" show-overflow-tooltip width="120"/>
+      <el-table-column label="货权方" align="center" show-overflow-tooltip prop="fCtrlcorpid" width="120"/>
+      <el-table-column label="结算单位" align="center" prop="fCorpidName" show-overflow-tooltip width="120"/>
+      <el-table-column label="账单日期" align="center" prop="fAccbilldate" width="120">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.fAccbilldate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="提单号" align="center" prop="fMblno" />
-      <el-table-column label="应收合计" align="center" prop="fAmtdr" />
-      <el-table-column label="应付合计" align="center" prop="fAmtcr" />
+      <el-table-column label="提单号" align="center" prop="tMblno" width="120"/>
+      <el-table-column label="应收金额" align="center" prop="fAmtdr" width="120"/>
+      <el-table-column label="应付金额" align="center" prop="fAmtcr" width="120"/>
       <!--       <el-table-column label="单据类型" align="center" prop="fBilltype" />-->
-      <el-table-column label="备注" align="center" prop="fRemarks" />
-      <el-table-column label="状态" align="center" prop="fBillstatus" />
+      <el-table-column label="备注" align="center" show-overflow-tooltip prop="fRemarks" width="120"/>
+      <el-table-column label="状态" align="center" prop="fBillstatus" width="120">
+        <template slot-scope="scope">
+          <span v-if="scope.row.fBillstatus == '1'">新建</span>
+          <span v-else-if="scope.row.fBillstatus == '2'">暂存</span>
+          <span v-else-if="scope.row.fBillstatus == '3'">审批驳回</span>
+          <span v-else-if="scope.row.fBillstatus == '4'">提交审核</span>
+          <span v-else-if="scope.row.fBillstatus == '5'">审核中</span>
+          <span v-else-if="scope.row.fBillstatus == '6'">审核完成</span>
+        </template>
+      </el-table-column>
+      
       <!-- <el-table-column label="制单部门" align="center" prop="fDeptid" /> -->
       <el-table-column
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
+        width="140"
       >
         <template slot-scope="scope">
           <el-button
@@ -303,7 +317,7 @@
           <el-input v-model="TWareHouseFees.tMblno" placeholder="" :disabled="true"/>
       </el-form-item> -->
 
-        <el-form-item label="对账日期" prop="fAccbilldate">
+        <el-form-item label="对账日期" prop="fAccbilldate" label-width="78px">
           <el-date-picker
             v-model="queryParams.fAccbilldate"
             size="small"
@@ -337,16 +351,20 @@
         </el-form-item>
 
         <el-form-item label="录入人" prop="createBy">
-          <el-input v-model="queryParams.createBy" />
+          <el-input v-model="queryParams.createBy" disabled/>
+        </el-form-item>
+
+        <el-form-item label="备注" prop="fRemarks">
+          <el-input v-model="queryParams.fRemarks"/>
         </el-form-item>
 
         <div style="width: 100%">
-          <el-button type="warning" size="small" @click="innerVisible = true"
+          <el-button type="warning" size="small" @click="reconciliation"
             >对账</el-button
           >
-          <el-button type="primary" size="small">确认对账</el-button>
+          <el-button type="primary" size="small" @click="confirmReconciliation">确认对账</el-button>
           <el-button type="success" size="small">导出</el-button>
-          <el-button type="info" size="small">打印</el-button>
+          <el-button type="info" size="small" @click="openPrint=true">打印</el-button>
           <el-button type="danger" size="small">删除</el-button>
         </div>
 
@@ -356,27 +374,33 @@
       <el-table
         v-loading="loading"
         :data="DzfeeList"
-        @selection-change="handleSelectionChange_s"
+        @selection-change="handleSelectionChanGe"
       >
-        <el-table-column type="selection" width="55" align="center" />
+        <!-- <el-table-column type="selection" width="55" align="center" /> -->
         <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
         <el-table-column label="行号" align="center" type="index" />
         <el-table-column label="提单号" align="center" prop="fMblno" />
-        <el-table-column label="业务日期" align="center" prop="fBsdate" />
-        <el-table-column label="费用名称" align="center" prop="fFeeid" />
+        <el-table-column label="业务日期" align="center" prop="fBsdate">
+          <template slot-scope="scope">
+            <span>{{scope.row.fBsdate.slice(0,10)}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="费用名称" align="center" prop="fFeeName" />
         <el-table-column label="收/付" align="center" prop="fSrcdc">
           <template slot-scope="scope">
             <span v-if="scope.row.fSrcdc == 'D'">收</span>
             <span v-else-if="scope.row.fSrcdc == 'C'">付</span>
           </template>
         </el-table-column>
-        <el-table-column label="金额" align="center" prop="fAmt" />
+        <el-table-column label="金额" align="center" prop="fAmtdr" />
+        <el-table-column label="本次金额" align="center" prop="fAmt" />
         <el-table-column label="业务类型" align="center" prop="fBilltype">
           <template slot-scope="scope">
             <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>
             <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>
             <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>
             <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>
+            <span v-else>{{scope.row.fBilltype}}</span>
           </template>
         </el-table-column>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -385,7 +409,7 @@
               size="mini"
               type="text"
               icon="el-icon-delete"
-              @click.native.prevent="deleteRow(scope.$index, increase_s)"
+              @click.native.prevent="deleteRow(scope.$index,DzfeeList)"
             >删除
             </el-button>
           </template>
@@ -393,7 +417,7 @@
       </el-table>
 
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button type="primary" @click="submitForm">保 存</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
 
@@ -417,7 +441,6 @@
         </el-form-item> -->
 
           <el-form-item
-            class="el-form-item__label"
             label="货权方"
             prop="fCorpid"
           >
@@ -478,7 +501,7 @@
           <el-form-item label="是否对账" prop="fReconciliation">
             <el-col :span="8">
               <el-select
-                v-model="TWareHouseFees.fReconciliation"
+                v-model="TWareHouseFees.fReconciliation" 
                 style="width: 200px"
               >
                 <el-option label="是" value="1" />
@@ -511,7 +534,7 @@
 
           <el-form-item label="审核日期" prop="timeExamine">
             <el-date-picker
-              style="width: 200px"
+              style="width: 250px"
               size="small"
               v-model="TWareHouseFees.timeExamine"
               type="daterange"
@@ -522,8 +545,7 @@
             >
             </el-date-picker>
           </el-form-item>
-
-          <el-form-item label="对账日期" label-width="85px" prop="timeReconci">
+          <el-form-item label="对账日期" label-width="85px" prop="timeReconci" v-if="TWareHouseFees.fReconciliation == '1'">
             <el-date-picker
               v-model="TWareHouseFees.timeReconci"
               size="small"
@@ -539,14 +561,12 @@
           <el-form-item>
             <!-- <el-button class="btnColor" type="info" size="mini">导入</el-button> -->
             <el-button
-              class="btnColor"
               type="cyan"
               size="mini"
               @click="searchFee"
               >搜索</el-button
             >
             <el-button
-              class="btnColor"
               type="info"
               size="mini"
               @click="resetQuery_s"
@@ -592,14 +612,21 @@
                   placeholder="请输入本次金额"
                   clearable
                   size="small"
-                  oninput="value=value.replace(/[^\d]/g,'')"
-                  @input="imgChange1(scope.row.fAmtdr, scope.row.fAmt)"
+                  oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
+                  @change="imgChangeI(scope.row)"
                 />
               </template>
             </el-table-column>
             <el-table-column label="费用名称" align="center" prop="fFeeName" />
-            <el-table-column label="备注" align="center" prop="f_remarks">
-              <el-input placeholder="请输入内容"></el-input>
+            <el-table-column label="备1注" align="center" prop="fRemarks">
+              <template slot-scope="scope">
+              <el-input
+                v-model="scope.row.fRemarks"
+                placeholder="请输入备注"
+                clearable
+                size="small"
+              />
+            </template>
             </el-table-column>
           </el-table>
 
@@ -645,11 +672,54 @@
         </div>
       </el-dialog>
     </el-dialog>
+
+    <!-- 打印页面 -->
+    <el-dialog
+      :visible.sync="openPrint"
+      width="70%"
+      append-to-body
+      :close-on-click-modal="false"
+      title="对账单"
+    >
+      <el-table
+        border="true"
+        v-loading="loading"
+        :data="DzfeeList"
+        @selection-change="handleSelectionChanGe">
+
+        <el-table-column label="行号" align="center" type="index" />
+        <el-table-column label="提单号" align="center" prop="fMblno" />
+        <el-table-column label="业务日期" align="center" prop="fBsdate">
+          <template slot-scope="scope">
+            <span>{{scope.row.fBsdate.slice(0,10)}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="费用名称" align="center" prop="fFeeName" />
+        <el-table-column label="收/付" align="center" prop="fSrcdc">
+          <template slot-scope="scope">
+            <span v-if="scope.row.fSrcdc == 'D'">收</span>
+            <span v-else-if="scope.row.fSrcdc == 'C'">付</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="金额" align="center" prop="fAmtdr" />
+        <el-table-column label="本次金额" align="center" prop="fAmt" />
+        <el-table-column label="业务类型" align="center" prop="fBilltype">
+          <template slot-scope="scope">
+            <span v-if="scope.row.fBilltype == 'SJRK'">入库</span>
+            <span v-else-if="scope.row.fBilltype == 'SJCK'">出库</span>
+            <span v-else-if="scope.row.fBilltype == 'CKDB'">调拨</span>
+            <span v-else-if="scope.row.fBilltype == 'HQZY'">货权转移</span>
+            <span v-else>{{scope.row.fBilltype}}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-button style="marginTop:10px">打印</el-button>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listFee, getFee, delFee, addFee, updateFee, exportFee, importFee} from "@/api/finance/contrast";
+import { Cfee, listFee, getFee, delFee, addFee, updateFee, exportFee, importFee} from "@/api/finance/contrast";
 import { listCorps } from '@/api/basicdata/corps'
 import { listFees } from '@/api/basicdata/fees'
 import { queryUserVal } from '@/api/warehouseBusiness/agreement'
@@ -660,6 +730,9 @@ export default {
   },
   data() {
     return {
+      openPrint:false,
+      statrGo:true,
+      state_s: true,
       browseStatus:false,
       options:'',
       value1:"",
@@ -701,6 +774,17 @@ export default {
       DzfeeList: [],
       // 财务主页面表格
       contrastList: [],
+      empty:[],
+      nothing:[],
+      //导入从表传主表
+      pass:{
+        fAmtdr:'',    //应收合计
+        fAmtcr:'',    //应付合计
+        fMblno:'',    //提单号
+        fName:'',      //货权方
+        fFeesName:'',   //结算单位
+        fCorpid:''     //结算单位ID
+      },
       // 传值对象
       TWareHouseFees:{
         fCorpid:'',
@@ -710,9 +794,9 @@ export default {
         fFeeid :'',
         timeExamine:'',
         timeInterval:'',
-        fDc:'',
-        fReconciliation:'',
-        timeReconci: '',
+        fDc:'D',
+        fReconciliation:'1',
+        timeReconci:'',
       },
       // 查询参数
       queryParams: {
@@ -724,12 +808,14 @@ export default {
         tMblno: null,
         fAmtdr: null,
         fAmtcr: null,
+        fId:null,
         fBilltype: null,
         fBillstatus: null,
         fRemarks: null,
         fAccbilldate: null,
         fDeptid: null,
         createBy: null,
+        timeReconci: null
       },
       // 主表查询参数
       queryParams_s: {
@@ -737,6 +823,7 @@ export default {
         pageSize: 10,
         fBillno: null,
         fCtrlcorpid: null,
+        fId:null,
         fCorpid: null,
         tMblno: null,
         fAmtdr: null,
@@ -775,9 +862,9 @@ export default {
         fReconciliation: [
           { required:true,message:'不能为空', trigger:'blur'}
         ],
-        // timeExamine: [
-        //   { required:true,message:'不能为空', tigger:'blur'}
-        // ]
+        timeExamine: [
+          { required: true, message: '审核日期不能为空', trigger: 'blur' }
+        ]
         // fBilltype: [
         //   { required: true, message: "单据类型(对账单 收费 付费 付费申请 收费申请,发票申请 销项发票 进项发票)不能为空", trigger: "change" }
         // ],
@@ -791,27 +878,39 @@ export default {
     };
   },
   created() {
-    this.getList();
-    // this.register()
+    this.getList()
+    this.register()
   },
   methods: {
-    // 金额筛选
-    imgChange1(fAmtdr,fAmt){
-      if (fAmt <= fAmtdr){
-        console.log("小了!")
-        this.state_s = true
-      }else if(fAmt > fAmtdr){
-        console.log("大了!")
-        this.$message.error('本次金额不能大于原定金额');
-        this.state_s = false
-      }
+    // 确认对账按钮功能
+    confirmReconciliation(){
+      this.queryParams.fBillstatus = '4'
+      let formDate = new window.FormData()
+        formDate.append('tFee',JSON.stringify(this.queryParams))
+        formDate.append("tFeeDo", JSON.stringify(this.DzfeeList))
+
+      Cfee(formDate).then(response=>{
+        console.log(response)
+        this.msgSuccess("操作成功")
+        
+      })
+      this.open = false
+    },
+    // 对账按钮功能
+    reconciliation(){
+      this.TWareHouseFees.fToCorpid = this.queryParams.fCorpid
+      console.log(this.queryParams.fCorpid)
+      this.innerVisible = true
     },
     // 默认录入人
-    // register() {
-    //   queryUserVal().then((response)=>{
-    //   this.contrastList.createBy = response.user.userName
-    //   })
-    // },
+    register() {
+      queryUserVal().then((response)=>{
+      this.queryParams_s.createBy = response.user.userName
+      this.queryParams.createBy = response.user.userName
+      console.log(this.DzfeeList.createBy)
+      console.log(response.user.userName)
+      })
+    },
     
     getSummaries(param) {
         const { columns, data } = param;
@@ -830,10 +929,29 @@ export default {
             sums[0] = '合计';
           } else {
             sums[4] = '';
+          // this.pass.fAmtdr = sums[9]
+          // this.pass.fAmtcr = sums[10]
           }
         })
         return sums;
       },
+       // 金额筛选
+       imgChangeI(row){
+      if (row.fAmt && Number(row.fAmt) > Number(row.fAmtdr)){
+        this.$set(row, 'fAmt', row.fAmtdr)
+        this.state_s = true
+      }
+    },
+    // imgChangeI(fAmtdr,fAmt){
+    //   if (fAmt <= fAmtdr){
+    //     console.log("小了!")
+    //     this.state_s = true
+    //   }else if(fAmt > fAmtdr){
+    //     console.log("大了!")
+    //     this.$message.error('本次金额不能大于原定金额');
+    //     this.state_s = false
+    //   }
+    // },
     // 导入搜索
     searchFee() {
       console.log(this.TWareHouseFees)
@@ -872,7 +990,7 @@ export default {
     // 取消按钮
     cancel() {
       this.open = false;
-      this.feeList = []
+      // this.feeList = []
       this.reset();
     },
     // 表单重置
@@ -896,17 +1014,19 @@ export default {
         updateBy: null,
         updateTime: null
       };
-      // this.resetForm("form");
+      this.resetForm("form");
     },
     /** 搜索按钮操作 */
     handleQuery() {
+      console.log(this.queryParams_s)
       this.queryParams.pageNum = 1;
       this.getList();
-      this.searchFee()
+      console.log(this.contrastList)
+      // this.searchFee()
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm("queryForm");
+      this.resetForm("queryParams_s");
       this.handleQuery();
       this.TWareHouseFees={
         fCorpid:'',
@@ -938,24 +1058,93 @@ export default {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
+    handleSelectionChanGe(selection){
+      if(selection.length > 0) {
+        this.statrGo = false
+      }else{
+        this.statrGo = true
+      }
+    },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
       this.DzfeeList = []
+      this.pass={
+        fAmtdr:'',    //应收合计
+        fAmtcr:'',    //应付合计
+        fMblno:'',    //提单号
+        fName:'',      //货权方
+        fFeesName:'',   //结算单位
+        fCorpid:''     //结算单位ID
+      },
       this.open = true;
       this.title = "添加财务数据主";
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        fBillno: null,
+        fCtrlcorpid: null,
+        fCorpid: null,
+        tMblno: null,
+        fAmtdr: null,
+        fId:null,
+        fAmtcr: null,
+        fBilltype: null,
+        fBillstatus: null,
+        fRemarks: null,
+        fAccbilldate: null,
+        fDeptid: null,
+        createBy: null,
+        timeReconci: null
+      }
+      queryUserVal().then((response)=>{
+      this.contrastList.createBy = response.user.userName
+      console.log(response.user.userName)
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        fBillno: null,
+        fCtrlcorpid: null,
+        fCorpid: null,
+        tMblno: null,
+        fAmtdr: null,
+        fId:null,
+        fAmtcr: null,
+        fBilltype: null,
+        fBillstatus: null,
+        fRemarks: null,
+        fAccbilldate: null,
+        fDeptid: null,
+        createBy: response.user.userName,
+        timeReconci: null
+      }
+      })
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
+      this.pass={
+        fAmtdr:'',    //应收合计
+        fAmtcr:'',    //应付合计
+        fMblno:'',    //提单号
+        fName:'',      //货权方
+        fFeesName:'',   //结算单位
+        fCorpid:''     //结算单位ID
+      }
       const fId = row.fId || this.ids
+      console.log(fId)
       getFee(fId).then(response => {
-        this.DzfeeList = response.data.tFeeDoList
-        this.TWareHouseFees = response.data.tFee
+        console.log(this.DzfeeList)
+        console.log(response)
+        this.DzfeeList = response.data.feeDoList
         this.fWbuOptions = response.data.feesList
+        this.queryParams = response.data.tFee
+        console.log(this.queryParams)
+        this.fMblnoOptions = response.data.corps
         this.open = true;
         this.title = "修改财务数据主";
       });
+      console.log(this.queryParams)
     },
     /** 远程模糊查询用户 */
     corpsRemoteMethod(name) {
@@ -971,33 +1160,38 @@ export default {
     
     /** 提交按钮 */
     submitForm() {
-      this.$refs["rules"].validate(valid => {
+      console.log(this.queryParams)
+      console.log(this.DzfeeList)
+      // console.log(this.feeList)
+      this.$refs["ruless"].validate(valid => {
         if (valid) {
-          if (this.form.fId != null) {
+          if (!this.queryParams.fId) {
+            console.log(this.queryParams)
+            this.queryParams.fBillstatus = '1'
             let formDate = new window.FormData()
-            formDate.append('tFee',JSON.stringify(this.TWareHouseFees))
-            formDate.append("tFeeDo", JSON.stringify(this.feeList))
+            formDate.append('tFee',JSON.stringify(this.queryParams))
+            formDate.append("tFeeDo", JSON.stringify(this.DzfeeList))
+            
 
             updateFee(formDate).then(response => {
-              this.msgSuccess("修改成功");
+              this.msgSuccess("新增成功");
+              this.DzfeeList = []
               this.open = false;
               this.getList();
             });
             
           } else {
+            this.queryParams.fBillstatus = '1'
             let formDate = new window.FormData()
             formDate.append('tFee',JSON.stringify(this.queryParams))
             formDate.append("tFeeDo", JSON.stringify(this.DzfeeList))
-
+            console.log(this.queryParams)
             addFee(formDate).then(response => {
-              this.msgSuccess("新增成功");
+              this.msgSuccess("修改成功");
               this.DzfeeList = []
               this.open = false;
               this.getList();
             });
-            for (let item in this.selection){
-          console.log(this.selection[item])
-            }
           }
         }
       });
@@ -1014,35 +1208,89 @@ export default {
     },
     /* 添加财务数据主 导入*/
     confirmImport(){
-      if (this.selection.length == '0') {
-        console.log('未选择')//写入提示
-      } else {
-        console.log(this.selection[0].fMblno)
-        for (let item in this.selection){
-          console.log(this.selection[item])
-          console.log(this.selection[item].fMblno)
-          if(item > 1){
-            this.fMblno = this.selection[item].fMblno + "..."
-          }else if(item == 0){
-            this.fMblno = this.selection[item].fMblno
+      for (let item in this.selection) {
+        this.pass.fAmtcr = Number(this.pass.fAmtcr)
+        this.pass.fAmtdr = Number(this.pass.fAmtdr)
+        this.pass.fAmtcr += Number(this.selection[item].fAmt)
+        this.pass.fAmtdr += Number(this.selection[item].fAmtdr)
+        // console.log(Number(this.pass.fAmtcr))
+        // console.log(this.pass)
+        // console.log(this.pass.fAmtcr)
+        // console.log(this.pass.fAmtdr)
+      }
+      console.log(this.pass)
+      if(this.state_s == true) {
+        if (this.selection.length == '0') {
+          console.log('未选择')//写入提示
+          this.$message.error('未选择导入行');
+        } else {
+          console.log(this.selection[0].fMblno)
+          for (let item in this.selection){
+            console.log(this.selection[item])
+            console.log(this.selection[item].fMblno)
+            this.empty.push(this.selection[item].fMblno)
+            this.nothing.push(this.selection[item].fName)
+          }
+          //去重提单号
+          this.empty = new Set(this.empty)
+          this.empty = Array.from(this.empty)
+          //去重货权方
+          this.nothing = new Set(this.nothing)
+          this.nothing = Array.from(this.nothing)
+          console.log(this.nothing)
+
+          if(this.empty.length <= 1){
+            this.pass.fMblno = this.empty[0]
+            console.log(this.pass.fMblno)
+          }else {
+            this.pass.fMblno = this.empty[0] + "..."
+            console.log(this.pass.fMblno)
+          }
+          if (this.nothing.length <= 1){
+            this.pass.fName = this.nothing[0]
+            console.log(this.nothing)
+          }else {
+            this.pass.fName = this.nothing[0] + "..."
+            console.log(this.nothing)
           }
+          // if (this.nothing.length <= 1){
+          //   this.pass.fCorpid = this.nothing[0]
+          //   console.log(this.nothing)
+          // }else {
+          //   this.pass.fCorpid = this.nothing[0] + "..."
+          //   console.log(this.nothing)
+          // }
+        this.DzfeeList = this.selection
+        this.queryParams.tMblno = this.pass.fMblno //提单号
+        // this.queryParams.fCorpid = this.pass.fFeesName
+        
+        this.queryParams.fCorpid = this.TWareHouseFees.fToCorpid
+        this.queryParams.fCtrlcorpid = this.pass.fName
+        console.log(this.queryParams.fCorpid)
+        console.log(this.pass)
+        this.queryParams.fAmtcr = this.pass.fAmtcr
+        this.queryParams.fAmtdr = this.pass.fAmtdr
+        console.log(this.pass)
+        console.log(this.queryParams)
+        console.log(this.DzfeeList)
+        this.innerVisible = false
+        this.feeList = []
+        //  this.feeList = this.DzfeeList
+        this.TWareHouseFees = {
+          fCorpid:'',
+          fToCorpid:'',
+          fMblno:'',
+          fStatementNo:'',
+          fFeeid :'',
+          timeExamine:'',
+          timeInterval:'',
+          fSrcdc:'',
+          fReconciliation:'',
+          timeReconci: ''
         }
-       this.DzfeeList = this.selection
-       this.innerVisible = false
-       this.feeList = []
-      //  this.feeList = this.DzfeeList
-       this.TWareHouseFees = {
-        fCorpid:'',
-        fToCorpid:'',
-        fMblno:'',
-        fStatementNo:'',
-        fFeeid :'',
-        timeExamine:'',
-        timeInterval:'',
-        fSrcdc:'',
-        fReconciliation:'',
-        timeReconci: ''
-       }
+      }
+    }else if(this.state_s == false){
+      this.$message.error('本次金额不能大于原定金额');     
     }
   },
 
@@ -1090,16 +1338,18 @@ export default {
     },
     //清空一行
     deleteRow(index, rows) {
-      rows.splice(index, 1);
+      this.queryParams.fAmtdr = 0
+      this.queryParams.fAmtcr = 0
+      rows.splice(index, 1)
+      for(let item in this.DzfeeList) {
+        console.log(this.DzfeeList[item])
+        this.queryParams.fAmtcr = this.DzfeeList[item].fAmt
+        this.queryParams.fAmtdr = this.DzfeeList[item].fAmtdr
+      }
     },
-  }
+  },
 };
 </script>
 <style lang="scss" scoped>
-.btnColor {
-  border: 1px solid #0f5dee;
-}
-.btnColor:hover {
-  color: #0f5dee;
-}
+
 </style>

+ 885 - 0
src/views/finance/payment/index.vue

@@ -0,0 +1,885 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams_s" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="系统编号" prop="fCtrlcorpid">
+        <el-input
+          v-model="queryParams_s.fBillno"
+          placeholder="请输入系统编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="货权方" prop="fCtrlcorpid">
+        <el-input
+          v-model="queryParams_s.fCtrlcorpid"
+          placeholder="请输入货权方"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="对账日期" prop="fAccbilldate">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams_s.fAccbilldate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择账单日期"
+        >
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结算单位" prop="fCorpid">
+        <el-select
+          v-model="queryParams_s.fCorpid"
+          filterable
+          remote
+          clearable
+          style="width: 200px"
+          @keyup.enter.native="handleQuery"
+          :remote-method="corpsRemoteMethod"
+          placeholder="请输入结算单位"
+        >
+          <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="fBillstatus">
+        <el-select v-model="queryParams_s.fBillstatus" placeholder="请选择">
+          <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.dictLabel"
+            :value="item.dictValue">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </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="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['finance:charge: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="['finance:charge:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['finance:charge:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="chargeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="序1号" type="index" width="55" align="center"/>
+      <el-table-column label="系统编号" align="center" prop="fBillno"/>
+      <el-table-column label="货权方" align="center" prop="fCtrlcorpid"/>
+      <!--      <el-table-column label="账单日期" align="center" prop="fAccbilldate" width="180">-->
+      <!--        <template slot-scope="scope">-->
+      <!--          <span>{{ parseTime(scope.row.fAccbilldate, '{y}-{m}-{d}') }}</span>-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
+      <!--      <el-table-column label="制单部门" align="center" prop="fId"/>-->
+      <!--      <el-table-column label="结算单位" align="center" prop="fCorpid"/>-->
+      <el-table-column label="对账日期" align="center" prop="fAccbilldate"/>
+      <el-table-column label="提单号" align="center" prop="tMblno"/>
+      <el-table-column label="应收合计" align="center" prop="fAmtdr"/>
+      <el-table-column label="应付合计" align="center" prop="fAmtcr"/>
+      <el-table-column label="备注" align="center" prop="fRemarks"/>
+      <el-table-column label="状态" align="center" prop="fBillstatus">
+        <template slot-scope="scope">
+          <span v-if="scope.row.fBillstatus == '1'">新建</span>
+          <span v-else-if="scope.row.fBillstatus == '2'">暂存</span>
+          <span v-else-if="scope.row.fBillstatus == '3'">审批驳回</span>
+          <span v-else-if="scope.row.fBillstatus == '4'">提交审核</span>
+          <span v-else-if="scope.row.fBillstatus == '5'">审核中</span>
+          <span v-else-if="scope.row.fBillstatus == '6'">审核完成</span>
+        </template>
+      </el-table-column>
+
+      <!--      <el-table-column label="单据类型" align="center" prop="fBilltype"/>-->
+      <!--      <el-table-column label="制单部门" align="center" prop="fDeptid"/>-->
+      <el-table-column label="操作" width="100" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['finance:charge:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['finance:charge:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改财务数据主对话框 -->
+    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="70%" append-to-body>
+      <el-form :model="queryParams" :rules="ruless" ref="ruless" :inline="true" v-show="showSearch"
+               label-width="68px"
+      >
+        <el-form-item label="货权方" prop="fCtrlcorpid">
+          <el-input
+            v-model="queryParams.fCtrlcorpid"
+            placeholder="请输入货权方"
+            clearable
+            size="small"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item label="结算单位" label-width="78px" prop="fCorpid">
+          <el-select
+            v-model="queryParams.fCorpid"
+            filterable
+            remote
+            clearable
+            style="width: 200px"
+            @keyup.enter.native="handleQuery"
+            :remote-method="corpsRemoteMethod"
+            placeholder="请输入结算单位"
+          >
+            <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="结算日期" label-width="78px" prop="fAccbilldate">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="queryParams.fAccbilldate"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择账单日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="系统编号" prop="fBillno">
+          <el-input
+            v-model="queryParams.fBillno"
+            placeholder="请输入系统编号"
+            clearable
+            disabled
+            size="small"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item label="备注" prop="fRemarks">
+          <el-input
+            v-model="queryParams.fRemarks"
+            placeholder="请输入备注"
+            clearable
+            size="small"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+      </el-form>
+      <div style="width: 100%;">
+        <el-button type="warning" size="small" @click="innerVisible = true">收费</el-button>
+        <el-button type="primary" size="small">确认收费</el-button>
+        <el-button type="success" size="small">导出</el-button>
+        <el-button type="info" size="small">打印</el-button>
+        <el-button type="danger" size="small">删除</el-button>
+      </div>
+      <el-table v-loading="loading" :data="increase_s" @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="fMblno"/>
+        <el-table-column label="存货单号" align="center" prop="fBscorpno"/>
+        <el-table-column label="品名" align="center" prop="fProductName"/>
+        <el-table-column label="业务日期" align="center" prop="fBsdate">
+          <template slot-scope="scope">
+            <span>{{scope.row.fBsdate.slice(0,10)}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="费用名称" align="center" prop="fFeeName"/>
+        <el-table-column label="收/付" align="center" prop="fSrcdc">
+          <template slot-scope="scope">
+            <span v-if="scope.row.fSrcdc =='D'">收</span>
+            <span v-else-if="scope.row.fSrcdc =='C'">付</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="业务类型" align="center" prop="fBilltype">
+          <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="fAmt"/>
+        <el-table-column label="备注" align="center" prop="fRemarks"/>
+
+        <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-delete"
+              @click.native.prevent="deleteRow(scope.$index, increase_s)"
+            >删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">保 存</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+      <el-dialog :close-on-click-modal="false" width="70%" :visible.sync="innerVisible" title="导入数据" append-to-body>
+        <el-form ref="form" :model="queryParameter" :rules="rules" label-width="80px"
+                 style="display: flex;flex-wrap: wrap;"
+        >
+          <el-form-item label="货权方" prop="fCtrlcorpid">
+            <!--            <el-input v-model="queryParameter.fCorpid" placeholder="请输入货权方" style="width: 200px;"/>-->
+            <el-select
+              v-model="queryParams.fCorpid"
+              filterable
+              remote
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+              :remote-method="corpsRemoteMethod"
+              placeholder="请选择货权方"
+            >
+              <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="fToCorpid">
+            <el-select
+              v-model="queryParameter.fToCorpid"
+              filterable
+              remote
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+              :remote-method="corpsRemoteMethod"
+              placeholder="请输入结算单位"
+            >
+              <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="tMblno">
+            <el-input v-model="queryParameter.fMblno" placeholder="请输入提单号" style="width: 200px;"/>
+          </el-form-item>
+          <el-form-item label="对账单号" prop="fStatementNo">
+            <el-input v-model="queryParameter.fStatementNo" placeholder="请输入提单号" style="width: 200px;"/>
+          </el-form-item>
+          <el-form-item label="费用名称" prop="fFeeid">
+            <template>
+              <el-select
+                v-model="queryParameter.fFeeid"
+                filterable
+                remote
+                :remote-method="fWRemoteMethod"
+                placeholder="费用名称"
+                multiple
+              >
+                <el-option v-for="item in fWbuOptions" :key="item.fId" :label="item.fName" :value="item.fId">
+                </el-option>
+              </el-select>
+            </template>
+          </el-form-item>
+          <el-form-item label="审核日期" prop="timeExamine">
+            <el-date-picker
+              size="small"
+              style="width: 200px"
+              v-model="queryParameter.timeExamine"
+              type="daterange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              value-format="yyyy-MM-dd"
+              :default-time="['00:00:00', '23:59:59']"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="出入库日期" label-width="85px" prop="fAccbilldate">
+            <el-date-picker
+              size="small"
+              style="width: 200px"
+              v-model="queryParameter.timeInterval"
+              type="daterange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              value-format="yyyy-MM-dd"
+              :default-time="['00:00:00', '23:59:59']"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="cyan" icon="el-icon-search" size="mini" @click="importSearch">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery_s">重1置</el-button>
+          </el-form-item>
+        </el-form>
+        <el-table v-loading="loading" :data="chargeList_s" ref="chargeList" show-summary :summary-method="getSummaries" @selection-change="handleSelectionChange_s">
+          <el-table-column type="selection" width="55" align="center"/>
+          <el-table-column label="序2号" 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" prop="fBsdate"/>
+          <el-table-column label="业务类型" align="center" prop="fBilltype">
+            <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="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">
+            <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="imgChange1(scope.row)"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column label="备1注" align="center" prop="fRemarks">
+            <template slot-scope="scope">
+              <el-input
+                v-model="scope.row.fRemarks"
+                placeholder="请输入备注"
+                clearable
+                size="small"
+              />
+            </template>
+          </el-table-column>
+        </el-table>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="confirmImport">确 定</el-button>
+          <el-button @click="innerVisible = false">取 消</el-button>
+        </div>
+      </el-dialog>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listCharge,
+  getCharge,
+  delCharge,
+  addCharge,
+  updateCharge,
+  exportCharge,
+  search,
+  listCorps
+} from '@/api/finance/charge'
+import { listFees } from '@/api/basicdata/fees'
+import log from '@/views/monitor/job/log'
+
+export default {
+  name: 'Charge',
+  components: {},
+  data() {
+    return {
+      browseStatus: true,
+      nothing:[],
+      //导入状态
+      state_s: true ,
+      fWbuOptions: [],
+      options:'',
+      // 遮罩层
+      loading: true,
+      //打开内部弹窗
+      innerVisible: false,
+      chargeList_s: [],
+      selection: '',
+      increase_s: [],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      //提单号暂存
+      fMblno:'',
+      // 财务数据主表格数据
+      chargeList: [],
+      // 弹出层标题
+      title: '',
+      // 是否显示弹出层
+      open: false,
+      fMblnoOptions: '',
+      //导入查询参数
+      queryParameter: {
+        fCorpid: '',
+        fToCorpid: '',
+        fMblno: '',
+        fStatementNo: '',
+        fFeeid: '',
+        timeExamine: '',
+        timeInterval: ''
+      },
+      empty:[],
+      //导入从表传主表
+      pass:{
+        fAmtdr:'',    //应收合计
+        fAmtcr:'',    //应付合计
+        fMblno:'',    //提单号
+        fName:''      //货权方
+      },
+      // 查询参数
+      queryParams: {
+        fId: null,
+        pageNum: 1,
+        pageSize: 10,
+        fBillno: null,
+        fCtrlcorpid: null,
+        fCorpid: null,
+        tMblno: null,
+        fAmtdr: null,
+        fAmtcr: null,
+        fBilltype: null,
+        fBillstatus: null,
+        fRemarks: null,
+        fAccbilldate: null,
+        fDeptid: null
+      },
+      // 主表查询参数
+      queryParams_s: {
+        pageNum: 1,
+        pageSize: 10,
+        fBillno: null,
+        fCtrlcorpid: null,
+        fCorpid: null,
+        tMblno: null,
+        fAmtdr: null,
+        fAmtcr: null,
+        fBilltype: null,
+        fBillstatus: null,
+        fRemarks: null,
+        fAccbilldate: null,
+        fDeptid: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      ruless: {
+        fCtrlcorpid: [
+          { required: true, message: '货权方不能为空', trigger: 'blur' }
+        ],
+        fCorpid: [
+          { required: true, message: '结算单位不能为空', trigger: 'blur' }
+        ],
+        fAccbilldate: [
+          { required: true, message: '对账日期不能为空', trigger: 'blur' }
+        ]
+      },
+      // 表单校验
+      rules: {
+        fBilltype: [
+          { required: true, message: '单据类型', trigger: 'change' }
+        ],
+        fBillstatus: [
+          { required: true, message: '状态不能为空', trigger: 'blur' }
+        ],
+        fDeptid: [
+          { required: true, message: '制单部门不能为空', trigger: 'blur' }
+        ],
+        fToCorpid: [
+          { required: true, message: '结算单位不能为空', trigger: 'blur' }
+        ],
+        timeExamine: [
+          { required: true, message: '审核日期不能为空', trigger: 'blur' }
+        ]
+      }
+    }
+  },
+  created() {
+    this.getList()
+  },
+  methods: {
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        const values = data.map(item => Number(item[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);
+          sums[0] = '合计';
+          sums[3] = '';
+        }
+      });
+      return sums;
+    },
+    imgChange1(row){
+      if (row.fAmt && Number(row.fAmt) > Number(row.fAmtdr)){
+        this.$set(row, 'fAmt', row.fAmtdr)
+        this.state_s = true
+      }
+      console.log('数据:' + JSON.stringify(this.selection))
+      // this.$refs.chargeList.clearSelection()
+    },
+    //确认导入
+    confirmImport() {
+      console.log(this.state_s)
+
+      for (let item in this.selection) {
+        this.pass.fAmtcr += Number(this.selection[item].fAmt)
+        this.pass.fAmtdr += Number(this.selection[item].fAmtdr)
+      }
+
+      if (this.state_s == true) {
+        if (this.selection.length == '0') {
+          console.log('未选择')//写入提示
+          this.$message.error('未选择导入行')
+        } else {
+          console.log(this.selection[0].fMblno)
+          for (let item in this.selection) {
+            console.log(this.selection[item])
+            console.log(this.selection[item].fMblno)
+            console.log(this.selection[item].fName)
+            this.empty.push(this.selection[item].fMblno)
+            this.nothing.push(this.selection[item].fName)
+          }
+          //去重提单号
+          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]
+            console.log(this.pass.fMblno)
+          }else {
+            this.pass.fMblno = this.empty[0] + "..."
+            console.log(this.pass.fMblno)
+          }
+          if (this.nothing.length <= 1){
+            this.pass.fName = this.nothing[0]
+          }else {
+            this.pass.fName = this.nothing[0] + "..."
+          }
+
+          this.increase_s = this.selection
+          this.queryParams.tMblno = this.pass.fMblno //提单号
+          this.queryParams.fCtrlcorpid = this.pass.fName
+          this.queryParams.fAmtcr = this.pass.fAmtcr
+          this.queryParams.fAmtdr = this.pass.fAmtdr
+          console.log(this.queryParams)
+          this.innerVisible = false
+          this.chargeList_s = []
+          this.queryParameter = {
+            fCorpid: '',
+            fToCorpid: '',
+            fMblno: '',
+            fStatementNo: '',
+            fFeeid: '',
+            timeExamine: '',
+            timeInterval: ''
+          }
+        }
+      } else if (this.state_s == false) {
+        this.$message.error('本次金额不能大于原定金额')
+      }
+    },
+    /** 查询财务数据主列表 */
+    getList() {
+      this.loading = true
+      this.getDicts("approval_process").then((response) => {
+        console.log(response.data)
+        this.options = response.data
+      });
+      listCharge(this.queryParams_s).then(response => {
+        console.log(response)
+        this.chargeList = response.rows
+        this.total = response.total
+        this.loading = false
+      })
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false
+      this.reset()
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        fId: null,
+        fBillno: null,
+        fCtrlcorpid: null,
+        fCorpid: null,
+        tMblno: null,
+        fAmtdr: null,
+        fAmtcr: null,
+        fBilltype: null,
+        fBillstatus: '0',
+        fRemarks: null,
+        fAccbilldate: null,
+        delFlag: null,
+        createBy: null,
+        fDeptid: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      }
+      this.resetForm('form')
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1
+      this.getList()
+    },
+    /** 导入搜索 */
+    importSearch() {
+      console.log(this.queryParameter)
+      // console.log(this.queryParameter[0].fFeeid.join(','))
+      // .join(',')
+      this.chargeList_s = []
+      this.$refs['form'].validate(valid => {
+        if (valid) {
+          search(this.queryParameter).then(response => {
+            this.chargeList_s = response.rows
+          })
+        }
+      })
+    },
+    /** 远程模糊查询用户 */
+    corpsRemoteMethod(name) {
+      if (name == null || name === '') {
+        return false
+      }
+      let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 1 }
+      listCorps(queryParams).then((response) => {
+        this.fMblnoOptions = response.rows
+        this.KHblnoOptions = response.rows
+      })
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm('queryParams_s')
+      this.handleQuery()
+    },
+    //导入重置按钮
+    resetQuery_s() {
+      this.queryParameter = {
+        fCorpid: '',
+        fToCorpid: '',
+        fMblno: '',
+        fStatementNo: '',
+        fFeeid: '',
+        timeExamine: '',
+        timeInterval: ''
+      }
+    },
+    // 远程模糊查询费用名称
+    fWRemoteMethod(name) {
+      this.fWbuOptions = []
+      if (name == null || name === '') {
+        return false
+      }
+      let queryParams = { pageNum: 1, pageSize: 10, fName: name }
+      listFees(queryParams).then((response) => {
+        console.log(this.fWbuOptions)
+        this.fWbuOptions = response.rows
+      })
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.fId)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    // 导入多选框
+    handleSelectionChange_s(selection) {
+      console.log(selection)
+      this.selection = selection
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset()
+      // this.queryParams = []
+      this.increase_s = []
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        fBillno: null,
+        fCtrlcorpid: null,
+        fCorpid: null,
+        tMblno: null,
+        fAmtdr: null,
+        fAmtcr: null,
+        fBilltype: null,
+        fBillstatus: null,
+        fRemarks: null,
+        fAccbilldate: null,
+        fDeptid: null
+      },
+        this.resetForm('queryParams')
+      this.open = true
+      this.title = '添加财务数据主'
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      console.log(row)
+      this.reset()
+      const fId = row.fId || this.ids
+      console.log(fId)
+      getCharge(fId).then(response => {
+        console.log(response)
+        this.increase_s = response.data.feeDoList
+        this.fWbuOptions = response.data.feesList
+        this.queryParams = response.data.tFee
+        this.fWbuOptions = response.data.feesList
+        this.fMblnoOptions = response.data.corps
+        this.open = true
+        this.title = '修改收费列表'
+      })
+    },
+    /** 提交按钮 */
+    submitForm() {
+      console.log(this.queryParameter)
+      this.$refs['ruless'].validate(valid => {
+        console.log(valid)
+        if (valid) {
+          if(this.queryParams.fId == null){
+            console.log(this.queryParams)
+            // this.chargeList.fBillstatus = '1'
+            this.queryParams.fBillstatus = '1'
+            let formData = new window.FormData()
+            formData.append('tFee', JSON.stringify(this.queryParams))
+            formData.append('tFeeDo', JSON.stringify(this.increase_s))
+            addCharge(formData).then(response => {
+              this.msgSuccess('新增成功')
+              this.increase_s = []
+              this.open = false
+              this.getList()
+            })
+          }else {
+            console.log(this.queryParams)
+            // this.chargeList.fBillstatus = '1'
+            this.queryParams.fBillstatus = '1'
+            let formData = new window.FormData()
+            formData.append('tFee', JSON.stringify(this.queryParams))
+            formData.append('tFeeDo', JSON.stringify(this.increase_s))
+            addCharge(formData).then(response => {
+              this.msgSuccess('修改成功')
+              this.increase_s = []
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const fIds = row.fId || this.ids
+      this.$confirm('是否确认删除财务数据主编号为"' + fIds + '"的数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(function() {
+        return delCharge(fIds)
+      }).then(() => {
+        this.getList()
+        this.msgSuccess('删除成功')
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams
+      this.$confirm('是否确认导出所有财务数据主数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(function() {
+        return exportCharge(queryParams)
+      }).then(response => {
+        this.download(response.msg)
+      })
+    },
+    //清空一行
+    deleteRow(index, rows) {
+      rows.splice(index, 1);
+    },
+  }
+}
+</script>

+ 1 - 2
src/views/system/role/index.vue

@@ -345,8 +345,7 @@ export default {
     /** 查询角色列表 */
     getList() {
       this.loading = true;
-      listRole(this.addDateRange(this.queryParams, this.dateRange)).then(
-        response => {
+      listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
           this.roleList = response.rows;
           this.total = response.total;
           this.loading = false;

+ 325 - 0
src/views/system/toConfigure/auditPaths-add-or-update.vue

@@ -0,0 +1,325 @@
+<template>
+  <el-dialog
+    :title="!dataForm.id ? '新增' : '修改'"
+    :close-on-click-modal="false"
+    :before-close="closeDialog"
+    :visible.sync="visible"
+    :modal="false"
+    width="75%">
+    <el-form :inline="true" :model="dataForm" :rules="dataRule" ref="dataForm">
+      <div class="form-group dialog">
+        <el-form-item label="审核路径名称" prop="pathName">
+          <el-input v-model="dataForm.pathName" placeholder="审核路径名称"></el-input>
+        </el-form-item>
+        <el-form-item label="状态" prop="status">
+          <el-select v-model="dataForm.status" placeholder="状态" style="width: 100%">
+            <el-option
+              v-for="item in optionsStatue"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="维护人" prop="opUserName">
+          <el-input v-model="dataForm.opUserName" disabled placeholder="维护人"></el-input>
+        </el-form-item>
+        <el-form-item label="维护时间" prop="opDate">
+          <el-input v-model="dataForm.opDate" disabled placeholder="维护时间"></el-input>
+        </el-form-item>
+        <el-form-item label="备注" class="full" prop="remarks">
+          <el-input v-model="dataForm.remarks" placeholder="备注"></el-input>
+        </el-form-item>
+      </div>
+    </el-form>
+    <el-button @click.prevent="addRow()" style="float: left">添加</el-button>
+    <el-table :data="dataList" tooltip-effect="dark" border stripe style="width: 100%; margin-bottom: 20px">
+      <el-table-column
+        width="80PX"
+        label="级次"
+        type="index">
+      </el-table-column>
+      <el-table-column
+        prop="levelName"
+        header-align="center"
+        align="center"
+        label="路径名称">
+        <template slot-scope="scope">
+          <el-input v-model="scope.row.levelName" placeholder="路径名称" show-word-limit/>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="iffixAuditUser"
+        header-align="center"
+        align="center"
+        label="是否指定审批人">
+        <template slot-scope="scope">
+          <el-select v-model="scope.row.iffixAuditUser" placeholder="是否指定审批人" @change="changeIffixAudit(scope.row)"
+                     style="width: 100%">
+            <el-option
+              v-for="item in optionsiffixAudit"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="auditUserId"
+        header-align="center"
+        align="center"
+        label="审核人">
+        <template slot-scope="scope">
+          <el-select v-model="scope.row.auditUserId" v-if="scope.row.iffixAuditUser === 'T'"
+                     filterable multiple collapse-tags placeholder="审核人" style="width: 100%">
+            <el-option
+              v-for="item in optionsUsers"
+              :key="item.userId"
+              :label="item.actualname"
+              :value="item.userId">
+            </el-option>
+          </el-select>
+          <el-select v-model="scope.row.auditUserId" v-if="scope.row.iffixAuditUser === 'F'"
+                     filterable multiple collapse-tags placeholder="审核人" style="width: 100%">
+            <el-option
+              v-for="item in optionsUsers_s"
+              :key="item.userId"
+              :label="item.userName"
+              :value="item.userId">
+            </el-option>
+          </el-select>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="iffinalItem"
+        header-align="center"
+        align="center"
+        label="是否最后一级">
+        <template slot-scope="scope">
+          <el-select v-model="scope.row.iffinalItem" placeholder="是否最后一级" style="width: 100%">
+            <el-option
+              v-for="item in optionsIfStatus"
+              :key="item.val"
+              :label="item.name"
+              :value="item.val">
+            </el-option>
+          </el-select>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="remarks"
+        header-align="center"
+        align="center"
+        label="备注">
+        <template slot-scope="scope">
+          <el-input v-model="scope.row.remarks" 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, dataList)" size="small">移除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="closeDia">取消</el-button>
+      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+    </span>
+  </el-dialog>
+</template>
+
+<script>
+import {addCharge,reviewer,modify} from '@/api/system/auditPaths-add-or-update'
+import { queryUserVal } from '@/api/warehouseBusiness/agreement'
+import { listUser } from '@/api/system/user'
+
+  export default {
+    data () {
+      return {
+        dataForm: {
+          status: 'A',
+        },
+        visible: false,
+        dataRule: {},
+        dataList: [],
+        optionsUsers: [],
+        optionsUsers_s:[],
+        optionsiffixAudit: [{
+          id: 'T',
+          name: '是'
+        }, {
+          id: 'F',
+          name: '否'
+        }],
+        optionsIfStatus: [{
+          val: 'F',
+          name: '否'
+        }, {
+          val: 'T',
+          name: '是'
+        }],
+        optionsStatue: [{
+          id: 'A',
+          name: '有效'
+        }, {
+          id: 'S',
+          name: '停用'
+        }]
+      }
+    },
+    methods: {
+      init (val) {
+        this.optionsUsers = []
+        this.visible = true
+        if (typeof val !== 'undefined') {
+          console.log(val)
+          this.queryAuditPath(val)
+          this.queryUsers()
+        } else {
+          this.queryUsers()
+        }
+      },
+      queryUsers () {
+        queryUserVal().then((response)=>{
+          // this.contrastList.createBy = response.user.userName
+          // this.dataForm.opUserName = response.user.userName
+          console.log(response)
+          this.$set(this.dataForm, "opUserName", response.user.userName);
+          this.$set(this.dataForm, "opDate", response.date.slice(0,10));
+        })
+        console.log(this.dataForm)
+        //请求所有审核人角色
+        reviewer().then(data =>{
+          this.optionsUsers = data
+          console.log(data)
+        })
+        //请求所有用户名
+        listUser().then(response => {
+          this.optionsUsers_s = response.rows
+          console.log(response.rows)
+        })
+        // this.$http({
+        //   url: this.$http.adornUrl('/sys/user/selectUser'),
+        //   method: 'post',
+        //   data: ({mobile: 'auditUser'})
+        // }).then(({data}) => {
+        //   if (typeof data.list !== 'undefined' && data.list !== null) {
+        //     if (typeof data.list.users !== 'undefined' && data.list.users !== null) {
+        //       this.optionsUsers = data.list.users
+        //     }
+        //   }
+        // })
+      },
+      queryAuditPath (val) {
+        modify(val).then(res => {
+          console.log(res)
+          let data = res.data.data
+          this.dataForm = data.auditPaths
+          this.dataList = data.auditPathsLevels
+          for (let index in this.dataList){
+            this.dataList[index].auditUserId = data.auditUserIds[index]
+          }
+        })
+      },
+      addRow () {
+        let val = {
+          levelName: null,
+          auditUserId: [],
+          // auditUserName: null,
+          iffixAuditUser: 'T',
+          iffinalItem: 'T',
+          remarks: null
+        }
+        this.dataList.push(val)
+      },
+      deleteRow (index, rows) { // 删除改行
+        rows.splice(index, 1)
+      },
+      changeIffixAudit (row) {
+        row.auditUserId = []
+      },
+      // 表单提交
+      dataFormSubmit () {
+        console.log(this.dataForm)
+        console.log(this.dataList)
+        if (this.dataList.length === 0) {
+          this.$message.error('请维护审批级次')
+          return false
+        }
+        for (let x in this.dataList) {
+          if (this.dataList[x].iffixAuditUser === 'S') {
+            if (this.dataList[x].auditUserId === null || this.dataList[x].auditUserId === '' || this.dataList[x].auditUserId.length === 0) {
+              this.$message.error('请维护第' + (Number(x) + 1) + '级的审核人')
+              return false
+            }
+          }
+        }
+        let formData = new FormData()
+        formData.append('auditPaths', JSON.stringify(this.dataForm))
+        formData.append('auditPathsLevels', JSON.stringify(this.dataList))
+        this.$confirm(`是否提交?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(function() {
+          return addCharge(formData)
+        }).then((data) => {
+          console.log(data)
+            if (data && data.code === 200) {
+              this.$message({
+                message: '操作成功',
+                type: 'success'
+              });
+              this.closeDia()
+            } else {
+              this.$message.error(data.msg)
+            }
+        })
+
+        // this.$confirm(`是否提交?`, '提示', {
+        //   confirmButtonText: '确定',
+        //   cancelButtonText: '取消',
+        //   type: 'warning'
+        // }).then(() => {
+        //   let formData = new FormData()
+        //   formData.append('auditPaths', JSON.stringify(this.dataForm))
+        //   formData.append('auditPathsLevels', JSON.stringify(this.dataList))
+        //   this.$http({
+        //     url: this.$http.adornUrl(`/engineering/auditPaths/save`),
+        //     method: 'post',
+        //     data: formData
+        //   }).then(({data}) => {
+        //     if (data && data.code === 0) {
+        //       this.$message({
+        //         message: '操作成功',
+        //         type: 'success',
+        //         duration: 600,
+        //         onClose: () => {
+        //           this.closeDia()
+        //         }
+        //       })
+        //     } else {
+        //       this.$message.error(data.msg)
+        //     }
+        //   })
+        // })
+      },
+      closeDialog (done) {
+        done()
+        // location.reload()
+        this.visible = false
+        this.$emit('refreshDataList')
+        Object.assign(this.$data, this.$options.data.call(this))
+      },
+      closeDia () {
+        this.visible = false
+        this.$emit('refreshDataList')
+        Object.assign(this.$data, this.$options.data.call(this))
+      }
+    }
+  }
+</script>

+ 239 - 0
src/views/system/toConfigure/index.vue

@@ -0,0 +1,239 @@
+<template>
+  <div class="app-container">
+    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
+      <el-form-item label="审核路径名" label-width="85px" prop="pathName">
+        <el-input v-model="dataForm.pathName"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="getDataList">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery_s">重置</el-button>
+      </el-form-item>
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="mini"
+            @click="addOrUpdateHandle()"
+            v-hasPermi="['finance:charge:add']"
+          >新增
+          </el-button>
+        </el-col>
+        <right-toolbar @queryTable="getDataList"></right-toolbar>
+      </el-row>
+    </el-form>
+    <el-table :data="dataList" v-loading="dataListLoading" style="width: 100%;">
+      <el-table-column
+        header-align="center"
+        align="center"
+        type="index"
+        width="80"
+        label="序号">
+      </el-table-column>
+      <el-table-column
+        prop="pathName"
+        header-align="center"
+        align="center"
+        width="220"
+        label="审核路径名称">
+      </el-table-column>
+      <el-table-column
+        prop="opUserName"
+        header-align="center"
+        align="center"
+        width="150"
+        label="维护人">
+      </el-table-column>
+      <el-table-column
+        prop="opDate"
+        header-align="center"
+        align="center"
+        width="150"
+        label="维护时间">
+      </el-table-column>
+      <el-table-column
+        prop="status"
+        header-align="center"
+        align="center"
+        width="90"
+        label="状态">
+        <template slot-scope="scope">
+<!--          <span v-if="scope.row.status === 'N'">新建</span>-->
+          <span v-if="scope.row.status === 'A'">有效</span>
+          <span v-if="scope.row.status === 'S'">停用</span>
+          <span v-if="scope.row.status === 'Z'">暂存</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="remarks"
+        header-align="center"
+        align="center"
+        label="备注">
+      </el-table-column>
+      <el-table-column
+        fixed="right"
+        header-align="center"
+        align="center"
+        width="150"
+        label="操作">
+        <template slot-scope="scope">
+          <el-button type="text" size="small"
+                     @click="addOrUpdateHandle(scope.row.id)">修改
+          </el-button>
+          <el-button type="text" size="small"
+                     @click="deleteHandle(scope.row.id)">删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="dataForm.pageNum"
+      :limit.sync="dataForm.pageSize"
+      @pagination="getDataList"
+    />
+    <!-- 弹窗, 新增 / 修改 -->
+    <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" :dataForm="editModel"></add-or-update>
+  </div>
+</template>
+
+<script>
+import AddOrUpdate from './auditPaths-add-or-update'
+import {addCharge,delCharge} from '@/api/system/toConfigure'
+
+export default {
+  data () {
+    return {
+      loginContractorId: null,
+      dataForm: {
+        pathId: null,
+        pathName: null,
+        opUserId: null,
+        opUserName: null,
+        opDate: null,
+        status: 'A',
+        remarks: null,
+        pageNum: 1,
+        pageSize: 10
+      },
+      total:0,
+      editModel: {},
+      dataList: [],
+      totalPage: 0,
+      dataListLoading: false,
+      addOrUpdateVisible: false
+    }
+  },
+  components: {
+    AddOrUpdate
+  },
+  activated () {
+    // this.$http({
+    //   url: this.$http.adornUrl('/sys/user/getLoginContractorId'),
+    //   method: 'post'
+    // }).then(({data}) => {
+    //   this.loginContractorId = data.loginContractorId
+    // })
+
+    this.getDataList()
+  },
+  methods: {
+    resetQuery_s(){
+      this.dataForm = {
+        pathId: null,
+          pathName: null,
+          opUserId: null,
+          opUserName: null,
+          opDate: null,
+          status: 'A',
+          remarks: null,
+          pageNum: 1,
+          pageSize: 10
+      }
+    },
+    // 获取数据列表
+    getDataList () {
+      this.dataListLoading = true
+      addCharge(this.dataForm).then(data => {
+        this.total = data.total
+        console.log(data)
+        if (typeof data.rows !== 'undefined' && data.rows !== null) {
+          this.dataList = data.rows
+          this.totalPage = data.rows.total
+        } else {
+          this.dataList = []
+          this.totalPage = 0
+        }
+        this.dataListLoading = false
+      })
+    },
+    resetSearch () {
+      this.dataForm.pathName = null
+      this.dataForm.opUserName = null
+      this.dataForm.opDate = null
+      this.dataForm.current = 1
+      this.dataForm.size = 10
+      this.getDataList()
+    },
+    // 每页数
+    sizeChangeHandle (val) {
+      this.dataForm.size = val
+      this.dataForm.current = 1
+      this.getDataList()
+    },
+    // 当前页
+    currentChangeHandle (val) {
+      this.dataForm.current = val
+      this.getDataList()
+    },
+    // 新增 / 修改
+    addOrUpdateHandle (val) {
+      this.addOrUpdateVisible = true
+      this.$nextTick(() => {
+        this.$refs.addOrUpdate.init(val)
+      })
+    },
+    // 删除
+    deleteHandle (id) {
+      this.$confirm('是否确认删除财务数据主编号为"' + id + '"的数据项?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(function() {
+        return delCharge(id)
+      }).then((res) => {
+        console.log(res)
+        this.msgSuccess('删除成功')
+        this.getDataList()
+      })
+
+      // this.$confirm(`确定进行删除操作?`, '提示', {
+      //   confirmButtonText: '确定',
+      //   cancelButtonText: '取消',
+      //   type: 'warning'
+      // }).then(() => {
+      //   this.$http({
+      //     url: this.$http.adornUrl('/engineering/auditPaths/delete'),
+      //     method: 'post',
+      //     data: (id)
+      //   }).then(({data}) => {
+      //     if (data && data.code === 0) {
+      //       this.$message({
+      //         message: '操作成功',
+      //         type: 'success',
+      //         duration: 600,
+      //         onClose: () => {
+      //           this.getDataList()
+      //         }
+      //       })
+      //     } else {
+      //       this.$message.error(data.msg)
+      //     }
+      //   })
+      // }).catch(() => {
+      // })
+    }
+  }
+}
+</script>

+ 2 - 0
src/views/system/user/index.vue

@@ -469,7 +469,9 @@ export default {
     /** 查询用户列表 */
     getList() {
       this.loading = true;
+      console.log(this.addDateRange)
       listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+        console.log(response)
           this.userList = response.rows;
           this.total = response.total;
           this.loading = false;

+ 2 - 2
vue.config.js

@@ -34,8 +34,8 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://192.168.137.1:9010`,
-        // target: `http://engineering.echepei.com:9010/`,
+        target: `http://localhost:9010`,
+        //  target: `http://engineering.echepei.com:9010/`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''