gjy 3 éve
szülő
commit
856ad21375

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

@@ -16,6 +16,8 @@ export const API_POST_CUSTOM_DOWN_DELETE = '/customDropDown/api/saveDelete'
 export const API_POST_EXPORT = '/contractManagementInfo/export'
 export const API_POST_EXPORT = '/contractManagementInfo/export'
 // 代收导出
 // 代收导出
 export const API_POST_EXPORT1 = '/contractManagementInfo/exportCollection'
 export const API_POST_EXPORT1 = '/contractManagementInfo/exportCollection'
+// 代储导出
+export const API_POST_EXPORT2 = '/contractManagementInfo/exportStorageFee'
 // 操作历史
 // 操作历史
 export const API_GET_BILL_OPERATE_HIS = '/billOperateHis/query/commonBillOperateHis'
 export const API_GET_BILL_OPERATE_HIS = '/billOperateHis/query/commonBillOperateHis'
 // 修改状态
 // 修改状态

+ 4 - 1
src/model/contarct/index.js

@@ -34,7 +34,8 @@ import {
     API_POST_RECORDEXPORT,
     API_POST_RECORDEXPORT,
     API_POST_COLLECTMONEY,
     API_POST_COLLECTMONEY,
     API_POST_PAYMONEY,
     API_POST_PAYMONEY,
-    API_POST_INVOICING
+    API_POST_INVOICING,
+    API_POST_EXPORT2
 } from '@/api/V2/contract'
 } from '@/api/V2/contract'
 // 列表
 // 列表
 export const getList = appRx.get(API_GET_CONTRACT_TENANT, errorCatcher, errorHandle, filter)
 export const getList = appRx.get(API_GET_CONTRACT_TENANT, errorCatcher, errorHandle, filter)
@@ -53,6 +54,8 @@ export const delxiala = appRx.post(API_POST_CUSTOM_DOWN_DELETE, errorCatcher, er
 export const export1 = appRx.get(API_POST_EXPORT)
 export const export1 = appRx.get(API_POST_EXPORT)
 // 代收导出
 // 代收导出
 export const export2 = appRx.get(API_POST_EXPORT1)
 export const export2 = appRx.get(API_POST_EXPORT1)
+// 代储导出
+export const export3 = appRx.get(API_POST_EXPORT2)
 // 操作历史
 // 操作历史
 export const billoperatehis = appRx.get(API_GET_BILL_OPERATE_HIS, errorCatcher, errorHandle, filter)
 export const billoperatehis = appRx.get(API_GET_BILL_OPERATE_HIS, errorCatcher, errorHandle, filter)
 // 修改状态
 // 修改状态

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

@@ -518,7 +518,7 @@
           res: data,
           res: data,
           fileName: `${
           fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
-        }_采购合同`,
+        }_代收合同`,
           type: 'xls',
           type: 'xls',
         })
         })
       },
       },

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

@@ -176,7 +176,7 @@
         deliver_type: 1,
         deliver_type: 1,
         deptBudgetTotal: 0,
         deptBudgetTotal: 0,
         currentPage: 1,
         currentPage: 1,
-        pageSize: 10,
+        pageSize: 9999                                                                                                                      ,
         appendixIdsAdd: '',
         appendixIdsAdd: '',
         searchType: 1,
         searchType: 1,
         searchTypeText: '未完成',
         searchTypeText: '未完成',
@@ -496,7 +496,7 @@
           res: data,
           res: data,
           fileName: `${
           fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
-        }_采购合同`,
+        }_销售合同`,
           type: 'xls',
           type: 'xls',
         })
         })
       },
       },

+ 36 - 20
src/views/contractManagement/storageContract.vue

@@ -42,18 +42,19 @@
       <el-table-column prop="buyer" label="买方"> </el-table-column>
       <el-table-column prop="buyer" label="买方"> </el-table-column>
       <el-table-column prop="seller" label="卖方"> </el-table-column>
       <el-table-column prop="seller" label="卖方"> </el-table-column>
       <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
       <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
