Browse Source

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

caojunjie 3 years ago
parent
commit
ec795197e3

+ 7 - 0
src/api/financialManagement/paymentRequest.js

@@ -139,3 +139,10 @@ export function removeDetail(data) {
   })
 }
 
+// 查询客户银行list
+export function getlistAll(){
+  return request({
+    url: '/api/blade-client/corpsdesc/listAll',
+    method: 'get'
+  })
+}

+ 3 - 0
src/enums/column-name.js

@@ -789,6 +789,9 @@ const columnName = [{
 }, {
   code: 186,
   name: '事务管理-任务'
+}, {
+  code: 187,
+  name: '橡胶库存-列表页'
 }
 ]
 export const getColumnName = (key) => {

+ 4 - 0
src/views/basicData/customerManagement/companyMaterial/detailsPageEdit.vue

@@ -359,6 +359,10 @@ export default {
           {
             label: "付款方式",
             prop: "paymentType"
+          },
+          {
+            label: "纳税人识别号",
+            prop: "taxpayerDifferenceCode"
           }
         ]
       },

+ 11 - 2
src/views/financialManagement/incomeInvoice/incomeInvoiceDetailsPage.vue

@@ -90,6 +90,12 @@
               autocomplete="off" placeholder="">
             </el-input>
           </template>
+          <template slot="invoiceTitle">
+            <el-select v-model="form.invoiceTitle" size="small" placeholder="请选择 开票抬头" clearable filterable>
+              <el-option v-for="(item, index) in billingList" :key="index" :label="item.cname" :value="item.cname">
+              </el-option>
+            </el-select>
+          </template>
         </avue-form>
       </basic-container>
       <containerTitle title="明细列表"></containerTitle>
@@ -171,7 +177,7 @@
 import option from "./configuration/detailsPage.json";
 import options from "./configuration/invoicepage.json";
 import { getDetail, editFinance } from "@/api/financialManagement/financialManagement"
-import { saveOrEdit, getDetails } from "@/api/financialManagement/paymentRequest";
+import { saveOrEdit, getDetails, getlistAll } from "@/api/financialManagement/paymentRequest";
 import { createInvoiceItem, putFund, cancelFund } from "@/api/financialManagement/invoice";
 import { contrastObj, contrastList } from "@/util/contrastData";
 import billDetail from "@/components/bill/billDetailList";
@@ -413,6 +419,7 @@ export default {
       oldForm: {},
       oldDataList: [],
       oldDataLists: [],
+      billingList: []
     }
   },
   components: {
@@ -459,7 +466,9 @@ export default {
         this.buttonLoading = false
       })
     }
-
+    getlistAll().then(res => {
+      this.billingList = res.data.data
+    })
   },
   mounted() {
 

+ 1 - 1
src/views/financialManagement/outputInvoice/configuration/mainList.json

@@ -2,7 +2,7 @@
   "lazy": true,
   "tip": false,
   "searchShow": true,
-  "searchMenuSpan": 16,
+  "searchMenuSpan": 8,
   "dialogWidth": "60%",
   "align": "center",
   "height": "auto",

+ 11 - 1
src/views/financialManagement/outputInvoice/outputInvoiceDetailsPage.vue

@@ -89,6 +89,12 @@
               autocomplete="off" placeholder="">
             </el-input>
           </template>
+          <template slot="invoiceTitle">
+            <el-select v-model="form.invoiceTitle" size="small" placeholder="请选择 开票抬头" clearable filterable>
+              <el-option v-for="(item, index) in billingList" :key="index" :label="item.cname" :value="item.cname">
+              </el-option>
+            </el-select>
+          </template>
         </avue-form>
       </basic-container>
       <containerTitle title="明细列表"></containerTitle>
@@ -170,7 +176,7 @@
 import option from "./configuration/detailsPage.json";
 import options from "./configuration/invoicepage.json";
 import { getDetail, editFinance } from "@/api/financialManagement/financialManagement"
-import { saveOrEdit, getDetails } from "@/api/financialManagement/paymentRequest";
+import { saveOrEdit, getDetails, getlistAll } from "@/api/financialManagement/paymentRequest";
 import { createInvoiceItem, putFund, cancelFund } from "@/api/financialManagement/invoice";
 import { contrastObj, contrastList } from "@/util/contrastData";
 import billDetail from "@/components/bill/billDetailList";
@@ -424,6 +430,7 @@ export default {
       oldForm: {},
       oldDataList: [],
       oldDataLists: [],
+      billingList: []
     }
   },
   components: {
@@ -470,6 +477,9 @@ export default {
         this.buttonLoading = false
       })
     }
