Kaynağa Gözat

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun-pc

zhongtianhaoyuan 3 yıl önce
ebeveyn
işleme
ebb6f64482
25 değiştirilmiş dosya ile 4011 ekleme ve 4000 silme
  1. 2 0
      src/api/V2/contract/index.js
  2. 4 4
      src/api/V2/warehouse/index.js
  3. 39 12
      src/components/mapdrag/mapdrag.vue
  4. 3 0
      src/model/contarct/index.js
  5. 1656 1832
      src/views/contractManagement/futuresSalesContractAdd.vue
  6. 194 40
      src/views/contractManagement/purchaseContractAdd.vue
  7. 62 6
      src/views/contractManagement/purchaseContractEdit.vue
  8. 1676 1720
      src/views/contractManagement/salesContractAdd.vue
  9. 27 5
      src/views/contractManagement/salesContractEdit.vue
  10. 93 215
      src/views/houseSelfCollect/paymentManagement.vue
  11. 6 5
      src/views/houseSelfCollect/weighingManagement.vue
  12. 1 0
      src/views/newTask/listPage.vue
  13. 1 1
      src/views/platformaudit/component/router/route.js
  14. 16 12
      src/views/taskManagement/tranManagementTransportAdd.vue
  15. 15 11
      src/views/taskManagement/tranManagementTransportEdit.vue
  16. 66 66
      src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue
  17. 10 10
      src/views/taskManagement/tranManagementWarehouseInOutTaskAudit.vue
  18. 41 41
      src/views/taskManagement/tranManagementWarehouseInOutTaskEdit.vue
  19. 8 8
      src/views/tranManagement/tranManagementDriverAdd.vue
  20. 36 1
      src/views/tranManagement/tranManagementReceivingFeedback.vue
  21. 37 1
      src/views/tranManagement/tranManagementTransporHairRespond.vue
  22. 3 3
      src/views/tranManagement/tranManagementUnShippingFeedback.vue
  23. 5 5
      src/views/tranManagement/tranManagementUnShippingFeedbackLook.vue
  24. 0 1
      src/views/warehouse/warehouseManagementNoWeight.vue
  25. 10 1
      src/views/workNotification/utils/index.js

+ 2 - 0
src/api/V2/contract/index.js

@@ -18,6 +18,8 @@ export const API_POST_EXPORT = '/contractManagementInfo/export'
 export const API_GET_BILL_OPERATE_HIS = '/billOperateHis/query/commonBillOperateHis'
 // 修改状态
 export const API_POST_EDITSTATUS = '/contractManagementInfo/editStatus'
+// 补充协议查看关联合同
+export const API_GET_RELATION_CONTRACTNO = '/contractManagementInfo/selectContract'
 //删除销售合同
 export const API_POST_CONTRACT_DELETE = '/contractManagementInfo/deleteInfo '
 //销售合同修改编辑 

+ 4 - 4
src/api/V2/warehouse/index.js

@@ -53,7 +53,7 @@ export const API_GET_STAFF = '/staff/query/getStaffListByCompIdAndWarehouseId'
 export const API_GET_WAREHOUSE_RECORDSS = '/warehouseInOutInfo/selectInfoTemporary'
 
 //临时出库货名下拉
-export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList '
+export const API_GET_GOODSNAME_XIALA = '/warehouseInOutInfo/selectTemporaryGoodsNameList'
 //临时仓库待完成
 export const API_GET_WAREHOUSE_LIST = '/warehouseInOutInfo/selectWarehouseInOutInfoTemporary'
 //任务列表
@@ -73,11 +73,11 @@ export const API_GET_WEIGHTEDDETAILS = '/weightedDetails/selectInventoryCostInfo
 // 库
 export const API_GET_WAREHOUSE = '/warehouseBaseInfo/selectWarehouse'
 // 出入库任务负责人
-export const API_GET_WAREHOUSERESPONSIBLE = "/warehouseBaseInfo/selectResponsible"
+export const API_GET_WAREHOUSERESPONSIBLE = '/warehouseBaseInfo/selectResponsible'
 // 出入库任务
-export const API_GET_WAREHOUSETASK = "/inOutWarehouseTask/selectWarehouseTask"
+export const API_GET_WAREHOUSETASK = '/inOutWarehouseTask/selectWarehouseTask'
 // 修改经办人
-export const API_GET_CHECKORUPDATE = "/inOutWarehouseTask/api/checkOrUpdateInOutTask"
+export const API_GET_CHECKORUPDATE = '/inOutWarehouseTask/api/checkOrUpdateInOutTask'
 
 
 

+ 39 - 12
src/components/mapdrag/mapdrag.vue

@@ -1,15 +1,15 @@
 <style lang='scss' scoped>
 .mapContent {
   position: relative;
-  margin-top: 64px;
+  margin-top: 80px;
 }
 #mapContainer {
-  width: 750px;
+  width: 100%;
   height: 300px;
 }
 #tip {
   position: absolute;
-  top: -60px;
+  top: -75px;
 }
 #tip .el-input {
   width: 179px;
@@ -36,6 +36,15 @@
   color: #5878e8;
   border-color: #5473e8;
 }
+.address{
+  display: flex;
+  align-items: center;
+  position:absolute;
+  top: -35px;
+  .address-input{
+    width: 400px;
+  }
+}
 </style>
 
 <template>
@@ -69,16 +78,22 @@
         >
         </el-option>
       </el-select>
-      <!-- <el-input
-        type="textarea"
+     
+      <el-button @click="positions" type="primary" v-if='!isShowaddress'>确定定位</el-button>
+      <el-button @click="anewselect" v-if='!isShowaddress'>重新选择</el-button>
+      <el-button @click="submit" v-if='isShowaddress'>确定</el-button>
+    </div>
+    <div class="address" v-if="isShowaddress">
+       <el-input
+        type="text"
         id="searchValue"
-        placeholder="地址"
+        placeholder="请输入关键字:"
         v-model="address"
         clearable
-      ></el-input> -->
-      <el-button @click="positions" type="primary">确定定位</el-button>
-      <el-button @click="anewselect">重新选择</el-button>
+        class="address-input"
+      ></el-input>
     </div>
+    
   </div>
 </template>
 
@@ -106,7 +121,7 @@ export default {
       status: true,
     }
   },