-      <el-table-column prop="completed" label="已完成(吨)">
+      <el-table-column prop="completedQuantity" label="已完成(吨)">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <span style="color: #5473e8; font-weight: 600">{{
           <span style="color: #5473e8; font-weight: 600">{{
-            scope.row.completed
+            scope.row.completedQuantity
           }}</span>
           }}</span>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <el-table-column prop="amountIngPayable" label="应付(元)"> </el-table-column>
-      <el-table-column prop="amountEdPayableNew" label="已付(元)"> </el-table-column>
-      <el-table-column prop="amountNotCollectable" label="应收(元)"> </el-table-column>
-      <el-table-column prop="amountEdCollectionable" label="已收(元)"> </el-table-column>
-      <el-table-column width='200' prop="invoiced" label="已开销售发票(元)"> </el-table-column>
+      <el-table-column prop="grainMoney" label="粮款(元)"> </el-table-column>
+      <el-table-column prop="storageFeeNew" label="代储费(元)"> </el-table-column>
+      <el-table-column width='120' prop="total" label="合计应收(元)"> 
+      </el-table-column>
+      <el-table-column prop="received" label="已收(元)"> </el-table-column>
+      <el-table-column width='120' prop="goodsNames" label="已开发票(元)"> </el-table-column>
       <el-table-column prop="status" label="状态">
       <el-table-column prop="status" label="状态">
         <template slot-scope="scope">
         <template slot-scope="scope">
           <span v-if="scope.row.approveStatus">{{
           <span v-if="scope.row.approveStatus">{{
@@ -152,7 +153,7 @@
 <script>
 <script>
   import {
   import {
     getList,
     getList,
-    export2,
+    export3,
     editstatus,
     editstatus,
     billoperatehis,
     billoperatehis,
     deletecontract,
     deletecontract,
@@ -373,7 +374,20 @@
               if (response.records[i].completedQuantity) {
               if (response.records[i].completedQuantity) {
                 response.records[i].completedQuantity = response.records[i].completedQuantity.toFixed(3)
                 response.records[i].completedQuantity = response.records[i].completedQuantity.toFixed(3)
               }
               }
-
+              if(response.records[i].grainMoney&&response.records[i].storageFeeNew){
+                response.records[i].total = response.records[i].grainMoney+response.records[i].storageFeeNew
+              }else if(response.records[i].grainMoney){
+                response.records[i].total = response.records[i].grainMoney
+              }else if(response.records[i].storageFeeNew){
+                response.records[i].total = response.records[i].storageFeeNew
+              }
+               if(response.records[i].grainMoneyEd&&response.records[i].depositReceived){
+                response.records[i].received = response.records[i].grainMoneyEd+response.records[i].depositReceived
+              }else if(response.records[i].grainMoneyEd){
+                response.records[i].received = response.records[i].grainMoneyEd
+              }else if(response.records[i].depositReceived){
+                response.records[i].received = response.records[i].depositReceived
+              }
               if (response.records[i].addressUrl != null) {
               if (response.records[i].addressUrl != null) {
                 if (response.records[i].addressUrl) {
                 if (response.records[i].addressUrl) {
                   response.records[i].addressUrlArray =
                   response.records[i].addressUrlArray =
@@ -502,16 +516,18 @@
       async exportlist() {
       async exportlist() {
         const {
         const {
           data
           data
-        } = await export2({
-          compId: localStorage.getItem('ws-pf_compId'),
-          contractType: this.contractType,
-          goodsType: this.goodsType,
-          currentPage: this.currentPage,
-          pageSize: this.pageSize,
-          searchType: this.searchType,
-          searchKeyWord: this.searchKeyWord,
-          startDate: this.startDate,
-          endDate: this.endDate,
+        } = await export3({
+         compId: localStorage.getItem('ws-pf_compId'),
+            contractType: this.contractType,
+            goodsType: this.goodsType,
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            searchType: this.searchType,
+            searchKeyWord: this.searchKeyWord,
+            agreementType:'代储合同',
+            startDate: this.startDate,
+            endDate: this.endDate,
+            contrPage: this.contrPage,
         }, {}, {
         }, {}, {
           responseType: 'blob',
           responseType: 'blob',
         }).toPromise()
         }).toPromise()
@@ -519,7 +535,7 @@
           res: data,
           res: data,
           fileName: `${
           fileName: `${
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
           this.date.year + (this.date.month ? `-${this.date.month}` : '')
-        }_采购合同`,
+        }_代储合同`,
           type: 'xls',
           type: 'xls',
         })
         })
       },
       },

+ 19 - 3
src/views/contractManagement/storageContractAdd.vue

@@ -66,7 +66,7 @@
            <!--包装方式-->
            <!--包装方式-->
         <ws-form-item label="包装方式" span="1" prop="packingMethod">
         <ws-form-item label="包装方式" span="1" prop="packingMethod">
           <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
           <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
-            @change="selectpackingMethod">
+            @change="selectpacking">
             <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
             <ws-option v-for="item in packtypeList" :key="item.constKey" :label="item.constValue"
               :value="item.constValue" />
               :value="item.constValue" />
           </ws-select>
           </ws-select>
@@ -390,6 +390,7 @@
         type: '',
         type: '',
         dialogVisible: false,
         dialogVisible: false,
         options_: regionData,
         options_: regionData,
+        value1: '袋装',
         selectedOptions: [],
         selectedOptions: [],
         newSelectedOptions: '请选择货源所在地',
         newSelectedOptions: '请选择货源所在地',
         selectedOptions1: [],
         selectedOptions1: [],
@@ -619,6 +620,14 @@
           .then((response) => {
           .then((response) => {
             this.goodnameList = response
             this.goodnameList = response
           })
           })
+          // 包装方式
+        packList({
+            constId: 'CON1'
+          })
+          .toPromise()
+          .then((response) => {
+            this.packtypeList = response
+          })
         // 品级
         // 品级
         packList({
         packList({
             constId: 'CON3',
             constId: 'CON3',
@@ -1520,10 +1529,17 @@
         }
         }
       },
       },
       selectpackingMethod(e) {
       selectpackingMethod(e) {
+        for (var i = 0; i < this.ChapterTwoList.length; i++) {
+          if (this.ChapterTwoList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey =
+              this.ChapterTwoList[i].constKey
+          }
+        }
+      },
+      selectpacking(e) {
         for (var i = 0; i < this.packtypeList.length; i++) {
         for (var i = 0; i < this.packtypeList.length; i++) {
           if (this.packtypeList[i].constValue == e) {
           if (this.packtypeList[i].constValue == e) {
-            this.deptBudgetList.acceptanceMethodKey =
-              this.packtypeList[i].constKey
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
           }
           }
         }
         }
       },
       },

+ 300 - 114
src/views/contractManagement/storageContractEdit.vue

@@ -19,41 +19,68 @@
           标记的条目提交后不可修改。
           标记的条目提交后不可修改。
         </p>
         </p>
     </div>
     </div>
-        <!--基本信息-->
+         <!--基本信息-->
         <ws-info-table>
         <ws-info-table>
           <!--合同编号-->
           <!--合同编号-->
-          <ws-form-item label="合同编号" span="1" prop="contractNo">
-            <div class="unchanged">
-              {{ deptBudgetList.contractNo }}
-            </div>
-            <span class="unchangeable">*</span>
+          <ws-form-item label="合同编号" span="1" prop="contractNo" class="readonly">
+            <ws-input v-model="deptBudgetList.contractNo" placeholder="请输入合同编号" maxlength="50" size="small"
+              :rules="ruleDeptBudget" />
           </ws-form-item>
           </ws-form-item>
-       <!--结算方式-->
-       <ws-form-item label="结算方式" span="1" prop="contractNo">
-         <ws-input v-model="deptBudgetList.settlementMethod" 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-form-item>
+         
           <!--买方-->
           <!--买方-->
-          <ws-form-item label="买方" span="1" prop="contractNo">
-            <div class="unchanged">
-              {{ deptBudgetList.buyer }}
-            </div>
-            <span class="unchangeable">*</span>
+          <ws-form-item label="买方" span="1" prop="buyer" class="readonly">
+            <el-select v-model="deptBudgetList.buyer" placeholder="请选择买方名称" class="typeselect" filterable clearable
+              @change="buyerSelect">
+              <el-option v-for="(item,index) in customerinfo" :key="index" :label="item.customerName"
+                :value="item.customerName" />
+            </el-select>
           </ws-form-item>
           </ws-form-item>
- <!--溢短装(%)-->
-          <ws-form-item label="溢短装(%)" span="1" prop="contractNo">
-            <ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装(%)" maxlength="100" size="small" />
+           <!--结算方式-->
+          <ws-form-item label="结算方式" span="1" prop="settlementMethod">
+            <ws-input v-model="deptBudgetList.settlementMethod" placeholder="请输入结算方式" maxlength="120" size="small" />
           </ws-form-item>
           </ws-form-item>
-          <!--卖方-->
-          <ws-form-item label="卖方" span="1" prop="contractNo">
-            <div class="unchanged">
-              {{ deptBudgetList.seller }}
-            </div>
-            <span class="unchangeable">*</span>
+           <!--卖方-->
+          <ws-form-item label="卖方" span="1" prop="seller" class="readonly">
+            <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" v-if="deptBudgetList.priceType == '随行就市'" disabled label="1">
+              我方自提</el-radio>
+            <el-radio v-model="deptBudgetList.deliverType" v-else label="1">我方自提</el-radio>
+            <el-radio v-model="deptBudgetList.deliverType" v-if="deptBudgetList.priceType == '随行就市'" disabled label="2">
+              对方送货</el-radio>
+            <el-radio v-model="deptBudgetList.deliverType" v-else label="2">对方送货</el-radio> -->
+        </ws-form-item>
+        <!--买方电话-->
+          <ws-form-item label="买方电话" span="1" prop="contractNo">
+            <el-autocomplete class="inline-input" v-model="deptBudgetList.buyerPhone" :fetch-suggestions="querySearch3"
+              placeholder="请输入买方电话" @select="handleSelect"></el-autocomplete>
           </ws-form-item>
           </ws-form-item>
-   <!--验收方式-->
+           <!--包装方式-->
+        <ws-form-item label="包装方式" span="1" prop="packingMethod">
+          <ws-select v-model="deptBudgetList.packingMethod" placeholder="" class="typeselect" :value="value1"
+            @change="selectpacking">
+            <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-form-item>
+           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
-            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" clearable filterable
-              @change="selectunitList">
+            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式" style="width: 100%" clearable
+              filterable @change="selectunitList">
               <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
               <el-option v-for="(item, index) in unitList" :key="item.constValue" :label="item.constValue"
                 :value="item.constValue">
                 :value="item.constValue">
                 <span class="unit-left" style="float: left">
                 <span class="unit-left" style="float: left">
@@ -89,90 +116,82 @@
               </el-option>
               </el-option>
             </el-select>
             </el-select>
           </ws-form-item>
           </ws-form-item>
-
-
-
-
-
-
-
-
-
-
-
-          <!--买方电话-->
-          <ws-form-item label="买方电话" span="1" prop="contractNo">
-            <ws-input v-model="deptBudgetList.buyerPhone" placeholder="请输入买方电话" maxlength="100" size="small" />
+          <!--重量(吨)-->
+          <ws-form-item label="重量(吨)" span="1" prop="weight">
+            <ws-input @input="weightchange" v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100"
+              size="small" />
           </ws-form-item>
           </ws-form-item>
-         <!--交货日期(起)-->
-         <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
-           <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
-             value-format="yyyy-MM-dd" />
-         </ws-form-item>
+          <!--交货日期(起)-->
+          <ws-form-item label="交货日期(起)" span="1" prop="deliveryDateStart">
+            <ws-date-picker v-model="deptBudgetList.deliveryDateStart" type="date" placeholder="请选择交货日期(起)"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
           </ws-form-item>
-          <!--卖方电话-->
-          <ws-form-item label="卖方电话" span="1" prop="contractNo">
-            <ws-input v-model="deptBudgetList.sellerPhone" placeholder="请输入卖房电话" maxlength="100" size="small" />
+         <!--溢短装(%)-->
+          <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+            <ws-input v-model="deptBudgetList.overShort" placeholder="请输入溢短装比例(%)" maxlength="100" size="small" />
           </ws-form-item>
           </ws-form-item>
- <!--交货日期(止)-->
+          <!--交货日期(止)-->
           <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
           <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
             <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
             <ws-date-picker v-model="deptBudgetList.deliveryDateEnd" type="date" placeholder="请选择交货日期(止)"
               value-format="yyyy-MM-dd" />
               value-format="yyyy-MM-dd" />
           </ws-form-item>
           </ws-form-item>
-
-          <!--重量(吨)-->
-          <ws-form-item label="重量(吨)" span="1" prop="contractNo">
-            <ws-input v-model="deptBudgetList.weight" placeholder="请输入重量(吨)" maxlength="100" size="small" />
+          <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
+          <!-- <el-cascader
+            :options="options_"
+            v-model="selectedOptions"
+            clearable
+            size="large"
+            placeholder="请选择货源所在地区"
+            style="width: 200%"
+            @change="handleChange"
+          /> -->
+          <el-button @click="mapInputClick('source')" class='address-btn'>
+            {{newSelectedOptions}}
+          </el-button>
+        </ws-form-item>
+        <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+          <ws-input v-model="deptBudgetList.sourceGoods" placeholder="请输入货源详细地址" maxlength="20" size="small" />
+        </ws-form-item>
+          <ws-form-item label="交货所在地区" span="1" prop="placeDelivery">
+            <el-button @click="mapInputClick('deliveryProv')" class="address-btn">
+              {{ newSelectedOptions1 }}
+            </el-button>
           </ws-form-item>
           </ws-form-item>
-
-         <!--签订日期-->
-         <ws-form-item label="签订日期" span="1" prop="signingDate">
-           <ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
-             value-format="yyyy-MM-dd" />
-         </ws-form-item>
-          <!-- 交货地所在地区 -->
-          <ws-form-item label="交货地所在地区" span="1" prop="placeDelivery">
-            <!-- <el-cascader
-              :options="options_"
-              v-model="selectedOptions1"
-              clearable
-              size="large"
-              placeholder="请选择交货地所在地区"
-              style="width: 200%"
-              @change="handleChange1"
-            /> -->
-             <el-button @click="mapInputClick('deliveryProv')" class="address-btn">
-                          {{ newSelectedOptions1 }}
-                        </el-button>
+          <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
+            <ws-input v-model="deptBudgetList.placeDelivery" placeholder="请输入交货详细地址" maxlength="20" size="small" />
           </ws-form-item>
           </ws-form-item>
-          <!-- 交货地详细地址 -->
-          <ws-form-item label="交货地详细地址" span="1" prop="placeDelivery">
-            <ws-input v-model="deptBudgetList.placeDelivery" maxlength="100" placeholder="请输入交货地详细地址" size="small" />
+          <ws-form-item label="代储费(元/吨·天)" span="1" prop="storageFee">
+            <ws-input v-model="deptBudgetList.storageFee" placeholder="请输入仓储费" maxlength="20" size="small" />
           </ws-form-item>
           </ws-form-item>
-          <ws-form-item label="代收费(元/吨)" span="1" prop="agencyCharge">
-            <ws-input v-model="deptBudgetList.agencyCharge" placeholder="请输入仓储费" maxlength="20" 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="storageFeeWeight">
+            <ws-input v-model="deptBudgetList.storageFeeWeight" placeholder="请输入代储费起算重量" maxlength="20" size="small" />
           </ws-form-item>
           </ws-form-item>
-
-          <!-- 最终实际交易量(吨) -->
-          <ws-form-item label="最终实际交易量(吨)" span="1" prop="totalContractPrice">
-            <ws-input v-model="deptBudgetList.finalTradingVolume" maxlength="100" placeholder="请输入最终实际交易量"
-              size="small" />
+          <!--合同总价-->
+        <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
+          <ws-input v-model="deptBudgetList.totalContractPrice" placeholder="请输入合同总价" maxlength="100" size="small" />
+        </ws-form-item>
+        <ws-form-item label="代储费起算日期" span="1" prop="storageFeeStartdate">
+            <ws-date-picker v-model="deptBudgetList.storageFeeStartdate" type="date" placeholder="请选择代储费起算日期"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
           </ws-form-item>
-
-          <ws-form-item label="临时仓库负责人" span="1" prop="packingMethod">
-            <el-select v-model="deptBudgetList.personPhone" multiple placeholder="请选择临时仓库负责人" filterable clearable
-              @change="selectstaff">
-              <el-option v-for="item in options" :key="item.value" :label="item.staffName"
-                :value="item.staffMobilePhone" />
-            </el-select>
+          <!--签订日期-->
+          <ws-form-item label="签订日期" span="1" prop="signingDate">
+            <ws-date-picker v-model="deptBudgetList.signingDate" type="date" placeholder="请选择合同签订日期"
+              value-format="yyyy-MM-dd" />
           </ws-form-item>
           </ws-form-item>
-
-          <!--客户送粮上限(元/吨)-->
-          <ws-form-item label="客户送粮上限(吨)" span="1" prop="grainDelivery">
-            <ws-input v-model="deptBudgetList.grainDelivery" placeholder="请输入客户送粮上限,如2000" maxlength="100"
+          <ws-form-item label="代储费预计终止日期" span="1" prop="storageFeeEnddate">
+            <ws-date-picker v-model="deptBudgetList.storageFeeEnddate" 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" />
               size="small" />
           </ws-form-item>
           </ws-form-item>
-
         </ws-info-table>
         </ws-info-table>
       </ws-form>
       </ws-form>
     </div>
     </div>
@@ -323,7 +342,8 @@
     editxiala,
     editxiala,
     delxiala,
     delxiala,
     getRelationContractNo,
     getRelationContractNo,
-    getstafffind
+    getstafffind,
+    getcustomerinfo
   } from '@/model/contarct/index'
   } from '@/model/contarct/index'
   import { getstaff, } from '@/model/warehouse/index'
   import { getstaff, } from '@/model/warehouse/index'
   export default {
   export default {
@@ -351,6 +371,7 @@
         dialogApproveFormVisible: false,
         dialogApproveFormVisible: false,
         // 船舶类型
         // 船舶类型
         monetaryKey: null,
         monetaryKey: null,
+        customerinfo: [],
         // 表格显示数据
         // 表格显示数据
         tableDate: [],
         tableDate: [],
         // 是否显示
         // 是否显示
@@ -368,6 +389,7 @@
           name: 'qqqq',
           name: 'qqqq',
           address: 'errrtt'
           address: 'errrtt'
         }],
         }],
+        value1: '袋装',
         pickerBeginDateBefore: {
         pickerBeginDateBefore: {
           disabledDate: (time) => {
           disabledDate: (time) => {
             return time.getTime() > Date.now()
             return time.getTime() > Date.now()
@@ -377,7 +399,6 @@
         uploadSuccess: {},
         uploadSuccess: {},
         selectgrade: {},
         selectgrade: {},
         goodnameList: {},
         goodnameList: {},
-        selectpackingMethod: {},
         unitList: {},
         unitList: {},
         packtypeList: [],
         packtypeList: [],
         compId: localStorage.getItem('ws-pf_compId'),
         compId: localStorage.getItem('ws-pf_compId'),
@@ -436,6 +457,39 @@
           }
           }
         }
         }
         console.log(this.deptBudgetList)
         console.log(this.deptBudgetList)
+      },
+      buyerSelect(item) {
+        // console.log(item)
+        for (let i = 0; i < this.customerinfo.length; i++) {
+          console.log(this.customerinfo[i].customerName, item)
+          if (this.customerinfo[i].customerName == item) {
+            this.deptBudgetList.buyerPhone = this.customerinfo[i].customerPhone
+          }
+        }
+      },
+      weightchange(e) {
+        this.deptBudgetList.finalTradingVolume = e
+      },
+      pricechange(e) {
+        this.deptBudgetList.totalContractPrice = e * this.deptBudgetList.weight
+      },
+      selectpackingMethod(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.acceptanceMethodKey =
+              this.packtypeList[i].constKey
+          }
+        }
+      },
+      selectpacking(e) {
+        for (var i = 0; i < this.packtypeList.length; i++) {
+          if (this.packtypeList[i].constValue == e) {
+            this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
+          }
+        }
+      },
+      handleSelect(item) {
+        console.log(item);
       },
       },
        feedbackLeaderChange(e){
        feedbackLeaderChange(e){
         this.deptBudgetList.feedbackLeader = this.feedbackLeaders[e].staffName
         this.deptBudgetList.feedbackLeader = this.feedbackLeaders[e].staffName
@@ -481,7 +535,7 @@
       returnsales() {
       returnsales() {
         this.deptBudgetList = {}
         this.deptBudgetList = {}
         this.$router.push({
         this.$router.push({
-          path: 'collectionContract'
+          path: 'storageContract'
         })
         })
       },
       },
       handleChange(value) {
       handleChange(value) {
@@ -536,8 +590,6 @@
 
 
             this.selectedOptions1 = tmp1
             this.selectedOptions1 = tmp1
             this.deptBudgetList = response
             this.deptBudgetList = response
-            var name=[]
-            this.deptBudgetList.personPhone=this.deptBudgetList.personPhone.split(',')
             // var arr=this.deptBudgetList.personCharge.split(',')
             // var arr=this.deptBudgetList.personCharge.split(',')
             // for (let i = 0; i < arr.length; i++) {
             // for (let i = 0; i < arr.length; i++) {
             //   if(arr[i].split(' ')[0]!=''){
             //   if(arr[i].split(' ')[0]!=''){
@@ -583,6 +635,26 @@
           .then((response) => {
           .then((response) => {
             this.gradeList = response
             this.gradeList = response
           })
           })
+          getcustomerinfo({
+            compId: localStorage.getItem('ws-pf_compId'),
+          }).toPromise()
+          .then((response) => {
+            var arr = []
+            for (let i = 0; i < response.length; i++) {
+              if (response[i].customerType == '个人客户') {
+                arr.push({
+                  customerName: response[i].customerName,
+                  customerPhone: response[i].customerPhone
+                })
+              } else {
+                arr.push({
+                  customerName: response[i].compName,
+                  customerPhone: response[i].customerPhone
+                })
+              }
+            }
+            this.customerinfo = arr
+          })
         // 双章
         // 双章
         packList({
         packList({
             constId: 'CON4'
             constId: 'CON4'
@@ -653,6 +725,30 @@
             this.pleaseChoose = ''
             this.pleaseChoose = ''
           })
           })
       },
       },
+      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);
+      },
       saveClick(item, index) {
       saveClick(item, index) {
         //  console.log(item)
         //  console.log(item)
 
 
@@ -722,7 +818,23 @@
           })
           })
           return
           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) {
         if (!this.deptBudgetList.buyer) {
           this.$message({
           this.$message({
             message: '买方名称不能为空',
             message: '买方名称不能为空',
@@ -835,31 +947,46 @@
           })
           })
           return
           return
         }
         }
