Kaynağa Gözat

点价确认单,销售业务管理

zxz 3 yıl önce
ebeveyn
işleme
5cfd9ae373

+ 0 - 0
src/api/V2/salesManagement/index.js


+ 44 - 39
src/lang/zh.js

@@ -492,16 +492,13 @@
     futuresPurchaseContractAdd: '期货采购合同  /  添加',
     futuresPurchaseContractEdit: '期货采购合同  /  编辑',
     futuresPurchaseContractExamine: '期货采购合同  /  查看',
-    priceConfirmationSheet: '期货采购点价确认单',
-    priceConfirmationSheetAdd: '期货采购合同确认单  /  添加',
-    priceConfirmationSheetEdit: '期货采购合同确认单  /  编辑',
+    priceConfirmationSheet: '点价确认单',
+    priceConfirmationSheetAdd: '创建点价确认单',
+    priceConfirmationSheetEdit: '编辑点价确认单',
     futuresSalesContract: '期货销售合同',
     futuresSalesContractAdd: '期货销售合同  /  添加',
     futuresSalesContractEdit: '期货销售合同  /  编辑',
     futuresSalesContractExamine: '期货销售合同  /  查看',
-    salesPriceConfirmationSheet: '期货销售点价确认单',
-    salesPriceConfirmationSheetAdd: '期货销售合同确认单  /  添加',
-    salesPriceConfirmationSheetEdit: '期货销售合同确认单  /  编辑',
 
     //仓库管理
     warehouseManagementList: '仓库管理',
@@ -516,24 +513,32 @@
     warehouseManagementRecord: '记录',
     warehouseManagementNoComplete: '待完成',
     warehouseManagementPerfectput: '编辑',
-    warehouseManagementPutOut:'任务',
-    warehouseManagementPutOutLook:'查看',
+    warehouseManagementPutOut: '任务',
+    warehouseManagementPutOutLook: '查看',
     //客户管理
-    customerList:'客户管理',
+    customerList: '客户管理',
     //采购管理
-    purchasingManagement:'采购业务管理',
-    procurementPlanList:'采购计划',
-    procurementPlanAdd:'采购计划添加',
-    procurementPlanEdit:'采购计划编辑',
-    procurementPlanLook:'采购计划查看',
-    purchaseOrderList:'采购订单',
+    purchasingManagement: '采购业务管理',
+    procurementPlanList: '采购计划',
+    procurementPlanAdd: '采购计划添加',
+    procurementPlanEdit: '采购计划编辑',
+    procurementPlanLook: '采购计划查看',
+    purchaseOrderList: '采购订单',
+
+    //销售管理
+    salesManagement: '销售业务管理',
+    salesPlanList: '销售计划',
+    salesPlanAdd: '销售计划添加',
+    salesPlanEdit: '销售计划编辑',
+    salesPlanLook: '销售计划查看',
+    salesOrderList: '销售订单',
     //统计报表
-    statisticalReport:'统计报表',
-    purchaseReceiptStatisticsList:'采购入库报表',
-    purchaseClosingCashierList:'采购平仓报表',
-    salesDeliveryReport:'销售出库报表',
-    salesClosingCashierList:'销售平仓报表',
-    
+    statisticalReport: '统计报表',
+    purchaseReceiptStatisticsList: '采购入库报表',
+    purchaseClosingCashierList: '采购平仓报表',
+    salesDeliveryReport: '销售出库报表',
+    salesClosingCashierList: '销售平仓报表',
+
     //运输管理
     tranManagement: '运输管理',
     tranManagementDriver: '司机管理',
@@ -545,14 +550,14 @@
     // 任务管理
     taskManagement: '任务管理',
     moveWarehouseTask: '移库任务',
-    moveWarehouseTaskLook : '移库任务查看',
+    moveWarehouseTaskLook: '移库任务查看',
     tranManagementLook: '运输任务查看',
     tranManagementTransportAdd: '运输任务添加',
     tranManagementTransportEdit: '运输任务编辑',
     tranManagementWarehouseInOutTask: '出入库任务',
     tranManagementWarehouseInOutTaskAdd: '出入库任务添加',
-    tranManagementWarehouseInOutTaskEdit:'编辑',
-    tranManagementWarehouseInOutTaskaudit:'审核',
+    tranManagementWarehouseInOutTaskEdit: '编辑',
+    tranManagementWarehouseInOutTaskaudit: '审核',
     tranManagementVehicle: '汽运调度',
     tranManagementVehicleDispatching: '汽车调度',
     tranManagementVehicleLook: '查看派车详情',
@@ -575,7 +580,7 @@
     platformaudit: '平台审核',
     grainmerchantreview: '粮商审核',
     driverreview: '司机审核',
-    transactioninformationreview: '交易信息审核', 
+    transactioninformationreview: '交易信息审核',
 
     // 采购模块
     procurement: '采购管理',
@@ -4770,23 +4775,23 @@
     warehouseManagementNoComplete: '待完成',
     warehouseManagementPerfectput: '编辑',
     warehouseManagementPerfectDelivery: '编辑',
-    warehouseManagementPutOut:'任务',
-    warehouseManagementPutOutLook:'查看',
+    warehouseManagementPutOut: '任务',
+    warehouseManagementPutOutLook: '查看',
 
   },
   //采购计划管理
-  purchasingManagement:{
-    procurementPlanList:'采购计划',
-    procurementPlanAdd:'采购计划添加',
-    procurementPlanEdit:'采购计划编辑',
-    procurementPlanLook:'采购计划查看',
-    purchaseOrderList:'采购订单',
+  purchasingManagement: {
+    procurementPlanList: '采购计划',
+    procurementPlanAdd: '采购计划添加',
+    procurementPlanEdit: '采购计划编辑',
+    procurementPlanLook: '采购计划查看',
+    purchaseOrderList: '采购订单',
   },
   //统计管理
-  statisticalReport:{
-    purchaseReceiptStatisticsList:'采购入库报表',
-    purchaseClosingCashierList:'采购平仓报表',
-    salesDeliveryReportList:'销售入库报表',
+  statisticalReport: {
+    purchaseReceiptStatisticsList: '采购入库报表',
+    purchaseClosingCashierList: '采购平仓报表',
+    salesDeliveryReportList: '销售入库报表',
   },
   //运输管理
   tranManagement: {
@@ -4830,8 +4835,8 @@
   },
   // 任务管理
   taskManagement: '任务管理',
-  tranManagementWarehouseInOutTaskEdit:'编辑',
-  tranManagementWarehouseInOutTaskaudit:'审核',
+  tranManagementWarehouseInOutTaskEdit: '编辑',
+  tranManagementWarehouseInOutTaskaudit: '审核',
   // moveWarehouseTask :'移库任务',
   // 年度培训
   annualTraining: {

+ 0 - 0
src/model/salesManagement/index.js


+ 5 - 52
src/views/contractManagement/component/routers/route.js

@@ -266,7 +266,7 @@ const contractManagementRouter = {
       hidden: true
     },
 
-    //期货采购点价确认单
+    //点价确认单
     {
       path: 'priceConfirmationSheet',
       component: () =>
@@ -279,9 +279,10 @@ const contractManagementRouter = {
         permissicon: [],
         keepAlive: true
         // module: 'procurement.sparepart.applDetail'
-      }
+      },
+      hidden: true
     },
-    //创建采购点价确认单
+    //创建点价确认单
     {
       path: 'priceConfirmationSheetAdd',
       component: () =>
@@ -297,7 +298,7 @@ const contractManagementRouter = {
       },
       hidden: true
     },
-    //编辑采购点价确认单
+    //编辑点价确认单
     {
       path: 'priceConfirmationSheetEdit',
       component: () =>
@@ -313,54 +314,6 @@ const contractManagementRouter = {
       },
       hidden: true
     },
-
-    //期货销售点价确认单
-    {
-      path: 'salesPriceConfirmationSheet',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/salesPriceConfirmationSheet'),
-      name: 'salesPriceConfirmationSheet',
-      meta: {
-        title: 'salesPriceConfirmationSheet',
-        shortcutEntrance: 'contractManagement',
-        module: 'contractManagement.salesContract',
-        permissicon: [],
-        keepAlive: true
-        // module: 'procurement.sparepart.applDetail'
-      }
-    },
-    //创建销售点价确认单
-    {
-      path: 'salesPriceConfirmationSheetAdd',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/salesPriceConfirmationSheetAdd'),
-      name: 'salesPriceConfirmationSheetAdd',
-      meta: {
-        title: 'salesPriceConfirmationSheetAdd',
-        shortcutEntrance: 'contractManagement',
-        module: 'contractManagement.salesContract',
-        permissicon: [],
-        keepAlive: true
-        // module: 'procurement.sparepart.applDetail'
-      },
-      hidden: true
-    },
-    //编辑销售点价确认单
-    {
-      path: 'salesPriceConfirmationSheetEdit',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/contractManagement/salesPriceConfirmationSheetEdit'),
-      name: 'salesPriceConfirmationSheetEdit',
-      meta: {
-        title: 'salesPriceConfirmationSheetEdit',
-        shortcutEntrance: 'contractManagement',
-        module: 'contractManagement.salesContract',
-        permissicon: [],
-        keepAlive: true
-        // module: 'procurement.sparepart.applDetail'
-      },
-      hidden: true
-    },
   ],
 
 };

+ 7 - 6
src/views/contractManagement/futuresPurchaseContractEdit.vue

@@ -763,8 +763,8 @@ export default {
             this.deptBudgetList.deliverType1 = '对方送货'
           }
           if(this.deptBudgetList.addressUrl != null){
-            this.addressUrls = this.deptBudgetList.addressUrl.split(",")
-            this.fileList = this.deptBudgetList.addressUrl.split(",")
+            this.addressUrls = this.deptBudgetList.addressUrl.split(',')
+            this.fileList = this.deptBudgetList.addressUrl.split(',')
           }
         })
 
