ソースを参照

进口 财务 审批 修改

qinbai 3 年 前
コミット
eb13012f79

+ 11 - 0
src/api/approveData/main.js

@@ -20,3 +20,14 @@ export function approvePass(data) {
   })
 }
 
+export function batchOperation(id,operate) {
+  return request({
+    url: '/api/blade-check/auditproecess/batchOperation',
+    method: 'post',
+    params: {
+      ids:id,
+      operate:operate
+    },
+  })
+}
+

+ 15 - 5
src/components/goodsSelect/index.vue

@@ -152,10 +152,13 @@ export default {
     changeName(){
       this.$emit('returnBack', this.value)
       let optionList = this.configuration.dicData.length !== 0?this.dicData.length !== 0?this.dicData:this.configuration.dicData:this.dicData;
-      let valueName ;
+      let valueName = {};
       optionList.map(item =>{
         if(item.cname === this.value){
-          valueName =  item.id
+          valueName.list = item.goodsSpecificationList.map(item=>{
+            return item.cname
+          })
+          valueName.id =  item.id
         }
       })
       this.$emit('valueName',valueName)
@@ -174,15 +177,16 @@ export default {
     //确认导出触发
     confirmSelection() {
       this.dicData = []
+      console.log(this.selection)
       if (this.configuration.multipleChoices === true) {
         let value = []
         for (let item in this.selection) {
-          this.dicData.push({cname: this.selection[item].cname})
+          this.dicData.push({cname: this.selection[item].cname,goodList: this.selection[item].goodsSpecificationList})
           value.push(this.selection[item].cname)
         }
         this.value = value
       } else {
-        this.dicData.push({cname: this.selection[0].cname})
+        this.dicData.push({cname: this.selection[0].cname,goodList: this.selection[0].goodsSpecificationList})
         this.value = this.selection[0].cname
       }
       this.$emit('returnRow', this.selection)
@@ -190,7 +194,13 @@ export default {
       this.$emit('returnBack', this.value)
       this.dialogVisible = false
       this.$emit('receiveList',this.dicData)
-      this.$emit('valueName',this.dicData[0].id)
+      let valueName = {
+        id:this.dicData[0].id,
+        list:this.dicData[0].goodList.map(item=>{
+          return item.cname
+        })
+      }
+      this.$emit('valueName',valueName)
     },
     //选中触发
     selectionChange(selection) {

+ 1 - 1
src/store/modules/ifdetail.js

@@ -92,7 +92,7 @@ const ifdetail = {
     RECE_OUT_DETAIL(state) {
       state.receiptSettle = false;
     },
-    //进入主营项目明细
+    //进入事务管理结算明细
     MAIN_IN_DETAIL(state) {
       state.mainItemStatus = true;
     },

+ 6 - 1
src/util/validate.js

@@ -23,6 +23,11 @@ export function isPercentage(val) {
   const num = val ? Number(val).toFixed(2) : 0.00
   return num + '%'
 }
+//小数取整
+export function roundNumbers(val) {
+  const num = val ? Math.round(val * 10) / 10 : 0.00
+  return num
+}
 // 折扣
 export function isDiscount(val) {
   // console.log(val)
@@ -213,7 +218,7 @@ export function isvalidatemobile(phone) {
   let result = true;
   let msg = '';
   var isPhone = /^0\d{2,3}-?\d{7,8}$/;
-  //增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]  
+  //增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
   if (!validatenull(phone)) {
     if (phone.length == 11) {
       if (isPhone.test(phone)) {

+ 1 - 1
src/views/approveData/configuration/mainList.json

@@ -10,7 +10,7 @@
   "searchMenuPosition": "right",
   "border": true,
   "index": true,
-  "selection": false,
+  "selection": true,
   "viewBtn": false,
   "editBtn": false,
   "delBtn": false,

+ 33 - 6
src/views/approveData/index.vue

@@ -23,8 +23,8 @@
       <template slot="menuLeft">
         <el-button size="small"
                    type="success"
-                   :disabled="true"
-                   @click.stop=""
+                   :disabled="selectionList.length == 0 "
+                   @click.stop="batchCheck"
         >批量审批
         </el-button>
         <el-button size="small"
@@ -45,14 +45,14 @@
         <el-button
           type="text"
           size="small"
-          :disabled="scope.row.operate"
+          :disabled="scope.row.auditStatus != 'S'"
           @click.stop="pass(scope.row, 1)"
         >审批通过
         </el-button>
         <el-button
           type="text"
           size="small"
-          :disabled="scope.row.operate"
+          :disabled="scope.row.auditStatus != 'S'"
           @click.stop="pass(scope.row, 2)"
         >审批驳回
         </el-button>
@@ -64,6 +64,7 @@
 <script>
   import option from "./configuration/mainList.json";
   import { getList,approvePass } from "@/api/approveData/main";
+  import { batchOperation } from "@/api/approveData/main"
   import _ from "lodash";
 
   export default {
@@ -77,6 +78,7 @@
         option: option,
         parentId:0,
         dataList: [],
+        selectionList:[],
         page: {
           pageSize: 10,
           pagerCount: 5,
@@ -102,6 +104,31 @@
       // option.height = window.innerHeight - 200 ;
     },
     methods: {
+      batchCheck(){
+        let idList = [];
+        for(let i=0;i<this.selectionList.length;i++){
+          if(this.selectionList[i].auditStatus != "S"){
+            return this.$message.error("审核状态必须都为待审核状态!")
+          }else{
+            idList.push(this.selectionList[i].id)
+          }
+        }
+        this.$confirm('确定进行批量操作吗?', '提示', {
+          confirmButtonText: '审核通过',
+          cancelButtonText: '取消',
+          type: 'warning',
+          distinguishCancelAndClose : false
+        }).then(() => {
+          //批量通过
+          batchOperation(idList.join(","),"1").then(res=>{
+            if(res.data.success){
+              this.$message.success("操作成功!")
+              this.refreshChange();
+            }
+          })
+        })
+      },
+      //跳转页面
       jumpPage(row){
         if(row.url){
             this.$router.$avueRouter.closeTag(row.url);
@@ -160,8 +187,8 @@
       searchReset() {
         console.log('1')
       },
-      selectionChange() {
-        console.log('1')
+      selectionChange(list) {
+        this.selectionList = list
       },
       currentChange() {
         console.log('1')

+ 10 - 0
src/views/financialManagement/paymentRequest/paymentRequest.vue

@@ -95,6 +95,16 @@
         this.$store.commit("PQ_IN_DETAIL");
       }
     },
+    activated() {
+      setTimeout(() => {
+        if(this.$route.query.check){
+          this.detailData={
+            check:this.$route.query.check
+          }
+          this.show = false;
+        }
+      }, 100);
+    },
     components:{
       detailPage
     },

+ 52 - 6
src/views/financialManagement/paymentRequest/paymentRequestDetails.vue

@@ -5,7 +5,7 @@
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
                    @click="backToList">返回列表
         </el-button>
-        <div class="upper_right_button">
+        <div v-if="!auditDisabled" class="upper_right_button">
           <el-button type="info"
                      size="small"
                      :loading="buttonLoading"
@@ -28,6 +28,24 @@
                      @click.stop="confirmEdit">确认修改
           </el-button>
         </div>
+        <div v-if="auditDisabled" class="upper_right_button">
+          <el-button type="success"
+                     size="small"
+                     class="el-button--small-yh"
+                     :loading="buttonLoading"
+                     :disabled="buttonDisabled"
+                     @click.stop="approveOperation(1)">
+            审核通过
+          </el-button>
+          <el-button type="warning"
+                     size="small"
+                     class="el-button--small-yh"
+                     :loading="buttonLoading"
+                     :disabled="buttonDisabled"
+                     @click.stop="approveOperation(2)">
+            审核驳回
+          </el-button>
+        </div>
       </div>
     </div>
     <div class="customer-main">
@@ -39,14 +57,14 @@
               v-model="form.corpId"
               @returnBack="returnBack"
               :configuration="configuration"
-              :disabled="checkDisabled"
+              :disabled="checkDisabled || auditDisabled"
             ></select-component>
           </template>
           <template slot="accountNo">
             <el-select v-model="form.accountNo"
                        placeholder="请选择"
                        @change="accountNoChange"
-                       :disabled="checkDisabled"
+                       :disabled="checkDisabled || auditDisabled"
                        clearable
                        filterable>
               <el-option v-for="(item,index) in form.bankList"
@@ -76,14 +94,14 @@
             <el-button
               type="text"
               size="small"
-              :disabled="checkDisabled"
+              :disabled="checkDisabled || auditDisabled"
               @click="rowCell(scope.row,scope.index)"
             >{{ scope.row.$cellEdit ? '修改完成' : '修改' }}
             </el-button>
             <el-button
               type="text"
               size="small"
-              :disabled="checkDisabled"
+              :disabled="checkDisabled || auditDisabled"
               @click.stop="rowDel(scope.row,scope.index)"
             >删除
             </el-button>
@@ -131,6 +149,7 @@
   import { contrastObj,contrastList } from "@/util/contrastData";
   import { getDetails,modify,submit, paymentCheck,getlistBankBy,saveOrEdit } from "@/api/financialManagement/paymentRequest";
   import _ from "lodash";
+  import { approvePass } from "@/api/approveData/main"
 
   export default {
     name: "paymentDetailsPage",
@@ -145,6 +164,8 @@
         itemForm: {},
         itemOption: itemOption,
         checkDisabled:false,
+        auditDisabled:false,
+        buttonDisabled:true,
         buttonLoading:false,
         parentId:0,
         id:"",
@@ -328,6 +349,19 @@
           this.buttonLoading = false
         })
       }
+      if(this.detailData.check){
+        //待审批状态才可选择通过或者驳回
+        if(this.detailData.check.auditStatus === "S"){
+          this.buttonDisabled = false
+        }
+        this.auditDisabled = true
+        this.buttonLoading = true;
+        getDetails(this.detailData.check.srcBillId).then(res => {
+          this.afterEcho(res.data.data)
+        }).finally(()=>{
+          this.buttonLoading = false;
+        })
+      }
     },
     methods: {
       //选择客户
@@ -345,6 +379,18 @@
           }
         })
       },
+      //审核操作
+      approveOperation(operate){
+        this.detailData.check.operate = operate
+        this.buttonLoading = true;
+        approvePass(this.detailData.check).then(res=>{
+          this.$message.success("操作成功!")
+
+          //操作成功之后需要 禁用通过驳回吗》‘
+        }).finally(()=>{
+          this.buttonLoading = false
+        })
+      },
       //选择费用
       returnBreak(breakValue){
 
@@ -477,7 +523,7 @@
 
         this.option.column.forEach(item =>{
           if( item.prop == "remark" ){
-            this.$set(item,"disabled",false)
+            this.$set(item,"disabled",(this.auditDisabled || false))
           }else if( item.prop == "createUserName" ||  item.prop == "createTime" ){
             this.$set(item,"disabled",true)
           }else{

+ 11 - 2
src/views/importTrade/invoice/detailsPageEdit.vue

@@ -162,7 +162,7 @@
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
               ></el-input>
-              <span v-else>{{ row.actualQuantity }}</span>
+              <span v-else>{{ row.actualQuantity | roundNumbers}}</span>
             </template>
             <template slot="contractAmount" slot-scope="{ row }">
               <el-input
@@ -214,7 +214,7 @@
               >
                 <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>
               </el-input>
-              <span v-else>{{ row.taxRate }}</span>
+              <span v-else>{{ row.taxRate | isPercentage}}</span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
               <el-button
@@ -290,6 +290,7 @@ import {detailInvoiceList,
 } from "@/api/importTrade/invoice"
 import {getDeptLazyTree } from "@/api/basicData/basicFeesDesc";
 import commodity from "./config/commodity.json"
+import { isPercentage,roundNumbers } from "@/util/validate";
 import {corpsbank, getList} from "@/api/basicData/deliveryNotice"
 import upLoadOption from "../../exportTrade/purchaseContract/config/uploadList.json";
 import { contrastObj,contrastList } from "@/util/contrastData";
@@ -310,6 +311,14 @@ export default {
   components: {
     marketDetail,
   },
+  filters: {
+    isPercentage(val) {
+      return isPercentage(val);
+    },
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   data() {
     return {
       form: {},

+ 9 - 0
src/views/importTrade/invoice/index.vue

@@ -67,6 +67,9 @@
       <template slot-scope="scope" slot="corpsName">
         <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row,scope.index)">{{ scope.row.corpsName }}</span>
       </template>
+      <template slot-scope="scope" slot="totalQuantity">
+        <span>{{ scope.row.totalQuantity | roundNumbers}}</span>
+      </template>
     </avue-crud>
   </basic-container>
   <detail-page
@@ -83,6 +86,7 @@ import {customerList, typeSave, deleteDetails} from "@/api/basicData/configurati
 import {selectInvoiceList,
   removeInvoiceList,} from "@/api/importTrade/invoice"
 import detailPage from "./detailsPageEdit.vue";
+import { roundNumbers } from "@/util/validate";
 
 export default {
   name: "customerInformation",
@@ -125,6 +129,11 @@ export default {
   components:{
     detailPage
   },
+  filters: {
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   async created() {
     // this.option = await this.getColumnData(this.getColumnName(43), option);
   },

+ 11 - 2
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -175,7 +175,7 @@
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
               ></el-input>
-              <span v-else>{{ row.actualQuantity }}</span>
+              <span v-else>{{ row.actualQuantity | roundNumbers}}</span>
             </template>
             <template slot="contractAmount" slot-scope="{ row }">
               <el-input
@@ -208,7 +208,7 @@
               >
                 <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>
               </el-input>
-              <span v-else>{{ row.taxRate }}</span>
+              <span v-else>{{ row.taxRate | isPercentage}}</span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
               <el-button
@@ -282,6 +282,7 @@ import {detailReceiptList,
   repealReceipt
 } from "@/api/importTrade/receipt"
 import upLoadOption from "../../exportTrade/purchaseContract/config/uploadList.json";
+import { isPercentage,roundNumbers } from "@/util/validate";
 import {detailListData } from "@/api/importTrade/purchase";
 import { contrastObj,contrastList } from "@/util/contrastData";
 import { getOrgOrderNo } from "@/api/importTrade/salesContract"
@@ -299,6 +300,14 @@ export default {
   components:{
     procurementDetail
   },
+  filters: {
+    isPercentage(val) {
+      return isPercentage(val);
+    },
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   data() {
     return {
       form: {},

+ 9 - 0
src/views/importTrade/receipt/index.vue

@@ -66,6 +66,9 @@
       <template slot-scope="scope" slot="corpsName">
         <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row,scope.index)">{{ scope.row.corpsName }}</span>
       </template>
+      <template slot-scope="scope" slot="totalQuantity">
+        <span>{{ scope.row.totalQuantity | roundNumbers}}</span>
+      </template>
     </avue-crud>
   </basic-container>
   <detail-page
@@ -82,6 +85,7 @@ import {customerList, typeSave, deleteDetails} from "@/api/basicData/configurati
 import {selectReceiptList,
   removeReceiptList,} from "@/api/importTrade/receipt"
 import detailPage from "./detailsPageEdit.vue";
+import { roundNumbers } from "@/util/validate";
 
 export default {
   name: "customerInformation",
@@ -121,6 +125,11 @@ export default {
       }
     }
   },
+  filters: {
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   components:{
     detailPage
   },

+ 14 - 0
src/views/purchase/contract/config/customerContact.json

@@ -72,6 +72,20 @@
       "width":150
     },
     {
+      "label": "箱号",
+      "prop": "cntrNo",
+      "cell": true,
+      "index": 4,
+      "width":100,
+      "rules": [
+        {
+          "required": true,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
       "label": "件数",
       "prop": "orderQuantity",
       "index": 4,

+ 32 - 58
src/views/purchase/contract/detailsPage.vue

@@ -5,7 +5,7 @@
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
                    @click="backToList">返回列表
         </el-button>
-      <div v-if="!checkDisabled"  class="upper_right_button">
+      <div  class="upper_right_button">
         <el-button type="primary"
                    size="small"
                    v-if="viewDisabled"
@@ -25,7 +25,7 @@
                    :loading="buttonLoading"
                    :disabled="!form.id  || viewDisabled"
                    @click="openApplicationDialog"
-        >查看申请记录
+        >查看付款记录
         </el-button>
         <el-button type="warning"
                    size="small"
@@ -51,22 +51,6 @@
         >{{form.id?'确认修改':'确认新增'}}
         </el-button>
       </div>
-        <div v-if="checkDisabled" class="upper_right_button">
-          <el-button type="success"
-                     size="small"
-                     class="el-button--small-yh"
-                     :loading="buttonLoading"
-                     @click.stop="approveOperation(1)">
-            审核通过
-          </el-button>
-          <el-button type="warning"
-                     size="small"
-                     class="el-button--small-yh"
-                     :loading="buttonLoading"
-                     @click.stop="approveOperation(2)">
-            审核驳回
-          </el-button>
-        </div>
     </div>
     </div>
     <div class="customer-main">
@@ -152,10 +136,10 @@
                 clearable
               >
                 <el-option
-                  v-for="(item,index) in row.specificationList"
+                  v-for="(item,index) in itemTypeList"
                   :key="index"
-                  :label="item.value"
-                  :value="item.value"
+                  :label="item"
+                  :value="item"
                 >
                 </el-option>
               </el-select>
@@ -171,7 +155,7 @@
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
               ></el-input>
-              <span v-else>{{ row.orderQuantity }}</span>
+              <span v-else>{{ row.orderQuantity | roundNumbers}}</span>
             </template>
             <template slot="price" slot-scope="{ row }">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
@@ -234,20 +218,23 @@
               >
                 <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>
               </el-input>
-              <span v-else>{{ row.taxRate }}</span>
+              <span v-else>{{ row.taxRate | isPercentage }}</span>
+            </template>
+            <template slot="actualQuantity" slot-scope="{ row }">
+              <span>{{ row.actualQuantity | roundNumbers}}</span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
               <el-button
                 type="text"
                 size="small"
-                :disabled="row.actualQuantity !=0 || checkDisabled || viewDisabled"
+                :disabled="row.actualQuantity !=0  || viewDisabled"
                 @click="rowCell(row,index)"
               >{{ row.$cellEdit ? '修改完成' : '修改' }}
               </el-button>
               <el-button
                 type="text"
                 size="small"
-                :disabled="row.actualQuantity !=0 || checkDisabled || viewDisabled"
+                :disabled="row.actualQuantity !=0 || viewDisabled"
                 @click="rowDel(row,index)"
               >删除
               </el-button>
@@ -256,14 +243,14 @@
               <el-button type="primary"
                          icon="el-icon-plus"
                          size="small"
-                         :disabled=" checkDisabled || viewDisabled"
+                         :disabled=" viewDisabled"
                          @click="commoditySelection"
               >录入明细
               </el-button>
               <el-button type="warning"
                          size="small"
 
-                         :disabled="selectContact.length == 0 || checkDisabled || viewDisabled"
+                         :disabled="selectContact.length == 0 ||  viewDisabled"
                          @click="beforePage(false)"
               >生成收货单
               </el-button>
@@ -273,22 +260,21 @@
         <fee-info
           ref="feeInfo"
           :orderFeesList="orderFeesList"
-          :disabled="checkDisabled || viewDisabled"
+          :disabled="viewDisabled"
           @beforeFinance="beforeFinance"
           feeUrl=""
         />
         <upload-file
           ref="uploadFile"
           title="合同附件"
-          :disabled="checkDisabled || viewDisabled"
+          :disabled="viewDisabled"
           :orderFilesList="orderFilesList"
           delUrl=""
         />
       </el-form>
     </div>
-
     <el-dialog
-      title="申请记录"
+      title="付款记录"
       append-to-body
       class="el-dialogDeep"
       :visible.sync="applicationDialog"
@@ -336,12 +322,12 @@ import {detailListData, submitData} from "@/api/importTrade/purchase";
 import feeInfo from "@/components/fee-info/main";
 import uploadFile from "@/components/upload-file/main";
 import _ from "lodash";
+import { isPercentage,roundNumbers } from "@/util/validate";
 import  billApplication from "@/components/bill/billApplication";
 //商品详情接口
 import { corpsattn } from "@/api/basicData/configuration"
 import { contrastObj,contrastList } from "@/util/contrastData";
 import ApplyPayment from "../../../components/finance/applyPayment";
-import { approvePass } from "@/api/approveData/main"
 
 export default {
   name: "detailsPage",
@@ -350,6 +336,14 @@ export default {
       type: Object
     }
   },
+  filters: {
+    isPercentage(val) {
+      return isPercentage(val);
+    },
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   components: {
     ApplyPayment,
     feeInfo,
@@ -363,15 +357,15 @@ export default {
       customerContact: {},
       contactsForm: {},
       contactsData: [],
+      itemTypeList:[],
       buttonLoading:false,
       applyPaymentDialog:false,
       applicationDialog:false,
       commodityData: false,
       takeDisabled:false, //收货状态
-      checkDisabled:false,
       viewDisabled:false,
       tableData: [],
-      billUrl:"/purchase/contract/index",
+      billUrl:"/financialManagement/paymentRequest/paymentRequest",
       billType:"",
       billData:{},
       contractTypeDic:[],
@@ -787,25 +781,16 @@ export default {
       }).finally(()=>{
         this.buttonLoading = false;
       })
-    } if(this.detailData.check){
-      this.checkDisabled = true
-      this.buttonLoading = true;
-      detailListData(this.detailData.check.billId).then(res => {
-        this.form = res.data.data;
-        this.afterEcho(res.data.data)
-      }).finally(()=>{
-        this.buttonLoading = false;
-      })
-    }
-    else{
+    } else{
       this.$set(this.form,"currency","USD")
       this.$set(this.form,"exchangeRate",6.3686)
     }
   },
   methods: {
     valueName(value,row){
-      this.$set(row,"priceCategory",value)
-      this.$set(row,"itemId",value)   //将id 赋值给itemId  提单号查询合同号时使用
+      this.itemTypeList = value.list
+      this.$set(row,"priceCategory",value.id)
+      this.$set(row,"itemId",value.id)   //将id 赋值给itemId  提单号查询合同号时使用
     },
     //单价
     priceChange(row) {
@@ -1101,17 +1086,6 @@ export default {
         this.applyPaymentDialog = true;
       }
     },
-    approveOperation(operate){
-      this.detailData.check.operate = operate
-      this.buttonLoading = true;
-      approvePass(this.detailData.check).then(res=>{
-        this.$message.success("操作成功!")
-
-        //操作成功之后需要 禁用通过驳回吗》‘
-      }).finally(()=>{
-        this.buttonLoading = false
-      })
-    },
     //新增商品明细保存触发
     rowSave(row, done, loading) {
       // this.contactsData.push(row)

+ 12 - 0
src/views/purchase/contract/index.vue

@@ -84,6 +84,12 @@
         <template slot-scope="scope" slot="strCorpName">
           <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row,scope.index)">{{ scope.row.strCorpName }}</span>
         </template>
+        <template slot-scope="scope" slot="orderQuantity">
+          <span>{{ scope.row.orderQuantity | roundNumbers}}</span>
+        </template>
+        <template slot-scope="scope" slot="actualQuantity">
+          <span>{{ scope.row.actualQuantity | roundNumbers}}</span>
+        </template>
       </avue-crud>
     </basic-container>
     <detail-page
@@ -98,6 +104,7 @@
 import option from "./config/mainList.json";
 import {selectPurchaseList,removeData,getItemByPid} from "@/api/importTrade/purchase";
 import detailPage from "./detailsPage.vue";
+import { roundNumbers } from "@/util/validate";
 
 export default {
   name: "index",
@@ -127,6 +134,11 @@ export default {
       },
     }
   },
+  filters: {
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   components:{
     detailPage
   },

+ 18 - 0
src/views/purchase/stockBill/index.vue

@@ -14,6 +14,18 @@
                @size-change="sizeChange"
                @refresh-change="refreshChange"
                @on-load="onLoad">
+      <template slot-scope="scope" slot="surplusRouteQuantity">
+        <span>{{ scope.row.surplusRouteQuantity | roundNumbers}}</span>
+      </template>
+      <template slot-scope="scope" slot="inQuantity">
+        <span>{{ scope.row.inQuantity | roundNumbers}}</span>
+      </template>
+      <template slot-scope="scope" slot="outQuantity">
+        <span>{{ scope.row.outQuantity | roundNumbers}}</span>
+      </template>
+      <template slot-scope="scope" slot="balanceQuantity">
+        <span>{{ scope.row.balanceQuantity | roundNumbers}}</span>
+      </template>
     </avue-crud>
   </basic-container>
 </template>
@@ -21,6 +33,7 @@
 <script>
   import option from "./config/mainList.json";
   import {customerList} from "@/api/basicData/inventoryAccount"
+  import { roundNumbers } from "@/util/validate";
 
   export default {
     data() {
@@ -41,6 +54,11 @@
         query:{},
       }
     },
+    filters: {
+      roundNumbers(val){
+        return roundNumbers(val);
+      }
+    },
     created() {
 
     },

+ 14 - 0
src/views/salesManagement/salesContract/config/importInventory.json

@@ -71,6 +71,20 @@
       "width":200
     },
     {
+      "label": "箱号",
+      "prop": "cntrNo",
+      "cell": true,
+      "index": 4,
+      "width":100,
+      "rules": [
+        {
+          "required": true,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
       "label": "件数",
       "prop": "orderQuantity",
       "index": 4,

+ 55 - 15
src/views/salesManagement/salesContract/detailsPage.vue

@@ -14,13 +14,12 @@
                    :loading="buttonLoading"
                    @click.stop="openDisabled()">编辑
         </el-button>
-<!--        <el-button type="primary"-->
-<!--                   size="small"-->
-<!--                   class="el-button&#45;&#45;small-yh"-->
-<!--                   :disabled="true"-->
-<!--                   :loading="buttonLoading"-->
-<!--                   @click.stop="">请核-->
-<!--        </el-button>-->
+        <el-button type="info"
+                   size="small"
+                   class="el-button--small-yh"
+                   :loading="buttonLoading"
+                   @click.stop="openApplicationDialog">查看收款记录
+        </el-button>
         <el-button type="warning"
                    size="small"
                    class="el-button--small-yh"
@@ -152,7 +151,7 @@
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
               ></el-input>
-              <span v-else>{{ row.orderQuantity }}</span>
+              <span v-else>{{ row.orderQuantity | roundNumbers}}</span>
             </template>
             <template slot="priceCategory" slot-scope="{row,index}">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
@@ -214,7 +213,10 @@
               >
                 <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>
               </el-input>
-              <span v-else>{{ row.taxRate }}</span>
+              <span v-else>{{ row.taxRate | isPercentage}}</span>
+            </template>
+            <template slot="actualQuantity" slot-scope="{ row }">
+              <span>{{ row.actualQuantity | roundNumbers}}</span>
             </template>
             <template slot="menuLeft" slot-scope="{ row }">
               <el-button type="primary"
@@ -311,6 +313,23 @@
       >
       </apply-payment>
     </el-dialog>
+    <el-dialog
+      title="收款记录"
+      append-to-body
+      class="el-dialogDeep"
+      :visible.sync="applicationDialog"
+      width="60%"
+      :close-on-click-modal="false"
+      :destroy-on-close="true"
+      :close-on-press-escape="false"
+      v-dialog-drag
+    >
+      <bill-application
+        :billId="form.id"
+        @choceApplication="choceApplication"
+      >
+      </bill-application>
+    </el-dialog>
   </div>
 </template>
 
@@ -334,8 +353,10 @@ import uploadFile from "@/components/upload-file/main";
 import { contrastObj,contrastList } from "@/util/contrastData";
 import _ from "lodash";
 import option from "./config/mainList.json";
+import { isPercentage,roundNumbers } from "@/util/validate";
 //账单组件
 import ApplyPayment from "../../../components/finance/applyPayment";
+import  billApplication from "@/components/bill/billApplication";
 
 export default {
   name: "detailsPage",
@@ -344,12 +365,27 @@ export default {
       type: Object
     }
   },
+  filters: {
+    isPercentage(val) {
+      return isPercentage(val);
+    },
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
+  components: {
+    ApplyPayment,
+    feeInfo,
+    uploadFile,
+    billApplication
+  },
   data() {
     return {
       disabled: false,
       buttonLoading:false,
       dialogCommodity: false,
       applySettlementDialog:false,
+      applicationDialog:false,
       viewDisabled:false,
       form: {},
       orderFeesList:[],
@@ -419,7 +455,7 @@ export default {
             prop: 'orderNo',
             rules: [
               {
-                required: false,
+                required: true,
                 message: ' ',
                 trigger: 'blur'
               }
@@ -756,11 +792,6 @@ export default {
       this.$set(this.form,"businesDate",strDate)
     }
   },
-  components: {
-    ApplyPayment,
-    feeInfo,
-    uploadFile
-  },
   methods: {
     valueName(value,row){
       this.$set(row,"priceCategory",value)
@@ -810,6 +841,14 @@ export default {
         row.amount = _.multiply(row.billWeight, row.price).toFixed(2);
       }
     },
+    //打开申请记录
+    openApplicationDialog(){
+      this.applicationDialog = true
+    },
+    //关闭申记录
+    choceApplication(){
+      this.applicationDialog = false
+    },
     beforeBillData(bool,type){
       this.billType = type
       this.billData = {
@@ -1067,6 +1106,7 @@ export default {
           row.itemId = res.data[0].itemId;
           row.priceCategoryNames  = res.data[0].itemName[0].cname
           row.priceCategory  = res.data[0].itemName[0].id
+          row.cntrNo  = res.data[0].cntrNo
         }else{
           this.$message.warning("无此提单号记录!");
           this.contractDic  = [];

+ 12 - 0
src/views/salesManagement/salesContract/index.vue

@@ -75,6 +75,12 @@
       <template slot-scope="scope" slot="corpsName">
         <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row,scope.index)">{{ scope.row.corpsName }}</span>
       </template>
+      <template slot-scope="scope" slot="orderQuantity">
+        <span>{{ scope.row.orderQuantity | roundNumbers}}</span>
+      </template>
+      <template slot-scope="scope" slot="actualQuantity">
+        <span>{{ scope.row.actualQuantity | roundNumbers}}</span>
+      </template>
     </avue-crud>
   </basic-container>
   <detail-page
@@ -89,6 +95,7 @@
 import option from "./config/mainList.json";
 import {selectSaleList,removeList,detailSaleList} from "@/api/importTrade/salesContract"
 import detailPage from "./detailsPage.vue";
+import { roundNumbers } from "@/util/validate";
 
 export default {
   name: "index",
@@ -121,6 +128,11 @@ export default {
   components:{
     detailPage
   },
+  filters: {
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   mounted() {
     // this.option.height = window.innerHeight - 200;
   },

+ 8 - 0
src/views/workManagement/receipt/settleAccounts.vue

@@ -103,6 +103,13 @@
       detailPage
     },
     created() {
+      if(this.$route.query.itemId){
+        this.detailData={
+          itemId:this.$route.query.itemId
+        }
+        this.show = false;
+        this.$store.commit("MAIN_IN_DETAIL");
+      }
       getUserList().then(res=>{
         res.data.data.map((item,index)=>{
           if(index <= 20){
@@ -146,6 +153,7 @@
           id: row.id
         };
         this.show = false;
+        this.$store.commit("MAIN_IN_DETAIL");
       },
       searchChange(params, done) {
         this.getList(this.page, params);

+ 1 - 0
src/views/workManagement/receipt/statisticalList.vue

@@ -131,6 +131,7 @@
           });
         }else{
           //关闭一下存在的列表页
+          ///workManagement/receipt/settleAccounts
           this.$router.$avueRouter.closeTag('/workManagement/main-items/list');
           this.$router.push({
             path: "/workManagement/main-items/list",