-        if (!this.deptBudgetList.agencyCharge) {
+        if (!this.deptBudgetList.storageFee) {
           this.$message({
           this.$message({
-            message: '代费不能为空!',
+            message: '代费不能为空!',
             type: 'warning',
             type: 'warning',
           })
           })
           return
           return
         }
         }
-        if (!this.deptBudgetList.grainDelivery) {
+        if (!this.deptBudgetList.storageFeeWeight) {
           this.$message({
           this.$message({
-            message: '客户送粮上限不能为空!',
+            message: '代储费起算重量不能为空!',
             type: 'warning',
             type: 'warning',
           })
           })
           return
           return
         }
         }
         if (
         if (
-          isNaN(this.deptBudgetList.agencyCharge) ||
-          (String(this.deptBudgetList.agencyCharge).indexOf('.') != -1 &&
-            String(this.deptBudgetList.agencyCharge).length -
-            (String(this.deptBudgetList.agencyCharge).indexOf('.') + 1) >
+          isNaN(this.deptBudgetList.storageFee) ||
+          (String(this.deptBudgetList.storageFee).indexOf('.') != -1 &&
+            String(this.deptBudgetList.storageFee).length -
+            (String(this.deptBudgetList.storageFee).indexOf('.') + 1) >
             2) ||
             2) ||
-          this.deptBudgetList.agencyCharge < 0 ||
-          this.deptBudgetList.agencyCharge > 1000
+          this.deptBudgetList.storageFee < 0 ||
+          this.deptBudgetList.storageFee > 1000
         ) {
         ) {
           this.$message({
           this.$message({
-            message: '代收费填写错误!',
+            message: '代储费填写错误!',
+            type: 'warning',
+          })
+          return
+        }
+        if (
+          isNaN(this.deptBudgetList.storageFeeWeight) ||
+          (String(this.deptBudgetList.storageFeeWeight).indexOf('.') != -1 &&
+            String(this.deptBudgetList.storageFeeWeight).length -
+            (String(this.deptBudgetList.storageFeeWeight).indexOf('.') + 1) >
+            3) ||
+          this.deptBudgetList.storageFeeWeight < 0 ||
+          this.deptBudgetList.storageFeeWeight > 200000
+        ) {
+          this.$message({
+            message: '代储费起算重量填写错误!',
             type: 'warning',
             type: 'warning',
           })
           })
           return
           return
@@ -900,6 +1027,51 @@
           })
           })
           return
           return
         }
         }
