Просмотр исходного кода

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun-pc

mxx 4 лет назад
Родитель
Сommit
6cb84da213

+ 162 - 99
src/views/contractManagement/purchaseContractAdd.vue

@@ -20,12 +20,7 @@
         >
       </el-col>
     </el-row>
-
-    <ws-form
-      ref="deptBudgetList"
-      :rules="mainReportAdd"
-      :model="deptBudgetList"
-    >
+    <ws-form ref="deptBudgetList" :rules="rules" :model="deptBudgetList">
       <div class="remark">
         <h3>基本信息</h3>
         <p style="color: #8890b1">
@@ -39,13 +34,13 @@
           span="1"
           prop="contractNo"
           class="readonly"
+          required
         >
           <ws-input
             v-model="deptBudgetList.contractNo"
             placeholder="请输入合同编号"
             maxlength="20"
             size="small"
-            :rules="ruleDeptBudget"
           />
         </ws-form-item>
 
@@ -58,7 +53,6 @@
             size="small"
           />
         </ws-form-item>
-
         <!--买方-->
         <ws-form-item label="买方" span="1" prop="buyer" class="readonly">
           <ws-input
@@ -88,17 +82,14 @@
             size="small"
           />
         </ws-form-item>
-
-        <!--货源地-->
-        <ws-form-item label="货源地" span="1" prop="sourceGoods">
-          <ws-input
-            v-model="deptBudgetList.sourceGoods"
-            placeholder="请输入货源地"
-            maxlength="100"
-            size="small"
-          />
+        <ws-form-item label="交货方式" span="1" prop="seller" class="readonly">
+          <el-radio v-model="deptBudgetList.deliverType" label="1"
+            >我方自提</el-radio
+          >
+          <el-radio v-model="deptBudgetList.deliverType" label="2"
+            >对方送货</el-radio
+          >
         </ws-form-item>
-
         <!--买方电话-->
         <ws-form-item label="买方电话" span="1" prop="contractNo">
           <ws-input
@@ -108,27 +99,6 @@
             size="small"
           />
         </ws-form-item>
-
-        <!--交货地-->
-        <ws-form-item label="交货地" span="1" prop="placeDelivery">
-          <ws-input
-            v-model="deptBudgetList.placeDelivery"
-            placeholder="请输入交货地"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
-        <!--卖方电话-->
-        <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-          <ws-input
-            v-model="deptBudgetList.sellerPhone"
-            placeholder="请输入卖方电话"
-            maxlength="100"
-            size="small"
-          />
-        </ws-form-item>
-
         <!--包装方式-->
         <ws-form-item label="包装方式" span="1" prop="packingMethod">
           <ws-select
@@ -146,17 +116,15 @@
             />
           </ws-select>
         </ws-form-item>
-
-        <!--重量(吨)-->
-        <ws-form-item label="重量(吨)" span="1" prop="weight">
+        <!--卖方电话-->
+        <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
           <ws-input
-            v-model="deptBudgetList.weight"
-            placeholder="请输入重量(吨)"
+            v-model="deptBudgetList.sellerPhone"
+            placeholder="请输入卖方电话"
             maxlength="100"
             size="small"
           />
         </ws-form-item>
-
         <!--验收方式-->
         <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
           <el-select
@@ -227,12 +195,12 @@
             </el-option>
           </el-select>
         </ws-form-item>
-
-        <!--溢短装(%)-->
-        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+        <!--重量(吨)-->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
           <ws-input
-            v-model="deptBudgetList.overShort"
-            placeholder="请输入溢短装比例(%)"
+            @input="weightchange"
+            v-model="deptBudgetList.weight"
+            placeholder="请输入重量(吨)"
             maxlength="100"
             size="small"
           />
@@ -246,22 +214,15 @@
             value-format="yyyy-MM-dd"
           />
         </ws-form-item>
-
-        <!--合同单价(元/吨)-->
-        <ws-form-item
-          class="readonly"
-          label="合同单价(元/吨)"
-          span="1"
-          prop="unitContractPrice"
-        >
+        <!--溢短装(%)-->
+        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
           <ws-input
-            v-model="deptBudgetList.unitContractPrice"
-            placeholder="请输入合同单价"
+            v-model="deptBudgetList.overShort"
+            placeholder="请输入溢短装比例(%)"
             maxlength="100"
             size="small"
           />
         </ws-form-item>
-
         <!--交货日期(止)-->
         <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
           <ws-date-picker
@@ -271,6 +232,20 @@
             value-format="yyyy-MM-dd"
           />
         </ws-form-item>
+        <!--合同单价(元/吨)-->
+        <ws-form-item
+          class="readonly"
+          label="合同单价(元/吨)"
+          span="1"
+          prop="unitContractPrice"
+        >
+          <ws-input
+            v-model="deptBudgetList.unitContractPrice"
+            placeholder="请输入合同单价"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
 
         <!--合同总价-->
         <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
@@ -281,7 +256,44 @@
             size="small"
           />
         </ws-form-item>
-
+        <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
+          <el-cascader
+            :options="options_"
+            v-model="selectedOptions"
+            clearable
+            size="large"
+            placeholder="请选择货源所在地区"
+            style="width: 200%"
+            @change="handleChange"
+          />
+        </ws-form-item>
+        <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+          <ws-input
+            v-model="deptBudgetList.sourceGoods"
+            placeholder="请输入货源详细地址"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
+        <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
+          <el-cascader
+            :options="options_"
+            v-model="selectedOptions1"
+            clearable
+            size="large"
+            placeholder="请选择交货所在地区"
+            style="width: 200%"
+            @change="handleChange1"
+          />
+        </ws-form-item>
+        <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
+          <ws-input
+            v-model="deptBudgetList.placeDelivery"
+            placeholder="请输入交货详细地址"
+            maxlength="20"
+            size="small"
+          />
+        </ws-form-item>
         <!--签订日期-->
         <ws-form-item label="签订日期" span="1" prop="signingDate">
           <ws-date-picker
@@ -291,16 +303,38 @@
             value-format="yyyy-MM-dd"
           />
         </ws-form-item>
