Jelajahi Sumber

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

zhongtianhaoyuan 3 tahun lalu
induk
melakukan
1b2c066e7c

+ 3 - 3
src/views/contractManagement/purchaseContractAdd.vue

@@ -870,11 +870,11 @@ export default {
         })
     },
     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) {
+        if (this.contractNoList[i].contractNo == e) {
             this.deptBudgetList = this.contractNoList[i]
+            this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
+            this.deptBudgetList.agreementType = '补充协议'
         }
       }
     },

+ 10 - 8
src/views/contractManagement/purchaseContractEdit.vue

@@ -36,16 +36,18 @@
         </p>
       </div>
       <ws-info-table>
-        <!-- 合同编号 -->
-        <ws-form-item
-          class="readonly"
-          label="合同编号"
-          span="1"
-          prop="contractNo"
-        >
+         <ws-form-item label="合同类型" span="1" prop="agreementType">
+          {{ deptBudgetList.agreementType }}
+        </ws-form-item>
+        <ws-form-item label="合同编号" v-if="deptBudgetList.agreementType=='采购合同'" span="1" prop="contractNo">
           {{ deptBudgetList.contractNo }}
         </ws-form-item>
-
+        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
+          {{ deptBudgetList.agreementNo }}
+        </ws-form-item>
         <!-- 运输方式 -->
         <ws-form-item label="运输方式" span="1" prop="shippingType">
           <ws-input

+ 10 - 1
src/views/contractManagement/purchaseContractExamine.vue

@@ -66,9 +66,18 @@
         <h3>基本信息</h3>
       </div>
       <ws-info-table>
-        <ws-form-item label="合同编号" span="1" prop="contractNo">
+        <ws-form-item label="合同类型" span="1" prop="agreementType">
+          {{ deptBudgetList.agreementType }}
+        </ws-form-item>
+        <ws-form-item label="合同编号" v-if="deptBudgetList.agreementType=='采购合同'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
           {{ deptBudgetList.contractNo }}
         </ws-form-item>
+        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
+          {{ deptBudgetList.agreementNo }}
+        </ws-form-item>
         <ws-form-item label="运输方式" span="1" prop="shippingType">
           {{ deptBudgetList.shippingType }}
         </ws-form-item>

+ 1990 - 1673
src/views/contractManagement/salesContractAdd.vue

@@ -1,173 +1,342 @@
 <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" 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="
+  <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="销售合同"
+              >销售合同</el-radio
+            >
+            <el-radio v-model="deptBudgetList.agreementType" label="补充协议"
+              >补充协议</el-radio
+            >
+          </ws-form-item>
+          <!--合同编号-->
+          <ws-form-item
+            label="合同编号"
+            span="1"
+            prop="contractNo"
+            class="readonly"
+            v-if="deptBudgetList.agreementType == '销售合同'"
+          >
+            <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 == '补充协议'"
+          >
+            <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 == '补充协议'"
+          >
+            <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 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
+                </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
@@ -176,16 +345,20 @@
               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 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
@@ -194,1508 +367,1652 @@
               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 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>
+            <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,
-		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 = ''
-					})
-			},
-		},
-	}
+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: '销售合同',
+        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) {
+      for (var i = 0; i < this.contractNoList.length; i++) {
+        if (this.contractNoList[i].contractNo == e) {
+          this.deptBudgetList = this.contractNoList[i]
+          this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
+          this.deptBudgetList.agreementType = '补充协议'
+        }
+      }
+    },
+    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: '销售合同',
+                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;
-	}
-
-	.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;
-	}
+/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>