@@ -827,8 +827,8 @@ export default {
     },
     // 上传附件
     uploadSuccessHandle(e) {
-      this.addressUrl += e.url+""
-       this.addressUrls.push(this.addressUrl.split(","))
+      this.addressUrl += e.url+''
+       this.addressUrls.push(this.addressUrl.split(','))
     },
     getUnitList() {
       xiala({
@@ -1493,12 +1493,13 @@ export default {
         
           this.deptBudgetList.compId = this.compId
           this.deptBudgetList.contractType = 2
-           if(this.deptBudgetList.deliveryProvince =="澳门特别行政区" || this.deptBudgetList.deliveryProvince == "澳门特别行政区"){
-            this.deptBudgetList.deliveryArea = "特别行政区"
+           if(this.deptBudgetList.deliveryProvince =='澳门特别行政区' || this.deptBudgetList.deliveryProvince == '澳门特别行政区'){
+            this.deptBudgetList.deliveryArea = '特别行政区'
           }else{ 
                  this.deptBudgetList.deliveryArea =  CodeToText[this.selectedOptions[2]]
           }
           this.deptBudgetList.addressUrl = this.addressUrls.toString()
+
           editInfo(this.deptBudgetList)
             .toPromise()
             .then((response) => {

+ 5 - 1
src/views/contractManagement/futuresPurchaseContractExamine.vue

@@ -287,6 +287,9 @@ export default {
       },
       mainReportAdd: {},
       list: {},
+      // contractNo:this.deptBudgetList.contractNo,
+      // contractType : this.deptBudgetList.contractType
+
     }
   },
 
@@ -377,7 +380,8 @@ export default {
       this.$router.push({ path: 'futuresPurchaseContract' })
     },
     confirmationsheet() {
-      this.$router.push({ path: 'priceConfirmationSheet' })
+      this.$router.push({ path: 'priceConfirmationSheet',
+      query: { contractNo: this.deptBudgetList.contractNo , contractType: this.deptBudgetList.contractType } })
     },
   },
 }

+ 1 - 1
src/views/contractManagement/futuresSalesContract.vue

@@ -315,7 +315,7 @@ export default {
       searchType: 1,
       searchTypeText: '未完成',
       searchKeyWord: '',
-      contractType: 2,
+      contractType: 1,
       goodsType: 2,
       startDate: null,
       endDate: null,

+ 2 - 1
src/views/contractManagement/futuresSalesContractExamine.vue

@@ -377,7 +377,8 @@ export default {
       this.$router.push({ path: 'futuresSalesContract' })
     },
     confirmationsheet() {
-      this.$router.push({ path: 'salesPriceConfirmationSheet' })
+      this.$router.push({ path: 'priceConfirmationSheet',
+      query: { contractNo: this.deptBudgetList.contractNo , contractType: this.deptBudgetList.contractType } })
     },
   },
 }

+ 49 - 41
src/views/contractManagement/priceConfirmationSheet.vue

@@ -24,8 +24,11 @@
     <div class="wenzi">
       <h3>所属合同</h3>
       <p>
-        &nbsp;&nbsp;采购合同(
-        <template>{{ contractNo }}</template>
+        &nbsp;&nbsp;<template>
+              <span v-if="this.$route.query.contractType == '1'">销售合同</span>
+              <span v-if="this.$route.query.contractType == '2'">采购合同</span>
+            </template>(
+        <template>{{ this.$route.query.contractNo }}</template>
         )
       </p>
       <div class="tianjiaanniu">
@@ -203,7 +206,8 @@ export default {
       selectedOptions1: [],
       // 提交类型
       submitType: true,
-      contractNo: 'JYNCG20210423-21',
+      contractNo: '',
+      contractType:'',
       size: 10,
       unitList: [],
       addressUrls: [],
@@ -230,51 +234,52 @@ export default {
       this.selectedOptions1 = value
     },
     returnsales() {
-      this.$router.push({ path: 'salesContract' })
+      if(this.$route.query.contractType == '1'){
+        this.$router.push({ path: 'futuresSalesContractExamine',
+        query: { contractNo: this.deptBudgetList.contractNo , contractType: this.deptBudgetList.contractType } })
+      }else{
+        this.$router.push({ path: 'futuresPurchaseContractExamine',
+        query: { contractNo: this.deptBudgetList.contractNo , contractType: this.deptBudgetList.contractType } })
+      }
+      
     },
     //创建点价确认单
     sheetAdd() {
-      this.$router.push({ path: 'priceConfirmationSheetAdd' })
+      this.$router.push({ path: 'priceConfirmationSheetAdd' 
+      ,query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType } })
     },
     // 编辑点价确认单
-    sheetEdit(row) {
+    sheetEdit(item) {
       this.$router.push({ path: 'priceConfirmationSheetEdit' ,
-        query: { contractNo: row.contractNo ,priceListNo: row.priceListNo}})
+        query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType ,priceListNo:item.priceListNo}})
     },
     // 删除点价确认单
-    sheetDelete(item, index) {
-      //   this.$confirm(`确认单删除后不可恢复,是否确定删除?`, '提示', {
-      //     confirmButtonText: '确定',
-      //     cancelButtonText: '取消',
-      //     type: 'warning',
-      //   })
-      //     .then(() => {
-      //       delDriver({ id: row.id })
-      //         .toPromise()
-      //         .then((response) => {
-      //           this.$notify.success({
-      //             title: '成功',
-      //             message: '删除成功',
-      //           })
-      //           this.getUnitList()
-      //           this.pleaseChoose = ''
-      //         })
-      //         .catch((response) => {
-      //           console.log(response)
-      //           EventBus.$emit('error', response.message)
-      //         })
-      //     })
-      //     .catch(() => {
-      //       return false
-      //     })
-      //   if (Object.is(item.constKey, 1)) {
-      //     return
-      //   }
-      //   if (!item.constValue) {
-      //     this.unitList.splice(index, 1)
-      //     return
-      //   }
-      //   delxiala({ id: this.unitList[index].id })
+    sheetDelete(row) {
+        this.$confirm(`确认单删除后不可恢复,是否确定删除?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        })
+          .then(() => {
+            deletePriceConfirmationSheet({ id: row.id })
+              .toPromise()
+              .then((response) => {
+                this.$notify.success({
+                  title: '成功',
+                  message: '删除成功',
+                })
+                this.getUnitList()
+                this.pleaseChoose = ''
+              })
+              .catch((response) => {
+                console.log(response)
+                EventBus.$emit('error', response.message)
+              })
+          })
+          .catch(() => {
+            return false
+          })
+   
     },
     fujian(row) {
       if (row.addressUrl === null || row.addressUrl === '') {
@@ -289,11 +294,14 @@ export default {
     },
     getUnitList() {
       selectConfirmationSheet({
-        contractNo: this.contractNo,
+        contractNo: this.$route.query.contractNo,
+        contractType :this.$route.query.contractType,
       })
         .toPromise()
         .then((response) => {
           this.unitList = response
+          // this.contractType = this.contractType
+          // this.contractNo = this.contractNo
           this.deptBudgetList = response
           this.unitList.forEach((item, index, arr) => {
             item.flag = 'delete'

+ 13 - 8
src/views/contractManagement/priceConfirmationSheetAdd.vue

@@ -24,8 +24,11 @@
     <div class="wenzi">
       <h3>所属合同</h3>
       <p>
-        &nbsp;&nbsp;采购合同(
-        <template>{{ this.deptBudgetList.contractNo }}</template>
+        &nbsp;&nbsp;<template>
+              <span v-if="this.$route.query.contractType == '1'">销售合同</span>
+              <span v-if="this.$route.query.contractType == '2'">采购合同</span>
+            </template>(
+        <template>{{ this.$route.query.contractNo }}</template>
         )
       </p>
     </div>
@@ -235,8 +238,8 @@ export default {
       size: 10,
       unitList: [],
       priceConfirmationSheet: {
-        contractNo: 'JYNCG20210423-21',
-        contractType: '2',
+        contractNo: this.$route.query.contractNo,
+        contractType :this.$route.query.contractType,
         enclosureTypeFlag: '0',
         varietyContractDirection: '',
         buyer: '',
@@ -270,7 +273,8 @@ export default {
       this.selectedOptions1 = value
     },
     returnsales() {
-      this.$router.push({ path: 'priceConfirmationSheet' })
+      this.$router.push({ path: 'priceConfirmationSheet',
+      query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType } })
     },
 
     // 上传附件
@@ -468,8 +472,8 @@ export default {
         })
         return
       }
-      this.deptBudgetList.contractType = '2'
-      this.deptBudgetList.contractNo = 'JYNCG20210423-21'
+      this.deptBudgetList.contractType = this.$route.query.contractType,
+      this.deptBudgetList.contractNo = this.$route.query.contractNo,
       this.deptBudgetList.enclosureTypeFlag = '0'
       this.priceConfirmationSheet = this.deptBudgetList
       this.$confirm(`确定提交确认单信息`, {
@@ -482,7 +486,8 @@ export default {
         .toPromise()
         .then((response) => {
           this.$message.success('添加成功')
-          this.$router.push({ path: 'priceConfirmationSheet' })
+          this.$router.push({ path: 'priceConfirmationSheet'
+          ,query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType } })
         })
         })
         .catch(() => {

+ 25 - 16
src/views/contractManagement/priceConfirmationSheetEdit.vue

@@ -24,8 +24,11 @@
     <div class="wenzi">
       <h3>所属合同</h3>
       <p>
-        &nbsp;&nbsp;采购合同(
-        <template>{{ this.deptBudgetList.contractNo }}</template>
+        &nbsp;&nbsp;<template>
+              <span v-if="this.$route.query.contractType == '1'">销售合同</span>
+              <span v-if="this.$route.query.contractType == '2'">采购合同</span>
+            </template>(
+        <template>{{ this.$route.query.contractNo }}</template>
         )
       </p>
     </div>
@@ -242,12 +245,12 @@ export default {
       submitType: true,
       size: 10,
       unitList: [],
-      priceConfirmationSheet: {
-        contractNo: 'JYNCG20210423-21',
-        contractType: '2',
-        enclosureTypeFlag: '0',
-
-        priceListNo: '',
+            priceConfirmationSheet: {
+         contractNo: this.$route.query.contractNo,
+         contractType :this.$route.query.contractType,
+         priceListNo: this.$route.query.priceListNo
+        // enclosureTypeFlag: '0',
+     
       },
       addressUrls: [],
       deptBudgetList: {},
@@ -274,7 +277,8 @@ export default {
       this.selectedOptions1 = value
     },
     returnsales() {
-      this.$router.push({ path: 'priceConfirmationSheet' })
+      this.$router.push({ path: 'priceConfirmationSheet',
+      query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType } })
     },
 
     // 上传附件
@@ -293,10 +297,14 @@ export default {
       // 数据
       selectConfirmationSheet({
         contractNo: this.$route.query.contractNo,
+         contractType: this.$route.query.contractType,
+         priceListNo: this.$route.query.priceListNo
+
+
+
       })
         .toPromise()
         .then((response) => {
-          console.log('fasduh')
           this.unitList = response
           this.deptBudgetList = response
           this.unitList.forEach((item, index, arr) => {
@@ -493,11 +501,11 @@ export default {
           return
         }
       }
-
-      this.deptBudgetList.contractType = '2'
-      this.deptBudgetList.contractNo = this.contractNo
+      this.deptBudgetList.contractType = this.$route.query.contractType,
+      this.deptBudgetList.contractNo = this.$route.query.contractNo,
       this.deptBudgetList.enclosureTypeFlag = '0'
-      this.priceConfirmationSheet.deptBudgetList = this.deptBudgetList
+      this.priceConfirmationSheet = this.deptBudgetList
+      // for()
       this.$confirm(`确定提交确认单信息`, {
         cancelButtonText: '取消',
         confirmButtonText: '确定',
@@ -508,8 +516,9 @@ export default {
             .toPromise()
             .then((response) => {
               this.$message.success('编辑成功')
-              this.priceConfirmationSheet = {}
-              this.$router.push({ path: 'priceConfirmationSheet' })
+              //this.priceConfirmationSheet = {}
+              this.$router.push({ path: 'priceConfirmationSheet' ,
+              query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType }})
             })
         })
         .catch(() => {

+ 0 - 617
src/views/contractManagement/salesPriceConfirmationSheet.vue

@@ -1,617 +0,0 @@
-<!--期货销售点价确认单-->
-<template>
-  <div class="container">
-    <el-row>
-      <el-col :span="12">
-        <h2 class="bg-left title">点价确认单</h2>
-      </el-col>
-      <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertion-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
-      </el-col>
-    </el-row>
-
-    <div class="wenzi">
-      <h3>所属合同</h3>
-      <p>
-        &nbsp;&nbsp;销售合同(
-        <template>{{ this.deptBudgetList.contractNo }}</template>
-        )
-      </p>
-      <div class="tianjiaanniu">
-        <ws-button
-          type="primary"
-          @click="sheetAdd()"
-          v-hasPermission="
-            `contractManagement.salesContract.salesContractInfo.add`
-          "
-          ><img
-            width="13"
-            height="13"
-            style="
-              vertical-align: text-top;
-              position: relative;
-              top: 2px;
-              left: -4px;
-            "
-            src="../../../public/img/header-add.png"
-            alt=""
-          />添加</ws-button
-        >
-      </div>
-    </div>
-    <div class="dianjiadanbianhao">
-      <h3>点价单编号</h3>
-      <p>
-        <template>CG20210329-02{{ this.deptBudgetList.priceListNo }}</template>
-      </p>
-      <div class="fujian">
-        <template slot-scope="scope" >
-          <img
-            width="18"
-            height="20"
-            style="vertical-align: text-top; position: relative; top: -1px"
-            src="../../../public/img/fujian.png"
-            @click="fujian(scope.row)"
-            alt=""
-          />
-          <span v-if="(scope.row.enclosureTypeFlag = '0')"
-            >&nbsp;&nbsp;&nbsp;未上传</span
-          >
-          <span v-if="(scope.row.enclosureTypeFlag = '1')"
-            >&nbsp;&nbsp;&nbsp;已上传</span
-          >
-        </template>
-      </div>
-      <div class="caozuoanniu">
-        <el-button class="find" type="primary" @click="sheetEdit()"
-          >编辑</el-button
-        >
-        <el-button class="find" type="primary" @click="sheetDelete()"
-          >删除</el-button
-        >
-      </div>
-    </div>
-    <div class="center">
-      <ws-form ref="deptBudgetList" :model="deptBudgetList">
-        <!--基本信息-->
-        <ws-info-table>
-          <ws-form-item
-            label="品种合约及方向"
-            span="1"
-            prop="varietyContractDirection"
-          >
-            <div class="unchanged">
-              {{ deptBudgetList.varietyContractDirection }}
-            </div>
-          </ws-form-item>
-          <ws-form-item label="买方联络人" span="1" prop="buyer">
-            <div class="unchanged">
-              {{ deptBudgetList.buyer }}
-            </div>
-          </ws-form-item>
-          <ws-form-item label="成交数量" span="1" prop="transactionsNumberHand">
-            <div class="unchanged">
-              {{
-                deptBudgetList.transactionsNumberHand
-              }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手
-              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-              即&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{
-                deptBudgetList.transactionsNumber
-              }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;吨
-            </div>
-          </ws-form-item>
-          <ws-form-item label="买方联络人电话" span="1" prop="buyerPhone">
-            <div class="unchanged">
-              {{ deptBudgetList.buyerPhone }}
-            </div>
-          </ws-form-item>
-          <ws-form-item
-            label="成交价格(元/吨)"
-            span="1"
-            prop="transactionPrice"
-          >
-            <div class="unchanged">
-              {{ deptBudgetList.transactionPrice }}
-            </div>
-          </ws-form-item>
-          <ws-form-item label="卖方联络人" span="1" prop="seller">
-            <div class="unchanged">
-              {{ deptBudgetList.seller }}
-            </div>
-          </ws-form-item>
-          <ws-form-item label="成交日期" span="1" prop="transactionDate">
-            <div class="unchanged">
-              {{ deptBudgetList.transactionDate }}
-            </div>
-          </ws-form-item>
-          <ws-form-item label="卖方联络人电话" span="1" prop="sellerPhone">
-            <div class="unchanged">
-              {{ deptBudgetList.sellerPhone }}
-            </div>
-          </ws-form-item>
-          <ws-form-item label="备注" span="1" prop="remarks">
-            <div class="unchanged">
-              {{ deptBudgetList.remarks }}
-            </div>
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form>
-    </div>
-  </div>
-</template>
-<script>
-import { xiala, addxiala, editxiala, delxiala } from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { EventBus } from 'base-core-lib'
-import { regionData,  } from 'element-china-area-data'
-
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      options_: regionData,
-      selectedOptions: [],
-      selectedOptions1: [],
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-      trainingMethods: {},
-      packtypeList: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      contractNo: '',
-      mainReportAdd: {},
-      appendixIdsAdd: '',
-      size: 10,
-      unitList: [],
-      goodnameList: [],
-      gradeList: [],
-      ChapterTwoList: [],
-      addressUrls: [],
-      addressUrl: '',
-      deptBudgetList: {},
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
-          {
-            min: 6,
-            max: 20,
-            message: '长度在 6 到 20 个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-      fileList: [],
-    }
-  },
-  methods: {
-    close(index) {
-      this.addressUrls.splice(index, 1)
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    returnsales() {
-      this.$router.push({ path: 'futuresSalesContract' })
-    },
-    //创建点价确认单
-    sheetAdd() {
-      this.$router.push({ path: 'salesPriceConfirmationSheetAdd' })
-    },
-    // 编辑点价确认单
-    sheetEdit() {
-        this.$router.push({ path: 'salesPriceConfirmationSheetEdit' })
-    },
-    // 删除点价确认单
-    sheetDelete(item, index) {
-    //   this.$confirm(`确认单删除后不可恢复,是否确定删除?`, '提示', {
-    //     confirmButtonText: '确定',
-    //     cancelButtonText: '取消',
-    //     type: 'warning',
-    //   })
-    //     .then(() => {
-    //       delDriver({ id: row.id })
-    //         .toPromise()
-    //         .then((response) => {
-    //           this.$notify.success({
-    //             title: '成功',
-    //             message: '删除成功',
-    //           })
-    //           this.getUnitList()
-    //           this.pleaseChoose = ''
-    //         })
-    //         .catch((response) => {
-    //           console.log(response)
-    //           EventBus.$emit('error', response.message)
-    //         })
-    //     })
-    //     .catch(() => {
-    //       return false
-    //     })
-    
-    //   if (Object.is(item.constKey, 1)) {
-    //     return
-    //   }
-    //   if (!item.constValue) {
-    //     this.unitList.splice(index, 1)
-    //     return
-    //   }
-    //   delxiala({ id: this.unitList[index].id })
-        
-    },
-    fujian(row) {
-      if (row.addressUrl === null || row.addressUrl === '') {
-        EventBus.$emit(
-          'warning',
-          this.$t('system.noticeCircular.NoInformation')
-        )
-      } else {
-        this.accessoryTFs = true
-      }
-      this.appendixIdss = row.addressUrl.split(',')
-    },
-    getUnitList() {
-      xiala({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: 'TYPEYAN',
-      })
-        .toPromise()
-        .then((response) => {
-          this.unitList = response
-          let currItem
-          this.unitList.forEach((item, index, arr) => {
-            item.flag = 'delete'
-            if (this.vModel == item.constKey) {
-              currItem = item
-            }
-          })
-          //
-          if (currItem) {
-            this.selectContract(currItem.constValue)
-          }
-        })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-  },
-}
-</script>
-
-<style lang="scss" scoped>
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 16px 0px;
-}
-.caozuoanniu {
-  margin-left: 83%;
-  margin-top: -49px;
-  margin-bottom: 20px;
-}
-.fujian {
-  margin-left: 20px;
-}
-.wenzi {
-  width: 68%;
-  margin: 0 auto;
-  margin-top: 15px;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-  margin-left: 16px;
-}
-.dianjiadanbianhao {
-  width: 70%;
-  margin: 0 auto;
-  margin-top: 45px;
-}
-.dianjiadanbianhao h3 {
-  display: inline-block;
-  left: 10px;
-  font-size: inherit;
-  margin-bottom: 24px;
-}
-.dianjiadanbianhao p {
-  display: inline-block;
-  margin-left: 20px;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 70%;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 148px;
-}
-/deep/.el-date-editor {
-  font-size: 13px;
-}
-/deep/.el-textarea {
-  width: 101%;
-  margin: 0px;
-}
-/deep/el-date-editor--date {
-  width: 200px;
-}
-.unchanged {
-  position: absolute;
-  left: 37px;
-  width: 102px;
-  height: 14px;
-  font-size: 14px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #afb5cb;
-  line-height: 14px;
-}
-.tianjiaanniu {
-  margin-left: 92%;
-  margin-top: -43px;
-}
-/deep/.el-input--small .el-input__inner {
-  height: 32px;
-  line-height: 32px;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
-  position: absolute;
-  right: 22px;
-  top: -1px;
-  line-height: inherit;
-  display: none;
-}
-</style>

+ 0 - 801
src/views/contractManagement/salesPriceConfirmationSheetAdd.vue

@@ -1,801 +0,0 @@
-<!--期货销售点价确认单添加-->
-<template>
-  <div class="container">
-    <el-row>
-      <el-col :span="12">
-        <h2 class="bg-left title">创建点价确认单</h2>
-      </el-col>
-      <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertion-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
-      </el-col>
-    </el-row>
-
-    <div class="wenzi">
-      <h3>所属合同</h3>
-      <p>
-        &nbsp;&nbsp;销售合同(
-        <template>{{ this.deptBudgetList.contractNo }}</template>
-        )
-      </p>
-    </div>
-    <div class="center">
-      <ws-form ref="deptBudgetList" :model="deptBudgetList">
-        <!--基本信息-->
-
-        <ws-info-table>
-          <!--点价单编号-->
-          <ws-form-item
-            label="点价单编号"
-            span="1"
-            prop="priceListNo"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.priceListNo"
-              placeholder="请输入点价单编号"
-              maxlength="20"
-              size="small"
-              :rules="ruleDeptBudget"
-            />
-          </ws-form-item>
-
-          <!--点价单附件-->
-          <ws-form-item label="点价单附件" span="1" prop="priceListNo">
-            <el-upload
-              class="upload-demo"
-              action="https://www.zthymaoyi.com/upload/admin"
-              :on-success="
-                (res, file) => {
-                  uploadSuccessHandle(res)
-                }
-              "
-              multiple
-              :limit="3"
-              :file-list="fileList"
-            >
-              <el-button size="small" type="primary">附件</el-button>
-            </el-upload>
-            <div class="shangchuan">
-              <template>
-                <span v-if="deptBudgetList.enclosureTypeFlag == '0'"
-                  >未上传</span
-                >
-                <span v-if="deptBudgetList.enclosureTypeFlag == '1'"
-                  >已上传</span
-                >
-              </template>
-            </div>
-          </ws-form-item>
-
-          <!--品种合约及方向-->
-          <ws-form-item
-            label="品种合约及方向"
-            span="1"
-            prop="varietyContractDirection"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.varietyContractDirection"
-              placeholder="请输入品种合约及方向"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--买方联络人-->
-          <ws-form-item label="买方联络人" span="1" prop="buyer">
-            <ws-input
-              v-model="deptBudgetList.buyer"
-              placeholder="请输入买方联络人"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-          <!--成交数量-->
-          <ws-form-item
-            label="成交数量"
-            span="1"
-            prop="transactionsNumberHand"
-            class="readonly"
-          >
-            <ws-input
-              @input="transactionsNumberHandChange"
-              v-model="deptBudgetList.transactionsNumberHand"
-              placeholder="请输入"
-              maxlength="100"
-              size="small"
-            />&nbsp;&nbsp;&nbsp;手&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            <ws-input
-              readonly="readonly"
-              v-model="deptBudgetList.transactionsNumber"
-              placeholder="自动计算"
-              maxlength="100"
-              size="small"
-            />&nbsp;&nbsp;&nbsp;吨
-          </ws-form-item>
-
-          <!--买方联络人电话-->
-          <ws-form-item label="买方联络人电话" span="1" prop="buyerPhone">
-            <ws-input
-              v-model="deptBudgetList.buyerPhone"
-              placeholder="请输入买方联络人电话"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--成交价格(元/吨)-->
-          <ws-form-item label="成交价格(元/吨)" span="1" prop="transactionPrice">
-            <ws-input
-              v-model="deptBudgetList.transactionPrice"
-              placeholder="请输入成交价格"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--卖方联络人-->
-          <ws-form-item label="卖方联络人" span="1" prop="seller">
-            <ws-input
-              v-model="deptBudgetList.seller"
-              placeholder="请输入卖方联络人"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--成交日期-->
-          <ws-form-item label="成交日期" span="1" prop="transactionDate">
-            <ws-date-picker
-              v-model="deptBudgetList.transactionDate"
-              type="date"
-              placeholder="请选择成交日期"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
-
-          <!--卖方联络人电话-->
-          <ws-form-item label="卖方联络人电话" span="1" prop="sellerPhone">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              placeholder="请输入卖方联络人电话"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--备注-->
-          <ws-form-item label="备注" span="1" prop="remarks">
-            <ws-input
-              v-model="deptBudgetList.remarks"
-              placeholder="请输入备注,不超过200字"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form>
-    </div>
-    <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
-    </div>
-  </div>
-</template>
-<script>
-//  import { getVesselOne } from '@/model/procurement/basic'
-//  import { dayjs } from 'base-core-lib'
-import {
-  addList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-} from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { regionData, CodeToText } from 'element-china-area-data'
-
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      options_: regionData,
-      selectedOptions: [],
-      selectedOptions1: [],
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-      trainingMethods: {},
-      packtypeList: [],
-      mainReportAdd: {},
-      appendixIdsAdd: '',
-      size: 10,
-
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      enclosureTypeFlag: '0',
-      unitList: [],
-      goodnameList: [],
-      gradeList: [],
-      ChapterTwoList: [],
-      addressUrls: [],
-      deptBudgetList: {
-        deliverType: '1',
-        finalTradingVolume: 0,
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
-        addressUrl: '',
-      },
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
-          {
-            min: 6,
-            max: 20,
-            message: '长度在 6 到 20 个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-      fileList: [],
-    }
-  },
-  methods: {
-    close(index) {
-      this.addressUrls.splice(index, 1)
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    returnsales() {
-      this.$router.push({ path: 'salesPriceConfirmationSheet' })
-    },
-
-    // 上传附件
-    uploadSuccessHandle(e) {
-      this.addressUrls.push(e.url)
-      this.deptBudgetList.addressUrl = this.addressUrls.toString
-    },
-    onChange(files) {
-      this.fileNum = files
-      this.$refs.upload.handleSaveBill().then((res) => {
-        console.log(files)
-      })
-    },
-    //计算成交数量(吨)
-    transactionsNumberHandChange(e) {
-        this.deptBudgetList.transactionsNumber = e * 10      
-    },
-    getUnitList() {
-      xiala({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: 'TYPEYAN',
-      })
-        .toPromise()
-        .then((response) => {
-          this.unitList = response
-          let currItem
-          this.unitList.forEach((item, index, arr) => {
-            item.flag = 'delete'
-            if (this.vModel == item.constKey) {
-              currItem = item
-            }
-          })
-          //
-          if (currItem) {
-            this.selectContract(currItem.constValue)
-          }
-        })
-    },
-
-    submit() {
-      if (!this.deptBudgetList.priceListNo) {
-        this.$message({
-          message: '点价单编号不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.priceListNo.length < 1 ||
-        this.deptBudgetList.priceListNo.length > 20
-      ) {
-        this.$message({
-          message: '点价单编号输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.varietyContractDirection) {
-        this.$message({
-          message: '品种合约及方向不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.varietyContractDirection.length < 1 ||
-        this.deptBudgetList.varietyContractDirection.length > 20
-      ) {
-        this.$message({
-          message: '品种合约及方向输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '买方联络人不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyer.length < 2 ||
-        this.deptBudgetList.buyer.length > 20
-      ) {
-        this.$message({
-          message: '买方联络人姓名输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '买方联络人电话不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方联络人电话输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '卖方联络人不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.seller.length < 2 ||
-        this.deptBudgetList.seller.length > 20
-      ) {
-        this.$message({
-          message: '卖方联络人姓名输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '卖方联络人电话不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.sellerPhone.length < 7 ||
-        this.deptBudgetList.sellerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionsNumberHand) {
-        this.$message({
-          message: '成交数量不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-
-      if (
-        isNaN(this.deptBudgetList.transactionsNumberHand) ||
-        (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.transactionsNumberHand).length -
-            (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') +
-              1) >
-            2) ||
-        this.deptBudgetList.transactionsNumberHand < 1 ||
-        this.deptBudgetList.transactionsNumberHand > 10000
-      ) {
-        this.$message({
-          message: '输入成交数量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.transactionPrice < 0 ||
-        this.deptBudgetList.transactionPrice > 100000000 ||
-        (String(this.deptBudgetList.transactionPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.transactionPrice).length -
-            (String(this.deptBudgetList.transactionPrice).indexOf('.') + 1) >
-            2)
-      ) {
-        this.$message({
-          message: '成交价格输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.transactionPrice) {
-        if (isNaN(this.deptBudgetList.transactionPrice)) {
-          this.$message({
-            message: '成交价格输入错误!',
-            type: 'warning',
-          })
-          return
-        }
-      }
-      if (!this.deptBudgetList.transactionPrice) {
-        this.$message({
-          message: '成交价格不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionDate) {
-        this.$message({
-          message: '成交日期不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-  },
-}
-</script>
-
-<style lang="scss" scoped>
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-.readonly {
-  position: relative;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.shangchuan {
-  margin-left: 22px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 16px 0px;
-}
-.wenzi {
-  width: 70%;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 70%;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 130px;
-}
-//*号
-.unchangeable {
-  position: absolute;
-  width: 9px;
-  height: 22px;
-  font-size: 16px;
-  font-family: PingFangSC-Medium, PingFang SC;
-  font-weight: 500;
-  color: #ff2727;
-  line-height: 22px;
-  display: inline-block;
-  right: 14px;
-}
-/deep/.el-input,
-/deep/.el-date-editor {
-  font-size: 13px;
-}
-/deep/.el-textarea {
-  width: 101%;
-  margin: 0px;
-}
-/deep/el-date-editor--date {
-  width: 200px;
-}
-.unchanged {
-  position: absolute;
-  left: 37px;
-  width: 102px;
-  height: 14px;
-  font-size: 14px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #afb5cb;
-  line-height: 14px;
-}
-/deep/.el-input--small .el-input__inner {
-  height: 32px;
-  line-height: 32px;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
-  position: absolute;
-  right: 22px;
-  top: -1px;
-  line-height: inherit;
-  display: none;
-}
-</style>

+ 0 - 801
src/views/contractManagement/salesPriceConfirmationSheetEdit.vue

@@ -1,801 +0,0 @@
-<!--期货销售点价确认单编辑-->
-<template>
-  <div class="container">
-    <el-row>
-      <el-col :span="12">
-        <h2 class="bg-left title">编辑点价确认单</h2>
-      </el-col>
-      <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertion-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
-      </el-col>
-    </el-row>
-
-    <div class="wenzi">
-      <h3>所属合同</h3>
-      <p>
-        &nbsp;&nbsp;销售合同(
-        <template>{{ this.deptBudgetList.contractNo }}</template>
-        )
-      </p>
-    </div>
-    <div class="center">
-      <ws-form ref="deptBudgetList" :model="deptBudgetList">
-        <!--基本信息-->
-
-        <ws-info-table>
-          <!--点价单编号-->
-          <ws-form-item
-            label="点价单编号"
-            span="1"
-            prop="priceListNo"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.priceListNo"
-              placeholder="请输入点价单编号"
-              maxlength="20"
-              size="small"
-              :rules="ruleDeptBudget"
-            />
-          </ws-form-item>
-
-          <!--点价单附件-->
-          <ws-form-item label="点价单附件" span="1" prop="priceListNo">
-            <el-upload
-              class="upload-demo"
-              action="https://www.zthymaoyi.com/upload/admin"
-              :on-success="
-                (res, file) => {
-                  uploadSuccessHandle(res)
-                }
-              "
-              multiple
-              :limit="3"
-              :file-list="fileList"
-            >
-              <el-button size="small" type="primary">附件</el-button>
-            </el-upload>
-            <div class="shangchuan">
-              <template>
-                <span v-if="deptBudgetList.enclosureTypeFlag == '0'"
-                  >未上传</span
-                >
-                <span v-if="deptBudgetList.enclosureTypeFlag == '1'"
-                  >已上传</span
-                >
-              </template>
-            </div>
-          </ws-form-item>
-
-          <!--品种合约及方向-->
-          <ws-form-item
-            label="品种合约及方向"
-            span="1"
-            prop="varietyContractDirection"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.varietyContractDirection"
-              placeholder="请输入品种合约及方向"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--买方联络人-->
-          <ws-form-item label="买方联络人" span="1" prop="buyer">
-            <ws-input
-              v-model="deptBudgetList.buyer"
-              placeholder="请输入买方联络人"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-          <!--成交数量-->
-          <ws-form-item
-            label="成交数量"
-            span="1"
-            prop="transactionsNumberHand"
-            class="readonly"
-          >
-            <ws-input
-              @input="transactionsNumberHandChange"
-              v-model="deptBudgetList.transactionsNumberHand"
-              placeholder="请输入"
-              maxlength="100"
-              size="small"
-            />&nbsp;&nbsp;&nbsp;手&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            <ws-input
-              readonly="readonly"
-              v-model="deptBudgetList.transactionsNumber"
-              placeholder="自动计算"
-              maxlength="100"
-              size="small"
-            />&nbsp;&nbsp;&nbsp;吨
-          </ws-form-item>
-
-          <!--买方联络人电话-->
-          <ws-form-item label="买方联络人电话" span="1" prop="buyerPhone">
-            <ws-input
-              v-model="deptBudgetList.buyerPhone"
-              placeholder="请输入买方联络人电话"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--成交价格(元/吨)-->
-          <ws-form-item label="成交价格(元/吨)" span="1" prop="transactionPrice">
-            <ws-input
-              v-model="deptBudgetList.transactionPrice"
-              placeholder="请输入成交价格"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--卖方联络人-->
-          <ws-form-item label="卖方联络人" span="1" prop="seller">
-            <ws-input
-              v-model="deptBudgetList.seller"
-              placeholder="请输入卖方联络人"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--成交日期-->
-          <ws-form-item label="成交日期" span="1" prop="transactionDate">
-            <ws-date-picker
-              v-model="deptBudgetList.transactionDate"
-              type="date"
-              placeholder="请选择成交日期"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
-
-          <!--卖方联络人电话-->
-          <ws-form-item label="卖方联络人电话" span="1" prop="sellerPhone">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              placeholder="请输入卖方联络人电话"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--备注-->
-          <ws-form-item label="备注" span="1" prop="remarks">
-            <ws-input
-              v-model="deptBudgetList.remarks"
-              placeholder="请输入备注,不超过200字"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form>
-    </div>
-    <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
-    </div>
-  </div>
-</template>
-<script>
-//  import { getVesselOne } from '@/model/procurement/basic'
-//  import { dayjs } from 'base-core-lib'
-import {
-  addList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-} from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { regionData, CodeToText } from 'element-china-area-data'
-
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
-    },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      options_: regionData,
-      selectedOptions: [],
-      selectedOptions1: [],
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-      trainingMethods: {},
-      packtypeList: [],
-      mainReportAdd: {},
-      appendixIdsAdd: '',
-      size: 10,
-
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      enclosureTypeFlag: '0',
-      unitList: [],
-      goodnameList: [],
-      gradeList: [],
-      ChapterTwoList: [],
-      addressUrls: [],
-      deptBudgetList: {
-        deliverType: '1',
-        finalTradingVolume: 0,
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
-        addressUrl: '',
-      },
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
-          {
-            min: 6,
-            max: 20,
-            message: '长度在 6 到 20 个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-      fileList: [],
-    }
-  },
-  methods: {
-    close(index) {
-      this.addressUrls.splice(index, 1)
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    returnsales() {
-      this.$router.push({ path: 'salesPriceConfirmationSheet' })
-    },
-
-    // 上传附件
-    uploadSuccessHandle(e) {
-      this.addressUrls.push(e.url)
-      this.deptBudgetList.addressUrl = this.addressUrls.toString
-    },
-    onChange(files) {
-      this.fileNum = files
-      this.$refs.upload.handleSaveBill().then((res) => {
-        console.log(files)
-      })
-    },
-    //计算成交数量(吨)
-    transactionsNumberHandChange(e) {
-      this.deptBudgetList.transactionsNumber = e * 10 
-    },
-    getUnitList() {
-      xiala({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: 'TYPEYAN',
-      })
-        .toPromise()
-        .then((response) => {
-          this.unitList = response
-          let currItem
-          this.unitList.forEach((item, index, arr) => {
-            item.flag = 'delete'
-            if (this.vModel == item.constKey) {
-              currItem = item
-            }
-          })
-          //
-          if (currItem) {
-            this.selectContract(currItem.constValue)
-          }
-        })
-    },
-
-    submit() {
-      if (!this.deptBudgetList.priceListNo) {
-        this.$message({
-          message: '点价单编号不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.priceListNo.length < 1 ||
-        this.deptBudgetList.priceListNo.length > 20
-      ) {
-        this.$message({
-          message: '点价单编号输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.varietyContractDirection) {
-        this.$message({
-          message: '品种合约及方向不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.varietyContractDirection.length < 1 ||
-        this.deptBudgetList.varietyContractDirection.length > 20
-      ) {
-        this.$message({
-          message: '品种合约及方向输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '买方联络人不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyer.length < 2 ||
-        this.deptBudgetList.buyer.length > 20
-      ) {
-        this.$message({
-          message: '买方联络人姓名输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '买方联络人电话不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方联络人电话输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '卖方联络人不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.seller.length < 2 ||
-        this.deptBudgetList.seller.length > 20
-      ) {
-        this.$message({
-          message: '卖方联络人姓名输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '卖方联络人电话不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.sellerPhone.length < 7 ||
-        this.deptBudgetList.sellerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionsNumberHand) {
-        this.$message({
-          message: '成交数量不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-
-      if (
-        isNaN(this.deptBudgetList.transactionsNumberHand) ||
-        (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.transactionsNumberHand).length -
-            (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') +
-              1) >
-            2) ||
-        this.deptBudgetList.transactionsNumberHand < 1 ||
-        this.deptBudgetList.transactionsNumberHand > 10000
-      ) {
-        this.$message({
-          message: '输入成交数量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.transactionPrice < 0 ||
-        this.deptBudgetList.transactionPrice > 100000000 ||
-        (String(this.deptBudgetList.transactionPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.transactionPrice).length -
-            (String(this.deptBudgetList.transactionPrice).indexOf('.') + 1) >
-            2)
-      ) {
-        this.$message({
-          message: '成交价格输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.transactionPrice) {
-        if (isNaN(this.deptBudgetList.transactionPrice)) {
-          this.$message({
-            message: '成交价格输入错误!',
-            type: 'warning',
-          })
-          return
-        }
-      }
-      if (!this.deptBudgetList.transactionPrice) {
-        this.$message({
-          message: '成交价格不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionDate) {
-        this.$message({
-          message: '成交日期不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-  },
-}
-</script>
-
-<style lang="scss" scoped>
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-.readonly {
-  position: relative;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.shangchuan {
-  margin-left: 22px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 16px 0px;
-}
-.wenzi {
-  width: 70%;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 70%;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 130px;
-}
-//*号
-.unchangeable {
-  position: absolute;
-  width: 9px;
-  height: 22px;
-  font-size: 16px;
-  font-family: PingFangSC-Medium, PingFang SC;
-  font-weight: 500;
-  color: #ff2727;
-  line-height: 22px;
-  display: inline-block;
-  right: 14px;
-}
-/deep/.el-input,
-/deep/.el-date-editor {
-  font-size: 13px;
-}
-/deep/.el-textarea {
-  width: 101%;
-  margin: 0px;
-}
-/deep/el-date-editor--date {
-  width: 200px;
-}
-.unchanged {
-  position: absolute;
-  left: 37px;
-  width: 102px;
-  height: 14px;
-  font-size: 14px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 400;
-  color: #afb5cb;
-  line-height: 14px;
-}
-/deep/.el-input--small .el-input__inner {
-  height: 32px;
-  line-height: 32px;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
-  position: absolute;
-  right: 22px;
-  top: -1px;
-  line-height: inherit;
-  display: none;
-}
-</style>

+ 97 - 0
src/views/salesManagement/component/routers/route.js

@@ -0,0 +1,97 @@
+import Layout from '@/layout/index';
+
+const purchasingManagementRouter = {
+  path: '/salesManagement',
+  component: Layout,
+  redirect: '/salesManagement',
+  name: 'salesManagement',
+  alwaysShow: true, // will always show the root menu
+  meta: {
+    title: 'salesManagement',
+    module: 'contractManagement',
+    icon: '-caigouyewuguanli'
+  },
+  children: [
+      // 销售计划列表
+    {
+      path: 'salesPlanList',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/salesManagement/salesPlanList'),
+      name: 'salesPlanList',
+      meta: {
+        title: 'salesPlanList',
+        shortcutEntrance: 'salesManagement',
+        module: 'contractManagement.salesContract',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      }
+    },
+    // // 销售计划添加
+    {
+      path: 'salesPlanAdd',
+      component: () =>
+        import(/* webpackChunkName: "sparepartList" */ '@/views/salesManagement/salesPlanAdd'),
+      name: 'salesPlanAdd',
+      meta: {
+        title: 'salesPlanAdd',
+        shortcutEntrance: 'salesManagement',
+        module: 'contractManagement.salesContract',
+        permissicon: [],
+        keepAlive: true
+      },
+      hidden: true
+    },
+    // //销售修改
+    {
+      path: 'salesPlanEdit',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/salesManagement/salesPlanEdit'),
+      name: 'salesPlanEdit',
+      meta: {
+        title: 'salesPlanEdit',
+        shortcutEntrance: 'salesManagement',
+        module: 'contractManagement.salesContract',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
+    {
+      path: 'salesPlanLook',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/salesManagement/salesPlanLook'),
+      name: 'salesPlanLook',
+      meta: {
+        title: 'salesPlanLook',
+        shortcutEntrance: 'salesManagement',
+        module: 'contractManagement.salesContract',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+      hidden: true
+    },
+    //销售订单列表
+    {
+      path: 'salesOrderList',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/salesManagement/salesPlanOrderList'),
+      name: 'salesOrderList',
+      meta: {
+        title: 'salesOrderList',
+        shortcutEntrance: 'salesManagement',
+        module: 'contractManagement.salesContract',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      },
+    //   hidden: true
+    },
+   
+  ],
+
+};
+
+export default purchasingManagementRouter;

+ 751 - 0
src/views/salesManagement/salesPlanAdd.vue

@@ -0,0 +1,751 @@
+// 创建销售计划
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">创建销售计划</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
+          <img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt
+          />返回
+        </el-button>
+      </el-col>
+    </el-row>
+    <div class="basicInformation">
+      <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>
+          <!-- 货名 -->
+          <el-form-item label="货名" span="1">
+            <el-select v-model="dataList.inOutType" class="typeselect" placeholder="请选择货名" />
+          </el-form-item>
+          <!-- 计划销售量(吨) -->
+          <el-form-item label="计划销售量(吨)" span="1">
+            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入计划销售量" />
+          </el-form-item>
+          <!-- 最小成交量 -->
+          <el-form-item label="最小成交量(吨)" span="1">
+            <el-input v-model="dataList.goodsName" placeholder="请输入最小成交量" />
+          </el-form-item>
+          <!--类型-->
+          <el-form-item label="类型" span="1">
+            <el-select v-model="dataList.weight" maxlength="120" placeholder="请选择类型" />
+          </el-form-item>
+          <!-- 价格类型 -->
+          <el-form-item label="价格类型" span="1">
+            <el-input v-model="dataList.grade" placeholder="请输入价格类型"   />
+          </el-form-item>
+          <!-- 基差 -->
+          <el-form-item label="基差(元/吨)" span="1">
+            <el-input v-model="dataList.grade" placeholder="请输入基差" />
+          </el-form-item>
+          <!--销售价格(元)-->
+          <el-form-item label="销售价格(元)" span="1">
+            <el-input
+              v-model="dataList.bulkDensity"
+              maxlength="120"
+              size="small"
+              placeholder="请输入销售价格"
+            />
+          </el-form-item>
+          <!--出货库-->
+          <el-form-item label="出货库" span="1">
+            <el-select
+              v-model="dataList.waterContent"
+              maxlength="120"
+              size="small"
+              placeholder="请选择出货库"
+            />
+          </el-form-item>
+          <!--出货库所在地区-->
+          <el-form-item label="出货库所在地区" span="1">
+            <el-select
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+              placeholder="请选择出货库说在地区"
+            />
+          </el-form-item>
+          <!--运费承担方-->
+          <el-form-item label="运费承担方" span="1">
+            <el-select
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+              placeholder="请选择运费承担方"
+            />
+          </el-form-item>
+          <!--包装方式-->
+          <el-form-item label="包装方式" span="1">
+            <el-select
+              v-model="dataList.agent"
+              filterable
+              :filter-method="dataFilter"
+              placeholder="请选择包装方式"
+            ></el-select>
+          </el-form-item>
+          <!--装袋备注=-->
+          <el-form-item label="装袋备注" span="1">
+            <el-input
+              v-model="dataList.businessDescribe"
+              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>
+          <!-- 卖方电话 -->
+          <el-form-item label="卖方电话" span="1">
+            <el-input
+              v-model="dataList.agent"
+              filterable
+              :filter-method="dataFilter"
+              placeholder="请输入卖方电话"
+            ></el-input>
+          </el-form-item>
+          <div class="small-title"></div>
+        </el-form>
+      </div>
+      <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" 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>
+          <!-- 热损伤 -->
+          <el-form-item label="热损伤(%)<=" span="1">
+            <el-input v-model="dataList.inOutType" class="typeselect" placeholder="请输入热损伤占比" />
+          </el-form-item>
+          <!-- 杂质 -->
+          <el-form-item label="杂质(%)<=" span="1">
+            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入杂质占比" />
+          </el-form-item>
+          <!-- 霉变粒 -->
+          <el-form-item label="霉变粒(%)<=" span="1">
+            <el-input v-model="dataList.goodsName" placeholder="请输入霉变粒占比" />
+          </el-form-item>
+          <!--不完善粒(%)<=-->
+          <el-form-item label="不完善粒(%)<=" span="1">
+            <el-input v-model="dataList.weight" maxlength="120" placeholder="请输入不完善粒占比" />
+          </el-form-item>
+          <!-- 蛋白(%)<= -->
+          <el-form-item label="蛋白(%)<=" span="1">
+            <el-input v-model="dataList.grade" 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>
+          <!--品级-->
+          <el-form-item label="品级" span="1">
+            <el-select
+              v-model="dataList.waterContent"
+              maxlength="120"
+              size="small"
+              placeholder="请选择品级"
+            />
+          </el-form-item>
+          <!--产地-->
+          <el-form-item label="产地" span="1">
+            <el-select
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+              placeholder="请选择产地"
+            />
+          </el-form-item>
+          <!--产出年份-->
+          <el-form-item label="产出年份" span="1">
+            <el-select v-model="dataList.unitPrice" size="small" placeholder="请选择年份" />
+          </el-form-item>
+        </el-form>
+      </div>
+    </div>
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit()">提交</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getwarehousename,
+  xialaNo,
+  addoreditoutput,
+  outexamine
+} from '@/model/tasksport/index'
+import { packList } from '@/model/contarct/index'
+import { pullDown, getstaff } from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import { mapActions, mapGetters, mapState } from 'vuex'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    }
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList'])
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      contractNoList: [],
+      deptBudgetTotal: 0,
+      readonly: true,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      radio: '1',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: [],
+      checked: true,
+      form: {},
+
+      staffList: [],
+      options: [],
+      storageType: [],
+      storageType1: [],
+      outContractNo: [],
+      // 提交类型
+      submitType: true,
+      status: [],
+      unitPricechange: [],
+      warehouseNameList: [],
+      warehouseNameList1: [],
+      waterContentchange: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      warehouseInOutDetail: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur'
+          }
+        ]
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM')
+      },
+      contractList: [],
+      inOutTaskNo: '',
+      inOutTaskNo1: '',
+      dataList: { taskTypeKey: '1' },
+      dataList1: { taskTypeKey: '1' },
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: time => {
+          return time.getTime() > Date.now()
+        }
+      },
+      accessoryTFs: false
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    returnsales() {
+      this.$router.push({ path: 'procurementPlanList' })
+    },
+    // 获取当前年月日
+    getdate() {
+      var date = new Date()
+      var year = date.getFullYear() //获取完整的年份(4位)
+      var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
+      var datetime = date.getDate() //获取当前日(1-31)
+      if (mouth < 10) {
+        mouth = '0' + mouth
+      }
+      if (datetime < 10) {
+        datetime = '0' + datetime
+      }
+      return year + mouth + datetime
+    },
+    // 随机验证码
+    verifyinit() {
+      var arr = []
+      for (var i = 48; i < 123; i++) {
+        if (i > 57 && i < 65) continue
+        if (i > 90 && i < 97) continue
+        arr.push(String.fromCharCode(i))
+      }
+      arr.sort(function() {
+        return Math.random() - 0.5
+      })
+      arr.length = 4
+
+      return arr.join('')
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter(item => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    selectstaff1(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList1.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    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
+        }
+      })
+    },
+    //关闭
+    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')
+    //   }
+    // },
+    selectwarehouseName() {},
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    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) {
+          this.dataList.packingMethodKey = this.packtypeList[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
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    selectstorageType1(e) {
+      for (var i = 0; i < this.storageType1.length; i++) {
+        if (this.storageType1[i].constValue == e) {
+          this.dataList1.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    tasktypechange() {
+      this.tasknumber()
+    },
+    GetRandomNum(Min, Max) {
+      var Range = Max - Min
+      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() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {}
+  }
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .el-info-table {
+    border: none;
+    position: relative;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    margin: 0;
+    .el-form-item__label {
+      text-align: left;
+      font-size: 14px;
+      font-family: PingFangSC-Regular, PingFang SC;
+      font-weight: 400;
+      color: #8890b1;
+    }
+    .el-form-item__content {
+      padding-left: 0px;
+      padding-right: 10px;
+      // background: #fff;
+      white-space: nowrap;
+      height: 40px;
+      display: flex;
+      -webkit-box-align: center;
+      align-items: center;
+      text-align: left;
+      overflow: hidden;
+    }
+  }
+}
+/deep/.el-radio {
+  color: #606266;
+  font-weight: 500;
+  line-height: 1;
+  cursor: pointer;
+  white-space: nowrap;
+  outline: 0;
+  margin-right: 30px;
+  margin-top: 15px;
+}
+/deep/.el-radio__inner {
+  border: 1px solid #dcdfe6;
+  border-radius: 100%;
+  width: 14px;
+  height: 14px;
+  background-color: #fff;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 100px;
+}
+/deep/.el-radio__input {
+  white-space: nowrap;
+  cursor: pointer;
+  outline: 0;
+  line-height: 1;
+  vertical-align: middle;
+  margin-top: -1px;
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 15%;
+  display: flex;
+  flex-wrap: wrap;
+  margin-left: -50px;
+  margin-top: 15px;
+  width: 110%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+  margin-right: 180px;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+.inspector {
+  width: 50%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: left;
+}
+/deep/.el-input--small {
+  font-size: 13px;
+  position: relative;
+  display: inline-block;
+}
+.center1 .small-title {
+  margin-left: 323px;
+}
+.center1 {
+  width: 90%;
+  margin: 0 auto;
+  margin-left: 10px;
+  margin-top: 25px;
+}
+/deep/.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+}
+/deep/.el-select {
+  display: inline-block;
+  position: relative;
+  width: 100%;
+}
+.annu {
+  height: 81px;
+  background: #ffffff;
+  border-radius: 4px;
+}
+.basicInformation .el-form-item {
+  width: 50.3333%;
+  border: none;
+  margin: 0;
+}
+.el-form {
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+  margin-left: 130px;
+}
+.a {
+  margin-left: -32px;
+}
+.el-radio-group {
+  margin-left: 80px;
+}
+.ding {
+  height: 23px;
+  background: #e8ecf6;
+  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
+}
+.nav2 {
+  height: 25px;
+  background: #e8ecf6;
+  margin-top: 15px;
+}
+.ziti {
+  width: 72px;
+  height: 20px;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 20px;
+  margin-left: 314px;
+  /* margin-top: 112px; */
+}
+/deep/.ziti1 {
+  height: 40px;
+  font-size: 16px;
+  font-family: PingFangSC-Medium, PingFang SC;
+  font-weight: 500;
+  color: #262626;
+  line-height: 20px;
+  margin-left: 381px;
+  margin-top: -21px;
+  width: 100px;
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+/deep/.basicInformation .el-form-item .el-form-item__content {
+  padding-left: 0px;
+  padding-right: 10px;
+  white-space: nowrap;
+  height: 40px;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  text-align: left;
+  overflow: hidden;
+  font-size: 12px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #232323;
+  line-height: 14px;
+}
+.nav {
+  width: 400px;
+  height: 20px;
+}
+.readonly :after {
+  content: '*';
+  color: #ff2727;
+  position: absolute;
+  right: 8px;
+  z-index: 10;
+  top: 21%;
+  font-size: 20px;
+}
+</style>

+ 756 - 0
src/views/salesManagement/salesPlanEdit.vue

@@ -0,0 +1,756 @@
+// 编辑销售计划
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">编辑销售计划</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
+          <img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt
+          />返回
+        </el-button>
+      </el-col>
+    </el-row>
+    <div class="basicInformation">
+      <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>
+          <!-- 货名 -->
+          <el-form-item label="货名" span="1">
+            <el-select
+              v-model="dataList.inOutType"
+              class="typeselect"
+              placeholder="请选择货名"
+              disabled
+            />
+          </el-form-item>
+          <!-- 计划销售量(吨) -->
+          <el-form-item label="计划销售量(吨)" span="1">
+            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入销售量" />
+          </el-form-item>
+          <!-- 最小成交量 -->
+          <el-form-item label="最小成交量(吨)" span="1">
+            <el-input v-model="dataList.goodsName" placeholder="请输入最小成交量" />
+          </el-form-item>
+          <!--类型-->
+          <el-form-item label="类型" span="1">
+            <el-select v-model="dataList.weight" maxlength="120" placeholder="请选择类型" disabled />
+          </el-form-item>
+          <!-- 价格类型 -->
+          <el-form-item label="价格类型" span="1">
+            <el-input v-model="dataList.grade" placeholder="请输入价格类型" disabled />
+          </el-form-item>
+          <!-- 基差 -->
+          <el-form-item label="基差(元/吨)" span="1">
+            <el-input v-model="dataList.grade" placeholder="请输入基差" />
+          </el-form-item>
+          <!--销售价格(元)-->
+          <el-form-item label="销售价格(元)" span="1">
+            <el-input
+              v-model="dataList.bulkDensity"
+              maxlength="120"
+              size="small"
+              placeholder="请输入销售价格"
+            />
+          </el-form-item>
+          <!--出货库-->
+          <el-form-item label="出货库" span="1">
+            <el-select
+              v-model="dataList.waterContent"
+              maxlength="120"
+              size="small"
+              placeholder="请选择出货库"
+            />
+          </el-form-item>
+          <!--出货库所在地区-->
+          <el-form-item label="出货库所在地区" span="1">
+            <el-select
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+              placeholder="请选择出货库所在地区"
+            />
+          </el-form-item>
+          <!--运费承担方-->
+          <el-form-item label="运费承担方" span="1">
+            <el-select
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+              placeholder="请选择运费承担方"
+            />
+          </el-form-item>
+          <!--包装方式-->
+          <el-form-item label="包装方式" span="1">
+            <el-select
+              v-model="dataList.agent"
+              filterable
+              :filter-method="dataFilter"
+              placeholder="请选择包装方式"
+            ></el-select>
+          </el-form-item>
+          <!--装袋备注=-->
+          <el-form-item label="装袋备注" span="1">
+            <el-input
+              v-model="dataList.businessDescribe"
+              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>
+          <!-- 卖方电话 -->
+          <el-form-item label="卖方电话" span="1">
+            <el-input
+              v-model="dataList.agent"
+              filterable
+              :filter-method="dataFilter"
+              placeholder="请输入卖方电话"
+            ></el-input>
+          </el-form-item>
+          <div class="small-title"></div>
+        </el-form>
+      </div>
+      <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" 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>
+          <!-- 热损伤 -->
+          <el-form-item label="热损伤(%)<=" span="1">
+            <el-input v-model="dataList.inOutType" class="typeselect" placeholder="请输入热损伤占比" />
+          </el-form-item>
+          <!-- 杂质 -->
+          <el-form-item label="杂质(%)<=" span="1">
+            <el-input v-model="dataList.contractNo" class="typeselect" placeholder="请输入杂质占比" />
+          </el-form-item>
+          <!-- 霉变粒 -->
+          <el-form-item label="霉变粒(%)<=" span="1">
+            <el-input v-model="dataList.goodsName" placeholder="请输入霉变粒占比" />
+          </el-form-item>
+          <!--不完善粒(%)<=-->
+          <el-form-item label="不完善粒(%)<=" span="1">
+            <el-input v-model="dataList.weight" maxlength="120" placeholder="请输入不完善粒占比" />
+          </el-form-item>
+          <!-- 蛋白(%)<= -->
+          <el-form-item label="蛋白(%)<=" span="1">
+            <el-input v-model="dataList.grade" 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>
+          <!--品级-->
+          <el-form-item label="品级" span="1">
+            <el-select
+              v-model="dataList.waterContent"
+              maxlength="120"
+              size="small"
+              placeholder="请选择品级"
+            />
+          </el-form-item>
+          <!--产地-->
+          <el-form-item label="产地" span="1">
+            <el-select
+              v-model="dataList.unitPrice"
+              maxlength="120"
+              size="small"
+              placeholder="请选择产地"
+            />
+          </el-form-item>
+          <!--产出年份-->
+          <el-form-item label="产出年份" span="1">
+            <el-select v-model="dataList.unitPrice" size="small" placeholder="请选择年份" />
+          </el-form-item>
+        </el-form>
+      </div>
+    </div>
+    <!-- 提交 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit()">提交</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getwarehousename,
+  xialaNo,
+  addoreditoutput,
+  outexamine
+} from '@/model/tasksport/index'
+import { packList } from '@/model/contarct/index'
+import { pullDown, getstaff } from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import { mapActions, mapGetters, mapState } from 'vuex'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    }
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList'])
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      contractNoList: [],
+      deptBudgetTotal: 0,
+      readonly: true,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      radio: '1',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: [],
+      checked: true,
+      form: {},
+
+      staffList: [],
+      options: [],
+      storageType: [],
+      storageType1: [],
+      outContractNo: [],
+      // 提交类型
+      submitType: true,
+      status: [],
+      unitPricechange: [],
+      warehouseNameList: [],
+      warehouseNameList1: [],
+      waterContentchange: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      warehouseInOutDetail: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur'
+          }
+        ]
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM')
+      },
+      contractList: [],
+      inOutTaskNo: '',
+      inOutTaskNo1: '',
+      dataList: { taskTypeKey: '1' },
+      dataList1: { taskTypeKey: '1' },
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: time => {
+          return time.getTime() > Date.now()
+        }
+      },
+      accessoryTFs: false
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    returnsales() {
+      this.$router.push({ path: 'procurementPlanList' })
+    },
+    // 获取当前年月日
+    getdate() {
+      var date = new Date()
+      var year = date.getFullYear() //获取完整的年份(4位)
+      var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
+      var datetime = date.getDate() //获取当前日(1-31)
+      if (mouth < 10) {
+        mouth = '0' + mouth
+      }
+      if (datetime < 10) {
+        datetime = '0' + datetime
+      }
+      return year + mouth + datetime
+    },
+    // 随机验证码
+    verifyinit() {
+      var arr = []
+      for (var i = 48; i < 123; i++) {
+        if (i > 57 && i < 65) continue
+        if (i > 90 && i < 97) continue
+        arr.push(String.fromCharCode(i))
+      }
+      arr.sort(function() {
+        return Math.random() - 0.5
+      })
+      arr.length = 4
+
+      return arr.join('')
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter(item => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    selectstaff1(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList1.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    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
+        }
+      })
+    },
+    //关闭
+    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')
+    //   }
+    // },
+    selectwarehouseName() {},
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    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) {
+          this.dataList.packingMethodKey = this.packtypeList[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
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    selectstorageType1(e) {
+      for (var i = 0; i < this.storageType1.length; i++) {
+        if (this.storageType1[i].constValue == e) {
+          this.dataList1.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    tasktypechange() {
+      this.tasknumber()
+    },
+    GetRandomNum(Min, Max) {
+      var Range = Max - Min
+      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() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {}
+  }
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .el-info-table {
+    border: none;
+    position: relative;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    margin: 0;
+    .el-form-item__label {
+      text-align: left;
+      font-size: 14px;
+      font-family: PingFangSC-Regular, PingFang SC;
+      font-weight: 400;
+      color: #8890b1;
+    }
+    .el-form-item__content {
+      padding-left: 0px;
+      padding-right: 10px;
+      // background: #fff;
+      white-space: nowrap;
+      height: 40px;
+      display: flex;
+      -webkit-box-align: center;
+      align-items: center;
+      text-align: left;
+      overflow: hidden;
+    }
+  }
+}
+/deep/.el-radio {
+  color: #606266;
+  font-weight: 500;
+  line-height: 1;
+  cursor: pointer;
+  white-space: nowrap;
+  outline: 0;
+  margin-right: 30px;
+  margin-top: 15px;
+}
+/deep/.el-radio__inner {
+  border: 1px solid #dcdfe6;
+  border-radius: 100%;
+  width: 14px;
+  height: 14px;
+  background-color: #fff;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 100px;
+}
+/deep/.el-radio__input {
+  white-space: nowrap;
+  cursor: pointer;
+  outline: 0;
+  line-height: 1;
+  vertical-align: middle;
+  margin-top: -1px;
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 15%;
+  display: flex;
+  flex-wrap: wrap;
+  margin-left: -50px;
+  margin-top: 15px;
+  width: 110%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+  margin-right: 180px;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+.inspector {
+  width: 50%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: left;
+}
+/deep/.el-input--small {
+  font-size: 13px;
+  position: relative;
+  display: inline-block;
+}
+.center1 .small-title {
+  margin-left: 323px;
+}
+.center1 {
+  width: 90%;
+  margin: 0 auto;
+  margin-left: 10px;
+  margin-top: 25px;
+}
+/deep/.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+}
+/deep/.el-select {
+  display: inline-block;
+  position: relative;
+  width: 100%;
+}
+.annu {
+  height: 81px;
+  background: #ffffff;
+  border-radius: 4px;
+}
+.basicInformation .el-form-item {
+  width: 50.3333%;
+  border: none;
+  margin: 0;
+}
+.el-form {
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+  margin-left: 130px;
+}
+.a {
+  margin-left: -32px;
+}
+.el-radio-group {
+  margin-left: 80px;
+}
+.ding {
+  height: 23px;
+  background: #e8ecf6;
+  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
+}
+.nav2 {
+  height: 25px;
+  background: #e8ecf6;
+  margin-top: 15px;
+}
+.ziti {
+  width: 72px;
+  height: 20px;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 20px;
+  margin-left: 314px;
+  /* margin-top: 112px; */
+}
+/deep/.ziti1 {
+  height: 40px;
+  font-size: 16px;
+  font-family: PingFangSC-Medium, PingFang SC;
+  font-weight: 500;
+  color: #262626;
+  line-height: 20px;
+  margin-left: 381px;
+  margin-top: -21px;
+  width: 100px;
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+/deep/.basicInformation .el-form-item .el-form-item__content {
+  padding-left: 0px;
+  padding-right: 10px;
+  white-space: nowrap;
+  height: 40px;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  text-align: left;
+  overflow: hidden;
+  font-size: 12px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #232323;
+  line-height: 14px;
+}
+.nav {
+  width: 400px;
+  height: 20px;
+}
+.readonly :after {
+  content: '*';
+  color: #ff2727;
+  position: absolute;
+  right: 8px;
+  z-index: 10;
+  top: 21%;
+  font-size: 20px;
+}
+</style>

+ 607 - 0
src/views/salesManagement/salesPlanList.vue

@@ -0,0 +1,607 @@
+//销售计划
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title"></h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
+          <img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt
+          />返回
+        </el-button>
+      </el-col>
+    </el-row>
+    <!-- <div> -->
+    <div>
+      <ws-input
+        v-model="searchKeyWord"
+        placeholder="可按照合同编号和任务编号进行查找"
+        clearable
+        maxlength="500"
+        type="input"
+        class="findValue"
+      ></ws-input>
+      <ws-button class="but" type="primary" @click="find()">
+        <img
+          width="16"
+          height="16"
+          style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            "
+          src="../../../public/img/sousuo.png"
+          alt
+        />
+      </ws-button>
+    </div>
+    <ws-button type="primary" @click="handleAdd()">添加</ws-button>
+    <el-table
+      class="wenzi"
+      :data="warehouseList.records"
+      style="width: 100%; margin-top: 20px"
+      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="状态">
+        <template slot-scope="scope">
+          <el-popover
+            placement="left"
+            :width="285"
+            trigger="click"
+            visible-arrow="false"
+            @show="history(scope.row)"
+          >
+            <template>
+              <span slot="reference">
+                <span v-if="scope.row.taskStatus == '展示中'" class="executory"></span>
+                <span v-if="scope.row.taskStatus == '已隐藏'" class="inExecution"></span>
+              </span>
+            </template>
+            <div>
+              <!-- <p style="margin-top: 0; padding-left: 10px">历史记录</p> -->
+              <div v-for="(item, index) in historyList" class="flex" :key="index">
+                <div class="vertical-text vertical-text-left">{{ item.updateDate }}</div>
+                <div>
+                  <div class="vertical-circle"></div>
+                  <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                </div>
+                <div class="vertical-text">
+                  {{ item.operateUser }}
+                  <br />
+                  {{ item.dealMsg }}
+                </div>
+              </div>
+            </div>
+          </el-popover>
+        </template>
+      </el-table-column>
+      <el-table-column class="table_td" label="更新时间" prop="establishDate"></el-table-column>
+      <el-table-column prop="seller" label="操作" width="300">
+        <template slot-scope="scope">
+          <div class="record" @click="handleLook(scope.row)">查看</div>
+          <div class="record" @click="handleEdit(scope.row)">编辑</div>
+          <div class="record" @click="handleDelete(scope.row)">删除</div>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 页数 -->
+    <el-pagination
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="currentPage"
+      :page-size="pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+    ></el-pagination>
+  </div>
+  <!-- </div> -->
+</template>
+<script>
+import { taskList } from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    }
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      pickerOptions: {},
+      value2: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      tranTypeKey: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      contractNo: '',
+      inOutTaskNo: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      deptBudgetList: {},
+      pcFlag:1,
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: time => {
+          return time.getTime() > Date.now()
+        }
+      },
+      accessoryTFs: false
+    }
+  },
+  activated() {
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    getList() {
+      console.log(123456)
+      taskList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        contractType: this.contractType,
+        tranTypeKey: this.tranTypeKey,
+        searchType: this.searchType,
+        contractNo: this.contractNo,
+        pcFlag: this.pcFlag,
+        inOutTaskNo: this.inOutTaskNo
+      })
+        .toPromise()
+        .then(response => {
+          this.warehouseList = response
+        })
+    },
+    statusquery(state) {
+      this.searchType = state
+      this.getList()
+    },
+    delivery(item) {
+      this.$router.push({
+        path: 'warehouseManagementDelivery',
+        query: {
+          baseId: item.warehouseId,
+          positionId: item.binNumberId,
+          warehouseName: item.warehouseName,
+          binNumber: item.binNumber,
+          capacity: item.capacity
+        }
+      })
+    },
+    getSpanArr(data) {
+      let that = this
+
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+
+      that.spanArr = []
+
+      that.pos = 0
+
+      // //遍历数据
+
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        if (index === 0) {
+          this.spanArr.push(1)
+          this.pos = 0
+        } else {
+          //不是第一项时,就根据标识去存储
+          if (data[index].warehouseNumViewList.length > 1) {
+            查找到符合条件的数据时每次要把之前存储的数据 + 1
+            this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+            this.spanArr.push(0)
+          } else {
+            // 没有符合的数据时,要记住当前的index
+            this.spanArr.push(1)
+            this.pos = index
+          }
+        }
+      })
+    },
+    //查看
+    handleLook(row) {
+      this.$router.push({
+        path: 'warehouseManagementPutOutLook',
+        query: {
+          relevanceId: row.relevanceId
+        }
+      })
+    },
+    //返回
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString() // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待审核' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          alsostate({ 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
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    // fujian(row) {
+    //   if (
+    //     row.receiveAttachmentPath === null ||
+    //     row.receiveAttachmentPath === ''
+    //   ) {
+    //     EventBus.$emit(
+    //       'warning',
+    //       this.$t('system.noticeCircular.NoInformation')
+    //     )
+    //   } else {
+    //     this.accessoryTFs = true
+    //   }
+    //   this.appendixIdss = row.receiveAttachmentPath
+    // },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id }
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then(response => {
+          this.historyList = response
+        })
+    },
+    //查找
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${this.date.year +
+          (this.date.month ? `-${this.date.month}` : '')}_销售合同`,
+        type: 'xls'
+      })
+    },
+    total() {}
+  }
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+//分页
+.el-pagination {
+  padding: 10px 15px;
+  margin-bottom: 0;
+  text-align: center;
+}
+/deep/.el-pager li.active {
+  color: #5878e8;
+  cursor: default;
+}
+/deep/.el-pager li:hover {
+  color: #5878e8;
+  cursor: default;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  width: 385px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+// .el-row{
+//     height: 150px;
+// }
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin-left: -20%;
+}
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.bg-left {
+  padding-left: 30px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+  // margin-left: 85%;
+  margin-top: 20px;
+}
+//导航条样式
+.el-col-12 {
+  width: 50%;
+  height: 60px;
+  background: #f6f7fc;
+  border-radius: 4px 4px 1px 1px;
+}
+.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+  width: 385px;
+  margin-top: 10px;
+}
+.bg-bottom {
+  margin-left: 85%;
+}
+.but {
+  margin-left: 30%;
+  /* margin-top: -32px; */
+  overflow: auto;
+  /* float: left; */
+  /* margin-left: 1px; */
+  margin-left: -10px;
+}
+.el-input--small {
+  font-size: 13px;
+  width: 390px;
+  margin-left: 74%;
+}
+/deep/.el-table .el-table__header .cell,
+.el-table .el-table__body .cell {
+  text-align: center;
+}
+</style>

