qinbai 4 years ago
parent
commit
3c396d1dd3
30 changed files with 1565 additions and 177 deletions
  1. 9 0
      src/api/importTrade/salesContract.js
  2. 98 0
      src/components/bill/billDetail.vue
  3. 93 0
      src/components/bill/config/mainList.json
  4. 3 1
      src/components/finance/applyPayment.vue
  5. 47 14
      src/router/views/index.js
  6. 138 0
      src/views/financialManagement/billDetails/billDetails.vue
  7. 0 0
      src/views/financialManagement/billDetails/configuration/mainList.json
  8. 0 0
      src/views/financialManagement/paymentRequest/configuration/detailsPage.json
  9. 97 0
      src/views/financialManagement/paymentRequest/configuration/mainList.json
  10. 163 0
      src/views/financialManagement/paymentRequest/paymentRequest.vue
  11. 2 22
      src/views/financialManagement/paymentRequest/paymentRequestDetails.vue
  12. 53 0
      src/views/financialManagement/paymentSettle/configuration/detailsPage.json
  13. 97 0
      src/views/financialManagement/paymentSettle/configuration/mainList.json
  14. 2 8
      src/views/financialManagement/paymentSettle/paymentSettle.vue
  15. 478 0
      src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue
  16. 53 0
      src/views/financialManagement/receiptSettle/configuration/detailsPage.json
  17. 14 17
      src/views/financialManagement/receiptSettle/configuration/mainList.json
  18. 3 9
      src/views/financialManagement/receiptSettle/receiptSettle.vue
  19. 5 11
      src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue
  20. 0 13
      src/views/financialManagement/settelpayment.vue
  21. 0 13
      src/views/financialManagement/settelpaymentDetailsPage.vue
  22. 19 7
      src/views/importTrade/invoice/config/mainList.json
  23. 41 9
      src/views/importTrade/invoice/detailsPageEdit.vue
  24. 17 1
      src/views/importTrade/invoice/index.vue
  25. 3 3
      src/views/importTrade/receipt/config/mainList.json
  26. 35 3
      src/views/importTrade/receipt/detailsPageEdit.vue
  27. 12 0
      src/views/importTrade/receipt/index.vue
  28. 55 31
      src/views/salesManagement/salesContract/detailsPage.vue
  29. 12 0
      src/views/salesManagement/salesContract/index.vue
  30. 16 15
      src/views/workManagement/main-items/detailsPage.vue

+ 9 - 0
src/api/importTrade/salesContract.js

@@ -83,3 +83,12 @@ export function getOrgOrderNo(billNo,billType) {
   })
 }
 
+//生成采购单
+export function generatePurchase(data) {
+  return request({
+    url: '/api/blade-purchase-sales/entranceOrder/createMarket',
+    method: 'post',
+    data:data
+  })
+}
+

+ 98 - 0
src/components/bill/billDetail.vue

@@ -0,0 +1,98 @@
+<template>
+  <div>
+    <avue-crud :option="option"
+               :table-loading="loading"
+               :data="data"
+               ref="crud"
+               @refresh-change="refreshChange"
+               @selection-change="selectionChange"
+               @search-change="searchChange"
+               @saveColumn="saveColumn"
+               :page.sync="page"
+               @on-load="onLoad">
+    </avue-crud>
+    <div style="margin-left: 80%;padding: 15px">
+       <span slot="footer" class="dialog-footer" >
+           <el-button @click="closeFun">取 消</el-button>
+           <el-button type="primary" @click="importProMent" :disabled="selectList.length == 0">导入</el-button>
+       </span>
+    </div>
+  </div>
+</template>
+
+<script>
+  import option from './config/mainList.json'
+
+  export default {
+    name: "index",
+    props: {
+      itemId: {
+        type: String
+      },
+      closeFun: {
+        type: Function
+      }
+    },
+    data(){
+      return {
+        option:option,
+        loading:false,
+        data:[],
+        selectList:[],
+        page: {
+          pageSize: 10,
+          pagerCount: 5,
+          total: 0,
+        },
+      }
+    },
+    async created() {
+      // this.option = await this.getColumnData(this.getColumnName(45), option);
+    },
+    methods:{
+      refreshChange(){
+        this.onLoad(this.page);
+      },
+      searchChange(params,done){
+        this.onLoad(this.page, params);
+        done()
+      },
+      selectionChange(row){
+        this.selectList = row
+      },
+      onLoad(page, params = {}){
+        // this.loading = true;
+        // if (params.promentDate != undefined) {
+        //   params.startDate = params.promentDate[0]+ " " + "00:00:00";
+        //   params.endDate = params.promentDate[1] + " " + "23:59:59";
+        //   this.$delete(params,'promentDate')
+        // }
+        // params.tradeType = "JK"
+        // getItemListByConditions(page.currentPage, page.pageSize,params).then(res=>{
+        //   this.data = res.data.data.records
+        //   this.page.total = res.data.data.total
+        // }).finally(()=>{
+        //   this.loading = false;
+        // })
+      },
+      importProMent(){
+        this.$emit('importProMent',this.selectList);
+      },
+      //列保存触发
+      async saveColumn() {
+        const inSave = await this.saveColumnData(
+          this.getColumnName(45),
+          this.option
+        );
+        if (inSave) {
+          this.$message.success("保存成功");
+          //关闭窗口
+          this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        }
+      },
+    }
+  }
+</script>
+<style scoped>
+
+</style>

+ 93 - 0
src/components/bill/config/mainList.json

@@ -0,0 +1,93 @@
+{
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "addBtn":false,
+  "editBtn":false,
+  "addRowBtn":false,
+  "cellBtn":false,
+  "cancelBtn":false,
+  "refreshBtn": false,
+  "searchMenuSpan": 6,
+  "align": "center",
+  "delBtn":true,
+  "dialogWidth": "60%",
+  "tree": true,
+  "border": true,
+  "index": true,
+  "selection": true,
+  "menu": false,
+  "menuWidth": 0,
+  "dialogClickModal": false,
+  "column":[
+    {
+      "label": "合同号",
+      "prop": "orderNo",
+      "search": true,
+      "index": 1,
+      "width":180
+    },
+    {
+      "label": "提单号",
+      "prop": "billNo",
+      "index": 2,
+      "width":180
+    },
+    {
+      "label": "客户",
+      "prop": "corpName",
+      "search": true,
+      "index": 3,
+      "width":180
+    },
+    {
+      "label": "货物品种",
+      "prop": "priceCategoryNames",
+      "index": 4,
+      "width":120
+    },{
+      "label": "规格名称",
+      "prop": "itemType",
+      "index": 5,
+      "width":120
+    },{
+      "label": "件数",
+      "prop": "purchaseQuantity",
+      "index": 6,
+      "width":120
+    },{
+      "label": "发票净重(吨)",
+      "prop": "invoiceWeight",
+      "index": 7,
+      "width":120
+    },{
+      "label": "码单重量(吨)",
+      "prop": "billWeight",
+      "index": 8,
+      "width":120
+    },{
+      "label": "单价",
+      "prop": "price",
+      "index": 9,
+      "width":120
+    },{
+      "label": "合同金额",
+      "prop": "amount",
+      "index": 10,
+      "width":120
+    },{
+      "label": "订单日期",
+      "prop": "marketDate",
+      "hide": true,
+      "type": "date",
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "unlinkPanels": true,
+      "searchRange": true,
+      "search": true,
+      "index": 6,
+      "width":150
+    }
+  ]
+}

