瀏覽代碼

前端gjy

gjy 3 年之前
父節點
當前提交
5906e5cf28

+ 4 - 2
src/api/V2/financialManagement/index.js

@@ -3,6 +3,8 @@ export const API_GET_CAIWU_LIST= '/collectionManagement/selectCollectionInfo'
 //派发
 export const API_POST_PAIFA_LIST = '/collectionManagement/distribute'
 //查库管
-export const API_GET_KUGUAN_LIST = '/staff/query/staffsByRole'
+export const API_GET_KUGUAN_LIST = '/commonSysParameter/getStaffInfo'
 //派车查看
-export const API_GET_CHAKAN_LOOK = '/warehouseInOutInfo/selectDistributeCar'
+export const API_GET_CHAKAN_LOOK = '/warehouseInOutInfo/selectDistributeCar'
+//删除
+export const API_POST_DEL_LIST = '/collectionManagement/deleteCar'

+ 9 - 3
src/api/V2/platformaudit/index.js

@@ -8,7 +8,13 @@ export const API_POST_TRANSACTIONINFORMATIONREVIEW = '/procurementPlanInfo/api/e
 export const API_GET_GRAINMERCHANT_LIST = '/identityAuthenticationInfo/selectIdentityAuthenticationInfoPc'
 //司机列表
 export const API_GET_DRIVER_LIST = '/driverViewInfo/selectDriverInfoPage'
-//交易信息列表
+//交易信息列表(采购)
 export const API_GET_TRANSACTIONINFORMATION_LIST = '/procurementPlanInfo/selectProcurementPlanInfo'
-//交易信息删除
-export const API_POST_DELETETRANSACTIONINFORMATION = '/procurementPlanInfo/api/deleteProcurementPlan'
+//交易信息删除(采购)
+export const API_POST_DELETETRANSACTIONINFORMATION = '/procurementPlanInfo/api/deleteProcurementPlan'
+//交易信息列表(销售)
+export const API_GET_SALE_LIST = '/salePlanInfo/selectSalePlanInfo'
+//交易信息删除(销售)
+export const API_POST_DELETESALE = '/salePlanInfo/api/deleteSalePlanInfo'
+//交易信息审核(销售)
+export const API_POST_SALEREVIEW = '/salePlanInfo/api/examine'

+ 1 - 1
src/api/V2/salesManagement/index.js

@@ -16,7 +16,7 @@ export const API_GET_SALE_ORDER_LIST = '/saleOrder/selectSaleOrder'
 export const API_POST_SALE_ORDER_DEAL = '/saleOrder/api/deal'
 //销售订单平仓
 export const API_POST_SALE_CLOSEPOSITION = '/saleOrder/api/closePosition'
-//销售订单审核编辑
+//销售订单审核
 export const API_POST_ADUIT_SALE = '/saleOrder/api/editSaleOrder'
 //销售订单合同编号下拉列表
 export const API_GET_ADUIT_CONTRACTNO = '/warehouseBaseInfo/selectContractNoList'

+ 13 - 1
src/api/V2/statisticalReport/index.js

@@ -23,4 +23,16 @@ export const API_GET_SALE_LIST ='/salesClosingReport/selectSalesClosingOrder'
 // 销售平仓付款
 export const API_POST_PAY_MONEY ='/salesClosingReport/api/payMoney'
 // 销售平仓收款
-export const API_POST_COLLECT_MONEY ='/salesClosingReport/api/collectMoney'
+export const API_POST_COLLECT_MONEY ='/salesClosingReport/api/collectMoney'
+//采购平仓报表
+export const API_GET_CLOSE = '/purchaseClosingReport/selectPurchaseOrder'
+//采购平仓审核
+export const API_POST_CLOAEAUDIT = '/purchaseClosingReport/api/examine'
+//采购平仓付款
+export const API_POST_CLOSEPAYMONEY = '/purchaseClosingReport/api/payMoney'
+//采购平仓收款
+export const API_POST_CLOSECOLLMONEY = '/purchaseClosingReport/api/collectMoney'
+//采购入库开发票
+export const API_POST_OPENINVOICE = '/purchaseReceiptReport/api/openInvoice'
+//采购入库批量开发票
+export const API_POST_BATCHOPENINVOICE = '/purchaseReceiptReport/api/openInvoiceList'

+ 2 - 1
src/lang/zh.js

@@ -583,7 +583,8 @@
     platformaudit: '平台审核',
     grainmerchantreview: '粮商审核',
     driverreview: '司机审核',
-    transactioninformationreview: '交易信息审核',
+    transactioninformationreview: '采购交易信息审核',
+    saletransactioninformationreview: '销售交易信息审核',
 
     // 采购模块
     procurement: '采购管理',

+ 5 - 2
src/model/financialManagement/index.js

@@ -5,12 +5,15 @@ import {
     API_POST_PAIFA_LIST,
     API_GET_KUGUAN_LIST,
     API_GET_CHAKAN_LOOK,
+    API_POST_DEL_LIST,
 } from '@/api/V2/financialManagement'
 //采购详情列表
 export const caiwuList = appRx.get(API_GET_CAIWU_LIST, errorCatcher, errorHandle, filter)
 // 派发
 export const paifa = appRx.post(API_POST_PAIFA_LIST, errorCatcher , errorHandle, filter)
 //查库管
-export const kuguan = appRx.get(API_GET_KUGUAN_LIST, errorCatcher, errorHandle,filter)
+export const kuguan = appRx.get(API_GET_KUGUAN_LIST, errorCatcher, errorHandle, filter)
 //派车查看
-export const paiLook = appRx.get(API_GET_CHAKAN_LOOK, errorCatcher, errorHandle,filter)
+export const paiLook = appRx.get(API_GET_CHAKAN_LOOK, errorCatcher, errorHandle, filter)
+//删除
+export const carDel = appRx.post(API_POST_DEL_LIST,errorCatcher, errorHandle,filter)

+ 11 - 2
src/model/platformaudit/index.js

@@ -7,7 +7,10 @@ import {
     API_GET_GRAINMERCHANT_LIST,
     API_GET_DRIVER_LIST,
     API_GET_TRANSACTIONINFORMATION_LIST,
-    API_POST_DELETETRANSACTIONINFORMATION
+    API_POST_DELETETRANSACTIONINFORMATION,
+    API_GET_SALE_LIST,
+    API_POST_DELETESALE,
+    API_POST_SALEREVIEW,
 } from '@/api/V2/platformaudit'
 // import { app } from 'electron'
 // 粮商审核
