gjy 4 gadi atpakaļ
vecāks
revīzija
e113a131c7

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

@@ -25,4 +25,6 @@ export const API_GET_OUT_LIST = '/inOutWarehouseTask/selectInOutWarehouseTask'
 // 出入库任务-查看
 export const API_GET_OUT_EXAMINE = '/inOutWarehouseTask/getInOutWarehouseTask'
 // 出入库任务-删除
-export const API_POST_OUT_DEL = '/inOutWarehouseTask/api/deleteInOutWarehouseTask'
+export const API_POST_OUT_DEL = '/inOutWarehouseTask/api/deleteInOutWarehouseTask'
+// 出入库任务-通过合同获取货名
+export const API_GET_CONTRACT_GOODSNAME = '/contractGoodsInfo/getGoodsName'

+ 4 - 1
src/model/tasksport/index.js

@@ -14,7 +14,8 @@ import {
     API_POST_OUT_PUT,
     API_GET_OUT_LIST,
     API_GET_OUT_EXAMINE,
-    API_POST_OUT_DEL
+    API_POST_OUT_DEL,
+    API_GET_CONTRACT_GOODSNAME
 } from '@/api/V2/taskspost'
 //运输任务列表
 export const gain = appRx.get(API_GET_TRAN_LIST, errorCatcher, errorHandle, filter)
