Просмотр исходного кода

贸易服务创建仓单选择货源

高敬炎 2 лет назад
Родитель
Сommit
06333b4153

+ 39 - 1
src/global/directive.js

@@ -24,6 +24,43 @@
 // })
 // 输入框只允许输入数字  v-number-input.float
 
+const enterToNext = {
+  install (Vue, options = {}) {
+    Vue.directive('enterToNext',{
+      inserted:function(el){
+        console.log(el)
+        console.log("enterToNext...")
+        //let frm = el.querySelector('.el-form');
+        let inputs = el.querySelectorAll('input');
+       
+        var arr=[]
+        for( var i = 0 ;i < inputs.length ; i++ ){
+          if(!inputs[i].disabled){
+            arr.push(inputs[i])
+          }
+        }
+        //绑定回写事件
+        for( var i = 0 ;i < arr.length ; i++ ){
+          arr[i].setAttribute("keyFocusIndex",i);
+          arr[i].addEventListener('keyup', (ev) => {
+            if (ev.keyCode === 13) {
+              let targetTo = ev.srcElement.getAttribute('keyFocusTo');
+              if(targetTo){
+                this.$refs[targetTo].$el.focus();
+              }else{
+                var attrIndex = ev.srcElement.getAttribute('keyFocusIndex');
+                var ctlI = parseInt(attrIndex);
+                if(ctlI<arr.length-1)
+                  arr[ctlI+1].focus();
+              }
+            }
+          });
+        }
+    
+      }
+    })
+  }
+}
 /**
  * 拖动
  */
@@ -204,5 +241,6 @@ export default {
   numberInput,
   loadmore,
   drag,
-  permissionCheck
+  permissionCheck,
+  enterToNext
 }

+ 4 - 1
src/global/index.js

@@ -2,7 +2,10 @@ import './prototypes'
 import directive from './directive'
 import Vue from 'vue'
 // import filters from '@/global/filters';
-Object.values(directive).forEach(value => Vue.use(value))
+Object.values(directive).forEach(value =>{
+    console.log(value)
+    Vue.use(value)
+} )
 // const install = () => {
 
 //   Object.keys(directive).forEach((key) => Vue.use(directive[key]));

+ 11 - 11
src/views/outboundManagement/weighingManagementNew.vue

@@ -69,7 +69,7 @@
                   <!-- </el-badge> -->
                 </el-button>
               </div>
-              <ws-form class="right-content">
+              <el-form class="right-content" v-enterToNext="true">
                 <div class="left1">
                   <div class="weightInfo">
                     <ws-info-table>
@@ -177,34 +177,34 @@
                         <el-button type="primary" @click="carNoTypeChange" v-if="carstatus">{{ carChange1 }}</el-button>
                       </ws-form-item>
                       
-                      <ws-form-item label="箱号-1" span="1" prop="boxNo" v-if="
+                      <ws-form-item label="箱号-1" span="1" prop="boxNo" v-show="
                       weighingList.outType == '汽运' ||
                       weighingList.outType == '集装箱船'||
                       weighingList.outType == '火运'
                     ">
-                        <ws-input v-model="weighingList.boxNo" placeholder="请输入箱号" maxlength="20" size="small" />
+                        <el-input v-model="weighingList.boxNo" placeholder="请输入箱号" maxlength="20" size="small" />
                       </ws-form-item>
-                      <ws-form-item label="封号-1" span="1" prop="titleNo" v-if="
+                      <ws-form-item label="封号-1" span="1" prop="titleNo" v-show="
                       weighingList.outType == '汽运' ||
                       weighingList.outType == '集装箱船'||
                       weighingList.outType == '火运'
                     ">
-                        <ws-input v-model="weighingList.titleNo" placeholder="请输入封号" maxlength="20" size="small" />
+                        <el-input v-model="weighingList.titleNo" placeholder="请输入封号" maxlength="20" size="small" />
                       </ws-form-item>
-                      <ws-form-item label="箱号-2" span="1" prop="boxNoOther" v-if="
+                      <ws-form-item label="箱号-2" span="1" prop="boxNoOther" v-show="
                       weighingList.outType == '汽运' ||
                       weighingList.outType == '集装箱船'||
                       weighingList.outType == '火运'
                     ">
-                        <ws-input v-model="weighingList.boxNoOther" placeholder="请输入箱号" maxlength="20" size="small" />
+                        <el-input v-model="weighingList.boxNoOther" placeholder="请输入箱号" maxlength="20" size="small" />
                       </ws-form-item>
 
-                      <ws-form-item label="封号-2" span="1" prop="titleNoOther" v-if="
+                      <ws-form-item label="封号-2" span="1" prop="titleNoOther" v-show="
                       weighingList.outType == '汽运' ||
                       weighingList.outType == '集装箱船'||
                       weighingList.outType == '火运'
                     ">
-                        <ws-input v-model="weighingList.titleNoOther" placeholder="请输入封号" maxlength="20" size="small" />
+                        <el-input v-model="weighingList.titleNoOther" placeholder="请输入封号" maxlength="20" size="small" />
                       </ws-form-item>
                       <!-- <ws-form-item label="车厢号-1" span="1" prop="wingNumber" v-if="weighingList.outType == '火运'">
                         <ws-input v-model="weighingList.wingNumber" placeholder="请输入车厢号" maxlength="20" size="small" />