+        if (!this.deptBudgetList.unitContractPrice) {
+            this.$message({
+              message: '请输入合同单价!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            isNaN(this.deptBudgetList.unitContractPrice) ||
+            (String(this.deptBudgetList.unitContractPrice).indexOf('.') != -1 &&
+              String(this.deptBudgetList.unitContractPrice).length -
+              (String(this.deptBudgetList.unitContractPrice).indexOf('.') + 1) >
+              2) ||
+            this.deptBudgetList.unitContractPrice <= 0 ||
+            this.deptBudgetList.unitContractPrice > 10000
+          ) {
+            this.$message({
+              message: '合同单价输入有误!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.deptBudgetList.totalContractPrice) {
+            this.$message({
+              message: '请输入合同总价!',
+              type: 'warning',
+            })
+            return
+          }
+          if (
+            isNaN(this.deptBudgetList.totalContractPrice) ||
+            (String(this.deptBudgetList.totalContractPrice).indexOf('.') != -1 &&
+              String(this.deptBudgetList.totalContractPrice).length -
+              (String(this.deptBudgetList.totalContractPrice).indexOf('.') +
+                1) >
+              2) ||
+            this.deptBudgetList.totalContractPrice <= 0 ||
+            this.deptBudgetList.totalContractPrice > 1000000000
+          ) {
+            this.$message({
+              message: '合同总价输入有误!',
+              type: 'warning',
+            })
+            return
+          }
         //时间
         //时间
         if (
         if (
           new Date(this.deptBudgetList.deliveryDateStart).getTime() >
           new Date(this.deptBudgetList.deliveryDateStart).getTime() >
@@ -911,6 +1083,20 @@
           })
           })
           return
           return
         }
         }
+        if (!this.newSelectedOptions) {
+          this.$message({
+            message: '请选择货源所在地区!',
+            type: 'warning',
+          })
+          return
+        }
+        if (!this.deptBudgetList.sourceGoods) {
+          this.$message({
+            message: '请输入货源详细地址!',
+            type: 'warning',
+          })
+          return
+        }
         if (!this.newSelectedOptions1) {
         if (!this.newSelectedOptions1) {
           this.$message({
           this.$message({
             message: '请选择交货所在地区!',
             message: '请选择交货所在地区!',
@@ -1236,7 +1422,7 @@
                     this.$message.success('编辑成功')
                     this.$message.success('编辑成功')
                     this.deptBudgetList = {}
                     this.deptBudgetList = {}
                     this.$router.push({
                     this.$router.push({
-                      path: 'collectionContract'
+                      path: 'storageContract'
                     })
                     })
                   })
                   })
               } else {
               } else {