Browse Source

Merge branch 'dev' of http://git.echepei.com/caojunjie/Smart_platform_ui into dev

QuKatie 3 years ago
parent
commit
cbb85811e6
43 changed files with 1031 additions and 393 deletions
  1. 11 0
      src/api/approveData/main.js
  2. 11 4
      src/components/fee-info/config/feeInfo.json
  3. 26 6
      src/components/fee-info/main.vue
  4. 15 5
      src/components/goodsSelect/index.vue
  5. 8 1
      src/components/procurement/config/market.json
  6. 9 2
      src/components/procurement/config/purchase.json
  7. 43 43
      src/components/titleComponent/main.vue
  8. 1 1
      src/store/modules/ifdetail.js
  9. 6 1
      src/util/validate.js
  10. 1 1
      src/views/approveData/configuration/mainList.json
  11. 33 6
      src/views/approveData/index.vue
  12. 65 0
      src/views/basicData/customerInformation/configuration/addressOption.json
  13. 50 1
      src/views/basicData/customerInformation/detailsPageEdit.vue
  14. 6 1
      src/views/basicData/productInformation/detailsPageEdit.vue
  15. 25 11
      src/views/businessManagement/deliveryNotice/configuration/commodity.json
  16. 106 18
      src/views/businessManagement/deliveryNotice/detailsPageEdit.vue
  17. 25 11
      src/views/businessManagement/purchaseOrder/configuration/commodity.json
  18. 16 0
      src/views/businessManagement/purchaseOrder/detailsPageEdit.vue
  19. 25 11
      src/views/businessManagement/receipt/configuration/commodity.json
  20. 23 10
      src/views/businessManagement/salesOrder/configuration/commodity.json
  21. 85 7
      src/views/businessManagement/salesOrder/detailsPageEdit.vue
  22. 10 0
      src/views/financialManagement/paymentRequest/paymentRequest.vue
  23. 54 6
      src/views/financialManagement/paymentRequest/paymentRequestDetails.vue
  24. 1 0
      src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue
  25. 0 25
      src/views/importTrade/invoice/config/customerContact.json
  26. 1 0
      src/views/importTrade/invoice/config/mainList.json
  27. 61 36
      src/views/importTrade/invoice/detailsPageEdit.vue
  28. 10 1
      src/views/importTrade/invoice/index.vue
  29. 0 32
      src/views/importTrade/receipt/config/customerContact.json
  30. 1 0
      src/views/importTrade/receipt/config/mainList.json
  31. 13 37
      src/views/importTrade/receipt/detailsPageEdit.vue
  32. 10 1
      src/views/importTrade/receipt/index.vue
  33. 14 0
      src/views/purchase/contract/config/customerContact.json
  34. 1 1
      src/views/purchase/contract/config/mainList.json
  35. 87 81
      src/views/purchase/contract/detailsPage.vue
  36. 13 1
      src/views/purchase/contract/index.vue
  37. 18 0
      src/views/purchase/stockBill/index.vue
  38. 14 0
      src/views/salesManagement/salesContract/config/importInventory.json
  39. 1 1
      src/views/salesManagement/salesContract/config/mainList.json
  40. 110 30
      src/views/salesManagement/salesContract/detailsPage.vue
  41. 13 1
      src/views/salesManagement/salesContract/index.vue
  42. 8 0
      src/views/workManagement/receipt/settleAccounts.vue
  43. 1 0
      src/views/workManagement/receipt/statisticalList.vue

+ 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
+    },
+  })
+}
+

+ 11 - 4
src/components/fee-info/config/feeInfo.json

@@ -57,10 +57,9 @@
       "width": 150
     },
     {
-      "label": "计价单位",
-      "prop": "unit",
-      "index": 6,
-      "cell": true,
+      "label": "结算金额",
+      "prop": "settlmentAmount",
+      "index": 5,
       "overHidden": true,
       "width": 150
     },