@@ -289,7 +289,7 @@
                     <!-- </div> -->
                   </div>
                 </div>
-              </ws-form>
+              </el-form>
             </div>
           </el-col>
           <el-col :span="12">
@@ -775,7 +775,7 @@
         }
       }
       
-      window.addEventListener("keydown", this.enterCallback);
+      // window.addEventListener("keydown", this.enterCallback);
     })
       this.getNowTime()
       this.selectWarehouse()

+ 16 - 0
src/views/tradeServicesManagement/component/routers/route.js

@@ -64,6 +64,22 @@ const tradeServicesManagementRouter = {
       },
       hidden: true
     },
+    //创建仓单
+    {
+      path: 'warehouseReceiptgoods',
+      component: () =>
+        import( /* webpackChunkName: "applDetail" */ '@/views/tradeServicesManagement/goods'),
+      name: 'warehouseReceiptgoods',
+      meta: {
+        title: 'warehouseReceiptgoods',
+        shortcutEntrance: 'warehouseReceiptRegulation',
+        module: 'tradeServicesManagement.tradeService.add',
+        permissicon: [],
+        keepAlive: true,
+        _title:'创建仓单-选择货源'
+      },
+      hidden: true
+    },
     //审核仓单
     {
       path: 'reviewWarehouseReceipt',

+ 1011 - 0
src/views/tradeServicesManagement/goods.vue

@@ -0,0 +1,1011 @@
+<template>
+  <div class="container">
+    <el-row class="top">
+      <el-col :span="18">
+        <h2 class="bg-left title1">选择货源</h2>
+      </el-col>
+      <el-col :span="6" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnWarehouse()">返回</el-button>
+      </el-col>
+    </el-row>
+    <el-row class="top-row">
+      <el-col :span="18">
+        <el-date-picker style="margin: 0 10px 0 0" class="dataClass" value-format='yyyy-MM-dd' v-model="value2"
+          @change='datechange' type="daterange" align="right" range-separator="至" start-placeholder="出入库日期起"
+          end-placeholder="出入库日期止">
+        </el-date-picker>
+        <el-select filterable clearable v-model="inOutType" placeholder="请选择货名" class="typeselect"
+            @change="binNumberChange">
+            <el-option key="全部类型" label="全部类型" value="" />
+            <el-option v-for="item in inOutTypeList" :key="item.value" :label="item.value"
+              :value="item.value" />
+          </el-select>
+      </el-col>
+      <el-col :span="6" class="bg-right">
+        <ws-input v-model="searchKeyWord" placeholder="可按货主或合同编号查找" clearable maxlength="250" type="input"
+          class="input">
+        </ws-input>
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <ws-button class="find" type="primary" @click="find()">
+          <img width="16" height="16" style="vertical-align: text-top; position: relative; top: 0px"
+            src="../../../public/img/sousuo.png" alt />
+        </ws-button>
+      </el-col>
+    </el-row>
+    <el-row class="top-row">
+      <el-col :span="18">
+        <el-button @click="bindedChange('')" :type="binded==''?'primary':''" size="small">全部</el-button>
+        <el-button @click="bindedChange('0')" :type="binded=='0'?'primary':''" size="small">未绑定</el-button>
+        <el-button @click="bindedChange('1')" :type="binded=='1'?'primary':''" size="small">已绑定</el-button>
+        <span>库点:{{deptBudgetList.warehouseName}}</span>
+      </el-col>
+      <el-col :span="6" class="bg-right">
+        <el-button type="primary" @click="bindedselect">确定货源</el-button>
+      </el-col>
+    </el-row>
+    <div class="center">
+        <el-table ref="tableData" :data="warehouseList.records" height="570"
+          v-show="this.warehouseType== '1'" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column>
+          <el-table-column prop="warehouseReceipt" label="所属仓单" width="180">
+          </el-table-column>
+          <el-table-column prop="inOutTaskNo" label="业务编号" width="180">
+          </el-table-column>
+          <el-table-column prop="cargoRights" label="货源归属" width="60px"> </el-table-column>
+          <el-table-column prop="inOutType" label="入库类型" width="100"> </el-table-column>
+          <el-table-column prop="carNo" label="车牌号">
+            <template slot-scope="scope">
+              <span style="color: #8890b1">{{ scope.row.carNo }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="goodsName" label="货名"> </el-table-column>
+          <el-table-column prop="netWeight" label="净重(吨)"></el-table-column>
+          <el-table-column prop="pureWeight" label="纯重(吨)"> </el-table-column>
+          <el-table-column label="水分(%)" span="1" prop="waterContent"></el-table-column>
+          <el-table-column label="容重(g/l)" span="1" prop="bulkDensity"></el-table-column>
+          <!-- <el-table-column prop="type" label="类型" width="60px"> </el-table-column> -->
+          <el-table-column prop="cost" label="单价(元/吨)">
+          </el-table-column>
+          <el-table-column prop="price" label="粮款(元)"> </el-table-column>
+         
+          <!-- <el-table-column prop="inOutDate" label="入库日期" width="100px">
+            <template slot-scope="scope">
+              <span style="color: #8890b1">{{ scope.row.inOutDate }}</span>
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="createDate" label="入库日期">
+            <template slot-scope="scope">
+              <span style="color: #8890b1">{{ scope.row.createDate }}</span>
+            </template>
+          </el-table-column>
+
+        </el-table>
+        <el-table @selection-change="handleSelectionChange" :data="warehouseList.records" height="560"
+          v-show="this.warehouseType== '2'">
+          <el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column>
+          <el-table-column prop="warehouseReceipt" label="所属仓单" width="180">
+          </el-table-column>
+          <el-table-column prop="inOutTaskNo" label="业务编号" width="180">
+          </el-table-column>
+          <el-table-column prop="cargoRights" label="货源归属" width="60px"> </el-table-column>
+          <el-table-column prop="inOutType" label="入库类型" width="100"> </el-table-column>
+          <el-table-column prop="carNo" label="车牌号">
+            <template slot-scope="scope">
+              <span style="color: #8890b1">{{ scope.row.carNo }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="goodsName" label="货名"> </el-table-column>
+          <el-table-column prop="netWeight" label="净重(吨)"></el-table-column>
+          <el-table-column prop="pureWeight" label="纯重(吨)"> </el-table-column>
+          <el-table-column label="水分(%)" span="1" prop="waterContent"></el-table-column>
+          <el-table-column label="容重(g/l)" span="1" prop="bulkDensity"></el-table-column>
+          <!-- <el-table-column prop="type" label="类型" width="60px"> </el-table-column> -->
+          <el-table-column prop="cost" label="单价(元/吨)">
+          </el-table-column>
+          <el-table-column prop="price" label="粮款(元)"> </el-table-column>
+         
+          <!-- <el-table-column prop="inOutDate" label="入库日期" width="100px">
+            <template slot-scope="scope">
+              <span style="color: #8890b1">{{ scope.row.inOutDate }}</span>
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="createDate" label="入库日期">
+            <template slot-scope="scope">
+              <span style="color: #8890b1">{{ scope.row.createDate }}</span>
+            </template>
+          </el-table-column>
+
+        </el-table>
+
+
+        <div style="text-align: center; padding: 10px">
+          <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+            :current-page="currentPage" :page-sizes="[10, 30, 50, 100,500,1000,9999]"
+            layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal"></el-pagination>
+        </div>
+      </ws-form>
+    </div>
+    <WinseaContentModal v-model="accessoryTFs" :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose">
+      <p>查看附件</p>
+      <el-image style="width: 100px; height: 100px" :src="appendixIdss" :preview-src-list="srcList">
+      </el-image>
+    </WinseaContentModal>
+  </div>
+
+</template>
+
+
+<script>
+  import {
+    addselectinfoList,
+    recordss,
+    getPrintInfo,
+    getExpense,
+
+  } from '@/model/warehouse/index'
+  import {
+    packList,
+
+  } from '@/model/contarct/index'
+  import * as global from '@/global'
+  import Pagination from '@/components/Pagination'
+  import WsUpload from '@/components/WsUpload'
+  import {
+    dayjs,
+    fmoney,
+    EventBus
+  } from 'base-core-lib'
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      Pagination,
+    },
+    watch: {
+      vesselId(val) {
+        this.getList()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        binnumberList: [],
+        // 船舶类型
+        monetaryKey: null,
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        form:{},
+        contractNo:{},
+        show:false,
+        srcList: [],
+        binded:'',
+        currectdata:{
+          compId: localStorage.getItem('ws-pf_compId'),
+        },
+        inOutType:'',
+        goodsList:[],
+        num:0,
+        deptBudgetTotal: 0,
+        currentPage: 1,
+        pageSize: 10,
+        capacity: '',
+        searchKeyWord: '',
+        contractType: 2,
+        startDate: null,
+        endDate: null,
+        remark: '',
+        binNumber: '全部仓位',
+        status: 1,
+        value2: [],
+        appendixIdss: '',
+        // 提交类型
+        submitType: true,
+        selectpackingMethod: {},
+        size: 10,
+        warehouseType: '1',
+        taskNolist1:[],
+        compId: localStorage.getItem('ws-pf_compId'),
+        deptCircularPage: {},
+        pcFlag: 1,
+        date: {
+          year: dayjs().format('YYYY'),
+          month: dayjs().format('MM'),
+        },
+        warehouseList: [],
+        taskNolist:[],
+        taskNolist1:[],
+        arr2:[],
+        deptBudgetList: {},
+        historyList: [],
+        searchType: '',
+        allurl: '../../../public/img/radio.png',
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        accessoryTFs: false,
+        modification: [],
+        printList: [], //批量打印数据
+        warehouseAllXiaLa:[]
+      }
+    },
+
+    activated() {
+      this.deptBudgetList.baseId = this.$route.query.baseId
+      // this.deptBudgetList.positionId = this.$route.query.positionId
+      this.deptBudgetList.warehouseName = this.$route.query.warehouseName
+      this.remark = this.$route.query.remark
+      // this.binNumber = this.$route.query.binNumber
+      this.capacity = this.$route.query.capacity
+      this.warehouseType = this.$route.query.warehouseType
+      this.getList()
+      // this.getPassYearFormatDate()
+      this.showType = this.isShow
+    },
+    updated() {
+      this.$nextTick(() => {
+        // this.$refs['tableData'].doLayout();
+      })
+    },
+    methods: {
+      async bindedselect(){
+        var db=await global.default.openDB('warehouseReceipt')
+        console.log(this.modification)
+        console.log()
+        var data=await global.default.getDataByKey(db,'signalChat',1)
+        if(data){
+          if(data.modification&&data.modification.length>0){
+            global.default.updateDB(db,'signalChat',{sequenceId:1,modification:this.modification})
+          }
+        }else{
+          global.default.addData(db,'signalChat',{sequenceId:1,modification:this.modification})
+        }
+        // localStorage.setItem('warehouseReceiptGood',this.modification)
+        this.$router.go(-1)
+      },
+      bindedChange(e){
+        this.binded=e
+        this.getList()
+      },
+      warehousechange(){
+        this.getList()
+      },
+      async salesTransfer(){
+        var arr=[]
+        if (this.modification.length == 0) {
+          this.$message.error("请勾选要转移的条目!")
+        } else {
+          this.num=0
+          for (var i = 0; i < this.modification.length; i++) {
+            if(this.modification[i].inOutType!='销售出库'){
+              this.$message.error("请勾选相同合同编号的销售出库记录!")
+              return
+            }
+            this.num+=Number(this.modification[i].netWeight)
+            if(arr.length==0){
+              arr.push(this.modification[i])
+            }
+            var arr1=arr.filter((item)=>{return item.contractNo==this.modification[i].contractNo})
+            if(arr1.length==0){
+              arr.push(this.modification[i])
+            }
+          }
+          if(arr.length>1){
+            this.$message.error("请勾选相同合同编号的销售出库记录!")
+            return
+          }
+          var contractNo=await getExpense({ contractNo: arr[0].contractNo, compId: this.compId }).toPromise()
+          if(contractNo.status=='已完成'||contractNo.status=='已结算'){
+            this.$message.error("已完成的合同记录不可转移!")
+            return
+          }
+          this.currectdata.warehouseInOutInfoList=this.modification
+          
+          let map = new Map();
+          for (let item of this.modification) {
+            map.set(item.inOutTaskNo, item.inOutTaskNo);
+          }
+          var arr = [...map.values()]
+          console.log(arr)
+          this.currectdata.taskNo=arr.toString()
+          this.currectdata.contractNo=this.modification[0].contractNo
+          this.currectdata.pointOut=contractNo.pointOut
+          this.taskNolist=this.taskNolist1
+          this.arr2=[]
+          for (let i = 0; i < this.taskNolist.length; i++) {
+            if(this.taskNolist[i].contractNo&&this.taskNolist[i].contractNo!=this.currectdata.contractNo||this.taskNolist[i].moveTaskNo&&this.taskNolist[i].moveTaskNo!=this.currectdata.contractNo){
+              this.arr2.push(this.taskNolist[i])
+            }
+          }
+          console.log(this.arr2)
+          this.show=true
+        }
+      },
+      handleSelectionChange(val) {
+        this.modification = val
+        console.log("sfasa", this.modification)
+      },
+      selectInit(row) {
+        if (row.binded ==0||!row.binded) {
+          return true
+        } else {
+          return false
+        }
+      },
+      binNumberChange(e) {
+        if (e == '全部仓位') {
+          this.deptBudgetList.positionId = ''
+          this.getList()
+        } else {
+          for (let i = 0; i < this.binnumberList.length; i++) {
+            if (this.binnumberList[i].binNumber == e) {
+              this.deptBudgetList.positionId = this.binnumberList[i].id
+            }
+          }
+          this.getList()
+          // var seperator1 = "-"
+          // var date = new Date()
+      
+          // var formatDate = date.getFullYear() + seperator1 + Number(date.getMonth() + 1) + seperator1 + date.getDate()
+          // this.getNowFormatDate(formatDate)
+        }
+      },
+		/* 获取现在时间,并接受过去时间的值 */
+        getNowFormatDate (formatDate) {
+			var date = new Date()
+			date.setTime(date.getTime()+24*60*60*1000)
+			var seperator1 = '-'
+			var year = date.getFullYear()
+			var month = date.getMonth() + 1
+			var strDate = date.getDate()
+			if (month >= 1 && month <= 9) {
+				month = '0' + month
+			}
+			if (strDate >= 0 && strDate <= 9) {
+				strDate = '0' + strDate
+			}
+			var nowData = year + seperator1 + month + seperator1 + strDate
+			this.value2= [formatDate, nowData]  // 默认赋值一年时间
+   		 },
+			print(row){
+				sessionStorage.removeItem('record_print')
+				getPrintInfo({
+                        id: row.id
+                      })
+                        .toPromise()
+                        .then((response) => {
+                                     localStorage.setItem('ck_bd_printData',JSON.stringify(response))
+                         window.open('../../../../static/weightCheckInOut.html?type=2')
+                         
+                        })
+			},
+			//返回按钮
+			returnWarehouse() {
+				this.$router.go(-1)
+			},
+			dateFormat(fmt, date) {
+				let ret
+				const opt = {
+					'Y+': date.getFullYear().toString(), // 年
+					'm+': (date.getMonth() + 1).toString(), // 月
+					'd+': date.getDate().toString(), // 日
+					'H+': date.getHours().toString(), // 时
+					// "M+": date.getMinutes().toString(),         // 分
+					// "S+": date.getSeconds().toString()          // 秒
+					// 有其他格式化字符需求可以继续添加,必须转化成字符串
+				}
+				for (let k in opt) {
+					ret = new RegExp('(' + k + ')').exec(fmt)
+					if (ret) {
+						fmt = fmt.replace(
+							ret[1],
+							ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+						)
+					}
+				}
+				return fmt
+			},
+			datechange(){
+				this.getList()
+			},
+			find() {
+      			this.getList()
+    		},
+			handleClose() {
+				this.accessoryTFs = false
+        this.show=true
+			},
+			handleSizeChange(val) {
+				console.log(`每页 ${val} 条`)
+				this.pageSize = val
+				this.getList()
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				console.log(`当前页: ${val}`)
+				this.getList()
+			},
+			record(status, status1) {
+				this.status = status1
+				this.searchType = status
+				this.currentPage = '1'
+				this.getList()
+			},
+			// 上传附件
+			uploadSuccess(data, files, url) {
+				console.log(data, files, url)
+
+				// this.deptBudgetList.
+				// this.formData.append('files', files)
+				// this.feedbackObj.uploadNameAttachment = data.appendixName
+				// this.feedbackObj.pathUploadAttachment = data.appendixPath
+				// // this.newAppendixs = files
+				// this.onChangeFlag = true
+			},
+			getList() {
+        
+					var startDate=''
+					var endDate=''
+					if(this.value2){
+					startDate=this.value2[0]?this.value2[0]:''
+					endDate=this.value2[1]?this.value2[1]:''
+				}
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+				if (this.warehouseType == 1) {
+					
+					addselectinfoList({
+							compId: localStorage.getItem('ws-pf_compId'),
+							baseId: this.deptBudgetList.baseId,
+							positionId: this.deptBudgetList.positionId,
+							warehouseName: this.deptBudgetList.warehouseName,
+							startDate:startDate,
+       				endDate:endDate,
+              inOutType:this.inOutType,
+							searchType: this.searchType,
+							searchKeyWord: this.searchKeyWord,
+							currentPage: this.currentPage,
+							pcFlag: this.pcFlag,
+							pageSize: this.pageSize,
+              binded:this.binded
+						})
+						.toPromise()
+						.then((response) => {
+							for (var i = 0; i < response.records.length; i++) {
+								if (response.records[i].cost&&response.records[i].pureWeight) {
+									response.records[i].price=response.records[i].cost*response.records[i].pureWeight
+								} else {
+									response.records[i].price=0
+								}
+							}
+							this.deptCircularPage.currentPage = response.current
+							this.deptCircularPage.pageSize = response.size
+							this.deptBudgetTotal = response.total
+							this.warehouseList = response
+						})
+				} else if (this.warehouseType == 2) {
+					recordss({
+							compId: localStorage.getItem('ws-pf_compId'),
+							baseId: this.deptBudgetList.baseId,
+							positionId: this.deptBudgetList.positionId,
+							warehouseName: this.deptBudgetList.warehouseName,
+							startDate:startDate,
+       				endDate:endDate,
+							searchType: this.searchType,
+							searchKeyWord: this.searchKeyWord,
+							currentPage: this.currentPage,
+							pageSize: this.pageSize,
+              binded:this.binded
+						})
+						.toPromise()
+						.then((response) => {
+							for (var i = 0; i < response.records.length; i++) {
+								if (response.records[i].cost&&response.records[i].pureWeight) {
+									response.records[i].price=response.records[i].cost*response.records[i].pureWeight
+								} else {
+									response.records[i].price=0
+								}
+							}
+							this.deptCircularPage.currentPage = response.current
+							this.deptCircularPage.pageSize = response.size
+							this.deptBudgetTotal = response.total
+							this.warehouseList = response
+						})
+            
+				}
+
+			},
+			selecttaskType(e) {
+				for (var i = 0; i < this.taskTypeList.length; i++) {
+					if (this.taskTypeList[i].value == e) {
+						this.searchType = this.taskTypeList[i].type
+					}
+				}
+			},
+			fujian(row) {
+				if (
+					row.addressUrl === null ||
+					row.addressUrl === ''
+				) {
+					EventBus.$emit(
+						'warning',
+						this.$t('system.noticeCircular.NoInformation')
+					)
+				} else {
+					this.accessoryTFs = true
+				}
+				this.appendixIdss = row.addressUrl
+				this.srcList=[row.addressUrl]
+			},
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleCloe() {
+				this.dialogViewSpareMoney = false
+			},
+			history(row) {
+				console.log(row)
+				billoperatehis({
+						id: row.id
+					})
+					.toPromise()
+					.then((response) => {
+						this.historyList = response
+					})
+			},
+			// async exportlist() {
+			//   const { data } = await export1(
+			//     {
+			//       compId: localStorage.getItem('ws-pf_compId'),
+			//       contractType: this.contractType,
+			//       currentPage: this.currentPage,
+			//       pageSize: this.pageSize,
+			//       searchType: this.searchType,
+			//       searchKeyWord: this.searchKeyWord,
+			//       startDate: this.startDate,
+			//       endDate: this.endDate,
+			//     },
+			//     {},
+			//     { responseType: 'blob' }
+			//   ).toPromise()
+			//   downloadFile({
+			//     res: data,
+			//     fileName: `${
+			//       this.date.year + (this.date.month ? `-${this.date.month}` : '')
+			//     }_采购合同`,
+			//     type: 'xls',
+			//   })
+			// },
+			// deletecontract(){},
+			//删除
+
+			approve() {},
+			listQuery() {},
+			total() {},
+			clearfiltQuery() {},
+			selectCrtDuty() {},
+		},
+	}
+</script>
+<style lang="scss" scoped>
+  /deep/.totalStorage .el-input__inner {
+    color: #afb5cb;
+    background: #f5f7fa;
+  }
+
+  .small-title {
+    position: relative;
+    padding: 10px;
+    font-weight: 600;
+  }
+
+  .small-title::before {
+    position: absolute;
+    content: '';
+    display: block;
+    background: #5473e8;
+    width: 4px;
+    height: 14px;
+    left: 0px;
+    top: 13px;
+  }
+
+  .position {
+    position: relative;
+  }
+
+  .add,
+  .del {
+    position: absolute;
+    right: -38px;
+    top: 9px;
+    cursor: pointer;
+  }
+
+  .del {
+    right: -70px;
+  }
+
+  .amap-page-container {
+    width: 300px;
+    height: 300px;
+  }
+
+  .ware {
+    font-size: 12px;
+    color: rgb(255, 255, 255);
+    padding: 3px;
+    position: relative;
+    top: -1px;
+    border-radius: 3px;
+    display: inline-block;
+    text-align: center;
+  }
+
+  .title1 {
+    position: relative;
+  }
+
+  .title1::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .ws-info-table {
+    border-left: 1px solid transparent;
+    border-top: 1px solid transparent;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .adjustment.el-button--primary {
+    background-color: #51cdd9;
+    border-color: #51cdd9;
+  }
+
+  .top .el-col {
+    background: #f6f7fc;
+  }
+
+  .record {
+    background: #fff;
+    color: #8890b1;
+    border-color: #fff;
+    display: inline-block;
+    margin-bottom: 10px;
+    cursor: pointer;
+    margin-left: 5px;
+    margin-right: 5px;
+  }
+
+  .record img {
+    position: relative;
+    top: 2px;
+  }
+
+  .record.active img {
+    position: relative;
+    top: 4px;
+  }
+
+  .record.active {
+    color: #262626;
+  }
+
+  .button-container {
+    display: flex;
+    flex-wrap: nowrap;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    width: 100%;
+    height: 50px;
+    padding: 0 10px;
+
+    &>div {
+      margin-left: 10px;
+      display: flex;
+      flex-wrap: nowrap;
+      flex-direction: row;
+
+      &>span {
+        line-height: 50px;
+      }
+    }
+
+    /deep/.auditFlow-box {
+      position: unset;
+      margin-left: 10px;
+
+      &/deep/.auditFlow-icon {
+        width: auto;
+        padding-right: 30px;
+      }
+
+      &/deep/.auditFlow-main {
+        position: absolute;
+      }
+    }
+  }
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
+      }
+    }
+  }
+
+  .top-grade {
+    background: linear-gradient(90deg, #5678e9, #7993f6);
+    color: #fff;
+    padding: 3px;
+    border-radius: 2px;
+  }
+
+  .second-class {
+    background: linear-gradient(90deg, #50cdd9, #82e2ea);
+    color: #fff;
+    padding: 3px;
+    border-radius: 2px;
+  }
+
+  .third-class {
+    background: linear-gradient(90deg, #ffa735, #ffbf70);
+    color: #fff;
+    padding: 3px;
+    border-radius: 2px;
+  }
+
+  .substandard {
+    background: linear-gradient(90deg, #b2b4bb, #ced0d5);
+    color: #fff;
+    padding: 3px;
+    border-radius: 2px;
+  }
+
+  .collapse-bottom {
+    margin-bottom: 20px;
+  }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
+  }
+
+  .bg-left {
+    padding-left: 30px;
+  }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
+  }
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    padding: 0 1%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
+    .el-input__inner {
+      border: 0px;
+    }
+
+    .el-icon-arrow-up {
+      display: none;
+    }
+
+    .el-textarea__inner {
+      background-color: #fff !important;
+      border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
+      color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+    }
+  }
+
+  // 控制select为只读的时候显示样式
+  /deep/.ws-class-table-col {
+    height: auto;
+    padding: 0px 2px;
+
+    /deep/.el-input__inner {
+      padding: 0px 2px;
+    }
+  }
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  .el-textarea__inner {
+    display: none;
+  }
+
+  .readonly {
+    width: 16%;
+  }
+
+  .ws-info-table .el-form-item {
+    width: 14.28%;
+  }
+
+  .dataClass {
+    width: 20% !important;
+  }
+
+  .input {
+    width: 50% !important;
+  }
+
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    background-color: #f6f7fc;
+    font-size: 12px;
+    height: 45px;
+  }
+
+  //去边框
+  /deep/.el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+  }
+
+  /deep/.ws-info-table {
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  .ws-info-table .el-form-item .el-form-item__content {
+    border-right: 0px;
+    border-bottom: 0px;
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 0px;
+    border-bottom: 0px;
+    border-left: 0px;
+    border-top: 0px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    background: #f5f7fa;
+    border-radius: 4px;
+    border: 1px solid #d8dce6;
+    font-family: PingFangSC-Regular, PingFang SC;
+    margin-bottom: 5px;
+    background-color: #fff;
+    font-size: 14px;
+    font-weight: 400;
+    color: #8890b1;
+    line-height: 16px;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    border: 0px;
+  }
+
+  /deep/.el-table td,
+  /deep/.el-table .el-table__header .cell {
+    text-align: center;
+  }
+
+  .binNo {
+    color: #333;
+    font-size: 18px;
+    margin-left: 20px;
+  }
+  .top-row{
+    margin:10px 0;
+  }
+</style>

+ 77 - 10
src/views/tradeServicesManagement/warehouseReceiptAdd.vue

@@ -22,10 +22,12 @@
         </el-col>
       </el-form-item>
       <el-form-item label="名头" prop="renown" class="forlist">
-        <el-select v-model="deptBudgetList.renown" placeholder="请选择名头" @change="changeCompOptionList" filterable clearable>
+        <el-input v-model="deptBudgetList.renown" placeholder="请输入名头" maxlength="20" size="small" >
+          </el-input>
+        <!-- <el-select v-model="deptBudgetList.renown" placeholder="请选择名头" @change="changeCompOptionList" filterable clearable>
           <el-option :label="item.compName" :key="index" :value="item.compId" v-for="(item,index) in compOptionList">
           </el-option>
-        </el-select>
+        </el-select> -->
       </el-form-item>
       <el-form-item label="仓库名称" prop="warehouseName" class="forlist">
         <el-select v-model="deptBudgetList.warehouseName" filterable placeholder="请选择仓库" @change="changeWarehouse" clearable>
@@ -63,6 +65,11 @@
       <el-form-item label="可用储量(吨)" prop="useWeight" class="forlist">
         <el-input disabled v-model="deptBudgetList.useWeight" placeholder="请输入可用储量" size="small"></el-input>
       </el-form-item>
+      <el-form-item label="货源" prop="weight" class="forlist supplyofgoods">
+        <el-input disabled v-model="goodstext" placeholder="" size="small" @input='inputChange'>
+        </el-input>
+        <el-button @click='selectgoods' type="primary">选择货源</el-button>
+      </el-form-item>
       <el-form-item label="本单重量(吨)" prop="weight" class="forlist">
         <el-input v-model="deptBudgetList.weight" placeholder="输入本次仓单申请所需的重量" size="small" @input='inputChange'>
         </el-input>
@@ -112,9 +119,14 @@
     getbillno,
     WarehouseReceiptBankList,
   } from '@/model/tradeServicesManagement/index'