@@ -42,3 +43,5 @@ export const getoreditoutput = appRx.get(API_GET_OUT_LIST, errorCatcher, errorHa
 export const outexamine = appRx.get(API_GET_OUT_EXAMINE, errorCatcher, errorHandle, filter)
 //出入库任务-删除
 export const outdelete = appRx.post(API_POST_OUT_DEL, errorCatcher, errorHandle, filter)
+//出入库任务-货名
+export const getGoodsName = appRx.get(API_GET_CONTRACT_GOODSNAME, errorCatcher, errorHandle, filter)

+ 330 - 14
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -28,7 +28,7 @@
         <el-radio label="3">移库</el-radio>
         <el-radio label="4">退库并出库</el-radio>
       </el-radio-group>
-      <div v-if="dataList.taskTypeKey != 2" class="center1">
+      <div v-if="dataList.taskTypeKey != 2&&dataList.taskTypeKey != 4" class="center1">
         <!--出库=-->
         <div class="small-title">
           <h3>出库任务({{ inOutTaskNo }})</h3>
@@ -52,7 +52,8 @@
           </el-form-item>
           <!-- 出库类型 -->
           <el-form-item label="出库类型">
-            <el-select
+            <el-select              
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
               v-model="dataList.inOutType"
               placeholder="请选择出库类型"
               class="typeselect"
@@ -76,6 +77,7 @@
           <!-- 合同编号 -->
           <el-form-item v-if='dataList.taskTypeKey != 3' label="合同编号">
             <el-select
+            @change='changecontract'
               v-model="dataList.contractNo"
               placeholder="请输入合同编号"
               class="typeselect"
@@ -106,6 +108,7 @@
           <!-- 货名 -->
           <el-form-item label="货名">
             <el-select
+            :disabled='dataList.taskTypeKey != 3'
               v-model="dataList.goodsName"
               placeholder="货名"
               class="typeselect"
@@ -147,6 +150,7 @@
           <!--容重(克/升)>=-->
           <el-form-item label="容重(克/升)>=">
             <el-input
+            @input='bulkDensitychange'
               v-model="dataList.bulkDensity"
               placeholder="请输入容重"
               maxlength="120"
@@ -156,6 +160,7 @@
           <!--水分(%)<=-->
           <el-form-item label="水分(%)<=">
             <el-input
+            @input='waterContentchange'
               v-model="dataList.waterContent"
               placeholder="请输入水分占比"
               maxlength="120"
@@ -165,6 +170,7 @@
           <!--单价(元/吨)-->
           <el-form-item label="单价(元/吨)">
             <el-input
+            @input='unitPricechange'
               v-model="dataList.unitPrice"
               placeholder="请输入单价"
               maxlength="120"
@@ -236,6 +242,7 @@
           <!-- 出库类型 -->
           <el-form-item label="入库类型">
             <el-select
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
               v-model="dataList1.inOutType"
               placeholder="请选择入库类型"
               class="typeselect"
@@ -259,6 +266,7 @@
           <!-- 合同编号 -->
           <el-form-item v-if='dataList1.taskTypeKey != 3' label="合同编号">
             <el-select
+            @change='changecontract1'
               v-model="dataList1.contractNo"
               placeholder="请输入合同编号"
               class="typeselect"
@@ -289,6 +297,7 @@
           <!-- 货名 -->
           <el-form-item label="货名">
             <el-select
+            :disabled='dataList.taskTypeKey != 3'
               v-model="dataList1.goodsName"
               placeholder="货名"
               class="typeselect"
@@ -305,6 +314,7 @@
           <!--重量(吨)-->
           <el-form-item label="重量(吨)">
             <el-input
+            @input='weightchange'
               v-model="dataList1.weight"
               placeholder="请输入重量"
               maxlength="120"
@@ -314,6 +324,7 @@
           <!-- 品级 -->
           <el-form-item label="品级">
             <el-select
+            :disabled='dataList.taskTypeKey == 3'
               v-model="dataList1.grade"
               placeholder=""
               class="typeselect"
@@ -330,6 +341,8 @@
           <!--容重(克/升)>=-->
           <el-form-item label="容重(克/升)>=">
             <el-input
+            @input='bulkDensitychange'
+            :disabled='dataList.taskTypeKey == 3'
               v-model="dataList1.bulkDensity"
               placeholder="请输入容重"
               maxlength="120"
@@ -339,6 +352,8 @@
           <!--水分(%)<=-->
           <el-form-item label="水分(%)<=">
             <el-input
+            @input='waterContentchange'
+            :disabled='dataList.taskTypeKey == 3'
               v-model="dataList1.waterContent"
               placeholder="请输入水分占比"
               maxlength="120"
@@ -348,6 +363,8 @@
           <!--单价(元/吨)-->
           <el-form-item label="单价(元/吨)">
             <el-input
+            @input='unitPricechange'
+            :disabled='dataList.taskTypeKey == 3'
               v-model="dataList1.unitPrice"
               placeholder="请输入单价"
               maxlength="120"
@@ -396,6 +413,199 @@
           </el-form-item>
         </el-form>
       </div>
+      <div v-if="dataList.taskTypeKey == 4" class="center1">
+        <!--出库=-->
+        <div class="small-title">
+          <h3>出库任务({{ inOutTaskNo }})</h3>
+        </div>
+        <el-form ref="dataList" :model="dataList" label-width="140px">
+          <!-- 仓库名 -->
+          <el-form-item label="仓库名">
+            <el-select
+              v-model="dataList.warehouseName"
+              placeholder="请选择仓库名"
+              class="typeselect"
+              @change="selectwarehouseName"
+            >
+              <el-option
+                v-for="item in warehouseNameList"
+                :key="item.constKey"
+                :label="item.warehouseName"
+                :value="item.warehouseName"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 出库类型 -->
+          <el-form-item label="出库类型">
+            <el-select              
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.inOutType"
+              placeholder="请选择出库类型"
+              class="typeselect"
+              @change="selectstorageType"
+            >
+              <el-option
+                v-for="item in storageType"
+                :key="item.constKey"
+                v-if="
+                  (dataList.taskTypeKey == 1 &&
+                    item.constValue != '移库出库') ||
+                  (dataList.taskTypeKey == 3 &&
+                    item.constValue == '移库出库') ||
+                  (dataList.taskTypeKey == 4 && item.constValue == '销售出库')
+                "
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!-- 合同编号 -->
+          <el-form-item v-if='dataList.taskTypeKey != 3' label="合同编号">
+            <el-select
+            @change='changecontract'
+              v-model="dataList.contractNo"
+              placeholder="请输入合同编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item v-if='dataList.taskTypeKey == 3' label="移库任务编号">
+            <el-select
+            @change="selectTaskNo"
+              v-model="dataList.moveTaskNo"
+              placeholder="请输入移库任务编号"
+              class="typeselect"
+            >
+              <el-option
+                v-for="item in contractNoList"
+                :key="item.constKey"
+                :label="item.contractNo"
+                :value="item.contractNo"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="货名">
+            <el-select
+            :disabled='dataList.taskTypeKey != 3'
+              v-model="dataList.goodsName"
+              placeholder="货名"
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <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-input
+            :disabled='dataList.taskTypeKey == 4'
+              v-model="dataList.weight"
+              placeholder="请输入重量"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!-- 品级 -->
+          <el-form-item label="品级">
+            <el-select
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.grade"
+              placeholder=""
+              class="typeselect"
+              @change="selectpackingMethod"
+            >
+              <el-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </el-select>
+          </el-form-item>
+          <!--容重(克/升)>=-->
+          <el-form-item label="容重(克/升)>=">
+            <el-input
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.bulkDensity"
+              placeholder="请输入容重"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--水分(%)<=-->
+          <el-form-item label="水分(%)<=">
+            <el-input
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.waterContent"
+              placeholder="请输入水分占比"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--单价(元/吨)-->
+          <el-form-item label="单价(元/吨)">
+            <el-input
+            :disabled='dataList.taskTypeKey == 3||dataList.taskTypeKey == 4'
+              v-model="dataList.unitPrice"
+              placeholder="请输入单价"
+              maxlength="120"
+              size="small"
+            />
+          </el-form-item>
+          <!--预计出库日期-->
+          <el-form-item
+            label="预计出库日期"
+            span="1"
+            prop="predictDate"
+            class="deliverydate"
+          >
+            <el-date-picker
+              v-model="dataList.predictDate"
+              type="date"
+              placeholder="请选择预计出库日期"
+              value-format="yyyy-MM-dd"
+            />
+          </el-form-item>
+          <!--经办人-->
+          <el-form-item label="出库经办人">
+            <el-select
+              v-model="dataList.agent"
+              placeholder="请选择经办人"
+              filterable
+              :filter-method="dataFilter"
+              @change="selectstaff"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.staffName"
+                :value="item.staffName"
+              />
+            </el-select>
+          </el-form-item>
+          <!--业务描述=-->
+          <el-form-item label="业务描述">
+            <el-input
+              v-model="dataList.businessDescribe"
+              placeholder="请输入业务描述,不超过150字"
+              maxlength="150"
+              size="small"
+            />
+          </el-form-item>
+        </el-form>
+      </div>
     </div>
     <!-- 提交 -->
     <div style="text-align: right; padding: 10px" class="center">
@@ -411,6 +621,7 @@ import {
   xialaNo,
   addoreditoutput,
   outexamine,
+  getGoodsName
 } from '@/model/tasksport/index'
 import { packList } from '@/model/contarct/index'
 import { pullDown, getstaff } from '@/model/warehouse/index'
@@ -448,6 +659,7 @@ export default {
       tableDate: [],
       // 是否显示
       showType: true,
+      disabled:false,
       // 年
       year: '',
       contractNoList: [],
@@ -473,10 +685,8 @@ export default {
       // 提交类型
       submitType: true,
       status: [],
-      unitPricechange: [],
       warehouseNameList: [],
       warehouseNameList1: [],
-      waterContentchange: [],
       appendixIdsAdd: '',
       uploadSuccess: {},
       warehouseInOutDetail: {},
@@ -578,6 +788,70 @@ export default {
         this.options = this.staffList
       }
     },
+    weightchange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'weight',e)
+      }
+    },
+    bulkDensitychange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'bulkDensity',e)
+      }else if(this.dataList1.taskTypeKey==3){
+        this.$set(this.dataList1,'bulkDensity',e)
+      }
+    },
+    waterContentchange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'waterContent',e)
+      }else if(this.dataList1.taskTypeKey==3){
+        this.$set(this.dataList1,'waterContent',e)
+      }
+    },
+    unitPricechange(e){
+      if(this.dataList.taskTypeKey==4){
+        this.$set(this.dataList,'unitPrice',e)
+      }else if(this.dataList1.taskTypeKey==3){
+        this.$set(this.dataList1,'unitPrice',e)
+      }
+    },
+    changecontract(e){
+      if(this.dataList.taskTypeKey!=3){
+        for (let i = 0; i < this.contractNoList.length; i++) {
+          if(this.contractNoList[i].contractNo==e){
+            getGoodsName({ contractId:this.contractNoList[i].id,contractNo:this.contractNoList[i].contractNo}) .toPromise()
+            .then((response) => {
+              this.$set(this.dataList,'goodsName',response.goodsName)
+              this.$set(this.dataList,'goodsNameKey',response.goodsNameKey)
+              this.$set(this.dataList,'grade',response.grade)
+              this.$set(this.dataList,'gradeKey',response.gradeKey)
+              this.$set(this.dataList,'waterContent',response.waterContent)
+              this.$set(this.dataList,'bulkDensity',response.bulkDensity)
+              this.$set(this.dataList,'weight',response.weight)
+              this.$set(this.dataList,'unitPrice',response.unitContractPrice)
+            })
+          } 
+        }
+      }
+    },
+    changecontract1(e){
+      if(this.dataList1.taskTypeKey!=3){
+        for (let i = 0; i < this.contractNoList.length; i++) {
+          if(this.contractNoList[i].contractNo==e){
+            getGoodsName({ contractId:this.contractNoList[i].id,contractNo:this.contractNoList[i].contractNo}) .toPromise()
+            .then((response) => {
+              this.$set(this.dataList1,'goodsName',response.goodsName)
+              this.$set(this.dataList1,'goodsNameKey',response.goodsNameKey)
+              this.$set(this.dataList1,'grade',response.grade)
+              this.$set(this.dataList1,'gradeKey',response.gradeKey)
+              this.$set(this.dataList1,'waterContent',response.waterContent)
+              this.$set(this.dataList1,'bulkDensity',response.bulkDensity)
+              this.$set(this.dataList1,'weight',response.weight)
+              this.$set(this.dataList1,'unitPrice',response.unitContractPrice)
+            })
+          } 
+        }
+      }
+    },
     selectstaff(e) {
       for (var i = 0; i < this.staffList.length; i++) {
         if (this.staffList[i].staffName == e) {
@@ -658,16 +932,24 @@ export default {
       }
     },
     selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.dataList.packingMethodKey = this.packtypeList[i].constKey
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.dataList.gradeKey = this.gradeList[i].constKey
+          if(this.dataList.taskTypeKey==3){
+            this.$set(this.dataList1,'grade',e)
+            this.$set(this.dataList1,'gradeKey',this.gradeList[i].constKey)
+          }
         }
       }
     },
     selectpackingMethod1(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.dataList1.packingMethodKey = this.packtypeList[i].constKey
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.dataList1.packingMethodKey = this.gradeList[i].constKey
+          if(this.dataList1.taskTypeKey==4){
+            this.$set(this.dataList,'grade',e)
+            this.$set(this.dataList,'gradeKey',this.gradeList[i].constKey)
+          }
         }
       }
     },