+        <ws-form-item
+          label="最终实际成交量(吨)"
+          span="1"
+          prop="finalTradingVolume"
+        >
+          <ws-input
+            v-model="deptBudgetList.finalTradingVolume"
+            placeholder="请输入最终实际成交量"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
+        <ws-form-item label="临时库负责人" span="1" prop="packingMethod">
+          <ws-select
+            v-model="deptBudgetList.packingMethod"
+            placeholder="请选择临时库负责人"
+            class="typeselect"
+            :value="value1"
+            @change="selectpackingMethod"
+          >
+            <ws-option
+              v-for="item in packtypeList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item>
       </ws-info-table>
-    </ws-form>
-    <div class="wenzi">
-      <h3>货物信息</h3>
-    </div>
-    <ws-form
-      ref="deptBudgetList"
-      :rules="ruleDeptBudget"
-      :model="deptBudgetList"
-    >
+      <div class="wenzi">
+        <h3>货物信息</h3>
+      </div>
       <!--货物信息-->
 
       <ws-info-table>
@@ -397,16 +431,10 @@
           />
         </ws-form-item>
       </ws-info-table>
-    </ws-form>
 
-    <div class="wenzi">
-      <h3>流程信息</h3>
-    </div>
-    <ws-form
-      ref="deptBudgetList"
-      :rules="ruleDeptBudget"
-      :model="deptBudgetList"
-    >
+      <div class="wenzi">
+        <h3>流程信息</h3>
+      </div>
       <!--流程信息-->
 
       <ws-info-table>
@@ -475,16 +503,10 @@
           </ws-select>
         </ws-form-item>
       </ws-info-table>
-    </ws-form>
 
-    <div class="wenzi">
-      <h3>备注信息</h3>
-    </div>
-    <ws-form
-      ref="deptBudgetList"
-      :rules="ruleDeptBudget"
-      :model="deptBudgetList"
-    >
+      <div class="wenzi">
+        <h3>备注信息</h3>
+      </div>
       <!--备注信息-->
       <ws-input
         v-model="deptBudgetList.remarks"