+
   import {
-    selectWarehouseSelf,
+    getwarehouse
   } from '@/model/houseSelfCollect/index'
+  import {
+    getcomp
+  } from '@/model/indexRx'
+  import * as global from '@/global'
   import WsUpload from '@/components/WsUpload'
   export default {
     components: {
@@ -128,7 +140,8 @@
           useWeight:'',
           nowWeight:'',
           warehouseNo:'',
-          warehouseName:''
+          warehouseName:'',
+          renown:''
         },
         size: 10,
         compId: '',
@@ -136,6 +149,8 @@
         compOptionList: [],
         cwNumberList: [],
         goodsList: [],
+        db:{},
+        goodstext:'已选0辆车',
         rules: {
           // unitPrice: [
           //   { required: true, message: '单价不能为空!', trigger: 'blur' },
@@ -146,17 +161,50 @@
         threeList:[],
       }
     },
-    activated() {
+    async activated() {
       this.compId = localStorage.getItem('ws-pf_compId')
       this.deptBudgetList.compId = this.compId
+      this.deptBudgetList.renownId = this.compId
+      this.deptBudgetList.renown=localStorage.getItem('ws-pf_compName')
+      // 
       let i = localStorage.getItem('pageUp')
-      if(i != 1){
-      this.getcompList()
+      if(i != 1&&!localStorage.getItem('warehouseReceiptdata')){
+        this.getWarehouse()
+      // this.getcompList()
       this.getList()
       }
+      // getcomp({userMobilePhone:JSON.parse(localStorage.getItem('ws_login_getTenantInfoByUser')).loginInfo.userMobilePhone}).toPromise().then((res)=>{
+        console.log(localStorage.getItem('ws-pf_compName'))
+        this.deptBudgetList.renown=localStorage.getItem('ws-pf_compName')
+      // })
+      if(localStorage.getItem('warehouseReceiptdata')){
+        this.deptBudgetList=JSON.parse(localStorage.getItem('warehouseReceiptdata'))
+        this.db=await global.default.openDB('warehouseReceipt')
+        var data=await global.default.getDataByKey(this.db,'signalChat',1)
+        if(data){
+          if(data.modification&&data.modification.length>0){
+            this.goodstext='已选'+data.modification.length+'辆车'
+          }
+        }
+      }
+      // console.log(this.deptBudgetList)
       
+        
     },
     methods: {
+      selectgoods(){
+        localStorage.setItem('warehouseReceiptdata',JSON.stringify(this.deptBudgetList))
+        this.$router.push({
+          name: 'warehouseReceiptgoods',
+          query: {
+            baseId: this.deptBudgetList.baseId,
+            positionId: this.deptBudgetList.warehouseNoId,
+            warehouseName: this.deptBudgetList.warehouseName,
+            warehouseType: this.deptBudgetList.warehouseType,
+            warehouseNo:this.deptBudgetList.warehouseNo,
+          }
+        })
+      },
       inputChange(e) {
         if (this.deptBudgetList.unitPrice && this.deptBudgetList.weight) {
           this.deptBudgetList.totalValue = this.deptBudgetList.unitPrice * this.deptBudgetList.weight
@@ -191,19 +239,20 @@
           .toPromise()
           .then((res) => {
             this.compOptionList = res
-            this.deptBudgetList.renown = res[0].compName
+            // this.deptBudgetList.renown = res[0].compName
              this.changeCompOptionList(res[0].compId)
           })
           .catch((err) => {})
       },
       getWarehouse() {
         //获取仓库
-        selectWarehouseSelf({
+        getwarehouse({
             compId: this.compId
           }).toPromise()
           .then(response => {
             this.warehouseList = response
             this.deptBudgetList.warehouseName = response[0].warehouseName
+            this.deptBudgetList.warehouseType = response[0].warehouseType
             this.deptBudgetList.warehouseAddress = response[0].warehousePrivate + response[0].warehouseCity + response[0].warehouseArea + response[0].detailedAddress
               if(response[0].positionInfos){
                  this.deptBudgetList.warehouseNoId = response[0].positionInfos.length != 0 ? response[0].positionInfos[0].id : ''
@@ -318,6 +367,8 @@
         let _data = this.warehouseList
         for (let i = 0; i < _data.length; i++) {
           if (_data[i].warehouseName == val) {
+            global.default.deleteDB(this.db,'signalChat',1)
+            this.goodstext='已选0辆车'
             this.deptBudgetList.warehouseName = _data[i].warehouseName
             this.cwNumberList = _data[i].positionInfos.length != 0 ? _data[i].positionInfos : []
             this.deptBudgetList.warehouseNo = _data[i].positionInfos.length != 0 ? _data[i].positionInfos[0].binNumber : ''
@@ -327,6 +378,7 @@
             this.deptBudgetList.useWeight =_data[i].goodsNameInfos.length!=0?_data[i].goodsNameInfos[0].useStorage:''
             this.deptBudgetList.goodsName = _data[i].goodsNameInfos.length != 0 ? _data[i].goodsNameInfos[0].goodsName : ''
             this.deptBudgetList.warehouseId = _data[i].id
+            this.deptBudgetList.warehouseType = _data[i].warehouseType
             this.deptBudgetList.goodsNameKey = _data[i].goodsNameInfos.length != 0 ? _data[i].goodsNameInfos[0].goodsNameKey : ''
             this.deptBudgetList.warehouseNoId = _data[i].positionInfos.length != 0 ? _data[i].positionInfos[0].id : ''
             this.deptBudgetList.baseId = _data[i].positionInfos.length != 0 ? _data[i].positionInfos[0].baseId : ''
@@ -414,7 +466,14 @@
         // }
         return true
       },
-      submit() {
+      async submit() {
+        var data=await global.default.getDataByKey(this.db,'signalChat',1)
+        if(data){
+          if(data.modification){
+            this.deptBudgetList.warehouseInOutInfoList=data.modification
+          }
+        }
+        
         let isValidate = false
         isValidate = this.validate()
         if (isValidate) {
@@ -426,7 +485,9 @@
             addList(this.deptBudgetList).toPromise().then((response) => {
               // this.tableData = response.records
               localStorage.removeItem('pageUp')
+              localStorage.removeItem('warehouseReceiptdata')
               this.$message.success('提交成功')
+              global.default.deleteDB(this.db,'signalChat',1)
               this.$router.push({
                 path: 'warehouseReceiptRegulation'
               })
@@ -450,6 +511,9 @@
       },
       cancel() {
         localStorage.removeItem('pageUp')
+        localStorage.removeItem('pageUp')
+        localStorage.removeItem('warehouseReceiptdata')
+        global.default.deleteDB(this.db,'signalChat',1)
         this.$router.push({
           path: 'warehouseReceiptRegulation'
         })
@@ -515,4 +579,7 @@
     font-weight: 600;
     margin: 20px 0;
   }
+  .supplyofgoods .el-input{
+    width:75%;
+  }
 </style>