@@ -707,11 +989,13 @@ export default {
       } else if (this.dataList.taskTypeKey == 2) {
         this.inOutTaskNo1 = 'RK' + this.getdate() + this.verifyinit()
       } else if (this.dataList.taskTypeKey == 3) {
-        this.inOutTaskNo = 'YKC' + this.getdate() + this.verifyinit()
-        this.inOutTaskNo1 = 'YKR' + this.getdate() + this.verifyinit()
+        var random=this.getdate() + this.verifyinit()
+        this.inOutTaskNo = 'YKC' + random
+        this.inOutTaskNo1 = 'YKR' + random
       } else if (this.dataList.taskTypeKey == 4) {
-        this.inOutTaskNo = 'TCC' + this.getdate() + this.verifyinit()
-        this.inOutTaskNo1 = 'TCR' + this.getdate() + this.verifyinit()
+        var random=this.getdate() + this.verifyinit()
+        this.inOutTaskNo = 'TCC' + random
+        this.inOutTaskNo1 = 'TCR' + random
       }
     },
     tasktypechange(e) {
@@ -719,6 +1003,27 @@ export default {
         this.tasknumber()
       }
       this.dataList1.taskTypeKey = e
+      if(this.dataList.taskTypeKey==1){
+        this.dataList.inOutType='销售出库'
+        this.dataList.inOutTypeKey='1'
+      }
+      if(this.dataList1.taskTypeKey==2){
+        this.dataList1.inOutType='采购入库'
+        this.dataList1.inOutTypeKey='1'
+      }
+      else if(this.dataList1.taskTypeKey==3){
+        this.disabled=true
+        this.dataList1.inOutType='移库入库'
+        this.dataList1.inOutTypeKey='3'
+        this.dataList.inOutType='移库出库'
+        this.dataList.inOutTypeKey='3'
+      }else if(this.dataList1.taskTypeKey==4){
+        this.disabled=true
+        this.dataList1.inOutType='退库'
+        this.dataList1.inOutTypeKey='6'
+        this.dataList.inOutType='销售出库'
+        this.dataList.inOutTypeKey='1'
+      }
     },
     GetRandomNum(Min, Max) {
       var Range = Max - Min
@@ -739,7 +1044,18 @@ export default {
           })
       } else {
         this.tasknumber()
+        this.$set(this.dataList,'inOutType','销售出库')
+        this.$set(this.dataList,'inOutTypeKey','1')
+        this.$set(this.dataList,'goodsName','玉米')
+        this.$set(this.dataList,'goodsNameKey','1')
+        this.$set(this.dataList,'grade','一等品')
+        this.$set(this.dataList,'gradeKey','1')
+        this.$set(this.dataList1,'goodsName','玉米')
+        this.$set(this.dataList1,'goodsNameKey','1')
+        this.$set(this.dataList1,'grade','一等品')
+        this.$set(this.dataList1,'gradeKey','1')
       }
+      
       // 货名
       pullDown({ constId: 'CON2' })
         .toPromise()