@@ -528,6 +550,8 @@ import {
   editxiala,
   delxiala,
 } 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'
 
 export default {
@@ -556,13 +580,21 @@ export default {
       showType: true,
       // 年
       year: '',
+      options_: regionData,
+      selectedOptions: [],
+      selectedOptions1: [],
       // 提交类型
       submitType: true,
       tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
 
       packtypeList: [],
       compId: sessionStorage.getItem('ws-pf_compId'),
-      mainReportAdd: {},
+      rules: {
+        // contractNo: [
+        //   { required: true, message: '请输入合同编号', trigger: 'blur' },
+        //   { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
+        // ],
+      },
       appendixIdsAdd: '',
       size: 10,
       // uploadSuccess: {},
@@ -575,6 +607,8 @@ export default {
       ChapterTwoList: [],
 
       deptBudgetList: {
+        deliverType: '1',
+        finalTradingVolume: 0,
         contractGoodsInfo: {
           goodsName: '',
         },
@@ -630,6 +664,15 @@ export default {
     handleClose() {
       this.dialogViewSpareMoney = false
     },
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    handleChange1(value) {
+      this.selectedOptions1 = value
+    },
+    weightchange(e) {
+      this.deptBudgetList.finalTradingVolume = e
+    },
     returnsales() {
       this.$router.push({ path: 'purchaseContract' })
     },
@@ -701,7 +744,6 @@ export default {
     },
 
     submit() {
-      console.log(this.deptBudgetList)
       if (!this.deptBudgetList.contractNo) {
         this.$message({
           message: '请输入合同编号',
@@ -709,7 +751,6 @@ export default {
         })
         return
       }
-      console.log(this.deptBudgetList.contractNo.length)
       if (
         this.deptBudgetList.contractNo.length < 6 ||
         this.deptBudgetList.contractNo.length > 20
@@ -823,14 +864,14 @@ export default {
 
       if (!this.deptBudgetList.sourceGoods) {
         this.$message({
-          message: '请输入货源地!',
+          message: '请输入货源详细!',
           type: 'warning',
         })
         return
       }
       if (!this.deptBudgetList.placeDelivery) {
         this.$message({
-          message: '请输入交货地!',
+          message: '请输入交货详细!',
           type: 'warning',
         })
         return
@@ -1125,18 +1166,44 @@ export default {
         })
         return
       }
+
+      var that = this
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
+          this.deptBudgetList.sourceProvince =
+            CodeToText[this.selectedOptions[0]]
+          this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
+          this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
+          this.deptBudgetList.deliveryProvince =
+            CodeToText[this.selectedOptions1[0]]
+          this.deptBudgetList.deliveryCity =
+            CodeToText[this.selectedOptions1[1]]
+          this.deptBudgetList.deliveryArea =
+            CodeToText[this.selectedOptions1[2]]
           this.deptBudgetList.compId = this.compId
           this.deptBudgetList.contractType = 2
           addList(this.deptBudgetList)
             .toPromise()
             .then((response) => {
               this.$message.success('添加成功')
+              this.deptBudgetList = {
+                deliverType: '1',
+                finalTradingVolume: 0,
+                contractGoodsInfo: {
+                  goodsName: '',
+                },
+                contractProcessInfo: {},
+              }
               this.$router.push({ path: 'purchaseContract' })
             })
+            .catch((req) => {
+              EventBus.$emit('error', req.message)
+            })
         } else {
-          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+          // for (let key in that.rules) {
+          //   EventBus.$emit('error', that.rules[key][0].message)
+          //   return false
+          // }
           return false
         }
       })
@@ -1393,10 +1460,6 @@ export default {
 .bg-bottom {
   margin: 15px 0px;
 }
-.wenzi {
-  width: 70%;
-  margin: 0 auto;
-}
 .wenzi h3 {
   display: inline-block;
   left: 10px;

+ 294 - 261
src/views/contractManagement/purchaseContractEdit.vue

@@ -1,7 +1,7 @@
 <!--销售合同-->
 <!--2019年5月30日 20:25:16 by jlx-->
 <template>
-  <div class='container'>
+  <div class="container">
     <el-row>
       <el-col :span="12">
         <h2 class="bg-left title">修改合同信息</h2>
@@ -12,146 +12,111 @@
           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
+          ><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="mainReportAdd"
       :model="deptBudgetList"
     >
       <div class="remark">
-      <h3>基本信息</h3>
-      <p style='color:#8890B1;'>
-        &nbsp;&nbsp;注:基本信息和货物信息均为必填项,“*”
-        标记的条目提交后不可修改。
-      </p>
+        <h3>基本信息</h3>
+        <p style="color: #8890b1">
+          &nbsp;&nbsp;注:基本信息和货物信息均为必填项,“*”
+          标记的条目提交后不可修改。
+        </p>
       </div>
-        <ws-info-table>
-          <ws-form-item class='readonly'
-            label="合同编号"
-            span="1"
-            prop="contractNo"
-          >
-          {{deptBudgetList.contractNo}}
-          </ws-form-item>
-          <ws-form-item
-            label="运输方式"
-            
-            span="1"
-            prop="shippingType"
-          >
+      <ws-info-table>
+        <!-- 合同编号 -->
+        <ws-form-item
+          class="readonly"
+          label="合同编号"
+          span="1"
+          prop="contractNo"
+        >
+          {{ deptBudgetList.contractNo }}
+        </ws-form-item>
+
+        <!-- 运输方式 -->
+        <ws-form-item label="运输方式" span="1" prop="shippingType">
           <ws-input
-              v-model="deptBudgetList.shippingType"
-              maxlength="100"
-              placeholder="请输入运输方式"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item  class='readonly'
-            label="买方"
-            span="1"
-            prop="buyer"
-          >
-          {{deptBudgetList.buyer}}
-          </ws-form-item>
-          <ws-form-item
-            label="结算方式"
-            span="1"
-            prop="settlementMethod"
-            
-          >
+            v-model="deptBudgetList.shippingType"
+            maxlength="100"
+            placeholder="请输入运输方式"
+            size="small"
+          />
+        </ws-form-item>
+
+        <!-- 买方 -->
+        <ws-form-item class="readonly" label="买方" span="1" prop="buyer">
+          {{ deptBudgetList.buyer }}
+        </ws-form-item>
+        <!-- 交货方式 -->
+        <ws-form-item label="结算方式" span="1" prop="settlementMethod">
           <ws-input
-              v-model="deptBudgetList.settlementMethod"
-              maxlength="100"
-              placeholder="请输入结算方式"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item  class='readonly'
-            label="卖方"
-            span="1"
-            prop="seller"
-          >{{deptBudgetList.seller}}
-          </ws-form-item>
-          <ws-form-item
-            label="货源地"
-            span="1"
-            prop="sourceGoods"
-            
-          >
+            v-model="deptBudgetList.settlementMethod"
+            maxlength="100"
+            placeholder="请输入结算方式"
+            size="small"
+          />
+        </ws-form-item>
+        <!-- 卖方 -->
+        <ws-form-item class="readonly" label="卖方" span="1" prop="seller"
+          >{{ deptBudgetList.seller }}
+        </ws-form-item>
+
+        <ws-form-item
+          class="readonly"
+          label="交货方式"
+          span="1"
+          prop="sourceGoods"
+        >
+          {{ deptBudgetList.deliverType }}
+        </ws-form-item>
+        <!-- 买方电话 -->
+        <ws-form-item label="买方电话" span="1" prop="buyerPhone">
           <ws-input
-              v-model="deptBudgetList.sourceGoods"
-              maxlength="100"
-              placeholder="请输入货源地"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item
-            label="买方电话"
-            span="1"
-            prop="buyerPhone"
+            v-model="deptBudgetList.buyerPhone"
+            maxlength="100"
+            size="small"
+          />
+        </ws-form-item>
+        <!-- 包装方式 -->
+        <ws-form-item label="包装方式" span="1" prop="packingMethod">
+          <ws-select
+            v-model="deptBudgetList.packingMethod"
+            placeholder=""
+            class="typeselect"
+            @change="selectpackingMethod"
           >
-          <ws-input
-              v-model="deptBudgetList.buyerPhone"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-          <ws-form-item
-            label="交货地"
-            span="1"
-            prop="placeDelivery">
-            <ws-input
-              v-model="deptBudgetList.placeDelivery"
-              maxlength="100"
-              size="small"
-              placeholder="请输入交货地"
-            />
-          </ws-form-item>
-           <ws-form-item
-            label="卖方电话"
-            span="1"
-            prop="sellerPhone">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              maxlength="100"
-              size="small"
-              placeholder="请输入卖方电话"
+            <ws-option
+              v-for="item in packtypeList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
             />
-          </ws-form-item>
-          <ws-form-item
-            label="包装方式"
-            span="1"
-            prop="packingMethod">
-            <ws-select
-          v-model="deptBudgetList.packingMethod"
-          placeholder=""
-          class="typeselect"
-          @change="selectpackingMethod"
-        >
-          <ws-option
-            v-for="item in packtypeList"
-            :key="item.constKey"
-            :label="item.constValue"
-            :value="item.constValue"
+          </ws-select>
+        </ws-form-item>
+        <!-- 卖方电话 -->
+        <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
+          <ws-input
+            v-model="deptBudgetList.sellerPhone"
+            maxlength="100"
+            size="small"
+            placeholder="请输入卖方电话"
           />
-        </ws-select>
-          </ws-form-item>
-          <ws-form-item
-            label="重量(吨)"
-            span="1"
-            prop="weight">
-            <ws-input
-              v-model="deptBudgetList.weight"
-              maxlength="100"
-              size="small"
-              placeholder="请输入重量(吨)"
-            />
-          </ws-form-item>
-          <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
+        </ws-form-item>
+        <!-- 验收方式 -->
+        <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
           <el-select
             v-model="deptBudgetList.acceptanceMethod"
             placeholder="请选择验收方式"
@@ -168,11 +133,7 @@
               <span class="unit-left" style="float: left">
                 <span v-if="item.flag == 'delete'"> {{ item.constValue }}</span>
                 <!-- 新增文本框 -->
-                <div
-
-                  v-if="item.flag !== 'delete'"
-                  @click.stop
-                >
+                <div v-if="item.flag !== 'delete'" @click.stop>
                   <ws-input
                     v-model="item.constValue"
                     clearable
@@ -220,102 +181,175 @@
             </el-option>
           </el-select>
         </ws-form-item>
-          <ws-form-item
-            label="溢短装(%)"
-            span="1"
-            prop="overShort">
-            <ws-input
-              v-model="deptBudgetList.overShort"
-              maxlength="100"
-              size="small"
-              placeholder="请输入溢短装比例(%)"
-            />
-          </ws-form-item>
-          <ws-form-item
-            label="交货日期(起)"
-            span="1"
-            prop="deliveryDateStart">
-         <ws-date-picker
+        <!-- 重量(吨) -->
+        <ws-form-item label="重量(吨)" span="1" prop="weight">
+          <ws-input
+            v-model="deptBudgetList.weight"
+            maxlength="100"
+            size="small"
+            placeholder="请输入重量(吨)"
+          />
+        </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 class='readonly'
-            label="合同单价(元/吨)"
-            span="1"
-            prop="unitContractPrice"
-            >
-            <span v-if='deptBudgetList.unitContractPrice!="null"'>{{deptBudgetList.unitContractPrice}}</span>
-            
-          </ws-form-item>
-          <ws-form-item
-            label="交货日期(止)"
-            span="1"
-            prop="deliveryDateEnd">
-            <ws-date-picker
+        </ws-form-item>
+        <!-- 溢短装(%) -->
+        <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+          <ws-input
+            v-model="deptBudgetList.overShort"
+            maxlength="100"
+            size="small"
+            placeholder="请输入溢短装比例(%)"
+          />
+        </ws-form-item>
+        <!-- 交货日期(止) -->
+        <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+          <ws-date-picker
             v-model="deptBudgetList.deliveryDateEnd"
             type="date"
             placeholder="请选择交货日期(止)"
             value-format="yyyy-MM-dd"
           />
-          </ws-form-item>
-          <ws-form-item
-            label="合同总价(元)"
-            span="1"
-            prop="totalContractPrice">
-            <ws-input
+        </ws-form-item>
+        <!-- 合同单价(元/吨) -->
+        <ws-form-item
+          class="readonly"
+          label="合同单价(元/吨)"
+          span="1"
+          prop="unitContractPrice"
+        >
+          <span v-if="deptBudgetList.unitContractPrice != 'null'">{{
+            deptBudgetList.unitContractPrice
+          }}</span>
+        </ws-form-item>
+        <!-- 合同总价(元) -->
+        <ws-form-item label="合同总价(元)" span="1" prop="totalContractPrice">
+          <ws-input
             v-model="deptBudgetList.totalContractPrice"
             maxlength="100"
             placeholder="请输入合同单价"
             size="small"
           />
-          </ws-form-item>
-          <ws-form-item
-            label="签订日期"
-            span="1"
-            prop="signingDate">
-        <ws-date-picker
+        </ws-form-item>
+        <!-- 货源所在地区 -->
+        <ws-form-item label="货源所在地区" span="1" prop="packingMethod">
+          <el-cascader
+            :options="options_"
+            v-model="selectedOptions"
+            clearable
+            size="large"
+            placeholder="请选择货源所在地区"
+            style="width: 200%"
+            @change="handleChange"
+          />
+        </ws-form-item>
+        <!-- 货源详细地址 -->
+        <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+          <ws-input
+            v-model="deptBudgetList.sourceGoods"
+            maxlength="100"
+            placeholder="请输入货源详细地址"
+            size="small"
+          />
+        </ws-form-item>
+        <!-- 交货地所在地区 -->
+        <ws-form-item label="交货地所在地区" span="1" prop="packingMethod">
+          <el-cascader
+            :options="options_"
+            v-model="selectedOptions1"
+            clearable
+            size="large"
+            placeholder="请选择交货地所在地区"
+            style="width: 200%"
+            @change="handleChange"
+          />
+        </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>
+
+        <!-- 签订日期 -->
+        <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-info-table>
-      </base-card>
-      
-      <!--面试信息-->
-      <div class="remark">
-      <h3>货物信息</h3>
-    </div>
+        </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>
+
+        <!-- 临时库负责人 -->
+        <ws-form-item
+          label="临时库负责人"
+          span="1"
+          prop="packingMethod"
+          v-show="deptBudgetList.sellers == '我方自提'"
+        >
+          <ws-select
+            v-model="deptBudgetList.packingMethod"
+            placeholder=""
+            class="typeselect"
+            @change="selectpackingMethod"
+          >
+            <ws-option
+              v-for="item in packtypeList"
+              :key="item.constKey"
+              :label="item.constValue"
+              :value="item.constValue"
+            />
+          </ws-select>
+        </ws-form-item>
+      </ws-info-table>
+      <base-card>
+        <!--面试信息-->
+        <div class="remark">
+          <h3>货物信息</h3>
+        </div>
         <ws-info-table>
-          <ws-form-item class='readonly'
+          <ws-form-item
+            class="readonly"
             label="货名"
             span="1"
             prop="waterContent"
           >
-          {{deptBudgetList.contractGoodsInfo.goodsName}}
+            {{ deptBudgetList.contractGoodsInfo.goodsName }}
           </ws-form-item>
-          <ws-form-item
-            label="水分(%)<="
-            span="1"
-            prop="intendedShipId"
-          >
-          <ws-input
+          <ws-form-item label="水分(%)<=" span="1" prop="intendedShipId">
+            <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
+          <ws-form-item label="品级" span="1" prop="grade">
+            <ws-select
               v-model="deptBudgetList.contractGoodsInfo.grade"
               placeholder=""
               class="typeselect"
@@ -329,24 +363,16 @@
               />
             </ws-select>
           </ws-form-item>
-          <ws-form-item
-            label="杂质(%)<="
-            span="1"
-            prop="impurity"
-          >
-           <ws-input
+          <ws-form-item label="杂质(%)<=" span="1" prop="impurity">
+            <ws-input
               v-model="deptBudgetList.contractGoodsInfo.impurity"
               placeholder="请输入杂质占比(%)"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-          <ws-form-item
-            label="容重(克/升)<="
-            span="1"
-            prop="bulkDensity"
-          >
-          <ws-input
+          <ws-form-item label="容重(克/升)<=" span="1" prop="bulkDensity">
+            <ws-input
               v-model="deptBudgetList.contractGoodsInfo.bulkDensity"
               placeholder="请输入容重"
               maxlength="100"
@@ -359,19 +385,15 @@
             prop="mildewGrain"
             class="result"
           >
-          <ws-input
+            <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
+          <ws-form-item label="热损伤(%)<=" span="1" prop="jiaorenli">
+            <ws-input
               v-model="deptBudgetList.contractGoodsInfo.jiaorenli"
               placeholder="请输入输入热损伤占比(%)"
               maxlength="100"
@@ -384,7 +406,7 @@
             prop="imperfectGrain"
             class="result"
           >
-          <ws-input
+            <ws-input
               v-model="deptBudgetList.contractGoodsInfo.imperfectGrain"
               placeholder="请输入不完整粒占比(%)"
               maxlength="100"
@@ -396,59 +418,40 @@
           <h3>流程信息</h3>
         </div>
         <ws-info-table>
-          <ws-form-item
-            label="合同收入(元)"
-            span="1"
-            prop="goodsNameKey"
-          >
-          <ws-input
+          <ws-form-item label="合同收入(元)" span="1" prop="goodsNameKey">
+            <ws-input
               v-model="deptBudgetList.contractProcessInfo.goodsNameKey"
               placeholder="请输入合同收入(元)"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-          <ws-form-item
-            label="已开发票(元)"
-            span="1"
-            prop="goodsName"
-          >
-          <ws-input
+          <ws-form-item label="已开发票(元)" span="1" prop="goodsName">
+            <ws-input
               v-model="deptBudgetList.contractProcessInfo.goodsName"
               placeholder="请输入已开发票(元)"
-              
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-          <ws-form-item
-            label="费用支出(元)"
-            span="1"
-            prop="waterContent"
-          >
-          <ws-input
+          <ws-form-item label="费用支出(元)" span="1" prop="waterContent">
+            <ws-input
               v-model="deptBudgetList.contractProcessInfo.waterContent"
               placeholder="请输入费用支出(元)"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-          <ws-form-item
-            label="未开发票(元)"
-            span="1"
-            prop="impurity"
-          ><ws-input
+          <ws-form-item label="未开发票(元)" span="1" prop="impurity"
+            ><ws-input
               v-model="deptBudgetList.contractProcessInfo.impurity"
               placeholder="请输入未开发票(元)"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-          <ws-form-item
-            label="未回款(元)"
-            span="1"
-            prop="mildewGrain"
-          ><ws-input
+          <ws-form-item label="未回款(元)" span="1" prop="mildewGrain"
+            ><ws-input
               v-model="deptBudgetList.contractProcessInfo.mildewGrain"
               placeholder="请输入已完成发货量(吨)"
               maxlength="100"
@@ -461,17 +464,14 @@
             prop="imperfectGrain"
             class="result"
           >
-          <ws-input
+            <ws-input
               v-model="deptBudgetList.contractProcessInfo.imperfectGrain"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-           <ws-form-item
-            label="双章原件回收情况"
-            span="1"
-            prop="grade"
-          ><ws-select
+          <ws-form-item label="双章原件回收情况" span="1" prop="grade"
+            ><ws-select
               v-model="deptBudgetList.contractProcessInfo.grade"
               placeholder=""
               class="typeselect"
@@ -509,18 +509,15 @@
         />
       </base-card>
     </ws-form>
-    <div style='text-align:right;padding:10px;'>
-      <el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="submit()"
-          >提交</el-button
-        >
+    <div style="text-align: right; padding: 10px">
+      <el-button class="bg-bottom" type="primary" size="small" @click="submit()"
+        >提交</el-button
+      >
     </div>
   </div>
 </template>
 <script>
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
 import {
   packList,
   addList,
@@ -562,12 +559,16 @@ export default {
       size: 10,
       // 提交类型
       submitType: true,
+      options_: regionData,
       tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
       ruleDeptBudget: [],
       deptBudgetList: {
         contractProcessInfo: {},
         contractGoodsInfo: {},
       },
+      options_: regionData,
+      selectedOptions: [],
+      selectedOptions1: [],
       mainReportAdd: {},
       list: {},
       unitList: [],
@@ -591,6 +592,12 @@ export default {
     this.showType = this.isShow
   },
   methods: {
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    handleChange1(value) {
+      this.selectedOptions1 = value
+    },
     loaddata() {
       // 数据
       examineList({ id: this.$route.query.id })
@@ -608,7 +615,24 @@ export default {
           if (response.unitContractPrice) {
             response.unitContractPrice = String(response.unitContractPrice)
           }
-
+          var tmp = []
+          console.log(TextToCode[response.sourceProvince])
+          tmp[0] = TextToCode[response.sourceProvince].code
+          tmp[1] = TextToCode[response.sourceProvince][response.sourceCity].code
+          tmp[2] =
+            TextToCode[response.sourceProvince][response.sourceCity][
+              response.sourceArea
+            ].code
+          this.selectedOptions = tmp
+          var tmp1 = []
+          tmp1[0] = TextToCode[response.deliveryProvince].code
+          tmp1[1] =
+            TextToCode[response.deliveryProvince][response.deliveryCity].code
+          tmp1[2] =
+            TextToCode[response.deliveryProvince][response.deliveryCity][
+              response.deliveryArea
+            ].code
+          this.selectedOptions1 = tmp1
           this.deptBudgetList = response
         })
       // 包装方式
@@ -719,9 +743,8 @@ export default {
     selectpackingMethod(e) {
       for (var i = 0; i < this.packtypeList.length; i++) {
         if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.packtypeList[
-            i
-          ].constKey
+          this.deptBudgetList.acceptanceMethodKey =
+            this.packtypeList[i].constKey
         }
       }
     },
@@ -1221,6 +1244,16 @@ export default {
       }
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
+          this.deptBudgetList.sourceProvince =
+            CodeToText[this.selectedOptions[0]]
+          this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
+          this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
+          this.deptBudgetList.deliveryProvince =
+            CodeToText[this.selectedOptions1[0]]
+          this.deptBudgetList.deliveryCity =
+            CodeToText[this.selectedOptions1[1]]
+          this.deptBudgetList.deliveryArea =
+            CodeToText[this.selectedOptions1[2]]
           this.deptBudgetList.compId = this.compId
           this.deptBudgetList.contractType = 2
           console.log(this.deptBudgetList)

+ 123 - 57
src/views/contractManagement/salesContractAdd.vue

@@ -72,7 +72,6 @@
               size="small"
             />
           </ws-form-item>
-
           <!--卖方-->
           <ws-form-item label="卖方" span="1" prop="seller" class="readonly">
             <ws-input
@@ -82,15 +81,18 @@
               size="small"
             />
           </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
+            label="交货方式"
+            span="1"
+            prop="seller"
+            class="readonly"
+          >
+            <el-radio v-model="deptBudgetList.deliverType" label="1"
+              >我方自提</el-radio
+            >
+            <el-radio v-model="deptBudgetList.deliverType" label="2"
+              >对方送货</el-radio
+            >
           </ws-form-item>
 
           <!--买方电话-->
@@ -102,27 +104,6 @@
               size="small"
             />
           </ws-form-item>
-
-          <!--交货地-->
-          <ws-form-item label="交货地" span="1" prop="placeDelivery">
-            <ws-input
-              v-model="deptBudgetList.placeDelivery"
-              placeholder="请输入交货地"
-              maxlength="20"
-              size="small"
-            />
-          </ws-form-item>
-
-          <!--卖方电话-->
-          <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
-            <ws-input
-              v-model="deptBudgetList.sellerPhone"
-              placeholder="请输入卖方电话"
-              maxlength="100"
-              size="small"
-            />
-          </ws-form-item>
-
           <!--包装方式-->
           <ws-form-item label="包装方式" span="1" prop="packingMethod">
             <ws-select
@@ -139,17 +120,15 @@
               />
             </ws-select>
           </ws-form-item>
-
-          <!--重量(吨)-->
-          <ws-form-item label="重量(吨)" span="1" prop="weight">
+          <!--卖方电话-->
+          <ws-form-item label="卖方电话" span="1" prop="sellerPhone">
             <ws-input
-              v-model="deptBudgetList.weight"
-              placeholder="请输入重量(吨)"
+              v-model="deptBudgetList.sellerPhone"
+              placeholder="请输入卖方电话"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
             <el-select
@@ -223,11 +202,11 @@
             </el-select>
           </ws-form-item>
 
-          <!--溢短装(%)-->
-          <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+          <!--重量(吨)-->
+          <ws-form-item label="重量(吨)" span="1" prop="weight">
             <ws-input
-              v-model="deptBudgetList.overShort"
-              placeholder="请输入溢短装比例(%)"
+              v-model="deptBudgetList.weight"
+              placeholder="请输入重量(吨)"
               maxlength="100"
               size="small"
             />
@@ -245,6 +224,24 @@
               value-format="yyyy-MM-dd"
             />
           </ws-form-item>
+          <!--溢短装(%)-->
+          <ws-form-item label="溢短装(%)" span="1" prop="overShort">
+            <ws-input
+              v-model="deptBudgetList.overShort"
+              placeholder="请输入溢短装比例(%)"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
+          <!--交货日期(止)-->
+          <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
+            <ws-date-picker
+              v-model="deptBudgetList.deliveryDateEnd"
+              type="date"
+              placeholder="请选择交货日期(止)"
+              value-format="yyyy-MM-dd"
+            />
+          </ws-form-item>
 
           <!--合同单价(元/吨)-->
           <ws-form-item
@@ -261,16 +258,6 @@
             />
           </ws-form-item>
 
-          <!--交货日期(止)-->
-          <ws-form-item label="交货日期(止)" span="1" prop="deliveryDateEnd">
-            <ws-date-picker
-              v-model="deptBudgetList.deliveryDateEnd"
-              type="date"
-              placeholder="请选择交货日期(止)"
-              value-format="yyyy-MM-dd"
-            />
-          </ws-form-item>
-
           <!--合同总价-->
           <ws-form-item label="合同总价" span="1" prop="totalContractPrice">
             <ws-input
@@ -280,7 +267,44 @@
               size="small"
             />
           </ws-form-item>
-
+          <ws-form-item label="货源所在地区" span="1" prop="sourceGoods">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions"
+              clearable
+              size="large"
+              placeholder="请选择货源所在地区"
+              style="width: 200%"
+              @change="handleChange"
+            />
+          </ws-form-item>
+          <ws-form-item label="货源详细地址" span="1" prop="sourceGoods">
+            <ws-input
+              v-model="deptBudgetList.sourceGoods"
+              placeholder="请输入货源详细地址"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
+          <ws-form-item label="交货所在地区" span="1" prop="sourceGoods">
+            <el-cascader
+              :options="options_"
+              v-model="selectedOptions1"
+              clearable
+              size="large"
+              placeholder="请选择交货所在地区"
+              style="width: 200%"
+              @change="handleChange1"
+            />
+          </ws-form-item>
+          <ws-form-item label="交货详细地址" span="1" prop="placeDelivery">
+            <ws-input
+              v-model="deptBudgetList.placeDelivery"
+              placeholder="请输入交货详细地址"
+              maxlength="20"
+              size="small"
+            />
+          </ws-form-item>
           <!--签订日期-->
           <ws-form-item label="签订日期" span="1" prop="signingDate">
             <ws-date-picker
@@ -290,6 +314,18 @@
               value-format="yyyy-MM-dd"
             />
           </ws-form-item>
+          <ws-form-item
+            label="最终实际成交量(吨)"
+            span="1"
+            prop="finalTradingVolume"
+          >
+            <ws-input
+              v-model="deptBudgetList.finalTradingVolume"
+              placeholder="请输入最终实际成交量"
+              maxlength="100"
+              size="small"
+            />
+          </ws-form-item>
         </ws-info-table>
       </ws-form>
     </div>
@@ -550,6 +586,7 @@ import {
   delxiala,
 } from '@/model/contarct/index'
 import WsUpload from '@/components/WsUpload'
+import { regionData, CodeToText, TextToCode } from 'element-china-area-data'
 
 export default {
   name: 'viewSpareMoney',
@@ -577,6 +614,9 @@ export default {
       showType: true,
       // 年
       year: '',
+      options_: regionData,
+      selectedOptions: [],
+      selectedOptions1: [],
       // 提交类型
       submitType: true,
       tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
@@ -593,6 +633,8 @@ export default {
       gradeList: [],
       ChapterTwoList: [],
       deptBudgetList: {
+        deliverType: '1',
+        finalTradingVolume: 0,
         contractGoodsInfo: {
           goodsName: '',
         },
@@ -638,6 +680,12 @@ export default {
     handleClose() {
       this.dialogViewSpareMoney = false
     },
+    handleChange(value) {
+      this.selectedOptions = value
+    },
+    handleChange1(value) {
+      this.selectedOptions1 = value
+    },
     returnsales() {
       this.$router.push({ path: 'salesContract' })
     },
@@ -829,14 +877,14 @@ export default {
 
       if (!this.deptBudgetList.sourceGoods) {
         this.$message({
-          message: '请输入货源地!',
+          message: '请输入货源详细!',
           type: 'warning',
         })
         return
       }
       if (!this.deptBudgetList.placeDelivery) {
         this.$message({
-          message: '请输入交货地!',
+          message: '请输入交货详细!',
           type: 'warning',
         })
         return
@@ -1152,12 +1200,31 @@ export default {
       }
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
+          this.deptBudgetList.sourceProvince =
+            CodeToText[this.selectedOptions[0]]
+          this.deptBudgetList.sourceCity = CodeToText[this.selectedOptions[1]]
+          this.deptBudgetList.sourceArea = CodeToText[this.selectedOptions[2]]
+          this.deptBudgetList.deliveryProvince =
+            CodeToText[this.selectedOptions1[0]]
+          this.deptBudgetList.deliveryCity =
+            CodeToText[this.selectedOptions1[1]]
+          this.deptBudgetList.deliveryArea =
+            CodeToText[this.selectedOptions1[2]]
           this.deptBudgetList.compId = this.compId
           this.deptBudgetList.contractType = 1
           addList(this.deptBudgetList)
             .toPromise()
             .then((response) => {
               this.$message.success('添加成功')
+              this.deptBudgetList = {
+                deliverType: '1',
+                finalTradingVolume: 0,
+                contractGoodsInfo: {
+                  goodsName: '',
+                },
+                contractProcessInfo: {},
+              }
+
               this.$router.push({ path: 'salesContract' })
             })
         } else {
@@ -1266,9 +1333,8 @@ export default {
     selectpackingMethod(e) {
       for (var i = 0; i < this.packtypeList.length; i++) {
         if (this.packtypeList[i].constValue == e) {
-          this.deptBudgetList.acceptanceMethodKey = this.packtypeList[
-            i
-          ].constKey
+          this.deptBudgetList.acceptanceMethodKey =
+            this.packtypeList[i].constKey
         }
       }
     },

+ 92 - 48
src/views/contractManagement/salesContractEdit.vue

@@ -74,15 +74,14 @@
             <span class="unchangeable">*</span>
           </ws-form-item>
 
-          <!--货源地-->
-          <ws-form-item label="货源地" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.sourceGoods"
-              placeholder="请输入货源地"
-              maxlength="100"
-              size="small"
-            />
+          <!--交货方式-->
+          <ws-form-item label="交货方式" span="1" prop="contractNo">
+            <div class="unchanged">
+              {{deptBudgetList.deliverType}}
+            </div>
+            <span class="unchangeable">*</span>
           </ws-form-item>
+
           <!--买方电话-->
           <ws-form-item label="买方电话" span="1" prop="contractNo">
             <ws-input
@@ -92,27 +91,6 @@
               size="small"
             />
           </ws-form-item>
-
-          <!--交货地-->
-          <ws-form-item label="交货地" span="1" prop="contractNo">
-            <ws-input
-              v-model="deptBudgetList.placeDelivery"
-              placeholder="请输入交货地"
-              maxlength="100"
-              size="small"
-            />
-          </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>
-
           <!--包装方式-->
           <ws-form-item label="包装方式" span="1" prop="packingMethod">
             <ws-select
@@ -129,16 +107,15 @@
               />
             </ws-select>
           </ws-form-item>
-          <!--重量(吨)-->
-          <ws-form-item label="重量(吨)" span="1" prop="contractNo">
+          <!--卖方电话-->
+          <ws-form-item label="卖方电话" span="1" prop="contractNo">
             <ws-input
-              v-model="deptBudgetList.weight"
-              placeholder="请输入重量(吨)"
+              v-model="deptBudgetList.sellerPhone"
+              placeholder="请输入卖房电话"
               maxlength="100"
               size="small"
             />
           </ws-form-item>
-
           <!--验收方式-->
           <ws-form-item label="验收方式" span="1" prop="acceptanceMethod">
             <el-select
@@ -211,12 +188,11 @@
               </el-option>
             </el-select>
           </ws-form-item>
-
-          <!--溢短装(%)-->
-          <ws-form-item label="溢短装(%)" span="1" prop="contractNo">
+          <!--重量(吨)-->
+          <ws-form-item label="重量(吨)" span="1" prop="contractNo">
             <ws-input
-              v-model="deptBudgetList.overShort"
-              placeholder="请输入溢短装(%)"
+              v-model="deptBudgetList.weight"
+              placeholder="请输入重量(吨)"
               maxlength="100"
               size="small"
             />
@@ -234,15 +210,15 @@
               value-format="yyyy-MM-dd"
             />
           </ws-form-item>
-
-          <!--合同单价(元/吨)-->
-          <ws-form-item label="合同单价(元/吨)" span="1" prop="contractNo">
-            <div class="unchanged">
-              {{ deptBudgetList.unitContractPrice }}
-            </div>
-            <span class="unchangeable">*</span>
+          <!--溢短装(%)-->
+          <ws-form-item label="溢短装(%)" span="1" prop="contractNo">
+            <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
@@ -253,6 +229,14 @@
             />
           </ws-form-item>
 
+          <!--合同单价(元/吨)-->
+          <ws-form-item label="合同单价(元/吨)" span="1" prop="contractNo">
+            <div class="unchanged">
+              {{ deptBudgetList.unitContractPrice }}
+            </div>
+            <span class="unchangeable">*</span>
+          </ws-form-item>
+
           <!--合同总价-->
           <ws-form-item label="合同总价" span="1" prop="contractNo">
             <ws-input
@@ -262,6 +246,52 @@
               size="small"
             />
           </ws-form-item>
+          <!-- 货源所在地区 -->
+          <ws-form-item label="货源所在地区" span="1" prop="packingMethod">
+           <el-cascader
+            :options="options_"
+            v-model="selectedOptions"
+            clearable
+            size="large"
+            placeholder="请选择货源所在地区"
+            style="width: 200%"
+            @change="handleChange"
+          />
+          </ws-form-item>
+          <!-- 货源详细地址 -->
+          <ws-form-item label="货源详细地址" span="1" prop="totalContractPrice">
+            <ws-input
+              v-model="deptBudgetList.totalContractPrice"
+              maxlength="100"
+              placeholder="请输入货源详细地址"
+              size="small"
+            />
+          </ws-form-item>
+          <!-- 交货地所在地区 -->
+          <ws-form-item label="交货地所在地区" span="1" prop="packingMethod">
+            <el-cascader
+            :options="options_"
+            v-model="selectedOptions"
+            clearable
+            size="large"
+            placeholder="请选择交货地所在地区"
+            style="width: 200%"
+            @change="handleChange"
+          />
+          </ws-form-item>
+          <!-- 交货地详细地址 -->
+          <ws-form-item
+            label="交货地详细地址"
+            span="1"
+            prop="totalContractPrice"
+          >
+            <ws-input
+              v-model="deptBudgetList.totalContractPrice"
+              maxlength="100"
+              placeholder="请输入交货地详细地址"
+              size="small"
+            />
+          </ws-form-item>
           <!--签订日期-->
           <ws-form-item label="签订日期" span="1" prop="signingDate">
             <ws-date-picker
@@ -271,6 +301,19 @@
               value-format="yyyy-MM-dd"
             />
           </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>
         </ws-info-table>
       </ws-form>
     </div>
@@ -516,6 +559,7 @@
 <script>
 // import { getVesselOne } from '@/model/procurement/basic'
 // import { dayjs } from 'base-core-lib'
+import { regionData} from 'element-china-area-data'
 import WsUpload from '@/components/WsUpload'
 import {
   examineList,
@@ -554,6 +598,7 @@ export default {
       year: '',
       // 提交类型
       submitType: true,
+      options_:regionData,
       tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
       pickerBeginDateBefore: {
         disabledDate: (time) => {
@@ -1457,7 +1502,6 @@ export default {
   width: 102px;
   height: 14px;
   font-size: 14px;
-  font-family: PingFangSC-Regular, PingFang SC;
   font-weight: 400;
   color: #afb5cb;
   line-height: 14px;

+ 44 - 0
src/views/tranManagement/tranManagementDriver.vue

@@ -301,6 +301,46 @@
         <el-button type="primary" @click="disableReasons">确定禁用</el-button>
       </div>
     </WinseaContentModal>
+    <!-- 附件弹框 -->
+    <WinseaContentModal
+      v-model="accessoryTFs"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose"
+    >
+      <p>查看附件</p>
+      <ws-upload
+        ref="upload"
+        table-name="maintain_work_order"
+        oss-key="mainPlan"
+        :comp-id="compId"
+        :file-list="fileList"
+        :appendix-ids="appendixIdsAdd"
+        :vesselId="deptBudgetList.addressUrl"
+        :size-limit="size"
+        @uploadSuccess="uploadSuccess"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+      />
+    </WinseaContentModal>
+    <!-- <WinseaContentModal
+      v-model="accessoryTFs"
+      :title="$t('system.noticeCircular.information')"
+      @on-cancel="handleClose"
+    >
+      <el-upload
+        class="upload-demo"
+        action="https://jsonplaceholder.typicode.com/posts/"
+        :file-list="fileList"
+        list-type="picture"
+        accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
+      >
+        <el-button size="small" type="primary">点击上传</el-button>
+        <template #tip>
+          <div class="el-upload__tip">
+            只能上传 jpg/png 文件,且不超过 500kb
+          </div>
+        </template>
+      </el-upload>
+    </WinseaContentModal> -->
   </div>
 </template>
 <script>
@@ -352,6 +392,8 @@ export default {
       carNumber: '',
       searchTypeText: '',
       outerVisible: false,
+      //图片
+      fileList:[],
       // 提交类型
       submitType: true,
       size: 10,
@@ -524,6 +566,7 @@ export default {
             if (response.records[i].addressUrl != null) {
               response.records[i].addressUrlArray =
                 response.records[i].addressUrl.split(',')
+                this.fileList[i] = response.records[i].addressUrl.split(',')
             } else {
               response.records[i].addressUrlArray = []
             }
@@ -533,6 +576,7 @@ export default {
           this.deptCircularPage.pageSize = response.size
           this.deptBudgetTotal = response.total
           this.driverList = response
+          console.log(this.fileList,1212121212121212)
         })
     },
     editClick(row) {

Разница между файлами не показана из-за своего большого размера
+ 402 - 448
src/views/tranManagement/tranManagementTransportAdd.vue


+ 17 - 0
src/views/warehouse/warehouseManagementEdit.vue

@@ -460,6 +460,23 @@ computed : {
           type: 'warning',
         })
         return
+      }
+       for (var i = 0; i < this.deptBudgetList.warehousePositionInfoList.length; i++) {
+        for (var j = i + 1; j < this.deptBudgetList.warehousePositionInfoList.length; j++) {
+          console.log(
+            this.deptBudgetList.warehousePositionInfoList[i].binNumber,
+            this.deptBudgetList.warehousePositionInfoList[j].binNumber
+          )
+          if (
+            this.deptBudgetList.warehousePositionInfoList[i].binNumber == this.deptBudgetList.warehousePositionInfoList[j].binNumber
+          ) {
+            this.$message({
+              message: '仓位编号重复',
+              type: 'warning',
+            })
+            return
+          }
+        }
       }
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {

Некоторые файлы не были показаны из-за большого количества измененных файлов