+ 3 - 1
src/components/finance/applyPayment.vue

@@ -8,7 +8,7 @@
       <basic-container>
         <avue-form :option="option" ref="form" v-model="item.form">
           <template slot-scope="scope" slot="corpId">
-            <selectComponent v-model="item.form.corpId" :configuration="configuration"/>
+            <selectComponent v-model="corpId" :configuration="configuration"/>
           </template>
           <template slot-scope="scope" slot="currency">
             <el-select v-model="item.form.currency" size="small" placeholder="请选择"  clearable filterable>
@@ -51,6 +51,7 @@
           },
           list:[],
           currencyDic:[],
+          corpId:"",
           configuration:{
             multipleChoices:false,
             multiple:false,
@@ -165,6 +166,7 @@
         submit(){
           const listData = []
           this.list.forEach(item =>{
+            item.form.corpId = this.corpId
             listData.push(item.form)
           })
           applyPayment(listData).then(res =>{

+ 47 - 14
src/router/views/index.js

@@ -475,6 +475,21 @@ export default [{
       }
     ]
   },
+  // 统计列表
+  {
+    path: '/statistical_List',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: '/statistical_List',
+        meta: {
+          i18n: 'statistical_List'
+        },
+        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/receipt/statisticalList')
+      }
+    ]
+  },
   // 结算详情页
   {
     path: '/settleAccounts_detailsPage',
@@ -490,53 +505,71 @@ export default [{
       }
     ]
   },
-  // 付款详情
+  // 付款申请
   {
-    path: '/financialManagement/payment',
+    path: '/payment_request',
     component: Layout,
     hidden: true,
     children: [
       {
-        path: '/financialManagement/payment',
+        path: '/payment_request',
         name:"付款申请",
         meta: {
-          i18n: '/financialManagement/payment',
+          i18n: '/payment_request',
           keepAlive: true,
         },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/payment')
+        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/paymentRequest/paymentRequest')
       }
     ]
   },
+  // 付款结算
   {
-    path: '/financialManagement/settelpayment',
+    path: '/payment_settle',
     component: Layout,
     hidden: true,
     children: [
       {
-        path: '/financialManagement/settelpayment',
+        path: '/payment_settle',
         name:"付款结算",
         meta: {
-          i18n: '/financialManagement/settelpayment',
+          i18n: '/payment_settle',
           keepAlive: true,
         },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/settelpayment')
+        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/paymentSettle/paymentSettle')
       }
     ]
   },
-  // 收款详情
+  //收款结算
   {
-    path: '/financialManagement/receipt',
+    path: '/receipt_settle',
     component: Layout,
     hidden: true,
     children: [
       {
-        path: '/financialManagement/receipt',
+        path: '/receipt_settle',
         name:"收款结算",
         meta: {
-          i18n: '/financialManagement/receipt',
+          i18n: '/receipt_settle',
+          keepAlive: true,
+        },
+        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/receiptSettle/receiptSettle')
+      }
+    ]
+  },
+  // 账单明细
+  {
+    path: '/bill_details',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: '/bill_details',
+        name:"账单明细",
+        meta: {
+          i18n: '/bill_details',
           keepAlive: true,
         },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/receipt')
+        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/billDetails/billDetails')
       }
     ]
   },

+ 138 - 0
src/views/financialManagement/billDetails/billDetails.vue

