高敬炎 2 lat temu
rodzic
commit
3c72961794

+ 12 - 1
src/api/V2/speedGoods.js

@@ -5,5 +5,16 @@ const baseUrl = process.env.VUE_APP_API_NEWS
 // 极速版货名list
 export const API_GET_SPEEDGOODSLIST = `/speedGoodsInfo/selectInfo`
 export const API_GET_SPEEDGOODSADD = `/speedGoodsInfo/api/addInfo`
+// 货名
+export const api_speedGoodsList = `/speedGoodsInfo/selectInfo`
+export const api_speedGoodsAdd = `/speedGoodsInfo/api/addInfo`
+export const api_speedGoodsEdit = `/speedGoodsInfo/api/editInfo`
+export const api_speedGoodsDel = `/speedGoodsInfo/api/deleteInfo`
+
+//仓位
 export const api_speedPositionInfoList = `/speedPositionInfo/selectInfo`
-export const api_speedPositionInfoAdd = `/speedPositionInfo/api/addInfo`
+export const api_speedPositionInfoAdd = `/speedPositionInfo/api/addInfo `
+
+//客户
+export const api_speedCustomerInfoList = `/speedCustomerInfo/selectInfo`
+export const api_speedCustomerInfoAdd = `/speedCustomerInfo/api/addInfo `

+ 3 - 1
src/api/V2/warehouse/index.js

@@ -5,4 +5,6 @@ export const API_POST_DELINFO = '/speedWarehouseInOutInfo/api/deleteInfo'
 // 出入库列表
 export const API_GET_INFO = '/speedWarehouseInOutInfo/selectInfo'
 // 查看客户信息
-export const API_GET_CUSTOMERINFO = '/speedCustomerInfo/getInfo'
+export const API_GET_CUSTOMERINFO = '/speedCustomerInfo/getInfo'
+// 查看当天提交的条数
+export const API_GET_COUNT ='/speedWarehouseInOutInfo/selectInOutCount'

+ 25 - 4
src/components/balanceAlert.vue

@@ -16,13 +16,13 @@
     <div class="contentInfo confirmWeight">
       <div class="uncertain titleWeight">确认重量</div>
       <div class="number weight" v-if="information.indexOf('毛重') > -1">
-        {{ grossWeightVal }} kg
+        {{ grossWeightVal1 }} kg
       </div>
-      <div class="number weight" v-else>{{ tareVal }} kg</div>
+      <div class="number weight" v-else>{{ tareVal1 }} kg</div>
     </div>
     <div class="confirmInfo">
       <div class="car-type">车牌号</div>
-      <div class="car-no"></div>
+      <div class="car-no">{{ deptBudgetList.carNumber }}</div>
     </div>
     <div class="btn" @click="sendVal">确定</div>
   </div>
@@ -37,7 +37,10 @@ export default {
       param: 9600,
       grossWeightVal: '',
       tareVal: '',
-      radio:1
+      grossWeightVal1: '',
+      tareVal1: '',
+      radio:1,
+      carNumber:''
     }
   },
   activated() {},
