فهرست منبع

前端孟祥旭

mxx 3 سال پیش
والد
کامیت
faeb395ac6

+ 11 - 1
src/api/V2/purchasingManagement/index.js

@@ -3,4 +3,14 @@ export const API_GET_PURCHASING_LIST = '/purchaseOrder/selectPurchaseOrder'
 //采购订单成交
 export const API_POST_PURCHASING_LIST = '/purchaseOrder/api/deal'
 //采购订单平仓
-export const API_POST_PURCHASING_CLOSEPOSITION = '/purchaseOrder/api/closePosition'
+export const API_POST_PURCHASING_CLOSEPOSITION = '/purchaseOrder/api/closePosition'
+//采购计划列表
+export const API_GET_PROCUREMENT_LIST = '/procurementPlanInfo/selectProcurementPlanInfo'
+//采购计划查看
+export const API_GET_PROCUREMENT_LOOK = '/procurementPlanInfo/getProcurementPlan'
+//采购计划添加
+export const API_POST_PROCUREMENT_ADD = '/procurementPlanInfo/api/insertProcurementPlanInfo'
+//采购计划编辑
+export const API_POST_PROCUREMENT_EDIT = '/procurementPlanInfo/api/editProcurementPlan'
+//采购计划删除
+export const API_POST_PROCUREMENT_DELETE = '/procurementPlanInfo/api/deleteProcurementPlan'

+ 15 - 0
src/lang/zh.js

@@ -512,6 +512,14 @@
     procurementPlanEdit:'采购计划编辑',
     procurementPlanLook:'采购计划查看',
     purchaseOrderList:'采购订单',
+    //统计报表
+    statisticalReport:'统计报表',
+    purchaseReceiptStatisticsList:'采购入库报表-统计查看',
+    purchaseReceiptFinanceList:'采购入库报表-财务查看',
+    purchaseReceiptDeciderList:'采购入库报表-决策人查看',
+    purchaseReceiptCashierList:'采购入库报表出纳查看',
+
+    
     //运输管理
     tranManagement: '运输管理',
     tranManagementDriver: '司机管理',
@@ -4760,7 +4768,14 @@
     procurementPlanLook:'采购计划查看',
     purchaseOrderList:'采购订单',
   },