+    getlistAll().then(res => {
+      this.billingList = res.data.data
+    })
 
   },
   mounted() {

+ 198 - 124
src/views/purchase/contract/index.vue

@@ -1,110 +1,86 @@
 <template>
   <div>
     <basic-container v-if="show">
-      <avue-crud :option="option"
-                 :data="dataList"
-                 :table-loading="loading"
-                 ref="crud"
-                 v-model="form"
-                 :page.sync="page"
-                 :search.sync="search"
-                 @row-del="rowDel"
-                 :before-open="beforeOpen"
-                 :before-close="beforeClose"
-                 :cell-style="cellStyle"
-                 @search-change="searchChange"
-                 @search-reset="searchReset"
-                 @selection-change="selectionChange"
-                 @current-change="currentChange"
-                 @size-change="sizeChange"
-                 @refresh-change="refreshChange"
-                 @on-load="onLoad"
-                 @expand-change="expandChange"
-                 @saveColumn="saveColumn"
-                 @resetColumn="resetColumn"
-                 @search-criteria-switch="searchCriteriaSwitch"
-      >
+      <avue-crud :option="option" :data="dataList" :table-loading="loading" ref="crud" v-model="form" :page.sync="page"
+        :search.sync="search" @row-del="rowDel" :before-open="beforeOpen" :before-close="beforeClose"
+        :cell-style="cellStyle" @search-change="searchChange" @search-reset="searchReset"
+        @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+        @refresh-change="refreshChange" @on-load="onLoad" @expand-change="expandChange" @saveColumn="saveColumn"
+        @resetColumn="resetColumn" @search-criteria-switch="searchCriteriaSwitch">
         <template slot="corpIdSearch">
-          <select-component
-            v-model="search.corpId"
-            :configuration="configuration"
-          ></select-component>
+          <select-component v-model="search.corpId" :configuration="configuration"></select-component>
         </template>
         <template slot="salesNameSearch">
-          <user-com
-            v-model="search.salesName"
-            style="width: 100%"
-          ></user-com>
+          <user-com v-model="search.salesName" style="width: 100%"></user-com>
         </template>
         <template slot-scope="scope" slot="expand">
           <el-table :data="scope.row.insideList" v-loading="scope.row.loading">
-            <el-table-column   type="selection" align="center"  width="50"></el-table-column>
-            <el-table-column  label="提单号" prop="billNo" align="center" show-overflow-tooltip width="150"></el-table-column>
-            <el-table-column  label="货物品种" prop="priceCategoryNames" align="center" show-overflow-tooltip width="180"></el-table-column>
-            <el-table-column  label="规格" prop="itemType" align="center" show-overflow-tooltip width="140"></el-table-column>
-            <el-table-column  label="件数" prop="orderQuantity" align="center" show-overflow-tooltip width="80"></el-table-column>
-            <el-table-column  label="发票重量" prop="invoiceWeight" align="center" show-overflow-tooltip width="120"></el-table-column>
-            <el-table-column  label="码单重量" prop="billWeight" align="center" show-overflow-tooltip width="120"></el-table-column>
-            <el-table-column  label="单价" prop="price" align="center" show-overflow-tooltip width="80"></el-table-column>
-            <el-table-column  label="发票金额" prop="amount" align="center" show-overflow-tooltip width="120"></el-table-column>
-            <el-table-column  label="已收件数" prop="actualQuantity" align="center" show-overflow-tooltip width="80"></el-table-column>
+            <el-table-column type="selection" align="center" width="50"></el-table-column>
+            <el-table-column label="提单号" prop="billNo" align="center" show-overflow-tooltip width="150">
+            </el-table-column>
+            <el-table-column label="货物品种" prop="priceCategoryNames" align="center" show-overflow-tooltip width="180">
+            </el-table-column>
+            <el-table-column label="规格" prop="itemType" align="center" show-overflow-tooltip width="140">
+            </el-table-column>
+            <el-table-column label="件数" prop="orderQuantity" align="center" show-overflow-tooltip width="80">
+            </el-table-column>
+            <el-table-column label="发票重量" prop="invoiceWeight" align="center" show-overflow-tooltip width="120">
+            </el-table-column>
+            <el-table-column lab187outExportel="码单重量" prop="billWeight" align="center" show-overflow-tooltip
+              width="120">
+            </el-table-column>
+            <el-table-column label="单价" prop="price" align="center" show-overflow-tooltip width="80"></el-table-column>
+            <el-table-column label="发票金额" prop="amount" align="center" show-overflow-tooltip width="120">
+            </el-table-column>
+            <el-table-column label="已收件数" prop="actualQuantity" align="center" show-overflow-tooltip width="80">
+            </el-table-column>
           </el-table>
         </template>
         <template slot="menuLeft">
-          <el-button size="small"
-                     type="success"
-                     :disabled="selectionList.length != 1"
-                     @click.stop="copyBill"
-          >复制单据
+          <el-button size="small" type="success" :disabled="selectionList.length != 1" @click.stop="copyBill">复制单据
+          </el-button>
+          <el-button type="warning" icon="el-icon-download" size="mini" @click="outExport">导出
           </el-button>
         </template>
         <template slot-scope="scope" slot="menu">
-          <el-button
-            type="text"
-            icon="el-icon-delete"
-            size="small"
-            v-if="scope.row.status == 0 || scope.row.status == 4"
-            @click.stop="rowDel(scope.row,scope.index)"
-          >删除
+          <el-button type="text" icon="el-icon-delete" size="small"
+            v-if="scope.row.status == 0 || scope.row.status == 4" @click.stop="rowDel(scope.row, scope.index)">删除
           </el-button>
         </template>
         <template slot-scope="scope" slot="corpId">
-          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.strCorpName }}</span>
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.strCorpName
+          }}</span>
         </template>
         <template slot-scope="scope" slot="orderNo">