@@ -0,0 +1,138 @@
+<template>
+  <basic-container>
+    <avue-crud :option="option"
+               :data="dataList"
+               ref="crud"
+               v-model="form"
+               :page.sync="page"
+               :table-loading="loading"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   @click="addReceipt">新 单
+        </el-button>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <el-button
+          type="text"
+          icon="el-icon-edit"
+          size="small"
+          @click.stop="editOpen(scope.row, 2)"
+        >编辑
+        </el-button>
+        <el-button
+          type="text"
+          icon="el-icon-delete"
+          size="small"
+          @click.stop="rowDel(scope.row, scope.index)"
+        >删除
+        </el-button>
+      </template>
+    </avue-crud>
+  </basic-container>
+</template>
+
+<script>
+  import option from "./configuration/mainList.json";
+
+  export default {
+    data() {
+      return {
+        loading : false,
+        form: {},
+        show:true,
+        detailData:{},
+        option: option,
+        parentId:0,
+        dataList: [],
+        page: {
+          pageSize: 10,
+          pagerCount: 5,
+          total: 0,
+        },
+        query:{}
+      }
+    },
+    created() {
+
+    },
+    mounted() {
+      option.height = window.innerHeight - 350 ;
+    },
+    methods: {
+      //新单打开
+      addReceipt(row){
+        this.detailData = {
+          id: row.id,
+          status: 1
+        };
+        this.show = false;
+      },
+      //编辑打开
+      editOpen(row, status){
+        this.detailData = {
+          id: row.id,
+          status: status
+        };
+        this.show = false;
+      },
+      rowDel(row, index, done) {
+        if(row.id){
+          this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(() => {
+            remove(row.id).then(res =>{
+              if(res.data.success){
+                this.$message.success("操作成功!");
+                this.onLoad(this.page);
+              }
+            })
+          });
+        }
+      },
+      //点击搜索按钮触发
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done()
+      },
+      searchReset() {
+        console.log('1')
+      },
+      selectionChange() {
+        console.log('1')
+      },
+      currentChange() {
+        console.log('1')
+      },
+      sizeChange() {
+        console.log('1')
+      },
+      refreshChange() {
+        console.log('1')
+      },
+      onLoad(page, params = {}) {
+        params.billType = "付费"
+      },
+      goBack() {
+        this.detailData=this.$options.data().detailData
+        this.show = true;
+      }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 0 - 0
src/views/financialManagement/configuration/paymentList.json → src/views/financialManagement/billDetails/configuration/mainList.json


+ 0 - 0
src/views/financialManagement/configuration/detailsPage.json → src/views/financialManagement/paymentRequest/configuration/detailsPage.json


+ 97 - 0
src/views/financialManagement/paymentRequest/configuration/mainList.json

@@ -0,0 +1,97 @@
+{
+  "addBtn":false,
+  "headerAlign": "center",
+  "align": "center",
+  "border": true,
+  "index": true,
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "searchMenuSpan": 6,
+  "tree": true,
+  "searchMenuPosition": "right",
+  "selection": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 220,
+  "column": [
+    {
+      "label": "合同号",
+      "prop": "srcOrderno",
+      "overHidden": true,
+      "width": 120,
+      "index": 1
+    },
+    {
+      "label": "客户名称",
+      "prop": "corpId",
+      "search": true,
+      "overHidden": true,
+      "width": 120,
+      "index": 2
+    },
+    {
+      "label": "收款日期",
+      "prop": "settlementDate",
+      "overHidden": true,
+      "search": true,
+      "width": 120,
+      "index": 3
+    },
+    {
+      "label": "金额",
+      "prop": "amount",
+      "search": true,
+      "overHidden": true,
+      "width": 120,
+      "index": 4
+    },
+    {
+      "label": "币别",
+      "prop": "currency",
+      "overHidden": true,
+      "width": 120,
+      "index": 5
+    },
+    {
+      "label": "银行名称",
+      "prop": "accountBank",
+      "overHidden": true,
+      "width": 120,
+      "index": 6
+    },
+    {
+      "label": "银行户头",
+      "prop": "accountName",
+      "overHidden": true,
+      "width": 120,
+      "index": 7
+    },
+    {
+      "label": "录入日期",
+      "prop": "createTime",
+      "type": "date",
+      "overHidden": true,
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "width": 120,
+      "index": 8
+    },
+    {
+      "label": "录入人",
+      "overHidden": true,
+      "prop": "createUserName",
+      "index": 9,
+      "width": 120
+    },
+    {
+      "label": "备注",
+      "overHidden": true,
+      "prop": "remark",
+      "index": 10,
+      "width": 120
+    }
+  ]
+}

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

@@ -0,0 +1,163 @@
+<template>
+  <basic-container v-if="show">
+    <avue-crud :option="option"
+               :data="dataList"
+               ref="crud"
+               v-model="form"
+               :page.sync="page"
+               :table-loading="loading"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-plus"
+                   @click="addReceipt">新 单
+        </el-button>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <el-button
+          type="text"
+          icon="el-icon-edit"
+          size="small"
+          @click.stop="editOpen(scope.row, 2)"
+        >编辑
+        </el-button>
+        <el-button
+          type="text"
+          icon="el-icon-delete"
+          size="small"
+          @click.stop="rowDel(scope.row, scope.index)"
+        >删除
+        </el-button>
+      </template>
+    </avue-crud>
+  </basic-container>
+  <detail-page
+    ref="detail"
+    @goBack="goBack"
+    :detailData="detailData"
+    v-else
+  ></detail-page>
+</template>
+
+<script>
+  import option from "./configuration/mainList.json";
+  import {getList ,remove} from "@/api/financialManagement/financialManagement"
+  import detailPage from "./paymentRequestDetails";
+
+  export default {
+    data() {
+      return {
+        loading : false,
+        form: {},
+        show:true,
+        detailData:{},
+        option: option,
+        parentId:0,
+        dataList: [{
+          canem:""
+        }],
+        page: {
+          pageSize: 10,
+          pagerCount: 5,
+          total: 0,
+        },
+        query:{}
+      }
+    },
+    created() {
+      if(this.$route.query.params){
+        this.detailData={
+          params:this.$route.query.params
+        }
+        this.show = false;
+        // this.$store.commit("PAY_IN_DETAIL");
+      }
+    },
+    components:{
+      detailPage
+    },
+    mounted() {
+      option.height = window.innerHeight - 350 ;
+    },
+    methods: {
+      //新单打开
+      addReceipt(row){
+        this.detailData = {
+          id: row.id,
+          status: 1
+        };
+        this.show = false;
+      },
+      //编辑打开
+      editOpen(row, status){
+        this.detailData = {
+          id: row.id,
+          status: status
+        };
+        this.show = false;
+      },
+      rowDel(row, index, done) {
+        if(row.id){
+          this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(() => {
+            remove(row.id).then(res =>{
+              if(res.data.success){
+                this.$message.success("操作成功!");
+                this.onLoad(this.page);
+              }
+            })
+          });
+        }
+      },
+      //点击搜索按钮触发
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done()
+      },
+      searchReset() {
+        console.log('1')
+      },
+      selectionChange() {
+        console.log('1')
+      },
+      currentChange() {
+        console.log('1')
+      },
+      sizeChange() {
+        console.log('1')
+      },
+      refreshChange() {
+        console.log('1')
+      },
+      onLoad(page, params = {}) {
+        params.billType = "付费"
+        this.loading = true
+        getList(page.currentPage, page.pageSize,params).then(res =>{
+          this.dataList = res.data.data.records
+          this.page.total = res.data.data.total
+          this.loading = false
+        })
+      },
+      goBack() {
+        this.detailData=this.$options.data().detailData
+        this.show = true;
+      }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 22
src/views/financialManagement/paymentDetailsPage.vue → src/views/financialManagement/paymentRequest/paymentRequestDetails.vue

@@ -5,10 +5,10 @@
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
                    @click="backToList">返回列表
         </el-button>
-        <el-button type="success"
+        <el-button type="info"
                    class="el-button--small-yh add-customer-btn-two"
                    :disabled="true"
-                   @click.stop="">复制新单
+                   @click.stop="">请核
         </el-button>
         <el-button class="el-button--small-yh add-customer-btn" type="primary"
                    @click.stop="editFinance"
@@ -58,26 +58,6 @@
                    @current-change="currentChange"
                    @size-change="sizeChange"
                    @refresh-change="refreshChange">
-          <template slot="menuLeft">
-            <el-button type="primary"
-                       size="small"
-                       icon="el-icon-shopping-cart-2"
-                       @click="">选择采购合同
-            </el-button>
-            <el-button
-              icon="el-icon-printer"
-              size="small"
-              type="primary"
-              @click.stop="openReport()"
-            >报 表
-            </el-button>
-          </template>
-          <template slot="menuRight">
-            <el-button type="info"
-                       size="small"
-                       @click="">请核
-            </el-button>
-          </template>
           <template slot-scope="scope" slot="menu">
             <el-button
               type="text"

+ 53 - 0
src/views/financialManagement/paymentSettle/configuration/detailsPage.json

@@ -0,0 +1,53 @@
+{
+  "addBtn":false,
+  "headerAlign": "center",
+  "align": "center",
+  "border": true,
+  "index": true,
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "searchMenuSpan": 6,
+  "tree": true,
+  "selection": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 220,
+  "column": [
+    {
+      "label": "合同号",
+      "prop": "srcOrderno",
+      "index": 1,
+      "overHidden": true
+    },
+    {
+      "label": "金额",
+      "prop": "amount",
+      "index": 2,
+      "overHidden": true
+    },
+    {
+      "label": "录入日期",
+      "prop": "createTime",
+      "type": "date",
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "overHidden": true,
+      "index": 3
+    },
+    {
+      "label": "录入人",
+      "prop": "createUserName",
+      "index": 4,
+      "overHidden": true
+    },
+    {
+      "label": "备注",
+      "prop": "remark",
+      "index": 4,
+      "overHidden": true
+    }
+  ]
+}

+ 97 - 0
src/views/financialManagement/paymentSettle/configuration/mainList.json

@@ -0,0 +1,97 @@
+{
+  "addBtn":false,
+  "headerAlign": "center",
+  "align": "center",
+  "border": true,
+  "index": true,
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "searchMenuSpan": 6,
+  "tree": true,
+  "searchMenuPosition": "right",
+  "selection": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 220,
+  "column": [
+    {
+      "label": "合同号",
+      "prop": "srcOrderno",
+      "overHidden": true,
+      "width": 120,
+      "index": 1
+    },
+    {
+      "label": "客户名称",
+      "prop": "corpId",
+      "search": true,
+      "overHidden": true,
+      "width": 120,
+      "index": 2
+    },
+    {
+      "label": "收款日期",
+      "prop": "settlementDate",
+      "overHidden": true,
+      "search": true,
+      "width": 120,
+      "index": 3
+    },
+    {
+      "label": "金额",
+      "prop": "amount",
+      "overHidden": true,
+      "search": true,
+      "width": 120,
+      "index": 4
+    },
+    {
+      "label": "币别",
+      "prop": "currency",
+      "overHidden": true,
+      "width": 120,
+      "index": 5
+    },
+    {
+      "label": "银行名称",
+      "prop": "accountBank",
+      "overHidden": true,
+      "width": 120,
+      "index": 6
+    },
+    {
+      "label": "银行户头",
+      "prop": "accountName",
+      "overHidden": true,
+      "width": 120,
+      "index": 7
+    },
+    {
+      "label": "录入日期",
+      "prop": "createTime",
+      "overHidden": true,
+      "type": "date",
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "width": 120,
+      "index": 8
+    },
+    {
+      "label": "录入人",
+      "prop": "createUserName",
+      "overHidden": true,
+      "index": 9,
+      "width": 120
+    },
+    {
+      "label": "备注",
+      "prop": "remark",
+      "overHidden": true,
+      "index": 10,
+      "width": 120
+    }
+  ]
+}

+ 2 - 8
src/views/financialManagement/payment.vue → src/views/financialManagement/paymentSettle/paymentSettle.vue

@@ -20,12 +20,6 @@
                    @click="addReceipt">新 单
         </el-button>
         <el-button size="small"
-                   type="success"
-                   :disabled="true"
-                   @click.stop=""
-        >复制新单
-        </el-button>
-        <el-button size="small"
                    type="info"
                    @click.stop="openReport()"
         >导出报表
@@ -58,9 +52,9 @@
 </template>
 
 <script>
-  import option from "./configuration/paymentList.json";
+  import option from "./configuration/mainList.json";
   import {getList ,remove} from "@/api/financialManagement/financialManagement"
-  import detailPage from "./paymentDetailsPage";
+  import detailPage from "./paymentSettleDetailsPage";
 
   export default {
     data() {

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

@@ -0,0 +1,478 @@
+<template>
+  <div class="borderless">
+    <div class="main-head">
+      <div class="main-back">
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                   @click="backToList">返回列表
+        </el-button>
+        <el-button class="el-button--small-yh add-customer-btn" type="primary"
+                   @click.stop="editFinance"
+        >{{this.id?"确认修改" :"确认结算"}}
+        </el-button>
+      </div>
+    </div>
+    <div style="margin-top: 60px">
+      <containerTitle title="基础信息"></containerTitle>
+      <basic-container>
+        <el-form :model="form" ref="form" label-width="130px">
+          <el-row>
+            <el-col v-for="(item, index) in basicData.column" :span="item.span?item.span:8" :key="index">
+              <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
+                <el-date-picker v-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]" size="small" type="date" :disabled="item.disabled?true:false" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
+                <el-select v-else-if="item.type === 'select'" style="width: 100%" size="small" placeholder="请选择"  clearable filterable></el-select>
+                <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]" :configuration="configuration"/>
+                <el-select v-else-if="item.prop === 'currency'" style="width: 100%"   v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
+                  <el-option v-for="(item,index) in currencyDic" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
+                </el-select>
+                <el-select v-else-if="item.prop === 'financeStatus'" style="width: 100%"   v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
+                  <el-option
+                    v-for="item in financeStatusDic"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+                <el-input type="age" v-else-if="item.prop === 'exchangeRate'" v-model="form[item.prop]"   size="small" autocomplete="off" placeholder="请输入">
+                  <template   slot="append">%</template>
+                </el-input>
+                <el-input type="textarea" v-else-if="(item.prop === 'remark')" v-model="form[item.prop]"   size="small" autocomplete="off" placeholder="请输入"></el-input>
+                <el-input type="age" v-else v-model="form[item.prop]" size="small" :disabled="item.disabled?true:false" autocomplete="off" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </basic-container>
+      <basic-container>
+        <avue-crud :option="option"
+                   :data="dataList"
+                   ref="crud"
+                   v-model="form"
+                   :page.sync="page"
+                   @search-reset="searchReset"
+                   @selection-change="selectionChange"
+                   @current-change="currentChange"
+                   @size-change="sizeChange"
+                   @refresh-change="refreshChange">
+          <template slot="menuLeft">
+            <el-button type="primary"
+                       size="small"
+                       icon="el-icon-shopping-cart-2"
+                       @click="selectPurchase">选择采购合同
+            </el-button>
+          </template>
+          <template slot-scope="scope" slot="menu">
+            <el-button
+              type="text"
+              icon="el-icon-view"
+              size="small"
+              @click.stop=""
+            >费用确认
+            </el-button>
+            <el-button
+              type="text"
+              icon="el-icon-edit"
+              size="small"
+              @click.stop=""
+            >移除数据
+            </el-button>
+          </template>
+        </avue-crud>
+      </basic-container>
+      <el-dialog
+        title="导入采购"
+        append-to-body
+        class="el-dialogDeep"
+        :visible.sync="procurementDialog"
+        width="60%"
+        :close-on-click-modal="false"
+        :destroy-on-close="true"
+        :close-on-press-escape="false"
+        top="10vh"
+        v-dialog-drag>
+        <bill-detail
+          @closeFun="!procurementDialog"
+          @importProMent="importProMent"
+        >
+        </bill-detail>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+  import option from "./configuration/detailsPage.json";
+  import { getDetail,editFinance } from "@/api/financialManagement/financialManagement"
+  import {detailListData } from "@/api/importTrade/purchase";
+  import {getSysNo} from "@/api/importTrade/purchase";
+  import { getUserInfo } from "@/api/system/user";
+  import { contrastObj,contrastList } from "@/util/contrastData";
+  import  billDetail from "@/components/bill/billDetail";
+
+  export default {
+    name: "paymentDetailsPage",
+    props: {
+      detailData: {
+        type: Object
+      }
+    },
+    data() {
+      return {
+        form: {},
+        option: option,
+        parentId:0,
+        procurementDialog:false,
+        id:"",
+        dataList: [],
+        currencyDic:[],
+        page: {
+          pageSize: 10,
+          pagerCount: 5,
+          total: 0,
+        },
+        query:{},
+        //客户组件配置控制
+        configuration:{
+          multipleChoices:false,
+          multiple:false,
+          disabled:false,
+          searchShow:true,
+          collapseTags:false,
+          placeholder:'请点击右边按钮选择',
+          dicData:[]
+        },
+        financeStatusDic:[{
+          label:'正常',
+          value:0
+        },{
+          label:'停用',
+          value:1
+        }],
+        //顶部from数据
+        basicData: {
+          column: [
+            {
+              label: '系统号',
+              prop: 'sysNo',
+              disabled:true,
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },{
+              label: '合同号',
+              prop: 'srcOrderno',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '供应商',
+              prop: 'corpId',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '金额',
+              prop: 'amount',
+              rules: [
+                {
+                  pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '币别',
+              prop: 'currency'
+            },
+            {
+              label: '汇率',
+              prop: 'exchangeRate',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },{
+              label: '银行名称',
+              prop: 'accountBank',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '银行户头',
+              prop: 'accountName',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '银行账号',
+              prop: 'accountNo',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '手续费',
+              prop: 'serviceCharge',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '要求付款日期',
+              prop: 'orderNo',
+              type:"date",
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '实际付款日期',
+              prop: 'orderNo',
+              type:"date",
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '单据状态',
+              prop: 'financeStatus',
+            }, {
+              label: '制单人',
+              prop: 'createUserName',
+              disabled:true,
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '制单日期',
+              prop: 'createTime',
+              type:"date",
+              disabled:true,
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '备注',
+              prop: 'remark',
+              span:24,
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+          ],
+        },
+        oldForm:{},
+        oldDataList:[],
+      }
+    },
+    components:{
+      billDetail
+    },
+    created() {
+      //币别
+      this.getWorkDicts("currency").then(res =>{
+        this.currencyDic = res.data.data
+      })
+      if (this.detailData.id) {
+        this.id = BigInt(this.detailData.id);//字符串转数字  超长用BigInt
+        getDetail(this.id).then(res => {
+          this.form = res.data.data;
+          this.oldForm = Object.assign({},res.data.data);
+          this.configuration.dicData = res.data.data.customerModel;
+          if(res.data.data.itemsList){
+            this.dataList = res.data.data.itemsList
+            this.oldDataList = this.deepClone(res.data.data.itemsList)
+          }
+        })
+      }else{
+        this.assignment()
+      }
+
+      if(this.detailData.params){
+        detailListData(this.detailData.params.id).then(res =>{
+          this.form.corpId =  res.data.data.corpId;
+          this.form.srcOrderno =  res.data.data.orderNo;
+          this.configuration.dicData = res.data.data.corpsName;
+          res.data.data.itemsVOList.forEach((item,index) =>{
+            this.detailData.params.orderItemIds.forEach((e,i) =>{
+              if(e ==  index){
+                const params ={
+                  srcOrderno:res.data.data.orderNo,
+                  amount:item.amount,
+                  createUserName:item.createUserName,
+                  createTime:item.createTime,
+                }
+                this.$refs.crud.rowCellAdd(params);
+                this.$refs.crud.rowCell(params,this.dataList.length - 1)
+              }
+            })
+          })
+        })
+        this.assignment()
+      }
+    },
+    mounted() {
+      option.height = window.innerHeight - 640 ;
+    },
+    methods: {
+      selectPurchase(){
+        this.procurementDialog = true;
+      },
+      importProMent(){
+
+      },
+      assignment(){
+        getSysNo("CW-FK").then(res =>{
+          this.$set(this.form,"sysNo", res.data.data)
+          let date = new Date();
+          let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
+          this.$set(this.form,"createTime",strDate)
+        })
+        getUserInfo().then(res =>{
+          this.$set(this.form,"createUserName", res.data.data.name)
+        })
+      },
+      searchReset() {
+        console.log('1')
+      },
+      selectionChange() {
+        console.log('1')
+      },
+      currentChange() {
+        console.log('1')
+      },
+      sizeChange() {
+        console.log('1')
+      },
+      refreshChange() {
+        console.log('1')
+      },
+      editFinance(status){
+        this.$refs["form"].validate((valid) => {
+          if(valid){
+            const params = {
+              ...this.form,
+              billType:"付费",
+              itemsList:this.dataList
+            }
+            editFinance(params).then(res =>{
+              if(res.data.success){
+                this.form = res.data.data;
+                this.oldForm = Object.assign({},res.data.data);
+                this.configuration.dicData = res.data.data.customerModel;
+                if(res.data.data.itemsList){
+                  this.dataList = res.data.data.itemsList
+                  this.oldDataList = this.deepClone(res.data.data.itemsList)
+                }
+                this.$message.success("操作成功!")
+              }
+            })
+            if(status === true){
+              this.$emit("goBack");
+            }
+          }
+        })
+      },
+      backToList() {
+        if(contrastObj(this.form,this.oldForm) || contrastList(this.dataList,this.oldDataList)
+        ){
+          this.$confirm("是否保存当前页面?", "提示", {
+            confirmButtonText: "保存",
+            cancelButtonText: "取消",
+            type: "warning",
+          }).then(() => {
+            this.editCustomer(true)
+          }).catch(()=>{
+            this.$emit("goBack");
+          })
+        }else{
+          this.$emit("goBack");
+        }
+      },
+    }
+  }
+</script>
+
+<style scoped>
+  ::v-deep .el-form-item {
+    margin-bottom: 0;
+  }
+  .main-head {
+    position: fixed;
+    top: 105px;
+    width: 100%;
+    margin-left: -10px;
+    height: 62px;
+    background: #ffffff;
+    box-shadow: 0 4px 12px 0px rgba(232, 232, 235, 1);
+    z-index: 999;
+  }
+  .main-back {
+    cursor: pointer;
+    line-height: 62px;
+    font-size: 16px;
+    color: #323233;
+    font-weight: 400;
+  }
+  .add-customer-btn-two {
+    position: fixed;
+    right: 150px;
+    top: 115px;
+  }
+  .add-customer-btn {
+    position: fixed;
+    right: 36px;
+    top: 115px;
+  }
+</style>

+ 53 - 0
src/views/financialManagement/receiptSettle/configuration/detailsPage.json

@@ -0,0 +1,53 @@
+{
+  "addBtn":false,
+  "headerAlign": "center",
+  "align": "center",
+  "border": true,
+  "index": true,
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": true,
+  "searchMenuSpan": 6,
+  "tree": true,
+  "selection": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 220,
+  "column": [
+    {
+      "label": "合同号",
+      "prop": "srcOrderno",
+      "index": 1,
+      "overHidden": true
+    },
+    {
+      "label": "金额",
+      "prop": "amount",
+      "index": 2,
+      "overHidden": true
+    },
+    {
+      "label": "录入日期",
+      "prop": "createTime",
+      "type": "date",
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "overHidden": true,
+      "index": 3
+    },
+    {
+      "label": "录入人",
+      "prop": "createUserName",
+      "index": 4,
+      "overHidden": true
+    },
+    {
+      "label": "备注",
+      "prop": "remark",
+      "index": 4,
+      "overHidden": true
+    }
+  ]
+}

+ 14 - 17
src/views/financialManagement/configuration/receiptList.json → src/views/financialManagement/receiptSettle/configuration/mainList.json

@@ -20,29 +20,27 @@
     {
       "label": "合同号",
       "prop": "srcOrderno",
-      "width": 150,
+      "width": 120,
       "index": 1
     },
     {
       "label": "客户名称",
       "prop": "corpId",
       "search": true,
-      "width": 150,
+      "width": 120,
       "index": 2
     },
     {
       "label": "收款日期",
       "prop": "settlementDate",
-      "type": "date",
-      "format": "yyyy-MM-dd",
-      "valueFormat": "yyyy-MM-dd",
       "search": true,
-      "width": 150,
+      "width": 120,
       "index": 3
     },
     {
       "label": "金额",
       "prop": "amount",
+      "search": true,
       "width": 120,
       "index": 4
     },
@@ -55,30 +53,29 @@
     {
       "label": "银行名称",
       "prop": "accountBank",
-      "search": true,
-      "width": 150,
+      "width": 120,
       "index": 6
     },
     {
       "label": "银行户头",
       "prop": "accountName",
-      "width": 150,
+      "width": 120,
       "index": 7
     },
     {
-      "label": "录入人",
-      "prop": "createUserName",
-      "index": 8,
-      "width": 120
-    },
-    {
       "label": "录入日期",
       "prop": "createTime",
       "type": "date",
       "format": "yyyy-MM-dd",
       "valueFormat": "yyyy-MM-dd",
-      "width": 150,
-      "index": 9
+      "width": 120,
+      "index": 8
+    },
+    {
+      "label": "录入人",
+      "prop": "createUserName",
+      "index": 9,
+      "width": 120
     },
     {
       "label": "备注",

+ 3 - 9
src/views/financialManagement/receipt.vue → src/views/financialManagement/receiptSettle/receiptSettle.vue

@@ -20,12 +20,6 @@
                    @click="addReceipt">新 单
         </el-button>
         <el-button size="small"
-                   type="success"
-                   :disabled="true"
-                   @click.stop=""
-        >复制新单
-        </el-button>
-        <el-button size="small"
                    type="info"
                    @click.stop="openReport()"
         >导出报表
@@ -58,9 +52,9 @@
 </template>
 
 <script>
-  import option from "./configuration/receiptList.json";
+  import option from "./configuration/mainList.json";
   import {getList ,remove} from "@/api/financialManagement/financialManagement"
-  import detailPage from "./receiptDetailsPage.vue";
+  import detailPage from "./receiptSettleDetailsPage.vue";
 
   export default {
     data() {
@@ -147,7 +141,7 @@
         console.log('1')
       },
       onLoad(page, params = {}) {
-        params.billType = "费"
+        params.billType = "费"
         this.loading = true
         getList(page.currentPage, page.pageSize,params).then(res =>{
           this.dataList = res.data.data.records

+ 5 - 11
src/views/financialManagement/receiptDetailsPage.vue → src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue

@@ -5,14 +5,14 @@
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
                    @click="backToList">返回列表
         </el-button>
-        <el-button type="success"
+        <el-button type="info"
                    class="el-button--small-yh add-customer-btn-two"
                    :disabled="true"
-                   @click.stop="">复制新单
+                   @click.stop="">请核
         </el-button>
         <el-button class="el-button--small-yh add-customer-btn" type="primary"
                    @click.stop="editFinance "
-        >{{this.id?"确认修改" :"确认新增"}}
+        >{{this.id?"确认修改" :"确认结算"}}
         </el-button>
       </div>
     </div>
@@ -62,14 +62,8 @@
             <el-button type="primary"
                        size="small"
                        icon="el-icon-shopping-cart-2"
-                       @click="">选择销售合同
-            </el-button>
-            <el-button
-              icon="el-icon-printer"
-              size="small"
-              type="primary"
-              @click.stop="openReport()"
-            >报 表
+                       @click=""
+            >选择销售合同
             </el-button>
           </template>
           <template slot="menuRight">

+ 0 - 13
src/views/financialManagement/settelpayment.vue

@@ -1,13 +0,0 @@
-<template>
-
-</template>
-
-<script>
-    export default {
-        name: "settelpayment"
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 13
src/views/financialManagement/settelpaymentDetailsPage.vue

@@ -1,13 +0,0 @@
-<template>
-
-</template>
-
-<script>
-    export default {
-        name: "settelpaymentDetailsPage"
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 19 - 7
src/views/importTrade/invoice/config/mainList.json

@@ -5,6 +5,7 @@
   "searchShow": true,
   "searchMenuSpan": 6,
   "searchSpan": 8,
+  "align": "center",
   "searchMenuPosition": "right",
   "dialogWidth": "60%",
   "tree": true,
@@ -30,28 +31,32 @@
     {
       "label": "供应商",
       "prop": "corpsName",
+      "overHidden": true,
       "index": 2,
-      "width":120
+      "width":200
     },
     {
       "label": "合同号",
       "prop": "orderNo",
       "search": true,
+      "overHidden": true,
       "searchOrder": 2,
       "index": 2,
-      "width":120
+      "width":150
     },
     {
       "label": "提单号",
       "prop": "billNo",
       "search": true,
+      "overHidden": true,
       "searchOrder": 3,
       "index": 2,
-      "width":120
+      "width":150
     },
     {
-      "label": "货日期",
+      "label": "货日期",
       "prop": "businessDate",
+      "overHidden": true,
       "search": true,
       "type": "date",
       "format": "yyyy-MM-dd",
@@ -86,26 +91,29 @@
     {
       "label": "发货人",
       "prop": "arrivalContact",
+      "overHidden": true,
       "search": true,
       "searchOrder": 5,
       "index": 4,
       "width":120
     },
     {
-      "label": "货电话",
+      "label": "货电话",
       "prop": "arrivalTel",
+      "overHidden": true,
       "search": true,
       "searchOrder": 6,
       "index": 4,
       "width":120
     },
     {
-      "label": "货地址",
+      "label": "货地址",
       "prop": "arrivalAddress",
+      "overHidden": true,
       "search": true,
       "searchOrder": 7,
       "index": 4,
-      "width":120
+      "width":150
     },
     {
       "label": "仓库",
@@ -126,6 +134,7 @@
     {
       "label": "备注",
       "prop": "deliveryRemarks",
+      "overHidden": true,
       "search": true,
       "searchOrder": 8,
       "index": 10,
@@ -134,12 +143,14 @@
     {
       "label": "系统编号",
       "prop": "sysNo",
+      "overHidden": true,
       "index": 9,
       "width":120
     },
     {
       "label": "制单人日期",
       "prop": "createTime",
+      "overHidden": true,
       "search": true,
       "type": "date",
       "format": "yyyy-MM-dd",
@@ -153,6 +164,7 @@
     {
       "label": "制单人",
       "prop": "createUserName",
+      "overHidden": true,
       "search": true,
       "searchOrder": 10,
       "index": 9,

+ 41 - 9
src/views/importTrade/invoice/detailsPageEdit.vue

@@ -335,7 +335,6 @@ export default {
           {
             label: '合同号',
             prop: 'orderNo',
-            disabled:true,
             rules: [
               {
                 required: false,
@@ -353,7 +352,8 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
+          },
+          {
             label: '发货日期',
             prop: 'businessDate',
             type:'datetime',
@@ -364,7 +364,41 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
+          },
+          {
+            label: '发货人',
+            prop: 'arrivalContact',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '发货电话',
+            prop: 'arrivalTel',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '发货地址',
+            prop: 'arrivalAddress',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: '业务员',
             prop: 'saleman',
             dicData: [],
@@ -547,6 +581,7 @@ export default {
       }).catch(()=>{
         row.contractNumber = ''
       })
+      this.sumOrderNo(row);
       this.selectInventory(row)
     },
     //查询库存
@@ -729,12 +764,10 @@ export default {
             return this.$message.error(`请输入第${i + 1}行的货物品种`);
           }
           if (this.contactsData[i].actualQuantity === "") {
-            return this.$message.error(`请输入第${i + 1}行的件数`);
-          }
-          if (this.contactsData[i].actualQuantity == 0) {
-            return this.$message.error(`请输入第${i + 1}行的件数`);
+            return this.$message.error(`请输入第${i + 1}行的数量`);
           }
         }
+        this.form.billNo = this.contactsData.map(item =>{return item.billNo}).join(",")
         if (valid) {
           let submitDto = {
             ...this.form,
@@ -746,8 +779,7 @@ export default {
               detailInvoiceList(res.data.data.id).then(res => {
                 this.form = res.data.data;
                 this.oldForm = Object.assign({},res.data.data);
-                this.goodsDisable = res.data.data.deliveryStatus === "已发货" ?   true :false
-                // this.configuration.dicData = this.form.companyName
+                this.goodsDisable = res.data.data.deliveryStatus === "已发货" ?   true :false;
                 if(this.form.deliveryItemsList){
                   this.contactsData = this.form.deliveryItemsList
                   this.oldContactsData = this.deepClone(this.form.deliveryItemsList)

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

@@ -18,7 +18,8 @@
                @size-change="sizeChange"
                @saveColumn="saveColumn"
                @refresh-change="refreshChange"
-               @on-load="onLoad">
+               @on-load="onLoad
+">
       <template slot="corpIdSearch">
         <select-component
           v-model="search.corpId"
@@ -128,6 +129,9 @@ export default {
   async created() {
     // this.option = await this.getColumnData(this.getColumnName(43), option);
   },
+  mounted() {
+    this.option.height = window.innerHeight - 310;
+  },
   activated() {
     setTimeout(() => {
       if(this.$route.query.form){
@@ -249,6 +253,18 @@ export default {
       console.log('1')
     },
     onLoad(page, params) {
+      if(params){
+        if (params.businessDate != undefined) {  //发货
+          params.businessStartDate = params.businessDate[0]+ " " + "00:00:00";
+          params.businessEndDate = params.businessDate[1] + " " + "23:59:59";
+          this.$delete(params,'businessDate')
+        }
+        if (params.createTime!= undefined) {
+          params.createStartTime = params.createTime[0]+ " " + "00:00:00";
+          params.createEndTime = params.createTime[1] + " " + "23:59:59";
+          this.$delete(params,'createTime')
+        }
+      }
       let queryParams = Object.assign({}, params, {
         size: page.pageSize,
         current: page.currentPage,

+ 3 - 3
src/views/importTrade/receipt/config/mainList.json

@@ -89,7 +89,7 @@
       "width":100
     },
     {
-      "label": "货人",
+      "label": "货人",
       "prop": "arrivalContact",
       "search": true,
       "overHidden": true,
@@ -98,7 +98,7 @@
       "width":120
     },
     {
-      "label": "货电话",
+      "label": "货电话",
       "prop": "arrivalTel",
       "search": true,
       "overHidden": true,
@@ -107,7 +107,7 @@
       "width":120
     },
     {
-      "label": "货地址",
+      "label": "货地址",
       "prop": "arrivalAddress",
       "search": true,
       "overHidden": true,

+ 35 - 3
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -37,6 +37,7 @@
                 <el-select v-else-if="item.prop === 'storageId'" style="width: 100%" :disabled="receiptDisable" @change="warehouseChange" v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
                   <el-option v-for="(item,index) in storageIdDic" :key="index" :label="item.cname" :value="item.id"></el-option>
                 </el-select>
+<!--                <warehouse-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]" @change="warehouseChange" :configuration="configuration" />-->
                 <el-input type="textarea" v-else-if="(item.prop === 'deliveryRemarks')" v-model="form[item.prop]"  :disabled="receiptDisable" size="small" autocomplete="off" placeholder="请输入"></el-input>
                 <el-input v-else v-model="form[item.prop]" size="small" :disabled="item.disabled?true:false || receiptDisable" placeholder="请输入" autocomplete="off"></el-input>
               </el-form-item>
@@ -367,6 +368,39 @@ export default {
             ]
           },
           {
+            label: '收货人',
+            prop: 'arrivalContact',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '收货电话',
+            prop: 'arrivalTel',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '收货地址',
+            prop: 'arrivalAddress',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: '业务员',
             prop: 'saleman',
             dicData: [],
@@ -662,10 +696,8 @@ export default {
           if (this.contactsData[i].actualQuantity === "") {
             return this.$message.error(`请输入第${i + 1}行的数量`);
           }
-          if (this.contactsData[i].actualQuantity == 0) {
-            return this.$message.error(`请输入第${i + 1}行的数量不能为0`);
-          }
         }
+        this.form.billNo = this.contactsData.map(item =>{return item.billNo}).join(",")
         if (valid) {
           let submitDto = {
             ...this.form,

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

@@ -262,6 +262,18 @@ export default {
       done();
     },
     onLoad(page, params) {
+      if(params){
+        if (params.businessDate != undefined) {  //发货
+          params.businessStartDate = params.businessDate[0]+ " " + "00:00:00";
+          params.businessEndDate = params.businessDate[1] + " " + "23:59:59";
+          this.$delete(params,'businessDate')
+        }
+        if (params.createTime!= undefined) {
+          params.createStartTime = params.createTime[0]+ " " + "00:00:00";
+          params.createEndTime = params.createTime[1] + " " + "23:59:59";
+          this.$delete(params,'createTime')
+        }
+      }
       let queryParams = Object.assign({}, params, {
         size: page.pageSize,
         current: page.currentPage,

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

@@ -6,23 +6,30 @@
                    @click="backToList">返回列表
         </el-button>
       </div>
-      <el-button type="primary"
-                 class="el-button--small-yh add-customer-btn-three"
-                 :disabled="true"
-                 @click.stop="">请核
-      </el-button>
-      <el-button type="success"
-                 class="el-button--small-yh add-customer-btn-two"
-                 :disabled="true"
-                 @click.stop="">复制新单
-      </el-button>
-      <el-button
-        class="el-button--small-yh add-customer-btn"
-        type="primary"
-        :disabled="disabled"
-        @click="editCustomer"
-      >{{form.id?'确认修改':'确认新增'}}
-      </el-button>
+      <div class="upper_right_button">
+        <el-button type="primary"
+                   class="el-button--small-yh"
+                   :disabled="true"
+                   @click.stop="">请核
+        </el-button>
+        <el-button type="warning"
+                   class="el-button--small-yh"
+                   :disabled="!form.id"
+                   @click.stop="generatePurchase">生成采购单
+        </el-button>
+        <el-button type="success"
+                   class="el-button--small-yh"
+                   :disabled="true"
+                   @click.stop="">复制新单
+        </el-button>
+        <el-button
+          class="el-button--small-yh"
+          type="primary"
+          :disabled="disabled"
+          @click="editCustomer"
+        >{{form.id?'确认修改':'确认新增'}}
+        </el-button>
+      </div>
     </div>
     <div style="margin-top: 60px">
       <el-form :model="form" ref="form" label-width="130px">
@@ -278,9 +285,8 @@ import commodity from "./config/commodity.json"
 import { getList } from "@/api/basicData/configuration"
 import {detailSaleList,
   submitData,
+  generatePurchase,
   goodsListRemove,
-  feesListRemove,
-  updateListRemove,
   getOrgOrderNo,
   generateShipment} from "@/api/importTrade/salesContract"
 import feeInfo from "@/components/fee-info/main";
@@ -732,6 +738,33 @@ export default {
         row.amount =_.multiply(row.invoiceWeight,row.price).toFixed(2);
       }
     },
+    //生成采购单
+    generatePurchase(){
+      if(contrastObj(this.form,this.oldForm) || contrastList(this.importInventoryData,this.oldInventoryData)
+        || contrastList(this.orderFeesList,this.oldFeesList) || contrastList(this.orderFilesList,this.oldFilesList)
+      ){
+        this.$confirm("您已改动数据,是否先保存在进行操作!", {
+          confirmButtonText: "保存",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.editCustomer();
+        })
+      }else{
+         const  params = {
+          ...this.form,
+           orderItemsList:this.importInventoryData,
+           orderFeesList:this.orderFeesList,
+           orderFilesList:this.orderFilesList
+        }
+        generatePurchase(params).then(res=>{
+          if(res.data.success){
+            this.$message.success("操作成功!")
+          }
+        })
+      }
+    },
+    //修改
     editCustomer(status) {
       this.$refs["form"].validate((valid) => {
         if (valid) {
@@ -1078,11 +1111,6 @@ export default {
   /* display: flex;
   justify-content: left; */
 }
-.add-customer-btn-two {
-  position: fixed;
-  right: 150px;
-  top: 115px;
-}
 .customer-back {
   cursor: pointer;
   line-height: 62px;
@@ -1095,15 +1123,11 @@ export default {
   display:inline-block;
   width: 7%
 }
-.add-customer-btn-three {
-  position: fixed;
-  right: 266px;
-  top: 115px;
-}
 
-.add-customer-btn {
+.upper_right_button{
+  display: flex;
   position: fixed;
-  right: 36px;
+  right: 20px;
   top: 115px;
 }
 

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

@@ -236,6 +236,18 @@ export default {
       this.onLoad(this.page)
     },
     onLoad(page, params) {
+      if(params){
+        if (params.businesDate != undefined) {  //发货
+          params.contractStartDate = params.businesDate[0]+ " " + "00:00:00";
+          params.contractEndDate = params.businesDate[1] + " " + "23:59:59";
+          this.$delete(params,'businesDate')
+        }
+        if (params.advanceCollectionDate!= undefined) {
+          params.orderStartDate = params.advanceCollectionDate[0]+ " " + "00:00:00";
+          params.orderEndDate = params.advanceCollectionDate[1] + " " + "23:59:59";
+          this.$delete(params,'advanceCollectionDate')
+        }
+      }
       let queryParams = Object.assign({}, params, {
         size: page.pageSize,
         current: page.currentPage,

+ 16 - 15
src/views/workManagement/main-items/detailsPage.vue

@@ -655,11 +655,11 @@
           projectDetail(this.id,"0,1,2,3,4,5").then(res =>{
             this.form = res.data.data;
             this.oldForm = Object.assign({},res.data.data);
-            this.configuration.dicData = res.data.data.corpName; //给客户名称赋值
+            console.log(res.data.data.corpName)
+            this.configuration.dicData = this.form.corpName;
+            // this.configuration.dicData = res.data.data.corpName; //给客户名称赋值
             if(res.data.data.itemList){
               this.operationDetailList(res.data.data.itemList);
-            }else{
-              this.data = [];
             }
             if(res.data.data.filesList){
               this.upLoadData = res.data.data.filesList
@@ -687,7 +687,6 @@
         })
         //如果 明细列表存在 请核之后的状态 禁止编辑一些输入框
         if(status.findIndex(item => item == false) == 0){
-          console.log(1)
           this.basicData.column.forEach(item =>{
             if(item.prop == "code" || item.prop == "cname" || item.prop == "corpId" || item.prop == "debitAmount"){
               item.disabled = true
@@ -695,7 +694,6 @@
             }
           })
         }else{
-          console.log(2)
           this.basicData.column.forEach(item =>{
             if(item.prop == "code" || item.prop == "cname" || item.prop == "corpId" || item.prop == "debitAmount"){
               item.disabled = false
@@ -838,11 +836,7 @@
                   type: "success",
                   message: "操作成功!"
                 });
-                this.$router.$avueRouter.closeTag();
-                this.$router.push({
-                  path: '/workManagement/main-items/list',
-                  query: {}
-                });
+               this.goBackPage();
               }else{
                 this.$message({
                   type: "success",
@@ -881,13 +875,20 @@
           }).then(() => {
             this.editMainProject(10001)
           }).catch(()=>{
-            this.$router.$avueRouter.closeTag();
-            this.$router.push({
-              path: '/workManagement/main-items/list',
-              query: {}
-            });
+            this.goBackPage();
           })
         }else{
+         this.goBackPage();
+        }
+      },
+      //返回列表判断返回那一个
+      goBackPage(){
+        if(this.$route.query.itemId){   //如果是从统计列表跳转过来的  那么在调回去
+          this.$router.push({
+            path: '/statistical_List',
+            query: {}
+          });
+        }else{
           this.$router.$avueRouter.closeTag();
           this.$router.push({
             path: '/workManagement/main-items/list',