gjy 2 years ago
parent
commit
a0688fd0a8

+ 8 - 2
src/api/V2/warehouse/index.js

@@ -165,5 +165,11 @@ export const API_SET_ROLLOUT='/cargoTitleDetails/api/addInfo'
 export const API_EDIT_ROLLOUT='/cargoTitleDetails/api/editStatus'
 // 待赎回
 export const API_REDEEMEDINFO='/contractManagementInfo/toBeRedeemedInfo'
-// 待赎回
-export const API_GETROLL='/cargoTitleDetails/selectInfo'
+// 货权明细
+export const API_GETROLL='/cargoTitleDetails/selectInfo'
+// 客户操作记录
+export const API_GET_CUSACTIONINFO='/cargoTitleDetails/selectCusActionInfo'
+// 客户操作记录-拒收
+export const API_GET_CUSACTIONINFO_REJECT='/cargoTitleDetails/api/rejection'
+// 货权转入
+export const API_SET_ROLLIN='/cargoTitleDetails/api/toChangeInto'

+ 1 - 0
src/lang/zh.js

@@ -677,6 +677,7 @@ export default {
     warehousingOrder: '入库单',
     awaitrAnsom:'入库单  /  待赎回',
     customerrecord:'客户操作记录',
+    goodsrollIn:'货权转入',
     gooddetail:'货权明细',
     storageCharge:'仓储费',
     earnestmoney:'保证金',

+ 10 - 1
src/model/warehouse/index.js

@@ -81,7 +81,10 @@ import {
     API_SET_ROLLOUT,
     API_EDIT_ROLLOUT,
     API_REDEEMEDINFO,
-    API_GETROLL
+    API_GETROLL,
+    API_GET_CUSACTIONINFO,
+    API_GET_CUSACTIONINFO_REJECT,
+    API_SET_ROLLIN
     // API_GET_EXPENSEINFO
 } from '@/api/V2/warehouse'
 // import { app } from 'electron'
@@ -250,3 +253,9 @@ export const editrollout = appRx.post(API_EDIT_ROLLOUT, errorCatcher, errorHandl
 export const getredeemedinfo = appRx.get(API_REDEEMEDINFO, errorCatcher, errorHandle, filter)
 // 货权明细
 export const getroll = appRx.get(API_GETROLL, errorCatcher, errorHandle, filter)
+// 客户操作记录
+export const getcusationinfo = appRx.get(API_GET_CUSACTIONINFO, errorCatcher, errorHandle, filter)
+// 客户操作记录-拒收
+export const rejectcusationinfo = appRx.post(API_GET_CUSACTIONINFO_REJECT, errorCatcher, errorHandle, filter)
+// 货源转入
+export const setrollin = appRx.post(API_SET_ROLLIN, errorCatcher, errorHandle, filter)

+ 1 - 0
src/utils/request.js

@@ -94,6 +94,7 @@ service.interceptors.response.use(
         if (!msg || msg.indexOf('network.') >= 0) {
           msg = lang.t('network.timeout');
         }
+        var errormsg=msg.message?msg.message:msg
         EventBus.$emit('error', msg)
       }
     } else if (error.request) {

+ 2 - 2
src/views/contractManagement/salesContractAdd.vue

@@ -688,14 +688,14 @@
           this.deptBudgetList.sourceProvince = data[0]
           this.deptBudgetList.sourceCity = data[1]
           this.deptBudgetList.sourceArea = data[2]
-          this.deptBudgetList.sourceGoods = data[3]
+          // this.deptBudgetList.sourceGoods = data[3]
           this.deptBudgetList.sourceLocation=data[5].lat+','+data[5].lng
         } else {
           this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
           this.deptBudgetList.deliveryProvince = data[0]
           this.deptBudgetList.deliveryCity = data[1]
           this.deptBudgetList.deliveryArea = data[2]
-          this.deptBudgetList.placeDelivery = data[3]
+          // this.deptBudgetList.placeDelivery = data[3]
           this.deptBudgetList.deliveryLocation=data[5].lat+','+data[5].lng
         }
       },

+ 4 - 1
src/views/taskManagement/supplyofgoods.vue

@@ -232,12 +232,15 @@
           .then((response) => {
             this.goodsList = response
           })
-      this.getNowTime()
       this.baseId=this.$route.query.baseId
       if(this.$route.query.status){
         this.status=true
         this.goodsName='玉米'
+      }else{
+        this.status=false
+        this.goodsName=''
       }
