Browse Source

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

zhongtianhaoyuan 3 years ago
parent
commit
000eac0a1b

+ 1574 - 1623
src/views/contractManagement/futuresPurchaseContractAdd.vue

@@ -6,19 +6,9 @@
         <h2 class="bg-left title">创建采购合同</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertical-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button>
       </el-col>
     </el-row>
     <ws-form ref="deptBudgetList" :rules="rules" :model="deptBudgetList">
@@ -30,166 +20,88 @@
       </div>
       <ws-info-table>
         <!--合同编号-->
-        <ws-form-item
-          label="合同编号"
-          span="1"
-          prop="contractNo"
-          class="readonly"
-          required
-        >
-          <ws-input
-            v-model="deptBudgetList.contractNo"
-            placeholder="请输入合同编号"
-            maxlength="50"
-            size="small"
-          />
+        <ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly" required>
+          <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small" />
         </ws-form-item>
 
         <!--运输方式-->
         <ws-form-item label="运输方式" span="1" prop="shippingType">
-          <ws-input
-            v-model="deptBudgetList.shippingType"
-            placeholder="请输入运输方式"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="100" size="small" />
         </ws-form-item>
         <!--买方-->
-        <ws-form-item label="买方" span="1" prop="buyer" >
-          <ws-input
-            v-model="deptBudgetList.buyer"
-            placeholder="请输入买方名称"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item label="买方" span="1" prop="buyer">
+          <!-- <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.buyer" :fetch-suggestions="querySearch1"
+            placeholder="请输入买方名称" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
 
         <!--结算方式-->
         <ws-form-item label="结算方式" span="1" prop="settlementMethod">
-          <ws-input
-            v-model="deptBudgetList.settlementMethod"
-            placeholder="请输入结算方式"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="100" size="small" />
         </ws-form-item>
         <!--买方电话-->
         <ws-form-item label="买方电话" span="1" prop="buyerPhone">
-          <ws-input
-            v-model.number="deptBudgetList.buyerPhone"
-            placeholder="请输入买方电话"
-            maxlength="100"
-            size="small"
-          />
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+            placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
+          <!-- <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" /> -->
         </ws-form-item>
-        
+
         <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
-          <el-radio v-model="deptBudgetList.deliverType" label="1"
-            >我方自提</el-radio
-          >
-          <el-radio v-model="deptBudgetList.deliverType" label="2"
-            >对方送货</el-radio
-          >
+          <el-radio v-model="deptBudgetList.deliverType" label="1">我方自提</el-radio>
+          <el-radio v-model="deptBudgetList.deliverType" label="2">对方送货</el-radio>
         </ws-form-item>
         <!--卖方-->
-        <ws-form-item label="卖方" span="1" prop="seller" >
-          <ws-input
-            v-model="deptBudgetList.seller"
-            placeholder="请输入卖方名称"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item label="卖方" span="1" prop="seller">
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
+            placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
+          <!-- <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" /> -->
         </ws-form-item>
-        
+
         <!--包装方式-->
         <ws-form-item label="包装方式" span="1" prop="packingMethod">
-          <ws-select
-            v-model="deptBudgetList.packingMethod"
-            placeholder=""
-            class="typeselect"
-            :value="value1"
-            @change="selectpackingMethod"
-          >
-            <ws-option
-              v-for="item in packtypeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
+            @change="selectpackingMethod">
+            <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
         <!--卖方电话-->
         <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-          <ws-input
-            v-model="deptBudgetList.sellerPhone"
-            placeholder="请输入卖方电话"
-            maxlength="100"
-            size="small"
-          />
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
+            placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
+          <!-- <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"
-            >
+          <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 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-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-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>
+                <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 style="
                   text-align: right;
                   border-top: 1px solid #dcdfe6;
                   padding: 5px;
-                "
-              >
+                ">
                 <ws-button type="primary" @click.stop="addClick">{{
                   $t('button.add')
                 }}</ws-button>
@@ -199,74 +111,37 @@
         </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-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--入库费(元/吨)-->
         <ws-form-item label="入库费(元/吨)" span="1" prop="warehousingFee">
-          <ws-input
-            v-model="deptBudgetList.warehousingFee"
-            placeholder="请输入入库费(元/吨)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.warehousingFee" placeholder="请输入入库费(元/吨)" maxlength="100" size="small" />
         </ws-form-item>
         <!--基差(元/吨)-->
         <ws-form-item label="基差(元/吨)" span="1" prop="basisPrice">
-          <ws-input
-            v-model="deptBudgetList.basisPrice"
-            placeholder="请输入基差(元/吨)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.basisPrice" placeholder="请输入基差(元/吨)" maxlength="100" size="small" />
         </ws-form-item>
         <!--计量标准-->
         <ws-form-item label="计量标准" span="1" prop="measurementStandard">
-          <ws-input
-            v-model="deptBudgetList.measurementStandard"
-            placeholder="请输入计量标准,如库内磅单"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.measurementStandard" placeholder="请输入计量标准,如库内磅单" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--交易所-->
         <ws-form-item label="交易所" span="1" prop="transactionsPlace">
-          <ws-input
-            v-model="deptBudgetList.transactionsPlace"
-            placeholder="请输入交易所"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.transactionsPlace" placeholder="请输入交易所" maxlength="100" size="small" />
         </ws-form-item>
         <!--收货库-->
-          <el-form-item label="收货库" span="1" prop="receiveWarehouse">
-            <el-select
-              v-model="deptBudgetList.receiveWarehouse"
-              placeholder="请选择收货库"
-              class="typeselect"
-              @change="selectwarehouseName"
-            >
-              <el-option
-                v-for="item in warehouseNameList"
-                :key="item.constKey"
-                :label="item.warehouseName"
-                :value="item.warehouseName"
-              />
-            </el-select>
-          </el-form-item>
+        <el-form-item label="收货库" span="1" prop="receiveWarehouse">
+          <el-select v-model="deptBudgetList.receiveWarehouse" placeholder="请选择收货库" class="typeselect"
+            @change="selectwarehouseName">
+            <el-option v-for="item in warehouseNameList" :key="item.constKey" :label="item.warehouseName"
+              :value="item.warehouseName" />
+          </el-select>
+        </el-form-item>
         <!--合约号-->
         <ws-form-item label="合约号" span="1" prop="contractNumber">
-          <ws-input
-            v-model="deptBudgetList.contractNumber"
-            placeholder="请输入合约号"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractNumber" placeholder="请输入合约号" maxlength="100" size="small" />
         </ws-form-item>
         <!--交货所在地区-->
         <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
@@ -279,92 +154,48 @@
             style="width: 200%"
             @change="handleChange"
           /> -->
-               <el-button
-              @click="mapInputClick('deliveryProv')"
-              class="address-btn"
-            >
-              {{ newSelectedOptions1 }}
-            </el-button>
+          <el-button @click="mapInputClick('deliveryProv')" class="address-btn">
+            {{ newSelectedOptions1 }}
+          </el-button>
         </ws-form-item>
         <!--点价(元/吨)-->
         <ws-form-item label="点价(元/吨)" span="1" prop="pointPrice">
-          <ws-input
-            v-model="deptBudgetList.pointPrice"
-            placeholder="请输入合约点价"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.pointPrice" placeholder="请输入合约点价" maxlength="100" size="small" />
         </ws-form-item>
         <!--交货详细地址-->
         <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
-          <ws-input
-            v-model="deptBudgetList.placeDelivery"
-            placeholder="请输入交货详细地址"
-            maxlength="20"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20" size="small" />
         </ws-form-item>
         <!--点价日期-->
         <ws-form-item label="点价日期" span="1" prop="pointPriceDate">
-          <ws-date-picker
-            v-model="deptBudgetList.pointPriceDate"
-            type="date"
-            placeholder="请选择点价日期"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.pointPriceDate" type="date" placeholder="请选择点价日期"
+            value-format="yyyy-MM-dd" />
         </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-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
-        
+
         <!--交货日期(起)-->
         <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
-          <ws-date-picker
-            v-model="deptBudgetList.deliveryDateStart"
-            type="date"
-            placeholder="请选择交货日期(起)"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
         <!--临时仓库负责人-->
-        <ws-form-item
-          v-show="deptBudgetList.deliverType == 1"
-          label="临时仓库负责人"
-          span="1"
-          prop="packingMethod"
-        >
-          <el-select
-            v-model="deptBudgetList.personCharge"
-            placeholder="请选择临时仓库负责人"
-            filterable
-            :filter-method="dataFilter"
-            @change="selectstaff"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.staffName"
-              :value="item.staffName"
-            />
+        <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
+            :filter-method="dataFilter" @change="selectstaff">
+            <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>
         <!--交货日期(止)-->
         <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-          <ws-date-picker
-            v-model="deptBudgetList.deliveryDateEnd"
-            type="date"
-            placeholder="请选择交货日期(止)"
-            value-format="yyyy-MM-dd"
-          />
+          <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
-        
-    </ws-info-table>
+
+      </ws-info-table>
 
       <div class="wenzi">
         <h3>货物信息</h3>
@@ -374,119 +205,67 @@
       <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 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-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--品级-->
         <ws-form-item label="品级" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.grade"
-            placeholder="请选择品级"
-            class="typeselect"
-            @change="selectgrade"
-          >
-            <ws-option
-              v-for="item in gradeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="请选择品级" class="typeselect"
+            @change="selectgrade">
+            <ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
 
         <!--杂质(%)<=-->
         <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.impurity"
-            placeholder="请输入杂质占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--容重(克/升)>=-->
         <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-            placeholder="请输入容重"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--霉变粒(%)<=-->
         <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-            placeholder="请输入霉变粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--热损伤(%)<=-->
         <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-            placeholder="请输入输入热损伤占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--不完善粒(%)<=-->
         <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-            placeholder="请输入不完善粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--蛋白(%)>=-->
         <ws-form-item label="蛋白(%)>=" span="1" prop="protein">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.protein"
-            placeholder="请输入蛋白占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.protein" placeholder="请输入蛋白占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--转基因-->
         <ws-form-item label="转基因" span="1" prop="transgene">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.transgene"
-            placeholder="请选择转基因要求"
-            class="typeselect"
-            @change="selecttransgene"
-          >
-            <ws-option
-              v-for="item in transgeneList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractGoodsInfo.transgene" placeholder="请选择转基因要求" class="typeselect"
+            @change="selecttransgene">
+            <ws-option v-for="item in transgeneList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
         <!--产地-->
@@ -500,9 +279,9 @@
               @change="handleChange1"
               style="width:200%"
             /> -->
-             <el-button @click="mapInputClick('source')" class="address-btn">
-              {{ newSelectedOptions }}
-            </el-button>
+          <el-button @click="mapInputClick('source')" class="address-btn">
+            {{ newSelectedOptions }}
+          </el-button>
         </ws-form-item>
 
       </ws-info-table>
@@ -515,57 +294,33 @@
       <ws-info-table>
         <!--已付款(元)-->
         <ws-form-item label="已付款(元)" span="1" prop="goodsNameKey">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
-            placeholder="请输入已付款(元)"
-            maxlength="100"
-            size="small"
-          />
+          <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-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-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-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--双章原件回收情况-->
         <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractProcessInfo.grade"
-            placeholder=""
-            class="typeselect"
-            @change="selectChapterTwo"
-          >
-            <ws-option
-              v-for="item in ChapterTwoList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+            @change="selectChapterTwo">
+            <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
       </ws-info-table>
@@ -574,1366 +329,1562 @@
         <h3>备注信息</h3>
       </div>
       <!--备注信息-->
-      <ws-input
-        v-model="deptBudgetList.remarks"
-        type="textarea"
-        row="3"
-        placeholder="请输入备注信息,不超过200字"
-        maxlength="200"
-      />
-      <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="deptBudgetList.addressUrl"
-        :size-limit="size"
-        @onChange="onChange"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
+      <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过200字"
+        maxlength="200" />
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+        @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
     </ws-form>
-     <div v-if="dialogVisible" class="map">
-        <map-drag
-          @marker="marker"
-          :isShowaddress="true"
-          v-on:addressListen="getAddress"
-          :type="type"
-        >
-        </map-drag>
-      </div>
+    <div v-if="dialogVisible" class="map">
+      <map-drag @marker="marker" :isShowaddress="true" v-on:addressListen="getAddress" :type="type">
+      </map-drag>
+    </div>
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit(deptBudgetList)">提交</el-button>
     </div>
   </div>
 </template>
 <script>
-import {
-  getwarehousename,
-  packList,
-  addList,
-  xiala,
-  addxiala,
-  editxiala,
-  delxiala,
-  getstaff,
-} from '@/model/contarct/index'
-import { regionData,provinceAndCityDataPlus, CodeToText, TextToCode } from 'element-china-area-data'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,mapDrag
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
+  import {
+    getwarehousename,
+    packList,
+    addList,
+    xiala,
+    addxiala,
+    editxiala,
+    delxiala,
+    getstaff,
+  } from '@/model/contarct/index'
+  import {
+    regionData,
+    provinceAndCityDataPlus,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import {
+    dayjs,
+    fmoney,
+    EventBus
+  } from 'base-core-lib'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag
     },
-  },
-  data() {
-    return {
-      type: '',
-      dialogVisible: false,
-      newSelectedOptions1: '请选择交货所在地区',
-      newSelectedOptions: '请选择产地',
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      options_: regionData,
-      options1_:provinceAndCityDataPlus,
-      selectedOptions: [],
-      selectedOptions1: [],
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-
-      packtypeList: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        // contractNo: [
-        //   { required: true, message: '请输入合同编号', trigger: 'blur' },
-        //   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
-        // ],
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      options: [],
-      staffList: [],
-      appendixIdsAdd: '',
-      size: 10,
-      unitList: [],
-      goodnameList: [],
-      value1: '袋装',
-      value2: '未回收',
-      gradeList: [],
-      warehouseNameList: [],
-      warehouseNameList1: [],
-      ChapterTwoList: [],
-      transgeneList: [],
-      deptBudgetList: {
-        deliverType: '1',
-        finalTradingVolume: 0,
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
-        sourceGoods:'',
-        placeDelivery:'',
+      isShow(val) {
+        this.showType = val
       },
-      acceptanceCheck: {},
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
+    },
+    data() {
+      return {
+        restaurants1: [],
+        restaurants2: [],
+        restaurants3: [],
+        restaurants4: [],
+        type: '',
+        dialogVisible: false,
+        newSelectedOptions1: '请选择交货所在地区',
+        newSelectedOptions: '请选择产地',
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        options_: regionData,
+        options1_: provinceAndCityDataPlus,
+        selectedOptions: [],
+        selectedOptions1: [],
+        // 提交类型
+        submitType: true,
+        tableData: [{
+          date: 1111,
+          name: 'qqqq',
+          address: 'errrtt'
+        }],
+
+        packtypeList: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          // contractNo: [
+          //   { required: true, message: '请输入合同编号', trigger: 'blur' },
+          //   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+          // ],
         },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
-          {
-            min: 6,
-            max: 20,
-            message: '长度在 6 到 20 个字符',
-            trigger: 'blur',
+        options: [],
+        staffList: [],
+        appendixIdsAdd: '',
+        size: 10,
+        unitList: [],
+        goodnameList: [],
+        value1: '袋装',
+        value2: '未回收',
+        gradeList: [],
+        warehouseNameList: [],
+        warehouseNameList1: [],
+        ChapterTwoList: [],
+        transgeneList: [],
+        deptBudgetList: {
+          deliverType: '1',
+          finalTradingVolume: 0,
+          contractGoodsInfo: {
+            goodsName: '',
           },
-        ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-    }
-  },
-  activated() {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.selectedOptions=[]
-    this.selectedOptions1 = []
-    this.newSelectedOptions='请选择产地'
-    this.newSelectedOptions1 = '请选择交货所在地区'
-    this.deptBudgetList.packingMethod = '散装'
-    this.deptBudgetList.packingMethodKey = 1
-    this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
-    this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
-    this.deptBudgetList.contractProcessInfo.grade = '未回收'
-    this.deptBudgetList.contractProcessInfo.gradeKey = 1
-    this.deptBudgetList.contractGoodsInfo.grade = '一等品'
-    this.deptBudgetList.contractGoodsInfo.gradeKey = 1
-    getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
-      .toPromise()
-      .then((response) => {
-        this.options = response
-        this.staffList = response
-      })
-    this.loaddata()
-    this.showType = this.isShow
-  },
-  methods: {
-    marker: function (item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-    getAddress(data) {
-      console.log('getAddress', data)
-      if (data[4] == 'source') {
-        
-        this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
-        this.deptBudgetList.contractGoodsInfo.outputPrivate =  data[0]
-        this.deptBudgetList.contractGoodsInfo.outputCity =  data[1]
-        this.deptBudgetList.contractGoodsInfo.outputArea =  data[2]
-      } else {
-        this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
-        this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
-        this.deptBudgetList.deliveryCity = data[1]
-        this.deptBudgetList.deliveryArea = data[2]
-        this.deptBudgetList.placeDelivery = data[3]
-      }
-    },
-    mapInputClick(type) {
-      this.dialogVisible = true
-      this.type = type
-	},
-	blurMap(){
-        this.dialogVisible = false
-    },
-    focusMap(){
-      this.dialogVisible = true
-    },
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        //val存在
-        this.options = this.staffList.filter((item) => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
-          }
-        })
-      } else {
-        //val为空时,还原数组
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
-        }
+          contractProcessInfo: {},
+          sourceGoods: '',
+          placeDelivery: '',
+        },
+        acceptanceCheck: {},
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        ruleDeptBudget: {
+          contractNo: [{
+              required: true,
+              message: '请输入活动名称',
+              trigger: 'blur'
+            },
+            {
+              min: 6,
+              max: 20,
+              message: '长度在 6 到 20 个字符',
+              trigger: 'blur',
+            },
+          ],
+        },
+        selectIntendedShip: {},
+        interviewTypeList: {},
       }
     },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-      this.dataList.deliveryProvince = CodeToText[value[0]]