-  props: ['flagVisible', 'position','selectedOptions'],
+  props: ['flagVisible', 'position','selectedOptions','isShowaddress','type'],
   computed: {
     showFlag() {
       return this.flagVisible
@@ -115,8 +130,7 @@ export default {
   watch: {
     selectedOptions:{
       handler(newValue, oldValue) {
-        console.log(CodeToText[newValue[1]])
-        this.province=newValue[0]
+        this.province=CodeToText[newValue[0]]
         this.selectP(this.province)
         this.city = CodeToText[newValue[1]]
         this.selectC(CodeToText[newValue[1]])
@@ -330,6 +344,7 @@ export default {
       })
     },
     selectP(val) {
+     this.province=CodeToText[val]
       if (this.status) {
         this.$emit('provinceChange', val)
         this.loadmap(val)
@@ -345,10 +360,22 @@ export default {
       }
     },
     selectD(val) {
+     this.district=CodeToText[val]
       if (this.status) {
         this.loadmap(val)
       }
     },
+    submit(){
+      let _data = []
+      _data.push(this.province)
+      _data.push(this.city)
+      _data.push(this.district)
+      _data.push(this.address)
+      _data.push(this.type)
+      this.$emit('addressListen',_data)
+      this.$parent.blurMap()
+      console.log("submit")
+    }
   },
 }
 </script>

+ 3 - 0
src/model/contarct/index.js

@@ -14,6 +14,7 @@ import {
     API_POST_EDITSTATUS,
     API_GET_CONTRACT_MANAGEMENTINFO,
     API_POST_EDITINFO,
+    API_GET_RELATION_CONTRACTNO,
     API_POST_CONTRACT_DELETE,
     API_GET_TRAN_TASK_WAREHOUSE,
     API_GET_SELECTCONFIRMATIONSHEET,
@@ -43,6 +44,8 @@ export const export1 = appRx.get(API_POST_EXPORT)
 export const billoperatehis = appRx.get(API_GET_BILL_OPERATE_HIS, errorCatcher, errorHandle, filter)
 // 修改状态
 export const editstatus = appRx.post(API_POST_EDITSTATUS, errorCatcher, errorHandle, filter)
+// 补充协议查看关联合同
+export const getRelationContractNo = appRx.get(API_GET_RELATION_CONTRACTNO, errorCatcher, errorHandle, filter)
 //删除销售合同
 export const deletecontract = appRx.post(API_POST_CONTRACT_DELETE, errorCatcher, errorHandle, filter)
 //修改销售合同编辑

+ 1656 - 1832
src/views/contractManagement/futuresSalesContractAdd.vue

@@ -1,1844 +1,1668 @@
 <!--期货销售合同添加-->
 <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>
-    <ws-form ref="deptBudgetList" :rules="rules" :model="deptBudgetList">
-      <div class="remark">
-        <h3>基本信息</h3>
-        <p style="color: #8890b1">
-          注:基本信息和货物信息均为必填项,“*” 标记的条目提交后不可修改。
-        </p>
-      </div>
-      <ws-info-table>
-        <!--合同编号-->
-        <ws-form-item
-          label="合同编号"
-          span="1"
-          prop="contractNo"
-          class="readonly"
-          required
-        >
-          <ws-input
-            v-model="deptBudgetList.contractNo"
-            placeholder="请输入合同编号"
-            maxlength="50"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--运输方式-->
-        <ws-form-item label="运输方式" span="1" prop="shippingType">
-          <ws-input
-            v-model="deptBudgetList.shippingType"
-            placeholder="请输入运输方式"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--买方-->
-        <ws-form-item label="买方" span="1" prop="buyer" >
-          <ws-input
-            v-model="deptBudgetList.buyer"
-            placeholder="请输入买方名称"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--结算方式-->
-        <ws-form-item label="结算方式" span="1" prop="settlementMethod">
-          <ws-input
-            v-model="deptBudgetList.settlementMethod"
-            placeholder="请输入结算方式"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--买方电话-->
-        <ws-form-item label="买方电话" span="1" prop="contractNo">
-          <ws-input
-            v-model.number="deptBudgetList.buyerPhone"
-            placeholder="请输入买方电话"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        
-        <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
-          <el-radio v-model="deptBudgetList.deliverType" label="1"
-            >我方送货</el-radio
-          >
-          <el-radio v-model="deptBudgetList.deliverType" label="2"
-            >对方自提</el-radio
-          >
-        </ws-form-item>
-        <!--卖方-->
-        <ws-form-item label="卖方" span="1" prop="seller" >
-          <ws-input
-            v-model="deptBudgetList.seller"
-            placeholder="请输入卖方名称"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        
-        <!--包装方式-->
-        <ws-form-item label="包装方式" span="1" prop="packingMethod">
-          <ws-select
-            v-model="deptBudgetList.packingMethod"
-            placeholder=""
-            class="typeselect"
-            :value="value1"
-            @change="selectpackingMethod"
-          >
-            <ws-option
-              v-for="item in packtypeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
-          </ws-select>
-        </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="acceptanceMethod">
-          <el-select
-            v-model="deptBudgetList.acceptanceMethod"
-            placeholder="请选择验收方式"
-            style="width: 100%"
-            filterable
-            @change="selectunitList"
-          >
-            <el-option
-              v-for="(item, index) in unitList"
-              :key="item.constValue"
-              :label="item.constValue"
-              :value="item.constValue"
-            >
-              <span class="unit-left" style="float: left">
-                <span v-if="item.flag == 'delete'"> {{ item.constValue }}</span>
-                <!-- 新增文本框 -->
-                <div
-                  style="width: 160px"
-                  v-if="item.flag !== 'delete'"
-                  @click.stop
-                >
-                  <ws-input
-                    v-model="item.constValue"
-                    clearable
-                    maxlength="10"
-                    style="width: 100%"
-                  ></ws-input>
-                </div>
-              </span>
-              <span style="float: right; color: #8492a6; font-size: 13px">
-                <!-- 对号 -->
-                <i
-                  class="el-icon-check"
-                  style="line-height: 29px; margin-left: 10px"
-                  v-if="item.flag !== 'delete'"
-                  @click.stop="saveClick(item, index)"
-                ></i>
-                <!-- 编辑 -->
-                <i
-                  class="el-icon-edit"
-                  style="line-height: 29px; margin-left: 10px"
-                  v-if="item.flag == 'delete'"
-                  @click.stop="editClick(item, index)"
-                ></i>
-                <!-- 删除 -->
-                <i
-                  class="el-icon-delete"
-                  style="line-height: 29px"
-                  @click.stop="deleteClick(item, index)"
-                ></i>
-              </span>
-            </el-option>
-            <!-- 新增按钮 -->
-            <el-option value="" label="">
-              <div
-                style="
+	<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>
+		<ws-form ref="deptBudgetList" :rules="rules" :model="deptBudgetList">
+			<div class="remark">
+				<h3>基本信息</h3>
+				<p style="color: #8890b1">
+					注:基本信息和货物信息均为必填项,“*” 标记的条目提交后不可修改。
+				</p>
+			</div>
+			<ws-info-table>
+				<!--合同编号-->
+				<ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly" required>
+					<ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small" />
+				</ws-form-item>
+
+				<!--运输方式-->
+				<ws-form-item label="运输方式" span="1" prop="shippingType">
+					<ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="100"
+						size="small" />
+				</ws-form-item>
+				<!--买方-->
+				<ws-form-item label="买方" span="1" prop="buyer">
+					<ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--结算方式-->
+				<ws-form-item label="结算方式" span="1" prop="settlementMethod">
+					<ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="100"
+						size="small" />
+				</ws-form-item>
+				<!--买方电话-->
+				<ws-form-item label="买方电话" span="1" prop="contractNo">
+					<ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100"
+						size="small" />
+				</ws-form-item>
+
+				<ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
+					<el-radio v-model="deptBudgetList.deliverType" label="1">我方送货</el-radio>
+					<el-radio v-model="deptBudgetList.deliverType" label="2">对方自提</el-radio>
+				</ws-form-item>
+				<!--卖方-->
+				<ws-form-item label="卖方" span="1" prop="seller">
+					<ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--包装方式-->
+				<ws-form-item label="包装方式" span="1" prop="packingMethod">
+					<ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
+						@change="selectpackingMethod">
+						<ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
+							:value="item.constValue" />
+					</ws-select>
+				</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="acceptanceMethod">
+					<el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%"
+						filterable @change="selectunitList">
+						<el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
+							:value="item.constValue">
+							<span class="unit-left" style="float: left">
+								<span v-if="item.flag == 'delete'"> {{ item.constValue }}</span>
+								<!-- 新增文本框 -->
+								<div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
+									<ws-input v-model="item.constValue" clearable maxlength="10" style="width: 100%">
+									</ws-input>
+								</div>
+							</span>
+							<span style="float: right; color: #8492a6; font-size: 13px">
+								<!-- 对号 -->
+								<i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
+									v-if="item.flag !== 'delete'" @click.stop="saveClick(item, index)"></i>
+								<!-- 编辑 -->
+								<i class="el-icon-edit" style="line-height: 29px; margin-left: 10px"
+									v-if="item.flag == 'delete'" @click.stop="editClick(item, index)"></i>
+								<!-- 删除 -->
+								<i class="el-icon-delete" style="line-height: 29px"
+									@click.stop="deleteClick(item, index)"></i>
+							</span>
+						</el-option>
+						<!-- 新增按钮 -->
+						<el-option value="" label="">
+							<div style="
                   text-align: right;
                   border-top: 1px solid #dcdfe6;
                   padding: 5px;
-                "
-              >
-                <ws-button type="primary" @click.stop="addClick">{{
+                ">
+								<ws-button type="primary" @click.stop="addClick">{{
                   $t('button.add')
                 }}</ws-button>
-              </div>
-            </el-option>
-          </el-select>
-        </ws-form-item>
-        <!--交易数量(吨)-->
-        <ws-form-item label="交易数量(吨)" span="1" prop="weight">
-          <ws-input
-            @input="weightchange"
-            v-model="deptBudgetList.weight"
-            placeholder="请输入重量(吨)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--计量标准-->
-        <ws-form-item label="计量标准" span="1" prop="measurementStandard">
-          <ws-input
-            v-model="deptBudgetList.measurementStandard"
-            placeholder="请输入计量标准,如库内磅单"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--基差(元/吨)-->
-        <ws-form-item label="基差(元/吨)" span="1" prop="basisPrice">
-          <ws-input
-            v-model="deptBudgetList.basisPrice"
-            placeholder="请输入基差(元/吨)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--出货库-->
-          <el-form-item label="出货库" span="1" prop="receiveWarehouse">
-            <el-select
-              v-model="deptBudgetList.receiveWarehouse"
-              placeholder="请选择出货库"
-              class="typeselect"
-              @change="selectwarehouseName"
-            >
-              <el-option
-                v-for="item in warehouseNameList"
-                :key="item.constKey"
-                :label="item.warehouseName"
-                :value="item.warehouseName"
-              />
-            </el-select>
-          </el-form-item>
-        <!--交易所-->
-        <ws-form-item label="交易所" span="1" prop="transactionsPlace">
-          <ws-input
-            v-model="deptBudgetList.transactionsPlace"
-            placeholder="请输入交易所"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--交货所在地区-->
-        <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
-          <el-cascader
-            :options="options_"
-            v-model="selectedOptions"
-            clearable
-            size="large"
-            placeholder="请选择交货所在地区"
-            style="width: 200%"
-            @change="handleChange"
-          />
-        </ws-form-item>
-        <!--合约号-->
-        <ws-form-item label="合约号" span="1" prop="contractNumber">
-          <ws-input
-            v-model="deptBudgetList.contractNumber"
-            placeholder="请输入合约号"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--交货详细地址-->
-        <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
-          <ws-input
-            v-model="deptBudgetList.placeDelivery"
-            placeholder="请输入交货详细地址"
-            maxlength="20"
-            size="small"
-          />
-        </ws-form-item>
-        <!--点价(元/吨)-->
-        <ws-form-item label="点价(元/吨)" span="1" prop="pointPrice">
-          <ws-input
-            v-model="deptBudgetList.pointPrice"
-            placeholder="请输入合约点价"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--签订日期-->
-        <ws-form-item label="签订日期" span="1" prop="signingDate">
-          <ws-date-picker
-            v-model="deptBudgetList.signingDate"
-            type="date"
-            placeholder="请选择合同签订日期"
-            value-format="yyyy-MM-dd"
-          />
-        </ws-form-item>
-        <!--点价日期-->
-        <ws-form-item label="点价日期" span="1" prop="pointPriceDate">
-          <ws-date-picker
-            v-model="deptBudgetList.pointPriceDate"
-            type="date"
-            placeholder="请选择点价日期"
-            value-format="yyyy-MM-dd"
-          />
-        </ws-form-item>
-        
-        
-        <!--交货日期(起)-->
-        <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
-          <ws-date-picker
-            v-model="deptBudgetList.deliveryDateStart"
-            type="date"
-            placeholder="请选择交货日期(起)"
-            value-format="yyyy-MM-dd"
-          />
-        </ws-form-item>
-        <!--临时仓库负责人-->
-        <ws-form-item
-          v-show="deptBudgetList.deliverType == 1"
-          label="临时仓库负责人"
-          span="1"
-          prop="packingMethod"
-        >
-          <el-select
-            v-model="deptBudgetList.personCharge"
-            placeholder="请选择临时仓库负责人"
-            filterable
-            :filter-method="dataFilter"
-            @change="selectstaff"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.staffName"
-              :value="item.staffName"
-            />
-          </el-select>
-        </ws-form-item>
-        <!--交货日期(止)-->
-        <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-          <ws-date-picker
-            v-model="deptBudgetList.deliveryDateEnd"
-            type="date"
-            placeholder="请选择交货日期(止)"
-            value-format="yyyy-MM-dd"
-          />
-        </ws-form-item>
-        
-    </ws-info-table>
-
-      <div class="wenzi">
-        <h3>货物信息</h3>
-      </div>
-      <!--货物信息-->
-
-      <ws-info-table>
-        <!--货名-->
-        <ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.goodsName"
-            placeholder=""
-            class="typeselect"
-            @change="selectgoodsName"
-          >
-            <ws-option
-              v-for="item in goodnameList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
-          </ws-select>
-        </ws-form-item>
-
-        <!--水分(%)<=-->
-        <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.waterContent"
-            placeholder="请输入水分占比"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--品级-->
-        <ws-form-item label="品级" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.grade"
-            placeholder="请选择品级"
-            class="typeselect"
-            @change="selectgrade"
-          >
-            <ws-option
-              v-for="item in gradeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
-          </ws-select>
-        </ws-form-item>
-
-        <!--杂质(%)<=-->
-        <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.impurity"
-            placeholder="请输入杂质占比(%)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--容重(克/升)>=-->
-        <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-            placeholder="请输入容重"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--霉变粒(%)<=-->
-        <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-            placeholder="请输入霉变粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--热损伤(%)<=-->
-        <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-            placeholder="请输入输入热损伤占比(%)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--不完善粒(%)<=-->
-        <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-            placeholder="请输入不完善粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--蛋白(%)>=-->
-        <ws-form-item label="蛋白(%)>=" span="1" prop="protein">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.protein"
-            placeholder="请输入蛋白占比(%)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--转基因-->
-        <ws-form-item label="转基因" span="1" prop="transgene">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.transgene"
-            placeholder="请选择转基因要求"
-            class="typeselect"
-            @change="selecttransgene"
-          >
-            <ws-option
-              v-for="item in transgeneList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
-          </ws-select>
-        </ws-form-item>
-        <!--产地-->
-        <ws-form-item label="产地" span="1" prop="protein">
-          <el-cascader
-              :options="options1_"
-              v-model="selectedOptions1"
-              clearable
-              size="large"
-              placeholder="请选择产地"
-              @change="handleChange1"
-              style="width:200%"
-            />
-        </ws-form-item>
-
-      </ws-info-table>
-
-      <div class="wenzi">
-        <h3>流程信息</h3>
-      </div>
-      <!--流程信息-->
-
-      <ws-info-table>
-          <!--合同收入(元)-->
-          <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
-              placeholder="请输入合同收入(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-        <!--已开发票(元)-->
-        <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.goodsName"
-            placeholder="请输入已开发票(元)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--费用支出(元)-->
-        <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.waterContent"
-            placeholder="请输入费用支出(元)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--未开发票(元)-->
-        <ws-form-item label="未开发票(元)" span="1" prop="impurity">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.impurity"
-            placeholder="请输入未开发票(元)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--未回款(元)-->
-        <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.mildewGrain"
-            placeholder="请输入未回款(元)"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-        <!--双章原件回收情况-->
-        <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractProcessInfo.grade"
-            placeholder=""
-            class="typeselect"
-            @change="selectChapterTwo"
-          >
-            <ws-option
-              v-for="item in ChapterTwoList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
-          </ws-select>
-        </ws-form-item>
-      </ws-info-table>
-
-      <div class="wenzi">
-        <h3>备注信息</h3>
-      </div>
-      <!--备注信息-->
-      <ws-input
-        v-model="deptBudgetList.remarks"
-        type="textarea"
-        row="3"
-        placeholder="请输入备注信息,不超过200字"
-        maxlength="200"
-      />
-      
-       <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="deptBudgetList.addressUrl"
-        :size-limit="size"
-        @onChange="onChange"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
-    </ws-form>
-    <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>
+							</div>
+						</el-option>
+					</el-select>
+				</ws-form-item>
+				<!--交易数量(吨)-->
+				<ws-form-item label="交易数量(吨)" span="1" prop="weight">
+					<ws-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--计量标准-->
+				<ws-form-item label="计量标准" span="1" prop="measurementStandard">
+					<ws-input v-model="deptBudgetList.measurementStandard" placeholder="请输入计量标准,如库内磅单" maxlength="100"
+						size="small" />
+				</ws-form-item>
+				<!--基差(元/吨)-->
+				<ws-form-item label="基差(元/吨)" span="1" prop="basisPrice">
+					<ws-input v-model="deptBudgetList.basisPrice" placeholder="请输入基差(元/吨)" maxlength="100"
+						size="small" />
+				</ws-form-item>
+				<!--出货库-->
+				<el-form-item label="出货库" span="1" prop="receiveWarehouse">
+					<el-select v-model="deptBudgetList.receiveWarehouse" placeholder="请选择出货库" class="typeselect"
+						@change="selectwarehouseName">
+						<el-option v-for="item in warehouseNameList" :key="item.constKey" :label="item.warehouseName"
+							:value="item.warehouseName" />
+					</el-select>
+				</el-form-item>
+				<!--交易所-->
+				<ws-form-item label="交易所" span="1" prop="transactionsPlace">
+					<ws-input v-model="deptBudgetList.transactionsPlace" placeholder="请输入交易所" maxlength="100"
+						size="small" />
+				</ws-form-item>
+				<!--交货所在地区-->
+				<ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
+					<el-cascader :options="options_" v-model="selectedOptions" clearable size="large"
+						placeholder="请选择交货所在地区" style="width: 200%" @change="handleChange" />
+				</ws-form-item>
+				<!--合约号-->
+				<ws-form-item label="合约号" span="1" prop="contractNumber">
+					<ws-input v-model="deptBudgetList.contractNumber" placeholder="请输入合约号" maxlength="100"
+						size="small" />
+				</ws-form-item>
+				<!--交货详细地址-->
+				<ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
+					<ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20"
+						size="small" />
+				</ws-form-item>
+				<!--点价(元/吨)-->
+				<ws-form-item label="点价(元/吨)" span="1" prop="pointPrice">
+					<ws-input v-model="deptBudgetList.pointPrice" placeholder="请输入合约点价" maxlength="100" size="small" />
+				</ws-form-item>
+				<!--签订日期-->
+				<ws-form-item label="签订日期" span="1" prop="signingDate">
+					<ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+						value-format="yyyy-MM-dd" />
+				</ws-form-item>
+				<!--点价日期-->
+				<ws-form-item label="点价日期" span="1" prop="pointPriceDate">
+					<ws-date-picker v-model="deptBudgetList.pointPriceDate" type="date" placeholder="请选择点价日期"
+						value-format="yyyy-MM-dd" />
+				</ws-form-item>
+
+
+				<!--交货日期(起)-->
+				<ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+					<ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
+						value-format="yyyy-MM-dd" />
+				</ws-form-item>
+				<!--临时仓库负责人-->
+				<ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
+					<el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
+						:filter-method="dataFilter" @change="selectstaff">
+						<el-option v-for="item in options" :key="item.value" :label="item.staffName"
+							:value="item.staffName" />
+					</el-select>
+				</ws-form-item>
+				<!--交货日期(止)-->
+				<ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+					<ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+						value-format="yyyy-MM-dd" />
+				</ws-form-item>
+
+			</ws-info-table>
+
+			<div class="wenzi">
+				<h3>货物信息</h3>
+			</div>
+			<!--货物信息-->
+
+			<ws-info-table>
+				<!--货名-->
+				<ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
+					<ws-select v-model="deptBudgetList.contractGoodsInfo.goodsName" placeholder="" class="typeselect"
+						@change="selectgoodsName">
+						<ws-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
+							:value="item.constValue" />
+					</ws-select>
+				</ws-form-item>
+
+				<!--水分(%)<=-->
+				<ws-form-item label="水分(%)<=" span="1" prop="waterContent">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比"
+						maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--品级-->
+				<ws-form-item label="品级" span="1" prop="grade">
+					<ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="请选择品级" class="typeselect"
+						@change="selectgrade">
+						<ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+							:value="item.constValue" />
+					</ws-select>
+				</ws-form-item>
+
+				<!--杂质(%)<=-->
+				<ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--容重(克/升)>=-->
+				<ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="100"
+						size="small" />
+				</ws-form-item>
+
+				<!--霉变粒(%)<=-->
+				<ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--热损伤(%)<=-->
+				<ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--不完善粒(%)<=-->
+				<ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--蛋白(%)>=-->
+				<ws-form-item label="蛋白(%)>=" span="1" prop="protein">
+					<ws-input v-model="deptBudgetList.contractGoodsInfo.protein" placeholder="请输入蛋白占比(%)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--转基因-->
+				<ws-form-item label="转基因" span="1" prop="transgene">
+					<ws-select v-model="deptBudgetList.contractGoodsInfo.transgene" placeholder="请选择转基因要求"
+						class="typeselect" @change="selecttransgene">
+						<ws-option v-for="item in transgeneList" :key="item.constKey" :label="item.constValue"
+							:value="item.constValue" />
+					</ws-select>
+				</ws-form-item>
+				<!--产地-->
+				<ws-form-item label="产地" span="1" prop="protein">
+					<el-cascader :options="options1_" v-model="selectedOptions1" clearable size="large"
+						placeholder="请选择产地" @change="handleChange1" style="width:200%" />
+				</ws-form-item>
+
+			</ws-info-table>
+
+			<div class="wenzi">
+				<h3>流程信息</h3>
+			</div>
+			<!--流程信息-->
+
+			<ws-info-table>
+				<!--合同收入(元)-->
+				<ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
+					<ws-input v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--已开发票(元)-->
+				<ws-form-item label="已开发票(元)" span="1" prop="goodsName">
+					<ws-input v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票(元)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--费用支出(元)-->
+				<ws-form-item label="费用支出(元)" span="1" prop="waterContent">
+					<ws-input v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+
+				<!--未开发票(元)-->
+				<ws-form-item label="未开发票(元)" span="1" prop="impurity">
+					<ws-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--未回款(元)-->
+				<ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
+					<ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)"
+						maxlength="100" size="small" />
+				</ws-form-item>
+				<!--双章原件回收情况-->
+				<ws-form-item label="双章原件回收情况" span="1" prop="grade">
+					<ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+						@change="selectChapterTwo">
+						<ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+							:value="item.constValue" />
+					</ws-select>
+				</ws-form-item>
+			</ws-info-table>
+
+			<div class="wenzi">
+				<h3>备注信息</h3>
+			</div>
+			<!--备注信息-->
+			<ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过3000字"
+				maxlength="3000" />
+
+			<ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+				@onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+		</ws-form>
+		<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 {
-  getwarehousename,
-  packList,
-  addList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-  getstaff,
-} from '@/model/contarct/index'
-import { regionData,provinceAndCityDataPlus, CodeToText, TextToCode } from 'element-china-area-data'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
-import WsUpload from '@/components/WsUpload'
-
-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,
-      options1_:provinceAndCityDataPlus,
-      selectedOptions: [],
-      selectedOptions1: [],
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-
-      packtypeList: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        // contractNo: [
-        //   { required: true, message: '请输入合同编号', trigger: 'blur' },
-        //   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
-        // ],
-      },
-      options: [],
-      staffList: [],
-      appendixIdsAdd: '',
-      size: 10,
-      unitList: [],
-      goodnameList: [],
-      value1: '袋装',
-      value2: '未回收',
-      gradeList: [],
-      warehouseNameList: [],
-      warehouseNameList1: [],
-      ChapterTwoList: [],
-      transgeneList: [],
-      deptBudgetList: {
-        deliverType: '1',
-        finalTradingVolume: 0,
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
-      },
-      acceptanceCheck: {},
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
-          {
-            min: 6,
-            max: 50,
-            message: '长度在 6 到 50 个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.deptBudgetList.packingMethod = '散装'
-    this.deptBudgetList.packingMethodKey = 1
-    this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
-    this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
-    this.deptBudgetList.contractProcessInfo.grade = '未回收'
-    this.deptBudgetList.contractProcessInfo.gradeKey = 1
-    this.deptBudgetList.contractGoodsInfo.grade = '一等品'
-    this.deptBudgetList.contractGoodsInfo.gradeKey = 1
-    getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-      .toPromise()
-      .then((response) => {
-        this.options = response
-        this.staffList = response
-      })
-    this.loaddata()
-    this.showType = this.isShow
-  },
-  methods: {
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = 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.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
-        }
-      }
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-      this.dataList.deliveryProvince = CodeToText[value[0]]
-      this.dataList.deliveryCity = CodeToText[value[1]]
-      this.dataList.deliveryArea = CodeToText[value[2]]
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-      this.dataList.contractGoodsInfo.outputPrivate = CodeToText[value[0]]
-      this.dataList.contractGoodsInfo.outputCity = CodeToText[value[1]]
-    },
-    weightchange(e) {
-      this.deptBudgetList.finalTradingVolume = e
-    },
-    returnsales() {
-      this.$router.push({ path: 'futuresSalesContract' })
-    },
-    loaddata() {
-      // 包装方式
-      packList({ constId: 'PRO2' })
-        .toPromise()
-        .then((response) => {
-          this.packtypeList = response
-        })
-      // 验收方式
-      this.getUnitList()
-      // 货名
-      packList({ constId: 'CON2' })
-        .toPromise()
-        .then((response) => {
-          this.goodnameList = response
-        })
-      // 品级
-      packList({ constId: 'CON3' })
-        .toPromise()
-        .then((response) => {
-          this.gradeList = response
-        })
-      //转基因
-      packList({ constId: 'CON7' })
-        .toPromise()
-        .then((response) => {
-          this.transgeneList = response
-        })
-        //收货库
-        getwarehousename({
-        compId: this.compId,
-        warehouseType: 1,
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseNameList = response
-        })
-      getwarehousename({
-        compId: this.compId,
-        warehouseType: 2,
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseNameList1 = response
-        })
-      // 双章
-      packList({ constId: 'CON4' })
-        .toPromise()
-        .then((response) => {
-          this.ChapterTwoList = response
-        })
-    },
-    onChange(files) {
-       this.$refs.upload
-        .handleSaveBill()
-        .then(async response => {
-          this.deptBudgetList.addressUrl = response
-        })
-        .catch(res => {
-          EventBus.$emit('error', (JSON.parse(res) || {}).message)
-          this.$refs.upload.clearFiles()
-        })
-    },
-    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.contractNo) {
-        this.$message({
-          message: '请输入合同编号',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNo.length < 6 ||
-        this.deptBudgetList.contractNo.length > 50
-      ) {
-        this.$message({
-          message: '合同编号长度不符合要求,请输入6到50个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.shippingType) {
-        this.$message({
-          message: '请输入运输方式!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.shippingType.length < 1 ||
-        this.deptBudgetList.shippingType.length > 20
-      ) {
-        this.$message({
-          message: '运输方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '请输入买方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.buyer.length > 30) {
-        this.$message({
-          message: '买方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.settlementMethod) {
-        this.$message({
-          message: '请输入结算方式!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.settlementMethod.length < 1 ||
-        this.deptBudgetList.settlementMethod.length > 20
-      ) {
-        this.$message({
-          message: '结算方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '请输入买方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '输入买方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '请输入卖方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.seller.length > 30) {
-        this.$message({
-          message: '卖方名称长度不符合要求,请输入30个字符之内!',
-          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.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.acceptanceMethod) {
-        this.$message({
-          message: '请选择验收方式',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.weight) {
-        this.$message({
-          message: '请输入交易数量!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.weight) ||
-        (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
-          String(this.deptBudgetList.weight).length -
-            (String(this.deptBudgetList.weight).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入交易数量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.measurementStandard) {
-        this.$message({
-          message: '请输入计量标准!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.measurementStandard.length < 1 ||
-        this.deptBudgetList.measurementStandard.length > 20
-      ) {
-        this.$message({
-          message: '计量标准长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!String(this.deptBudgetList.basisPrice)) {
-        this.$message({
-          message: '请输入基差!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.basisPrice) ||
-        (String(this.deptBudgetList.basisPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.basisPrice).length -
-            (String(this.deptBudgetList.basisPrice).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.basisPrice < 0 ||
-        this.deptBudgetList.basisPrice > 10000
-      ) {
-        this.$message({
-          message: '基差输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.receiveWarehouse) {
-        this.$message({
-          message: '请选择出货库!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionsPlace) {
-        this.$message({
-          message: '请输入交易所!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.transactionsPlace.length < 2 ||
-        this.deptBudgetList.transactionsPlace.length > 15
-      ) {
-        this.$message({
-          message: '交易所长度不符合要求,请输入2到15个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.selectedOptions.length == 0) {
-        this.$message({
-          message: '请选择交货所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractNumber) {
-        this.$message({
-          message: '请输入合约号!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNumber.length < 2 ||
-        this.deptBudgetList.contractNumber.length > 15
-      ) {
-        this.$message({
-          message: '合约号长度不符合要求,请输入2到15个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.placeDelivery) {
-        this.$message({
-          message: '请输入交货详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.pointPrice) {
-        this.$message({
-          message: '请输入点价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.pointPrice) ||
-        (String(this.deptBudgetList.pointPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.pointPrice).length -
-            (String(this.deptBudgetList.pointPrice).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.pointPrice < 0 ||
-        this.deptBudgetList.pointPrice > 100000
-      ) {
-        this.$message({
-          message: '输入点价有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.signingDate) {
-        this.$message({
-          message: '请选择签订日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.pointPriceDate) {
-        this.$message({
-          message: '请选择点价日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-      //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      //货物信息
-      if (this.selectedOptions1.length == 0) {
-        this.$message({
-          message: '请选择产地!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
-        this.$message({
-          message: '请选择货名',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
-        this.$message({
-          message: '请输入水分',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.waterContent &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
-          (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.waterContent>40||this.deptBudgetList.contractGoodsInfo.waterContent<0
-      ) {
-        this.$message({
-          message: '水分输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.grade) {
-        this.$message({
-          message: '请选择品级',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.transgene) {
-        this.$message({
-          message: '请选择转基因',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.impurity) {
-        this.$message({
-          message: '请输入杂质',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.impurity &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).length -
-          (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.impurity>40||this.deptBudgetList.contractGoodsInfo.impurity<0
-      ) {
-        this.$message({
-          message: '杂质输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
-        this.$message({
-          message: '请输入容重',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
-            (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') + 1) >
-            2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
-      ) {
-        this.$message({
-          message: '容重输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
-        this.$message({
-          message: '请输入霉变粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
-            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-              '.'
-            ) +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.mildewGrain>40||this.deptBudgetList.contractGoodsInfo.mildewGrain<0)
-      ) {
-        this.$message({
-          message: '霉变粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
-        this.$message({
-          message: '请输入热损伤',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
-        (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
-            (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
-              '.'
-            ) +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.jiaorenli>40||this.deptBudgetList.contractGoodsInfo.jiaorenli<0)
-      ) {
-        this.$message({
-          message: '热损伤输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
-        this.$message({
-          message: '请输入不完善粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
-            (String(
-              this.deptBudgetList.contractGoodsInfo.imperfectGrain
-            ).indexOf('.') +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.imperfectGrain>40||this.deptBudgetList.contractGoodsInfo.imperfectGrain<0)
-      ) {
-        this.$message({
-          message: '不完善粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.protein) {
-        this.$message({
-          message: '请输入蛋白',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.protein ||
-        (String(this.deptBudgetList.contractGoodsInfo.protein).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.protein).length -
-            (String(
-              this.deptBudgetList.contractGoodsInfo.protein
-            ).indexOf('.') +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.protein>70||this.deptBudgetList.contractGoodsInfo.protein<0)
-      ) {
-        this.$message({
-          message: '蛋白输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.goodsNameKey < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
-            (String(
-              this.deptBudgetList.contractProcessInfo.goodsNameKey
-            ).indexOf('.') +
-              1) >
-            2)
-      ) 
-      {
-        this.$message({
-          message: '合同收入金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
-        this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.waterContent).length -
-            (String(
-              this.deptBudgetList.contractProcessInfo.waterContent
-            ).indexOf('.') +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '费用金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.goodsName > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.goodsName < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsName).length -
-            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-              '.'
-            ) +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '已开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.impurity > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.impurity < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.impurity).length -
-            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-              '.'
-            ) +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '未开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) ||
-          (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
-            (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      var that = this
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.contractGoodsInfo.outputPrivate = CodeToText[this.selectedOptions1[0]]
-          this.deptBudgetList.contractGoodsInfo.outputCity = CodeToText[this.selectedOptions1[1]]
-         
-          this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
-          this.deptBudgetList.deliveryCity = CodeToText[this.selectedOptions[1]]
-        
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 1
-          this.deptBudgetList.goodsType = 2
-           if(this.deptBudgetList.deliveryProvince =='澳门特别行政区' || this.deptBudgetList.deliveryProvince == '澳门特别行政区'){
-            this.deptBudgetList.deliveryArea = '特别行政区'
-          }else{ 
-                 this.deptBudgetList.deliveryArea =  CodeToText[this.selectedOptions[2]]
-          }
-          addList(this.deptBudgetList)
-            .toPromise()
-            .then((response) => {
-              this.$message.success('添加成功')
-              this.deptBudgetList = {
-                deliverType: '1',
-                finalTradingVolume: 0,
-                contractGoodsInfo: {
-                  goodsName: '',
-                },
-                contractProcessInfo: {},
-              }
-              this.$router.push({ path: 'futuresSalesContract' })
-            })
-        } else {
-         EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
-        }
-      })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    saveClick(item, index) {
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, { flag: 'check' })
-      } else {
-        this.$set(this.unitList, index, { flag: 'delete' })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        addxiala(this.acceptanceCheck)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      } else if (item.flag == 'check') {
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        editxiala(this.acceptanceCheck)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      }
-    },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
-        }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
-        }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
-        }
-      }
-    },
-    selecttransgene(e) {
-      for (var i = 0; i < this.transgeneList.length; i++) {
-        if (this.transgeneList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.transgeneList[i].constKey
-        }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
-           this.deptBudgetList.contractGoodsInfo.goodsNameKey = this.goodnameList[i].constKey
-        }
-      }
-    },
-    selectwarehouseName() {},
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
-        }
-      }
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
-    },
-  },
-}
+	import {
+		getwarehousename,
+		packList,
+		addList,
+		xiala,
+		addxiala,
+		editxiala,
+		delxiala,
+		getstaff,
+	} from '@/model/contarct/index'
+	import {
+		regionData,
+		provinceAndCityDataPlus,
+		CodeToText,
+		TextToCode
+	} from 'element-china-area-data'
+	import {
+		dayjs,
+		fmoney,
+		EventBus
+	} from 'base-core-lib'
+	import WsUpload from '@/components/WsUpload'
+
+	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,
+				options1_: provinceAndCityDataPlus,
+				selectedOptions: [],
+				selectedOptions1: [],
+				// 提交类型
+				submitType: true,
+				tableData: [{
+					date: 1111,
+					name: 'qqqq',
+					address: 'errrtt'
+				}],
+
+				packtypeList: [],
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				rules: {
+					// contractNo: [
+					//   { required: true, message: '请输入合同编号', trigger: 'blur' },
+					//   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+					// ],
+				},
+				options: [],
+				staffList: [],
+				appendixIdsAdd: '',
+				size: 10,
+				unitList: [],
+				goodnameList: [],
+				value1: '袋装',
+				value2: '未回收',
+				gradeList: [],
+				warehouseNameList: [],
+				warehouseNameList1: [],
+				ChapterTwoList: [],
+				transgeneList: [],
+				deptBudgetList: {
+					deliverType: '1',
+					finalTradingVolume: 0,
+					contractGoodsInfo: {
+						goodsName: '',
+					},
+					contractProcessInfo: {},
+				},
+				acceptanceCheck: {},
+				pickerBeginDateBefore: {
+					disabledDate: (time) => {
+						return time.getTime() > Date.now()
+					},
+				},
+				ruleDeptBudget: {
+					contractNo: [{
+							required: true,
+							message: '请输入活动名称',
+							trigger: 'blur'
+						},
+						{
+							min: 6,
+							max: 50,
+							message: '长度在 6 到 50 个字符',
+							trigger: 'blur',
+						},
+					],
+				},
+				selectIntendedShip: {},
+				interviewTypeList: {},
+			}
+		},
+		activated() {
+			//cg.viewBudget
+			//cg.viewSpareMoney
+			// this.getVesselData();
+			this.deptBudgetList.packingMethod = '散装'
+			this.deptBudgetList.packingMethodKey = 1
+			this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
+			this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
+			this.deptBudgetList.contractProcessInfo.grade = '未回收'
+			this.deptBudgetList.contractProcessInfo.gradeKey = 1
+			this.deptBudgetList.contractGoodsInfo.grade = '一等品'
+			this.deptBudgetList.contractGoodsInfo.gradeKey = 1
+			getstaff({
+					compId: sessionStorage.getItem('ws-pf_compId')
+				})
+				.toPromise()
+				.then((response) => {
+					this.options = response
+					this.staffList = response
+				})
+			this.loaddata()
+			this.showType = this.isShow
+		},
+		methods: {
+			dataFilter(val) {
+				this.deptBudgetList.personCharge = 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.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
+						this.deptBudgetList.personChargeKey = this.staffList[i].staffId
+					}
+				}
+			},
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleClose() {
+				this.dialogViewSpareMoney = false
+			},
+			handleChange(value) {
+				this.selectedOptions = value
+				this.dataList.deliveryProvince = CodeToText[value[0]]
+				this.dataList.deliveryCity = CodeToText[value[1]]
+				this.dataList.deliveryArea = CodeToText[value[2]]
+			},
+			handleChange1(value) {
+				this.selectedOptions1 = value
+				this.dataList.contractGoodsInfo.outputPrivate = CodeToText[value[0]]
+				this.dataList.contractGoodsInfo.outputCity = CodeToText[value[1]]
+			},
+			weightchange(e) {
+				this.deptBudgetList.finalTradingVolume = e
+			},
+			returnsales() {
+				this.$router.push({
+					path: 'futuresSalesContract'
+				})
+			},
+			loaddata() {
+				// 包装方式
+				packList({
+						constId: 'PRO2'
+					})
+					.toPromise()
+					.then((response) => {
+						this.packtypeList = response
+					})
+				// 验收方式
+				this.getUnitList()
+				// 货名
+				packList({
+						constId: 'CON2'
+					})
+					.toPromise()
+					.then((response) => {
+						this.goodnameList = response
+					})
+				// 品级
+				packList({
+						constId: 'CON3'
+					})
+					.toPromise()
+					.then((response) => {
+						this.gradeList = response
+					})
+				//转基因
+				packList({
+						constId: 'CON7'
+					})
+					.toPromise()
+					.then((response) => {
+						this.transgeneList = response
+					})
+				//收货库
+				getwarehousename({
+						compId: this.compId,
+						warehouseType: 1,
+					})
+					.toPromise()
+					.then((response) => {
+						this.warehouseNameList = response
+					})
+				getwarehousename({
+						compId: this.compId,
+						warehouseType: 2,
+					})
+					.toPromise()
+					.then((response) => {
+						this.warehouseNameList1 = response
+					})
+				// 双章
+				packList({
+						constId: 'CON4'
+					})
+					.toPromise()
+					.then((response) => {
+						this.ChapterTwoList = response
+					})
+			},
+			onChange(files) {
+				this.$refs.upload
+					.handleSaveBill()
+					.then(async response => {
+						this.deptBudgetList.addressUrl = response
+					})
+					.catch(res => {
+						EventBus.$emit('error', (JSON.parse(res) || {}).message)
+						this.$refs.upload.clearFiles()
+					})
+			},
+			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.contractNo) {
+					this.$message({
+						message: '请输入合同编号',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractNo.length < 6 ||
+					this.deptBudgetList.contractNo.length > 50
+				) {
+					this.$message({
+						message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.shippingType) {
+					this.$message({
+						message: '请输入运输方式!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.shippingType.length < 1 ||
+					this.deptBudgetList.shippingType.length > 20
+				) {
+					this.$message({
+						message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.buyer) {
+					this.$message({
+						message: '请输入买方名称!',
+						type: 'warning',
+					})
+					return
+				}
+				if (this.deptBudgetList.buyer.length > 30) {
+					this.$message({
+						message: '买方名称长度不符合要求,请输入30个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.settlementMethod) {
+					this.$message({
+						message: '请输入结算方式!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.settlementMethod.length < 1 ||
+					this.deptBudgetList.settlementMethod.length > 20
+				) {
+					this.$message({
+						message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.buyerPhone) {
+					this.$message({
+						message: '请输入买方电话!',
+						type: 'warning',
+					})
+					return
+				}
+				if (isNaN(this.deptBudgetList.buyerPhone)) {
+					this.$message({
+						message: '输入买方电话有误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.buyerPhone.length < 7 ||
+					this.deptBudgetList.buyerPhone.length > 20
+				) {
+					this.$message({
+						message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.seller) {
+					this.$message({
+						message: '请输入卖方名称!',
+						type: 'warning',
+					})
+					return
+				}
+				if (this.deptBudgetList.seller.length > 30) {
+					this.$message({
+						message: '卖方名称长度不符合要求,请输入30个字符之内!',
+						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.buyerPhone.length < 7 ||
+					this.deptBudgetList.buyerPhone.length > 20
+				) {
+					this.$message({
+						message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.acceptanceMethod) {
+					this.$message({
+						message: '请选择验收方式',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.weight) {
+					this.$message({
+						message: '请输入交易数量!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					isNaN(this.deptBudgetList.weight) ||
+					(String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+						String(this.deptBudgetList.weight).length -
+						(String(this.deptBudgetList.weight).indexOf('.') + 1) >
+						3) ||
+					this.deptBudgetList.weight < 0 ||
+					this.deptBudgetList.weight > 200000
+				) {
+					this.$message({
+						message: '输入交易数量有误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.measurementStandard) {
+					this.$message({
+						message: '请输入计量标准!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.measurementStandard.length < 1 ||
+					this.deptBudgetList.measurementStandard.length > 20
+				) {
+					this.$message({
+						message: '计量标准长度不符合要求,请输入1到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!String(this.deptBudgetList.basisPrice)) {
+					this.$message({
+						message: '请输入基差!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					isNaN(this.deptBudgetList.basisPrice) ||
+					(String(this.deptBudgetList.basisPrice).indexOf('.') != -1 &&
+						String(this.deptBudgetList.basisPrice).length -
+						(String(this.deptBudgetList.basisPrice).indexOf('.') + 1) >
+						3) ||
+					this.deptBudgetList.basisPrice < 0 ||
+					this.deptBudgetList.basisPrice > 10000
+				) {
+					this.$message({
+						message: '基差输入错误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.receiveWarehouse) {
+					this.$message({
+						message: '请选择出货库!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.transactionsPlace) {
+					this.$message({
+						message: '请输入交易所!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.transactionsPlace.length < 2 ||
+					this.deptBudgetList.transactionsPlace.length > 15
+				) {
+					this.$message({
+						message: '交易所长度不符合要求,请输入2到15个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (this.selectedOptions.length == 0) {
+					this.$message({
+						message: '请选择交货所在地区!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractNumber) {
+					this.$message({
+						message: '请输入合约号!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractNumber.length < 2 ||
+					this.deptBudgetList.contractNumber.length > 15
+				) {
+					this.$message({
+						message: '合约号长度不符合要求,请输入2到15个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.placeDelivery) {
+					this.$message({
+						message: '请输入交货详细地址!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.pointPrice) {
+					this.$message({
+						message: '请输入点价!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					isNaN(this.deptBudgetList.pointPrice) ||
+					(String(this.deptBudgetList.pointPrice).indexOf('.') != -1 &&
+						String(this.deptBudgetList.pointPrice).length -
+						(String(this.deptBudgetList.pointPrice).indexOf('.') + 1) >
+						3) ||
+					this.deptBudgetList.pointPrice < 0 ||
+					this.deptBudgetList.pointPrice > 100000
+				) {
+					this.$message({
+						message: '输入点价有误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.signingDate) {
+					this.$message({
+						message: '请选择签订日期',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.pointPriceDate) {
+					this.$message({
+						message: '请选择点价日期',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.deliveryDateStart) {
+					this.$message({
+						message: '请选择交货日期(起)',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.deliveryDateEnd) {
+					this.$message({
+						message: '请选择交货日期(止)',
+						type: 'warning',
+					})
+					return
+				}
+				//时间
+				if (
+					new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+					new Date(this.deptBudgetList.deliveryDateEnd).getTime()
+				) {
+					this.$message({
+						message: '交货日期(止)选择错误',
+						type: 'warning',
+					})
+					return
+				}
+				//货物信息
+				if (this.selectedOptions1.length == 0) {
+					this.$message({
+						message: '请选择产地!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
+					this.$message({
+						message: '请选择货名',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
+					this.$message({
+						message: '请输入水分',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractGoodsInfo.waterContent &&
+					String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
+					String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
+					(String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
+					2 || this.deptBudgetList.contractGoodsInfo.waterContent > 40 || this.deptBudgetList.contractGoodsInfo
+					.waterContent < 0
+				) {
+					this.$message({
+						message: '水分输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.grade) {
+					this.$message({
+						message: '请选择品级',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.transgene) {
+					this.$message({
+						message: '请选择转基因',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.impurity) {
+					this.$message({
+						message: '请输入杂质',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractGoodsInfo.impurity &&
+					String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
+					String(this.deptBudgetList.contractGoodsInfo.impurity).length -
+					(String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
+					2 || this.deptBudgetList.contractGoodsInfo.impurity > 40 || this.deptBudgetList.contractGoodsInfo
+					.impurity < 0
+				) {
+					this.$message({
+						message: '杂质输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
+					this.$message({
+						message: '请输入容重',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(this.deptBudgetList.contractGoodsInfo.bulkDensity &&
+						String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
+						(String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') + 1) >
+						2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList
+					.contractGoodsInfo.bulkDensity < 0
+				) {
+					this.$message({
+						message: '容重输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
+					this.$message({
+						message: '请输入霉变粒',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.mildewGrain ||
+					(String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
+						(String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+								'.'
+							) +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 || this.deptBudgetList
+						.contractGoodsInfo.mildewGrain < 0)
+				) {
+					this.$message({
+						message: '霉变粒输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
+					this.$message({
+						message: '请输入热损伤',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.jiaorenli ||
+					(String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
+						-1 &&
+						String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
+						(String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
+								'.'
+							) +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 || this.deptBudgetList.contractGoodsInfo
+						.jiaorenli < 0)
+				) {
+					this.$message({
+						message: '热损伤输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
+					this.$message({
+						message: '请输入不完善粒',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
+					(String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
+						(String(
+								this.deptBudgetList.contractGoodsInfo.imperfectGrain
+							).indexOf('.') +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 || this.deptBudgetList
+						.contractGoodsInfo.imperfectGrain < 0)
+				) {
+					this.$message({
+						message: '不完善粒输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.protein) {
+					this.$message({
+						message: '请输入蛋白',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.protein ||
+					(String(this.deptBudgetList.contractGoodsInfo.protein).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.protein).length -
+						(String(
+								this.deptBudgetList.contractGoodsInfo.protein
+							).indexOf('.') +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.protein > 70 || this.deptBudgetList.contractGoodsInfo
+						.protein < 0)
+				) {
+					this.$message({
+						message: '蛋白输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
+					this.deptBudgetList.contractProcessInfo.goodsNameKey < 0 ||
+					(String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
+						(String(
+								this.deptBudgetList.contractProcessInfo.goodsNameKey
+							).indexOf('.') +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '合同收入金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractProcessInfo.waterContent > 10000000 ||
+					this.deptBudgetList.contractProcessInfo.waterContent < 0 ||
+					(String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.waterContent).length -
+						(String(
+								this.deptBudgetList.contractProcessInfo.waterContent
+							).indexOf('.') +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '费用金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractProcessInfo.goodsName > 1000000000 ||
+					this.deptBudgetList.contractProcessInfo.goodsName < 0 ||
+					(String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.goodsName).length -
+						(String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+								'.'
+							) +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '已开发票金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractProcessInfo.impurity > 1000000000 ||
+					this.deptBudgetList.contractProcessInfo.impurity < 0 ||
+					(String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.impurity).length -
+						(String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+								'.'
+							) +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '未开发票金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) ||
+					(this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
+					(String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
+						(String(
+								this.deptBudgetList.contractProcessInfo.mildewGrain
+							).indexOf('.') +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '未回款金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				var that = this
+				this.$refs.deptBudgetList.validate((valid) => {
+					if (valid) {
+						this.deptBudgetList.contractGoodsInfo.outputPrivate = CodeToText[this.selectedOptions1[0]]
+						this.deptBudgetList.contractGoodsInfo.outputCity = CodeToText[this.selectedOptions1[1]]
+
+						this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
+						this.deptBudgetList.deliveryCity = CodeToText[this.selectedOptions[1]]
+
+						this.deptBudgetList.compId = this.compId
+						this.deptBudgetList.contractType = 1
+						this.deptBudgetList.goodsType = 2
+						if (this.deptBudgetList.deliveryProvince == '澳门特别行政区' || this.deptBudgetList
+							.deliveryProvince == '澳门特别行政区') {
+							this.deptBudgetList.deliveryArea = '特别行政区'
+						} else {
+							this.deptBudgetList.deliveryArea = CodeToText[this.selectedOptions[2]]
+						}
+						addList(this.deptBudgetList)
+							.toPromise()
+							.then((response) => {
+								this.$message.success('添加成功')
+								this.deptBudgetList = {
+									deliverType: '1',
+									finalTradingVolume: 0,
+									contractGoodsInfo: {
+										goodsName: '',
+									},
+									contractProcessInfo: {},
+								}
+								this.$router.push({
+									path: 'futuresSalesContract'
+								})
+							})
+					} else {
+						EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+						return false
+					}
+				})
+			},
+			resetForm(deptBudgetList) {
+				this.$refs[deptBudgetList].resetFields()
+			},
+			addClick() {
+				this.unitList.push({
+					flag: 'add',
+					constValue: '',
+					constKey: '',
+				})
+			},
+			saveClick(item, index) {
+				if (Object.is(item.id, 1)) {
+					return
+				}
+				if (Object.is(this.unitList[index].flag, 'delete')) {
+					this.$set(this.unitList, index, {
+						flag: 'check'
+					})
+				} else {
+					this.$set(this.unitList, index, {
+						flag: 'delete'
+					})
+				}
+				if (!item.constValue) {
+					this.unitList.splice(index, 1)
+					return
+				}
+				if (item.flag == 'add') {
+					item.constKey = Math.random() * 20
+					this.acceptanceCheck.compId = this.compId
+					this.acceptanceCheck.constKey = item.constKey
+					this.acceptanceCheck.constCode = 'TYPEYAN'
+					this.acceptanceCheck.constValue = item.constValue
+					this.acceptanceCheck.id = item.id
+					addxiala(this.acceptanceCheck)
+						.toPromise()
+						.then((response) => {
+							this.getUnitList()
+						})
+				} else if (item.flag == 'check') {
+					this.acceptanceCheck.compId = this.compId
+					this.acceptanceCheck.constKey = item.constKey
+					this.acceptanceCheck.constCode = 'TYPEYAN'
+					this.acceptanceCheck.constValue = item.constValue
+					this.acceptanceCheck.id = item.id
+					editxiala(this.acceptanceCheck)
+						.toPromise()
+						.then((response) => {
+							this.getUnitList()
+						})
+				}
+			},
+			selectChapterTwo(e) {
+				for (var i = 0; i < this.ChapterTwoList.length; i++) {
+					if (this.ChapterTwoList[i].constValue == e) {
+						this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+					}
+				}
+			},
+			selectunitList(e) {
+				for (var i = 0; i < this.unitList.length; i++) {
+					if (this.unitList[i].constValue == e) {
+						this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+					}
+				}
+			},
+			selectgrade(e) {
+				for (var i = 0; i < this.gradeList.length; i++) {
+					if (this.gradeList[i].constValue == e) {
+						this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+					}
+				}
+			},
+			selecttransgene(e) {
+				for (var i = 0; i < this.transgeneList.length; i++) {
+					if (this.transgeneList[i].constValue == e) {
+						this.deptBudgetList.gradeKey = this.transgeneList[i].constKey
+					}
+				}
+			},
+			selectgoodsName(e) {
+				for (var i = 0; i < this.goodnameList.length; i++) {
+					if (this.goodnameList[i].constValue == e) {
+						this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+						this.deptBudgetList.contractGoodsInfo.goodsNameKey = this.goodnameList[i].constKey
+					}
+				}
+			},
+			selectwarehouseName() {},
+			selectpackingMethod(e) {
+				for (var i = 0; i < this.packtypeList.length; i++) {
+					if (this.packtypeList[i].constValue == e) {
+						this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+					}
+				}
+			},
+			// 编辑
+			editClick(item, index) {
+				const map = JSON.parse(JSON.stringify(item))
+				if (Object.is(item.id, 1)) {
+					return
+				}
+				if (Object.is(this.unitList[index].flag, 'delete')) {
+					map.flag = 'check'
+					this.$set(this.unitList, index, map)
+				} else {
+					map.flag = 'delete'
+					this.$set(this.unitList, index, map)
+				}
+			},
+			// 删除
+			deleteClick(item, index) {
+				if (Object.is(item.constKey, 1)) {
+					return
+				}
+				if (!item.constValue) {
+					this.unitList.splice(index, 1)
+					return
+				}
+				delxiala({
+						id: this.unitList[index].id
+					})
+					.toPromise()
+					.then((response) => {
+						this.getUnitList()
+						this.pleaseChoose = ''
+					})
+			},
+		},
+	}
 </script>
 
 <style lang="scss" scoped>
-.el-form {
-  padding: 0 15%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.readonly {
-  position: relative;
-}
-.upload-demo{
-  margin-top: 10px;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.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;
-}
-/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: 15px 0px;
-}
-.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: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-/deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
-  width: 130px;
-}
-.el-textarea {
-  width: 101%;
-}
-.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>
+	.el-form {
+		padding: 0 15%;
+	}
+
+	/deep/.ws-info-table .el-form-item {
+		border-right: 1px solid #cdd2dc;
+		border-bottom: 1px solid #cdd2dc;
+	}
+
+	.readonly {
+		position: relative;
+	}
+
+	.upload-demo {
+		margin-top: 10px;
+	}
+
+	.readonly:after {
+		content: '*';
+		color: #ff2727;
+		position: absolute;
+		right: 8px;
+		z-index: 10;
+		top: 21%;
+		font-size: 20px;
+	}
+
+	.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;
+	}
+
+	/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: 15px 0px;
+	}
+
+	.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: 900px;
+		margin: 0 auto;
+	}
+
+	/*.crt-main .textarea /deep/ .el-form-item__label {*/
+	/*  height: 82px;*/
+	/*}*/
+	// 控制select为只读的时候显示样式
+
+	.hide-sel {
+		.el-input__inner {
+			border: 0px;
+		}
+
+		.el-icon-arrow-up {
+			display: none;
+		}
+
+		.el-textarea__inner {
+			background-color: #fff !important;
+			border: 0;
+		}
+
+		.el-date-editor {
+			i {
+				display: none;
+			}
+		}
+
+		.is-disabled {
+			.el-input__inner:hover {
+				background-color: #fff !important;
+				border: 0;
+			}
+
+			color: #606266;
+
+			.el-input__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+
+			.el-textarea__inner {
+				background-color: #fff !important;
+				border: 0;
+				color: #606266;
+			}
+		}
+	}
+
+	// 控制select为只读的时候显示样式
+	/deep/.ws-class-table-col {
+		height: auto;
+		padding: 0px 2px;
+
+		/deep/.el-input__inner {
+			padding: 0px 2px;
+		}
+	}
+
+	/deep/.is-disabled {
+		.el-input__prefix,
+		.el-input__suffix {
+			display: none;
+		}
+
+		.el-input__inner {
+			background-color: #fff;
+			border-color: #fff !important;
+			color: #000 !important;
+			font-size: 14px;
+			cursor: text;
+			padding: 0 !important;
+		}
+	}
+
+	.winseaview-view {
+		padding: 0 0 20px;
+	}
+
+	.container {
+		overflow: scroll;
+		height: 93vh;
+	}
+
+	/deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+		width: 130px;
+	}
+
+	.el-textarea {
+		width: 101%;
+	}
+
+	.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>

+ 194 - 40
src/views/contractManagement/purchaseContractAdd.vue

@@ -28,10 +28,39 @@
         </p>
       </div>
       <ws-info-table>
+        <!--合同类型-->
+        <!-- <ws-form-item
+          label="合同类型"
+          span="1"
+          prop="agreementType"
+        >
+          <ws-select
+            v-model="deptBudgetList.agreementType"
+            placeholder
+            class="deal"
+            @change="selectType"
+          >
+            <ws-option
+              v-for="item in agreementList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item> -->
+        <ws-form-item label="合同类型" span="1" prop="agreementType" class="readonly">
+          <el-radio v-model="deptBudgetList.agreementType" label="采购合同" 
+            >采购合同</el-radio
+          >
+          <el-radio v-model="deptBudgetList.agreementType" label="补充协议"
+            >补充协议</el-radio
+          >
+        </ws-form-item>
         <!--合同编号-->
         <ws-form-item
           label="合同编号"
           span="1"
+          v-show="deptBudgetList.agreementType == '采购合同'"
           prop="contractNo"
           class="readonly"
           required
@@ -43,7 +72,40 @@
             size="small"
           />
         </ws-form-item>
-
+        <!--关联合同-->
+        <ws-form-item
+          prop="contractNo"
+          label="关联合同"
+          span="1"
+          v-show="deptBudgetList.agreementType =='补充协议'"
+        >
+          <ws-select
+            v-model="deptBudgetList.contractNo"
+            placeholder="请选择编号"
+            @change="selectRelation"
+          >
+            <ws-option
+              v-for="item in contractNoList"
+              :key="item.constKey"
+              :label="item.contractNo"
+              :value="item.contractNo"
+            ></ws-option>
+          </ws-select>
+        </ws-form-item>
+        <!--补充协议编号-->
+        <ws-form-item
+          v-show="deptBudgetList.agreementType == '补充协议'"
+          label="补充协议编号"
+          span="1"
+          prop="agreementNo"
+        >
+          <ws-input
+            v-model="deptBudgetList.agreementNo"
+            placeholder="请输入补充协议编号"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
         <!--运输方式-->
         <ws-form-item label="运输方式" span="1" prop="shippingType">
           <ws-input
@@ -258,7 +320,7 @@
           />
         </ws-form-item>
         <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
-          <el-cascader
+          <!-- <el-cascader
             :options="options_"
             v-model="selectedOptions"
             clearable
@@ -266,7 +328,10 @@
             placeholder="请选择货源所在地区"
             style="width: 200%"
             @change="handleChange"
-          />
+          /> -->
+          <el-button @click="mapInputClick('source')" class='address-btn'>
+            {{newSelectedOptions}}
+          </el-button>
         </ws-form-item>
         <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
           <ws-input
@@ -277,7 +342,7 @@
           />
         </ws-form-item>
         <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
-          <el-cascader
+          <!-- <el-cascader
             :options="options_"
             v-model="selectedOptions1"
             clearable
@@ -285,7 +350,10 @@
             placeholder="请选择交货所在地区"
             style="width: 200%"
             @change="handleChange1"
-          />
+          /> -->
+           <el-button @click="mapInputClick('deliveryProv')" class='address-btn'>
+            {{newSelectedOptions1}}
+          </el-button>
         </ws-form-item>
         <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
           <ws-input
@@ -518,8 +586,8 @@
         v-model="deptBudgetList.remarks"
         type="textarea"
         row="3"
-        placeholder="请输入备注信息,不超过200字"
-        maxlength="200"
+        placeholder="请输入备注信息,不超过3000字"
+        maxlength="3000"
       />
       <ws-upload
         ref="upload"
@@ -530,6 +598,9 @@
         accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
       />
     </ws-form>
+       <div v-if="dialogVisible" class="map">
+          <map-drag  @marker="marker" :isShowaddress='true' v-on:addressListen='getAddress' :type="type"></map-drag>
+    </div>
     <div style="text-align: right; padding: 10px" class="center">
       <el-button
         class="bg-bottom"
@@ -550,15 +621,18 @@ import {
   editxiala,
   delxiala,
   getstafffind,
+  getRelationContractNo
 } from '@/model/contarct/index'
 import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
 import { dayjs, fmoney, EventBus } from 'base-core-lib'
 import WsUpload from '@/components/WsUpload'
+import mapDrag from '@/components/mapdrag/mapdrag'
 
 export default {
   name: 'viewSpareMoney',
   components: {
     WsUpload,
+     mapDrag,
   },
   watch: {
     vesselId(val) {
@@ -570,6 +644,8 @@ export default {
   },
   data() {
     return {
+      type:"",
+      dialogVisible:false,
       //弹出框
       dialogViewSpareMoney: false,
       dialogApproveFormVisible: false,
@@ -583,7 +659,9 @@ export default {
       year: '',
       options_: regionData,
       selectedOptions: [],
+      newSelectedOptions:'请选择货源所在地',
       selectedOptions1: [],
+      newSelectedOptions1:'请选择交货所在地区',
       // 提交类型
       submitType: true,
       tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
@@ -601,14 +679,26 @@ export default {
       appendixIdsAdd: '',
       size: 10,
       unitList: [],
+      agreementList: [
+        {
+          constValue: '采购合同',
+          constKey: '1'
+        },        
+        {
+          constValue: '补充协议',
+          constKey: '2'
+        },
+      ],
+      contractNoList: [],
       goodnameList: [],
       value1: '袋装',
       value2: '未回收',
       gradeList: [],
       ChapterTwoList: [],
-
+      agreementType:'',
       deptBudgetList: {
         deliverType: '1',
+        agreementType:'采购合同',
         addressUrl:'',
         finalTradingVolume: 0,
         totalContractPrice:0,
@@ -641,6 +731,8 @@ export default {
   activated() {
     this.selectedOptions=[]
     this.selectedOptions1 = []
+    this.newSelectedOptions='请选择货源所在地'
+    this.newSelectedOptions1='请选择交货所在地'
     this.deptBudgetList.packingMethod = '散装'
     this.deptBudgetList.packingMethodKey = 1
     this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
@@ -659,6 +751,43 @@ export default {
     this.showType = this.isShow
   },
   methods: {
+    getAddress(data){
+      console.log("getAddress",data)
+      if(data[4]=='source'){
+        this.newSelectedOptions = data[0]+'/'+data[1]+'/'+data[2]
+        this.deptBudgetList.sourceProvince = data[0]
+        this.deptBudgetList.sourceCity = data[1]
+        this.deptBudgetList.sourceArea = data[2]
+        this.deptBudgetList.sourceGoods = data[3]
+      }else{
+        this.newSelectedOptions1 = data[0]+'/'+data[1]+'/'+data[2]
+        this.deptBudgetList.deliveryProvince =data[0]
+        this.deptBudgetList.deliveryCity =data[1]
+        this.deptBudgetList.deliveryArea =data[2]
+        this.deptBudgetList.placeDelivery =data[3]
+      }
+    },
+    mapInputClick(type){
+       this.dialogVisible = true
+       this.type=type
+    },
+        marker: function (item) {
+      this.deptBudgetList.warehousePositioning =
+        item.lnglat.lat + ',' + item.lnglat.lng
+    },
+        selectedAddress(e) {
+      this.deptBudgetList.warehousePositioning =
+        e.center.lat + ',' + e.center.lng
+    },
+       provinceChange(e){
+      console.log(CodeToText[e])
+    },
+    blurMap(){
+        this.dialogVisible = false
+    },
+    focusMap(){
+      this.dialogVisible = true
+    },
     dataFilter(val) {
       this.deptBudgetList.personCharge = val
       if (val) {
@@ -730,6 +859,24 @@ export default {
         .then((response) => {
           this.ChapterTwoList = response
         })
+      //关联合同
+      getRelationContractNo({
+        agreementType: '采购合同',
+        goodsType: 1
+      })
+        .toPromise()
+        .then((response) => {
+          this.contractNoList = response
+        })
+    },
+    selectRelation(e){
+        // this.deptBudgetList.agreementNo = e
+        this.$set(this.deptBudgetList,'agreementNo',e)
+        for (var i = 0; i < this.contractNoList.length; i++) {
+        if (this.contractNoList[i].contractNo == val) {
+            this.deptBudgetList = this.contractNoList[i]
+        }
+      }
     },
     onChange() {
      this.$refs.upload
@@ -1012,7 +1159,7 @@ export default {
         })
         return
       }
-      if (this.selectedOptions.length == 0) {
+      if (!this.newSelectedOptions) {
         this.$message({
           message: '请选择货源所在地区!',
           type: 'warning',
@@ -1026,7 +1173,7 @@ export default {
         })
         return
       }
-      if (this.selectedOptions1.length == 0) {
+      if (!this.newSelectedOptions1) {
         this.$message({
           message: '请选择交货所在地区!',
           type: 'warning',
@@ -1308,39 +1455,16 @@ export default {
       }
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
-          this.deptBudgetList.sourceProvince =
-            CodeToText[this.selectedOptions[0]]
-          this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
-          this.deptBudgetList.deliveryProvince =
-            CodeToText[this.selectedOptions1[0]]
-          this.deptBudgetList.deliveryCity =
-            CodeToText[this.selectedOptions1[1]]
           this.deptBudgetList.compId = this.compId
           this.deptBudgetList.contractType = 2
           this.deptBudgetList.goodsType = 1
-          if (
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区' ||
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.deliveryArea = '特别行政区'
-          } else {
-            this.deptBudgetList.deliveryArea =
-              CodeToText[this.selectedOptions1[2]]
-          }
-          if (
-            this.deptBudgetList.sourceProvince == '澳门特别行政区' ||
-            this.deptBudgetList.sourceProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.sourceArea = '特别行政区'
-          } else {
-            this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
-          }
           addList(this.deptBudgetList)
             .toPromise()
             .then((response) => {
               this.$message.success('添加成功')
               this.deptBudgetList = {
                 deliverType: '1',
+                agreementType:'采购合同',
                 finalTradingVolume: 0,
                 totalContractPrice:0,
                 contractGoodsInfo: {
@@ -1360,6 +1484,14 @@ export default {
     resetForm(deptBudgetList) {
       this.$refs[deptBudgetList].resetFields()
     },
+    //选择合同类型
+    selectType(e) {
+      for (var i = 0; i < this.invoiceList.length; i++) {
+        if (this.agreementList[i].constValue == e) {
+          this.deptBudgetList.agreementType = this.agreementList[i].constValue
+        }
+      }
+    },
     addClick() {
       this.unitList.push({
         flag: 'add',
@@ -1596,7 +1728,7 @@ export default {
 .wenzi p {
   display: inline-block;
 }
-.upload-demo{
+.upload-demo {
   margin-top: 10px;
 }
 .center {
@@ -1707,10 +1839,32 @@ export default {
 }
 //上传文件成功标识
 /deep/.el-upload-list__item-status-label {
-    position: absolute;
-    right: 22px;
-    top: -1px;
-    line-height: inherit;
-    display: none;
+  position: absolute;
+  right: 22px;
+  top: -1px;
+  line-height: inherit;
+  display: none;
+}
+.map{
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  margin: auto;
+  width: 800px;
+  height: 400px;
+  background: gainsboro;
+  border-radius: 20px;
+  padding: 10px;
+  box-sizing: border-box;
+  z-index: 99;
+}
+.amap-container{
+  width: 100%!important;
+}
+.address-btn{
+  width:100%;
+  text-align:left;
 }
 </style>

+ 62 - 6
src/views/contractManagement/purchaseContractEdit.vue

@@ -239,7 +239,7 @@
         </ws-form-item>
         <!-- 货源所在地区 -->
         <ws-form-item label="货源所在地区" span="1" prop="packingMethod">
-          <el-cascader
+          <!-- <el-cascader
             :options="options_"
             v-model="selectedOptions"
             clearable
@@ -247,7 +247,10 @@
             placeholder="请选择货源所在地区"
             style="width: 200%"
             @change="handleChange"
-          />
+          /> -->
+          <el-button @click="mapInputClick('source')" class='address-btn'>
+            {{newSelectedOptions}}
+          </el-button>
         </ws-form-item>
         <!-- 货源详细地址 -->
         <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
@@ -260,7 +263,7 @@
         </ws-form-item>
         <!-- 交货地所在地区 -->
         <ws-form-item label="交货地所在地区" span="1" prop="packingMethod">
-          <el-cascader
+          <!-- <el-cascader
             :options="options_"
             v-model="selectedOptions1"
             clearable
@@ -268,7 +271,10 @@
             placeholder="请选择交货地所在地区"
             style="width: 200%"
             @change="handleChange1"
-          />
+          /> -->
+            <el-button @click="mapInputClick('deliveryProv')" class='address-btn'>
+            {{newSelectedOptions1}}
+          </el-button>
         </ws-form-item>
         <!-- 交货地详细地址 -->
         <ws-form-item label="交货地详细地址" span="1" prop="placeDelivery">
@@ -488,6 +494,9 @@
       />
       </base-card>
     </ws-form>
+      <div v-if="dialogVisible" class="map">
+          <map-drag  @marker="marker" :isShowaddress='true' v-on:addressListen='getAddress' :type="type"></map-drag>
+    </div>
     <div style="text-align: right; padding: 10px">
       <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
         >提交</el-button
@@ -510,6 +519,7 @@ import {
 } from '@/model/contarct/index'
 import WsUpload from '@/components/WsUpload'
 import { EventBus, dayjs } from 'base-core-lib'
+import mapDrag from '@/components/mapdrag/mapdrag'
 export default {
   name: 'viewSpareMoney',
   watch: {
@@ -522,9 +532,12 @@ export default {
   },
   components: {
     WsUpload,
+    mapDrag
   },
   data() {
     return {
+        type:"",
+      dialogVisible:false,
       //弹出框
       dialogViewSpareMoney: false,
       dialogApproveFormVisible: false,
@@ -547,7 +560,9 @@ export default {
       },
       options_: regionData,
       selectedOptions: [],
+      newSelectedOptions:'请选择货源所在地',
       selectedOptions1: [],
+      newSelectedOptions1:'请选择交货所在地区',
       mainReportAdd: {},
       list: {},
       unitList: [],
@@ -579,6 +594,25 @@ export default {
     this.showType = this.isShow
   },
   methods: {
+        getAddress(data){
+      if(data[4]=='source'){
+        this.newSelectedOptions = data[0]+'/'+data[1]+'/'+data[2]
+        this.deptBudgetList.sourceProvince = data[0]
+        this.deptBudgetList.sourceCity = data[1]
+        this.deptBudgetList.sourceArea = data[2]
+        this.deptBudgetList.sourceGoods = data[3]
+      }else{
+        this.newSelectedOptions1 = data[0]+'/'+data[1]+'/'+data[2]
+        this.deptBudgetList.deliveryProvince =data[0]
+        this.deptBudgetList.deliveryCity =data[1]
+        this.deptBudgetList.deliveryArea =data[2]
+        this.deptBudgetList.placeDelivery =data[3]
+      }
+    },
+      mapInputClick(type){
+       this.dialogVisible = true
+       this.type=type
+    },
     dataFilter(val) {
       this.deptBudgetList.personCharge = val
       if (val) {
@@ -1086,7 +1120,7 @@ export default {
         })
         return
       }
-      if (this.selectedOptions.length == 0) {
+      if (!this.newSelectedOptions) {
         this.$message({
           message: '请选择货源所在地区!',
           type: 'warning',
@@ -1100,7 +1134,7 @@ export default {
         })
         return
       }
-      if (this.selectedOptions1.length == 0) {
+      if (!this.newSelectedOptions1) {
         this.$message({
           message: '请选择交货所在地区!',
           type: 'warning',
@@ -1656,4 +1690,26 @@ export default {
     line-height: inherit;
     display: none;
 }
+.map{
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  margin: auto;
+  width: 800px;
+  height: 400px;
+  background: gainsboro;
+  border-radius: 20px;
+  padding: 10px;
+  box-sizing: border-box;
+  z-index: 99;
+}
+.amap-container{
+  width: 100%!important;
+}
+.address-btn{
+  width:100%;
+  text-align:left;
+}
 </style>

+ 1676 - 1720
src/views/contractManagement/salesContractAdd.vue

@@ -1,282 +1,173 @@
 <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;注:基本信息和货物信息均为必填项,“*”
-        标记的条目提交后不可修改。
-      </p>
-    </div>
-    <div class="center">
-      <ws-form ref="deptBudgetList" :model="deptBudgetList">
-        <!--基本信息-->
-
-        <ws-info-table>
-          <!--合同编号-->
-          <ws-form-item
-            label="合同编号"
-            span="1"
-            prop="contractNo"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.contractNo"
-              placeholder="请输入合同编号"
-              maxlength="50"
-              size="small"
-              :rules="ruleDeptBudget"
-            />
-          </ws-form-item>
-
-          <!--运输方式-->
-          <ws-form-item label="运输方式" span="1" prop="shippingType">
-            <ws-input
-              v-model="deptBudgetList.shippingType"
-              placeholder="请输入运输方式"
-              maxlength="20"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--买方-->
-          <ws-form-item label="买方" span="1" prop="buyer" class="readonly">
-            <ws-input
-              v-model="deptBudgetList.buyer"
-              placeholder="请输入买方名称"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--结算方式-->
-          <ws-form-item label="结算方式" span="1" prop="settlementMethod">
-            <ws-input
-              v-model="deptBudgetList.settlementMethod"
-              placeholder="请输入结算方式"
-              maxlength="120"
-              size="small"
-            />
-          </ws-form-item>
-          <!--卖方-->
-          <ws-form-item label="卖方" span="1" prop="seller" class="readonly">
-            <ws-input
-              v-model="deptBudgetList.seller"
-              placeholder="请输入卖方名称"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item
-            label="交货方式"
-            span="1"
-            prop="seller"
-            class="readonly"
-          >
-            <el-radio v-model="deptBudgetList.deliverType" label="1"
-              >我方送货</el-radio
-            >
-            <el-radio v-model="deptBudgetList.deliverType" label="2"
-              >对方自提</el-radio
-            >
-          </ws-form-item>
-
-          <!--买方电话-->
-          <ws-form-item label="买方电话" span="1" prop="contractNo">
-            <ws-input
-              v-model.number="deptBudgetList.buyerPhone"
-              placeholder="请输入买方电话"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <!--包装方式-->
-          <ws-form-item label="包装方式" span="1" prop="packingMethod">
-            <ws-select
-              v-model="deptBudgetList.packingMethod"
-              placeholder=""
-              class="typeselect"
-              @change="selectpackingMethod"
-            >
-              <ws-option
-                v-for="item in packtypeList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
-            </ws-select>
-          </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="acceptanceMethod">
-            <el-select
-              v-model="deptBudgetList.acceptanceMethod"
-              placeholder="请选择验收方式"
-              style="width: 100%"
-              filterable
-              @change="selectunitList"
-            >
-              <el-option
-                v-for="(item, index) in unitList"
-                :key="item.constValue"
-                :label="item.constValue"
-                :value="item.constValue"
-              >
-                <span class="unit-left" style="float: left">
-                  <span v-if="item.flag == 'delete'">
-                    {{ item.constValue }}</span
-                  >
-                  <!-- 新增文本框 -->
-                  <div
-                    style="width: 160px"
-                    v-if="item.flag !== 'delete'"
-                    @click.stop
-                  >
-                    <ws-input
-                      v-model="item.constValue"
-                      clearable
-                      maxlength="10"
-                      style="width: 100%"
-                    ></ws-input>
-                  </div>
-                </span>
-                <span style="float: right; color: #8492a6; font-size: 13px">
-                  <!-- 对号 -->
-                  <i
-                    class="el-icon-check"
-                    style="line-height: 29px; margin-left: 10px"
-                    v-if="item.flag !== 'delete'"
-                    @click.stop="saveClick(item, index)"
-                  ></i>
-                  <!-- 编辑 -->
-                  <i
-                    class="el-icon-edit"
-                    style="line-height: 29px; margin-left: 10px"
-                    v-if="item.flag == 'delete'"
-                    @click.stop="editClick(item, index)"
-                  ></i>
-                  <!-- 删除 -->
-                  <i
-                    class="el-icon-delete"
-                    style="line-height: 29px"
-                    @click.stop="deleteClick(item, index)"
-                  ></i>
-                </span>
-              </el-option>
-              <!-- 新增按钮 -->
-              <el-option value="" label="">
-                <div
-                  style="
+	<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;注:基本信息和货物信息均为必填项,“*”
+				标记的条目提交后不可修改。
+			</p>
+		</div>
+		<div class="center">
+			<ws-form ref="deptBudgetList" :model="deptBudgetList">
+				<!--基本信息-->
+				<ws-info-table>
+					<!--合同类型-->
+					<ws-form-item label="合同类型" span="1" class="readonly">
+						<el-radio v-model="deptBudgetList.agreementType" label="1">销售合同</el-radio>
+						<el-radio v-model="deptBudgetList.agreementType" label="2">补充协议</el-radio>
+					</ws-form-item>
+					<!--合同编号-->
+					<ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly"
+						v-if="deptBudgetList.agreementType == '1'">
+						<ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small"
+							:rules="ruleDeptBudget" />
+					</ws-form-item>
+					<!--关联合同-->
+					<ws-form-item prop="contractNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '2'">
+						<ws-select v-model="deptBudgetList.contractNo" placeholder="请选择编号" @change="selectRelation">
+							<ws-option v-for="item in contractNoList" :key="item.constKey" :label="item.contractNo"
+								:value="item.contractNo"></ws-option>
+						</ws-select>
+					</ws-form-item>
+					<!--补充协议编号-->
+					<ws-form-item label="补充协议编号" span="1" prop="agreementNo" class="readonly"
+						v-if="deptBudgetList.agreementType == '2'">
+						<ws-input v-model="deptBudgetList.agreementNo" placeholder="请输入补充协议编号" maxlength="50"
+							size="small" :rules="ruleDeptBudget" />
+					</ws-form-item>
+					<!--运输方式-->
+					<ws-form-item label="运输方式" span="1" prop="shippingType">
+						<ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="20"
+							size="small" />
+					</ws-form-item>
+					<!--买方-->
+					<ws-form-item label="买方" span="1" prop="buyer" class="readonly">
+						<ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" />
+					</ws-form-item>
+					<!--结算方式-->
+					<ws-form-item label="结算方式" span="1" prop="settlementMethod">
+						<ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="120"
+							size="small" />
+					</ws-form-item>
+					<!--卖方-->
+					<ws-form-item label="卖方" span="1" prop="seller" class="readonly">
+						<ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" />
+					</ws-form-item>
+					<ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
+						<el-radio v-model="deptBudgetList.deliverType" label="1">我方送货</el-radio>
+						<el-radio v-model="deptBudgetList.deliverType" label="2">对方自提</el-radio>
+					</ws-form-item>
+					<!--买方电话-->
+					<ws-form-item label="买方电话" span="1" prop="contractNo">
+						<ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100"
+							size="small" />
+					</ws-form-item>
+					<!--包装方式-->
+					<ws-form-item label="包装方式" span="1" prop="packingMethod">
+						<ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect"
+							@change="selectpackingMethod">
+							<ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</ws-select>
+					</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="acceptanceMethod">
+						<el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%"
+							filterable @change="selectunitList">
+							<el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
+								:value="item.constValue">
+								<span class="unit-left" style="float: left">
+									<span v-if="item.flag == 'delete'">
+										{{ item.constValue }}</span>
+									<!-- 新增文本框 -->
+									<div style="width: 160px" v-if="item.flag !== 'delete'" @click.stop>
+										<ws-input v-model="item.constValue" clearable maxlength="10"
+											style="width: 100%"></ws-input>
+									</div>
+								</span>
+								<span style="float: right; color: #8492a6; font-size: 13px">
+									<!-- 对号 -->
+									<i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
+										v-if="item.flag !== 'delete'" @click.stop="saveClick(item, index)"></i>
+									<!-- 编辑 -->
+									<i class="el-icon-edit" style="line-height: 29px; margin-left: 10px"
+										v-if="item.flag == 'delete'" @click.stop="editClick(item, index)"></i>
+									<!-- 删除 -->
+									<i class="el-icon-delete" style="line-height: 29px"
+										@click.stop="deleteClick(item, index)"></i>
+								</span>
+							</el-option>
+							<!-- 新增按钮 -->
+							<el-option value="" label="">
+								<div style="
                     text-align: right;
                     border-top: 1px solid #dcdfe6;
                     padding: 5px;
-                  "
-                >
-                  <ws-button type="primary" @click.stop="addClick">{{
+                  ">
+									<ws-button type="primary" @click.stop="addClick">{{
                     $t('button.add')
                   }}</ws-button>
-                </div>
-              </el-option>
-            </el-select>
-          </ws-form-item>
-
-          <!--重量(吨)-->
-          <ws-form-item label="重量(吨)" span="1" prop="weight">
-            <ws-input
-              @input="weightchange"
-              v-model="deptBudgetList.weight"
-              placeholder="请输入重量(吨)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <!--交货日期(起)-->
-          <ws-form-item
-            label="交货日期(起)"
-            span="1"
-            prop="deliveryDateStart"
-          >
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateStart"
-              type="date"
-              placeholder="请选择交货日期(起)"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
-          <!--溢短装(%)-->
-          <ws-form-item label="溢短装(%)" span="1" prop="overShort">
-            <ws-input
-              v-model="deptBudgetList.overShort"
-              placeholder="请输入溢短装比例(%)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <!--交货日期(止)-->
-          <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateEnd"
-              type="date"
-              placeholder="请选择交货日期(止)"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
-
-          <!--合同单价(元/吨)-->
-          <ws-form-item
-            class="readonly"
-            label="合同单价(元/吨)"
-            span="1"
-            prop="unitContractPrice"
-          >
-            <ws-input
-              @input="pricechange"
-              v-model="deptBudgetList.unitContractPrice"
-              placeholder="请输入合同单价"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--合同总价-->
-          <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
-            <ws-input
-              v-model="deptBudgetList.totalContractPrice"
-              placeholder="请输入合同总价"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
-            <el-cascader
+								</div>
+							</el-option>
+						</el-select>
+					</ws-form-item>
+					<!--重量(吨)-->
+					<ws-form-item label="重量(吨)" span="1" prop="weight">
+						<ws-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)"
+							maxlength="100" size="small" />
+					</ws-form-item>
+					<!--交货日期(起)-->
+					<ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+						<ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
+							value-format="yyyy-MM-dd" />
+					</ws-form-item>
+					<!--溢短装(%)-->
+					<ws-form-item label="溢短装(%)" span="1" prop="overShort">
+						<ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装比例(%)" maxlength="100"
+							size="small" />
+					</ws-form-item>
+					<!--交货日期(止)-->
+					<ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+						<ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+							value-format="yyyy-MM-dd" />
+					</ws-form-item>
+					<!--价格类型-->
+					<ws-form-item label="价格类型" span="1" prop="priceType">
+						<ws-select v-model="deptBudgetList.priceType" placeholder="请选择价格类型" @change="selectpriceType">
+							<ws-option v-for="item in priceTypeList" :key="item" :label="item" :value="item" />
+						</ws-select>
+					</ws-form-item>
+					<!--合同单价(元/吨)-->
+					<ws-form-item class="readonly" label="合同单价(元/吨)" span="1" prop="unitContractPrice"
+						v-if="deptBudgetList.priceType == '定价销售'">
+						<ws-input @input="pricechange" v-model="deptBudgetList.unitContractPrice" placeholder="请输入合同单价"
+							maxlength="100" size="small" />
+					</ws-form-item>
+
+					<!--合同总价-->
+					<ws-form-item label="合同总价" span="1" prop="totalContractPrice"
+						v-if="deptBudgetList.priceType == '定价销售'">
+						<ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100"
+							size="small" />
+					</ws-form-item>
+					<ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
+						<!-- <el-cascader
               :options="options_"
               v-model="selectedOptions"
               clearable
@@ -284,18 +175,17 @@
               placeholder="请选择货源所在地区"
               style="width: 200%"
               @change="handleChange"
-            />
-          </ws-form-item>
-          <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
-            <ws-input
-              v-model="deptBudgetList.sourceGoods"
-              placeholder="请输入货源详细地址"
-              maxlength="20"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
-            <el-cascader
+            /> -->
+						<el-button @click="mapInputClick('source')" class='address-btn'>
+							{{newSelectedOptions}}
+						</el-button>
+					</ws-form-item>
+					<ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+						<ws-input v-model="deptBudgetList.sourceGoods" placeholder="请输入货源详细地址" maxlength="20"
+							size="small" />
+					</ws-form-item>
+					<ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
+						<!-- <el-cascader
               :options="options_"
               v-model="selectedOptions1"
               clearable
@@ -303,1443 +193,1509 @@
               placeholder="请选择交货所在地区"
               style="width: 200%"
               @change="handleChange1"
-            />
-          </ws-form-item>
-          <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
-            <ws-input
-              v-model="deptBudgetList.placeDelivery"
-              placeholder="请输入交货详细地址"
-              maxlength="20"
-              size="small"
-            />
-          </ws-form-item>
-          <!--签订日期-->
-          <ws-form-item label="签订日期" span="1" prop="signingDate">
-            <ws-date-picker
-              v-model="deptBudgetList.signingDate"
-              type="date"
-              placeholder="请选择合同签订日期"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
-          <ws-form-item
-            label="最终实际成交量(吨)"
-            span="1"
-            prop="finalTradingVolume"
-          >
-            <ws-input
-              v-model="deptBudgetList.finalTradingVolume"
-              placeholder="请输入最终实际成交量"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form>
-    </div>
-    <div class="wenzi">
-      <h3>货物信息</h3>
-    </div>
-    <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
-        <!--货物信息-->
-
-        <ws-info-table>
-          <!--货名-->
-          <ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
-            <ws-select
-              v-model="deptBudgetList.contractGoodsInfo.goodsName"
-              placeholder=""
-              class="typeselect"
-              @change="selectgoodsName"
-            >
-              <ws-option
-                v-for="item in goodnameList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
-            </ws-select>
-          </ws-form-item>
-
-          <!--水分(%)<=-->
-          <ws-form-item label="水分(%)<=" span="1" prop="waterContent">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.waterContent"
-              placeholder="请输入水分占比"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--品级-->
-          <ws-form-item label="品级" span="1" prop="grade" class="readonly">
-            <ws-select
-              v-model="deptBudgetList.contractGoodsInfo.grade"
-              placeholder=""
-              class="typeselect"
-              @change="selectgrade"
-            >
-              <ws-option
-                v-for="item in gradeList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
-            </ws-select>
-          </ws-form-item>
-
-          <!--杂质(%)<=-->
-          <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.impurity"
-              placeholder="请输入杂质占比(%)"
-              maxlength="40"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--容重(克/升)>=-->
-          <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-              placeholder="请输入容重"
-              maxlength="40"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--霉变粒(%)<=-->
-          <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-              placeholder="请输入霉变粒占比(%)"
-              maxlength="40"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--热损伤(%)<=-->
-          <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-              placeholder="请输入输入热损伤占比(%)"
-              maxlength="40"
-              size="small"
-            />
-          </ws-form-item>
-          <!--不完善粒(%)<=-->
-          <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
-            <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-              placeholder="请输入不完善粒占比(%)"
-              maxlength="40"
-              size="small"
-            />
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form>
-    </div>
-
-    <div class="wenzi">
-      <h3>流程信息</h3>
-    </div>
-    <div class="center">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
-        <!--流程信息-->
-
-        <ws-info-table>
-          <!--合同收入(元)-->
-          <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
-              placeholder="请输入合同收入(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--已开发票(元)-->
-          <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.goodsName"
-              placeholder="请输入已开发票(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--费用支出(元)-->
-          <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.waterContent"
-              placeholder="请输入费用支出(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--未开发票(元)-->
-          <ws-form-item label="未开发票(元)" span="1" prop="impurity">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.impurity"
-              placeholder="请输入未开发票(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--未回款(元)-->
-          <ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
-            <ws-input
-              v-model="deptBudgetList.contractProcessInfo.mildewGrain"
-              placeholder="请输入未回款(元)"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <!--双章原件回收情况-->
-          <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-            <ws-select
-              v-model="deptBudgetList.contractProcessInfo.grade"
-              placeholder=""
-              class="typeselect"
-              @change="selectpackingMethod"
-            >
-              <ws-option
-                v-for="item in ChapterTwoList"
-                :key="item.constKey"
-                :label="item.constValue"
-                :value="item.constValue"
-              />
-            </ws-select>
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form>
-    </div>
-
-    <div class="wenzi">
-      <h3>备注信息</h3>
-    </div>
-    <div class="ce">
-      <ws-form
-        ref="deptBudgetList"
-        :rules="ruleDeptBudget"
-        :model="deptBudgetList"
-      >
-        <!--备注信息-->
-        <ws-input
-          v-model="deptBudgetList.remarks"
-          type="textarea"
-          row="3"
-          placeholder="请输入备注信息,不超过200字"
-          maxlength="200"
-        />
-       <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="deptBudgetList.addressUrl"
-        :size-limit="size"
-        @onChange="onChange"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
-      </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>
+            /> -->
+						<el-button @click="mapInputClick('deliveryProv')" class='address-btn'>
+							{{newSelectedOptions1}}
+						</el-button>
+					</ws-form-item>
+					<ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
+						<ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20"
+							size="small" />
+					</ws-form-item>
+					<!--签订日期-->
+					<ws-form-item label="签订日期" span="1" prop="signingDate">
+						<ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+							value-format="yyyy-MM-dd" />
+					</ws-form-item>
+					<ws-form-item label="最终实际成交量(吨)" span="1" prop="finalTradingVolume">
+						<ws-input v-model="deptBudgetList.finalTradingVolume" placeholder="请输入最终实际成交量" maxlength="100"
+							size="small" />
+					</ws-form-item>
+				</ws-info-table>
+			</ws-form>
+		</div>
+		<div class="wenzi">
+			<h3>货物信息</h3>
+		</div>
+		<div class="center">
+			<ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
+				<!--货物信息-->
+
+				<ws-info-table>
+					<!--货名-->
+					<ws-form-item label="货名" span="1" prop="goodsName" class="readonly">
+						<ws-select v-model="deptBudgetList.contractGoodsInfo.goodsName" placeholder=""
+							class="typeselect" @change="selectgoodsName">
+							<ws-option v-for="item in goodnameList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</ws-select>
+					</ws-form-item>
+
+					<!--水分(%)<=-->
+					<ws-form-item label="水分(%)<=" span="1" prop="waterContent">
+						<ws-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比"
+							maxlength="100" size="small" />
+					</ws-form-item>
+
+					<!--品级-->
+					<ws-form-item label="品级" span="1" prop="grade" class="readonly">
+						<ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="" class="typeselect"
+							@change="selectgrade">
+							<ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</ws-select>
+					</ws-form-item>
+
+					<!--杂质(%)<=-->
+					<ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+						<ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)"
+							maxlength="40" size="small" />
+					</ws-form-item>
+
+					<!--容重(克/升)>=-->
+					<ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
+						<ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重"
+							maxlength="40" size="small" />
+					</ws-form-item>
+
+					<!--霉变粒(%)<=-->
+					<ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
+						<ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)"
+							maxlength="40" size="small" />
+					</ws-form-item>
+
+					<!--热损伤(%)<=-->
+					<ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+						<ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)"
+							maxlength="40" size="small" />
+					</ws-form-item>
+					<!--不完善粒(%)<=-->
+					<ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
+						<ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)"
+							maxlength="40" size="small" />
+					</ws-form-item>
+				</ws-info-table>
+			</ws-form>
+		</div>
+
+		<div class="wenzi">
+			<h3>流程信息</h3>
+		</div>
+		<div class="center">
+			<ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
+				<!--流程信息-->
+
+				<ws-info-table>
+					<!--合同收入(元)-->
+					<ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
+						<ws-input v-model="deptBudgetList.contractProcessInfo.goodsNameKey" placeholder="请输入合同收入(元)"
+							maxlength="100" size="small" />
+					</ws-form-item>
+
+					<!--已开发票(元)-->
+					<ws-form-item label="已开发票(元)" span="1" prop="goodsName">
+						<ws-input v-model="deptBudgetList.contractProcessInfo.goodsName" placeholder="请输入已开发票(元)"
+							maxlength="100" size="small" />
+					</ws-form-item>
+
+					<!--费用支出(元)-->
+					<ws-form-item label="费用支出(元)" span="1" prop="waterContent">
+						<ws-input v-model="deptBudgetList.contractProcessInfo.waterContent" placeholder="请输入费用支出(元)"
+							maxlength="100" size="small" />
+					</ws-form-item>
+
+					<!--未开发票(元)-->
+					<ws-form-item label="未开发票(元)" span="1" prop="impurity">
+						<ws-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)"
+							maxlength="100" size="small" />
+					</ws-form-item>
+
+					<!--未回款(元)-->
+					<ws-form-item label="未回款(元)" span="1" prop="mildewGrain">
+						<ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" placeholder="请输入未回款(元)"
+							maxlength="100" size="small" />
+					</ws-form-item>
+					<!--双章原件回收情况-->
+					<ws-form-item label="双章原件回收情况" span="1" prop="grade">
+						<ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+							@change="selectpackingMethod">
+							<ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+								:value="item.constValue" />
+						</ws-select>
+					</ws-form-item>
+				</ws-info-table>
+			</ws-form>
+		</div>
+
+		<div class="wenzi">
+			<h3>备注信息</h3>
+		</div>
+		<div class="ce">
+			<ws-form ref="deptBudgetList" :rules="ruleDeptBudget" :model="deptBudgetList">
+				<!--备注信息-->
+				<ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
+					maxlength="3000" />
+				<ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+					@onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
+			</ws-form>
+			<div v-if="dialogVisible" class="map">
+				<map-drag @marker="marker" :isShowaddress='true' v-on:addressListen='getAddress' :type="type">
+				</map-drag>
+			</div>
+		</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 {
-  packList,
-  addList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-} from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import thirdPartyInspectionReportAddVue from '../system/shipInspection/thirdPartyInspectionReportAdd.vue'
-
-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'),
-      mainReportAdd: {},
-      appendixIdsAdd: '',
-      size: 10,
-      unitList: [],
-      goodnameList: [],
-      gradeList: [],
-      ChapterTwoList: [],
-      deptBudgetList: {
-        deliverType: '1',
-        finalTradingVolume: 0,
-        totalContractPrice:0,
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
-        addressUrl: '',
-      },
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
-        },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
-          {
-            min: 6,
-            max: 50,
-            message: '长度在 6 到 50 个字符',
-            trigger: 'blur',
-          },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-      fileList:[],
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.deptBudgetList.packingMethod = '散装'
-    this.deptBudgetList.packingMethodKey = 1
-    this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
-    this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
-    this.deptBudgetList.contractProcessInfo.grade = '未回收'
-    this.deptBudgetList.contractProcessInfo.gradeKey = 1
-    this.deptBudgetList.contractGoodsInfo.grade = '一等品'
-    this.deptBudgetList.contractGoodsInfo.gradeKey = 1
-    this.loaddata()
-    this.showType = this.isShow
-  },
-  methods: {
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    returnsales() {
-      this.$router.push({ path: 'salesContract' })
-    },
-    loaddata() {
-      // 包装方式
-      packList({ constId: 'CON1' })
-        .toPromise()
-        .then((response) => {
-          this.packtypeList = response
-        })
-      // 验收方式
-      this.getUnitList()
-      // 货名
-      packList({ constId: 'CON2' })
-        .toPromise()
-        .then((response) => {
-          this.goodnameList = response
-        })
-      // 品级
-      packList({ constId: 'CON3' })
-        .toPromise()
-        .then((response) => {
-          this.gradeList = response
-        })
-      // 双章
-      packList({ constId: 'CON4' })
-        .toPromise()
-        .then((response) => {
-          this.ChapterTwoList = response
-        })
-    },
-    onChange() {
-      this.$refs.upload
-        .handleSaveBill()
-        .then(async response => {
-          this.deptBudgetList.addressUrl = response
-        })
-        .catch(res => {
-          EventBus.$emit('error', (JSON.parse(res) || {}).message)
-          this.$refs.upload.clearFiles()
-        })
-    },
-    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.contractNo) {
-        this.$message({
-          message: '合同编号不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNo.length < 6 ||
-        this.deptBudgetList.contractNo.length > 50
-      ) {
-        this.$message({
-          message: '合同编号长度不符合要求,请输入6到50个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.shippingType) {
-        this.$message({
-          message: '运输方式不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.shippingType.length < 1 ||
-        this.deptBudgetList.shippingType.length > 20
-      ) {
-        this.$message({
-          message: '运输方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '买方名称不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.buyer.length > 30) {
-        this.$message({
-          message: '买方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.settlementMethod) {
-        this.$message({
-          message: '结算方式不能为空',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.settlementMethod.length < 1 ||
-        this.deptBudgetList.settlementMethod.length > 20
-      ) {
-        this.$message({
-          message: '结算方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '请输入卖方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.seller.length > 30) {
-        this.$message({
-          message: '卖方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '请输入买方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '输入买方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方电话长度不符合要求,请输入7到20个字符之内!',
-          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: '卖方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.acceptanceMethod) {
-        this.$message({
-          message: '请选择验收方式',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.weight) {
-        this.$message({
-          message: '请输入重量!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.weight) ||
-        (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
-          String(this.deptBudgetList.weight).length -
-            (String(this.deptBudgetList.weight).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入重量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.overShort){
-        this.$message({
-          message: '请输入溢短装!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.overShort) ||
-        (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
-          String(this.deptBudgetList.overShort).length -
-            (String(this.deptBudgetList.overShort).indexOf('.') + 1) >
-            2) ||
-        this.deptBudgetList.overShort < 0 ||
-        this.deptBudgetList.overShort > 50
-      ) {
-        this.$message({
-          message: '溢短装输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-       //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.unitContractPrice) {
-        this.$message({
-          message: '请输入合同单价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.unitContractPrice) ||
-        (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.unitContractPrice).length -
-            (String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
-            2) ||
-        this.deptBudgetList.unitContractPrice <= 0 ||
-        this.deptBudgetList.unitContractPrice > 10000
-      ) {
-        this.$message({
-          message: '合同单价输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.totalContractPrice) {
-        this.$message({
-          message: '请输入合同总价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.totalContractPrice) ||
-        (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.totalContractPrice).length -
-            (String(this.deptBudgetList.totalContractPrice).indexOf('.') + 1) >
-            2) ||
-        this.deptBudgetList.totalContractPrice <= 0 ||
-        this.deptBudgetList.totalContractPrice > 1000000000
-      ) {
-        this.$message({
-          message: '合同总价输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.selectedOptions.length == 0) {
-        this.$message({
-          message: '请选择货源所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.sourceGoods) {
-        this.$message({
-          message: '请输入货源详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.selectedOptions1.length == 0) {
-        this.$message({
-          message: '请选择交货所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.placeDelivery) {
-        this.$message({
-          message: '请输入交货详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.signingDate) {
-        this.$message({
-          message: '请选择签订日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.finalTradingVolume) ||
-        (String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
-          String(this.deptBudgetList.finalTradingVolume).length -
-            (String(this.deptBudgetList.finalTradingVolume).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.finalTradingVolume < 0 ||
-        this.deptBudgetList.finalTradingVolume > 200000
-      ) {
-        this.$message({
-          message: '最终实际成交量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      //货物信息
-      if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
-        this.$message({
-          message: '请选择货名',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
-        this.$message({
-          message: '请输入水分',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.waterContent &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
-          (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.waterContent>40||this.deptBudgetList.contractGoodsInfo.waterContent<0
-      ) {
-        this.$message({
-          message: '水分输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.grade) {
-        this.$message({
-          message: '请选择品级',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.impurity) {
-        this.$message({
-          message: '请输入杂质',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.impurity &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).length -
-          (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.impurity>40||this.deptBudgetList.contractGoodsInfo.impurity<0
-      ) {
-        this.$message({
-          message: '杂质输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
-        this.$message({
-          message: '请输入容重',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
-            (String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') + 1) >
-            2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList.contractGoodsInfo.bulkDensity < 0
-      ) {
-        this.$message({
-          message: '容重输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
-        this.$message({
-          message: '请输入霉变粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.mildewGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
-            (String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
-              '.'
-            ) +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.mildewGrain>40||this.deptBudgetList.contractGoodsInfo.mildewGrain<0)
-      ) {
-        this.$message({
-          message: '霉变粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
-        this.$message({
-          message: '请输入热损伤',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.jiaorenli ||
-        (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
-            (String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
-              '.'
-            ) +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.jiaorenli>40||this.deptBudgetList.contractGoodsInfo.jiaorenli<0)
-      ) {
-        this.$message({
-          message: '热损伤输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
-        this.$message({
-          message: '请输入不完善粒',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
-        (String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
-            (String(
-              this.deptBudgetList.contractGoodsInfo.imperfectGrain
-            ).indexOf('.') +
-              1) >
-            2||this.deptBudgetList.contractGoodsInfo.imperfectGrain>40||this.deptBudgetList.contractGoodsInfo.imperfectGrain<0)
-      ) {
-        this.$message({
-          message: '不完善粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000) ||
-          (this.deptBudgetList.contractProcessInfo.goodsNameKey < 100) ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
-            (String(
-              this.deptBudgetList.contractProcessInfo.goodsNameKey
-            ).indexOf('.') +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '合同收入金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.waterContent > 10000000) ||
-          (this.deptBudgetList.contractProcessInfo.waterContent < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.waterContent).length -
-            (String(
-              this.deptBudgetList.contractProcessInfo.waterContent
-            ).indexOf('.') +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '费用支出输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
-          (this.deptBudgetList.contractProcessInfo.goodsName < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsName).length -
-            (String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
-              '.'
-            ) +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '已开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
-          (this.deptBudgetList.contractProcessInfo.impurity < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.impurity).length -
-            (String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
-              '.'
-            ) +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '未开发票金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
-          (this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
-        (String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
-            (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
-              1) >
-            2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.sourceProvince =
-            CodeToText[this.selectedOptions[0]]
-          this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
-
-          this.deptBudgetList.deliveryProvince =
-            CodeToText[this.selectedOptions1[0]]
-          this.deptBudgetList.deliveryCity =
-            CodeToText[this.selectedOptions1[1]]
-
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 1
-          this.deptBudgetList.goodsType = 1
-
-          if (
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区' ||
-            this.deptBudgetList.deliveryProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.deliveryArea = '特别行政区'
-          } else {
-            this.deptBudgetList.deliveryArea =
-              CodeToText[this.selectedOptions1[2]]
-          }
-          if (
-            this.deptBudgetList.sourceProvince == '澳门特别行政区' ||
-            this.deptBudgetList.sourceProvince == '澳门特别行政区'
-          ) {
-            this.deptBudgetList.sourceArea = '特别行政区'
-          } else {
-            this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
-          }
-          addList(this.deptBudgetList)
-            .toPromise()
-            .then((response) => {
-              this.$message.success('添加成功')
-              this.deptBudgetList = {
-                deliverType: '1',
-                finalTradingVolume: 0,
-                totalContractPrice:0,
-                contractGoodsInfo: {
-                  goodsName: '',
-                },
-                contractProcessInfo: {},
-              }
-
-              this.$router.push({ path: 'salesContract' })
-            })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
-        }
-      })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    saveClick(item, index) {
-      console.log(item)
-
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, { flag: 'check' })
-      } else {
-        this.$set(this.unitList, index, { flag: 'delete' })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
-        this.trainingMethods.constKey = item.constKey
-        this.trainingMethods.constCode = 'TYPEYAN'
-        this.trainingMethods.constValue = item.constValue
-        this.trainingMethods.id = item.id
-        addxiala(this.trainingMethods)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      } else if (item.flag == 'check') {
-        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
-        this.trainingMethods.constKey = item.constKey
-        this.trainingMethods.constCode = 'TYPEYAN'
-        this.trainingMethods.constValue = item.constValue
-        this.trainingMethods.id = item.id
-        editxiala(this.trainingMethods)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      }
-    },
-    handleExamine() {},
-    approve() {},
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
-        }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
-        }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
-        }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
-           this.deptBudgetList.contractGoodsInfo.goodsNameKey = this.goodnameList[i].constKey
-        }
-      }
-    },
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey =
-            this.packtypeList[i].constKey
-        }
-      }
-    },
-    weightchange(e) {
-      this.deptBudgetList.finalTradingVolume = e
-    },
-    pricechange(e) {
-      this.deptBudgetList.totalContractPrice = e*this.deptBudgetList.weight
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
-    },
-  },
-}
+	import {
+		packList,
+		addList,
+		xiala,
+		addxiala,
+		editxiala,
+		delxiala,
+		getRelationContractNo,
+	} from '@/model/contarct/index'
+	import WsUpload from '@/components/WsUpload'
+	import {
+		regionData,
+		CodeToText,
+		TextToCode
+	} from 'element-china-area-data'
+	import thirdPartyInspectionReportAddVue from '../system/shipInspection/thirdPartyInspectionReportAdd.vue'
+	import mapDrag from '@/components/mapdrag/mapdrag'
+	export default {
+		name: 'viewSpareMoney',
+		components: {
+			WsUpload,
+			mapDrag
+		},
+		watch: {
+			vesselId(val) {
+				this.getVesselData()
+			},
+			isShow(val) {
+				this.showType = val
+			},
+		},
+		data() {
+			return {
+				//弹出框
+				dialogViewSpareMoney: false,
+				dialogApproveFormVisible: false,
+				// 船舶类型
+				monetaryKey: null,
+				// 表格显示数据
+				tableDate: [],
+				// 是否显示
+				showType: true,
+				// 年
+				year: '',
+				type: "",
+				dialogVisible: false,
+				options_: regionData,
+				selectedOptions: [],
+				newSelectedOptions: '请选择货源所在地',
+				selectedOptions1: [],
+				newSelectedOptions1: '请选择交货所在地区',
+				// 提交类型
+				submitType: true,
+				tableData: [{
+					date: 1111,
+					name: 'qqqq',
+					address: 'errrtt'
+				}],
+				trainingMethods: {},
+				packtypeList: [],
+				compId: sessionStorage.getItem('ws-pf_compId'),
+				mainReportAdd: {},
+				appendixIdsAdd: '',
+				size: 10,
+				unitList: [],
+				goodnameList: [],
+				gradeList: [],
+				ChapterTwoList: [],
+				deptBudgetList: {
+					deliverType: '1',
+					agreementType: '1',
+					finalTradingVolume: 0,
+					totalContractPrice: 0,
+					contractGoodsInfo: {
+						goodsName: '',
+					},
+					contractProcessInfo: {},
+					addressUrl: '',
+				},
+				pickerBeginDateBefore: {
+					disabledDate: (time) => {
+						return time.getTime() > Date.now()
+					},
+				},
+				ruleDeptBudget: {
+					contractNo: [{
+							required: true,
+							message: '请输入活动名称',
+							trigger: 'blur'
+						},
+						{
+							min: 6,
+							max: 50,
+							message: '长度在 6 到 50 个字符',
+							trigger: 'blur',
+						},
+					],
+				},
+				selectIntendedShip: {},
+				interviewTypeList: {},
+				fileList: [],
+				priceTypeList: [
+					"定价销售",
+					"随行就市"
+				],
+				contractNoList: [],
+			}
+		},
+		activated() {
+			//cg.viewBudget
+			//cg.viewSpareMoney
+			// this.getVesselData();
+			this.deptBudgetList.packingMethod = '散装'
+			this.deptBudgetList.packingMethodKey = 1
+			this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
+			this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
+			this.deptBudgetList.contractProcessInfo.grade = '未回收'
+			this.deptBudgetList.contractProcessInfo.gradeKey = 1
+			this.deptBudgetList.contractGoodsInfo.grade = '一等品'
+			this.deptBudgetList.contractGoodsInfo.gradeKey = 1
+			this.loaddata()
+			this.showType = this.isShow
+		},
+		methods: {
+			getAddress(data) {
+				console.log("getAddress", data)
+				if (data[4] == 'source') {
+					this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+					this.deptBudgetList.sourceProvince = data[0]
+					this.deptBudgetList.sourceCity = data[1]
+					this.deptBudgetList.sourceArea = data[2]
+					this.deptBudgetList.sourceGoods = data[3]
+				} else {
+					this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+					this.deptBudgetList.deliveryProvince = data[0]
+					this.deptBudgetList.deliveryCity = data[1]
+					this.deptBudgetList.deliveryArea = data[2]
+					this.deptBudgetList.placeDelivery = data[3]
+				}
+			},
+			mapInputClick(type) {
+				this.dialogVisible = true
+				this.type = type
+			},
+			// 关闭 dialog时 处理文件url 初始化upload组件
+			handleClose() {
+				this.dialogViewSpareMoney = false
+			},
+			handleChange(value) {
+				this.selectedOptions = value
+			},
+			handleChange1(value) {
+				this.selectedOptions1 = value
+			},
+			returnsales() {
+				this.$router.push({
+					path: 'salesContract'
+				})
+			},
+			loaddata() {
+				// 包装方式
+				packList({
+						constId: 'CON1'
+					})
+					.toPromise()
+					.then((response) => {
+						this.packtypeList = response
+					})
+				// 验收方式
+				this.getUnitList()
+				// 货名
+				packList({
+						constId: 'CON2'
+					})
+					.toPromise()
+					.then((response) => {
+						this.goodnameList = response
+					})
+				// 品级
+				packList({
+						constId: 'CON3'
+					})
+					.toPromise()
+					.then((response) => {
+						this.gradeList = response
+					})
+				// 双章
+				packList({
+						constId: 'CON4'
+					})
+					.toPromise()
+					.then((response) => {
+						this.ChapterTwoList = response
+					})
+				//关联合同
+				getRelationContractNo({
+						agreementType: '销售合同',
+						goodsType: 1
+					})
+					.toPromise()
+					.then((response) => {
+						this.contractNoList = response
+					})
+			},
+			selectRelation(e) {
+				// this.deptBudgetList.agreementNo = e
+				this.$set(this.deptBudgetList, 'agreementNo', e)
+			},
+			onChange() {
+				this.$refs.upload
+					.handleSaveBill()
+					.then(async response => {
+						this.deptBudgetList.addressUrl = response
+					})
+					.catch(res => {
+						EventBus.$emit('error', (JSON.parse(res) || {}).message)
+						this.$refs.upload.clearFiles()
+					})
+			},
+			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.contractNo) {
+					this.$message({
+						message: '合同编号不能为空',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractNo.length < 6 ||
+					this.deptBudgetList.contractNo.length > 50
+				) {
+					this.$message({
+						message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.shippingType) {
+					this.$message({
+						message: '运输方式不能为空',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.shippingType.length < 1 ||
+					this.deptBudgetList.shippingType.length > 20
+				) {
+					this.$message({
+						message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.buyer) {
+					this.$message({
+						message: '买方名称不能为空',
+						type: 'warning',
+					})
+					return
+				}
+				if (this.deptBudgetList.buyer.length > 30) {
+					this.$message({
+						message: '买方名称长度不符合要求,请输入30个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.settlementMethod) {
+					this.$message({
+						message: '结算方式不能为空',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.settlementMethod.length < 1 ||
+					this.deptBudgetList.settlementMethod.length > 20
+				) {
+					this.$message({
+						message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.seller) {
+					this.$message({
+						message: '请输入卖方名称!',
+						type: 'warning',
+					})
+					return
+				}
+				if (this.deptBudgetList.seller.length > 30) {
+					this.$message({
+						message: '卖方名称长度不符合要求,请输入30个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.buyerPhone) {
+					this.$message({
+						message: '请输入买方电话!',
+						type: 'warning',
+					})
+					return
+				}
+				if (isNaN(this.deptBudgetList.buyerPhone)) {
+					this.$message({
+						message: '输入买方电话有误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.buyerPhone.length < 7 ||
+					this.deptBudgetList.buyerPhone.length > 20
+				) {
+					this.$message({
+						message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+						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: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.acceptanceMethod) {
+					this.$message({
+						message: '请选择验收方式',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.weight) {
+					this.$message({
+						message: '请输入重量!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					isNaN(this.deptBudgetList.weight) ||
+					(String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+						String(this.deptBudgetList.weight).length -
+						(String(this.deptBudgetList.weight).indexOf('.') + 1) >
+						3) ||
+					this.deptBudgetList.weight < 0 ||
+					this.deptBudgetList.weight > 200000
+				) {
+					this.$message({
+						message: '输入重量有误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.deliveryDateStart) {
+					this.$message({
+						message: '请选择交货日期(起)',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.overShort) {
+					this.$message({
+						message: '请输入溢短装!',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					isNaN(this.deptBudgetList.overShort) ||
+					(String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
+						String(this.deptBudgetList.overShort).length -
+						(String(this.deptBudgetList.overShort).indexOf('.') + 1) >
+						2) ||
+					this.deptBudgetList.overShort < 0 ||
+					this.deptBudgetList.overShort > 50
+				) {
+					this.$message({
+						message: '溢短装输入有误!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.deliveryDateEnd) {
+					this.$message({
+						message: '请选择交货日期(止)',
+						type: 'warning',
+					})
+					return
+				}
+				//时间
+				if (
+					new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+					new Date(this.deptBudgetList.deliveryDateEnd).getTime()
+				) {
+					this.$message({
+						message: '交货日期(止)选择错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.priceType) {
+					this.$message({
+						message: '请选择价格类型',
+						type: 'warning',
+					})
+					return
+				}
+				if (this.deptBudgetList.priceType == '定价销售') {
+					if (!this.deptBudgetList.unitContractPrice) {
+						this.$message({
+							message: '请输入合同单价!',
+							type: 'warning',
+						})
+						return
+					}
+					if (
+						isNaN(this.deptBudgetList.unitContractPrice) ||
+						(String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
+							String(this.deptBudgetList.unitContractPrice).length -
+							(String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
+							2) ||
+						this.deptBudgetList.unitContractPrice <= 0 ||
+						this.deptBudgetList.unitContractPrice > 10000
+					) {
+						this.$message({
+							message: '合同单价输入有误!',
+							type: 'warning',
+						})
+						return
+					}
+					if (!this.deptBudgetList.totalContractPrice) {
+						this.$message({
+							message: '请输入合同总价!',
+							type: 'warning',
+						})
+						return
+					}
+					if (
+						isNaN(this.deptBudgetList.totalContractPrice) ||
+						(String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
+							String(this.deptBudgetList.totalContractPrice).length -
+							(String(this.deptBudgetList.totalContractPrice).indexOf('.') + 1) >
+							2) ||
+						this.deptBudgetList.totalContractPrice <= 0 ||
+						this.deptBudgetList.totalContractPrice > 1000000000
+					) {
+						this.$message({
+							message: '合同总价输入有误!',
+							type: 'warning',
+						})
+						return
+					}
+				}
+				if (!this.newSelectedOptions) {
+					this.$message({
+						message: '请选择货源所在地区!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.sourceGoods) {
+					this.$message({
+						message: '请输入货源详细地址!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.newSelectedOptions1) {
+					this.$message({
+						message: '请选择交货所在地区!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.placeDelivery) {
+					this.$message({
+						message: '请输入交货详细地址!',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.signingDate) {
+					this.$message({
+						message: '请选择签订日期',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					isNaN(this.deptBudgetList.finalTradingVolume) ||
+					(String(this.deptBudgetList.finalTradingVolume).indexOf('.') != -1 &&
+						String(this.deptBudgetList.finalTradingVolume).length -
+						(String(this.deptBudgetList.finalTradingVolume).indexOf('.') + 1) >
+						3) ||
+					this.deptBudgetList.finalTradingVolume < 0 ||
+					this.deptBudgetList.finalTradingVolume > 200000
+				) {
+					this.$message({
+						message: '最终实际成交量有误!',
+						type: 'warning',
+					})
+					return
+				}
+				//货物信息
+				if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
+					this.$message({
+						message: '请选择货名',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
+					this.$message({
+						message: '请输入水分',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractGoodsInfo.waterContent &&
+					String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
+					String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
+					(String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
+					2 || this.deptBudgetList.contractGoodsInfo.waterContent > 40 || this.deptBudgetList.contractGoodsInfo
+					.waterContent < 0
+				) {
+					this.$message({
+						message: '水分输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.grade) {
+					this.$message({
+						message: '请选择品级',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.impurity) {
+					this.$message({
+						message: '请输入杂质',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					this.deptBudgetList.contractGoodsInfo.impurity &&
+					String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
+					String(this.deptBudgetList.contractGoodsInfo.impurity).length -
+					(String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
+					2 || this.deptBudgetList.contractGoodsInfo.impurity > 40 || this.deptBudgetList.contractGoodsInfo
+					.impurity < 0
+				) {
+					this.$message({
+						message: '杂质输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
+					this.$message({
+						message: '请输入容重',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(this.deptBudgetList.contractGoodsInfo.bulkDensity &&
+						String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
+						(String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') + 1) >
+						2) || this.deptBudgetList.contractGoodsInfo.bulkDensity > 1000 || this.deptBudgetList
+					.contractGoodsInfo.bulkDensity < 0
+				) {
+					this.$message({
+						message: '容重输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.mildewGrain) {
+					this.$message({
+						message: '请输入霉变粒',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.mildewGrain ||
+					(String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.mildewGrain).length -
+						(String(this.deptBudgetList.contractGoodsInfo.mildewGrain).indexOf(
+								'.'
+							) +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.mildewGrain > 40 || this.deptBudgetList
+						.contractGoodsInfo.mildewGrain < 0)
+				) {
+					this.$message({
+						message: '霉变粒输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.jiaorenli) {
+					this.$message({
+						message: '请输入热损伤',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.jiaorenli ||
+					(String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf('.') !=
+						-1 &&
+						String(this.deptBudgetList.contractGoodsInfo.jiaorenli).length -
+						(String(this.deptBudgetList.contractGoodsInfo.jiaorenli).indexOf(
+								'.'
+							) +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.jiaorenli > 40 || this.deptBudgetList.contractGoodsInfo
+						.jiaorenli < 0)
+				) {
+					this.$message({
+						message: '热损伤输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (!this.deptBudgetList.contractGoodsInfo.imperfectGrain) {
+					this.$message({
+						message: '请输入不完善粒',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					!this.deptBudgetList.contractGoodsInfo.imperfectGrain ||
+					(String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractGoodsInfo.imperfectGrain).length -
+						(String(
+								this.deptBudgetList.contractGoodsInfo.imperfectGrain
+							).indexOf('.') +
+							1) >
+						2 || this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 || this.deptBudgetList
+						.contractGoodsInfo.imperfectGrain < 0)
+				) {
+					this.$message({
+						message: '不完善粒输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(!this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000) ||
+					(this.deptBudgetList.contractProcessInfo.goodsNameKey < 100) ||
+					(String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
+						(String(
+								this.deptBudgetList.contractProcessInfo.goodsNameKey
+							).indexOf('.') +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '合同收入金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(this.deptBudgetList.contractProcessInfo.waterContent > 10000000) ||
+					(this.deptBudgetList.contractProcessInfo.waterContent < 0) ||
+					(String(this.deptBudgetList.contractProcessInfo.waterContent).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.waterContent).length -
+						(String(
+								this.deptBudgetList.contractProcessInfo.waterContent
+							).indexOf('.') +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '费用支出输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
+					(this.deptBudgetList.contractProcessInfo.goodsName < 0) ||
+					(String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.goodsName).length -
+						(String(this.deptBudgetList.contractProcessInfo.goodsName).indexOf(
+								'.'
+							) +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '已开发票金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(this.deptBudgetList.contractProcessInfo.impurity > 1000000000) |
+					(this.deptBudgetList.contractProcessInfo.impurity < 0) ||
+					(String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.impurity).length -
+						(String(this.deptBudgetList.contractProcessInfo.impurity).indexOf(
+								'.'
+							) +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '未开发票金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				if (
+					(!this.deptBudgetList.contractProcessInfo.mildewGrain > 1000000000) |
+					(this.deptBudgetList.contractProcessInfo.mildewGrain < 0) ||
+					(String(this.deptBudgetList.contractProcessInfo.mildewGrain).indexOf(
+							'.'
+						) != -1 &&
+						String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
+						(String(
+								this.deptBudgetList.contractProcessInfo.mildewGrain
+							).indexOf('.') +
+							1) >
+						2)
+				) {
+					this.$message({
+						message: '未回款金额输入错误',
+						type: 'warning',
+					})
+					return
+				}
+				this.$refs.deptBudgetList.validate((valid) => {
+					if (valid) {
+						this.deptBudgetList.sourceProvince =
+							CodeToText[this.selectedOptions[0]]
+						this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
+
+						this.deptBudgetList.deliveryProvince =
+							CodeToText[this.selectedOptions1[0]]
+						this.deptBudgetList.deliveryCity =
+							CodeToText[this.selectedOptions1[1]]
+
+						this.deptBudgetList.compId = this.compId
+						this.deptBudgetList.contractType = 1
+						this.deptBudgetList.goodsType = 1
+
+						if (
+							this.deptBudgetList.deliveryProvince == '澳门特别行政区' ||
+							this.deptBudgetList.deliveryProvince == '澳门特别行政区'
+						) {
+							this.deptBudgetList.deliveryArea = '特别行政区'
+						} else {
+							this.deptBudgetList.deliveryArea =
+								CodeToText[this.selectedOptions1[2]]
+						}
+						if (
+							this.deptBudgetList.sourceProvince == '澳门特别行政区' ||
+							this.deptBudgetList.sourceProvince == '澳门特别行政区'
+						) {
+							this.deptBudgetList.sourceArea = '特别行政区'
+						} else {
+							this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
+						}
+						addList(this.deptBudgetList)
+							.toPromise()
+							.then((response) => {
+								this.$message.success('添加成功')
+								this.deptBudgetList = {
+									deliverType: '1',
+									agreementType: '1',
+									finalTradingVolume: 0,
+									totalContractPrice: 0,
+									contractGoodsInfo: {
+										goodsName: '',
+									},
+									contractProcessInfo: {},
+								}
+
+								this.$router.push({
+									path: 'salesContract'
+								})
+							})
+					} else {
+						EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+						return false
+					}
+				})
+			},
+			resetForm(deptBudgetList) {
+				this.$refs[deptBudgetList].resetFields()
+			},
+			saveClick(item, index) {
+				console.log(item)
+
+				if (Object.is(item.id, 1)) {
+					return
+				}
+				if (Object.is(this.unitList[index].flag, 'delete')) {
+					this.$set(this.unitList, index, {
+						flag: 'check'
+					})
+				} else {
+					this.$set(this.unitList, index, {
+						flag: 'delete'
+					})
+				}
+				if (!item.constValue) {
+					this.unitList.splice(index, 1)
+					return
+				}
+				if (item.flag == 'add') {
+					item.constKey = Math.random() * 20
+					this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+					this.trainingMethods.constKey = item.constKey
+					this.trainingMethods.constCode = 'TYPEYAN'
+					this.trainingMethods.constValue = item.constValue
+					this.trainingMethods.id = item.id
+					addxiala(this.trainingMethods)
+						.toPromise()
+						.then((response) => {
+							this.getUnitList()
+						})
+				} else if (item.flag == 'check') {
+					this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+					this.trainingMethods.constKey = item.constKey
+					this.trainingMethods.constCode = 'TYPEYAN'
+					this.trainingMethods.constValue = item.constValue
+					this.trainingMethods.id = item.id
+					editxiala(this.trainingMethods)
+						.toPromise()
+						.then((response) => {
+							this.getUnitList()
+						})
+				}
+			},
+			handleExamine() {},
+			approve() {},
+			addClick() {
+				this.unitList.push({
+					flag: 'add',
+					constValue: '',
+					constKey: '',
+				})
+			},
+			selectChapterTwo(e) {
+				for (var i = 0; i < this.ChapterTwoList.length; i++) {
+					if (this.ChapterTwoList[i].constValue == e) {
+						this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+					}
+				}
+			},
+			selectunitList(e) {
+				for (var i = 0; i < this.unitList.length; i++) {
+					if (this.unitList[i].constValue == e) {
+						this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
+					}
+				}
+			},
+			selectgrade(e) {
+				for (var i = 0; i < this.gradeList.length; i++) {
+					if (this.gradeList[i].constValue == e) {
+						this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+					}
+				}
+			},
+			selectgoodsName(e) {
+				for (var i = 0; i < this.goodnameList.length; i++) {
+					if (this.goodnameList[i].constValue == e) {
+						this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+						this.deptBudgetList.contractGoodsInfo.goodsNameKey = this.goodnameList[i].constKey
+					}
+				}
+			},
+			selectpackingMethod(e) {
+				for (var i = 0; i < this.packtypeList.length; i++) {
+					if (this.packtypeList[i].constValue == e) {
+						this.deptBudgetList.acceptanceMethodKey =
+							this.packtypeList[i].constKey
+					}
+				}
+			},
+			selectpriceType(e) {},
+			weightchange(e) {
+				this.deptBudgetList.finalTradingVolume = e
+			},
+			pricechange(e) {
+				this.deptBudgetList.totalContractPrice = e * this.deptBudgetList.weight
+			},
+			// 编辑
+			editClick(item, index) {
+				const map = JSON.parse(JSON.stringify(item))
+				if (Object.is(item.id, 1)) {
+					return
+				}
+				if (Object.is(this.unitList[index].flag, 'delete')) {
+					map.flag = 'check'
+					this.$set(this.unitList, index, map)
+				} else {
+					map.flag = 'delete'
+					this.$set(this.unitList, index, map)
+				}
+			},
+			// 删除
+			deleteClick(item, index) {
+				if (Object.is(item.constKey, 1)) {
+					return
+				}
+				if (!item.constValue) {
+					this.unitList.splice(index, 1)
+					return
+				}
+				delxiala({
+						id: this.unitList[index].id
+					})
+					.toPromise()
+					.then((response) => {
+						this.getUnitList()
+						this.pleaseChoose = ''
+					})
+			},
+		},
+	}
 </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;
-}
-.upload-demo{
-  margin-top: 10px;
-}
-.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;
-}
-.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>
+	/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;
+	}
+
+	.upload-demo {
+		margin-top: 10px;
+	}
+
+	.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;
+	}
+
+	.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;
+	}
+
+	.map {
+		position: fixed;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		margin: auto;
+		width: 800px;
+		height: 400px;
+		background: gainsboro;
+		border-radius: 20px;
+		padding: 10px;
+		box-sizing: border-box;
+		z-index: 99;
+	}
+
+	.amap-container {
+		width: 100% !important;
+	}
+
+	.address-btn {
+		width: 100%;
+		text-align: left;
+	}
+</style>

+ 27 - 5
src/views/contractManagement/salesContractEdit.vue

@@ -36,14 +36,30 @@
       >
         <!--基本信息-->
         <ws-info-table>
-          <!--合同编号-->
-          <ws-form-item label="合同编号" span="1" prop="contractNo">
-            <div class="unchanged">
+        	<!--合同类型-->
+					<ws-form-item label="合同类型" span="1" class="readonly">
+						<div class="unchanged">
+              {{ deptBudgetList.agreementType1 }}
+            </div>
+            <span class="unchangeable">*</span>
+					</ws-form-item>
+					<!--合同编号-->
+					<ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly"
+						v-if="deptBudgetList.agreementType == '销售合同'">
+						<div class="unchanged">
               {{ deptBudgetList.contractNo }}
             </div>
             <span class="unchangeable">*</span>
-          </ws-form-item>
-
+					</ws-form-item>
+					<!--关联合同-->
+					<ws-form-item prop="contractNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'" class="readonly">
+						{{ deptBudgetList.contractNo }}
+					</ws-form-item>
+					<!--补充协议编号-->
+					<ws-form-item label="补充协议编号" span="1" prop="agreementNo" class="readonly"
+						v-if="deptBudgetList.agreementType == '补充协议'">
+						{{ deptBudgetList.agreementNo }}
+					</ws-form-item>
           <!--运输方式-->
           <ws-form-item label="运输方式" span="1" prop="contractNo">
             <ws-input
@@ -537,6 +553,7 @@ import {
   addxiala,
   editxiala,
   delxiala,
+  getRelationContractNo,
 } from '@/model/contarct/index'
 export default {
   name: 'viewSpareMoney',
@@ -679,6 +696,11 @@ export default {
           } else if (this.deptBudgetList.deliverType == 2) {
             this.deptBudgetList.deliverType1 = '对方自提'
           }
+          if (this.deptBudgetList.agreementType == 1) {
+            this.deptBudgetList.agreementType1 = '销售合同'
+          } else if (this.deptBudgetList.agreementType == 2) {
+            this.deptBudgetList.agreementType1 = '补充协议'
+          }
         })
       // 包装方式
       packList({ constId: 'CON1' })

+ 93 - 215
src/views/houseSelfCollect/paymentManagement.vue

@@ -7,30 +7,15 @@
         <div class="print-type-title">打印凭证</div>
         <div class="print-type-checkbox">
           <el-checkbox-group v-model="ruleForm.type">
-            <el-checkbox
-              label="打印身份证(正反面)"
-              name="type"
-              class="label-width"
-              @change="selectType"
-            ></el-checkbox>
-            <el-checkbox
-              label="打印银行卡(正反面)"
-              name="type"
-              class="label-width"
-              @change="selectType"
-            ></el-checkbox>
+            <el-checkbox label="打印身份证(正反面)" name="type" class="label-width" @change="selectType"></el-checkbox>
+            <el-checkbox label="打印银行卡(正反面)" name="type" class="label-width" @change="selectType"></el-checkbox>
             <el-checkbox
               label="打印结算凭证"
               name="type"
               class="label-width"
               @change="selectType($event)"
             ></el-checkbox>
-            <el-checkbox
-              label="打印发票"
-              name="type"
-              class="label-width"
-              @change="selectType($event)"
-            ></el-checkbox>
+            <el-checkbox label="打印发票" name="type" class="label-width" @change="selectType($event)"></el-checkbox>
           </el-checkbox-group>
         </div>
       </div>
@@ -43,38 +28,27 @@
       <template slot="left">
         <!-- <ws-button type="primary" @click="screen(2)">待结算</ws-button>
         <ws-button type="primary" @click="screen(0)">待审核</ws-button>
-        <ws-button type="primary"  @click="screen()">全部</ws-button> -->
+        <ws-button type="primary"  @click="screen()">全部</ws-button>-->
         <ws-button
           :type="searchType == 0 ? 'primary' : ''"
           @click="screen(1)"
           v-if="isShowAdopt"
-          >待审核</ws-button
-        >
-         <ws-button
+        >待审核</ws-button>
+        <ws-button
           :type="searchType == 0 ? 'primary' : ''"
           @click="screen(7)"
-         v-hasPermission="`acquisitionManagement.acquisitionPay.pay`"
-          >待付款</ws-button
-        >
-        <ws-button :type="searchType == 2 ? 'primary' : ''" @click="screen(2)"
-          >待结算</ws-button
-        >
-        <ws-button :type="searchType == -1 ? 'primary' : ''" @click="screen(-1)"
-          >全部</ws-button
-        >
-        <ws-button type="primary" @click="reject" v-if="isShowAdopt"
-          >驳回</ws-button
-        >
-        <ws-button type="primary" @click="adopt" v-if="isShowAdopt"
-          >通过</ws-button
-        >
+          v-hasPermission="`acquisitionManagement.acquisitionPay.pay`"
+        >待付款</ws-button>
+        <ws-button :type="searchType == 2 ? 'primary' : ''" @click="screen(2)">待结算</ws-button>
+        <ws-button :type="searchType == -1 ? 'primary' : ''" @click="screen(-1)">全部</ws-button>
+        <ws-button type="primary" @click="reject" v-if="isShowAdopt">驳回</ws-button>
+        <ws-button type="primary" @click="adopt" v-if="isShowAdopt">通过</ws-button>
         <!-- <ws-button type="primary" @click="handlepass" v-if="isShowAdopt">审核</ws-button> -->
         <ws-button
           type="primary"
           @click="payment"
           v-hasPermission="`acquisitionManagement.acquisitionPay.pay`"
-          >付款</ws-button
-        >
+        >付款</ws-button>
       </template>
       <template slot="right">
         <el-select
@@ -119,127 +93,54 @@
       @row-click="handleRowClick"
       @selection-change="handleSelectionChange"
     >
-      <el-table-column
-        :selectable="selectInit"
-        type="selection"
-        width="55"
-      ></el-table-column>
+      <el-table-column :selectable="selectInit" type="selection" width="55"></el-table-column>
       <el-table-column type="index" label="序号" width="50">
         <template scope="scope">
           <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
           <span v-else>{{ scope.$index + 1 }}</span>
         </template>
       </el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="paymentNo"
-        width="150"
-        label="编号"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="customerName"
-        label="客户"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="carNo"
-        label="车牌号"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="goodsName"
-        label="货名"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        width="80"
-        prop="type"
-        label="类型"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="tidalGrainPrice"
-        width="140"
-        label="净重单价(元/公斤)"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="unitDeduction"
-        width="130"
-        label="扣单价(元/公斤)"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="solidGrainPrice"
-        width="140"
-        label="纯重单价(元/公斤)"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="netWeight"
-        width="120"
-        label="净重(公斤)"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="pureWeight"
-        width="120"
-        label="纯重(公斤)"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="amountIngPayable"
-        label="应付款(元)"
-      ></el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="amountEdPayable"
-        label="已付款(元)"
-      >
+      <el-table-column class="table_td" prop="paymentNo" width="150" label="编号"></el-table-column>
+      <el-table-column class="table_td" prop="customerName" label="客户"></el-table-column>
+      <el-table-column class="table_td" prop="carNo" label="车牌号"></el-table-column>
+      <el-table-column class="table_td" prop="goodsName" label="货名"></el-table-column>
+      <el-table-column class="table_td" width="80" prop="type" label="类型"></el-table-column>
+      <el-table-column class="table_td" prop="tidalGrainPrice" width="140" label="净重单价(元/公斤)"></el-table-column>
+      <el-table-column class="table_td" prop="unitDeduction" width="130" label="扣单价(元/公斤)"></el-table-column>
+      <el-table-column class="table_td" prop="solidGrainPrice" width="140" label="纯重单价(元/公斤)"></el-table-column>
+      <el-table-column class="table_td" prop="netWeight" width="120" label="净重(公斤)"></el-table-column>
+      <el-table-column class="table_td" prop="pureWeight" width="120" label="纯重(公斤)"></el-table-column>
+      <el-table-column class="table_td" prop="amountIngPayable" label="应付款(元)"></el-table-column>
+      <el-table-column class="table_td" prop="amountEdPayable" label="已付款(元)">
         <template slot-scope="scope">
-          <div @click="showPayImg(scope.row)">
-            {{ scope.row.amountEdPayable }}
-          </div>
+          <div @click="showPayImg(scope.row)">{{ scope.row.amountEdPayable }}</div>
         </template>
       </el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="updateDate"
-        label="更新时间"
-        width="140"
-      ></el-table-column>
+      <el-table-column class="table_td" prop="updateDate" label="更新时间" width="140"></el-table-column>
       <el-table-column class="table_td" prop="status" label="状态">
         <template scope="scope">
-          <span v-if="scope.row.approveStatus">
-            {{ scope.row.approveStatus }}
-          </span>
+          <span v-if="scope.row.approveStatus">{{ scope.row.approveStatus }}</span>
           <span v-else>{{ scope.row.status }}</span>
         </template>
       </el-table-column>
-      <el-table-column
-        class="table_td"
-        prop="collectionEdPayable"
-        label="操作"
-        width="350"
-      >
+      <el-table-column class="table_td" prop="collectionEdPayable" label="操作" width="350">
         <template scope="scope">
-          <el-button
-            v-if="
-              (!scope.row.approveStatus ||
-                scope.row.approveStatus == '待结算') &&
-              scope.row.status == '待结算'
-            "
-            @click="settlement(1, scope.row)"
-            v-hasPermission="`acquisitionManagement.acquisitionPay.add`"
-            >结算</el-button
-          >
+          <span v-hasPermission="`acquisitionManagement.acquisitionPay.add`">
+            <el-button
+              v-if="
+                    (!scope.row.approveStatus ||
+                      scope.row.approveStatus == '待结算') &&
+                    scope.row.status == '待结算'
+                  "
+              @click="settlement(1, scope.row)"
+            >结算</el-button>
+          </span>
+
           <el-button
             v-if="scope.row.approveStatus || scope.row.status == '已驳回'"
             @click="settlement(2, scope.row)"
             v-hasPermission="`acquisitionManagement.acquisitionPay.view`"
-            >查看</el-button
-          >
+          >查看</el-button>
           <el-button
             v-if="
               scope.row.approveStatus ||
@@ -247,8 +148,7 @@
             "
             @click="print(scope.row)"
             v-hasPermission="`acquisitionManagement.acquisitionPay.print`"
-            >打印</el-button
-          >
+          >打印</el-button>
           <el-button
             type="danger"
             v-if="
@@ -258,24 +158,20 @@
             "
             @click="del(scope.row)"
             v-hasPermission="`acquisitionManagement.acquisitionPay.delete`"
-            >删除</el-button
-          >
+          >删除</el-button>
         </template>
       </el-table-column>
     </el-table>
     <!-- 付款弹窗 -->
-    <el-dialog
-      width="40%"
-      :visible.sync="paymentForm"
-      :append-to-body="true"
-      title="付款"
-    >
+    <el-dialog width="40%" :visible.sync="paymentForm" :append-to-body="true" title="付款">
       <div class="tanchuang">
         <ws-form>
           <ws-info-table>
-            <ws-form-item label="未付金额(元)" prop="amountNotPayable">{{
+            <ws-form-item label="未付金额(元)" prop="amountNotPayable">
+              {{
               payments.amountNotPayable
-            }}</ws-form-item>
+              }}
+            </ws-form-item>
             <ws-form-item label="本次付款金额(元)" prop="money">
               <ws-input
                 type="number"
@@ -287,16 +183,9 @@
               />
             </ws-form-item>
             <ws-form-item label="付款日期" prop=" paymentDate">
-              <el-date-picker
-                v-model="payments.paymentDate"
-                type="date"
-                placeholder="选择日期"
-              ></el-date-picker>
+              <el-date-picker v-model="payments.paymentDate" type="date" placeholder="选择日期"></el-date-picker>
             </ws-form-item>
-            <ws-form-item
-              label="上传截图"
-              prop=" paymentScreenshot"
-            ></ws-form-item>
+            <ws-form-item label="上传截图" prop=" paymentScreenshot"></ws-form-item>
             <div class="upLoad">
               <el-upload
                 class="avatar-uploader"
@@ -317,12 +206,7 @@
       </div>
     </el-dialog>
     <!-- 付款截图 -->
-    <el-dialog
-      width="50%"
-      :visible.sync="showPayImgs"
-      :append-to-body="true"
-      title="付款截图"
-    >
+    <el-dialog width="50%" :visible.sync="showPayImgs" :append-to-body="true" title="付款截图">
       <div v-for="(item, index) in payImg" :key="index" class="pay_img">
         <img :src="item" alt class="img" />
       </div>
@@ -346,15 +230,9 @@
         :visible.sync="isShowPrint"
         :title="printData.compName + '结算凭证'"
       >
-        <paymentPrint
-          :printData="printData"
-          :customerInfo="customerList"
-          :showType="ruleForm.type"
-        ></paymentPrint>
+        <paymentPrint :printData="printData" :customerInfo="customerList" :showType="ruleForm.type"></paymentPrint>
         <div style="text-align: center">
-          <el-button type="primary" @click="isShowPrint = false"
-            >关闭</el-button
-          >
+          <el-button type="primary" @click="isShowPrint = false">关闭</el-button>
           <!-- <el-button type="primary" @click="printSmall">打印小票</el-button> -->
           <el-button type="primary" @click="printBig">打印单据</el-button>
         </div>
@@ -371,7 +249,7 @@ import {
   getpaymentexamine,
   getCustomerLook,
   paymentCommit,
-  getJurisdiction,
+  getJurisdiction
 } from '@/model/houseSelfCollect/index'
 import { posthandle } from '@/model/purchasingManagement/index'
 import paymentPrint from './component/paymentPrint.vue'
@@ -390,8 +268,8 @@ export default {
           '打印身份证(正反面)',
           '打印银行卡(正反面)',
           '打印结算凭证',
-          '打印发票',
-        ],
+          '打印发票'
+        ]
       },
       row: {},
       isShowPrintType: false,
@@ -403,7 +281,7 @@ export default {
         customerName: '',
         customerNumberCard: '',
         bankCard: '',
-        bankDeposit: '',
+        bankDeposit: ''
       },
       identity: [],
       //分页
@@ -427,13 +305,13 @@ export default {
       userJurisdiction: true,
       payments: {
         amountNotPayable: 0,
-        paymentDate: '',
+        paymentDate: ''
       },
       showPayImgs: false,
       isShowAdopt: false,
       //上传截图路径
       imageUrl: '',
-      payImg: [],
+      payImg: []
     }
   },
   activated() {
@@ -468,10 +346,10 @@ export default {
       //  this.isShowPrint = true
       getCustomerLook({
         id: this.row.identityAuthenticationInfo.id,
-        authenticationStatusKey: 7,
+        authenticationStatusKey: 7
       })
         .toPromise()
-        .then((response) => {
+        .then(response => {
           this.customerList = response
           this.identity = this.customerList.cardAddressUrl.split(',')
           this.bank = this.customerList.payeeAddressUrl.split(',')
@@ -481,7 +359,7 @@ export default {
           this.imageUrl4 = this.bank[1]
           getpaymentexamine({ id: this.row.id })
             .toPromise()
-            .then((response) => {
+            .then(response => {
               this.printData = response
               this.isShowPrint = true
               // if(this.printData.solidGrainPrice){
@@ -519,7 +397,7 @@ export default {
         this.$confirm(`审核通过后,任务将发送给财务,是否确定通过?`, {
           cancelButtonText: '取消',
           confirmButtonText: '确定',
-          type: 'warning',
+          type: 'warning'
         }).then(() => {
           that.audit(this.modification[0], 0, true, 2)
         })
@@ -530,7 +408,7 @@ export default {
       if (!row.paymentScreenshot) {
         this.$message({
           message: '暂无付款截图!',
-          type: 'warning',
+          type: 'warning'
         })
         return
       } else {
@@ -542,10 +420,10 @@ export default {
       let _wareHouse = sessionStorage.getItem('houseSelfCollect_house')
       _wareHouse = JSON.parse(_wareHouse)
       selectWarehouseSelf({
-        compId: sessionStorage.getItem('ws-pf_compId'),
+        compId: sessionStorage.getItem('ws-pf_compId')
       })
         .toPromise()
-        .then((response) => {
+        .then(response => {
           this.warehouseList = response
           if (_wareHouse) {
             this.warehouseNameKey = _wareHouse.id
@@ -586,7 +464,7 @@ export default {
     getList() {
       this.payments = {
         amountNotPayable: 0,
-        paymentDate: '',
+        paymentDate: ''
       }
       var searchParam = ''
       if (this.searchType != -1) {
@@ -599,10 +477,10 @@ export default {
         searchKeyWord: this.searchKeyWord,
         searchType: searchParam,
         warehouseName: this.warehouseName,
-        managementType: 1,
+        managementType: 1
       })
         .toPromise()
-        .then((response) => {
+        .then(response => {
           this.paymentList = response
           this.deptBudgetTotal = response.total
         })
@@ -610,10 +488,10 @@ export default {
       getJurisdiction({
         managementType: 1,
         warehouseName: this.warehouseName,
-        compId: sessionStorage.getItem('ws-pf_compId'),
+        compId: sessionStorage.getItem('ws-pf_compId')
       })
         .toPromise()
-        .then((response) => {
+        .then(response => {
           this.isShowAdopt = response
         })
 
@@ -649,13 +527,13 @@ export default {
         {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
-          type: 'warning',
+          type: 'warning'
         }
       )
         .then(() => {
           delpayment({ id: row.id })
             .toPromise()
-            .then((response) => {
+            .then(response => {
               this.$message.success('删除成功')
               this.getList()
             })
@@ -675,7 +553,7 @@ export default {
       if (row.goodsName)
         this.$router.push({
           path: 'settlement',
-          query: { type: index, id: row.id },
+          query: { type: index, id: row.id }
         })
     },
     payment() {
@@ -696,28 +574,28 @@ export default {
       if (!this.payments.money) {
         this.$message({
           message: '付款金额不能为空',
-          type: 'warning',
+          type: 'warning'
         })
         return
       }
       if (this.payments.money > this.payments.amountNotPayable) {
         this.$message({
           message: '付款金额不能超过未付金额',
-          type: 'warning',
+          type: 'warning'
         })
         return
       }
       if (!this.payments.paymentDate) {
         this.$message({
           message: '付款日期不能为空',
-          type: 'warning',
+          type: 'warning'
         })
         return
       }
       if (!this.imageUrl) {
         this.$message({
           message: '请上传付款截图 ',
-          type: 'warning',
+          type: 'warning'
         })
         return
       }
@@ -727,16 +605,16 @@ export default {
       this.$confirm('确定提交付款信息?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
-        type: 'warning',
+        type: 'warning'
       })
         .then(() => {
           //付款提交
           paymentCommit(this.payments)
             .toPromise()
-            .then((response) => {
+            .then(response => {
               this.$notify.success({
                 title: '成功',
-                message: '付款成功',
+                message: '付款成功'
               })
               this.paymentForm = false
               this.getList()
@@ -753,7 +631,7 @@ export default {
         this.$confirm('是否确定驳回?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
-          type: 'warning',
+          type: 'warning'
         })
           .then(() => {
             this.audit(this.modification[0], 0, false, '', '')
@@ -768,10 +646,10 @@ export default {
         if (status == true && item.status == '已驳回') {
           auditpayment({
             compId: sessionStorage.getItem('ws-pf_compId'),
-            id: item.id,
+            id: item.id
           })
             .toPromise()
-            .then((response) => {
+            .then(response => {
               this.audit(
                 this.modification[index + 1],
                 index + 1,
@@ -785,10 +663,10 @@ export default {
             taskId: item.taskId,
             approved: status,
             auditMind: reason != undefined ? '已驳回' : '34',
-            needReapply: status2 != undefined ? true : false,
+            needReapply: status2 != undefined ? true : false
           })
             .toPromise()
-            .then((response) => {
+            .then(response => {
               this.audit(
                 this.modification[index + 1],
                 index + 1,
@@ -797,7 +675,7 @@ export default {
                 reason
               )
             })
-            .catch((req) => {
+            .catch(req => {
               this.$message.warning(req.message)
             })
         }
@@ -819,7 +697,7 @@ export default {
         this.$confirm('是否确定通过?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
-          type: 'warning',
+          type: 'warning'
         })
           .then(() => {
             this.audit(this.modification[0], 0, true)
@@ -837,7 +715,7 @@ export default {
       } else {
         getpaymentexamine({ id: row.id })
           .toPromise()
-          .then((response) => {
+          .then(response => {
             this.printData = response
             this.isShowPrint = true
             // if(this.printData.solidGrainPrice){
@@ -861,7 +739,7 @@ export default {
         this.$confirm('审核通过后,任务将发送给财务,是否确定通过?', '提示', {
           confirmButtonText: '确定',
           cancelButtonText: '取消',
-          type: 'warning',
+          type: 'warning'
         })
           .then(() => {})
           .catch(() => {
@@ -910,8 +788,8 @@ export default {
       this.currentPage = val
       console.log(`当前页: ${val}`)
       this.getList()
-    },
-  },
+    }
+  }
 }
 </script>
 <style lang="scss" scoped>

+ 6 - 5
src/views/houseSelfCollect/weighingManagement.vue

@@ -166,7 +166,7 @@ export default {
         qualityInspectionManagement:{},
       },
       purchasePriceList:[],
-      allowEdit:false,
+      allowEdit:'0',
       disabled:false
     }
   },
@@ -273,10 +273,10 @@ export default {
             this.warehouseName = _wareHouse.warehouseName
             this.common.name=_wareHouse.warehouseName
             this.warehouseId=_wareHouse.id
-             this.warehouseNo =_wareHouse.commonWarehouseNo
-             this.monitorUrl1=_wareHouse.monitorUrl1
-              this.allowEdit = _wareHouse.allowEdit
-             this.monitorUrl2=_wareHouse.monitorUrl2
+            this.warehouseNo =_wareHouse.commonWarehouseNo
+            this.monitorUrl1=_wareHouse.monitorUrl1
+            this.allowEdit = _wareHouse.allowEdit
+            this.monitorUrl2=_wareHouse.monitorUrl2
           } else {
             if (this.cangid&&this.cangid == response[i].id) {
               this.warehouseName = response[i].warehouseName
@@ -290,6 +290,7 @@ export default {
          
            if(this.warehouseList.length > 0 && !this.cangid){
             this.warehouseName = this.warehouseList[0].value
+            this.allowEdit =this.warehouseList[0].allowEdit
             this.cangid =  this.warehouseList[0].warehouseId
             this.warehouseId =  this.warehouseList[0].warehouseId
             this.WAREHOUSE[1].payname = this.warehouseList[0].value

+ 1 - 0
src/views/newTask/listPage.vue

@@ -390,6 +390,7 @@ export default {
           data.noticeTaskStatus,
           this.typeShow
         )
+        console.log(url)
         if (!url) {
           EventBus.$emit('error', this.$t('workNotification.noRelatedType'))
         } else {

+ 1 - 1
src/views/platformaudit/component/router/route.js

@@ -8,7 +8,7 @@ const platformauditRouter = {
   alwaysShow: true, // will always show the root menu
   meta: {
     title: 'platformaudit',
-    module: 'audit.driverMerchant',
+    module: 'audit',
     icon: '-shenhe'
   },
   children: [

+ 16 - 12
src/views/taskManagement/tranManagementTransportAdd.vue

@@ -55,6 +55,9 @@
           <el-select
             v-model="deptBudgetList.contractNo"
             placeholder="请选择编号"
+            @change=" (val) => {
+                  selectcontractNo(val)
+                }"
           >
             <el-option
               v-for="item in contractNoList"
@@ -65,18 +68,12 @@
           </el-select>
         </el-form-item>
         <el-form-item prop="goodsName" label="货名" span="1">
-          <el-select
+            <el-input
+            disabled
             v-model="deptBudgetList.goodsName"
             placeholder="请输入货名"
-            @change="selectgoodsname"
-          >
-            <el-option
-              v-for="item in goodnameList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            ></el-option>
-          </el-select>
+            size="small"
+          ></el-input>
         </el-form-item>
         <el-form-item label="重量(吨)" span="1" prop="weight">
           <el-input
@@ -427,8 +424,8 @@ export default {
       deptBudgetList: {
         taskNo: '',
         totalStorage: 0,
-        goodsName: '玉米',
-        goodsNameKey: 1,
+        // goodsName: '玉米',
+        // goodsNameKey: 1,
         warehouseType: '1',
         tranProcessInfoList: [
           {
@@ -563,6 +560,13 @@ export default {
         }
       }
     },
+    selectcontractNo(val) {
+      for (var i = 0; i < this.contractNoList.length; i++) {
+        if (this.contractNoList[i].contractNo == val) {
+            this.deptBudgetList.goodsName = this.contractNoList[i].goodsName
+        }
+      }
+    },
     sendWarehousechange1(e) {
       for (let i = 0; i < this.warehouseList1.length; i++) {
         if (this.warehouseList1[i].warehouseName == e) {

+ 15 - 11
src/views/taskManagement/tranManagementTransportEdit.vue

@@ -53,6 +53,9 @@
           <el-select
             v-model="deptBudgetList.contractNo"
             placeholder="请选择编号"
+             @change=" (val) => {
+                  selectcontractNo(val)
+                }"
           >
             <el-option
               v-for="item in contractNoList"
@@ -62,19 +65,13 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item prop="goodsName" label="货名" span="1">
-          <el-select
+         <el-form-item prop="goodsName" label="货名" span="1">
+            <el-input
+            disabled
             v-model="deptBudgetList.goodsName"
             placeholder="请输入货名"
-            @change="selectgoodsname"
-          >
-            <el-option
-              v-for="item in goodnameList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            ></el-option>
-          </el-select>
+            size="small"
+          ></el-input>
         </el-form-item>
         <el-form-item label="重量(吨)" span="1" prop="weight">
           <el-input
@@ -500,6 +497,13 @@ export default {
         }
       }
     },
+    selectcontractNo(val) {
+      for (var i = 0; i < this.contractNoList.length; i++) {
+        if (this.contractNoList[i].contractNo == val) {
+            this.deptBudgetList.goodsName = this.contractNoList[i].goodsName
+        }
+      }
+    },
     sendWarehousechange1(e){
        for (let i = 0; i < this.warehouseList1.length; i++) {
         if (this.warehouseList1[i].warehouseName == e) {

+ 66 - 66
src/views/taskManagement/tranManagementWarehouseInOutTaskAdd.vue

@@ -74,29 +74,29 @@
           </el-form-item>
           <!--重量(吨)-->
           <el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input @input="weightchange1" v-model="dataList.weight" placeholder="请输入重量" maxlength="120" size="small"
+            <el-input @input="weightchange1" v-model="dataList.weight" placeholder="请输入重量(吨)" maxlength="120" size="small"
               class="huom" />
           </el-form-item>
           <!-- 品级 -->
           <el-form-item label="品级">
-            <el-select v-model="dataList.grade" placeholder class="typeselect" @change="selectpackingMethod">
+            <el-select disabled v-model="dataList.grade" placeholder class="typeselect" @change="selectpackingMethod">
               <el-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
                 :value="item.constValue" />
             </el-select>
           </el-form-item>
           <!--容重(克/升)>=-->
-          <el-form-item label="容重(克/升)>=">
-            <el-input @input="bulkDensitychange" v-model="dataList.bulkDensity" placeholder="请输入容重" maxlength="120"
+          <el-form-item label="容重(克/升)>=" span="1">
+            <el-input disabled @input="bulkDensitychange" v-model="dataList.bulkDensity" placeholder="请输入容重" maxlength="120"
               size="small" class="huom" />
           </el-form-item>
           <!--水分(%)<=-->
-          <el-form-item label="水分(%)<=" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input @input="waterContentchange" v-model="dataList.waterContent" placeholder="请输入水分占比" maxlength="120"
+          <el-form-item label="水分(%)<=" span="1" style="margin-left: 250px; margin-top: -40px">
+            <el-input disabled @input="waterContentchange" v-model="dataList.waterContent" placeholder="请输入水分占比" maxlength="120"
               size="small" class="huom" />
           </el-form-item>
           <!--单价(元/吨)-->
-          <el-form-item label="单价(元/吨)" span="1" style="margin-left: 650px; margin-top: -40px">
-            <el-input @input="unitPricechange" v-model="dataList.unitPrice" placeholder="请输入单价" maxlength="120"
+          <el-form-item  label="单价(元/吨)" span="1" style="margin-left: 500px; margin-top: -40px">
+            <el-input disabled @input="unitPricechange" v-model="dataList.unitPrice" placeholder="请输入单价" maxlength="120"
               size="small" class="huom" />
           </el-form-item>
           <!--预计出库日期-->
@@ -105,15 +105,15 @@
               value-format="yyyy-MM-dd" />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="出库经办人">
+          <!-- <el-form-item label="出库经办人">
             <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter"
               @change="selectstaff">
               <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item v-if="dataList.taskTypeKey != 3" label="业务描述" span="20">
-            <el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述,不超过150字" maxlength="150" size="large" />
+            <el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字" maxlength="150" size="large" />
           </el-form-item>
         </el-form>
       </div>
@@ -169,7 +169,7 @@
           </el-form-item>
           <!--重量(吨)-->
           <el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input @input="weightchange" v-model="dataList1.weight" placeholder="请输入重量" maxlength="120" size="small"
+            <el-input @input="weightchange" v-model="dataList1.weight" placeholder="请输入重量(吨)" maxlength="120" size="small"
               class="huom" />
           </el-form-item>
           <!-- 品级 -->
@@ -201,15 +201,15 @@
               value-format="yyyy-MM-dd" />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="入库经办人">
+          <!-- <el-form-item label="入库经办人">
             <el-select v-model="dataList1.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter1"
               @change="selectstaff1">
               <el-option v-for="item in options1" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item v-if="dataList.taskTypeKey != 4" label="业务描述">
-            <el-input v-model="dataList1.businessDescribe" placeholder="请输入业务描述,不超过150字" maxlength="150" size="large" />
+            <el-input v-model="dataList1.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字" maxlength="150" size="large" />
           </el-form-item>
         </el-form>
       </div>
@@ -265,7 +265,7 @@
           </el-form-item>
           <!--重量(吨)-->
           <el-form-item label="重量(吨)" span="1" style="margin-left: 350px; margin-top: -40px">
-            <el-input :disabled="dataList.taskTypeKey == 4" v-model="dataList.weight" placeholder="请输入重量"
+            <el-input :disabled="dataList.taskTypeKey == 4" v-model="dataList.weight" placeholder="请输入重量(吨)"
               maxlength="120" size="small" class="huom" />
           </el-form-item>
           <!-- 品级 -->
@@ -297,15 +297,15 @@
               value-format="yyyy-MM-dd" />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="出库经办人">
+          <!-- <el-form-item label="出库经办人">
             <el-select v-model="dataList.agent" placeholder="请选择经办人" filterable :filter-method="dataFilter"
               @change="selectstaff">
               <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item label="业务描述">
-            <el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述,不超过150字" maxlength="150" size="large" />
+            <el-input v-model="dataList.businessDescribe" placeholder="请输入业务描述(运输方式),不超过150字" maxlength="150" size="large" />
           </el-form-item>
         </el-form>
       </div>
@@ -606,7 +606,7 @@
                   this.$set(this.dataList, 'gradeKey', response.gradeKey)
                   this.$set(this.dataList, 'waterContent', response.waterContent)
                   this.$set(this.dataList, 'bulkDensity', response.bulkDensity)
-                  this.$set(this.dataList, 'weight', response.weight)
+                  // this.$set(this.dataList, 'weight', response.weight)
                   this.$set(
                     this.dataList,
                     'unitPrice',
@@ -749,7 +749,7 @@
             this.dataList.weight > 200000
           ) {
             this.$message({
-              message: '重量输入有误!',
+              message: '重量(吨)输入有误!',
               type: 'warning'
             })
             return
@@ -838,13 +838,13 @@
             })
             return
           }
-          if (!this.dataList.agent) {
-            this.$message({
-              message: '出库经办人不能为空!',
-              type: 'warning'
-            })
-            return
-          }
+          // if (!this.dataList.agent) {
+          //   this.$message({
+          //     message: '出库经办人不能为空!',
+          //     type: 'warning'
+          //   })
+          //   return
+          // }
           if (!this.dataList.businessDescribe) {
             this.$message({
               message: '业务描述不能为空!',
@@ -886,7 +886,7 @@
             this.dataList1.weight > 200000
           ) {
             this.$message({
-              message: '重量输入有误!',
+              message: '重量(吨)输入有误!',
               type: 'warning'
             })
             return
@@ -978,13 +978,13 @@
             })
             return
           }
-          if (!this.dataList1.agent) {
-            this.$message({
-              message: '入库经办人不能为空!',
-              type: 'warning'
-            })
-            return
-          }
+          // if (!this.dataList1.agent) {
+          //   this.$message({
+          //     message: '入库经办人不能为空!',
+          //     type: 'warning'
+          //   })
+          //   return
+          // }
           if (!this.dataList1.businessDescribe) {
             this.$message({
               message: '业务描述不能为空!',
@@ -1032,7 +1032,7 @@
             this.dataList1.weight > 200000
           ) {
             this.$message({
-              message: '重量输入有误!',
+              message: '重量(吨)输入有误!',
               type: 'warning'
             })
             return
@@ -1131,20 +1131,20 @@
             })
             return
           }
-          if (!this.dataList.agent) {
-            this.$message({
-              message: '出库经办人不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.agent) {
-            this.$message({
-              message: '入库经办人不能为空!',
-              type: 'warning'
-            })
-            return
-          }
+          // if (!this.dataList.agent) {
+          //   this.$message({
+          //     message: '出库经办人不能为空!',
+          //     type: 'warning'
+          //   })
+          //   return
+          // }
+          // if (!this.dataList1.agent) {
+          //   this.$message({
+          //     message: '入库经办人不能为空!',
+          //     type: 'warning'
+          //   })
+          //   return
+          // }
           if (!this.dataList1.businessDescribe) {
             this.$message({
               message: '业务描述不能为空!',
@@ -1200,7 +1200,7 @@
             this.dataList1.weight > 200000
           ) {
             this.$message({
-              message: '重量输入有误!',
+              message: '重量(吨)输入有误!',
               type: 'warning'
             })
             return
@@ -1299,20 +1299,20 @@
             })
             return
           }
-          if (!this.dataList.agent) {
-            this.$message({
-              message: '出库经办人不能为空!',
-              type: 'warning'
-            })
-            return
-          }
-          if (!this.dataList1.agent) {
-            this.$message({
-              message: '入库经办人不能为空!',
-              type: 'warning'
-            })
-            return
-          }
+          // if (!this.dataList.agent) {
+          //   this.$message({
+          //     message: '出库经办人不能为空!',
+          //     type: 'warning'
+          //   })
+          //   return
+          // }
+          // if (!this.dataList1.agent) {
+          //   this.$message({
+          //     message: '入库经办人不能为空!',
+          //     type: 'warning'
+          //   })
+          //   return
+          // }
           if (!this.dataList.businessDescribe) {
             this.$message({
               message: '业务描述不能为空!',

+ 10 - 10
src/views/taskManagement/tranManagementWarehouseInOutTaskAudit.vue

@@ -148,7 +148,7 @@
             <el-input
               disabled
               v-model="dataList.weight"
-              placeholder="请输入重量"
+              placeholder="请输入重量(吨)"
               maxlength="120"
               size="small"
               class="huom"
@@ -214,7 +214,7 @@
             />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="出库经办人">
+          <!-- <el-form-item label="出库经办人">
             <el-select
               disabled
               v-model="dataList.agent"
@@ -230,7 +230,7 @@
                 :value="item.staffName"
               />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item v-if="dataList.taskTypeKey != 3" label="业务描述" span="1">
             <el-input
@@ -361,7 +361,7 @@
             <el-input
               @input="weightchange"
               v-model="dataList1.weight"
-              placeholder="请输入重量"
+              placeholder="请输入重量(吨)"
               maxlength="120"
               size="small"
               class="huom"
@@ -431,7 +431,7 @@
             />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="入库经办人">
+          <!-- <el-form-item label="入库经办人">
             <el-select
               disabled
               v-model="dataList1.agent"
@@ -447,7 +447,7 @@
                 :value="item.staffName"
               />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item v-if="dataList.taskTypeKey != 4" label="业务描述">
             <el-input
@@ -574,7 +574,7 @@
             <el-input
               disabled
               v-model="dataList.weight"
-              placeholder="请输入重量"
+              placeholder="请输入重量(吨)"
               maxlength="120"
               size="small"
               class="huom"
@@ -640,7 +640,7 @@
             />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="出库经办人">
+          <!-- <el-form-item label="出库经办人">
             <el-select
               v-model="dataList.agent"
               placeholder="请选择经办人"
@@ -655,7 +655,7 @@
                 :value="item.staffName"
               />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item label="业务描述">
             <el-input
@@ -929,7 +929,7 @@ export default {
                 this.$set(this.dataList, 'gradeKey', response.gradeKey)
                 this.$set(this.dataList, 'waterContent', response.waterContent)
                 this.$set(this.dataList, 'bulkDensity', response.bulkDensity)
-                this.$set(this.dataList, 'weight', response.weight)
+                // this.$set(this.dataList, 'weight', response.weight)
                 this.$set(
                   this.dataList,
                   'unitPrice',

+ 41 - 41
src/views/taskManagement/tranManagementWarehouseInOutTaskEdit.vue

@@ -147,7 +147,7 @@
           <el-form-item label="重量(吨)" span="1" style=" margin-left: 350px; margin-top: -40px">
             <el-input
               v-model="dataList.weight"
-              placeholder="请输入重量"
+              placeholder="请输入重量(吨)"
               maxlength="120"
               size="small"
               class="huom"
@@ -212,7 +212,7 @@
             />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="出库经办人">
+          <!-- <el-form-item label="出库经办人">
             <el-select
               v-model="dataList.agent"
               placeholder="请选择经办人"
@@ -227,7 +227,7 @@
                 :value="item.staffName"
               />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item v-if="dataList.taskTypeKey != 3" label="业务描述" span="1">
             <el-input
@@ -346,7 +346,7 @@
             <el-input
               @input="weightchange"
               v-model="dataList1.weight"
-              placeholder="请输入重量"
+              placeholder="请输入重量(吨)"
               maxlength="120"
               size="small"
               class="huom"
@@ -415,7 +415,7 @@
             />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="入库经办人">
+          <!-- <el-form-item label="入库经办人">
             <el-select
               v-model="dataList1.agent"
               placeholder="请选择经办人"
@@ -430,7 +430,7 @@
                 :value="item.staffName"
               />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item v-if="dataList.taskTypeKey != 4" label="业务描述">
             <el-input
@@ -548,7 +548,7 @@
             <el-input
               :disabled="dataList.taskTypeKey == 4"
               v-model="dataList.weight"
-              placeholder="请输入重量"
+              placeholder="请输入重量(吨)"
               maxlength="120"
               size="small"
               class="huom"
@@ -614,7 +614,7 @@
             />
           </el-form-item>
           <!--经办人-->
-          <el-form-item label="出库经办人">
+          <!-- <el-form-item label="出库经办人">
             <el-select
               v-model="dataList.agent"
               placeholder="请选择经办人"
@@ -629,7 +629,7 @@
                 :value="item.staffName"
               />
             </el-select>
-          </el-form-item>
+          </el-form-item> -->
           <!--业务描述=-->
           <el-form-item label="业务描述">
             <el-input
@@ -865,7 +865,7 @@ export default {
                 this.$set(this.dataList, 'gradeKey', response.gradeKey)
                 this.$set(this.dataList, 'waterContent', response.waterContent)
                 this.$set(this.dataList, 'bulkDensity', response.bulkDensity)
-                this.$set(this.dataList, 'weight', response.weight)
+                // this.$set(this.dataList, 'weight', response.weight)
                 this.$set(
                   this.dataList,
                   'unitPrice',
@@ -966,7 +966,7 @@ export default {
           this.dataList.weight > 200000
         ) {
           this.$message({
-            message: '重量输入有误!',
+            message: '重量(吨)输入有误!',
             type: 'warning'
           })
           return
@@ -1055,13 +1055,13 @@ export default {
           })
           return
         }
-        if (!this.dataList.agent) {
-          this.$message({
-            message: '出库经办人不能为空!',
-            type: 'warning'
-          })
-          return
-        }
+        // if (!this.dataList.agent) {
+        //   this.$message({
+        //     message: '出库经办人不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
         if (!this.dataList.businessDescribe) {
           this.$message({
             message: '业务描述不能为空!',
@@ -1102,7 +1102,7 @@ export default {
           this.dataList1.weight > 200000
         ) {
           this.$message({
-            message: '重量输入有误!',
+            message: '重量(吨)输入有误!',
             type: 'warning'
           })
           return
@@ -1194,13 +1194,13 @@ export default {
           })
           return
         }
-        if (!this.dataList1.agent) {
-          this.$message({
-            message: '入库经办人不能为空!',
-            type: 'warning'
-          })
-          return
-        }
+        // if (!this.dataList1.agent) {
+        //   this.$message({
+        //     message: '入库经办人不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
         if (!this.dataList1.businessDescribe) {
           this.$message({
             message: '业务描述不能为空!',
@@ -1251,7 +1251,7 @@ export default {
           this.dataList1.weight > 200000
         ) {
           this.$message({
-            message: '重量输入有误!',
+            message: '重量(吨)输入有误!',
             type: 'warning'
           })
           return
@@ -1350,20 +1350,20 @@ export default {
           })
           return
         }
-        if (!this.dataList.agent) {
-          this.$message({
-            message: '出库经办人不能为空!',
-            type: 'warning'
-          })
-          return
-        }
-        if (!this.dataList1.agent) {
-          this.$message({
-            message: '入库经办人不能为空!',
-            type: 'warning'
-          })
-          return
-        }
+        // if (!this.dataList.agent) {
+        //   this.$message({
+        //     message: '出库经办人不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
+        // if (!this.dataList1.agent) {
+        //   this.$message({
+        //     message: '入库经办人不能为空!',
+        //     type: 'warning'
+        //   })
+        //   return
+        // }
         if (!this.dataList1.businessDescribe) {
           this.$message({
             message: '业务描述不能为空!',

+ 8 - 8
src/views/tranManagement/tranManagementDriverAdd.vue

@@ -931,14 +931,14 @@ export default {
         EventBus.$emit('error', '驾驶证不能为空')
         return
       }
-      if (!this.addressUrls.way) {
-        EventBus.$emit('error', '道路运营证不能为空')
-        return
-      }
-      if (!this.addressUrls.qualification) {
-        EventBus.$emit('error', '从业资格证不能为空')
-        return
-      }
+      // if (!this.addressUrls.way) {
+      //   EventBus.$emit('error', '道路运营证不能为空')
+      //   return
+      // }
+      // if (!this.addressUrls.qualification) {
+      //   EventBus.$emit('error', '从业资格证不能为空')
+      //   return
+      // }
       if (!this.addressUrls.identityjust) {
         EventBus.$emit('error', '身份证正面不能为空')
         return

+ 36 - 1
src/views/tranManagement/tranManagementReceivingFeedback.vue

@@ -23,6 +23,24 @@
             style="color: #8890b1"
           />
         </ws-select>
+        <span style="width: 142px; display: inline-block; color: #8890b1"
+          >类型:</span
+        >
+        <ws-select
+          v-model="tranTypeKeyText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttranType"
+          :value="tranTypeKey"
+        >
+          <ws-option
+            v-for="item in tranTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
         <div>
           <span style="display: inline-block; width: 70px; color: #8890b1"
             >接单日期:</span
@@ -218,6 +236,8 @@ export default {
       feedbackFlag: 4,
       searchType: 1,
       searchTypeText: '执行中',
+      tranTypeKey:4,
+      tranTypeKeyText: '全部',
       searchKeyWord: '',
       contractType: 2,
       taskTypeList: [
@@ -225,7 +245,12 @@ export default {
         { value: '已完货', type: 5 },
         { value: '全部任务', type: 3 },
       ],
-
+      tranTypeList: [
+        { value: '汽运', type: 1 },
+        { value: '火运', type: 2 },
+        { value: '船运', type: 3 },
+        { value: '全部', type: 4 },
+      ],
       // 提交类型
       submitType: true,
       size: 10,
@@ -259,6 +284,7 @@ export default {
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
+        tranTypeKey:this.tranTypeKey,
         feedbackFlag: this.feedbackFlag,
         startDate: this.startDate,
         endDate: this.endDate,
@@ -451,6 +477,15 @@ export default {
           this.feedbackFlag = this.taskTypeList[i].type
         }
       }
+      this.getList()
+    },
+    selecttranType(e) {
+      for (var i = 0; i < this.tranTypeList.length; i++) {
+        if (this.tranTypeList[i].value == e) {
+          this.tranTypeKey = this.tranTypeList[i].type
+        }
+      }
+      this.getList()
     },
     fujian(row) {
       if (

+ 37 - 1
src/views/tranManagement/tranManagementTransporHairRespond.vue

@@ -23,6 +23,24 @@
             style="color: #8890b1"
           />
         </ws-select>
+        <span style="width: 142px; display: inline-block; color: #8890b1"
+          >类型:</span
+        >
+        <ws-select
+          v-model="tranTypeKeyText"
+          placeholder=""
+          class="typeselect"
+          @change="selecttranType"
+          :value="tranTypeKey"
+        >
+          <ws-option
+            v-for="item in tranTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
         <div>
           <span style="display: inline-block; width: 70px; color: #8890b1"
             >接单日期:</span
@@ -209,10 +227,12 @@ export default {
       pageSize: 10,
       deptBudgetTotal: 0,
       searchType: 1,
+      tranTypeKey:4,
+      tranTypeKeyText: '全部',
       searchTypeText: '执行中',
       searchKeyWord: '',
       contractType: 2,
-      tranTypeKey: 2,
+      // tranTypeKey: 2,
       feedbackFlag: 1,
       searchTypeOne: 1,
       taskTypeList: [
@@ -220,6 +240,12 @@ export default {
         { value: '已完货', type: 2 },
         { value: '全部任务', type: 3 },
       ],
+      tranTypeList: [
+        { value: '汽运', type: 1 },
+        { value: '火运', type: 2 },
+        { value: '船运', type: 3 },
+        { value: '全部', type: 4 },
+      ],
       // 提交类型
       submitType: true,
       size: 10,
@@ -371,6 +397,7 @@ export default {
       automobileList({
         compId: sessionStorage.getItem('ws-pf_compId'),
         feedbackFlag: this.feedbackFlag,
+        tranTypeKey:this.tranTypeKey,
         currentPage: this.currentPage,
         pageSize: this.pageSize,
         startDate: this.startDate,
@@ -424,6 +451,15 @@ export default {
           this.feedbackFlag = this.taskTypeList[i].type
         }
       }
+      this.getList()
+    },
+    selecttranType(e) {
+      for (var i = 0; i < this.tranTypeList.length; i++) {
+        if (this.tranTypeList[i].value == e) {
+          this.tranTypeKey = this.tranTypeList[i].type
+        }
+      }
+      this.getList()
     },
     find() {
       if (this.inOutDate != null) {

+ 3 - 3
src/views/tranManagement/tranManagementUnShippingFeedback.vue

@@ -310,10 +310,10 @@
             />
           </el-upload>
           <div class="tupian">
-            <span v-if="deptBudgetList.tranCarInfoList[0].loadPoundImg != null"
+            <span v-if="deptBudgetList.tranCarInfoList[0]&&deptBudgetList.tranCarInfoList[0].loadPoundImg != null"
               >1</span
             >
-            <span v-if="deptBudgetList.tranCarInfoList[0].loadPoundImg == null"
+            <span v-if="deptBudgetList.tranCarInfoList[0]&&deptBudgetList.tranCarInfoList[0].loadPoundImg == null"
               >未上传</span
             >
           </div>
@@ -487,7 +487,7 @@ export default {
                 var reader = new FileReader();
                 //if (!FileReader.prototype.readAsBinaryString) {
                 FileReader.prototype.readAsBinaryString = function (f) {
-                    var binary = "";
+                    var binary = '';
                     var rABS = false; //是否将文件读取为二进制字符串
                     var pt = this;
                     var wb; //读取完成的数据

+ 5 - 5
src/views/tranManagement/tranManagementUnShippingFeedbackLook.vue

@@ -226,7 +226,7 @@
                   alt=""
                 />
                 <span
-                  v-if="
+                  v-if="deptBudgetList.tranCarInfoList[0]&&
                     deptBudgetList.tranCarInfoList[0].loadPoundImgArr
                       .length > 0
                   "
@@ -235,7 +235,7 @@
                   }}</span
                 >
                  <span
-                  v-if="
+                  v-if="deptBudgetList.tranCarInfoList[0]&&
                     deptBudgetList.tranCarInfoList[0].loadPoundImgArr
                       .length == 0
                   "
@@ -456,11 +456,11 @@ export default {
             if (!this.freightspace[i].loadNetWeight) {
               this.freightspace[i].loadNetWeight = 0
             }
-            if (this.deptBudgetList.tranCarInfoList[i].loadPoundImg != null) {
+            if (this.deptBudgetList.tranCarInfoList[i]&&this.deptBudgetList.tranCarInfoList[i].loadPoundImg != null) {
               this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr =
-                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+              this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
               this.fileList[i] =
-                this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
+              this.deptBudgetList.tranCarInfoList[i].loadPoundImg.split(',')
             } else {
               this.deptBudgetList.tranCarInfoList[i].loadPoundImgArr = []
             }

+ 0 - 1
src/views/warehouse/warehouseManagementNoWeight.vue

@@ -216,7 +216,6 @@ export default {
     
     //编辑
     edits(row) {
-            debugger
       if (row.inOutFlag == 2) {
         this.$store.dispatch('app/setdeptBudgetList', row)
         this.$router.push({

+ 10 - 1
src/views/workNotification/utils/index.js

@@ -15,6 +15,9 @@ export function code2Url (type, code, state) {
     // 判断 销售
     case 'SALE':
       return sale(code, state)
+      // 判断 运输
+    case 'Tran':
+      return tran(code, state)
     default:
       return ''
   }
@@ -795,7 +798,13 @@ export function sale (code, state) {
   }
   return undefined
 }
-
+export function tran (code, state) {
+  if (code === 'TRAN-TASK-APPROVE') {
+    // 运输单价
+    return 'vehicleDispatching'
+  }
+  return undefined
+}
 // 调度
 export function checkDispatch (code, state) {
   let url = ''