@@ -23,4 +26,10 @@ export const driverList = appRx.get(API_GET_DRIVER_LIST, errorCatcher, errorHand
 //交易信息列表
 export const transactionInformationList = appRx.get(API_GET_TRANSACTIONINFORMATION_LIST, errorCatcher, errorHandle, filter)
 // 交易信息删除
-export const deleteTransactionInformation = appRx.post(API_POST_DELETETRANSACTIONINFORMATION, errorCatcher, errorHandle, filter)
+export const deleteTransactionInformation = appRx.post(API_POST_DELETETRANSACTIONINFORMATION, errorCatcher, errorHandle, filter)
+//销售交易信息列表
+export const saleList = appRx.get(API_GET_SALE_LIST, errorCatcher, errorHandle, filter)
+// 销售交易信息删除
+export const deletesale = appRx.post(API_POST_DELETESALE, errorCatcher, errorHandle, filter)
+// 销售交易信息审核
+export const saleexamine = appRx.post(API_POST_SALEREVIEW, errorCatcher, errorHandle, filter)

+ 21 - 3
src/model/statisticalReport/index.js

@@ -10,7 +10,13 @@ import {
     API_POST_SALE_EXAMINE,
     API_GET_SALE_LIST,
     API_POST_PAY_MONEY,
-    API_POST_COLLECT_MONEY
+    API_POST_COLLECT_MONEY,
+    API_GET_CLOSE,
+    API_POST_CLOAEAUDIT,
+    API_POST_CLOSEPAYMONEY,
+    API_POST_CLOSECOLLMONEY,
+    API_POST_OPENINVOICE,
+    API_POST_BATCHOPENINVOICE
 } from '@/api/V2/statisticalReport'
 //采购入库报表
 export const getpurchreceipt = appRx.get(API_GET_PURCHRECEIPT, errorCatcher, errorHandle, filter)
@@ -30,5 +36,17 @@ export const postsaleaudit = appRx.post(API_POST_SALE_EXAMINE, errorCatcher, err
 export const getsalelist = appRx.get(API_GET_SALE_LIST, errorCatcher, errorHandle, filter)
 //销售平仓付款
 export const postsalepaymoney= appRx.post(API_POST_PAY_MONEY, errorCatcher, errorHandle, filter)
-//销售平仓付款
-export const postsalecollectmoney= appRx.post(API_POST_COLLECT_MONEY, errorCatcher, errorHandle, filter)
+//销售平仓收款
+export const postsalecollectmoney= appRx.post(API_POST_COLLECT_MONEY, errorCatcher, errorHandle, filter)
+//采购平仓报表
+export const getclose = appRx.get(API_GET_CLOSE, errorCatcher, errorHandle, filter)
+//采购平仓审核
+export const closeaudit = appRx.post(API_POST_CLOAEAUDIT, errorCatcher, errorHandle, filter)
+//采购平仓付款
+export const closepaymoney = appRx.post(API_POST_CLOSEPAYMONEY, errorCatcher, errorHandle, filter)
+//采购平仓收款
+export const closecollmoney = appRx.post(API_POST_CLOSECOLLMONEY, errorCatcher, errorHandle, filter)
+//采购入库开发票
+export const postopeninvoice = appRx.post(API_POST_OPENINVOICE, errorCatcher, errorHandle, filter)
+//采购入库批量开发票
+export const postbatchopeninvoice = appRx.post(API_POST_BATCHOPENINVOICE, errorCatcher, errorHandle, filter)

+ 325 - 221
src/views/financialManagement/collectionManagementList.vue

@@ -52,7 +52,7 @@
     >
       <el-table-column type="index" label="序号">
         <template scope="scope">
-          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+          <span v-if="scope.$index < 9">{{ scope.$index + 1 }}</span>
           <span v-else>{{ scope.$index + 1 }}</span>
         </template>
       </el-table-column>
@@ -67,60 +67,6 @@
       <el-table-column class="table_td" prop="alreadyInvoice" label="已开发票(元)"></el-table-column>
       <el-table-column class="table_td" prop="notInvoice" label="未开发票(元)"></el-table-column>
       <el-table-column prop="status" label="状态">
-        <!-- <template slot-scope="scope">
-          <el-popover
-            placement="left"
-            :width="285"
-            trigger="click"
-            visible-arrow="false"
-            @show="history(scope.row)"
-          >
-            <template>
-              <span slot="reference">
-                <span
-                  v-if="scope.row.status == '待执行'"
-                  class="executory"
-                ></span>
-                <span
-                  v-if="scope.row.status == '执行中'"
-                  class="inExecution"
-                ></span>
-                <span v-if="scope.row.status == '已完成'" class="done"></span
-                >{{ scope.row.status }}
-              </span>
-            </template>
-            <div>
-              <p style="margin-top: 0; padding-left: 10px">操作历史</p>
-              <div
-                v-for="(item, index) in historyList"
-                :key="index"
-                class="flex"
-              >
-                <div class="vertical-text vertical-text-left">
-                  {{ item.updateDate }}
-                </div>
-                <div>
-                  <div class="vertical-circle"></div>
-                  <div
-                    v-if="index != historyList.length - 1"
-                    class="vertical-line"
-                  ></div>
-                </div>
-                <div class="vertical-text">
-                  {{ item.operateUser }}<br />{{ item.dealMsg }}
-                </div>
-              </div>
-            </div>
-          </el-popover>
-          <img
-            width="17"
-            height="18"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/edit.png"
-            @click="editClick(scope.row)"
-            alt=""
-          />
-        </template>-->
       </el-table-column>
       <el-table-column class="table_td" prop="updateDate" label="更新时间"></el-table-column>
       <el-table-column prop="seller" label="操作" width="200">
@@ -137,37 +83,73 @@
       layout="total, sizes, prev, pager, next, jumper"
       :total="deptBudgetTotal"
     ></el-pagination>
-   <el-dialog width="60%" title="派发()" :visible.sync="dialogFormVisible2" :append-to-body="true">
-      <el-form :data="warehouseList" ref="warehouseList">
-        <el-form-item label="默认库管" :label-width="formLabelWidth">
+    <el-dialog width="60%" :visible.sync="dialogFormVisible2" :append-to-body="true">
+      <el-form>
+        <el-form-item label="派发" :label-width="formLabelWidth">({{paifaDialogForm.contractNo}})</el-form-item>
+        <el-form-item label="默认库管" prop="agent" :label-width="formLabelWidth">
           <el-select
-            v-model="warehouseList.agent"
+            v-model="agent"
             autocomplete="off"
             placeholder="请选择默认库管"
             class="deal"
-          ></el-select>
+            filterable
+            :filter-method="dataFilter"
+            @change="selectstaff"
+          >
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.staffName"
+              :value="item.staffName"
+            />
+          </el-select>
         </el-form-item>
-        <div v-for="(item, index) in freightspace" :key="index">
-          <el-form-item label="编号" prop="tranCarNo" :label-width="formLabelWidth">
-           {{item.tranCarNo}}
-          </el-form-item>
-          <el-form-item label="车牌号" prop="carNo" :label-width="formLabelWidth" class="car">
-            <el-input v-model="item.carNo" autocomplete="off" placeholder="请输入车牌号" class="deall"></el-input>
-          </el-form-item>
-          <el-form-item label="箱号" prop="boxNo" :label-width="formLabelWidth" class="boxno">
-            <el-input v-model="item.boxNo" autocomplete="off" placeholder="请输入箱号" class="deaee"></el-input>
-          </el-form-item>
-          <el-form-item label="封号" prop="titleNo" :label-width="formLabelWidth" class="fengno">
-            <el-input v-model="item.titleNo" autocomplete="off" placeholder="请输入封号" class="dea"></el-input>
-          </el-form-item>
-          <el-form-item label="库管" prop="agent" :label-width="formLabelWidth" class="kug">
-            <el-input disabled v-model="item.agent" autocomplete="off" placeholder class="deaa"></el-input>
-          </el-form-item>
-          <el-button class="bott" @click="add1()">新增</el-button>
-          <!-- <el-button class="bot" @click="del()">删除</el-button> -->
-          <hr>
-        </div>
+         <div style="text-align: left; color: #8890b1; font-size: 16px; margin-left: 309px; margin-top: -21px;">
+           共 {{ total }} 车,发 {{  current }} 辆
+          </div> 
+        <el-table :data="freightspace" style="width: 100%" height="560">
+          <el-table-column prop="tranCarNo" label="编号" width="180"></el-table-column>
+          <el-table-column prop="carNo" label="车牌号" width="180">
+            <template slot-scope="scope">
+              <el-input
+                :disabled="scope.$index != 0"
+                @input="changeCarNo($event)"
+                :value="scope.row.carNo"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column prop="boxNo" label="箱号">
+            <template slot-scope="scope">
+              <el-input
+                :disabled="scope.$index != 0"
+                @input="changeBoxNo($event)"
+                :value="scope.row.boxNo"
+              />
+            </template>
+          </el-table-column>
+
+          <el-table-column prop="titleNo" label="封号">
+            <template slot-scope="scope">
+              <el-input
+                :disabled="scope.$index != 0"
+                @input="changeTitleNo($event)"
+                :value="scope.row.titleNo"
+              />
+            </template>
+          </el-table-column>
 
+          <el-table-column prop="agent" label="库管"></el-table-column>
+          <el-table-column fixed="right" label="操作" width="100">
+            <template slot-scope="scope">
+              <el-button @click="add1(scope.row)" v-if="scope.$index == 0">新增</el-button>
+              <el-button
+                @click="del(scope.row)"
+                v-else-if="scope.$index > 0 && scope.row.tranFlag==0"
+              >删除</el-button>
+              <span v-else-if="scope.$index > 0 && scope.row.tranFlag==1">已发车</span>
+            </template>
+          </el-table-column>
+        </el-table>
       </el-form>
     </el-dialog>
   </div>
@@ -177,7 +159,8 @@ import {
   caiwuList,
   paifa,
   kuguan,
-  paiLook
+  paiLook,
+  carDel
 } from '@/model/financialManagement/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
@@ -199,6 +182,8 @@ export default {
   },
   data() {
     return {
+      paifaDialogForm: {},
+      paifaKuguanList: [],
       //弹出框
       dialogViewSpareMoney: false,
       dialogApproveFormVisible: false,
@@ -230,16 +215,16 @@ export default {
         boxNo: '',
         titleNo: '',
         tranCarNo: '',
-        agent: ''
+        agent: []
       },
       list: [],
+      agent: [],
       collectionManagement: {},
       freightspace: [
         {
           carNo: '',
           boxNo: '',
           titleNo: '',
-          titleNo: '',
           tranCarNo: '',
           agent: ''
         }
@@ -249,11 +234,11 @@ export default {
       titleNo: '',
       tranCarNo: '',
       agent: '',
-      tranCarNo: '',
       planId: '',
-      goodsname: '',
-      contracNo: '',
-
+      staffId: '',
+      goodsName: '',
+      contractNo: '',
+      options: [],
       startDate: null,
       endDate: null,
       addressUrls: [],
@@ -266,6 +251,7 @@ export default {
         year: dayjs().format('YYYY'),
         month: dayjs().format('MM')
       },
+      id: '',
       contractList: [],
       deptBudgetList: {},
       historyList: [],
@@ -286,21 +272,58 @@ export default {
         { value: '全部', type: '' }
       ],
       value1: '',
-      value2: ''
+      value2: '',
+      index: 1
     }
   },
   activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
     this.getList()
     this.showType = this.isShow
   },
+  computed: {
+    total: function () {
+      if (this.freightspace.length > 0) {
+        var maxStorage = 0
+        for (var i = 0; i < this.freightspace.length; i++) {
+          maxStorage =(this.freightspace.length-1)
+        }
+        return maxStorage
+      }
+    },
+    current: function () {
+      if (this.freightspace.length > 0) {
+        var maxStorage = 0
+        for (var i = 0; i < this.freightspace.tranFlag; i++) {
+           maxStorage =(this.freightspace.tranFlag.length)
+         
+        }
+        return maxStorage
+      }
+    },
+  },
   methods: {
-    table_index(index){
-        return (this.paginations.page_index-1) * this.paginations.page_size + index + 1
-    },  
+    changeCarNo(e) {
+      this.$forceUpdate()
+      this.freightspace[0].carNo = e
+    },
+    changeBoxNo(e) {
+      this.$forceUpdate()
+      this.freightspace[0].boxNo = e
+    },
+    changeTitleNo(e) {
+      this.$forceUpdate()
+      this.freightspace[0].titleNo = e
+    },
     dianlog(item) {
+      this.paifaDialogForm.contractNo = item.contractNo
+      this.planId = item.planId
+      this.goodsName = item.goodsName
+      this.contractNo = item.contractNo
+      this.buyer = item.buyer
+      this.tranCarNo = item.tranCarNo
+      this.staffId = item.staffId
+
+      var tranCarNos = ''
       this.dialogFormVisible2 = true
       this.dataList = item
       paiLook({
@@ -308,14 +331,54 @@ export default {
       })
         .toPromise()
         .then(response => {
+          // this.index = response.length + 1
           this.freightspace = response
+          this.freightspace.unshift({
+            carNo: '',
+            boxNo: '',
+            titleNo: '',
+            tranCarNo: '',
+            agent: ''
+          })
+          for (var i = 0; i < this.freightspace.length; i++) {
+            var index = i + 1
+            this.freightspace[this.freightspace.length - 1 - i].tranCarNo =
+              'C00' + index
+          }
+        })
+
+      this.staffQO.roleId = 'd6a5c8a52da544309259f91f75de1ec6'
+      kuguan(this.staffQO)
+        .toPromise()
+        .then(response => {
+          console.log('成功')
+          // this.paifaKuguanList = response
+          this.options = response
+
+          // this.staffList = response
+        })
+    },
+    refresh() {
+      paiLook({
+        contractNo: this.dataList.contractNo
+      })
+        .toPromise()
+        .then(response => {
+          // this.index = response.length + 1
+          this.freightspace = response
+          this.freightspace.unshift({
+            carNo: '',
+            boxNo: '',
+            titleNo: '',
+            tranCarNo: '',
+            agent: ''
+          })
+          for (var i = 0; i < this.freightspace.length; i++) {
+            var index = i + 1
+            this.freightspace[this.freightspace.length - 1 - i].tranCarNo =
+              'C00' + index
+          }
         })
-      // this.staffQO.roleId = 'd6a5c8a52da544309259f91f75de1ec6'
-      // kuguan(this.staffQO)
-      //   .toPromise()
-      //   .then(response => {
-      //     console.log('成功')
-      //   })
     },
     dateFormat(fmt, date) {
       let ret
@@ -339,7 +402,34 @@ export default {
       }
       return fmt
     },
-
+    dataFilter(val) {
+      this.warehouseList.personCharge = val
+      if (val) {
+        console.log(val)
+        this.options = this.staffList.filter(item => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      this.freightspace[0].agent = e
+      for (var i = 0; i < this.options.length; i++) {
+        if (this.options[i].staffName == e) {
+          // this.deptBudgetList.driverPhone = this.staffList[i].staffMobilePhone
+          // this.deptBudgetList.tranCarInfoList[0].driverPhone =
+          //   this.staffList[i].staffMobilePhone
+          this.staffId = this.options[i].staffId
+        }
+      }
+      console.log(this.staffId, 'dvsgd')
+    },
     handleClose() {
       this.dialogViewSpareMoney = false
     },
@@ -356,6 +446,34 @@ export default {
       console.log(`当前页: ${val}`)
       this.getList()
     },
+    del(row) {
+      this.id = row.id
+      var del = ' '
+      // if (row.del == '') {
+      // }
+      this.$confirm(`删除后不可恢复,是否确定删除?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      })
+        .then(() => {
+          carDel({ id: this.id })
+            .toPromise()
+            .then(response => {
+              this.$notify.success({
+                title: '成功',
+                message: '删除成功'
+              })
+              this.refresh()
+            })
+            .catch(response => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
     getList() {
       caiwuList({
         compId: sessionStorage.getItem('ws-pf_compId'),
@@ -372,87 +490,85 @@ export default {
           this.warehouseList = response
         })
     },
-    del(index) {
-      if (this.freightspace.length > 1) {
-        this.freightspace.splice(index, 1)
-      }
-    },
-    add1() {
-      for(var i = 0; i<this.warehouseList.length;i++) {
-          if(!this.warehouseList[i].carNo) {
-        this.$message({
-          message:'车牌号不能为空',
-          type:'warning',
-        })
-        return
-      }
-      if(this.warehouseList.carNo.length <=7) {
-        this.$message({
-          message:'车牌号输入有误',
-          type:'warning',
-        })
-      }
-      if(!this.warehouseList.boxNo.length <1 || this.warehouseList.boxNo.length >15 ) {
-        this.$message({
-          message:'箱号输入错误',
-          type:'warning',
-        })
-        return
-      }
-      if(!this.warehouseList.boxNo) {
-        this.$message({
-          message:'箱号不能为空',
-          type:'warning',
-        })
-        return
-      }
-      if(this.warehouseList.titleNo.length<1 || this.warehouseList.titleNo.length>15) {
-        this.$message({
-          message:'封号输入错误',
-          type:'warning',
-        })
-        return
-      }
-      if(!this.warehouseList.titleNo) {
-        this.$message({
-          message:'封号不能为空',
-          type:'warning',
-        })
-        return
-      }
-      if(!this.warehouseList.agent) {
-        this.$message({
-          message:'库管不能为空',
-          type:'warning',
-        })
-        return
-      }
-      }
-      
-      console.log(1111)
-      this.freightspace.push({
+    // del(index) {
+    //   if (this.freightspace.length > 1) {
+    //     this.freightspace.splice(index, 1)
+    //   }
+    // },
+    add1(item) {
+      // if (!this.freightspace[0].carNo) {
+      //   this.$message({
+      //      message: '车牌号不能为空',
+        //      type: 'warning'
+      //   })
+      //   return
+      // }
+      // if (this.freightspace.carNo.length <= 7) {
+      //   this.$message({
+      //     message: '车牌号输入有误',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+      // if (
+      //   !this.freightspace.boxNo.length < 1 ||
+      //   this.freightspace.boxNo.length > 15
+      // ) {
+      //   this.$message({
+      //     message: '箱号输入错误',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[0].boxNo) {
+      //   this.$message({
+      //     message: '箱号不能为空',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+      // if (
+      //   this.freightspace.titleNo.length < 1 ||
+      //   this.freightspace.titleNo.length > 15
+      // ) {
+      //   this.$message({
+      //     message: '封号输入错误',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+      // if (!this.freightspace[0].titleNo) {
+      //   this.$message({
+      //     message: '封号不能为空',
+      //     type: 'warning'
+      //   })
+      //   return
+      // }
+
+      console.log(this.planId)
+      var tmp = this.freightspace[0].agent
+      var tmp1 = this.freightspace.length + 1
+      this.freightspace.unshift({
         carNo: '',
         boxNo: '',
         titleNo: '',
-        tranCarNo: '',
-        agent: '',
-        planId: '',
-        contracNo: '',
-        goodsname: '',
-        buyer: ''
+        planId: this.planId,
+        staffId: this.staffId,
+        goodsName: this.goodsName,
+        buyer: this.buyer,
+        tranCarNo: 'C00' + tmp1,
+        agent: tmp
       })
-      this.collectionManagement.collectionManagementList = this.freightspace
-      this.collectionManagement.compId = sessionStorage.getItem('ws-pf_compId')
-      this.collectionManagement.buyer = this.dataList.buyer
-      this.collectionManagement.planId = this.dataList.planId
-      this.collectionManagement.contractNo = this.dataList.contractNo
-      this.collectionManagement.goodsname = this.dataList.goodsname
-      return
-      paifa(this.collectionManagement)
+      item.planId = this.planId
+      item.goodsName = this.goodsName
+      item.buyer = this.buyer
+      item.contractNo = this.contractNo
+      item.staffId = this.staffId
+
+      paifa(item)
         .toPromise()
-        .then(response => {
-          this.warehouseList = response
-        })
+        .then(response => {})
+      this.freightspace = response
     },
     editClick(row) {
       var status = ''
@@ -491,7 +607,22 @@ export default {
         }
       }
     },
-
+     find() {
+      if (this.inOutDate != null) {
+        if (this.inOutDate.length > 0) {
+          this.startDate = this.dateFormat('YYYY-mm-dd', this.inOutDate[0])
+          this.endDate = this.dateFormat('YYYY-mm-dd', this.inOutDate[1])
+        } else {
+          this.startDate = ''
+          this.endDate = ''
+        }
+      }else{
+        this.startDate = ''
+          this.endDate = ''
+      }
+      this.currentPage = 1
+      this.getList()
+    },
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleCloe() {
       this.dialogViewSpareMoney = false
@@ -504,17 +635,6 @@ export default {
           this.historyList = response
         })
     },
-    find() {
-      if (this.value2) {
-        this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
-        this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
     async exportlist() {
       const { data } = await export1(
         {
@@ -537,37 +657,6 @@ export default {
           (this.date.month ? `-${this.date.month}` : '')}_采购合同`,
         type: 'xls'
       })
-    },
-    // deletecontract(){},
-    //删除
-    handleDelete(row) {
-      var text = ''
-      //   if (row.deliverType == 1) {
-      //     text =
-      //       '删除该合同将同时永久删除合同对应的临时仓库相关数据,是否确定删除?'
-      //   } else {
-      //     text = '合同删除后不可恢复,是否继续删除?'
-      //   }
-      this.$confirm('合同删除后不可恢复,是否继续删除?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
-        .then(() => {
-          deletecontract({ id: row.id })
-            .toPromise()
-            .then(response => {
-              this.$notify.success({
-                title: '成功',
-                message: '删除成功'
-              })
-              this.getList()
-            })
-            .catch(response => {})
-        })
-        .catch(() => {
-          return false
-        })
     }
   }
 }
@@ -901,7 +990,7 @@ export default {
   margin-top: -39px;
 }
 .deaee {
-   width: 120px;
+  width: 120px;
 }
 .fengno {
   width: 100px;
@@ -922,4 +1011,19 @@ export default {
 .bott {
   margin-left: 957px;
 }
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: -10px;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+  margin-top: 0px;
+}
 </style>

+ 16 - 1
src/views/platformaudit/component/router/route.js

@@ -43,7 +43,7 @@ const platformauditRouter = {
         },
       },
 
-      //交易信息审核
+      //采购交易信息审核
       {
         path: 'transactioninformationreview',
         component: () =>
@@ -57,6 +57,21 @@ const platformauditRouter = {
           keepAlive: true
         },
       },
+
+      //销售交易信息审核
+      {
+        path: 'saletransactioninformationreview',
+        component: () =>
+          import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/saletransactioninformationreview'),
+        name: 'saletransactioninformationreview',
+        meta: {
+          title: 'saletransactioninformationreview',
+          shortcutEntrance: 'saletransactioninformationreview',
+          module: 'warehouseManagement.warehouse.warehouseInfo',
+          permissicon: [],
+          keepAlive: true
+        },
+      },
     ],
 };
 export default platformauditRouter;  

+ 582 - 0
src/views/platformaudit/saletransactioninformationreview.vue

@@ -0,0 +1,582 @@
+<!--销售交易信息审核-->
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="15">
+      <template slot="right">
+        <span style="width: 70px; display: inline-block; color: #8890b1"
+          >状态:</span
+        >
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selectExamineType"
+          :value="searchType"
+        >
+          <ws-option
+            v-for="item in searchTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
+        <ws-input
+          v-model="searchKeyWord"
+          placeholder="可按编号、发布企业和发布方查找"
+          clearable
+          maxlength="500"
+          type="input"
+        ></ws-input>
+        <ws-button class="find" type="primary" @click="lookUp()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -5px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+        <!-- </div> -->
+      </template>
+    </BaseHeaderLayout>
+    <div class="container">
+      <el-table
+        class="wenzi"
+        :data="tranManagementList.records"
+        style="width: 100%"
+        height="780"
+      >
+        <el-table-column type="index" label="序号" width="50">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="salePlanNo" label="编号" > </el-table-column>
+        <el-table-column prop="seller" label="发布企业/发布人" >
+        </el-table-column>
+        <el-table-column label="发布平台" > 
+          <template scope="scope">
+            <span v-if="scope.row.pcFlag==1">PC端</span>
+            <span v-else>移动端</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="goodsName" label="货名" > </el-table-column>
+        <el-table-column prop="plannedSaleVolume" label="重量(吨)" > </el-table-column>
+        <el-table-column prop="salePlanType" label="交易类型" > </el-table-column>
+        <el-table-column prop="basisPrice" label="基差(元/吨)" > </el-table-column>
+        <el-table-column prop="unitPrice" label="价格(元/吨)" > </el-table-column>
+        <el-table-column prop="sellerPhone" label="电话" > </el-table-column>
+        <el-table-column prop="updateDate" label="更新时间" width="140"> </el-table-column>
+        <el-table-column prop="" label="操作" width="180">
+          <template slot-scope="scope">
+            <div
+              class="record"
+              @click="nocomplete(scope.row)"
+              v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfoTask.View`
+          "
+            >查看</div>
+            <div
+              class="record"
+              @click="delivery(scope.row)"
+              v-hasPermission="
+           `transportationTask.transportation.transportationInfo.edit`
+          "
+            >编辑</div>
+            <div
+              class="record"
+              @click="deleteclick(scope.row)"
+              v-hasPermission="
+           `transportationTask.transportation.transportationInfo.delete`
+          "
+            >删除</div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="address" label="审核" >
+          <template slot-scope="scope">
+            <el-button
+              size="medium"
+              type="text"
+              class="record"
+              v-if="scope.row.statusFlag==1"
+              @click="reject(scope.row)"
+              >驳回</el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              class="record"
+              v-if="scope.row.statusFlag==1"
+              @click="adopt(scope.row)"
+              >通过</el-button
+            >
+            <template v-else slot-scope="scope"> 
+            {{ scope.row.status}}
+          </template>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="deptCircularPage.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="deptBudgetTotal"
+      >
+      </el-pagination>
+    </div>
+  </div>
+</template>
+<script>
+import { saleList ,deletesale ,saleexamine} from '@/model/platformaudit/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { EventBus } from 'base-core-lib'
+import { billoperatehis } from '@/model/contarct/index'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      searchTypeText: '待审核',
+      searchKeyWord: '',
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      warehouseName: '',
+      searchType: 1,
+      startDate: null,
+      endDate: null,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      tranManagementList: [],
+      deptBudgetList: {},
+      historyList: [],
+      inOutDate: [],
+      searchTypeList: [
+        { value: '待审核', type: 1 },
+        { value: '已通过', type: 2 },
+        { value: '全部', type: '' },
+      ],
+      salePlanInfo:{
+        id: '',
+        flag: '',
+      },
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    getSpanArr(data) {
+      let that = this
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+      that.spanArr = []
+      that.pos = 0
+      //遍历数据
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        // if (index === 0) {
+        //   this.spanArr.push(1)
+        //   this.pos = 0
+        // } else {
+        //不是第一项时,就根据标识去存储
+        if (data[index].warehouseNumViewList.length > 1) {
+          // 查找到符合条件的数据时每次要把之前存储的数据+1
+          this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+          this.spanArr.push(0)
+        } else {
+          // 没有符合的数据时,要记住当前的index
+          this.spanArr.push(1)
+          this.pos = index
+        }
+        // }
+      })
+    },
+    //删除
+    deleteclick(row) {
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`交易信息删除后不可恢复,是否确定删除?`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          deletesale ({
+            id: row.id
+          })
+            .toPromise()
+            .then(response => {
+              this.getList()
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //查看//传参
+    nocomplete(row) {
+      this.$router.push({
+        name: 'salesPlanLook',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    //编辑
+     delivery(row) {
+      this.$router.push({
+        name: 'salesPlanEdit',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    //查找
+    lookUp() {
+      this.currentPage = 1
+      this.getList()
+    },
+    selectExamineType(e) {
+      for (var i = 0; i < this.searchTypeList.length; i++) {
+        if (this.searchTypeList[i].value == e) {
+          this.searchType = this.searchTypeList[i].type
+        }
+      }
+    },
+    //审核通过
+    adopt(row) {
+      this.salePlanInfo.id = row.id
+      this.salePlanInfo.flag = 1
+      this.$confirm(`确定通过该认证信息?`, '提示', {
+        confirmButtonText: '通过',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          saleexamine( this.salePlanInfo )
+            .toPromise()
+            .then((response) => {
+              
+              this.$notify.success({
+                title: '成功',
+                message: '通过成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //审核驳回
+    reject(row) {
+       this.salePlanInfo.id = row.id
+       this.salePlanInfo.flag = 2
+      this.$confirm(`确定驳回该认证信息?`, '提示', {
+        confirmButtonText: '驳回',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          saleexamine(this.salePlanInfo)
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '驳回成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    //销售
+    sale() {
+      this.getList()
+    },
+    //销售列表
+    getList() {
+      saleList ({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        searchType: this.searchType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchKeyWord: this.searchKeyWord,
+      })
+        .toPromise()
+        .then((response) => {
+          this.tranManagementList = response
+          this.deptCircularPage.currentPage = response.current
+          this.deptCircularPage.pageSize = response.size
+          this.deptBudgetTotal = response.total
+        })
+    },
+    //更改状态
+    editClick(row) {
+      var status = ''
+      if (row.processStatus == '待执行' || row.processStatus == '已完成') {
+        status = '执行中'
+      } else if (row.processStatus == '执行中') {
+        status = '已完成'
+      }
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          alsostate({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '状态修改成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    fujian(row) {
+      if (
+        row.receiveAttachmentPath === null ||
+        row.receiveAttachmentPath === ''
+      ) {
+        EventBus.$emit(
+          'warning',
+          this.$t('system.noticeCircular.NoInformation')
+        )
+      } else {
+        this.accessoryTFs = true
+      }
+      this.appendixIdss = row.receiveAttachmentPath
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.container {
+  width: 100%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+}
+//操作按钮
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+//状态样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.el-row {
+  height: 60px;
+}
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin: 0 10px;
+}
+/deep/.el-pagination {
+  text-align: center;
+  white-space: nowrap;
+  padding: 2px 5px;
+  color: #303133;
+  font-weight: 700;
+  margin-bottom: 20px;
+}
+.el-select {
+  width: 30%;
+  margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner {
+  color: #8890b1;
+}
+</style>

+ 8 - 43
src/views/platformaudit/transactioninformationreview.vue

@@ -1,23 +1,7 @@
-<!--交易信息审核-->
+<!--采购交易信息审核-->
 <template>
   <div>
     <BaseHeaderLayout :leftSpan="15">
-      <template slot="left">
-        <div class="purchase"><el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="purchase()"
-          >采购</el-button
-        ></div>
-        <div class="sale"><el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="sale()"
-          >销售</el-button
-        ></div>
-      </template>
       <template slot="right">
         <span style="width: 70px; display: inline-block; color: #8890b1"
           >状态:</span
@@ -83,7 +67,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="goodsName" label="货名" > </el-table-column>
-        <el-table-column prop="weight" label="重量(吨)" > </el-table-column>
+        <el-table-column prop="plannedPurchaseVolume" label="重量(吨)" > </el-table-column>
         <el-table-column prop="procurementPlanType" label="交易类型" > </el-table-column>
         <el-table-column prop="basisPrice" label="基差(元/吨)" > </el-table-column>
         <el-table-column prop="unitPrice" label="价格(元/吨)" > </el-table-column>
@@ -397,6 +381,11 @@ export default {
       console.log(`当前页: ${val}`)
       this.getList()
     },
+    //采购
+    purchase() {
+      this.getList()
+    },
+    //采购列表
     getList() {
       transactionInformationList({
         compId: sessionStorage.getItem('ws-pf_compId'),
@@ -413,6 +402,7 @@ export default {
           this.deptBudgetTotal = response.total
         })
     },
+    //更改状态
     editClick(row) {
       var status = ''
       if (row.processStatus == '待执行' || row.processStatus == '已完成') {
@@ -464,12 +454,6 @@ export default {
       }
       this.appendixIdss = row.receiveAttachmentPath
     },
-    handleExamine(row) {
-      this.$router.push({
-        name: 'salesContractExamine',
-        query: { id: row.id },
-      })
-    },
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleCloe() {
       this.dialogViewSpareMoney = false
@@ -481,22 +465,6 @@ export default {
           this.historyList = response
         })
     },
-    find() {
-      if (this.inOutDate != null) {
-        if (this.inOutDate.length != 0) {
-          this.startDate = this.dateFormat('YYYY-mm-dd', this.inOutDate[0])
-          this.endDate = this.dateFormat('YYYY-mm-dd', this.inOutDate[1])
-        } else {
-          this.startDate = ''
-          this.endDate = ''
-        }
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
   },
 }
 </script>
@@ -608,9 +576,6 @@ export default {
   width: 30%;
   margin-right: 10px;
 }
-.sale {
-  margin-left: 50px;
-}
 /deep/.typeselect .el-input__inner {
   color: #8890b1;
 }

+ 87 - 49
src/views/purchasingManagement/purchaseOrderList.vue

@@ -1,38 +1,53 @@
-//采购详情
+//采购订单
 <template>
   <div class="container">
-<el-row>
-      <el-col :span="12">
-          <ws-button type="primary" @click="dialogVisible = true">全部订单</ws-button>
-          <ws-button type="primary" @click="handleAdd()">待审核</ws-button>
-          <ws-button type="primary" @click="handleAdd()">执行中</ws-button>
-          <ws-button type="primary" @click="handleAdd()">已完成</ws-button>
-      </el-col>
-      <el-col :span="12" class="bg-right">
+<BaseHeaderLayout :leftSpan="10">
+      <template slot="left">
+         <span style="width: 70px; display: inline-block; color: #8890b1"
+          >状态:</span
+        >
+        <ws-select
+          v-model="searchTypeText"
+          placeholder
+          class="typeselect"
+          @change="selecttaskType"
+          :value="searchType"
+        >
+        <ws-option
+          v-for="item in taskTypeList"
+          :key="item.value"
+          :label="item.value"
+          :value="item.value"
+          style="color:#8890b1"
+        />
+        </ws-select>
+      </template>
+      <!-- 接单开始 -->
+      <template slot="right">
+      
         <ws-input
-            v-model="searchKeyWord"
-            placeholder="可按照合同编号和任务编号进行查找"
-            clearable
-            maxlength="500"
-            type="input"
-            class="findValue"
-          ></ws-input>
-          <ws-button class="but" type="primary" @click="find()">
-            <img
-              width="16"
-              height="16"
-              style="
+          v-model="searchKeyWord"
+          placeholder="可按采购计划编号和标题查找"
+          clearable
+          maxlength="500"
+          type="input"
+          class="findValue"
+        ></ws-input>
+        <ws-button class="find" type="primary" @click="find()"
+          ><img
+            width="16"
+            height="16"
+            style="
               vertical-align: text-top;
               position: relative;
               top: 0px;
               left: -8px;
             "
-              src="../../../public/img/sousuo.png"
-              alt
-            />
-          </ws-button>
-      </el-col>
-    </el-row>
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+      </template>
+    </BaseHeaderLayout>
         <el-table
           :data="warehouseList.records"
           size="small"
@@ -47,7 +62,7 @@
           <el-table-column class="table_td" prop="procurementPlan" label="采购计划"></el-table-column>
           <el-table-column class="table_td" prop="customer" label="客户">
             <template slot-scope="scope">
-              <el-button class="record" @click="customer(scope.row)">{{scope.row.customer}}</el-button>
+              <div class="record" @click="customer(scope.row)">{{scope.row.customer}}</div>
             </template>
           </el-table-column>
           <el-table-column class="table_td"  width="100" prop="unitPrice" label="单价(元/吨)">
@@ -72,20 +87,20 @@
 <span v-if='!scope.row.basis'>-</span>
             </template>
           </el-table-column>
-          <el-table-column class="table_td" prop="freezingDeposit" label="冻结定金(元)"></el-table-column>
-          <el-table-column class="table_td" prop="defaultDeposit" label="拖欠定金(元)"></el-table-column>
+          <el-table-column class="table_td" prop="freezingDeposit" label="冻结定金(元)" width="100px"></el-table-column>
+          <el-table-column class="table_td" prop="defaultDeposit" label="拖欠定金(元)" width="100px"></el-table-column>
           <el-table-column  width="100" class="table_td" prop="unloadingCharge" label="卸车费(元/吨)"></el-table-column>
           <el-table-column  width="100" class="table_td" prop="invoiceFee" label="发票费(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="transactionsNumber" label="合同重量(吨)"></el-table-column>
-          <el-table-column class="table_td" prop="stockInQuantity" label="已入库量(吨)"></el-table-column>
-          <el-table-column class="table_td" prop="openPosition" label="可平仓量(吨)"></el-table-column>
-          <el-table-column class="table_td" prop="closedPosition" label="已平仓量(吨)">
+          <el-table-column class="table_td" prop="transactionsNumber" label="合同重量(吨)" width="100px"></el-table-column>
+          <el-table-column class="table_td" prop="stockInQuantity" label="已入库量(吨)" width="90px"></el-table-column>
+          <el-table-column class="table_td" prop="openPosition" label="可平仓量(吨)" width="90px" ></el-table-column>
+          <el-table-column class="table_td" prop="closedPosition" label="已平仓量(吨)" width="90px">
             <template slot-scope="scope">
               {{scope.row.closedPosition}}
               <i @click="closedPosition(scope.row)" class="iconfont icon-lishi"></i>
             </template>
           </el-table-column>
-          <el-table-column class="table_td" prop="cumulativeTurnover" label="已成交量(吨)">
+          <el-table-column class="table_td" prop="cumulativeTurnover" label="已成交量(吨)" width="90px">
             <template slot-scope="scope">
               {{scope.row.cumulativeTurnover}}
               <i @click="transactionRecord(scope.row)" class="iconfont icon-lishi"></i>
@@ -116,7 +131,7 @@
           <el-table-column class="table_td" label="更新时间" prop="updateDate"></el-table-column>
           <el-table-column class="table_td" label="入库结算" prop="updateDate"></el-table-column>
           <el-table-column class="table_td" label="平仓结算" prop="updateDate"></el-table-column>
-          <el-table-column prop="seller" label="操作" width="360">
+          <el-table-column prop="seller" label="操作" width="320">
             <template slot-scope="scope">
               <el-button v-if='scope.row.status=="已通过"||scope.row.status=="已成交"' class="record" @click="makeabargain(scope.row)">成交</el-button>
               <!-- 补充定金 -->
@@ -182,7 +197,7 @@
                   </el-form-item>
                   <el-form-item label="成交日期" prop="submissionDate" :label-width="formLabelWidth" class="deal">
                     <ws-date-picker
-                      v-model="clinchdeal.dealDate"
+                      v-model="clinchdeal1.dealDate"
                       type="date"
                       placeholder="请选择成交日期"
                       value-format="yyyy-MM-dd"
@@ -604,12 +619,12 @@ dialogImageUrl:"",
         closePositionList:[],
       },
       transactionRecordList:[],
-      // taskTypeList:[
-      //   {value:'待审核',type:1},
-      //   {value:'已完成',type:2},
-      //   {value:'已通过',type:3},
-      //   {value:'已成交',type:4},
-      // ],
+      taskTypeList:[
+        {value:'待审核',type:1},
+        {value:'执行中',type:2},
+        {value:'已完成',type:3},
+        {value:'全部订单',type:''},
+      ],
 
       // 提交类型
       submitType: true,
@@ -669,6 +684,7 @@ dialogImageUrl:"",
     makeabargain(item){
         this.dialogFormVisible1 = true
         this.clinchdeal.id=item.id
+        this.clinchdeal.commonId=item.commonId
     },
     deletehandle(item){
       this.$confirm(`采购订单删除后不可恢复,是否确定删除?`, {
@@ -919,7 +935,7 @@ dialogImageUrl:"",
         type: 'warning'
       })
       .then(() => {
-      chengList({transactionRecord:this.clinchdeal1,id:this.clinchdeal.id,compId:sessionStorage.getItem('ws-pf_compId'),dealDate:this.clinchdeal.dealDate})
+      chengList({transactionRecord:this.clinchdeal1,id:this.clinchdeal.id,commonId:this.clinchdeal.commonId,compId:sessionStorage.getItem('ws-pf_compId')})
         .toPromise()
         .then((response) => {
           this.$message.success('成交成功')
@@ -1412,9 +1428,31 @@ hr {
 .customer .el-form-item{
 border-bottom:1px solid #ccc;
 }
-// .danjia{
-//   width: 9px;
-//   height: 9px;
-//   margin-left: 40px;
-// }
+/deep/.base_header_layout .grid-content {
+    border-radius: 4px;
+    height: 54px;
+    line-height: 30px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    text-align: justify;
+    margin: 0 auto;
+}
+/deep/.findValue .el-input__inner {
+    border-top-right-radius: 0px;
+    border-bottom-right-radius: 0px;
+    width: 385px;
+    margin-left: 58%;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+    width: 30px;
+    margin-left: 0;
+    border-top-left-radius: 0px;
+    border-bottom-left-radius: 0px;
+    margin-top: -3px;
+    margin-left: -10px;
+}
 </style>

+ 1 - 1
src/views/salesManagement/salesPlanList.vue

@@ -7,7 +7,7 @@
       <template slot="right">
         <ws-input
           v-model="searchKeyWord"
-          placeholder="可按采购计划编号和标题查找"
+          placeholder="可按销售计划编号和标题查找"
           clearable
           maxlength="500"
           type="input"

+ 95 - 53
src/views/salesManagement/salesPlanOrderList.vue

@@ -269,7 +269,7 @@
           <el-button
             v-if="scope.row.status == '已通过' || scope.row.status == '已成交'"
             class="record"
-            @click="dialogFormVisible1 = true"
+            @click="makeabargain(scope.row)"
             >成交</el-button
           >
           <!-- 补充定金 -->
@@ -325,20 +325,21 @@
       layout="total, sizes, prev, pager, next, jumper"
       :total="deptBudgetTotal"
     ></el-pagination>
+    <!--成交-->
     <el-dialog
       width="30%"
       title="成交"
       :visible.sync="dialogFormVisible1"
       :append-to-body="true"
     >
-      <el-form ref="warehouseList" :model="warehouseList">
+      <el-form ref="warehouseList">
         <el-form-item
           label="成交价(元/吨)"
           prop="transactionPrice"
           :label-width="formLabelWidth"
         >
           <el-input
-            v-model="warehouseList.transactionPrice"
+            v-model="clinchdeal1.transactionPrice"
             autocomplete="off"
             placeholder="请输入成交价"
             class="deal"
@@ -350,7 +351,7 @@
           :label-width="formLabelWidth"
         >
           <el-input
-            v-model="warehouseList.transactionsNumber"
+            v-model="clinchdeal1.turnover"
             autocomplete="off"
             placeholder="请输入成交量"
             class="deal"
@@ -362,7 +363,7 @@
           :label-width="formLabelWidth"
         >
           <el-input
-            v-model="warehouseList.basis"
+            v-model="clinchdeal1.basis"
             autocomplete="off"
             placeholder="请输入基差"
             class="deal"
@@ -375,7 +376,7 @@
           class="deal"
         >
           <ws-date-picker
-            v-model="deptBudgetList.submissionDate"
+            v-model="clinchdeal1.dealDate"
             type="date"
             placeholder="请选择成交日期"
             value-format="yyyy-MM-dd"
@@ -385,9 +386,10 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible1 = false">取 消</el-button>
-        <el-button type="primary" @click="submit()">确 定</el-button>
+        <el-button type="primary" @click="chengjiao()">确 定</el-button>
       </div>
     </el-dialog>
+    <!-- 补充定金 -->
     <el-dialog
       width="40%"
       title="补充定金"
@@ -416,6 +418,7 @@
         <el-button type="primary" @click="replenish">确 定</el-button>
       </div>
     </el-dialog>
+    <!-- 平仓 -->
     <el-dialog
       width="40%"
       title="平仓"
@@ -424,12 +427,19 @@
     >
       <el-form class="closeposition">
         <el-form-item label="成交价格(元/吨)" prop="transactionPrice">
-          <el-select
-            v-model="closePositionList1.transactionPrice"
-            autocomplete="off"
-            placeholder="请输入成交价"
-            class="deal"
-          ></el-select>
+           <ws-select
+              v-model="closePositionList1.transactionPrice"
+              placeholder
+              class="deal"
+              placeholder="请输入成交价"
+            >
+              <ws-option
+                v-for="item in transactionRecordList"
+                :key="item.constKey"
+                :label="item.transactionPrice"
+                :value="item.transactionPrice"
+              />
+            </ws-select>
         </el-form-item>
         <el-form-item label="可平仓数量(吨)" prop="openPosition">
           <el-input
@@ -456,7 +466,7 @@
         </el-form-item>
         <el-form-item label="平仓基差(元/吨)" prop="closingBasis">
           <el-input
-            v-model="closePositionList1.closingBasis"
+            v-model="closePositionList1.basis"
             autocomplete="off"
             placeholder="请输入平仓基差"
             class="deal"
@@ -487,7 +497,7 @@
         >
       </div>
     </el-dialog>
-
+    <!-- 审核 -->
     <el-dialog
       width="40%"
       title="审核"
@@ -600,6 +610,7 @@
         <el-button type="primary" @click="aduitconfirm">通过</el-button>
       </div>
     </el-dialog>
+    <!-- 客户信息 -->
     <el-dialog
       width="30%"
       title="客户信息"
@@ -674,6 +685,7 @@
         <el-button @click="dialogFormVisible8 = false">取 消</el-button>
       </div>
     </el-dialog>
+    <!-- 成交记录 -->
     <el-dialog
       width="40%"
       title="成交记录"
@@ -706,6 +718,7 @@
         <el-table-column prop="dealDate" label="成交日期"> </el-table-column>
       </el-table>
     </el-dialog>
+    <!--改价记录-->
     <el-dialog
       width="30%"
       title="改价记录"
@@ -775,6 +788,8 @@ export default {
       },
       formLabelWidth: '120px',
       basischange: false,
+      clinchdeal:{},
+      clinchdeal1:{},
       barWidth: 0,
       barHeight: 0,
       retioX: 1,
@@ -819,7 +834,7 @@ export default {
       submitType: true,
       size: 10,
       spanArr: [],
-      contractNo: '',
+      // contractNo: '',
       customerlist: {},
       packingTypeList: [],
       inOutTaskNo: '',
@@ -827,6 +842,7 @@ export default {
       deptCircularPage: {},
       warehouseList: [],
       deptBudgetList: {},
+      transactionRecordList:{},
       pcFlag: 1,
       invoiceList: [],
       contractNolist: [],
@@ -859,6 +875,31 @@ export default {
     this.showType = this.isShow
   },
   methods: {
+    handle(item){
+         this.$confirm(`状态修改为已完成后不可再进行交易操作,是否确定修改?`, {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        })
+          .then(() => {
+            editStatus({id:item.id,flag:2}).toPromise()
+            .then(response => {
+            this.$message.success('修改成功')
+            this.getList()
+            }).catch(req => {
+              this.$message.success('修改失败')
+            })
+          })
+    },
+    makeabargain(item){
+      this.dialogFormVisible1 = true
+      this.clinchdeal.id=item.id
+      this.clinchdeal.contractNo=item.contractNo
+      this.clinchdeal.goodsName=item.goodsName
+      this.clinchdeal.planId=item.planId
+      this.clinchdeal.buyer=item.buyer
+      this.clinchdeal.commonId=item.commonId
+    },
     deletehandle(item) {
       this.$confirm(`销售订单删除后不可恢复,是否确定删除?`, {
         confirmButtonText: '确定',
@@ -876,21 +917,27 @@ export default {
           })
       })
     },
-    closepositionconfirm() {
-      closePositionList(this.closePositionList1)
-        .toPromise()
-        .then((response) => {
-          this.$message.success('修改基差成功')
+    closepositionconfirm(){
+      this.closePositionList1.compId=sessionStorage.getItem('ws-pf_compId')
+      closePositionList(this.closePositionList1).toPromise()
+        .then(response => {
+          this.$message.success('平仓成功')
           this.getList()
-        })
-        .catch((req) => {
-          this.$message.success('修改基差失败')
+        }).catch(req => {
+          this.$message.warning('平仓失败')
         })
     },
-    cloaeposition1(item) {
+    cloaeposition1(item){
       this.dialogFormVisible2 = true
-      this.$set(this.closePositionList1, 'id', item.id)
-      this.$set(this.closePositionList1, 'openPosition', item.openPosition)
+      this.$set(this.closePositionList1,'id',item.id)
+      this.transactionRecordList=item.transactionRecordList
+      this.$set(this.closePositionList1,'openPosition',item.openPosition)
+      this.$set(this.closePositionList1,'transactionsNumber',item.transactionsNumber)
+      this.$set(this.closePositionList1,'contractNo',item.contractNo)
+      this.$set(this.closePositionList1,'planId',item.planId)
+      this.$set(this.closePositionList1,'closeRate',item.closeRate)
+      this.$set(this.closePositionList1,'seller',item.seller)
+      this.$set(this.closePositionList1,'commonId',item.commonId)
     },
     changebasis(item) {
       editStatus({ basis: this.basis, id: item.id, flag: 3 })
@@ -1073,18 +1120,13 @@ export default {
         cancelButtonText: '取消',
         type: 'warning',
       }).then(() => {
-        console.log(this.aduitlist)
         aduitsale(this.aduitlist)
-          .toPromise()
-          .then((response) => {
-            console.log(response)
               .toPromise()
-              .then((response) => {
-                this.$message.success('审核成功')
-                this.$router.push({ path: 'tranManagementWarehouseInOuttask' })
-              })
-          })
-      })
+              .then(response => {
+              this.$message.success('审核成功')
+              this.getList()
+            })
+        })
     },
     Changepricerecord(item) {
       this.dialogFormVisible5 = true
@@ -1115,8 +1157,8 @@ export default {
     },
 
     //成交
-    submit() {
-      if (!this.warehouseList.transactionPrice) {
+    chengjiao() {
+      if (!this.clinchdeal1.transactionPrice) {
         this.$message({
           message: '成交价不能为空',
           type: 'warning',
@@ -1128,19 +1170,19 @@ export default {
         confirmButtonText: '确定',
         type: 'warning',
       }).then(() => {
-        console.log(23456678790)
-        chengList(this.warehouseList)
-          .toPromise()
-          .then((response) => {
-            this.$message.success('添加成功')
-
-            // this.$router.go(-1)
-          })
-          .catch(() => {
-            console.log(1111111111)
-            return false
-          })
+        chengList({transactionRecord:this.clinchdeal1,id:this.clinchdeal.id,compId:sessionStorage.getItem('ws-pf_compId'),
+        contractNo:this.clinchdeal.contractNo,planId:this.clinchdeal.planId,goodsName:this.clinchdeal.goodsName,buyer:this.clinchdeal.buyer,commonId:this.clinchdeal.commonId})
+        .toPromise()
+        .then((response) => {
+          this.$message.success('成交成功')
+         this.dialogFormVisible1 = false
+          // this.$router.go(-1)
+        })
+        .catch(() => {
+          return false
+        })
       })
+      
     },
     selectpackingType(e) {
       for (var i = 0; i < this.packingTypeList.length; i++) {
@@ -1157,7 +1199,6 @@ export default {
       }
     },
     getList() {
-      console.log(123456)
       detailsList({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
@@ -1170,6 +1211,7 @@ export default {
         .then((response) => {
           for (var i = 0; i < response.records.length; i++) {
             response.records[i].basischange = false
+            response.records[i].openPosition=response.records[i].cumulativeTurnover-response.records[i].closedPosition-response.records[i].stockInQuantity
           }
           this.warehouseList = response
           this.deptCircularPage.currentPage = response.current
@@ -1191,7 +1233,7 @@ export default {
       // 合同编号
       aduitcontractno({
         compId: sessionStorage.getItem('ws-pf_compId'),
-        flag: 0,
+        flag: 1,
       })
         .toPromise()
         .then((response) => {

+ 238 - 185
src/views/statisticalReport/purchaseClosingCashierList.vue

@@ -2,33 +2,40 @@
 <template>
   <div class="container">
     <el-scrollbar style="height:100%">
-      <el-scrollbar style="width:130%">
-        <el-row>
-          <el-col :span="12">
-            <h2 class="bg-left title"></h2>
-          </el-col>
-          <el-col :span="12" class="bg-right">
-            <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
-              <img
-                width="6"
-                height="10"
-                style="vertical-align: bottom; margin-right: 3px"
-                src="../../../public/img/lujing.png"
-                alt
-              />返回
-            </el-button>
-          </el-col>
-        </el-row>
-        <!-- <div> -->
         <div>
-          <ws-button type="primary" @click="handleAdd()">待审核</ws-button>
-          <ws-button type="primary" @click="handleAdd()">待结算</ws-button>
-          <ws-button type="primary" @click="handleAdd()">已结算</ws-button>
-          <ws-button type="primary" @click="handleAdd()">全部</ws-button>
-          <ws-button type="primary" @click="handleAdd()">驳回</ws-button>
-          <ws-button type="primary" @click="handleAdd()">通过</ws-button>
-          <ws-button type="primary" @click="handleAdd()">审核</ws-button>
-          <ws-button type="primary" @click="dialogFormVisible1=true">付款</ws-button>
+          <ws-button type="primary" @click="handlestatus(1)">待审核</ws-button>
+          <ws-button type="primary" @click="handlestatus(2)">待结算</ws-button>
+          <ws-button type="primary" @click="handlestatus(3)">已结算</ws-button>
+          <ws-button type="primary" @click="handlestatus('')">全部</ws-button>
+         <ws-button type="primary" @click="handlepass1()">通过1</ws-button>
+          <ws-button type="primary" @click="handlereject(3)">驳回1</ws-button>
+          <ws-button type="primary" @click="handlepass()">通过</ws-button>
+          <ws-button type="primary" @click="handlereject(2)">驳回</ws-button>
+          <ws-button type="primary" @click="handleAudit()">审核</ws-button>
+          <ws-button type="primary" @click="handlepayment()">付款</ws-button>
+          <ws-button type="primary" @click="handlecollect()">收款</ws-button>
+           <ws-select
+            v-model="contractNo"
+            placeholder="请选择合同"
+            clearable
+            @change='contractchange'
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+          <ws-option
+                key=""
+                label="全部合同"
+                value=""
+              />
+          <ws-option
+                v-for="item in contractNoList.records"
+                :key="item.constKey"
+                :label="item.contractNo+'('+item.closeaccountstatus+')'"
+                :value="item.contractNo"
+              />
+          </ws-select>
+        </div>
           <el-dialog
             width="25%"
             title="付款"
@@ -37,13 +44,13 @@
           >
             <el-form :model="form">
               <el-form-item label="未付金额(元)" :label-width="formLabelWidth">
-                <!-- <el-input v-model="form.region" autocomplete="off" class="deal"></el-input> -->
+                 <el-input v-model="allmoney" autocomplete="off" class="deal"></el-input>
               </el-form-item>
-              <el-form-item label="本次款金额(元)" :label-width="formLabelWidth">
+              <el-form-item label="本次款金额(元)" :label-width="formLabelWidth">
                 <el-input
-                  v-model="form.region"
+                  v-model="money"
                   autocomplete="off"
-                  placeholder="请输入补充金额"
+                  placeholder="请输入付款金额"
                   class="deal"
                 ></el-input>
               </el-form-item>
@@ -54,7 +61,7 @@
                 class="deal"
               >
                 <ws-date-picker
-                  v-model="deptBudgetList.submissionDate"
+                  v-model="paymentDate"
                   type="date"
                   placeholder="请选择付款日期"
                   value-format="yyyy-MM-dd"
@@ -65,21 +72,23 @@
                 <el-upload
                   action="https://www.zthymaoyi.com/upload/admin"
                   list-type="picture-card"
-                  :on-preview="handlePictureCardPreview"
+                  :on-success="handlePictureCardPreview"
                   :on-remove="handleRemove"
                   class="photo2"
                 >
                   <i class="el-icon-plus"></i>
                 </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="paymentScreenshot" alt="">
+                </el-dialog>
               </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
               <el-button @click="dialogFormVisible1 = false">取 消</el-button>
-              <el-button type="primary" @click="dialogFormVisible1= false">确 定</el-button>
+              <el-button type="primary" @click="payment">确 定</el-button>
             </div>
           </el-dialog>
           <!-- 收款 -->
-          <ws-button type="primary" @click="dialogFormVisible2=true">收款</ws-button>
           <el-dialog
             width="25%"
             title="收款"
@@ -88,11 +97,11 @@
           >
             <el-form :model="form">
               <el-form-item label="未收金额(元)" :label-width="formLabelWidth">
-                <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                <el-input v-model="allmoney1" autocomplete="off" class="deal"></el-input>
               </el-form-item>
               <el-form-item label="本次收款金额(元)" :label-width="formLabelWidth">
                 <el-input
-                  v-model="form.region"
+                  v-model="collectmoney"
                   autocomplete="off"
                   placeholder="请输入本次收款金额"
                   class="deal"
@@ -105,7 +114,7 @@
                 class="deal"
               >
                 <ws-date-picker
-                  v-model="deptBudgetList.submissionDate"
+                  v-model="collectionDate"
                   type="date"
                   placeholder="请选择收款日期"
                   value-format="yyyy-MM-dd"
@@ -116,28 +125,22 @@
                 <el-upload
                   action="https://www.zthymaoyi.com/upload/admin"
                   list-type="picture-card"
-                  :on-preview="handlePictureCardPreview"
+                  :on-success="handlePictureCardPreview1"
                   :on-remove="handleRemove"
                   class="photo2"
                 >
                   <i class="el-icon-plus"></i>
                 </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="collectionScreenshot" alt="">
+                </el-dialog>
               </el-form-item>
             </el-form>
             <div slot="footer" class="dialog-footer">
               <el-button @click="dialogFormVisible2 = false">取 消</el-button>
-              <el-button type="primary" @click="dialogFormVisible2= false">提 交</el-button>
+              <el-button type="primary" @click="collectment">提 交</el-button>
             </div>
           </el-dialog>
-          <ws-select
-            v-model="searchKeyWord"
-            placeholder="可按照合同编号和任务编号进行查找"
-            clearable
-            maxlength="500"
-            type="input"
-            class="findValue"
-          ></ws-select>
-        </div>
 
         <el-table
           class="wenzi"
@@ -152,21 +155,21 @@
           <el-table-column type="selection" width="55"></el-table-column>
           <el-table-column type="index" label="序号" width="50"></el-table-column>
           <el-table-column class="table_td" prop="contractNo" label="合同编号"></el-table-column>
-          <el-table-column class="table_td" prop="procurementPlan" label="平仓日期"></el-table-column>
-          <el-table-column class="table_td" prop="customer" label="平仓数量(吨)"></el-table-column>
-          <el-table-column class="table_td" prop="unitPrice" label="成交价格(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="basis" label="平仓价格(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="freezingDeposit" label="基差(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="defaultDeposit" label="应付金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="unloadingCharge" label="已付金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="unloadingCharge" label="未付金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="invoiceFee" label="付款日期"></el-table-column>
-          <el-table-column class="table_td" prop="send" label="应收金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="stockInQuantity" label="已收金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="openPosition" label="未收金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="closedPosition" label="收款日期"></el-table-column>
-          <el-table-column class="table_td" label="客户"></el-table-column>
-          <el-table-column class="table_td" label="库点"></el-table-column>
+          <el-table-column class="table_td" prop="closePositionDate" label="平仓日期"></el-table-column>
+          <el-table-column class="table_td" prop="closingQuantity" label="平仓数量(吨)"></el-table-column>
+          <el-table-column class="table_td" prop="transactionPrice" label="成交价格(元/吨)"></el-table-column>
+          <el-table-column class="table_td" prop="closeRate" label="平仓价格(元/吨)"></el-table-column>
+          <el-table-column class="table_td" prop="basisPrice" label="基差(元/吨)"></el-table-column>
+          <el-table-column class="table_td" prop="amountIngPayable" label="应付金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="amountEdPayable" label="已付金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="amountNotPayable" label="未付金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="paymentDate" label="付款日期"></el-table-column>
+          <el-table-column class="table_td" prop="collectionIngPayable" label="应收金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="collectionEdPayable" label="已收金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="collectionNotPayable" label="未收金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="collectionDate" label="收款日期"></el-table-column>
+          <el-table-column class="table_td" prop="customerName" label="客户"></el-table-column>
+          <el-table-column class="table_td" prop="warehouseName" label="库点"></el-table-column>
           <el-table-column prop="status" label="状态"></el-table-column>
         </el-table>
 
@@ -179,7 +182,6 @@
           layout="total, sizes, prev, pager, next, jumper"
           :total="deptBudgetTotal"
         ></el-pagination>
-      </el-scrollbar>
     </el-scrollbar>
   </div>
 
@@ -187,8 +189,8 @@
 </template>
 <script>
 import {
-  getpurchreceipt
-} from '@/model/purchasingManagement/index'
+  getclose,closeaudit,closepaymoney,closecollmoney
+} from '@/model/statisticalReport/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -210,27 +212,26 @@ export default {
 
   data() {
     return {
-      checked: true,
       dialogFormVisible1: false,
       dialogFormVisible2: false,
       dialogVisible: false,
-
+      showViewer: false,
       form: {
         transactionPrice: '',
         transactionsNumber: '',
-        basis: '',
         submissionDate: ''
-        // delivery: false,
-        // type: [],
-        // resource: '',
-        // desc: ''
       },
       formLabelWidth: '120px',
-
       barWidth: 0,
       barHeight: 0,
       retioX: 1,
       ratioY: 1,
+      money:0,
+      collectmoney:0,
+      collectionDate:'',
+      paymentScreenshot: '',
+      collectionScreenshot:'',
+      paymentDate:'',
       isTaped: false,
       isHover: false,
       isShow: !this.autohide,
@@ -247,6 +248,8 @@ export default {
       // 年
       year: '',
       pickerOptions: {},
+      allmoney:0,
+      allmoney1:0,
       value2: '',
       deptBudgetTotal: 0,
       currentPage: 1,
@@ -264,14 +267,14 @@ export default {
       submitType: true,
       size: 10,
       spanArr: [],
+      contractNoList:[],
+      modification:[],
       contractNo: '',
-      inOutTaskNo: '',
       compId: sessionStorage.getItem('ws-pf_compId'),
       deptCircularPage: {},
       warehouseList: [],
       deptBudgetList: {},
       pcFlag: 1,
-      historyList: [],
       pickerBeginDateBefore: {
         disabledDate: time => {
           return time.getTime() > Date.now()
@@ -286,10 +289,76 @@ export default {
     this.showType = this.isShow
   },
   methods: {
-    updated() {
-      this.$nextTick(() => {
-        this.$refs.warehouseList.doLayout()
+    contractchange(e){ 
+      this.contractNo=e
+      this.getList()
+    },
+    handlestatus(status){
+      this.searchType=status
+      this.getList()
+    },
+    handlepayment(){
+       if(this.modification.length==0){
+        this.$message.warning('请选择一条要付款的条目')
+      }
+      else{
+        this.dialogFormVisible1=true
+        for(var i=0;i<this.modification.length;i++){
+          this.allmoney+=this.modification[i].amountNotPayable
+        }
+      }
+    },
+    handlecollect(){
+        if(this.modification.length==0){
+        this.$message.warning('请选择一条要收款的条目')
+      }
+      else{
+        this.dialogFormVisible2=true
+        for(var i=0;i<this.modification.length;i++){
+          this.allmoney1+=this.modification[i].collectionNotPayable
+        }
+      }
+    },
+    //统计审核
+    handleAudit(){
+      if(this.modification.length==0){
+        this.$message.warning('请选择一条要审核的条目')
+      }else{
+        this.$confirm(`审核通过后,任务将发送给财务,是否确定通过?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      }).then(() => {
+        closeaudit({roleFlag:1,flag:1,purchaseClosingReportList:this.modification}).toPromise()
+        .then(response => {
+          this.$message.success('审核成功')
+          this.getList()
+        }).catch
+      })
+      }
+    },
+    //驳回
+    handlereject(status){
+      if(this.modification.length==0){
+        this.$message.warning('请选择要驳回的条目')
+      }else{
+        this.$confirm(`驳回后任务将退回到统计,是否确定驳回?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      }).then(() => {
+        postaudit({roleFlag:status,flag:2,purchaseClosingReportList:this.modification}).toPromise()
+        .then(response => {
+          this.$message.success('驳回成功')
+          this.getList()
+        }).catch(req => {
+          this.$message.success('驳回失败')
+        })
       })
+      }
+    },
+    handleSelectionChange(val){
+      this.modification=val
     },
     //合计
     getSummaries(param) {
@@ -298,7 +367,7 @@ export default {
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '合计'
-        } else if (index === 5 || index === 7 || index === 8 || index === 9) {
+        } else if (index === 4 || index === 10 || index === 8 || index === 9|| index === 12 || index === 13 || index === 14 ) {
           const values = data.map(item => Number(item[column.property]))
           if (!values.every(value => isNaN(value))) {
             sums[index] = values.reduce((prev, curr) => {
@@ -318,87 +387,121 @@ export default {
       })
       return sums
     },
-    //成交
-    submit() {
-      if (!this.warehouseList.transactionPrice) {
-        this.$message({
-          message: '成交价不能为空',
-          type: 'warning'
-        })
-        return
-      }
-      this.$confirm(`确定提交成交信息`, {
+    //付款
+    payment(){
+      this.$confirm(`确定提交付款信息?`, {
         cancelButtonText: '取消',
         confirmButtonText: '确定',
         type: 'warning'
-      }).then(() => {
-        console.log(23456678790)
-
-        chengList(this.warehouseList)
-          .toPromise()
+        }).then(() => {
+          closepaymoney({purchaseClosingReportList:this.modification,money:this.money,paymentDate:this.paymentDate,paymentScreenshot:this.paymentScreenshot}).toPromise()
           .then(response => {
-            this.$message.success('添加成功')
-
-            // this.$router.go(-1)
+            this.$message.success('付款成功')
+            this.dialogFormVisible1=false
+            this.getList()
           })
-          .catch(() => {
-            console.log(1111111111)
-            return false
+        })
+    },
+    //收款
+    collectment(){
+      this.$confirm(`确定提交收款信息?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+        }).then(() => {
+          closecollmoney({purchaseClosingReportList:this.modification,money:this.collectmoney,collectionDate:this.collectionDate,collectionScreenshot:this.collectionScreenshot}).toPromise()
+          .then(response => {
+            this.$message.success('收款成功')
+            this.dialogFormVisible2=false
+            this.getList()
           })
-      })
+        })
     },
     getList() {
-      getpurchreceipt({
+      getclose({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
         searchType: this.searchType,
-        searchKeyWord: this.searchKeyWord
+        contractNo:this.contractNo,
+        roleFlag:this.roleFlag
       })
         .toPromise()
         .then(response => {
           this.warehouseList = response
         })
-    },
-    // loaddata(){
-    //   chengList({
-    //      compId: sessionStorage.getItem('ws-pf_compId'),
-    //   })
-    //   .toPromise()
-    //   .then(response => {
-    //       this.warehouseList = response
-    //     })
-    // },
-    handleSelectionChange(val) {
-      this.multipleSelection = val
+        getclose({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        roleFlag:this.roleFlag
+      })
+        .toPromise()
+        .then(response => {
+          for (let i = 0; i < response.records.length; i++) {
+            if(response.records[i].amountNotPayable==0){
+              response.records[i].closeaccountstatus='已结算'
+            }else{
+              response.records[i].closeaccountstatus='待结算'
+            }
+            
+            
+          }
+           this.contractNoList = response
+        })
     },
     handleRemove(file) {
       console.log(file)
     },
     handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url
-      this.dialogVisible = true
+      this.paymentScreenshot = file.url
+    },
+     handlePictureCardPreview1(file) {
+      this.collectionScreenshot = file.url
     },
     handleDownload(file) {
       console.log(file)
     },
-
-    // statusquery(state) {
-    //   this.searchType = state
-    //   this.getList()
-    // },
-    // delivery(item) {
-    //   this.$router.push({
-    //     path: 'warehouseManagementDelivery',
-    //     query: {
-    //       baseId: item.warehouseId,
-    //       positionId: item.binNumberId,
-    //       warehouseName: item.warehouseName,
-    //       binNumber: item.binNumber,
-    //       capacity: item.capacity
-    //     }
-    //   })
-    // },
+    //财务通过
+    handlepass(){
+      if(this.modification.length==0){
+        this.$message.warning('请选择要通过的条目')
+      }else{
+        this.$confirm(`审核通过后,任务将发送给决策人,是否确定通过?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      }).then(() => {
+        postaudit({roleFlag:2,flag:1,purchaseClosingReportList:this.modification}).toPromise()
+        .then(response => {
+          this.$message.success('通过成功')
+          this.getList()
+        }).catch(req => {
+          this.$message.success('通过失败')
+        })
+      })
+      }
+    },
+    //决策人通过
+    handlepass1(){
+      if(this.modification.length==0){
+        this.$message.warning('请选择要通过的条目')
+      }else{
+        this.$confirm(`审核通过后,任务将发送给出纳,是否确定通过?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      }).then(() => {
+        closeaudit({roleFlag:3,flag:1,purchaseClosingReportList:this.modification}).toPromise()
+        .then(response => {
+          this.$message.success('通过成功')
+          this.getList()
+        }).catch(req => {
+          this.$message.success('通过失败')
+        })
+      })
+      }
+    },
     getSpanArr(data) {
       let that = this
 
@@ -430,19 +533,6 @@ export default {
         }
       })
     },