+      this.getNowTime()
       this.showType = this.isShow
     },
     methods: {

+ 289 - 0
src/views/warehousenew/awaitRansom.vue

@@ -0,0 +1,289 @@
+//待赎回
+<template>
+  <div class="container">
+    <el-row class="row_top">
+      <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="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button></el-col>
+    </el-row>
+    <div class="center">
+      <el-row style='margin-bottom:10px;'>
+        <el-col :span="6">
+          <!-- <el-button style="margin-left:10px" @click="typeChange('')" type="primary">导出</el-button> -->
+        </el-col>
+        <el-col :span="18">
+          <div style='margin-left:10px;' class="datascreen">
+            <div style="display:inline-block;width:50;">
+              <el-date-picker value-format='yyyy-MM-dd' v-model="value" type="daterange" align="right" unlink-panels range-separator="至"
+              start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" class="data_css" @change="changeDate" >
+            </el-date-picker></div>
+            <el-input placeholder="可按合同编号、接收公司查找" class="input_css" v-model="searchKeyWord"></el-input>
+            <el-button class="find" type="primary" @click="find()"><img width="16" height="16" style="left: -8px;"
+                src="../../../public/img/sousuo.png" alt="" /></el-button>
+          </div>
+        </el-col>
+      </el-row>
+      <el-row style='margin-bottom:10px;'>
+        <el-col :span="18">
+          <el-button style="margin-left:10px" @click="typeChange('')" :type="searchType == ''?'primary':''">全部</el-button>
+          <el-button @click="typeChange(1)" :type="searchType == 1?'primary':''">未完成</el-button>
+          <el-button @click="typeChange(2)" :type="searchType == 2?'primary':''">已完成</el-button>
+        </el-col>
+        <el-col style='padding-right:10px;text-align:right;' :span="6">
+          合计待赎回:{{num}}吨
+        </el-col>
+      </el-row>
+      <div class="fromdata">
+        <el-table :data="tableData" stripe style="width: 100%" @selection-change="handleSelectionChange">
+          <el-table-column type="index" label="序号">
+            <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="contractNo" label="合同编号">
+          </el-table-column>
+          <el-table-column prop="receivingCompany" label="接收公司">
+          </el-table-column>
+          <el-table-column prop="cumulativeTransfer" label="累计转出(吨)"></el-table-column>
+          <el-table-column prop="expectedRedemption" label="预计赎回(吨)"></el-table-column>
+          <el-table-column width="120" prop="redeemed" label="已赎回(吨)">
+          </el-table-column>
+           <el-table-column width="150" prop="settlementPrice" label="待赎回(吨)">
+          </el-table-column>
+          <el-table-column width="120" prop="signingDate" label="合同签订日期">
+          </el-table-column>
+        </el-table>
+      </div>
+      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        style="text-align:center" :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+<script>
+
+import {
+  getredeemedinfo
+} from '@/model/warehouse/index'
+  export default {
+    components: {},
+    data() {
+      return {
+        value: '',
+        tableData: [],
+        show:false,
+        deptBudgetTotal: 0,
+        currentPage: 1,
+        pageSize: 10,
+        deptCircularPage: {},
+        searchType:'',
+        searchKeyWord:'',
+        startDate:'',
+        endDate:'',
+        tableData:{},
+        datalist:{},
+        num:0,
+        compId:localStorage.getItem('ws-pf_compId'),
+      }
+    },
+    activated() {
+      this.getList()
+    },
+    methods: {
+      handleClose1(){
+        this.show=false
+      },
+      typeChange(num){
+        this.searchType= num
+        this.getList()
+      },
+      returnsales(){
+        this.$router.go(-1)
+      },
+      handleSelectionChange(val) {
+        this.multipleSelection = val;
+      },
+      async getList() {
+         var response=await getredeemedinfo({
+            // warehouseType: 1,
+            startDate:this.startDate,
+            endDate:this.endDate,
+            searchKeyWord:this.searchKeyWord,
+            currentPage: this.currentPage,
+            pageSize:this.pageSize ,
+            searchType:this.searchType,
+            dropFlag:0,
+            compId:localStorage.getItem('ws-pf_compId'),
+          })
+          .toPromise()
+          // 合计
+          var response1=await getredeemedinfo({
+            // warehouseType: 1,
+            startDate:this.startDate,
+            endDate:this.endDate,
+            searchKeyWord:this.searchKeyWord,
+            currentPage: this.currentPage,
+            pageSize:9999 ,
+            searchType:this.searchType,
+            dropFlag:0,
+            compId:localStorage.getItem('ws-pf_compId'),
+          })
+          .toPromise()
+          for (let i = 0; i < response.records.length; i++) {
+            response.records[i].settlementPrice=(response.records[i].expectedRedemption-response.records[i].redeemed).toFixed(3)
+          }
+          this.num=0
+          for (let i = 0; i < response1.records.length; i++) {
+            this.num+=Number((response1.records[i].expectedRedemption-response1.records[i].redeemed).toFixed(3))
+          }
+          this.num=this.num.toFixed(3)
+            this.tableData = response.records
+           this.deptBudgetTotal = response.total
+      },
+
+      changeDate(){
+        if(this.value){
+          this.startDate = this.value[0]
+          this.endDate = this.value[1]
+        }else{
+          this.startDate = ''
+          this.endDate = ''
+        }
+        this.getList()
+      },
+      pickerOptions() {},
+      find() {
+        this.getList()
+
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+ table,
+      table tr th,
+      table tr td {
+        border: 2px solid #333333;
+        padding: 5px 0;
+        height: 55px;
+      }
+
+      .content {
+        width: 1000px;
+        padding: 70px 20px 20px 20px;
+        font-size: 22px;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+      }
+
+      table {
+        width: 100%;
+        text-align: center;
+        border-collapse: collapse;
+        border: 3px solid #333333;
+      }
+
+      .col-bgc {
+        background: #f6f7fb;
+      }
+
+  .container {
+    background: #E8ECF6;
+  }
+
+  .center {
+    margin: 0 auto;
+    background: #ffffff;
+    height: calc(100vh - 13vh);
+    border-radius: 4px;
+    padding: 20px 0;
+
+    /deep/.el-table td,
+    /deep/.el-table th {
+      text-align: center;
+    }
+  }
+
+  .row_top {
+    background: #F6F7FC;
+    border-radius: 4px;
+    margin-bottom: 10px;
+
+    .bg-left {
+      padding-left: 30px;
+    }
+
+    .bg-right {
+      padding-right: 10px;
+      text-align: right;
+    }
+
+    .title {
+      position: relative;
+    }
+
+    .title::before {
+      content: '';
+      display: inline-block;
+      width: 5px;
+      height: 30px;
+      background: #5473e8;
+      position: absolute;
+      left: 0;
+    }
+  }
+
+  .datascreen {
+    display: flex;
+
+    .data_css {
+      width: 40%;
+    }
+
+    .input_css {
+      width: 50%;
+      margin: 0 10px;
+    }
+
+    .find {
+      margin-right: 10px;
+    }
+  }
+
+  .fromdata {
+    margin: 20px 0;
+    overflow-y: scroll;
+    height: 546px;
+  }
+  .top_info{
+    margin: 10px 0 0 10px;
+    min-width: 712px;
+    .info_css{
+      margin-right: 20px;
+    }
+  }
+  .bg-right{
+    padding-top:15px;
+  }
+  .el-icon-connection{
+    color:#409eff;
+  }
+</style>

+ 63 - 47
src/views/warehousenew/component/router/index.js

@@ -508,53 +508,69 @@ const warehouseManagementRouter = {
       },
       hidden: true
     },
-    {
-      path: 'awaitRansom',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/awaitRansom'),
-      name: 'awaitRansom',
-      meta: {
-        title: 'awaitrAnsom',
-        shortcutEntrance: 'warehouseManagementList',
-        module: 'warehouseManagement.warehouse.warehouseInfo',
-        permissicon: [],
-        keepAlive: true,
-        _title:'待赎回'
-        // module: 'procurement.sparepart.applDetail'
-      },
-      hidden:true
-    },
-    {
-      path: 'gooddetail',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/gooddetail'),
-      name: 'gooddetail',
-      meta: {
-        title: 'gooddetail',
-        shortcutEntrance: 'warehouseManagementList',
-        module: 'warehouseManagement.warehouse.warehouseInfo',
-        permissicon: [],
-        keepAlive: true,
-        _title:'货权明细'
-        // module: 'procurement.sparepart.applDetail'
-      },
-    },
-    {
-      path: 'customerrecord',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/customerrecord'),
-      name: 'customerrecord',
-      meta: {
-        title: 'customerrecord',
-        shortcutEntrance: 'warehouseManagementList',
-        module: 'warehouseManagement.warehouse.warehouseInfo',
-        permissicon: [],
-        keepAlive: true,
-        _title:'客户操作记录'
-        // module: 'procurement.sparepart.applDetail'
-      },
-      hidden:true
-    },
+    // {
+    //   path: 'awaitRansom',
+    //   component: () =>
+    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/awaitRansom'),
+    //   name: 'awaitRansom',
+    //   meta: {
+    //     title: 'awaitrAnsom',
+    //     shortcutEntrance: 'warehouseManagementList',
+    //     module: 'warehouseManagement.warehouse.warehouseInfo',
+    //     permissicon: [],
+    //     keepAlive: true,
+    //     _title:'待赎回'
+    //     // module: 'procurement.sparepart.applDetail'
+    //   },
+    //   hidden:true
+    // },
+    // {
+    //   path: 'gooddetail',
+    //   component: () =>
+    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/gooddetail'),
+    //   name: 'gooddetail',
+    //   meta: {
+    //     title: 'gooddetail',
+    //     shortcutEntrance: 'warehouseManagementList',
+    //     module: 'warehouseManagement.warehouse.warehouseInfo',
+    //     permissicon: [],
+    //     keepAlive: true,
+    //     _title:'货权明细'
+    //     // module: 'procurement.sparepart.applDetail'
+    //   },
+    // },
+    // {
+    //   path: 'customerrecord',
+    //   component: () =>
+    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/customerrecord'),
+    //   name: 'customerrecord',
+    //   meta: {
+    //     title: 'customerrecord',
+    //     shortcutEntrance: 'warehouseManagementList',
+    //     module: 'warehouseManagement.warehouse.warehouseInfo',
+    //     permissicon: [],
+    //     keepAlive: true,
+    //     _title:'客户操作记录'
+    //     // module: 'procurement.sparepart.applDetail'
+    //   },
+    //   hidden:true
+    // },
+    // {
+    //   path: 'goodsrollIn',
+    //   component: () =>
+    //     import(/* webpackChunkName: "applDetail" */ '@/views/warehousenew/goodsrollIn'),
+    //   name: 'goodsrollIn',
+    //   meta: {
+    //     title: 'goodsrollIn',
+    //     shortcutEntrance: 'warehouseManagementList',
+    //     module: 'warehouseManagement.warehouse.warehouseInfo',
+    //     permissicon: [],
+    //     keepAlive: true,
+    //     _title:'货权转入'
+    //     // module: 'procurement.sparepart.applDetail'
+    //   },
+    //   hidden:true
+    // },
   ],
 };
 export default warehouseManagementRouter;

+ 282 - 0
src/views/warehousenew/customerrecord.vue

@@ -0,0 +1,282 @@
+//客户操作记录
+<template>
+  <div class="container">
+    <el-row class="row_top">
+      <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="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button></el-col>
+    </el-row>
+    <div class="center">
+      <el-row style='margin-bottom:10px;'>
+        <el-col :span="6">
+          <!-- <el-button style="margin-left:10px" @click="typeChange('')" type="primary">导出</el-button> -->
+        </el-col>
+        <el-col :span="18">
+          <div style='margin-left:10px;' class="datascreen">
+            <div style="display:inline-block;width:50;">
+              <el-date-picker value-format='yyyy-MM-dd' v-model="value" type="daterange" align="right" unlink-panels range-separator="至"
+              start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" class="data_css" @change="changeDate" >
+            </el-date-picker></div>
+            <el-input placeholder="可按业务编号、合同编号、客户查找" class="input_css" v-model="searchKeyWord"></el-input>
+            <el-button class="find" type="primary" @click="find()"><img width="16" height="16" style="left: -8px;"
+                src="../../../public/img/sousuo.png" alt="" /></el-button>
+          </div>
+        </el-col>
+      </el-row>
+      <div class="fromdata">
+        <el-table :data="tableData" stripe style="width: 100%" @selection-change="handleSelectionChange">
+          <el-table-column type="index" label="序号">
+            <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="relationReceiveNo" label="我司业务编号">
+          </el-table-column>
+          <el-table-column prop="transferOutNo" label="客户业务编号">
+          </el-table-column>
+          <el-table-column prop="outContractNo" label="客户销售合同编号"></el-table-column>
+          <el-table-column prop="customer" label="客户"></el-table-column>
+          <el-table-column width="200" prop="agent" label="期初粮款数据(元)">
+            <template scope="scope">
+              应付{{scope.row.amountIngPayable}}-已付{{scope.row.amountEdPayable}}=未付{{scope.row.amountNotPayable}}
+            </template>
+          </el-table-column>
+          <el-table-column width="120" prop="transferOutWeight" label="重量(吨)">
+          </el-table-column>
+          <el-table-column width="120" prop="salePrice" label="售价(元/吨)">
+          </el-table-column>
+          <el-table-column width="120" prop="updateDate" label="日期">
+          </el-table-column>
+          <el-table-column width="120" prop="status" label="状态">
+          </el-table-column>
+          <el-table-column width="120" label="操作">
+            <template scope="scope">
+              <el-button v-if="scope.row.status=='待接收'" @click="rejection(scope.row)" type="text">拒收</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        style="text-align:center" :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+<script>
+
+import {
+  getcusationinfo,
+  rejectcusationinfo
+} from '@/model/warehouse/index'
+  export default {
+    components: {},
+    data() {
+      return {
+        value: '',
+        tableData: [],
+        show:false,
+        deptBudgetTotal: 0,
+        currentPage: 1,
+        pageSize: 10,
+        agreementType:'',
+        deptCircularPage: {},
+        searchType:'',
+        searchKeyWord:'',
+        startDate:'',
+        endDate:'',
+        tableData:{},
+        datalist:{},
+        currectData:{},
+        compId:localStorage.getItem('ws-pf_compId'),
+        binNumbershow:false,
+      }
+    },
+    activated() {
+      this.getList()
+    },
+    methods: {
+      lookbinNumber(item){
+        this.currectData=item
+        this.binNumbershow=true
+      },
+      handleClose1(){
+        this.show=false
+      },
+      returnsales(){
+        this.$router.go(-1)
+      },
+      rejection(row){
+        this.$confirm('确定拒收该笔货权?', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          rejectcusationinfo({id:row.id}).toPromise().then((response) => {
+              this.$message.success('操作成功!')
+              // row.weightedit=false
+              this.getList()
+            })
+        })
+      },
+      async getList() {
+         var response=await getcusationinfo({
+            // warehouseType: 1,
+            startDate:this.startDate,
+            endDate:this.endDate,
+            searchKeyWord:this.searchKeyWord,
+            currentPage: this.currentPage,
+            pageSize:this.pageSize ,
+            compId:localStorage.getItem('ws-pf_compId'),
+          })
+          .toPromise()
+            this.tableData = response.records
+           this.deptBudgetTotal = response.total
+      },
+
+      changeDate(){
+        if(this.value){
+          this.startDate = this.value[0]
+          this.endDate = this.value[1]
+        }
+        this.getList()
+      },
+      pickerOptions() {},
+      find() {
+        this.getList()
+
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+ table,
+      table tr th,
+      table tr td {
+        border: 2px solid #333333;
+        padding: 5px 0;
+        height: 55px;
+      }
+
+      .content {
+        width: 1000px;
+        padding: 70px 20px 20px 20px;
+        font-size: 22px;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+      }
+
+      table {
+        width: 100%;
+        text-align: center;
+        border-collapse: collapse;
+        border: 3px solid #333333;
+      }
+
+      .col-bgc {
+        background: #f6f7fb;
+      }
+
+  .container {
+    background: #E8ECF6;
+  }
+
+  .center {
+    margin: 0 auto;
+    background: #ffffff;
+    height: calc(100vh - 13vh);
+    border-radius: 4px;
+    padding: 20px 0;
+
+    /deep/.el-table td,
+    /deep/.el-table th {
+      text-align: center;
+    }
+  }
+
+  .row_top {
+    background: #F6F7FC;
+    border-radius: 4px;
+    margin-bottom: 10px;
+
+    .bg-left {
+      padding-left: 30px;
+    }
+
+    .bg-right {
+      padding-right: 10px;
+      text-align: right;
+    }
+
+    .title {
+      position: relative;
+    }
+
+    .title::before {
+      content: '';
+      display: inline-block;
+      width: 5px;
+      height: 30px;
+      background: #5473e8;
+      position: absolute;
+      left: 0;
+    }
+  }
+
+  .datascreen {
+    display: flex;
+
+    .data_css {
+      width: 40%;
+    }
+
+    .input_css {
+      width: 50%;
+      margin: 0 10px;
+    }
+
+    .find {
+      margin-right: 10px;
+    }
+  }
+
+  .fromdata {
+    margin: 20px 0;
+    overflow-y: scroll;
+    height: 546px;
+  }
+  .top_info{
+    margin: 10px 0 0 10px;
+    min-width: 712px;
+    .info_css{
+      margin-right: 20px;
+    }
+  }
+  .bg-right{
+    padding-top:15px;
+  }
+  .el-icon-connection{
+    color:#409eff;
+  }
+  .flex{
+    display:flex;justify-content: space-between;
+  }
+</style>

+ 316 - 0
src/views/warehousenew/gooddetail.vue

@@ -0,0 +1,316 @@
+//货权明细
+<template>
+  <div class="container">
+    <div class="center">
+      <el-row style='margin-bottom:10px;'>
+        <el-col :span="6">
+          <!-- <el-button style="margin-left:10px" @click="typeChange('')" type="primary">导出</el-button> -->
+        </el-col>
+        <el-col :span="18">
+          <div style='margin-left:10px;' class="datascreen">
+            <div style="display:inline-block;width:50;">
+              <el-date-picker value-format='yyyy-MM-dd' v-model="value" type="daterange" align="right" unlink-panels range-separator="至"
+              start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" class="data_css" @change="changeDate" >
+            </el-date-picker></div>
+            <el-input placeholder="可按业务编号、合同编号、客户查找" class="input_css" v-model="searchKeyWord"></el-input>
+            <el-button class="find" type="primary" @click="find()"><img width="16" height="16" style="left: -8px;"
+                src="../../../public/img/sousuo.png" alt="" /></el-button>
+          </div>
+        </el-col>
+      </el-row>
+      <el-row style='margin-bottom:10px;'>
+        <el-col :span="18">
+          <el-button style="margin-left:10px" @click="typeChange('')" :type="searchType == ''?'primary':''">全部</el-button>
+          <el-button @click="typeChange(2)" :type="searchType == 2?'primary':''">转入</el-button>
+          <el-button @click="typeChange(1)" :type="searchType == 1?'primary':''">转出</el-button>
+        </el-col>
+        <el-col style="text-align:right;padding-right:10px;" :span="6">
+          <el-button @click="handlerecord" type="primary">客户操作记录</el-button>
+          <el-button @click="rollin" type="primary">货权转入</el-button>
+        </el-col>
+      </el-row>
+      <div class="fromdata">
+        <el-table :data="tableData" stripe style="width: 100%" @selection-change="handleSelectionChange">
+          <el-table-column type="index" label="序号">
+            <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="transferOutNo" label="业务编号">
+          </el-table-column>
+          <el-table-column prop="relationReceiveNo" label="关联业务编号">
+            <template scope="scope">
+              <span v-if="scope.row.transferFlag==1"></span>
+              <span v-if="scope.row.transferFlag==2">{{scope.row.relationReceiveNo}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="outContractNo" label="合同编号"></el-table-column>
+          <el-table-column prop="customer" label="客户">
+            <template scope="scope">
+              <span v-if="scope.row.transferFlag==1">{{scope.row.receiveCompName}}</span>
+              <span v-if="scope.row.transferFlag==2">{{scope.row.customer}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column width="120" prop="warehouseName" label="库点名称">
+          </el-table-column>
+           <el-table-column width="150" prop="settlementPrice" label="仓位">
+            <template scope="scope">
+              <el-button @click="lookbinNumber(scope.row)" type="text">查看</el-button>
+            </template>
+          </el-table-column>
+          <el-table-column width="120" prop="signingDate" label="类型">
+            <template scope="scope">
+
+             <span v-if="scope.row.transferFlag==1">转出</span>
+             <span v-if="scope.row.transferFlag==2">转入</span>
+            </template>
+          </el-table-column>
+          <el-table-column width="120" prop="agent" label="经办人">
+          </el-table-column>
+          <el-table-column width="200" prop="agent" label="期初粮款数据(元)">
+            <template scope="scope">
+              应付{{scope.row.amountIngPayable}}-已付{{scope.row.amountEdPayable}}=未付{{scope.row.amountNotPayable}}
+            </template>
+          </el-table-column>
+          <el-table-column width="120" prop="transferOutWeight" label="重量(吨)">
+          </el-table-column>
+          <el-table-column width="120" prop="avgCost" label="成本(元/吨)">
+            <template scope="scope">
+              <span v-if="scope.row.transferFlag==1">{{scope.row.salePrice}}</span>
+              <span v-if="scope.row.transferFlag==2">{{scope.row.avgCost}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column width="120" prop="updateDate" label="日期">
+          </el-table-column>
+        </el-table>
+      </div>
+      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        style="text-align:center" :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+      </el-pagination>
+      <el-dialog width='50%' :visible.sync="binNumbershow" :title="'仓位详情-'+(currectData.transferFlag==1?'转出':'')" top="20vh">
+        <div class="flex"><div>仓位号</div><div>重量(吨)</div></div>
+        <div class="flex" v-for="item in currectData.cargoPositionDetailsList">
+          <div>{{ item.binNumber }}</div>
+          <div>{{ item.weight }}</div>
+        </div>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+<script>
+
+import {
+  getroll
+} from '@/model/warehouse/index'
+  export default {
+    components: {},
+    data() {
+      return {
+        value: '',
+        tableData: [],
+        show:false,
+        deptBudgetTotal: 0,
+        currentPage: 1,
+        pageSize: 10,
+        agreementType:'',
+        deptCircularPage: {},
+        searchType:'',
+        searchKeyWord:'',
+        startDate:'',
+        endDate:'',
+        tableData:{},
+        datalist:{},
+        currectData:{},
+        compId:localStorage.getItem('ws-pf_compId'),
+        binNumbershow:false,
+      }
+    },
+    activated() {
+      this.getList()
+    },
+    methods: {
+      lookbinNumber(item){
+        this.currectData=item
+        this.binNumbershow=true
+      },
+      typeChange(num){
+        this.searchType=num
+        this.getList()
+      },
+      handleClose1(){
+        this.show=false
+      },
+      returnsales(){
+        this.$router.go(-1)
+      },
+      handleSelectionChange(val) {
+        this.multipleSelection = val;
+      },
+      handlerecord(){
+        this.$router.push({path:'customerrecord'})
+      },
+      rollin(){
+        this.$router.push({path:'goodsrollIn'})
+      },
+
+      async getList() {
+         var response=await getroll({
+            // warehouseType: 1,
+            startDate:this.startDate,
+            endDate:this.endDate,
+            searchKeyWord:this.searchKeyWord,
+            currentPage: this.currentPage,
+            pageSize:this.pageSize ,
+            searchType:this.searchType,
+            
+            dropFlag:0,
+            compId:localStorage.getItem('ws-pf_compId'),
+          })
+          .toPromise()
+            this.tableData = response.records
+           this.deptBudgetTotal = response.total
+      },
+
+      changeDate(){
+        if(this.value){
+          this.startDate = this.value[0]
+          this.endDate = this.value[1]
+        }
+        this.getList()
+      },
+      pickerOptions() {},
+      find() {
+        this.getList()
+
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+ table,
+      table tr th,
+      table tr td {
+        border: 2px solid #333333;
+        padding: 5px 0;
+        height: 55px;
+      }
+
+      .content {
+        width: 1000px;
+        padding: 70px 20px 20px 20px;
+        font-size: 22px;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+      }
+
+      table {
+        width: 100%;
+        text-align: center;
+        border-collapse: collapse;
+        border: 3px solid #333333;
+      }
+
+      .col-bgc {
+        background: #f6f7fb;
+      }
+
+  .container {
+    background: #E8ECF6;
+  }
+
+  .center {
+    margin: 0 auto;
+    background: #ffffff;
+    height: calc(100vh - 13vh);
+    border-radius: 4px;
+    padding: 20px 0;
+
+    /deep/.el-table td,
+    /deep/.el-table th {
+      text-align: center;
+    }
+  }
+
+  .row_top {
+    background: #F6F7FC;
+    border-radius: 4px;
+    margin-bottom: 10px;
+
+    .bg-left {
+      padding-left: 30px;
+    }
+
+    .bg-right {
+      padding-right: 10px;
+      text-align: right;
+    }
+
+    .title {
+      position: relative;
+    }
+
+    .title::before {
+      content: '';
+      display: inline-block;
+      width: 5px;
+      height: 30px;
+      background: #5473e8;
+      position: absolute;
+      left: 0;
+    }
+  }
+
+  .datascreen {
+    display: flex;
+
+    .data_css {
+      width: 40%;
+    }
+
+    .input_css {
+      width: 50%;
+      margin: 0 10px;
+    }
+
+    .find {
+      margin-right: 10px;
+    }
+  }
+
+  .fromdata {
+    margin: 20px 0;
+    overflow-y: scroll;
+    height: 546px;
+  }
+  .top_info{
+    margin: 10px 0 0 10px;
+    min-width: 712px;
+    .info_css{
+      margin-right: 20px;
+    }
+  }
+  .bg-right{
+    padding-top:15px;
+  }
+  .el-icon-connection{
+    color:#409eff;
+  }
+  .flex{
+    display:flex;justify-content: space-between;
+  }
+</style>

+ 457 - 0
src/views/warehousenew/goodsrollIn.vue

@@ -0,0 +1,457 @@
+//货权转入
+<template>
+  <div class="container">
+    <el-row class="row_top">
+      <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="returnsales()"><img width="6" height="10"
+            style="vertion-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button></el-col>
+    </el-row>
+    <div class="center">
+        <el-form ref="form" :model="form" label-width="200px">
+            <el-form-item label="关联货权转出记录">
+                <el-select @change="receiveNochange" v-model="form.relationReceiveNo" placeholder="选择关联货权">
+                    <el-option label="不关联" value="不关联"></el-option>
+                    <el-option v-for="item in cusationinfo" :key="item.id" :label="item.relationReceiveNo+('('+item.transferOutWeight+'吨)')" :value="item.relationReceiveNo"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="合同编号">
+                <el-select @change="contractNochange" v-model="form.outContractNo" placeholder="请选择合同编号">
+                <el-option v-for="item in contractNoList" :key="item.id" :label="item.contractNo" :value="item.contractNo"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="客户">
+                <el-input disabled placeholder="自动获取,不可编辑" v-model="form.customer"></el-input>
+            </el-form-item>
+            <el-form-item label="货名">
+                <el-select @change="goosnamechange" v-model="form.goodsName" placeholder="选择货名">
+                    <el-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue" :value="item.constValue"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="是否为货权赎回">
+                <el-radio-group v-model="form.redeemFlag">
+                    <el-radio label="0" >否</el-radio>
+                    <el-radio label="1" >是</el-radio>
+                </el-radio-group>
+            </el-form-item>
+            <el-form-item v-if="form.redeemFlag==1" label="待赎回合同">
+                <el-select v-model="form.redeemContractNo" placeholder="选择待赎回的合同">
+                    <el-option v-for="item in tableData" :key="item.id" :label="item.contractNo" :value="item.contractNo"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="平均成本(元/吨)">
+                <el-input v-model="form.avgCost" placeholder="输入平均成本"></el-input>
+            </el-form-item>
+            <el-form-item label="应付粮款(元)">
+                <el-input @input="amountinginput" v-model="form.amountIngPayable" placeholder="输入粮款金额"></el-input>
+            </el-form-item>
+            <el-form-item label="已付粮款(元)">
+                <el-input @input="amountedinput" v-model="form.amountEdPayable" placeholder="输入粮款金额"></el-input>
+            </el-form-item>
+            <el-form-item label="未付粮款(元)">
+                <el-input disabled v-model="form.amountNotPayable" placeholder="自动计算,不可编辑"></el-input>
+            </el-form-item>
+            <el-form-item label="库点">
+                <el-select @change="warehouseNamechange" v-model="form.warehouseName" placeholder="选择库点">
+                    <el-option  v-for="item in warehouseList" :key="item.id" :label="item.warehouseName" :value="item.warehouseName"></el-option>
+                </el-select>
+            </el-form-item>
+        </el-form>
+        <el-form :inline="true" label-width="200px" v-for="(item,index) in form.cargoPositionDetailsList" :key="'cangwe'+index" class="demo-form-inline">
+          <el-form-item :label="'仓位-'+(index+1)">
+            <el-select @focus="binNumberfocus" clearable filterable @change="($event)=>binNumberchange($event,item,index)" v-model="item.binNumber" placeholder="选择仓位">
+              <el-option v-for="item1 in binNumberList" :label="item1.binNumber" :value="item1.binNumber"></el-option>
+            </el-select>
+          </el-form-item> 
+          <el-form-item label="入库重量(吨)">
+            <el-input @input="weightinput" v-model="item.weight" placeholder="输入该仓位出库重量"></el-input>
+          </el-form-item>
+          <img width="22" height="22" class="add" @click="add" src="../../../public/img/add.png" alt="" />
+          <img width="22" height="22" class="del" @click="del(index)" src="../../../public/img/del.png" alt="" />
+        </el-form>
+        <el-form label-width="200px">
+            <el-form-item label="合计重量">
+                <el-input disabled v-model="form.transferOutWeight" placeholder="自动计算,不可编辑"></el-input>
+            </el-form-item>
+            <el-form-item>
+                <el-button type="primary" @click="onSubmit">提交</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+  </div>
+</template>
+<script>
+
+import {
+    getredeemedinfo,
+    getcusationinfo,
+    setrollin
+} from '@/model/warehouse/index'
+import {
+    packList,
+  } from '@/model/contarct/index'
+  import {
+    getwarehouse
+  } from '@/model/houseSelfCollect/index'
+import {xialaNo} from '@/model/tasksport/index'
+  export default {
+    components: {},
+    data() {
+      return {
+        cusationinfo:[],
+        tableData:[],
+        contractNoList:[],
+        goodnameList:[],
+        warehouseList:[],
+        binNumberList:[],
+        rollweight:0,
+        compId: localStorage.getItem('ws-pf_compId'),
+        form:{
+            relationReceiveNo:'不关联',
+            redeemFlag:'0',
+            cargoPositionDetailsList:[{binNumber:'',positionId:'',weight:'',goodsweight:''}],
+            compId: localStorage.getItem('ws-pf_compId')
+        }
+      }
+    },
+    activated() {
+      this.getList()
+    },
+    methods: {
+    amountinginput(e){
+        if(this.form.amountEdPayable){
+            this.form.amountNotPayable=e-this.form.amountEdPayable
+        }
+    },
+    amountedinput(e){
+        if(this.form.amountIngPayable){
+            this.form.amountNotPayable=this.form.amountIngPayable-e
+        }
+    },
+    del(index){
+        if(this.form.cargoPositionDetailsList.length>1){
+            this.form.cargoPositionDetailsList.splice(index,1)
+        }else{
+            this.$message.error('至少保留一条仓位!')
+        }
+        this.form.transferOutWeight=0
+        for (let i = 0; i < this.form.cargoPositionDetailsList.length; i++) {
+                if(this.form.cargoPositionDetailsList[i].weight){
+                this.form.transferOutWeight+=Number(this.form.cargoPositionDetailsList[i].weight)
+                }
+            }
+        this.form.transferOutWeight=this.form.transferOutWeight.toFixed(3)
+    },
+    add(){
+      this.form.cargoPositionDetailsList.push({binNumber:'',positionId:'',weight:'',goodsweight:''})
+      this.$forceUpdate()
+    },
+    onSubmit(){
+        if(!this.form.outContractNo){
+            this.$message.error('合同编号不能为空!')
+            return
+        }
+        if(!this.form.goodsName){
+            this.$message.error('货名不能为空!')
+            return
+        }
+        if(this.form.redeemFlag==1&&!this.form.redeemContractNo){
+            this.$message.error('待赎回合同不能为空!')
+            return
+        }
+        if(!this.form.avgCost){
+            this.$message.error('平均成本不能为空!')
+            return
+        }
+        if(!this.form.amountIngPayable&&this.form.amountIngPayable!=0){
+            this.$message.error('应付粮款不能为空!')
+            return
+        }
+        if(!this.form.amountEdPayable&&this.form.amountEdPayable!=0){
+            this.$message.error('已付粮款不能为空!')
+            return
+        }
+        if(!this.form.amountNotPayable&&this.form.amountNotPayable!=0){
+            this.$message.error('未付粮款不能为空!')
+            return
+        }
+        if(!this.form.warehouseName){
+            this.$message.error('库点不能为空!')
+            return
+        }
+            for (let i = 0; i < this.form.cargoPositionDetailsList.length; i++) {
+                if(!this.form.cargoPositionDetailsList[i].binNumber){
+                this.$message.error('仓位号不能为空!')
+                return
+                }
+                if(!this.form.cargoPositionDetailsList[i].weight){
+                this.$message.error('入库重量不能为空!')
+                return
+                }
+                if(this.form.cargoPositionDetailsList[i].weight<0||
+                String(this.form.cargoPositionDetailsList[i].weight).indexOf(".") != -1 && String(this.form.cargoPositionDetailsList[i].weight).split('.')[1].length > 3){
+                this.$message.error('入库重量输入错误!')
+                return
+                }
+                var binNumberdata=this.form.cargoPositionDetailsList.filter((item)=>{return item.binNumber==this.form.cargoPositionDetailsList[i].binNumber})
+                if(binNumberdata.length>1){
+                this.$message.error('仓位号不能重复!')
+                return
+                }
+            }
+            if(this.form.transferOutWeight!=this.form.transferOutWeight1&&this.form.relationReceiveNo!='不关联'){
+                this.$message.error('入库重量与出库重量不相等!')
+                return
+            }
+            this.$confirm('确定提交货权转移信息?', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning',
+            })
+                .then(() => {
+                    setrollin(this.form).toPromise()
+                    .then((response) => {
+                    this.$message.success('提交成功!')
+                    this.$router.go(-1)
+                    // row.weightedit=false
+                    this.getList()
+                    }).catch((req)=>{
+                    this.$message.error(req.message)
+                    })
+                })
+        },
+        returnsales(){
+        this.$router.go(-1)
+      },
+        binNumberchange(e,item,index){
+            for (let i = 0; i < this.binNumberList.length; i++) {
+                if(this.binNumberList[i].binNumber==e){
+                item.positionId=this.binNumberList[i].id
+                }
+            }
+        },
+        binNumberfocus(){
+            if(!this.form.warehouseName){
+                this.$message.error('请选择库点!')
+            }
+        },
+        async warehouseNamechange(e){
+            for (let i = 0; i < this.warehouseList.length; i++) {
+                this.form.baseId=this.warehouseList[i].id
+                if(this.form.warehouseName==this.warehouseList[i].warehouseName){
+                    console.log(this.warehouseList[i].positionInfos,111111)
+                    this.binNumberList = this.warehouseList[i].positionInfos
+                    this.$forceUpdate()
+                }
+            }
+        },
+        weightinput(e){
+            this.form.transferOutWeight=0
+            for (let i = 0; i < this.form.cargoPositionDetailsList.length; i++) {
+                if(this.form.cargoPositionDetailsList[i].weight){
+                this.form.transferOutWeight+=Number(this.form.cargoPositionDetailsList[i].weight)
+                }
+            }
+            this.form.transferOutWeight=this.form.transferOutWeight.toFixed(3)
+        },
+    contractNochange(e){
+        for (let i = 0; i < this.contractNoList.length; i++) {
+            if(this.contractNoList[i].contractNo==e&&this.form.relationReceiveNo=='不关联'){
+                this.$set(this.form,'customer',this.contractNoList[i].seller)
+            }
+            if(this.contractNoList[i].contractNo==e){
+              this.$set(this.form,'contractSeller',this.contractNoList[i].seller)
+                this.$set(this.form,'goodsName',this.contractNoList[i].goodsName)
+                this.$set(this.form,'goodsNameKey',this.contractNoList[i].goodsNameKey)
+                this.$set(this.form,'avgCost',this.contractNoList[i].unitContractPrice)
+            }
+        }
+    },
+    receiveNochange(e){
+        for (let i = 0; i < this.cusationinfo.length; i++) {
+            if(this.cusationinfo[i].relationReceiveNo==e){
+                this.$set(this.form,'customer',this.cusationinfo[i].customer)
+                this.$set(this.form,'transferOutWeight1',this.cusationinfo[i].transferOutWeight)
+                this.$set(this.form,'amountIngPayable',this.cusationinfo[i].amountIngPayable)
+                this.$set(this.form,'amountEdPayable',this.cusationinfo[i].amountEdPayable)
+                this.$set(this.form,'amountNotPayable',this.cusationinfo[i].amountNotPayable)
+            } 
+        }
+    },
+    goosnamechange(e){
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.form.goodsNameKey = this.goodnameList[i].constKey
+          }
+        }
+    },
+    async getList() {
+        var response=await getcusationinfo({
+            searchType:1,
+            currentPage: 1,
+            pageSize:9999,
+            compId:localStorage.getItem('ws-pf_compId'),
+          })
+          .toPromise()
+          this.cusationinfo=response.records
+          this.contractNoList=await xialaNo({compId: localStorage.getItem('ws-pf_compId'),flag: 0}).toPromise()
+          this.warehouseList=await getwarehouse({compId: this.compId}).toPromise()
+          // 货名
+          this.goodnameList =await packList({
+            constId: 'CON2',
+          })
+          .toPromise()
+         var response1=await getredeemedinfo({
+            dropFlag:1,
+            pageSize:9999 ,
+            currentPage: 1,
+            compId:localStorage.getItem('ws-pf_compId'),
+          })
+          .toPromise()
+            this.tableData = response1.records
+           this.deptBudgetTotal = response.total
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+ table,
+      table tr th,
+      table tr td {
+        border: 2px solid #333333;
+        padding: 5px 0;
+        height: 55px;
+      }
+
+      .content {
+        width: 1000px;
+        padding: 70px 20px 20px 20px;
+        font-size: 22px;
+        position: absolute;
+        top: 0;
+        bottom: 0;
+        left: 0;
+        right: 0;
+      }
+
+      table {
+        width: 100%;
+        text-align: center;
+        border-collapse: collapse;
+        border: 3px solid #333333;
+      }
+
+      .col-bgc {
+        background: #f6f7fb;
+      }
+
+  .container {
+    background: #E8ECF6;
+  }
+
+  .center {
+    margin: 0 auto;
+    background: #ffffff;
+    height: calc(100vh - 13vh);
+    border-radius: 4px;
+    padding: 20px 0;
+
+    /deep/.el-table td,
+    /deep/.el-table th {
+      text-align: center;
+    }
+  }
+
+  .row_top {
+    background: #F6F7FC;
+    border-radius: 4px;
+    margin-bottom: 10px;
+
+    .bg-left {
+      padding-left: 30px;
+    }
+
+    .bg-right {
+      padding-right: 10px;
+      text-align: right;
+    }
+
+    .title {
+      position: relative;
+    }
+
+    .title::before {
+      content: '';
+      display: inline-block;
+      width: 5px;
+      height: 30px;
+      background: #5473e8;
+      position: absolute;
+      left: 0;
+    }
+  }
+
+  .datascreen {
+    display: flex;
+
+    .data_css {
+      width: 40%;
+    }
+
+    .input_css {
+      width: 50%;
+      margin: 0 10px;
+    }
+
+    .find {
+      margin-right: 10px;
+    }
+  }
+
+  .fromdata {
+    margin: 20px 0;
+    overflow-y: scroll;
+    height: 546px;
+  }
+  .top_info{
+    margin: 10px 0 0 10px;
+    min-width: 712px;
+    .info_css{
+      margin-right: 20px;
+    }
+  }
+  .bg-right{
+    padding-top:15px;
+  }
+  .el-icon-connection{
+    color:#409eff;
+  }
+  .flex{
+    display:flex;justify-content: space-between;
+  }
+  .el-form{
+    width:50%;
+    margin:0 auto; 
+    position:relative;
+  }
+  /deep/.el-form .el-select{
+    width:100%;
+  }
+  /deep/.el-form.el-form--inline{
+    margin-bottom:18px;
+  }
+  /deep/.el-form.el-form--inline .el-form-item{
+      margin:0;
+}
+.add,.del{
+      position:absolute;
+      top:50%;
+      transform:translateY(-50%);
+      right:25px;
+    }
+    .del{
+      right:-2px;
+    }
+</style>

+ 34 - 11
src/views/warehousenew/warehousingOrder.vue

@@ -62,9 +62,9 @@
       <el-col style='text-align:right;' :span="12">
         <!-- <ws-button v-hasPermission="
             `warehouseManagement.warehousingOrder.yufu`" type="primary" @click="interestrate()" >{{interestratevalue.value}}利率</ws-button> -->
-        <ws-button  type="primary" @click="awatingransom()">待赎回</ws-button>
+        <!-- <ws-button  type="primary" @click="awatingransom()">待赎回</ws-button>
         <ws-button  type="primary" @click="editRollout()">修改赎回状态</ws-button>
-        <ws-button  type="primary" @click="goodrollOut()">货权转出</ws-button>
+        <ws-button  type="primary" @click="goodrollOut()">货权转出</ws-button> -->
         <ws-button  type="primary" @click="exportList()">导出</ws-button>
         <ws-button v-hasPermission="
         `warehouseManagement.warehousingOrder.yufu`" type="primary" @click="fieldrations()">折干</ws-button>
@@ -166,7 +166,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="outWarehouseWeight" width="80" class="table_td" label="出库重量"></el-table-column>
-        <el-table-column prop="transferOutWeight" width="200" class="table_td" label="转出">
+        <!-- <el-table-column prop="transferOutWeight" width="200" class="table_td" label="转出">
           <template scope="scope">
             <el-popover v-if="scope.row.transferOutWeight>0"
               placement="top-start"
@@ -177,7 +177,7 @@
             </el-popover>
             <span v-else>{{ scope.row.transferOutWeight }}</span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column prop="profitAndLoss" class="table_td" label="盈亏(吨)"></el-table-column>
         <el-table-column prop="surplusWeight" width="80" class="table_td" label="剩余重量"></el-table-column>
         <el-table-column prop="grainFund" width="80" class="table_td" label="粮款(元)"></el-table-column>
@@ -600,6 +600,7 @@
   </div>
 </template>
 <script>
+import { allRoles } from '@/utils/util'
 import {
   getoreditoutput,
   outdelete,
@@ -943,12 +944,12 @@ export default {
           return
         }
         if(this.rolloutData.cargoPositionDetailsList[i].weight>this.rolloutData.cargoPositionDetailsList[i].goodsweight){
-          this.$message.error('出库重量不能为空!')
+          this.$message.error('出库重量不能超过库存重量!')
           return
         }
         var binNumberdata=this.rolloutData.cargoPositionDetailsList.filter((item)=>{return item.binNumber==this.rolloutData.cargoPositionDetailsList[i].binNumber})
         if(binNumberdata.length>1){
-          this.$message.error('出库重量不能超过!')
+          this.$message.error('仓位号不能重复!')
           return
         }
       }
@@ -969,6 +970,21 @@ export default {
               this.$message.success('提交成功!')
               // row.weightedit=false
               this.getList()
+              this.rolloutData={
+                warehouseId:'',
+                warehouseName:'',
+                goodsName:'',
+                transferOutWeight:0,
+                amountEdPayable:0,
+                amountNotPayable:0,
+                amountIngPayable:0,
+                avgCost:0,
+                redeemFlag:'1',
+                systemIdentification:'1',
+                warehousingOrderList:[],
+                cargoPositionDetailsList:[{binNumber:'',positionId:'',weight:'',goodsweight:''}],
+                compId: localStorage.getItem('ws-pf_compId')
+              }
             }).catch((req)=>{
               this.$message.error(req.message)
             })
@@ -1572,6 +1588,13 @@ export default {
                 });
                 return
               }
+              if (this.multipleSelection1[item.id][i].transferOutWeight > 0) {
+                this.$message({
+                  message: '已转出的条目禁止请款!',
+                  type: 'warning'
+                });
+                return
+              }
               if (this.multipleSelection1[item.id][i].amountNotPayable > 0 && this.multipleSelection1[item.id][i].approveStatus 
               && this.multipleSelection1[item.id][i].approveStatus !='发起人撤回') {
                 this.$message({
@@ -1875,16 +1898,16 @@ export default {
       //   })
     },
     selectInit(row, index) {
-      if (localStorage.getItem('ws-pf_roleName') == '销售内勤' || localStorage.getItem('ws-pf_roleName') == '采购内勤'||localStorage.getItem('ws-pf_roleName').indexOf('专员')> -1) {
+      var role = allRoles()
+      if (role.roleName.indexOf('销售内勤') != -1 ||role.roleName.indexOf('采购内勤') != -1||role.roleName.indexOf('专员') != -1) {
         return true
-
       } else if (localStorage.getItem('ws-pf_staffName') == '杜大光') {
         return true
       } else if (localStorage.getItem('ws-pf_staffName') == '范占国') {
         return true
-      } else if (localStorage.getItem('ws-pf_roleName') == '财务') {
+      } else if (role.roleName.indexOf('财务') != -1) {
         return true
-      } else if (localStorage.getItem('ws-pf_roleName') == '出纳') {
+      } else if (role.roleName.indexOf('出纳') != -1) {
         return true
       }else if (localStorage.getItem('ws-pf_deptName') == '单证中心') {
         return true
@@ -2406,12 +2429,12 @@ export default {
                 data[q].inWarehouseWeight1 = Number((data[q].inWarehouseWeight).toFixed(3))
                 // data[q].surplusWeight = ((data[q].inWarehouseWeight) - data[q].outWarehouseWeight + data[q].profitAndLoss).toFixed(3)
               } else {
+                console.log( data[q].inWarehouseWeight.toFixed(3))
                 data[q].inWarehouseWeight1 = data[q].inWarehouseWeight.toFixed(3)
                 // data[q].surplusWeight =(data[q].inWarehouseWeight - data[q].outWarehouseWeight + data[q].profitAndLoss).toFixed(3)
               }
               data[q].avgCost = Number(data[q].avgCost).toFixed(2)
               data[q].amountMoney = Number(data[q].amountMoney).toFixed(4)
-              console.log(response.records[i].warehouseType)
               data[q].select = false
               data[q].weightedit = false
               data[q].edit = false