+ 684 - 0
src/views/salesManagement/salesPlanLook.vue

@@ -0,0 +1,684 @@
+// 查看销售计划
+<template>
+  <div class="container">
+    <el-row>
+      <el-col :span="12">
+        <h2 class="bg-left title">查看销售计划</h2>
+      </el-col>
+      <el-col :span="12" class="bg-right">
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()">
+          <img
+            width="6"
+            height="10"
+            style="vertical-align: bottom; margin-right: 3px"
+            src="../../../public/img/lujing.png"
+            alt
+          />返回
+        </el-button>
+      </el-col>
+    </el-row>
+    <div class="basicInformation">
+      <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="标题">
+            <el-input disabled v-model="dataList.warehouseName" class="typeselect"></el-input>
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="货名">
+            <el-select disabled v-model="dataList.inOutType" class="typeselect"></el-select>
+          </el-form-item>
+          <!-- 计划销售量(吨) -->
+          <el-form-item label="计划销售量(吨)">
+            <el-input disabled v-model="dataList.contractNo" class="typeselect"></el-input>
+          </el-form-item>
+          <!-- 最小成交量(吨) -->
+          <el-form-item label="最小成交量(吨)">
+            <el-input disabled v-model="dataList.goodsName"></el-input>
+          </el-form-item>
+          <!--类型-->
+          <el-form-item label="类型" span="1">
+            <el-select disabled v-model="dataList.weight" maxlength="120" />
+          </el-form-item>
+          <!-- 价格类型 -->
+          <el-form-item label="价格类型">
+            <el-select v-model="dataList.grade" placeholder class="typeselect" disabled></el-select>
+          </el-form-item>
+          <!--销售价格(元)-->
+          <el-form-item label="销售价格(元)">
+            <el-input disabled v-model="dataList.bulkDensity" 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-form-item>
+          <!--出货库所在地区-->
+          <el-form-item label="出货库所在地区" span="1">
+            <el-input disabled v-model="dataList.unitPrice" maxlength="120" size="small" />
+          </el-form-item>
+          <!--运费承担方-->
+          <el-form-item label="运费承担方">
+            <el-input disabled v-model="dataList.unitPrice" 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-form-item>
+          <!--装袋备注=-->
+          <el-form-item label="装袋备注">
+            <el-input disabled v-model="dataList.businessDescribe" size="small" />
+          </el-form-item>
+          <!-- 卖方 -->
+          <el-form-item label="卖方">
+            <el-input disabled v-model="dataList.unitPrice" 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-form-item>
+          <div class="small-title"></div>
+        </el-form>
+      </div>
+      <div class="center1">
+        <div class="small-title">
+          <h3>货物要求</h3>
+        </div>
+        <el-form ref="dataList" :model="dataList" label-width="140px">
+          <el-form-item label="水分(%)<=">
+            <el-input disabled v-model="dataList.warehouseName" class="typeselect" />
+          </el-form-item>
+
+          <!-- 容重 -->
+          <el-form-item label="容重(g/l)<=">
+            <el-input disabled v-model="dataList.warehouseName" class="typeselect" />
+          </el-form-item>
+          <!-- 热损伤 -->
+          <el-form-item label="热损伤(%)<=">
+            <el-input disabled v-model="dataList.inOutType" class="typeselect" />
+          </el-form-item>
+          <!-- 杂质 -->
+          <el-form-item label="杂质(%)<=">
+            <el-input disabled v-model="dataList.contractNo" class="typeselect" />
+          </el-form-item>
+          <!-- 货名 -->
+          <el-form-item label="霉变粒(%)<=">
+            <el-input disabled v-model="dataList.goodsName" />
+          </el-form-item>
+          <!--不完善粒(%)<=-->
+          <el-form-item label="不完善粒(%)<=" span="1">
+            <el-input disabled v-model="dataList.weight" maxlength="120" />
+          </el-form-item>
+          <!-- 蛋白(%)<= -->
+          <el-form-item label="蛋白(%)<=" span="1">
+            <el-input v-model="dataList.grade" 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-form-item>
+          <!--水分(%)<=-->
+          <el-form-item label="品级" span="1">
+            <el-select disabled v-model="dataList.waterContent" 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-form-item>
+          <!--产出年份-->
+          <el-form-item label="产出年份" span="1">
+            <el-select v-model="dataList.unitPrice" size="small" disabled />
+          </el-form-item>
+        </el-form>
+      </div>
+    </div>
+    <!-- 关闭 -->
+    <div style="text-align: right; padding: 10px" class="center">
+      <el-button class="bg-bottom" type="primary" size="small" @click="close()">关闭</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getwarehousename,
+  xialaNo,
+  addoreditoutput,
+  outexamine
+} from '@/model/tasksport/index'
+import { packList } from '@/model/contarct/index'
+import { pullDown, getstaff } from '@/model/warehouse/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import { mapActions, mapGetters, mapState } from 'vuex'
+import WsUpload from '@/components/WsUpload'
+// import { dayjs, fmoney, EventBus } from 'base-core-lib'
+import { dayjs, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination
+  },
+  watch: {
+    // vesselId(val) {
+    //   this.getList()
+    // },
+    isShow(val) {
+      this.showType = val
+    }
+  },
+  computed: {
+    ...mapGetters(['deptBudgetList'])
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      contractNoList: [],
+      deptBudgetTotal: 0,
+      readonly: true,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchKeyWord: '',
+      radio: '1',
+      contractType: 2,
+      startDate: null,
+      endDate: null,
+      goodnameList: [],
+      checked: true,
+      form: {},
+
+      staffList: [],
+      options: [],
+      storageType: [],
+      storageType1: [],
+      outContractNo: [],
+      // 提交类型
+      submitType: true,
+      status: [],
+      unitPricechange: [],
+      warehouseNameList: [],
+      warehouseNameList1: [],
+      waterContentchange: [],
+      appendixIdsAdd: '',
+      uploadSuccess: {},
+      warehouseInOutDetail: {},
+      onChange: {},
+      deptBudgetList1: [],
+      gradeList: [],
+      rules: {
+        netWeight: [
+          {
+            required: true,
+            type: 'number',
+            message: '请输入活动名称',
+            trigger: 'blur'
+          }
+        ]
+      },
+      size: 10,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      packtypeList: {},
+      date: {
+        year: dayjs().format('YYYY'),
+        month: dayjs().format('MM')
+      },
+      contractList: [],
+      inOutTaskNo: '',
+      inOutTaskNo1: '',
+      dataList: { taskTypeKey: '1' },
+      dataList1: { taskTypeKey: '1' },
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: time => {
+          return time.getTime() > Date.now()
+        }
+      },
+      accessoryTFs: false
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    //返回按钮
+    revert() {
+      this.$router.go(-1)
+    },
+    returnsales() {
+      this.$router.push({ path: 'procurementPlanList' })
+    },
+    // 获取当前年月日
+    getdate() {
+      var date = new Date()
+      var year = date.getFullYear() //获取完整的年份(4位)
+      var mouth = date.getMonth() + 1 //获取当前月份(0-11,0代表1月)
+      var datetime = date.getDate() //获取当前日(1-31)
+      if (mouth < 10) {
+        mouth = '0' + mouth
+      }
+      if (datetime < 10) {
+        datetime = '0' + datetime
+      }
+      return year + mouth + datetime
+    },
+    // 随机验证码
+    verifyinit() {
+      var arr = []
+      for (var i = 48; i < 123; i++) {
+        if (i > 57 && i < 65) continue
+        if (i > 90 && i < 97) continue
+        arr.push(String.fromCharCode(i))
+      }
+      arr.sort(function() {
+        return Math.random() - 0.5
+      })
+      arr.length = 4
+
+      return arr.join('')
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.deptBudgetList.staffList = val
+      if (val) {
+        //val存在
+        this.options = this.staffList.filter(item => {
+          if (
+            !!~item.staffName.indexOf(val) ||
+            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.staffList
+      }
+    },
+    selectstaff(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    selectstaff1(e) {
+      for (var i = 0; i < this.staffList.length; i++) {
+        if (this.staffList[i].staffName == e) {
+          this.dataList1.agentKey = this.staffList[i].staffId
+        }
+      }
+    },
+    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
+        }
+      })
+    },
+    //关闭
+    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')
+    //   }
+    // },
+    selectwarehouseName() {},
+    tarechange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    grossWeightchange(e) {
+      if (this.dataList.grossWeight && this.dataList.tare) {
+        this.dataList.netWeight = Number(
+          this.dataList.grossWeight - this.dataList.tare
+        )
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.dataList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    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) {
+          this.dataList.packingMethodKey = this.packtypeList[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
+        }
+      }
+    },
+    selectstorageType(e) {
+      for (var i = 0; i < this.storageType.length; i++) {
+        if (this.storageType[i].constValue == e) {
+          this.dataList.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    selectstorageType1(e) {
+      for (var i = 0; i < this.storageType1.length; i++) {
+        if (this.storageType1[i].constValue == e) {
+          this.dataList1.inOutTypeKey = this.storageType[i].constKey
+        }
+      }
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    tasktypechange() {
+      this.tasknumber()
+    },
+    GetRandomNum(Min, Max) {
+      var Range = Max - Min
+      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() {},
+    listQuery() {},
+    total() {},
+    clearfiltQuery() {},
+    selectCrtDuty() {}
+  }
+}
+</script>
+<style lang="scss" scoped>
+/deep/.basicInformation {
+  .el-info-table {
+    border: none;
+    position: relative;
+  }
+  .el-form-item {
+    width: 33.3333%;
+    border: none;
+    margin: 0;
+    .el-form-item__label {
+      text-align: left;
+      font-size: 14px;
+      font-family: PingFangSC-Regular, PingFang SC;
+      font-weight: 400;
+      color: #8890b1;
+    }
+    .el-form-item__content {
+      padding-left: 0px;
+      padding-right: 10px;
+      // background: #fff;
+      white-space: nowrap;
+      height: 40px;
+      display: flex;
+      -webkit-box-align: center;
+      align-items: center;
+      text-align: left;
+      overflow: hidden;
+    }
+  }
+}
+/deep/.el-radio {
+  color: #606266;
+  font-weight: 500;
+  line-height: 1;
+  cursor: pointer;
+  white-space: nowrap;
+  outline: 0;
+  margin-right: 30px;
+  margin-top: 15px;
+}
+/deep/.el-radio__inner {
+  border: 1px solid #dcdfe6;
+  border-radius: 100%;
+  width: 14px;
+  height: 14px;
+  background-color: #fff;
+  cursor: pointer;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 100px;
+}
+/deep/.el-radio__input {
+  white-space: nowrap;
+  cursor: pointer;
+  outline: 0;
+  line-height: 1;
+  vertical-align: middle;
+  margin-top: -1px;
+}
+.title {
+  position: relative;
+  padding-left: 10px;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-form {
+  padding: 0 15%;
+  display: flex;
+  flex-wrap: wrap;
+  margin-left: -50px;
+  margin-top: 15px;
+  width: 110%;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-col {
+  background: #f6f7fc;
+}
+.bg-right {
+  text-align: right;
+  padding: 16px 20px;
+}
+.center {
+  position: relative;
+  top: 50px;
+  width: 40%;
+  height: 2000px;
+  margin: 0 auto;
+  margin-right: 180px;
+}
+/deep/.el-form-item__label {
+  width: 160px;
+}
+.inspector {
+  width: 50%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: left;
+}
+/deep/.el-input--small {
+  font-size: 13px;
+  position: relative;
+  display: inline-block;
+}
+.center1 .small-title {
+  margin-left: 323px;
+}
+.center1 {
+  width: 90%;
+  margin: 0 auto;
+  margin-left: 10px;
+  margin-top: 25px;
+}
+/deep/.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+}
+/deep/.el-select {
+  display: inline-block;
+  position: relative;
+  width: 100%;
+}
+.annu {
+  height: 81px;
+  background: #ffffff;
+  border-radius: 4px;
+}
+.basicInformation .el-form-item {
+  width: 50.3333%;
+  border: none;
+  margin: 0;
+}
+.el-form {
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 16px;
+  margin-left: 130px;
+}
+.a {
+  margin-left: -32px;
+}
+.el-radio-group {
+  margin-left: 80px;
+}
+.ding {
+  height: 23px;
+  background: #e8ecf6;
+  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
+}
+.nav2 {
+  height: 25px;
+  background: #e8ecf6;
+  margin-top: 15px;
+}
+.ziti {
+  width: 72px;
+  height: 20px;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #8890b1;
+  line-height: 20px;
+  margin-left: 314px;
+  /* margin-top: 112px; */
+}
+/deep/.ziti1 {
+  height: 40px;
+  font-size: 16px;
+  font-family: PingFangSC-Medium, PingFang SC;
+  font-weight: 500;
+  color: #262626;
+  line-height: 20px;
+  margin-left: 381px;
+  margin-top: -21px;
+  width: 100px;
+}
+.winseaview-view {
+  padding: 0 0 20px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+/deep/.basicInformation .el-form-item .el-form-item__content {
+  padding-left: 0px;
+  padding-right: 10px;
+  white-space: nowrap;
+  height: 40px;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  text-align: left;
+  overflow: hidden;
+  font-size: 12px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #232323;
+  line-height: 14px;
+}
+.nav {
+  width: 400px;
+  height: 20px;
+}
+</style>

+ 1525 - 0
src/views/salesManagement/salesPlanOrderList.vue

@@ -0,0 +1,1525 @@
+//销售详情
+<template>
+  <div class="container">
+    <el-scrollbar style="height:100%">
+      <el-scrollbar style="width:130%">
+        <el-row>
+          <el-col :span="12">
+            <h2 class="bg-left title"></h2>
+          </el-col>
+          <el-col :span="12" class="bg-right">
+            <el-button class="bg-bottom" type="primary" size="small" @click="revert()">
+              <img
+                width="6"
+                height="10"
+                style="vertical-align: bottom; margin-right: 3px"
+                src="../../../public/img/lujing.png"
+                alt
+              />返回
+            </el-button>
+          </el-col>
+        </el-row>
+        <!-- <div> -->
+        <div>
+          <!-- <el-button class="record" @click="dialogFormVisible = true">成交</el-button> -->
+          <!-- <el-dialog
+            width="30%"
+            title="客户信息"
+            :visible.sync="dialogFormVisible"
+            :append-to-body="true"
+          >
+          <el-form :model="form">-->
+          <!-- <el-form-item label="身份证正面" :label-width="formLabelWidth"> -->
+          <!-- <h4 style="margin-left: 15%;">身份证正面</h4>
+              <el-upload
+                action="https://jsonplaceholder.typicode.com/posts/"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                class="photo1"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+              <el-dialog :visible.sync="dialogVisible">
+                <img width="100%" :src="dialogImageUrl" alt />
+          </el-dialog>-->
+          <!-- </el-form-item> -->
+
+          <!-- <el-form-item label="身份证反面" :label-width="formLabelWidth"> -->
+          <!-- <h4 style="margin-left: 62%; margin-top: -33.5%;">身份证反面</h4>
+              <el-upload
+                action="https://jsonplaceholder.typicode.com/posts/"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                class="photo2"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+              <el-dialog :visible.sync="dialogVisible">
+                <img width="100%" :src="dialogImageUrl" alt />
+          </el-dialog>-->
+          <!-- </el-form-item> -->
+          <!-- <el-form-item label="姓名" :label-width="formLabelWidth"> -->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="身份证号" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal" ></el-input> -->
+          <!-- </el-form-item>
+          <hr />-->
+          <!-- <el-form-item label="身份证正面" :label-width="formLabelWidth"> -->
+          <!-- <h4 style="margin-left: 15%;">银行卡正面</h4>
+              <el-upload
+                action="https://jsonplaceholder.typicode.com/posts/"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                class="photo1"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+              <el-dialog :visible.sync="dialogVisible">
+                <img width="100%" :src="dialogImageUrl" alt />
+          </el-dialog>-->
+          <!-- </el-form-item> -->
+          <!-- <el-form-item label="身份证反面" :label-width="formLabelWidth"> -->
+          <!-- <h4 style="margin-left: 61%; margin-top: -33.5%;">银行卡反面</h4>
+              <el-upload
+                action="https://jsonplaceholder.typicode.com/posts/"
+                list-type="picture-card"
+                :on-preview="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                class="photo2"
+              >
+                <i class="el-icon-plus"></i>
+              </el-upload>
+              <el-dialog :visible.sync="dialogVisible">
+                <img width="100%" :src="dialogImageUrl" alt />
+          </el-dialog>-->
+          <!-- </el-form-item> -->
+          <!-- <el-form-item label="银行卡号" :label-width="formLabelWidth"> -->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="开户行" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="开户支行" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="收款人姓名" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="收款人身份证号" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="手机号" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+          <el-form-item label="联系地址" :label-width="formLabelWidth">-->
+          <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+          <!-- </el-form-item>
+              <hr />
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+              <el-button @click="dialogFormVisible = false">取 消</el-button>
+            </div>
+          </el-dialog>-->
+
+          <ws-button type="primary" @click="dialogVisible = true">全部订单</ws-button>
+          <ws-button type="primary" @click="handleAdd()">待审核</ws-button>
+          <ws-button type="primary" @click="handleAdd()">执行中</ws-button>
+          <ws-button type="primary" @click="handleAdd()">已完成</ws-button>
+          <template slot="right">
+            <span style="width: 70px; display: inline-block; color: #8890b1">状态:</span>
+            <ws-select
+              v-model="searchTypeText"
+              class="typeselect"
+              @change="selecttaskType"
+              :value="searchType"
+            >
+              <ws-option
+                v-for="item in taskTypeList"
+                :key="item.value"
+                :label="item.value"
+                :value="item.value"
+                style="color: #8890b1"
+              />
+            </ws-select>
+          </template>
+          <ws-input
+            v-model="searchKeyWord"
+            placeholder="可按照合同编号和任务编号进行查找"
+            clearable
+            maxlength="500"
+            type="input"
+            class="findValue"
+          ></ws-input>
+          <ws-button class="but" type="primary" @click="find()">
+            <img
+              width="16"
+              height="16"
+              style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            "
+              src="../../../public/img/sousuo.png"
+              alt
+            />
+          </ws-button>
+        </div>
+
+        <el-table
+          class="wenzi"
+          :data="warehouseList.records"
+          style="width: 100%; margin-top: 20px"
+          height="780"
+        >
+          <el-table-column type="index" label="序号" width="50"></el-table-column>
+          <el-table-column class="table_td" prop="contractNo" label="合同编号"></el-table-column>
+          <el-table-column class="table_td" prop="procurementPlan" label="销售计划"></el-table-column>
+          <el-table-column class="table_td" prop="customer" label="客户">
+            <template slot-scope="scope">
+              <el-button class="record" @click="dialogFormVisible8 = true">{{scope.row.customer}}</el-button>
+            </template>
+          </el-table-column>
+          <el-table-column class="table_td" prop="unitPrice" label="单价(元/吨)">
+            <template slot-scope="scope">
+              {{scope.row.unitPrice}}
+              <img
+                width="17"
+                height="18"
+                style="vertical-align: text-top; position: relative; top: -1px"
+                src="../../../public/img/edit.png"
+                @click="dialogFormVisible5 = true "
+                alt
+              />
+            </template>
+          </el-table-column>
+          <el-table-column class="table_td" prop="basis" label="基差(元/吨)"></el-table-column>
+          <el-table-column class="table_td" prop="freezingDeposit" label="冻结定金(元)"></el-table-column>
+          <el-table-column class="table_td" prop="defaultDeposit" label="拖欠定金(元)"></el-table-column>
+          <el-table-column class="table_td" prop="unloadingCharge" label="卸车费(元/吨)"></el-table-column>
+          <el-table-column class="table_td" prop="invoiceFee" label="发票费(元/吨)"></el-table-column>
+          <el-table-column class="table_td" prop="send" label="合同重量(吨)"></el-table-column>
+          <el-table-column class="table_td" prop="stockInQuantity" label="已入库量(吨)"></el-table-column>
+          <el-table-column class="table_td" prop="openPosition" label="可平仓量(吨)"></el-table-column>
+          <el-table-column class="table_td" prop="closedPosition" label="已平仓量(吨)">
+            <template slot-scope="scope">
+              {{scope.row.closedPosition}}
+              <img
+                width="17"
+                height="18"
+                style="vertical-align: text-top; position: relative; top: -1px"
+                src="../../../public/img/edit.png"
+                @click="dialogFormVisible7 = true "
+                alt
+              />
+            </template>
+          </el-table-column>
+          <el-table-column class="table_td" prop=" cumulativeTurnover" label="已交易量(吨)">
+            <template slot-scope="scope">
+              {{scope.row.cumulativeTurnover}}
+              <img
+                width="17"
+                height="18"
+                style="vertical-align: text-top; position: relative; top: -1px"
+                src="../../../public/img/edit.png"
+                @click="dialogFormVisible6 = true "
+                alt
+              />
+            </template>
+          </el-table-column>
+          <el-table-column class="table_td" label="发票类型" prop="type"></el-table-column>
+          <el-table-column class="table_td" label="包装方式"></el-table-column>
+          <el-table-column prop="status" label="状态">
+            <template slot-scope="scope">
+              <el-popover
+                placement="left"
+                :width="285"
+                trigger="click"
+                visible-arrow="false"
+                @show="history(scope.row)"
+              >
+                <template>
+                  <span slot="reference">
+                    <span v-if="scope.row.status == '待审核'" class="executory"></span>
+                    <span v-if="scope.row.status == '执行中'" class="inExecution"></span>
+                    <span v-if="scope.row.status == '已完成'" class="done"></span>
+                    {{ scope.row.status }}
+                  </span>
+                </template>
+              </el-popover>
+            </template>
+            <!-- <div> -->
+            <!-- <p style="margin-top: 0; padding-left: 10px">历史记录</p> -->
+            <!-- <div v-for="(item, index) in historyList" class="flex" :key="index">
+                <div class="vertical-text vertical-text-left">{{ item.updateDate }}</div>
+                <div>
+                  <div class="vertical-circle"></div>
+                  <div v-if="index != historyList.length - 1" class="vertical-line"></div>
+                </div>
+                <div class="vertical-text">
+                  {{ item.operateUser }}
+                  <br />
+                  {{ item.dealMsg }}
+                </div>
+              </div>
+            </div>-->
+
+            <!-- 客户信息 -->
+            <el-dialog
+              width="30%"
+              title="客户信息"
+              :visible.sync="dialogFormVisible8"
+              :append-to-body="true"
+            >
+              <el-form :model="form">
+                <h4 style=" margin-left: 42%;">营业执照</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="50%" :src="dialogImageUrl" alt />
+                </el-dialog>
+
+                <el-form-item label="公司名称" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="纳税人识别号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal" ></el-input> -->
+                </el-form-item>
+                <hr />
+
+                <!-- <el-form-item label="身份证正面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 15%;">身份证正面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo1"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="dialogImageUrl" alt />
+                </el-dialog>
+                <!-- </el-form-item> -->
+
+                <!-- <el-form-item label="身份证反面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 61%; margin-top: -33.5%;">身份证反面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo2"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="dialogImageUrl" alt />
+                </el-dialog>
+                <!-- </el-form-item> -->
+                <el-form-item label="姓名" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="身份证号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal" ></el-input> -->
+                </el-form-item>
+                <hr />
+                <!-- <el-form-item label="身份证正面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 15%;">银行卡正面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo1"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="dialogImageUrl" alt />
+                </el-dialog>
+                <!-- </el-form-item> -->
+                <!-- <el-form-item label="身份证反面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 61%; margin-top: -33.5%;">银行卡反面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo2"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <!-- <el-dialog :visible.sync="dialogVisible">  -->
+                <!-- <img width="100%" :src="dialogImageUrl" alt />
+                  </el-dialog>
+                <!-- </el-form-item>-->
+                <el-form-item label="银行卡号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="开户行" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="开户支行" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="手机号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="公司地址" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+              </el-form>
+              <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible8 = false">取 消</el-button>
+              </div>
+            </el-dialog>
+
+            <!-- 客户信息1 -->
+            <el-dialog
+              width="30%"
+              title="客户信息"
+              :visible.sync="dialogFormVisible"
+              :append-to-body="true"
+            >
+              <el-form :model="form">
+                <!-- <el-form-item label="身份证正面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 15%;">身份证正面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo1"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <!-- <img width="100%" :src="dialogImageUrl" alt />  -->
+                </el-dialog>
+                <!-- </el-form-item>
+
+                <!-- <el-form-item label="身份证反面" :label-width="formLabelWidth">-->
+                <h4 style="margin-left: 62%; margin-top: -33.5%;">身份证反面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo2"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="dialogImageUrl" alt />
+                </el-dialog>
+                <!-- </el-form-item> -->
+                <el-form-item label="姓名" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="身份证号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal" ></el-input> -->
+                </el-form-item>
+                <hr />
+                <!-- <el-form-item label="身份证正面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 15%;">银行卡正面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo1"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <!-- <img width="100%" :src="dialogImageUrl" alt /> -->
+                </el-dialog>
+                <!-- </el-form-item> -->
+                <!-- <el-form-item label="身份证反面" :label-width="formLabelWidth"> -->
+                <h4 style="margin-left: 61%; margin-top: -33.5%;">银行卡反面</h4>
+                <el-upload
+                  action="https://www.zthymaoyi.com/upload/admin"
+                  list-type="picture-card"
+                  :on-preview="handlePictureCardPreview"
+                  :on-remove="handleRemove"
+                  class="photo2"
+                >
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+                <el-dialog :visible.sync="dialogVisible">
+                  <img width="100%" :src="dialogImageUrl" alt />
+                </el-dialog>
+                <!-- </el-form-item> -->
+                <el-form-item label="银行卡号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="开户行" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="开户支行" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="收款人姓名" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="收款人身份证号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="手机号" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+                <el-form-item label="联系地址" :label-width="formLabelWidth">
+                  <!-- <el-input v-model="form.region" autocomplete="off"  class="deal"></el-input> -->
+                </el-form-item>
+                <hr />
+              </el-form>
+              <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible8 = false">取 消</el-button>
+              </div>
+            </el-dialog>
+
+            <!-- 成交记录 -->
+            <el-dialog
+              width="40%"
+              title="成交记录"
+              :visible.sync="dialogFormVisible6"
+              :append-to-body="true"
+            >
+              <el-table :model="form">
+                <el-table-column label="成交价" :label-width="formLabelWidth">
+                  <el-input v-model="form.name" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+                <el-table-column label="基差" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+                <el-table-column label="成交量" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+                <el-table-column label="成交日期" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+              </el-table>
+              <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible6 = false">取 消</el-button>
+                <el-button type="primary" @click="dialogFormVisible6 = false">确认</el-button>
+              </div>
+            </el-dialog>
+
+            <!-- 平仓记录 -->
+            <el-dialog
+              width="40%"
+              title="平仓记录"
+              :visible.sync="dialogFormVisible7"
+              :append-to-body="true"
+            >
+              <el-table :model="form">
+                <el-table-column label="成交价" :label-width="formLabelWidth">
+                  <el-input v-model="form.name" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+                <el-table-column label="基差" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+                <el-table-column label="成交量" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+                <el-table-column label="成交日期" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-table-column>
+              </el-table>
+              <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible7 = false">取 消</el-button>
+                <el-button type="primary" @click="dialogFormVisible7 = false">确认</el-button>
+              </div>
+            </el-dialog>
+
+            <!-- 改价记录 -->
+            <el-dialog
+              width="30%"
+              title="改价记录"
+              :visible.sync="dialogFormVisible5"
+              :append-to-body="true"
+            >
+              <el-form :model="form">
+                <el-form-item label="成交价" :label-width="formLabelWidth">
+                  <el-input v-model="form.name" autocomplete="off" class="deal"></el-input>
+                </el-form-item>
+                <el-form-item label="点价" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-form-item>
+                <el-form-item label="成交价" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-form-item>
+                <el-form-item label="点价" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-form-item>
+                <el-form-item label="审核单价" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-form-item>
+                <el-form-item label="预期单价" :label-width="formLabelWidth">
+                  <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                </el-form-item>
+              </el-form>
+              <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible5 = false">取 消</el-button>
+                <el-button type="primary" @click="dialogFormVisible5 = false">确认</el-button>
+              </div>
+            </el-dialog>
+          </el-table-column>
+          <el-table-column class="table_td" label="更新时间" prop="establishDate"></el-table-column>
+          <el-table-column class="table_td" label="入库结算"></el-table-column>
+          <el-table-column class="table_td" label="平仓结算"></el-table-column>
+          <el-table-column prop="seller" label="操作" width="300">
+            <template slot-scope="scope">
+              <el-button class="record" @click="dialogFormVisible1 = true">成交</el-button>
+              <el-dialog
+                width="30%"
+                title="成交"
+                :visible.sync="dialogFormVisible1"
+                :append-to-body="true"
+              >
+                <el-form :model="warehouseList">
+                  <el-form-item
+                    label="成交价(元/吨)"
+                    prop="transactionPrice"
+                    :label-width="formLabelWidth"
+                  >
+                    <el-input
+                      v-model="warehouseList.transactionPrice"
+                      autocomplete="off"
+                      placeholder="请输入成交价"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item
+                    label="成交量(吨)"
+                    prop="transactionsNumber"
+                    :label-width="formLabelWidth"
+                  >
+                    <el-input
+                      v-model="warehouseList.transactionsNumber"
+                      autocomplete="off"
+                      placeholder="请输入活动区域"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="基差(元/吨)" prop="basis" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="warehouseList.basis"
+                      autocomplete="off"
+                      placeholder="请输入基差"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="成交日期" prop="submissionDate" :label-width="formLabelWidth" class="deal">
+                    <ws-date-picker
+                      v-model="deptBudgetList.submissionDate"
+                      type="date"
+                      placeholder="请选择成交日期"
+                      value-format="yyyy-MM-dd"
+                      class="deal"
+                    />
+                  </el-form-item>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                  <el-button @click="dialogFormVisible1 = false">取 消</el-button>
+                  <el-button type="primary" @click="dialogFormVisible11()">确 定</el-button>
+                </div>
+              </el-dialog>
+
+              <!-- 补充定金 -->
+              <el-button class="record" @click="dialogFormVisible3 = true">补充定金</el-button>
+              <el-dialog
+                width="40%"
+                title="补充定金"
+                :visible.sync="dialogFormVisible3"
+                :append-to-body="true"
+              >
+                <el-form :model="form">
+                  <h5>我是客户名</h5>
+                  <el-form-item label="拖欠定金" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.name"
+                      autocomplete="off"
+                      placeholder="请输入成交价"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="可用定金" :label-width="formLabelWidth">
+                    <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="补充金额" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请输入补充金额"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                  <el-button @click="dialogFormVisible3 = false">取 消</el-button>
+                  <el-button type="primary" @click="dialogFormVisible3 = false">确 定</el-button>
+                </div>
+              </el-dialog>
+
+              <el-button class="record">解冻定金</el-button>
+              <!-- 平仓 -->
+              <el-button class="record" @click="dialogFormVisible2 = true">平仓</el-button>
+              <el-dialog
+                width="40%"
+                title="平仓"
+                :visible.sync="dialogFormVisible2"
+                :append-to-body="true"
+              >
+                <el-form :model="warehouseList">
+                  <el-form-item label="成交价格(元/吨)" prop="transactionPrice" :label-width="formLabelWidth">
+                    <el-select
+                      v-model="warehouseList.transactionPrice"
+                      autocomplete="off"
+                      placeholder="请输入成交价"
+                      class="deal"
+                    ></el-select>
+                  </el-form-item>
+                  <el-form-item label="可平仓数量(吨)" prop="openPosition" :label-width="formLabelWidth">
+                    <el-input v-model="warehouseList.openPosition" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="平仓数量(吨)" prop="closingQuantity" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="warehouseList.closingQuantity"
+                      autocomplete="off"
+                      placeholder="请输入平仓数量"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="平仓价格(元/吨)" prop="closeRate" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="warehouseList.closeRate"
+                      autocomplete="off"
+                      placeholder="请输入平仓价格"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="平仓基差(元/吨)" prop="closingBasis" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="warehouseList.closingBasis"
+                      autocomplete="off"
+                      placeholder="请输入平仓基差"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="平仓应付(元)" prop="closingPositionPayable" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="warehouseList.closingPositionPayable"
+                      autocomplete="off"
+                      placeholder="请输入平仓价格"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="平仓日期" prop="closePositionDate"  :label-width="formLabelWidth">
+                    <el-select
+                      v-model="warehouseList.closePositionDate"
+                      autocomplete="off"
+                      placeholder="请选择平仓日期"
+                      class="deal"
+                    ></el-select>
+                  </el-form-item>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                  <el-button @click="dialogFormVisible2 = false">取 消</el-button>
+                  <el-button type="primary" @click="dialogFormVisible22()">确 定</el-button>
+                </div>
+              </el-dialog>
+
+              <el-button class="record" @click="handle(scope.row)">完成</el-button>
+              <!-- 审核 -->
+              <el-button type="text" class="record" @click="dialogFormVisible4 = true">审核</el-button>
+              <el-dialog
+                width="40%"
+                title="审核"
+                :visible.sync="dialogFormVisible4"
+                :append-to-body="true"
+              >
+                <el-form :model="form">
+                  <el-form-item label="交易类型" :label-width="formLabelWidth">
+                    <el-input v-model="form.name" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="交易目标" :label-width="formLabelWidth">
+                    <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="卖方" :label-width="formLabelWidth">
+                    <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="交易数量(吨)" :label-width="formLabelWidth">
+                    <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="提交时间" :label-width="formLabelWidth">
+                    <el-input v-model="form.region" autocomplete="off" class="deal"></el-input>
+                  </el-form-item>
+                  <el-form-item label="包装方式" :label-width="formLabelWidth">
+                    <el-select v-model="form.region" autocomplete="off" class="deal"></el-select>
+                  </el-form-item>
+                  <el-form-item label="袋装备注" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="最大30字"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="发票类型" :label-width="formLabelWidth">
+                    <el-select
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请选择类型"
+                      class="deal"
+                    ></el-select>
+                  </el-form-item>
+                  <el-form-item label="单价(元/吨)" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请输入单价"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="基差(元/吨)" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请输入基差"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="发票费用(元/吨)" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请输入发票费用"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="卸车费用(元/吨)" :label-width="formLabelWidth">
+                    <el-input
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请输入卸车费用"
+                      class="deal"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="合同编号" :label-width="formLabelWidth">
+                    <el-select
+                      v-model="form.region"
+                      autocomplete="off"
+                      placeholder="请选择合同编号"
+                      class="deal"
+                    ></el-select>
+                  </el-form-item>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                  <el-button @click="dialogFormVisible4 = false">取 消</el-button>
+                  <el-button type="primary" @click="dialogFormVisible4 = false">通过</el-button>
+                </div>
+              </el-dialog>
+              <el-button class="record" @click="handle(scope.row)">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <!-- 页数 -->
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="deptBudgetTotal"
+        ></el-pagination>
+      </el-scrollbar>
+    </el-scrollbar>
+  </div>
+
+  <!-- </div> -->
+</template>
+<script>
+import { detailsList, chengList ,closePositionList} from '@/model/purchasingManagement/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    }
+  },
+
+  data() {
+    return {
+      dialogFormVisible1: false,
+      dialogFormVisible2: false,
+      dialogFormVisible3: false,
+      dialogFormVisible4: false,
+      dialogFormVisible5: false,
+      dialogFormVisible6: false,
+      dialogFormVisible7: false,
+      dialogFormVisible8: false,
+      dialogVisible: false,
+
+      form: {
+        transactionPrice: '',
+        transactionsNumber: '',
+        basis: '',
+        submissionDate: ''
+        // delivery: false,
+        // type: [],
+        // resource: '',
+        // desc: ''
+      },
+      formLabelWidth: '120px',
+
+      barWidth: 0,
+      barHeight: 0,
+      retioX: 1,
+      ratioY: 1,
+      isTaped: false,
+      isHover: false,
+      isShow: !this.autohide,
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      pickerOptions: {},
+      value2: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      tranTypeKey: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      enter: {
+        closePositionList:[],
+      },
+      // taskTypeList:[
+      //   {value:'待审核',type:1},
+      //   {value:'已完成',type:2},
+      //   {value:'已通过',type:3},
+      //   {value:'已成交',type:4},
+      // ],
+
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      contractNo: '',
+      inOutTaskNo: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      deptBudgetList: {},
+      pcFlag:1,
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: time => {
+          return time.getTime() > Date.now()
+        }
+      },
+      accessoryTFs: false
+    }
+  },
+  activated() {
+    // this.loaddata()
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    //成交
+    dialogFormVisible11(row) {
+      if (!this.warehouseList.transactionPrice) {
+        this.$message({
+          message: '成交价不能为空',
+          type: 'warning'
+        })
+        return
+      }
+      this.$confirm(`确定提交成交信息`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning'
+      })
+      .then(() => {
+      chengList({
+         id: row.id,
+         compId: sessionStorage.getItem('ws-pf_compId'),
+         transactionPrice: row.transactionPrice,
+         transactionsNumber: row.transactionsNumber,
+         basis: row.basis,
+      })
+        .toPromise()
+        .then((response) => {
+          this.$message.success('添加成功')
+          this.warehouseList = response
+          // this.$router.go(-1)
+        })
+        .catch(() => {
+        console.log(1111111111)
+          return false
+        })
+      })
+      
+    },
+    //平仓
+    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
+      })
+        .toPromise()
+        .then(response => {
+          this.warehouseList = response
+        })
+    },
+    // loaddata(){
+    //   chengList({
+    //      compId: sessionStorage.getItem('ws-pf_compId'),
+    //   })
+    //   .toPromise()
+    //   .then(response => {
+    //       this.warehouseList = response
+    //     })
+    // },
+    handleRemove(file) {
+      console.log(file)
+    },
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url
+      this.dialogVisible = true
+    },
+    handleDownload(file) {
+      console.log(file)
+    },
+
+    // statusquery(state) {
+    //   this.searchType = state
+    //   this.getList()
+    // },
+    // delivery(item) {
+    //   this.$router.push({
+    //     path: 'warehouseManagementDelivery',
+    //     query: {
+    //       baseId: item.warehouseId,
+    //       positionId: item.binNumberId,
+    //       warehouseName: item.warehouseName,
+    //       binNumber: item.binNumber,
+    //       capacity: item.capacity
+    //     }
+    //   })
+    // },
+    getSpanArr(data) {
+      let that = this
+
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+
+      that.spanArr = []
+
+      that.pos = 0
+
+      // //遍历数据
+
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        if (index === 0) {
+          this.spanArr.push(1)
+          this.pos = 0
+        } else {
+          //不是第一项时,就根据标识去存储
+          if (data[index].warehouseNumViewList.length > 1) {
+            查找到符合条件的数据时每次要把之前存储的数据 + 1
+            this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+            this.spanArr.push(0)
+          } else {
+            // 没有符合的数据时,要记住当前的index
+            this.spanArr.push(1)
+            this.pos = index
+          }
+        }
+      })
+    },
+    //查看
+    handleLook(row) {
+      this.$router.push({
+        path: 'warehouseManagementPutOutLook',
+        query: {
+          relevanceId: row.relevanceId
+        }
+      })
+    },
+    //返回
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString() // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待审核' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          alsostate({ 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
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    // fujian(row) {
+    //   if (
+    //     row.receiveAttachmentPath === null ||
+    //     row.receiveAttachmentPath === ''
+    //   ) {
+    //     EventBus.$emit(
+    //       'warning',
+    //       this.$t('system.noticeCircular.NoInformation')
+    //     )
+    //   } else {
+    //     this.accessoryTFs = true
+    //   }
+    //   this.appendixIdss = row.receiveAttachmentPath
+    // },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id }
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then(response => {
+          this.historyList = response
+        })
+    },
+    //查找
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${this.date.year +
+          (this.date.month ? `-${this.date.month}` : '')}_销售合同`,
+        type: 'xls'
+      })
+    },
+    total() {}
+  }
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+//分页
+.el-pagination {
+  padding: 10px 15px;
+  margin-bottom: 0;
+  text-align: center;
+}
+/deep/.el-pager li.active {
+  color: #5878e8;
+  cursor: default;
+}
+/deep/.el-pager li:hover {
+  color: #5878e8;
+  cursor: default;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  width: 385px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+// .el-row{
+//     height: 150px;
+// }
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin-left: -20%;
+}
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.bg-left {
+  padding-left: 30px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+  // margin-left: 85%;
+  margin-top: 20px;
+}
+//导航条样式
+.el-col-12 {
+  width: 50%;
+  height: 60px;
+  background: #f6f7fc;
+  border-radius: 4px 4px 1px 1px;
+}
+.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+  width: 385px;
+  margin-top: 10px;
+}
+.bg-bottom {
+  margin-left: 85%;
+}
+.but {
+  margin-left: 30%;
+  /* margin-top: -32px; */
+  overflow: auto;
+  /* float: left; */
+  /* margin-left: 1px; */
+  margin-left: -10px;
+}
+.el-input--small {
+  font-size: 13px;
+  width: 390px;
+  margin-left: 74%;
+}
+/deep/.el-table .el-table__header .cell,
+.el-table .el-table__body .cell {
+  text-align: center;
+}
+.el-scrollbar__wrap {
+  overflow-y: hidden;
+}
+.deal {
+  margin-left: 9%;
+  width: 66%;
+}
+.photo {
+  padding: 0% 34%;
+}
+.photo1 {
+  padding: 0 10%;
+}
+.photo2 {
+  padding: 0 55%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: center;
+}
+hr {
+  width: 91%;
+}
+/deep/.deaal{
+ width: 66%; 
+  margin-left: 9%;
+}
+// .danjia{
+//   width: 9px;
+//   height: 9px;
+//   margin-left: 40px;
+// }
+</style>

+ 1 - 1
vue.config.js

@@ -145,7 +145,7 @@ module.exports = {
         // target: 'http://standard-dev.winsea.com/', //目标地址
         // target: 'http://localhost:8090/',
         // target: 'http://192.168.1.121:8090/',
-        target: 'http://192.168.1.116:8090/',
+        target: 'http://192.168.1.121:8090/',
         // target: 'http://192.168.1.119:8090/',
         // target: 'http://192.168.24.5:8098',//目标地址
         // target: 'http://product-server.winsea.com/',