-      this.dataList.deliveryCity = CodeToText[value[1]]
-      this.dataList.deliveryArea = CodeToText[value[2]]
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-      this.dataList.contractGoodsInfo.outputPrivate = CodeToText[value[0]]
-      this.dataList.contractGoodsInfo.outputCity = CodeToText[value[1]]
-    },
-    weightchange(e) {
-      this.deptBudgetList.finalTradingVolume = e
-    },
-    returnsales() {
-      this.$router.push({ path: 'futuresPurchaseContract' })
-    },
-    loaddata() {
-      // 包装方式
-      packList({ constId: 'PRO2' })
-        .toPromise()
-        .then((response) => {
-          this.packtypeList = response
-        })
-      // 验收方式
-      this.getUnitList()
-      // 货名
-      packList({ constId: 'CON2' })
-        .toPromise()
-        .then((response) => {
-          this.goodnameList = response
-        })
-      // 品级
-      packList({ constId: 'CON3' })
-        .toPromise()
-        .then((response) => {
-          this.gradeList = response
-        })
-      //转基因
-      packList({ constId: 'CON7' })
-        .toPromise()
-        .then((response) => {
-          this.transgeneList = response
+    activated() {
+      //cg.viewBudget
+      //cg.viewSpareMoney
+      // this.getVesselData();
+      this.selectedOptions = []
+      this.selectedOptions1 = []
+      this.newSelectedOptions = '请选择产地'
+      this.newSelectedOptions1 = '请选择交货所在地区'
+      this.deptBudgetList.packingMethod = '散装'
+      this.deptBudgetList.packingMethodKey = 1
+      this.deptBudgetList.contractGoodsInfo.goodsName = '玉米'
+      this.deptBudgetList.contractGoodsInfo.goodsNameKey = 1
+      this.deptBudgetList.contractProcessInfo.grade = '未回收'
+      this.deptBudgetList.contractProcessInfo.gradeKey = 1
+      this.deptBudgetList.contractGoodsInfo.grade = '一等品'
+      this.deptBudgetList.contractGoodsInfo.gradeKey = 1
+      getstaff({
+          compId: sessionStorage.getItem('ws-pf_compId')
         })
-        //收货库
-        getwarehousename({
-        compId: this.compId,
-        warehouseType: 1,
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseNameList = response
-        })
-      getwarehousename({
-        compId: this.compId,
-        warehouseType: 2,
-      })
-        .toPromise()
-        .then((response) => {
-          this.warehouseNameList1 = response
-        })
-      // 双章
-      packList({ constId: 'CON4' })
         .toPromise()
         .then((response) => {
-          this.ChapterTwoList = response
+          this.options = response
+          this.staffList = response
         })
+      this.loaddata()
+      this.showType = this.isShow
     },
-    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()
-        })
+    mounted() {
+      this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
+      this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
+      this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
+      this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
+      if (!this.restaurants1) this.restaurants1 = [];
+      if (!this.restaurants2) this.restaurants2 = [];
+      if (!this.restaurants3) this.restaurants3 = [];
+      if (!this.restaurants4) this.restaurants4 = [];
     },
-    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
+    methods: {
+      querySearch1(queryString, cb) {
+        var restaurants1 = this.restaurants1;
+        var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch2(queryString, cb) {
+        var restaurants2 = this.restaurants2;
+        var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch3(queryString, cb) {
+        var restaurants3 = this.restaurants3;
+        var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch4(queryString, cb) {
+        var restaurants4 = this.restaurants4;
+        var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
+      handleSelect(item) {
+        console.log(item);
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      getAddress(data) {
+        console.log('getAddress', data)
+        if (data[4] == 'source') {
+
+          this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.contractGoodsInfo.outputPrivate = data[0]
+          this.deptBudgetList.contractGoodsInfo.outputCity = data[1]
+          this.deptBudgetList.contractGoodsInfo.outputArea = data[2]
+        } else {
+          this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.deliveryProvince = CodeToText[this.selectedOptions[0]]
+          this.deptBudgetList.deliveryCity = data[1]
+          this.deptBudgetList.deliveryArea = data[2]
+          this.deptBudgetList.placeDelivery = data[3]
+        }
+      },
+      mapInputClick(type) {
+        this.dialogVisible = true
+        this.type = type
+      },
+      blurMap() {
+        this.dialogVisible = false
+      },
+      focusMap() {
+        this.dialogVisible = true
+      },
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          //val存在
+          this.options = this.staffList.filter((item) => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
             }
           })
-          //
-          if (currItem) {
-            this.selectContract(currItem.constValue)
+        } else {
+          //val为空时,还原数组
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
           }
+        }
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      handleChange(value) {
+        this.selectedOptions = value
+        this.dataList.deliveryProvince = CodeToText[value[0]]
+        this.dataList.deliveryCity = CodeToText[value[1]]
+        this.dataList.deliveryArea = CodeToText[value[2]]
+      },
+      handleChange1(value) {
+        this.selectedOptions1 = value
+        this.dataList.contractGoodsInfo.outputPrivate = CodeToText[value[0]]
+        this.dataList.contractGoodsInfo.outputCity = CodeToText[value[1]]
+      },
+      weightchange(e) {
+        this.deptBudgetList.finalTradingVolume = e
+      },
+      returnsales() {
+        this.$router.push({
+          path: 'futuresPurchaseContract'
         })
-    },
+      },
+      loaddata() {
+        // 包装方式
+        packList({
+            constId: 'PRO2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
+        // 验收方式
+        this.getUnitList()
+        // 货名
+        packList({
+            constId: 'CON2'
+          })
+          .toPromise()
+          .then((response) => {
+            this.goodnameList = response
+          })
+        // 品级
+        packList({
+            constId: 'CON3'
+          })
+          .toPromise()
+          .then((response) => {
+            this.gradeList = response
+          })
+        //转基因
+        packList({
+            constId: 'CON7'
+          })
+          .toPromise()
+          .then((response) => {
+            this.transgeneList = response
+          })
+        //收货库
+        getwarehousename({
+            compId: this.compId,
+            warehouseType: 1,
+          })
+          .toPromise()
+          .then((response) => {
+            this.warehouseNameList = response
+          })
+        getwarehousename({
+            compId: this.compId,
+            warehouseType: 2,
+          })
+          .toPromise()
+          .then((response) => {
+            this.warehouseNameList1 = response
+          })
+        // 双章
+        packList({
+            constId: 'CON4'
+          })
+          .toPromise()
+          .then((response) => {
+            this.ChapterTwoList = response
+          })
+      },
+      onChange() {
+        this.$refs.upload
+          .handleSaveBill()
+          .then(async response => {
+            this.deptBudgetList.addressUrl = response
+          })
+          .catch(res => {
+            EventBus.$emit('error', (JSON.parse(res) || {}).message)
+            this.$refs.upload.clearFiles()
+          })
+      },
+      getUnitList() {
+        xiala({
+            compId: sessionStorage.getItem('ws-pf_compId'),
+            constCode: 'TYPEYAN',
+          })
+          .toPromise()
+          .then((response) => {
+            this.unitList = response
+            let currItem
+            this.unitList.forEach((item, index, arr) => {
+              item.flag = 'delete'
+              if (this.vModel == item.constKey) {
+                currItem = item
+              }
+            })
+            //
+            if (currItem) {
+              this.selectContract(currItem.constValue)
+            }
+          })
+      },
 
-    submit() {
-      if (!this.deptBudgetList.contractNo) {
-        this.$message({
-          message: '请输入合同编号',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNo.length < 6 ||
-        this.deptBudgetList.contractNo.length > 50
-      ) {
-        this.$message({
-          message: '合同编号长度不符合要求,请输入6到50个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.shippingType) {
-        this.$message({
-          message: '请输入运输方式!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.shippingType.length < 1 ||
-        this.deptBudgetList.shippingType.length > 20
-      ) {
-        this.$message({
-          message: '运输方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '请输入买方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.buyer.length > 30) {
-        this.$message({
-          message: '买方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.settlementMethod) {
-        this.$message({
-          message: '请输入结算方式!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.settlementMethod.length < 1 ||
-        this.deptBudgetList.settlementMethod.length > 20
-      ) {
-        this.$message({
-          message: '结算方式长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '请输入买方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '输入买方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '请输入卖方名称!',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.seller.length > 30) {
-        this.$message({
-          message: '卖方名称长度不符合要求,请输入30个字符之内!',
-          type: 'warning',
-        })
-        return
-      }     
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '请输入卖方电话!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '输入卖方电话有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.acceptanceMethod) {
-        this.$message({
-          message: '请选择验收方式',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.weight) {
-        this.$message({
-          message: '请输入交易数量!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.weight) ||
-        (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
-          String(this.deptBudgetList.weight).length -
+      submit() {
+        if (!this.deptBudgetList.contractNo) {
+          this.$message({
+            message: '请输入合同编号',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNo.length < 6 ||
+          this.deptBudgetList.contractNo.length > 50
+        ) {
+          this.$message({
+            message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.shippingType) {
+          this.$message({
+            message: '请输入运输方式!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.shippingType.length < 1 ||
+          this.deptBudgetList.shippingType.length > 20
+        ) {
+          this.$message({
+            message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyer) {
+          this.$message({
+            message: '请输入买方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.buyer.length > 30) {
+          this.$message({
+            message: '买方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.settlementMethod) {
+          this.$message({
+            message: '请输入结算方式!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.settlementMethod.length < 1 ||
+          this.deptBudgetList.settlementMethod.length > 20
+        ) {
+          this.$message({
+            message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyerPhone) {
+          this.$message({
+            message: '请输入买方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.buyerPhone)) {
+          this.$message({
+            message: '输入买方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.seller) {
+          this.$message({
+            message: '请输入卖方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.seller.length > 30) {
+          this.$message({
+            message: '卖方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sellerPhone) {
+          this.$message({
+            message: '请输入卖方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.sellerPhone)) {
+          this.$message({
+            message: '输入卖方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.acceptanceMethod) {
+          this.$message({
+            message: '请选择验收方式',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.weight) {
+          this.$message({
+            message: '请输入交易数量!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.weight) ||
+          (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+            String(this.deptBudgetList.weight).length -
             (String(this.deptBudgetList.weight).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入交易数量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.warehousingFee) {
-        this.$message({
-          message: '请输入入库费!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.warehousingFee) ||
-        (String(this.deptBudgetList.warehousingFee).indexOf('.') != -1 &&
-          String(this.deptBudgetList.warehousingFee).length -
+          this.deptBudgetList.weight < 0 ||
+          this.deptBudgetList.weight > 200000
+        ) {
+          this.$message({
+            message: '输入交易数量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.warehousingFee) {
+          this.$message({
+            message: '请输入入库费!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.warehousingFee) ||
+          (String(this.deptBudgetList.warehousingFee).indexOf('.') != -1 &&
+            String(this.deptBudgetList.warehousingFee).length -
             (String(this.deptBudgetList.warehousingFee).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.warehousingFee < 0 ||
-        this.deptBudgetList.warehousingFee > 1000
-      ) {
-        this.$message({
-          message: '入库费输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.measurementStandard) {
-        this.$message({
-          message: '请输入计量标准!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.measurementStandard.length < 1 ||
-        this.deptBudgetList.measurementStandard.length > 20
-      ) {
-        this.$message({
-          message: '计量标准长度不符合要求,请输入1到20个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!String(this.deptBudgetList.basisPrice)) {
-        this.$message({
-          message: '请输入基差!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.basisPrice) ||
-        (String(this.deptBudgetList.basisPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.basisPrice).length -
+          this.deptBudgetList.warehousingFee < 0 ||
+          this.deptBudgetList.warehousingFee > 1000
+        ) {
+          this.$message({
+            message: '入库费输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.measurementStandard) {
+          this.$message({
+            message: '请输入计量标准!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.measurementStandard.length < 1 ||
+          this.deptBudgetList.measurementStandard.length > 20
+        ) {
+          this.$message({
+            message: '计量标准长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!String(this.deptBudgetList.basisPrice)) {
+          this.$message({
+            message: '请输入基差!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.basisPrice) ||
+          (String(this.deptBudgetList.basisPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.basisPrice).length -
             (String(this.deptBudgetList.basisPrice).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.basisPrice < 0 ||
-        this.deptBudgetList.basisPrice > 10000
-      ) {
-        this.$message({
-          message: '基差输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.receiveWarehouse) {
-        this.$message({
-          message: '请选择收货库!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionsPlace) {
-        this.$message({
-          message: '请输入交易所!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.transactionsPlace.length < 2 ||
-        this.deptBudgetList.transactionsPlace.length > 15
-      ) {
-        this.$message({
-          message: '交易所长度不符合要求,请输入2到15个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.newSelectedOptions1) {
-        this.$message({
-          message: '请选择交货所在地区!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.newSelectedOptions) {
-        this.$message({
-          message: '请选择产地!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractNumber) {
-        this.$message({
-          message: '请输入合约号!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractNumber.length < 2 ||
-        this.deptBudgetList.contractNumber.length > 15
-      ) {
-        this.$message({
-          message: '合约号长度不符合要求,请输入2到15个字符之内!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.placeDelivery) {
-        this.$message({
-          message: '请输入交货详细地址!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.pointPrice) {
-        this.$message({
-          message: '请输入点价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.pointPrice) ||
-        (String(this.deptBudgetList.pointPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.pointPrice).length -
-            (String(this.deptBudgetList.pointPrice).indexOf('.') + 1) >
-            3) ||
-        this.deptBudgetList.pointPrice < 0 ||
-        this.deptBudgetList.pointPrice > 100000
-      ) {
-        this.$message({
-          message: '输入点价有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.signingDate) {
-        this.$message({
-          message: '请选择签订日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.pointPriceDate) {
-        this.$message({
-          message: '请选择点价日期',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-      //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      //货物信息
-      if (!this.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 -
+          this.deptBudgetList.basisPrice < 0 ||
+          this.deptBudgetList.basisPrice > 10000
+        ) {
+          this.$message({
+            message: '基差输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.receiveWarehouse) {
+          this.$message({
+            message: '请选择收货库!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.transactionsPlace) {
+          this.$message({
+            message: '请输入交易所!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.transactionsPlace.length < 2 ||
+          this.deptBudgetList.transactionsPlace.length > 15
+        ) {
+          this.$message({
+            message: '交易所长度不符合要求,请输入2到15个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.newSelectedOptions1) {
+          this.$message({
+            message: '请选择交货所在地区!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.newSelectedOptions) {
+          this.$message({
+            message: '请选择产地!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractNumber) {
+          this.$message({
+            message: '请输入合约号!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNumber.length < 2 ||
+          this.deptBudgetList.contractNumber.length > 15
+        ) {
+          this.$message({
+            message: '合约号长度不符合要求,请输入2到15个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.placeDelivery) {
+          this.$message({
+            message: '请输入交货详细地址!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.pointPrice) {
+          this.$message({
+            message: '请输入点价!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.pointPrice) ||
+          (String(this.deptBudgetList.pointPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.pointPrice).length -
+            (String(this.deptBudgetList.pointPrice).indexOf('.') + 1) >
+            3) ||
+          this.deptBudgetList.pointPrice < 0 ||
+          this.deptBudgetList.pointPrice > 100000
+        ) {
+          this.$message({
+            message: '输入点价有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.signingDate) {
+          this.$message({
+            message: '请选择签订日期',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.pointPriceDate) {
+          this.$message({
+            message: '请选择点价日期',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateStart) {
+          this.$message({
+            message: '请选择交货日期(起)',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateEnd) {
+          this.$message({
+            message: '请选择交货日期(止)',
+            type: 'warning',
+          })
+          return
+        }
+        //时间
+        if (
+          new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+          new Date(this.deptBudgetList.deliveryDateEnd).getTime()
+        ) {
+          this.$message({
+            message: '交货日期(止)选择错误',
+            type: 'warning',
+          })
+          return
+        }
+        //货物信息
+        if (!this.deptBudgetList.contractGoodsInfo.goodsName) {
+          this.$message({
+            message: '请选择货名',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.waterContent) {
+          this.$message({
+            message: '请输入水分',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractGoodsInfo.waterContent &&
+          String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') != -1 &&
+          String(this.deptBudgetList.contractGoodsInfo.waterContent).length -
           (String(this.deptBudgetList.contractGoodsInfo.waterContent).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.waterContent>40||this.deptBudgetList.contractGoodsInfo.waterContent<0
-      ) {
-        this.$message({
-          message: '水分输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.grade) {
-        this.$message({
-          message: '请选择品级',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.transgene) {
-        this.$message({
-          message: '请选择转基因',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.impurity) {
-        this.$message({
-          message: '请输入杂质',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractGoodsInfo.impurity &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
-        String(this.deptBudgetList.contractGoodsInfo.impurity).length -
+          2 || this.deptBudgetList.contractGoodsInfo.waterContent > 40 || this.deptBudgetList.contractGoodsInfo
+          .waterContent < 0
+        ) {
+          this.$message({
+            message: '水分输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.grade) {
+          this.$message({
+            message: '请选择品级',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.transgene) {
+          this.$message({
+            message: '请选择转基因',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.impurity) {
+          this.$message({
+            message: '请输入杂质',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractGoodsInfo.impurity &&
+          String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') != -1 &&
+          String(this.deptBudgetList.contractGoodsInfo.impurity).length -
           (String(this.deptBudgetList.contractGoodsInfo.impurity).indexOf('.') + 1) >
-          2||this.deptBudgetList.contractGoodsInfo.impurity>40||this.deptBudgetList.contractGoodsInfo.impurity<0
-      ) {
-        this.$message({
-          message: '杂质输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.bulkDensity) {
-        this.$message({
-          message: '请输入容重',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractGoodsInfo.bulkDensity &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).indexOf('.') != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.bulkDensity).length -
+          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(
+            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 -
+            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 -
+            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('.') +
+                this.deptBudgetList.contractGoodsInfo.imperfectGrain
+              ).indexOf('.') +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.imperfectGrain>40||this.deptBudgetList.contractGoodsInfo.imperfectGrain<0)
-      ) {
-        this.$message({
-          message: '不完善粒输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.contractGoodsInfo.protein) {
-        this.$message({
-          message: '请输入蛋白',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        !this.deptBudgetList.contractGoodsInfo.protein ||
-        (String(this.deptBudgetList.contractGoodsInfo.protein).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractGoodsInfo.protein).length -
+            2 || this.deptBudgetList.contractGoodsInfo.imperfectGrain > 40 || this.deptBudgetList.contractGoodsInfo
+            .imperfectGrain < 0)
+        ) {
+          this.$message({
+            message: '不完善粒输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.contractGoodsInfo.protein) {
+          this.$message({
+            message: '请输入蛋白',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          !this.deptBudgetList.contractGoodsInfo.protein ||
+          (String(this.deptBudgetList.contractGoodsInfo.protein).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractGoodsInfo.protein).length -
             (String(
-              this.deptBudgetList.contractGoodsInfo.protein
-            ).indexOf('.') +
+                this.deptBudgetList.contractGoodsInfo.protein
+              ).indexOf('.') +
               1) >
-            2||this.deptBudgetList.contractGoodsInfo.protein>70||this.deptBudgetList.contractGoodsInfo.protein<0)
-      ) {
-        this.$message({
-          message: '蛋白输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
-        this.deptBudgetList.contractProcessInfo.goodsNameKey < 0 ||
-        (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
-          '.'
-        ) != -1 &&
-          String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
+            2 || this.deptBudgetList.contractGoodsInfo.protein > 70 || this.deptBudgetList.contractGoodsInfo.protein < 0
+          )
+        ) {
+          this.$message({
+            message: '蛋白输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractProcessInfo.goodsNameKey > 1000000000 ||
+          this.deptBudgetList.contractProcessInfo.goodsNameKey < 0 ||
+          (String(this.deptBudgetList.contractProcessInfo.goodsNameKey).indexOf(
+              '.'
+            ) != -1 &&
+            String(this.deptBudgetList.contractProcessInfo.goodsNameKey).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.goodsNameKey
-            ).indexOf('.') +
+                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 -
+        ) {
+          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('.') +
+                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(
+        ) {
+          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(
+        ) {
+          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.$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 &&
+            String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.mildewGrain
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
+        ) {
+          this.$message({
+            message: '未回款金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+
+        var that = this
+        this.$refs.deptBudgetList.validate((valid) => {
+          if (valid) {
+            this.deptBudgetList.compId = this.compId
+            this.deptBudgetList.contractType = 2
+            this.deptBudgetList.goodsType = 2
+            addList(this.deptBudgetList)
+              .toPromise()
+              .then((response) => {
+                // 存储买方、卖方、买方电话、卖方电话
+                let _data = {
+                  byer: this.deptBudgetList.buyer,
+                  seller: this.deptBudgetList.seller,
+                  buyerPhone: this.deptBudgetList.buyerPhone,
+                  sellerPhone: this.deptBudgetList.sellerPhone
+                }
+                if (this.restaurants1.length <= 20) {
+                  this.restaurants1 = this.restaurants1.filter(function(val) {
+                    if (val.value != _data.byer) {
+                      return val
+                    }
+                  })
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  })
+                } else {
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  }).pop({
+                    value: _data.byer
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants2 = this.restaurants2.filter(function(val) {
+                    if (val.value != _data.seller) {
+                      return val
+                    }
+                  })
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  })
+                } else {
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  }).pop({
+                    value: _data.seller
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants3 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.buyerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  })
+                } else {
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  }).pop({
+                    value: _data.buyerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
+                if (this.restaurants4.length <= 20) {
+                  this.restaurants4 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.sellerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  })
+                } else {
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  }).pop({
+                    value: _data.sellerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
+                this.$message.success('添加成功')
+                this.selectedOptions = []
+                this.deptBudgetList = {
+                  deliverType: '1',
+                  finalTradingVolume: 0,
+                  contractGoodsInfo: {
+                    goodsName: '',
+                  },
+                  contractProcessInfo: {},
+                }
+                this.$router.push({
+                  path: 'futuresPurchaseContract'
+                })
+              })
+          } else {
+            EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
+          }
         })
-        return
-      }
-      
-      var that = this
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 2
-          this.deptBudgetList.goodsType = 2
-          addList(this.deptBudgetList)
+      },
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      addClick() {
+        this.unitList.push({
+          flag: 'add',
+          constValue: '',
+          constKey: '',
+        })
+      },
+      saveClick(item, index) {
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          this.$set(this.unitList, index, {
+            flag: 'check'
+          })
+        } else {
+          this.$set(this.unitList, index, {
+            flag: 'delete'
+          })
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        if (item.flag == 'add') {
+          item.constKey = Math.random() * 20
+          this.acceptanceCheck.compId = this.compId
+          this.acceptanceCheck.constKey = item.constKey
+          this.acceptanceCheck.constCode = 'TYPEYAN'
+          this.acceptanceCheck.constValue = item.constValue
+          this.acceptanceCheck.id = item.id
+          addxiala(this.acceptanceCheck)
             .toPromise()
             .then((response) => {
-              this.$message.success('添加成功')
-              this.selectedOptions=[]
-              this.deptBudgetList = {
-                deliverType: '1',
-                finalTradingVolume: 0,
-                contractGoodsInfo: {
-                  goodsName: '',
-                },
-                contractProcessInfo: {},
-              }
-              this.$router.push({ path: 'futuresPurchaseContract' })
+              this.getUnitList()
+            })
+        } else if (item.flag == 'check') {
+          this.acceptanceCheck.compId = this.compId
+          this.acceptanceCheck.constKey = item.constKey
+          this.acceptanceCheck.constCode = 'TYPEYAN'
+          this.acceptanceCheck.constValue = item.constValue
+          this.acceptanceCheck.id = item.id
+          editxiala(this.acceptanceCheck)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
             })
-        } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
         }
-      })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    saveClick(item, index) {
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, { flag: 'check' })
-      } else {
-        this.$set(this.unitList, index, { flag: 'delete' })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        addxiala(this.acceptanceCheck)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      } else if (item.flag == 'check') {
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        editxiala(this.acceptanceCheck)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
-          })
-      }
-    },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+      },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
         }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+          }
         }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
         }
-      }
-    },
-    selecttransgene(e) {
-      for (var i = 0; i < this.transgeneList.length; i++) {
-        if (this.transgeneList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.transgeneList[i].constKey
+      },
+      selecttransgene(e) {
+        for (var i = 0; i < this.transgeneList.length; i++) {
+          if (this.transgeneList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.transgeneList[i].constKey
+          }
         }
-      }
-    },
-    selectgoodsName(e) {
-      for (var i = 0; i < this.goodnameList.length; i++) {
-        if (this.goodnameList[i].constValue == e) {
-          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
-          this.deptBudgetList.contractGoodsInfo.goodsNameKey = this.goodnameList[i].constKey
+      },
+      selectgoodsName(e) {
+        for (var i = 0; i < this.goodnameList.length; i++) {
+          if (this.goodnameList[i].constValue == e) {
+            this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+            this.deptBudgetList.contractGoodsInfo.goodsNameKey = this.goodnameList[i].constKey
+          }
         }
-      }
-    },
-    selectwarehouseName() {},
-    selectpackingMethod(e) {
-      for (var i = 0; i < this.packtypeList.length; i++) {
-        if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+      },
+      selectwarehouseName() {},
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+          }
         }
-      }
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
+      },
+      // 编辑
+      editClick(item, index) {
+        const map = JSON.parse(JSON.stringify(item))
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          map.flag = 'check'
+          this.$set(this.unitList, index, map)
+        } else {
+          map.flag = 'delete'
+          this.$set(this.unitList, index, map)
+        }
+      },
+      // 删除
+      deleteClick(item, index) {
+        if (Object.is(item.constKey, 1)) {
+          return
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        delxiala({
+            id: this.unitList[index].id
+          })
+          .toPromise()
+          .then((response) => {
+            this.getUnitList()
+            this.pleaseChoose = ''
+          })
+      },
     },
-  },
-}
+  }
 </script>
 
 <style lang="scss" scoped>
-.el-form {
-  padding: 0 15%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.upload-demo{
-  margin-top: 10px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  .el-form {
+    padding: 0 15%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .upload-demo {
+    margin-top: 10px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    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;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /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;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
   }
-  .el-date-editor {
-    i {
-      display: none;
-    }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
   }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .center {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
     .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
+      border: 0px;
     }
+
+    .el-icon-arrow-up {
+      display: none;
+    }
+
     .el-textarea__inner {
       background-color: #fff !important;
       border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
       color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
     }
   }
-}
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
+  // 控制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;
+
+  /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;
+    }
   }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .el-textarea {
+    width: 101%;
+  }
+
+  .addressUrls {
+    width: 100%;
+    display: flex;
+    margin-top: 10px;
   }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-/deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
-  width: 130px;
-}
-.el-textarea {
-  width: 101%;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
+
+  .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>
+  }
+
+  .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;
+  }
+   .inline-input {
+      width: 100%;
+    }
+</style>

+ 135 - 6
src/views/contractManagement/futuresSalesContractAdd.vue

@@ -30,7 +30,9 @@
         </ws-form-item>
         <!--买方-->
         <ws-form-item label="买方" span="1" prop="buyer">
-          <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" />
+          <!-- <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.buyer" :fetch-suggestions="querySearch1"
+            placeholder="请输入买方名称" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
 
         <!--结算方式-->
@@ -39,7 +41,9 @@
         </ws-form-item>
         <!--买方电话-->
         <ws-form-item label="买方电话" span="1" prop="contractNo">
-          <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" />
+          <!-- <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+            placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
 
         <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
@@ -48,7 +52,9 @@
         </ws-form-item>
         <!--卖方-->
         <ws-form-item label="卖方" span="1" prop="seller">
-          <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" />
+          <!-- <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
+            placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
 
         <!--包装方式-->
@@ -61,7 +67,9 @@
         </ws-form-item>
         <!--卖方电话-->
         <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-          <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" />
+          <!-- <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
+            placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
         <!--验收方式-->
         <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
@@ -361,6 +369,10 @@
     },
     data() {
       return {
+        restaurants1: [],
+        restaurants2: [],
+        restaurants3: [],
+        restaurants4: [],
         type: '',
         dialogVisible: false,
         newSelectedOptions1: '请选择交货所在地区',
@@ -416,8 +428,8 @@
             goodsName: '',
           },
           contractProcessInfo: {},
-		  sourceGoods:'',
-		  placeDelivery:'',
+          sourceGoods: '',
+          placeDelivery: '',
         },
         acceptanceCheck: {},
         pickerBeginDateBefore: {
@@ -468,7 +480,46 @@
       this.loaddata()
       this.showType = this.isShow
     },
+    mounted() {
+      this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
+      this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
+      this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
+      this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
+      if (!this.restaurants1) this.restaurants1 = [];
+      if (!this.restaurants2) this.restaurants2 = [];
+      if (!this.restaurants3) this.restaurants3 = [];
+      if (!this.restaurants4) this.restaurants4 = [];
+    },
     methods: {
+      querySearch1(queryString, cb) {
+        var restaurants1 = this.restaurants1;
+        var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch2(queryString, cb) {
+        var restaurants2 = this.restaurants2;
+        var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch3(queryString, cb) {
+        var restaurants3 = this.restaurants3;
+        var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch4(queryString, cb) {
+        var restaurants4 = this.restaurants4;
+        var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
       marker: function(item) {
         this.deptBudgetList.warehousePositioning =
           item.lnglat.lat + ',' + item.lnglat.lng
@@ -1251,6 +1302,81 @@
             addList(this.deptBudgetList)
               .toPromise()
               .then((response) => {
+                // 存储买方、卖方、买方电话、卖方电话
+                let _data = {
+                  byer: this.deptBudgetList.buyer,
+                  seller: this.deptBudgetList.seller,
+                  buyerPhone: this.deptBudgetList.buyerPhone,
+                  sellerPhone: this.deptBudgetList.sellerPhone
+                }
+                if (this.restaurants1.length <= 20) {
+                  this.restaurants1 = this.restaurants1.filter(function(val) {
+                    if (val.value != _data.byer) {
+                      return val
+                    }
+                  })
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  })
+                } else {
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  }).pop({
+                    value: _data.byer
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants2 = this.restaurants2.filter(function(val) {
+                    if (val.value != _data.seller) {
+                      return val
+                    }
+                  })
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  })
+                } else {
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  }).pop({
+                    value: _data.seller
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants3 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.buyerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  })
+                } else {
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  }).pop({
+                    value: _data.buyerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
+                if (this.restaurants4.length <= 20) {
+                  this.restaurants4 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.sellerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  })
+                } else {
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  }).pop({
+                    value: _data.sellerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
                 this.$message.success('添加成功')
                 this.deptBudgetList = {
                   deliverType: '1',
@@ -1714,4 +1840,7 @@
     width: 100%;
     text-align: left;
   }
+   .inline-input {
+      width: 100%;
+    }
 </style>

+ 745 - 634
src/views/contractManagement/priceConfirmationSheetAdd.vue

@@ -3,26 +3,15 @@
     <el-row>
       <el-col :span="12">
         <h2 class="bg-left title">创建点价确认单(
-        <template>
-          <span v-if="this.$route.query.contractType == 1">期货销售合同</span>
-          <span v-if="this.$route.query.contractType == 2"
-            >期货采购合同</span
-          > </template>)</h2>
+          <template>
+            <span v-if="this.$route.query.contractType == 1">期货销售合同</span>
+            <span v-if="this.$route.query.contractType == 2">期货采购合同</span> </template>)
+        </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-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>
 
@@ -30,9 +19,9 @@
       <h3>所属合同</h3>
       <p>
         &nbsp;&nbsp;<template>
-              <span v-if="this.$route.query.contractType == '1'">销售合同</span>
-              <span v-if="this.$route.query.contractType == '2'">采购合同</span>
-            </template>(
+          <span v-if="this.$route.query.contractType == '1'">销售合同</span>
+          <span v-if="this.$route.query.contractType == '2'">采购合同</span>
+        </template>(
         <template>{{ this.$route.query.contractNo }}</template>
         )
       </p>
@@ -43,702 +32,824 @@
 
         <ws-info-table>
           <!--点价单编号-->
-          <ws-form-item
-            label="点价单编号"
-            span="1"
-            prop="priceListNo"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.priceListNo"
-              placeholder="请输入点价单编号"
-              maxlength="20"
-              size="small"
-            />
+          <ws-form-item label="点价单编号" span="1" prop="priceListNo" class="readonly">
+            <ws-input v-model="deptBudgetList.priceListNo" placeholder="请输入点价单编号" maxlength="20" size="small" />
           </ws-form-item>
           <!--品种合约及方向-->
-          <ws-form-item
-            label="品种合约及方向"
-            span="1"
-            prop="varietyContractDirection"
-            class="readonly"
-          >
-            <ws-input
-              v-model="deptBudgetList.varietyContractDirection"
-              placeholder="请输入品种合约及方向"
-              maxlength="100"
-              size="small"
-            />
+          <ws-form-item label="品种合约及方向" span="1" prop="varietyContractDirection" class="readonly">
+            <ws-input v-model="deptBudgetList.varietyContractDirection" placeholder="请输入品种合约及方向" maxlength="100"
+              size="small" />
           </ws-form-item>
 
           <!--买方联络人-->
           <ws-form-item label="买方联络人" span="1" prop="buyer">
-            <ws-input
-              v-model="deptBudgetList.buyer"
-              placeholder="请输入买方联络人"
-              maxlength="120"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.buyer" placeholder="请输入买方联络人" maxlength="120" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyer" :fetch-suggestions="querySearch1"
+              placeholder="请输入买方联络人" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--成交数量-->
-          <ws-form-item
-            label="成交数量"
-            span="1"
-            prop="transactionsNumberHand"
-            class="readonly"
-          >
-            <ws-input
-              @input="transactionsNumberHandChange"
-              v-model="deptBudgetList.transactionsNumberHand"
-              placeholder="请输入"
-              maxlength="100"
-              size="small"
-            />&nbsp;&nbsp;&nbsp;手&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-            <ws-input
-              readonly="readonly"
-              v-model="deptBudgetList.transactionsNumber"
-              placeholder="自动计算"
-              maxlength="100"
-              size="small"
-            />&nbsp;&nbsp;&nbsp;吨
+          <ws-form-item label="成交数量" span="1" prop="transactionsNumberHand" class="readonly">
+            <ws-input @input="transactionsNumberHandChange" v-model="deptBudgetList.transactionsNumberHand"
+              placeholder="请输入" maxlength="100" size="small" />
+            &nbsp;&nbsp;&nbsp;手&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            <ws-input readonly="readonly" v-model="deptBudgetList.transactionsNumber" placeholder="自动计算" maxlength="100"
+              size="small" />&nbsp;&nbsp;&nbsp;吨
           </ws-form-item>
 
           <!--买方联络人电话-->
           <ws-form-item label="买方联络人电话" span="1" prop="buyerPhone">
-            <ws-input
-              v-model="deptBudgetList.buyerPhone"
-              placeholder="请输入买方联络人电话"
-              maxlength="120"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.buyerPhone" placeholder="请输入买方联络人电话" maxlength="120" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+              placeholder="买方联络人电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
 
           <!--成交价格(元/吨)-->
-          <ws-form-item
-            label="成交价格(元/吨)"
-            span="1"
-            prop="transactionPrice"
-          >
-            <ws-input
-              v-model="deptBudgetList.transactionPrice"
-              placeholder="请输入成交价格"
-              maxlength="120"
-              size="small"
-            />
+          <ws-form-item label="成交价格(元/吨)" span="1" prop="transactionPrice">
+            <ws-input v-model="deptBudgetList.transactionPrice" placeholder="请输入成交价格" maxlength="120" size="small" />
           </ws-form-item>
 
           <!--卖方联络人-->
           <ws-form-item label="卖方联络人" span="1" prop="seller">
-            <ws-input
-              v-model="deptBudgetList.seller"
-              placeholder="请输入卖方联络人"
-              maxlength="120"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.seller" placeholder="请输入卖方联络人" maxlength="120" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
+              placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
 
           <!--成交日期-->
           <ws-form-item label="成交日期" span="1" prop="transactionDate">
-            <ws-date-picker
-              v-model="deptBudgetList.transactionDate"
-              type="date"
-              placeholder="请选择成交日期"
-              value-format="yyyy-MM-dd"
-            />
+            <ws-date-picker v-model="deptBudgetList.transactionDate" type="date" placeholder="请选择成交日期"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
 
           <!--卖方联络人电话-->
           <ws-form-item label="卖方联络人电话" span="1" prop="sellerPhone">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              placeholder="请输入卖方联络人电话"
-              maxlength="100"
-              size="small"
-            />
+            <!-- <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方联络人电话" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
+              placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
 
           <!--备注-->
           <ws-form-item label="备注" span="1" prop="remarks">
-            <ws-input
-              v-model="deptBudgetList.remarks"
-              placeholder="请输入备注,不超过200字"
-              maxlength="120"
-              size="small"
-            />
+            <ws-input v-model="deptBudgetList.remarks" placeholder="请输入备注,不超过200字" maxlength="120" size="small" />
           </ws-form-item>
         </ws-info-table>
-         <ws-upload
-          ref="upload"
-          :comp-id="compId"
-          :appendix-ids="deptBudgetList.addressUrl"
-          @onChange="onChange"
-          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-        />
+        <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" @onChange="onChange"
+          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
       </ws-form>
     </div>
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
-        >提交</el-button
-      >
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit()">提交</el-button>
     </div>
   </div>
 </template>
 <script>
-import { addPriceConfirmationSheet } from '@/model/contarct/index'
-import WsUpload from '@/components/WsUpload'
-import { regionData } from 'element-china-area-data'
-
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
+  import {
+    addPriceConfirmationSheet
+  } from '@/model/contarct/index'
+  import WsUpload from '@/components/WsUpload'
+  import {
+    regionData
+  } from 'element-china-area-data'
+
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
     },
-  },
-  data() {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      options_: regionData,
-      selectedOptions: [],
-      appendixIdss:'',
-      selectedOptions1: [],
-      // 提交类型
-      submitType: true,
-      size: 10,
-      unitList: [],
-      enclosureTypeFlag:0,
-      priceConfirmationSheet: {
-        contractNo: this.$route.query.contractNo,
-        contractType :this.$route.query.contractType,
-        varietyContractDirection: '',
-        buyer: '',
-        seller: '',
-        sellerPhone: '',
-        buyerPhone: '',
-       // enclosureTypeFlag: 0,
-        transactionsNumberHand: '',
-        transactionsNumber: '',
-        transactionPrice: '',
-        transactionDate: '',
-        remarks: '',
-        priceListNo: '',
-        addressUrl: '',
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
+      },
+      isShow(val) {
+        this.showType = val
       },
-      deptBudgetList: {},
-      compId: sessionStorage.getItem('ws-pf_compId'),
-    }
-  },
-  methods: {
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    returnsales() {
-      this.priceConfirmationSheet = {}
-      this.deptBudgetList = {}
-      this.$router.push({ path: 'priceConfirmationSheet',
-      query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType } })
     },
-    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()
-        })
+    data() {
+      return {
+        restaurants1: [],
+        restaurants2: [],
+        restaurants3: [],
+        restaurants4: [],
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        options_: regionData,
+        selectedOptions: [],
+        appendixIdss: '',
+        selectedOptions1: [],
+        // 提交类型
+        submitType: true,
+        size: 10,
+        unitList: [],
+        enclosureTypeFlag: 0,
+        priceConfirmationSheet: {
+          contractNo: this.$route.query.contractNo,
+          contractType: this.$route.query.contractType,
+          varietyContractDirection: '',
+          buyer: '',
+          seller: '',
+          sellerPhone: '',
+          buyerPhone: '',
+          // enclosureTypeFlag: 0,
+          transactionsNumberHand: '',
+          transactionsNumber: '',
+          transactionPrice: '',
+          transactionDate: '',
+          remarks: '',
+          priceListNo: '',
+          addressUrl: '',
+        },
+        deptBudgetList: {},
+        compId: sessionStorage.getItem('ws-pf_compId'),
+      }
     },
-    //计算成交数量(吨)
-    transactionsNumberHandChange(e) {
-      this.deptBudgetList.transactionsNumber = e * 10
+    mounted() {
+      this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
+      this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
+      this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
+      this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
+      if (!this.restaurants1) this.restaurants1 = [];
+      if (!this.restaurants2) this.restaurants2 = [];
+      if (!this.restaurants3) this.restaurants3 = [];
+      if (!this.restaurants4) this.restaurants4 = [];
     },
-    submit() {
-      if (!this.deptBudgetList.priceListNo) {
-        this.$message({
-          message: '点价单编号不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.priceListNo.length < 1 ||
-        this.deptBudgetList.priceListNo.length > 20
-      ) {
-        this.$message({
-          message: '点价单编号输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.varietyContractDirection) {
-        this.$message({
-          message: '品种合约及方向不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.varietyContractDirection.length < 1 ||
-        this.deptBudgetList.varietyContractDirection.length > 20
-      ) {
-        this.$message({
-          message: '品种合约及方向输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyer) {
-        this.$message({
-          message: '买方联络人不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyer.length < 2 ||
-        this.deptBudgetList.buyer.length > 20
-      ) {
-        this.$message({
-          message: '买方联络人姓名输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.buyerPhone) {
-        this.$message({
-          message: '买方联络人电话不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.buyerPhone.length < 7 ||
-        this.deptBudgetList.buyerPhone.length > 20
-      ) {
-        this.$message({
-          message: '买方联络人电话输入错误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.buyerPhone)) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.seller) {
-        this.$message({
-          message: '卖方联络人不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.seller.length < 2 ||
-        this.deptBudgetList.seller.length > 20
-      ) {
-        this.$message({
-          message: '卖方联络人姓名输入错误!',
-          type: 'warning',
+    methods: {
+      querySearch1(queryString, cb) {
+        var restaurants1 = this.restaurants1;
+        var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch2(queryString, cb) {
+        var restaurants2 = this.restaurants2;
+        var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch3(queryString, cb) {
+        var restaurants3 = this.restaurants3;
+        var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch4(queryString, cb) {
+        var restaurants4 = this.restaurants4;
+        var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
+      handleSelect(item) {
+        console.log(item);
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      handleChange(value) {
+        this.selectedOptions = value
+      },
+      handleChange1(value) {
+        this.selectedOptions1 = value
+      },
+      returnsales() {
+        this.priceConfirmationSheet = {}
+        this.deptBudgetList = {}
+        this.$router.push({
+          path: 'priceConfirmationSheet',
+          query: {
+            contractNo: this.$route.query.contractNo,
+            contractType: this.$route.query.contractType
+          }
         })
-        return
-      }
+      },
+      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()
+          })
+      },
+      //计算成交数量(吨)
+      transactionsNumberHandChange(e) {
+        this.deptBudgetList.transactionsNumber = e * 10
+      },
+      submit() {
+        if (!this.deptBudgetList.priceListNo) {
+          this.$message({
+            message: '点价单编号不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.priceListNo.length < 1 ||
+          this.deptBudgetList.priceListNo.length > 20
+        ) {
+          this.$message({
+            message: '点价单编号输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.varietyContractDirection) {
+          this.$message({
+            message: '品种合约及方向不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.varietyContractDirection.length < 1 ||
+          this.deptBudgetList.varietyContractDirection.length > 20
+        ) {
+          this.$message({
+            message: '品种合约及方向输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyer) {
+          this.$message({
+            message: '买方联络人不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyer.length < 2 ||
+          this.deptBudgetList.buyer.length > 20
+        ) {
+          this.$message({
+            message: '买方联络人姓名输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyerPhone) {
+          this.$message({
+            message: '买方联络人电话不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '买方联络人电话输入错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.buyerPhone)) {
+          this.$message({
+            message: '卖方联络人电话输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.seller) {
+          this.$message({
+            message: '卖方联络人不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.seller.length < 2 ||
+          this.deptBudgetList.seller.length > 20
+        ) {
+          this.$message({
+            message: '卖方联络人姓名输入错误!',
+            type: 'warning',
+          })
+          return
+        }
 
-      if (!this.deptBudgetList.sellerPhone) {
-        this.$message({
-          message: '卖方联络人电话不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (isNaN(this.deptBudgetList.sellerPhone)) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.sellerPhone.length < 7 ||
-        this.deptBudgetList.sellerPhone.length > 20
-      ) {
-        this.$message({
-          message: '卖方联络人电话输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionsNumberHand) {
-        this.$message({
-          message: '成交数量不能为空!',
-          type: 'warning',
-        })
-        return
-      }
+        if (!this.deptBudgetList.sellerPhone) {
+          this.$message({
+            message: '卖方联络人电话不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.sellerPhone)) {
+          this.$message({
+            message: '卖方联络人电话输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.sellerPhone.length < 7 ||
+          this.deptBudgetList.sellerPhone.length > 20
+        ) {
+          this.$message({
+            message: '卖方联络人电话输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.transactionsNumberHand) {
+          this.$message({
+            message: '成交数量不能为空!',
+            type: 'warning',
+          })
+          return
+        }
 
-      if (
-        isNaN(this.deptBudgetList.transactionsNumberHand) ||
-        (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') !=
-          -1 &&
-          String(this.deptBudgetList.transactionsNumberHand).length -
+        if (
+          isNaN(this.deptBudgetList.transactionsNumberHand) ||
+          (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') !=
+            -1 &&
+            String(this.deptBudgetList.transactionsNumberHand).length -
             (String(this.deptBudgetList.transactionsNumberHand).indexOf('.') +
               1) >
             2) ||
-        this.deptBudgetList.transactionsNumberHand < 1 ||
-        this.deptBudgetList.transactionsNumberHand > 10000
-      ) {
-        this.$message({
-          message: '输入成交数量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        this.deptBudgetList.transactionPrice < 0 ||
-        this.deptBudgetList.transactionPrice > 100000000 ||
-        (String(this.deptBudgetList.transactionPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.transactionPrice).length -
+          this.deptBudgetList.transactionsNumberHand < 1 ||
+          this.deptBudgetList.transactionsNumberHand > 10000
+        ) {
+          this.$message({
+            message: '输入成交数量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.transactionPrice < 0 ||
+          this.deptBudgetList.transactionPrice > 100000000 ||
+          (String(this.deptBudgetList.transactionPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.transactionPrice).length -
             (String(this.deptBudgetList.transactionPrice).indexOf('.') + 1) >
             2)
-      ) {
-        this.$message({
-          message: '成交价格输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (this.deptBudgetList.transactionPrice) {
-        if (isNaN(this.deptBudgetList.transactionPrice)) {
+        ) {
           this.$message({
-            message: '成交价格输入错误!',
+            message: '成交价格输入错误',
             type: 'warning',
           })
           return
         }
-      }
-      if (!this.deptBudgetList.transactionPrice) {
-        this.$message({
-          message: '成交价格不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.transactionDate) {
-        this.$message({
-          message: '成交日期不能为空!',
-          type: 'warning',
-        })
-        return
-      }
-      this.deptBudgetList.contractType = this.$route.query.contractType,
-      this.deptBudgetList.contractNo = this.$route.query.contractNo,
-
-      this.priceConfirmationSheet = this.deptBudgetList
-      this.$confirm(`确定提交确认单信息`, {
-        cancelButtonText: '取消',
-        confirmButtonText: '确定',
-        type: 'warning',
-      })
-      .then(() => {
-      addPriceConfirmationSheet(this.priceConfirmationSheet)
-        .toPromise()
-        .then((response) => {
-          this.$message.success('添加成功')
-          this.deptBudgetList = {}
-          this.priceConfirmationSheet = {}
-          this.$router.push({ path: 'priceConfirmationSheet'
-          ,query: { contractNo: this.$route.query.contractNo , contractType: this.$route.query.contractType } })
-        })
-        })
-        .catch(() => {
-          return false
-        })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
+        if (this.deptBudgetList.transactionPrice) {
+          if (isNaN(this.deptBudgetList.transactionPrice)) {
+            this.$message({
+              message: '成交价格输入错误!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!this.deptBudgetList.transactionPrice) {
+          this.$message({
+            message: '成交价格不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.transactionDate) {
+          this.$message({
+            message: '成交日期不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        this.deptBudgetList.contractType = this.$route.query.contractType,
+          this.deptBudgetList.contractNo = this.$route.query.contractNo,
+
+          this.priceConfirmationSheet = this.deptBudgetList
+        this.$confirm(`确定提交确认单信息`, {
+            cancelButtonText: '取消',
+            confirmButtonText: '确定',
+            type: 'warning',
+          })
+          .then(() => {
+            addPriceConfirmationSheet(this.priceConfirmationSheet)
+              .toPromise()
+              .then((response) => {
+                // 存储买方、卖方、买方电话、卖方电话
+                let _data = {
+                  byer: this.deptBudgetList.buyer,
+                  seller: this.deptBudgetList.seller,
+                  buyerPhone: this.deptBudgetList.buyerPhone,
+                  sellerPhone: this.deptBudgetList.sellerPhone
+                }
+                if (this.restaurants1.length <= 20) {
+                  this.restaurants1 = this.restaurants1.filter(function(val) {
+                    if (val.value != _data.byer) {
+                      return val
+                    }
+                  })
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  })
+                } else {
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  }).pop({
+                    value: _data.byer
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants2 = this.restaurants2.filter(function(val) {
+                    if (val.value != _data.seller) {
+                      return val
+                    }
+                  })
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  })
+                } else {
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  }).pop({
+                    value: _data.seller
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants3 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.buyerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  })
+                } else {
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  }).pop({
+                    value: _data.buyerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
+                if (this.restaurants4.length <= 20) {
+                  this.restaurants4 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.sellerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  })
+                } else {
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  }).pop({
+                    value: _data.sellerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
+                this.$message.success('添加成功')
+                this.deptBudgetList = {}
+                this.priceConfirmationSheet = {}
+                this.$router.push({
+                  path: 'priceConfirmationSheet',
+                  query: {
+                    contractNo: this.$route.query.contractNo,
+                    contractType: this.$route.query.contractType
+                  }
+                })
+              })
+          })
+          .catch(() => {
+            return false
+          })
+      },
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
     },
-  },
-}
+  }
 </script>
 
 <style lang="scss" scoped>
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-.readonly {
-  position: relative;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    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;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /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;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.shangchuan {
-  margin-left: 22px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 16px 0px;
-}
-.wenzi {
-  width: 70%;
-  margin: 0 auto;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 70%;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .shangchuan {
+    margin-left: 22px;
   }
-  .el-date-editor {
-    i {
-      display: none;
-    }
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
+
+  .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 {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
+      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;
-}
-/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 {
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  /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;
+    }
   }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
+
+  .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;
   }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
-  position: absolute;
-  right: 22px;
-  top: -1px;
-  line-height: inherit;
-  display: none;
-}
-</style>
+   .inline-input {
+      width: 100%;
+    }
+</style>

+ 1485 - 1539
src/views/contractManagement/purchaseContractAdd.vue

@@ -5,19 +5,9 @@
         <h2 class="bg-left title">创建采购合同</h2>
       </el-col>
       <el-col :span="12" class="bg-right">
-        <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="returnsales()"
-          ><img
-            width="6"
-            height="10"
-            style="vertical-align: bottom; margin-right: 3px"
-            src="../../../public/img/lujing.png"
-            alt=""
-          />返回</el-button
-        >
+        <el-button class="bg-bottom" type="primary" size="small" @click="returnsales()"><img width="6" height="10"
+            style="vertical-align: bottom; margin-right: 3px" src="../../../public/img/lujing.png" alt="" />返回
+        </el-button>
       </el-col>
     </el-row>
     <ws-form ref="deptBudgetList" :rules="rules" :model="deptBudgetList">
@@ -49,207 +39,102 @@
           </ws-select>
         </ws-form-item> -->
         <ws-form-item label="合同类型" span="1" prop="agreementType" class="readonly">
-          <el-radio v-model="deptBudgetList.agreementType" label="采购合同" 
-            >采购合同</el-radio
-          >
-          <el-radio v-model="deptBudgetList.agreementType" label="补充协议"
-            >补充协议</el-radio
-          >
+          <el-radio v-model="deptBudgetList.agreementType" label="采购合同">采购合同</el-radio>
+          <el-radio v-model="deptBudgetList.agreementType" label="补充协议">补充协议</el-radio>
         </ws-form-item>
         <!--合同编号-->
-        <ws-form-item
-          label="合同编号"
-          span="1"
-          v-show="deptBudgetList.agreementType == '采购合同'"
-          prop="contractNo"
-          class="readonly"
-          required
-        >
-          <ws-input
-            v-model="deptBudgetList.contractNo"
-            placeholder="请输入合同编号"
-            maxlength="50"
-            size="small"
-          />
+        <ws-form-item label="合同编号" span="1" v-show="deptBudgetList.agreementType == '采购合同'" prop="contractNo"
+          class="readonly" required>
+          <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small" />
         </ws-form-item>
         <!--关联合同-->
-        <ws-form-item
-          prop="contractNo"
-          label="关联合同"
-          span="1"
-          v-show="deptBudgetList.agreementType =='补充协议'"
-        >
-          <ws-select
-            v-model="deptBudgetList.contractNo"
-            placeholder="请选择编号"
-            @change="selectRelation"
-          >
-            <ws-option
-              v-for="item in contractNoList"
-              :key="item.constKey"
-              :label="item.contractNo"
-              :value="item.contractNo"
-            ></ws-option>
+        <ws-form-item prop="agreementNo" label="关联合同" span="1" v-show="deptBudgetList.agreementType =='补充协议'">
+          <ws-select v-model="deptBudgetList.agreementNo" placeholder="请选择编号" @change="selectRelation">
+            <ws-option v-for="item in contractNoList" :key="item.constKey" :label="item.agreementNo"
+              :value="item.contractNo"></ws-option>
           </ws-select>
         </ws-form-item>
         <!--补充协议编号-->
-        <ws-form-item
-          v-show="deptBudgetList.agreementType == '补充协议'"
-          label="补充协议编号"
-          span="1"
-          prop="agreementNo"
-        >
-          <ws-input
-            v-model="deptBudgetList.agreementNo"
-            placeholder="请输入补充协议编号"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item v-show="deptBudgetList.agreementType == '补充协议'" label="补充协议编号" span="1" prop="contractNo">
+          <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入补充协议编号" maxlength="100" size="small" />
         </ws-form-item>
         <!--运输方式-->
         <ws-form-item label="运输方式" span="1" prop="shippingType">
-          <ws-input
-            v-model="deptBudgetList.shippingType"
-            placeholder="请输入运输方式"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.shippingType" placeholder="请输入运输方式" maxlength="100" 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-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.buyer" :fetch-suggestions="querySearch1"
+            placeholder="请输入买方名称" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
 
         <!--结算方式-->
         <ws-form-item label="结算方式" span="1" prop="settlementMethod">
-          <ws-input
-            v-model="deptBudgetList.settlementMethod"
-            placeholder="请输入结算方式"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="100" 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-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
+            placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
         </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
-          >
+          <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-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+            placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
         </ws-form-item>
         <!--包装方式-->
         <ws-form-item label="包装方式" span="1" prop="packingMethod">
-          <ws-select
-            v-model="deptBudgetList.packingMethod"
-            placeholder=""
-            class="typeselect"
-            :value="value1"
-            @change="selectpackingMethod"
-          >
-            <ws-option
-              v-for="item in packtypeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
+            @change="selectpackingMethod">
+            <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
         <!--卖方电话-->
         <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-          <ws-input
-            v-model="deptBudgetList.sellerPhone"
-            placeholder="请输入卖方电话"
-            maxlength="100"
-            size="small"
-          />
+          <!-- <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" /> -->
+          <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
+            placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
         </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"
-            >
+          <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 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-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-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>
+                <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 style="
                   text-align: right;
                   border-top: 1px solid #dcdfe6;
                   padding: 5px;
-                "
-              >
+                ">
                 <ws-button type="primary" @click.stop="addClick">{{
                   $t('button.add')
                 }}</ws-button>
@@ -259,65 +144,32 @@
         </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-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-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-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-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
+            value-format="yyyy-MM-dd" />
         </ws-form-item>
         <!--合同单价(元/吨)-->
-        <ws-form-item
-          class="readonly"
-          label="合同单价(元/吨)"
-          span="1"
-          prop="unitContractPrice"
-        >
-          <ws-input
-            @input="pricechange"
-            v-model="deptBudgetList.unitContractPrice"
-            placeholder="请输入合同单价"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item class="readonly" label="合同单价(元/吨)" span="1" prop="unitContractPrice">
+          <ws-input @input="pricechange" v-model="deptBudgetList.unitContractPrice" placeholder="请输入合同单价"
+            maxlength="100" size="small" />
         </ws-form-item>
 
         <!--合同总价-->
         <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
-          <ws-input
-            v-model="deptBudgetList.totalContractPrice"
-            placeholder="请输入合同总价"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100" size="small" />
         </ws-form-item>
         <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
           <!-- <el-cascader
@@ -334,12 +186,7 @@
           </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-input v-model="deptBudgetList.sourceGoods" placeholder="请输入货源详细地址" maxlength="20" size="small" />
         </ws-form-item>
         <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
           <!-- <el-cascader
@@ -351,58 +198,25 @@
             style="width: 200%"
             @change="handleChange1"
           /> -->
-           <el-button @click="mapInputClick('deliveryProv')" class='address-btn'>
+          <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-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-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 label="最终实际成交量(吨)" span="1" prop="finalTradingVolume">
+          <ws-input v-model="deptBudgetList.finalTradingVolume" placeholder="请输入最终实际成交量" maxlength="100" size="small" />
         </ws-form-item>
-        <ws-form-item
-          v-show="deptBudgetList.deliverType == 1"
-          label="临时仓库负责人"
-          span="1"
-          prop="packingMethod"
-        >
-          <el-select
-            v-model="deptBudgetList.personCharge"
-            placeholder="请选择临时仓库负责人"
-            filterable
-            :filter-method="dataFilter"
-            @change="selectstaff"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.staffName"
-              :value="item.staffName"
-            />
+        <ws-form-item v-show="deptBudgetList.deliverType == 1" label="临时仓库负责人" span="1" prop="packingMethod">
+          <el-select v-model="deptBudgetList.personCharge" placeholder="请选择临时仓库负责人" filterable
+            :filter-method="dataFilter" @change="selectstaff">
+            <el-option v-for="item in options" :key="item.value" :label="item.staffName" :value="item.staffName" />
           </el-select>
         </ws-form-item>
       </ws-info-table>
@@ -414,95 +228,55 @@
       <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 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-input v-model="deptBudgetList.contractGoodsInfo.waterContent" placeholder="请输入水分占比" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--品级-->
         <ws-form-item label="品级" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractGoodsInfo.grade"
-            placeholder=""
-            class="typeselect"
-            @change="selectgrade"
-          >
-            <ws-option
-              v-for="item in gradeList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractGoodsInfo.grade" placeholder="" class="typeselect"
+            @change="selectgrade">
+            <ws-option v-for="item in gradeList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
 
         <!--杂质(%)<=-->
         <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.impurity"
-            placeholder="请输入杂质占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.impurity" placeholder="请输入杂质占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--容重(克/升)>=-->
         <ws-form-item label="容重(克/升)>=" span="1" prop="bulkDensity">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
-            placeholder="请输入容重"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.bulkDensity" placeholder="请输入容重" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--霉变粒(%)<=-->
         <ws-form-item label="霉变粒(%)<=" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.mildewGrain"
-            placeholder="请输入霉变粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.mildewGrain" placeholder="请输入霉变粒占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
 
         <!--热损伤(%)<=-->
         <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
-            placeholder="请输入输入热损伤占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.jiaorenli" placeholder="请输入输入热损伤占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--不完善粒(%)<=-->
         <ws-form-item label="不完善粒(%)<=" span="1" prop="imperfectGrain">
-          <ws-input
-            v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
-            placeholder="请输入不完善粒占比(%)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractGoodsInfo.imperfectGrain" placeholder="请输入不完善粒占比(%)" maxlength="100"
+            size="small" />
         </ws-form-item>
       </ws-info-table>
 
@@ -514,67 +288,39 @@
       <ws-info-table>
         <!--已付款(元)-->
         <ws-form-item label="已付款(元)" span="1" prop="mildewGrain">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.mildewGrain"
-            placeholder="请输入已付款(元)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractProcessInfo.mildewGrain" 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-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-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-input v-model="deptBudgetList.contractProcessInfo.impurity" placeholder="请输入未开发票(元)" maxlength="100"
+            size="small" />
         </ws-form-item>
         <!--双章原件回收情况-->
         <ws-form-item label="双章原件回收情况" span="1" prop="grade">
-          <ws-select
-            v-model="deptBudgetList.contractProcessInfo.grade"
-            placeholder=""
-            class="typeselect"
-            @change="selectChapterTwo"
-          >
-            <ws-option
-              v-for="item in ChapterTwoList"
-              :key="item.constKey"
-              :label="item.constValue"
-              :value="item.constValue"
-            />
+          <ws-select v-model="deptBudgetList.contractProcessInfo.grade" placeholder="" class="typeselect"
+            @change="selectChapterTwo">
+            <ws-option v-for="item in ChapterTwoList" :key="item.constKey" :label="item.constValue"
+              :value="item.constValue" />
           </ws-select>
         </ws-form-item>
         <!--已完成发货量(吨)-->
         <ws-form-item label="已完成发货量(吨)" span="1" prop="imperfectGrain">
-          <ws-input
-            v-model="deptBudgetList.contractProcessInfo.imperfectGrain"
-            placeholder="请输入已完成发货量(吨)"
-            maxlength="100"
-            size="small"
-          />
+          <ws-input v-model="deptBudgetList.contractProcessInfo.imperfectGrain" placeholder="请输入已完成发货量(吨)"
+            maxlength="100" size="small" />
         </ws-form-item>
       </ws-info-table>
 
@@ -582,1291 +328,1491 @@
         <h3>备注信息</h3>
       </div>
       <!--备注信息-->
-      <ws-input
-        v-model="deptBudgetList.remarks"
-        type="textarea"
-        row="3"
-        placeholder="请输入备注信息,不超过3000字"
-        maxlength="3000"
-      />
-      <ws-upload
-        ref="upload"
-        :comp-id="compId"
-        :appendix-ids="deptBudgetList.addressUrl"
-        :size-limit="size"
-        @onChange="onChange"
-        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
-      />
+      <ws-input v-model="deptBudgetList.remarks" type="textarea" row="3" placeholder="请输入备注信息,不超过3000字"
+        maxlength="3000" />
+      <ws-upload ref="upload" :comp-id="compId" :appendix-ids="deptBudgetList.addressUrl" :size-limit="size"
+        @onChange="onChange" accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar" />
     </ws-form>
-       <div v-if="dialogVisible" class="map">
-          <map-drag  @marker="marker" :isShowaddress='true' v-on:addressListen='getAddress' :type="type"></map-drag>
+    <div v-if="dialogVisible" class="map">
+      <map-drag @marker="marker" :isShowaddress='true' v-on:addressListen='getAddress' :type="type"></map-drag>
     </div>
     <div style="text-align: right; padding: 10px" class="center">
-      <el-button
-        class="bg-bottom"
-        type="primary"
-        size="small"
-        @click="submit(deptBudgetList)"
-        >提交</el-button
-      >
+      <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,
-  getstafffind,
-  getRelationContractNo
-} from '@/model/contarct/index'
-import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
-import { dayjs, fmoney, EventBus } from 'base-core-lib'
-import WsUpload from '@/components/WsUpload'
-import mapDrag from '@/components/mapdrag/mapdrag'
-
-export default {
-  name: 'viewSpareMoney',
-  components: {
-    WsUpload,
-     mapDrag,
-  },
-  watch: {
-    vesselId(val) {
-      this.getVesselData()
-    },
-    isShow(val) {
-      this.showType = val
+  import {
+    packList,
+    addList,
+    xiala,
+    addxiala,
+    editxiala,
+    delxiala,
+    getstafffind,
+    getRelationContractNo
+  } from '@/model/contarct/index'
+  import {
+    regionData,
+    CodeToText,
+    TextToCode
+  } from 'element-china-area-data'
+  import {
+    dayjs,
+    fmoney,
+    EventBus
+  } from 'base-core-lib'
+  import WsUpload from '@/components/WsUpload'
+  import mapDrag from '@/components/mapdrag/mapdrag'
+
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      mapDrag,
     },
-  },
-  data() {
-    return {
-      type:"",
-      dialogVisible:false,
-      //弹出框
-      dialogViewSpareMoney: false,
-      dialogApproveFormVisible: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      options_: regionData,
-      selectedOptions: [],
-      newSelectedOptions:'请选择货源所在地',
-      selectedOptions1: [],
-      newSelectedOptions1:'请选择交货所在地区',
-      // 提交类型
-      submitType: true,
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
-
-      packtypeList: [],
-      compId: sessionStorage.getItem('ws-pf_compId'),
-      rules: {
-        // contractNo: [
-        //   { required: true, message: '请输入合同编号', trigger: 'blur' },
-        //   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
-        // ],
+    watch: {
+      vesselId(val) {
+        this.getVesselData()
       },
-      options: [],
-      staffList: [],
-      appendixIdsAdd: '',
-      size: 10,
-      unitList: [],
-      agreementList: [
-        {
-          constValue: '采购合同',
-          constKey: '1'
-        },        
-        {
-          constValue: '补充协议',
-          constKey: '2'
-        },
-      ],
-      contractNoList: [],
-      goodnameList: [],
-      value1: '袋装',
-      value2: '未回收',
-      gradeList: [],
-      ChapterTwoList: [],
-      agreementType:'',
-      deptBudgetList: {
-        deliverType: '1',
-        agreementType:'采购合同',
-        addressUrl:'',
-        finalTradingVolume: 0,
-        totalContractPrice:0,
-        contractGoodsInfo: {
-          goodsName: '',
-        },
-        contractProcessInfo: {},
-		sourceGoods:'',
-		placeDelivery:'',
+      isShow(val) {
+        this.showType = val
       },
-      acceptanceCheck: {},
-      pickerBeginDateBefore: {
-        disabledDate: (time) => {
-          return time.getTime() > Date.now()
+    },
+    data() {
+      return {
+        restaurants1: [],
+        restaurants2: [],
+        restaurants3: [],
+        restaurants4: [],
+        type: "",
+        dialogVisible: false,
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        options_: regionData,
+        selectedOptions: [],
+        newSelectedOptions: '请选择货源所在地',
+        selectedOptions1: [],
+        newSelectedOptions1: '请选择交货所在地区',
+        // 提交类型
+        submitType: true,
+        tableData: [{
+          date: '',
+          name: '',
+          address: ''
+        }],
+
+        packtypeList: [],
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        rules: {
+          // contractNo: [
+          //   { required: true, message: '请输入合同编号', trigger: 'blur' },
+          //   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+          // ],
         },
-      },
-      ruleDeptBudget: {
-        contractNo: [
-          { required: true, message: '请输入活动名称', trigger: 'blur' },
+        options: [],
+        staffList: [],
+        appendixIdsAdd: '',
+        size: 10,
+        unitList: [],
+        agreementList: [{
+            constValue: '采购合同',
+            constKey: '1'
+          },
           {
-            min: 6,
-            max: 50,
-            message: '长度在 6 到 50 个字符',
-            trigger: 'blur',
+            constValue: '补充协议',
+            constKey: '2'
           },
         ],
-      },
-      selectIntendedShip: {},
-      interviewTypeList: {},
-    }
-  },
-  activated() {
-    this.selectedOptions=[]
-    this.selectedOptions1 = []
-    this.newSelectedOptions='请选择货源所在地'
-    this.newSelectedOptions1='请选择交货所在地'
-    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
-    getstafffind({ roles: 'd6a5c8a52da544309259f91f75de1ec6' })
-      .toPromise()
-      .then((response) => {
-        this.options = response
-        this.staffList = response
-      })
-    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]
+        contractNoList: [],
+        goodnameList: [],
+        value1: '袋装',
+        value2: '未回收',
+        gradeList: [],
+        ChapterTwoList: [],
+        agreementType: '',
+        deptBudgetList: {
+          deliverType: '1',
+          agreementType: '采购合同',
+          addressUrl: '',
+          finalTradingVolume: 0,
+          totalContractPrice: 0,
+          contractGoodsInfo: {
+            goodsName: '',
+          },
+          contractProcessInfo: {},
+          sourceGoods: '',
+          placeDelivery: '',
+        },
+        acceptanceCheck: {},
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        ruleDeptBudget: {
+          contractNo: [{
+              required: true,
+              message: '请输入活动名称',
+              trigger: 'blur'
+            },
+            {
+              min: 6,
+              max: 50,
+              message: '长度在 6 到 50 个字符',
+              trigger: 'blur',
+            },
+          ],
+        },
+        selectIntendedShip: {},
+        interviewTypeList: {},
       }
     },
-    mapInputClick(type){
-       this.dialogVisible = true
-       this.type=type
-    },
-      marker: function (item) {
-      this.deptBudgetList.warehousePositioning =
-        item.lnglat.lat + ',' + item.lnglat.lng
-    },
-        selectedAddress(e) {
-      this.deptBudgetList.warehousePositioning =
-        e.center.lat + ',' + e.center.lng
+    activated() {
+      this.selectedOptions = []
+      this.selectedOptions1 = []
+      this.newSelectedOptions = '请选择货源所在地'
+      this.newSelectedOptions1 = '请选择交货所在地'
+      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
+      getstafffind({
+          roles: 'd6a5c8a52da544309259f91f75de1ec6'
+        })
+        .toPromise()
+        .then((response) => {
+          this.options = response
+          this.staffList = response
+        })
+      this.loaddata()
+      this.showType = this.isShow
     },
-       provinceChange(e){
-      console.log(CodeToText[e])
+    mounted() {
+      this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
+      this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
+      this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
+      this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
+      if (!this.restaurants1) this.restaurants1 = [];
+      if (!this.restaurants2) this.restaurants2 = [];
+      if (!this.restaurants3) this.restaurants3 = [];
+      if (!this.restaurants4) this.restaurants4 = [];
     },
-    blurMap(){
+    methods: {
+      querySearch1(queryString, cb) {
+        var restaurants1 = this.restaurants1;
+        var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch2(queryString, cb) {
+        var restaurants2 = this.restaurants2;
+        var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch3(queryString, cb) {
+        var restaurants3 = this.restaurants3;
+        var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch4(queryString, cb) {
+        var restaurants4 = this.restaurants4;
+        var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
+      handleSelect(item) {
+        console.log(item);
+      },
+      getAddress(data) {
+        console.log("getAddress", data)
+        if (data[4] == 'source') {
+          this.newSelectedOptions = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.sourceProvince = data[0]
+          this.deptBudgetList.sourceCity = data[1]
+          this.deptBudgetList.sourceArea = data[2]
+          this.deptBudgetList.sourceGoods = data[3]
+        } else {
+          this.newSelectedOptions1 = data[0] + '/' + data[1] + '/' + data[2]
+          this.deptBudgetList.deliveryProvince = data[0]
+          this.deptBudgetList.deliveryCity = data[1]
+          this.deptBudgetList.deliveryArea = data[2]
+          this.deptBudgetList.placeDelivery = data[3]
+        }
+      },
+      mapInputClick(type) {
+        this.dialogVisible = true
+        this.type = type
+      },
+      marker: function(item) {
+        this.deptBudgetList.warehousePositioning =
+          item.lnglat.lat + ',' + item.lnglat.lng
+      },
+      selectedAddress(e) {
+        this.deptBudgetList.warehousePositioning =
+          e.center.lat + ',' + e.center.lng
+      },
+      provinceChange(e) {
+        console.log(CodeToText[e])
+      },
+      blurMap() {
         this.dialogVisible = false
-    },
-    focusMap(){
-      this.dialogVisible = true
-    },
-    dataFilter(val) {
-      this.deptBudgetList.personCharge = val
-      if (val) {
-        //val存在
-        this.options = this.staffList.filter((item) => {
-          if (
-            !!~item.staffName.indexOf(val) ||
-            !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
-          ) {
-            return true
+      },
+      focusMap() {
+        this.dialogVisible = true
+      },
+      dataFilter(val) {
+        this.deptBudgetList.personCharge = val
+        if (val) {
+          //val存在
+          this.options = this.staffList.filter((item) => {
+            if (
+              !!~item.staffName.indexOf(val) ||
+              !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
+            ) {
+              return true
+            }
+          })
+        } else {
+          //val为空时,还原数组
+          this.options = this.staffList
+        }
+      },
+      selectstaff(e) {
+        for (var i = 0; i < this.staffList.length; i++) {
+          if (this.staffList[i].staffName == e) {
+            this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
+            this.deptBudgetList.personChargeKey = this.staffList[i].staffId
           }
-        })
-      } else {
-        //val为空时,还原数组
-        this.options = this.staffList
-      }
-    },
-    selectstaff(e) {
-      for (var i = 0; i < this.staffList.length; i++) {
-        if (this.staffList[i].staffName == e) {
-          this.deptBudgetList.personPhone = this.staffList[i].staffMobilePhone
-          this.deptBudgetList.personChargeKey = this.staffList[i].staffId
         }
-      }
-    },
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose() {
-      this.dialogViewSpareMoney = false
-    },
-    handleChange(value) {
-      this.selectedOptions = value
-    },
-    handleChange1(value) {
-      this.selectedOptions1 = value
-    },
-    weightchange(e) {
-      this.deptBudgetList.finalTradingVolume = e
-    },
-    pricechange(e) {
-      this.deptBudgetList.totalContractPrice = e*this.deptBudgetList.weight
-    },
-    returnsales() {
-      this.$router.push({ path: 'buyContract' })
-    },
-    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
+      },
+      // 关闭 dialog时 处理文件url 初始化upload组件
+      handleClose() {
+        this.dialogViewSpareMoney = false
+      },
+      handleChange(value) {
+        this.selectedOptions = value
+      },
+      handleChange1(value) {
+        this.selectedOptions1 = value
+      },
+      weightchange(e) {
+        this.deptBudgetList.finalTradingVolume = e
+      },
+      pricechange(e) {
+        this.deptBudgetList.totalContractPrice = e * this.deptBudgetList.weight
+      },
+      returnsales() {
+        this.$router.push({
+          path: 'buyContract'
         })
-    },
-    selectRelation(e){
+      },
+      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) {
+          if (this.contractNoList[i].contractNo == e) {
             this.deptBudgetList = this.contractNoList[i]
             this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
+            this.deptBudgetList.contractNo = 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
+      },
+      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)
             }
           })
-          //
-          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 -
+      submit() {
+        if (!this.deptBudgetList.contractNo) {
+          this.$message({
+            message: '合同编号不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.contractNo.length < 6 ||
+          this.deptBudgetList.contractNo.length > 50
+        ) {
+          this.$message({
+            message: '合同编号长度不符合要求,请输入6到50个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.shippingType) {
+          this.$message({
+            message: '运输方式不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.shippingType.length < 1 ||
+          this.deptBudgetList.shippingType.length > 20
+        ) {
+          this.$message({
+            message: '运输方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyer) {
+          this.$message({
+            message: '买方名称不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.buyer.length > 30) {
+          this.$message({
+            message: '买方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.settlementMethod) {
+          this.$message({
+            message: '结算方式不能为空',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.settlementMethod.length < 1 ||
+          this.deptBudgetList.settlementMethod.length > 20
+        ) {
+          this.$message({
+            message: '结算方式长度不符合要求,请输入1到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.seller) {
+          this.$message({
+            message: '请输入卖方名称!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.deptBudgetList.seller.length > 30) {
+          this.$message({
+            message: '卖方名称长度不符合要求,请输入30个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.buyerPhone) {
+          this.$message({
+            message: '请输入买方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.buyerPhone)) {
+          this.$message({
+            message: '输入买方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.buyerPhone.length < 7 ||
+          this.deptBudgetList.buyerPhone.length > 20
+        ) {
+          this.$message({
+            message: '买方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sellerPhone) {
+          this.$message({
+            message: '请输入卖方电话!',
+            type: 'warning',
+          })
+          return
+        }
+        if (isNaN(this.deptBudgetList.sellerPhone)) {
+          this.$message({
+            message: '输入卖方电话有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          this.deptBudgetList.sellerPhone.length < 7 ||
+          this.deptBudgetList.sellerPhone.length > 20
+        ) {
+          this.$message({
+            message: '卖方电话长度不符合要求,请输入7到20个字符之内!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.acceptanceMethod) {
+          this.$message({
+            message: '请选择验收方式',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.weight) {
+          this.$message({
+            message: '请输入重量!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.weight) ||
+          (String(this.deptBudgetList.weight).indexOf('.') != -1 &&
+            String(this.deptBudgetList.weight).length -
             (String(this.deptBudgetList.weight).indexOf('.') + 1) >
             3) ||
-        this.deptBudgetList.weight < 0 ||
-        this.deptBudgetList.weight > 200000
-      ) {
-        this.$message({
-          message: '输入重量有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateStart) {
-        this.$message({
-          message: '请选择交货日期(起)',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.overShort){
-        this.$message({
-          message: '请输入溢短装!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.overShort) ||
-        (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
-          String(this.deptBudgetList.overShort).length -
-            (String(this.deptBudgetList.overShort).indexOf('.') + 1) >
-            2) ||
-        this.deptBudgetList.overShort < 0 ||
-        this.deptBudgetList.overShort > 50
-      ) {
-        this.$message({
-          message: '溢短装输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.deliveryDateEnd) {
-        this.$message({
-          message: '请选择交货日期(止)',
-          type: 'warning',
-        })
-        return
-      }
-       //时间
-      if (
-        new Date(this.deptBudgetList.deliveryDateStart).getTime() >
-        new Date(this.deptBudgetList.deliveryDateEnd).getTime()
-      ) {
-        this.$message({
-          message: '交货日期(止)选择错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.unitContractPrice) {
-        this.$message({
-          message: '请输入合同单价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.unitContractPrice) ||
-        (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.unitContractPrice).length -
+          this.deptBudgetList.weight < 0 ||
+          this.deptBudgetList.weight > 200000
+        ) {
+          this.$message({
+            message: '输入重量有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateStart) {
+          this.$message({
+            message: '请选择交货日期(起)',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.overShort) {
+          this.$message({
+            message: '请输入溢短装!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.overShort) ||
+          (String(this.deptBudgetList.overShort).indexOf('.') != -1 &&
+            String(this.deptBudgetList.overShort).length -
+            (String(this.deptBudgetList.overShort).indexOf('.') + 1) >
+            2) ||
+          this.deptBudgetList.overShort < 0 ||
+          this.deptBudgetList.overShort > 50
+        ) {
+          this.$message({
+            message: '溢短装输入有误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.deliveryDateEnd) {
+          this.$message({
+            message: '请选择交货日期(止)',
+            type: 'warning',
+          })
+          return
+        }
+        //时间
+        if (
+          new Date(this.deptBudgetList.deliveryDateStart).getTime() >
+          new Date(this.deptBudgetList.deliveryDateEnd).getTime()
+        ) {
+          this.$message({
+            message: '交货日期(止)选择错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.unitContractPrice) {
+          this.$message({
+            message: '请输入合同单价!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.unitContractPrice) ||
+          (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
+            String(this.deptBudgetList.unitContractPrice).length -
             (String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
             2) ||
-        this.deptBudgetList.unitContractPrice <= 0 ||
-        this.deptBudgetList.unitContractPrice > 10000
-      ) {
-        this.$message({
-          message: '合同单价输入有误!',
-          type: 'warning',
-        })
-        return
-      }
-      if (!this.deptBudgetList.totalContractPrice) {
-        this.$message({
-          message: '请输入合同总价!',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        isNaN(this.deptBudgetList.totalContractPrice) ||
-        (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
-          String(this.deptBudgetList.totalContractPrice).length -
+          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 -
+          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 -
+          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 -
+          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 -
+          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(
+            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 -
+            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 -
+            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('.') +
+                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) ||
+            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 &&
+            String(this.deptBudgetList.contractProcessInfo.waterContent).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.waterContent
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.waterContent
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '费用支出输入错误',
-          type: 'warning',
-        })
-        return
-      }
-      if (
-        (this.deptBudgetList.contractProcessInfo.goodsName > 1000000000) |
+        ) {
+          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(
+          (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.$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(
+          (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.$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 &&
+            String(this.deptBudgetList.contractProcessInfo.mildewGrain).length -
             (String(
-              this.deptBudgetList.contractProcessInfo.mildewGrain
-            ).indexOf('.') +
+                this.deptBudgetList.contractProcessInfo.mildewGrain
+              ).indexOf('.') +
               1) >
             2)
-      ) {
-        this.$message({
-          message: '未回款金额输入错误',
-          type: 'warning',
+        ) {
+          this.$message({
+            message: '未回款金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        this.$refs.deptBudgetList.validate((valid) => {
+          if (valid) {
+            this.deptBudgetList.compId = this.compId
+            this.deptBudgetList.contractType = 2
+            this.deptBudgetList.goodsType = 1
+            addList(this.deptBudgetList)
+              .toPromise()
+              .then((response) => {
+                // 存储买方、卖方、买方电话、卖方电话
+                let _data = {
+                  byer: this.deptBudgetList.buyer,
+                  seller: this.deptBudgetList.seller,
+                  buyerPhone: this.deptBudgetList.buyerPhone,
+                  sellerPhone: this.deptBudgetList.sellerPhone
+                }
+                if (this.restaurants1.length <= 20) {
+                  this.restaurants1 = this.restaurants1.filter(function(val) {
+                    if (val.value != _data.byer) {
+                      return val
+                    }
+                  })
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  })
+                } else {
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  }).pop({
+                    value: _data.byer
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants2 = this.restaurants2.filter(function(val) {
+                    if (val.value != _data.seller) {
+                      return val
+                    }
+                  })
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  })
+                } else {
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  }).pop({
+                    value: _data.seller
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants3 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.buyerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  })
+                } else {
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  }).pop({
+                    value: _data.buyerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
+                if (this.restaurants4.length <= 20) {
+                  this.restaurants4 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.sellerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  })
+                } else {
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  }).pop({
+                    value: _data.sellerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
+                this.$message.success('添加成功')
+                this.deptBudgetList = {
+                  deliverType: '1',
+                  agreementType: '采购合同',
+                  finalTradingVolume: 0,
+                  totalContractPrice: 0,
+                  contractGoodsInfo: {
+                    goodsName: '',
+                  },
+                  contractProcessInfo: {},
+                  addressUrl: '',
+                }
+                this.$router.push({
+                  path: 'buyContract'
+                })
+              })
+          } else {
+            EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            return false
+          }
         })
-        return
-      }
-      this.$refs.deptBudgetList.validate((valid) => {
-        if (valid) {
-          this.deptBudgetList.compId = this.compId
-          this.deptBudgetList.contractType = 2
-          this.deptBudgetList.goodsType = 1
-          addList(this.deptBudgetList)
+      },
+      resetForm(deptBudgetList) {
+        this.$refs[deptBudgetList].resetFields()
+      },
+      //选择合同类型
+      selectType(e) {
+        for (var i = 0; i < this.invoiceList.length; i++) {
+          if (this.agreementList[i].constValue == e) {
+            this.deptBudgetList.agreementType = this.agreementList[i].constValue
+          }
+        }
+      },
+      addClick() {
+        this.unitList.push({
+          flag: 'add',
+          constValue: '',
+          constKey: '',
+        })
+      },
+      saveClick(item, index) {
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          this.$set(this.unitList, index, {
+            flag: 'check'
+          })
+        } else {
+          this.$set(this.unitList, index, {
+            flag: 'delete'
+          })
+        }
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        if (item.flag == 'add') {
+          item.constKey = Math.random() * 20
+          this.acceptanceCheck.compId = this.compId
+          this.acceptanceCheck.constKey = item.constKey
+          this.acceptanceCheck.constCode = 'TYPEYAN'
+          this.acceptanceCheck.constValue = item.constValue
+          this.acceptanceCheck.id = item.id
+          addxiala(this.acceptanceCheck)
             .toPromise()
             .then((response) => {
-              this.$message.success('添加成功')
-              this.deptBudgetList = {
-                deliverType: '1',
-                agreementType:'采购合同',
-                finalTradingVolume: 0,
-                totalContractPrice:0,
-                contractGoodsInfo: {
-                  goodsName: '',
-                },
-                contractProcessInfo: {},
-                addressUrl:'',
-              }
-              this.$router.push({ path: 'buyContract' })
+              this.getUnitList()
+            })
+        } else if (item.flag == 'check') {
+          this.acceptanceCheck.compId = this.compId
+          this.acceptanceCheck.constKey = item.constKey
+          this.acceptanceCheck.constCode = 'TYPEYAN'
+          this.acceptanceCheck.constValue = item.constValue
+          this.acceptanceCheck.id = item.id
+          editxiala(this.acceptanceCheck)
+            .toPromise()
+            .then((response) => {
+              this.getUnitList()
             })
+        }
+      },
+      selectChapterTwo(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+          }
+        }
+      },
+      selectunitList(e) {
+        for (var i = 0; i < this.unitList.length; i++) {
+          if (this.unitList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
+          }
+        }
+      },
+      selectgrade(e) {
+        for (var i = 0; i < this.gradeList.length; i++) {
+          if (this.gradeList[i].constValue == e) {
+            this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+          }
+        }
+      },
+      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.packingMethodKey = this.packtypeList[i].constKey
+          }
+        }
+      },
+      // 编辑
+      editClick(item, index) {
+        const map = JSON.parse(JSON.stringify(item))
+        if (Object.is(item.id, 1)) {
+          return
+        }
+        if (Object.is(this.unitList[index].flag, 'delete')) {
+          map.flag = 'check'
+          this.$set(this.unitList, index, map)
         } else {
-           EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
-          return false
+          map.flag = 'delete'
+          this.$set(this.unitList, index, map)
         }
-      })
-    },
-    resetForm(deptBudgetList) {
-      this.$refs[deptBudgetList].resetFields()
-    },
-    //选择合同类型
-    selectType(e) {
-      for (var i = 0; i < this.invoiceList.length; i++) {
-        if (this.agreementList[i].constValue == e) {
-          this.deptBudgetList.agreementType = this.agreementList[i].constValue
+      },
+      // 删除
+      deleteClick(item, index) {
+        if (Object.is(item.constKey, 1)) {
+          return
         }
-      }
-    },
-    addClick() {
-      this.unitList.push({
-        flag: 'add',
-        constValue: '',
-        constKey: '',
-      })
-    },
-    saveClick(item, index) {
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        this.$set(this.unitList, index, { flag: 'check' })
-      } else {
-        this.$set(this.unitList, index, { flag: 'delete' })
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      if (item.flag == 'add') {
-        item.constKey = Math.random() * 20
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        addxiala(this.acceptanceCheck)
-          .toPromise()
-          .then((response) => {
-            this.getUnitList()
+        if (!item.constValue) {
+          this.unitList.splice(index, 1)
+          return
+        }
+        delxiala({
+            id: this.unitList[index].id
           })
-      } else if (item.flag == 'check') {
-        this.acceptanceCheck.compId = this.compId
-        this.acceptanceCheck.constKey = item.constKey
-        this.acceptanceCheck.constCode = 'TYPEYAN'
-        this.acceptanceCheck.constValue = item.constValue
-        this.acceptanceCheck.id = item.id
-        editxiala(this.acceptanceCheck)
           .toPromise()
           .then((response) => {
             this.getUnitList()
+            this.pleaseChoose = ''
           })
-      }
-    },
-    selectChapterTwo(e) {
-      for (var i = 0; i < this.ChapterTwoList.length; i++) {
-        if (this.ChapterTwoList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
-        }
-      }
-    },
-    selectunitList(e) {
-      for (var i = 0; i < this.unitList.length; i++) {
-        if (this.unitList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
-        }
-      }
-    },
-    selectgrade(e) {
-      for (var i = 0; i < this.gradeList.length; i++) {
-        if (this.gradeList[i].constValue == e) {
-          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
-        }
-      }
-    },
-    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.packingMethodKey = this.packtypeList[i].constKey
-        }
-      }
-    },
-    // 编辑
-    editClick(item, index) {
-      const map = JSON.parse(JSON.stringify(item))
-      if (Object.is(item.id, 1)) {
-        return
-      }
-      if (Object.is(this.unitList[index].flag, 'delete')) {
-        map.flag = 'check'
-        this.$set(this.unitList, index, map)
-      } else {
-        map.flag = 'delete'
-        this.$set(this.unitList, index, map)
-      }
-    },
-    // 删除
-    deleteClick(item, index) {
-      if (Object.is(item.constKey, 1)) {
-        return
-      }
-      if (!item.constValue) {
-        this.unitList.splice(index, 1)
-        return
-      }
-      delxiala({ id: this.unitList[index].id })
-        .toPromise()
-        .then((response) => {
-          this.getUnitList()
-          this.pleaseChoose = ''
-        })
+      },
     },
-  },
-}
+  }
 </script>
 
 <style lang="scss" scoped>
-.el-form {
-  padding: 0 15%;
-}
-/deep/.ws-info-table .el-form-item {
-  border-right: 1px solid #cdd2dc;
-  border-bottom: 1px solid #cdd2dc;
-}
-.readonly {
-  position: relative;
-}
-.readonly:after {
-  content: '*';
-  color: #ff2727;
-  position: absolute;
-  right: 8px;
-  z-index: 10;
-  top: 21%;
-  font-size: 20px;
-}
-.title {
-  position: relative;
-}
-.title::before {
-  content: '';
-  display: inline-block;
-  width: 5px;
-  height: 30px;
-  background: #5473e8;
-  position: absolute;
-  left: 0;
-}
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
-.el-col {
-  background: #f6f7fc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__content {
-  padding: 0 25px;
-  border-left: 1px solid #cdd2dc;
-  background: #fafbfc;
-}
-/deep/.ws-info-table .el-form-item .el-form-item__label {
-  width: 140px;
-  text-align: center;
-  background: #f0f2f6;
-  // border: 1px solid #cdd2dc;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
+  .el-form {
+    padding: 0 15%;
+  }
+
+  /deep/.ws-info-table .el-form-item {
+    border-right: 1px solid #cdd2dc;
+    border-bottom: 1px solid #cdd2dc;
+  }
+
+  .readonly {
+    position: relative;
+  }
+
+  .readonly:after {
+    content: '*';
+    color: #ff2727;
+    position: absolute;
+    right: 8px;
+    z-index: 10;
+    top: 21%;
+    font-size: 20px;
+  }
+
+  .title {
+    position: relative;
+  }
+
+  .title::before {
+    content: '';
+    display: inline-block;
+    width: 5px;
+    height: 30px;
+    background: #5473e8;
+    position: absolute;
+    left: 0;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-col {
+    background: #f6f7fc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__content {
+    padding: 0 25px;
+    border-left: 1px solid #cdd2dc;
+    background: #fafbfc;
+  }
+
+  /deep/.ws-info-table .el-form-item .el-form-item__label {
+    width: 140px;
+    text-align: center;
+    background: #f0f2f6;
+    // border: 1px solid #cdd2dc;
+  }
+
+  .button-container {
     display: flex;
     flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
+    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;
 
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
+      &>span {
+        line-height: 50px;
+      }
     }
-    &/deep/.auditFlow-main {
-      position: absolute;
+
+    /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;
+
+  .box-app {
+    display: inline-block;
+    float: left;
+    margin-left: 30px;
+    line-height: 50px;
+  }
+
+  /deep/.el-dialog {
+    .el-form-item {
+      margin-bottom: 0 !important;
+
+      .el-input--medium {
+        textarea {
+          min-height: 100px !important;
+        }
       }
     }
   }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-.bg-left {
-  padding-left: 30px;
-}
-.bg-right {
-  padding-right: 10px;
-  text-align: right;
-}
-.bg-bottom {
-  margin: 15px 0px;
-}
-.wenzi h3 {
-  display: inline-block;
-  left: 10px;
-}
-.wenzi p {
-  display: inline-block;
-}
-.upload-demo {
-  margin-top: 10px;
-}
-.center {
-  width: 70%;
-  margin: 0 auto;
-}
-.el-form-item {
-  width: 50%;
-}
-.el-form-item__label {
-  text-align: center;
-}
-.ce {
-  width: 900px;
-  margin: 0 auto;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
+
+  .collapse-bottom {
+    margin-bottom: 20px;
   }
-  .el-icon-arrow-up {
-    display: none;
+
+  .input-main .textarea .el-textarea__inner {
+    width: 100%;
+    z-index: 1;
   }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
+
+  .bg-left {
+    padding-left: 30px;
   }
-  .el-date-editor {
-    i {
-      display: none;
-    }
+
+  .bg-right {
+    padding-right: 10px;
+    text-align: right;
   }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
+
+  .bg-bottom {
+    margin: 15px 0px;
+  }
+
+  .wenzi h3 {
+    display: inline-block;
+    left: 10px;
+  }
+
+  .wenzi p {
+    display: inline-block;
+  }
+
+  .upload-demo {
+    margin-top: 10px;
+  }
+
+  .center {
+    width: 70%;
+    margin: 0 auto;
+  }
+
+  .el-form-item {
+    width: 50%;
+  }
+
+  .el-form-item__label {
+    text-align: center;
+  }
+
+  .ce {
+    width: 900px;
+    margin: 0 auto;
+  }
+
+  /*.crt-main .textarea /deep/ .el-form-item__label {*/
+  /*  height: 82px;*/
+  /*}*/
+  // 控制select为只读的时候显示样式
+
+  .hide-sel {
     .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
+      border: 0px;
     }
+
+    .el-icon-arrow-up {
+      display: none;
+    }
+
     .el-textarea__inner {
       background-color: #fff !important;
       border: 0;
+    }
+
+    .el-date-editor {
+      i {
+        display: none;
+      }
+    }
+
+    .is-disabled {
+      .el-input__inner:hover {
+        background-color: #fff !important;
+        border: 0;
+      }
+
       color: #606266;
+
+      .el-input__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
+
+      .el-textarea__inner {
+        background-color: #fff !important;
+        border: 0;
+        color: #606266;
+      }
     }
   }
-}
 
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
+  // 控制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 {
+
+  /deep/.is-disabled {
+    .el-input__prefix,
+    .el-input__suffix {
+      display: none;
+    }
+
+    .el-input__inner {
+      background-color: #fff;
+      border-color: #fff !important;
+      color: #000 !important;
+      font-size: 14px;
+      cursor: text;
+      padding: 0 !important;
+    }
+  }
+
+  .winseaview-view {
+    padding: 0 0 20px;
+  }
+
+  .container {
+    overflow: scroll;
+    height: 93vh;
+  }
+
+  /deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
+    width: 130px;
+  }
+
+  .el-textarea {
+    width: 101%;
+  }
+
+  .addressUrls {
+    width: 100%;
+    display: flex;
+    margin-top: 10px;
+  }
+
+  .addressUrls-item {
+    position: relative;
+    display: flex;
+  }
+
+  .icon-guanbi {
+    position: absolute;
+    right: 8px;
+  }
+
+  .addressUrl {
+    margin: 0px 10px;
+    border-radius: 3px;
+  }
+
+  //上传文件成功标识
+  /deep/.el-upload-list__item-status-label {
+    position: absolute;
+    right: 22px;
+    top: -1px;
+    line-height: inherit;
     display: none;
   }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
+
+  .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;
+  }
+
+  .inline-input {
+    width: 100%;
   }
-}
-.winseaview-view {
-  padding: 0 0 20px;
-}
-.container {
-  overflow: scroll;
-  height: 93vh;
-}
-/deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
-  width: 130px;
-}
-.el-textarea {
-  width: 101%;
-}
-.addressUrls {
-  width: 100%;
-  display: flex;
-  margin-top: 10px;
-}
-.addressUrls-item {
-  position: relative;
-  display: flex;
-}
-.icon-guanbi {
-  position: absolute;
-  right: 8px;
-}
-.addressUrl {
-  margin: 0px 10px;
-  border-radius: 3px;
-}
-//上传文件成功标识
-/deep/.el-upload-list__item-status-label {
-  position: absolute;
-  right: 22px;
-  top: -1px;
-  line-height: inherit;
-  display: none;
-}
-.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>
+</style>

+ 4 - 4
src/views/contractManagement/purchaseContractEdit.vue

@@ -42,12 +42,12 @@
         <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">
+        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
           {{ deptBudgetList.agreementNo }}
         </ws-form-item>
+        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
         <!-- 运输方式 -->
         <ws-form-item label="运输方式" span="1" prop="shippingType">
           <ws-input

+ 4 - 4
src/views/contractManagement/purchaseContractExamine.vue

@@ -72,12 +72,12 @@
         <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">
+        <ws-form-item label="关联合同" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="agreementNo">
           {{ deptBudgetList.agreementNo }}
         </ws-form-item>
+        <ws-form-item label="补充协议编号" v-if="deptBudgetList.agreementType=='补充协议'" span="1" prop="contractNo">
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
         <ws-form-item label="运输方式" span="1" prop="shippingType">
           {{ deptBudgetList.shippingType }}
         </ws-form-item>

+ 146 - 11
src/views/contractManagement/salesContractAdd.vue

@@ -34,16 +34,16 @@
               :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"
+          <ws-form-item prop="agreementNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'">
+            <ws-select v-model="deptBudgetList.agreementNo" placeholder="请选择编号" @change="selectRelation">
+              <ws-option v-for="item in contractNoList" :key="item.constKey" :label="item.agreementNo"
                 :value="item.contractNo"></ws-option>
             </ws-select>
           </ws-form-item>
           <!--补充协议编号-->
-          <ws-form-item label="补充协议编号" span="1" prop="agreementNo" class="readonly"
+          <ws-form-item label="补充协议编号" span="1" prop="contractNo" class="readonly"
             v-if="deptBudgetList.agreementType == '补充协议'">
-            <ws-input v-model="deptBudgetList.agreementNo" placeholder="请输入补充协议编号" maxlength="50" size="small"
+            <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入补充协议编号" maxlength="50" size="small"
               :rules="ruleDeptBudget" />
           </ws-form-item>
           <!--运输方式-->
@@ -52,7 +52,9 @@
           </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-input v-model="deptBudgetList.buyer" placeholder="请输入买方名称" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyer" :fetch-suggestions="querySearch1"
+              placeholder="请输入买方名称" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--结算方式-->
           <ws-form-item label="结算方式" span="1" prop="settlementMethod">
@@ -60,7 +62,9 @@
           </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-input v-model="deptBudgetList.seller" placeholder="请输入卖方名称" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.seller" :fetch-suggestions="querySearch2"
+              placeholder="请输入卖方名称" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
             <el-radio v-model="deptBudgetList.deliverType" label="1">我方送货</el-radio>
@@ -68,7 +72,9 @@
           </ws-form-item>
           <!--买方电话-->
           <ws-form-item label="买方电话" span="1" prop="contractNo">
-            <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" />
+            <!-- <ws-input v-model.number="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+              placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--包装方式-->
           <ws-form-item label="包装方式" span="1" prop="packingMethod">
@@ -80,7 +86,9 @@
           </ws-form-item>
           <!--卖方电话-->
           <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-            <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" />
+            <!-- <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖方电话" maxlength="100" size="small" /> -->
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.sellerPhone" :fetch-suggestions="querySearch4"
+              placeholder="请输入卖方电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
@@ -371,6 +379,10 @@
     },
     data() {
       return {
+        restaurants1: [],
+        restaurants2: [],
+        restaurants3: [],
+        restaurants4: [],
         //弹出框
         dialogViewSpareMoney: false,
         dialogApproveFormVisible: false,
@@ -416,8 +428,8 @@
           },
           contractProcessInfo: {},
           addressUrl: '',
-          sourceGoods:'',
-          placeDelivery:'',
+          sourceGoods: '',
+          placeDelivery: '',
         },
         pickerBeginDateBefore: {
           disabledDate: (time) => {
@@ -462,7 +474,49 @@
       this.loaddata()
       this.showType = this.isShow
     },
+    mounted() {
+      this.restaurants1 = JSON.parse(localStorage.getItem('deptBudgetList_data1'));
+      this.restaurants2 = JSON.parse(localStorage.getItem('deptBudgetList_data2'));
+      this.restaurants3 = JSON.parse(localStorage.getItem('deptBudgetList_data3'));
+      this.restaurants4 = JSON.parse(localStorage.getItem('deptBudgetList_data4'));
+      if (!this.restaurants1) this.restaurants1 = [];
+      if (!this.restaurants2) this.restaurants2 = [];
+      if (!this.restaurants3) this.restaurants3 = [];
+      if (!this.restaurants4) this.restaurants4 = [];
+    },
     methods: {
+      querySearch1(queryString, cb) {
+        var restaurants1 = this.restaurants1;
+        var results = queryString ? restaurants1.filter(this.createFilter(queryString)) : restaurants1;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch2(queryString, cb) {
+        var restaurants2 = this.restaurants2;
+        var results = queryString ? restaurants2.filter(this.createFilter(queryString)) : restaurants2;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch3(queryString, cb) {
+        var restaurants3 = this.restaurants3;
+        var results = queryString ? restaurants3.filter(this.createFilter(queryString)) : restaurants3;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      querySearch4(queryString, cb) {
+        var restaurants4 = this.restaurants4;
+        var results = queryString ? restaurants4.filter(this.createFilter(queryString)) : restaurants4;
+        // 调用 callback 返回建议列表的数据
+        cb(results);
+      },
+      createFilter(queryString) {
+        return (restaurant) => {
+          return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
+        };
+      },
+      handleSelect(item) {
+        console.log(item);
+      },
       marker: function(item) {
         this.deptBudgetList.warehousePositioning =
           item.lnglat.lat + ',' + item.lnglat.lng
@@ -558,6 +612,7 @@
           if (this.contractNoList[i].contractNo == e) {
             this.deptBudgetList = this.contractNoList[i]
             this.deptBudgetList.agreementNo = this.contractNoList[i].contractNo
+            this.deptBudgetList.contractNo = this.contractNoList[i].contractNo
             this.deptBudgetList.agreementType = '补充协议'
           }
         }
@@ -1181,6 +1236,81 @@
             addList(this.deptBudgetList)
               .toPromise()
               .then((response) => {
+                // 存储买方、卖方、买方电话、卖方电话
+                let _data = {
+                  byer: this.deptBudgetList.buyer,
+                  seller: this.deptBudgetList.seller,
+                  buyerPhone: this.deptBudgetList.buyerPhone,
+                  sellerPhone: this.deptBudgetList.sellerPhone
+                }
+                if (this.restaurants1.length <= 20) {
+                  this.restaurants1 = this.restaurants1.filter(function(val) {
+                    if (val.value != _data.byer) {
+                      return val
+                    }
+                  })
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  })
+                } else {
+                  this.restaurants1.unshift({
+                    value: _data.byer
+                  }).pop({
+                    value: _data.byer
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data1', JSON.stringify(this.restaurants1));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants2 = this.restaurants2.filter(function(val) {
+                    if (val.value != _data.seller) {
+                      return val
+                    }
+                  })
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  })
+                } else {
+                  this.restaurants2.unshift({
+                    value: _data.seller
+                  }).pop({
+                    value: _data.seller
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data2', JSON.stringify(this.restaurants2));
+                if (this.restaurants2.length <= 20) {
+                  this.restaurants3 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.buyerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  })
+                } else {
+                  this.restaurants3.unshift({
+                    value: _data.buyerPhone
+                  }).pop({
+                    value: _data.buyerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data3', JSON.stringify(this.restaurants3));
+                if (this.restaurants4.length <= 20) {
+                  this.restaurants4 = this.restaurants3.filter(function(val) {
+                    if (val.value != _data.sellerPhone) {
+                      return val
+                    }
+                  })
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  })
+                } else {
+                  this.restaurants4.unshift({
+                    value: _data.sellerPhone
+                  }).pop({
+                    value: _data.sellerPhone
+                  })
+                }
+                localStorage.setItem('deptBudgetList_data4', JSON.stringify(this.restaurants4));
                 this.$message.success('添加成功')
                 this.deptBudgetList = {
                   deliverType: '1',
@@ -1193,6 +1323,7 @@
                   contractProcessInfo: {},
                 }
 
+
                 this.$router.push({
                   path: 'salesContract',
                 })
@@ -1698,4 +1829,8 @@
     width: 100%;
     text-align: left;
   }
+
+  .inline-input {
+    width: 100%;
+  }
 </style>

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

@@ -23,14 +23,14 @@
         <!--基本信息-->
         <ws-info-table>
           <!--合同类型-->
-          <ws-form-item label="合同类型" span="1" class="readonly">
+          <ws-form-item label="合同类型" span="1">
             <div class="unchanged">
-              {{ deptBudgetList.agreementType1 }}
+              {{ deptBudgetList.agreementType}}
             </div>
             <span class="unchangeable">*</span>
           </ws-form-item>
           <!--合同编号-->
-          <ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly"
+          <ws-form-item label="合同编号" span="1" prop="contractNo"
             v-if="deptBudgetList.agreementType == '销售合同'">
             <div class="unchanged">
               {{ deptBudgetList.contractNo }}
@@ -38,14 +38,19 @@
             <span class="unchangeable">*</span>
           </ws-form-item>
           <!--关联合同-->
-          <ws-form-item prop="contractNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'"
-            class="readonly">
-            {{ deptBudgetList.contractNo }}
+          <ws-form-item prop="agreementNo" label="关联合同" span="1" v-if="deptBudgetList.agreementType == '补充协议'">
+             <div class="unchanged">
+            {{ deptBudgetList.agreementNo }}
+            </div>
+            <span class="unchangeable">*</span>
           </ws-form-item>
           <!--补充协议编号-->
-          <ws-form-item label="补充协议编号" span="1" prop="agreementNo" class="readonly"
+          <ws-form-item label="补充协议编号" span="1" prop="contractNo"
             v-if="deptBudgetList.agreementType == '补充协议'">
-            {{ deptBudgetList.agreementNo }}
+              <div class="unchanged">
+            {{ deptBudgetList.contractNo }}
+            </div>
+            <span class="unchangeable">*</span>
           </ws-form-item>
           <!--运输方式-->
           <ws-form-item label="运输方式" span="1" prop="contractNo">

+ 20 - 5
src/views/contractManagement/salesContractExamine.vue

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

File diff suppressed because it is too large
+ 729 - 1030
src/views/login/index.vue


Some files were not shown because too many files changed in this diff