-          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.orderNo }}</span>
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row)">{{ scope.row.orderNo
+          }}</span>
         </template>
         <template slot-scope="scope" slot="orderQuantity">
-          <span>{{ scope.row.orderQuantity | roundNumbers}}</span>
+          <span>{{ scope.row.orderQuantity | roundNumbers }}</span>
         </template>
         <template slot-scope="scope" slot="actualQuantity">
-          <span>{{ scope.row.actualQuantity | roundNumbers}}</span>
+          <span>{{ scope.row.actualQuantity | roundNumbers }}</span>
         </template>
       </avue-crud>
     </basic-container>
-    <detail-page
-      ref="detail"
-      @goBack="goBack"
-      :detailData="detailData"
-      v-else
-    ></detail-page>
+    <detail-page ref="detail" @goBack="goBack" :detailData="detailData" v-else></detail-page>
   </div>
 </template>
 <script>
 import option from "./config/mainList.json";
-import {selectPurchaseList,removeData,getItemByPid} from "@/api/importTrade/purchase";
+import { selectPurchaseList, removeData, getItemByPid } from "@/api/importTrade/purchase";
 import detailPage from "./detailsPage.vue";
 import { roundNumbers } from "@/util/validate";
-
+import { getToken } from "@/util/auth";
 export default {
   name: "index",
   data() {
     return {
-      loading:false,
+      loading: false,
       option: option,
-      detailData:{},
+      detailData: {},
       dataList: [],
-      selectionList:[],
+      selectionList: [],
       page: {
         pageSize: 10,
         pagerCount: 5,
@@ -113,44 +89,44 @@ export default {
       form: {},
       show: true,
       search: {},
-      configuration:{
-        multipleChoices:false,
-        multiple:false,
-        disabled:false,
-        searchShow:true,
-        collapseTags:false,
-        clearable:true,
-        placeholder:'请点击右边按钮选择',
-        dicData:[]
+      configuration: {
+        multipleChoices: false,
+        multiple: false,
+        disabled: false,
+        searchShow: true,
+        collapseTags: false,
+        clearable: true,
+        placeholder: '请点击右边按钮选择',
+        dicData: []
       },
     }
   },
   filters: {
-    roundNumbers(val){
+    roundNumbers(val) {
       return roundNumbers(val);
     }
   },
-  components:{
+  components: {
     detailPage
   },
   async created() {
     // this.option = await this.getColumnData(this.getColumnName(36), option);
   },
   activated() {
-    if(!this.show && !this.$store.getters.entranceCgStatus){
+    if (!this.show && !this.$store.getters.entranceCgStatus) {
       this.show = true;
     }
     setTimeout(() => {
-      if(this.$route.query.check && this.show){
-        this.detailData={
-          check:this.$route.query.check
+      if (this.$route.query.check && this.show) {
+        this.detailData = {
+          check: this.$route.query.check
         }
         this.show = false;
         this.$store.commit("ENTRANCE_IN_DETAIL");
       } else if (this.$route.query.params) {
-        this.detailData={
-          id:this.$route.query.params,
-          view:true,
+        this.detailData = {
+          id: this.$route.query.params,
+          view: true,
         }
         this.show = false;
         this.$store.commit("ENTRANCE_IN_DETAIL");
@@ -163,12 +139,12 @@ export default {
   methods: {
     //表格展开触发
     expandChange(row, expendList) {
-      if(row){
-        getItemByPid(row.id).then(res =>{
-          this.$set(this.dataList[row.$index],"insideList", res.data.data)
+      if (row) {
+        getItemByPid(row.id).then(res => {
+          this.$set(this.dataList[row.$index], "insideList", res.data.data)
           row.loading = false
         })
-      }else{
+      } else {
         return
       }
     },
@@ -179,8 +155,8 @@ export default {
         cancelButtonText: "取消",
         type: "warning"
       }).then(() => {
-        removeData(row.id).then(res =>{
-          if(res.data.success){
+        removeData(row.id).then(res => {
+          if (res.data.success) {
             this.$message({
               type: "success",
               message: "操作成功!"
@@ -190,7 +166,7 @@ export default {
         })
       })
     },
-    copyBill(){
+    copyBill() {
       this.detailData = {
         id: this.selectionList[0].id,
         status: 'copy'
@@ -204,13 +180,13 @@ export default {
         tableName: 'business_order',
         billId: row.id,
         no: localStorage.getItem('browserID'),
-        billNo:row.orderNo
+        billNo: row.orderNo
       }
 
       this.detailData = {
         id: row.id,
-        view:true,
-        lockData:lockData,
+        view: true,
+        lockData: lockData,
       };
 
       this.show = false;
@@ -254,37 +230,37 @@ export default {
     refreshChange() {
       this.onLoad(this.page);
     },
-    paramsAdjustment(params){
-      params = Object.assign({},this.search);
-      if (params.businesDate &&  params.businesDate.length !=0 ) {  //合同
-        params.businesStartDate = params.businesDate[0]+ " " + "00:00:00";
+    paramsAdjustment(params) {
+      params = Object.assign({}, this.search);
+      if (params.businesDate && params.businesDate.length != 0) {  //合同
+        params.businesStartDate = params.businesDate[0] + " " + "00:00:00";
         params.businesEndDate = params.businesDate[1] + " " + "23:59:59";
-        this.$delete(params,'businesDate')
+        this.$delete(params, 'businesDate')
       }
-      if (params.requiredDeliveryDate &&  params.requiredDeliveryDate.length !=0 ) {  //发货
-        params.requiredDeliveryStartDate = params.requiredDeliveryDate[0]+ " " + "00:00:00";
+      if (params.requiredDeliveryDate && params.requiredDeliveryDate.length != 0) {  //发货
+        params.requiredDeliveryStartDate = params.requiredDeliveryDate[0] + " " + "00:00:00";
         params.requiredDeliveryEndDate = params.requiredDeliveryDate[1] + " " + "23:59:59";
-        this.$delete(params,'requiredDeliveryDate')
+        this.$delete(params, 'requiredDeliveryDate')
       }
-      if (params.requiredArrivalDate &&  params.requiredArrivalDate.length !=0 ) {  //到货
-        params.requiredArrivalStartDate = params.requiredArrivalDate[0]+ " " + "00:00:00";
+      if (params.requiredArrivalDate && params.requiredArrivalDate.length != 0) {  //到货
+        params.requiredArrivalStartDate = params.requiredArrivalDate[0] + " " + "00:00:00";
         params.requiredArrivalEndDate = params.requiredArrivalDate[1] + " " + "23:59:59";
-        this.$delete(params,'requiredArrivalDate')
+        this.$delete(params, 'requiredArrivalDate')
       }
-      if (params.accountsCollectionDate &&  params.accountsCollectionDate.length !=0 ) {  //付款
-        params.accountsCollectionStartDate = params.accountsCollectionDate[0]+ " " + "00:00:00";
+      if (params.accountsCollectionDate && params.accountsCollectionDate.length != 0) {  //付款
+        params.accountsCollectionStartDate = params.accountsCollectionDate[0] + " " + "00:00:00";
         params.accountsCollectionEndDate = params.accountsCollectionDate[1] + " " + "23:59:59";
-        this.$delete(params,'accountsCollectionDate')
+        this.$delete(params, 'accountsCollectionDate')
       }
-      if (params.dateOfArrival &&  params.dateOfArrival.length !=0 ) {   //到港
-        params.dateOfStartArrival = params.dateOfArrival[0]+ " " + "00:00:00";
+      if (params.dateOfArrival && params.dateOfArrival.length != 0) {   //到港
+        params.dateOfStartArrival = params.dateOfArrival[0] + " " + "00:00:00";
         params.dateOfEndArrival = params.dateOfArrival[1] + " " + "23:59:59";
-        this.$delete(params,'dateOfArrival')
+        this.$delete(params, 'dateOfArrival')
       }
-      if (params.creditDate &&  params.creditDate.length !=0 ) {  //信用
-        params.creditStartDate = params.creditDate[0]+ " " + "00:00:00";
+      if (params.creditDate && params.creditDate.length != 0) {  //信用
+        params.creditStartDate = params.creditDate[0] + " " + "00:00:00";
         params.creditEndDate = params.creditDate[1] + " " + "23:59:59";
-        this.$delete(params,'creditDate')
+        this.$delete(params, 'creditDate')
       }
       return params
     },
@@ -301,26 +277,123 @@ export default {
           this.option.height = window.innerHeight - 200;
         }
       })
-      .finally(()=>{
-        this.loading = false
-      })
+        .finally(() => {
+          this.loading = false
+        })
     },
-    searchCriteriaSwitch(type){
-      if (type){
+    searchCriteriaSwitch(type) {
+      if (type) {
         this.option.height = this.option.height - 145
-      }else {
+      } else {
         this.option.height = this.option.height + 145
       }
       this.$refs.crud.getTableHeight()
     },
     goBack() {
-      this.detailData=this.$options.data().detailData
+      this.detailData = this.$options.data().detailData
       this.show = true;
       this.onLoad(this.page, this.search)
     },
     cellStyle() {
       return "padding:0;height:40px;";
     },
+    //导出
+    outExport() {
+      let params = { ...this.search }
+      if (params.businesDate && params.businesDate.length > 0) {
+        params = {
+          ...params,
+          businesStartDate: params.businesDate[0] + ' 00:00:00',
+          businesEndDate: params.businesDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          businesStartDate: '',
+          businesEndDate: '',
+        }
+      }
+      if (params.requiredDeliveryDate && params.requiredDeliveryDate.length > 0) {
+        params = {
+          ...params,
+          requiredDeliveryStartDate: params.requiredDeliveryDate[0] + ' 00:00:00',
+          requiredDeliveryEndDate: params.requiredDeliveryDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          requiredDeliveryStartDate: '',
+          requiredDeliveryEndDate: '',
+        }
+      }
+      if (params.requiredArrivalDate && params.requiredArrivalDate.length > 0) {
+        params = {
+          ...params,
+          requiredArrivalStartDate: params.requiredArrivalDate[0] + ' 00:00:00',
+          requiredArrivalEndDate: params.requiredArrivalDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          requiredArrivalStartDate: '',
+          requiredArrivalEndDate: '',
+        }
+      }
+      if (params.accountsCollectionDate && params.accountsCollectionDate.length > 0) {
+        params = {
+          ...params,
+          accountsCollectionStartDate: params.accountsCollectionDate[0] + ' 00:00:00',
+          accountsCollectionEndDate: params.accountsCollectionDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          accountsCollectionStartDate: '',
+          accountsCollectionEndDate: '',
+        }
+      }
+      if (params.dateOfArrival && params.dateOfArrival.length > 0) {
+        params = {
+          ...params,
+          dateOfStartArrival: params.dateOfArrival[0] + ' 00:00:00',
+          dateOfEndArrival: params.dateOfArrival[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          dateOfStartArrival: '',
+          dateOfEndArrival: '',
+        }
+      }
+      if (params.creditDate && params.creditDate.length > 0) {
+        params = {
+          ...params,
+          creditStartDate: params.creditDate[0] + ' 00:00:00',
+          creditEndDate: params.creditDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          creditStartDate: '',
+          creditEndDate: '',
+        }
+      }
+      this.$confirm('是否导出数据?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        window.open(
+          `/api/trade-purchase/purchase-order/selOrderExportA?${this.website.tokenHeader
+          }=${getToken()}&tradeType=JK&orderNo=${params.orderNo}&billNo=${params.billNo}&corpId=${params.corpId}&salesName=${params.salesName}&businesStartDate=${params.businesStartDate}&businesEndDate=${params.businesEndDate}&requiredDeliveryStartDate=${params.requiredDeliveryStartDate}&requiredDeliveryEndDate=${params.requiredDeliveryEndDate}&requiredArrivalStartDate=${params.requiredArrivalStartDate}&requiredArrivalEndDate=${params.requiredArrivalEndDate}&accountsCollectionStartDate=${params.accountsCollectionStartDate}&accountsCollectionEndDate=${params.accountsCollectionEndDate}&dateOfStartArrival=${params.dateOfStartArrival}&dateOfEndArrival=${params.dateOfEndArrival}&creditStartDate=${params.creditStartDate}&creditEndDate=${params.creditEndDate}`
+        );
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消' //
+        });
+      })
+    },
     //列保存触发
     async saveColumn() {
       const inSave = await this.saveColumnData(
@@ -350,13 +423,14 @@ export default {
 </script>
 
 <style scoped>
-::v-deep .el-table__expanded-cell{
+::v-deep .el-table__expanded-cell {
   padding: 0 !important;
 }
 
 /deep/ .el-table__expanded-cell .el-table__header-wrapper .cell {
   font-size: 8px !important;
 }
+
 /deep/ .el-table__body-wrapper .cell {
   font-size: 8px;
 }

+ 196 - 0
src/views/purchase/rubberStock/config/mainList.json

@@ -0,0 +1,196 @@
+{
+  "headerAlign": "center",
+  "align": "center",
+  "border": true,
+  "index": true,
+  "lazy": true,
+  "tip": false,
+  "searchShow": true,
+  "height": "auto",
+  "searchMenuPosition": "right",
+  "searchSpan": 8,
+  "searchMenuSpan": 8,
+  "tree": true,
+  "selection": false,
+  "addBtn": false,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 150,
+  "menu": false,
+  "searchIcon": true,
+  "stripe": true,
+  "searchIndex": 2,
+  "searchLabelWidth": 100,
+  "showSummary": true,
+  "summaryText": "合计",
+  "sumColumnList": [
+    {
+      "name": "surplusRouteQuantity",
+      "type": "sum",
+      "decimals": 6
+    }
+  ],
+  "column": [
+    {
+      "label": "供应商",
+      "prop": "contractNumber",
+      "overHidden": true,
+      "index": 1,
+      "width": 150
+    },
+    {
+      "label": "品种",
+      "overHidden": true,
+      "prop": "billNo",
+      "index": 2,
+      "width": 150
+    },
+    {
+      "label": "采购公司",
+      "prop": "surplusRouteQuantity",
+      "overHidden": true,
+      "index": 3,
+      "width": 120
+    },
+    {
+      "label": "交货时间",
+      "prop": "inQuantity",
+      "overHidden": true,
+      "index": 4,
+      "width": 120
+    },
+    {
+      "label": "发货重量",
+      "prop": "inWeight",
+      "overHidden": true,
+      "index": 5,
+      "width": 120
+    },
+    {
+      "label": "单价",
+      "prop": "outQuantity",
+      "overHidden": true,
+      "index": 6,
+      "width": 120
+    },
+    {
+      "label": "合同金额",
+      "prop": "outWeight",
+      "overHidden": true,
+      "index": 7,
+      "width": 120
+    },
+    {
+      "label": "付款情况",
+      "prop": "balanceQuantity",
+      "overHidden": true,
+      "index": 8,
+      "width": 120
+    },
+    {
+      "label": "合同号",
+      "prop": "balanceWeight",
+      "overHidden": true,
+      "index": 9,
+      "width": 120
+    },
+    {
+      "label": "销售公司",
+      "overHidden": true,
+      "index": 10,
+      "width": 220,
+      "prop": "cname"
+    },
+    {
+      "label": "客户名称",
+      "prop": "cntrNo",
+      "index": 11,
+      "overHidden": true,
+      "width": 120
+    },
+    {
+      "label": "合同单价",
+      "prop": "stockName",
+      "index": 12,
+      "overHidden": true,
+      "width": 120
+    },
+    {
+      "label": "数量MT",
+      "prop": "createTime",
+      "overHidden": true,
+      "index": 13,
+      "width": 150
+    },
+    {
+      "label": "合同金额",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 14
+    },
+    {
+      "label": "收款情况",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 15,
+      "width": 150
+    },
+    {
+      "label": "业务结束日期",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "提单号",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "物流费用",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "交货仓库",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "业务员",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "含税毛利",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "不含税毛利",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    },
+    {
+      "label": "备注",
+      "prop": "isCntrON",
+      "overHidden": true,
+      "index": 16,
+      "width": 150
+    }
+  ]
+}

+ 186 - 0
src/views/purchase/rubberStock/index.vue

@@ -0,0 +1,186 @@
+<template>
+  <basic-container>
+    <avue-crud :option="option"
+               :data="dataList"
+               ref="crud"
+               v-model="form"
+               :page.sync="page"
+               :search.sync="search"
+               :table-loading="loading"
+               :cell-style="cellStyle"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @saveColumn="saveColumn"
+               @resetColumn="resetColumn"
+               @search-criteria-switch="searchCriteriaSwitch"
+               @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>
+
+<script>
+  import option from "./config/mainList.json";
+  import {customerList} from "@/api/basicData/inventoryAccount"
+  import { roundNumbers } from "@/util/validate";
+
+  export default {
+    data() {
+      return {
+        loading : false,
+        form: {},
+        search:{},
+        show:true,
+        detailData:{},
+        option: {},
+        parentId:0,
+        dataList: [],
+        page: {
+          currentPage: 1,
+          total: 0,
+          pageSize: 10,
+          pageSizes: [10, 50, 100, 200, 300, 400, 500,1000]
+        },
+        query:{},
+      }
+    },
+    filters: {
+      roundNumbers(val){
+        return roundNumbers(val);
+      }
+    },
+    async created() {
+      this.option = await this.getColumnData(this.getColumnName(187), option);
+    },
+    mounted() {
+    },
+    methods: {
+      //新单打开
+      addReceipt(row){
+
+      },
+      //编辑打开
+      editOpen(row, status){
+
+      },
+      rowDel(row, index, done) {
+        if(row.id){
+          this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(() => {
+
+          });
+        }
+      },
+      //点击搜索按钮触发
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done()
+      },
+      searchReset() {
+        console.log('1')
+      },
+      selectionChange() {
+        console.log('1')
+      },
+      sizeChange(val) {
+        this.page.currentPage = 1;
+        this.page.pageSize = val;
+      },
+      currentChange(val) {
+        this.page.currentPage = val;
+        this.onLoad(this.page);
+      },
+      refreshChange() {
+        this.onLoad(this.page);
+      },
+      paramsAdjustment(params) {
+        params = Object.assign({}, this.search);
+        if (params.createTime &&  params.createTime.length !==0 ) {   //付款
+          params.createStartTime = params.createTime[0]+ " " + "00:00:00";
+          params.createEndTime = params.createTime[1] + " " + "23:59:59";
+          this.$delete(params,'createTime')
+        }
+        if(!params.isCntrON){
+          params.isCntrON = 1
+        }
+        return params
+      },
+
+      onLoad(page, params = {}) {
+        this.loading = true;
+        params =  this.paramsAdjustment(params)
+        params.current = page.currentPage
+        params.size = page.pageSize
+
+        customerList(params).then(res=>{
+          this.dataList = res.data.data.records
+          this.page.total = res.data.data.total
+          if (this.page.total || this.page.total === 0) {
+            this.option.height = window.innerHeight - 240;
+          }
+        }).finally(()=>{
+          this.loading = false;
+        })
+      },
+      searchCriteriaSwitch(type){
+        if (type){
+          this.option.height = this.option.height - 45
+        }else {
+          this.option.height = this.option.height + 45
+        }
+        this.$refs.crud.getTableHeight()
+      },
+      cellStyle() {
+        return "padding:0;height:40px;";
+      },
+      //列保存触发
+      async saveColumn() {
+        const inSave = await this.saveColumnData(
+          this.getColumnName(187),
+          this.option
+        );
+        if (inSave) {
+          this.$message.success("保存成功");
+          //关闭窗口
+          this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        }
+      },
+      async resetColumn() {
+        const inSave = await this.delColumnData(
+          this.getColumnName(187),
+          option
+        );
+        if (inSave) {
+          this.$message.success("重置成功");
+          this.option = option;
+          //关闭窗口
+          this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        }
+      },
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

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

@@ -37,6 +37,8 @@
       <template slot="menuLeft">
         <el-button size="small" type="success" :disabled="selectionList.length != 1" @click.stop="copyBill">复制单据
         </el-button>
+        <el-button type="warning" icon="el-icon-download" size="mini" @click="outExport">导出
+        </el-button>
       </template>
       <template slot-scope="scope" slot="menu">
         <el-button type="text" icon="el-icon-delete" size="small" v-if="scope.row.status == 0 || scope.row.status == 4"
@@ -67,7 +69,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";
-
+import { getToken } from "@/util/auth";
 export default {
   name: "index",
   data() {
@@ -272,6 +274,52 @@ export default {
     cellStyle() {
       return "padding:0;height:40px;";
     },
+        //导出
+        outExport() {
+      let params = { ...this.search }
+      if (params.businesDate && params.businesDate.length > 0) {
+        params = {
+          ...params,
+          contractStartDate: params.businesDate[0] + ' 00:00:00',
+          contractEndDate: params.businesDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          contractStartDate: '',
+          contractEndDate: '',
+        }
+      }
+     
+      if (params.advanceCollectionDate && params.advanceCollectionDate.length > 0) {
+        params = {
+          ...params,
+          orderStartDate: params.advanceCollectionDate[0] + ' 00:00:00',
+          orderEndDate: params.advanceCollectionDate[1] + ' 23:59:59',
+        }
+      } else {
+        params = {
+          ...params,
+          orderStartDate: '',
+          orderEndDate: '',
+        }
+      }
+      this.$confirm('是否导出数据?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        window.open(
+          `/api/blade-purchase-sales/entranceOrder/selOrderExportB?${this.website.tokenHeader
+          }=${getToken()}&orderNo=${params.orderNo}&billNo=${params.billNo}&corpId=${params.corpId}&salesName=${params.salesName}&orderRemark=${params.orderRemark}&orderAmount=${params.orderAmount}&invoiceAmount=${params.invoiceAmount}&contractStartDate=${params.contractStartDate}&contractEndDate=${params.contractEndDate}&orderStartDate=${params.orderStartDate}&orderEndDate=${params.orderEndDate}`
+        );
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消' //
+        });
+      })
+    },
     //列保存触发
     async saveColumn() {
       const inSave = await this.saveColumnData(