-    //查看
-    handleLook(row) {
-      this.$router.push({
-        path: 'warehouseManagementPutOutLook',
-        query: {
-          relevanceId: row.relevanceId
-        }
-      })
-    },
-    //返回
-    revert() {
-      this.$router.push({ path: 'warehouseManagementList' })
-    },
     dateFormat(fmt, date) {
       let ret
       const opt = {
@@ -465,9 +555,6 @@ export default {
       }
       return fmt
     },
-    handleClose() {
-      this.accessoryTFs = false
-    },
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`)
       this.pageSize = val
@@ -509,44 +596,10 @@ export default {
           return false
         })
     },
-    selecttaskType(e) {
-      for (var i = 0; i < this.taskTypeList.length; i++) {
-        if (this.taskTypeList[i].value == e) {
-          this.searchType = this.taskTypeList[i].type
-        }
-      }
-    },
-    // fujian(row) {
-    //   if (
-    //     row.receiveAttachmentPath === null ||
-    //     row.receiveAttachmentPath === ''
-    //   ) {
-    //     EventBus.$emit(
-    //       'warning',
-    //       this.$t('system.noticeCircular.NoInformation')
-    //     )
-    //   } else {
-    //     this.accessoryTFs = true
-    //   }
-    //   this.appendixIdss = row.receiveAttachmentPath
-    // },
-    handleExamine(row) {
-      this.$router.push({
-        name: 'salesContractExamine',
-        query: { id: row.id }
-      })
-    },
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleCloe() {
       this.dialogViewSpareMoney = false
     },
-    history(row) {
-      billoperatehis({ id: row.id })
-        .toPromise()
-        .then(response => {
-          this.historyList = response
-        })
-    },
     //查找
     find() {
       this.currentPage = 1

文件差異過大導致無法顯示
+ 771 - 361
src/views/statisticalReport/purchaseReceiptStatisticsList.vue


+ 8 - 7
src/views/statisticalReport/salesClosingCashierList.vue

@@ -3,10 +3,10 @@
   <div class="container">
         <!-- <div> -->
         <div>
-          <ws-button type="primary" @click="handlestatus(1)">待审核</ws-button>
-          <ws-button type="primary" @click="handlestatus(2)">待结算</ws-button>
-          <ws-button type="primary" @click="handlestatus(3)">已结算</ws-button>
-          <ws-button type="primary" @click="handlestatus('')">全部</ws-button>
+          <ws-button :type="searchType==1?'primary':''" @click="handlestatus(1)">待审核</ws-button>
+          <ws-button :type="searchType==3?'primary':''" @click="handlestatus(2)">待结算</ws-button>
+          <ws-button :type="searchType==3?'primary':''" @click="handlestatus(3)">已结算</ws-button>
+          <ws-button :type="searchType==''?'primary':''" @click="handlestatus('')">全部</ws-button>
           <ws-button v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handleAudit(3,2)">驳回</ws-button>
           <ws-button v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handleAudit(3,1)">通过</ws-button>
           <ws-button v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handleAudit(2,2)">驳回</ws-button>
@@ -320,8 +320,9 @@ export default {
     this.showType = this.isShow
   },
   methods: {
-    handlestatus(){
-
+    handlestatus(status){
+      this.searchType=status
+      this.getList()
     },
     collectionconfirm(){
        if(!this.collectionlist.money){
@@ -548,7 +549,7 @@ export default {
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '合计'
-        } else if (index === 5 || index === 7 || index === 8 || index === 9) {
+        } else if (index === 4 || index === 10 || index === 8 || index === 9|| index === 12 || index === 13 || index === 14 ) {
           const values = data.map(item => Number(item[column.property]))
           if (!values.every(value => isNaN(value))) {
             sums[index] = values.reduce((prev, curr) => {

+ 0 - 2
src/views/tranManagement/tranManagementDriver.vue

@@ -379,7 +379,6 @@ export default {
       deptBudgetTotal: 0,
       currentPage: 1,
       pageSize: 10,
-      searchType: 1,
       searchKeyWord: '',
       contractType: 2,
       startDate: null,
@@ -552,7 +551,6 @@ export default {
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
-        searchType: this.searchType,
         pcFlag:this.pcFlag,
         residentCityProvincial: this.residentCityProvincial,
         residentCityMunicipal: this.residentCityMunicipal,

+ 3 - 3
src/views/tranManagement/tranManagementTransporFeedback.vue

@@ -229,10 +229,10 @@
       <div style="text-align: right; color: #8890b1; font-size: 16px">
         合计(吨):{{ total }}/{{ deptBudgetList.weight }}
       </div>
-      <el-button class="add bg-bottom" type="primary" size="small" @click="add">
+      <!-- <el-button class="add bg-bottom" type="primary" size="small" @click="add">
         <img width="22" height="22" src="../../../public/img/add.png" alt="" />
         <div class="spans">添加临时用车</div></el-button
-      >
+      > -->
     </ws-form>
     <!-- 提交 -->
     <div style="text-align: right; padding: 10px" class="center">
@@ -322,7 +322,7 @@ export default {
           driverPhone: '',
           carNo: '',
           loadNetWeight: '',
-          loadPoundImg:""
+          loadPoundImg:''
         },
         // {loadPoundImg:{}},
           

+ 1 - 1
src/views/tranManagement/tranManagementVehicleDispatching.vue

@@ -249,7 +249,7 @@
             >
           </div>
           <div style="text-align: right; color: #8890b1; font-size: 16px">
-            合计{{ total }}/{{ deptBudgetList.weight }}
+           {{ total }}/{{ deptBudgetList.weight }}
           </div>
           <el-button class="add" type="primary" size="small" @click="add()">
             <img

部分文件因文件數量過多而無法顯示