@@ -50,6 +53,11 @@ export default {
   created() {},
   methods: {
     sendVal() {
+      if (this.information.indexOf('毛重') > -1) {
+      this.grossWeightVal1=this.grossWeightVal
+      }else{
+        this.tareVal1=this.tareVal
+      }
       console.log(this.grossWeightVal)
       console.log(this.tareVal)
       console.log(this.deptBudgetList)
@@ -417,4 +425,17 @@ export default {
           color: red;
         }
       }
+      .confirmInfo {
+        display: flex;
+        color: #2aff7c;
+        .car-type {
+          text-align: left;
+          width: 50%;
+        }
+
+        .car-no {
+          width: 50%;
+          text-align: right;
+        }
+      }
 </style>

+ 11 - 0
src/global.js

@@ -1,6 +1,9 @@
 import Vue from 'vue'
 const uploadPath = process.env.VUE_APP_BASE_API + '/appendix/admin'
 import store from '@/vendors/vuex'
+import {
+    getcount
+  } from '@/model/warehouse/index'
 // import router from './router'
 // 2.新创建一个vue实例
 const v = new Vue()
@@ -13,6 +16,14 @@ export default {
     setWs: function(newWs) {
         this.ws = newWs
     },
+    async getNum(status){
+        var date = new Date()
+        var num=await getcount({compId:this.compId,noFlag:status}).toPromise()
+         num=('0000'+(num+1)).substr(-4)
+        console.log(num)
+        return status+date.getFullYear()+(date.getMonth()+1>=10?date.getMonth()+1:'0'+(date.getMonth()+1))+(date.getDate()>10?date.getDate():date.getDate())+num
+        
+    },
     whetherWebSocket: function(type) {
         var that = this
         if ('WebSocket' in window) {

+ 1 - 0
src/main.js

@@ -38,6 +38,7 @@ import axios from 'axios';
 Vue.prototype.$axios = axios;
 import global from './global.js'
 Vue.prototype.global = global
+Vue.prototype.$global = global
 import ItemWrap from './components/item-wrap/item-wrap.vue'
 Vue.component('ItemWrap', ItemWrap)
 import Echart from './components/echart/index.vue'

+ 10 - 4
src/model/speedGoods.js

@@ -1,13 +1,19 @@
 
-import { API_GET_SPEEDGOODSLIST,API_GET_SPEEDGOODSADD,api_speedPositionInfoList,api_speedPositionInfoAdd } from '@/api/V2/speedGoods'
+import { api_speedGoodsList,api_speedGoodsAdd,api_speedPositionInfoList,api_speedPositionInfoAdd,api_speedCustomerInfoList ,api_speedCustomerInfoAdd,api_speedGoodsEdit,api_speedGoodsDel} from '@/api/V2/speedGoods'
 import { errorCatcher, errorHandle, filter } from 'base-core-lib'
 import { appRx } from './defalutConfig/indexRx'
 
-export const speedGoodsList = appRx.get(API_GET_SPEEDGOODSLIST, errorCatcher, errorHandle, filter)
-export const speedGoodsAdd = appRx.post(API_GET_SPEEDGOODSADD, errorCatcher, errorHandle, filter)
-
+// 货名
+export const speedGoodsList = appRx.get(api_speedGoodsList, errorCatcher, errorHandle, filter)
+export const speedGoodsAdd = appRx.post(api_speedGoodsAdd, errorCatcher, errorHandle, filter)
+export const speedGoodsEdit = appRx.post(api_speedGoodsEdit, errorCatcher, errorHandle, filter)
+export const speedGoodsDel = appRx.post(api_speedGoodsDel, errorCatcher, errorHandle, filter)
 
+//仓位
 export const speedPositionInfoList = appRx.get(api_speedPositionInfoList, errorCatcher, errorHandle, filter)
 export const speedPositionInfoAdd = appRx.post(api_speedPositionInfoAdd, errorCatcher, errorHandle, filter)
 
+//客户
+export const speedCustomerInfoList = appRx.get(api_speedCustomerInfoList, errorCatcher, errorHandle, filter)
+export const speedCustomerInfoAdd = appRx.post(api_speedCustomerInfoAdd, errorCatcher, errorHandle, filter)
 

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

@@ -4,7 +4,8 @@ import {
     API_POST_ADDINFO,
     API_POST_DELINFO,
     API_GET_INFO,
-    API_GET_CUSTOMERINFO
+    API_GET_CUSTOMERINFO,
+    API_GET_COUNT
 } from '@/api/V2/warehouse'
 // 添加出入库
 export const addList = appRx.post(API_POST_ADDINFO, errorCatcher, errorHandle, filter)
@@ -13,4 +14,6 @@ export const delList = appRx.post(API_POST_DELINFO, errorCatcher, errorHandle, f
 // 出入库列表
 export const getList = appRx.get(API_GET_INFO, errorCatcher, errorHandle, filter)
 // 查看客户信息
-export const getcustomer = appRx.get(API_GET_CUSTOMERINFO, errorCatcher, errorHandle, filter)
+export const getcustomer = appRx.get(API_GET_CUSTOMERINFO, errorCatcher, errorHandle, filter)
+// 查当天提交的条数
+export const getcount = appRx.get(API_GET_COUNT, errorCatcher, errorHandle, filter)

+ 4 - 4
src/store/modules/user.js

@@ -107,7 +107,6 @@ const mutations = {
 
 const actions = {
     async login({ commit, dispatch }, userInfo) {
-        console.log(login)
         const { username, password, domainName, companyName, status } = userInfo
         localStorage.setItem('ws-pf_pass', password)
         const data = await login({
@@ -137,9 +136,10 @@ const actions = {
         notification.setSessionId(userId) // 设置通知唯一标识
         notification.start() // 开始监听通知
             // 查询当前租户服务类型
-        await isLandBased().toPromise().then(response => {
-            localStorage.setItem('ws-pf_serviceTypeFlag', response)
-        })
+        // await isLandBased().toPromise().then(response => {
+        //     localStorage.setItem('ws-pf_serviceTypeFlag', response)
+        // })
+        console.log(companyInfo,111111111)
         const {
             organizationMonetaryKey,
             compName,

+ 255 - 53
src/views/boundManagement/outbound.vue

@@ -10,7 +10,16 @@
         <el-button class="bg-bottom" type="primary" size="small" @click="add()">新增</el-button>
       </el-col>
     </el-row>
+    <el-row class="row_top">
+      <el-col :span="8">
+        &nbsp;
+      </el-col>
+      <el-col :span="16" >
+        <div style="margin:10px 0;font-weight:600;font-size:16px;">业务编号:{{this.form.businessNo}}</div>
+      </el-col> 
+    </el-row>
     <div class="enterTextWrap">
+     
       <div class="flex-1">
         <div class="weign">
           <BalanceAlert ref="weightChild" :deptBudgetList="form" :information="information"
@@ -28,35 +37,36 @@
               <el-checkbox v-model="checked">手动编辑重量</el-checkbox>
             </div>
             <el-form-item label="毛重(公斤)">
-              <el-input :disabled="!checked" placeholder="输入毛重" v-model="form.grossWeight"></el-input>
-              <el-button type="text">获取</el-button>
+              <el-input @input="grossWeightInput" :disabled="!checked" placeholder="输入毛重" v-model="form.grossWeight"></el-input>
+              <el-button @click="gain(0)" type="text">获取</el-button>
             </el-form-item>
             <el-form-item label="皮重(公斤)">
-              <el-input :disabled="!checked" placeholder="输入皮重" v-model="form.tare"></el-input>
-              <el-button type="text">获取</el-button>
+              <el-input @input="tareInput" :disabled="!checked" placeholder="输入皮重" v-model="form.tare"></el-input>
+              <el-button @click="gain(1)" type="text">获取</el-button>
             </el-form-item>
             <el-form-item label="净重(公斤)">
               <el-input disabled placeholder="自动计算" v-model="form.netWeight"></el-input>
             </el-form-item>
             <div class="form-title">基本信息</div>
             <el-form-item label="客户姓名">
-              <el-select allow-create filterable clearable placeholder="输入客户姓名" v-model="form.customerName" >
-                <el-option label="区域一" value="shanghai"></el-option>
-                <el-option label="区域二" value="beijing"></el-option>
+              <el-select @change="customerChange" allow-create filterable clearable placeholder="输入客户姓名" v-model="form.customerName" >
+                <el-option v-for="item in customerOptions" :key="item.id" :label="item.customerName" :value="item.customerName"></el-option>
               </el-select>
             </el-form-item>
+            <el-form-item v-if="form.customerId" label="手机号">
+              <el-input placeholder="输入客户手机号" v-model="form.carNumber"></el-input>
+            </el-form-item>
             <el-form-item label="车牌号">
-              <el-input placeholder="输入毛重车牌号" v-model="form.carNumber"></el-input>
+              <el-input maxlength="8" placeholder="输入毛重车牌号" v-model="form.carNumber"></el-input>
             </el-form-item>
             <el-form-item label="仓位号">
-              <el-select filterable clearable placeholder="输入仓位号" v-model="form.positionNo" >
-                <el-option label="区域一" value="shanghai"></el-option>
-                <el-option label="区域二" value="beijing"></el-option>
+              <el-select filterable clearable @change="positionNoChange" placeholder="输入仓位号" v-model="form.positionId" >
+                <el-option v-for="item in positionOptions" :key="item.id" :label="item.positionNo" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
             <div class="form-title">定价信息</div>
             <el-form-item label="单价(元/吨)">
-              <el-input placeholder="输入单价" v-model="form.unitPrice"></el-input>
+              <el-input @input="unitPriceInput" placeholder="输入单价" v-model="form.unitPrice"></el-input>
             </el-form-item>
             <el-form-item label="粮款(元)">
               <el-input placeholder="自动计算" v-model="form.grainFund"></el-input>
@@ -67,8 +77,7 @@
           <el-form  ref="form" :model="form" label-position="left" label-width="120px">
             <el-form-item label="货名">
               <el-select filterable clearable placeholder="选择货名" v-model="form.goodsName" >
-                <el-option label="区域一" value="shanghai"></el-option>
-                <el-option label="区域二" value="beijing"></el-option>
+                <el-option v-for="item in goodOptions" :key="item.id" :label="item.goodsName" :value="item.goodsName"></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="容重(克/升)">
@@ -112,11 +121,11 @@
                 src="../../../public/img/sousuo.png" alt="" /></el-button>
         </el-col>
       </el-row>
-      <el-table :data="tableData" stripe style="width: 100%" >
+      <el-table :data="tableData" stripe style="width: 100%">
         <el-table-column  width="40">
           <template scope="scope">
-            <img v-if="!scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange1(index,scope.row,item)' src="../../../public/img/wxz.png" alt="">
-            <img v-if="scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange(index,scope.row,item)' src="../../../public/img/xz.png" alt="">
+            <img v-if="!scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange1(scope.row)' src="../../../public/img/wxz.png" alt="">
+            <img v-if="scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange(scope.row)' src="../../../public/img/xz.png" alt="">
           </template>
         </el-table-column>
         <el-table-column type="index" label="序号">
@@ -125,22 +134,27 @@
               <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="120" prop="settlementPrice" label="毛重(吨)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="皮重(吨)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="净重(吨)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="容重(克/升)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="水分(%)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="单价(元/吨)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="粮款(元)"></el-table-column>
-        <el-table-column width="120" prop="settlementPrice" label="付款状态"></el-table-column>
+        <el-table-column prop="createDate" label="日期"></el-table-column>
+        <el-table-column prop="positionNo" label="仓位"></el-table-column>
+        <el-table-column prop="carNumber" label="车牌号"></el-table-column>
+        <el-table-column prop="customerName" label="客户">
+          <template scope="scope">
+            <span v-if="scope.row.customerId">{{ scope.row.customerName }}</span>
+            <el-button v-else @click="lookCustomerName(scope.row)" type="text">{{ scope.row.customerName }}</el-button>
+          </template>
+        </el-table-column>
+        <el-table-column width="120" prop="goodsName" label="货名"></el-table-column>
+        <el-table-column width="120" prop="grossWeight" label="毛重(吨)"></el-table-column>
+        <el-table-column width="120" prop="tare" label="皮重(吨)"></el-table-column>
+        <el-table-column width="120" prop="netWeight" label="净重(吨)"></el-table-column>
+        <el-table-column width="120" prop="bulkDensity" label="容重(克/升)"></el-table-column>
+        <el-table-column width="120" prop="waterContent" label="水分(%)"></el-table-column>
+        <el-table-column width="120" prop="unitPrice" label="单价(元/吨)"></el-table-column>
+        <el-table-column width="120" prop="grainFund" label="粮款(元)"></el-table-column>
+        <el-table-column width="120" prop="status" label="付款状态"></el-table-column>
         <el-table-column prop="address" label="操作" width="200">
           <template slot-scope="scope">
-            <el-button type="text">删除</el-button>
+            <el-button @click="del(scope.row)" type="text">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -154,21 +168,21 @@
       :visible.sync="dialogVisible"
       width="30%"
       :before-close="handleClose">
-      <el-form ref="form" :model="form" label-width="80px">
+      <el-form ref="form" label-width="80px">
         <el-form-item label="姓名">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="手机号">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="银行卡号">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="开户行">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="开户支行">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -183,9 +197,17 @@
 import {
   addList,
   delList,
-  getList
+  getList,
+  getcustomer
 } from '@/model/warehouse/index'
 import BalanceAlert from '@/components/balanceAlert'
+import {
+  speedPositionInfoList,
+  speedGoodsList,
+  speedCustomerInfoList,
+} from '@/model/speedGoods'
+import * as global from '@/global'
+// import { threadId } from 'worker_threads';
 // import CenterMap from "./center-map.vue";
 export default {
   components: {
@@ -194,15 +216,27 @@ export default {
   data() {
     return {
       tableData:[],
-      form:{},
+      form:{
+        inOutFlag:2,
+        compId:localStorage.getItem('ws-pf_compId'),
+        goodsName:'玉米'
+      },
       information:'',
       checked:false,
       searchKeyWord:'',
+      compId:localStorage.getItem('ws-pf_compId'),
+      positionOptions:[],
+      goodOptions:[],
+      customerOptions:[],
+      startDate:'',
+      endDate:'',
+      searchKeyWord:'',
       currentPage:1,
       pageSize:10,
       value:[],
       deptBudgetTotal:0,
       dialogVisible:false,
+      customerData:{}
     };
   },
   filters: {
@@ -212,20 +246,90 @@ export default {
   },
   created() {
   },
-  mounted() {
-    getList().toPromise()
-
+  async mounted() {
+    // getList().toPromise()
+    var date = new Date()
+    var num=await global.default.getNum('CK')
+    console.log(num)
+    this.form.businessNo=num
+    speedPositionInfoList({compId:this.compId}).toPromise().then((res)=>{
+      this.positionOptions=res
+    })
+    speedGoodsList({compId:this.compId}).toPromise().then((res)=>{
+      if(res.length>0){
+        for (let i = 0; i < res.length; i++) {
+          if(res[i].setDefault!=0){
+            this.form.goodsName=res[i].goodsName
+          }
+        }
+      }
+      this.goodOptions=res
+    })
+    speedCustomerInfoList({compId:this.compId,pageSize:1,currentPage:9999}).toPromise().then((res)=>{
+      if(res.records.length>0){
+        this.form.customerId=res.records[0].id
+        this.form.customerName=res.records[0].customerName
+      }
+      this.customerOptions=res.records
+    })
+    this.getList()
   },
   beforeDestroy() {
  
     
   },
   methods: {
-    handleClose(){
-      this.dialogVisible=false
+    openPort() {
+      this.$refs.weightChild.openPort()
+    },
+    gain(status){
+      if(status==0){
+        this.information = '毛重'
+      }else{
+        this.information = '皮重'
+      }
+      this.openPort()
+    },
+    handleClose(){},
+    radiochange1(row){
+      row.select=!row.select
+      this.form=row
+    },
+    radiochange(row){
+      row.select=!row.select
+      this.form={
+        inOutFlag:2,
+        compId:localStorage.getItem('ws-pf_compId'),
+      }
+    },
+    unitPriceInput(e){
+      if(this.form.netWeight){
+        this.form.grainFund=e*this.form.netWeight
+      }
+    },
+    lookCustomerName(){
+      getcustomer({}).toPromise().then((res)=>{
+      this.customerData=res
+    })
+    },
+    positionNoChange(e){
+      for (let i = 0; i < this.positionOptions.length; i++) {
+        if(this.positionOptions[i].id==e){
+          this.form.positionNo=this.positionOptions[i].positionNo
+        }
+      }
+    },
+    customerChange(e){
+      for (let i = 0; i < this.customerOptions.length; i++) {
+        if(this.customerOptions[i].id==e){
+          this.form.customerName=this.customerOptions[i].customerName
+        }
+      }
+    },
+    grossWeightInput(e){
+      if(this.form.tare) this.form.netWeight=e-this.form.tare
     },
-    radiochange1(){},
-    radiochange(){},
+    tareInput(e){if(this.form.grossWeight) this.form.netWeight=this.form.grossWeight-e},
     changeDate(){
       if(this.value){
         this.startDate = this.value[0]
@@ -236,6 +340,17 @@ export default {
       }
       this.getList()
     },
+    getList(){
+      getList({compId:this.compId,startDate:this.startDate,endDate:this.endDate,pageSize:this.pageSize,currentPage:this.currentPage,searchType:2}).toPromise().then((res)=>{
+        if(res.records.length>0){
+          for (let i = 0; i < res.records.length; i++) {
+            res.records[i].select=false
+          }
+        }
+        this.tableData=res.records
+        this.deptBudgetTotal=res.total
+      })
+    },
     setVal(data) {
       if (this.information == '毛重') {
         this.form.grossWeight = data
@@ -244,10 +359,95 @@ export default {
       }
     },
     add(){
-      this.form={}
+      this.form={inOutFlag:2,
+        compId:localStorage.getItem('ws-pf_compId'),}
     },
     save(){
-      addList().toPromise()
+      if(this.form.grossWeight&&this.form.grossWeight<0||typeof Number(this.form.grossWeight) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '毛重输入错误!'
+        });
+      }
+      if(this.form.tare&&this.form.tare<0||typeof Number(this.form.tare) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '皮重输入错误!'
+        });
+      }
+      if(this.form.netWeight&&this.form.netWeight<0||typeof Number(this.form.netWeight) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '净重输入错误!'
+        });
+      }
+      if(this.form.unitPrice&&this.form.unitPrice<0||typeof Number(this.form.unitPrice) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '单价输入错误!'
+        });
+      }
+      if(this.form.grainFund&&this.form.grainFund<0||typeof Number(this.form.grainFund) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '粮款输入错误!'
+        });
+      }
+      if(this.form.bulkDensity&&this.form.bulkDensity<0||typeof Number(this.form.bulkDensity) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '容重输入错误!'
+        });
+      }
+      if(this.form.waterContent&&this.form.waterContent<0||typeof Number(this.form.waterContent) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '水分输入错误!'
+        });
+      }
+      if(this.form.protein&&this.form.protein<0||typeof Number(this.form.protein) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '蛋白输入错误!'
+        });
+      }
+      if(this.form.impurity&&this.form.impurity<0||typeof Number(this.form.impurity) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '杂质输入错误!'
+        });
+      }
+      if(this.form.mildewGrain&&this.form.mildewGrain<0||typeof Number(this.form.mildewGrain) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '霉变粒输入错误!'
+        });
+      }
+      if(this.form.jiaorenli&&this.form.jiaorenli<0||typeof Number(this.form.jiaorenli) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '热损伤输入错误!'
+        });
+      }
+      if(this.form.imperfectGrain&&this.form.imperfectGrain<0||typeof Number(this.form.imperfectGrain) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '不完善粒输入错误!'
+        });
+      }
+      addList(this.form).toPromise().then((res)=>{
+        this.$message({
+          type: 'success',
+          message: '保存成功!'
+        });
+        this.add()
+        this.getList()
+      }).catch((req) => {
+        this.$message({
+          type: 'error',
+          message: req.message
+        });          
+      });
     },
     del(row){
       this.$confirm('确定删除入库记录?', '提示', {
@@ -255,11 +455,13 @@ export default {
           cancelButtonText: '取消',
           type: 'warning'
         }).then(() => {
-          delList().toPromise()
-          this.$message({
-            type: 'success',
-            message: '删除成功!'
-          });
+          delList({id:row.id}).toPromise().then((res)=>{
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
+            });
+          })
+          
         }).catch(() => {
           this.$message({
             type: 'info',

+ 45 - 33
src/views/customer/customer.vue

@@ -9,18 +9,18 @@
         <el-button type="primary" size="small" @click="add()">添加</el-button>
       </div>
     </div>
-    <el-table ref="singleTable" :data="tableData" highlight-current-row style="width: 100%" class="table">
+    <el-table ref="singleTable" :data="speedCustomerInfoList" highlight-current-row style="width: 100%" class="table">
       <el-table-column type="index" width="50">
       </el-table-column>
-      <el-table-column property="date" label="姓名" width="120">
+      <el-table-column property="customerName" label="姓名" width="120">
       </el-table-column>
-      <el-table-column property="name" label="手机号" width="120">
+      <el-table-column property="customerPhone" label="手机号" width="120">
       </el-table-column>
-      <el-table-column property="address" label="银行卡号">
+      <el-table-column property="bankCard" label="银行卡号">
       </el-table-column>
-      <el-table-column property="address" label="开户行">
+      <el-table-column property="bankDeposit" label="开户行">
       </el-table-column>
-      <el-table-column property="address" label="开户支行">
+      <el-table-column property="bankDepositBranch" label="开户支行">
       </el-table-column>
       <el-table-column prop="address" label="操作" show-overflow-tooltip>
         <template scope="scope">
@@ -37,19 +37,19 @@
     <el-dialog width="320px" title="客户" :visible.sync="isShowInventory" :append-to-body="true" :close="inventoryClose">
       <el-form class="customer" label-position="right" label-width="80px">
         <el-form-item class="customer-item" label="姓名">
-          <el-input disabled placeholder="请输入身份证号" maxlength="100" size="small" />
+          <el-input placeholder="请输入姓名" maxlength="100" size="small"  v-model="dataObj.customerName"/>
         </el-form-item>
         <el-form-item class="customer-item" label="手机号">
-          <el-input disabled placeholder="请输入身份证号" maxlength="100" size="small" />
+          <el-input placeholder="请输入手机号" maxlength="100" size="small" v-model="dataObj.customerPhone"/>
         </el-form-item>
         <el-form-item class="customer-item" label="银行卡号">
-          <el-input disabled placeholder="请输入身份证号" maxlength="100" size="small" />
+          <el-input placeholder="请输入银行卡号" maxlength="100" size="small"  v-model="dataObj.bankCard"/>
         </el-form-item>
         <el-form-item class="customer-item" label="开户行">
-          <el-input disabled placeholder="请输入身份证号" maxlength="100" size="small" />
+          <el-input placeholder="请输入开户行" maxlength="100" size="small"  v-model="dataObj.bankDeposit"/>
         </el-form-item>
         <el-form-item class="customer-item" label="开户支行">
-          <el-input disabled placeholder="请输入身份证号" maxlength="100" size="small" />
+          <el-input placeholder="请输入开户支行" maxlength="100" size="small"  v-model="dataObj.bankDepositBranch"/>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -62,41 +62,28 @@
 
 <script>
 import {
-  gChartsData,
-} from '@/model/home/index'
-// import CenterMap from "./center-map.vue";
+  speedCustomerInfoList,
+  speedCustomerInfoAdd
+} from '@/model/speedGoods'
 export default {
   components: {
   },
   data() {
     return {
+      dataObj:{
+        compId: localStorage.getItem('ws-pf_compId')
+      },
       deptCircularPage: {},
       deptBudgetTotal: 0,
       currentPage: 1,
       pageSize: 10,
-      tableData: [{
-        date: '2016-05-02',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1518 弄'
-      }, {
-        date: '2016-05-04',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1517 弄'
-      }, {
-        date: '2016-05-01',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1519 弄'
-      }, {
-        date: '2016-05-03',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1516 弄'
-      }],
-      currentRow: null,
+      speedCustomerInfoList: [],
       searchKeyWord: '',
       isShowInventory: false,
     };
   },
   created() {
+    this.getList()
   },
   mounted() {
 
@@ -107,6 +94,20 @@ export default {
 
   },
   methods: {
+    getList() {
+      speedCustomerInfoList({
+        compId: localStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            searchKeyWord: this.searchKeyWord,
+      })
+        .toPromise()
+        .then((response) => {
+          console.log(response)
+          this.deptBudgetTotal = response.total
+          this.speedCustomerInfoList = response.records
+        })
+    },
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`)
       this.pageSize = val
@@ -135,7 +136,18 @@ export default {
     add() {
       this.isShowInventory = true
     },
-    customerConfirm() { }
+    customerConfirm() { 
+      speedCustomerInfoAdd(this.dataObj)
+        .toPromise()
+        .then((response) => {
+          console.log(response)
+          if(response.code=="200"){
+            this.$message.success('提交成功!')
+            this.isShowInventory = false
+            this.getList()
+          }
+        })
+    }
   },
 };
 </script>

+ 33 - 9
src/views/setup/goodsSettings.vue

@@ -25,10 +25,7 @@
         </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>
-    <el-dialog width="320px" :title="goodSNameTitle" :visible.sync="show" :append-to-body="true" :close="inventoryClose">
+    <el-dialog width="320px" :title="goodsNameTitle" :visible.sync="show" :append-to-body="true" :close="inventoryClose">
       <el-form class="goodsName" label-position="right" label-width="80px">
         <el-form-item class="customer-item" label="货名">
           <el-input placeholder="请输入货名" maxlength="100" size="small" v-model="dataObj.goodsName" />
@@ -44,16 +41,18 @@
 <script>
 import {
   speedGoodsList,
-  speedGoodsAdd
+  speedGoodsAdd,
+  speedGoodsEdit
 } from '@/model/speedGoods'
 export default {
   components: {
   },
   data() {
     return {
-      goodSNameTitle:'新增',
+      goodsNameTitle:'新增',
       dataObj: {
-        compId: localStorage.getItem('ws-pf_compId')
+        compId: localStorage.getItem('ws-pf_compId'),
+        goodsName:''
       },
       deptCircularPage: {},
       deptBudgetTotal: 0,
@@ -108,23 +107,48 @@ export default {
     add() {
       this.show = true
     },
-    eidt() { },
+    edit(val) {
+      console.log(val)
+      this.goodsNameTitle = "编辑"
+      this.dataObj = val
+      this.show = true
+     },
     del(val) {
       this.$confirm('确定删除货名?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
+
+        
       }).catch(() => {
         return false
       });
     },
     goodsNameConfirm() {
-      speedGoodsAdd(this.dataObj)
+      if(this.goodsNameTitle=='新增'){
+        speedGoodsAdd(this.dataObj)
+        .toPromise()
+        .then((response) => {
+          if(response.code=="200"){
+            this.show = false
+            this.getList()
+          }
+          console.log(response)
+        })
+      }else{
+        speedGoodsEdit(this.dataObj)
         .toPromise()
         .then((response) => {debugger
+          if(response=="ok"){
+            this.show = false
+            this.$message.success('操作成功!')
+            this.getList()
+          }
           console.log(response)
         })
+      }
+
     }
   },
 };

+ 179 - 19
src/views/warehousing/index.vue

@@ -10,7 +10,16 @@
         <el-button class="bg-bottom" type="primary" size="small" @click="add()">新增</el-button>
       </el-col>
     </el-row>
+    <el-row class="row_top">
+      <el-col :span="8">
+        &nbsp;
+      </el-col>
+      <el-col :span="16" >
+        <div style="margin:10px 0;font-weight:600;font-size:16px;">业务编号:{{this.form.businessNo}}</div>
+      </el-col> 
+    </el-row>
     <div class="enterTextWrap">
+     
       <div class="flex-1">
         <div class="weign">
           <BalanceAlert ref="weightChild" :deptBudgetList="form" :information="information"
@@ -29,24 +38,26 @@
             </div>
             <el-form-item label="毛重(公斤)">
               <el-input @input="grossWeightInput" :disabled="!checked" placeholder="输入毛重" v-model="form.grossWeight"></el-input>
-              <el-button type="text">获取</el-button>
+              <el-button @click="gain(0)" type="text">获取</el-button>
             </el-form-item>
             <el-form-item label="皮重(公斤)">
               <el-input @input="tareInput" :disabled="!checked" placeholder="输入皮重" v-model="form.tare"></el-input>
-              <el-button type="text">获取</el-button>
+              <el-button @click="gain(1)" type="text">获取</el-button>
             </el-form-item>
             <el-form-item label="净重(公斤)">
               <el-input disabled placeholder="自动计算" v-model="form.netWeight"></el-input>
             </el-form-item>
             <div class="form-title">基本信息</div>
             <el-form-item label="客户姓名">
-              <el-select allow-create filterable clearable placeholder="输入客户姓名" v-model="form.customerName" >
-                <el-option label="区域一" value="shanghai"></el-option>
-                <el-option label="区域二" value="beijing"></el-option>
+              <el-select @change="customerChange" allow-create filterable clearable placeholder="输入客户姓名" v-model="form.customerName" >
+                <el-option v-for="item in customerOptions" :key="item.id" :label="item.customerName+'('+item.customerPhone+')'" :value="item.customerName"></el-option>
               </el-select>
             </el-form-item>
+            <el-form-item v-if="form.customerId" label="手机号">
+              <el-input placeholder="输入客户手机号" v-model="form.carNumber"></el-input>
+            </el-form-item>
             <el-form-item label="车牌号">
-              <el-input placeholder="输入毛重车牌号" v-model="form.carNumber"></el-input>
+              <el-input maxlength="8" placeholder="输入毛重车牌号" v-model="form.carNumber"></el-input>
             </el-form-item>
             <el-form-item label="仓位号">
               <el-select filterable clearable @change="positionNoChange" placeholder="输入仓位号" v-model="form.positionId" >
@@ -55,7 +66,7 @@
             </el-form-item>
             <div class="form-title">定价信息</div>
             <el-form-item label="单价(元/吨)">
-              <el-input placeholder="输入单价" v-model="form.unitPrice"></el-input>
+              <el-input @input="unitPriceInput" placeholder="输入单价" v-model="form.unitPrice"></el-input>
             </el-form-item>
             <el-form-item label="粮款(元)">
               <el-input placeholder="自动计算" v-model="form.grainFund"></el-input>
@@ -110,11 +121,11 @@
                 src="../../../public/img/sousuo.png" alt="" /></el-button>
         </el-col>
       </el-row>
-      <el-table :data="tableData" stripe style="width: 100%" @selection-change="handleSelectionChange">
+      <el-table :data="tableData" stripe style="width: 100%">
         <el-table-column  width="40">
           <template scope="scope">
-            <img v-if="!scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange1(index,scope.row,item)' src="../../../public/img/wxz.png" alt="">
-            <img v-if="scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange(index,scope.row,item)' src="../../../public/img/xz.png" alt="">
+            <img v-if="!scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange1(scope.row)' src="../../../public/img/wxz.png" alt="">
+            <img v-if="scope.row.select" style='width:15px;vertical-align: text-top;' @click='radiochange(scope.row)' src="../../../public/img/xz.png" alt="">
           </template>
         </el-table-column>
         <el-table-column type="index" label="序号">
@@ -157,21 +168,21 @@
       :visible.sync="dialogVisible"
       width="30%"
       :before-close="handleClose">
-      <el-form ref="form" :model="client" label-width="80px">
+      <el-form ref="form" label-width="80px">
         <el-form-item label="姓名">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="手机号">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="银行卡号">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="开户行">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
         <el-form-item label="开户支行">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="customerData.name"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -193,7 +204,9 @@ import BalanceAlert from '@/components/balanceAlert'
 import {
   speedPositionInfoList,
   speedGoodsList,
+  speedCustomerInfoList,
 } from '@/model/speedGoods'
+import * as global from '@/global'
 // import { threadId } from 'worker_threads';
 // import CenterMap from "./center-map.vue";
 export default {
@@ -206,6 +219,7 @@ export default {
       form:{
         inOutFlag:1,
         compId:localStorage.getItem('ws-pf_compId'),
+        goodsName:'玉米'
       },
       information:'',
       checked:false,
@@ -213,6 +227,7 @@ export default {
       compId:localStorage.getItem('ws-pf_compId'),
       positionOptions:[],
       goodOptions:[],
+      customerOptions:[],
       startDate:'',
       endDate:'',
       searchKeyWord:'',
@@ -231,14 +246,32 @@ export default {
   },
   created() {
   },
-  mounted() {
+  async mounted() {
     // getList().toPromise()
+    var date = new Date()
+    var num=await global.default.getNum('RK')
+    console.log(num)
+    this.form.businessNo=num
     speedPositionInfoList({compId:this.compId}).toPromise().then((res)=>{
       this.positionOptions=res
     })
     speedGoodsList({compId:this.compId}).toPromise().then((res)=>{
+      if(res.length>0){
+        for (let i = 0; i < res.length; i++) {
+          if(res[i].setDefault!=0){
+            this.form.goodsName=res[i].goodsName
+          }
+        }
+      }
       this.goodOptions=res
     })
+    speedCustomerInfoList({compId:this.compId,pageSize:1,currentPage:9999}).toPromise().then((res)=>{
+      if(res.records.length>0){
+        this.form.customerId=res.records[0].id
+        this.form.customerName=res.records[0].customerName
+      }
+      this.customerOptions=res.records
+    })
     this.getList()
   },
   beforeDestroy() {
@@ -246,6 +279,34 @@ export default {
     
   },
   methods: {
+    openPort() {
+      this.$refs.weightChild.openPort()
+    },
+    gain(status){
+      if(status==0){
+        this.information = '毛重'
+      }else{
+        this.information = '皮重'
+      }
+      this.openPort()
+    },
+    handleClose(){},
+    radiochange1(row){
+      row.select=!row.select
+      this.form=row
+    },
+    radiochange(row){
+      row.select=!row.select
+      this.form={
+        inOutFlag:1,
+        compId:localStorage.getItem('ws-pf_compId'),
+      }
+    },
+    unitPriceInput(e){
+      if(this.form.netWeight){
+        this.form.grainFund=e*this.form.netWeight
+      }
+    },
     lookCustomerName(){
       getcustomer({}).toPromise().then((res)=>{
       this.customerData=res
@@ -258,6 +319,15 @@ export default {
         }
       }
     },
+    customerChange(e){
+      for (let i = 0; i < this.customerOptions.length; i++) {
+        if(this.customerOptions[i].customerName==e){
+          this.form.customerId=this.customerOptions[i].id
+          console.log(this.form.customerId)
+        }
+      }
+      console.log(111111)
+    },
     grossWeightInput(e){
       if(this.form.tare) this.form.netWeight=e-this.form.tare
     },
@@ -273,7 +343,12 @@ export default {
       this.getList()
     },
     getList(){
-      getList({compId:this.compId,startDate:this.startDate,endDate:this.endDate,pageSize:this.pageSize,currentPage:this.currentPage}).toPromise().then((res)=>{
+      getList({compId:this.compId,startDate:this.startDate,endDate:this.endDate,pageSize:this.pageSize,currentPage:this.currentPage,searchType:1}).toPromise().then((res)=>{
+        if(res.records.length>0){
+          for (let i = 0; i < res.records.length; i++) {
+            res.records[i].select=false
+          }
+        }
         this.tableData=res.records
         this.deptBudgetTotal=res.total
       })
@@ -290,7 +365,92 @@ export default {
         compId:localStorage.getItem('ws-pf_compId'),}
     },
     save(){
-      addList(this.form).toPromise()
+      if(this.form.grossWeight&&this.form.grossWeight<0||typeof Number(this.form.grossWeight) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '毛重输入错误!'
+        });
+      }
+      if(this.form.tare&&this.form.tare<0||typeof Number(this.form.tare) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '皮重输入错误!'
+        });
+      }
+      if(this.form.netWeight&&this.form.netWeight<0||typeof Number(this.form.netWeight) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '净重输入错误!'
+        });
+      }
+      if(this.form.unitPrice&&this.form.unitPrice<0||typeof Number(this.form.unitPrice) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '单价输入错误!'
+        });
+      }
+      if(this.form.grainFund&&this.form.grainFund<0||typeof Number(this.form.grainFund) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '粮款输入错误!'
+        });
+      }
+      if(this.form.bulkDensity&&this.form.bulkDensity<0||typeof Number(this.form.bulkDensity) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '容重输入错误!'
+        });
+      }
+      if(this.form.waterContent&&this.form.waterContent<0||typeof Number(this.form.waterContent) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '水分输入错误!'
+        });
+      }
+      if(this.form.protein&&this.form.protein<0||typeof Number(this.form.protein) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '蛋白输入错误!'
+        });
+      }
+      if(this.form.impurity&&this.form.impurity<0||typeof Number(this.form.impurity) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '杂质输入错误!'
+        });
+      }
+      if(this.form.mildewGrain&&this.form.mildewGrain<0||typeof Number(this.form.mildewGrain) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '霉变粒输入错误!'
+        });
+      }
+      if(this.form.jiaorenli&&this.form.jiaorenli<0||typeof Number(this.form.jiaorenli) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '热损伤输入错误!'
+        });
+      }
+      if(this.form.imperfectGrain&&this.form.imperfectGrain<0||typeof Number(this.form.imperfectGrain) === 'Number'){
+        this.$message({
+          type: 'error',
+          message: '不完善粒输入错误!'
+        });
+      }
+      addList(this.form).toPromise().then((res)=>{
+        this.$message({
+          type: 'success',
+          message: '保存成功!'
+        });
+        this.add()
+        this.getList()
+        console.log(1111)
+      }).catch((req) => {
+        this.$message({
+          type: 'error',
+          message: req.message
+        });          
+      });
     },
     del(row){
       this.$confirm('确定删除入库记录?', '提示', {