@@ -79,6 +78,14 @@
       "width": 150
     },
     {
+      "label": "计价单位",
+      "prop": "unit",
+      "index": 9,
+      "slot": true,
+      "overHidden": true,
+      "width": 150
+    },
+    {
       "label": "备注",
       "prop": "remarks",
       "index": 9,

+ 26 - 6
src/components/fee-info/main.vue

@@ -24,7 +24,7 @@
             size="small"
             @click.stop="rowAdd"
             :disabled="disabled"
-            >新增</el-button
+            >录入明细</el-button
           >
           <el-button
             type="warning"
@@ -152,6 +152,24 @@
           </el-select>
           <span v-else>{{ row.currency }}</span>
         </template>
+        <template slot="unit" slot-scope="{ row }">
+          <el-select
+            v-if="row.$cellEdit"
+            v-model="row.unit"
+            filterable
+            placeholder="请输入"
+            size="small"
+          >
+            <el-option
+              v-for="(item, index) in unitList"
+              :key="index"
+              :label="item.dictValue"
+              :value="item.dictValue"
+            >
+            </el-option>
+          </el-select>
+          <span v-else>{{ row.unit }}</span>
+        </template>
       </avue-crud>
     </basic-container>
     <el-dialog
@@ -270,6 +288,7 @@ export default {
       selectionList: [],
       reData: null,
       currencyList: [],
+      unitList:[],
       breakConfiguration:{
         multipleChoices:false,
         multiple:false,
@@ -320,6 +339,9 @@ export default {
     this.getWorkDicts("currency").then(res => {
       this.currencyList = res.data.data;
     });
+    this.getWorkDicts("unit").then(res =>{
+      this.unitList = res.data.data
+    })
   },
   components: {
     cropDialog,
@@ -329,7 +351,7 @@ export default {
     //选择费用
     selectValue(value,row){
       this.$set(row,"feeName",value.cname)
-      this.$set(row,"unit",value.unitno)
+      // this.$set(row,"unit",value.unitno)
       this.$set(row,"currency",value.fcyno)
       this.currencyChange(row)
     },
@@ -509,7 +531,7 @@ export default {
                 item.corpId = this.reData.corpId;
                 item.feeName = e.cname;
                 item.price = this.reData.price;
-                item.unit = e.unitno;
+                // item.unit = e.unitno;
                 item.quantity = this.reData.quantity;
                 item.amount = this.reData.amount;
                 item.currency = e.fcyno;
@@ -527,7 +549,7 @@ export default {
             corpId: null,
             feeName: e.cname,
             price: 0,
-            unit: e.unitno,
+            // unit: e.unitno,
             quantity: 0,
             amount: 0,
             currency: e.fcyno,
@@ -657,11 +679,9 @@ export default {
   watch: {
     orderFeesList: function(rows) {
       this.allData = rows ? rows : [];
-      console.log(777)
       if(this.allData.length !=0){
         this.data_one=this.allData.filter(item=>item.feesType === 1)  //应收
         this.data_two=this.allData.filter(item=>item.feesType === 2)  //应付
-        console.log(this.isUpdata)
         if(this.isUpdata){
           if(this.selectTab == 1){
             this.feeData = this.data_one

+ 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) {

+ 8 - 1
src/components/procurement/config/market.json

@@ -89,7 +89,14 @@
       "index": 8,
       "width":120,
       "overHidden": true
-    },{
+    },
+    {
+      "label": "箱号",
+      "prop": "cntrNo",
+      "index": 8,
+      "width":120
+    },
+    {
       "label": "件数",
       "prop": "orderQuantity",
       "index": 9,

+ 9 - 2
src/components/procurement/config/purchase.json

@@ -51,8 +51,15 @@
       "prop": "itemType",
       "index": 5,
       "width":120
-    },{
-      "label": "数量",
+    },
+    {
+      "label": "箱号",
+      "prop": "cntrNo",
+      "index": 5,
+      "width":120
+    },
+    {
+      "label": "件数",
       "prop": "orderQuantity",
       "index": 6,
       "width":120

+ 43 - 43
src/components/titleComponent/main.vue

@@ -1,43 +1,43 @@
-<template>
-  <div class="container">
-    <div class="redcolumn"></div>
-    <div class="container-title">{{ title }}</div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: "containerTitle",
-  props: {
-    title: ""
-  }
-};
-</script>
-
-<style lang="scss" scoped>
-.container {
-  display: flex;
-  justify-content: left;
-  margin-left: 10px;
-  background-color: inherit;
-  height: 18px;
-  // padding-bottom: 12px;
-  vertical-align: middle;
-  .redcolumn {
-    width: 4px;
-    height: 13px;
-    background-color: #d6000f;
-    margin: 2px 4px 0 0;
-  }
-  .container-title {
-    font-size: 14px;
-    line-height: 18px;
-    font-family: PingFangSC-Semibold, PingFang SC;
-    font-weight: 600;
-    color: #323233;
-  }
-}
-// .container:first-child {
-//   padding-top: 16px;
-// }
-</style>
+<template>
+  <div class="container">
+    <div class="redcolumn"></div>
+    <div class="container-title">{{ title }}</div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "containerTitle",
+  props: {
+    title: ""
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.container {
+  display: flex;
+  justify-content: left;
+  margin-left: 10px;
+  background-color: inherit;
+  height: 18px;
+  // padding-bottom: 12px;
+  vertical-align: middle;
+  .redcolumn {
+    width: 4px;
+    height: 13px;
+    background-color: #d6000f;
+    margin: 2px 4px 0 0;
+  }
+  .container-title {
+    font-size: 12px;
+    line-height: 18px;
+    font-family: PingFangSC-Semibold, PingFang SC;
+    font-weight: 600;
+    color: #323233;
+  }
+}
+// .container:first-child {
+//   padding-top: 16px;
+// }
+</style>

+ 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')

+ 65 - 0
src/views/basicData/customerInformation/configuration/addressOption.json

@@ -0,0 +1,65 @@
+{
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "searchMenuSpan": 6,
+  "dialogWidth": "60%",
+  "tree": true,
+  "border": true,
+  "index": true,
+  "selection": true,
+  "menuWidth": 180,
+  "dialogClickModal": false,
+  "column": [
+    {
+      "label": "客户",
+      "prop": "a",
+      "index": 1,
+      "width":240,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入账户名称",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "联系人",
+      "prop": "b",
+      "index": 2,
+      "width":200,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入账户名称",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "电话",
+      "prop": "c",
+      "index": 3,
+      "width":200,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入账户名称",
+          "trigger": "blur"
+        }
+      ]
+    },{
+      "label": "地址",
+      "prop": "d",
+      "index": 4,
+      "width":350,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入账户名称",
+          "trigger": "blur"
+        }
+      ]
+    }
+  ]
+}

+ 50 - 1
src/views/basicData/customerInformation/detailsPageEdit.vue

@@ -199,6 +199,17 @@
             @row-del="rowDelBankOfDeposit"
           ></avue-crud>
         </basic-container>
+        <containerTitle title="收发货地址"></containerTitle>
+        <basic-container>
+          <avue-crud
+            :option="addressOption"
+            v-model="addressForm"
+            :data="addressData"
+            @row-save="rowSaveAddress"
+            @row-update="rowUpdateAddress"
+            @row-del="rowDelAddress"
+          ></avue-crud>
+        </basic-container>
       </el-form>
     </div>
     <flow-dialog :switchDialog="switchDialog" @onClose="onClose()">
@@ -226,6 +237,7 @@ import bankOfDeposit from "./configuration/bankOfDeposit.json";
 import flowDialog from "@/components/flow-dialog/main";
 import { customerParameter } from "@/enums/management-type";
 import { gainUser } from "@/api/basicData/customerInquiry";
+import addressOption from "./configuration/addressOption.json";
 export default {
   name: "detailsPage",
   data() {
@@ -543,7 +555,10 @@ export default {
           }
         ]
       },
-      paymentOption: []
+      paymentOption: [],
+      addressOption: addressOption,
+      addressForm: {},
+      addressData: []
     };
   },
   components: {
@@ -701,6 +716,40 @@ export default {
         }
       });
     },
+    //新增收发货地址保存触发
+    rowSaveAddress(row, done, loading) {
+      console.log(row, done, loading);
+      this.addressData.push(row);
+      done();
+    },
+    //修改收发货地址优势项目触发
+    rowUpdateAddress(row, index, done, loading) {
+      done(row);
+    },
+    //删除收发货地址优势项目触发
+    rowDelAddress(row, index, donerowDel) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (row.id) {
+          corpsbank(row.id).then(res => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.addressData.splice(index, 1);
+          });
+        } else {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.addressData.splice(index, 1);
+        }
+      });
+    },
     //修改提交触发
     editCustomer() {
       this.$refs["form"].validate(valid => {

+ 6 - 1
src/views/basicData/productInformation/detailsPageEdit.vue

@@ -275,7 +275,12 @@ export default {
           },
           {
             label: "积分倍数",
-            prop: "a",
+            prop: "integralMultiples",
+            span: 8
+          },
+          {
+            label: "兑换积分",
+            prop: "integral",
             span: 8
           },
           {

+ 25 - 11
src/views/businessManagement/deliveryNotice/configuration/commodity.json

@@ -21,6 +21,7 @@
       "prop": "code",
       "search": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -34,6 +35,7 @@
       "prop": "cname",
       "slot": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -48,6 +50,7 @@
       "hide": true,
       "addDisabled": false,
       "multiple": true,
+      "overHidden": true,
       "rules": [{
         "required": true,
         "message": " ",
@@ -57,47 +60,56 @@
     {
       "label": "规格编码",
       "prop": "typeno",
-      "search": false
+      "search": false,
+      "overHidden": true
     },
     {
       "label": "品牌",
       "prop": "brand",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "花纹",
       "prop": "brandItem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "商品图片",
@@ -111,12 +123,14 @@
         "url": "link"
       },
       "hide": true,
-      "span": 24
+      "span": 24,
+      "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     }
   ]
 }

+ 106 - 18
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -118,7 +118,7 @@
           <avue-crud
               :option="customerContact"
               v-model="contactsForm"
-              :data="contactsData"
+              :data="goodsShowData"
               ref="crudContact"
               @row-save="rowSave"
               @row-click="handleRowClick"
@@ -149,13 +149,12 @@
               >删 除</el-button>
             </template>
             <template slot="menuLeft" slot-scope="{size}">
-<!--              <el-button type="primary"-->
-<!--                         icon="el-icon-plus"-->
-<!--                         size="small"-->
-<!--                         @click="commoditySelection"-->
-<!--                         :disabled="detailData.seeDisabled"-->
-<!--              >录入明细-->
-<!--              </el-button>-->
+              <el-tabs v-model="goodsActives" @tab-click="handleClick">
+                <el-tab-pane label="商品" name="goods" :key="'first'" :disabled="goodsDisabled">
+                </el-tab-pane>
+                <el-tab-pane label="赠品" name="gift" :key="'second'" :disabled="goodsDisabled">
+                </el-tab-pane>
+              </el-tabs>
               <el-button type="primary"
                          icon="el-icon-plus"
                          size="small"
@@ -753,6 +752,12 @@ export default {
       rowHeight: '',
       // 查询时loading页面
       pageLoading: false,
+      goodsActives: 'goods',
+      goodsDisabled: false,
+      // 赠品信息数据
+      giftData: [],
+      // 商品信息展示数据
+      goodsShowData: [],
     }
   },
   mounted() {
@@ -815,7 +820,29 @@ export default {
       delete this.form.createTime
       delete this.form.id
       delete this.form.sysNo
-      this.contactsData = this.form.orderItemsList
+      this.contactsData = this.form.orderItemsList.filter(item => {
+        return item.goodType == 0
+      })
+      this.giftData = this.form.orderItemsList.filter(item => {
+        return item.goodType == 1
+      })
+      this.giftData.forEach(item => {
+        this.$set(item, 'deliveryAmount', item.amount)
+        this.$set(item, 'specificationAndModel', item.itemType)
+        this.$set(item, 'orgOrderNo', this.form.orgOrderNo)
+        this.$set(item, "srcId", item.id)
+        delete item.id
+        delete item.pid
+        delete item.createTime
+        delete item.createUser
+        delete item.status
+        delete item.updateTime
+        delete item.updateUser
+      })
+      this.goodsShowData = this.giftData;
+      this.goodsActives = 'goods';
+      this.handleClick({name: this.goodsActives})
+      // this.contactsData = this.form.orderItemsList
       delete this.form.orderItemsList
       this.configuration.dicData = this.form.corpName
       delete this.form.corpName
@@ -859,6 +886,11 @@ export default {
         this.$set(item, 'scale', (item.deliveryAmount / item.actualQuantity))
         delete item.id
         delete item.pid
+        delete item.createTime
+        delete item.createUser
+        delete item.status
+        delete item.updateTime
+        delete item.updateUser
       })
     } else if (this.detailData.copyId) {
       let id = this.detailData.copyId
@@ -870,9 +902,20 @@ export default {
   methods: {
     queryData(id, isCopy = false) {
       detail(id).then(res => {
-        console.log(res.data.data)
         this.form = res.data.data;
-        this.contactsData = this.form.deliveryItemsList
+        // this.contactsData = this.form.deliveryItemsList
+        this.contactsData = this.form.deliveryItemsList.filter(item => {
+          return item.goodType == 0
+        })
+        this.giftData = this.form.deliveryItemsList.filter(item => {
+          return item.goodType == 1
+        })
+        this.giftData.forEach(item => {
+          this.$set(item, 'deliveryAmount', item.amount)
+        })
+        this.goodsShowData = this.giftData;
+        this.goodsActives = 'goods';
+        this.handleClick({name: this.goodsActives})
         this.advantageProjectData = this.form.deliveryFeesList
         this.bankOfDepositData = this.form.deliveryFilesList
         this.configuration.dicData = this.form.corpName
@@ -1322,15 +1365,15 @@ export default {
       this.$refs["form"].validate((valid) => {
         if (valid) {
           //商品信息
-          this.form.deliveryItemsList = this.contactsData
+          this.contactsData.forEach(item => {
+            this.$set(item, 'contractAmount', item.deliveryAmount)
+          })
+          this.form.deliveryItemsList = this.contactsData.concat(this.giftData)
           this.form.deliveryFeesList = this.advantageProjectData
           this.form.deliveryFilesList = this.bankOfDepositData
           if (typeof this.form.corpsTypeId == 'object') {
             this.form.corpsTypeId = this.form.corpsTypeId.join(",")
           }
-          this.contactsData.forEach(item => {
-            this.$set(item, 'contractAmount', item.deliveryAmount)
-          })
           this.saveLoading = true
           this.form.billType = 'FH'
           typeSave(this.form).then(res => {
@@ -1344,7 +1387,7 @@ export default {
             }
             if (type == '发货') {
               this.$nextTick(() => {
-                this.form.deliveryItemsList = this.contactsData
+                this.form.deliveryItemsList = this.contactsData.concat(this.giftData)
                 this.form.deliveryFeesList = this.advantageProjectData
                 this.form.deliveryFilesList = this.bankOfDepositData
                 if (typeof this.form.corpsTypeId == 'object') {
@@ -1414,7 +1457,7 @@ export default {
             })
           } else {
             //商品信息
-            this.form.deliveryItemsList = this.contactsData
+            this.form.deliveryItemsList = this.contactsData.concat(this.giftData)
             this.form.deliveryFeesList = this.advantageProjectData
             this.form.deliveryFilesList = this.bankOfDepositData
             if (typeof this.form.corpsTypeId == 'object') {
@@ -1461,7 +1504,11 @@ export default {
       list.forEach(item => {
         item.cname = item.cname
         this.$set(item, 'specificationAndModel', item.itemType)
-        this.$set(item, 'deliveryAmount', item.amount)
+        if (this.goodsActives == 'goods') {
+          this.$set(item, 'deliveryAmount', item.amount)
+        } else {
+          this.$set(item, 'deliveryAmount', 0)
+        }
         this.$set(item, 'actualQuantity', item.orderQuantity)
         this.$set(item, 'inventoryNumber', item.storageQuantity)
         delete item.id
@@ -1526,6 +1573,47 @@ export default {
         })
       })
     },
+    // 商品信息标签页切换
+    handleClick(data) {
+      this.goodsDisabled = true
+      if (data.name == 'goods') {
+        this.giftData = this.goodsShowData
+        // 显示
+        this.customerContact.column.forEach(item => {
+          if (item.prop == 'deliveryAmount') item.label = '出库金额'
+          if (item.prop == 'actualQuantity') item.label = '出库数量'
+          if (item.prop == 'priceType' || item.prop == 'code' || item.prop == 'typeno' || item.prop == 'corpId'
+            || item.prop == 'packageRemarks' || item.prop == 'invoiceWeight'
+            || item.prop == 'inventoryNumber' || item.prop == 'inventoryAmount'
+          ) {
+            item.hide = false;
+            item.showColumn = true;
+          }
+        })
+        this.goodsShowData = this.contactsData;
+        setTimeout(() => {
+          this.goodsDisabled = false
+        },500)
+      } else {
+        // 隐藏字段
+        this.contactsData = this.goodsShowData
+        this.customerContact.column.forEach(item => {
+          if (item.prop == 'deliveryAmount') item.label = '积分'
+          if (item.prop == 'actualQuantity') item.label = '数量'
+          if (item.prop == 'priceType' || item.prop == 'code' || item.prop == 'typeno' || item.prop == 'corpId'
+            || item.prop == 'packageRemarks' || item.prop == 'invoiceWeight' || item.prop == 'inventoryNumber'
+            || item.prop == 'inventoryAmount'
+          ) {
+            item.hide = true;
+            item.showColumn = false;
+          }
+        })
+        this.goodsShowData = this.giftData;
+        setTimeout(() => {
+          this.goodsDisabled = false
+        },500)
+      }
+    },
   }
 }
 </script>

+ 25 - 11
src/views/businessManagement/purchaseOrder/configuration/commodity.json

@@ -21,6 +21,7 @@
       "prop": "code",
       "search": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -35,6 +36,7 @@
       "search": true,
       "slot": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -49,6 +51,7 @@
       "hide": true,
       "addDisabled": false,
       "multiple": true,
+      "overHidden": true,
       "rules": [{
         "required": true,
         "message": " ",
@@ -58,47 +61,56 @@
     {
       "label": "规格编码",
       "prop": "typeno",
-      "search": false
+      "search": false,
+      "overHidden": true
     },
     {
       "label": "品牌",
       "prop": "brand",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "花纹",
       "prop": "brandItem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "商品图片",
@@ -112,12 +124,14 @@
         "url": "link"
       },
       "hide": true,
-      "span": 24
+      "span": 24,
+      "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     }
   ]
 }

+ 16 - 0
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -93,6 +93,7 @@
                   v-else-if="item.prop === 'corpId'"
                   v-model="form[item.prop]"
                   corpType="GYS"
+                  @getCorpData="returnBack"
                   :disabled="detailData.seeDisabled"
                 ></crop-select>
                 <el-select v-else-if="item.prop === 'banks'"
@@ -1435,6 +1436,21 @@ export default {
         }
       }
     },
+    returnBack(row) {
+      this.$set(this.form, 'paymentType', row.paymentType)
+      this.$set(this.form, 'packageRemarks', row.packageRemarks)
+      getlistBankBy(row.id).then(res =>{
+        this.$set(this.form, 'banks', null)
+        this.$set(this.form, 'banksAccountName', null)
+        this.$set(this.form, 'accountBank', null)
+        this.bankList = res.data
+        if (this.bankList.length > 0) {
+          this.form.banks = this.bankList[0].accountNo
+          this.form.banksAccountName = this.bankList[0].accountName
+          this.form.accountBank = this.bankList[0].accountBank
+        }
+      })
+    },
     // 银行账号变化
     banksChange(val) {
       let isTrue = false

+ 25 - 11
src/views/businessManagement/receipt/configuration/commodity.json

@@ -21,6 +21,7 @@
       "prop": "code",
       "search": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -34,6 +35,7 @@
       "prop": "cname",
       "slot": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -48,6 +50,7 @@
       "hide": true,
       "addDisabled": false,
       "multiple": true,
+      "overHidden": true,
       "rules": [{
         "required": true,
         "message": " ",
@@ -57,47 +60,56 @@
     {
       "label": "规格编码",
       "prop": "typeno",
-      "search": false
+      "search": false,
+      "overHidden": true
     },
     {
       "label": "品牌",
       "prop": "brand",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "花纹",
       "prop": "brandItem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "providers",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "商品图片",
@@ -111,12 +123,14 @@
         "url": "link"
       },
       "hide": true,
-      "span": 24
+      "span": 24,
+      "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     }
   ]
 }

+ 23 - 10
src/views/businessManagement/salesOrder/configuration/commodity.json

@@ -24,6 +24,7 @@
       "prop": "code",
       "search": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -38,6 +39,7 @@
       "slot": true,
       "search": true,
       "width": 100,
+      "overHidden": true,
       "rules": [
         {
           "required": true,
@@ -52,6 +54,7 @@
       "hide": true,
       "addDisabled": false,
       "multiple": true,
+      "overHidden": true,
       "rules": [{
         "required": true,
         "message": " ",
@@ -61,47 +64,56 @@
     {
       "label": "规格",
       "prop": "typeno",
-      "search": false
+      "search": false,
+      "overHidden": true
     },
     {
       "label": "品牌",
       "prop": "brand",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "花纹",
       "prop": "brandItem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "规格尺寸",
       "prop": "specs",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品类别",
       "prop": "category",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "产品分类",
       "prop": "categoryitem",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "corpName",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "计量单位",
       "prop": "unit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "包装单位",
       "prop": "packgeunit",
-      "slot": true
+      "slot": true,
+      "overHidden": true
     },
     {
       "label": "商品图片",
@@ -115,7 +127,8 @@
         "url": "link"
       },
       "hide": true,
-      "span": 24
+      "span": 24,
+      "overHidden": true
     },
     {
       "label": "备注",

+ 85 - 7
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -201,7 +201,7 @@
           <avue-crud
               :option="customerContact"
               v-model="contactsForm"
-              :data="contactsData"
+              :data="goodsShowData"
               ref="crudContact"
               @row-save="rowSave"
               @row-click="handleRowClick"
@@ -302,6 +302,12 @@
               >删 除</el-button>
             </template>
             <template slot="menuLeft" slot-scope="{size}">
+              <el-tabs v-model="goodsActives" @tab-click="handleClick">
+                <el-tab-pane label="商品" name="goods" :key="'first'" :disabled="goodsDisabled">
+                </el-tab-pane>
+                <el-tab-pane label="赠品" name="gift" :key="'second'" :disabled="goodsDisabled">
+                </el-tab-pane>
+              </el-tabs>
               <el-button type="primary"
                          icon="el-icon-plus"
                          size="small"
@@ -312,25 +318,30 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="policy"
-                         :disabled="detailData.seeDisabled || !form.corpId">政策
+                         :disabled="detailData.seeDisabled || !form.corpId"
+                         v-show="goodsActives == 'goods'"
+              >政策
               </el-button>
               <el-button type="warning"
                          icon="el-icon-plus"
                          size="small"
                          :disabled="selection.length < 1 || detailData.seeDisabled"
-                         @click="getShipmentD">生成发货单
+                         @click="getShipmentD"
+                         v-show="goodsActives == 'goods'">生成发货单
               </el-button>
               <el-button type="info"
                          :size="size"
                          icon="el-icon-printer"
                          :disabled="detailData.seeDisabled"
                          @click.stop="openReport()"
+                         v-show="goodsActives == 'goods'"
               >报 表</el-button>
               <el-button
                 type="primary"
                 size="small"
                 icon="el-icon-download"
                 @click="downloadHandle"
+                v-show="goodsActives == 'goods'"
               >下载模板</el-button>
               <el-upload
                 :action="baseURL"
@@ -347,6 +358,7 @@
                   type="primary"
                   size="small"
                   icon="el-icon-upload"
+                  v-show="goodsActives == 'goods'"
                 >导 入</el-button>
               </el-upload>
             </template>
@@ -1046,7 +1058,7 @@ export default {
               }
             ]
           }, {
-            label: '积分倍数',
+            label: '积分余额',
             prop: 'pointMutiple',
             rules: [
               {
@@ -1320,6 +1332,12 @@ export default {
       goodsListSave: [],
       goodsListTotal: 0,
       goodsListSaveTotal: 0,
+      goodsActives: 'goods',
+      goodsDisabled: false,
+      // 赠品信息数据
+      giftData: [],
+      // 商品信息展示数据
+      goodsShowData: [],
     }
   },
   mounted() {
@@ -1385,7 +1403,16 @@ export default {
       this.pageLoading = true
       detail(id).then(res => {
         this.form = res.data.data;
-        this.contactsData = this.form.orderItemsList
+        this.contactsData = this.form.orderItemsList.filter(item => {
+          return item.goodType == 0
+        })
+        this.giftData = this.form.orderItemsList.filter(item => {
+          return item.goodType == 1
+        })
+        this.goodsShowData = this.giftData;
+        this.goodsActives = 'goods';
+        this.handleClick({name: this.goodsActives})
+        // this.contactsData = this.form.orderItemsList
         this.advantageProjectData = this.form.orderFeesList
         this.bankOfDepositData = this.form.orderFilesList
         this.configuration.dicData = this.form.corpName
@@ -1677,6 +1704,7 @@ export default {
           });
         })
       } else {
+        this.selection = this.selection.concat(this.giftData)
         this.selection.forEach(item => {
           lsit.push(item.id)
         })
@@ -1876,6 +1904,11 @@ export default {
               }
             })
             this.goodsListSave[item].amount = 0
+            if (this.goodsActives == "goods") {
+              this.$set(this.goodsListSave[item], 'goodType', 0)
+            } else {
+              this.$set(this.goodsListSave[item], 'goodType', 1)
+            }
             this.goodsListSave[item].sort = this.maxGoodsNum + 1
             if (this.form.packageRemarks) {
               this.goodsListSave[item].packageRemarks = this.form.packageRemarks
@@ -1925,6 +1958,11 @@ export default {
                 }
               })
               this.tableData[item].amount = 0
+              if (this.goodsActives == "goods") {
+                this.$set(this.tableData[item], 'goodType', 0)
+              } else {
+                this.$set(this.tableData[item], 'goodType', 1)
+              }
               this.tableData[item].sort = this.maxGoodsNum + 1
               if (this.form.packageRemarks) {
                 this.tableData[item].packageRemarks = this.form.packageRemarks
@@ -2298,7 +2336,6 @@ export default {
           }
           let packFee;
           if (this.form.packageRemarks) {
-            console.log(this.advantageProjectData)
             packFee = this.advantageProjectData.findIndex(item => item.feeName == '包装费')
           }
           if (packFee == -1) {
@@ -2322,7 +2359,8 @@ export default {
             this.$set(this.form, "balanceAmount", (Number(this.form.orderAmount) - Number(this.form.settlmentAmount)).toFixed(2));
           }
           //商品信息
-          this.form.orderItemsList = this.contactsData
+          this.form.orderItemsList = this.contactsData.concat(this.giftData)
+          console.log(this.form.orderItemsList)
           this.form.orderFeesList = this.advantageProjectData
           this.form.orderFilesList = this.bankOfDepositData
           if (typeof this.form.corpsTypeId == 'object') {
@@ -2340,6 +2378,7 @@ export default {
             }
             if (type == '发货') {
               let lsit = []
+              this.selection = this.selection.concat(this.giftData)
               this.selection.forEach(item => {
                 lsit.push(item.id)
               })
@@ -2542,6 +2581,45 @@ export default {
     importStagList(row, index) {
       this.goodsListSave.push(row);
     },
+    // 商品信息标签页切换
+    handleClick(data) {
+      this.goodsDisabled = true
+      if (data.name == 'goods') {
+        this.giftData = this.goodsShowData
+        // 显示
+        this.customerContact.column.forEach(item => {
+          if (item.prop == 'amount') item.label = '金额'
+          if (item.prop == 'priceType' || item.prop == 'code' || item.prop == 'typeno' || item.prop == 'corpId'
+            || item.prop == 'orderQuantity' || item.prop == 'actualQuantity' || item.prop == 'storageQuantity'
+            || item.prop == 'purchaseAmount' || item.prop == 'price'
+          ) {
+            item.hide = false;
+            item.showColumn = true;
+          }
+        })
+        this.goodsShowData = this.contactsData;
+        setTimeout(() => {
+          this.goodsDisabled = false
+        },500)
+      } else {
+        // 隐藏字段
+        this.contactsData = this.goodsShowData
+        this.customerContact.column.forEach(item => {
+          if (item.prop == 'amount') item.label = '积分'
+          if (item.prop == 'priceType' || item.prop == 'code' || item.prop == 'typeno' || item.prop == 'corpId'
+            || item.prop == 'orderQuantity' || item.prop == 'actualQuantity' || item.prop == 'storageQuantity'
+            || item.prop == 'purchaseAmount' || item.prop == 'price'
+          ) {
+            item.hide = true;
+            item.showColumn = false;
+          }
+        })
+        this.goodsShowData = this.giftData;
+        setTimeout(() => {
+          this.goodsDisabled = false
+        },500)
+      }
+    },
   }
 }
 </script>

+ 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
     },

+ 54 - 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,15 +57,17 @@
               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
+                       allow-create
+                       default-first-option
                        filterable>
               <el-option v-for="(item,index) in form.bankList"
                          :key="index"
@@ -76,14 +96,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 +151,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 +166,8 @@
         itemForm: {},
         itemOption: itemOption,
         checkDisabled:false,
+        auditDisabled:false,
+        buttonDisabled:true,
         buttonLoading:false,
         parentId:0,
         id:"",
@@ -328,6 +351,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 +381,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 +525,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{

+ 1 - 0
src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue

@@ -84,6 +84,7 @@
               @click.stop="rowDel(scope.row,scope.index)"
             >删除
             </el-button>
+<!--            :disabled="!financeDisabled || financeButton"-->
           </template>
           <template slot-scope="{ row }" slot="currency">
             <el-select  v-if="row.$cellEdit" v-model="row.currency" size="small" placeholder="请选择 币别" clearable filterable>

+ 0 - 25
src/views/importTrade/invoice/config/customerContact.json

@@ -125,31 +125,6 @@
       "width":120
     },
     {
-      "label": "币别",
-      "prop": "currency",
-      "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=currency",
-      "props": {
-        "label": "dictValue",
-        "value": "dictValue"
-      },
-      "index": 11,
-      "width":120
-    },
-    {
-      "label": "汇率",
-      "prop": "exRate",
-      "cell": true,
-      "index": 12,
-      "width":120
-    },
-    {
-      "label": "税率",
-      "prop": "taxRate",
-      "index": 13,
-      "width":100,
-      "cell": true
-    },{
       "label": "备注",
       "prop": "remarks",
       "index": 14,

+ 1 - 0
src/views/importTrade/invoice/config/mainList.json

@@ -18,6 +18,7 @@
   "menuWidth": 180,
   "searchIcon": true,
   "searchIndex": 2,
+  "addBtnText": "创建单据",
   "dialogClickModal": false,
   "searchLabelWidth": 120,
   "showSummary": true,

+ 61 - 36
src/views/importTrade/invoice/detailsPageEdit.vue

@@ -27,7 +27,7 @@
                    :loading="buttonLoading"
                    class="el-button--small-yh"
                    :disabled="true"
-                   @click.stop="">复制
+                   @click.stop="">复制单
         </el-button>
         <el-button
           class="el-button--small-yh"
@@ -36,7 +36,7 @@
           :loading="buttonLoading"
           :disabled="disabled  || goodsDisable || viewDisabled"
           @click="editCustomer"
-        >{{ form.id ? '确认修改' : '确认新增' }}
+        >保存数据
         </el-button>
       </div>
     </div>
@@ -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
@@ -174,17 +174,6 @@
               ></el-input>
               <span v-else>{{ row.contractAmount }}</span>
             </template>
-            <template slot="currency" slot-scope="{ row }">
-              <el-select v-model="row.currency"
-                         v-if="row.$cellEdit"
-                         size="small"
-                         placeholder="请选择 币别"
-                         @change="currencyChange(row)"
-                         clearable filterable>
-                <el-option v-for="(item,index) in currencyDic" :key="index" :label="item.dictValue"  :value="item.dictValue"></el-option>
-              </el-select>
-              <span v-else>{{ row.currency }}</span>
-            </template>
             <template slot="cntrNo" slot-scope="{ row }">
               <span v-if="row.$cellEdit" class="required_fields">*</span>
               <el-select v-if="row.$cellEdit"
@@ -204,18 +193,29 @@
               </el-select>
               <span v-else>{{ row.cntrNo }}</span>
             </template>
-            <template slot="taxRate" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.taxRate"
-                size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                autocomplete="off"
-              >
-                <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>
-              </el-input>
-              <span v-else>{{ row.taxRate }}</span>
-            </template>
+<!--            <template slot="currency" slot-scope="{ row }">-->
+<!--              <el-select v-model="row.currency"-->
+<!--                         v-if="row.$cellEdit"-->
+<!--                         size="small"-->
+<!--                         placeholder="请选择 币别"-->
+<!--                         @change="currencyChange(row)"-->
+<!--                         clearable filterable>-->
+<!--                <el-option v-for="(item,index) in currencyDic" :key="index" :label="item.dictValue"  :value="item.dictValue"></el-option>-->
+<!--              </el-select>-->
+<!--              <span v-else>{{ row.currency }}</span>-->
+<!--            </template>-->
+<!--            <template slot="taxRate" slot-scope="{ row }">-->
+<!--              <el-input-->
+<!--                v-if="row.$cellEdit"-->
+<!--                v-model="row.taxRate"-->
+<!--                size="small"-->
+<!--                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'-->
+<!--                autocomplete="off"-->
+<!--              >-->
+<!--                <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>-->
+<!--              </el-input>-->
+<!--              <span v-else>{{ row.taxRate | isPercentage}}</span>-->
+<!--            </template>-->
             <template slot-scope="{row,index}" slot="menu">
               <el-button
                 type="text"
@@ -238,7 +238,7 @@
                          size="small"
                          :disabled="goodsDisable || viewDisabled"
                          @click="openMarketDialog"
-              >入明细
+              >入明细
               </el-button>
             </template>
           </avue-crud>
@@ -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: {},
@@ -586,15 +595,15 @@ export default {
   },
   methods: {
     //币别选择
-    currencyChange(row){
-      if(row.currency == "CNY"){
-        this.$set(row,"exRate",1)
-      }else if(row.currency == "USD"){
-        this.$set(row,"exRate",6.3686)
-      }else{
-        this.$set(row,"exRate",7.1749)
-      }
-    },
+    // currencyChange(row){
+    //   if(row.currency == "CNY"){
+    //     this.$set(row,"exRate",1)
+    //   }else if(row.currency == "USD"){
+    //     this.$set(row,"exRate",6.3686)
+    //   }else{
+    //     this.$set(row,"exRate",7.1749)
+    //   }
+    // },
     //货品物种
     valueName(value, row) {
       this.$set(row, "priceCategory", value)
@@ -742,6 +751,22 @@ export default {
         item.contractNumber = item.orgOrderNo;
         item.contractAmount = item.amount;
         item.actualQuantity = item.orderQuantity;
+        getListOrgOrderNo(item.billNo,item.contractNumber,item.priceCategory).then(res => {
+          this.creditList = res.data
+          this.storageList = this.creditList.map(item =>{
+            let params ={
+              storageId:item.storageId,
+              stockName:item.stockName
+            }
+            return params
+          })
+          this.cntrNoList = this.creditList.map(item =>{
+            let params ={
+              cntrNo:item.cntrNo,
+            }
+            return params
+          })
+        })
         this.selectInventory(item);
         delete item.id
         this.$refs.crudContact.rowCellAdd(item);

+ 10 - 1
src/views/importTrade/invoice/index.vue

@@ -37,7 +37,7 @@
                    type="success"
                    :disabled="true"
                    @click.stop=""
-        >复制
+        >复制单
         </el-button>
         <el-button size="small"
                    type="info"
@@ -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);
   },

+ 0 - 32
src/views/importTrade/receipt/config/customerContact.json

@@ -156,38 +156,6 @@
       ]
     },
     {
-      "label": "币别",
-      "prop": "currency",
-      "type": "select",
-      "dicUrl": "/api/blade-system/dict-biz/dictionary?code=currency",
-      "props": {
-        "label": "dictValue",
-        "value": "dictValue"
-      },
-      "index": 11,
-      "width":120
-    },
-    {
-      "label": "汇率",
-      "prop": "exRate",
-      "cell": true,
-      "index": 12,
-      "width":120
-    },
-    {
-      "label": "税率",
-      "prop": "taxRate",
-      "index": 13,
-      "width":120,
-      "cell": true,
-      "rules": [
-        {
-          "required": false,
-          "message": " ",
-          "trigger": "blur"
-        }
-      ]
-    },{
       "label": "备注",
       "prop": "remarks",
       "index": 14,

+ 1 - 0
src/views/importTrade/receipt/config/mainList.json

@@ -18,6 +18,7 @@
   "menuWidth": 180,
   "searchIcon": true,
   "searchIndex": 2,
+  "addBtnText": "创建单据",
   "dialogClickModal": false,
   "searchLabelWidth": 120,
   "showSummary": true,

+ 13 - 37
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -27,7 +27,7 @@
                    class="el-button--small-yh "
                    :disabled="true"
                    :loading="buttonLoading"
-                   @click.stop="">复制
+                   @click.stop="">复制单
         </el-button>
         <el-button
           class="el-button--small-yh"
@@ -36,7 +36,7 @@
           :disabled="disabled || receiptDisable || viewDisabled"
           :loading="buttonLoading"
           @click="editCustomer"
-        >{{ form.id ? '确认修改' : '确认新增' }}
+        >保存数据
         </el-button>
       </div>
     </div>
@@ -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
@@ -187,29 +187,6 @@
               ></el-input>
               <span v-else>{{ row.contractAmount }}</span>
             </template>
-            <template slot="currency" slot-scope="{ row }">
-              <el-select v-model="row.currency"
-                         v-if="row.$cellEdit"
-                         size="small"
-                         placeholder="请选择 币别"
-                         @change="currencyChange(row)"
-                         clearable filterable>
-                <el-option v-for="(item,index) in currencyDic" :key="index" :label="item.dictValue"  :value="item.dictValue"></el-option>
-              </el-select>
-              <span v-else>{{ row.currency }}</span>
-            </template>
-            <template slot="taxRate" slot-scope="{ row }">
-              <el-input
-                v-if="row.$cellEdit"
-                v-model="row.taxRate"
-                size="small"
-                oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                autocomplete="off"
-              >
-                <i slot="suffix" style="margin-top:3px;margin-right: 10px;display:inline-block">%</i>
-              </el-input>
-              <span v-else>{{ row.taxRate }}</span>
-            </template>
             <template slot-scope="{row,index}" slot="menu">
               <el-button
                 type="text"
@@ -232,7 +209,7 @@
                          size="small"
                          :disabled="receiptDisable  || viewDisabled"
                          @click="commoditySelection"
-              >入明细
+              >入明细
               </el-button>
             </template>
           </avue-crud>
@@ -282,6 +259,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 +277,14 @@ export default {
   components:{
     procurementDetail
   },
+  filters: {
+    isPercentage(val) {
+      return isPercentage(val);
+    },
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   data() {
     return {
       form: {},
@@ -564,16 +550,6 @@ export default {
     }
   },
   methods: {
-    //币别选择
-    currencyChange(row){
-      if(row.currency == "CNY"){
-        this.$set(row,"exRate",1)
-      }else if(row.currency == "USD"){
-        this.$set(row,"exRate",6.3686)
-      }else{
-        this.$set(row,"exRate",7.1749)
-      }
-    },
     //货物名称 回显
     valueName(value,row){
       this.$set(row,"priceCategory",value)

+ 10 - 1
src/views/importTrade/receipt/index.vue

@@ -36,7 +36,7 @@
                    type="success"
                    :disabled="true"
                    @click.stop=""
-        >复制
+        >复制单
         </el-button>
         <el-button size="small"
                    type="info"
@@ -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": false,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
       "label": "件数",
       "prop": "orderQuantity",
       "index": 4,

+ 1 - 1
src/views/purchase/contract/config/mainList.json

@@ -20,7 +20,7 @@
   "searchLabelWidth": 120,
   "searchIcon": true,
   "searchIndex": 2,
-  "addBtnText": "新单",
+  "addBtnText": "创建单据",
   "expand": true,
   "expandWidth": 38,
   "selectionWidth": 40,

+ 87 - 81
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"
@@ -13,33 +13,63 @@
                    :loading="buttonLoading"
                    @click.stop="openDisabled()">编辑
         </el-button>
-        <el-button type="warning"
-                   size="small"
-                   class="el-button--small-yh "
-                   :loading="buttonLoading"
-                   :disabled="!form.id || viewDisabled"
-                   @click.stop="applyPayment('申请')">申请货款
-        </el-button>
-        <el-button type="info"
-                   size="small"
-                   :loading="buttonLoading"
-                   :disabled="!form.id  || viewDisabled"
-                   @click="openApplicationDialog"
-        >查看申请记录
-        </el-button>
-        <el-button type="warning"
-                   size="small"
-                   class="el-button--small-yh "
-                   :loading="buttonLoading"
-                   :disabled="!form.id  || viewDisabled"
-                   @click.stop="applyPayment('收费')">退款
-        </el-button>
+
+        <el-dropdown style="padding: 0 8px;line-height: 0">
+          <el-button
+            type="warning"
+            :loading="buttonLoading"
+            :disabled="!form.id || viewDisabled"
+            size="small"
+          >
+            账单处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item
+              :loading="buttonLoading"
+              :disabled="!form.id || viewDisabled"
+              @click.native="applyPayment('申请')">申请货款
+            </el-dropdown-item>
+            <el-dropdown-item
+              :loading="buttonLoading"
+              :disabled="!form.id  || viewDisabled"
+              @click.native="applyPayment('收费')">退款
+            </el-dropdown-item>
+            <el-dropdown-item
+              :loading="buttonLoading"
+              :disabled="!form.id  || viewDisabled"
+              @click.native="openApplicationDialog">查看付款记录
+            </el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+
+
+<!--        <el-button type="warning"-->
+<!--                   size="small"-->
+<!--                   class="el-button&#45;&#45;small-yh "-->
+<!--                   :loading="buttonLoading"-->
+<!--                   :disabled="!form.id || viewDisabled"-->
+<!--                   @click.stop="applyPayment('申请')">申请货款-->
+<!--        </el-button>-->
+<!--        <el-button type="info"-->
+<!--                   size="small"-->
+<!--                   :loading="buttonLoading"-->
+<!--                   :disabled="!form.id  || viewDisabled"-->
+<!--                   @click="openApplicationDialog"-->
+<!--        >查看付款记录-->
+<!--        </el-button>-->
+<!--        <el-button type="warning"-->
+<!--                   size="small"-->
+<!--                   class="el-button&#45;&#45;small-yh "-->
+<!--                   :loading="buttonLoading"-->
+<!--                   :disabled="!form.id  || viewDisabled"-->
+<!--                   @click.stop="applyPayment('收费')">退款-->
+<!--        </el-button>-->
         <el-button type="success"
                    size="small"
                    :loading="buttonLoading"
                    class="el-button--small-yh "
                    :disabled="true"
-                   @click.stop="">复制新单
+                   @click.stop="">复制单
         </el-button>
         <el-button
           class="el-button--small-yh "
@@ -48,25 +78,9 @@
           :disabled="disabled  || viewDisabled"
           @click="editCustomer"
           :loading="buttonLoading"
-        >{{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 +166,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 +185,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 +248,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 +273,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 +290,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 +352,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 +366,14 @@ export default {
       type: Object
     }
   },
+  filters: {
+    isPercentage(val) {
+      return isPercentage(val);
+    },
+    roundNumbers(val){
+      return roundNumbers(val);
+    }
+  },
   components: {
     ApplyPayment,
     feeInfo,
@@ -363,15 +387,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:[],
@@ -554,7 +578,8 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
+          },
+          {
             label: '合同重量(吨)',
             prop: 'contractWeight',
             rules: [
@@ -787,25 +812,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 +1117,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)
@@ -1214,6 +1219,7 @@ export default {
   position: fixed;
   right: 12px;
   top: 47px;
+  align-items: flex-start;
 }
 .required_fields{
   color: #F56C6C;

+ 13 - 1
src/views/purchase/contract/index.vue

@@ -47,7 +47,7 @@
                      type="success"
                      :disabled="true"
                      @click.stop=""
-          >复制
+          >复制单
           </el-button>
           <el-button size="small"
                      type="info"
@@ -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": false,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
       "label": "件数",
       "prop": "orderQuantity",
       "index": 4,

+ 1 - 1
src/views/salesManagement/salesContract/config/mainList.json

@@ -22,7 +22,7 @@
   "searchIndex": 2,
   "expandWidth": 38,
   "selectionWidth": 40,
-  "addBtnText": "新单",
+  "addBtnText": "创建单据",
   "expand": true,
   "rowKey": "id",
   "showSummary": true,

+ 110 - 30
src/views/salesManagement/salesContract/detailsPage.vue

@@ -14,33 +14,61 @@
                    :loading="buttonLoading"
                    @click.stop="openDisabled()">编辑
         </el-button>
-<!--        <el-button type="primary"-->
+
+        <el-dropdown style="padding: 0 8px;line-height: 0">
+          <el-button
+            type="warning"
+            :loading="buttonLoading"
+            :disabled="!form.id || viewDisabled"
+            size="small"
+          >
+            账单处理<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item
+              :disabled="!form.id || viewDisabled"
+              :loading="buttonLoading"
+              @click.native="applySettlement('收费')">生成账单
+            </el-dropdown-item>
+            <el-dropdown-item
+              :disabled="!form.id  || viewDisabled"
+              :loading="buttonLoading"
+              @click.native="applySettlement('申请')">退款
+            </el-dropdown-item>
+            <el-dropdown-item
+              :loading="buttonLoading"
+              @click.native="openApplicationDialog">查看收款记录
+            </el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+
+
+<!--        <el-button type="warning"-->
 <!--                   size="small"-->
 <!--                   class="el-button&#45;&#45;small-yh"-->
-<!--                   :disabled="true"-->
+<!--                   :disabled="!form.id || viewDisabled"-->
 <!--                   :loading="buttonLoading"-->
-<!--                   @click.stop="">请核-->
+<!--                   @click.stop="applySettlement('收费')">生成账单-->
+<!--        </el-button>-->
+<!--        <el-button type="info"-->
+<!--                   size="small"-->
+<!--                   class="el-button&#45;&#45;small-yh"-->
+<!--                   :loading="buttonLoading"-->
+<!--                   @click.stop="openApplicationDialog">查看收款记录-->
+<!--        </el-button>-->
+<!--        <el-button type="warning"-->
+<!--                   size="small"-->
+<!--                   class="el-button&#45;&#45;small-yh"-->
+<!--                   :disabled="!form.id  || viewDisabled"-->
+<!--                   :loading="buttonLoading"-->
+<!--                   @click.stop="applySettlement('申请')">退款-->
 <!--        </el-button>-->
-        <el-button type="warning"
-                   size="small"
-                   class="el-button--small-yh"
-                   :disabled="!form.id || viewDisabled"
-                   :loading="buttonLoading"
-                   @click.stop="applySettlement('收费')">生成账单
-        </el-button>
-        <el-button type="warning"
-                   size="small"
-                   class="el-button--small-yh"
-                   :disabled="!form.id  || viewDisabled"
-                   :loading="buttonLoading"
-                   @click.stop="applySettlement('申请')">退款
-        </el-button>
         <el-button type="success"
                    size="small"
                    class="el-button--small-yh"
                    :disabled="true"
                    :loading="buttonLoading"
-                   @click.stop="">复制新单
+                   @click.stop="">复制单据
         </el-button>
         <el-button
           class="el-button--small-yh"
@@ -49,7 +77,7 @@
           :disabled="disabled || viewDisabled"
           :loading="buttonLoading"
           @click="editCustomer"
-        >{{form.id?'确认修改':'确认新增'}}
+        >保存数据
         </el-button>
       </div>
     </div>
@@ -152,7 +180,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 +242,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 +342,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 +382,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 +394,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 +484,7 @@ export default {
             prop: 'orderNo',
             rules: [
               {
-                required: false,
+                required: true,
                 message: ' ',
                 trigger: 'blur'
               }
@@ -463,9 +528,8 @@ export default {
             ]
           },
           {
-            label: '业务员',
-            prop: 'salesName',
-            dicData: [],
+            label: '合同重量(吨)',
+            prop: 'contractWeight',
             rules: [
               {
                 required: false,
@@ -605,6 +669,18 @@ export default {
             ]
           },
           {
+            label: '业务员',
+            prop: 'salesName',
+            dicData: [],
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: '包装要求',
             prop: 'packageRemarks',
             rules: [
@@ -756,11 +832,6 @@ export default {
       this.$set(this.form,"businesDate",strDate)
     }
   },
-  components: {
-    ApplyPayment,
-    feeInfo,
-    uploadFile
-  },
   methods: {
     valueName(value,row){
       this.$set(row,"priceCategory",value)
@@ -810,6 +881,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 +1146,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  = [];

+ 13 - 1
src/views/salesManagement/salesContract/index.vue

@@ -45,7 +45,7 @@
                    type="success"
                    :disabled="true"
                    @click.stop=""
-        >复制
+        >复制单
         </el-button>
         <el-button size="small"
                    type="info"
@@ -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",