+  //统计管理
+  statisticalReport:{
+    purchaseReceiptStatisticsList:'采购入库报表统计查看',
+    purchaseReceiptFinanceList:'采购入库报表财务查看',
+    purchaseReceiptDeciderList:'采购入库报表决策人查看',
+    purchaseReceiptCashierList:'采购入库报表出纳查看',
 
+  },
   //运输管理
   tranManagement: {
     tranManagementDriver: '司机管理',

+ 16 - 1
src/model/purchasingManagement/index.js

@@ -4,11 +4,26 @@ import {
     API_GET_PURCHASING_LIST,
     API_POST_PURCHASING_LIST,
     API_POST_PURCHASING_CLOSEPOSITION,
-
+    API_GET_PROCUREMENT_LIST,
+    API_GET_PROCUREMENT_LOOK,
+    API_POST_PROCUREMENT_ADD,
+    API_POST_PROCUREMENT_EDIT,
+    API_POST_PROCUREMENT_DELETE,
 } from '@/api/V2/purchasingManagement'
+// import { API_GET_PROCUREMENT_LOOK } from '../../api/V2/purchasingManagement'
 //采购详情列表
 export const detailsList = appRx.get(API_GET_PURCHASING_LIST, errorCatcher, errorHandle, filter)
 //采购详情成交
 export const chengList = appRx.post(API_POST_PURCHASING_LIST, errorCatcher, errorHandle, filter)
 //采购详情平仓
 export const closePositionList = appRx.post(API_POST_PURCHASING_CLOSEPOSITION, errorCatcher, errorHandle,filter)
+//采购计划列表
+export const procurementPlan = appRx.get(API_GET_PROCUREMENT_LIST,errorCatcher, errorHandle, filter)
+//采购计划查看
+export const procurementLook = appRx.get(API_GET_PROCUREMENT_LOOK, errorCatcher, errorHandle,filter)
+//采购计划添加
+export const procurementAdd = appRx.post(API_POST_PROCUREMENT_ADD, errorCatcher, errorHandle,filter)
+//采购计划编辑
+export const procurementEdit = appRx.post( API_POST_PROCUREMENT_EDIT, errorCatcher, errorHandle,filter)
+//采购计划删除
+export const procurementDel = appRx.post(API_POST_PROCUREMENT_DELETE, errorCatcher,errorHandle,filter)

+ 3 - 2
src/views/purchasingManagement/component/routers/route.js

@@ -39,7 +39,8 @@ const purchasingManagementRouter = {
         module: 'contractManagement.salesContract',
         permissicon: [],
         keepAlive: true
-      }
+      },
+      hidden: true
     },
     // //采购修改
     {
@@ -70,7 +71,7 @@ const purchasingManagementRouter = {
         keepAlive: true
         // module: 'procurement.sparepart.applDetail'
       },
-      // hidden: true
+      hidden: true
     },
     //采购订单列表
     {

+ 573 - 176
src/views/purchasingManagement/procurementPlanAdd.vue

@@ -18,106 +18,163 @@
       </el-col>
     </el-row>
     <div class="basicInformation">
-      <el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey"></el-radio-group>
+      <!-- <el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey"></el-radio-group> -->
       <div class="center1">
         <div class="small-title">
           <h3>基本信息</h3>
         </div>
         <el-form ref="dataList" :model="dataList" label-width="140px">
           <!-- 标题 -->
-          <el-form-item label="标题" span="1">
-            <el-input v-model="dataList.warehouseName" maxlength="16" placeholder="请输入标题,不超过16个字" />
-          </el-form-item>
+          <ws-form-item label="标题" span="1" prop="title">
+            <el-input v-model="dataList.title" maxlength="16" placeholder="请输入标题,不超过16个字" />
+          </ws-form-item>
           <!-- 货名 -->
-          <el-form-item label="货名" span="1">
-            <el-select v-model="dataList.inOutType" class="typeselect" placeholder="请选择货名" />
-          </el-form-item>
+          <ws-form-item label="货名" span="1" prop="goodsName">
+            <ws-select
+              v-model="dataList.goodsName"
+              placeholder
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <ws-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!-- 计划采购量(吨) -->
-          <el-form-item label="计划采购量(吨)" span="1">
-            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入计划采购量" />
-          </el-form-item>
+          <ws-form-item label="计划采购量(吨)" span="1" prop="plannedPurchaseVolume">
+            <el-input
+              v-model="dataList.plannedPurchaseVolume"
+              class="typeselect"
+              placeholder="请输入计划采购量"
+            />
+          </ws-form-item>
           <!-- 最小成交量 -->
-          <el-form-item label="最小成交量(吨)" span="1">
-            <el-input v-model="dataList.goodsName" placeholder="请输入最小成交量" />
-          </el-form-item>
+          <ws-form-item label="最小成交量(吨)" span="1" prop="minimumVolume">
+            <el-input v-model="dataList.minimumVolume" placeholder="请输入最小成交量" />
+          </ws-form-item>
           <!--类型-->
-          <el-form-item label="类型" span="1">
-            <el-select v-model="dataList.weight" maxlength="120" placeholder="请选择类型" />
-          </el-form-item>
+          <ws-form-item label="类型" span="1" prop="procurementPlanType">
+            <ws-select
+              v-model="dataList.procurementPlanType"
+              placeholder
+              class="typeselect"
+              @change="selectprocurementPlanType"
+            >
+              <ws-option
+                v-for="item in procurementPlanTypeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!-- 价格类型 -->
-          <el-form-item label="价格类型" span="1">
-            <el-input v-model="dataList.grade" placeholder="请输入价格类型"   />
-          </el-form-item>
+          <ws-form-item label="价格类型" span="1" prop="priceType">
+            <el-input v-model="dataList.priceType" disabled />
+          </ws-form-item>
           <!-- 基差 -->
-          <el-form-item label="基差(元/吨)" span="1">
-            <el-input v-model="dataList.grade" placeholder="请输入基差" />
-          </el-form-item>
+          <ws-form-item
+            v-show="dataList.procurementPlanType=='期货'"
+            label="基差(元/吨)"
+            span="1"
+            prop="basisPrice"
+          >
+            <el-input v-model="dataList.basisPrice" placeholder="请输入基差" />
+          </ws-form-item>
           <!--采购价格(元)-->
-          <el-form-item label="采购价格(元)" span="1">
+          <ws-form-item
+            v-show="dataList.procurementPlanType=='现货'"
+            label="采购价格(元)"
+            span="1"
+            prop="procurementPrice"
+          >
             <el-input
-              v-model="dataList.bulkDensity"
+              v-model="dataList.procurementPrice"
               maxlength="120"
               size="small"
               placeholder="请输入采购价格"
             />
-          </el-form-item>
+          </ws-form-item>
           <!--收货库-->
-          <el-form-item label="收货库" span="1">
+          <ws-form-item label="收货库" span="1" prop="receiveWarehouse">
             <el-select
-              v-model="dataList.waterContent"
+              v-model="dataList.receiveWarehouse"
               maxlength="120"
               size="small"
               placeholder="请选择收货库"
+              @change="sendWarehousechange"
             />
-          </el-form-item>
+            <el-option
+              v-for="item in warehouseList"
+              :key="item.constKey"
+              :label="item.warehouseName"
+              :value="item.warehouseName"
+            ></el-option>
+          </ws-form-item>
           <!--收货库所在地区-->
-          <el-form-item label="收货库所在地区" span="1">
-            <el-select
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
-              placeholder="请选择收货库说在地区"
+          <ws-form-item label="收货库所在地区" span="1" prop="receiveArea">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions"
+              clearable
+              size="large"
+              placeholder="请选择收货库所在地区"
+              @change="handleChange"
+              style="width:200%"
             />
-          </el-form-item>
+          </ws-form-item>
           <!--运费承担方-->
-          <el-form-item label="运费承担方" span="1">
-            <el-select
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
-              placeholder="请选择运费承担方"
-            />
-          </el-form-item>
+          <ws-form-item label="运费承担方" span="1" prop="freightPayer">
+            <ws-select
+              v-model="dataList.freightPayer"
+              placeholder
+              class="typeselect"
+              @change="selectfreightPayer"
+            >
+              <ws-option
+                v-for="item in freightPayerList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--包装方式-->
-          <el-form-item label="包装方式" span="1">
-            <el-select
-              v-model="dataList.agent"
-              filterable
-              :filter-method="dataFilter"
-              placeholder="请选择包装方式"
-            ></el-select>
-          </el-form-item>
+          <ws-form-item label="包装方式" span="1" prop="packingType">
+            <ws-select
+              v-model="dataList.packingType"
+              placeholder
+              class="typeselect"
+              @change="selectpackingType"
+            >
+              <ws-option
+                v-for="item in packingTypeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--装袋备注=-->
-          <el-form-item label="装袋备注" span="1">
+          <el-form-item label="装袋备注" span="1" prop="baggingNotes">
             <el-input
-              v-model="dataList.businessDescribe"
+              v-model="dataList.baggingNotes"
               size="small"
               placeholder="请输入装袋要求如:98斤,王中王彩袋"
             />
           </el-form-item>
           <!-- 买方 -->
-          <el-form-item label="买方" span="1">
-            <el-input
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
-              placeholder="请输入买方名称"
-            />
-          </el-form-item>
+          <ws-form-item label="买方" span="1" prop="buyer">
+            <el-input v-model="dataList.buyer" maxlength="120" size="small" placeholder="请输入买方名称" />
+          </ws-form-item>
           <!-- 买方电话 -->
-          <el-form-item label="买方电话" span="1">
+          <el-form-item label="买方电话" span="1" prop="buyerPhone">
             <el-input
-              v-model="dataList.agent"
+              v-model="dataList.buyerPhone"
               filterable
               :filter-method="dataFilter"
               placeholder="请输入买方电话"
@@ -131,65 +188,105 @@
           <h3>货物要求</h3>
         </div>
         <el-form ref="dataList" :model="dataList" label-width="140px">
-          <el-form-item label="水分(%)<=" span="1">
-            <el-input v-model="dataList.warehouseName" class="typeselect" placeholder="请输入水分占比" />
+          <el-form-item label="水分(%)<=" span="1" prop="waterContent">
+            <el-input v-model="dataList.waterContent" class="typeselect" placeholder="请输入水分占比" />
           </el-form-item>
 
           <!-- 容重 -->
-          <el-form-item label="容重(g/l)<=" span="1">
-            <el-input v-model="dataList.warehouseName" class="typeselect" placeholder="请输入容重" />
+          <el-form-item label="容重(g/l)<=" span="1" prop="bulkDensity">
+            <el-input v-model="dataList.bulkDensity" class="typeselect" placeholder="请输入容重" />
           </el-form-item>
           <!-- 热损伤 -->
-          <el-form-item label="热损伤(%)<=" span="1">
-            <el-input v-model="dataList.inOutType" class="typeselect" placeholder="请输入热损伤占比" />
+          <el-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+            <el-input v-model="dataList.jiaorenli" class="typeselect" placeholder="请输入热损伤占比" />
           </el-form-item>
           <!-- 杂质 -->
-          <el-form-item label="杂质(%)<=" span="1">
-            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入杂质占比" />
+          <el-form-item label="杂质(%)<=" span="1" prop="impurity">
+            <el-input v-model="dataList.impurity" class="typeselect" placeholder="请输入杂质占比" />
           </el-form-item>
           <!-- 霉变粒 -->
-          <el-form-item label="霉变粒(%)<=" span="1">
-            <el-input v-model="dataList.goodsName" placeholder="请输入霉变粒占比" />
+          <el-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
+            <el-input v-model="dataList.mildewGrain" placeholder="请输入霉变粒占比" />
           </el-form-item>
           <!--不完善粒(%)<=-->
-          <el-form-item label="不完善粒(%)<=" span="1">
-            <el-input v-model="dataList.weight" maxlength="120" placeholder="请输入不完善粒占比" />
+          <el-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
+            <el-input v-model="dataList.imperfectGrain" maxlength="120" placeholder="请输入不完善粒占比" />
           </el-form-item>
           <!-- 蛋白(%)<= -->
-          <el-form-item label="蛋白(%)<=" span="1">
-            <el-input v-model="dataList.grade" class="typeselect" placeholder="请输入蛋白占比" />
+          <el-form-item label="蛋白(%)<=" span="1" prop="protein">
+            <el-input v-model="dataList.protein" class="typeselect" placeholder="请输入蛋白占比" />
           </el-form-item>
           <!--粒型-->
-          <el-form-item label="粒型" span="1">
-            <el-select
-              v-model="dataList.bulkDensity"
-              maxlength="120"
-              size="small"
-              placeholder="请选择粒型"
-            />
-          </el-form-item>
+          <ws-form-item label="粒型" span="1" prop="grain">
+            <ws-select
+              v-model="dataList.grain"
+              placeholder
+              class="typeselect"
+              @change="selectgrain"
+            >
+              <ws-option
+                v-for="item in grainList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--品级-->
-          <el-form-item label="品级" span="1">
-            <el-select
-              v-model="dataList.waterContent"
-              maxlength="120"
-              size="small"
-              placeholder="请选择品级"
-            />
-          </el-form-item>
+          <ws-form-item label="品级" span="1" prop="grade">
+            <ws-select
+              v-model="dataList.grade"
+              placeholder
+              class="typeselect"
+              @change="selectgrade"
+            >
+              <ws-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--产地-->
-          <el-form-item label="产地" span="1">
-            <el-select
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
+          <ws-form-item label="产地" span="1" prop="unitPrice">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions1"
+              clearable
+              size="large"
               placeholder="请选择产地"
+              @change="handleChange1"
+              style="width:200%"
             />
-          </el-form-item>
+          </ws-form-item>
           <!--产出年份-->
-          <el-form-item label="产出年份" span="1">
-            <el-select v-model="dataList.unitPrice" size="small" placeholder="请选择年份" />
+          <el-form-item label="产出年份" span="1" prop="outputYear">
+            <el-date-picker
+              v-model="dataList.outputYear"
+              type="daterange"
+              align="right"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            ></el-date-picker>
           </el-form-item>
+          <!-- <el-form-item label="产出年份" span="1" prop="outputYear">
+            <el-select v-model="searchTypeText" 
+              :value="searchType"  
+              @change="selecttaskType" 
+              size="small"
+              placeholder="请选择年份" 
+              />
+             <ws-option
+            v-for="item in taskTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+          </el-form-item>-->
         </el-form>
       </div>
     </div>
@@ -200,14 +297,12 @@
   </div>
 </template>
 <script>
-import {
-  getwarehousename,
-  xialaNo,
-  addoreditoutput,
-  outexamine
-} from '@/model/tasksport/index'
+import { procurementAdd } from '@/model/purchasingManagement/index'
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { pullDown } from '@/model/warehouse/index'
 import { packList } from '@/model/contarct/index'
-import { pullDown, getstaff } from '@/model/warehouse/index'
+import { getwarehousename } from '@/model/tasksport/index'
+import { getstaff } from '@/model/warehouse/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import { mapActions, mapGetters, mapState } from 'vuex'
@@ -229,7 +324,7 @@ export default {
     }
   },
   computed: {
-    ...mapGetters(['deptBudgetList'])
+    ...mapGetters(['dataList'])
   },
   data() {
     return {
@@ -244,21 +339,30 @@ export default {
       showType: true,
       // 年
       year: '',
+      options_: regionData,
+      packingTypeList: '',
+      procurementPlanTypeList: '',
+      freightPayerList: '',
+      searchTypeText: '',
+      selectedOptions: [],
+      selectedOptions1: [],
       contractNoList: [],
       deptBudgetTotal: 0,
       readonly: true,
       currentPage: 1,
       pageSize: 10,
       searchType: 1,
+      warehouseList1: [],
       searchKeyWord: '',
       radio: '1',
       contractType: 2,
       startDate: null,
       endDate: null,
-      goodnameList: [],
+      goodnameList: {},
+      grainList: [],
       checked: true,
       form: {},
-
+      pcFlag: 1,
       staffList: [],
       options: [],
       storageType: [],
@@ -273,6 +377,7 @@ export default {
       waterContentchange: [],
       appendixIdsAdd: '',
       uploadSuccess: {},
+      warehouseList: [],
       warehouseInOutDetail: {},
       onChange: {},
       deptBudgetList1: [],
@@ -287,6 +392,7 @@ export default {
           }
         ]
       },
+      outputYear: [],
       size: 10,
       compId: sessionStorage.getItem('ws-pf_compId'),
       deptCircularPage: {},
@@ -297,7 +403,6 @@ export default {
       },
       contractList: [],
       inOutTaskNo: '',
-      inOutTaskNo1: '',
       dataList: { taskTypeKey: '1' },
       dataList1: { taskTypeKey: '1' },
       historyList: [],
@@ -309,15 +414,18 @@ export default {
       accessoryTFs: false
     }
   },
-  mounted() {
-    this.getList()
+  activated() {
+    this.loaddata()
   },
+  mounted() {},
   methods: {
     //返回按钮
     revert() {
       this.$router.go(-1)
     },
     returnsales() {
+      this.dataList = {}
+      // this.selectedOptions = ''
       this.$router.push({ path: 'procurementPlanList' })
     },
     // 获取当前年月日
@@ -367,6 +475,14 @@ export default {
         this.options = this.staffList
       }
     },
+
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
     selectstaff(e) {
       for (var i = 0; i < this.staffList.length; i++) {
         if (this.staffList[i].staffName == e) {
@@ -381,49 +497,352 @@ export default {
         }
       }
     },
-    requestadd(list, status) {
-      this.$refs.dataList.validate(valid => {
-        if (valid) {
-          list.compId = sessionStorage.getItem('ws-pf_compId')
-          list.publisher =
-            sessionStorage.getItem('ws-pf_roleName') +
-            sessionStorage.getItem('ws-pf_staffName')
-          addoreditoutput(list)
-            .toPromise()
-            .then(response => {
-              this.$message.success('添加成功')
-              this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
-            })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+    selectgrain(e) {
+      for (var i = 0; i < this.grainList.length; i++) {
+        if (this.grainList[i].constValue == e) {
+          this.dataList.grainKey = this.grainList[i].constKey
         }
-      })
+      }
+    },
+    selectpackingType(e) {
+      for (var i = 0; i < this.packingTypeList.length; i++) {
+        if (this.packingTypeList[i].constValue == e) {
+          this.dataList.packingTypeKey = this.packingTypeList[i].constKey
+        }
+      }
+    },
+    selectfreightPayer(e) {
+      for (var i = 0; i < this.freightPayerList.length; i++) {
+        if (this.freightPayerList[i].constValue == e) {
+          this.dataList.freightPayerKey = this.freightPayerList[i].constKey
+        }
+      }
+    },
+    selectgrade(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.dataList.gradeKey = this.gradeList[i].constKey
+        }
+      }
+    },
+    selectprocurementPlanType(e) {
+      for (var i = 0; i < this.procurementPlanTypeList.length; i++) {
+        if (this.procurementPlanTypeList[i].constValue == e) {
+          this.dataList.procurementPlanTypekey = this.procurementPlanTypeList[
+            i
+          ].constKey
+        }
+      }
+    },
+    handleChange(value) {
+      this.selectedOptions = value
+      this.dataList.receivePrivate = CodeToText[value[0]]
+      this.dataList.receiveCity = CodeToText[value[1]]
+      this.dataList.receiveArea = CodeToText[value[2]]
+    },
+    handleChange1(value) {
+      this.selectedOptions1 = value
+      this.dataList.receivePrivate = CodeToText[value[0]]
+      this.dataList.receiveCity = CodeToText[value[1]]
+      this.dataList.receiveArea = CodeToText[value[2]]
+    },
+    sendWarehousechange(e) {
+      for (let i = 0; i < this.warehouseList.length; i++) {
+        if (this.warehouseList[i].warehouseName == e) {
+          var tmp = []
+          tmp[0] = TextToCode[this.warehouseList[i].warehousePrivate].code
+          tmp[1] =
+            TextToCode[this.warehouseList[i].warehousePrivate][
+              this.warehouseList[i].warehouseCity
+            ].code
+          tmp[2] =
+            TextToCode[this.warehouseList[i].warehousePrivate][
+              this.warehouseList[i].warehouseCity
+            ][this.warehouseList[i].warehouseArea].code
+          this.selectedOptions = tmp
+          this.deptBudgetList.tranProcessInfoList[0].selectedOptions = tmp
+          this.$set(
+            this.deptBudgetList,
+            'startDetailedAddress',
+            this.warehouseList[i].detailedAddress
+          )
+          this.$set(
+            this.deptBudgetList.tranProcessInfoList[0],
+            'sendDetailedAddress',
+            this.deptBudgetList.startDetailedAddress
+          )
+        }
+      }
+    },
+    submit() {
+      if (this.outputYear) {
+        this.startDate = this.dateFormat('YYYY-mm-dd', this.outputYear[0])
+        this.endDate = this.dateFormat('YYYY-mm-dd', this.outputYear[1])
+      } else {
+        this.startDate = ''
+        this.endDate = ''
+      }
+
+      // this.getList()
     },
     //关闭
     close() {
       this.$router.push({ path: 'procurementPlanList' })
     },
-    //提交按钮
-    // submit() {
-    //   if (this.dataList.taskTypeKey == 1) {
-    //     this.dataList.inOutTaskNo = this.inOutTaskNo
-    //     this.requestadd(this.dataList)
-    //   } else if (this.dataList.taskTypeKey == 2) {
-    //     this.dataList.inOutTaskNo = this.inOutTaskNo1
-    //     this.requestadd(this.dataList)
-    //   } else if (
-    //     this.dataList.taskTypeKey == 3 ||
-    //     this.dataList.taskTypeKey == 4
-    //   ) {
-    //     this.dataList.inOutTaskNo = this.inOutTaskNo
-    //     this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
-    //     this.requestadd(this.dataList, 'repetition')
-    //     this.dataList1.inOutTaskNo = this.inOutTaskNo1
-    //     this.dataList1.relevanceId = this.dataList.relevanceId
-    //     this.requestadd(this.dataList1, 'repetition')
-    //   }
-    // },
+
+    loaddata() {
+      getwarehousename({
+        compId: this.compId
+        // warehouseType: this.dataList.warehouseType,
+      })
+        .toPromise()
+        .then(response => {
+          this.warehouseList = response
+        })
+      // 货名
+      packList({ constId: 'CON2' })
+        .toPromise()
+        .then(response => {
+          this.goodnameList = response
+        })
+      // 品级
+      packList({ constId: 'CON3' })
+        .toPromise()
+        .then(response => {
+          this.gradeList = response
+        })
+      //粒形
+      packList({ constId: 'PRO4' })
+        .toPromise()
+        .then(response => {
+          this.grainList = response
+        })
+      //类型
+      packList({ constId: 'PRO1' })
+        .toPromise()
+        .then(response => {
+          this.procurementPlanTypeList = response
+        })
+      //包装方式
+      packList({ constId: 'PRO2' })
+        .toPromise()
+        .then(response => {
+          this.packingTypeList = response
+        })
+      //运费承担方
+      packList({ constId: 'PRO3' })
+        .toPromise()
+        .then(response => {
+          this.freightPayerList = response
+        })
+    },
+    submit() {
+      // if(!this.dataList.goodName) {
+      //   this.$message({
+      //     message:'货名不能为空',
+      //     type:'warning'
+      //   })
+      //   return
+      // }
+      if (!this.dataList.title) {
+        this.$message({
+          message: '标题不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.plannedPurchaseVolume) {
+        this.$message({
+          message: '计划采购量不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.minimumVolume ||
+        (String(this.dataList.minimumVolume).indexOf('.') != -1 &&
+          String(this.dataList.minimumVolume).length -
+            (String(this.dataList.minimumVolume).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '最小交易量输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.procurementPlanType) {
+        this.$message({
+          message: '类型不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      // if(!this.dataList.receiveWarehouse) {
+      //   this.$message({
+      //     message:'收货库不能为空',
+      //     type:'warning'
+      //   })
+      //   return
+      // }
+      // if(!this.dataList.freightPayer) {
+      //   this.$message({
+      //     message:'运费承担方不能为空',
+      //     type:'warning'
+      //   })
+      //   return
+      // }
+      if (!this.dataList.packingType) {
+        this.$message({
+          message: '包装方式不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.buyer) {
+        this.$message({
+          message: '买方不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.buyerPhone) {
+        this.$message({
+          message: '请输入买方电话!',
+          type: 'warning'
+        })
+        return
+      }
+      if (isNaN(this.dataList.buyerPhone)) {
+        this.$message({
+          message: '输入买方电话有误!',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.buyerPhone.length < 6 ||
+        this.dataList.buyerPhone.length > 15
+      ) {
+        this.$message({
+          message: '买方电话输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.waterContent) {
+        this.$message({
+          message: '水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.bulkDensity ||
+        (String(this.dataList.bulkDensity).indexOf('.') != -1 &&
+          String(this.dataList.bulkDensity).length -
+            (String(this.dataList.bulkDensity).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '容重输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.impurity ||
+        (String(this.dataList.impurity).indexOf('.') != -1 &&
+          String(this.dataList.impurity).length -
+            (String(this.dataList.impurity).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '杂质输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.mildewGrain ||
+        (String(this.dataList.mildewGrain).indexOf('.') != -1 &&
+          String(this.dataList.mildewGrain).length -
+            (String(this.dataList.mildewGrain).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '霉变粒输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.jiaorenli ||
+        (String(this.dataList.jiaorenli).indexOf('.') != -1 &&
+          String(this.dataList.jiaorenli).length -
+            (String(this.dataList.jiaorenli).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '热损伤输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.imperfectGrain ||
+        (String(this.dataList.imperfectGrain).indexOf('.') != -1 &&
+          String(this.dataList.imperfectGrain).length -
+            (String(this.dataList.imperfectGrain).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '不完整粒输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      this.dataList.id = this.$route.query.id
+      this.$confirm(`提交后该采购信息将发布到交易平台,是否确定提交?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      })
+        .then(() => {
+          this.$refs.dataList.validate(valid => {
+            if (valid) {
+              this.dataList.sourceProvince = CodeToText[this.selectedOptions[0]]
+              this.dataList.sourceCity = CodeToText[this.selectedOptions[1]]
+
+              this.dataList.deliveryProvince =
+                CodeToText[this.selectedOptions1[0]]
+              this.dataList.deliveryCity = CodeToText[this.selectedOptions1[1]]
+
+              this.dataList.compId = this.compId
+              // this.dataList.contractType = 1
+              // this.dataList.goodsType = 1
+              this.dataList.pcFlag = 1
+              this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+
+              procurementAdd(this.dataList)
+                .toPromise()
+                .then(response => {
+                  this.$message.success('添加成功')
+                  ;(this.outputYear = ''),
+                    this.$router.push({ path: 'procurementPlanList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          console.log(3523543534)
+          return false
+        })
+    },
+
     selectwarehouseName() {},
     tarechange(e) {
       if (this.dataList.grossWeight && this.dataList.tare) {
@@ -446,13 +865,6 @@ export default {
         }
       }
     },
-    selectgoodsName1(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.dataList1.goodsNameKey = this.goodnameList[i].constKey
-        }
-      }
-    },
     selectpackingMethod(e) {
       for (var i = 0; i < this.packtypeList.length; i++) {
         if (this.packtypeList[i].constValue == e) {
@@ -492,24 +904,6 @@ export default {
       var Rand = Math.random()
       return Min + Math.round(Rand * Range)
     },
-    getList() {
-      outexamine({ relevanceId: this.$route.query.relevanceId })
-        .toPromise()
-        .then(response => {
-          if (response.length > 1) {
-            this.dataList = response[0]
-            this.dataList1 = response[1]
-          } else {
-            console.log(response[0].taskTypeKey)
-            if (response[0].taskTypeKey == 2) {
-              this.dataList1 = response[0]
-            } else {
-              this.dataList = response[0]
-            }
-          }
-        })
-    },
-
     // deletecontract(){},
     //删除
     approve() {},
@@ -748,4 +1142,7 @@ export default {
   top: 21%;
   font-size: 20px;
 }
+/deep/.typeselect .el-input__inner {
+  color: #8890b1;
+}
 </style>

+ 532 - 181
src/views/purchasingManagement/procurementPlanEdit.vue

@@ -18,111 +18,165 @@
       </el-col>
     </el-row>
     <div class="basicInformation">
-      <el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey"></el-radio-group>
+      <!-- <el-radio-group @change="tasktypechange" v-model="dataList.taskTypeKey"></el-radio-group> -->
       <div class="center1">
         <div class="small-title">
           <h3>基本信息</h3>
         </div>
         <el-form ref="dataList" :model="dataList" label-width="140px">
           <!-- 标题 -->
-          <el-form-item label="标题" span="1">
-            <el-input v-model="dataList.warehouseName" maxlength="16" placeholder="请输入标题,不超过16个字" />
-          </el-form-item>
+          <ws-form-item label="标题" span="1" prop="title">
+            <el-input v-model="dataList.title" maxlength="16" placeholder="请输入标题,不超过16个字" />
+          </ws-form-item>
           <!-- 货名 -->
-          <el-form-item label="货名" span="1">
-            <el-select
-              v-model="dataList.inOutType"
-              class="typeselect"
-              placeholder="请选择货名"
+          <ws-form-item label="货名" span="1" prop="goodsName">
+            <ws-select
               disabled
-            />
-          </el-form-item>
+              v-model="dataList.goodsName"
+              placeholder
+              class="typeselect"
+              @change="selectgoodsName"
+            >
+              <ws-option
+                v-for="item in goodnameList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!-- 计划采购量(吨) -->
-          <el-form-item label="计划采购量(吨)" span="1">
-            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入计划采购量" />
-          </el-form-item>
+          <ws-form-item label="计划采购量(吨)" span="1" prop="plannedPurchaseVolume">
+            <el-input
+              v-model="dataList.plannedPurchaseVolume"
+              class="typeselect"
+              placeholder="请输入计划采购量"
+            />
+          </ws-form-item>
           <!-- 最小成交量 -->
-          <el-form-item label="最小成交量(吨)" span="1">
-            <el-input v-model="dataList.goodsName" placeholder="请输入最小成交量" />
-          </el-form-item>
+          <ws-form-item label="最小成交量(吨)" span="1" prop="minimumVolume">
+            <el-input v-model="dataList.minimumVolume" placeholder="请输入最小成交量" />
+          </ws-form-item>
           <!--类型-->
-          <el-form-item label="类型" span="1">
-            <el-select v-model="dataList.weight" maxlength="120" placeholder="请选择类型" disabled />
-          </el-form-item>
+          <ws-form-item label="类型" span="1" prop="procurementPlanType">
+            <ws-select
+              disabled
+              v-model="dataList.procurementPlanType"
+              placeholder
+              class="typeselect"
+              @change="selectprocurementPlanType"
+            >
+              <ws-option
+                v-for="item in procurementPlanTypeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!-- 价格类型 -->
-          <el-form-item label="价格类型" span="1">
-            <el-input v-model="dataList.grade" placeholder="请输入价格类型" disabled />
-          </el-form-item>
+          <ws-form-item label="价格类型" span="1" prop="priceType">
+            <el-input v-model="dataList.priceType" disabled />
+          </ws-form-item>
           <!-- 基差 -->
-          <el-form-item label="基差(元/吨)" span="1">
-            <el-input v-model="dataList.grade" placeholder="请输入基差" />
-          </el-form-item>
+          <ws-form-item
+            v-show="dataList.procurementPlanType=='期货'"
+            label="基差(元/吨)"
+            span="1"
+            prop="basisPrice"
+          >
+            <el-input v-model="dataList.basisPrice" placeholder="请输入基差" />
+          </ws-form-item>
           <!--采购价格(元)-->
-          <el-form-item label="采购价格(元)" span="1">
+          <ws-form-item
+            v-show="dataList.procurementPlanType=='现货'"
+            label="采购价格(元)"
+            span="1"
+            prop="procurementPrice"
+          >
             <el-input
-              v-model="dataList.bulkDensity"
+              v-model="dataList.procurementPrice"
               maxlength="120"
               size="small"
               placeholder="请输入采购价格"
             />
-          </el-form-item>
+          </ws-form-item>
           <!--收货库-->
-          <el-form-item label="收货库" span="1">
+          <ws-form-item label="收货库" span="1" prop="receiveWarehouse">
             <el-select
-              v-model="dataList.waterContent"
+              disabled
+              v-model="dataList.receiveWarehouse"
               maxlength="120"
               size="small"
-              placeholder="请选择收货库"
+              
             />
-          </el-form-item>
+            <el-option
+              v-for="item in warehouseList1"
+              :key="item.constKey"
+              :label="item.warehouseName"
+              :value="item.warehouseName"
+            ></el-option>
+          </ws-form-item>
           <!--收货库所在地区-->
-          <el-form-item label="收货库所在地区" span="1">
-            <el-select
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
-              placeholder="请选择收货库说在地区"
+          <ws-form-item label="收货库所在地区" span="1" prop="receiveArea">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions"
+              clearable
+              size="large"
+              placeholder="请选择收货库所在地区"
+              @change="handleChange"
+              style="width:200%"
             />
-          </el-form-item>
+          </ws-form-item>
           <!--运费承担方-->
-          <el-form-item label="运费承担方" span="1">
-            <el-select
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
-              placeholder="请选择运费承担方"
-            />
-          </el-form-item>
+          <ws-form-item label="运费承担方" span="1" prop="freightPayer">
+            <ws-select
+              v-model="dataList.freightPayer"
+              placeholder
+              class="typeselect"
+              @change="selectfreightPayer"
+            >
+              <ws-option
+                v-for="item in freightPayerList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--包装方式-->
-          <el-form-item label="包装方式" span="1">
-            <el-select
-              v-model="dataList.agent"
-              filterable
-              :filter-method="dataFilter"
-              placeholder="请选择包装方式"
-            ></el-select>
-          </el-form-item>
+          <ws-form-item label="包装方式" span="1" prop="packingType">
+            <ws-select
+              v-model="dataList.packingType"
+              placeholder
+              class="typeselect"
+              @change="selectpackingType"
+            >
+              <ws-option
+                v-for="item in packingTypeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--装袋备注=-->
-          <el-form-item label="装袋备注" span="1">
+          <el-form-item label="装袋备注" span="1" prop="baggingNotes">
             <el-input
-              v-model="dataList.businessDescribe"
+              v-model="dataList.baggingNotes"
               size="small"
               placeholder="请输入装袋要求如:98斤,王中王彩袋"
             />
           </el-form-item>
           <!-- 买方 -->
-          <el-form-item label="买方" span="1">
-            <el-input
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
-              placeholder="请输入买方名称"
-            />
-          </el-form-item>
+          <ws-form-item label="买方" span="1" prop="buyer">
+            <el-input v-model="dataList.buyer" maxlength="120" size="small" placeholder="请输入买方名称" />
+          </ws-form-item>
           <!-- 买方电话 -->
-          <el-form-item label="买方电话" span="1">
+          <el-form-item label="买方电话" span="1" prop="buyerPhone">
             <el-input
-              v-model="dataList.agent"
+              v-model="dataList.buyerPhone"
               filterable
               :filter-method="dataFilter"
               placeholder="请输入买方电话"
@@ -136,64 +190,90 @@
           <h3>货物要求</h3>
         </div>
         <el-form ref="dataList" :model="dataList" label-width="140px">
-          <el-form-item label="水分(%)<=" span="1">
-            <el-input v-model="dataList.warehouseName" class="typeselect" placeholder="请输入水分占比" />
+          <el-form-item label="水分(%)<=" span="1" prop="waterContent">
+            <el-input v-model="dataList.waterContent" class="typeselect" placeholder="请输入水分占比" />
           </el-form-item>
 
           <!-- 容重 -->
-          <el-form-item label="容重(g/l)<=" span="1">
-            <el-input v-model="dataList.warehouseName" class="typeselect" placeholder="请输入容重" />
+          <el-form-item label="容重(g/l)<=" span="1" prop="bulkDensity">
+            <el-input v-model="dataList.bulkDensity" class="typeselect" placeholder="请输入容重" />
           </el-form-item>
           <!-- 热损伤 -->
-          <el-form-item label="热损伤(%)<=" span="1">
-            <el-input v-model="dataList.inOutType" class="typeselect" placeholder="请输入热损伤占比" />
+          <el-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+            <el-input v-model="dataList.jiaorenli" class="typeselect" placeholder="请输入热损伤占比" />
           </el-form-item>
           <!-- 杂质 -->
-          <el-form-item label="杂质(%)<=" span="1">
-            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入杂质占比" />
+          <el-form-item label="杂质(%)<=" span="1" prop="impurity">
+            <el-input v-model="dataList.impurity" class="typeselect" placeholder="请输入杂质占比" />
           </el-form-item>
           <!-- 霉变粒 -->
-          <el-form-item label="霉变粒(%)<=" span="1">
-            <el-input v-model="dataList.goodsName" placeholder="请输入霉变粒占比" />
+          <el-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
+            <el-input v-model="dataList.mildewGrain" placeholder="请输入霉变粒占比" />
           </el-form-item>
           <!--不完善粒(%)<=-->
-          <el-form-item label="不完善粒(%)<=" span="1">
-            <el-input v-model="dataList.weight" maxlength="120" placeholder="请输入不完善粒占比" />
+          <el-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
+            <el-input v-model="dataList.imperfectGrain" maxlength="120" placeholder="请输入不完善粒占比" />
           </el-form-item>
           <!-- 蛋白(%)<= -->
-          <el-form-item label="蛋白(%)<=" span="1">
-            <el-input v-model="dataList.grade" class="typeselect" placeholder="请输入蛋白占比" />
+          <el-form-item label="蛋白(%)<=" span="1" prop="protein">
+            <el-input v-model="dataList.protein" class="typeselect" placeholder="请输入蛋白占比" />
           </el-form-item>
           <!--粒型-->
-          <el-form-item label="粒型" span="1">
-            <el-select
-              v-model="dataList.bulkDensity"
-              maxlength="120"
-              size="small"
-              placeholder="请选择粒型"
-            />
-          </el-form-item>
+          <ws-form-item label="粒型" span="1" prop="grain">
+            <ws-select
+              v-model="dataList.grain"
+              placeholder
+              class="typeselect"
+              @change="selectgrain"
+            >
+              <ws-option
+                v-for="item in grainList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--品级-->
-          <el-form-item label="品级" span="1">
-            <el-select
-              v-model="dataList.waterContent"
-              maxlength="120"
-              size="small"
-              placeholder="请选择品级"
-            />
-          </el-form-item>
+          <ws-form-item label="品级" span="1" prop="grade">
+            <ws-select
+              v-model="dataList.grade"
+              placeholder
+              class="typeselect"
+              @change="selectgrade"
+            >
+              <ws-option
+                v-for="item in gradeList"
+                :key="item.constKey"
+                :label="item.constValue"
+                :value="item.constValue"
+              />
+            </ws-select>
+          </ws-form-item>
           <!--产地-->
-          <el-form-item label="产地" span="1">
-            <el-select
-              v-model="dataList.unitPrice"
-              maxlength="120"
-              size="small"
+          <ws-form-item label="产地" span="1" prop="unitPrice">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions1"
+              clearable
+              size="large"
               placeholder="请选择产地"
+              @change="handleChange1"
+              style="width:200%"
             />
-          </el-form-item>
+          </ws-form-item>
           <!--产出年份-->
-          <el-form-item label="产出年份" span="1">
-            <el-select v-model="dataList.unitPrice" size="small" placeholder="请选择年份" />
+          <el-form-item label="产出年份" span="1" prop="outputYear">
+           <el-date-picker
+              v-model="outputYear"
+              type="daterange"
+              align="right"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+        >
+        </el-date-picker>
           </el-form-item>
         </el-form>
       </div>
@@ -205,14 +285,12 @@
   </div>
 </template>
 <script>
-import {
-  getwarehousename,
-  xialaNo,
-  addoreditoutput,
-  outexamine
-} from '@/model/tasksport/index'
+import { procurementLook , procurementEdit } from '@/model/purchasingManagement/index'
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
+import { pullDown } from '@/model/warehouse/index'
 import { packList } from '@/model/contarct/index'
-import { pullDown, getstaff } from '@/model/warehouse/index'
+import {  getwarehousename } from '@/model/tasksport/index'
+import { getstaff } from '@/model/warehouse/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import { mapActions, mapGetters, mapState } from 'vuex'
@@ -234,7 +312,7 @@ export default {
     }
   },
   computed: {
-    ...mapGetters(['deptBudgetList'])
+    ...mapGetters(['dataList'])
   },
   data() {
     return {
@@ -249,21 +327,30 @@ export default {
       showType: true,
       // 年
       year: '',
+       options_: regionData,
+      packingTypeList: '',
+      procurementPlanTypeList: '',
+      freightPayerList: '',
+      searchTypeText: '',
+      selectedOptions: [],
+      selectedOptions1: [],
       contractNoList: [],
       deptBudgetTotal: 0,
       readonly: true,
       currentPage: 1,
       pageSize: 10,
       searchType: 1,
+      warehouseList1:[],
       searchKeyWord: '',
       radio: '1',
       contractType: 2,
       startDate: null,
       endDate: null,
-      goodnameList: [],
+      goodnameList: {},
+      grainList: [],
       checked: true,
       form: {},
-
+       pcFlag:1,
       staffList: [],
       options: [],
       storageType: [],
@@ -292,6 +379,8 @@ export default {
           }
         ]
       },
+
+     outputYear: [],
       size: 10,
       compId: sessionStorage.getItem('ws-pf_compId'),
       deptCircularPage: {},
@@ -302,7 +391,6 @@ export default {
       },
       contractList: [],
       inOutTaskNo: '',
-      inOutTaskNo1: '',
       dataList: { taskTypeKey: '1' },
       dataList1: { taskTypeKey: '1' },
       historyList: [],
@@ -314,15 +402,19 @@ export default {
       accessoryTFs: false
     }
   },
-  mounted() {
-    this.getList()
+  activated() {
+    this.loaddata()
+    this.showType = this.isShow
   },
+  mounted() {},
   methods: {
     //返回按钮
     revert() {
       this.$router.go(-1)
     },
     returnsales() {
+      this.dataList = {}
+      // this.selectedOptions = ''
       this.$router.push({ path: 'procurementPlanList' })
     },
     // 获取当前年月日
@@ -372,6 +464,14 @@ export default {
         this.options = this.staffList
       }
     },
+    
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
     selectstaff(e) {
       for (var i = 0; i < this.staffList.length; i++) {
         if (this.staffList[i].staffName == e) {
@@ -386,49 +486,321 @@ export default {
         }
       }
     },
-    requestadd(list, status) {
-      this.$refs.dataList.validate(valid => {
-        if (valid) {
-          list.compId = sessionStorage.getItem('ws-pf_compId')
-          list.publisher =
-            sessionStorage.getItem('ws-pf_roleName') +
-            sessionStorage.getItem('ws-pf_staffName')
-          addoreditoutput(list)
-            .toPromise()
-            .then(response => {
-              this.$message.success('添加成功')
-              this.$router.push({ path: 'tranManagementWarehouseInOutTask' })
-            })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+    selectgrain(e) {
+      for (var i = 0; i < this.grainList.length; i++) {
+        if (this.grainList[i].constValue == e) {
+          this.dataList.grainKey = this.grainList[i].constKey
         }
-      })
+      }
+    },
+    selectpackingType(e) {
+      for (var i = 0; i < this.packingTypeList.length; i++) {
+        if (this.packingTypeList[i].constValue == e) {
+          this.dataList.packingTypeKey = this.packingTypeList[i].constKey
+        }
+      }
+    },
+    selectfreightPayer(e) {
+      for (var i = 0; i < this.freightPayerList.length; i++) {
+        if (this.freightPayerList[i].constValue == e) {
+          this.dataList.freightPayerKey = this.freightPayerList[i].constKey
+        }
+      }
+    },
+    selectgrade(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.dataList.gradeKey = this.gradeList[i].constKey
+        }
+      }
+    },
+    selectprocurementPlanType(e) {
+      for (var i = 0; i < this.procurementPlanTypeList.length; i++) {
+        if (this.procurementPlanTypeList[i].constValue == e) {
+          this.dataList.procurementPlanTypekey = this.procurementPlanTypeList[
+            i
+          ].constKey
+        }
+      }
+    },
+    handleChange(value) {
+      this.selectedOptions = value
+      this.dataList.receivePrivate = CodeToText[value[0]]
+      this.dataList.receiveCity = CodeToText[value[1]]
+      this.dataList.receiveArea = CodeToText[value[2]]
+    },
+    handleChange1(value) {
+      this.selectedOptions = value
+      this.dataList.receivePrivate = CodeToText[value[0]]
+      this.dataList.receiveCity = CodeToText[value[1]]
+      this.dataList.receiveArea = CodeToText[value[2]]
+    },
+    submit() {
+      if (this.outputYear) {
+        this.startDate = this.dateFormat('YYYY-mm-dd', this.outputYear[0])
+        this.endDate = this.dateFormat('YYYY-mm-dd', this.outputYear[1])
+      } else {
+        this.startDate = ''
+        this.endDate = ''
+      }
+      // this.getList()
     },
     //关闭
     close() {
       this.$router.push({ path: 'procurementPlanList' })
     },
-    //提交按钮
-    // submit() {
-    //   if (this.dataList.taskTypeKey == 1) {
-    //     this.dataList.inOutTaskNo = this.inOutTaskNo
-    //     this.requestadd(this.dataList)
-    //   } else if (this.dataList.taskTypeKey == 2) {
-    //     this.dataList.inOutTaskNo = this.inOutTaskNo1
-    //     this.requestadd(this.dataList)
-    //   } else if (
-    //     this.dataList.taskTypeKey == 3 ||
-    //     this.dataList.taskTypeKey == 4
-    //   ) {
-    //     this.dataList.inOutTaskNo = this.inOutTaskNo
-    //     this.dataList.relevanceId = this.GetRandomNum(100000, 999999)
-    //     this.requestadd(this.dataList, 'repetition')
-    //     this.dataList1.inOutTaskNo = this.inOutTaskNo1
-    //     this.dataList1.relevanceId = this.dataList.relevanceId
-    //     this.requestadd(this.dataList1, 'repetition')
-    //   }
-    // },
+    
+    loaddata() {
+       procurementLook({ id: this.$route.query.id })
+        .toPromise()
+        .then((response) => {
+          this.dataList = response
+        })
+      // 货名
+      packList({ constId: 'CON2' })
+        .toPromise()
+        .then(response => {
+          this.goodnameList = response
+        })
+      // 品级
+      packList({ constId: 'CON3' })
+        .toPromise()
+        .then(response => {
+          this.gradeList = response
+        })
+      //粒形
+      packList({ constId: 'PRO4' })
+        .toPromise()
+        .then(response => {
+          this.grainList = response
+        })
+      //类型
+      packList({ constId: 'PRO1' })
+        .toPromise()
+        .then(response => {
+          this.procurementPlanTypeList = response
+        })
+      //包装方式
+      packList({ constId: 'PRO2' })
+        .toPromise()
+        .then(response => {
+          this.packingTypeList = response
+        })
+      //运费承担方
+      packList({ constId: 'PRO3' })
+        .toPromise()
+        .then(response => {
+          this.freightPayerList = response
+        })
+    },
+    submit() {
+      // if(!this.dataList.goodName) {
+      //   this.$message({
+      //     message:'货名不能为空',
+      //     type:'warning'
+      //   })
+      //   return
+      // }
+      if (!this.dataList.title) {
+        this.$message({
+          message: '标题不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.plannedPurchaseVolume) {
+        this.$message({
+          message: '计划采购量不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.minimumVolume ||
+        (String(this.dataList.minimumVolume).indexOf('.') != -1 &&
+          String(this.dataList.minimumVolume).length -
+            (String(this.dataList.minimumVolume).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '最小交易量输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.procurementPlanType) {
+        this.$message({
+          message: '类型不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      // if(!this.dataList.receiveWarehouse) {
+      //   this.$message({
+      //     message:'收货库不能为空',
+      //     type:'warning'
+      //   })
+      //   return
+      // }
+      // if(!this.dataList.freightPayer) {
+      //   this.$message({
+      //     message:'运费承担方不能为空',
+      //     type:'warning'
+      //   })
+      //   return
+      // }
+      if (!this.dataList.packingType) {
+        this.$message({
+          message: '包装方式不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.buyer) {
+        this.$message({
+          message: '买方不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.buyerPhone) {
+        this.$message({
+          message: '请输入买方电话!',
+          type: 'warning'
+        })
+        return
+      }
+      if (isNaN(this.dataList.buyerPhone)) {
+        this.$message({
+          message: '输入买方电话有误!',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        this.dataList.buyerPhone.length < 6 ||
+        this.dataList.buyerPhone.length > 15
+      ) {
+        this.$message({
+          message: '买方电话输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (!this.dataList.waterContent) {
+        this.$message({
+          message: '水分不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.bulkDensity ||
+        (String(this.dataList.bulkDensity).indexOf('.') != -1 &&
+          String(this.dataList.bulkDensity).length -
+            (String(this.dataList.bulkDensity).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '容重输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.impurity ||
+        (String(this.dataList.impurity).indexOf('.') != -1 &&
+          String(this.dataList.impurity).length -
+            (String(this.dataList.impurity).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '杂质输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.mildewGrain ||
+        (String(this.dataList.mildewGrain).indexOf('.') != -1 &&
+          String(this.dataList.mildewGrain).length -
+            (String(this.dataList.mildewGrain).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '霉变粒输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.jiaorenli ||
+        (String(this.dataList.jiaorenli).indexOf('.') != -1 &&
+          String(this.dataList.jiaorenli).length -
+            (String(this.dataList.jiaorenli).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '热损伤输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      if (
+        !this.dataList.imperfectGrain ||
+        (String(this.dataList.imperfectGrain).indexOf('.') != -1 &&
+          String(this.dataList.imperfectGrain).length -
+            (String(this.dataList.imperfectGrain).indexOf('.') + 1) >
+            2)
+      ) {
+        this.$message({
+          message: '不完整粒输入错误',
+          type: 'warning'
+        })
+        return
+      }
+      this.dataList.id = this.$route.query.id
+      this.$confirm(`提交后该采购信息将发布到交易平台,是否确定提交?`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      })
+        .then(() => {
+          this.$refs.dataList.validate(valid => {
+
+            if (valid) {
+          this.dataList.sourceProvince =
+            CodeToText[this.selectedOptions[0]]
+          this.dataList.sourceCity = CodeToText[this.selectedOptions[1]]
+
+          this.dataList.deliveryProvince =
+            CodeToText[this.selectedOptions1[0]]
+          this.dataList.deliveryCity =
+            CodeToText[this.selectedOptions1[1]]
+            
+          this.dataList.compId = this.compId
+          // this.dataList.pcFlag = 1
+              this.dataList.compId = sessionStorage.getItem('ws-pf_compId')
+
+              procurementEdit(this.dataList)
+                .toPromise()
+                .then(response => {
+                  this.$message.success('添加成功')
+                  
+                  this.$router.push({ path: 'procurementPlanList' })
+                })
+            } else {
+              EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+              return false
+            }
+          })
+        })
+        .catch(() => {
+          console.log(3523543534)
+          return false
+        })
+    },
+
     selectwarehouseName() {},
     tarechange(e) {
       if (this.dataList.grossWeight && this.dataList.tare) {
@@ -451,13 +823,6 @@ export default {
         }
       }
     },
-    selectgoodsName1(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.dataList1.goodsNameKey = this.goodnameList[i].constKey
-        }
-      }
-    },
     selectpackingMethod(e) {
       for (var i = 0; i < this.packtypeList.length; i++) {
         if (this.packtypeList[i].constValue == e) {
@@ -497,24 +862,6 @@ export default {
       var Rand = Math.random()
       return Min + Math.round(Rand * Range)
     },
-    getList() {
-      outexamine({ relevanceId: this.$route.query.relevanceId })
-        .toPromise()
-        .then(response => {
-          if (response.length > 1) {
-            this.dataList = response[0]
-            this.dataList1 = response[1]
-          } else {
-            console.log(response[0].taskTypeKey)
-            if (response[0].taskTypeKey == 2) {
-              this.dataList1 = response[0]
-            } else {
-              this.dataList = response[0]
-            }
-          }
-        })
-    },
-
     // deletecontract(){},
     //删除
     approve() {},
@@ -553,6 +900,7 @@ export default {
       align-items: center;
       text-align: left;
       overflow: hidden;
+      
     }
   }
 }
@@ -753,4 +1101,7 @@ export default {
   top: 21%;
   font-size: 20px;
 }
+/deep/.typeselect .el-input__inner {
+  color: #8890b1;
+}
 </style>

+ 78 - 31
src/views/purchasingManagement/procurementPlanList.vue

@@ -50,14 +50,14 @@
       height="780"
     >
       <el-table-column type="index" label="序号" width="80"></el-table-column>
-      <el-table-column class="table_td" prop="inOutTaskNo" label="采购计划编号"></el-table-column>
-      <el-table-column class="table_td" prop="contractNo" label="标题"></el-table-column>
-      <el-table-column class="table_td" prop="warehouseName" label="货名"></el-table-column>
-      <el-table-column class="table_td" prop="inOutType" label="重量(吨)"></el-table-column>
-      <el-table-column class="table_td" prop="weight" label="基差(元/吨)"></el-table-column>
-      <el-table-column class="table_td" prop="send" label="单价(元/吨)"></el-table-column>
-      <el-table-column class="table_td" prop="predictDate" label="收货库"></el-table-column>
-      <el-table-column prop="taskStatus" label="状态">
+      <el-table-column class="table_td" prop="procurementPlanNo" label="采购计划编号"></el-table-column>
+      <el-table-column class="table_td" prop="title" label="标题"></el-table-column>
+      <el-table-column class="table_td" prop="goodsName" label="货名"></el-table-column>
+      <el-table-column class="table_td" prop="weight" label="重量(吨)"></el-table-column>
+      <el-table-column class="table_td" prop="basisPrice" label="基差(元/吨)"></el-table-column>
+      <el-table-column class="table_td" prop="unitPrice" label="单价(元/吨)"></el-table-column>
+      <el-table-column class="table_td" prop="receiveWarehouse" label="收货库"></el-table-column>
+      <el-table-column prop="status" label="状态">
         <template slot-scope="scope">
           <el-popover
             placement="left"
@@ -68,8 +68,8 @@
           >
             <template>
               <span slot="reference">
-                <span v-if="scope.row.taskStatus == '展示中'" class="executory"></span>
-                <span v-if="scope.row.taskStatus == '已隐藏'" class="inExecution"></span>
+                <span v-if="scope.row.showFlag == '展示中'" class="executory"></span>
+                <span v-if="scope.row.showFlag == '已隐藏'" class="inExecution"></span>
               </span>
             </template>
             <div>
@@ -90,7 +90,7 @@
           </el-popover>
         </template>
       </el-table-column>
-      <el-table-column class="table_td" label="更新时间" prop="establishDate"></el-table-column>
+      <el-table-column class="table_td" label="更新时间" prop="updateDate"></el-table-column>
       <el-table-column prop="seller" label="操作" width="300">
         <template slot-scope="scope">
           <div class="record" @click="handleLook(scope.row)">查看</div>
@@ -104,15 +104,16 @@
       @size-change="handleSizeChange"
       @current-change="handleCurrentChange"
       :current-page="currentPage"
-      :page-size="pageSize"
+      :page-size="deptCircularPage.pageSize"
       layout="total, sizes, prev, pager, next, jumper"
       :total="deptBudgetTotal"
-    ></el-pagination>
+    >
+    </el-pagination>
   </div>
   <!-- </div> -->
 </template>
 <script>
-import { taskList } from '@/model/warehouse/index'
+import { procurementPlan , procurementDel } from '@/model/purchasingManagement/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
@@ -147,21 +148,22 @@ export default {
       year: '',
       pickerOptions: {},
       value2: '',
+      handleSizeChange:'',
       deptBudgetTotal: 0,
       currentPage: 1,
-      tranTypeKey: 1,
+      // tranTypeKey: 1,
       pageSize: 10,
       searchType: 1,
       searchTypeText: '未完成',
       searchKeyWord: '',
       contractType: 2,
-
+      pcFlag:1,
       // 提交类型
       submitType: true,
       size: 10,
       spanArr: [],
       contractNo: '',
-      inOutTaskNo: '',
+      // inOutTaskNo: '',
       compId: sessionStorage.getItem('ws-pf_compId'),
       deptCircularPage: {},
       warehouseList: [],
@@ -183,7 +185,7 @@ export default {
   methods: {
     getList() {
       console.log(123456)
-      taskList({
+      procurementPlan({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
@@ -192,7 +194,6 @@ export default {
         searchType: this.searchType,
         contractNo: this.contractNo,
         pcFlag: this.pcFlag,
-        inOutTaskNo: this.inOutTaskNo
       })
         .toPromise()
         .then(response => {
@@ -203,16 +204,23 @@ export default {
       this.searchType = state
       this.getList()
     },
-    delivery(item) {
+    // delivery(item) {
+    //   this.$router.push({
+    //     path: 'warehouseManagementDelivery',
+    //     query: {
+    //       baseId: item.warehouseId,
+    //       positionId: item.binNumberId,
+    //       warehouseName: item.warehouseName,
+    //       binNumber: item.binNumber,
+    //       capacity: item.capacity
+    //     }
+    //   })
+    // },
+    //编辑
+    handleEdit(row) {
       this.$router.push({
-        path: 'warehouseManagementDelivery',
-        query: {
-          baseId: item.warehouseId,
-          positionId: item.binNumberId,
-          warehouseName: item.warehouseName,
-          binNumber: item.binNumber,
-          capacity: item.capacity
-        }
+        name: 'procurementPlanEdit',
+        query: {  id: row.id },
       })
     },
     getSpanArr(data) {
@@ -246,15 +254,54 @@ export default {
         }
       })
     },
+    //添加
+    handleAdd(){
+      this.$router.push({
+        name: 'procurementPlanAdd',
+      })
+    },
     //查看
     handleLook(row) {
       this.$router.push({
-        path: 'warehouseManagementPutOutLook',
+        name: 'procurementPlanLook',
         query: {
-          relevanceId: row.relevanceId
+         id: row.id
         }
       })
     },
+    handleDelete(row) {
+     var handleDelete = ' '
+     if(row.handleDelete == ''){
+     }
+     this.$confirm(
+       `采购计划删除后不可恢复,是否确定删除?`,
+       {
+         cancelButtonText: '取消',
+         confirmButtonText: '确定',
+         type:'warning'
+       }
+     )
+      .then(() => {
+          procurementDel({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '删除成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  },
+  
+
     //返回
     revert() {
       this.$router.push({ path: 'warehouseManagementList' })
@@ -392,7 +439,7 @@ export default {
     },
     total() {}
   }
-}
+
 </script>
 <style lang="scss" scoped>
 .connert {

+ 51 - 48
src/views/purchasingManagement/procurementPlanLook.vue

@@ -26,59 +26,67 @@
         <el-form ref="dataList" :model="dataList" label-width="140px">
           <!-- 标题 -->
           <el-form-item label="标题">
-            <el-input disabled v-model="dataList.warehouseName" class="typeselect"></el-input>
+            <el-input disabled v-model="dataList.title" class="typeselect"></el-input>
           </el-form-item>
           <!-- 货名 -->
           <el-form-item label="货名">
-            <el-select disabled v-model="dataList.inOutType" class="typeselect"></el-select>
+            <el-input disabled v-model="dataList.goodsName" class="typeselect"></el-input>
           </el-form-item>
           <!-- 合同编号 -->
           <el-form-item label="计划采购量(吨)">
-            <el-input disabled v-model="dataList.contractNo" class="typeselect"></el-input>
+            <el-input disabled v-model="dataList.plannedPurchaseVolume" class="typeselect"></el-input>
           </el-form-item>
           <!-- 货名 -->
           <el-form-item label="最小成交量(吨)">
-            <el-input disabled v-model="dataList.goodsName"></el-input>
+            <el-input disabled v-model="dataList.minimumVolume"></el-input>
           </el-form-item>
           <!--重量(吨)-->
           <el-form-item label="类型" span="1">
-            <el-select disabled v-model="dataList.weight" maxlength="120" />
+            <el-input disabled v-model="dataList.procurementPlanType" maxlength="120" />
           </el-form-item>
           <!-- 价格类型 -->
           <el-form-item label="价格类型">
-            <el-select v-model="dataList.grade" placeholder class="typeselect" disabled></el-select>
+            <el-input v-model="dataList.priceType" placeholder class="typeselect" disabled></el-input>
           </el-form-item>
+          <ws-form-item v-show="dataList.procurementPlanType=='期货'" label="基差(元/吨)" span="1" prop="basisPrice">
+            <el-input v-model="dataList.basisPrice" disabled   maxlength="120" size="small" />
+          </ws-form-item>
           <!--采购价格(元)-->
-          <el-form-item label="采购价格(元)">
-            <el-input disabled v-model="dataList.bulkDensity" maxlength="120" size="small" />
-          </el-form-item>
+         <ws-form-item v-show="dataList.procurementPlanType=='现货'" label="采购价格(元)" span="1" prop="procurementPrice">
+            <el-input
+            disabled
+              v-model="dataList.procurementPrice"
+              maxlength="120"
+              size="small"
+            />
+          </ws-form-item>
           <!--收货库-->
           <el-form-item label="收货库" span="1">
-            <el-select disabled v-model="dataList.waterContent" maxlength="120" size="small" />
+            <el-input disabled v-model="dataList.receiveWarehouse" maxlength="120" size="small" />
           </el-form-item>
           <!--收货库所在地区-->
           <el-form-item label="收货库所在地区" span="1">
-            <el-input disabled v-model="dataList.unitPrice" maxlength="120" size="small" />
+            <!-- <el-input disabled v-model="dataList.unitPrice" maxlength="120" size="small" /> -->{{dataList.receivePrivate}}{{dataList.receiveCity}}{{dataList.receiveArea}}
           </el-form-item>
           <!--运费承担方-->
           <el-form-item label="运费承担方">
-            <el-input disabled v-model="dataList.unitPrice" maxlength="120" size="small" />
+            <el-input disabled v-model="dataList.freightPayer" maxlength="120" size="small" />
           </el-form-item>
           <!--包装方式-->
           <el-form-item label="包装方式">
-            <el-select disabled v-model="dataList.agent" filterable :filter-method="dataFilter"></el-select>
+            <el-input disabled v-model="dataList.packingType" filterable :filter-method="dataFilter"></el-input>
           </el-form-item>
           <!--装袋备注=-->
           <el-form-item label="装袋备注">
-            <el-input disabled v-model="dataList.businessDescribe" size="small" />
+            <el-input disabled v-model="dataList.baggingNotes" size="small" />
           </el-form-item>
           <!-- 买方 -->
           <el-form-item label="买方">
-            <el-input disabled v-model="dataList.unitPrice" maxlength="120" size="small" />
+            <el-input disabled v-model="dataList.buyer" maxlength="120" size="small" />
           </el-form-item>
           <!-- 买方电话 -->
           <el-form-item label="买方电话">
-            <el-input disabled v-model="dataList.agent" filterable :filter-method="dataFilter"></el-input>
+            <el-input disabled v-model="dataList.buyerPhone" filterable :filter-method="dataFilter"></el-input>
           </el-form-item>
           <div class="small-title"></div>
         </el-form>
@@ -89,48 +97,49 @@
         </div>
         <el-form ref="dataList" :model="dataList" label-width="140px">
           <el-form-item label="水分(%)<=">
-            <el-input disabled v-model="dataList.warehouseName" class="typeselect" />
+            <el-input disabled v-model="dataList.waterContent" class="typeselect" />
           </el-form-item>
 
           <!-- 容重 -->
           <el-form-item label="容重(g/l)<=">
-            <el-input disabled v-model="dataList.warehouseName" class="typeselect" />
+            <el-input disabled v-model="dataList.bulkDensity" class="typeselect" />
           </el-form-item>
           <!-- 热损伤 -->
           <el-form-item label="热损伤(%)<=">
-            <el-input disabled v-model="dataList.inOutType" class="typeselect" />
+            <el-input disabled v-model="dataList.jiaorenli" class="typeselect" />
           </el-form-item>
           <!-- 杂质 -->
           <el-form-item label="杂质(%)<=">
-            <el-input disabled v-model="dataList.contractNo" class="typeselect" />
+            <el-input disabled v-model="dataList.impurity" class="typeselect" />
           </el-form-item>
-          <!-- 货名 -->
+          <!-- 霉变粒 -->
           <el-form-item label="霉变粒(%)<=">
-            <el-input disabled v-model="dataList.goodsName" />
+            <el-input disabled v-model="dataList.mildewGrain" />
           </el-form-item>
           <!--不完善粒(%)<=-->
           <el-form-item label="不完善粒(%)<=" span="1">
-            <el-input disabled v-model="dataList.weight" maxlength="120" />
+            <el-input disabled v-model="dataList.imperfectGrain" maxlength="120" />
           </el-form-item>
           <!-- 蛋白(%)<= -->
           <el-form-item label="蛋白(%)<=" span="1">
-            <el-input v-model="dataList.grade" placeholder class="typeselect" disabled />
+            <el-input v-model="dataList.protein" placeholder class="typeselect" disabled />
           </el-form-item>
           <!--粒形-->
           <el-form-item label="粒形" span="1">
-            <el-select disabled v-model="dataList.bulkDensity" maxlength="120" size="small" />
+            <el-input disabled v-model="dataList.grain" maxlength="120" size="small" />
           </el-form-item>
           <!--水分(%)<=-->
           <el-form-item label="品级" span="1">
-            <el-select disabled v-model="dataList.waterContent" maxlength="120" size="small" />
+            <el-input disabled v-model="dataList.grade" maxlength="120" size="small" />
           </el-form-item>
           <!--产地-->
           <el-form-item label="产地" span="1">
-            <el-select disabled v-model="dataList.unitPrice" maxlength="120" size="small" />
+            <!-- <el-input disabled></el-input>    -->
+            {{dataList.outputPrivate}}{{dataList.outputCity}}
           </el-form-item>
           <!--产出年份-->
           <el-form-item label="产出年份" span="1">
-            <el-select v-model="dataList.unitPrice" size="small" disabled />
+            <el-input v-model="dataList.outputYear" size="small" disabled />
           </el-form-item>
         </el-form>
       </div>
@@ -143,11 +152,9 @@
 </template>
 <script>
 import {
-  getwarehousename,
-  xialaNo,
-  addoreditoutput,
-  outexamine
-} from '@/model/tasksport/index'
+
+  procurementLook,
+} from '@/model/purchasingManagement/index'
 import { packList } from '@/model/contarct/index'
 import { pullDown, getstaff } from '@/model/warehouse/index'
 import { downloadFile } from '@/utils/batchDown'
@@ -251,8 +258,12 @@ export default {
       accessoryTFs: false
     }
   },
-  mounted() {
+  activated() {
     this.getList()
+    this.showType = this.isShow
+  },
+  mounted() {
+      this.dataList.id = this.$route.query.id
   },
   methods: {
     //返回按钮
@@ -434,21 +445,13 @@ export default {
       var Rand = Math.random()
       return Min + Math.round(Rand * Range)
     },
-    getList() {
-      outexamine({ relevanceId: this.$route.query.relevanceId })
-        .toPromise()
+    getList(){
+      procurementLook({
+        id: this.$route.query.id
+      })
+      .toPromise()
         .then(response => {
-          if (response.length > 1) {
-            this.dataList = response[0]
-            this.dataList1 = response[1]
-          } else {
-            console.log(response[0].taskTypeKey)
-            if (response[0].taskTypeKey == 2) {
-              this.dataList1 = response[0]
-            } else {
-              this.dataList = response[0]
-            }
-          }
+          this.dataList = response
         })
     },
 

+ 15 - 44
src/views/purchasingManagement/purchaseOrderList.vue

@@ -611,7 +611,7 @@
                 :visible.sync="dialogFormVisible1"
                 :append-to-body="true"
               >
-                <el-form :model="warehouseList">
+                <el-form ref="warehouseList" :model="warehouseList">
                   <el-form-item
                     label="成交价(元/吨)"
                     prop="transactionPrice"
@@ -656,7 +656,7 @@
                 </el-form>
                 <div slot="footer" class="dialog-footer">
                   <el-button @click="dialogFormVisible1 = false">取 消</el-button>
-                  <el-button type="primary" @click="dialogFormVisible11()">确 定</el-button>
+                  <el-button type="primary" @click=" submit()">确 定</el-button>
                 </div>
               </el-dialog>
 
@@ -985,7 +985,7 @@ export default {
   },
   methods: {
     //成交
-    dialogFormVisible11(row) {
+     submit() {
       if (!this.warehouseList.transactionPrice) {
         this.$message({
           message: '成交价不能为空',
@@ -999,17 +999,19 @@ export default {
         type: 'warning'
       })
       .then(() => {
-      chengList({
-         id: row.id,
-         compId: sessionStorage.getItem('ws-pf_compId'),
-         transactionPrice: row.transactionPrice,
-         transactionsNumber: row.transactionsNumber,
-         basis: row.basis,
-      })
+        console.log(23456678790)
+      // chengList({
+      //    id: this.id,
+      //    compId: sessionStorage.getItem('ws-pf_compId'),
+      //    transactionPrice: this.transactionPrice,
+      //    transactionsNumber: this.transactionsNumber,
+      //    basis: this.basis,
+      // })
+      chengList(this.warehouseList)
         .toPromise()
         .then((response) => {
           this.$message.success('添加成功')
-          this.warehouseList = response
+         
           // this.$router.go(-1)
         })
         .catch(() => {
@@ -1019,46 +1021,15 @@ export default {
       })
       
     },
-    //平仓
-    dialogFormVisible22(row){
-    this.$confirm(`确定提交成交信息`, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning'
-      })
-      .then(() => {
-     closePositionList({
-         id: row.id,
-         compId: sessionStorage.getItem('ws-pf_compId'),
-         transactionPrice: row.transactionPrice,
-         transactionsNumber: row.transactionsNumber,
-         basis: row.basis,
-      })
-      // chengList(this.warehouseList)
-        .toPromise()
-        .then(response => {
-          this.$message.success('添加成功')
-          this.getList()
-          // this.$router.go(-1)
-        })
-      })
-      .catch(() => {
-          return false
-        })
-    },
-        
-     
-         
-
     getList() {
       console.log(123456)
       detailsList({
         compId: sessionStorage.getItem('ws-pf_compId'),
-        id :this.id,
         currentPage: this.currentPage,
         pageSize: this.pageSize,
         pcFlag: this.pcFlag,
-        contractNo: this.contractNo
+        searchType: this.searchType,
+        searchKeyWord: this.searchKeyWord,
       })
         .toPromise()
         .then(response => {